.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global func_80044F28 func_80044F28: /* 80044F28 00040B88 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80044F2C 00040B8C 7C 08 02 A6 */ mflr r0 /* 80044F30 00040B90 90 01 00 14 */ stw r0, 0x14(r1) /* 80044F34 00040B94 38 00 00 00 */ li r0, 0 /* 80044F38 00040B98 93 E1 00 0C */ stw r31, 0xc(r1) /* 80044F3C 00040B9C 7C 7F 1B 78 */ mr r31, r3 /* 80044F40 00040BA0 98 03 00 40 */ stb r0, 0x40(r3) /* 80044F44 00040BA4 98 03 00 41 */ stb r0, 0x41(r3) /* 80044F48 00040BA8 98 03 00 42 */ stb r0, 0x42(r3) /* 80044F4C 00040BAC 98 03 00 10 */ stb r0, 0x10(r3) /* 80044F50 00040BB0 98 03 00 11 */ stb r0, 0x11(r3) /* 80044F54 00040BB4 98 03 00 12 */ stb r0, 0x12(r3) /* 80044F58 00040BB8 48 00 00 1D */ bl func_80044F74 /* 80044F5C 00040BBC 7F E3 FB 78 */ mr r3, r31 /* 80044F60 00040BC0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80044F64 00040BC4 80 01 00 14 */ lwz r0, 0x14(r1) /* 80044F68 00040BC8 7C 08 03 A6 */ mtlr r0 /* 80044F6C 00040BCC 38 21 00 10 */ addi r1, r1, 0x10 /* 80044F70 00040BD0 4E 80 00 20 */ blr .global func_80044F74 func_80044F74: /* 80044F74 00040BD4 38 00 00 00 */ li r0, 0 /* 80044F78 00040BD8 90 03 00 04 */ stw r0, 4(r3) /* 80044F7C 00040BDC 90 03 00 08 */ stw r0, 8(r3) /* 80044F80 00040BE0 90 03 00 0C */ stw r0, 0xc(r3) /* 80044F84 00040BE4 B0 03 00 3C */ sth r0, 0x3c(r3) /* 80044F88 00040BE8 98 03 00 3E */ stb r0, 0x3e(r3) /* 80044F8C 00040BEC 98 03 00 43 */ stb r0, 0x43(r3) /* 80044F90 00040BF0 98 03 00 3F */ stb r0, 0x3f(r3) /* 80044F94 00040BF4 98 03 00 40 */ stb r0, 0x40(r3) /* 80044F98 00040BF8 98 03 00 41 */ stb r0, 0x41(r3) /* 80044F9C 00040BFC 98 03 00 42 */ stb r0, 0x42(r3) /* 80044FA0 00040C00 98 03 00 10 */ stb r0, 0x10(r3) /* 80044FA4 00040C04 98 03 00 11 */ stb r0, 0x11(r3) /* 80044FA8 00040C08 98 03 00 12 */ stb r0, 0x12(r3) /* 80044FAC 00040C0C 4E 80 00 20 */ blr .global func_80044FB0 func_80044FB0: /* 80044FB0 00040C10 88 63 00 3F */ lbz r3, 0x3f(r3) /* 80044FB4 00040C14 4E 80 00 20 */ blr .global func_80044FB8 func_80044FB8: /* 80044FB8 00040C18 80 03 00 08 */ lwz r0, 8(r3) /* 80044FBC 00040C1C 38 80 00 00 */ li r4, 0 /* 80044FC0 00040C20 2C 00 00 00 */ cmpwi r0, 0 /* 80044FC4 00040C24 41 82 00 08 */ beq lbl_80044FCC /* 80044FC8 00040C28 38 80 00 01 */ li r4, 1 lbl_80044FCC: /* 80044FCC 00040C2C 80 03 00 0C */ lwz r0, 0xc(r3) /* 80044FD0 00040C30 2C 00 00 00 */ cmpwi r0, 0 /* 80044FD4 00040C34 41 82 00 08 */ beq lbl_80044FDC /* 80044FD8 00040C38 38 84 00 01 */ addi r4, r4, 1 lbl_80044FDC: /* 80044FDC 00040C3C 7C 83 23 78 */ mr r3, r4 /* 80044FE0 00040C40 4E 80 00 20 */ blr .global func_80044FE4 func_80044FE4: /* 80044FE4 00040C44 38 00 00 00 */ li r0, 0 /* 80044FE8 00040C48 39 00 00 01 */ li r8, 1 /* 80044FEC 00040C4C 99 03 00 3F */ stb r8, 0x3f(r3) /* 80044FF0 00040C50 90 83 00 00 */ stw r4, 0(r3) /* 80044FF4 00040C54 90 A3 00 04 */ stw r5, 4(r3) /* 80044FF8 00040C58 90 C3 00 08 */ stw r6, 8(r3) /* 80044FFC 00040C5C 90 E3 00 0C */ stw r7, 0xc(r3) /* 80045000 00040C60 98 03 00 40 */ stb r0, 0x40(r3) /* 80045004 00040C64 98 03 00 41 */ stb r0, 0x41(r3) /* 80045008 00040C68 98 03 00 42 */ stb r0, 0x42(r3) /* 8004500C 00040C6C 4E 80 00 20 */ blr .global func_80045010 func_80045010: /* 80045010 00040C70 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80045014 00040C74 7C 08 02 A6 */ mflr r0 /* 80045018 00040C78 90 01 00 14 */ stw r0, 0x14(r1) /* 8004501C 00040C7C 93 E1 00 0C */ stw r31, 0xc(r1) /* 80045020 00040C80 7C 7F 1B 78 */ mr r31, r3 /* 80045024 00040C84 88 03 00 3F */ lbz r0, 0x3f(r3) /* 80045028 00040C88 2C 00 00 00 */ cmpwi r0, 0 /* 8004502C 00040C8C 41 82 00 2C */ beq lbl_80045058 /* 80045030 00040C90 88 03 00 40 */ lbz r0, 0x40(r3) /* 80045034 00040C94 2C 00 00 00 */ cmpwi r0, 0 /* 80045038 00040C98 41 82 00 18 */ beq lbl_80045050 /* 8004503C 00040C9C 80 63 00 04 */ lwz r3, 4(r3) /* 80045040 00040CA0 4B FF 7E CD */ bl func_8003CF0C /* 80045044 00040CA4 38 00 00 00 */ li r0, 0 /* 80045048 00040CA8 90 1F 00 04 */ stw r0, 4(r31) /* 8004504C 00040CAC 98 1F 00 40 */ stb r0, 0x40(r31) lbl_80045050: /* 80045050 00040CB0 7F E3 FB 78 */ mr r3, r31 /* 80045054 00040CB4 48 00 00 19 */ bl func_8004506C lbl_80045058: /* 80045058 00040CB8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8004505C 00040CBC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80045060 00040CC0 7C 08 03 A6 */ mtlr r0 /* 80045064 00040CC4 38 21 00 10 */ addi r1, r1, 0x10 /* 80045068 00040CC8 4E 80 00 20 */ blr .global func_8004506C func_8004506C: /* 8004506C 00040CCC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80045070 00040CD0 7C 08 02 A6 */ mflr r0 /* 80045074 00040CD4 90 01 00 24 */ stw r0, 0x24(r1) /* 80045078 00040CD8 39 61 00 20 */ addi r11, r1, 0x20 /* 8004507C 00040CDC 48 18 20 AD */ bl _savegpr_27 /* 80045080 00040CE0 7C 7B 1B 78 */ mr r27, r3 /* 80045084 00040CE4 3B 80 00 00 */ li r28, 0 /* 80045088 00040CE8 7F 7E DB 78 */ mr r30, r27 /* 8004508C 00040CEC 3B E0 00 00 */ li r31, 0 lbl_80045090: /* 80045090 00040CF0 7F BB E2 14 */ add r29, r27, r28 /* 80045094 00040CF4 88 1D 00 41 */ lbz r0, 0x41(r29) /* 80045098 00040CF8 2C 00 00 00 */ cmpwi r0, 0 /* 8004509C 00040CFC 41 82 00 14 */ beq lbl_800450B0 /* 800450A0 00040D00 80 7E 00 08 */ lwz r3, 8(r30) /* 800450A4 00040D04 4B FF 7E 69 */ bl func_8003CF0C /* 800450A8 00040D08 93 FE 00 08 */ stw r31, 8(r30) /* 800450AC 00040D0C 9B FD 00 41 */ stb r31, 0x41(r29) lbl_800450B0: /* 800450B0 00040D10 3B 9C 00 01 */ addi r28, r28, 1 /* 800450B4 00040D14 3B DE 00 04 */ addi r30, r30, 4 /* 800450B8 00040D18 2C 1C 00 02 */ cmpwi r28, 2 /* 800450BC 00040D1C 41 80 FF D4 */ blt lbl_80045090 /* 800450C0 00040D20 39 61 00 20 */ addi r11, r1, 0x20 /* 800450C4 00040D24 48 18 20 B1 */ bl _restgpr_27 /* 800450C8 00040D28 80 01 00 24 */ lwz r0, 0x24(r1) /* 800450CC 00040D2C 7C 08 03 A6 */ mtlr r0 /* 800450D0 00040D30 38 21 00 20 */ addi r1, r1, 0x20 /* 800450D4 00040D34 4E 80 00 20 */ blr .global func_800450D8 func_800450D8: /* 800450D8 00040D38 94 21 FF E0 */ stwu r1, -0x20(r1) /* 800450DC 00040D3C 7C 08 02 A6 */ mflr r0 /* 800450E0 00040D40 90 01 00 24 */ stw r0, 0x24(r1) /* 800450E4 00040D44 39 61 00 20 */ addi r11, r1, 0x20 /* 800450E8 00040D48 48 18 20 3D */ bl _savegpr_26 /* 800450EC 00040D4C 7C 7A 1B 78 */ mr r26, r3 /* 800450F0 00040D50 80 63 00 04 */ lwz r3, 4(r3) /* 800450F4 00040D54 7C 9B 23 78 */ mr r27, r4 /* 800450F8 00040D58 7C BC 2B 78 */ mr r28, r5 /* 800450FC 00040D5C 7C DD 33 78 */ mr r29, r6 /* 80045100 00040D60 7C FE 3B 78 */ mr r30, r7 /* 80045104 00040D64 7D 1F 43 78 */ mr r31, r8 /* 80045108 00040D68 4B FF 7E 05 */ bl func_8003CF0C /* 8004510C 00040D6C 4B FF 90 51 */ bl func_8003E15C /* 80045110 00040D70 4B FF 90 AD */ bl func_8003E1BC /* 80045114 00040D74 2C 03 00 00 */ cmpwi r3, 0 /* 80045118 00040D78 90 7A 00 04 */ stw r3, 4(r26) /* 8004511C 00040D7C 41 82 00 2C */ beq lbl_80045148 /* 80045120 00040D80 7F 84 E3 78 */ mr r4, r28 /* 80045124 00040D84 7F A5 EB 78 */ mr r5, r29 /* 80045128 00040D88 7F E7 FB 78 */ mr r7, r31 /* 8004512C 00040D8C 7F C6 07 74 */ extsb r6, r30 /* 80045130 00040D90 4B FF 7F 91 */ bl func_8003D0C0 /* 80045134 00040D94 80 7A 00 04 */ lwz r3, 4(r26) /* 80045138 00040D98 38 80 00 02 */ li r4, 2 /* 8004513C 00040D9C 38 00 00 01 */ li r0, 1 /* 80045140 00040DA0 B0 83 05 0C */ sth r4, 0x50c(r3) /* 80045144 00040DA4 98 1A 00 40 */ stb r0, 0x40(r26) lbl_80045148: /* 80045148 00040DA8 38 60 00 00 */ li r3, 0 /* 8004514C 00040DAC 38 00 00 01 */ li r0, 1 /* 80045150 00040DB0 98 7A 00 10 */ stb r3, 0x10(r26) /* 80045154 00040DB4 39 61 00 20 */ addi r11, r1, 0x20 /* 80045158 00040DB8 98 1A 00 3F */ stb r0, 0x3f(r26) /* 8004515C 00040DBC 93 7A 00 00 */ stw r27, 0(r26) /* 80045160 00040DC0 48 18 20 11 */ bl _restgpr_26 /* 80045164 00040DC4 80 01 00 24 */ lwz r0, 0x24(r1) /* 80045168 00040DC8 7C 08 03 A6 */ mtlr r0 /* 8004516C 00040DCC 38 21 00 20 */ addi r1, r1, 0x20 /* 80045170 00040DD0 4E 80 00 20 */ blr lbl_80045174: /* 80045174 00040DD4 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80045178 00040DD8 7C 08 02 A6 */ mflr r0 /* 8004517C 00040DDC 90 01 00 34 */ stw r0, 0x34(r1) /* 80045180 00040DE0 39 61 00 30 */ addi r11, r1, 0x30 /* 80045184 00040DE4 48 18 1F A5 */ bl _savegpr_27 /* 80045188 00040DE8 83 C3 00 04 */ lwz r30, 4(r3) /* 8004518C 00040DEC 7C 7B 1B 78 */ mr r27, r3 /* 80045190 00040DF0 7C 9C 23 78 */ mr r28, r4 /* 80045194 00040DF4 7C BD 2B 78 */ mr r29, r5 /* 80045198 00040DF8 2C 1E 00 00 */ cmpwi r30, 0 /* 8004519C 00040DFC 41 82 01 44 */ beq lbl_800452E0 /* 800451A0 00040E00 A0 1E 05 0C */ lhz r0, 0x50c(r30) /* 800451A4 00040E04 28 00 00 02 */ cmplwi r0, 2 /* 800451A8 00040E08 41 82 00 08 */ beq lbl_800451B0 /* 800451AC 00040E0C 48 00 01 34 */ b lbl_800452E0 lbl_800451B0: /* 800451B0 00040E10 39 40 00 00 */ li r10, 0 /* 800451B4 00040E14 39 20 00 01 */ li r9, 1 /* 800451B8 00040E18 1C CA 00 AC */ mulli r6, r10, 0xac /* 800451BC 00040E1C 39 9E 05 24 */ addi r12, r30, 0x524 /* 800451C0 00040E20 89 7E 05 21 */ lbz r11, 0x521(r30) /* 800451C4 00040E24 39 00 00 02 */ li r8, 2 /* 800451C8 00040E28 A3 FE 05 1C */ lhz r31, 0x51c(r30) /* 800451CC 00040E2C 38 E0 00 03 */ li r7, 3 /* 800451D0 00040E30 1C 89 00 AC */ mulli r4, r9, 0xac /* 800451D4 00040E34 7C CC 32 14 */ add r6, r12, r6 /* 800451D8 00040E38 88 06 00 19 */ lbz r0, 0x19(r6) /* 800451DC 00040E3C 38 A0 00 04 */ li r5, 4 /* 800451E0 00040E40 39 40 00 05 */ li r10, 5 /* 800451E4 00040E44 98 01 00 08 */ stb r0, 8(r1) /* 800451E8 00040E48 7C 8C 22 14 */ add r4, r12, r4 /* 800451EC 00040E4C 39 20 00 06 */ li r9, 6 /* 800451F0 00040E50 1C 08 00 AC */ mulli r0, r8, 0xac /* 800451F4 00040E54 88 C4 00 19 */ lbz r6, 0x19(r4) /* 800451F8 00040E58 39 00 00 07 */ li r8, 7 /* 800451FC 00040E5C 98 C1 00 09 */ stb r6, 9(r1) /* 80045200 00040E60 7D 7E 07 74 */ extsb r30, r11 /* 80045204 00040E64 7C 8C 02 14 */ add r4, r12, r0 /* 80045208 00040E68 1C 07 00 AC */ mulli r0, r7, 0xac /* 8004520C 00040E6C 88 C4 00 19 */ lbz r6, 0x19(r4) /* 80045210 00040E70 38 E0 00 08 */ li r7, 8 /* 80045214 00040E74 98 C1 00 0A */ stb r6, 0xa(r1) /* 80045218 00040E78 7C 8C 02 14 */ add r4, r12, r0 /* 8004521C 00040E7C 1C 05 00 AC */ mulli r0, r5, 0xac /* 80045220 00040E80 88 C4 00 19 */ lbz r6, 0x19(r4) /* 80045224 00040E84 38 A0 00 09 */ li r5, 9 /* 80045228 00040E88 98 C1 00 0B */ stb r6, 0xb(r1) /* 8004522C 00040E8C 7C 8C 02 14 */ add r4, r12, r0 /* 80045230 00040E90 88 04 00 19 */ lbz r0, 0x19(r4) /* 80045234 00040E94 1C CA 00 AC */ mulli r6, r10, 0xac /* 80045238 00040E98 98 01 00 0C */ stb r0, 0xc(r1) /* 8004523C 00040E9C 7C CC 32 14 */ add r6, r12, r6 /* 80045240 00040EA0 1C 89 00 AC */ mulli r4, r9, 0xac /* 80045244 00040EA4 88 06 00 19 */ lbz r0, 0x19(r6) /* 80045248 00040EA8 98 01 00 0D */ stb r0, 0xd(r1) /* 8004524C 00040EAC 7C 8C 22 14 */ add r4, r12, r4 /* 80045250 00040EB0 88 C4 00 19 */ lbz r6, 0x19(r4) /* 80045254 00040EB4 1C 08 00 AC */ mulli r0, r8, 0xac /* 80045258 00040EB8 98 C1 00 0E */ stb r6, 0xe(r1) /* 8004525C 00040EBC 7C 8C 02 14 */ add r4, r12, r0 /* 80045260 00040EC0 88 C4 00 19 */ lbz r6, 0x19(r4) /* 80045264 00040EC4 1C 07 00 AC */ mulli r0, r7, 0xac /* 80045268 00040EC8 98 C1 00 0F */ stb r6, 0xf(r1) /* 8004526C 00040ECC 7C 8C 02 14 */ add r4, r12, r0 /* 80045270 00040ED0 88 C4 00 19 */ lbz r6, 0x19(r4) /* 80045274 00040ED4 1C 05 00 AC */ mulli r0, r5, 0xac /* 80045278 00040ED8 98 C1 00 10 */ stb r6, 0x10(r1) /* 8004527C 00040EDC 7C 8C 02 14 */ add r4, r12, r0 /* 80045280 00040EE0 88 04 00 19 */ lbz r0, 0x19(r4) /* 80045284 00040EE4 98 01 00 11 */ stb r0, 0x11(r1) /* 80045288 00040EE8 80 63 00 04 */ lwz r3, 4(r3) /* 8004528C 00040EEC 4B FF 7C 81 */ bl func_8003CF0C /* 80045290 00040EF0 4B FF 8E CD */ bl func_8003E15C /* 80045294 00040EF4 4B FF 8F 29 */ bl func_8003E1BC /* 80045298 00040EF8 2C 03 00 00 */ cmpwi r3, 0 /* 8004529C 00040EFC 90 7B 00 04 */ stw r3, 4(r27) /* 800452A0 00040F00 41 82 00 2C */ beq lbl_800452CC /* 800452A4 00040F04 7F E4 FB 78 */ mr r4, r31 /* 800452A8 00040F08 7F A5 EB 78 */ mr r5, r29 /* 800452AC 00040F0C 7F C6 F3 78 */ mr r6, r30 /* 800452B0 00040F10 38 E1 00 08 */ addi r7, r1, 8 /* 800452B4 00040F14 4B FF 7E 0D */ bl func_8003D0C0 /* 800452B8 00040F18 80 7B 00 04 */ lwz r3, 4(r27) /* 800452BC 00040F1C 38 80 00 02 */ li r4, 2 /* 800452C0 00040F20 38 00 00 01 */ li r0, 1 /* 800452C4 00040F24 B0 83 05 0C */ sth r4, 0x50c(r3) /* 800452C8 00040F28 98 1B 00 40 */ stb r0, 0x40(r27) lbl_800452CC: /* 800452CC 00040F2C 38 60 00 00 */ li r3, 0 /* 800452D0 00040F30 38 00 00 01 */ li r0, 1 /* 800452D4 00040F34 98 7B 00 10 */ stb r3, 0x10(r27) /* 800452D8 00040F38 98 1B 00 3F */ stb r0, 0x3f(r27) /* 800452DC 00040F3C 93 9B 00 00 */ stw r28, 0(r27) lbl_800452E0: /* 800452E0 00040F40 39 61 00 30 */ addi r11, r1, 0x30 /* 800452E4 00040F44 48 18 1E 91 */ bl _restgpr_27 /* 800452E8 00040F48 80 01 00 34 */ lwz r0, 0x34(r1) /* 800452EC 00040F4C 7C 08 03 A6 */ mtlr r0 /* 800452F0 00040F50 38 21 00 30 */ addi r1, r1, 0x30 /* 800452F4 00040F54 4E 80 00 20 */ blr .global func_800452F8 func_800452F8: /* 800452F8 00040F58 94 21 FF D0 */ stwu r1, -0x30(r1) /* 800452FC 00040F5C 7C 08 02 A6 */ mflr r0 /* 80045300 00040F60 90 01 00 34 */ stw r0, 0x34(r1) /* 80045304 00040F64 39 61 00 30 */ addi r11, r1, 0x30 /* 80045308 00040F68 48 18 1E 15 */ bl _savegpr_24 /* 8004530C 00040F6C 54 80 10 3A */ slwi r0, r4, 2 /* 80045310 00040F70 7C 78 1B 78 */ mr r24, r3 /* 80045314 00040F74 7F E3 02 14 */ add r31, r3, r0 /* 80045318 00040F78 7C 99 23 78 */ mr r25, r4 /* 8004531C 00040F7C 80 7F 00 08 */ lwz r3, 8(r31) /* 80045320 00040F80 7C BA 2B 78 */ mr r26, r5 /* 80045324 00040F84 7C DB 33 78 */ mr r27, r6 /* 80045328 00040F88 7C FC 3B 78 */ mr r28, r7 /* 8004532C 00040F8C 7D 1D 43 78 */ mr r29, r8 /* 80045330 00040F90 7D 3E 4B 78 */ mr r30, r9 /* 80045334 00040F94 4B FF 7B D9 */ bl func_8003CF0C /* 80045338 00040F98 4B FF 8E 25 */ bl func_8003E15C /* 8004533C 00040F9C 4B FF 8E 81 */ bl func_8003E1BC /* 80045340 00040FA0 2C 03 00 00 */ cmpwi r3, 0 /* 80045344 00040FA4 90 7F 00 08 */ stw r3, 8(r31) /* 80045348 00040FA8 41 82 00 28 */ beq lbl_80045370 /* 8004534C 00040FAC 7F 44 D3 78 */ mr r4, r26 /* 80045350 00040FB0 7F 65 DB 78 */ mr r5, r27 /* 80045354 00040FB4 7F 86 E3 78 */ mr r6, r28 /* 80045358 00040FB8 7F A7 EB 78 */ mr r7, r29 /* 8004535C 00040FBC 7F C8 F3 78 */ mr r8, r30 /* 80045360 00040FC0 4B FF 7B F5 */ bl func_8003CF54 /* 80045364 00040FC4 7C 78 CA 14 */ add r3, r24, r25 /* 80045368 00040FC8 38 00 00 01 */ li r0, 1 /* 8004536C 00040FCC 98 03 00 41 */ stb r0, 0x41(r3) lbl_80045370: /* 80045370 00040FD0 7C 78 CA 14 */ add r3, r24, r25 /* 80045374 00040FD4 38 00 00 00 */ li r0, 0 /* 80045378 00040FD8 98 03 00 11 */ stb r0, 0x11(r3) /* 8004537C 00040FDC 38 00 00 01 */ li r0, 1 /* 80045380 00040FE0 39 61 00 30 */ addi r11, r1, 0x30 /* 80045384 00040FE4 98 18 00 3F */ stb r0, 0x3f(r24) /* 80045388 00040FE8 48 18 1D E1 */ bl _restgpr_24 /* 8004538C 00040FEC 80 01 00 34 */ lwz r0, 0x34(r1) /* 80045390 00040FF0 7C 08 03 A6 */ mtlr r0 /* 80045394 00040FF4 38 21 00 30 */ addi r1, r1, 0x30 /* 80045398 00040FF8 4E 80 00 20 */ blr .global func_8004539C func_8004539C: /* 8004539C 00040FFC 2C 04 00 00 */ cmpwi r4, 0 /* 800453A0 00041000 4D 82 00 20 */ beqlr /* 800453A4 00041004 C0 04 00 00 */ lfs f0, 0(r4) /* 800453A8 00041008 D0 03 00 14 */ stfs f0, 0x14(r3) /* 800453AC 0004100C C0 04 00 04 */ lfs f0, 4(r4) /* 800453B0 00041010 D0 03 00 18 */ stfs f0, 0x18(r3) /* 800453B4 00041014 C0 04 00 08 */ lfs f0, 8(r4) /* 800453B8 00041018 D0 03 00 1C */ stfs f0, 0x1c(r3) /* 800453BC 0004101C 4E 80 00 20 */ blr .global func_800453C0 func_800453C0: /* 800453C0 00041020 2C 04 00 00 */ cmpwi r4, 0 /* 800453C4 00041024 41 82 00 1C */ beq lbl_800453E0 /* 800453C8 00041028 C0 04 00 00 */ lfs f0, 0(r4) /* 800453CC 0004102C D0 03 00 20 */ stfs f0, 0x20(r3) /* 800453D0 00041030 C0 04 00 04 */ lfs f0, 4(r4) /* 800453D4 00041034 D0 03 00 24 */ stfs f0, 0x24(r3) /* 800453D8 00041038 C0 04 00 08 */ lfs f0, 8(r4) /* 800453DC 0004103C D0 03 00 28 */ stfs f0, 0x28(r3) lbl_800453E0: /* 800453E0 00041040 2C 05 00 00 */ cmpwi r5, 0 /* 800453E4 00041044 4D 82 00 20 */ beqlr /* 800453E8 00041048 C0 05 00 00 */ lfs f0, 0(r5) /* 800453EC 0004104C D0 03 00 2C */ stfs f0, 0x2c(r3) /* 800453F0 00041050 C0 05 00 04 */ lfs f0, 4(r5) /* 800453F4 00041054 D0 03 00 30 */ stfs f0, 0x30(r3) /* 800453F8 00041058 C0 05 00 08 */ lfs f0, 8(r5) /* 800453FC 0004105C D0 03 00 34 */ stfs f0, 0x34(r3) /* 80045400 00041060 4E 80 00 20 */ blr .global func_80045404 func_80045404: /* 80045404 00041064 2C 04 00 00 */ cmpwi r4, 0 /* 80045408 00041068 4D 82 00 20 */ beqlr /* 8004540C 0004106C C0 03 00 14 */ lfs f0, 0x14(r3) /* 80045410 00041070 D0 04 00 00 */ stfs f0, 0(r4) /* 80045414 00041074 C0 03 00 18 */ lfs f0, 0x18(r3) /* 80045418 00041078 D0 04 00 04 */ stfs f0, 4(r4) /* 8004541C 0004107C C0 03 00 1C */ lfs f0, 0x1c(r3) /* 80045420 00041080 D0 04 00 08 */ stfs f0, 8(r4) /* 80045424 00041084 4E 80 00 20 */ blr .global func_80045428 func_80045428: /* 80045428 00041088 2C 04 00 00 */ cmpwi r4, 0 /* 8004542C 0004108C 41 82 00 1C */ beq lbl_80045448 /* 80045430 00041090 C0 03 00 20 */ lfs f0, 0x20(r3) /* 80045434 00041094 D0 04 00 00 */ stfs f0, 0(r4) /* 80045438 00041098 C0 03 00 24 */ lfs f0, 0x24(r3) /* 8004543C 0004109C D0 04 00 04 */ stfs f0, 4(r4) /* 80045440 000410A0 C0 03 00 28 */ lfs f0, 0x28(r3) /* 80045444 000410A4 D0 04 00 08 */ stfs f0, 8(r4) lbl_80045448: /* 80045448 000410A8 2C 05 00 00 */ cmpwi r5, 0 /* 8004544C 000410AC 4D 82 00 20 */ beqlr /* 80045450 000410B0 C0 03 00 2C */ lfs f0, 0x2c(r3) /* 80045454 000410B4 D0 05 00 00 */ stfs f0, 0(r5) /* 80045458 000410B8 C0 03 00 30 */ lfs f0, 0x30(r3) /* 8004545C 000410BC D0 05 00 04 */ stfs f0, 4(r5) /* 80045460 000410C0 C0 03 00 34 */ lfs f0, 0x34(r3) /* 80045464 000410C4 D0 05 00 08 */ stfs f0, 8(r5) /* 80045468 000410C8 4E 80 00 20 */ blr .global func_8004546C func_8004546C: /* 8004546C 000410CC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80045470 000410D0 7C 08 02 A6 */ mflr r0 /* 80045474 000410D4 C0 02 83 88 */ lfs f0, lbl_80640988-_SDA2_BASE_(r2) /* 80045478 000410D8 90 01 00 24 */ stw r0, 0x24(r1) /* 8004547C 000410DC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80045480 000410E0 7C 7F 1B 78 */ mr r31, r3 /* 80045484 000410E4 C0 23 00 38 */ lfs f1, 0x38(r3) /* 80045488 000410E8 D0 21 00 0C */ stfs f1, 0xc(r1) /* 8004548C 000410EC D0 01 00 08 */ stfs f0, 8(r1) /* 80045490 000410F0 D0 01 00 10 */ stfs f0, 0x10(r1) /* 80045494 000410F4 80 63 00 04 */ lwz r3, 4(r3) /* 80045498 000410F8 2C 03 00 00 */ cmpwi r3, 0 /* 8004549C 000410FC 41 82 00 18 */ beq lbl_800454B4 /* 800454A0 00041100 38 9F 00 14 */ addi r4, r31, 0x14 /* 800454A4 00041104 4B FF 33 79 */ bl func_8003881C /* 800454A8 00041108 80 7F 00 04 */ lwz r3, 4(r31) /* 800454AC 0004110C 38 81 00 08 */ addi r4, r1, 8 /* 800454B0 00041110 4B FF 36 21 */ bl func_80038AD0 lbl_800454B4: /* 800454B4 00041114 80 01 00 24 */ lwz r0, 0x24(r1) /* 800454B8 00041118 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 800454BC 0004111C 7C 08 03 A6 */ mtlr r0 /* 800454C0 00041120 38 21 00 20 */ addi r1, r1, 0x20 /* 800454C4 00041124 4E 80 00 20 */ blr .global func_800454C8 func_800454C8: /* 800454C8 00041128 94 21 FF D0 */ stwu r1, -0x30(r1) /* 800454CC 0004112C 7C 08 02 A6 */ mflr r0 /* 800454D0 00041130 C0 02 83 88 */ lfs f0, lbl_80640988-_SDA2_BASE_(r2) /* 800454D4 00041134 90 01 00 34 */ stw r0, 0x34(r1) /* 800454D8 00041138 93 E1 00 2C */ stw r31, 0x2c(r1) /* 800454DC 0004113C 7C 7F 1B 78 */ mr r31, r3 /* 800454E0 00041140 93 C1 00 28 */ stw r30, 0x28(r1) /* 800454E4 00041144 3B C3 00 20 */ addi r30, r3, 0x20 /* 800454E8 00041148 93 A1 00 24 */ stw r29, 0x24(r1) /* 800454EC 0004114C 3B A0 00 00 */ li r29, 0 /* 800454F0 00041150 C0 23 00 38 */ lfs f1, 0x38(r3) /* 800454F4 00041154 D0 21 00 0C */ stfs f1, 0xc(r1) /* 800454F8 00041158 D0 01 00 08 */ stfs f0, 8(r1) /* 800454FC 0004115C D0 01 00 10 */ stfs f0, 0x10(r1) lbl_80045500: /* 80045500 00041160 80 7F 00 08 */ lwz r3, 8(r31) /* 80045504 00041164 2C 03 00 00 */ cmpwi r3, 0 /* 80045508 00041168 41 82 00 18 */ beq lbl_80045520 /* 8004550C 0004116C 7F C4 F3 78 */ mr r4, r30 /* 80045510 00041170 4B FF 33 0D */ bl func_8003881C /* 80045514 00041174 80 7F 00 08 */ lwz r3, 8(r31) /* 80045518 00041178 38 81 00 08 */ addi r4, r1, 8 /* 8004551C 0004117C 4B FF 35 B5 */ bl func_80038AD0 lbl_80045520: /* 80045520 00041180 3B BD 00 01 */ addi r29, r29, 1 /* 80045524 00041184 3B DE 00 0C */ addi r30, r30, 0xc /* 80045528 00041188 2C 1D 00 02 */ cmpwi r29, 2 /* 8004552C 0004118C 3B FF 00 04 */ addi r31, r31, 4 /* 80045530 00041190 41 80 FF D0 */ blt lbl_80045500 /* 80045534 00041194 80 01 00 34 */ lwz r0, 0x34(r1) /* 80045538 00041198 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8004553C 0004119C 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80045540 000411A0 83 A1 00 24 */ lwz r29, 0x24(r1) /* 80045544 000411A4 7C 08 03 A6 */ mtlr r0 /* 80045548 000411A8 38 21 00 30 */ addi r1, r1, 0x30 /* 8004554C 000411AC 4E 80 00 20 */ blr .global func_80045550 func_80045550: /* 80045550 000411B0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80045554 000411B4 7C 08 02 A6 */ mflr r0 /* 80045558 000411B8 90 01 00 14 */ stw r0, 0x14(r1) /* 8004555C 000411BC 80 0D 97 F8 */ lwz r0, lbl_8063EAB8-_SDA_BASE_(r13) /* 80045560 000411C0 2C 00 00 00 */ cmpwi r0, 0 /* 80045564 000411C4 40 82 00 1C */ bne lbl_80045580 /* 80045568 000411C8 38 60 01 6C */ li r3, 0x16c /* 8004556C 000411CC 48 19 54 C5 */ bl __nw__FUl /* 80045570 000411D0 2C 03 00 00 */ cmpwi r3, 0 /* 80045574 000411D4 41 82 00 08 */ beq lbl_8004557C /* 80045578 000411D8 48 00 00 21 */ bl func_80045598 lbl_8004557C: /* 8004557C 000411DC 90 6D 97 F8 */ stw r3, lbl_8063EAB8-_SDA_BASE_(r13) lbl_80045580: /* 80045580 000411E0 80 01 00 14 */ lwz r0, 0x14(r1) /* 80045584 000411E4 7C 08 03 A6 */ mtlr r0 /* 80045588 000411E8 38 21 00 10 */ addi r1, r1, 0x10 /* 8004558C 000411EC 4E 80 00 20 */ blr .global func_80045590 func_80045590: /* 80045590 000411F0 80 6D 97 F8 */ lwz r3, lbl_8063EAB8-_SDA_BASE_(r13) /* 80045594 000411F4 4E 80 00 20 */ blr .global func_80045598 func_80045598: /* 80045598 000411F8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8004559C 000411FC 7C 08 02 A6 */ mflr r0 /* 800455A0 00041200 90 01 00 24 */ stw r0, 0x24(r1) /* 800455A4 00041204 93 E1 00 1C */ stw r31, 0x1c(r1) /* 800455A8 00041208 3B E3 01 1C */ addi r31, r3, 0x11c /* 800455AC 0004120C 93 C1 00 18 */ stw r30, 0x18(r1) /* 800455B0 00041210 3B C3 00 0C */ addi r30, r3, 0xc /* 800455B4 00041214 93 A1 00 14 */ stw r29, 0x14(r1) /* 800455B8 00041218 7C 7D 1B 78 */ mr r29, r3 lbl_800455BC: /* 800455BC 0004121C 7F C3 F3 78 */ mr r3, r30 /* 800455C0 00041220 4B FF F9 69 */ bl func_80044F28 /* 800455C4 00041224 3B DE 00 44 */ addi r30, r30, 0x44 /* 800455C8 00041228 7C 1E F8 40 */ cmplw r30, r31 /* 800455CC 0004122C 41 80 FF F0 */ blt lbl_800455BC /* 800455D0 00041230 7F A3 EB 78 */ mr r3, r29 /* 800455D4 00041234 48 00 00 25 */ bl func_800455F8 /* 800455D8 00041238 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 800455DC 0004123C 7F A3 EB 78 */ mr r3, r29 /* 800455E0 00041240 83 C1 00 18 */ lwz r30, 0x18(r1) /* 800455E4 00041244 83 A1 00 14 */ lwz r29, 0x14(r1) /* 800455E8 00041248 80 01 00 24 */ lwz r0, 0x24(r1) /* 800455EC 0004124C 7C 08 03 A6 */ mtlr r0 /* 800455F0 00041250 38 21 00 20 */ addi r1, r1, 0x20 /* 800455F4 00041254 4E 80 00 20 */ blr .global func_800455F8 func_800455F8: /* 800455F8 00041258 94 21 FF E0 */ stwu r1, -0x20(r1) /* 800455FC 0004125C 7C 08 02 A6 */ mflr r0 /* 80045600 00041260 90 01 00 24 */ stw r0, 0x24(r1) /* 80045604 00041264 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80045608 00041268 3B E3 00 0C */ addi r31, r3, 0xc /* 8004560C 0004126C 93 C1 00 18 */ stw r30, 0x18(r1) /* 80045610 00041270 3B C0 00 00 */ li r30, 0 /* 80045614 00041274 93 A1 00 14 */ stw r29, 0x14(r1) /* 80045618 00041278 7C 7D 1B 78 */ mr r29, r3 lbl_8004561C: /* 8004561C 0004127C 7F E3 FB 78 */ mr r3, r31 /* 80045620 00041280 4B FF F9 55 */ bl func_80044F74 /* 80045624 00041284 3B DE 00 01 */ addi r30, r30, 1 /* 80045628 00041288 3B FF 00 44 */ addi r31, r31, 0x44 /* 8004562C 0004128C 2C 1E 00 04 */ cmpwi r30, 4 /* 80045630 00041290 41 80 FF EC */ blt lbl_8004561C /* 80045634 00041294 38 00 00 00 */ li r0, 0 /* 80045638 00041298 38 C0 00 01 */ li r6, 1 /* 8004563C 0004129C 90 DD 00 00 */ stw r6, 0(r29) /* 80045640 000412A0 38 7D 01 2C */ addi r3, r29, 0x12c /* 80045644 000412A4 38 80 00 00 */ li r4, 0 /* 80045648 000412A8 38 A0 00 10 */ li r5, 0x10 /* 8004564C 000412AC 90 DD 01 24 */ stw r6, 0x124(r29) /* 80045650 000412B0 B0 1D 01 1E */ sth r0, 0x11e(r29) /* 80045654 000412B4 B0 1D 01 20 */ sth r0, 0x120(r29) /* 80045658 000412B8 98 1D 01 28 */ stb r0, 0x128(r29) /* 8004565C 000412BC 90 1D 00 08 */ stw r0, 8(r29) /* 80045660 000412C0 90 1D 01 64 */ stw r0, 0x164(r29) /* 80045664 000412C4 90 1D 01 68 */ stw r0, 0x168(r29) /* 80045668 000412C8 98 1D 01 1C */ stb r0, 0x11c(r29) /* 8004566C 000412CC 4B FB EA 99 */ bl memset /* 80045670 000412D0 38 7D 01 3C */ addi r3, r29, 0x13c /* 80045674 000412D4 38 80 00 00 */ li r4, 0 /* 80045678 000412D8 38 A0 00 10 */ li r5, 0x10 /* 8004567C 000412DC 4B FB EA 89 */ bl memset /* 80045680 000412E0 38 7D 01 4C */ addi r3, r29, 0x14c /* 80045684 000412E4 38 80 00 00 */ li r4, 0 /* 80045688 000412E8 38 A0 00 10 */ li r5, 0x10 /* 8004568C 000412EC 4B FB EA 79 */ bl memset /* 80045690 000412F0 38 7D 01 5C */ addi r3, r29, 0x15c /* 80045694 000412F4 38 80 00 00 */ li r4, 0 /* 80045698 000412F8 38 A0 00 08 */ li r5, 8 /* 8004569C 000412FC 4B FB EA 69 */ bl memset /* 800456A0 00041300 80 01 00 24 */ lwz r0, 0x24(r1) /* 800456A4 00041304 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 800456A8 00041308 83 C1 00 18 */ lwz r30, 0x18(r1) /* 800456AC 0004130C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 800456B0 00041310 7C 08 03 A6 */ mtlr r0 /* 800456B4 00041314 38 21 00 20 */ addi r1, r1, 0x20 /* 800456B8 00041318 4E 80 00 20 */ blr .global func_800456BC func_800456BC: /* 800456BC 0004131C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 800456C0 00041320 7C 08 02 A6 */ mflr r0 /* 800456C4 00041324 90 01 00 24 */ stw r0, 0x24(r1) /* 800456C8 00041328 93 E1 00 1C */ stw r31, 0x1c(r1) /* 800456CC 0004132C 3B E3 00 0C */ addi r31, r3, 0xc /* 800456D0 00041330 93 C1 00 18 */ stw r30, 0x18(r1) /* 800456D4 00041334 3B C0 00 00 */ li r30, 0 /* 800456D8 00041338 93 A1 00 14 */ stw r29, 0x14(r1) /* 800456DC 0004133C 7C 7D 1B 78 */ mr r29, r3 lbl_800456E0: /* 800456E0 00041340 7F E3 FB 78 */ mr r3, r31 /* 800456E4 00041344 4B FF F9 2D */ bl func_80045010 /* 800456E8 00041348 7F E3 FB 78 */ mr r3, r31 /* 800456EC 0004134C 4B FF F8 89 */ bl func_80044F74 /* 800456F0 00041350 3B DE 00 01 */ addi r30, r30, 1 /* 800456F4 00041354 3B FF 00 44 */ addi r31, r31, 0x44 /* 800456F8 00041358 2C 1E 00 04 */ cmpwi r30, 4 /* 800456FC 0004135C 41 80 FF E4 */ blt lbl_800456E0 /* 80045700 00041360 38 00 00 00 */ li r0, 0 /* 80045704 00041364 B0 1D 01 1E */ sth r0, 0x11e(r29) /* 80045708 00041368 B0 1D 01 20 */ sth r0, 0x120(r29) /* 8004570C 0004136C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80045710 00041370 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80045714 00041374 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80045718 00041378 80 01 00 24 */ lwz r0, 0x24(r1) /* 8004571C 0004137C 7C 08 03 A6 */ mtlr r0 /* 80045720 00041380 38 21 00 20 */ addi r1, r1, 0x20 /* 80045724 00041384 4E 80 00 20 */ blr .global func_80045728 func_80045728: /* 80045728 00041388 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004572C 0004138C 7C 08 02 A6 */ mflr r0 /* 80045730 00041390 2C 04 00 00 */ cmpwi r4, 0 /* 80045734 00041394 90 01 00 14 */ stw r0, 0x14(r1) /* 80045738 00041398 93 E1 00 0C */ stw r31, 0xc(r1) /* 8004573C 0004139C 7C 7F 1B 78 */ mr r31, r3 /* 80045740 000413A0 41 80 00 28 */ blt lbl_80045768 /* 80045744 000413A4 2C 04 00 03 */ cmpwi r4, 3 /* 80045748 000413A8 41 81 00 20 */ bgt lbl_80045768 /* 8004574C 000413AC 1C 04 00 44 */ mulli r0, r4, 0x44 /* 80045750 000413B0 7C 63 02 14 */ add r3, r3, r0 /* 80045754 000413B4 38 63 00 0C */ addi r3, r3, 0xc /* 80045758 000413B8 4B FF F8 8D */ bl func_80044FE4 /* 8004575C 000413BC A0 7F 01 1E */ lhz r3, 0x11e(r31) /* 80045760 000413C0 38 03 00 01 */ addi r0, r3, 1 /* 80045764 000413C4 B0 1F 01 1E */ sth r0, 0x11e(r31) lbl_80045768: /* 80045768 000413C8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8004576C 000413CC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80045770 000413D0 7C 08 03 A6 */ mtlr r0 /* 80045774 000413D4 38 21 00 10 */ addi r1, r1, 0x10 /* 80045778 000413D8 4E 80 00 20 */ blr .global func_8004577C func_8004577C: /* 8004577C 000413DC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80045780 000413E0 7C 08 02 A6 */ mflr r0 /* 80045784 000413E4 2C 04 00 00 */ cmpwi r4, 0 /* 80045788 000413E8 90 01 00 24 */ stw r0, 0x24(r1) /* 8004578C 000413EC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80045790 000413F0 93 C1 00 18 */ stw r30, 0x18(r1) /* 80045794 000413F4 93 A1 00 14 */ stw r29, 0x14(r1) /* 80045798 000413F8 7C 7D 1B 78 */ mr r29, r3 /* 8004579C 000413FC 41 80 00 5C */ blt lbl_800457F8 /* 800457A0 00041400 2C 04 00 03 */ cmpwi r4, 3 /* 800457A4 00041404 41 81 00 54 */ bgt lbl_800457F8 /* 800457A8 00041408 1C 04 00 44 */ mulli r0, r4, 0x44 /* 800457AC 0004140C 7C E7 07 74 */ extsb r7, r7 /* 800457B0 00041410 7C 63 02 14 */ add r3, r3, r0 /* 800457B4 00041414 38 63 00 0C */ addi r3, r3, 0xc /* 800457B8 00041418 4B FF F9 21 */ bl func_800450D8 /* 800457BC 0004141C 38 00 00 00 */ li r0, 0 /* 800457C0 00041420 3B FD 00 0C */ addi r31, r29, 0xc /* 800457C4 00041424 B0 1D 01 1E */ sth r0, 0x11e(r29) /* 800457C8 00041428 3B C0 00 00 */ li r30, 0 lbl_800457CC: /* 800457CC 0004142C 7F E3 FB 78 */ mr r3, r31 /* 800457D0 00041430 4B FF F7 E1 */ bl func_80044FB0 /* 800457D4 00041434 2C 03 00 00 */ cmpwi r3, 0 /* 800457D8 00041438 41 82 00 10 */ beq lbl_800457E8 /* 800457DC 0004143C A0 7D 01 1E */ lhz r3, 0x11e(r29) /* 800457E0 00041440 38 03 00 01 */ addi r0, r3, 1 /* 800457E4 00041444 B0 1D 01 1E */ sth r0, 0x11e(r29) lbl_800457E8: /* 800457E8 00041448 3B DE 00 01 */ addi r30, r30, 1 /* 800457EC 0004144C 3B FF 00 44 */ addi r31, r31, 0x44 /* 800457F0 00041450 2C 1E 00 04 */ cmpwi r30, 4 /* 800457F4 00041454 41 80 FF D8 */ blt lbl_800457CC lbl_800457F8: /* 800457F8 00041458 80 01 00 24 */ lwz r0, 0x24(r1) /* 800457FC 0004145C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80045800 00041460 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80045804 00041464 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80045808 00041468 7C 08 03 A6 */ mtlr r0 /* 8004580C 0004146C 38 21 00 20 */ addi r1, r1, 0x20 /* 80045810 00041470 4E 80 00 20 */ blr .global func_80045814 func_80045814: /* 80045814 00041474 2C 04 00 00 */ cmpwi r4, 0 /* 80045818 00041478 4D 80 00 20 */ bltlr /* 8004581C 0004147C 2C 04 00 03 */ cmpwi r4, 3 /* 80045820 00041480 4D 81 00 20 */ bgtlr /* 80045824 00041484 1C 04 00 44 */ mulli r0, r4, 0x44 /* 80045828 00041488 7C 63 02 14 */ add r3, r3, r0 /* 8004582C 0004148C 38 63 00 0C */ addi r3, r3, 0xc /* 80045830 00041490 4B FF F9 44 */ b lbl_80045174 /* 80045834 00041494 4E 80 00 20 */ blr .global func_80045838 func_80045838: /* 80045838 00041498 2C 04 00 00 */ cmpwi r4, 0 /* 8004583C 0004149C 41 80 00 0C */ blt lbl_80045848 /* 80045840 000414A0 2C 04 00 03 */ cmpwi r4, 3 /* 80045844 000414A4 40 81 00 0C */ ble lbl_80045850 lbl_80045848: /* 80045848 000414A8 38 60 00 00 */ li r3, 0 /* 8004584C 000414AC 4E 80 00 20 */ blr lbl_80045850: /* 80045850 000414B0 54 80 07 BE */ clrlwi r0, r4, 0x1e /* 80045854 000414B4 1C 00 00 44 */ mulli r0, r0, 0x44 /* 80045858 000414B8 7C 63 02 14 */ add r3, r3, r0 /* 8004585C 000414BC 88 63 00 1C */ lbz r3, 0x1c(r3) /* 80045860 000414C0 4E 80 00 20 */ blr .global func_80045864 func_80045864: /* 80045864 000414C4 2C 04 00 00 */ cmpwi r4, 0 /* 80045868 000414C8 4D 80 00 20 */ bltlr /* 8004586C 000414CC 2C 04 00 03 */ cmpwi r4, 3 /* 80045870 000414D0 40 81 00 08 */ ble lbl_80045878 /* 80045874 000414D4 4E 80 00 20 */ blr lbl_80045878: /* 80045878 000414D8 54 80 07 BE */ clrlwi r0, r4, 0x1e /* 8004587C 000414DC 38 80 00 01 */ li r4, 1 /* 80045880 000414E0 1C 00 00 44 */ mulli r0, r0, 0x44 /* 80045884 000414E4 7C 63 02 14 */ add r3, r3, r0 /* 80045888 000414E8 98 83 00 1C */ stb r4, 0x1c(r3) /* 8004588C 000414EC 4E 80 00 20 */ blr .global func_80045890 func_80045890: /* 80045890 000414F0 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80045894 000414F4 7C 08 02 A6 */ mflr r0 /* 80045898 000414F8 90 01 00 34 */ stw r0, 0x34(r1) /* 8004589C 000414FC 39 61 00 30 */ addi r11, r1, 0x30 /* 800458A0 00041500 48 18 18 7D */ bl _savegpr_24 /* 800458A4 00041504 7C 78 1B 78 */ mr r24, r3 /* 800458A8 00041508 7C 99 23 78 */ mr r25, r4 /* 800458AC 0004150C 7C BA 2B 78 */ mr r26, r5 /* 800458B0 00041510 7C DB 33 78 */ mr r27, r6 /* 800458B4 00041514 7C FC 3B 78 */ mr r28, r7 /* 800458B8 00041518 7D 1D 43 78 */ mr r29, r8 /* 800458BC 0004151C 7D 3E 4B 78 */ mr r30, r9 /* 800458C0 00041520 4B FF 04 DD */ bl func_80035D9C /* 800458C4 00041524 2C 19 00 00 */ cmpwi r25, 0 /* 800458C8 00041528 7C 7F 1B 78 */ mr r31, r3 /* 800458CC 0004152C 41 80 00 78 */ blt lbl_80045944 /* 800458D0 00041530 2C 19 00 03 */ cmpwi r25, 3 /* 800458D4 00041534 40 81 00 08 */ ble lbl_800458DC /* 800458D8 00041538 48 00 00 6C */ b lbl_80045944 lbl_800458DC: /* 800458DC 0004153C A0 18 01 1E */ lhz r0, 0x11e(r24) /* 800458E0 00041540 28 00 00 02 */ cmplwi r0, 2 /* 800458E4 00041544 40 82 00 1C */ bne lbl_80045900 /* 800458E8 00041548 57 20 07 FE */ clrlwi r0, r25, 0x1f /* 800458EC 0004154C 57 24 FF FE */ rlwinm r4, r25, 0x1f, 0x1f, 0x1f /* 800458F0 00041550 1C 00 00 44 */ mulli r0, r0, 0x44 /* 800458F4 00041554 7C 78 02 14 */ add r3, r24, r0 /* 800458F8 00041558 38 63 00 0C */ addi r3, r3, 0xc /* 800458FC 0004155C 48 00 00 24 */ b lbl_80045920 lbl_80045900: /* 80045900 00041560 28 00 00 04 */ cmplwi r0, 4 /* 80045904 00041564 40 82 00 40 */ bne lbl_80045944 /* 80045908 00041568 1C 19 00 44 */ mulli r0, r25, 0x44 /* 8004590C 0004156C 38 80 00 00 */ li r4, 0 /* 80045910 00041570 7C 78 02 14 */ add r3, r24, r0 /* 80045914 00041574 38 63 00 0C */ addi r3, r3, 0xc /* 80045918 00041578 48 00 00 08 */ b lbl_80045920 /* 8004591C 0004157C 48 00 00 28 */ b lbl_80045944 lbl_80045920: /* 80045920 00041580 7F 45 D3 78 */ mr r5, r26 /* 80045924 00041584 7F 66 DB 78 */ mr r6, r27 /* 80045928 00041588 7F 87 E3 78 */ mr r7, r28 /* 8004592C 0004158C 7F A8 EB 78 */ mr r8, r29 /* 80045930 00041590 7F C9 F3 78 */ mr r9, r30 /* 80045934 00041594 4B FF F9 C5 */ bl func_800452F8 /* 80045938 00041598 7F E3 FB 78 */ mr r3, r31 /* 8004593C 0004159C 7F 24 CB 78 */ mr r4, r25 /* 80045940 000415A0 4B FF 13 AD */ bl func_80036CEC lbl_80045944: /* 80045944 000415A4 39 61 00 30 */ addi r11, r1, 0x30 /* 80045948 000415A8 48 18 18 21 */ bl _restgpr_24 /* 8004594C 000415AC 80 01 00 34 */ lwz r0, 0x34(r1) /* 80045950 000415B0 7C 08 03 A6 */ mtlr r0 /* 80045954 000415B4 38 21 00 30 */ addi r1, r1, 0x30 /* 80045958 000415B8 4E 80 00 20 */ blr .global func_8004595C func_8004595C: /* 8004595C 000415BC 2C 04 00 00 */ cmpwi r4, 0 /* 80045960 000415C0 41 80 00 0C */ blt lbl_8004596C /* 80045964 000415C4 2C 04 00 03 */ cmpwi r4, 3 /* 80045968 000415C8 40 81 00 0C */ ble lbl_80045974 lbl_8004596C: /* 8004596C 000415CC 38 60 00 00 */ li r3, 0 /* 80045970 000415D0 4E 80 00 20 */ blr lbl_80045974: /* 80045974 000415D4 A0 03 01 1E */ lhz r0, 0x11e(r3) /* 80045978 000415D8 28 00 00 02 */ cmplwi r0, 2 /* 8004597C 000415DC 40 82 00 1C */ bne lbl_80045998 /* 80045980 000415E0 54 80 07 FE */ clrlwi r0, r4, 0x1f /* 80045984 000415E4 54 84 FF FE */ rlwinm r4, r4, 0x1f, 0x1f, 0x1f /* 80045988 000415E8 1C 00 00 44 */ mulli r0, r0, 0x44 /* 8004598C 000415EC 7C 63 02 14 */ add r3, r3, r0 /* 80045990 000415F0 38 03 00 0C */ addi r0, r3, 0xc /* 80045994 000415F4 48 00 00 28 */ b lbl_800459BC lbl_80045998: /* 80045998 000415F8 28 00 00 04 */ cmplwi r0, 4 /* 8004599C 000415FC 40 82 00 18 */ bne lbl_800459B4 /* 800459A0 00041600 1C 04 00 44 */ mulli r0, r4, 0x44 /* 800459A4 00041604 38 80 00 00 */ li r4, 0 /* 800459A8 00041608 7C 63 02 14 */ add r3, r3, r0 /* 800459AC 0004160C 38 03 00 0C */ addi r0, r3, 0xc /* 800459B0 00041610 48 00 00 0C */ b lbl_800459BC lbl_800459B4: /* 800459B4 00041614 38 60 00 00 */ li r3, 0 /* 800459B8 00041618 4E 80 00 20 */ blr lbl_800459BC: /* 800459BC 0004161C 7C 60 22 14 */ add r3, r0, r4 /* 800459C0 00041620 88 63 00 11 */ lbz r3, 0x11(r3) /* 800459C4 00041624 4E 80 00 20 */ blr .global func_800459C8 func_800459C8: /* 800459C8 00041628 2C 04 00 00 */ cmpwi r4, 0 /* 800459CC 0004162C 4D 80 00 20 */ bltlr /* 800459D0 00041630 2C 04 00 03 */ cmpwi r4, 3 /* 800459D4 00041634 40 81 00 08 */ ble lbl_800459DC /* 800459D8 00041638 4E 80 00 20 */ blr lbl_800459DC: /* 800459DC 0004163C A0 03 01 1E */ lhz r0, 0x11e(r3) /* 800459E0 00041640 28 00 00 02 */ cmplwi r0, 2 /* 800459E4 00041644 40 82 00 1C */ bne lbl_80045A00 /* 800459E8 00041648 54 80 07 FE */ clrlwi r0, r4, 0x1f /* 800459EC 0004164C 54 84 FF FE */ rlwinm r4, r4, 0x1f, 0x1f, 0x1f /* 800459F0 00041650 1C 00 00 44 */ mulli r0, r0, 0x44 /* 800459F4 00041654 7C 63 02 14 */ add r3, r3, r0 /* 800459F8 00041658 38 03 00 0C */ addi r0, r3, 0xc /* 800459FC 0004165C 48 00 00 24 */ b lbl_80045A20 lbl_80045A00: /* 80045A00 00041660 28 00 00 04 */ cmplwi r0, 4 /* 80045A04 00041664 4C 82 00 20 */ bnelr /* 80045A08 00041668 1C 04 00 44 */ mulli r0, r4, 0x44 /* 80045A0C 0004166C 38 80 00 00 */ li r4, 0 /* 80045A10 00041670 7C 63 02 14 */ add r3, r3, r0 /* 80045A14 00041674 38 03 00 0C */ addi r0, r3, 0xc /* 80045A18 00041678 48 00 00 08 */ b lbl_80045A20 /* 80045A1C 0004167C 4E 80 00 20 */ blr lbl_80045A20: /* 80045A20 00041680 7C 60 22 14 */ add r3, r0, r4 /* 80045A24 00041684 38 00 00 01 */ li r0, 1 /* 80045A28 00041688 98 03 00 11 */ stb r0, 0x11(r3) /* 80045A2C 0004168C 4E 80 00 20 */ blr .global func_80045A30 func_80045A30: /* 80045A30 00041690 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80045A34 00041694 7C 08 02 A6 */ mflr r0 /* 80045A38 00041698 90 01 00 24 */ stw r0, 0x24(r1) /* 80045A3C 0004169C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80045A40 000416A0 93 C1 00 18 */ stw r30, 0x18(r1) /* 80045A44 000416A4 93 A1 00 14 */ stw r29, 0x14(r1) /* 80045A48 000416A8 7C 9D 23 78 */ mr r29, r4 /* 80045A4C 000416AC 93 81 00 10 */ stw r28, 0x10(r1) /* 80045A50 000416B0 7C 7C 1B 78 */ mr r28, r3 /* 80045A54 000416B4 4B FF 03 49 */ bl func_80035D9C /* 80045A58 000416B8 7C 7F 1B 78 */ mr r31, r3 /* 80045A5C 000416BC 3B C0 00 00 */ li r30, 0 lbl_80045A60: /* 80045A60 000416C0 7F E3 FB 78 */ mr r3, r31 /* 80045A64 000416C4 7F C4 F3 78 */ mr r4, r30 /* 80045A68 000416C8 4B FF 12 AD */ bl func_80036D14 /* 80045A6C 000416CC A0 A3 00 00 */ lhz r5, 0(r3) /* 80045A70 000416D0 7C 69 1B 78 */ mr r9, r3 /* 80045A74 000416D4 2C 05 00 00 */ cmpwi r5, 0 /* 80045A78 000416D8 41 82 00 50 */ beq lbl_80045AC8 /* 80045A7C 000416DC 88 C9 00 04 */ lbz r6, 4(r9) /* 80045A80 000416E0 7F 83 E3 78 */ mr r3, r28 /* 80045A84 000416E4 A0 E9 00 02 */ lhz r7, 2(r9) /* 80045A88 000416E8 7F C4 F3 78 */ mr r4, r30 /* 80045A8C 000416EC 89 09 00 05 */ lbz r8, 5(r9) /* 80045A90 000416F0 81 29 00 0C */ lwz r9, 0xc(r9) /* 80045A94 000416F4 4B FF FD FD */ bl func_80045890 /* 80045A98 000416F8 80 6D A3 40 */ lwz r3, lbl_8063F600-_SDA_BASE_(r13) /* 80045A9C 000416FC 48 1D EA ED */ bl func_80224588 /* 80045AA0 00041700 7F 83 E3 78 */ mr r3, r28 /* 80045AA4 00041704 7F C4 F3 78 */ mr r4, r30 /* 80045AA8 00041708 38 A0 00 00 */ li r5, 0 /* 80045AAC 0004170C 48 00 00 55 */ bl func_80045B00 /* 80045AB0 00041710 2C 1D 00 00 */ cmpwi r29, 0 /* 80045AB4 00041714 40 82 00 14 */ bne lbl_80045AC8 /* 80045AB8 00041718 2C 03 00 00 */ cmpwi r3, 0 /* 80045ABC 0004171C 41 82 00 0C */ beq lbl_80045AC8 /* 80045AC0 00041720 38 80 00 00 */ li r4, 0 /* 80045AC4 00041724 4B FF 22 69 */ bl func_80037D2C lbl_80045AC8: /* 80045AC8 00041728 3B DE 00 01 */ addi r30, r30, 1 /* 80045ACC 0004172C 2C 1E 00 04 */ cmpwi r30, 4 /* 80045AD0 00041730 41 80 FF 90 */ blt lbl_80045A60 /* 80045AD4 00041734 7F 83 E3 78 */ mr r3, r28 /* 80045AD8 00041738 38 80 00 01 */ li r4, 1 /* 80045ADC 0004173C 48 00 02 21 */ bl func_80045CFC /* 80045AE0 00041740 80 01 00 24 */ lwz r0, 0x24(r1) /* 80045AE4 00041744 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80045AE8 00041748 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80045AEC 0004174C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80045AF0 00041750 83 81 00 10 */ lwz r28, 0x10(r1) /* 80045AF4 00041754 7C 08 03 A6 */ mtlr r0 /* 80045AF8 00041758 38 21 00 20 */ addi r1, r1, 0x20 /* 80045AFC 0004175C 4E 80 00 20 */ blr .global func_80045B00 func_80045B00: /* 80045B00 00041760 2C 04 01 00 */ cmpwi r4, 0x100 /* 80045B04 00041764 38 A0 00 00 */ li r5, 0 /* 80045B08 00041768 40 82 00 0C */ bne lbl_80045B14 /* 80045B0C 0004176C 80 63 00 08 */ lwz r3, 8(r3) /* 80045B10 00041770 4E 80 00 20 */ blr lbl_80045B14: /* 80045B14 00041774 2C 04 01 01 */ cmpwi r4, 0x101 /* 80045B18 00041778 40 82 00 0C */ bne lbl_80045B24 /* 80045B1C 0004177C 80 63 00 04 */ lwz r3, 4(r3) /* 80045B20 00041780 4E 80 00 20 */ blr lbl_80045B24: /* 80045B24 00041784 54 80 06 31 */ rlwinm. r0, r4, 0, 0x18, 0x18 /* 80045B28 00041788 41 82 00 18 */ beq lbl_80045B40 /* 80045B2C 0004178C 54 80 07 BE */ clrlwi r0, r4, 0x1e /* 80045B30 00041790 1C 00 00 44 */ mulli r0, r0, 0x44 /* 80045B34 00041794 7C 63 02 14 */ add r3, r3, r0 /* 80045B38 00041798 80 63 00 10 */ lwz r3, 0x10(r3) /* 80045B3C 0004179C 4E 80 00 20 */ blr lbl_80045B40: /* 80045B40 000417A0 A0 03 01 1E */ lhz r0, 0x11e(r3) /* 80045B44 000417A4 28 00 00 02 */ cmplwi r0, 2 /* 80045B48 000417A8 40 82 00 20 */ bne lbl_80045B68 /* 80045B4C 000417AC 54 85 07 FE */ clrlwi r5, r4, 0x1f /* 80045B50 000417B0 54 80 0F 7A */ rlwinm r0, r4, 1, 0x1d, 0x1d /* 80045B54 000417B4 1C 85 00 44 */ mulli r4, r5, 0x44 /* 80045B58 000417B8 7C 63 22 14 */ add r3, r3, r4 /* 80045B5C 000417BC 7C 63 02 14 */ add r3, r3, r0 /* 80045B60 000417C0 80 A3 00 14 */ lwz r5, 0x14(r3) /* 80045B64 000417C4 48 00 00 1C */ b lbl_80045B80 lbl_80045B68: /* 80045B68 000417C8 28 00 00 04 */ cmplwi r0, 4 /* 80045B6C 000417CC 40 82 00 14 */ bne lbl_80045B80 /* 80045B70 000417D0 54 80 07 BE */ clrlwi r0, r4, 0x1e /* 80045B74 000417D4 1C 00 00 44 */ mulli r0, r0, 0x44 /* 80045B78 000417D8 7C 63 02 14 */ add r3, r3, r0 /* 80045B7C 000417DC 80 A3 00 14 */ lwz r5, 0x14(r3) lbl_80045B80: /* 80045B80 000417E0 7C A3 2B 78 */ mr r3, r5 /* 80045B84 000417E4 4E 80 00 20 */ blr .global func_80045B88 func_80045B88: /* 80045B88 000417E8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80045B8C 000417EC 7C 08 02 A6 */ mflr r0 /* 80045B90 000417F0 90 01 00 24 */ stw r0, 0x24(r1) /* 80045B94 000417F4 54 80 07 BE */ clrlwi r0, r4, 0x1e /* 80045B98 000417F8 1C 00 00 44 */ mulli r0, r0, 0x44 /* 80045B9C 000417FC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80045BA0 00041800 93 C1 00 18 */ stw r30, 0x18(r1) /* 80045BA4 00041804 7C 03 02 14 */ add r0, r3, r0 /* 80045BA8 00041808 37 E0 00 0C */ addic. r31, r0, 0xc /* 80045BAC 0004180C 7C DE 33 78 */ mr r30, r6 /* 80045BB0 00041810 93 A1 00 14 */ stw r29, 0x14(r1) /* 80045BB4 00041814 7C BD 2B 78 */ mr r29, r5 /* 80045BB8 00041818 40 82 00 0C */ bne lbl_80045BC4 /* 80045BBC 0004181C 38 60 00 00 */ li r3, 0 /* 80045BC0 00041820 48 00 00 3C */ b lbl_80045BFC lbl_80045BC4: /* 80045BC4 00041824 7F E3 FB 78 */ mr r3, r31 /* 80045BC8 00041828 4B FF F3 E9 */ bl func_80044FB0 /* 80045BCC 0004182C 2C 03 00 00 */ cmpwi r3, 0 /* 80045BD0 00041830 40 82 00 0C */ bne lbl_80045BDC /* 80045BD4 00041834 38 60 00 00 */ li r3, 0 /* 80045BD8 00041838 48 00 00 24 */ b lbl_80045BFC lbl_80045BDC: /* 80045BDC 0004183C 7F E3 FB 78 */ mr r3, r31 /* 80045BE0 00041840 7F A4 EB 78 */ mr r4, r29 /* 80045BE4 00041844 4B FF F8 21 */ bl func_80045404 /* 80045BE8 00041848 7F E3 FB 78 */ mr r3, r31 /* 80045BEC 0004184C 4B FF F8 81 */ bl func_8004546C /* 80045BF0 00041850 C0 1F 00 38 */ lfs f0, 0x38(r31) /* 80045BF4 00041854 38 60 00 01 */ li r3, 1 /* 80045BF8 00041858 D0 1E 00 00 */ stfs f0, 0(r30) lbl_80045BFC: /* 80045BFC 0004185C 80 01 00 24 */ lwz r0, 0x24(r1) /* 80045C00 00041860 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80045C04 00041864 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80045C08 00041868 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80045C0C 0004186C 7C 08 03 A6 */ mtlr r0 /* 80045C10 00041870 38 21 00 20 */ addi r1, r1, 0x20 /* 80045C14 00041874 4E 80 00 20 */ blr .global func_80045C18 func_80045C18: /* 80045C18 00041878 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80045C1C 0004187C 7C 08 02 A6 */ mflr r0 /* 80045C20 00041880 2C 07 00 00 */ cmpwi r7, 0 /* 80045C24 00041884 90 01 00 24 */ stw r0, 0x24(r1) /* 80045C28 00041888 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80045C2C 0004188C 7C BF 2B 78 */ mr r31, r5 /* 80045C30 00041890 93 C1 00 18 */ stw r30, 0x18(r1) /* 80045C34 00041894 7C DE 33 78 */ mr r30, r6 /* 80045C38 00041898 93 A1 00 14 */ stw r29, 0x14(r1) /* 80045C3C 0004189C 7C 9D 23 78 */ mr r29, r4 /* 80045C40 000418A0 93 81 00 10 */ stw r28, 0x10(r1) /* 80045C44 000418A4 7C 7C 1B 78 */ mr r28, r3 /* 80045C48 000418A8 41 82 00 0C */ beq lbl_80045C54 /* 80045C4C 000418AC 38 80 00 00 */ li r4, 0 /* 80045C50 000418B0 48 00 00 AD */ bl func_80045CFC lbl_80045C54: /* 80045C54 000418B4 A0 1C 01 1E */ lhz r0, 0x11e(r28) /* 80045C58 000418B8 28 00 00 04 */ cmplwi r0, 4 /* 80045C5C 000418BC 40 82 00 2C */ bne lbl_80045C88 /* 80045C60 000418C0 1C 1D 00 44 */ mulli r0, r29, 0x44 /* 80045C64 000418C4 7F E4 FB 78 */ mr r4, r31 /* 80045C68 000418C8 38 A0 00 00 */ li r5, 0 /* 80045C6C 000418CC 7C 7C 02 14 */ add r3, r28, r0 /* 80045C70 000418D0 3B E3 00 0C */ addi r31, r3, 0xc /* 80045C74 000418D4 7F E3 FB 78 */ mr r3, r31 /* 80045C78 000418D8 4B FF F7 B1 */ bl func_80045428 /* 80045C7C 000418DC C0 1F 00 38 */ lfs f0, 0x38(r31) /* 80045C80 000418E0 D0 1E 00 00 */ stfs f0, 0(r30) /* 80045C84 000418E4 48 00 00 54 */ b lbl_80045CD8 lbl_80045C88: /* 80045C88 000418E8 28 00 00 02 */ cmplwi r0, 2 /* 80045C8C 000418EC 40 82 00 44 */ bne lbl_80045CD0 /* 80045C90 000418F0 57 A3 07 FE */ clrlwi r3, r29, 0x1f /* 80045C94 000418F4 57 A0 07 BD */ rlwinm. r0, r29, 0, 0x1e, 0x1e /* 80045C98 000418F8 1C 03 00 44 */ mulli r0, r3, 0x44 /* 80045C9C 000418FC 7C 7C 02 14 */ add r3, r28, r0 /* 80045CA0 00041900 38 63 00 0C */ addi r3, r3, 0xc /* 80045CA4 00041904 C0 03 00 38 */ lfs f0, 0x38(r3) /* 80045CA8 00041908 D0 1E 00 00 */ stfs f0, 0(r30) /* 80045CAC 0004190C 41 82 00 14 */ beq lbl_80045CC0 /* 80045CB0 00041910 7F E5 FB 78 */ mr r5, r31 /* 80045CB4 00041914 38 80 00 00 */ li r4, 0 /* 80045CB8 00041918 4B FF F7 71 */ bl func_80045428 /* 80045CBC 0004191C 48 00 00 1C */ b lbl_80045CD8 lbl_80045CC0: /* 80045CC0 00041920 7F E4 FB 78 */ mr r4, r31 /* 80045CC4 00041924 38 A0 00 00 */ li r5, 0 /* 80045CC8 00041928 4B FF F7 61 */ bl func_80045428 /* 80045CCC 0004192C 48 00 00 0C */ b lbl_80045CD8 lbl_80045CD0: /* 80045CD0 00041930 38 60 00 00 */ li r3, 0 /* 80045CD4 00041934 48 00 00 08 */ b lbl_80045CDC lbl_80045CD8: /* 80045CD8 00041938 38 60 00 01 */ li r3, 1 lbl_80045CDC: /* 80045CDC 0004193C 80 01 00 24 */ lwz r0, 0x24(r1) /* 80045CE0 00041940 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80045CE4 00041944 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80045CE8 00041948 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80045CEC 0004194C 83 81 00 10 */ lwz r28, 0x10(r1) /* 80045CF0 00041950 7C 08 03 A6 */ mtlr r0 /* 80045CF4 00041954 38 21 00 20 */ addi r1, r1, 0x20 /* 80045CF8 00041958 4E 80 00 20 */ blr .global func_80045CFC func_80045CFC: /* 80045CFC 0004195C 94 21 FF 40 */ stwu r1, -0xc0(r1) /* 80045D00 00041960 7C 08 02 A6 */ mflr r0 /* 80045D04 00041964 90 01 00 C4 */ stw r0, 0xc4(r1) /* 80045D08 00041968 DB E1 00 B0 */ stfd f31, 0xb0(r1) /* 80045D0C 0004196C F3 E1 00 B8 */ psq_st f31, 184(r1), 0, qr0 /* 80045D10 00041970 DB C1 00 A0 */ stfd f30, 0xa0(r1) /* 80045D14 00041974 F3 C1 00 A8 */ psq_st f30, 168(r1), 0, qr0 /* 80045D18 00041978 DB A1 00 90 */ stfd f29, 0x90(r1) /* 80045D1C 0004197C F3 A1 00 98 */ psq_st f29, 152(r1), 0, qr0 /* 80045D20 00041980 DB 81 00 80 */ stfd f28, 0x80(r1) /* 80045D24 00041984 F3 81 00 88 */ psq_st f28, 136(r1), 0, qr0 /* 80045D28 00041988 DB 61 00 70 */ stfd f27, 0x70(r1) /* 80045D2C 0004198C F3 61 00 78 */ psq_st f27, 120(r1), 0, qr0 /* 80045D30 00041990 DB 41 00 60 */ stfd f26, 0x60(r1) /* 80045D34 00041994 F3 41 00 68 */ psq_st f26, 104(r1), 0, qr0 /* 80045D38 00041998 DB 21 00 50 */ stfd f25, 0x50(r1) /* 80045D3C 0004199C F3 21 00 58 */ psq_st f25, 88(r1), 0, qr0 /* 80045D40 000419A0 39 61 00 50 */ addi r11, r1, 0x50 /* 80045D44 000419A4 48 18 13 DD */ bl _savegpr_25 /* 80045D48 000419A8 C3 62 83 8C */ lfs f27, lbl_8064098C-_SDA2_BASE_(r2) /* 80045D4C 000419AC 7C 7E 1B 78 */ mr r30, r3 /* 80045D50 000419B0 7C 9F 23 78 */ mr r31, r4 /* 80045D54 000419B4 4B FF 84 09 */ bl func_8003E15C /* 80045D58 000419B8 2C 03 00 00 */ cmpwi r3, 0 /* 80045D5C 000419BC 41 82 00 B4 */ beq lbl_80045E10 /* 80045D60 000419C0 3B BE 00 0C */ addi r29, r30, 0xc /* 80045D64 000419C4 3B 20 FF FF */ li r25, -1 /* 80045D68 000419C8 3B 40 00 00 */ li r26, 0 lbl_80045D6C: /* 80045D6C 000419CC 7F A3 EB 78 */ mr r3, r29 /* 80045D70 000419D0 4B FF F2 41 */ bl func_80044FB0 /* 80045D74 000419D4 2C 03 00 00 */ cmpwi r3, 0 /* 80045D78 000419D8 41 82 00 38 */ beq lbl_80045DB0 /* 80045D7C 000419DC 7F BC EB 78 */ mr r28, r29 /* 80045D80 000419E0 3B 60 00 00 */ li r27, 0 lbl_80045D84: /* 80045D84 000419E4 80 7C 00 08 */ lwz r3, 8(r28) /* 80045D88 000419E8 2C 03 00 00 */ cmpwi r3, 0 /* 80045D8C 000419EC 41 82 00 14 */ beq lbl_80045DA0 /* 80045D90 000419F0 4B FF 39 45 */ bl func_800396D4 /* 80045D94 000419F4 7C 19 18 00 */ cmpw r25, r3 /* 80045D98 000419F8 40 80 00 08 */ bge lbl_80045DA0 /* 80045D9C 000419FC 7C 79 1B 78 */ mr r25, r3 lbl_80045DA0: /* 80045DA0 00041A00 3B 7B 00 01 */ addi r27, r27, 1 /* 80045DA4 00041A04 3B 9C 00 04 */ addi r28, r28, 4 /* 80045DA8 00041A08 2C 1B 00 02 */ cmpwi r27, 2 /* 80045DAC 00041A0C 41 80 FF D8 */ blt lbl_80045D84 lbl_80045DB0: /* 80045DB0 00041A10 3B 5A 00 01 */ addi r26, r26, 1 /* 80045DB4 00041A14 3B BD 00 44 */ addi r29, r29, 0x44 /* 80045DB8 00041A18 2C 1A 00 04 */ cmpwi r26, 4 /* 80045DBC 00041A1C 41 80 FF B0 */ blt lbl_80045D6C /* 80045DC0 00041A20 2C 19 00 02 */ cmpwi r25, 2 /* 80045DC4 00041A24 41 81 00 08 */ bgt lbl_80045DCC /* 80045DC8 00041A28 C3 62 83 90 */ lfs f27, lbl_80640990-_SDA2_BASE_(r2) lbl_80045DCC: /* 80045DCC 00041A2C 2C 19 00 03 */ cmpwi r25, 3 /* 80045DD0 00041A30 40 82 00 08 */ bne lbl_80045DD8 /* 80045DD4 00041A34 C3 62 83 8C */ lfs f27, lbl_8064098C-_SDA2_BASE_(r2) lbl_80045DD8: /* 80045DD8 00041A38 2C 19 00 04 */ cmpwi r25, 4 /* 80045DDC 00041A3C 40 82 00 08 */ bne lbl_80045DE4 /* 80045DE0 00041A40 C3 62 83 94 */ lfs f27, lbl_80640994-_SDA2_BASE_(r2) lbl_80045DE4: /* 80045DE4 00041A44 2C 19 00 05 */ cmpwi r25, 5 /* 80045DE8 00041A48 40 82 00 08 */ bne lbl_80045DF0 /* 80045DEC 00041A4C C3 62 83 98 */ lfs f27, lbl_80640998-_SDA2_BASE_(r2) lbl_80045DF0: /* 80045DF0 00041A50 2C 19 00 06 */ cmpwi r25, 6 /* 80045DF4 00041A54 41 80 00 08 */ blt lbl_80045DFC /* 80045DF8 00041A58 C3 62 83 9C */ lfs f27, lbl_8064099C-_SDA2_BASE_(r2) lbl_80045DFC: /* 80045DFC 00041A5C 2C 19 00 01 */ cmpwi r25, 1 /* 80045E00 00041A60 93 3E 01 24 */ stw r25, 0x124(r30) /* 80045E04 00041A64 40 80 00 0C */ bge lbl_80045E10 /* 80045E08 00041A68 38 00 00 01 */ li r0, 1 /* 80045E0C 00041A6C 90 1E 01 24 */ stw r0, 0x124(r30) lbl_80045E10: /* 80045E10 00041A70 3B 7E 00 0C */ addi r27, r30, 0xc /* 80045E14 00041A74 C3 A2 83 88 */ lfs f29, lbl_80640988-_SDA2_BASE_(r2) /* 80045E18 00041A78 C3 22 83 B0 */ lfs f25, lbl_806409B0-_SDA2_BASE_(r2) /* 80045E1C 00041A7C 7F 7D DB 78 */ mr r29, r27 /* 80045E20 00041A80 C3 42 83 AC */ lfs f26, lbl_806409AC-_SDA2_BASE_(r2) /* 80045E24 00041A84 3B 40 00 00 */ li r26, 0 /* 80045E28 00041A88 C3 C2 83 A0 */ lfs f30, lbl_806409A0-_SDA2_BASE_(r2) /* 80045E2C 00041A8C C3 E2 83 A4 */ lfs f31, lbl_806409A4-_SDA2_BASE_(r2) lbl_80045E30: /* 80045E30 00041A90 7F A3 EB 78 */ mr r3, r29 /* 80045E34 00041A94 4B FF F1 7D */ bl func_80044FB0 /* 80045E38 00041A98 2C 03 00 00 */ cmpwi r3, 0 /* 80045E3C 00041A9C 41 82 02 1C */ beq lbl_80046058 /* 80045E40 00041AA0 57 5C 07 FF */ clrlwi. r28, r26, 0x1f /* 80045E44 00041AA4 D3 A1 00 20 */ stfs f29, 0x20(r1) /* 80045E48 00041AA8 D3 A1 00 24 */ stfs f29, 0x24(r1) /* 80045E4C 00041AAC D3 A1 00 28 */ stfs f29, 0x28(r1) /* 80045E50 00041AB0 D3 A1 00 14 */ stfs f29, 0x14(r1) /* 80045E54 00041AB4 D3 A1 00 18 */ stfs f29, 0x18(r1) /* 80045E58 00041AB8 D3 A1 00 1C */ stfs f29, 0x1c(r1) /* 80045E5C 00041ABC 40 82 00 20 */ bne lbl_80045E7C /* 80045E60 00041AC0 FC 00 D8 50 */ fneg f0, f27 /* 80045E64 00041AC4 FF 80 E8 90 */ fmr f28, f29 /* 80045E68 00041AC8 EC 3E 00 32 */ fmuls f1, f30, f0 /* 80045E6C 00041ACC EC 1F 00 32 */ fmuls f0, f31, f0 /* 80045E70 00041AD0 D0 21 00 28 */ stfs f1, 0x28(r1) /* 80045E74 00041AD4 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 80045E78 00041AD8 48 00 00 18 */ b lbl_80045E90 lbl_80045E7C: /* 80045E7C 00041ADC EC 3E 06 F2 */ fmuls f1, f30, f27 /* 80045E80 00041AE0 C3 82 83 A8 */ lfs f28, lbl_806409A8-_SDA2_BASE_(r2) /* 80045E84 00041AE4 EC 1F 06 F2 */ fmuls f0, f31, f27 /* 80045E88 00041AE8 D0 21 00 28 */ stfs f1, 0x28(r1) /* 80045E8C 00041AEC D0 01 00 1C */ stfs f0, 0x1c(r1) lbl_80045E90: /* 80045E90 00041AF0 1C 1C 00 44 */ mulli r0, r28, 0x44 /* 80045E94 00041AF4 3B 20 00 00 */ li r25, 0 /* 80045E98 00041AF8 7C 7E 02 14 */ add r3, r30, r0 /* 80045E9C 00041AFC 38 63 00 0C */ addi r3, r3, 0xc /* 80045EA0 00041B00 4B FF F1 11 */ bl func_80044FB0 /* 80045EA4 00041B04 2C 03 00 00 */ cmpwi r3, 0 /* 80045EA8 00041B08 41 82 00 08 */ beq lbl_80045EB0 /* 80045EAC 00041B0C 3B 20 00 01 */ li r25, 1 lbl_80045EB0: /* 80045EB0 00041B10 63 80 00 02 */ ori r0, r28, 2 /* 80045EB4 00041B14 1C 00 00 44 */ mulli r0, r0, 0x44 /* 80045EB8 00041B18 7C 7E 02 14 */ add r3, r30, r0 /* 80045EBC 00041B1C 38 63 00 0C */ addi r3, r3, 0xc /* 80045EC0 00041B20 4B FF F0 F1 */ bl func_80044FB0 /* 80045EC4 00041B24 2C 03 00 00 */ cmpwi r3, 0 /* 80045EC8 00041B28 41 82 00 08 */ beq lbl_80045ED0 /* 80045ECC 00041B2C 3B 39 00 01 */ addi r25, r25, 1 lbl_80045ED0: /* 80045ED0 00041B30 2C 19 00 01 */ cmpwi r25, 1 /* 80045ED4 00041B34 40 82 00 0C */ bne lbl_80045EE0 /* 80045ED8 00041B38 D3 A1 00 20 */ stfs f29, 0x20(r1) /* 80045EDC 00041B3C 48 00 00 34 */ b lbl_80045F10 lbl_80045EE0: /* 80045EE0 00041B40 2C 19 00 02 */ cmpwi r25, 2 /* 80045EE4 00041B44 40 82 00 2C */ bne lbl_80045F10 /* 80045EE8 00041B48 57 40 07 BF */ clrlwi. r0, r26, 0x1e /* 80045EEC 00041B4C 41 82 00 0C */ beq lbl_80045EF8 /* 80045EF0 00041B50 2C 00 00 03 */ cmpwi r0, 3 /* 80045EF4 00041B54 40 82 00 10 */ bne lbl_80045F04 lbl_80045EF8: /* 80045EF8 00041B58 EC 1A 06 F2 */ fmuls f0, f26, f27 /* 80045EFC 00041B5C D0 01 00 20 */ stfs f0, 0x20(r1) /* 80045F00 00041B60 48 00 00 10 */ b lbl_80045F10 lbl_80045F04: /* 80045F04 00041B64 FC 00 D8 50 */ fneg f0, f27 /* 80045F08 00041B68 EC 1A 00 32 */ fmuls f0, f26, f0 /* 80045F0C 00041B6C D0 01 00 20 */ stfs f0, 0x20(r1) lbl_80045F10: /* 80045F10 00041B70 C0 01 00 28 */ lfs f0, 0x28(r1) /* 80045F14 00041B74 7F A3 EB 78 */ mr r3, r29 /* 80045F18 00041B78 D0 01 00 14 */ stfs f0, 0x14(r1) /* 80045F1C 00041B7C 4B FF F0 9D */ bl func_80044FB8 /* 80045F20 00041B80 2C 03 00 02 */ cmpwi r3, 2 /* 80045F24 00041B84 41 82 00 A0 */ beq lbl_80045FC4 /* 80045F28 00041B88 40 80 01 24 */ bge lbl_8004604C /* 80045F2C 00041B8C 2C 03 00 01 */ cmpwi r3, 1 /* 80045F30 00041B90 40 80 00 08 */ bge lbl_80045F38 /* 80045F34 00041B94 48 00 01 18 */ b lbl_8004604C lbl_80045F38: /* 80045F38 00041B98 80 1E 00 00 */ lwz r0, 0(r30) /* 80045F3C 00041B9C 2C 00 00 00 */ cmpwi r0, 0 /* 80045F40 00041BA0 40 82 00 1C */ bne lbl_80045F5C /* 80045F44 00041BA4 EC 39 06 F2 */ fmuls f1, f25, f27 /* 80045F48 00041BA8 C0 01 00 20 */ lfs f0, 0x20(r1) /* 80045F4C 00041BAC D3 A1 00 14 */ stfs f29, 0x14(r1) /* 80045F50 00041BB0 EC 00 08 2A */ fadds f0, f0, f1 /* 80045F54 00041BB4 D0 01 00 20 */ stfs f0, 0x20(r1) /* 80045F58 00041BB8 48 00 00 48 */ b lbl_80045FA0 lbl_80045F5C: /* 80045F5C 00041BBC 2C 00 00 02 */ cmpwi r0, 2 /* 80045F60 00041BC0 40 82 00 40 */ bne lbl_80045FA0 /* 80045F64 00041BC4 C0 21 00 20 */ lfs f1, 0x20(r1) /* 80045F68 00041BC8 57 40 07 BF */ clrlwi. r0, r26, 0x1e /* 80045F6C 00041BCC D0 21 00 14 */ stfs f1, 0x14(r1) /* 80045F70 00041BD0 41 82 00 0C */ beq lbl_80045F7C /* 80045F74 00041BD4 2C 00 00 03 */ cmpwi r0, 3 /* 80045F78 00041BD8 40 82 00 18 */ bne lbl_80045F90 lbl_80045F7C: /* 80045F7C 00041BDC EC 39 06 F2 */ fmuls f1, f25, f27 /* 80045F80 00041BE0 C0 01 00 20 */ lfs f0, 0x20(r1) /* 80045F84 00041BE4 EC 00 08 2A */ fadds f0, f0, f1 /* 80045F88 00041BE8 D0 01 00 20 */ stfs f0, 0x20(r1) /* 80045F8C 00041BEC 48 00 00 14 */ b lbl_80045FA0 lbl_80045F90: /* 80045F90 00041BF0 FC 00 D8 50 */ fneg f0, f27 /* 80045F94 00041BF4 EC 19 00 32 */ fmuls f0, f25, f0 /* 80045F98 00041BF8 EC 01 00 2A */ fadds f0, f1, f0 /* 80045F9C 00041BFC D0 01 00 20 */ stfs f0, 0x20(r1) lbl_80045FA0: /* 80045FA0 00041C00 7F A3 EB 78 */ mr r3, r29 /* 80045FA4 00041C04 38 81 00 20 */ addi r4, r1, 0x20 /* 80045FA8 00041C08 4B FF F3 F5 */ bl func_8004539C /* 80045FAC 00041C0C 38 81 00 14 */ addi r4, r1, 0x14 /* 80045FB0 00041C10 7F A3 EB 78 */ mr r3, r29 /* 80045FB4 00041C14 7C 85 23 78 */ mr r5, r4 /* 80045FB8 00041C18 4B FF F4 09 */ bl func_800453C0 /* 80045FBC 00041C1C D3 9D 00 38 */ stfs f28, 0x38(r29) /* 80045FC0 00041C20 48 00 00 98 */ b lbl_80046058 lbl_80045FC4: /* 80045FC4 00041C24 C0 41 00 14 */ lfs f2, 0x14(r1) /* 80045FC8 00041C28 C0 21 00 18 */ lfs f1, 0x18(r1) /* 80045FCC 00041C2C C0 01 00 1C */ lfs f0, 0x1c(r1) /* 80045FD0 00041C30 D0 41 00 08 */ stfs f2, 8(r1) /* 80045FD4 00041C34 D0 21 00 0C */ stfs f1, 0xc(r1) /* 80045FD8 00041C38 D0 01 00 10 */ stfs f0, 0x10(r1) /* 80045FDC 00041C3C 80 1E 00 00 */ lwz r0, 0(r30) /* 80045FE0 00041C40 2C 00 00 00 */ cmpwi r0, 0 /* 80045FE4 00041C44 40 82 00 10 */ bne lbl_80045FF4 /* 80045FE8 00041C48 C0 01 00 20 */ lfs f0, 0x20(r1) /* 80045FEC 00041C4C D0 01 00 14 */ stfs f0, 0x14(r1) /* 80045FF0 00041C50 48 00 00 1C */ b lbl_8004600C lbl_80045FF4: /* 80045FF4 00041C54 EC 5A 06 F2 */ fmuls f2, f26, f27 /* 80045FF8 00041C58 C0 01 00 20 */ lfs f0, 0x20(r1) /* 80045FFC 00041C5C EC 20 10 2A */ fadds f1, f0, f2 /* 80046000 00041C60 EC 00 10 28 */ fsubs f0, f0, f2 /* 80046004 00041C64 D0 21 00 14 */ stfs f1, 0x14(r1) /* 80046008 00041C68 D0 01 00 08 */ stfs f0, 8(r1) lbl_8004600C: /* 8004600C 00041C6C 7F A3 EB 78 */ mr r3, r29 /* 80046010 00041C70 38 81 00 20 */ addi r4, r1, 0x20 /* 80046014 00041C74 4B FF F3 89 */ bl func_8004539C /* 80046018 00041C78 2C 1C 00 00 */ cmpwi r28, 0 /* 8004601C 00041C7C 41 82 00 18 */ beq lbl_80046034 /* 80046020 00041C80 7F A3 EB 78 */ mr r3, r29 /* 80046024 00041C84 38 81 00 08 */ addi r4, r1, 8 /* 80046028 00041C88 38 A1 00 14 */ addi r5, r1, 0x14 /* 8004602C 00041C8C 4B FF F3 95 */ bl func_800453C0 /* 80046030 00041C90 48 00 00 14 */ b lbl_80046044 lbl_80046034: /* 80046034 00041C94 7F A3 EB 78 */ mr r3, r29 /* 80046038 00041C98 38 81 00 14 */ addi r4, r1, 0x14 /* 8004603C 00041C9C 38 A1 00 08 */ addi r5, r1, 8 /* 80046040 00041CA0 4B FF F3 81 */ bl func_800453C0 lbl_80046044: /* 80046044 00041CA4 D3 9D 00 38 */ stfs f28, 0x38(r29) /* 80046048 00041CA8 48 00 00 10 */ b lbl_80046058 lbl_8004604C: /* 8004604C 00041CAC 7F A3 EB 78 */ mr r3, r29 /* 80046050 00041CB0 38 81 00 20 */ addi r4, r1, 0x20 /* 80046054 00041CB4 4B FF F3 49 */ bl func_8004539C lbl_80046058: /* 80046058 00041CB8 3B 5A 00 01 */ addi r26, r26, 1 /* 8004605C 00041CBC 3B BD 00 44 */ addi r29, r29, 0x44 /* 80046060 00041CC0 2C 1A 00 04 */ cmpwi r26, 4 /* 80046064 00041CC4 41 80 FD CC */ blt lbl_80045E30 /* 80046068 00041CC8 2C 1F 00 00 */ cmpwi r31, 0 /* 8004606C 00041CCC 41 82 00 40 */ beq lbl_800460AC /* 80046070 00041CD0 3B 20 00 00 */ li r25, 0 /* 80046074 00041CD4 48 00 00 2C */ b lbl_800460A0 lbl_80046078: /* 80046078 00041CD8 7F 63 DB 78 */ mr r3, r27 /* 8004607C 00041CDC 4B FF EF 35 */ bl func_80044FB0 /* 80046080 00041CE0 2C 03 00 00 */ cmpwi r3, 0 /* 80046084 00041CE4 41 82 00 14 */ beq lbl_80046098 /* 80046088 00041CE8 7F 63 DB 78 */ mr r3, r27 /* 8004608C 00041CEC 4B FF F3 E1 */ bl func_8004546C /* 80046090 00041CF0 7F 63 DB 78 */ mr r3, r27 /* 80046094 00041CF4 4B FF F4 35 */ bl func_800454C8 lbl_80046098: /* 80046098 00041CF8 3B 7B 00 44 */ addi r27, r27, 0x44 /* 8004609C 00041CFC 3B 39 00 01 */ addi r25, r25, 1 lbl_800460A0: /* 800460A0 00041D00 A0 1E 01 1E */ lhz r0, 0x11e(r30) /* 800460A4 00041D04 7C 19 00 00 */ cmpw r25, r0 /* 800460A8 00041D08 41 80 FF D0 */ blt lbl_80046078 lbl_800460AC: /* 800460AC 00041D0C 7F C3 F3 78 */ mr r3, r30 /* 800460B0 00041D10 48 00 09 35 */ bl func_800469E4 /* 800460B4 00041D14 E3 E1 00 B8 */ psq_l f31, 184(r1), 0, qr0 /* 800460B8 00041D18 CB E1 00 B0 */ lfd f31, 0xb0(r1) /* 800460BC 00041D1C E3 C1 00 A8 */ psq_l f30, 168(r1), 0, qr0 /* 800460C0 00041D20 CB C1 00 A0 */ lfd f30, 0xa0(r1) /* 800460C4 00041D24 E3 A1 00 98 */ psq_l f29, 152(r1), 0, qr0 /* 800460C8 00041D28 CB A1 00 90 */ lfd f29, 0x90(r1) /* 800460CC 00041D2C E3 81 00 88 */ psq_l f28, 136(r1), 0, qr0 /* 800460D0 00041D30 CB 81 00 80 */ lfd f28, 0x80(r1) /* 800460D4 00041D34 E3 61 00 78 */ psq_l f27, 120(r1), 0, qr0 /* 800460D8 00041D38 CB 61 00 70 */ lfd f27, 0x70(r1) /* 800460DC 00041D3C E3 41 00 68 */ psq_l f26, 104(r1), 0, qr0 /* 800460E0 00041D40 CB 41 00 60 */ lfd f26, 0x60(r1) /* 800460E4 00041D44 E3 21 00 58 */ psq_l f25, 88(r1), 0, qr0 /* 800460E8 00041D48 39 61 00 50 */ addi r11, r1, 0x50 /* 800460EC 00041D4C CB 21 00 50 */ lfd f25, 0x50(r1) /* 800460F0 00041D50 48 18 10 7D */ bl _restgpr_25 /* 800460F4 00041D54 80 01 00 C4 */ lwz r0, 0xc4(r1) /* 800460F8 00041D58 7C 08 03 A6 */ mtlr r0 /* 800460FC 00041D5C 38 21 00 C0 */ addi r1, r1, 0xc0 /* 80046100 00041D60 4E 80 00 20 */ blr .global func_80046104 func_80046104: /* 80046104 00041D64 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80046108 00041D68 7C 08 02 A6 */ mflr r0 /* 8004610C 00041D6C 90 01 00 24 */ stw r0, 0x24(r1) /* 80046110 00041D70 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80046114 00041D74 93 C1 00 18 */ stw r30, 0x18(r1) /* 80046118 00041D78 7C BE 2B 78 */ mr r30, r5 /* 8004611C 00041D7C 93 A1 00 14 */ stw r29, 0x14(r1) /* 80046120 00041D80 7C 9D 23 78 */ mr r29, r4 /* 80046124 00041D84 93 81 00 10 */ stw r28, 0x10(r1) /* 80046128 00041D88 7C 7C 1B 78 */ mr r28, r3 /* 8004612C 00041D8C 4B FF 80 31 */ bl func_8003E15C /* 80046130 00041D90 2C 03 00 00 */ cmpwi r3, 0 /* 80046134 00041D94 7C 7F 1B 78 */ mr r31, r3 /* 80046138 00041D98 41 82 00 60 */ beq lbl_80046198 /* 8004613C 00041D9C 80 9C 00 08 */ lwz r4, 8(r28) /* 80046140 00041DA0 2C 04 00 00 */ cmpwi r4, 0 /* 80046144 00041DA4 41 82 00 08 */ beq lbl_8004614C /* 80046148 00041DA8 4B FF 80 F1 */ bl func_8003E238 lbl_8004614C: /* 8004614C 00041DAC 7F E3 FB 78 */ mr r3, r31 /* 80046150 00041DB0 4B FF 80 6D */ bl func_8003E1BC /* 80046154 00041DB4 2C 03 00 00 */ cmpwi r3, 0 /* 80046158 00041DB8 90 7C 00 08 */ stw r3, 8(r28) /* 8004615C 00041DBC 41 82 00 3C */ beq lbl_80046198 /* 80046160 00041DC0 7F A4 EB 78 */ mr r4, r29 /* 80046164 00041DC4 7F C5 F3 78 */ mr r5, r30 /* 80046168 00041DC8 4B FF 17 BD */ bl func_80037924 /* 8004616C 00041DCC 80 7C 00 08 */ lwz r3, 8(r28) /* 80046170 00041DD0 38 80 00 03 */ li r4, 3 /* 80046174 00041DD4 38 00 01 00 */ li r0, 0x100 /* 80046178 00041DD8 B0 83 05 0C */ sth r4, 0x50c(r3) /* 8004617C 00041DDC 80 7C 00 08 */ lwz r3, 8(r28) /* 80046180 00041DE0 B0 03 0C 68 */ sth r0, 0xc68(r3) /* 80046184 00041DE4 80 7C 00 08 */ lwz r3, 8(r28) /* 80046188 00041DE8 80 63 0C 00 */ lwz r3, 0xc00(r3) /* 8004618C 00041DEC 2C 03 00 00 */ cmpwi r3, 0 /* 80046190 00041DF0 41 82 00 08 */ beq lbl_80046198 /* 80046194 00041DF4 48 1B C8 3D */ bl func_802029D0 lbl_80046198: /* 80046198 00041DF8 80 01 00 24 */ lwz r0, 0x24(r1) /* 8004619C 00041DFC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 800461A0 00041E00 83 C1 00 18 */ lwz r30, 0x18(r1) /* 800461A4 00041E04 83 A1 00 14 */ lwz r29, 0x14(r1) /* 800461A8 00041E08 83 81 00 10 */ lwz r28, 0x10(r1) /* 800461AC 00041E0C 7C 08 03 A6 */ mtlr r0 /* 800461B0 00041E10 38 21 00 20 */ addi r1, r1, 0x20 /* 800461B4 00041E14 4E 80 00 20 */ blr .global func_800461B8 func_800461B8: /* 800461B8 00041E18 94 21 FF E0 */ stwu r1, -0x20(r1) /* 800461BC 00041E1C 7C 08 02 A6 */ mflr r0 /* 800461C0 00041E20 90 01 00 24 */ stw r0, 0x24(r1) /* 800461C4 00041E24 39 61 00 20 */ addi r11, r1, 0x20 /* 800461C8 00041E28 48 18 0F 61 */ bl _savegpr_27 /* 800461CC 00041E2C 7C 7B 1B 78 */ mr r27, r3 /* 800461D0 00041E30 4B FF 7F 8D */ bl func_8003E15C /* 800461D4 00041E34 2C 03 00 00 */ cmpwi r3, 0 /* 800461D8 00041E38 7C 7D 1B 78 */ mr r29, r3 /* 800461DC 00041E3C 41 82 00 98 */ beq lbl_80046274 /* 800461E0 00041E40 7F 63 DB 78 */ mr r3, r27 /* 800461E4 00041E44 48 00 06 7D */ bl func_80046860 /* 800461E8 00041E48 80 7B 01 64 */ lwz r3, 0x164(r27) /* 800461EC 00041E4C 2C 03 00 00 */ cmpwi r3, 0 /* 800461F0 00041E50 41 82 00 24 */ beq lbl_80046214 /* 800461F4 00041E54 41 82 00 18 */ beq lbl_8004620C /* 800461F8 00041E58 81 83 01 00 */ lwz r12, 0x100(r3) /* 800461FC 00041E5C 38 80 00 01 */ li r4, 1 /* 80046200 00041E60 81 8C 00 08 */ lwz r12, 8(r12) /* 80046204 00041E64 7D 89 03 A6 */ mtctr r12 /* 80046208 00041E68 4E 80 04 21 */ bctrl lbl_8004620C: /* 8004620C 00041E6C 38 00 00 00 */ li r0, 0 /* 80046210 00041E70 90 1B 01 64 */ stw r0, 0x164(r27) lbl_80046214: /* 80046214 00041E74 7F 7E DB 78 */ mr r30, r27 /* 80046218 00041E78 3B 80 00 00 */ li r28, 0 /* 8004621C 00041E7C 3B E0 00 00 */ li r31, 0 lbl_80046220: /* 80046220 00041E80 80 7E 01 5C */ lwz r3, 0x15c(r30) /* 80046224 00041E84 2C 03 00 00 */ cmpwi r3, 0 /* 80046228 00041E88 41 82 00 20 */ beq lbl_80046248 /* 8004622C 00041E8C 41 82 00 18 */ beq lbl_80046244 /* 80046230 00041E90 81 83 01 00 */ lwz r12, 0x100(r3) /* 80046234 00041E94 38 80 00 01 */ li r4, 1 /* 80046238 00041E98 81 8C 00 08 */ lwz r12, 8(r12) /* 8004623C 00041E9C 7D 89 03 A6 */ mtctr r12 /* 80046240 00041EA0 4E 80 04 21 */ bctrl lbl_80046244: /* 80046244 00041EA4 93 FE 01 5C */ stw r31, 0x15c(r30) lbl_80046248: /* 80046248 00041EA8 3B 9C 00 01 */ addi r28, r28, 1 /* 8004624C 00041EAC 3B DE 00 04 */ addi r30, r30, 4 /* 80046250 00041EB0 2C 1C 00 02 */ cmpwi r28, 2 /* 80046254 00041EB4 41 80 FF CC */ blt lbl_80046220 /* 80046258 00041EB8 80 9B 00 08 */ lwz r4, 8(r27) /* 8004625C 00041EBC 2C 04 00 00 */ cmpwi r4, 0 /* 80046260 00041EC0 41 82 00 14 */ beq lbl_80046274 /* 80046264 00041EC4 7F A3 EB 78 */ mr r3, r29 /* 80046268 00041EC8 4B FF 7F D1 */ bl func_8003E238 /* 8004626C 00041ECC 38 00 00 00 */ li r0, 0 /* 80046270 00041ED0 90 1B 00 08 */ stw r0, 8(r27) lbl_80046274: /* 80046274 00041ED4 39 61 00 20 */ addi r11, r1, 0x20 /* 80046278 00041ED8 48 18 0E FD */ bl _restgpr_27 /* 8004627C 00041EDC 80 01 00 24 */ lwz r0, 0x24(r1) /* 80046280 00041EE0 7C 08 03 A6 */ mtlr r0 /* 80046284 00041EE4 38 21 00 20 */ addi r1, r1, 0x20 /* 80046288 00041EE8 4E 80 00 20 */ blr .global func_8004628C func_8004628C: /* 8004628C 00041EEC 80 63 00 08 */ lwz r3, 8(r3) /* 80046290 00041EF0 2C 03 00 00 */ cmpwi r3, 0 /* 80046294 00041EF4 40 82 00 0C */ bne lbl_800462A0 /* 80046298 00041EF8 38 60 00 00 */ li r3, 0 /* 8004629C 00041EFC 4E 80 00 20 */ blr lbl_800462A0: /* 800462A0 00041F00 80 C3 0C 00 */ lwz r6, 0xc00(r3) /* 800462A4 00041F04 2C 06 00 00 */ cmpwi r6, 0 /* 800462A8 00041F08 40 82 00 0C */ bne lbl_800462B4 /* 800462AC 00041F0C 38 60 00 00 */ li r3, 0 /* 800462B0 00041F10 4E 80 00 20 */ blr lbl_800462B4: /* 800462B4 00041F14 80 66 00 00 */ lwz r3, 0(r6) /* 800462B8 00041F18 39 60 00 00 */ li r11, 0 /* 800462BC 00041F1C A0 E3 00 18 */ lhz r7, 0x18(r3) /* 800462C0 00041F20 48 00 00 E0 */ b lbl_800463A0 lbl_800462C4: /* 800462C4 00041F24 81 06 00 04 */ lwz r8, 4(r6) /* 800462C8 00041F28 2C 08 00 00 */ cmpwi r8, 0 /* 800462CC 00041F2C 40 82 00 0C */ bne lbl_800462D8 /* 800462D0 00041F30 38 A0 00 00 */ li r5, 0 /* 800462D4 00041F34 48 00 00 28 */ b lbl_800462FC lbl_800462D8: /* 800462D8 00041F38 80 66 00 00 */ lwz r3, 0(r6) /* 800462DC 00041F3C 55 65 04 3E */ clrlwi r5, r11, 0x10 /* 800462E0 00041F40 A0 03 00 18 */ lhz r0, 0x18(r3) /* 800462E4 00041F44 7C 05 00 40 */ cmplw r5, r0 /* 800462E8 00041F48 41 80 00 0C */ blt lbl_800462F4 /* 800462EC 00041F4C 38 A0 00 00 */ li r5, 0 /* 800462F0 00041F50 48 00 00 0C */ b lbl_800462FC lbl_800462F4: /* 800462F4 00041F54 55 60 13 BA */ rlwinm r0, r11, 2, 0xe, 0x1d /* 800462F8 00041F58 7C A8 00 2E */ lwzx r5, r8, r0 lbl_800462FC: /* 800462FC 00041F5C 2C 05 00 00 */ cmpwi r5, 0 /* 80046300 00041F60 40 82 00 0C */ bne lbl_8004630C /* 80046304 00041F64 38 60 00 00 */ li r3, 0 /* 80046308 00041F68 4E 80 00 20 */ blr lbl_8004630C: /* 8004630C 00041F6C A1 05 00 EC */ lhz r8, 0xec(r5) /* 80046310 00041F70 39 80 00 00 */ li r12, 0 /* 80046314 00041F74 48 00 00 7C */ b lbl_80046390 lbl_80046318: /* 80046318 00041F78 81 25 00 28 */ lwz r9, 0x28(r5) /* 8004631C 00041F7C 2C 09 00 00 */ cmpwi r9, 0 /* 80046320 00041F80 40 82 00 0C */ bne lbl_8004632C /* 80046324 00041F84 38 00 00 00 */ li r0, 0 /* 80046328 00041F88 48 00 00 54 */ b lbl_8004637C lbl_8004632C: /* 8004632C 00041F8C A0 05 00 EC */ lhz r0, 0xec(r5) /* 80046330 00041F90 55 83 04 3E */ clrlwi r3, r12, 0x10 /* 80046334 00041F94 7C 03 00 40 */ cmplw r3, r0 /* 80046338 00041F98 41 80 00 0C */ blt lbl_80046344 /* 8004633C 00041F9C 38 00 00 00 */ li r0, 0 /* 80046340 00041FA0 48 00 00 3C */ b lbl_8004637C lbl_80046344: /* 80046344 00041FA4 81 45 00 08 */ lwz r10, 8(r5) /* 80046348 00041FA8 55 80 0B FC */ rlwinm r0, r12, 1, 0xf, 0x1e /* 8004634C 00041FAC 7C 69 02 2E */ lhzx r3, r9, r0 /* 80046350 00041FB0 2C 0A 00 00 */ cmpwi r10, 0 /* 80046354 00041FB4 40 82 00 0C */ bne lbl_80046360 /* 80046358 00041FB8 38 00 00 00 */ li r0, 0 /* 8004635C 00041FBC 48 00 00 20 */ b lbl_8004637C lbl_80046360: /* 80046360 00041FC0 A0 05 00 DE */ lhz r0, 0xde(r5) /* 80046364 00041FC4 7C 03 00 40 */ cmplw r3, r0 /* 80046368 00041FC8 41 80 00 0C */ blt lbl_80046374 /* 8004636C 00041FCC 38 00 00 00 */ li r0, 0 /* 80046370 00041FD0 48 00 00 0C */ b lbl_8004637C lbl_80046374: /* 80046374 00041FD4 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 80046378 00041FD8 7C 0A 00 2E */ lwzx r0, r10, r0 lbl_8004637C: /* 8004637C 00041FDC 7C 04 00 40 */ cmplw r4, r0 /* 80046380 00041FE0 40 82 00 0C */ bne lbl_8004638C /* 80046384 00041FE4 38 60 00 01 */ li r3, 1 /* 80046388 00041FE8 4E 80 00 20 */ blr lbl_8004638C: /* 8004638C 00041FEC 39 8C 00 01 */ addi r12, r12, 1 lbl_80046390: /* 80046390 00041FF0 55 80 04 3E */ clrlwi r0, r12, 0x10 /* 80046394 00041FF4 7C 00 40 40 */ cmplw r0, r8 /* 80046398 00041FF8 41 80 FF 80 */ blt lbl_80046318 /* 8004639C 00041FFC 39 6B 00 01 */ addi r11, r11, 1 lbl_800463A0: /* 800463A0 00042000 55 60 04 3E */ clrlwi r0, r11, 0x10 /* 800463A4 00042004 7C 00 38 40 */ cmplw r0, r7 /* 800463A8 00042008 41 80 FF 1C */ blt lbl_800462C4 /* 800463AC 0004200C 38 60 00 00 */ li r3, 0 /* 800463B0 00042010 4E 80 00 20 */ blr .global func_800463B4 func_800463B4: /* 800463B4 00042014 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800463B8 00042018 7C 08 02 A6 */ mflr r0 /* 800463BC 0004201C 90 01 00 14 */ stw r0, 0x14(r1) /* 800463C0 00042020 93 E1 00 0C */ stw r31, 0xc(r1) /* 800463C4 00042024 93 C1 00 08 */ stw r30, 8(r1) /* 800463C8 00042028 7C 7E 1B 78 */ mr r30, r3 /* 800463CC 0004202C 80 03 01 64 */ lwz r0, 0x164(r3) /* 800463D0 00042030 2C 00 00 00 */ cmpwi r0, 0 /* 800463D4 00042034 40 82 00 6C */ bne lbl_80046440 /* 800463D8 00042038 3C 80 20 FE */ lis r4, 0x20FE0E00@ha /* 800463DC 0004203C 38 60 00 0C */ li r3, 0xc /* 800463E0 00042040 38 84 0E 00 */ addi r4, r4, 0x20FE0E00@l /* 800463E4 00042044 48 19 50 D9 */ bl func_801DB4BC /* 800463E8 00042048 2C 03 00 00 */ cmpwi r3, 0 /* 800463EC 0004204C 7C 7F 1B 78 */ mr r31, r3 /* 800463F0 00042050 41 82 00 50 */ beq lbl_80046440 /* 800463F4 00042054 48 19 47 35 */ bl func_801DAB28 /* 800463F8 00042058 2C 03 00 00 */ cmpwi r3, 0 /* 800463FC 0004205C 41 82 00 14 */ beq lbl_80046410 /* 80046400 00042060 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 80046404 00042064 38 80 01 40 */ li r4, 0x140 /* 80046408 00042068 48 19 48 8D */ bl func_801DAC94 /* 8004640C 0004206C 48 00 00 08 */ b lbl_80046414 lbl_80046410: /* 80046410 00042070 38 60 00 00 */ li r3, 0 lbl_80046414: /* 80046414 00042074 2C 03 00 00 */ cmpwi r3, 0 /* 80046418 00042078 41 82 00 0C */ beq lbl_80046424 /* 8004641C 0004207C 7F E4 FB 78 */ mr r4, r31 /* 80046420 00042080 48 1B 34 CD */ bl func_801F98EC lbl_80046424: /* 80046424 00042084 90 7E 01 64 */ stw r3, 0x164(r30) /* 80046428 00042088 C0 02 83 88 */ lfs f0, lbl_80640988-_SDA2_BASE_(r2) /* 8004642C 0004208C 80 03 01 04 */ lwz r0, 0x104(r3) /* 80046430 00042090 60 00 00 01 */ ori r0, r0, 1 /* 80046434 00042094 54 00 07 F8 */ rlwinm r0, r0, 0, 0x1f, 0x1c /* 80046438 00042098 90 03 01 04 */ stw r0, 0x104(r3) /* 8004643C 0004209C D0 03 01 08 */ stfs f0, 0x108(r3) lbl_80046440: /* 80046440 000420A0 80 01 00 14 */ lwz r0, 0x14(r1) /* 80046444 000420A4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80046448 000420A8 83 C1 00 08 */ lwz r30, 8(r1) /* 8004644C 000420AC 7C 08 03 A6 */ mtlr r0 /* 80046450 000420B0 38 21 00 10 */ addi r1, r1, 0x10 /* 80046454 000420B4 4E 80 00 20 */ blr .global func_80046458 func_80046458: /* 80046458 000420B8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004645C 000420BC 7C 08 02 A6 */ mflr r0 /* 80046460 000420C0 90 01 00 14 */ stw r0, 0x14(r1) /* 80046464 000420C4 93 E1 00 0C */ stw r31, 0xc(r1) /* 80046468 000420C8 7C 7F 1B 78 */ mr r31, r3 /* 8004646C 000420CC 80 03 01 64 */ lwz r0, 0x164(r3) /* 80046470 000420D0 2C 00 00 00 */ cmpwi r0, 0 /* 80046474 000420D4 41 82 00 28 */ beq lbl_8004649C /* 80046478 000420D8 41 82 00 1C */ beq lbl_80046494 /* 8004647C 000420DC 7C 03 03 78 */ mr r3, r0 /* 80046480 000420E0 38 80 00 01 */ li r4, 1 /* 80046484 000420E4 81 83 01 00 */ lwz r12, 0x100(r3) /* 80046488 000420E8 81 8C 00 08 */ lwz r12, 8(r12) /* 8004648C 000420EC 7D 89 03 A6 */ mtctr r12 /* 80046490 000420F0 4E 80 04 21 */ bctrl lbl_80046494: /* 80046494 000420F4 38 00 00 00 */ li r0, 0 /* 80046498 000420F8 90 1F 01 64 */ stw r0, 0x164(r31) lbl_8004649C: /* 8004649C 000420FC 80 01 00 14 */ lwz r0, 0x14(r1) /* 800464A0 00042100 83 E1 00 0C */ lwz r31, 0xc(r1) /* 800464A4 00042104 7C 08 03 A6 */ mtlr r0 /* 800464A8 00042108 38 21 00 10 */ addi r1, r1, 0x10 /* 800464AC 0004210C 4E 80 00 20 */ blr .global func_800464B0 func_800464B0: /* 800464B0 00042110 94 21 FF 90 */ stwu r1, -0x70(r1) /* 800464B4 00042114 7C 08 02 A6 */ mflr r0 /* 800464B8 00042118 90 01 00 74 */ stw r0, 0x74(r1) /* 800464BC 0004211C 39 61 00 70 */ addi r11, r1, 0x70 /* 800464C0 00042120 48 18 0C 69 */ bl _savegpr_27 /* 800464C4 00042124 2C 05 00 00 */ cmpwi r5, 0 /* 800464C8 00042128 7C 7B 1B 78 */ mr r27, r3 /* 800464CC 0004212C 7C BC 2B 78 */ mr r28, r5 /* 800464D0 00042130 41 80 03 78 */ blt lbl_80046848 /* 800464D4 00042134 2C 05 00 03 */ cmpwi r5, 3 /* 800464D8 00042138 40 81 00 08 */ ble lbl_800464E0 /* 800464DC 0004213C 48 00 03 6C */ b lbl_80046848 lbl_800464E0: /* 800464E0 00042140 2C 04 00 01 */ cmpwi r4, 1 /* 800464E4 00042144 41 82 00 38 */ beq lbl_8004651C /* 800464E8 00042148 40 80 00 10 */ bge lbl_800464F8 /* 800464EC 0004214C 2C 04 00 00 */ cmpwi r4, 0 /* 800464F0 00042150 40 80 00 14 */ bge lbl_80046504 /* 800464F4 00042154 48 00 03 54 */ b lbl_80046848 lbl_800464F8: /* 800464F8 00042158 2C 04 00 03 */ cmpwi r4, 3 /* 800464FC 0004215C 40 80 03 4C */ bge lbl_80046848 /* 80046500 00042160 48 00 00 34 */ b lbl_80046534 lbl_80046504: /* 80046504 00042164 54 A0 10 3A */ slwi r0, r5, 2 /* 80046508 00042168 3C 80 1D 52 */ lis r4, 0x1D520A00@ha /* 8004650C 0004216C 7C 63 02 14 */ add r3, r3, r0 /* 80046510 00042170 3B E4 0A 00 */ addi r31, r4, 0x1D520A00@l /* 80046514 00042174 3B C3 01 2C */ addi r30, r3, 0x12c /* 80046518 00042178 48 00 00 38 */ b lbl_80046550 lbl_8004651C: /* 8004651C 0004217C 54 A0 10 3A */ slwi r0, r5, 2 /* 80046520 00042180 3C 80 1D 51 */ lis r4, 0x1D510A00@ha /* 80046524 00042184 7C 63 02 14 */ add r3, r3, r0 /* 80046528 00042188 3B E4 0A 00 */ addi r31, r4, 0x1D510A00@l /* 8004652C 0004218C 3B C3 01 3C */ addi r30, r3, 0x13c /* 80046530 00042190 48 00 00 20 */ b lbl_80046550 lbl_80046534: /* 80046534 00042194 54 A0 10 3A */ slwi r0, r5, 2 /* 80046538 00042198 3C 80 27 77 */ lis r4, 0x27770A00@ha /* 8004653C 0004219C 7C 63 02 14 */ add r3, r3, r0 /* 80046540 000421A0 3B E4 0A 00 */ addi r31, r4, 0x27770A00@l /* 80046544 000421A4 3B C3 01 4C */ addi r30, r3, 0x14c /* 80046548 000421A8 48 00 00 08 */ b lbl_80046550 /* 8004654C 000421AC 48 00 02 FC */ b lbl_80046848 lbl_80046550: /* 80046550 000421B0 7F 63 DB 78 */ mr r3, r27 /* 80046554 000421B4 7F 84 E3 78 */ mr r4, r28 /* 80046558 000421B8 38 A0 00 00 */ li r5, 0 /* 8004655C 000421BC 4B FF F5 A5 */ bl func_80045B00 /* 80046560 000421C0 57 E0 00 5E */ rlwinm r0, r31, 0, 1, 0xf /* 80046564 000421C4 7C 7F 1B 78 */ mr r31, r3 /* 80046568 000421C8 60 04 0E 00 */ ori r4, r0, 0xe00 /* 8004656C 000421CC 38 60 00 0C */ li r3, 0xc /* 80046570 000421D0 48 19 4F 4D */ bl func_801DB4BC /* 80046574 000421D4 2C 03 00 00 */ cmpwi r3, 0 /* 80046578 000421D8 7C 7D 1B 78 */ mr r29, r3 /* 8004657C 000421DC 41 82 02 CC */ beq lbl_80046848 /* 80046580 000421E0 80 7E 00 00 */ lwz r3, 0(r30) /* 80046584 000421E4 2C 03 00 00 */ cmpwi r3, 0 /* 80046588 000421E8 41 82 00 1C */ beq lbl_800465A4 /* 8004658C 000421EC 41 82 00 18 */ beq lbl_800465A4 /* 80046590 000421F0 81 83 01 00 */ lwz r12, 0x100(r3) /* 80046594 000421F4 38 80 00 01 */ li r4, 1 /* 80046598 000421F8 81 8C 00 08 */ lwz r12, 8(r12) /* 8004659C 000421FC 7D 89 03 A6 */ mtctr r12 /* 800465A0 00042200 4E 80 04 21 */ bctrl lbl_800465A4: /* 800465A4 00042204 48 19 45 85 */ bl func_801DAB28 /* 800465A8 00042208 2C 03 00 00 */ cmpwi r3, 0 /* 800465AC 0004220C 41 82 00 14 */ beq lbl_800465C0 /* 800465B0 00042210 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 800465B4 00042214 38 80 01 40 */ li r4, 0x140 /* 800465B8 00042218 48 19 46 DD */ bl func_801DAC94 /* 800465BC 0004221C 48 00 00 08 */ b lbl_800465C4 lbl_800465C0: /* 800465C0 00042220 38 60 00 00 */ li r3, 0 lbl_800465C4: /* 800465C4 00042224 2C 03 00 00 */ cmpwi r3, 0 /* 800465C8 00042228 41 82 00 0C */ beq lbl_800465D4 /* 800465CC 0004222C 7F A4 EB 78 */ mr r4, r29 /* 800465D0 00042230 48 1B 33 1D */ bl func_801F98EC lbl_800465D4: /* 800465D4 00042234 90 7E 00 00 */ stw r3, 0(r30) /* 800465D8 00042238 7F 63 DB 78 */ mr r3, r27 /* 800465DC 0004223C 7F 84 E3 78 */ mr r4, r28 /* 800465E0 00042240 38 A1 00 40 */ addi r5, r1, 0x40 /* 800465E4 00042244 38 C1 00 08 */ addi r6, r1, 8 /* 800465E8 00042248 38 E0 00 01 */ li r7, 1 /* 800465EC 0004224C 4B FF F6 2D */ bl func_80045C18 /* 800465F0 00042250 80 7E 00 00 */ lwz r3, 0(r30) /* 800465F4 00042254 38 80 00 01 */ li r4, 1 /* 800465F8 00042258 C0 01 00 40 */ lfs f0, 0x40(r1) /* 800465FC 0004225C D0 03 00 20 */ stfs f0, 0x20(r3) /* 80046600 00042260 C0 01 00 44 */ lfs f0, 0x44(r1) /* 80046604 00042264 D0 03 00 24 */ stfs f0, 0x24(r3) /* 80046608 00042268 C0 01 00 48 */ lfs f0, 0x48(r1) /* 8004660C 0004226C D0 03 00 28 */ stfs f0, 0x28(r3) /* 80046610 00042270 48 1A C0 A9 */ bl func_801F26B8 /* 80046614 00042274 C0 02 83 88 */ lfs f0, lbl_80640988-_SDA2_BASE_(r2) /* 80046618 00042278 38 61 00 30 */ addi r3, r1, 0x30 /* 8004661C 0004227C C0 21 00 08 */ lfs f1, 8(r1) /* 80046620 00042280 38 81 00 24 */ addi r4, r1, 0x24 /* 80046624 00042284 D0 01 00 24 */ stfs f0, 0x24(r1) /* 80046628 00042288 D0 21 00 28 */ stfs f1, 0x28(r1) /* 8004662C 0004228C D0 01 00 2C */ stfs f0, 0x2c(r1) /* 80046630 00042290 48 1D D0 91 */ bl func_802236C0 /* 80046634 00042294 80 7E 00 00 */ lwz r3, 0(r30) /* 80046638 00042298 38 80 00 01 */ li r4, 1 /* 8004663C 0004229C C0 01 00 30 */ lfs f0, 0x30(r1) /* 80046640 000422A0 D0 03 00 2C */ stfs f0, 0x2c(r3) /* 80046644 000422A4 C0 01 00 34 */ lfs f0, 0x34(r1) /* 80046648 000422A8 D0 03 00 30 */ stfs f0, 0x30(r3) /* 8004664C 000422AC C0 01 00 38 */ lfs f0, 0x38(r1) /* 80046650 000422B0 D0 03 00 34 */ stfs f0, 0x34(r3) /* 80046654 000422B4 C0 01 00 3C */ lfs f0, 0x3c(r1) /* 80046658 000422B8 D0 03 00 38 */ stfs f0, 0x38(r3) /* 8004665C 000422BC A0 03 00 10 */ lhz r0, 0x10(r3) /* 80046660 000422C0 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c /* 80046664 000422C4 B0 03 00 10 */ sth r0, 0x10(r3) /* 80046668 000422C8 48 1A C0 51 */ bl func_801F26B8 /* 8004666C 000422CC 2C 1F 00 00 */ cmpwi r31, 0 /* 80046670 000422D0 41 82 00 DC */ beq lbl_8004674C /* 80046674 000422D4 7F E3 FB 78 */ mr r3, r31 /* 80046678 000422D8 4B FF 30 5D */ bl func_800396D4 /* 8004667C 000422DC C0 22 83 8C */ lfs f1, lbl_8064098C-_SDA2_BASE_(r2) /* 80046680 000422E0 48 00 7E 1D */ bl func_8004E49C /* 80046684 000422E4 FC 00 08 18 */ frsp f0, f1 /* 80046688 000422E8 80 7E 00 00 */ lwz r3, 0(r30) /* 8004668C 000422EC C0 42 83 B4 */ lfs f2, lbl_806409B4-_SDA2_BASE_(r2) /* 80046690 000422F0 D0 21 00 18 */ stfs f1, 0x18(r1) /* 80046694 000422F4 FC 00 10 40 */ fcmpo cr0, f0, f2 /* 80046698 000422F8 D0 03 00 48 */ stfs f0, 0x48(r3) /* 8004669C 000422FC D0 03 00 4C */ stfs f0, 0x4c(r3) /* 800466A0 00042300 D0 21 00 1C */ stfs f1, 0x1c(r1) /* 800466A4 00042304 D0 21 00 20 */ stfs f1, 0x20(r1) /* 800466A8 00042308 D0 03 00 50 */ stfs f0, 0x50(r3) /* 800466AC 0004230C 40 80 00 2C */ bge lbl_800466D8 /* 800466B0 00042310 C0 23 00 48 */ lfs f1, 0x48(r3) /* 800466B4 00042314 C0 62 83 B8 */ lfs f3, lbl_806409B8-_SDA2_BASE_(r2) /* 800466B8 00042318 FC 01 18 40 */ fcmpo cr0, f1, f3 /* 800466BC 0004231C 40 81 00 1C */ ble lbl_800466D8 /* 800466C0 00042320 C0 02 83 88 */ lfs f0, lbl_80640988-_SDA2_BASE_(r2) /* 800466C4 00042324 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 800466C8 00042328 40 80 00 08 */ bge lbl_800466D0 /* 800466CC 0004232C 48 00 00 08 */ b lbl_800466D4 lbl_800466D0: /* 800466D0 00042330 FC 60 10 90 */ fmr f3, f2 lbl_800466D4: /* 800466D4 00042334 D0 63 00 48 */ stfs f3, 0x48(r3) lbl_800466D8: /* 800466D8 00042338 C0 43 00 4C */ lfs f2, 0x4c(r3) /* 800466DC 0004233C C0 22 83 B4 */ lfs f1, lbl_806409B4-_SDA2_BASE_(r2) /* 800466E0 00042340 FC 02 08 40 */ fcmpo cr0, f2, f1 /* 800466E4 00042344 40 80 00 28 */ bge lbl_8004670C /* 800466E8 00042348 C0 62 83 B8 */ lfs f3, lbl_806409B8-_SDA2_BASE_(r2) /* 800466EC 0004234C FC 02 18 40 */ fcmpo cr0, f2, f3 /* 800466F0 00042350 40 81 00 1C */ ble lbl_8004670C /* 800466F4 00042354 C0 02 83 88 */ lfs f0, lbl_80640988-_SDA2_BASE_(r2) /* 800466F8 00042358 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 800466FC 0004235C 40 80 00 08 */ bge lbl_80046704 /* 80046700 00042360 48 00 00 08 */ b lbl_80046708 lbl_80046704: /* 80046704 00042364 FC 60 08 90 */ fmr f3, f1 lbl_80046708: /* 80046708 00042368 D0 63 00 4C */ stfs f3, 0x4c(r3) lbl_8004670C: /* 8004670C 0004236C C0 43 00 50 */ lfs f2, 0x50(r3) /* 80046710 00042370 C0 22 83 B4 */ lfs f1, lbl_806409B4-_SDA2_BASE_(r2) /* 80046714 00042374 FC 02 08 40 */ fcmpo cr0, f2, f1 /* 80046718 00042378 40 80 00 28 */ bge lbl_80046740 /* 8004671C 0004237C C0 62 83 B8 */ lfs f3, lbl_806409B8-_SDA2_BASE_(r2) /* 80046720 00042380 FC 02 18 40 */ fcmpo cr0, f2, f3 /* 80046724 00042384 40 81 00 1C */ ble lbl_80046740 /* 80046728 00042388 C0 02 83 88 */ lfs f0, lbl_80640988-_SDA2_BASE_(r2) /* 8004672C 0004238C FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80046730 00042390 40 80 00 08 */ bge lbl_80046738 /* 80046734 00042394 48 00 00 08 */ b lbl_8004673C lbl_80046738: /* 80046738 00042398 FC 60 08 90 */ fmr f3, f1 lbl_8004673C: /* 8004673C 0004239C D0 63 00 50 */ stfs f3, 0x50(r3) lbl_80046740: /* 80046740 000423A0 38 80 00 01 */ li r4, 1 /* 80046744 000423A4 48 1A BF 75 */ bl func_801F26B8 /* 80046748 000423A8 48 00 00 C8 */ b lbl_80046810 lbl_8004674C: /* 8004674C 000423AC C0 02 83 8C */ lfs f0, lbl_8064098C-_SDA2_BASE_(r2) /* 80046750 000423B0 80 7E 00 00 */ lwz r3, 0(r30) /* 80046754 000423B4 C0 42 83 B4 */ lfs f2, lbl_806409B4-_SDA2_BASE_(r2) /* 80046758 000423B8 D0 03 00 48 */ stfs f0, 0x48(r3) /* 8004675C 000423BC FC 00 10 40 */ fcmpo cr0, f0, f2 /* 80046760 000423C0 D0 03 00 4C */ stfs f0, 0x4c(r3) /* 80046764 000423C4 D0 01 00 0C */ stfs f0, 0xc(r1) /* 80046768 000423C8 D0 01 00 10 */ stfs f0, 0x10(r1) /* 8004676C 000423CC D0 01 00 14 */ stfs f0, 0x14(r1) /* 80046770 000423D0 D0 03 00 50 */ stfs f0, 0x50(r3) /* 80046774 000423D4 40 80 00 2C */ bge lbl_800467A0 /* 80046778 000423D8 C0 23 00 48 */ lfs f1, 0x48(r3) /* 8004677C 000423DC C0 62 83 B8 */ lfs f3, lbl_806409B8-_SDA2_BASE_(r2) /* 80046780 000423E0 FC 01 18 40 */ fcmpo cr0, f1, f3 /* 80046784 000423E4 40 81 00 1C */ ble lbl_800467A0 /* 80046788 000423E8 C0 02 83 88 */ lfs f0, lbl_80640988-_SDA2_BASE_(r2) /* 8004678C 000423EC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80046790 000423F0 40 80 00 08 */ bge lbl_80046798 /* 80046794 000423F4 48 00 00 08 */ b lbl_8004679C lbl_80046798: /* 80046798 000423F8 FC 60 10 90 */ fmr f3, f2 lbl_8004679C: /* 8004679C 000423FC D0 63 00 48 */ stfs f3, 0x48(r3) lbl_800467A0: /* 800467A0 00042400 C0 43 00 4C */ lfs f2, 0x4c(r3) /* 800467A4 00042404 C0 22 83 B4 */ lfs f1, lbl_806409B4-_SDA2_BASE_(r2) /* 800467A8 00042408 FC 02 08 40 */ fcmpo cr0, f2, f1 /* 800467AC 0004240C 40 80 00 28 */ bge lbl_800467D4 /* 800467B0 00042410 C0 62 83 B8 */ lfs f3, lbl_806409B8-_SDA2_BASE_(r2) /* 800467B4 00042414 FC 02 18 40 */ fcmpo cr0, f2, f3 /* 800467B8 00042418 40 81 00 1C */ ble lbl_800467D4 /* 800467BC 0004241C C0 02 83 88 */ lfs f0, lbl_80640988-_SDA2_BASE_(r2) /* 800467C0 00042420 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 800467C4 00042424 40 80 00 08 */ bge lbl_800467CC /* 800467C8 00042428 48 00 00 08 */ b lbl_800467D0 lbl_800467CC: /* 800467CC 0004242C FC 60 08 90 */ fmr f3, f1 lbl_800467D0: /* 800467D0 00042430 D0 63 00 4C */ stfs f3, 0x4c(r3) lbl_800467D4: /* 800467D4 00042434 C0 43 00 50 */ lfs f2, 0x50(r3) /* 800467D8 00042438 C0 22 83 B4 */ lfs f1, lbl_806409B4-_SDA2_BASE_(r2) /* 800467DC 0004243C FC 02 08 40 */ fcmpo cr0, f2, f1 /* 800467E0 00042440 40 80 00 28 */ bge lbl_80046808 /* 800467E4 00042444 C0 62 83 B8 */ lfs f3, lbl_806409B8-_SDA2_BASE_(r2) /* 800467E8 00042448 FC 02 18 40 */ fcmpo cr0, f2, f3 /* 800467EC 0004244C 40 81 00 1C */ ble lbl_80046808 /* 800467F0 00042450 C0 02 83 88 */ lfs f0, lbl_80640988-_SDA2_BASE_(r2) /* 800467F4 00042454 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 800467F8 00042458 40 80 00 08 */ bge lbl_80046800 /* 800467FC 0004245C 48 00 00 08 */ b lbl_80046804 lbl_80046800: /* 80046800 00042460 FC 60 08 90 */ fmr f3, f1 lbl_80046804: /* 80046804 00042464 D0 63 00 50 */ stfs f3, 0x50(r3) lbl_80046808: /* 80046808 00042468 38 80 00 01 */ li r4, 1 /* 8004680C 0004246C 48 1A BE AD */ bl func_801F26B8 lbl_80046810: /* 80046810 00042470 80 7E 00 00 */ lwz r3, 0(r30) /* 80046814 00042474 C0 02 83 88 */ lfs f0, lbl_80640988-_SDA2_BASE_(r2) /* 80046818 00042478 80 03 01 04 */ lwz r0, 0x104(r3) /* 8004681C 0004247C 60 00 00 01 */ ori r0, r0, 1 /* 80046820 00042480 54 00 07 F8 */ rlwinm r0, r0, 0, 0x1f, 0x1c /* 80046824 00042484 90 03 01 04 */ stw r0, 0x104(r3) /* 80046828 00042488 D0 03 01 08 */ stfs f0, 0x108(r3) /* 8004682C 0004248C 80 7E 00 00 */ lwz r3, 0(r30) /* 80046830 00042490 80 63 01 38 */ lwz r3, 0x138(r3) /* 80046834 00042494 2C 03 00 00 */ cmpwi r3, 0 /* 80046838 00042498 41 82 00 10 */ beq lbl_80046848 /* 8004683C 0004249C A0 03 01 48 */ lhz r0, 0x148(r3) /* 80046840 000424A0 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b /* 80046844 000424A4 B0 03 01 48 */ sth r0, 0x148(r3) lbl_80046848: /* 80046848 000424A8 39 61 00 70 */ addi r11, r1, 0x70 /* 8004684C 000424AC 48 18 09 29 */ bl _restgpr_27 /* 80046850 000424B0 80 01 00 74 */ lwz r0, 0x74(r1) /* 80046854 000424B4 7C 08 03 A6 */ mtlr r0 /* 80046858 000424B8 38 21 00 70 */ addi r1, r1, 0x70 /* 8004685C 000424BC 4E 80 00 20 */ blr .global func_80046860 func_80046860: /* 80046860 000424C0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80046864 000424C4 7C 08 02 A6 */ mflr r0 /* 80046868 000424C8 90 01 00 24 */ stw r0, 0x24(r1) /* 8004686C 000424CC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80046870 000424D0 3B E0 00 00 */ li r31, 0 /* 80046874 000424D4 93 C1 00 18 */ stw r30, 0x18(r1) /* 80046878 000424D8 7C 7E 1B 78 */ mr r30, r3 /* 8004687C 000424DC 93 A1 00 14 */ stw r29, 0x14(r1) /* 80046880 000424E0 3B A0 00 00 */ li r29, 0 lbl_80046884: /* 80046884 000424E4 80 7E 01 2C */ lwz r3, 0x12c(r30) /* 80046888 000424E8 2C 03 00 00 */ cmpwi r3, 0 /* 8004688C 000424EC 41 82 00 20 */ beq lbl_800468AC /* 80046890 000424F0 41 82 00 18 */ beq lbl_800468A8 /* 80046894 000424F4 81 83 01 00 */ lwz r12, 0x100(r3) /* 80046898 000424F8 38 80 00 01 */ li r4, 1 /* 8004689C 000424FC 81 8C 00 08 */ lwz r12, 8(r12) /* 800468A0 00042500 7D 89 03 A6 */ mtctr r12 /* 800468A4 00042504 4E 80 04 21 */ bctrl lbl_800468A8: /* 800468A8 00042508 93 FE 01 2C */ stw r31, 0x12c(r30) lbl_800468AC: /* 800468AC 0004250C 80 7E 01 3C */ lwz r3, 0x13c(r30) /* 800468B0 00042510 2C 03 00 00 */ cmpwi r3, 0 /* 800468B4 00042514 41 82 00 20 */ beq lbl_800468D4 /* 800468B8 00042518 41 82 00 18 */ beq lbl_800468D0 /* 800468BC 0004251C 81 83 01 00 */ lwz r12, 0x100(r3) /* 800468C0 00042520 38 80 00 01 */ li r4, 1 /* 800468C4 00042524 81 8C 00 08 */ lwz r12, 8(r12) /* 800468C8 00042528 7D 89 03 A6 */ mtctr r12 /* 800468CC 0004252C 4E 80 04 21 */ bctrl lbl_800468D0: /* 800468D0 00042530 93 FE 01 3C */ stw r31, 0x13c(r30) lbl_800468D4: /* 800468D4 00042534 80 7E 01 4C */ lwz r3, 0x14c(r30) /* 800468D8 00042538 2C 03 00 00 */ cmpwi r3, 0 /* 800468DC 0004253C 41 82 00 20 */ beq lbl_800468FC /* 800468E0 00042540 41 82 00 18 */ beq lbl_800468F8 /* 800468E4 00042544 81 83 01 00 */ lwz r12, 0x100(r3) /* 800468E8 00042548 38 80 00 01 */ li r4, 1 /* 800468EC 0004254C 81 8C 00 08 */ lwz r12, 8(r12) /* 800468F0 00042550 7D 89 03 A6 */ mtctr r12 /* 800468F4 00042554 4E 80 04 21 */ bctrl lbl_800468F8: /* 800468F8 00042558 93 FE 01 4C */ stw r31, 0x14c(r30) lbl_800468FC: /* 800468FC 0004255C 3B BD 00 01 */ addi r29, r29, 1 /* 80046900 00042560 3B DE 00 04 */ addi r30, r30, 4 /* 80046904 00042564 2C 1D 00 04 */ cmpwi r29, 4 /* 80046908 00042568 41 80 FF 7C */ blt lbl_80046884 /* 8004690C 0004256C 80 01 00 24 */ lwz r0, 0x24(r1) /* 80046910 00042570 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80046914 00042574 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80046918 00042578 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8004691C 0004257C 7C 08 03 A6 */ mtlr r0 /* 80046920 00042580 38 21 00 20 */ addi r1, r1, 0x20 /* 80046924 00042584 4E 80 00 20 */ blr .global func_80046928 func_80046928: /* 80046928 00042588 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004692C 0004258C 7C 08 02 A6 */ mflr r0 /* 80046930 00042590 2C 05 00 00 */ cmpwi r5, 0 /* 80046934 00042594 90 01 00 14 */ stw r0, 0x14(r1) /* 80046938 00042598 93 E1 00 0C */ stw r31, 0xc(r1) /* 8004693C 0004259C 41 80 00 94 */ blt lbl_800469D0 /* 80046940 000425A0 2C 05 00 03 */ cmpwi r5, 3 /* 80046944 000425A4 40 81 00 08 */ ble lbl_8004694C /* 80046948 000425A8 48 00 00 88 */ b lbl_800469D0 lbl_8004694C: /* 8004694C 000425AC 2C 04 00 01 */ cmpwi r4, 1 /* 80046950 000425B0 41 82 00 30 */ beq lbl_80046980 /* 80046954 000425B4 40 80 00 10 */ bge lbl_80046964 /* 80046958 000425B8 2C 04 00 00 */ cmpwi r4, 0 /* 8004695C 000425BC 40 80 00 14 */ bge lbl_80046970 /* 80046960 000425C0 48 00 00 70 */ b lbl_800469D0 lbl_80046964: /* 80046964 000425C4 2C 04 00 03 */ cmpwi r4, 3 /* 80046968 000425C8 40 80 00 68 */ bge lbl_800469D0 /* 8004696C 000425CC 48 00 00 24 */ b lbl_80046990 lbl_80046970: /* 80046970 000425D0 54 A0 10 3A */ slwi r0, r5, 2 /* 80046974 000425D4 7C 63 02 14 */ add r3, r3, r0 /* 80046978 000425D8 3B E3 01 2C */ addi r31, r3, 0x12c /* 8004697C 000425DC 48 00 00 28 */ b lbl_800469A4 lbl_80046980: /* 80046980 000425E0 54 A0 10 3A */ slwi r0, r5, 2 /* 80046984 000425E4 7C 63 02 14 */ add r3, r3, r0 /* 80046988 000425E8 3B E3 01 3C */ addi r31, r3, 0x13c /* 8004698C 000425EC 48 00 00 18 */ b lbl_800469A4 lbl_80046990: /* 80046990 000425F0 54 A0 10 3A */ slwi r0, r5, 2 /* 80046994 000425F4 7C 63 02 14 */ add r3, r3, r0 /* 80046998 000425F8 3B E3 01 4C */ addi r31, r3, 0x14c /* 8004699C 000425FC 48 00 00 08 */ b lbl_800469A4 /* 800469A0 00042600 48 00 00 30 */ b lbl_800469D0 lbl_800469A4: /* 800469A4 00042604 80 7F 00 00 */ lwz r3, 0(r31) /* 800469A8 00042608 2C 03 00 00 */ cmpwi r3, 0 /* 800469AC 0004260C 41 82 00 24 */ beq lbl_800469D0 /* 800469B0 00042610 41 82 00 18 */ beq lbl_800469C8 /* 800469B4 00042614 81 83 01 00 */ lwz r12, 0x100(r3) /* 800469B8 00042618 38 80 00 01 */ li r4, 1 /* 800469BC 0004261C 81 8C 00 08 */ lwz r12, 8(r12) /* 800469C0 00042620 7D 89 03 A6 */ mtctr r12 /* 800469C4 00042624 4E 80 04 21 */ bctrl lbl_800469C8: /* 800469C8 00042628 38 00 00 00 */ li r0, 0 /* 800469CC 0004262C 90 1F 00 00 */ stw r0, 0(r31) lbl_800469D0: /* 800469D0 00042630 80 01 00 14 */ lwz r0, 0x14(r1) /* 800469D4 00042634 83 E1 00 0C */ lwz r31, 0xc(r1) /* 800469D8 00042638 7C 08 03 A6 */ mtlr r0 /* 800469DC 0004263C 38 21 00 10 */ addi r1, r1, 0x10 /* 800469E0 00042640 4E 80 00 20 */ blr .global func_800469E4 func_800469E4: /* 800469E4 00042644 94 21 FF 60 */ stwu r1, -0xa0(r1) /* 800469E8 00042648 7C 08 02 A6 */ mflr r0 /* 800469EC 0004264C 90 01 00 A4 */ stw r0, 0xa4(r1) /* 800469F0 00042650 DB E1 00 90 */ stfd f31, 0x90(r1) /* 800469F4 00042654 F3 E1 00 98 */ psq_st f31, 152(r1), 0, qr0 /* 800469F8 00042658 DB C1 00 80 */ stfd f30, 0x80(r1) /* 800469FC 0004265C F3 C1 00 88 */ psq_st f30, 136(r1), 0, qr0 /* 80046A00 00042660 DB A1 00 70 */ stfd f29, 0x70(r1) /* 80046A04 00042664 F3 A1 00 78 */ psq_st f29, 120(r1), 0, qr0 /* 80046A08 00042668 DB 81 00 60 */ stfd f28, 0x60(r1) /* 80046A0C 0004266C F3 81 00 68 */ psq_st f28, 104(r1), 0, qr0 /* 80046A10 00042670 39 61 00 60 */ addi r11, r1, 0x60 /* 80046A14 00042674 48 18 07 11 */ bl _savegpr_26 /* 80046A18 00042678 C3 E2 83 B8 */ lfs f31, lbl_806409B8-_SDA2_BASE_(r2) /* 80046A1C 0004267C 7C 7C 1B 78 */ mr r28, r3 /* 80046A20 00042680 C3 C2 83 B4 */ lfs f30, lbl_806409B4-_SDA2_BASE_(r2) /* 80046A24 00042684 3B C0 00 00 */ li r30, 0 /* 80046A28 00042688 C3 A2 83 A8 */ lfs f29, lbl_806409A8-_SDA2_BASE_(r2) /* 80046A2C 0004268C C3 82 83 88 */ lfs f28, lbl_80640988-_SDA2_BASE_(r2) lbl_80046A30: /* 80046A30 00042690 57 DF 06 3E */ clrlwi r31, r30, 0x18 /* 80046A34 00042694 3B A0 00 00 */ li r29, 0 lbl_80046A38: /* 80046A38 00042698 2C 1F 00 00 */ cmpwi r31, 0 /* 80046A3C 0004269C 40 82 00 14 */ bne lbl_80046A50 /* 80046A40 000426A0 57 A0 15 BA */ rlwinm r0, r29, 2, 0x16, 0x1d /* 80046A44 000426A4 7C 7C 02 14 */ add r3, r28, r0 /* 80046A48 000426A8 3B 63 01 2C */ addi r27, r3, 0x12c /* 80046A4C 000426AC 48 00 00 30 */ b lbl_80046A7C lbl_80046A50: /* 80046A50 000426B0 28 1F 00 01 */ cmplwi r31, 1 /* 80046A54 000426B4 40 82 00 14 */ bne lbl_80046A68 /* 80046A58 000426B8 57 A0 15 BA */ rlwinm r0, r29, 2, 0x16, 0x1d /* 80046A5C 000426BC 7C 7C 02 14 */ add r3, r28, r0 /* 80046A60 000426C0 3B 63 01 3C */ addi r27, r3, 0x13c /* 80046A64 000426C4 48 00 00 18 */ b lbl_80046A7C lbl_80046A68: /* 80046A68 000426C8 28 1F 00 02 */ cmplwi r31, 2 /* 80046A6C 000426CC 40 82 01 D0 */ bne lbl_80046C3C /* 80046A70 000426D0 57 A0 15 BA */ rlwinm r0, r29, 2, 0x16, 0x1d /* 80046A74 000426D4 7C 7C 02 14 */ add r3, r28, r0 /* 80046A78 000426D8 3B 63 01 4C */ addi r27, r3, 0x14c lbl_80046A7C: /* 80046A7C 000426DC 80 1B 00 00 */ lwz r0, 0(r27) /* 80046A80 000426E0 2C 00 00 00 */ cmpwi r0, 0 /* 80046A84 000426E4 41 82 01 B8 */ beq lbl_80046C3C /* 80046A88 000426E8 7F 83 E3 78 */ mr r3, r28 /* 80046A8C 000426EC 57 A4 06 3E */ clrlwi r4, r29, 0x18 /* 80046A90 000426F0 38 A0 00 00 */ li r5, 0 /* 80046A94 000426F4 4B FF F0 6D */ bl func_80045B00 /* 80046A98 000426F8 7C 7A 1B 78 */ mr r26, r3 /* 80046A9C 000426FC 7F 83 E3 78 */ mr r3, r28 /* 80046AA0 00042700 57 A4 06 3E */ clrlwi r4, r29, 0x18 /* 80046AA4 00042704 38 A1 00 38 */ addi r5, r1, 0x38 /* 80046AA8 00042708 38 C1 00 08 */ addi r6, r1, 8 /* 80046AAC 0004270C 38 E0 00 00 */ li r7, 0 /* 80046AB0 00042710 4B FF F1 69 */ bl func_80045C18 /* 80046AB4 00042714 57 A0 07 FF */ clrlwi. r0, r29, 0x1f /* 80046AB8 00042718 D3 81 00 08 */ stfs f28, 8(r1) /* 80046ABC 0004271C 41 82 00 08 */ beq lbl_80046AC4 /* 80046AC0 00042720 D3 A1 00 08 */ stfs f29, 8(r1) lbl_80046AC4: /* 80046AC4 00042724 80 7B 00 00 */ lwz r3, 0(r27) /* 80046AC8 00042728 38 80 00 01 */ li r4, 1 /* 80046ACC 0004272C C0 01 00 38 */ lfs f0, 0x38(r1) /* 80046AD0 00042730 D0 03 00 20 */ stfs f0, 0x20(r3) /* 80046AD4 00042734 C0 01 00 3C */ lfs f0, 0x3c(r1) /* 80046AD8 00042738 D0 03 00 24 */ stfs f0, 0x24(r3) /* 80046ADC 0004273C C0 01 00 40 */ lfs f0, 0x40(r1) /* 80046AE0 00042740 D0 03 00 28 */ stfs f0, 0x28(r3) /* 80046AE4 00042744 48 1A BB D5 */ bl func_801F26B8 /* 80046AE8 00042748 C0 01 00 08 */ lfs f0, 8(r1) /* 80046AEC 0004274C 38 61 00 28 */ addi r3, r1, 0x28 /* 80046AF0 00042750 D3 81 00 18 */ stfs f28, 0x18(r1) /* 80046AF4 00042754 38 81 00 18 */ addi r4, r1, 0x18 /* 80046AF8 00042758 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 80046AFC 0004275C D3 81 00 20 */ stfs f28, 0x20(r1) /* 80046B00 00042760 48 1D CB C1 */ bl func_802236C0 /* 80046B04 00042764 80 7B 00 00 */ lwz r3, 0(r27) /* 80046B08 00042768 38 80 00 01 */ li r4, 1 /* 80046B0C 0004276C C0 01 00 28 */ lfs f0, 0x28(r1) /* 80046B10 00042770 D0 03 00 2C */ stfs f0, 0x2c(r3) /* 80046B14 00042774 C0 01 00 2C */ lfs f0, 0x2c(r1) /* 80046B18 00042778 D0 03 00 30 */ stfs f0, 0x30(r3) /* 80046B1C 0004277C C0 01 00 30 */ lfs f0, 0x30(r1) /* 80046B20 00042780 D0 03 00 34 */ stfs f0, 0x34(r3) /* 80046B24 00042784 C0 01 00 34 */ lfs f0, 0x34(r1) /* 80046B28 00042788 D0 03 00 38 */ stfs f0, 0x38(r3) /* 80046B2C 0004278C A0 03 00 10 */ lhz r0, 0x10(r3) /* 80046B30 00042790 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c /* 80046B34 00042794 B0 03 00 10 */ sth r0, 0x10(r3) /* 80046B38 00042798 48 1A BB 81 */ bl func_801F26B8 /* 80046B3C 0004279C 2C 1A 00 00 */ cmpwi r26, 0 /* 80046B40 000427A0 41 82 00 18 */ beq lbl_80046B58 /* 80046B44 000427A4 7F 43 D3 78 */ mr r3, r26 /* 80046B48 000427A8 4B FF 2B 8D */ bl func_800396D4 /* 80046B4C 000427AC C0 22 83 8C */ lfs f1, lbl_8064098C-_SDA2_BASE_(r2) /* 80046B50 000427B0 48 00 79 4D */ bl func_8004E49C /* 80046B54 000427B4 48 00 00 08 */ b lbl_80046B5C lbl_80046B58: /* 80046B58 000427B8 C0 22 83 8C */ lfs f1, lbl_8064098C-_SDA2_BASE_(r2) lbl_80046B5C: /* 80046B5C 000427BC FC 00 08 18 */ frsp f0, f1 /* 80046B60 000427C0 80 7B 00 00 */ lwz r3, 0(r27) /* 80046B64 000427C4 D0 21 00 0C */ stfs f1, 0xc(r1) /* 80046B68 000427C8 D0 03 00 48 */ stfs f0, 0x48(r3) /* 80046B6C 000427CC FC 00 F0 40 */ fcmpo cr0, f0, f30 /* 80046B70 000427D0 D0 03 00 4C */ stfs f0, 0x4c(r3) /* 80046B74 000427D4 D0 21 00 10 */ stfs f1, 0x10(r1) /* 80046B78 000427D8 D0 21 00 14 */ stfs f1, 0x14(r1) /* 80046B7C 000427DC D0 03 00 50 */ stfs f0, 0x50(r3) /* 80046B80 000427E0 40 80 00 28 */ bge lbl_80046BA8 /* 80046B84 000427E4 C0 03 00 48 */ lfs f0, 0x48(r3) /* 80046B88 000427E8 FC 00 F8 40 */ fcmpo cr0, f0, f31 /* 80046B8C 000427EC 40 81 00 1C */ ble lbl_80046BA8 /* 80046B90 000427F0 FC 00 E0 40 */ fcmpo cr0, f0, f28 /* 80046B94 000427F4 40 80 00 0C */ bge lbl_80046BA0 /* 80046B98 000427F8 FC 00 F8 90 */ fmr f0, f31 /* 80046B9C 000427FC 48 00 00 08 */ b lbl_80046BA4 lbl_80046BA0: /* 80046BA0 00042800 FC 00 F0 90 */ fmr f0, f30 lbl_80046BA4: /* 80046BA4 00042804 D0 03 00 48 */ stfs f0, 0x48(r3) lbl_80046BA8: /* 80046BA8 00042808 C0 03 00 4C */ lfs f0, 0x4c(r3) /* 80046BAC 0004280C FC 00 F0 40 */ fcmpo cr0, f0, f30 /* 80046BB0 00042810 40 80 00 24 */ bge lbl_80046BD4 /* 80046BB4 00042814 FC 00 F8 40 */ fcmpo cr0, f0, f31 /* 80046BB8 00042818 40 81 00 1C */ ble lbl_80046BD4 /* 80046BBC 0004281C FC 00 E0 40 */ fcmpo cr0, f0, f28 /* 80046BC0 00042820 40 80 00 0C */ bge lbl_80046BCC /* 80046BC4 00042824 FC 00 F8 90 */ fmr f0, f31 /* 80046BC8 00042828 48 00 00 08 */ b lbl_80046BD0 lbl_80046BCC: /* 80046BCC 0004282C FC 00 F0 90 */ fmr f0, f30 lbl_80046BD0: /* 80046BD0 00042830 D0 03 00 4C */ stfs f0, 0x4c(r3) lbl_80046BD4: /* 80046BD4 00042834 C0 03 00 50 */ lfs f0, 0x50(r3) /* 80046BD8 00042838 FC 00 F0 40 */ fcmpo cr0, f0, f30 /* 80046BDC 0004283C 40 80 00 24 */ bge lbl_80046C00 /* 80046BE0 00042840 FC 00 F8 40 */ fcmpo cr0, f0, f31 /* 80046BE4 00042844 40 81 00 1C */ ble lbl_80046C00 /* 80046BE8 00042848 FC 00 E0 40 */ fcmpo cr0, f0, f28 /* 80046BEC 0004284C 40 80 00 0C */ bge lbl_80046BF8 /* 80046BF0 00042850 FC 00 F8 90 */ fmr f0, f31 /* 80046BF4 00042854 48 00 00 08 */ b lbl_80046BFC lbl_80046BF8: /* 80046BF8 00042858 FC 00 F0 90 */ fmr f0, f30 lbl_80046BFC: /* 80046BFC 0004285C D0 03 00 50 */ stfs f0, 0x50(r3) lbl_80046C00: /* 80046C00 00042860 38 80 00 01 */ li r4, 1 /* 80046C04 00042864 48 1A BA B5 */ bl func_801F26B8 /* 80046C08 00042868 80 7B 00 00 */ lwz r3, 0(r27) /* 80046C0C 0004286C 80 03 01 04 */ lwz r0, 0x104(r3) /* 80046C10 00042870 60 00 00 01 */ ori r0, r0, 1 /* 80046C14 00042874 54 00 07 F8 */ rlwinm r0, r0, 0, 0x1f, 0x1c /* 80046C18 00042878 90 03 01 04 */ stw r0, 0x104(r3) /* 80046C1C 0004287C D3 83 01 08 */ stfs f28, 0x108(r3) /* 80046C20 00042880 80 7B 00 00 */ lwz r3, 0(r27) /* 80046C24 00042884 80 63 01 38 */ lwz r3, 0x138(r3) /* 80046C28 00042888 2C 03 00 00 */ cmpwi r3, 0 /* 80046C2C 0004288C 41 82 00 10 */ beq lbl_80046C3C /* 80046C30 00042890 A0 03 01 48 */ lhz r0, 0x148(r3) /* 80046C34 00042894 60 00 00 08 */ ori r0, r0, 8 /* 80046C38 00042898 B0 03 01 48 */ sth r0, 0x148(r3) lbl_80046C3C: /* 80046C3C 0004289C 3B BD 00 01 */ addi r29, r29, 1 /* 80046C40 000428A0 28 1D 00 04 */ cmplwi r29, 4 /* 80046C44 000428A4 41 80 FD F4 */ blt lbl_80046A38 /* 80046C48 000428A8 3B DE 00 01 */ addi r30, r30, 1 /* 80046C4C 000428AC 28 1E 00 03 */ cmplwi r30, 3 /* 80046C50 000428B0 41 80 FD E0 */ blt lbl_80046A30 /* 80046C54 000428B4 E3 E1 00 98 */ psq_l f31, 152(r1), 0, qr0 /* 80046C58 000428B8 CB E1 00 90 */ lfd f31, 0x90(r1) /* 80046C5C 000428BC E3 C1 00 88 */ psq_l f30, 136(r1), 0, qr0 /* 80046C60 000428C0 CB C1 00 80 */ lfd f30, 0x80(r1) /* 80046C64 000428C4 E3 A1 00 78 */ psq_l f29, 120(r1), 0, qr0 /* 80046C68 000428C8 CB A1 00 70 */ lfd f29, 0x70(r1) /* 80046C6C 000428CC E3 81 00 68 */ psq_l f28, 104(r1), 0, qr0 /* 80046C70 000428D0 39 61 00 60 */ addi r11, r1, 0x60 /* 80046C74 000428D4 CB 81 00 60 */ lfd f28, 0x60(r1) /* 80046C78 000428D8 48 18 04 F9 */ bl _restgpr_26 /* 80046C7C 000428DC 80 01 00 A4 */ lwz r0, 0xa4(r1) /* 80046C80 000428E0 7C 08 03 A6 */ mtlr r0 /* 80046C84 000428E4 38 21 00 A0 */ addi r1, r1, 0xa0 /* 80046C88 000428E8 4E 80 00 20 */ blr .global func_80046C8C func_80046C8C: /* 80046C8C 000428EC 94 21 FF 60 */ stwu r1, -0xa0(r1) /* 80046C90 000428F0 7C 08 02 A6 */ mflr r0 /* 80046C94 000428F4 90 01 00 A4 */ stw r0, 0xa4(r1) /* 80046C98 000428F8 DB E1 00 90 */ stfd f31, 0x90(r1) /* 80046C9C 000428FC F3 E1 00 98 */ psq_st f31, 152(r1), 0, qr0 /* 80046CA0 00042900 DB C1 00 80 */ stfd f30, 0x80(r1) /* 80046CA4 00042904 F3 C1 00 88 */ psq_st f30, 136(r1), 0, qr0 /* 80046CA8 00042908 DB A1 00 70 */ stfd f29, 0x70(r1) /* 80046CAC 0004290C F3 A1 00 78 */ psq_st f29, 120(r1), 0, qr0 /* 80046CB0 00042910 DB 81 00 60 */ stfd f28, 0x60(r1) /* 80046CB4 00042914 F3 81 00 68 */ psq_st f28, 104(r1), 0, qr0 /* 80046CB8 00042918 39 61 00 60 */ addi r11, r1, 0x60 /* 80046CBC 0004291C 48 18 04 69 */ bl _savegpr_26 /* 80046CC0 00042920 2C 04 00 00 */ cmpwi r4, 0 /* 80046CC4 00042924 7C 7B 1B 78 */ mr r27, r3 /* 80046CC8 00042928 7C 9A 23 78 */ mr r26, r4 /* 80046CCC 0004292C 41 80 01 FC */ blt lbl_80046EC8 /* 80046CD0 00042930 2C 04 00 03 */ cmpwi r4, 3 /* 80046CD4 00042934 40 81 00 08 */ ble lbl_80046CDC /* 80046CD8 00042938 48 00 01 F0 */ b lbl_80046EC8 lbl_80046CDC: /* 80046CDC 0004293C 38 A0 00 00 */ li r5, 0 /* 80046CE0 00042940 4B FF EE 21 */ bl func_80045B00 /* 80046CE4 00042944 2C 03 00 00 */ cmpwi r3, 0 /* 80046CE8 00042948 7C 7F 1B 78 */ mr r31, r3 /* 80046CEC 0004294C 41 82 01 DC */ beq lbl_80046EC8 /* 80046CF0 00042950 4B FF 29 E5 */ bl func_800396D4 /* 80046CF4 00042954 C0 22 83 8C */ lfs f1, lbl_8064098C-_SDA2_BASE_(r2) /* 80046CF8 00042958 48 00 77 A5 */ bl func_8004E49C /* 80046CFC 0004295C 57 40 10 3A */ slwi r0, r26, 2 /* 80046D00 00042960 FF 80 08 90 */ fmr f28, f1 /* 80046D04 00042964 7C 7B 02 14 */ add r3, r27, r0 /* 80046D08 00042968 C3 C2 83 B8 */ lfs f30, lbl_806409B8-_SDA2_BASE_(r2) /* 80046D0C 0004296C C3 A2 83 B4 */ lfs f29, lbl_806409B4-_SDA2_BASE_(r2) /* 80046D10 00042970 3B A3 01 2C */ addi r29, r3, 0x12c /* 80046D14 00042974 C3 E2 83 88 */ lfs f31, lbl_80640988-_SDA2_BASE_(r2) /* 80046D18 00042978 3B 83 01 3C */ addi r28, r3, 0x13c /* 80046D1C 0004297C 3B 63 01 4C */ addi r27, r3, 0x14c /* 80046D20 00042980 3B C0 00 00 */ li r30, 0 lbl_80046D24: /* 80046D24 00042984 57 C0 06 3F */ clrlwi. r0, r30, 0x18 /* 80046D28 00042988 40 82 00 0C */ bne lbl_80046D34 /* 80046D2C 0004298C 7F BA EB 78 */ mr r26, r29 /* 80046D30 00042990 48 00 00 20 */ b lbl_80046D50 lbl_80046D34: /* 80046D34 00042994 28 00 00 01 */ cmplwi r0, 1 /* 80046D38 00042998 40 82 00 0C */ bne lbl_80046D44 /* 80046D3C 0004299C 7F 9A E3 78 */ mr r26, r28 /* 80046D40 000429A0 48 00 00 10 */ b lbl_80046D50 lbl_80046D44: /* 80046D44 000429A4 28 00 00 02 */ cmplwi r0, 2 /* 80046D48 000429A8 40 82 01 74 */ bne lbl_80046EBC /* 80046D4C 000429AC 7F 7A DB 78 */ mr r26, r27 lbl_80046D50: /* 80046D50 000429B0 80 1A 00 00 */ lwz r0, 0(r26) /* 80046D54 000429B4 2C 00 00 00 */ cmpwi r0, 0 /* 80046D58 000429B8 41 82 01 64 */ beq lbl_80046EBC /* 80046D5C 000429BC 7F E4 FB 78 */ mr r4, r31 /* 80046D60 000429C0 38 61 00 30 */ addi r3, r1, 0x30 /* 80046D64 000429C4 4B FF 1A 7D */ bl func_800387E0 /* 80046D68 000429C8 80 7A 00 00 */ lwz r3, 0(r26) /* 80046D6C 000429CC 38 80 00 01 */ li r4, 1 /* 80046D70 000429D0 C0 01 00 30 */ lfs f0, 0x30(r1) /* 80046D74 000429D4 D0 03 00 20 */ stfs f0, 0x20(r3) /* 80046D78 000429D8 C0 01 00 34 */ lfs f0, 0x34(r1) /* 80046D7C 000429DC D0 03 00 24 */ stfs f0, 0x24(r3) /* 80046D80 000429E0 C0 01 00 38 */ lfs f0, 0x38(r1) /* 80046D84 000429E4 D0 03 00 28 */ stfs f0, 0x28(r3) /* 80046D88 000429E8 48 1A B9 31 */ bl func_801F26B8 /* 80046D8C 000429EC 7F E4 FB 78 */ mr r4, r31 /* 80046D90 000429F0 38 61 00 14 */ addi r3, r1, 0x14 /* 80046D94 000429F4 4B FF 1D 01 */ bl func_80038A94 /* 80046D98 000429F8 38 61 00 20 */ addi r3, r1, 0x20 /* 80046D9C 000429FC 38 81 00 14 */ addi r4, r1, 0x14 /* 80046DA0 00042A00 48 1D C9 21 */ bl func_802236C0 /* 80046DA4 00042A04 80 7A 00 00 */ lwz r3, 0(r26) /* 80046DA8 00042A08 38 80 00 01 */ li r4, 1 /* 80046DAC 00042A0C C0 01 00 20 */ lfs f0, 0x20(r1) /* 80046DB0 00042A10 D0 03 00 2C */ stfs f0, 0x2c(r3) /* 80046DB4 00042A14 C0 01 00 24 */ lfs f0, 0x24(r1) /* 80046DB8 00042A18 D0 03 00 30 */ stfs f0, 0x30(r3) /* 80046DBC 00042A1C C0 01 00 28 */ lfs f0, 0x28(r1) /* 80046DC0 00042A20 D0 03 00 34 */ stfs f0, 0x34(r3) /* 80046DC4 00042A24 C0 01 00 2C */ lfs f0, 0x2c(r1) /* 80046DC8 00042A28 D0 03 00 38 */ stfs f0, 0x38(r3) /* 80046DCC 00042A2C A0 03 00 10 */ lhz r0, 0x10(r3) /* 80046DD0 00042A30 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c /* 80046DD4 00042A34 B0 03 00 10 */ sth r0, 0x10(r3) /* 80046DD8 00042A38 48 1A B8 E1 */ bl func_801F26B8 /* 80046DDC 00042A3C FC 00 E0 18 */ frsp f0, f28 /* 80046DE0 00042A40 80 7A 00 00 */ lwz r3, 0(r26) /* 80046DE4 00042A44 D3 81 00 08 */ stfs f28, 8(r1) /* 80046DE8 00042A48 D0 03 00 48 */ stfs f0, 0x48(r3) /* 80046DEC 00042A4C FC 00 E8 40 */ fcmpo cr0, f0, f29 /* 80046DF0 00042A50 D0 03 00 4C */ stfs f0, 0x4c(r3) /* 80046DF4 00042A54 D3 81 00 0C */ stfs f28, 0xc(r1) /* 80046DF8 00042A58 D3 81 00 10 */ stfs f28, 0x10(r1) /* 80046DFC 00042A5C D0 03 00 50 */ stfs f0, 0x50(r3) /* 80046E00 00042A60 40 80 00 28 */ bge lbl_80046E28 /* 80046E04 00042A64 C0 03 00 48 */ lfs f0, 0x48(r3) /* 80046E08 00042A68 FC 00 F0 40 */ fcmpo cr0, f0, f30 /* 80046E0C 00042A6C 40 81 00 1C */ ble lbl_80046E28 /* 80046E10 00042A70 FC 00 F8 40 */ fcmpo cr0, f0, f31 /* 80046E14 00042A74 40 80 00 0C */ bge lbl_80046E20 /* 80046E18 00042A78 FC 00 F0 90 */ fmr f0, f30 /* 80046E1C 00042A7C 48 00 00 08 */ b lbl_80046E24 lbl_80046E20: /* 80046E20 00042A80 FC 00 E8 90 */ fmr f0, f29 lbl_80046E24: /* 80046E24 00042A84 D0 03 00 48 */ stfs f0, 0x48(r3) lbl_80046E28: /* 80046E28 00042A88 C0 03 00 4C */ lfs f0, 0x4c(r3) /* 80046E2C 00042A8C FC 00 E8 40 */ fcmpo cr0, f0, f29 /* 80046E30 00042A90 40 80 00 24 */ bge lbl_80046E54 /* 80046E34 00042A94 FC 00 F0 40 */ fcmpo cr0, f0, f30 /* 80046E38 00042A98 40 81 00 1C */ ble lbl_80046E54 /* 80046E3C 00042A9C FC 00 F8 40 */ fcmpo cr0, f0, f31 /* 80046E40 00042AA0 40 80 00 0C */ bge lbl_80046E4C /* 80046E44 00042AA4 FC 00 F0 90 */ fmr f0, f30 /* 80046E48 00042AA8 48 00 00 08 */ b lbl_80046E50 lbl_80046E4C: /* 80046E4C 00042AAC FC 00 E8 90 */ fmr f0, f29 lbl_80046E50: /* 80046E50 00042AB0 D0 03 00 4C */ stfs f0, 0x4c(r3) lbl_80046E54: /* 80046E54 00042AB4 C0 03 00 50 */ lfs f0, 0x50(r3) /* 80046E58 00042AB8 FC 00 E8 40 */ fcmpo cr0, f0, f29 /* 80046E5C 00042ABC 40 80 00 24 */ bge lbl_80046E80 /* 80046E60 00042AC0 FC 00 F0 40 */ fcmpo cr0, f0, f30 /* 80046E64 00042AC4 40 81 00 1C */ ble lbl_80046E80 /* 80046E68 00042AC8 FC 00 F8 40 */ fcmpo cr0, f0, f31 /* 80046E6C 00042ACC 40 80 00 0C */ bge lbl_80046E78 /* 80046E70 00042AD0 FC 00 F0 90 */ fmr f0, f30 /* 80046E74 00042AD4 48 00 00 08 */ b lbl_80046E7C lbl_80046E78: /* 80046E78 00042AD8 FC 00 E8 90 */ fmr f0, f29 lbl_80046E7C: /* 80046E7C 00042ADC D0 03 00 50 */ stfs f0, 0x50(r3) lbl_80046E80: /* 80046E80 00042AE0 38 80 00 01 */ li r4, 1 /* 80046E84 00042AE4 48 1A B8 35 */ bl func_801F26B8 /* 80046E88 00042AE8 80 7A 00 00 */ lwz r3, 0(r26) /* 80046E8C 00042AEC 80 03 01 04 */ lwz r0, 0x104(r3) /* 80046E90 00042AF0 60 00 00 01 */ ori r0, r0, 1 /* 80046E94 00042AF4 54 00 07 F8 */ rlwinm r0, r0, 0, 0x1f, 0x1c /* 80046E98 00042AF8 90 03 01 04 */ stw r0, 0x104(r3) /* 80046E9C 00042AFC D3 E3 01 08 */ stfs f31, 0x108(r3) /* 80046EA0 00042B00 80 7A 00 00 */ lwz r3, 0(r26) /* 80046EA4 00042B04 80 63 01 38 */ lwz r3, 0x138(r3) /* 80046EA8 00042B08 2C 03 00 00 */ cmpwi r3, 0 /* 80046EAC 00042B0C 41 82 00 10 */ beq lbl_80046EBC /* 80046EB0 00042B10 A0 03 01 48 */ lhz r0, 0x148(r3) /* 80046EB4 00042B14 60 00 00 08 */ ori r0, r0, 8 /* 80046EB8 00042B18 B0 03 01 48 */ sth r0, 0x148(r3) lbl_80046EBC: /* 80046EBC 00042B1C 3B DE 00 01 */ addi r30, r30, 1 /* 80046EC0 00042B20 28 1E 00 03 */ cmplwi r30, 3 /* 80046EC4 00042B24 41 80 FE 60 */ blt lbl_80046D24 lbl_80046EC8: /* 80046EC8 00042B28 E3 E1 00 98 */ psq_l f31, 152(r1), 0, qr0 /* 80046ECC 00042B2C CB E1 00 90 */ lfd f31, 0x90(r1) /* 80046ED0 00042B30 E3 C1 00 88 */ psq_l f30, 136(r1), 0, qr0 /* 80046ED4 00042B34 CB C1 00 80 */ lfd f30, 0x80(r1) /* 80046ED8 00042B38 E3 A1 00 78 */ psq_l f29, 120(r1), 0, qr0 /* 80046EDC 00042B3C CB A1 00 70 */ lfd f29, 0x70(r1) /* 80046EE0 00042B40 E3 81 00 68 */ psq_l f28, 104(r1), 0, qr0 /* 80046EE4 00042B44 39 61 00 60 */ addi r11, r1, 0x60 /* 80046EE8 00042B48 CB 81 00 60 */ lfd f28, 0x60(r1) /* 80046EEC 00042B4C 48 18 02 85 */ bl _restgpr_26 /* 80046EF0 00042B50 80 01 00 A4 */ lwz r0, 0xa4(r1) /* 80046EF4 00042B54 7C 08 03 A6 */ mtlr r0 /* 80046EF8 00042B58 38 21 00 A0 */ addi r1, r1, 0xa0 /* 80046EFC 00042B5C 4E 80 00 20 */ blr .global func_80046F00 func_80046F00: /* 80046F00 00042B60 2C 04 00 00 */ cmpwi r4, 0 /* 80046F04 00042B64 4D 80 00 20 */ bltlr /* 80046F08 00042B68 2C 04 00 03 */ cmpwi r4, 3 /* 80046F0C 00042B6C 40 81 00 08 */ ble lbl_80046F14 /* 80046F10 00042B70 4E 80 00 20 */ blr lbl_80046F14: /* 80046F14 00042B74 54 84 10 3A */ slwi r4, r4, 2 /* 80046F18 00042B78 38 00 00 03 */ li r0, 3 /* 80046F1C 00042B7C 7C 63 22 14 */ add r3, r3, r4 /* 80046F20 00042B80 39 00 00 00 */ li r8, 0 /* 80046F24 00042B84 38 83 01 2C */ addi r4, r3, 0x12c /* 80046F28 00042B88 38 C3 01 3C */ addi r6, r3, 0x13c /* 80046F2C 00042B8C 38 63 01 4C */ addi r3, r3, 0x14c /* 80046F30 00042B90 7C 09 03 A6 */ mtctr r0 lbl_80046F34: /* 80046F34 00042B94 55 00 06 3F */ clrlwi. r0, r8, 0x18 /* 80046F38 00042B98 40 82 00 0C */ bne lbl_80046F44 /* 80046F3C 00042B9C 7C 87 23 78 */ mr r7, r4 /* 80046F40 00042BA0 48 00 00 20 */ b lbl_80046F60 lbl_80046F44: /* 80046F44 00042BA4 28 00 00 01 */ cmplwi r0, 1 /* 80046F48 00042BA8 40 82 00 0C */ bne lbl_80046F54 /* 80046F4C 00042BAC 7C C7 33 78 */ mr r7, r6 /* 80046F50 00042BB0 48 00 00 10 */ b lbl_80046F60 lbl_80046F54: /* 80046F54 00042BB4 28 00 00 02 */ cmplwi r0, 2 /* 80046F58 00042BB8 40 82 00 38 */ bne lbl_80046F90 /* 80046F5C 00042BBC 7C 67 1B 78 */ mr r7, r3 lbl_80046F60: /* 80046F60 00042BC0 80 E7 00 00 */ lwz r7, 0(r7) /* 80046F64 00042BC4 2C 07 00 00 */ cmpwi r7, 0 /* 80046F68 00042BC8 41 82 00 28 */ beq lbl_80046F90 /* 80046F6C 00042BCC 2C 05 00 00 */ cmpwi r5, 0 /* 80046F70 00042BD0 41 82 00 14 */ beq lbl_80046F84 /* 80046F74 00042BD4 A0 07 00 10 */ lhz r0, 0x10(r7) /* 80046F78 00042BD8 60 00 00 02 */ ori r0, r0, 2 /* 80046F7C 00042BDC B0 07 00 10 */ sth r0, 0x10(r7) /* 80046F80 00042BE0 48 00 00 10 */ b lbl_80046F90 lbl_80046F84: /* 80046F84 00042BE4 A0 07 00 10 */ lhz r0, 0x10(r7) /* 80046F88 00042BE8 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 80046F8C 00042BEC B0 07 00 10 */ sth r0, 0x10(r7) lbl_80046F90: /* 80046F90 00042BF0 39 08 00 01 */ addi r8, r8, 1 /* 80046F94 00042BF4 42 00 FF A0 */ bdnz lbl_80046F34 /* 80046F98 00042BF8 4E 80 00 20 */ blr .global func_80046F9C func_80046F9C: /* 80046F9C 00042BFC 39 00 00 00 */ li r8, 0 /* 80046FA0 00042C00 38 00 00 02 */ li r0, 2 lbl_80046FA4: /* 80046FA4 00042C04 55 06 06 3E */ clrlwi r6, r8, 0x18 /* 80046FA8 00042C08 39 20 00 00 */ li r9, 0 /* 80046FAC 00042C0C 7C 09 03 A6 */ mtctr r0 lbl_80046FB0: /* 80046FB0 00042C10 2C 06 00 00 */ cmpwi r6, 0 /* 80046FB4 00042C14 40 82 00 14 */ bne lbl_80046FC8 /* 80046FB8 00042C18 55 25 15 BA */ rlwinm r5, r9, 2, 0x16, 0x1d /* 80046FBC 00042C1C 7C A3 2A 14 */ add r5, r3, r5 /* 80046FC0 00042C20 38 A5 01 2C */ addi r5, r5, 0x12c /* 80046FC4 00042C24 48 00 00 30 */ b lbl_80046FF4 lbl_80046FC8: /* 80046FC8 00042C28 28 06 00 01 */ cmplwi r6, 1 /* 80046FCC 00042C2C 40 82 00 14 */ bne lbl_80046FE0 /* 80046FD0 00042C30 55 25 15 BA */ rlwinm r5, r9, 2, 0x16, 0x1d /* 80046FD4 00042C34 7C A3 2A 14 */ add r5, r3, r5 /* 80046FD8 00042C38 38 A5 01 3C */ addi r5, r5, 0x13c /* 80046FDC 00042C3C 48 00 00 18 */ b lbl_80046FF4 lbl_80046FE0: /* 80046FE0 00042C40 28 06 00 02 */ cmplwi r6, 2 /* 80046FE4 00042C44 40 82 00 40 */ bne lbl_80047024 /* 80046FE8 00042C48 55 25 15 BA */ rlwinm r5, r9, 2, 0x16, 0x1d /* 80046FEC 00042C4C 7C A3 2A 14 */ add r5, r3, r5 /* 80046FF0 00042C50 38 A5 01 4C */ addi r5, r5, 0x14c lbl_80046FF4: /* 80046FF4 00042C54 80 E5 00 00 */ lwz r7, 0(r5) /* 80046FF8 00042C58 2C 07 00 00 */ cmpwi r7, 0 /* 80046FFC 00042C5C 41 82 00 28 */ beq lbl_80047024 /* 80047000 00042C60 2C 04 00 00 */ cmpwi r4, 0 /* 80047004 00042C64 41 82 00 14 */ beq lbl_80047018 /* 80047008 00042C68 A0 A7 00 10 */ lhz r5, 0x10(r7) /* 8004700C 00042C6C 60 A5 00 02 */ ori r5, r5, 2 /* 80047010 00042C70 B0 A7 00 10 */ sth r5, 0x10(r7) /* 80047014 00042C74 48 00 00 10 */ b lbl_80047024 lbl_80047018: /* 80047018 00042C78 A0 A7 00 10 */ lhz r5, 0x10(r7) /* 8004701C 00042C7C 54 A5 07 FA */ rlwinm r5, r5, 0, 0x1f, 0x1d /* 80047020 00042C80 B0 A7 00 10 */ sth r5, 0x10(r7) lbl_80047024: /* 80047024 00042C84 2C 06 00 00 */ cmpwi r6, 0 /* 80047028 00042C88 39 29 00 01 */ addi r9, r9, 1 /* 8004702C 00042C8C 40 82 00 14 */ bne lbl_80047040 /* 80047030 00042C90 55 25 15 BA */ rlwinm r5, r9, 2, 0x16, 0x1d /* 80047034 00042C94 7C A3 2A 14 */ add r5, r3, r5 /* 80047038 00042C98 38 A5 01 2C */ addi r5, r5, 0x12c /* 8004703C 00042C9C 48 00 00 30 */ b lbl_8004706C lbl_80047040: /* 80047040 00042CA0 28 06 00 01 */ cmplwi r6, 1 /* 80047044 00042CA4 40 82 00 14 */ bne lbl_80047058 /* 80047048 00042CA8 55 25 15 BA */ rlwinm r5, r9, 2, 0x16, 0x1d /* 8004704C 00042CAC 7C A3 2A 14 */ add r5, r3, r5 /* 80047050 00042CB0 38 A5 01 3C */ addi r5, r5, 0x13c /* 80047054 00042CB4 48 00 00 18 */ b lbl_8004706C lbl_80047058: /* 80047058 00042CB8 28 06 00 02 */ cmplwi r6, 2 /* 8004705C 00042CBC 40 82 00 40 */ bne lbl_8004709C /* 80047060 00042CC0 55 25 15 BA */ rlwinm r5, r9, 2, 0x16, 0x1d /* 80047064 00042CC4 7C A3 2A 14 */ add r5, r3, r5 /* 80047068 00042CC8 38 A5 01 4C */ addi r5, r5, 0x14c lbl_8004706C: /* 8004706C 00042CCC 80 E5 00 00 */ lwz r7, 0(r5) /* 80047070 00042CD0 2C 07 00 00 */ cmpwi r7, 0 /* 80047074 00042CD4 41 82 00 28 */ beq lbl_8004709C /* 80047078 00042CD8 2C 04 00 00 */ cmpwi r4, 0 /* 8004707C 00042CDC 41 82 00 14 */ beq lbl_80047090 /* 80047080 00042CE0 A0 A7 00 10 */ lhz r5, 0x10(r7) /* 80047084 00042CE4 60 A5 00 02 */ ori r5, r5, 2 /* 80047088 00042CE8 B0 A7 00 10 */ sth r5, 0x10(r7) /* 8004708C 00042CEC 48 00 00 10 */ b lbl_8004709C lbl_80047090: /* 80047090 00042CF0 A0 A7 00 10 */ lhz r5, 0x10(r7) /* 80047094 00042CF4 54 A5 07 FA */ rlwinm r5, r5, 0, 0x1f, 0x1d /* 80047098 00042CF8 B0 A7 00 10 */ sth r5, 0x10(r7) lbl_8004709C: /* 8004709C 00042CFC 39 29 00 01 */ addi r9, r9, 1 /* 800470A0 00042D00 42 00 FF 10 */ bdnz lbl_80046FB0 /* 800470A4 00042D04 39 08 00 01 */ addi r8, r8, 1 /* 800470A8 00042D08 28 08 00 03 */ cmplwi r8, 3 /* 800470AC 00042D0C 41 80 FE F8 */ blt lbl_80046FA4 /* 800470B0 00042D10 4E 80 00 20 */ blr .global func_800470B4 func_800470B4: /* 800470B4 00042D14 94 21 FF C0 */ stwu r1, -0x40(r1) /* 800470B8 00042D18 7C 08 02 A6 */ mflr r0 /* 800470BC 00042D1C 90 01 00 44 */ stw r0, 0x44(r1) /* 800470C0 00042D20 39 61 00 40 */ addi r11, r1, 0x40 /* 800470C4 00042D24 48 18 00 65 */ bl _savegpr_27 /* 800470C8 00042D28 88 A3 01 28 */ lbz r5, 0x128(r3) /* 800470CC 00042D2C 54 80 06 3E */ clrlwi r0, r4, 0x18 /* 800470D0 00042D30 7C 7F 1B 78 */ mr r31, r3 /* 800470D4 00042D34 7C 9B 23 78 */ mr r27, r4 /* 800470D8 00042D38 7C 05 00 40 */ cmplw r5, r0 /* 800470DC 00042D3C 41 82 03 78 */ beq lbl_80047454 /* 800470E0 00042D40 98 83 01 28 */ stb r4, 0x128(r3) /* 800470E4 00042D44 7F FD FB 78 */ mr r29, r31 /* 800470E8 00042D48 3B 80 00 00 */ li r28, 0 /* 800470EC 00042D4C 3B C0 00 00 */ li r30, 0 lbl_800470F0: /* 800470F0 00042D50 80 7D 01 5C */ lwz r3, 0x15c(r29) /* 800470F4 00042D54 2C 03 00 00 */ cmpwi r3, 0 /* 800470F8 00042D58 41 82 00 20 */ beq lbl_80047118 /* 800470FC 00042D5C 41 82 00 18 */ beq lbl_80047114 /* 80047100 00042D60 81 83 01 00 */ lwz r12, 0x100(r3) /* 80047104 00042D64 38 80 00 01 */ li r4, 1 /* 80047108 00042D68 81 8C 00 08 */ lwz r12, 8(r12) /* 8004710C 00042D6C 7D 89 03 A6 */ mtctr r12 /* 80047110 00042D70 4E 80 04 21 */ bctrl lbl_80047114: /* 80047114 00042D74 93 DD 01 5C */ stw r30, 0x15c(r29) lbl_80047118: /* 80047118 00042D78 3B 9C 00 01 */ addi r28, r28, 1 /* 8004711C 00042D7C 3B BD 00 04 */ addi r29, r29, 4 /* 80047120 00042D80 2C 1C 00 02 */ cmpwi r28, 2 /* 80047124 00042D84 41 80 FF CC */ blt lbl_800470F0 /* 80047128 00042D88 2C 1B 00 03 */ cmpwi r27, 3 /* 8004712C 00042D8C 41 82 00 28 */ beq lbl_80047154 /* 80047130 00042D90 40 80 00 14 */ bge lbl_80047144 /* 80047134 00042D94 2C 1B 00 01 */ cmpwi r27, 1 /* 80047138 00042D98 41 82 00 88 */ beq lbl_800471C0 /* 8004713C 00042D9C 40 80 00 F0 */ bge lbl_8004722C /* 80047140 00042DA0 48 00 03 14 */ b lbl_80047454 lbl_80047144: /* 80047144 00042DA4 2C 1B 00 05 */ cmpwi r27, 5 /* 80047148 00042DA8 41 82 02 A4 */ beq lbl_800473EC /* 8004714C 00042DAC 40 80 03 08 */ bge lbl_80047454 /* 80047150 00042DB0 48 00 01 C8 */ b lbl_80047318 lbl_80047154: /* 80047154 00042DB4 3C 80 1A 85 */ lis r4, 0x1A850E00@ha /* 80047158 00042DB8 38 60 00 0C */ li r3, 0xc /* 8004715C 00042DBC 38 84 0E 00 */ addi r4, r4, 0x1A850E00@l /* 80047160 00042DC0 48 19 43 5D */ bl func_801DB4BC /* 80047164 00042DC4 2C 03 00 00 */ cmpwi r3, 0 /* 80047168 00042DC8 7C 7D 1B 78 */ mr r29, r3 /* 8004716C 00042DCC 41 82 02 E8 */ beq lbl_80047454 /* 80047170 00042DD0 48 19 39 B9 */ bl func_801DAB28 /* 80047174 00042DD4 2C 03 00 00 */ cmpwi r3, 0 /* 80047178 00042DD8 41 82 00 14 */ beq lbl_8004718C /* 8004717C 00042DDC 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 80047180 00042DE0 38 80 01 40 */ li r4, 0x140 /* 80047184 00042DE4 48 19 3B 11 */ bl func_801DAC94 /* 80047188 00042DE8 48 00 00 08 */ b lbl_80047190 lbl_8004718C: /* 8004718C 00042DEC 38 60 00 00 */ li r3, 0 lbl_80047190: /* 80047190 00042DF0 2C 03 00 00 */ cmpwi r3, 0 /* 80047194 00042DF4 41 82 00 0C */ beq lbl_800471A0 /* 80047198 00042DF8 7F A4 EB 78 */ mr r4, r29 /* 8004719C 00042DFC 48 1B 27 51 */ bl func_801F98EC lbl_800471A0: /* 800471A0 00042E00 90 7F 01 5C */ stw r3, 0x15c(r31) /* 800471A4 00042E04 C0 02 83 88 */ lfs f0, lbl_80640988-_SDA2_BASE_(r2) /* 800471A8 00042E08 80 03 01 04 */ lwz r0, 0x104(r3) /* 800471AC 00042E0C 60 00 00 01 */ ori r0, r0, 1 /* 800471B0 00042E10 54 00 07 F8 */ rlwinm r0, r0, 0, 0x1f, 0x1c /* 800471B4 00042E14 90 03 01 04 */ stw r0, 0x104(r3) /* 800471B8 00042E18 D0 03 01 08 */ stfs f0, 0x108(r3) /* 800471BC 00042E1C 48 00 02 98 */ b lbl_80047454 lbl_800471C0: /* 800471C0 00042E20 3C 80 1B C1 */ lis r4, 0x1BC10E00@ha /* 800471C4 00042E24 38 60 00 0C */ li r3, 0xc /* 800471C8 00042E28 38 84 0E 00 */ addi r4, r4, 0x1BC10E00@l /* 800471CC 00042E2C 48 19 42 F1 */ bl func_801DB4BC /* 800471D0 00042E30 2C 03 00 00 */ cmpwi r3, 0 /* 800471D4 00042E34 7C 7D 1B 78 */ mr r29, r3 /* 800471D8 00042E38 41 82 02 7C */ beq lbl_80047454 /* 800471DC 00042E3C 48 19 39 4D */ bl func_801DAB28 /* 800471E0 00042E40 2C 03 00 00 */ cmpwi r3, 0 /* 800471E4 00042E44 41 82 00 14 */ beq lbl_800471F8 /* 800471E8 00042E48 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 800471EC 00042E4C 38 80 01 40 */ li r4, 0x140 /* 800471F0 00042E50 48 19 3A A5 */ bl func_801DAC94 /* 800471F4 00042E54 48 00 00 08 */ b lbl_800471FC lbl_800471F8: /* 800471F8 00042E58 38 60 00 00 */ li r3, 0 lbl_800471FC: /* 800471FC 00042E5C 2C 03 00 00 */ cmpwi r3, 0 /* 80047200 00042E60 41 82 00 0C */ beq lbl_8004720C /* 80047204 00042E64 7F A4 EB 78 */ mr r4, r29 /* 80047208 00042E68 48 1B 26 E5 */ bl func_801F98EC lbl_8004720C: /* 8004720C 00042E6C 90 7F 01 5C */ stw r3, 0x15c(r31) /* 80047210 00042E70 C0 02 83 88 */ lfs f0, lbl_80640988-_SDA2_BASE_(r2) /* 80047214 00042E74 80 03 01 04 */ lwz r0, 0x104(r3) /* 80047218 00042E78 60 00 00 01 */ ori r0, r0, 1 /* 8004721C 00042E7C 54 00 07 F8 */ rlwinm r0, r0, 0, 0x1f, 0x1c /* 80047220 00042E80 90 03 01 04 */ stw r0, 0x104(r3) /* 80047224 00042E84 D0 03 01 08 */ stfs f0, 0x108(r3) /* 80047228 00042E88 48 00 02 2C */ b lbl_80047454 lbl_8004722C: /* 8004722C 00042E8C 4B FE EB 71 */ bl func_80035D9C /* 80047230 00042E90 3C 80 20 9E */ lis r4, 0x209E0E00@ha /* 80047234 00042E94 7C 7C 1B 78 */ mr r28, r3 /* 80047238 00042E98 38 84 0E 00 */ addi r4, r4, 0x209E0E00@l /* 8004723C 00042E9C 38 60 00 0C */ li r3, 0xc /* 80047240 00042EA0 48 19 42 7D */ bl func_801DB4BC /* 80047244 00042EA4 2C 03 00 00 */ cmpwi r3, 0 /* 80047248 00042EA8 7C 7D 1B 78 */ mr r29, r3 /* 8004724C 00042EAC 41 82 02 08 */ beq lbl_80047454 /* 80047250 00042EB0 48 19 38 D9 */ bl func_801DAB28 /* 80047254 00042EB4 2C 03 00 00 */ cmpwi r3, 0 /* 80047258 00042EB8 41 82 00 14 */ beq lbl_8004726C /* 8004725C 00042EBC 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 80047260 00042EC0 38 80 01 40 */ li r4, 0x140 /* 80047264 00042EC4 48 19 3A 31 */ bl func_801DAC94 /* 80047268 00042EC8 48 00 00 08 */ b lbl_80047270 lbl_8004726C: /* 8004726C 00042ECC 38 60 00 00 */ li r3, 0 lbl_80047270: /* 80047270 00042ED0 2C 03 00 00 */ cmpwi r3, 0 /* 80047274 00042ED4 41 82 00 0C */ beq lbl_80047280 /* 80047278 00042ED8 7F A4 EB 78 */ mr r4, r29 /* 8004727C 00042EDC 48 1B 26 71 */ bl func_801F98EC lbl_80047280: /* 80047280 00042EE0 2C 1C 00 00 */ cmpwi r28, 0 /* 80047284 00042EE4 90 7F 01 5C */ stw r3, 0x15c(r31) /* 80047288 00042EE8 41 82 00 70 */ beq lbl_800472F8 /* 8004728C 00042EEC 7F 83 E3 78 */ mr r3, r28 /* 80047290 00042EF0 38 80 00 04 */ li r4, 4 /* 80047294 00042EF4 4B FE FC BD */ bl func_80036F50 /* 80047298 00042EF8 2C 03 00 00 */ cmpwi r3, 0 /* 8004729C 00042EFC 41 82 00 5C */ beq lbl_800472F8 /* 800472A0 00042F00 C0 22 83 88 */ lfs f1, lbl_80640988-_SDA2_BASE_(r2) /* 800472A4 00042F04 38 61 00 18 */ addi r3, r1, 0x18 /* 800472A8 00042F08 C0 02 83 A8 */ lfs f0, lbl_806409A8-_SDA2_BASE_(r2) /* 800472AC 00042F0C 38 81 00 08 */ addi r4, r1, 8 /* 800472B0 00042F10 D0 21 00 08 */ stfs f1, 8(r1) /* 800472B4 00042F14 D0 01 00 0C */ stfs f0, 0xc(r1) /* 800472B8 00042F18 D0 21 00 10 */ stfs f1, 0x10(r1) /* 800472BC 00042F1C 48 1D C4 05 */ bl func_802236C0 /* 800472C0 00042F20 80 7F 01 5C */ lwz r3, 0x15c(r31) /* 800472C4 00042F24 38 80 00 01 */ li r4, 1 /* 800472C8 00042F28 C0 01 00 18 */ lfs f0, 0x18(r1) /* 800472CC 00042F2C D0 03 00 2C */ stfs f0, 0x2c(r3) /* 800472D0 00042F30 C0 01 00 1C */ lfs f0, 0x1c(r1) /* 800472D4 00042F34 D0 03 00 30 */ stfs f0, 0x30(r3) /* 800472D8 00042F38 C0 01 00 20 */ lfs f0, 0x20(r1) /* 800472DC 00042F3C D0 03 00 34 */ stfs f0, 0x34(r3) /* 800472E0 00042F40 C0 01 00 24 */ lfs f0, 0x24(r1) /* 800472E4 00042F44 D0 03 00 38 */ stfs f0, 0x38(r3) /* 800472E8 00042F48 A0 03 00 10 */ lhz r0, 0x10(r3) /* 800472EC 00042F4C 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c /* 800472F0 00042F50 B0 03 00 10 */ sth r0, 0x10(r3) /* 800472F4 00042F54 48 1A B3 C5 */ bl func_801F26B8 lbl_800472F8: /* 800472F8 00042F58 80 7F 01 5C */ lwz r3, 0x15c(r31) /* 800472FC 00042F5C C0 02 83 88 */ lfs f0, lbl_80640988-_SDA2_BASE_(r2) /* 80047300 00042F60 80 03 01 04 */ lwz r0, 0x104(r3) /* 80047304 00042F64 60 00 00 01 */ ori r0, r0, 1 /* 80047308 00042F68 54 00 07 F8 */ rlwinm r0, r0, 0, 0x1f, 0x1c /* 8004730C 00042F6C 90 03 01 04 */ stw r0, 0x104(r3) /* 80047310 00042F70 D0 03 01 08 */ stfs f0, 0x108(r3) /* 80047314 00042F74 48 00 01 40 */ b lbl_80047454 lbl_80047318: /* 80047318 00042F78 3C 80 20 9C */ lis r4, 0x209C0E00@ha /* 8004731C 00042F7C 38 60 00 0C */ li r3, 0xc /* 80047320 00042F80 38 84 0E 00 */ addi r4, r4, 0x209C0E00@l /* 80047324 00042F84 48 19 41 99 */ bl func_801DB4BC /* 80047328 00042F88 2C 03 00 00 */ cmpwi r3, 0 /* 8004732C 00042F8C 7C 7D 1B 78 */ mr r29, r3 /* 80047330 00042F90 41 82 00 50 */ beq lbl_80047380 /* 80047334 00042F94 48 19 37 F5 */ bl func_801DAB28 /* 80047338 00042F98 2C 03 00 00 */ cmpwi r3, 0 /* 8004733C 00042F9C 41 82 00 14 */ beq lbl_80047350 /* 80047340 00042FA0 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 80047344 00042FA4 38 80 01 40 */ li r4, 0x140 /* 80047348 00042FA8 48 19 39 4D */ bl func_801DAC94 /* 8004734C 00042FAC 48 00 00 08 */ b lbl_80047354 lbl_80047350: /* 80047350 00042FB0 38 60 00 00 */ li r3, 0 lbl_80047354: /* 80047354 00042FB4 2C 03 00 00 */ cmpwi r3, 0 /* 80047358 00042FB8 41 82 00 0C */ beq lbl_80047364 /* 8004735C 00042FBC 7F A4 EB 78 */ mr r4, r29 /* 80047360 00042FC0 48 1B 25 8D */ bl func_801F98EC lbl_80047364: /* 80047364 00042FC4 90 7F 01 5C */ stw r3, 0x15c(r31) /* 80047368 00042FC8 C0 02 83 88 */ lfs f0, lbl_80640988-_SDA2_BASE_(r2) /* 8004736C 00042FCC 80 03 01 04 */ lwz r0, 0x104(r3) /* 80047370 00042FD0 60 00 00 01 */ ori r0, r0, 1 /* 80047374 00042FD4 54 00 07 F8 */ rlwinm r0, r0, 0, 0x1f, 0x1c /* 80047378 00042FD8 90 03 01 04 */ stw r0, 0x104(r3) /* 8004737C 00042FDC D0 03 01 08 */ stfs f0, 0x108(r3) lbl_80047380: /* 80047380 00042FE0 3C 80 20 9D */ lis r4, 0x209D0E00@ha /* 80047384 00042FE4 38 60 00 0C */ li r3, 0xc /* 80047388 00042FE8 38 84 0E 00 */ addi r4, r4, 0x209D0E00@l /* 8004738C 00042FEC 48 19 41 31 */ bl func_801DB4BC /* 80047390 00042FF0 2C 03 00 00 */ cmpwi r3, 0 /* 80047394 00042FF4 7C 7D 1B 78 */ mr r29, r3 /* 80047398 00042FF8 41 82 00 BC */ beq lbl_80047454 /* 8004739C 00042FFC 48 19 37 8D */ bl func_801DAB28 /* 800473A0 00043000 2C 03 00 00 */ cmpwi r3, 0 /* 800473A4 00043004 41 82 00 14 */ beq lbl_800473B8 /* 800473A8 00043008 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 800473AC 0004300C 38 80 01 40 */ li r4, 0x140 /* 800473B0 00043010 48 19 38 E5 */ bl func_801DAC94 /* 800473B4 00043014 48 00 00 08 */ b lbl_800473BC lbl_800473B8: /* 800473B8 00043018 38 60 00 00 */ li r3, 0 lbl_800473BC: /* 800473BC 0004301C 2C 03 00 00 */ cmpwi r3, 0 /* 800473C0 00043020 41 82 00 0C */ beq lbl_800473CC /* 800473C4 00043024 7F A4 EB 78 */ mr r4, r29 /* 800473C8 00043028 48 1B 25 25 */ bl func_801F98EC lbl_800473CC: /* 800473CC 0004302C 90 7F 01 60 */ stw r3, 0x160(r31) /* 800473D0 00043030 C0 02 83 88 */ lfs f0, lbl_80640988-_SDA2_BASE_(r2) /* 800473D4 00043034 80 03 01 04 */ lwz r0, 0x104(r3) /* 800473D8 00043038 60 00 00 01 */ ori r0, r0, 1 /* 800473DC 0004303C 54 00 07 F8 */ rlwinm r0, r0, 0, 0x1f, 0x1c /* 800473E0 00043040 90 03 01 04 */ stw r0, 0x104(r3) /* 800473E4 00043044 D0 03 01 08 */ stfs f0, 0x108(r3) /* 800473E8 00043048 48 00 00 6C */ b lbl_80047454 lbl_800473EC: /* 800473EC 0004304C 3C 80 21 E3 */ lis r4, 0x21E30E00@ha /* 800473F0 00043050 38 60 00 0C */ li r3, 0xc /* 800473F4 00043054 38 84 0E 00 */ addi r4, r4, 0x21E30E00@l /* 800473F8 00043058 48 19 40 C5 */ bl func_801DB4BC /* 800473FC 0004305C 2C 03 00 00 */ cmpwi r3, 0 /* 80047400 00043060 7C 7D 1B 78 */ mr r29, r3 /* 80047404 00043064 41 82 00 50 */ beq lbl_80047454 /* 80047408 00043068 48 19 37 21 */ bl func_801DAB28 /* 8004740C 0004306C 2C 03 00 00 */ cmpwi r3, 0 /* 80047410 00043070 41 82 00 14 */ beq lbl_80047424 /* 80047414 00043074 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 80047418 00043078 38 80 01 40 */ li r4, 0x140 /* 8004741C 0004307C 48 19 38 79 */ bl func_801DAC94 /* 80047420 00043080 48 00 00 08 */ b lbl_80047428 lbl_80047424: /* 80047424 00043084 38 60 00 00 */ li r3, 0 lbl_80047428: /* 80047428 00043088 2C 03 00 00 */ cmpwi r3, 0 /* 8004742C 0004308C 41 82 00 0C */ beq lbl_80047438 /* 80047430 00043090 7F A4 EB 78 */ mr r4, r29 /* 80047434 00043094 48 1B 24 B9 */ bl func_801F98EC lbl_80047438: /* 80047438 00043098 90 7F 01 5C */ stw r3, 0x15c(r31) /* 8004743C 0004309C C0 02 83 88 */ lfs f0, lbl_80640988-_SDA2_BASE_(r2) /* 80047440 000430A0 80 03 01 04 */ lwz r0, 0x104(r3) /* 80047444 000430A4 60 00 00 01 */ ori r0, r0, 1 /* 80047448 000430A8 54 00 07 F8 */ rlwinm r0, r0, 0, 0x1f, 0x1c /* 8004744C 000430AC 90 03 01 04 */ stw r0, 0x104(r3) /* 80047450 000430B0 D0 03 01 08 */ stfs f0, 0x108(r3) lbl_80047454: /* 80047454 000430B4 39 61 00 40 */ addi r11, r1, 0x40 /* 80047458 000430B8 48 17 FD 1D */ bl _restgpr_27 /* 8004745C 000430BC 80 01 00 44 */ lwz r0, 0x44(r1) /* 80047460 000430C0 7C 08 03 A6 */ mtlr r0 /* 80047464 000430C4 38 21 00 40 */ addi r1, r1, 0x40 /* 80047468 000430C8 4E 80 00 20 */ blr .global func_8004746C func_8004746C: /* 8004746C 000430CC 38 80 00 00 */ li r4, 0 /* 80047470 000430D0 4B FF FC 44 */ b func_800470B4 .global func_80047474 func_80047474: /* 80047474 000430D4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80047478 000430D8 7C 08 02 A6 */ mflr r0 /* 8004747C 000430DC 90 01 00 24 */ stw r0, 0x24(r1) /* 80047480 000430E0 54 A0 00 5E */ rlwinm r0, r5, 0, 1, 0xf /* 80047484 000430E4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80047488 000430E8 93 C1 00 18 */ stw r30, 0x18(r1) /* 8004748C 000430EC 7C DE 33 78 */ mr r30, r6 /* 80047490 000430F0 93 A1 00 14 */ stw r29, 0x14(r1) /* 80047494 000430F4 7C 7D 1B 78 */ mr r29, r3 /* 80047498 000430F8 7C 83 23 78 */ mr r3, r4 /* 8004749C 000430FC 60 04 2C 00 */ ori r4, r0, 0x2c00 /* 800474A0 00043100 48 19 40 1D */ bl func_801DB4BC /* 800474A4 00043104 2C 03 00 00 */ cmpwi r3, 0 /* 800474A8 00043108 7C 7F 1B 78 */ mr r31, r3 /* 800474AC 0004310C 41 82 00 24 */ beq lbl_800474D0 /* 800474B0 00043110 7F C4 F3 78 */ mr r4, r30 /* 800474B4 00043114 48 19 D6 D9 */ bl func_801E4B8C /* 800474B8 00043118 7F E3 FB 78 */ mr r3, r31 /* 800474BC 0004311C 38 80 00 01 */ li r4, 1 /* 800474C0 00043120 48 19 D7 0D */ bl func_801E4BCC /* 800474C4 00043124 93 FD 01 68 */ stw r31, 0x168(r29) /* 800474C8 00043128 38 60 00 01 */ li r3, 1 /* 800474CC 0004312C 48 00 00 08 */ b lbl_800474D4 lbl_800474D0: /* 800474D0 00043130 38 60 00 00 */ li r3, 0 lbl_800474D4: /* 800474D4 00043134 80 01 00 24 */ lwz r0, 0x24(r1) /* 800474D8 00043138 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 800474DC 0004313C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 800474E0 00043140 83 A1 00 14 */ lwz r29, 0x14(r1) /* 800474E4 00043144 7C 08 03 A6 */ mtlr r0 /* 800474E8 00043148 38 21 00 20 */ addi r1, r1, 0x20 /* 800474EC 0004314C 4E 80 00 20 */ blr .global func_800474F0 func_800474F0: /* 800474F0 00043150 80 63 01 68 */ lwz r3, 0x168(r3) /* 800474F4 00043154 2C 03 00 00 */ cmpwi r3, 0 /* 800474F8 00043158 4D 82 00 20 */ beqlr /* 800474FC 0004315C 48 19 D6 D0 */ b func_801E4BCC /* 80047500 00043160 4E 80 00 20 */ blr .global func_80047504 func_80047504: /* 80047504 00043164 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80047508 00043168 7C 08 02 A6 */ mflr r0 /* 8004750C 0004316C 90 01 00 24 */ stw r0, 0x24(r1) /* 80047510 00043170 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80047514 00043174 93 C1 00 18 */ stw r30, 0x18(r1) /* 80047518 00043178 93 A1 00 14 */ stw r29, 0x14(r1) /* 8004751C 0004317C 7C 7D 1B 78 */ mr r29, r3 /* 80047520 00043180 4B FE BB 69 */ bl func_80033088 /* 80047524 00043184 80 1D 00 08 */ lwz r0, 8(r29) /* 80047528 00043188 7C 7E 1B 78 */ mr r30, r3 /* 8004752C 0004318C 2C 00 00 00 */ cmpwi r0, 0 /* 80047530 00043190 41 82 00 90 */ beq lbl_800475C0 /* 80047534 00043194 2C 03 00 00 */ cmpwi r3, 0 /* 80047538 00043198 41 82 00 88 */ beq lbl_800475C0 /* 8004753C 0004319C 48 0D 54 39 */ bl func_8011C974 /* 80047540 000431A0 80 63 00 10 */ lwz r3, 0x10(r3) /* 80047544 000431A4 37 A3 FC 18 */ addic. r29, r3, -1000 /* 80047548 000431A8 41 80 00 78 */ blt lbl_800475C0 /* 8004754C 000431AC 7F C3 F3 78 */ mr r3, r30 /* 80047550 000431B0 38 80 00 01 */ li r4, 1 /* 80047554 000431B4 4B FE DA 51 */ bl func_80034FA4 /* 80047558 000431B8 7F C3 F3 78 */ mr r3, r30 /* 8004755C 000431BC 38 80 00 00 */ li r4, 0 /* 80047560 000431C0 4B FE DB 21 */ bl func_80035080 /* 80047564 000431C4 3F E0 80 64 */ lis r31, lbl_8063CE34@ha /* 80047568 000431C8 7F A4 EB 78 */ mr r4, r29 /* 8004756C 000431CC 3B FF CE 34 */ addi r31, r31, lbl_8063CE34@l /* 80047570 000431D0 38 7F 00 78 */ addi r3, r31, 0x78 /* 80047574 000431D4 48 35 23 DD */ bl func_80399950 /* 80047578 000431D8 54 64 06 3E */ clrlwi r4, r3, 0x18 /* 8004757C 000431DC 7F C3 F3 78 */ mr r3, r30 /* 80047580 000431E0 7C 04 00 D0 */ neg r0, r4 /* 80047584 000431E4 7C 00 23 78 */ or r0, r0, r4 /* 80047588 000431E8 54 04 0F FE */ srwi r4, r0, 0x1f /* 8004758C 000431EC 4B FE DA ED */ bl func_80035078 /* 80047590 000431F0 7F A4 EB 78 */ mr r4, r29 /* 80047594 000431F4 38 7F 00 78 */ addi r3, r31, 0x78 /* 80047598 000431F8 48 35 23 ED */ bl func_80399984 /* 8004759C 000431FC 7C 60 1B 78 */ mr r0, r3 /* 800475A0 00043200 7F C3 F3 78 */ mr r3, r30 /* 800475A4 00043204 54 04 06 3E */ clrlwi r4, r0, 0x18 /* 800475A8 00043208 4B FE DA F9 */ bl func_800350A0 /* 800475AC 0004320C 7F A4 EB 78 */ mr r4, r29 /* 800475B0 00043210 38 7F 00 78 */ addi r3, r31, 0x78 /* 800475B4 00043214 48 35 24 05 */ bl func_803999B8 /* 800475B8 00043218 7F C3 F3 78 */ mr r3, r30 /* 800475BC 0004321C 4B FE D9 F1 */ bl func_80034FAC lbl_800475C0: /* 800475C0 00043220 80 01 00 24 */ lwz r0, 0x24(r1) /* 800475C4 00043224 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 800475C8 00043228 83 C1 00 18 */ lwz r30, 0x18(r1) /* 800475CC 0004322C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 800475D0 00043230 7C 08 03 A6 */ mtlr r0 /* 800475D4 00043234 38 21 00 20 */ addi r1, r1, 0x20 /* 800475D8 00043238 4E 80 00 20 */ blr .global func_800475DC func_800475DC: /* 800475DC 0004323C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 800475E0 00043240 7C 08 02 A6 */ mflr r0 /* 800475E4 00043244 90 01 00 24 */ stw r0, 0x24(r1) /* 800475E8 00043248 93 E1 00 1C */ stw r31, 0x1c(r1) /* 800475EC 0004324C 3B E0 00 00 */ li r31, 0 /* 800475F0 00043250 93 C1 00 18 */ stw r30, 0x18(r1) /* 800475F4 00043254 93 A1 00 14 */ stw r29, 0x14(r1) /* 800475F8 00043258 7C 9D 23 78 */ mr r29, r4 /* 800475FC 0004325C 93 81 00 10 */ stw r28, 0x10(r1) /* 80047600 00043260 7C 7C 1B 78 */ mr r28, r3 /* 80047604 00043264 48 0D 53 71 */ bl func_8011C974 /* 80047608 00043268 80 83 00 10 */ lwz r4, 0x10(r3) /* 8004760C 0004326C 34 84 FC 18 */ addic. r4, r4, -1000 /* 80047610 00043270 40 80 00 08 */ bge lbl_80047618 /* 80047614 00043274 38 80 00 00 */ li r4, 0 lbl_80047618: /* 80047618 00043278 80 03 00 00 */ lwz r0, 0(r3) /* 8004761C 0004327C 2C 1D 00 02 */ cmpwi r29, 2 /* 80047620 00043280 3B C0 00 00 */ li r30, 0 /* 80047624 00043284 54 00 2F FE */ rlwinm r0, r0, 5, 0x1f, 0x1f /* 80047628 00043288 41 82 00 D4 */ beq lbl_800476FC /* 8004762C 0004328C 40 80 00 14 */ bge lbl_80047640 /* 80047630 00043290 2C 1D 00 00 */ cmpwi r29, 0 /* 80047634 00043294 41 82 00 18 */ beq lbl_8004764C /* 80047638 00043298 40 80 00 8C */ bge lbl_800476C4 /* 8004763C 0004329C 48 00 00 EC */ b lbl_80047728 lbl_80047640: /* 80047640 000432A0 2C 1D 00 04 */ cmpwi r29, 4 /* 80047644 000432A4 40 80 00 E4 */ bge lbl_80047728 /* 80047648 000432A8 48 00 00 CC */ b lbl_80047714 lbl_8004764C: /* 8004764C 000432AC 2C 00 00 00 */ cmpwi r0, 0 /* 80047650 000432B0 41 82 00 5C */ beq lbl_800476AC /* 80047654 000432B4 3B E0 00 00 */ li r31, 0 /* 80047658 000432B8 48 00 00 2C */ b lbl_80047684 lbl_8004765C: /* 8004765C 000432BC 7F 83 E3 78 */ mr r3, r28 /* 80047660 000432C0 38 9F 00 80 */ addi r4, r31, 0x80 /* 80047664 000432C4 38 A0 00 00 */ li r5, 0 /* 80047668 000432C8 4B FF E4 99 */ bl func_80045B00 /* 8004766C 000432CC A0 63 05 1C */ lhz r3, 0x51c(r3) /* 80047670 000432D0 38 03 FF F8 */ addi r0, r3, -8 /* 80047674 000432D4 7C 1E 00 00 */ cmpw r30, r0 /* 80047678 000432D8 40 80 00 08 */ bge lbl_80047680 /* 8004767C 000432DC 7C 1E 03 78 */ mr r30, r0 lbl_80047680: /* 80047680 000432E0 3B FF 00 01 */ addi r31, r31, 1 lbl_80047684: /* 80047684 000432E4 A0 1C 01 1E */ lhz r0, 0x11e(r28) /* 80047688 000432E8 7C 1F 00 00 */ cmpw r31, r0 /* 8004768C 000432EC 41 80 FF D0 */ blt lbl_8004765C /* 80047690 000432F0 3C 60 80 64 */ lis r3, lbl_8063CE34@ha /* 80047694 000432F4 7F C4 F3 78 */ mr r4, r30 /* 80047698 000432F8 38 63 CE 34 */ addi r3, r3, lbl_8063CE34@l /* 8004769C 000432FC 38 63 00 78 */ addi r3, r3, 0x78 /* 800476A0 00043300 48 35 21 AD */ bl func_8039984C /* 800476A4 00043304 7C 7F 1B 78 */ mr r31, r3 /* 800476A8 00043308 48 00 00 80 */ b lbl_80047728 lbl_800476AC: /* 800476AC 0004330C 3C 60 80 64 */ lis r3, lbl_8063CE34@ha /* 800476B0 00043310 38 63 CE 34 */ addi r3, r3, lbl_8063CE34@l /* 800476B4 00043314 38 63 00 78 */ addi r3, r3, 0x78 /* 800476B8 00043318 48 35 21 61 */ bl func_80399818 /* 800476BC 0004331C 7C 7F 1B 78 */ mr r31, r3 /* 800476C0 00043320 48 00 00 68 */ b lbl_80047728 lbl_800476C4: /* 800476C4 00043324 2C 00 00 00 */ cmpwi r0, 0 /* 800476C8 00043328 41 82 00 1C */ beq lbl_800476E4 /* 800476CC 0004332C 3C 60 80 64 */ lis r3, lbl_8063CE34@ha /* 800476D0 00043330 38 63 CE 34 */ addi r3, r3, lbl_8063CE34@l /* 800476D4 00043334 38 63 00 78 */ addi r3, r3, 0x78 /* 800476D8 00043338 48 35 21 DD */ bl func_803998B4 /* 800476DC 0004333C 7C 7F 1B 78 */ mr r31, r3 /* 800476E0 00043340 48 00 00 48 */ b lbl_80047728 lbl_800476E4: /* 800476E4 00043344 3C 60 80 64 */ lis r3, lbl_8063CE34@ha /* 800476E8 00043348 38 63 CE 34 */ addi r3, r3, lbl_8063CE34@l /* 800476EC 0004334C 38 63 00 78 */ addi r3, r3, 0x78 /* 800476F0 00043350 48 35 21 91 */ bl func_80399880 /* 800476F4 00043354 7C 7F 1B 78 */ mr r31, r3 /* 800476F8 00043358 48 00 00 30 */ b lbl_80047728 lbl_800476FC: /* 800476FC 0004335C 3C 60 80 64 */ lis r3, lbl_8063CE34@ha /* 80047700 00043360 38 63 CE 34 */ addi r3, r3, lbl_8063CE34@l /* 80047704 00043364 38 63 00 78 */ addi r3, r3, 0x78 /* 80047708 00043368 48 35 21 E1 */ bl func_803998E8 /* 8004770C 0004336C 7C 7F 1B 78 */ mr r31, r3 /* 80047710 00043370 48 00 00 18 */ b lbl_80047728 lbl_80047714: /* 80047714 00043374 3C 60 80 64 */ lis r3, lbl_8063CE34@ha /* 80047718 00043378 38 63 CE 34 */ addi r3, r3, lbl_8063CE34@l /* 8004771C 0004337C 38 63 00 78 */ addi r3, r3, 0x78 /* 80047720 00043380 48 35 21 FD */ bl func_8039991C /* 80047724 00043384 7C 7F 1B 78 */ mr r31, r3 lbl_80047728: /* 80047728 00043388 2C 1F 00 00 */ cmpwi r31, 0 /* 8004772C 0004338C 40 80 00 08 */ bge lbl_80047734 /* 80047730 00043390 3B E0 00 00 */ li r31, 0 lbl_80047734: /* 80047734 00043394 7F E3 FB 78 */ mr r3, r31 /* 80047738 00043398 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8004773C 0004339C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80047740 000433A0 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80047744 000433A4 83 81 00 10 */ lwz r28, 0x10(r1) /* 80047748 000433A8 80 01 00 24 */ lwz r0, 0x24(r1) /* 8004774C 000433AC 7C 08 03 A6 */ mtlr r0 /* 80047750 000433B0 38 21 00 20 */ addi r1, r1, 0x20 /* 80047754 000433B4 4E 80 00 20 */ blr .global func_80047758 func_80047758: /* 80047758 000433B8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8004775C 000433BC 7C 08 02 A6 */ mflr r0 /* 80047760 000433C0 90 01 00 24 */ stw r0, 0x24(r1) /* 80047764 000433C4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80047768 000433C8 3B E3 00 0C */ addi r31, r3, 0xc /* 8004776C 000433CC 93 C1 00 18 */ stw r30, 0x18(r1) /* 80047770 000433D0 3B C0 00 00 */ li r30, 0 /* 80047774 000433D4 93 A1 00 14 */ stw r29, 0x14(r1) /* 80047778 000433D8 7C 7D 1B 78 */ mr r29, r3 /* 8004777C 000433DC 48 00 00 24 */ b lbl_800477A0 lbl_80047780: /* 80047780 000433E0 7F E3 FB 78 */ mr r3, r31 /* 80047784 000433E4 4B FF D8 2D */ bl func_80044FB0 /* 80047788 000433E8 2C 03 00 00 */ cmpwi r3, 0 /* 8004778C 000433EC 41 82 00 0C */ beq lbl_80047798 /* 80047790 000433F0 7F E3 FB 78 */ mr r3, r31 /* 80047794 000433F4 4B FF D8 D9 */ bl func_8004506C lbl_80047798: /* 80047798 000433F8 3B FF 00 44 */ addi r31, r31, 0x44 /* 8004779C 000433FC 3B DE 00 01 */ addi r30, r30, 1 lbl_800477A0: /* 800477A0 00043400 A0 1D 01 1E */ lhz r0, 0x11e(r29) /* 800477A4 00043404 7C 1E 00 00 */ cmpw r30, r0 /* 800477A8 00043408 41 80 FF D8 */ blt lbl_80047780 /* 800477AC 0004340C 80 01 00 24 */ lwz r0, 0x24(r1) /* 800477B0 00043410 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 800477B4 00043414 83 C1 00 18 */ lwz r30, 0x18(r1) /* 800477B8 00043418 83 A1 00 14 */ lwz r29, 0x14(r1) /* 800477BC 0004341C 7C 08 03 A6 */ mtlr r0 /* 800477C0 00043420 38 21 00 20 */ addi r1, r1, 0x20 /* 800477C4 00043424 4E 80 00 20 */ blr .global func_800477C8 func_800477C8: /* 800477C8 00043428 38 A0 00 01 */ li r5, 1 /* 800477CC 0004342C 38 6D 97 F0 */ addi r3, r13, lbl_8063EAB0-_SDA_BASE_ /* 800477D0 00043430 38 80 00 04 */ li r4, 4 /* 800477D4 00043434 38 00 00 00 */ li r0, 0 /* 800477D8 00043438 98 AD 97 F0 */ stb r5, lbl_8063EAB0-_SDA_BASE_(r13) /* 800477DC 0004343C B0 83 00 02 */ sth r4, 2(r3) /* 800477E0 00043440 98 03 00 04 */ stb r0, 4(r3) /* 800477E4 00043444 4E 80 00 20 */ blr