.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global func_80036F88 func_80036F88: /* 80036F88 00032BE8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80036F8C 00032BEC 7C 08 02 A6 */ mflr r0 /* 80036F90 00032BF0 90 01 00 14 */ stw r0, 0x14(r1) /* 80036F94 00032BF4 93 E1 00 0C */ stw r31, 0xc(r1) /* 80036F98 00032BF8 7C 9F 23 78 */ mr r31, r4 /* 80036F9C 00032BFC 93 C1 00 08 */ stw r30, 8(r1) /* 80036FA0 00032C00 7C 7E 1B 78 */ mr r30, r3 /* 80036FA4 00032C04 48 1A 45 19 */ bl func_801DB4BC /* 80036FA8 00032C08 2C 03 00 00 */ cmpwi r3, 0 /* 80036FAC 00032C0C 40 82 00 30 */ bne lbl_80036FDC /* 80036FB0 00032C10 7F C3 F3 78 */ mr r3, r30 /* 80036FB4 00032C14 7F E4 FB 78 */ mr r4, r31 /* 80036FB8 00032C18 48 21 28 65 */ bl func_8024981C /* 80036FBC 00032C1C 48 00 00 0C */ b lbl_80036FC8 lbl_80036FC0: /* 80036FC0 00032C20 80 6D A3 40 */ lwz r3, lbl_8063F600-_SDA_BASE_(r13) /* 80036FC4 00032C24 48 1E D5 C5 */ bl func_80224588 lbl_80036FC8: /* 80036FC8 00032C28 7F C3 F3 78 */ mr r3, r30 /* 80036FCC 00032C2C 7F E4 FB 78 */ mr r4, r31 /* 80036FD0 00032C30 48 1A 44 ED */ bl func_801DB4BC /* 80036FD4 00032C34 2C 03 00 00 */ cmpwi r3, 0 /* 80036FD8 00032C38 41 82 FF E8 */ beq lbl_80036FC0 lbl_80036FDC: /* 80036FDC 00032C3C 7F C3 F3 78 */ mr r3, r30 /* 80036FE0 00032C40 7F E4 FB 78 */ mr r4, r31 /* 80036FE4 00032C44 48 1A 45 19 */ bl func_801DB4FC /* 80036FE8 00032C48 80 01 00 14 */ lwz r0, 0x14(r1) /* 80036FEC 00032C4C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80036FF0 00032C50 83 C1 00 08 */ lwz r30, 8(r1) /* 80036FF4 00032C54 7C 08 03 A6 */ mtlr r0 /* 80036FF8 00032C58 38 21 00 10 */ addi r1, r1, 0x10 /* 80036FFC 00032C5C 4E 80 00 20 */ blr .global func_80037000 func_80037000: /* 80037000 00032C60 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80037004 00032C64 7C 08 02 A6 */ mflr r0 /* 80037008 00032C68 90 01 00 34 */ stw r0, 0x34(r1) /* 8003700C 00032C6C DB E1 00 20 */ stfd f31, 0x20(r1) /* 80037010 00032C70 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0 /* 80037014 00032C74 C3 E2 82 20 */ lfs f31, lbl_80640820-_SDA2_BASE_(r2) /* 80037018 00032C78 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8003701C 00032C7C 3B E0 00 00 */ li r31, 0 /* 80037020 00032C80 93 C1 00 18 */ stw r30, 0x18(r1) /* 80037024 00032C84 93 A1 00 14 */ stw r29, 0x14(r1) /* 80037028 00032C88 3B A0 00 00 */ li r29, 0 /* 8003702C 00032C8C 93 81 00 10 */ stw r28, 0x10(r1) /* 80037030 00032C90 7C 7C 1B 78 */ mr r28, r3 /* 80037034 00032C94 7F 9E E3 78 */ mr r30, r28 /* 80037038 00032C98 93 E3 00 00 */ stw r31, 0(r3) lbl_8003703C: /* 8003703C 00032C9C 80 7E 00 0C */ lwz r3, 0xc(r30) /* 80037040 00032CA0 2C 03 00 00 */ cmpwi r3, 0 /* 80037044 00032CA4 41 82 00 4C */ beq lbl_80037090 /* 80037048 00032CA8 80 03 01 04 */ lwz r0, 0x104(r3) /* 8003704C 00032CAC 60 00 00 04 */ ori r0, r0, 4 /* 80037050 00032CB0 90 03 01 04 */ stw r0, 0x104(r3) /* 80037054 00032CB4 D3 E3 01 10 */ stfs f31, 0x110(r3) /* 80037058 00032CB8 80 9E 00 0C */ lwz r4, 0xc(r30) /* 8003705C 00032CBC 80 64 00 C0 */ lwz r3, 0xc0(r4) /* 80037060 00032CC0 2C 03 00 00 */ cmpwi r3, 0 /* 80037064 00032CC4 41 82 00 08 */ beq lbl_8003706C /* 80037068 00032CC8 48 1B B1 C1 */ bl func_801F2228 lbl_8003706C: /* 8003706C 00032CCC 80 7E 00 0C */ lwz r3, 0xc(r30) /* 80037070 00032CD0 2C 03 00 00 */ cmpwi r3, 0 /* 80037074 00032CD4 41 82 00 18 */ beq lbl_8003708C /* 80037078 00032CD8 81 83 01 00 */ lwz r12, 0x100(r3) /* 8003707C 00032CDC 38 80 00 01 */ li r4, 1 /* 80037080 00032CE0 81 8C 00 08 */ lwz r12, 8(r12) /* 80037084 00032CE4 7D 89 03 A6 */ mtctr r12 /* 80037088 00032CE8 4E 80 04 21 */ bctrl lbl_8003708C: /* 8003708C 00032CEC 93 FE 00 0C */ stw r31, 0xc(r30) lbl_80037090: /* 80037090 00032CF0 3B BD 00 01 */ addi r29, r29, 1 /* 80037094 00032CF4 3B DE 00 04 */ addi r30, r30, 4 /* 80037098 00032CF8 2C 1D 00 08 */ cmpwi r29, 8 /* 8003709C 00032CFC 41 80 FF A0 */ blt lbl_8003703C /* 800370A0 00032D00 80 7C 00 04 */ lwz r3, 4(r28) /* 800370A4 00032D04 2C 03 00 00 */ cmpwi r3, 0 /* 800370A8 00032D08 40 82 00 10 */ bne lbl_800370B8 /* 800370AC 00032D0C 80 1C 00 08 */ lwz r0, 8(r28) /* 800370B0 00032D10 2C 00 00 00 */ cmpwi r0, 0 /* 800370B4 00032D14 41 82 00 0C */ beq lbl_800370C0 lbl_800370B8: /* 800370B8 00032D18 80 9C 00 08 */ lwz r4, 8(r28) /* 800370BC 00032D1C 48 1A 44 8D */ bl func_801DB548 lbl_800370C0: /* 800370C0 00032D20 38 00 00 00 */ li r0, 0 /* 800370C4 00032D24 90 1C 00 04 */ stw r0, 4(r28) /* 800370C8 00032D28 90 1C 00 08 */ stw r0, 8(r28) /* 800370CC 00032D2C E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0 /* 800370D0 00032D30 CB E1 00 20 */ lfd f31, 0x20(r1) /* 800370D4 00032D34 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 800370D8 00032D38 83 C1 00 18 */ lwz r30, 0x18(r1) /* 800370DC 00032D3C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 800370E0 00032D40 83 81 00 10 */ lwz r28, 0x10(r1) /* 800370E4 00032D44 80 01 00 34 */ lwz r0, 0x34(r1) /* 800370E8 00032D48 7C 08 03 A6 */ mtlr r0 /* 800370EC 00032D4C 38 21 00 30 */ addi r1, r1, 0x30 /* 800370F0 00032D50 4E 80 00 20 */ blr .global func_800370F4 func_800370F4: /* 800370F4 00032D54 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 800370F8 00032D58 38 00 00 00 */ li r0, 0 /* 800370FC 00032D5C 98 03 00 00 */ stb r0, 0(r3) /* 80037100 00032D60 D0 03 00 04 */ stfs f0, 4(r3) /* 80037104 00032D64 D0 03 00 08 */ stfs f0, 8(r3) /* 80037108 00032D68 D0 03 00 0C */ stfs f0, 0xc(r3) /* 8003710C 00032D6C 90 03 00 10 */ stw r0, 0x10(r3) /* 80037110 00032D70 90 03 00 14 */ stw r0, 0x14(r3) /* 80037114 00032D74 90 03 00 18 */ stw r0, 0x18(r3) /* 80037118 00032D78 90 03 00 1C */ stw r0, 0x1c(r3) /* 8003711C 00032D7C 90 03 00 20 */ stw r0, 0x20(r3) /* 80037120 00032D80 90 03 00 24 */ stw r0, 0x24(r3) /* 80037124 00032D84 90 03 00 28 */ stw r0, 0x28(r3) /* 80037128 00032D88 4E 80 00 20 */ blr lbl_8003712C: /* 8003712C 00032D8C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80037130 00032D90 7C 08 02 A6 */ mflr r0 /* 80037134 00032D94 90 01 00 24 */ stw r0, 0x24(r1) /* 80037138 00032D98 39 61 00 20 */ addi r11, r1, 0x20 /* 8003713C 00032D9C 48 18 FF E9 */ bl _savegpr_26 /* 80037140 00032DA0 7C 7A 1B 78 */ mr r26, r3 /* 80037144 00032DA4 7C 9B 23 78 */ mr r27, r4 /* 80037148 00032DA8 48 01 66 C5 */ bl func_8004D80C /* 8003714C 00032DAC 2C 03 00 00 */ cmpwi r3, 0 /* 80037150 00032DB0 7C 7D 1B 78 */ mr r29, r3 /* 80037154 00032DB4 40 82 00 0C */ bne lbl_80037160 /* 80037158 00032DB8 38 60 00 00 */ li r3, 0 /* 8003715C 00032DBC 48 00 00 60 */ b lbl_800371BC lbl_80037160: /* 80037160 00032DC0 7F 5E D3 78 */ mr r30, r26 /* 80037164 00032DC4 3B 80 00 00 */ li r28, 0 /* 80037168 00032DC8 3B E0 00 00 */ li r31, 0 lbl_8003716C: /* 8003716C 00032DCC 80 9E 00 14 */ lwz r4, 0x14(r30) /* 80037170 00032DD0 2C 04 00 00 */ cmpwi r4, 0 /* 80037174 00032DD4 41 82 00 10 */ beq lbl_80037184 /* 80037178 00032DD8 7F A3 EB 78 */ mr r3, r29 /* 8003717C 00032DDC 48 01 6B 31 */ bl func_8004DCAC /* 80037180 00032DE0 93 FE 00 14 */ stw r31, 0x14(r30) lbl_80037184: /* 80037184 00032DE4 7F A3 EB 78 */ mr r3, r29 /* 80037188 00032DE8 48 01 6A C9 */ bl func_8004DC50 /* 8003718C 00032DEC 90 7E 00 14 */ stw r3, 0x14(r30) /* 80037190 00032DF0 7F 65 DB 78 */ mr r5, r27 /* 80037194 00032DF4 38 80 00 0C */ li r4, 0xc /* 80037198 00032DF8 38 C0 00 00 */ li r6, 0 /* 8003719C 00032DFC 48 01 70 99 */ bl func_8004E234 /* 800371A0 00032E00 3B 9C 00 01 */ addi r28, r28, 1 /* 800371A4 00032E04 3B DE 00 04 */ addi r30, r30, 4 /* 800371A8 00032E08 2C 1C 00 06 */ cmpwi r28, 6 /* 800371AC 00032E0C 41 80 FF C0 */ blt lbl_8003716C /* 800371B0 00032E10 38 00 00 00 */ li r0, 0 /* 800371B4 00032E14 38 60 00 01 */ li r3, 1 /* 800371B8 00032E18 98 1A 00 00 */ stb r0, 0(r26) lbl_800371BC: /* 800371BC 00032E1C 39 61 00 20 */ addi r11, r1, 0x20 /* 800371C0 00032E20 48 18 FF B1 */ bl _restgpr_26 /* 800371C4 00032E24 80 01 00 24 */ lwz r0, 0x24(r1) /* 800371C8 00032E28 7C 08 03 A6 */ mtlr r0 /* 800371CC 00032E2C 38 21 00 20 */ addi r1, r1, 0x20 /* 800371D0 00032E30 4E 80 00 20 */ blr .global func_800371D4 func_800371D4: /* 800371D4 00032E34 94 21 FF D0 */ stwu r1, -0x30(r1) /* 800371D8 00032E38 7C 08 02 A6 */ mflr r0 /* 800371DC 00032E3C 90 01 00 34 */ stw r0, 0x34(r1) /* 800371E0 00032E40 DB E1 00 20 */ stfd f31, 0x20(r1) /* 800371E4 00032E44 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0 /* 800371E8 00032E48 39 61 00 20 */ addi r11, r1, 0x20 /* 800371EC 00032E4C 48 18 FF 3D */ bl _savegpr_27 /* 800371F0 00032E50 7C 7B 1B 78 */ mr r27, r3 /* 800371F4 00032E54 48 01 66 19 */ bl func_8004D80C /* 800371F8 00032E58 2C 03 00 00 */ cmpwi r3, 0 /* 800371FC 00032E5C 7C 7D 1B 78 */ mr r29, r3 /* 80037200 00032E60 41 82 00 64 */ beq lbl_80037264 /* 80037204 00032E64 C3 E2 82 20 */ lfs f31, lbl_80640820-_SDA2_BASE_(r2) /* 80037208 00032E68 7F 7E DB 78 */ mr r30, r27 /* 8003720C 00032E6C 3B 80 00 00 */ li r28, 0 /* 80037210 00032E70 3B E0 00 00 */ li r31, 0 lbl_80037214: /* 80037214 00032E74 80 7E 00 14 */ lwz r3, 0x14(r30) /* 80037218 00032E78 2C 03 00 00 */ cmpwi r3, 0 /* 8003721C 00032E7C 41 82 00 30 */ beq lbl_8003724C /* 80037220 00032E80 80 63 00 40 */ lwz r3, 0x40(r3) /* 80037224 00032E84 2C 03 00 00 */ cmpwi r3, 0 /* 80037228 00032E88 41 82 00 14 */ beq lbl_8003723C /* 8003722C 00032E8C 80 03 01 04 */ lwz r0, 0x104(r3) /* 80037230 00032E90 60 00 00 04 */ ori r0, r0, 4 /* 80037234 00032E94 90 03 01 04 */ stw r0, 0x104(r3) /* 80037238 00032E98 D3 E3 01 10 */ stfs f31, 0x110(r3) lbl_8003723C: /* 8003723C 00032E9C 80 9E 00 14 */ lwz r4, 0x14(r30) /* 80037240 00032EA0 7F A3 EB 78 */ mr r3, r29 /* 80037244 00032EA4 48 01 6A 69 */ bl func_8004DCAC /* 80037248 00032EA8 93 FE 00 14 */ stw r31, 0x14(r30) lbl_8003724C: /* 8003724C 00032EAC 3B 9C 00 01 */ addi r28, r28, 1 /* 80037250 00032EB0 3B DE 00 04 */ addi r30, r30, 4 /* 80037254 00032EB4 2C 1C 00 06 */ cmpwi r28, 6 /* 80037258 00032EB8 41 80 FF BC */ blt lbl_80037214 /* 8003725C 00032EBC 38 00 00 00 */ li r0, 0 /* 80037260 00032EC0 98 1B 00 00 */ stb r0, 0(r27) lbl_80037264: /* 80037264 00032EC4 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0 /* 80037268 00032EC8 39 61 00 20 */ addi r11, r1, 0x20 /* 8003726C 00032ECC CB E1 00 20 */ lfd f31, 0x20(r1) /* 80037270 00032ED0 48 18 FF 05 */ bl _restgpr_27 /* 80037274 00032ED4 80 01 00 34 */ lwz r0, 0x34(r1) /* 80037278 00032ED8 7C 08 03 A6 */ mtlr r0 /* 8003727C 00032EDC 38 21 00 30 */ addi r1, r1, 0x30 /* 80037280 00032EE0 4E 80 00 20 */ blr .global func_80037284 func_80037284: /* 80037284 00032EE4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80037288 00032EE8 7C 08 02 A6 */ mflr r0 /* 8003728C 00032EEC 90 01 00 24 */ stw r0, 0x24(r1) /* 80037290 00032EF0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80037294 00032EF4 7C 7F 1B 78 */ mr r31, r3 /* 80037298 00032EF8 93 C1 00 18 */ stw r30, 0x18(r1) /* 8003729C 00032EFC 3B C3 00 04 */ addi r30, r3, 4 /* 800372A0 00032F00 93 A1 00 14 */ stw r29, 0x14(r1) /* 800372A4 00032F04 3B A3 02 20 */ addi r29, r3, 0x220 lbl_800372A8: /* 800372A8 00032F08 7F C3 F3 78 */ mr r3, r30 /* 800372AC 00032F0C 48 01 90 79 */ bl func_80050324 /* 800372B0 00032F10 3B DE 00 24 */ addi r30, r30, 0x24 /* 800372B4 00032F14 7C 1E E8 40 */ cmplw r30, r29 /* 800372B8 00032F18 41 80 FF F0 */ blt lbl_800372A8 /* 800372BC 00032F1C 3B DF 04 60 */ addi r30, r31, 0x460 lbl_800372C0: /* 800372C0 00032F20 7F A3 EB 78 */ mr r3, r29 /* 800372C4 00032F24 48 01 9E 25 */ bl func_800510E8 /* 800372C8 00032F28 3B BD 00 C0 */ addi r29, r29, 0xc0 /* 800372CC 00032F2C 7C 1D F0 40 */ cmplw r29, r30 /* 800372D0 00032F30 41 80 FF F0 */ blt lbl_800372C0 /* 800372D4 00032F34 7F C3 F3 78 */ mr r3, r30 /* 800372D8 00032F38 48 01 92 55 */ bl func_8005052C /* 800372DC 00032F3C 38 7F 04 94 */ addi r3, r31, 0x494 /* 800372E0 00032F40 48 01 98 55 */ bl func_80050B34 /* 800372E4 00032F44 38 7F 04 D0 */ addi r3, r31, 0x4d0 /* 800372E8 00032F48 48 01 98 4D */ bl func_80050B34 /* 800372EC 00032F4C 38 7F 05 24 */ addi r3, r31, 0x524 /* 800372F0 00032F50 48 00 76 21 */ bl func_8003E910 /* 800372F4 00032F54 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 800372F8 00032F58 3C 60 00 02 */ lis r3, 0x00020007@ha /* 800372FC 00032F5C 3B C0 00 00 */ li r30, 0 /* 80037300 00032F60 C0 42 82 24 */ lfs f2, lbl_80640824-_SDA2_BASE_(r2) /* 80037304 00032F64 C0 22 82 28 */ lfs f1, lbl_80640828-_SDA2_BASE_(r2) /* 80037308 00032F68 38 03 00 07 */ addi r0, r3, 0x00020007@l /* 8003730C 00032F6C D0 5F 0C 0C */ stfs f2, 0xc0c(r31) /* 80037310 00032F70 38 7F 0D 04 */ addi r3, r31, 0xd04 /* 80037314 00032F74 D0 5F 0C 10 */ stfs f2, 0xc10(r31) /* 80037318 00032F78 D0 5F 0C 14 */ stfs f2, 0xc14(r31) /* 8003731C 00032F7C D0 3F 0C 18 */ stfs f1, 0xc18(r31) /* 80037320 00032F80 D0 3F 0C 1C */ stfs f1, 0xc1c(r31) /* 80037324 00032F84 D0 3F 0C 20 */ stfs f1, 0xc20(r31) /* 80037328 00032F88 93 DF 0C 24 */ stw r30, 0xc24(r31) /* 8003732C 00032F8C 93 DF 0B FC */ stw r30, 0xbfc(r31) /* 80037330 00032F90 93 DF 0C 00 */ stw r30, 0xc00(r31) /* 80037334 00032F94 93 DF 0C B0 */ stw r30, 0xcb0(r31) /* 80037338 00032F98 B3 DF 0B F8 */ sth r30, 0xbf8(r31) /* 8003733C 00032F9C 9B DF 0B F6 */ stb r30, 0xbf6(r31) /* 80037340 00032FA0 B3 DF 0B F4 */ sth r30, 0xbf4(r31) /* 80037344 00032FA4 90 1F 00 00 */ stw r0, 0(r31) /* 80037348 00032FA8 D0 1F 0D 80 */ stfs f0, 0xd80(r31) /* 8003734C 00032FAC D0 1F 0D 84 */ stfs f0, 0xd84(r31) /* 80037350 00032FB0 D0 1F 0D 8C */ stfs f0, 0xd8c(r31) /* 80037354 00032FB4 9B DF 0D 88 */ stb r30, 0xd88(r31) /* 80037358 00032FB8 9B DF 0D 89 */ stb r30, 0xd89(r31) /* 8003735C 00032FBC 9B DF 0D 94 */ stb r30, 0xd94(r31) /* 80037360 00032FC0 93 DF 0C 08 */ stw r30, 0xc08(r31) /* 80037364 00032FC4 93 DF 0C 04 */ stw r30, 0xc04(r31) /* 80037368 00032FC8 93 DF 0C 48 */ stw r30, 0xc48(r31) /* 8003736C 00032FCC 93 DF 0C 4C */ stw r30, 0xc4c(r31) /* 80037370 00032FD0 93 DF 0C 74 */ stw r30, 0xc74(r31) /* 80037374 00032FD4 D0 1F 0C 78 */ stfs f0, 0xc78(r31) /* 80037378 00032FD8 D0 1F 0C 7C */ stfs f0, 0xc7c(r31) /* 8003737C 00032FDC D0 1F 0C 80 */ stfs f0, 0xc80(r31) /* 80037380 00032FE0 D0 1F 0C 84 */ stfs f0, 0xc84(r31) /* 80037384 00032FE4 D0 1F 0C 88 */ stfs f0, 0xc88(r31) /* 80037388 00032FE8 D0 1F 0C 8C */ stfs f0, 0xc8c(r31) /* 8003738C 00032FEC 4B FF FD 69 */ bl func_800370F4 /* 80037390 00032FF0 38 7F 0D 30 */ addi r3, r31, 0xd30 /* 80037394 00032FF4 48 00 55 89 */ bl func_8003C91C /* 80037398 00032FF8 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003739C 00032FFC 38 00 FF FF */ li r0, -1 /* 800373A0 00033000 B3 DF 05 0C */ sth r30, 0x50c(r31) /* 800373A4 00033004 38 7F 05 24 */ addi r3, r31, 0x524 /* 800373A8 00033008 B3 DF 05 10 */ sth r30, 0x510(r31) /* 800373AC 0003300C B3 DF 05 12 */ sth r30, 0x512(r31) /* 800373B0 00033010 9B DF 05 16 */ stb r30, 0x516(r31) /* 800373B4 00033014 B3 DF 05 14 */ sth r30, 0x514(r31) /* 800373B8 00033018 93 DF 05 18 */ stw r30, 0x518(r31) /* 800373BC 0003301C B3 DF 05 1C */ sth r30, 0x51c(r31) /* 800373C0 00033020 9B DF 05 21 */ stb r30, 0x521(r31) /* 800373C4 00033024 B3 DF 0C 68 */ sth r30, 0xc68(r31) /* 800373C8 00033028 D0 1F 0D 78 */ stfs f0, 0xd78(r31) /* 800373CC 0003302C D0 1F 0D 7C */ stfs f0, 0xd7c(r31) /* 800373D0 00033030 D0 1F 0D 64 */ stfs f0, 0xd64(r31) /* 800373D4 00033034 D0 1F 0D 68 */ stfs f0, 0xd68(r31) /* 800373D8 00033038 D0 1F 0D 6C */ stfs f0, 0xd6c(r31) /* 800373DC 0003303C 93 DF 0D 70 */ stw r30, 0xd70(r31) /* 800373E0 00033040 90 1F 0D 74 */ stw r0, 0xd74(r31) /* 800373E4 00033044 48 00 75 BD */ bl func_8003E9A0 /* 800373E8 00033048 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 800373EC 0003304C D0 1F 0C 70 */ stfs f0, 0xc70(r31) /* 800373F0 00033050 48 1E C4 41 */ bl func_80223830 /* 800373F4 00033054 3C 80 00 03 */ lis r4, 0x000343FD@ha /* 800373F8 00033058 80 A3 00 00 */ lwz r5, 0(r3) /* 800373FC 0003305C 38 84 43 FD */ addi r4, r4, 0x000343FD@l /* 80037400 00033060 3C 00 43 30 */ lis r0, 0x4330 /* 80037404 00033064 7C 85 21 D6 */ mullw r4, r5, r4 /* 80037408 00033068 90 01 00 08 */ stw r0, 8(r1) /* 8003740C 0003306C C8 62 82 50 */ lfd f3, lbl_80640850-_SDA2_BASE_(r2) /* 80037410 00033070 38 E0 00 01 */ li r7, 1 /* 80037414 00033074 C0 02 82 2C */ lfs f0, lbl_8064082C-_SDA2_BASE_(r2) /* 80037418 00033078 38 C0 00 D4 */ li r6, 0xd4 /* 8003741C 0003307C 3C 84 00 27 */ addis r4, r4, 0x27 /* 80037420 00033080 C1 02 82 30 */ lfs f8, lbl_80640830-_SDA2_BASE_(r2) /* 80037424 00033084 38 04 9E C3 */ addi r0, r4, -24893 /* 80037428 00033088 C0 C2 82 38 */ lfs f6, lbl_80640838-_SDA2_BASE_(r2) /* 8003742C 0003308C 54 04 84 3E */ srwi r4, r0, 0x10 /* 80037430 00033090 90 03 00 00 */ stw r0, 0(r3) /* 80037434 00033094 C0 E2 82 34 */ lfs f7, lbl_80640834-_SDA2_BASE_(r2) /* 80037438 00033098 38 00 00 C4 */ li r0, 0xc4 /* 8003743C 0003309C 90 81 00 0C */ stw r4, 0xc(r1) /* 80037440 000330A0 38 7F 0C D8 */ addi r3, r31, 0xcd8 /* 80037444 000330A4 C0 A2 82 20 */ lfs f5, lbl_80640820-_SDA2_BASE_(r2) /* 80037448 000330A8 38 80 00 00 */ li r4, 0 /* 8003744C 000330AC C8 41 00 08 */ lfd f2, 8(r1) /* 80037450 000330B0 38 A0 00 2C */ li r5, 0x2c /* 80037454 000330B4 C0 22 82 48 */ lfs f1, lbl_80640848-_SDA2_BASE_(r2) /* 80037458 000330B8 ED 22 18 28 */ fsubs f9, f2, f3 /* 8003745C 000330BC C0 82 82 3C */ lfs f4, lbl_8064083C-_SDA2_BASE_(r2) /* 80037460 000330C0 C0 62 82 40 */ lfs f3, lbl_80640840-_SDA2_BASE_(r2) /* 80037464 000330C4 C0 42 82 44 */ lfs f2, lbl_80640844-_SDA2_BASE_(r2) /* 80037468 000330C8 ED 29 00 24 */ fdivs f9, f9, f0 /* 8003746C 000330CC D0 DF 0C 44 */ stfs f6, 0xc44(r31) /* 80037470 000330D0 C0 02 82 4C */ lfs f0, lbl_8064084C-_SDA2_BASE_(r2) /* 80037474 000330D4 D0 FF 0C 38 */ stfs f7, 0xc38(r31) /* 80037478 000330D8 D0 FF 0C 3C */ stfs f7, 0xc3c(r31) /* 8003747C 000330DC D0 FF 0C 40 */ stfs f7, 0xc40(r31) /* 80037480 000330E0 EC C8 48 2A */ fadds f6, f8, f9 /* 80037484 000330E4 D0 FF 0C 28 */ stfs f7, 0xc28(r31) /* 80037488 000330E8 D0 FF 0C 2C */ stfs f7, 0xc2c(r31) /* 8003748C 000330EC D0 DF 0C 6C */ stfs f6, 0xc6c(r31) /* 80037490 000330F0 D0 FF 0C 30 */ stfs f7, 0xc30(r31) /* 80037494 000330F4 D0 BF 0C 34 */ stfs f5, 0xc34(r31) /* 80037498 000330F8 98 FF 0D B4 */ stb r7, 0xdb4(r31) /* 8003749C 000330FC 98 FF 0D B5 */ stb r7, 0xdb5(r31) /* 800374A0 00033100 98 FF 0D B6 */ stb r7, 0xdb6(r31) /* 800374A4 00033104 D0 9F 0D B8 */ stfs f4, 0xdb8(r31) /* 800374A8 00033108 D0 7F 0D BC */ stfs f3, 0xdbc(r31) /* 800374AC 0003310C 98 DF 0D C0 */ stb r6, 0xdc0(r31) /* 800374B0 00033110 98 DF 0D C1 */ stb r6, 0xdc1(r31) /* 800374B4 00033114 98 DF 0D C2 */ stb r6, 0xdc2(r31) /* 800374B8 00033118 98 1F 0D C3 */ stb r0, 0xdc3(r31) /* 800374BC 0003311C D0 BF 0D C4 */ stfs f5, 0xdc4(r31) /* 800374C0 00033120 D0 5F 0D C8 */ stfs f2, 0xdc8(r31) /* 800374C4 00033124 D0 BF 0D CC */ stfs f5, 0xdcc(r31) /* 800374C8 00033128 D0 3F 0D D0 */ stfs f1, 0xdd0(r31) /* 800374CC 0003312C D0 3F 0D D4 */ stfs f1, 0xdd4(r31) /* 800374D0 00033130 D0 3F 0D D8 */ stfs f1, 0xdd8(r31) /* 800374D4 00033134 D1 1F 0D DC */ stfs f8, 0xddc(r31) /* 800374D8 00033138 D1 1F 0D E0 */ stfs f8, 0xde0(r31) /* 800374DC 0003313C D1 1F 0D E4 */ stfs f8, 0xde4(r31) /* 800374E0 00033140 D1 1F 0D E8 */ stfs f8, 0xde8(r31) /* 800374E4 00033144 D0 BF 0D EC */ stfs f5, 0xdec(r31) /* 800374E8 00033148 D0 BF 0D F0 */ stfs f5, 0xdf0(r31) /* 800374EC 0003314C D0 1F 0D F4 */ stfs f0, 0xdf4(r31) /* 800374F0 00033150 93 DF 0C 50 */ stw r30, 0xc50(r31) /* 800374F4 00033154 93 DF 0C 54 */ stw r30, 0xc54(r31) /* 800374F8 00033158 4B FC CC 0D */ bl memset /* 800374FC 0003315C 38 7F 0C 90 */ addi r3, r31, 0xc90 /* 80037500 00033160 38 80 00 00 */ li r4, 0 /* 80037504 00033164 38 A0 00 10 */ li r5, 0x10 /* 80037508 00033168 4B FC CB FD */ bl memset /* 8003750C 0003316C 38 7F 0C 58 */ addi r3, r31, 0xc58 /* 80037510 00033170 38 80 00 00 */ li r4, 0 /* 80037514 00033174 38 A0 00 10 */ li r5, 0x10 /* 80037518 00033178 4B FC CB ED */ bl memset /* 8003751C 0003317C 7F E3 FB 78 */ mr r3, r31 /* 80037520 00033180 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80037524 00033184 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80037528 00033188 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8003752C 0003318C 80 01 00 24 */ lwz r0, 0x24(r1) /* 80037530 00033190 7C 08 03 A6 */ mtlr r0 /* 80037534 00033194 38 21 00 20 */ addi r1, r1, 0x20 /* 80037538 00033198 4E 80 00 20 */ blr .global func_8003753C func_8003753C: /* 8003753C 0003319C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80037540 000331A0 7C 08 02 A6 */ mflr r0 /* 80037544 000331A4 2C 03 00 00 */ cmpwi r3, 0 /* 80037548 000331A8 90 01 00 14 */ stw r0, 0x14(r1) /* 8003754C 000331AC 93 E1 00 0C */ stw r31, 0xc(r1) /* 80037550 000331B0 7C 9F 23 78 */ mr r31, r4 /* 80037554 000331B4 93 C1 00 08 */ stw r30, 8(r1) /* 80037558 000331B8 7C 7E 1B 78 */ mr r30, r3 /* 8003755C 000331BC 41 82 00 2C */ beq lbl_80037588 /* 80037560 000331C0 48 00 00 45 */ bl func_800375A4 /* 80037564 000331C4 34 1E 05 1C */ addic. r0, r30, 0x51c /* 80037568 000331C8 41 82 00 10 */ beq lbl_80037578 /* 8003756C 000331CC 38 7E 05 24 */ addi r3, r30, 0x524 /* 80037570 000331D0 38 80 FF FF */ li r4, -1 /* 80037574 000331D4 48 00 73 D9 */ bl func_8003E94C lbl_80037578: /* 80037578 000331D8 2C 1F 00 00 */ cmpwi r31, 0 /* 8003757C 000331DC 40 81 00 0C */ ble lbl_80037588 /* 80037580 000331E0 7F C3 F3 78 */ mr r3, r30 /* 80037584 000331E4 48 1A 35 35 */ bl __dl__FPv lbl_80037588: /* 80037588 000331E8 7F C3 F3 78 */ mr r3, r30 /* 8003758C 000331EC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80037590 000331F0 83 C1 00 08 */ lwz r30, 8(r1) /* 80037594 000331F4 80 01 00 14 */ lwz r0, 0x14(r1) /* 80037598 000331F8 7C 08 03 A6 */ mtlr r0 /* 8003759C 000331FC 38 21 00 10 */ addi r1, r1, 0x10 /* 800375A0 00033200 4E 80 00 20 */ blr .global func_800375A4 func_800375A4: /* 800375A4 00033204 94 21 FF E0 */ stwu r1, -0x20(r1) /* 800375A8 00033208 7C 08 02 A6 */ mflr r0 /* 800375AC 0003320C 90 01 00 24 */ stw r0, 0x24(r1) /* 800375B0 00033210 93 E1 00 1C */ stw r31, 0x1c(r1) /* 800375B4 00033214 93 C1 00 18 */ stw r30, 0x18(r1) /* 800375B8 00033218 93 A1 00 14 */ stw r29, 0x14(r1) /* 800375BC 0003321C 93 81 00 10 */ stw r28, 0x10(r1) /* 800375C0 00033220 7C 7C 1B 78 */ mr r28, r3 /* 800375C4 00033224 48 00 8C 31 */ bl func_800401F4 /* 800375C8 00033228 2C 03 00 00 */ cmpwi r3, 0 /* 800375CC 0003322C 41 82 00 0C */ beq lbl_800375D8 /* 800375D0 00033230 7F 84 E3 78 */ mr r4, r28 /* 800375D4 00033234 48 00 8C 29 */ bl func_800401FC lbl_800375D8: /* 800375D8 00033238 7F 9E E3 78 */ mr r30, r28 /* 800375DC 0003323C 3B A0 00 00 */ li r29, 0 /* 800375E0 00033240 3B E0 00 00 */ li r31, 0 lbl_800375E4: /* 800375E4 00033244 80 7E 0C 90 */ lwz r3, 0xc90(r30) /* 800375E8 00033248 2C 03 00 00 */ cmpwi r3, 0 /* 800375EC 0003324C 41 82 00 20 */ beq lbl_8003760C /* 800375F0 00033250 41 82 00 18 */ beq lbl_80037608 /* 800375F4 00033254 81 83 01 00 */ lwz r12, 0x100(r3) /* 800375F8 00033258 38 80 00 01 */ li r4, 1 /* 800375FC 0003325C 81 8C 00 08 */ lwz r12, 8(r12) /* 80037600 00033260 7D 89 03 A6 */ mtctr r12 /* 80037604 00033264 4E 80 04 21 */ bctrl lbl_80037608: /* 80037608 00033268 93 FE 0C 90 */ stw r31, 0xc90(r30) lbl_8003760C: /* 8003760C 0003326C 3B BD 00 01 */ addi r29, r29, 1 /* 80037610 00033270 3B DE 00 04 */ addi r30, r30, 4 /* 80037614 00033274 2C 1D 00 04 */ cmpwi r29, 4 /* 80037618 00033278 41 80 FF CC */ blt lbl_800375E4 /* 8003761C 0003327C 80 7C 0C 08 */ lwz r3, 0xc08(r28) /* 80037620 00033280 2C 03 00 00 */ cmpwi r3, 0 /* 80037624 00033284 41 82 00 24 */ beq lbl_80037648 /* 80037628 00033288 41 82 00 18 */ beq lbl_80037640 /* 8003762C 0003328C 81 83 00 0C */ lwz r12, 0xc(r3) /* 80037630 00033290 38 80 00 01 */ li r4, 1 /* 80037634 00033294 81 8C 00 18 */ lwz r12, 0x18(r12) /* 80037638 00033298 7D 89 03 A6 */ mtctr r12 /* 8003763C 0003329C 4E 80 04 21 */ bctrl lbl_80037640: /* 80037640 000332A0 38 00 00 00 */ li r0, 0 /* 80037644 000332A4 90 1C 0C 08 */ stw r0, 0xc08(r28) lbl_80037648: /* 80037648 000332A8 80 7C 0C 04 */ lwz r3, 0xc04(r28) /* 8003764C 000332AC 2C 03 00 00 */ cmpwi r3, 0 /* 80037650 000332B0 41 82 00 08 */ beq lbl_80037658 /* 80037654 000332B4 48 1B ED 3D */ bl func_801F6390 lbl_80037658: /* 80037658 000332B8 80 7C 0C 00 */ lwz r3, 0xc00(r28) /* 8003765C 000332BC 2C 03 00 00 */ cmpwi r3, 0 /* 80037660 000332C0 41 82 00 14 */ beq lbl_80037674 /* 80037664 000332C4 38 80 00 01 */ li r4, 1 /* 80037668 000332C8 48 1C 2C 2D */ bl func_801FA294 /* 8003766C 000332CC 38 00 00 00 */ li r0, 0 /* 80037670 000332D0 90 1C 0C 00 */ stw r0, 0xc00(r28) lbl_80037674: /* 80037674 000332D4 38 7C 0D 04 */ addi r3, r28, 0xd04 /* 80037678 000332D8 4B FF FB 5D */ bl func_800371D4 /* 8003767C 000332DC 80 7C 0B FC */ lwz r3, 0xbfc(r28) /* 80037680 000332E0 2C 03 00 00 */ cmpwi r3, 0 /* 80037684 000332E4 41 82 00 70 */ beq lbl_800376F4 /* 80037688 000332E8 80 1C 00 00 */ lwz r0, 0(r28) /* 8003768C 000332EC 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 80037690 000332F0 41 82 00 14 */ beq lbl_800376A4 /* 80037694 000332F4 48 1A C1 5D */ bl func_801E37F0 /* 80037698 000332F8 80 7C 0B FC */ lwz r3, 0xbfc(r28) /* 8003769C 000332FC 48 1A 38 09 */ bl func_801DAEA4 /* 800376A0 00033300 48 00 00 4C */ b lbl_800376EC lbl_800376A4: /* 800376A4 00033304 80 7C 0C 48 */ lwz r3, 0xc48(r28) /* 800376A8 00033308 80 9C 0C 4C */ lwz r4, 0xc4c(r28) /* 800376AC 0003330C 48 1A 3E 9D */ bl func_801DB548 /* 800376B0 00033310 3B BC 0C 58 */ addi r29, r28, 0xc58 /* 800376B4 00033314 3B FC 0C 68 */ addi r31, r28, 0xc68 /* 800376B8 00033318 48 00 00 1C */ b lbl_800376D4 lbl_800376BC: /* 800376BC 0003331C 80 7D 00 00 */ lwz r3, 0(r29) /* 800376C0 00033320 2C 03 00 00 */ cmpwi r3, 0 /* 800376C4 00033324 41 82 00 0C */ beq lbl_800376D0 /* 800376C8 00033328 80 9D 00 04 */ lwz r4, 4(r29) /* 800376CC 0003332C 48 1A 3E 7D */ bl func_801DB548 lbl_800376D0: /* 800376D0 00033330 3B BD 00 08 */ addi r29, r29, 8 lbl_800376D4: /* 800376D4 00033334 7C 1D F8 40 */ cmplw r29, r31 /* 800376D8 00033338 40 82 FF E4 */ bne lbl_800376BC /* 800376DC 0003333C 38 7C 0C 58 */ addi r3, r28, 0xc58 /* 800376E0 00033340 38 80 00 00 */ li r4, 0 /* 800376E4 00033344 38 A0 00 10 */ li r5, 0x10 /* 800376E8 00033348 4B FC CA 1D */ bl memset lbl_800376EC: /* 800376EC 0003334C 38 00 00 00 */ li r0, 0 /* 800376F0 00033350 90 1C 0B FC */ stw r0, 0xbfc(r28) lbl_800376F4: /* 800376F4 00033354 38 7C 0C D8 */ addi r3, r28, 0xcd8 /* 800376F8 00033358 4B FF F9 09 */ bl func_80037000 /* 800376FC 0003335C 38 7C 05 24 */ addi r3, r28, 0x524 /* 80037700 00033360 48 00 73 B1 */ bl func_8003EAB0 /* 80037704 00033364 3C 60 00 02 */ lis r3, 0x00020807@ha /* 80037708 00033368 80 9C 00 00 */ lwz r4, 0(r28) /* 8003770C 0003336C 38 03 08 07 */ addi r0, r3, 0x00020807@l /* 80037710 00033370 38 60 00 00 */ li r3, 0 /* 80037714 00033374 7C 80 00 38 */ and r0, r4, r0 /* 80037718 00033378 90 7C 0C 48 */ stw r3, 0xc48(r28) /* 8003771C 0003337C 90 7C 0C 4C */ stw r3, 0xc4c(r28) /* 80037720 00033380 90 7C 0C 04 */ stw r3, 0xc04(r28) /* 80037724 00033384 90 1C 00 00 */ stw r0, 0(r28) /* 80037728 00033388 B0 7C 05 10 */ sth r3, 0x510(r28) /* 8003772C 0003338C B0 7C 05 12 */ sth r3, 0x512(r28) /* 80037730 00033390 98 7C 05 16 */ stb r3, 0x516(r28) /* 80037734 00033394 B0 7C 05 14 */ sth r3, 0x514(r28) /* 80037738 00033398 90 7C 05 18 */ stw r3, 0x518(r28) /* 8003773C 0003339C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80037740 000333A0 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80037744 000333A4 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80037748 000333A8 83 81 00 10 */ lwz r28, 0x10(r1) /* 8003774C 000333AC 80 01 00 24 */ lwz r0, 0x24(r1) /* 80037750 000333B0 7C 08 03 A6 */ mtlr r0 /* 80037754 000333B4 38 21 00 20 */ addi r1, r1, 0x20 /* 80037758 000333B8 4E 80 00 20 */ blr .global func_8003775C func_8003775C: /* 8003775C 000333BC 94 21 FE C0 */ stwu r1, -0x140(r1) /* 80037760 000333C0 7C 08 02 A6 */ mflr r0 /* 80037764 000333C4 38 AD 80 D0 */ addi r5, r13, lbl_8063D390-_SDA_BASE_ /* 80037768 000333C8 90 01 01 44 */ stw r0, 0x144(r1) /* 8003776C 000333CC 93 E1 01 3C */ stw r31, 0x13c(r1) /* 80037770 000333D0 93 C1 01 38 */ stw r30, 0x138(r1) /* 80037774 000333D4 7C 9E 23 78 */ mr r30, r4 /* 80037778 000333D8 3C 80 80 41 */ lis r4, lbl_8040A404@ha /* 8003777C 000333DC 93 A1 01 34 */ stw r29, 0x134(r1) /* 80037780 000333E0 7C 7D 1B 78 */ mr r29, r3 /* 80037784 000333E4 38 61 00 28 */ addi r3, r1, 0x28 /* 80037788 000333E8 7F C6 F3 78 */ mr r6, r30 /* 8003778C 000333EC 38 84 A4 04 */ addi r4, r4, lbl_8040A404@l /* 80037790 000333F0 4C C6 31 82 */ crclr 6 /* 80037794 000333F4 48 19 53 69 */ bl sprintf /* 80037798 000333F8 48 1A 37 61 */ bl func_801DAEF8 /* 8003779C 000333FC 38 61 00 28 */ addi r3, r1, 0x28 /* 800377A0 00033400 38 81 00 08 */ addi r4, r1, 8 /* 800377A4 00033404 48 1A 54 1D */ bl func_801DCBC0 /* 800377A8 00033408 2C 03 00 00 */ cmpwi r3, 0 /* 800377AC 0003340C 7C 7F 1B 78 */ mr r31, r3 /* 800377B0 00033410 40 82 00 0C */ bne lbl_800377BC /* 800377B4 00033414 38 60 00 00 */ li r3, 0 /* 800377B8 00033418 48 00 01 50 */ b lbl_80037908 lbl_800377BC: /* 800377BC 0003341C 7F E4 FB 78 */ mr r4, r31 /* 800377C0 00033420 48 1A BD 1D */ bl func_801E34DC /* 800377C4 00033424 48 1A 33 65 */ bl func_801DAB28 /* 800377C8 00033428 2C 03 00 00 */ cmpwi r3, 0 /* 800377CC 0003342C 41 82 00 14 */ beq lbl_800377E0 /* 800377D0 00033430 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 800377D4 00033434 38 80 00 14 */ li r4, 0x14 /* 800377D8 00033438 48 1A 34 BD */ bl func_801DAC94 /* 800377DC 0003343C 48 00 00 08 */ b lbl_800377E4 lbl_800377E0: /* 800377E0 00033440 38 60 00 00 */ li r3, 0 lbl_800377E4: /* 800377E4 00033444 2C 03 00 00 */ cmpwi r3, 0 /* 800377E8 00033448 41 82 00 0C */ beq lbl_800377F4 /* 800377EC 0003344C 7F E4 FB 78 */ mr r4, r31 /* 800377F0 00033450 48 1C 28 A5 */ bl func_801FA094 lbl_800377F4: /* 800377F4 00033454 90 7D 0C 00 */ stw r3, 0xc00(r29) /* 800377F8 00033458 48 1A 37 01 */ bl func_801DAEF8 /* 800377FC 0003345C 80 7D 0C 00 */ lwz r3, 0xc00(r29) /* 80037800 00033460 80 83 00 04 */ lwz r4, 4(r3) /* 80037804 00033464 2C 04 00 00 */ cmpwi r4, 0 /* 80037808 00033468 40 82 00 0C */ bne lbl_80037814 /* 8003780C 0003346C 38 00 00 00 */ li r0, 0 /* 80037810 00033470 48 00 00 20 */ b lbl_80037830 lbl_80037814: /* 80037814 00033474 80 63 00 00 */ lwz r3, 0(r3) /* 80037818 00033478 A0 03 00 18 */ lhz r0, 0x18(r3) /* 8003781C 0003347C 2C 00 00 00 */ cmpwi r0, 0 /* 80037820 00033480 40 82 00 0C */ bne lbl_8003782C /* 80037824 00033484 38 00 00 00 */ li r0, 0 /* 80037828 00033488 48 00 00 08 */ b lbl_80037830 lbl_8003782C: /* 8003782C 0003348C 80 04 00 00 */ lwz r0, 0(r4) lbl_80037830: /* 80037830 00033490 90 1D 0C 04 */ stw r0, 0xc04(r29) /* 80037834 00033494 7F A3 EB 78 */ mr r3, r29 /* 80037838 00033498 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 8003783C 0003349C 38 81 00 18 */ addi r4, r1, 0x18 /* 80037840 000334A0 C0 02 82 30 */ lfs f0, lbl_80640830-_SDA2_BASE_(r2) /* 80037844 000334A4 D0 21 00 18 */ stfs f1, 0x18(r1) /* 80037848 000334A8 D0 21 00 1C */ stfs f1, 0x1c(r1) /* 8003784C 000334AC D0 21 00 20 */ stfs f1, 0x20(r1) /* 80037850 000334B0 D0 01 00 0C */ stfs f0, 0xc(r1) /* 80037854 000334B4 D0 01 00 10 */ stfs f0, 0x10(r1) /* 80037858 000334B8 D0 01 00 14 */ stfs f0, 0x14(r1) /* 8003785C 000334BC 48 00 0F C1 */ bl func_8003881C /* 80037860 000334C0 7F A3 EB 78 */ mr r3, r29 /* 80037864 000334C4 38 81 00 18 */ addi r4, r1, 0x18 /* 80037868 000334C8 48 00 12 69 */ bl func_80038AD0 /* 8003786C 000334CC 7F A3 EB 78 */ mr r3, r29 /* 80037870 000334D0 38 81 00 0C */ addi r4, r1, 0xc /* 80037874 000334D4 48 00 10 DD */ bl func_80038950 /* 80037878 000334D8 80 7D 0C 04 */ lwz r3, 0xc04(r29) /* 8003787C 000334DC 38 80 00 00 */ li r4, 0 /* 80037880 000334E0 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 80037884 000334E4 38 A0 00 01 */ li r5, 1 /* 80037888 000334E8 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2) /* 8003788C 000334EC 38 C0 00 00 */ li r6, 0 /* 80037890 000334F0 38 E0 00 00 */ li r7, 0 /* 80037894 000334F4 39 00 00 00 */ li r8, 0 /* 80037898 000334F8 48 1B D5 5D */ bl func_801F4DF4 /* 8003789C 000334FC 80 7D 0C 04 */ lwz r3, 0xc04(r29) /* 800378A0 00033500 38 80 00 01 */ li r4, 1 /* 800378A4 00033504 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 800378A8 00033508 48 1B EF A1 */ bl func_801F6848 /* 800378AC 0003350C 80 BD 0C 04 */ lwz r5, 0xc04(r29) /* 800378B0 00033510 7F A3 EB 78 */ mr r3, r29 /* 800378B4 00033514 80 1D 00 00 */ lwz r0, 0(r29) /* 800378B8 00033518 7F C4 F3 78 */ mr r4, r30 /* 800378BC 0003351C C0 05 01 20 */ lfs f0, 0x120(r5) /* 800378C0 00033520 60 00 00 80 */ ori r0, r0, 0x80 /* 800378C4 00033524 D0 1D 0C 0C */ stfs f0, 0xc0c(r29) /* 800378C8 00033528 C0 05 01 24 */ lfs f0, 0x124(r5) /* 800378CC 0003352C D0 1D 0C 10 */ stfs f0, 0xc10(r29) /* 800378D0 00033530 C0 05 01 28 */ lfs f0, 0x128(r5) /* 800378D4 00033534 D0 1D 0C 14 */ stfs f0, 0xc14(r29) /* 800378D8 00033538 C0 05 01 2C */ lfs f0, 0x12c(r5) /* 800378DC 0003353C D0 1D 0C 18 */ stfs f0, 0xc18(r29) /* 800378E0 00033540 C0 05 01 30 */ lfs f0, 0x130(r5) /* 800378E4 00033544 D0 1D 0C 1C */ stfs f0, 0xc1c(r29) /* 800378E8 00033548 C0 05 01 34 */ lfs f0, 0x134(r5) /* 800378EC 0003354C D0 1D 0C 20 */ stfs f0, 0xc20(r29) /* 800378F0 00033550 80 A5 01 38 */ lwz r5, 0x138(r5) /* 800378F4 00033554 90 BD 0C 24 */ stw r5, 0xc24(r29) /* 800378F8 00033558 93 FD 0B FC */ stw r31, 0xbfc(r29) /* 800378FC 0003355C 90 1D 00 00 */ stw r0, 0(r29) /* 80037900 00033560 48 00 0C 19 */ bl func_80038518 /* 80037904 00033564 38 60 00 01 */ li r3, 1 lbl_80037908: /* 80037908 00033568 80 01 01 44 */ lwz r0, 0x144(r1) /* 8003790C 0003356C 83 E1 01 3C */ lwz r31, 0x13c(r1) /* 80037910 00033570 83 C1 01 38 */ lwz r30, 0x138(r1) /* 80037914 00033574 83 A1 01 34 */ lwz r29, 0x134(r1) /* 80037918 00033578 7C 08 03 A6 */ mtlr r0 /* 8003791C 0003357C 38 21 01 40 */ addi r1, r1, 0x140 /* 80037920 00033580 4E 80 00 20 */ blr .global func_80037924 func_80037924: /* 80037924 00033584 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80037928 00033588 7C 08 02 A6 */ mflr r0 /* 8003792C 0003358C 90 01 00 24 */ stw r0, 0x24(r1) /* 80037930 00033590 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80037934 00033594 7C BF 2B 78 */ mr r31, r5 /* 80037938 00033598 93 C1 00 18 */ stw r30, 0x18(r1) /* 8003793C 0003359C 7C 9E 23 78 */ mr r30, r4 /* 80037940 000335A0 7F E4 FB 78 */ mr r4, r31 /* 80037944 000335A4 93 A1 00 14 */ stw r29, 0x14(r1) /* 80037948 000335A8 7C 7D 1B 78 */ mr r29, r3 /* 8003794C 000335AC 7F C3 F3 78 */ mr r3, r30 /* 80037950 000335B0 48 1A 3B 6D */ bl func_801DB4BC /* 80037954 000335B4 2C 03 00 00 */ cmpwi r3, 0 /* 80037958 000335B8 90 7D 0B FC */ stw r3, 0xbfc(r29) /* 8003795C 000335BC 40 82 00 0C */ bne lbl_80037968 /* 80037960 000335C0 38 60 00 00 */ li r3, 0 /* 80037964 000335C4 48 00 00 28 */ b lbl_8003798C lbl_80037968: /* 80037968 000335C8 80 1D 00 00 */ lwz r0, 0(r29) /* 8003796C 000335CC 7F A3 EB 78 */ mr r3, r29 /* 80037970 000335D0 93 DD 0C 48 */ stw r30, 0xc48(r29) /* 80037974 000335D4 38 8D 80 D8 */ addi r4, r13, lbl_8063D398-_SDA_BASE_ /* 80037978 000335D8 60 00 00 10 */ ori r0, r0, 0x10 /* 8003797C 000335DC 93 FD 0C 4C */ stw r31, 0xc4c(r29) /* 80037980 000335E0 90 1D 00 00 */ stw r0, 0(r29) /* 80037984 000335E4 48 00 0B 95 */ bl func_80038518 /* 80037988 000335E8 38 60 00 01 */ li r3, 1 lbl_8003798C: /* 8003798C 000335EC 80 01 00 24 */ lwz r0, 0x24(r1) /* 80037990 000335F0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80037994 000335F4 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80037998 000335F8 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8003799C 000335FC 7C 08 03 A6 */ mtlr r0 /* 800379A0 00033600 38 21 00 20 */ addi r1, r1, 0x20 /* 800379A4 00033604 4E 80 00 20 */ blr .global func_800379A8 func_800379A8: /* 800379A8 00033608 94 21 FF C0 */ stwu r1, -0x40(r1) /* 800379AC 0003360C 7C 08 02 A6 */ mflr r0 /* 800379B0 00033610 90 01 00 44 */ stw r0, 0x44(r1) /* 800379B4 00033614 93 E1 00 3C */ stw r31, 0x3c(r1) /* 800379B8 00033618 7C 7F 1B 78 */ mr r31, r3 /* 800379BC 0003361C 93 C1 00 38 */ stw r30, 0x38(r1) /* 800379C0 00033620 93 A1 00 34 */ stw r29, 0x34(r1) /* 800379C4 00033624 80 83 00 00 */ lwz r4, 0(r3) /* 800379C8 00033628 54 80 05 6B */ rlwinm. r0, r4, 0, 0x15, 0x15 /* 800379CC 0003362C 41 82 00 14 */ beq lbl_800379E0 /* 800379D0 00033630 54 80 05 A8 */ rlwinm r0, r4, 0, 0x16, 0x14 /* 800379D4 00033634 A0 83 0C 68 */ lhz r4, 0xc68(r3) /* 800379D8 00033638 90 03 00 00 */ stw r0, 0(r3) /* 800379DC 0003363C 48 00 0B 55 */ bl func_80038530 lbl_800379E0: /* 800379E0 00033640 80 7F 00 00 */ lwz r3, 0(r31) /* 800379E4 00033644 54 60 05 AD */ rlwinm. r0, r3, 0, 0x16, 0x16 /* 800379E8 00033648 41 82 00 20 */ beq lbl_80037A08 /* 800379EC 0003364C A0 1F 05 0C */ lhz r0, 0x50c(r31) /* 800379F0 00033650 54 63 05 EA */ rlwinm r3, r3, 0, 0x17, 0x15 /* 800379F4 00033654 90 7F 00 00 */ stw r3, 0(r31) /* 800379F8 00033658 28 00 00 02 */ cmplwi r0, 2 /* 800379FC 0003365C 40 82 00 0C */ bne lbl_80037A08 /* 80037A00 00033660 7F E3 FB 78 */ mr r3, r31 /* 80037A04 00033664 48 00 5A 31 */ bl func_8003D434 lbl_80037A08: /* 80037A08 00033668 80 7F 00 00 */ lwz r3, 0(r31) /* 80037A0C 0003366C 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b /* 80037A10 00033670 41 82 02 FC */ beq lbl_80037D0C /* 80037A14 00033674 80 1F 0B FC */ lwz r0, 0xbfc(r31) /* 80037A18 00033678 54 63 07 34 */ rlwinm r3, r3, 0, 0x1c, 0x1a /* 80037A1C 0003367C 90 7F 00 00 */ stw r3, 0(r31) /* 80037A20 00033680 2C 00 00 00 */ cmpwi r0, 0 /* 80037A24 00033684 41 82 02 BC */ beq lbl_80037CE0 /* 80037A28 00033688 80 7F 0C 00 */ lwz r3, 0xc00(r31) /* 80037A2C 0003368C 2C 03 00 00 */ cmpwi r3, 0 /* 80037A30 00033690 41 82 00 0C */ beq lbl_80037A3C /* 80037A34 00033694 38 80 00 01 */ li r4, 1 /* 80037A38 00033698 48 1C 28 5D */ bl func_801FA294 lbl_80037A3C: /* 80037A3C 0003369C 48 1A 30 ED */ bl func_801DAB28 /* 80037A40 000336A0 2C 03 00 00 */ cmpwi r3, 0 /* 80037A44 000336A4 41 82 00 14 */ beq lbl_80037A58 /* 80037A48 000336A8 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 80037A4C 000336AC 38 80 00 14 */ li r4, 0x14 /* 80037A50 000336B0 48 1A 32 45 */ bl func_801DAC94 /* 80037A54 000336B4 48 00 00 08 */ b lbl_80037A5C lbl_80037A58: /* 80037A58 000336B8 38 60 00 00 */ li r3, 0 lbl_80037A5C: /* 80037A5C 000336BC 2C 03 00 00 */ cmpwi r3, 0 /* 80037A60 000336C0 41 82 00 0C */ beq lbl_80037A6C /* 80037A64 000336C4 80 9F 0B FC */ lwz r4, 0xbfc(r31) /* 80037A68 000336C8 48 1C 26 2D */ bl func_801FA094 lbl_80037A6C: /* 80037A6C 000336CC 90 7F 0C 00 */ stw r3, 0xc00(r31) /* 80037A70 000336D0 80 83 00 04 */ lwz r4, 4(r3) /* 80037A74 000336D4 2C 04 00 00 */ cmpwi r4, 0 /* 80037A78 000336D8 40 82 00 0C */ bne lbl_80037A84 /* 80037A7C 000336DC 38 60 00 00 */ li r3, 0 /* 80037A80 000336E0 48 00 00 20 */ b lbl_80037AA0 lbl_80037A84: /* 80037A84 000336E4 80 63 00 00 */ lwz r3, 0(r3) /* 80037A88 000336E8 A0 03 00 18 */ lhz r0, 0x18(r3) /* 80037A8C 000336EC 2C 00 00 00 */ cmpwi r0, 0 /* 80037A90 000336F0 40 82 00 0C */ bne lbl_80037A9C /* 80037A94 000336F4 38 60 00 00 */ li r3, 0 /* 80037A98 000336F8 48 00 00 08 */ b lbl_80037AA0 lbl_80037A9C: /* 80037A9C 000336FC 80 64 00 00 */ lwz r3, 0(r4) lbl_80037AA0: /* 80037AA0 00033700 80 1F 00 00 */ lwz r0, 0(r31) /* 80037AA4 00033704 90 7F 0C 04 */ stw r3, 0xc04(r31) /* 80037AA8 00033708 54 00 05 29 */ rlwinm. r0, r0, 0, 0x14, 0x14 /* 80037AAC 0003370C 41 82 00 10 */ beq lbl_80037ABC /* 80037AB0 00033710 48 1C BD 61 */ bl func_80203810 /* 80037AB4 00033714 80 7F 0C 04 */ lwz r3, 0xc04(r31) /* 80037AB8 00033718 48 1C 8D A1 */ bl func_80200858 lbl_80037ABC: /* 80037ABC 0003371C C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 80037AC0 00033720 C0 02 82 30 */ lfs f0, lbl_80640830-_SDA2_BASE_(r2) /* 80037AC4 00033724 D0 21 00 20 */ stfs f1, 0x20(r1) /* 80037AC8 00033728 D0 21 00 24 */ stfs f1, 0x24(r1) /* 80037ACC 0003372C D0 21 00 28 */ stfs f1, 0x28(r1) /* 80037AD0 00033730 D0 01 00 14 */ stfs f0, 0x14(r1) /* 80037AD4 00033734 D0 01 00 18 */ stfs f0, 0x18(r1) /* 80037AD8 00033738 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 80037ADC 0003373C D0 21 00 08 */ stfs f1, 8(r1) /* 80037AE0 00033740 D0 21 00 0C */ stfs f1, 0xc(r1) /* 80037AE4 00033744 D0 21 00 10 */ stfs f1, 0x10(r1) /* 80037AE8 00033748 A0 1F 05 0C */ lhz r0, 0x50c(r31) /* 80037AEC 0003374C 28 00 00 03 */ cmplwi r0, 3 /* 80037AF0 00033750 41 82 00 14 */ beq lbl_80037B04 /* 80037AF4 00033754 C0 02 82 58 */ lfs f0, lbl_80640858-_SDA2_BASE_(r2) /* 80037AF8 00033758 D0 21 00 0C */ stfs f1, 0xc(r1) /* 80037AFC 0003375C D0 01 00 08 */ stfs f0, 8(r1) /* 80037B00 00033760 D0 21 00 10 */ stfs f1, 0x10(r1) lbl_80037B04: /* 80037B04 00033764 7F E3 FB 78 */ mr r3, r31 /* 80037B08 00033768 38 81 00 08 */ addi r4, r1, 8 /* 80037B0C 0003376C 48 00 0D 11 */ bl func_8003881C /* 80037B10 00033770 7F E3 FB 78 */ mr r3, r31 /* 80037B14 00033774 38 81 00 20 */ addi r4, r1, 0x20 /* 80037B18 00033778 48 00 0F B9 */ bl func_80038AD0 /* 80037B1C 0003377C 7F E3 FB 78 */ mr r3, r31 /* 80037B20 00033780 38 81 00 14 */ addi r4, r1, 0x14 /* 80037B24 00033784 48 00 0E 2D */ bl func_80038950 /* 80037B28 00033788 A0 1F 05 0C */ lhz r0, 0x50c(r31) /* 80037B2C 0003378C 28 00 00 01 */ cmplwi r0, 1 /* 80037B30 00033790 40 82 01 04 */ bne lbl_80037C34 /* 80037B34 00033794 A0 1F 05 10 */ lhz r0, 0x510(r31) /* 80037B38 00033798 2C 00 01 47 */ cmpwi r0, 0x147 /* 80037B3C 0003379C 41 82 00 14 */ beq lbl_80037B50 /* 80037B40 000337A0 40 80 00 F4 */ bge lbl_80037C34 /* 80037B44 000337A4 2C 00 01 3C */ cmpwi r0, 0x13c /* 80037B48 000337A8 41 82 00 E4 */ beq lbl_80037C2C /* 80037B4C 000337AC 48 00 00 E8 */ b lbl_80037C34 lbl_80037B50: /* 80037B50 000337B0 3C 80 09 31 */ lis r4, 0x09310C00@ha /* 80037B54 000337B4 80 7F 0C 48 */ lwz r3, 0xc48(r31) /* 80037B58 000337B8 38 84 0C 00 */ addi r4, r4, 0x09310C00@l /* 80037B5C 000337BC 48 1A 39 61 */ bl func_801DB4BC /* 80037B60 000337C0 2C 03 00 00 */ cmpwi r3, 0 /* 80037B64 000337C4 7C 7E 1B 78 */ mr r30, r3 /* 80037B68 000337C8 41 82 00 CC */ beq lbl_80037C34 /* 80037B6C 000337CC 3C 80 09 30 */ lis r4, 0x09300C00@ha /* 80037B70 000337D0 80 7F 0C 48 */ lwz r3, 0xc48(r31) /* 80037B74 000337D4 38 84 0C 00 */ addi r4, r4, 0x09300C00@l /* 80037B78 000337D8 48 1A 39 45 */ bl func_801DB4BC /* 80037B7C 000337DC 2C 03 00 00 */ cmpwi r3, 0 /* 80037B80 000337E0 7C 7D 1B 78 */ mr r29, r3 /* 80037B84 000337E4 41 82 00 B0 */ beq lbl_80037C34 /* 80037B88 000337E8 80 7F 0C 04 */ lwz r3, 0xc04(r31) /* 80037B8C 000337EC 80 83 00 1C */ lwz r4, 0x1c(r3) /* 80037B90 000337F0 2C 04 00 00 */ cmpwi r4, 0 /* 80037B94 000337F4 40 82 00 0C */ bne lbl_80037BA0 /* 80037B98 000337F8 38 60 00 00 */ li r3, 0 /* 80037B9C 000337FC 48 00 00 20 */ b lbl_80037BBC lbl_80037BA0: /* 80037BA0 00033800 A0 03 00 E6 */ lhz r0, 0xe6(r3) /* 80037BA4 00033804 28 00 00 06 */ cmplwi r0, 6 /* 80037BA8 00033808 41 81 00 0C */ bgt lbl_80037BB4 /* 80037BAC 0003380C 38 60 00 00 */ li r3, 0 /* 80037BB0 00033810 48 00 00 0C */ b lbl_80037BBC lbl_80037BB4: /* 80037BB4 00033814 80 64 00 18 */ lwz r3, 0x18(r4) /* 80037BB8 00033818 80 63 00 14 */ lwz r3, 0x14(r3) lbl_80037BBC: /* 80037BBC 0003381C 2C 03 00 00 */ cmpwi r3, 0 /* 80037BC0 00033820 41 82 00 74 */ beq lbl_80037C34 /* 80037BC4 00033824 80 DF 05 18 */ lwz r6, 0x518(r31) /* 80037BC8 00033828 7F C4 F3 78 */ mr r4, r30 /* 80037BCC 0003382C 7F A5 EB 78 */ mr r5, r29 /* 80037BD0 00033830 38 ED A3 E4 */ addi r7, r13, lbl_8063F6A4-_SDA_BASE_ /* 80037BD4 00033834 48 1A F3 A5 */ bl func_801E6F78 /* 80037BD8 00033838 80 7F 0C 04 */ lwz r3, 0xc04(r31) /* 80037BDC 0003383C 80 83 00 1C */ lwz r4, 0x1c(r3) /* 80037BE0 00033840 2C 04 00 00 */ cmpwi r4, 0 /* 80037BE4 00033844 40 82 00 0C */ bne lbl_80037BF0 /* 80037BE8 00033848 38 60 00 00 */ li r3, 0 /* 80037BEC 0003384C 48 00 00 20 */ b lbl_80037C0C lbl_80037BF0: /* 80037BF0 00033850 A0 03 00 E6 */ lhz r0, 0xe6(r3) /* 80037BF4 00033854 28 00 00 08 */ cmplwi r0, 8 /* 80037BF8 00033858 41 81 00 0C */ bgt lbl_80037C04 /* 80037BFC 0003385C 38 60 00 00 */ li r3, 0 /* 80037C00 00033860 48 00 00 0C */ b lbl_80037C0C lbl_80037C04: /* 80037C04 00033864 80 64 00 20 */ lwz r3, 0x20(r4) /* 80037C08 00033868 80 63 00 14 */ lwz r3, 0x14(r3) lbl_80037C0C: /* 80037C0C 0003386C 2C 03 00 00 */ cmpwi r3, 0 /* 80037C10 00033870 41 82 00 24 */ beq lbl_80037C34 /* 80037C14 00033874 80 DF 05 18 */ lwz r6, 0x518(r31) /* 80037C18 00033878 7F C4 F3 78 */ mr r4, r30 /* 80037C1C 0003387C 7F A5 EB 78 */ mr r5, r29 /* 80037C20 00033880 38 ED A3 E4 */ addi r7, r13, lbl_8063F6A4-_SDA_BASE_ /* 80037C24 00033884 48 1A F3 55 */ bl func_801E6F78 /* 80037C28 00033888 48 00 00 0C */ b lbl_80037C34 lbl_80037C2C: /* 80037C2C 0003388C 38 00 00 01 */ li r0, 1 /* 80037C30 00033890 98 1F 0D 89 */ stb r0, 0xd89(r31) lbl_80037C34: /* 80037C34 00033894 7F E3 FB 78 */ mr r3, r31 /* 80037C38 00033898 38 80 00 00 */ li r4, 0 /* 80037C3C 0003389C 48 00 46 21 */ bl func_8003C25C /* 80037C40 000338A0 7C 60 1B 78 */ mr r0, r3 /* 80037C44 000338A4 80 7F 0C 04 */ lwz r3, 0xc04(r31) /* 80037C48 000338A8 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 80037C4C 000338AC 54 04 04 3E */ clrlwi r4, r0, 0x10 /* 80037C50 000338B0 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2) /* 80037C54 000338B4 38 A0 00 01 */ li r5, 1 /* 80037C58 000338B8 38 C0 00 00 */ li r6, 0 /* 80037C5C 000338BC 38 E0 00 00 */ li r7, 0 /* 80037C60 000338C0 39 00 00 00 */ li r8, 0 /* 80037C64 000338C4 48 1B D1 91 */ bl func_801F4DF4 /* 80037C68 000338C8 38 00 00 00 */ li r0, 0 /* 80037C6C 000338CC 80 7F 0C 04 */ lwz r3, 0xc04(r31) /* 80037C70 000338D0 98 1F 0B F6 */ stb r0, 0xbf6(r31) /* 80037C74 000338D4 38 80 00 01 */ li r4, 1 /* 80037C78 000338D8 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 80037C7C 000338DC 48 1B EB CD */ bl func_801F6848 /* 80037C80 000338E0 80 9F 0C 04 */ lwz r4, 0xc04(r31) /* 80037C84 000338E4 80 7F 0C 00 */ lwz r3, 0xc00(r31) /* 80037C88 000338E8 C0 04 01 20 */ lfs f0, 0x120(r4) /* 80037C8C 000338EC D0 1F 0C 0C */ stfs f0, 0xc0c(r31) /* 80037C90 000338F0 C0 04 01 24 */ lfs f0, 0x124(r4) /* 80037C94 000338F4 D0 1F 0C 10 */ stfs f0, 0xc10(r31) /* 80037C98 000338F8 C0 04 01 28 */ lfs f0, 0x128(r4) /* 80037C9C 000338FC D0 1F 0C 14 */ stfs f0, 0xc14(r31) /* 80037CA0 00033900 C0 04 01 2C */ lfs f0, 0x12c(r4) /* 80037CA4 00033904 D0 1F 0C 18 */ stfs f0, 0xc18(r31) /* 80037CA8 00033908 C0 04 01 30 */ lfs f0, 0x130(r4) /* 80037CAC 0003390C D0 1F 0C 1C */ stfs f0, 0xc1c(r31) /* 80037CB0 00033910 C0 04 01 34 */ lfs f0, 0x134(r4) /* 80037CB4 00033914 D0 1F 0C 20 */ stfs f0, 0xc20(r31) /* 80037CB8 00033918 80 04 01 38 */ lwz r0, 0x138(r4) /* 80037CBC 0003391C 90 1F 0C 24 */ stw r0, 0xc24(r31) /* 80037CC0 00033920 80 83 00 00 */ lwz r4, 0(r3) /* 80037CC4 00033924 80 04 00 24 */ lwz r0, 0x24(r4) /* 80037CC8 00033928 2C 00 00 00 */ cmpwi r0, 0 /* 80037CCC 0003392C 40 82 00 10 */ bne lbl_80037CDC /* 80037CD0 00033930 A0 1F 05 0C */ lhz r0, 0x50c(r31) /* 80037CD4 00033934 28 00 00 03 */ cmplwi r0, 3 /* 80037CD8 00033938 40 82 00 08 */ bne lbl_80037CE0 lbl_80037CDC: /* 80037CDC 0003393C 48 1C AC F5 */ bl func_802029D0 lbl_80037CE0: /* 80037CE0 00033940 A0 1F 05 0C */ lhz r0, 0x50c(r31) /* 80037CE4 00033944 28 00 00 02 */ cmplwi r0, 2 /* 80037CE8 00033948 40 82 00 0C */ bne lbl_80037CF4 /* 80037CEC 0003394C 7F E3 FB 78 */ mr r3, r31 /* 80037CF0 00033950 48 00 57 45 */ bl func_8003D434 lbl_80037CF4: /* 80037CF4 00033954 80 9F 00 00 */ lwz r4, 0(r31) /* 80037CF8 00033958 7F E3 FB 78 */ mr r3, r31 /* 80037CFC 0003395C 54 80 04 5E */ rlwinm r0, r4, 0, 0x11, 0xf /* 80037D00 00033960 54 84 07 FE */ clrlwi r4, r4, 0x1f /* 80037D04 00033964 90 1F 00 00 */ stw r0, 0(r31) /* 80037D08 00033968 48 00 00 25 */ bl func_80037D2C lbl_80037D0C: /* 80037D0C 0003396C 80 01 00 44 */ lwz r0, 0x44(r1) /* 80037D10 00033970 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 80037D14 00033974 83 C1 00 38 */ lwz r30, 0x38(r1) /* 80037D18 00033978 83 A1 00 34 */ lwz r29, 0x34(r1) /* 80037D1C 0003397C 7C 08 03 A6 */ mtlr r0 /* 80037D20 00033980 38 21 00 40 */ addi r1, r1, 0x40 /* 80037D24 00033984 4E 80 00 20 */ blr .global func_80037D28 func_80037D28: /* 80037D28 00033988 4B FF F8 7C */ b func_800375A4 .global func_80037D2C func_80037D2C: /* 80037D2C 0003398C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80037D30 00033990 7C 08 02 A6 */ mflr r0 /* 80037D34 00033994 90 01 00 14 */ stw r0, 0x14(r1) /* 80037D38 00033998 93 E1 00 0C */ stw r31, 0xc(r1) /* 80037D3C 0003399C 7C 7F 1B 78 */ mr r31, r3 /* 80037D40 000339A0 93 C1 00 08 */ stw r30, 8(r1) /* 80037D44 000339A4 7C 9E 23 78 */ mr r30, r4 /* 80037D48 000339A8 80 03 0C 04 */ lwz r0, 0xc04(r3) /* 80037D4C 000339AC 2C 00 00 00 */ cmpwi r0, 0 /* 80037D50 000339B0 41 82 02 6C */ beq lbl_80037FBC /* 80037D54 000339B4 48 00 D8 3D */ bl func_80045590 /* 80037D58 000339B8 A0 1F 05 0C */ lhz r0, 0x50c(r31) /* 80037D5C 000339BC 28 00 00 01 */ cmplwi r0, 1 /* 80037D60 000339C0 40 82 00 10 */ bne lbl_80037D70 /* 80037D64 000339C4 A0 9F 0C 68 */ lhz r4, 0xc68(r31) /* 80037D68 000339C8 7F C5 F3 78 */ mr r5, r30 /* 80037D6C 000339CC 48 00 F1 95 */ bl func_80046F00 lbl_80037D70: /* 80037D70 000339D0 2C 1E 00 00 */ cmpwi r30, 0 /* 80037D74 000339D4 41 82 01 B4 */ beq lbl_80037F28 /* 80037D78 000339D8 80 7F 00 00 */ lwz r3, 0(r31) /* 80037D7C 000339DC 54 60 02 53 */ rlwinm. r0, r3, 0, 9, 9 /* 80037D80 000339E0 40 82 01 A8 */ bne lbl_80037F28 /* 80037D84 000339E4 54 60 07 FF */ clrlwi. r0, r3, 0x1f /* 80037D88 000339E8 40 82 02 34 */ bne lbl_80037FBC /* 80037D8C 000339EC 54 60 02 D7 */ rlwinm. r0, r3, 0, 0xb, 0xb /* 80037D90 000339F0 40 82 00 0C */ bne lbl_80037D9C /* 80037D94 000339F4 54 60 03 19 */ rlwinm. r0, r3, 0, 0xc, 0xc /* 80037D98 000339F8 41 82 00 C4 */ beq lbl_80037E5C lbl_80037D9C: /* 80037D9C 000339FC 80 BF 0C 04 */ lwz r5, 0xc04(r31) /* 80037DA0 00033A00 38 7F 05 24 */ addi r3, r31, 0x524 /* 80037DA4 00033A04 38 80 00 00 */ li r4, 0 /* 80037DA8 00033A08 A0 05 00 DC */ lhz r0, 0xdc(r5) /* 80037DAC 00033A0C 54 00 04 3C */ rlwinm r0, r0, 0, 0x10, 0x1e /* 80037DB0 00033A10 B0 05 00 DC */ sth r0, 0xdc(r5) /* 80037DB4 00033A14 48 00 81 3D */ bl func_8003FEF0 /* 80037DB8 00033A18 38 00 00 02 */ li r0, 2 /* 80037DBC 00033A1C 38 A0 00 00 */ li r5, 0 /* 80037DC0 00033A20 7C 09 03 A6 */ mtctr r0 lbl_80037DC4: /* 80037DC4 00033A24 54 A0 13 BA */ rlwinm r0, r5, 2, 0xe, 0x1d /* 80037DC8 00033A28 7C 7F 02 14 */ add r3, r31, r0 /* 80037DCC 00033A2C 80 83 0C 90 */ lwz r4, 0xc90(r3) /* 80037DD0 00033A30 2C 04 00 00 */ cmpwi r4, 0 /* 80037DD4 00033A34 41 82 00 34 */ beq lbl_80037E08 /* 80037DD8 00033A38 3C 65 00 01 */ addis r3, r5, 1 /* 80037DDC 00033A3C 38 03 FF FF */ addi r0, r3, -1 /* 80037DE0 00033A40 54 00 04 3E */ clrlwi r0, r0, 0x10 /* 80037DE4 00033A44 28 00 00 01 */ cmplwi r0, 1 /* 80037DE8 00033A48 41 81 00 14 */ bgt lbl_80037DFC /* 80037DEC 00033A4C A0 04 00 10 */ lhz r0, 0x10(r4) /* 80037DF0 00033A50 60 00 00 02 */ ori r0, r0, 2 /* 80037DF4 00033A54 B0 04 00 10 */ sth r0, 0x10(r4) /* 80037DF8 00033A58 48 00 00 10 */ b lbl_80037E08 lbl_80037DFC: /* 80037DFC 00033A5C A0 04 00 10 */ lhz r0, 0x10(r4) /* 80037E00 00033A60 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 80037E04 00033A64 B0 04 00 10 */ sth r0, 0x10(r4) lbl_80037E08: /* 80037E08 00033A68 38 A5 00 01 */ addi r5, r5, 1 /* 80037E0C 00033A6C 54 A0 13 BA */ rlwinm r0, r5, 2, 0xe, 0x1d /* 80037E10 00033A70 7C 7F 02 14 */ add r3, r31, r0 /* 80037E14 00033A74 80 83 0C 90 */ lwz r4, 0xc90(r3) /* 80037E18 00033A78 2C 04 00 00 */ cmpwi r4, 0 /* 80037E1C 00033A7C 41 82 00 34 */ beq lbl_80037E50 /* 80037E20 00033A80 3C 65 00 01 */ addis r3, r5, 1 /* 80037E24 00033A84 38 03 FF FF */ addi r0, r3, -1 /* 80037E28 00033A88 54 00 04 3E */ clrlwi r0, r0, 0x10 /* 80037E2C 00033A8C 28 00 00 01 */ cmplwi r0, 1 /* 80037E30 00033A90 41 81 00 14 */ bgt lbl_80037E44 /* 80037E34 00033A94 A0 04 00 10 */ lhz r0, 0x10(r4) /* 80037E38 00033A98 60 00 00 02 */ ori r0, r0, 2 /* 80037E3C 00033A9C B0 04 00 10 */ sth r0, 0x10(r4) /* 80037E40 00033AA0 48 00 00 10 */ b lbl_80037E50 lbl_80037E44: /* 80037E44 00033AA4 A0 04 00 10 */ lhz r0, 0x10(r4) /* 80037E48 00033AA8 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 80037E4C 00033AAC B0 04 00 10 */ sth r0, 0x10(r4) lbl_80037E50: /* 80037E50 00033AB0 38 A5 00 01 */ addi r5, r5, 1 /* 80037E54 00033AB4 42 00 FF 70 */ bdnz lbl_80037DC4 /* 80037E58 00033AB8 48 00 00 C0 */ b lbl_80037F18 lbl_80037E5C: /* 80037E5C 00033ABC 80 BF 0C 04 */ lwz r5, 0xc04(r31) /* 80037E60 00033AC0 38 7F 05 24 */ addi r3, r31, 0x524 /* 80037E64 00033AC4 38 80 00 01 */ li r4, 1 /* 80037E68 00033AC8 A0 05 00 DC */ lhz r0, 0xdc(r5) /* 80037E6C 00033ACC 60 00 00 01 */ ori r0, r0, 1 /* 80037E70 00033AD0 B0 05 00 DC */ sth r0, 0xdc(r5) /* 80037E74 00033AD4 48 00 80 7D */ bl func_8003FEF0 /* 80037E78 00033AD8 38 00 00 02 */ li r0, 2 /* 80037E7C 00033ADC 38 A0 00 00 */ li r5, 0 /* 80037E80 00033AE0 7C 09 03 A6 */ mtctr r0 lbl_80037E84: /* 80037E84 00033AE4 54 A0 13 BA */ rlwinm r0, r5, 2, 0xe, 0x1d /* 80037E88 00033AE8 7C 7F 02 14 */ add r3, r31, r0 /* 80037E8C 00033AEC 80 83 0C 90 */ lwz r4, 0xc90(r3) /* 80037E90 00033AF0 2C 04 00 00 */ cmpwi r4, 0 /* 80037E94 00033AF4 41 82 00 34 */ beq lbl_80037EC8 /* 80037E98 00033AF8 3C 65 00 01 */ addis r3, r5, 1 /* 80037E9C 00033AFC 38 03 FF FF */ addi r0, r3, -1 /* 80037EA0 00033B00 54 00 04 3E */ clrlwi r0, r0, 0x10 /* 80037EA4 00033B04 28 00 00 01 */ cmplwi r0, 1 /* 80037EA8 00033B08 41 81 00 14 */ bgt lbl_80037EBC /* 80037EAC 00033B0C A0 04 00 10 */ lhz r0, 0x10(r4) /* 80037EB0 00033B10 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 80037EB4 00033B14 B0 04 00 10 */ sth r0, 0x10(r4) /* 80037EB8 00033B18 48 00 00 10 */ b lbl_80037EC8 lbl_80037EBC: /* 80037EBC 00033B1C A0 04 00 10 */ lhz r0, 0x10(r4) /* 80037EC0 00033B20 60 00 00 02 */ ori r0, r0, 2 /* 80037EC4 00033B24 B0 04 00 10 */ sth r0, 0x10(r4) lbl_80037EC8: /* 80037EC8 00033B28 38 A5 00 01 */ addi r5, r5, 1 /* 80037ECC 00033B2C 54 A0 13 BA */ rlwinm r0, r5, 2, 0xe, 0x1d /* 80037ED0 00033B30 7C 7F 02 14 */ add r3, r31, r0 /* 80037ED4 00033B34 80 83 0C 90 */ lwz r4, 0xc90(r3) /* 80037ED8 00033B38 2C 04 00 00 */ cmpwi r4, 0 /* 80037EDC 00033B3C 41 82 00 34 */ beq lbl_80037F10 /* 80037EE0 00033B40 3C 65 00 01 */ addis r3, r5, 1 /* 80037EE4 00033B44 38 03 FF FF */ addi r0, r3, -1 /* 80037EE8 00033B48 54 00 04 3E */ clrlwi r0, r0, 0x10 /* 80037EEC 00033B4C 28 00 00 01 */ cmplwi r0, 1 /* 80037EF0 00033B50 41 81 00 14 */ bgt lbl_80037F04 /* 80037EF4 00033B54 A0 04 00 10 */ lhz r0, 0x10(r4) /* 80037EF8 00033B58 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 80037EFC 00033B5C B0 04 00 10 */ sth r0, 0x10(r4) /* 80037F00 00033B60 48 00 00 10 */ b lbl_80037F10 lbl_80037F04: /* 80037F04 00033B64 A0 04 00 10 */ lhz r0, 0x10(r4) /* 80037F08 00033B68 60 00 00 02 */ ori r0, r0, 2 /* 80037F0C 00033B6C B0 04 00 10 */ sth r0, 0x10(r4) lbl_80037F10: /* 80037F10 00033B70 38 A5 00 01 */ addi r5, r5, 1 /* 80037F14 00033B74 42 00 FF 70 */ bdnz lbl_80037E84 lbl_80037F18: /* 80037F18 00033B78 80 1F 00 00 */ lwz r0, 0(r31) /* 80037F1C 00033B7C 60 00 00 01 */ ori r0, r0, 1 /* 80037F20 00033B80 90 1F 00 00 */ stw r0, 0(r31) /* 80037F24 00033B84 48 00 00 98 */ b lbl_80037FBC lbl_80037F28: /* 80037F28 00033B88 80 1F 00 00 */ lwz r0, 0(r31) /* 80037F2C 00033B8C 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 80037F30 00033B90 41 82 00 8C */ beq lbl_80037FBC /* 80037F34 00033B94 80 BF 0C 04 */ lwz r5, 0xc04(r31) /* 80037F38 00033B98 38 7F 05 24 */ addi r3, r31, 0x524 /* 80037F3C 00033B9C 38 80 00 00 */ li r4, 0 /* 80037F40 00033BA0 A0 05 00 DC */ lhz r0, 0xdc(r5) /* 80037F44 00033BA4 54 00 04 3C */ rlwinm r0, r0, 0, 0x10, 0x1e /* 80037F48 00033BA8 B0 05 00 DC */ sth r0, 0xdc(r5) /* 80037F4C 00033BAC 48 00 7F A5 */ bl func_8003FEF0 /* 80037F50 00033BB0 80 7F 0C 90 */ lwz r3, 0xc90(r31) /* 80037F54 00033BB4 2C 03 00 00 */ cmpwi r3, 0 /* 80037F58 00033BB8 41 82 00 10 */ beq lbl_80037F68 /* 80037F5C 00033BBC A0 03 00 10 */ lhz r0, 0x10(r3) /* 80037F60 00033BC0 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 80037F64 00033BC4 B0 03 00 10 */ sth r0, 0x10(r3) lbl_80037F68: /* 80037F68 00033BC8 80 7F 0C 94 */ lwz r3, 0xc94(r31) /* 80037F6C 00033BCC 2C 03 00 00 */ cmpwi r3, 0 /* 80037F70 00033BD0 41 82 00 10 */ beq lbl_80037F80 /* 80037F74 00033BD4 A0 03 00 10 */ lhz r0, 0x10(r3) /* 80037F78 00033BD8 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 80037F7C 00033BDC B0 03 00 10 */ sth r0, 0x10(r3) lbl_80037F80: /* 80037F80 00033BE0 80 7F 0C 98 */ lwz r3, 0xc98(r31) /* 80037F84 00033BE4 2C 03 00 00 */ cmpwi r3, 0 /* 80037F88 00033BE8 41 82 00 10 */ beq lbl_80037F98 /* 80037F8C 00033BEC A0 03 00 10 */ lhz r0, 0x10(r3) /* 80037F90 00033BF0 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 80037F94 00033BF4 B0 03 00 10 */ sth r0, 0x10(r3) lbl_80037F98: /* 80037F98 00033BF8 80 7F 0C 9C */ lwz r3, 0xc9c(r31) /* 80037F9C 00033BFC 2C 03 00 00 */ cmpwi r3, 0 /* 80037FA0 00033C00 41 82 00 10 */ beq lbl_80037FB0 /* 80037FA4 00033C04 A0 03 00 10 */ lhz r0, 0x10(r3) /* 80037FA8 00033C08 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 80037FAC 00033C0C B0 03 00 10 */ sth r0, 0x10(r3) lbl_80037FB0: /* 80037FB0 00033C10 80 1F 00 00 */ lwz r0, 0(r31) /* 80037FB4 00033C14 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e /* 80037FB8 00033C18 90 1F 00 00 */ stw r0, 0(r31) lbl_80037FBC: /* 80037FBC 00033C1C 80 01 00 14 */ lwz r0, 0x14(r1) /* 80037FC0 00033C20 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80037FC4 00033C24 83 C1 00 08 */ lwz r30, 8(r1) /* 80037FC8 00033C28 7C 08 03 A6 */ mtlr r0 /* 80037FCC 00033C2C 38 21 00 10 */ addi r1, r1, 0x10 /* 80037FD0 00033C30 4E 80 00 20 */ blr .global func_80037FD4 func_80037FD4: /* 80037FD4 00033C34 2C 04 00 00 */ cmpwi r4, 0 /* 80037FD8 00033C38 41 82 00 14 */ beq lbl_80037FEC /* 80037FDC 00033C3C 80 03 00 00 */ lwz r0, 0(r3) /* 80037FE0 00033C40 60 00 00 02 */ ori r0, r0, 2 /* 80037FE4 00033C44 90 03 00 00 */ stw r0, 0(r3) /* 80037FE8 00033C48 48 00 00 10 */ b lbl_80037FF8 lbl_80037FEC: /* 80037FEC 00033C4C 80 03 00 00 */ lwz r0, 0(r3) /* 80037FF0 00033C50 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 80037FF4 00033C54 90 03 00 00 */ stw r0, 0(r3) lbl_80037FF8: /* 80037FF8 00033C58 2C 05 00 00 */ cmpwi r5, 0 /* 80037FFC 00033C5C 41 82 00 14 */ beq lbl_80038010 /* 80038000 00033C60 80 03 00 00 */ lwz r0, 0(r3) /* 80038004 00033C64 60 00 00 04 */ ori r0, r0, 4 /* 80038008 00033C68 90 03 00 00 */ stw r0, 0(r3) /* 8003800C 00033C6C 48 00 00 10 */ b lbl_8003801C lbl_80038010: /* 80038010 00033C70 80 03 00 00 */ lwz r0, 0(r3) /* 80038014 00033C74 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c /* 80038018 00033C78 90 03 00 00 */ stw r0, 0(r3) lbl_8003801C: /* 8003801C 00033C7C 48 00 00 04 */ b func_80038020 .global func_80038020 func_80038020: /* 80038020 00033C80 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80038024 00033C84 7C 08 02 A6 */ mflr r0 /* 80038028 00033C88 90 01 00 14 */ stw r0, 0x14(r1) /* 8003802C 00033C8C 93 E1 00 0C */ stw r31, 0xc(r1) /* 80038030 00033C90 93 C1 00 08 */ stw r30, 8(r1) /* 80038034 00033C94 7C 7E 1B 78 */ mr r30, r3 /* 80038038 00033C98 4B FF B0 51 */ bl func_80033088 /* 8003803C 00033C9C 2C 03 00 00 */ cmpwi r3, 0 /* 80038040 00033CA0 7C 7F 1B 78 */ mr r31, r3 /* 80038044 00033CA4 41 82 03 20 */ beq lbl_80038364 /* 80038048 00033CA8 80 BE 0C 04 */ lwz r5, 0xc04(r30) /* 8003804C 00033CAC 2C 05 00 00 */ cmpwi r5, 0 /* 80038050 00033CB0 41 82 03 14 */ beq lbl_80038364 /* 80038054 00033CB4 80 7E 00 00 */ lwz r3, 0(r30) /* 80038058 00033CB8 54 60 07 FF */ clrlwi. r0, r3, 0x1f /* 8003805C 00033CBC 41 82 00 14 */ beq lbl_80038070 /* 80038060 00033CC0 54 60 07 7D */ rlwinm. r0, r3, 0, 0x1d, 0x1e /* 80038064 00033CC4 41 82 00 0C */ beq lbl_80038070 /* 80038068 00033CC8 54 60 02 53 */ rlwinm. r0, r3, 0, 9, 9 /* 8003806C 00033CCC 41 82 00 80 */ beq lbl_800380EC lbl_80038070: /* 80038070 00033CD0 A0 05 00 DC */ lhz r0, 0xdc(r5) /* 80038074 00033CD4 38 7E 05 24 */ addi r3, r30, 0x524 /* 80038078 00033CD8 38 80 00 00 */ li r4, 0 /* 8003807C 00033CDC 54 00 04 3C */ rlwinm r0, r0, 0, 0x10, 0x1e /* 80038080 00033CE0 B0 05 00 DC */ sth r0, 0xdc(r5) /* 80038084 00033CE4 48 00 7E 6D */ bl func_8003FEF0 /* 80038088 00033CE8 80 7E 0C 90 */ lwz r3, 0xc90(r30) /* 8003808C 00033CEC 2C 03 00 00 */ cmpwi r3, 0 /* 80038090 00033CF0 41 82 00 10 */ beq lbl_800380A0 /* 80038094 00033CF4 A0 03 00 10 */ lhz r0, 0x10(r3) /* 80038098 00033CF8 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 8003809C 00033CFC B0 03 00 10 */ sth r0, 0x10(r3) lbl_800380A0: /* 800380A0 00033D00 80 7E 0C 94 */ lwz r3, 0xc94(r30) /* 800380A4 00033D04 2C 03 00 00 */ cmpwi r3, 0 /* 800380A8 00033D08 41 82 00 10 */ beq lbl_800380B8 /* 800380AC 00033D0C A0 03 00 10 */ lhz r0, 0x10(r3) /* 800380B0 00033D10 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 800380B4 00033D14 B0 03 00 10 */ sth r0, 0x10(r3) lbl_800380B8: /* 800380B8 00033D18 80 7E 0C 98 */ lwz r3, 0xc98(r30) /* 800380BC 00033D1C 2C 03 00 00 */ cmpwi r3, 0 /* 800380C0 00033D20 41 82 00 10 */ beq lbl_800380D0 /* 800380C4 00033D24 A0 03 00 10 */ lhz r0, 0x10(r3) /* 800380C8 00033D28 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 800380CC 00033D2C B0 03 00 10 */ sth r0, 0x10(r3) lbl_800380D0: /* 800380D0 00033D30 80 7E 0C 9C */ lwz r3, 0xc9c(r30) /* 800380D4 00033D34 2C 03 00 00 */ cmpwi r3, 0 /* 800380D8 00033D38 41 82 02 8C */ beq lbl_80038364 /* 800380DC 00033D3C A0 03 00 10 */ lhz r0, 0x10(r3) /* 800380E0 00033D40 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 800380E4 00033D44 B0 03 00 10 */ sth r0, 0x10(r3) /* 800380E8 00033D48 48 00 02 7C */ b lbl_80038364 lbl_800380EC: /* 800380EC 00033D4C 54 60 03 19 */ rlwinm. r0, r3, 0, 0xc, 0xc /* 800380F0 00033D50 40 82 00 0C */ bne lbl_800380FC /* 800380F4 00033D54 54 60 02 D7 */ rlwinm. r0, r3, 0, 0xb, 0xb /* 800380F8 00033D58 41 82 00 E8 */ beq lbl_800381E0 lbl_800380FC: /* 800380FC 00033D5C A0 05 00 DC */ lhz r0, 0xdc(r5) /* 80038100 00033D60 38 7E 05 24 */ addi r3, r30, 0x524 /* 80038104 00033D64 38 80 00 00 */ li r4, 0 /* 80038108 00033D68 54 00 04 3C */ rlwinm r0, r0, 0, 0x10, 0x1e /* 8003810C 00033D6C B0 05 00 DC */ sth r0, 0xdc(r5) /* 80038110 00033D70 48 00 7D E1 */ bl func_8003FEF0 /* 80038114 00033D74 38 00 00 02 */ li r0, 2 /* 80038118 00033D78 38 80 00 00 */ li r4, 0 /* 8003811C 00033D7C 7C 09 03 A6 */ mtctr r0 lbl_80038120: /* 80038120 00033D80 3C 64 00 01 */ addis r3, r4, 1 /* 80038124 00033D84 38 03 FF FF */ addi r0, r3, -1 /* 80038128 00033D88 54 00 04 3E */ clrlwi r0, r0, 0x10 /* 8003812C 00033D8C 28 00 00 01 */ cmplwi r0, 1 /* 80038130 00033D90 41 81 00 28 */ bgt lbl_80038158 /* 80038134 00033D94 54 80 13 BA */ rlwinm r0, r4, 2, 0xe, 0x1d /* 80038138 00033D98 7C 7E 02 14 */ add r3, r30, r0 /* 8003813C 00033D9C 80 63 0C 90 */ lwz r3, 0xc90(r3) /* 80038140 00033DA0 2C 03 00 00 */ cmpwi r3, 0 /* 80038144 00033DA4 41 82 00 34 */ beq lbl_80038178 /* 80038148 00033DA8 A0 03 00 10 */ lhz r0, 0x10(r3) /* 8003814C 00033DAC 60 00 00 02 */ ori r0, r0, 2 /* 80038150 00033DB0 B0 03 00 10 */ sth r0, 0x10(r3) /* 80038154 00033DB4 48 00 00 24 */ b lbl_80038178 lbl_80038158: /* 80038158 00033DB8 54 80 13 BA */ rlwinm r0, r4, 2, 0xe, 0x1d /* 8003815C 00033DBC 7C 7E 02 14 */ add r3, r30, r0 /* 80038160 00033DC0 80 63 0C 90 */ lwz r3, 0xc90(r3) /* 80038164 00033DC4 2C 03 00 00 */ cmpwi r3, 0 /* 80038168 00033DC8 41 82 00 10 */ beq lbl_80038178 /* 8003816C 00033DCC A0 03 00 10 */ lhz r0, 0x10(r3) /* 80038170 00033DD0 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 80038174 00033DD4 B0 03 00 10 */ sth r0, 0x10(r3) lbl_80038178: /* 80038178 00033DD8 38 84 00 01 */ addi r4, r4, 1 /* 8003817C 00033DDC 3C 64 00 01 */ addis r3, r4, 1 /* 80038180 00033DE0 38 03 FF FF */ addi r0, r3, -1 /* 80038184 00033DE4 54 00 04 3E */ clrlwi r0, r0, 0x10 /* 80038188 00033DE8 28 00 00 01 */ cmplwi r0, 1 /* 8003818C 00033DEC 41 81 00 28 */ bgt lbl_800381B4 /* 80038190 00033DF0 54 80 13 BA */ rlwinm r0, r4, 2, 0xe, 0x1d /* 80038194 00033DF4 7C 7E 02 14 */ add r3, r30, r0 /* 80038198 00033DF8 80 63 0C 90 */ lwz r3, 0xc90(r3) /* 8003819C 00033DFC 2C 03 00 00 */ cmpwi r3, 0 /* 800381A0 00033E00 41 82 00 34 */ beq lbl_800381D4 /* 800381A4 00033E04 A0 03 00 10 */ lhz r0, 0x10(r3) /* 800381A8 00033E08 60 00 00 02 */ ori r0, r0, 2 /* 800381AC 00033E0C B0 03 00 10 */ sth r0, 0x10(r3) /* 800381B0 00033E10 48 00 00 24 */ b lbl_800381D4 lbl_800381B4: /* 800381B4 00033E14 54 80 13 BA */ rlwinm r0, r4, 2, 0xe, 0x1d /* 800381B8 00033E18 7C 7E 02 14 */ add r3, r30, r0 /* 800381BC 00033E1C 80 63 0C 90 */ lwz r3, 0xc90(r3) /* 800381C0 00033E20 2C 03 00 00 */ cmpwi r3, 0 /* 800381C4 00033E24 41 82 00 10 */ beq lbl_800381D4 /* 800381C8 00033E28 A0 03 00 10 */ lhz r0, 0x10(r3) /* 800381CC 00033E2C 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 800381D0 00033E30 B0 03 00 10 */ sth r0, 0x10(r3) lbl_800381D4: /* 800381D4 00033E34 38 84 00 01 */ addi r4, r4, 1 /* 800381D8 00033E38 42 00 FF 48 */ bdnz lbl_80038120 /* 800381DC 00033E3C 48 00 00 7C */ b lbl_80038258 lbl_800381E0: /* 800381E0 00033E40 A0 05 00 DC */ lhz r0, 0xdc(r5) /* 800381E4 00033E44 38 7E 05 24 */ addi r3, r30, 0x524 /* 800381E8 00033E48 38 80 00 01 */ li r4, 1 /* 800381EC 00033E4C 60 00 00 01 */ ori r0, r0, 1 /* 800381F0 00033E50 B0 05 00 DC */ sth r0, 0xdc(r5) /* 800381F4 00033E54 48 00 7C FD */ bl func_8003FEF0 /* 800381F8 00033E58 80 7E 0C 90 */ lwz r3, 0xc90(r30) /* 800381FC 00033E5C 2C 03 00 00 */ cmpwi r3, 0 /* 80038200 00033E60 41 82 00 10 */ beq lbl_80038210 /* 80038204 00033E64 A0 03 00 10 */ lhz r0, 0x10(r3) /* 80038208 00033E68 60 00 00 02 */ ori r0, r0, 2 /* 8003820C 00033E6C B0 03 00 10 */ sth r0, 0x10(r3) lbl_80038210: /* 80038210 00033E70 80 7E 0C 94 */ lwz r3, 0xc94(r30) /* 80038214 00033E74 2C 03 00 00 */ cmpwi r3, 0 /* 80038218 00033E78 41 82 00 10 */ beq lbl_80038228 /* 8003821C 00033E7C A0 03 00 10 */ lhz r0, 0x10(r3) /* 80038220 00033E80 60 00 00 02 */ ori r0, r0, 2 /* 80038224 00033E84 B0 03 00 10 */ sth r0, 0x10(r3) lbl_80038228: /* 80038228 00033E88 80 7E 0C 98 */ lwz r3, 0xc98(r30) /* 8003822C 00033E8C 2C 03 00 00 */ cmpwi r3, 0 /* 80038230 00033E90 41 82 00 10 */ beq lbl_80038240 /* 80038234 00033E94 A0 03 00 10 */ lhz r0, 0x10(r3) /* 80038238 00033E98 60 00 00 02 */ ori r0, r0, 2 /* 8003823C 00033E9C B0 03 00 10 */ sth r0, 0x10(r3) lbl_80038240: /* 80038240 00033EA0 80 7E 0C 9C */ lwz r3, 0xc9c(r30) /* 80038244 00033EA4 2C 03 00 00 */ cmpwi r3, 0 /* 80038248 00033EA8 41 82 00 10 */ beq lbl_80038258 /* 8003824C 00033EAC A0 03 00 10 */ lhz r0, 0x10(r3) /* 80038250 00033EB0 60 00 00 02 */ ori r0, r0, 2 /* 80038254 00033EB4 B0 03 00 10 */ sth r0, 0x10(r3) lbl_80038258: /* 80038258 00033EB8 80 7E 00 00 */ lwz r3, 0(r30) /* 8003825C 00033EBC 54 60 07 7C */ rlwinm r0, r3, 0, 0x1d, 0x1e /* 80038260 00033EC0 28 00 00 06 */ cmplwi r0, 6 /* 80038264 00033EC4 40 82 00 60 */ bne lbl_800382C4 /* 80038268 00033EC8 80 BE 0C 04 */ lwz r5, 0xc04(r30) /* 8003826C 00033ECC 3B E0 00 00 */ li r31, 0 /* 80038270 00033ED0 38 7E 05 24 */ addi r3, r30, 0x524 /* 80038274 00033ED4 38 80 00 00 */ li r4, 0 /* 80038278 00033ED8 93 E5 00 3C */ stw r31, 0x3c(r5) /* 8003827C 00033EDC 48 00 7D D9 */ bl func_80040054 /* 80038280 00033EE0 80 7E 0C 90 */ lwz r3, 0xc90(r30) /* 80038284 00033EE4 2C 03 00 00 */ cmpwi r3, 0 /* 80038288 00033EE8 41 82 00 08 */ beq lbl_80038290 /* 8003828C 00033EEC 93 E3 01 2C */ stw r31, 0x12c(r3) lbl_80038290: /* 80038290 00033EF0 80 7E 0C 94 */ lwz r3, 0xc94(r30) /* 80038294 00033EF4 2C 03 00 00 */ cmpwi r3, 0 /* 80038298 00033EF8 41 82 00 08 */ beq lbl_800382A0 /* 8003829C 00033EFC 93 E3 01 2C */ stw r31, 0x12c(r3) lbl_800382A0: /* 800382A0 00033F00 80 7E 0C 98 */ lwz r3, 0xc98(r30) /* 800382A4 00033F04 2C 03 00 00 */ cmpwi r3, 0 /* 800382A8 00033F08 41 82 00 08 */ beq lbl_800382B0 /* 800382AC 00033F0C 93 E3 01 2C */ stw r31, 0x12c(r3) lbl_800382B0: /* 800382B0 00033F10 80 7E 0C 9C */ lwz r3, 0xc9c(r30) /* 800382B4 00033F14 2C 03 00 00 */ cmpwi r3, 0 /* 800382B8 00033F18 41 82 00 AC */ beq lbl_80038364 /* 800382BC 00033F1C 93 E3 01 2C */ stw r31, 0x12c(r3) /* 800382C0 00033F20 48 00 00 A4 */ b lbl_80038364 lbl_800382C4: /* 800382C4 00033F24 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e /* 800382C8 00033F28 38 80 00 00 */ li r4, 0 /* 800382CC 00033F2C 41 82 00 0C */ beq lbl_800382D8 /* 800382D0 00033F30 38 80 00 00 */ li r4, 0 /* 800382D4 00033F34 48 00 00 10 */ b lbl_800382E4 lbl_800382D8: /* 800382D8 00033F38 54 60 07 7B */ rlwinm. r0, r3, 0, 0x1d, 0x1d /* 800382DC 00033F3C 41 82 00 08 */ beq lbl_800382E4 /* 800382E0 00033F40 38 80 00 01 */ li r4, 1 lbl_800382E4: /* 800382E4 00033F44 7F E3 FB 78 */ mr r3, r31 /* 800382E8 00033F48 4B FF B8 95 */ bl func_80033B7C /* 800382EC 00033F4C 2C 03 00 00 */ cmpwi r3, 0 /* 800382F0 00033F50 41 82 00 74 */ beq lbl_80038364 /* 800382F4 00033F54 4B FF D6 7D */ bl func_80035970 /* 800382F8 00033F58 80 BE 0C 04 */ lwz r5, 0xc04(r30) /* 800382FC 00033F5C 7C 7F 1B 78 */ mr r31, r3 /* 80038300 00033F60 7F E4 FB 78 */ mr r4, r31 /* 80038304 00033F64 90 65 00 3C */ stw r3, 0x3c(r5) /* 80038308 00033F68 38 7E 05 24 */ addi r3, r30, 0x524 /* 8003830C 00033F6C 48 00 7D 49 */ bl func_80040054 /* 80038310 00033F70 80 7E 0C 90 */ lwz r3, 0xc90(r30) /* 80038314 00033F74 2C 03 00 00 */ cmpwi r3, 0 /* 80038318 00033F78 41 82 00 08 */ beq lbl_80038320 /* 8003831C 00033F7C 93 E3 01 2C */ stw r31, 0x12c(r3) lbl_80038320: /* 80038320 00033F80 80 7E 0C 94 */ lwz r3, 0xc94(r30) /* 80038324 00033F84 2C 03 00 00 */ cmpwi r3, 0 /* 80038328 00033F88 41 82 00 08 */ beq lbl_80038330 /* 8003832C 00033F8C 93 E3 01 2C */ stw r31, 0x12c(r3) lbl_80038330: /* 80038330 00033F90 80 7E 0C 98 */ lwz r3, 0xc98(r30) /* 80038334 00033F94 2C 03 00 00 */ cmpwi r3, 0 /* 80038338 00033F98 41 82 00 08 */ beq lbl_80038340 /* 8003833C 00033F9C 93 E3 01 2C */ stw r31, 0x12c(r3) lbl_80038340: /* 80038340 00033FA0 80 7E 0C 9C */ lwz r3, 0xc9c(r30) /* 80038344 00033FA4 2C 03 00 00 */ cmpwi r3, 0 /* 80038348 00033FA8 41 82 00 08 */ beq lbl_80038350 /* 8003834C 00033FAC 93 E3 01 2C */ stw r31, 0x12c(r3) lbl_80038350: /* 80038350 00033FB0 80 1E 00 00 */ lwz r0, 0(r30) /* 80038354 00033FB4 7F C3 F3 78 */ mr r3, r30 /* 80038358 00033FB8 54 05 F7 FE */ rlwinm r5, r0, 0x1e, 0x1f, 0x1f /* 8003835C 00033FBC 54 04 FF FE */ rlwinm r4, r0, 0x1f, 0x1f, 0x1f /* 80038360 00033FC0 48 00 5B 31 */ bl func_8003DE90 lbl_80038364: /* 80038364 00033FC4 80 01 00 14 */ lwz r0, 0x14(r1) /* 80038368 00033FC8 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8003836C 00033FCC 83 C1 00 08 */ lwz r30, 8(r1) /* 80038370 00033FD0 7C 08 03 A6 */ mtlr r0 /* 80038374 00033FD4 38 21 00 10 */ addi r1, r1, 0x10 /* 80038378 00033FD8 4E 80 00 20 */ blr .global func_8003837C func_8003837C: /* 8003837C 00033FDC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80038380 00033FE0 7C 08 02 A6 */ mflr r0 /* 80038384 00033FE4 90 01 00 14 */ stw r0, 0x14(r1) /* 80038388 00033FE8 93 E1 00 0C */ stw r31, 0xc(r1) /* 8003838C 00033FEC 7C 7F 1B 78 */ mr r31, r3 /* 80038390 00033FF0 80 C3 0C 04 */ lwz r6, 0xc04(r3) /* 80038394 00033FF4 2C 06 00 00 */ cmpwi r6, 0 /* 80038398 00033FF8 41 82 01 6C */ beq lbl_80038504 /* 8003839C 00033FFC 80 A3 00 00 */ lwz r5, 0(r3) /* 800383A0 00034000 54 A0 02 D7 */ rlwinm. r0, r5, 0, 0xb, 0xb /* 800383A4 00034004 40 82 00 0C */ bne lbl_800383B0 /* 800383A8 00034008 54 A0 03 19 */ rlwinm. r0, r5, 0, 0xc, 0xc /* 800383AC 0003400C 41 82 01 58 */ beq lbl_80038504 lbl_800383B0: /* 800383B0 00034010 2C 04 00 00 */ cmpwi r4, 0 /* 800383B4 00034014 41 82 00 CC */ beq lbl_80038480 /* 800383B8 00034018 A0 06 00 DC */ lhz r0, 0xdc(r6) /* 800383BC 0003401C 38 80 00 01 */ li r4, 1 /* 800383C0 00034020 38 63 05 24 */ addi r3, r3, 0x524 /* 800383C4 00034024 60 00 00 01 */ ori r0, r0, 1 /* 800383C8 00034028 B0 06 00 DC */ sth r0, 0xdc(r6) /* 800383CC 0003402C 48 00 7B 25 */ bl func_8003FEF0 /* 800383D0 00034030 38 00 00 02 */ li r0, 2 /* 800383D4 00034034 38 A0 00 00 */ li r5, 0 /* 800383D8 00034038 7C 09 03 A6 */ mtctr r0 lbl_800383DC: /* 800383DC 0003403C 54 A0 13 BA */ rlwinm r0, r5, 2, 0xe, 0x1d /* 800383E0 00034040 7C 7F 02 14 */ add r3, r31, r0 /* 800383E4 00034044 80 83 0C 90 */ lwz r4, 0xc90(r3) /* 800383E8 00034048 2C 04 00 00 */ cmpwi r4, 0 /* 800383EC 0003404C 41 82 00 34 */ beq lbl_80038420 /* 800383F0 00034050 3C 65 00 01 */ addis r3, r5, 1 /* 800383F4 00034054 38 03 FF FF */ addi r0, r3, -1 /* 800383F8 00034058 54 00 04 3E */ clrlwi r0, r0, 0x10 /* 800383FC 0003405C 28 00 00 01 */ cmplwi r0, 1 /* 80038400 00034060 41 81 00 14 */ bgt lbl_80038414 /* 80038404 00034064 A0 04 00 10 */ lhz r0, 0x10(r4) /* 80038408 00034068 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 8003840C 0003406C B0 04 00 10 */ sth r0, 0x10(r4) /* 80038410 00034070 48 00 00 10 */ b lbl_80038420 lbl_80038414: /* 80038414 00034074 A0 04 00 10 */ lhz r0, 0x10(r4) /* 80038418 00034078 60 00 00 02 */ ori r0, r0, 2 /* 8003841C 0003407C B0 04 00 10 */ sth r0, 0x10(r4) lbl_80038420: /* 80038420 00034080 38 A5 00 01 */ addi r5, r5, 1 /* 80038424 00034084 54 A0 13 BA */ rlwinm r0, r5, 2, 0xe, 0x1d /* 80038428 00034088 7C 7F 02 14 */ add r3, r31, r0 /* 8003842C 0003408C 80 83 0C 90 */ lwz r4, 0xc90(r3) /* 80038430 00034090 2C 04 00 00 */ cmpwi r4, 0 /* 80038434 00034094 41 82 00 34 */ beq lbl_80038468 /* 80038438 00034098 3C 65 00 01 */ addis r3, r5, 1 /* 8003843C 0003409C 38 03 FF FF */ addi r0, r3, -1 /* 80038440 000340A0 54 00 04 3E */ clrlwi r0, r0, 0x10 /* 80038444 000340A4 28 00 00 01 */ cmplwi r0, 1 /* 80038448 000340A8 41 81 00 14 */ bgt lbl_8003845C /* 8003844C 000340AC A0 04 00 10 */ lhz r0, 0x10(r4) /* 80038450 000340B0 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 80038454 000340B4 B0 04 00 10 */ sth r0, 0x10(r4) /* 80038458 000340B8 48 00 00 10 */ b lbl_80038468 lbl_8003845C: /* 8003845C 000340BC A0 04 00 10 */ lhz r0, 0x10(r4) /* 80038460 000340C0 60 00 00 02 */ ori r0, r0, 2 /* 80038464 000340C4 B0 04 00 10 */ sth r0, 0x10(r4) lbl_80038468: /* 80038468 000340C8 38 A5 00 01 */ addi r5, r5, 1 /* 8003846C 000340CC 42 00 FF 70 */ bdnz lbl_800383DC /* 80038470 000340D0 80 1F 00 00 */ lwz r0, 0(r31) /* 80038474 000340D4 60 00 00 01 */ ori r0, r0, 1 /* 80038478 000340D8 90 1F 00 00 */ stw r0, 0(r31) /* 8003847C 000340DC 48 00 00 88 */ b lbl_80038504 lbl_80038480: /* 80038480 000340E0 A0 06 00 DC */ lhz r0, 0xdc(r6) /* 80038484 000340E4 38 80 00 00 */ li r4, 0 /* 80038488 000340E8 38 63 05 24 */ addi r3, r3, 0x524 /* 8003848C 000340EC 54 00 04 3C */ rlwinm r0, r0, 0, 0x10, 0x1e /* 80038490 000340F0 B0 06 00 DC */ sth r0, 0xdc(r6) /* 80038494 000340F4 48 00 7A 5D */ bl func_8003FEF0 /* 80038498 000340F8 80 7F 0C 90 */ lwz r3, 0xc90(r31) /* 8003849C 000340FC 2C 03 00 00 */ cmpwi r3, 0 /* 800384A0 00034100 41 82 00 10 */ beq lbl_800384B0 /* 800384A4 00034104 A0 03 00 10 */ lhz r0, 0x10(r3) /* 800384A8 00034108 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 800384AC 0003410C B0 03 00 10 */ sth r0, 0x10(r3) lbl_800384B0: /* 800384B0 00034110 80 7F 0C 94 */ lwz r3, 0xc94(r31) /* 800384B4 00034114 2C 03 00 00 */ cmpwi r3, 0 /* 800384B8 00034118 41 82 00 10 */ beq lbl_800384C8 /* 800384BC 0003411C A0 03 00 10 */ lhz r0, 0x10(r3) /* 800384C0 00034120 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 800384C4 00034124 B0 03 00 10 */ sth r0, 0x10(r3) lbl_800384C8: /* 800384C8 00034128 80 7F 0C 98 */ lwz r3, 0xc98(r31) /* 800384CC 0003412C 2C 03 00 00 */ cmpwi r3, 0 /* 800384D0 00034130 41 82 00 10 */ beq lbl_800384E0 /* 800384D4 00034134 A0 03 00 10 */ lhz r0, 0x10(r3) /* 800384D8 00034138 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 800384DC 0003413C B0 03 00 10 */ sth r0, 0x10(r3) lbl_800384E0: /* 800384E0 00034140 80 7F 0C 9C */ lwz r3, 0xc9c(r31) /* 800384E4 00034144 2C 03 00 00 */ cmpwi r3, 0 /* 800384E8 00034148 41 82 00 10 */ beq lbl_800384F8 /* 800384EC 0003414C A0 03 00 10 */ lhz r0, 0x10(r3) /* 800384F0 00034150 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 800384F4 00034154 B0 03 00 10 */ sth r0, 0x10(r3) lbl_800384F8: /* 800384F8 00034158 80 1F 00 00 */ lwz r0, 0(r31) /* 800384FC 0003415C 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e /* 80038500 00034160 90 1F 00 00 */ stw r0, 0(r31) lbl_80038504: /* 80038504 00034164 80 01 00 14 */ lwz r0, 0x14(r1) /* 80038508 00034168 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8003850C 0003416C 7C 08 03 A6 */ mtlr r0 /* 80038510 00034170 38 21 00 10 */ addi r1, r1, 0x10 /* 80038514 00034174 4E 80 00 20 */ blr .global func_80038518 func_80038518: /* 80038518 00034178 2C 04 00 00 */ cmpwi r4, 0 /* 8003851C 0003417C 4D 82 00 20 */ beqlr /* 80038520 00034180 38 A0 00 1F */ li r5, 0x1f /* 80038524 00034184 38 63 0D 94 */ addi r3, r3, 0xd94 /* 80038528 00034188 48 19 5E 68 */ b strncpy /* 8003852C 0003418C 4E 80 00 20 */ blr .global func_80038530 func_80038530: /* 80038530 00034190 94 21 FF B0 */ stwu r1, -0x50(r1) /* 80038534 00034194 7C 08 02 A6 */ mflr r0 /* 80038538 00034198 90 01 00 54 */ stw r0, 0x54(r1) /* 8003853C 0003419C DB E1 00 40 */ stfd f31, 0x40(r1) /* 80038540 000341A0 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 /* 80038544 000341A4 2C 04 01 00 */ cmpwi r4, 0x100 /* 80038548 000341A8 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003854C 000341AC 93 E1 00 3C */ stw r31, 0x3c(r1) /* 80038550 000341B0 7C 7F 1B 78 */ mr r31, r3 /* 80038554 000341B4 93 C1 00 38 */ stw r30, 0x38(r1) /* 80038558 000341B8 93 A1 00 34 */ stw r29, 0x34(r1) /* 8003855C 000341BC 7C 9D 23 78 */ mr r29, r4 /* 80038560 000341C0 D0 01 00 14 */ stfs f0, 0x14(r1) /* 80038564 000341C4 D0 01 00 18 */ stfs f0, 0x18(r1) /* 80038568 000341C8 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 8003856C 000341CC D0 01 00 08 */ stfs f0, 8(r1) /* 80038570 000341D0 D0 01 00 0C */ stfs f0, 0xc(r1) /* 80038574 000341D4 D0 01 00 10 */ stfs f0, 0x10(r1) /* 80038578 000341D8 B0 83 0C 68 */ sth r4, 0xc68(r3) /* 8003857C 000341DC 40 82 00 1C */ bne lbl_80038598 /* 80038580 000341E0 38 81 00 14 */ addi r4, r1, 0x14 /* 80038584 000341E4 48 00 03 41 */ bl func_800388C4 /* 80038588 000341E8 7F E3 FB 78 */ mr r3, r31 /* 8003858C 000341EC 38 81 00 08 */ addi r4, r1, 8 /* 80038590 000341F0 48 00 05 41 */ bl func_80038AD0 /* 80038594 000341F4 48 00 02 28 */ b lbl_800387BC lbl_80038598: /* 80038598 000341F8 48 00 CF F9 */ bl func_80045590 /* 8003859C 000341FC 7C 7E 1B 78 */ mr r30, r3 /* 800385A0 00034200 38 80 00 00 */ li r4, 0 /* 800385A4 00034204 48 00 D7 59 */ bl func_80045CFC /* 800385A8 00034208 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 800385AC 0003420C 57 A0 06 31 */ rlwinm. r0, r29, 0, 0x18, 0x18 /* 800385B0 00034210 D0 1F 0D 80 */ stfs f0, 0xd80(r31) /* 800385B4 00034214 40 82 01 7C */ bne lbl_80038730 /* 800385B8 00034218 7F C3 F3 78 */ mr r3, r30 /* 800385BC 0003421C 7F A4 EB 78 */ mr r4, r29 /* 800385C0 00034220 38 A1 00 14 */ addi r5, r1, 0x14 /* 800385C4 00034224 38 C1 00 0C */ addi r6, r1, 0xc /* 800385C8 00034228 38 E0 00 01 */ li r7, 1 /* 800385CC 0003422C 48 00 D6 4D */ bl func_80045C18 /* 800385D0 00034230 2C 03 00 00 */ cmpwi r3, 0 /* 800385D4 00034234 41 82 01 E8 */ beq lbl_800387BC /* 800385D8 00034238 80 7F 00 00 */ lwz r3, 0(r31) /* 800385DC 0003423C C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 800385E0 00034240 54 60 04 E7 */ rlwinm. r0, r3, 0, 0x13, 0x13 /* 800385E4 00034244 54 60 02 D2 */ rlwinm r0, r3, 0, 0xb, 9 /* 800385E8 00034248 D0 1F 0D 78 */ stfs f0, 0xd78(r31) /* 800385EC 0003424C 90 1F 00 00 */ stw r0, 0(r31) /* 800385F0 00034250 41 82 00 44 */ beq lbl_80038634 /* 800385F4 00034254 7F E3 FB 78 */ mr r3, r31 /* 800385F8 00034258 38 80 00 00 */ li r4, 0 /* 800385FC 0003425C 48 00 3C 61 */ bl func_8003C25C /* 80038600 00034260 54 7E 04 3E */ clrlwi r30, r3, 0x10 /* 80038604 00034264 7F E3 FB 78 */ mr r3, r31 /* 80038608 00034268 38 80 00 0A */ li r4, 0xa /* 8003860C 0003426C 48 00 3C 51 */ bl func_8003C25C /* 80038610 00034270 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 80038614 00034274 7C 00 F0 40 */ cmplw r0, r30 /* 80038618 00034278 41 82 00 0C */ beq lbl_80038624 /* 8003861C 0003427C 3B C0 00 0A */ li r30, 0xa /* 80038620 00034280 48 00 00 20 */ b lbl_80038640 lbl_80038624: /* 80038624 00034284 C0 02 82 5C */ lfs f0, lbl_8064085C-_SDA2_BASE_(r2) /* 80038628 00034288 3B C0 00 00 */ li r30, 0 /* 8003862C 0003428C D0 01 00 18 */ stfs f0, 0x18(r1) /* 80038630 00034290 48 00 00 10 */ b lbl_80038640 lbl_80038634: /* 80038634 00034294 54 00 4F FE */ rlwinm r0, r0, 9, 0x1f, 0x1f /* 80038638 00034298 7C 00 00 D0 */ neg r0, r0 /* 8003863C 0003429C 54 1E 06 F6 */ rlwinm r30, r0, 0, 0x1b, 0x1b lbl_80038640: /* 80038640 000342A0 7F E3 FB 78 */ mr r3, r31 /* 80038644 000342A4 57 C4 06 3E */ clrlwi r4, r30, 0x18 /* 80038648 000342A8 38 A0 00 02 */ li r5, 2 /* 8003864C 000342AC 48 00 17 75 */ bl func_80039DC0 /* 80038650 000342B0 57 A0 F0 02 */ slwi r0, r29, 0x1e /* 80038654 000342B4 57 A4 0F FE */ srwi r4, r29, 0x1f /* 80038658 000342B8 7C 64 00 50 */ subf r3, r4, r0 /* 8003865C 000342BC C0 02 82 60 */ lfs f0, lbl_80640860-_SDA2_BASE_(r2) /* 80038660 000342C0 54 63 10 3E */ rotlwi r3, r3, 2 /* 80038664 000342C4 3C 00 43 30 */ lis r0, 0x4330 /* 80038668 000342C8 7C 63 22 14 */ add r3, r3, r4 /* 8003866C 000342CC 90 01 00 20 */ stw r0, 0x20(r1) /* 80038670 000342D0 6C 60 80 00 */ xoris r0, r3, 0x8000 /* 80038674 000342D4 C8 42 82 68 */ lfd f2, lbl_80640868-_SDA2_BASE_(r2) /* 80038678 000342D8 90 01 00 24 */ stw r0, 0x24(r1) /* 8003867C 000342DC EC 20 00 72 */ fmuls f1, f0, f1 /* 80038680 000342E0 7F E3 FB 78 */ mr r3, r31 /* 80038684 000342E4 57 C4 06 3E */ clrlwi r4, r30, 0x18 /* 80038688 000342E8 C8 01 00 20 */ lfd f0, 0x20(r1) /* 8003868C 000342EC EC 00 10 28 */ fsubs f0, f0, f2 /* 80038690 000342F0 EC 20 00 72 */ fmuls f1, f0, f1 /* 80038694 000342F4 48 00 0B 6D */ bl func_80039200 /* 80038698 000342F8 7F E3 FB 78 */ mr r3, r31 /* 8003869C 000342FC 38 81 00 08 */ addi r4, r1, 8 /* 800386A0 00034300 48 00 04 31 */ bl func_80038AD0 /* 800386A4 00034304 7F E3 FB 78 */ mr r3, r31 /* 800386A8 00034308 38 81 00 14 */ addi r4, r1, 0x14 /* 800386AC 0003430C 48 00 02 19 */ bl func_800388C4 /* 800386B0 00034310 80 7F 00 00 */ lwz r3, 0(r31) /* 800386B4 00034314 54 60 02 D7 */ rlwinm. r0, r3, 0, 0xb, 0xb /* 800386B8 00034318 40 82 00 0C */ bne lbl_800386C4 /* 800386BC 0003431C 54 60 03 19 */ rlwinm. r0, r3, 0, 0xc, 0xc /* 800386C0 00034320 41 82 00 FC */ beq lbl_800387BC lbl_800386C4: /* 800386C4 00034324 C3 E2 82 20 */ lfs f31, lbl_80640820-_SDA2_BASE_(r2) /* 800386C8 00034328 3B A0 00 00 */ li r29, 0 lbl_800386CC: /* 800386CC 0003432C 57 A0 13 BA */ rlwinm r0, r29, 2, 0xe, 0x1d /* 800386D0 00034330 7F DF 02 14 */ add r30, r31, r0 /* 800386D4 00034334 80 7E 0C 90 */ lwz r3, 0xc90(r30) /* 800386D8 00034338 2C 03 00 00 */ cmpwi r3, 0 /* 800386DC 0003433C 41 82 00 44 */ beq lbl_80038720 /* 800386E0 00034340 3C 9D 00 01 */ addis r4, r29, 1 /* 800386E4 00034344 38 04 FF FF */ addi r0, r4, -1 /* 800386E8 00034348 54 00 04 3E */ clrlwi r0, r0, 0x10 /* 800386EC 0003434C 28 00 00 01 */ cmplwi r0, 1 /* 800386F0 00034350 41 81 00 30 */ bgt lbl_80038720 /* 800386F4 00034354 81 83 01 00 */ lwz r12, 0x100(r3) /* 800386F8 00034358 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 800386FC 0003435C 81 8C 00 0C */ lwz r12, 0xc(r12) /* 80038700 00034360 7D 89 03 A6 */ mtctr r12 /* 80038704 00034364 4E 80 04 21 */ bctrl /* 80038708 00034368 80 7E 0C 90 */ lwz r3, 0xc90(r30) /* 8003870C 0003436C 80 03 01 04 */ lwz r0, 0x104(r3) /* 80038710 00034370 60 00 00 01 */ ori r0, r0, 1 /* 80038714 00034374 54 00 07 F8 */ rlwinm r0, r0, 0, 0x1f, 0x1c /* 80038718 00034378 90 03 01 04 */ stw r0, 0x104(r3) /* 8003871C 0003437C D3 E3 01 08 */ stfs f31, 0x108(r3) lbl_80038720: /* 80038720 00034380 3B BD 00 01 */ addi r29, r29, 1 /* 80038724 00034384 28 1D 00 04 */ cmplwi r29, 4 /* 80038728 00034388 41 80 FF A4 */ blt lbl_800386CC /* 8003872C 0003438C 48 00 00 90 */ b lbl_800387BC lbl_80038730: /* 80038730 00034390 7F C3 F3 78 */ mr r3, r30 /* 80038734 00034394 57 A4 07 BE */ clrlwi r4, r29, 0x1e /* 80038738 00034398 38 A1 00 14 */ addi r5, r1, 0x14 /* 8003873C 0003439C 38 C1 00 0C */ addi r6, r1, 0xc /* 80038740 000343A0 48 00 D4 49 */ bl func_80045B88 /* 80038744 000343A4 2C 03 00 00 */ cmpwi r3, 0 /* 80038748 000343A8 41 82 00 74 */ beq lbl_800387BC /* 8003874C 000343AC 7F E3 FB 78 */ mr r3, r31 /* 80038750 000343B0 38 80 00 00 */ li r4, 0 /* 80038754 000343B4 38 A0 00 02 */ li r5, 2 /* 80038758 000343B8 48 00 16 69 */ bl func_80039DC0 /* 8003875C 000343BC 57 A0 F0 02 */ slwi r0, r29, 0x1e /* 80038760 000343C0 57 A4 0F FE */ srwi r4, r29, 0x1f /* 80038764 000343C4 7C 64 00 50 */ subf r3, r4, r0 /* 80038768 000343C8 C0 02 82 64 */ lfs f0, lbl_80640864-_SDA2_BASE_(r2) /* 8003876C 000343CC 54 63 10 3E */ rotlwi r3, r3, 2 /* 80038770 000343D0 3C 00 43 30 */ lis r0, 0x4330 /* 80038774 000343D4 7C 63 22 14 */ add r3, r3, r4 /* 80038778 000343D8 90 01 00 20 */ stw r0, 0x20(r1) /* 8003877C 000343DC 6C 60 80 00 */ xoris r0, r3, 0x8000 /* 80038780 000343E0 C8 42 82 68 */ lfd f2, lbl_80640868-_SDA2_BASE_(r2) /* 80038784 000343E4 90 01 00 24 */ stw r0, 0x24(r1) /* 80038788 000343E8 EC 20 00 72 */ fmuls f1, f0, f1 /* 8003878C 000343EC 7F E3 FB 78 */ mr r3, r31 /* 80038790 000343F0 38 80 00 00 */ li r4, 0 /* 80038794 000343F4 C8 01 00 20 */ lfd f0, 0x20(r1) /* 80038798 000343F8 EC 00 10 28 */ fsubs f0, f0, f2 /* 8003879C 000343FC EC 20 00 72 */ fmuls f1, f0, f1 /* 800387A0 00034400 48 00 0A 61 */ bl func_80039200 /* 800387A4 00034404 7F E3 FB 78 */ mr r3, r31 /* 800387A8 00034408 38 81 00 08 */ addi r4, r1, 8 /* 800387AC 0003440C 48 00 03 25 */ bl func_80038AD0 /* 800387B0 00034410 7F E3 FB 78 */ mr r3, r31 /* 800387B4 00034414 38 81 00 14 */ addi r4, r1, 0x14 /* 800387B8 00034418 48 00 01 0D */ bl func_800388C4 lbl_800387BC: /* 800387BC 0003441C E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 /* 800387C0 00034420 80 01 00 54 */ lwz r0, 0x54(r1) /* 800387C4 00034424 CB E1 00 40 */ lfd f31, 0x40(r1) /* 800387C8 00034428 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 800387CC 0003442C 83 C1 00 38 */ lwz r30, 0x38(r1) /* 800387D0 00034430 83 A1 00 34 */ lwz r29, 0x34(r1) /* 800387D4 00034434 7C 08 03 A6 */ mtlr r0 /* 800387D8 00034438 38 21 00 50 */ addi r1, r1, 0x50 /* 800387DC 0003443C 4E 80 00 20 */ blr .global func_800387E0 func_800387E0: /* 800387E0 00034440 80 04 0C 04 */ lwz r0, 0xc04(r4) /* 800387E4 00034444 2C 00 00 00 */ cmpwi r0, 0 /* 800387E8 00034448 41 82 00 20 */ beq lbl_80038808 /* 800387EC 0003444C C0 44 0C BC */ lfs f2, 0xcbc(r4) /* 800387F0 00034450 C0 24 0C B8 */ lfs f1, 0xcb8(r4) /* 800387F4 00034454 C0 04 0C B4 */ lfs f0, 0xcb4(r4) /* 800387F8 00034458 D0 03 00 00 */ stfs f0, 0(r3) /* 800387FC 0003445C D0 23 00 04 */ stfs f1, 4(r3) /* 80038800 00034460 D0 43 00 08 */ stfs f2, 8(r3) /* 80038804 00034464 4E 80 00 20 */ blr lbl_80038808: /* 80038808 00034468 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003880C 0003446C D0 03 00 00 */ stfs f0, 0(r3) /* 80038810 00034470 D0 03 00 04 */ stfs f0, 4(r3) /* 80038814 00034474 D0 03 00 08 */ stfs f0, 8(r3) /* 80038818 00034478 4E 80 00 20 */ blr .global func_8003881C func_8003881C: /* 8003881C 0003447C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80038820 00034480 7C 08 02 A6 */ mflr r0 /* 80038824 00034484 90 01 00 14 */ stw r0, 0x14(r1) /* 80038828 00034488 93 E1 00 0C */ stw r31, 0xc(r1) /* 8003882C 0003448C 7C 9F 23 78 */ mr r31, r4 /* 80038830 00034490 93 C1 00 08 */ stw r30, 8(r1) /* 80038834 00034494 7C 7E 1B 78 */ mr r30, r3 /* 80038838 00034498 80 A3 0C 04 */ lwz r5, 0xc04(r3) /* 8003883C 0003449C 2C 05 00 00 */ cmpwi r5, 0 /* 80038840 000344A0 41 82 00 6C */ beq lbl_800388AC /* 80038844 000344A4 80 65 00 08 */ lwz r3, 8(r5) /* 80038848 000344A8 2C 03 00 00 */ cmpwi r3, 0 /* 8003884C 000344AC 41 82 00 30 */ beq lbl_8003887C /* 80038850 000344B0 80 63 00 00 */ lwz r3, 0(r3) /* 80038854 000344B4 2C 03 00 00 */ cmpwi r3, 0 /* 80038858 000344B8 41 82 00 24 */ beq lbl_8003887C /* 8003885C 000344BC C0 04 00 00 */ lfs f0, 0(r4) /* 80038860 000344C0 C0 24 00 04 */ lfs f1, 4(r4) /* 80038864 000344C4 D0 03 00 20 */ stfs f0, 0x20(r3) /* 80038868 000344C8 C0 04 00 08 */ lfs f0, 8(r4) /* 8003886C 000344CC 38 80 00 01 */ li r4, 1 /* 80038870 000344D0 D0 23 00 24 */ stfs f1, 0x24(r3) /* 80038874 000344D4 D0 03 00 28 */ stfs f0, 0x28(r3) /* 80038878 000344D8 48 1B 9E 41 */ bl func_801F26B8 lbl_8003887C: /* 8003887C 000344DC 80 BF 00 00 */ lwz r5, 0(r31) /* 80038880 000344E0 38 7E 00 04 */ addi r3, r30, 4 /* 80038884 000344E4 80 9F 00 04 */ lwz r4, 4(r31) /* 80038888 000344E8 80 1F 00 08 */ lwz r0, 8(r31) /* 8003888C 000344EC 90 BE 0C B4 */ stw r5, 0xcb4(r30) /* 80038890 000344F0 90 9E 0C B8 */ stw r4, 0xcb8(r30) /* 80038894 000344F4 90 1E 0C BC */ stw r0, 0xcbc(r30) /* 80038898 000344F8 48 01 7A F1 */ bl func_80050388 /* 8003889C 000344FC 38 7E 00 28 */ addi r3, r30, 0x28 /* 800388A0 00034500 48 01 7A E9 */ bl func_80050388 /* 800388A4 00034504 38 7E 00 4C */ addi r3, r30, 0x4c /* 800388A8 00034508 48 01 7A E1 */ bl func_80050388 lbl_800388AC: /* 800388AC 0003450C 80 01 00 14 */ lwz r0, 0x14(r1) /* 800388B0 00034510 83 E1 00 0C */ lwz r31, 0xc(r1) /* 800388B4 00034514 83 C1 00 08 */ lwz r30, 8(r1) /* 800388B8 00034518 7C 08 03 A6 */ mtlr r0 /* 800388BC 0003451C 38 21 00 10 */ addi r1, r1, 0x10 /* 800388C0 00034520 4E 80 00 20 */ blr .global func_800388C4 func_800388C4: /* 800388C4 00034524 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800388C8 00034528 7C 08 02 A6 */ mflr r0 /* 800388CC 0003452C 90 01 00 14 */ stw r0, 0x14(r1) /* 800388D0 00034530 93 E1 00 0C */ stw r31, 0xc(r1) /* 800388D4 00034534 7C 7F 1B 78 */ mr r31, r3 /* 800388D8 00034538 80 03 0C 04 */ lwz r0, 0xc04(r3) /* 800388DC 0003453C 2C 00 00 00 */ cmpwi r0, 0 /* 800388E0 00034540 41 82 00 20 */ beq lbl_80038900 /* 800388E4 00034544 4B FF FF 39 */ bl func_8003881C /* 800388E8 00034548 80 7F 0C 04 */ lwz r3, 0xc04(r31) /* 800388EC 0003454C 38 80 00 01 */ li r4, 1 /* 800388F0 00034550 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 800388F4 00034554 48 1B DF 55 */ bl func_801F6848 /* 800388F8 00034558 80 7F 0C 04 */ lwz r3, 0xc04(r31) /* 800388FC 0003455C 48 1B D1 A1 */ bl func_801F5A9C lbl_80038900: /* 80038900 00034560 80 01 00 14 */ lwz r0, 0x14(r1) /* 80038904 00034564 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80038908 00034568 7C 08 03 A6 */ mtlr r0 /* 8003890C 0003456C 38 21 00 10 */ addi r1, r1, 0x10 /* 80038910 00034570 4E 80 00 20 */ blr .global func_80038914 func_80038914: /* 80038914 00034574 80 04 0C 04 */ lwz r0, 0xc04(r4) /* 80038918 00034578 2C 00 00 00 */ cmpwi r0, 0 /* 8003891C 0003457C 41 82 00 20 */ beq lbl_8003893C /* 80038920 00034580 C0 44 0C D4 */ lfs f2, 0xcd4(r4) /* 80038924 00034584 C0 24 0C D0 */ lfs f1, 0xcd0(r4) /* 80038928 00034588 C0 04 0C CC */ lfs f0, 0xccc(r4) /* 8003892C 0003458C D0 03 00 00 */ stfs f0, 0(r3) /* 80038930 00034590 D0 23 00 04 */ stfs f1, 4(r3) /* 80038934 00034594 D0 43 00 08 */ stfs f2, 8(r3) /* 80038938 00034598 4E 80 00 20 */ blr lbl_8003893C: /* 8003893C 0003459C C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 80038940 000345A0 D0 03 00 00 */ stfs f0, 0(r3) /* 80038944 000345A4 D0 03 00 04 */ stfs f0, 4(r3) /* 80038948 000345A8 D0 03 00 08 */ stfs f0, 8(r3) /* 8003894C 000345AC 4E 80 00 20 */ blr .global func_80038950 func_80038950: /* 80038950 000345B0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80038954 000345B4 7C 08 02 A6 */ mflr r0 /* 80038958 000345B8 90 01 00 14 */ stw r0, 0x14(r1) /* 8003895C 000345BC 93 E1 00 0C */ stw r31, 0xc(r1) /* 80038960 000345C0 7C 9F 23 78 */ mr r31, r4 /* 80038964 000345C4 93 C1 00 08 */ stw r30, 8(r1) /* 80038968 000345C8 7C 7E 1B 78 */ mr r30, r3 /* 8003896C 000345CC 80 A3 0C 04 */ lwz r5, 0xc04(r3) /* 80038970 000345D0 2C 05 00 00 */ cmpwi r5, 0 /* 80038974 000345D4 41 82 01 08 */ beq lbl_80038A7C /* 80038978 000345D8 80 65 00 08 */ lwz r3, 8(r5) /* 8003897C 000345DC 2C 03 00 00 */ cmpwi r3, 0 /* 80038980 000345E0 41 82 00 CC */ beq lbl_80038A4C /* 80038984 000345E4 80 63 00 00 */ lwz r3, 0(r3) /* 80038988 000345E8 2C 03 00 00 */ cmpwi r3, 0 /* 8003898C 000345EC 41 82 00 C0 */ beq lbl_80038A4C /* 80038990 000345F0 C0 04 00 00 */ lfs f0, 0(r4) /* 80038994 000345F4 C0 42 82 70 */ lfs f2, lbl_80640870-_SDA2_BASE_(r2) /* 80038998 000345F8 D0 03 00 48 */ stfs f0, 0x48(r3) /* 8003899C 000345FC C0 24 00 04 */ lfs f1, 4(r4) /* 800389A0 00034600 FC 00 10 40 */ fcmpo cr0, f0, f2 /* 800389A4 00034604 C0 04 00 08 */ lfs f0, 8(r4) /* 800389A8 00034608 D0 23 00 4C */ stfs f1, 0x4c(r3) /* 800389AC 0003460C D0 03 00 50 */ stfs f0, 0x50(r3) /* 800389B0 00034610 40 80 00 2C */ bge lbl_800389DC /* 800389B4 00034614 C0 23 00 48 */ lfs f1, 0x48(r3) /* 800389B8 00034618 C0 62 82 74 */ lfs f3, lbl_80640874-_SDA2_BASE_(r2) /* 800389BC 0003461C FC 01 18 40 */ fcmpo cr0, f1, f3 /* 800389C0 00034620 40 81 00 1C */ ble lbl_800389DC /* 800389C4 00034624 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 800389C8 00034628 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 800389CC 0003462C 40 80 00 08 */ bge lbl_800389D4 /* 800389D0 00034630 48 00 00 08 */ b lbl_800389D8 lbl_800389D4: /* 800389D4 00034634 FC 60 10 90 */ fmr f3, f2 lbl_800389D8: /* 800389D8 00034638 D0 63 00 48 */ stfs f3, 0x48(r3) lbl_800389DC: /* 800389DC 0003463C C0 43 00 4C */ lfs f2, 0x4c(r3) /* 800389E0 00034640 C0 22 82 70 */ lfs f1, lbl_80640870-_SDA2_BASE_(r2) /* 800389E4 00034644 FC 02 08 40 */ fcmpo cr0, f2, f1 /* 800389E8 00034648 40 80 00 28 */ bge lbl_80038A10 /* 800389EC 0003464C C0 62 82 74 */ lfs f3, lbl_80640874-_SDA2_BASE_(r2) /* 800389F0 00034650 FC 02 18 40 */ fcmpo cr0, f2, f3 /* 800389F4 00034654 40 81 00 1C */ ble lbl_80038A10 /* 800389F8 00034658 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 800389FC 0003465C FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80038A00 00034660 40 80 00 08 */ bge lbl_80038A08 /* 80038A04 00034664 48 00 00 08 */ b lbl_80038A0C lbl_80038A08: /* 80038A08 00034668 FC 60 08 90 */ fmr f3, f1 lbl_80038A0C: /* 80038A0C 0003466C D0 63 00 4C */ stfs f3, 0x4c(r3) lbl_80038A10: /* 80038A10 00034670 C0 43 00 50 */ lfs f2, 0x50(r3) /* 80038A14 00034674 C0 22 82 70 */ lfs f1, lbl_80640870-_SDA2_BASE_(r2) /* 80038A18 00034678 FC 02 08 40 */ fcmpo cr0, f2, f1 /* 80038A1C 0003467C 40 80 00 28 */ bge lbl_80038A44 /* 80038A20 00034680 C0 62 82 74 */ lfs f3, lbl_80640874-_SDA2_BASE_(r2) /* 80038A24 00034684 FC 02 18 40 */ fcmpo cr0, f2, f3 /* 80038A28 00034688 40 81 00 1C */ ble lbl_80038A44 /* 80038A2C 0003468C C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 80038A30 00034690 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80038A34 00034694 40 80 00 08 */ bge lbl_80038A3C /* 80038A38 00034698 48 00 00 08 */ b lbl_80038A40 lbl_80038A3C: /* 80038A3C 0003469C FC 60 08 90 */ fmr f3, f1 lbl_80038A40: /* 80038A40 000346A0 D0 63 00 50 */ stfs f3, 0x50(r3) lbl_80038A44: /* 80038A44 000346A4 38 80 00 01 */ li r4, 1 /* 80038A48 000346A8 48 1B 9C 71 */ bl func_801F26B8 lbl_80038A4C: /* 80038A4C 000346AC 80 BF 00 00 */ lwz r5, 0(r31) /* 80038A50 000346B0 38 7E 00 DC */ addi r3, r30, 0xdc /* 80038A54 000346B4 80 9F 00 04 */ lwz r4, 4(r31) /* 80038A58 000346B8 80 1F 00 08 */ lwz r0, 8(r31) /* 80038A5C 000346BC 90 BE 0C CC */ stw r5, 0xccc(r30) /* 80038A60 000346C0 90 9E 0C D0 */ stw r4, 0xcd0(r30) /* 80038A64 000346C4 90 1E 0C D4 */ stw r0, 0xcd4(r30) /* 80038A68 000346C8 48 01 79 21 */ bl func_80050388 /* 80038A6C 000346CC 38 7E 01 00 */ addi r3, r30, 0x100 /* 80038A70 000346D0 48 01 79 19 */ bl func_80050388 /* 80038A74 000346D4 38 7E 01 24 */ addi r3, r30, 0x124 /* 80038A78 000346D8 48 01 79 11 */ bl func_80050388 lbl_80038A7C: /* 80038A7C 000346DC 80 01 00 14 */ lwz r0, 0x14(r1) /* 80038A80 000346E0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80038A84 000346E4 83 C1 00 08 */ lwz r30, 8(r1) /* 80038A88 000346E8 7C 08 03 A6 */ mtlr r0 /* 80038A8C 000346EC 38 21 00 10 */ addi r1, r1, 0x10 /* 80038A90 000346F0 4E 80 00 20 */ blr .global func_80038A94 func_80038A94: /* 80038A94 000346F4 80 04 0C 04 */ lwz r0, 0xc04(r4) /* 80038A98 000346F8 2C 00 00 00 */ cmpwi r0, 0 /* 80038A9C 000346FC 41 82 00 20 */ beq lbl_80038ABC /* 80038AA0 00034700 C0 44 0C C8 */ lfs f2, 0xcc8(r4) /* 80038AA4 00034704 C0 24 0C C4 */ lfs f1, 0xcc4(r4) /* 80038AA8 00034708 C0 04 0C C0 */ lfs f0, 0xcc0(r4) /* 80038AAC 0003470C D0 03 00 00 */ stfs f0, 0(r3) /* 80038AB0 00034710 D0 23 00 04 */ stfs f1, 4(r3) /* 80038AB4 00034714 D0 43 00 08 */ stfs f2, 8(r3) /* 80038AB8 00034718 4E 80 00 20 */ blr lbl_80038ABC: /* 80038ABC 0003471C C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 80038AC0 00034720 D0 03 00 00 */ stfs f0, 0(r3) /* 80038AC4 00034724 D0 03 00 04 */ stfs f0, 4(r3) /* 80038AC8 00034728 D0 03 00 08 */ stfs f0, 8(r3) /* 80038ACC 0003472C 4E 80 00 20 */ blr .global func_80038AD0 func_80038AD0: /* 80038AD0 00034730 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80038AD4 00034734 7C 08 02 A6 */ mflr r0 /* 80038AD8 00034738 90 01 00 24 */ stw r0, 0x24(r1) /* 80038ADC 0003473C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80038AE0 00034740 7C 7F 1B 78 */ mr r31, r3 /* 80038AE4 00034744 80 03 0C 04 */ lwz r0, 0xc04(r3) /* 80038AE8 00034748 2C 00 00 00 */ cmpwi r0, 0 /* 80038AEC 0003474C 41 82 00 8C */ beq lbl_80038B78 /* 80038AF0 00034750 80 C4 00 00 */ lwz r6, 0(r4) /* 80038AF4 00034754 80 A4 00 04 */ lwz r5, 4(r4) /* 80038AF8 00034758 80 04 00 08 */ lwz r0, 8(r4) /* 80038AFC 0003475C 90 C3 0C C0 */ stw r6, 0xcc0(r3) /* 80038B00 00034760 90 A3 0C C4 */ stw r5, 0xcc4(r3) /* 80038B04 00034764 90 03 0C C8 */ stw r0, 0xcc8(r3) /* 80038B08 00034768 38 61 00 08 */ addi r3, r1, 8 /* 80038B0C 0003476C 48 1E AB B5 */ bl func_802236C0 /* 80038B10 00034770 80 7F 0C 04 */ lwz r3, 0xc04(r31) /* 80038B14 00034774 80 63 00 08 */ lwz r3, 8(r3) /* 80038B18 00034778 2C 03 00 00 */ cmpwi r3, 0 /* 80038B1C 0003477C 41 82 00 44 */ beq lbl_80038B60 /* 80038B20 00034780 80 63 00 00 */ lwz r3, 0(r3) /* 80038B24 00034784 2C 03 00 00 */ cmpwi r3, 0 /* 80038B28 00034788 41 82 00 38 */ beq lbl_80038B60 /* 80038B2C 0003478C C0 01 00 08 */ lfs f0, 8(r1) /* 80038B30 00034790 38 80 00 01 */ li r4, 1 /* 80038B34 00034794 D0 03 00 2C */ stfs f0, 0x2c(r3) /* 80038B38 00034798 C0 01 00 0C */ lfs f0, 0xc(r1) /* 80038B3C 0003479C D0 03 00 30 */ stfs f0, 0x30(r3) /* 80038B40 000347A0 C0 01 00 10 */ lfs f0, 0x10(r1) /* 80038B44 000347A4 D0 03 00 34 */ stfs f0, 0x34(r3) /* 80038B48 000347A8 C0 01 00 14 */ lfs f0, 0x14(r1) /* 80038B4C 000347AC D0 03 00 38 */ stfs f0, 0x38(r3) /* 80038B50 000347B0 A0 03 00 10 */ lhz r0, 0x10(r3) /* 80038B54 000347B4 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c /* 80038B58 000347B8 B0 03 00 10 */ sth r0, 0x10(r3) /* 80038B5C 000347BC 48 1B 9B 5D */ bl func_801F26B8 lbl_80038B60: /* 80038B60 000347C0 38 7F 00 70 */ addi r3, r31, 0x70 /* 80038B64 000347C4 48 01 78 25 */ bl func_80050388 /* 80038B68 000347C8 38 7F 00 94 */ addi r3, r31, 0x94 /* 80038B6C 000347CC 48 01 78 1D */ bl func_80050388 /* 80038B70 000347D0 38 7F 00 B8 */ addi r3, r31, 0xb8 /* 80038B74 000347D4 48 01 78 15 */ bl func_80050388 lbl_80038B78: /* 80038B78 000347D8 80 01 00 24 */ lwz r0, 0x24(r1) /* 80038B7C 000347DC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80038B80 000347E0 7C 08 03 A6 */ mtlr r0 /* 80038B84 000347E4 38 21 00 20 */ addi r1, r1, 0x20 /* 80038B88 000347E8 4E 80 00 20 */ blr .global func_80038B8C func_80038B8C: /* 80038B8C 000347EC 94 21 FF 60 */ stwu r1, -0xa0(r1) /* 80038B90 000347F0 7C 08 02 A6 */ mflr r0 /* 80038B94 000347F4 90 01 00 A4 */ stw r0, 0xa4(r1) /* 80038B98 000347F8 DB E1 00 90 */ stfd f31, 0x90(r1) /* 80038B9C 000347FC F3 E1 00 98 */ psq_st f31, 152(r1), 0, qr0 /* 80038BA0 00034800 DB C1 00 80 */ stfd f30, 0x80(r1) /* 80038BA4 00034804 F3 C1 00 88 */ psq_st f30, 136(r1), 0, qr0 /* 80038BA8 00034808 DB A1 00 70 */ stfd f29, 0x70(r1) /* 80038BAC 0003480C F3 A1 00 78 */ psq_st f29, 120(r1), 0, qr0 /* 80038BB0 00034810 3C 00 43 30 */ lis r0, 0x4330 /* 80038BB4 00034814 C3 C2 82 78 */ lfs f30, lbl_80640878-_SDA2_BASE_(r2) /* 80038BB8 00034818 93 E1 00 6C */ stw r31, 0x6c(r1) /* 80038BBC 0003481C 7C 9F 23 78 */ mr r31, r4 /* 80038BC0 00034820 93 C1 00 68 */ stw r30, 0x68(r1) /* 80038BC4 00034824 7C 7E 1B 78 */ mr r30, r3 /* 80038BC8 00034828 7F C4 F3 78 */ mr r4, r30 /* 80038BCC 0003482C 38 61 00 20 */ addi r3, r1, 0x20 /* 80038BD0 00034830 90 01 00 48 */ stw r0, 0x48(r1) /* 80038BD4 00034834 90 01 00 50 */ stw r0, 0x50(r1) /* 80038BD8 00034838 4B FF FE BD */ bl func_80038A94 /* 80038BDC 0003483C C3 A1 00 24 */ lfs f29, 0x24(r1) /* 80038BE0 00034840 7F C4 F3 78 */ mr r4, r30 /* 80038BE4 00034844 38 61 00 14 */ addi r3, r1, 0x14 /* 80038BE8 00034848 4B FF FB F9 */ bl func_800387E0 /* 80038BEC 0003484C 7F E3 FB 78 */ mr r3, r31 /* 80038BF0 00034850 38 81 00 14 */ addi r4, r1, 0x14 /* 80038BF4 00034854 38 A1 00 2C */ addi r5, r1, 0x2c /* 80038BF8 00034858 48 24 40 F1 */ bl PSVECSubtract /* 80038BFC 0003485C C0 41 00 34 */ lfs f2, 0x34(r1) /* 80038C00 00034860 C0 21 00 2C */ lfs f1, 0x2c(r1) /* 80038C04 00034864 48 19 B9 D9 */ bl atan2 /* 80038C08 00034868 EC 5D F0 24 */ fdivs f2, f29, f30 /* 80038C0C 0003486C C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 80038C10 00034870 FC 40 10 1E */ fctiwz f2, f2 /* 80038C14 00034874 FF E0 08 18 */ frsp f31, f1 /* 80038C18 00034878 FC 1D 00 40 */ fcmpo cr0, f29, f0 /* 80038C1C 0003487C D8 41 00 58 */ stfd f2, 0x58(r1) /* 80038C20 00034880 80 61 00 5C */ lwz r3, 0x5c(r1) /* 80038C24 00034884 40 80 00 38 */ bge lbl_80038C5C /* 80038C28 00034888 38 03 FF FF */ addi r0, r3, -1 /* 80038C2C 0003488C 6C 63 80 00 */ xoris r3, r3, 0x8000 /* 80038C30 00034890 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 80038C34 00034894 90 61 00 4C */ stw r3, 0x4c(r1) /* 80038C38 00034898 C8 42 82 68 */ lfd f2, lbl_80640868-_SDA2_BASE_(r2) /* 80038C3C 0003489C 90 01 00 54 */ stw r0, 0x54(r1) /* 80038C40 000348A0 C8 21 00 48 */ lfd f1, 0x48(r1) /* 80038C44 000348A4 C8 01 00 50 */ lfd f0, 0x50(r1) /* 80038C48 000348A8 EC 21 10 28 */ fsubs f1, f1, f2 /* 80038C4C 000348AC EC 00 10 28 */ fsubs f0, f0, f2 /* 80038C50 000348B0 EC 21 07 B2 */ fmuls f1, f1, f30 /* 80038C54 000348B4 EC 40 07 B2 */ fmuls f2, f0, f30 /* 80038C58 000348B8 48 00 00 3C */ b lbl_80038C94 lbl_80038C5C: /* 80038C5C 000348BC 38 03 00 01 */ addi r0, r3, 1 /* 80038C60 000348C0 6C 63 80 00 */ xoris r3, r3, 0x8000 /* 80038C64 000348C4 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 80038C68 000348C8 90 61 00 4C */ stw r3, 0x4c(r1) /* 80038C6C 000348CC C8 42 82 68 */ lfd f2, lbl_80640868-_SDA2_BASE_(r2) /* 80038C70 000348D0 90 01 00 54 */ stw r0, 0x54(r1) /* 80038C74 000348D4 C8 21 00 48 */ lfd f1, 0x48(r1) /* 80038C78 000348D8 C8 01 00 50 */ lfd f0, 0x50(r1) /* 80038C7C 000348DC EC 21 10 28 */ fsubs f1, f1, f2 /* 80038C80 000348E0 EC 00 10 28 */ fsubs f0, f0, f2 /* 80038C84 000348E4 EC 41 07 B2 */ fmuls f2, f1, f30 /* 80038C88 000348E8 EC 20 07 B2 */ fmuls f1, f0, f30 /* 80038C8C 000348EC 48 00 00 08 */ b lbl_80038C94 lbl_80038C90: /* 80038C90 000348F0 EF FF F0 2A */ fadds f31, f31, f30 lbl_80038C94: /* 80038C94 000348F4 FC 1F 10 40 */ fcmpo cr0, f31, f2 /* 80038C98 000348F8 41 80 FF F8 */ blt lbl_80038C90 /* 80038C9C 000348FC 48 00 00 08 */ b lbl_80038CA4 lbl_80038CA0: /* 80038CA0 00034900 EF FF F0 28 */ fsubs f31, f31, f30 lbl_80038CA4: /* 80038CA4 00034904 FC 1F 08 40 */ fcmpo cr0, f31, f1 /* 80038CA8 00034908 41 81 FF F8 */ bgt lbl_80038CA0 /* 80038CAC 0003490C 7F C4 F3 78 */ mr r4, r30 /* 80038CB0 00034910 38 61 00 08 */ addi r3, r1, 8 /* 80038CB4 00034914 4B FF FD E1 */ bl func_80038A94 /* 80038CB8 00034918 C0 21 00 08 */ lfs f1, 8(r1) /* 80038CBC 0003491C 7F C3 F3 78 */ mr r3, r30 /* 80038CC0 00034920 C0 01 00 10 */ lfs f0, 0x10(r1) /* 80038CC4 00034924 38 81 00 38 */ addi r4, r1, 0x38 /* 80038CC8 00034928 D0 21 00 38 */ stfs f1, 0x38(r1) /* 80038CCC 0003492C D0 01 00 40 */ stfs f0, 0x40(r1) /* 80038CD0 00034930 D3 E1 00 3C */ stfs f31, 0x3c(r1) /* 80038CD4 00034934 4B FF FD FD */ bl func_80038AD0 /* 80038CD8 00034938 E3 E1 00 98 */ psq_l f31, 152(r1), 0, qr0 /* 80038CDC 0003493C CB E1 00 90 */ lfd f31, 0x90(r1) /* 80038CE0 00034940 E3 C1 00 88 */ psq_l f30, 136(r1), 0, qr0 /* 80038CE4 00034944 CB C1 00 80 */ lfd f30, 0x80(r1) /* 80038CE8 00034948 E3 A1 00 78 */ psq_l f29, 120(r1), 0, qr0 /* 80038CEC 0003494C CB A1 00 70 */ lfd f29, 0x70(r1) /* 80038CF0 00034950 83 E1 00 6C */ lwz r31, 0x6c(r1) /* 80038CF4 00034954 80 01 00 A4 */ lwz r0, 0xa4(r1) /* 80038CF8 00034958 83 C1 00 68 */ lwz r30, 0x68(r1) /* 80038CFC 0003495C 7C 08 03 A6 */ mtlr r0 /* 80038D00 00034960 38 21 00 A0 */ addi r1, r1, 0xa0 /* 80038D04 00034964 4E 80 00 20 */ blr .global func_80038D08 func_80038D08: /* 80038D08 00034968 94 21 FF 80 */ stwu r1, -0x80(r1) /* 80038D0C 0003496C 7C 08 02 A6 */ mflr r0 /* 80038D10 00034970 90 01 00 84 */ stw r0, 0x84(r1) /* 80038D14 00034974 DB E1 00 70 */ stfd f31, 0x70(r1) /* 80038D18 00034978 F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0 /* 80038D1C 0003497C DB C1 00 60 */ stfd f30, 0x60(r1) /* 80038D20 00034980 F3 C1 00 68 */ psq_st f30, 104(r1), 0, qr0 /* 80038D24 00034984 FF C0 08 90 */ fmr f30, f1 /* 80038D28 00034988 93 E1 00 5C */ stw r31, 0x5c(r1) /* 80038D2C 0003498C 7C BF 2B 78 */ mr r31, r5 /* 80038D30 00034990 93 C1 00 58 */ stw r30, 0x58(r1) /* 80038D34 00034994 7C 9E 23 78 */ mr r30, r4 /* 80038D38 00034998 93 A1 00 54 */ stw r29, 0x54(r1) /* 80038D3C 0003499C 7C 7D 1B 78 */ mr r29, r3 /* 80038D40 000349A0 A0 03 05 1C */ lhz r0, 0x51c(r3) /* 80038D44 000349A4 28 00 00 09 */ cmplwi r0, 9 /* 80038D48 000349A8 40 80 00 10 */ bge lbl_80038D58 /* 80038D4C 000349AC 88 03 05 20 */ lbz r0, 0x520(r3) /* 80038D50 000349B0 2C 00 00 00 */ cmpwi r0, 0 /* 80038D54 000349B4 40 82 00 D8 */ bne lbl_80038E2C lbl_80038D58: /* 80038D58 000349B8 7F A4 EB 78 */ mr r4, r29 /* 80038D5C 000349BC 38 61 00 20 */ addi r3, r1, 0x20 /* 80038D60 000349C0 38 A0 00 0E */ li r5, 0xe /* 80038D64 000349C4 48 00 29 11 */ bl func_8003B674 /* 80038D68 000349C8 7F C4 F3 78 */ mr r4, r30 /* 80038D6C 000349CC 38 61 00 2C */ addi r3, r1, 0x2c /* 80038D70 000349D0 38 A0 00 0A */ li r5, 0xa /* 80038D74 000349D4 48 00 29 01 */ bl func_8003B674 /* 80038D78 000349D8 38 61 00 2C */ addi r3, r1, 0x2c /* 80038D7C 000349DC 38 81 00 20 */ addi r4, r1, 0x20 /* 80038D80 000349E0 38 A1 00 38 */ addi r5, r1, 0x38 /* 80038D84 000349E4 48 24 3F 65 */ bl PSVECSubtract /* 80038D88 000349E8 C0 41 00 40 */ lfs f2, 0x40(r1) /* 80038D8C 000349EC C0 21 00 38 */ lfs f1, 0x38(r1) /* 80038D90 000349F0 48 19 B8 4D */ bl atan2 /* 80038D94 000349F4 FF E0 08 18 */ frsp f31, f1 /* 80038D98 000349F8 7F A4 EB 78 */ mr r4, r29 /* 80038D9C 000349FC 38 61 00 14 */ addi r3, r1, 0x14 /* 80038DA0 00034A00 4B FF FC F5 */ bl func_80038A94 /* 80038DA4 00034A04 FC 40 F8 90 */ fmr f2, f31 /* 80038DA8 00034A08 C0 21 00 18 */ lfs f1, 0x18(r1) /* 80038DAC 00034A0C 7F A3 EB 78 */ mr r3, r29 /* 80038DB0 00034A10 48 00 1C C5 */ bl func_8003AA74 /* 80038DB4 00034A14 EF FF 08 28 */ fsubs f31, f31, f1 /* 80038DB8 00034A18 38 61 00 38 */ addi r3, r1, 0x38 /* 80038DBC 00034A1C 48 24 3F C9 */ bl PSVECMag /* 80038DC0 00034A20 C0 41 00 3C */ lfs f2, 0x3c(r1) /* 80038DC4 00034A24 C0 02 82 30 */ lfs f0, lbl_80640830-_SDA2_BASE_(r2) /* 80038DC8 00034A28 EC 22 08 24 */ fdivs f1, f2, f1 /* 80038DCC 00034A2C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80038DD0 00034A30 4C 41 13 82 */ cror 2, 1, 2 /* 80038DD4 00034A34 40 82 00 0C */ bne lbl_80038DE0 /* 80038DD8 00034A38 C0 02 82 7C */ lfs f0, lbl_8064087C-_SDA2_BASE_(r2) /* 80038DDC 00034A3C 48 00 00 24 */ b lbl_80038E00 lbl_80038DE0: /* 80038DE0 00034A40 C0 02 82 44 */ lfs f0, lbl_80640844-_SDA2_BASE_(r2) /* 80038DE4 00034A44 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80038DE8 00034A48 4C 40 13 82 */ cror 2, 0, 2 /* 80038DEC 00034A4C 40 82 00 0C */ bne lbl_80038DF8 /* 80038DF0 00034A50 C0 02 82 80 */ lfs f0, lbl_80640880-_SDA2_BASE_(r2) /* 80038DF4 00034A54 48 00 00 0C */ b lbl_80038E00 lbl_80038DF8: /* 80038DF8 00034A58 48 19 B7 E1 */ bl asin /* 80038DFC 00034A5C FC 00 08 18 */ frsp f0, f1 lbl_80038E00: /* 80038E00 00034A60 FC 40 00 50 */ fneg f2, f0 /* 80038E04 00034A64 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 80038E08 00034A68 FC 20 F0 90 */ fmr f1, f30 /* 80038E0C 00034A6C D3 E1 00 0C */ stfs f31, 0xc(r1) /* 80038E10 00034A70 7F A3 EB 78 */ mr r3, r29 /* 80038E14 00034A74 7F E6 FB 78 */ mr r6, r31 /* 80038E18 00034A78 D0 41 00 08 */ stfs f2, 8(r1) /* 80038E1C 00034A7C 38 81 00 08 */ addi r4, r1, 8 /* 80038E20 00034A80 38 A0 00 0E */ li r5, 0xe /* 80038E24 00034A84 D0 01 00 10 */ stfs f0, 0x10(r1) /* 80038E28 00034A88 48 00 18 A1 */ bl func_8003A6C8 lbl_80038E2C: /* 80038E2C 00034A8C E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0 /* 80038E30 00034A90 CB E1 00 70 */ lfd f31, 0x70(r1) /* 80038E34 00034A94 E3 C1 00 68 */ psq_l f30, 104(r1), 0, qr0 /* 80038E38 00034A98 CB C1 00 60 */ lfd f30, 0x60(r1) /* 80038E3C 00034A9C 83 E1 00 5C */ lwz r31, 0x5c(r1) /* 80038E40 00034AA0 83 C1 00 58 */ lwz r30, 0x58(r1) /* 80038E44 00034AA4 80 01 00 84 */ lwz r0, 0x84(r1) /* 80038E48 00034AA8 83 A1 00 54 */ lwz r29, 0x54(r1) /* 80038E4C 00034AAC 7C 08 03 A6 */ mtlr r0 /* 80038E50 00034AB0 38 21 00 80 */ addi r1, r1, 0x80 /* 80038E54 00034AB4 4E 80 00 20 */ blr .global func_80038E58 func_80038E58: /* 80038E58 00034AB8 94 21 FF 90 */ stwu r1, -0x70(r1) /* 80038E5C 00034ABC 7C 08 02 A6 */ mflr r0 /* 80038E60 00034AC0 90 01 00 74 */ stw r0, 0x74(r1) /* 80038E64 00034AC4 DB E1 00 60 */ stfd f31, 0x60(r1) /* 80038E68 00034AC8 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0 /* 80038E6C 00034ACC DB C1 00 50 */ stfd f30, 0x50(r1) /* 80038E70 00034AD0 F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0 /* 80038E74 00034AD4 93 E1 00 4C */ stw r31, 0x4c(r1) /* 80038E78 00034AD8 7C 9F 23 78 */ mr r31, r4 /* 80038E7C 00034ADC 93 C1 00 48 */ stw r30, 0x48(r1) /* 80038E80 00034AE0 7C 7E 1B 78 */ mr r30, r3 /* 80038E84 00034AE4 A0 03 05 1C */ lhz r0, 0x51c(r3) /* 80038E88 00034AE8 28 00 00 09 */ cmplwi r0, 9 /* 80038E8C 00034AEC 40 80 00 10 */ bge lbl_80038E9C /* 80038E90 00034AF0 88 03 05 20 */ lbz r0, 0x520(r3) /* 80038E94 00034AF4 2C 00 00 00 */ cmpwi r0, 0 /* 80038E98 00034AF8 40 82 00 F0 */ bne lbl_80038F88 lbl_80038E9C: /* 80038E9C 00034AFC C3 C2 82 84 */ lfs f30, lbl_80640884-_SDA2_BASE_(r2) /* 80038EA0 00034B00 7F C4 F3 78 */ mr r4, r30 /* 80038EA4 00034B04 38 61 00 20 */ addi r3, r1, 0x20 /* 80038EA8 00034B08 38 A0 00 0E */ li r5, 0xe /* 80038EAC 00034B0C 48 00 27 C9 */ bl func_8003B674 /* 80038EB0 00034B10 7F E4 FB 78 */ mr r4, r31 /* 80038EB4 00034B14 38 61 00 2C */ addi r3, r1, 0x2c /* 80038EB8 00034B18 38 A0 00 0A */ li r5, 0xa /* 80038EBC 00034B1C 48 00 27 B9 */ bl func_8003B674 /* 80038EC0 00034B20 38 61 00 2C */ addi r3, r1, 0x2c /* 80038EC4 00034B24 38 81 00 20 */ addi r4, r1, 0x20 /* 80038EC8 00034B28 38 A1 00 38 */ addi r5, r1, 0x38 /* 80038ECC 00034B2C 48 24 3E 1D */ bl PSVECSubtract /* 80038ED0 00034B30 C0 41 00 40 */ lfs f2, 0x40(r1) /* 80038ED4 00034B34 C0 21 00 38 */ lfs f1, 0x38(r1) /* 80038ED8 00034B38 48 19 B7 05 */ bl atan2 /* 80038EDC 00034B3C FF E0 08 18 */ frsp f31, f1 /* 80038EE0 00034B40 7F C4 F3 78 */ mr r4, r30 /* 80038EE4 00034B44 38 61 00 14 */ addi r3, r1, 0x14 /* 80038EE8 00034B48 4B FF FB AD */ bl func_80038A94 /* 80038EEC 00034B4C FC 40 F8 90 */ fmr f2, f31 /* 80038EF0 00034B50 C0 21 00 18 */ lfs f1, 0x18(r1) /* 80038EF4 00034B54 7F C3 F3 78 */ mr r3, r30 /* 80038EF8 00034B58 48 00 1B 7D */ bl func_8003AA74 /* 80038EFC 00034B5C EF FF 08 28 */ fsubs f31, f31, f1 /* 80038F00 00034B60 FC 1F F0 40 */ fcmpo cr0, f31, f30 /* 80038F04 00034B64 40 81 00 08 */ ble lbl_80038F0C /* 80038F08 00034B68 FF E0 F0 90 */ fmr f31, f30 lbl_80038F0C: /* 80038F0C 00034B6C FC 00 F0 50 */ fneg f0, f30 /* 80038F10 00034B70 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 80038F14 00034B74 40 80 00 08 */ bge lbl_80038F1C /* 80038F18 00034B78 FF E0 00 90 */ fmr f31, f0 lbl_80038F1C: /* 80038F1C 00034B7C 38 61 00 38 */ addi r3, r1, 0x38 /* 80038F20 00034B80 48 24 3E 65 */ bl PSVECMag /* 80038F24 00034B84 C0 41 00 3C */ lfs f2, 0x3c(r1) /* 80038F28 00034B88 C0 02 82 30 */ lfs f0, lbl_80640830-_SDA2_BASE_(r2) /* 80038F2C 00034B8C EC 22 08 24 */ fdivs f1, f2, f1 /* 80038F30 00034B90 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80038F34 00034B94 4C 41 13 82 */ cror 2, 1, 2 /* 80038F38 00034B98 40 82 00 0C */ bne lbl_80038F44 /* 80038F3C 00034B9C C0 02 82 7C */ lfs f0, lbl_8064087C-_SDA2_BASE_(r2) /* 80038F40 00034BA0 48 00 00 24 */ b lbl_80038F64 lbl_80038F44: /* 80038F44 00034BA4 C0 02 82 44 */ lfs f0, lbl_80640844-_SDA2_BASE_(r2) /* 80038F48 00034BA8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80038F4C 00034BAC 4C 40 13 82 */ cror 2, 0, 2 /* 80038F50 00034BB0 40 82 00 0C */ bne lbl_80038F5C /* 80038F54 00034BB4 C0 02 82 80 */ lfs f0, lbl_80640880-_SDA2_BASE_(r2) /* 80038F58 00034BB8 48 00 00 0C */ b lbl_80038F64 lbl_80038F5C: /* 80038F5C 00034BBC 48 19 B6 7D */ bl asin /* 80038F60 00034BC0 FC 00 08 18 */ frsp f0, f1 lbl_80038F64: /* 80038F64 00034BC4 FC 20 00 50 */ fneg f1, f0 /* 80038F68 00034BC8 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 80038F6C 00034BCC D3 E1 00 0C */ stfs f31, 0xc(r1) /* 80038F70 00034BD0 7F C3 F3 78 */ mr r3, r30 /* 80038F74 00034BD4 38 81 00 08 */ addi r4, r1, 8 /* 80038F78 00034BD8 38 A0 00 0E */ li r5, 0xe /* 80038F7C 00034BDC D0 21 00 08 */ stfs f1, 8(r1) /* 80038F80 00034BE0 D0 01 00 10 */ stfs f0, 0x10(r1) /* 80038F84 00034BE4 48 00 19 D5 */ bl func_8003A958 lbl_80038F88: /* 80038F88 00034BE8 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0 /* 80038F8C 00034BEC CB E1 00 60 */ lfd f31, 0x60(r1) /* 80038F90 00034BF0 E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0 /* 80038F94 00034BF4 CB C1 00 50 */ lfd f30, 0x50(r1) /* 80038F98 00034BF8 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 80038F9C 00034BFC 80 01 00 74 */ lwz r0, 0x74(r1) /* 80038FA0 00034C00 83 C1 00 48 */ lwz r30, 0x48(r1) /* 80038FA4 00034C04 7C 08 03 A6 */ mtlr r0 /* 80038FA8 00034C08 38 21 00 70 */ addi r1, r1, 0x70 /* 80038FAC 00034C0C 4E 80 00 20 */ blr .global func_80038FB0 func_80038FB0: /* 80038FB0 00034C10 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80038FB4 00034C14 7C 08 02 A6 */ mflr r0 /* 80038FB8 00034C18 90 01 00 14 */ stw r0, 0x14(r1) /* 80038FBC 00034C1C 93 E1 00 0C */ stw r31, 0xc(r1) /* 80038FC0 00034C20 7C 7F 1B 78 */ mr r31, r3 /* 80038FC4 00034C24 A0 03 05 1C */ lhz r0, 0x51c(r3) /* 80038FC8 00034C28 28 00 00 09 */ cmplwi r0, 9 /* 80038FCC 00034C2C 40 80 00 10 */ bge lbl_80038FDC /* 80038FD0 00034C30 88 03 05 20 */ lbz r0, 0x520(r3) /* 80038FD4 00034C34 2C 00 00 00 */ cmpwi r0, 0 /* 80038FD8 00034C38 40 82 00 A4 */ bne lbl_8003907C lbl_80038FDC: /* 80038FDC 00034C3C 38 63 04 60 */ addi r3, r3, 0x460 /* 80038FE0 00034C40 48 01 75 E1 */ bl func_800505C0 /* 80038FE4 00034C44 3C 80 80 49 */ lis r4, lbl_8049362C@ha /* 80038FE8 00034C48 7F E3 FB 78 */ mr r3, r31 /* 80038FEC 00034C4C 38 84 36 2C */ addi r4, r4, lbl_8049362C@l /* 80038FF0 00034C50 38 A0 00 0E */ li r5, 0xe /* 80038FF4 00034C54 48 00 19 65 */ bl func_8003A958 /* 80038FF8 00034C58 80 1F 0C 04 */ lwz r0, 0xc04(r31) /* 80038FFC 00034C5C 2C 00 00 00 */ cmpwi r0, 0 /* 80039000 00034C60 41 82 00 7C */ beq lbl_8003907C /* 80039004 00034C64 7F E3 FB 78 */ mr r3, r31 /* 80039008 00034C68 38 80 00 0E */ li r4, 0xe /* 8003900C 00034C6C 48 00 08 2D */ bl func_80039838 /* 80039010 00034C70 80 9F 0C 04 */ lwz r4, 0xc04(r31) /* 80039014 00034C74 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 80039018 00034C78 80 A4 00 08 */ lwz r5, 8(r4) /* 8003901C 00034C7C 2C 05 00 00 */ cmpwi r5, 0 /* 80039020 00034C80 40 82 00 0C */ bne lbl_8003902C /* 80039024 00034C84 38 60 00 00 */ li r3, 0 /* 80039028 00034C88 48 00 00 20 */ b lbl_80039048 lbl_8003902C: /* 8003902C 00034C8C A0 04 00 DE */ lhz r0, 0xde(r4) /* 80039030 00034C90 7C 03 00 40 */ cmplw r3, r0 /* 80039034 00034C94 41 80 00 0C */ blt lbl_80039040 /* 80039038 00034C98 38 60 00 00 */ li r3, 0 /* 8003903C 00034C9C 48 00 00 0C */ b lbl_80039048 lbl_80039040: /* 80039040 00034CA0 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 80039044 00034CA4 7C 65 00 2E */ lwzx r3, r5, r0 lbl_80039048: /* 80039048 00034CA8 2C 03 00 00 */ cmpwi r3, 0 /* 8003904C 00034CAC 41 82 00 30 */ beq lbl_8003907C /* 80039050 00034CB0 80 83 00 1C */ lwz r4, 0x1c(r3) /* 80039054 00034CB4 2C 04 00 00 */ cmpwi r4, 0 /* 80039058 00034CB8 41 82 00 0C */ beq lbl_80039064 /* 8003905C 00034CBC A0 84 00 08 */ lhz r4, 8(r4) /* 80039060 00034CC0 48 00 00 08 */ b lbl_80039068 lbl_80039064: /* 80039064 00034CC4 38 80 00 00 */ li r4, 0 lbl_80039068: /* 80039068 00034CC8 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 8003906C 00034CCC 54 84 04 3E */ clrlwi r4, r4, 0x10 /* 80039070 00034CD0 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2) /* 80039074 00034CD4 38 A0 00 01 */ li r5, 1 /* 80039078 00034CD8 48 1A 4D D5 */ bl func_801DDE4C__13GSblendObjectFUsUsff lbl_8003907C: /* 8003907C 00034CDC 80 01 00 14 */ lwz r0, 0x14(r1) /* 80039080 00034CE0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80039084 00034CE4 7C 08 03 A6 */ mtlr r0 /* 80039088 00034CE8 38 21 00 10 */ addi r1, r1, 0x10 /* 8003908C 00034CEC 4E 80 00 20 */ blr .global func_80039090 func_80039090: /* 80039090 00034CF0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80039094 00034CF4 7C 08 02 A6 */ mflr r0 /* 80039098 00034CF8 90 01 00 24 */ stw r0, 0x24(r1) /* 8003909C 00034CFC DB E1 00 10 */ stfd f31, 0x10(r1) /* 800390A0 00034D00 F3 E1 00 18 */ psq_st f31, 24(r1), 0, qr0 /* 800390A4 00034D04 FF E0 08 90 */ fmr f31, f1 /* 800390A8 00034D08 93 E1 00 0C */ stw r31, 0xc(r1) /* 800390AC 00034D0C 7C 9F 23 78 */ mr r31, r4 /* 800390B0 00034D10 93 C1 00 08 */ stw r30, 8(r1) /* 800390B4 00034D14 7C 7E 1B 78 */ mr r30, r3 /* 800390B8 00034D18 80 03 0C 04 */ lwz r0, 0xc04(r3) /* 800390BC 00034D1C 2C 00 00 00 */ cmpwi r0, 0 /* 800390C0 00034D20 40 82 00 0C */ bne lbl_800390CC /* 800390C4 00034D24 38 60 00 00 */ li r3, 0 /* 800390C8 00034D28 48 00 01 18 */ b lbl_800391E0 lbl_800390CC: /* 800390CC 00034D2C 48 00 04 2D */ bl func_800394F8 /* 800390D0 00034D30 2C 03 00 00 */ cmpwi r3, 0 /* 800390D4 00034D34 40 82 00 0C */ bne lbl_800390E0 /* 800390D8 00034D38 38 60 00 00 */ li r3, 0 /* 800390DC 00034D3C 48 00 01 04 */ b lbl_800391E0 lbl_800390E0: /* 800390E0 00034D40 80 1E 00 00 */ lwz r0, 0(r30) /* 800390E4 00034D44 54 00 04 63 */ rlwinm. r0, r0, 0, 0x11, 0x11 /* 800390E8 00034D48 41 82 00 14 */ beq lbl_800390FC /* 800390EC 00034D4C 7F C3 F3 78 */ mr r3, r30 /* 800390F0 00034D50 48 00 43 C5 */ bl func_8003D4B4 /* 800390F4 00034D54 38 60 00 01 */ li r3, 1 /* 800390F8 00034D58 48 00 00 E8 */ b lbl_800391E0 lbl_800390FC: /* 800390FC 00034D5C 80 7E 0C 04 */ lwz r3, 0xc04(r30) /* 80039100 00034D60 80 83 00 04 */ lwz r4, 4(r3) /* 80039104 00034D64 2C 04 00 00 */ cmpwi r4, 0 /* 80039108 00034D68 40 82 00 0C */ bne lbl_80039114 /* 8003910C 00034D6C 38 60 00 00 */ li r3, 0 /* 80039110 00034D70 48 00 00 28 */ b lbl_80039138 lbl_80039114: /* 80039114 00034D74 A0 04 00 08 */ lhz r0, 8(r4) /* 80039118 00034D78 57 E3 04 3E */ clrlwi r3, r31, 0x10 /* 8003911C 00034D7C 7C 03 00 40 */ cmplw r3, r0 /* 80039120 00034D80 41 80 00 0C */ blt lbl_8003912C /* 80039124 00034D84 38 60 00 00 */ li r3, 0 /* 80039128 00034D88 48 00 00 10 */ b lbl_80039138 lbl_8003912C: /* 8003912C 00034D8C 1C 03 00 30 */ mulli r0, r3, 0x30 /* 80039130 00034D90 80 64 00 0C */ lwz r3, 0xc(r4) /* 80039134 00034D94 7C 63 02 14 */ add r3, r3, r0 lbl_80039138: /* 80039138 00034D98 C0 3E 0D 80 */ lfs f1, 0xd80(r30) /* 8003913C 00034D9C C0 02 82 70 */ lfs f0, lbl_80640870-_SDA2_BASE_(r2) /* 80039140 00034DA0 88 A3 00 28 */ lbz r5, 0x28(r3) /* 80039144 00034DA4 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2) /* 80039148 00034DA8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8003914C 00034DAC D0 5E 0D 90 */ stfs f2, 0xd90(r30) /* 80039150 00034DB0 40 80 00 10 */ bge lbl_80039160 /* 80039154 00034DB4 C0 02 82 74 */ lfs f0, lbl_80640874-_SDA2_BASE_(r2) /* 80039158 00034DB8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8003915C 00034DBC 41 81 00 14 */ bgt lbl_80039170 lbl_80039160: /* 80039160 00034DC0 C0 3E 0D 8C */ lfs f1, 0xd8c(r30) /* 80039164 00034DC4 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 80039168 00034DC8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8003916C 00034DCC 40 81 00 30 */ ble lbl_8003919C lbl_80039170: /* 80039170 00034DD0 FC 20 F8 90 */ fmr f1, f31 /* 80039174 00034DD4 80 7E 0C 04 */ lwz r3, 0xc04(r30) /* 80039178 00034DD8 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2) /* 8003917C 00034DDC 57 E4 04 3E */ clrlwi r4, r31, 0x10 /* 80039180 00034DE0 38 C0 00 00 */ li r6, 0 /* 80039184 00034DE4 38 E0 00 00 */ li r7, 0 /* 80039188 00034DE8 39 00 00 00 */ li r8, 0 /* 8003918C 00034DEC 48 1B BC 69 */ bl func_801F4DF4 /* 80039190 00034DF0 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 80039194 00034DF4 D0 1E 0D 8C */ stfs f0, 0xd8c(r30) /* 80039198 00034DF8 48 00 00 38 */ b lbl_800391D0 lbl_8003919C: /* 8003919C 00034DFC FC 20 F8 90 */ fmr f1, f31 /* 800391A0 00034E00 80 7E 0C 04 */ lwz r3, 0xc04(r30) /* 800391A4 00034E04 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2) /* 800391A8 00034E08 57 E4 04 3E */ clrlwi r4, r31, 0x10 /* 800391AC 00034E0C C0 7E 0D 80 */ lfs f3, 0xd80(r30) /* 800391B0 00034E10 38 C0 00 01 */ li r6, 1 /* 800391B4 00034E14 89 3E 0D 88 */ lbz r9, 0xd88(r30) /* 800391B8 00034E18 38 E0 00 01 */ li r7, 1 /* 800391BC 00034E1C 89 5E 0D 89 */ lbz r10, 0xd89(r30) /* 800391C0 00034E20 39 00 00 00 */ li r8, 0 /* 800391C4 00034E24 48 1B C1 A1 */ bl func_801F5364 /* 800391C8 00034E28 C0 1E 0D 80 */ lfs f0, 0xd80(r30) /* 800391CC 00034E2C D0 1E 0D 8C */ stfs f0, 0xd8c(r30) lbl_800391D0: /* 800391D0 00034E30 38 00 00 00 */ li r0, 0 /* 800391D4 00034E34 B3 FE 0B F8 */ sth r31, 0xbf8(r30) /* 800391D8 00034E38 38 60 00 01 */ li r3, 1 /* 800391DC 00034E3C 90 1E 0C B0 */ stw r0, 0xcb0(r30) lbl_800391E0: /* 800391E0 00034E40 E3 E1 00 18 */ psq_l f31, 24(r1), 0, qr0 /* 800391E4 00034E44 80 01 00 24 */ lwz r0, 0x24(r1) /* 800391E8 00034E48 CB E1 00 10 */ lfd f31, 0x10(r1) /* 800391EC 00034E4C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 800391F0 00034E50 83 C1 00 08 */ lwz r30, 8(r1) /* 800391F4 00034E54 7C 08 03 A6 */ mtlr r0 /* 800391F8 00034E58 38 21 00 20 */ addi r1, r1, 0x20 /* 800391FC 00034E5C 4E 80 00 20 */ blr .global func_80039200 func_80039200: /* 80039200 00034E60 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80039204 00034E64 7C 08 02 A6 */ mflr r0 /* 80039208 00034E68 90 01 00 24 */ stw r0, 0x24(r1) /* 8003920C 00034E6C DB E1 00 18 */ stfd f31, 0x18(r1) /* 80039210 00034E70 FF E0 08 90 */ fmr f31, f1 /* 80039214 00034E74 93 E1 00 14 */ stw r31, 0x14(r1) /* 80039218 00034E78 7C 7F 1B 78 */ mr r31, r3 /* 8003921C 00034E7C 98 83 0B F6 */ stb r4, 0xbf6(r3) /* 80039220 00034E80 48 00 30 3D */ bl func_8003C25C /* 80039224 00034E84 FC 20 F8 90 */ fmr f1, f31 /* 80039228 00034E88 54 64 04 3E */ clrlwi r4, r3, 0x10 /* 8003922C 00034E8C 7F E3 FB 78 */ mr r3, r31 /* 80039230 00034E90 4B FF FE 61 */ bl func_80039090 /* 80039234 00034E94 88 1F 0B F6 */ lbz r0, 0xbf6(r31) /* 80039238 00034E98 2C 00 00 00 */ cmpwi r0, 0 /* 8003923C 00034E9C 41 82 00 0C */ beq lbl_80039248 /* 80039240 00034EA0 28 00 00 10 */ cmplwi r0, 0x10 /* 80039244 00034EA4 40 82 00 14 */ bne lbl_80039258 lbl_80039248: /* 80039248 00034EA8 80 1F 00 00 */ lwz r0, 0(r31) /* 8003924C 00034EAC 64 00 00 02 */ oris r0, r0, 2 /* 80039250 00034EB0 90 1F 00 00 */ stw r0, 0(r31) /* 80039254 00034EB4 48 00 00 10 */ b lbl_80039264 lbl_80039258: /* 80039258 00034EB8 80 1F 00 00 */ lwz r0, 0(r31) /* 8003925C 00034EBC 54 00 03 DA */ rlwinm r0, r0, 0, 0xf, 0xd /* 80039260 00034EC0 90 1F 00 00 */ stw r0, 0(r31) lbl_80039264: /* 80039264 00034EC4 80 01 00 24 */ lwz r0, 0x24(r1) /* 80039268 00034EC8 CB E1 00 18 */ lfd f31, 0x18(r1) /* 8003926C 00034ECC 83 E1 00 14 */ lwz r31, 0x14(r1) /* 80039270 00034ED0 7C 08 03 A6 */ mtlr r0 /* 80039274 00034ED4 38 21 00 20 */ addi r1, r1, 0x20 /* 80039278 00034ED8 4E 80 00 20 */ blr .global func_8003927C func_8003927C: /* 8003927C 00034EDC 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80039280 00034EE0 7C 08 02 A6 */ mflr r0 /* 80039284 00034EE4 90 01 00 44 */ stw r0, 0x44(r1) /* 80039288 00034EE8 DB E1 00 30 */ stfd f31, 0x30(r1) /* 8003928C 00034EEC F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0 /* 80039290 00034EF0 DB C1 00 20 */ stfd f30, 0x20(r1) /* 80039294 00034EF4 F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0 /* 80039298 00034EF8 FF C0 08 90 */ fmr f30, f1 /* 8003929C 00034EFC FF E0 10 90 */ fmr f31, f2 /* 800392A0 00034F00 93 E1 00 1C */ stw r31, 0x1c(r1) /* 800392A4 00034F04 7C 7F 1B 78 */ mr r31, r3 /* 800392A8 00034F08 93 C1 00 18 */ stw r30, 0x18(r1) /* 800392AC 00034F0C 93 A1 00 14 */ stw r29, 0x14(r1) /* 800392B0 00034F10 7C 9D 23 78 */ mr r29, r4 /* 800392B4 00034F14 80 03 0C 04 */ lwz r0, 0xc04(r3) /* 800392B8 00034F18 2C 00 00 00 */ cmpwi r0, 0 /* 800392BC 00034F1C 40 82 00 0C */ bne lbl_800392C8 /* 800392C0 00034F20 38 60 00 00 */ li r3, 0 /* 800392C4 00034F24 48 00 01 70 */ b lbl_80039434 lbl_800392C8: /* 800392C8 00034F28 2C 04 00 00 */ cmpwi r4, 0 /* 800392CC 00034F2C 40 82 00 0C */ bne lbl_800392D8 /* 800392D0 00034F30 38 60 00 00 */ li r3, 0 /* 800392D4 00034F34 48 00 01 60 */ b lbl_80039434 lbl_800392D8: /* 800392D8 00034F38 88 84 00 00 */ lbz r4, 0(r4) /* 800392DC 00034F3C 7C 84 07 74 */ extsb r4, r4 /* 800392E0 00034F40 54 84 04 3E */ clrlwi r4, r4, 0x10 /* 800392E4 00034F44 48 00 2F 79 */ bl func_8003C25C /* 800392E8 00034F48 54 7E 04 3E */ clrlwi r30, r3, 0x10 /* 800392EC 00034F4C 7F E3 FB 78 */ mr r3, r31 /* 800392F0 00034F50 7F C4 F3 78 */ mr r4, r30 /* 800392F4 00034F54 48 00 02 05 */ bl func_800394F8 /* 800392F8 00034F58 2C 03 00 00 */ cmpwi r3, 0 /* 800392FC 00034F5C 40 82 00 0C */ bne lbl_80039308 /* 80039300 00034F60 38 60 00 00 */ li r3, 0 /* 80039304 00034F64 48 00 01 30 */ b lbl_80039434 lbl_80039308: /* 80039308 00034F68 80 1F 00 00 */ lwz r0, 0(r31) /* 8003930C 00034F6C 54 00 04 63 */ rlwinm. r0, r0, 0, 0x11, 0x11 /* 80039310 00034F70 41 82 00 14 */ beq lbl_80039324 /* 80039314 00034F74 7F E3 FB 78 */ mr r3, r31 /* 80039318 00034F78 48 00 41 9D */ bl func_8003D4B4 /* 8003931C 00034F7C 38 60 00 01 */ li r3, 1 /* 80039320 00034F80 48 00 01 14 */ b lbl_80039434 lbl_80039324: /* 80039324 00034F84 80 7F 0C 04 */ lwz r3, 0xc04(r31) /* 80039328 00034F88 80 63 00 04 */ lwz r3, 4(r3) /* 8003932C 00034F8C 2C 03 00 00 */ cmpwi r3, 0 /* 80039330 00034F90 40 82 00 0C */ bne lbl_8003933C /* 80039334 00034F94 38 60 00 00 */ li r3, 0 /* 80039338 00034F98 48 00 00 24 */ b lbl_8003935C lbl_8003933C: /* 8003933C 00034F9C A0 03 00 08 */ lhz r0, 8(r3) /* 80039340 00034FA0 7C 1E 00 40 */ cmplw r30, r0 /* 80039344 00034FA4 41 80 00 0C */ blt lbl_80039350 /* 80039348 00034FA8 38 60 00 00 */ li r3, 0 /* 8003934C 00034FAC 48 00 00 10 */ b lbl_8003935C lbl_80039350: /* 80039350 00034FB0 1C 1E 00 30 */ mulli r0, r30, 0x30 /* 80039354 00034FB4 80 63 00 0C */ lwz r3, 0xc(r3) /* 80039358 00034FB8 7C 63 02 14 */ add r3, r3, r0 lbl_8003935C: /* 8003935C 00034FBC C0 3F 0D 80 */ lfs f1, 0xd80(r31) /* 80039360 00034FC0 C0 02 82 70 */ lfs f0, lbl_80640870-_SDA2_BASE_(r2) /* 80039364 00034FC4 88 A3 00 28 */ lbz r5, 0x28(r3) /* 80039368 00034FC8 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2) /* 8003936C 00034FCC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80039370 00034FD0 D0 5F 0D 90 */ stfs f2, 0xd90(r31) /* 80039374 00034FD4 40 80 00 10 */ bge lbl_80039384 /* 80039378 00034FD8 C0 02 82 74 */ lfs f0, lbl_80640874-_SDA2_BASE_(r2) /* 8003937C 00034FDC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80039380 00034FE0 41 81 00 14 */ bgt lbl_80039394 lbl_80039384: /* 80039384 00034FE4 C0 1F 0D 8C */ lfs f0, 0xd8c(r31) /* 80039388 00034FE8 C0 62 82 20 */ lfs f3, lbl_80640820-_SDA2_BASE_(r2) /* 8003938C 00034FEC FC 00 18 40 */ fcmpo cr0, f0, f3 /* 80039390 00034FF0 40 81 00 30 */ ble lbl_800393C0 lbl_80039394: /* 80039394 00034FF4 FC 20 F0 90 */ fmr f1, f30 /* 80039398 00034FF8 80 7F 0C 04 */ lwz r3, 0xc04(r31) /* 8003939C 00034FFC FC 40 F8 90 */ fmr f2, f31 /* 800393A0 00035000 7F C4 F3 78 */ mr r4, r30 /* 800393A4 00035004 38 C0 00 00 */ li r6, 0 /* 800393A8 00035008 38 E0 00 00 */ li r7, 0 /* 800393AC 0003500C 39 00 00 00 */ li r8, 0 /* 800393B0 00035010 48 1B BA 45 */ bl func_801F4DF4 /* 800393B4 00035014 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 800393B8 00035018 D0 1F 0D 8C */ stfs f0, 0xd8c(r31) /* 800393BC 0003501C 48 00 00 34 */ b lbl_800393F0 lbl_800393C0: /* 800393C0 00035020 FC 20 F0 90 */ fmr f1, f30 /* 800393C4 00035024 80 7F 0C 04 */ lwz r3, 0xc04(r31) /* 800393C8 00035028 FC 40 F8 90 */ fmr f2, f31 /* 800393CC 0003502C 89 3F 0D 88 */ lbz r9, 0xd88(r31) /* 800393D0 00035030 89 5F 0D 89 */ lbz r10, 0xd89(r31) /* 800393D4 00035034 7F C4 F3 78 */ mr r4, r30 /* 800393D8 00035038 38 C0 00 00 */ li r6, 0 /* 800393DC 0003503C 38 E0 00 01 */ li r7, 1 /* 800393E0 00035040 39 00 00 00 */ li r8, 0 /* 800393E4 00035044 48 1B BF 81 */ bl func_801F5364 /* 800393E8 00035048 C0 1F 0D 80 */ lfs f0, 0xd80(r31) /* 800393EC 0003504C D0 1F 0D 8C */ stfs f0, 0xd8c(r31) lbl_800393F0: /* 800393F0 00035050 B3 DF 0B F8 */ sth r30, 0xbf8(r31) /* 800393F4 00035054 38 1D 00 01 */ addi r0, r29, 1 /* 800393F8 00035058 88 7D 00 00 */ lbz r3, 0(r29) /* 800393FC 0003505C 2C 03 00 00 */ cmpwi r3, 0 /* 80039400 00035060 98 7F 0B F6 */ stb r3, 0xbf6(r31) /* 80039404 00035064 90 1F 0C B0 */ stw r0, 0xcb0(r31) /* 80039408 00035068 41 82 00 0C */ beq lbl_80039414 /* 8003940C 0003506C 28 03 00 10 */ cmplwi r3, 0x10 /* 80039410 00035070 40 82 00 14 */ bne lbl_80039424 lbl_80039414: /* 80039414 00035074 80 1F 00 00 */ lwz r0, 0(r31) /* 80039418 00035078 64 00 00 02 */ oris r0, r0, 2 /* 8003941C 0003507C 90 1F 00 00 */ stw r0, 0(r31) /* 80039420 00035080 48 00 00 10 */ b lbl_80039430 lbl_80039424: /* 80039424 00035084 80 1F 00 00 */ lwz r0, 0(r31) /* 80039428 00035088 54 00 03 DA */ rlwinm r0, r0, 0, 0xf, 0xd /* 8003942C 0003508C 90 1F 00 00 */ stw r0, 0(r31) lbl_80039430: /* 80039430 00035090 38 60 00 01 */ li r3, 1 lbl_80039434: /* 80039434 00035094 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0 /* 80039438 00035098 CB E1 00 30 */ lfd f31, 0x30(r1) /* 8003943C 0003509C E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0 /* 80039440 000350A0 CB C1 00 20 */ lfd f30, 0x20(r1) /* 80039444 000350A4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80039448 000350A8 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8003944C 000350AC 80 01 00 44 */ lwz r0, 0x44(r1) /* 80039450 000350B0 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80039454 000350B4 7C 08 03 A6 */ mtlr r0 /* 80039458 000350B8 38 21 00 40 */ addi r1, r1, 0x40 /* 8003945C 000350BC 4E 80 00 20 */ blr .global func_80039460 func_80039460: /* 80039460 000350C0 A0 63 0B F8 */ lhz r3, 0xbf8(r3) /* 80039464 000350C4 4E 80 00 20 */ blr .global func_80039468 func_80039468: /* 80039468 000350C8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8003946C 000350CC 7C 08 02 A6 */ mflr r0 /* 80039470 000350D0 2C 04 00 00 */ cmpwi r4, 0 /* 80039474 000350D4 90 01 00 14 */ stw r0, 0x14(r1) /* 80039478 000350D8 93 E1 00 0C */ stw r31, 0xc(r1) /* 8003947C 000350DC 93 C1 00 08 */ stw r30, 8(r1) /* 80039480 000350E0 7C 7E 1B 78 */ mr r30, r3 /* 80039484 000350E4 40 80 00 0C */ bge lbl_80039490 /* 80039488 000350E8 38 60 FF FF */ li r3, -1 /* 8003948C 000350EC 48 00 00 4C */ b lbl_800394D8 lbl_80039490: /* 80039490 000350F0 48 00 01 ED */ bl func_8003967C /* 80039494 000350F4 2C 03 00 00 */ cmpwi r3, 0 /* 80039498 000350F8 41 82 00 3C */ beq lbl_800394D4 /* 8003949C 000350FC 88 83 00 00 */ lbz r4, 0(r3) /* 800394A0 00035100 7F C3 F3 78 */ mr r3, r30 /* 800394A4 00035104 7C 84 07 74 */ extsb r4, r4 /* 800394A8 00035108 54 84 04 3E */ clrlwi r4, r4, 0x10 /* 800394AC 0003510C 48 00 2D B1 */ bl func_8003C25C /* 800394B0 00035110 54 7F 04 3E */ clrlwi r31, r3, 0x10 /* 800394B4 00035114 7F C3 F3 78 */ mr r3, r30 /* 800394B8 00035118 7F E4 FB 78 */ mr r4, r31 /* 800394BC 0003511C 48 00 00 3D */ bl func_800394F8 /* 800394C0 00035120 2C 03 00 00 */ cmpwi r3, 0 /* 800394C4 00035124 38 60 FF FF */ li r3, -1 /* 800394C8 00035128 41 82 00 10 */ beq lbl_800394D8 /* 800394CC 0003512C 7F E3 FB 78 */ mr r3, r31 /* 800394D0 00035130 48 00 00 08 */ b lbl_800394D8 lbl_800394D4: /* 800394D4 00035134 38 60 FF FF */ li r3, -1 lbl_800394D8: /* 800394D8 00035138 80 01 00 14 */ lwz r0, 0x14(r1) /* 800394DC 0003513C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 800394E0 00035140 83 C1 00 08 */ lwz r30, 8(r1) /* 800394E4 00035144 7C 08 03 A6 */ mtlr r0 /* 800394E8 00035148 38 21 00 10 */ addi r1, r1, 0x10 /* 800394EC 0003514C 4E 80 00 20 */ blr .global func_800394F0 func_800394F0: /* 800394F0 00035150 88 63 0B F6 */ lbz r3, 0xbf6(r3) /* 800394F4 00035154 4E 80 00 20 */ blr .global func_800394F8 func_800394F8: /* 800394F8 00035158 80 63 0C 04 */ lwz r3, 0xc04(r3) /* 800394FC 0003515C 2C 03 00 00 */ cmpwi r3, 0 /* 80039500 00035160 40 82 00 0C */ bne lbl_8003950C /* 80039504 00035164 38 60 00 00 */ li r3, 0 /* 80039508 00035168 4E 80 00 20 */ blr lbl_8003950C: /* 8003950C 0003516C 2C 04 00 00 */ cmpwi r4, 0 /* 80039510 00035170 41 80 00 2C */ blt lbl_8003953C /* 80039514 00035174 80 63 00 04 */ lwz r3, 4(r3) /* 80039518 00035178 2C 03 00 00 */ cmpwi r3, 0 /* 8003951C 0003517C 41 82 00 0C */ beq lbl_80039528 /* 80039520 00035180 A0 03 00 08 */ lhz r0, 8(r3) /* 80039524 00035184 48 00 00 08 */ b lbl_8003952C lbl_80039528: /* 80039528 00035188 38 00 00 00 */ li r0, 0 lbl_8003952C: /* 8003952C 0003518C 7C 04 00 00 */ cmpw r4, r0 /* 80039530 00035190 40 80 00 0C */ bge lbl_8003953C /* 80039534 00035194 38 60 00 01 */ li r3, 1 /* 80039538 00035198 4E 80 00 20 */ blr lbl_8003953C: /* 8003953C 0003519C 38 60 00 00 */ li r3, 0 /* 80039540 000351A0 4E 80 00 20 */ blr .global func_80039544 func_80039544: /* 80039544 000351A4 A0 03 0C 68 */ lhz r0, 0xc68(r3) /* 80039548 000351A8 28 00 01 00 */ cmplwi r0, 0x100 /* 8003954C 000351AC 40 82 00 9C */ bne lbl_800395E8 /* 80039550 000351B0 80 03 0C 00 */ lwz r0, 0xc00(r3) /* 80039554 000351B4 2C 00 00 00 */ cmpwi r0, 0 /* 80039558 000351B8 4D 82 00 20 */ beqlr /* 8003955C 000351BC 39 20 00 00 */ li r9, 0 /* 80039560 000351C0 48 00 00 6C */ b lbl_800395CC lbl_80039564: /* 80039564 000351C4 81 07 00 04 */ lwz r8, 4(r7) /* 80039568 000351C8 2C 08 00 00 */ cmpwi r8, 0 /* 8003956C 000351CC 40 82 00 0C */ bne lbl_80039578 /* 80039570 000351D0 38 A0 00 00 */ li r5, 0 /* 80039574 000351D4 48 00 00 28 */ b lbl_8003959C lbl_80039578: /* 80039578 000351D8 80 A7 00 00 */ lwz r5, 0(r7) /* 8003957C 000351DC 55 26 06 3E */ clrlwi r6, r9, 0x18 /* 80039580 000351E0 A0 05 00 18 */ lhz r0, 0x18(r5) /* 80039584 000351E4 7C 06 00 40 */ cmplw r6, r0 /* 80039588 000351E8 41 80 00 0C */ blt lbl_80039594 /* 8003958C 000351EC 38 A0 00 00 */ li r5, 0 /* 80039590 000351F0 48 00 00 0C */ b lbl_8003959C lbl_80039594: /* 80039594 000351F4 55 20 15 BA */ rlwinm r0, r9, 2, 0x16, 0x1d /* 80039598 000351F8 7C A8 00 2E */ lwzx r5, r8, r0 lbl_8003959C: /* 8003959C 000351FC 2C 05 00 00 */ cmpwi r5, 0 /* 800395A0 00035200 41 82 00 28 */ beq lbl_800395C8 /* 800395A4 00035204 2C 04 00 00 */ cmpwi r4, 0 /* 800395A8 00035208 41 82 00 14 */ beq lbl_800395BC /* 800395AC 0003520C A0 05 00 DC */ lhz r0, 0xdc(r5) /* 800395B0 00035210 60 00 00 10 */ ori r0, r0, 0x10 /* 800395B4 00035214 B0 05 00 DC */ sth r0, 0xdc(r5) /* 800395B8 00035218 48 00 00 10 */ b lbl_800395C8 lbl_800395BC: /* 800395BC 0003521C A0 05 00 DC */ lhz r0, 0xdc(r5) /* 800395C0 00035220 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a /* 800395C4 00035224 B0 05 00 DC */ sth r0, 0xdc(r5) lbl_800395C8: /* 800395C8 00035228 39 29 00 01 */ addi r9, r9, 1 lbl_800395CC: /* 800395CC 0003522C 80 E3 0C 00 */ lwz r7, 0xc00(r3) /* 800395D0 00035230 55 26 06 3E */ clrlwi r6, r9, 0x18 /* 800395D4 00035234 80 A7 00 00 */ lwz r5, 0(r7) /* 800395D8 00035238 A0 05 00 18 */ lhz r0, 0x18(r5) /* 800395DC 0003523C 7C 06 00 00 */ cmpw r6, r0 /* 800395E0 00035240 41 80 FF 84 */ blt lbl_80039564 /* 800395E4 00035244 4E 80 00 20 */ blr lbl_800395E8: /* 800395E8 00035248 2C 04 00 00 */ cmpwi r4, 0 /* 800395EC 0003524C 41 82 00 20 */ beq lbl_8003960C /* 800395F0 00035250 80 63 0C 04 */ lwz r3, 0xc04(r3) /* 800395F4 00035254 2C 03 00 00 */ cmpwi r3, 0 /* 800395F8 00035258 4D 82 00 20 */ beqlr /* 800395FC 0003525C A0 03 00 DC */ lhz r0, 0xdc(r3) /* 80039600 00035260 60 00 00 10 */ ori r0, r0, 0x10 /* 80039604 00035264 B0 03 00 DC */ sth r0, 0xdc(r3) /* 80039608 00035268 4E 80 00 20 */ blr lbl_8003960C: /* 8003960C 0003526C 80 03 00 00 */ lwz r0, 0(r3) /* 80039610 00035270 54 00 04 63 */ rlwinm. r0, r0, 0, 0x11, 0x11 /* 80039614 00035274 4C 82 00 20 */ bnelr /* 80039618 00035278 80 63 0C 04 */ lwz r3, 0xc04(r3) /* 8003961C 0003527C 2C 03 00 00 */ cmpwi r3, 0 /* 80039620 00035280 4D 82 00 20 */ beqlr /* 80039624 00035284 A0 03 00 DC */ lhz r0, 0xdc(r3) /* 80039628 00035288 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a /* 8003962C 0003528C B0 03 00 DC */ sth r0, 0xdc(r3) /* 80039630 00035290 4E 80 00 20 */ blr .global func_80039634 func_80039634: /* 80039634 00035294 90 83 0C 50 */ stw r4, 0xc50(r3) /* 80039638 00035298 90 A3 0C 54 */ stw r5, 0xc54(r3) /* 8003963C 0003529C 4E 80 00 20 */ blr .global func_80039640 func_80039640: /* 80039640 000352A0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80039644 000352A4 7C 08 02 A6 */ mflr r0 /* 80039648 000352A8 7C 64 1B 78 */ mr r4, r3 /* 8003964C 000352AC 80 63 0C 50 */ lwz r3, 0xc50(r3) /* 80039650 000352B0 90 01 00 14 */ stw r0, 0x14(r1) /* 80039654 000352B4 80 84 0C 54 */ lwz r4, 0xc54(r4) /* 80039658 000352B8 48 1A 1E 65 */ bl func_801DB4BC /* 8003965C 000352BC 2C 03 00 00 */ cmpwi r3, 0 /* 80039660 000352C0 40 82 00 0C */ bne lbl_8003966C /* 80039664 000352C4 48 00 4A F9 */ bl func_8003E15C /* 80039668 000352C8 48 00 4D C5 */ bl func_8003E42C lbl_8003966C: /* 8003966C 000352CC 80 01 00 14 */ lwz r0, 0x14(r1) /* 80039670 000352D0 7C 08 03 A6 */ mtlr r0 /* 80039674 000352D4 38 21 00 10 */ addi r1, r1, 0x10 /* 80039678 000352D8 4E 80 00 20 */ blr .global func_8003967C func_8003967C: /* 8003967C 000352DC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80039680 000352E0 7C 08 02 A6 */ mflr r0 /* 80039684 000352E4 90 01 00 14 */ stw r0, 0x14(r1) /* 80039688 000352E8 93 E1 00 0C */ stw r31, 0xc(r1) /* 8003968C 000352EC 7C 9F 23 78 */ mr r31, r4 /* 80039690 000352F0 93 C1 00 08 */ stw r30, 8(r1) /* 80039694 000352F4 7C 7E 1B 78 */ mr r30, r3 /* 80039698 000352F8 4B FF FF A9 */ bl func_80039640 /* 8003969C 000352FC 2C 03 00 00 */ cmpwi r3, 0 /* 800396A0 00035300 40 82 00 0C */ bne lbl_800396AC /* 800396A4 00035304 38 60 00 00 */ li r3, 0 /* 800396A8 00035308 48 00 00 14 */ b lbl_800396BC lbl_800396AC: /* 800396AC 0003530C A0 BE 05 10 */ lhz r5, 0x510(r30) /* 800396B0 00035310 7F E4 FB 78 */ mr r4, r31 /* 800396B4 00035314 A0 DE 05 0E */ lhz r6, 0x50e(r30) /* 800396B8 00035318 4B FF 98 35 */ bl func_80032EEC lbl_800396BC: /* 800396BC 0003531C 80 01 00 14 */ lwz r0, 0x14(r1) /* 800396C0 00035320 83 E1 00 0C */ lwz r31, 0xc(r1) /* 800396C4 00035324 83 C1 00 08 */ lwz r30, 8(r1) /* 800396C8 00035328 7C 08 03 A6 */ mtlr r0 /* 800396CC 0003532C 38 21 00 10 */ addi r1, r1, 0x10 /* 800396D0 00035330 4E 80 00 20 */ blr .global func_800396D4 func_800396D4: /* 800396D4 00035334 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800396D8 00035338 7C 08 02 A6 */ mflr r0 /* 800396DC 0003533C 90 01 00 14 */ stw r0, 0x14(r1) /* 800396E0 00035340 93 E1 00 0C */ stw r31, 0xc(r1) /* 800396E4 00035344 7C 7F 1B 78 */ mr r31, r3 /* 800396E8 00035348 48 00 4A 75 */ bl func_8003E15C /* 800396EC 0003534C 2C 03 00 00 */ cmpwi r3, 0 /* 800396F0 00035350 41 82 00 10 */ beq lbl_80039700 /* 800396F4 00035354 A0 9F 05 10 */ lhz r4, 0x510(r31) /* 800396F8 00035358 48 00 4F 19 */ bl func_8003E610 /* 800396FC 0003535C 48 00 00 08 */ b lbl_80039704 lbl_80039700: /* 80039700 00035360 38 60 00 00 */ li r3, 0 lbl_80039704: /* 80039704 00035364 80 01 00 14 */ lwz r0, 0x14(r1) /* 80039708 00035368 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8003970C 0003536C 7C 08 03 A6 */ mtlr r0 /* 80039710 00035370 38 21 00 10 */ addi r1, r1, 0x10 /* 80039714 00035374 4E 80 00 20 */ blr .global func_80039718 func_80039718: /* 80039718 00035378 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8003971C 0003537C 7C 08 02 A6 */ mflr r0 /* 80039720 00035380 90 01 00 14 */ stw r0, 0x14(r1) /* 80039724 00035384 93 E1 00 0C */ stw r31, 0xc(r1) /* 80039728 00035388 3B E0 00 00 */ li r31, 0 /* 8003972C 0003538C 93 C1 00 08 */ stw r30, 8(r1) /* 80039730 00035390 7C 7E 1B 78 */ mr r30, r3 /* 80039734 00035394 48 00 4A 29 */ bl func_8003E15C /* 80039738 00035398 2C 03 00 00 */ cmpwi r3, 0 /* 8003973C 0003539C 41 82 00 10 */ beq lbl_8003974C /* 80039740 000353A0 A0 9E 05 10 */ lhz r4, 0x510(r30) /* 80039744 000353A4 48 00 4F 1D */ bl func_8003E660 /* 80039748 000353A8 7C 7F 1B 78 */ mr r31, r3 lbl_8003974C: /* 8003974C 000353AC 2C 1F 00 64 */ cmpwi r31, 0x64 /* 80039750 000353B0 40 80 00 0C */ bge lbl_8003975C /* 80039754 000353B4 38 60 00 01 */ li r3, 1 /* 80039758 000353B8 48 00 00 4C */ b lbl_800397A4 lbl_8003975C: /* 8003975C 000353BC 2C 1F 00 FA */ cmpwi r31, 0xfa /* 80039760 000353C0 40 80 00 0C */ bge lbl_8003976C /* 80039764 000353C4 38 60 00 02 */ li r3, 2 /* 80039768 000353C8 48 00 00 3C */ b lbl_800397A4 lbl_8003976C: /* 8003976C 000353CC 2C 1F 01 F4 */ cmpwi r31, 0x1f4 /* 80039770 000353D0 40 80 00 0C */ bge lbl_8003977C /* 80039774 000353D4 38 60 00 03 */ li r3, 3 /* 80039778 000353D8 48 00 00 2C */ b lbl_800397A4 lbl_8003977C: /* 8003977C 000353DC 2C 1F 03 E8 */ cmpwi r31, 0x3e8 /* 80039780 000353E0 40 80 00 0C */ bge lbl_8003978C /* 80039784 000353E4 38 60 00 04 */ li r3, 4 /* 80039788 000353E8 48 00 00 1C */ b lbl_800397A4 lbl_8003978C: /* 8003978C 000353EC 38 60 07 D0 */ li r3, 0x7d0 /* 80039790 000353F0 57 E0 0F FE */ srwi r0, r31, 0x1f /* 80039794 000353F4 7C 63 F8 10 */ subfc r3, r3, r31 /* 80039798 000353F8 38 60 00 00 */ li r3, 0 /* 8003979C 000353FC 7C 60 19 10 */ subfe r3, r0, r3 /* 800397A0 00035400 38 63 00 06 */ addi r3, r3, 6 lbl_800397A4: /* 800397A4 00035404 80 01 00 14 */ lwz r0, 0x14(r1) /* 800397A8 00035408 83 E1 00 0C */ lwz r31, 0xc(r1) /* 800397AC 0003540C 83 C1 00 08 */ lwz r30, 8(r1) /* 800397B0 00035410 7C 08 03 A6 */ mtlr r0 /* 800397B4 00035414 38 21 00 10 */ addi r1, r1, 0x10 /* 800397B8 00035418 4E 80 00 20 */ blr .global func_800397BC func_800397BC: /* 800397BC 0003541C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800397C0 00035420 7C 08 02 A6 */ mflr r0 /* 800397C4 00035424 90 01 00 14 */ stw r0, 0x14(r1) /* 800397C8 00035428 4B FF FF 0D */ bl func_800396D4 /* 800397CC 0003542C 28 03 00 06 */ cmplwi r3, 6 /* 800397D0 00035430 41 81 00 54 */ bgt lbl_80039824 /* 800397D4 00035434 3C 80 80 41 */ lis r4, lbl_8040A410@ha /* 800397D8 00035438 54 60 10 3A */ slwi r0, r3, 2 /* 800397DC 0003543C 38 84 A4 10 */ addi r4, r4, lbl_8040A410@l /* 800397E0 00035440 7C 84 00 2E */ lwzx r4, r4, r0 /* 800397E4 00035444 7C 89 03 A6 */ mtctr r4 /* 800397E8 00035448 4E 80 04 20 */ bctr /* 800397EC 0003544C C0 22 82 30 */ lfs f1, lbl_80640830-_SDA2_BASE_(r2) /* 800397F0 00035450 48 00 00 38 */ b lbl_80039828 /* 800397F4 00035454 C0 22 82 88 */ lfs f1, lbl_80640888-_SDA2_BASE_(r2) /* 800397F8 00035458 48 00 00 30 */ b lbl_80039828 /* 800397FC 0003545C C0 22 82 8C */ lfs f1, lbl_8064088C-_SDA2_BASE_(r2) /* 80039800 00035460 48 00 00 28 */ b lbl_80039828 /* 80039804 00035464 C0 22 82 30 */ lfs f1, lbl_80640830-_SDA2_BASE_(r2) /* 80039808 00035468 48 00 00 20 */ b lbl_80039828 /* 8003980C 0003546C C0 22 82 90 */ lfs f1, lbl_80640890-_SDA2_BASE_(r2) /* 80039810 00035470 48 00 00 18 */ b lbl_80039828 /* 80039814 00035474 C0 22 82 3C */ lfs f1, lbl_8064083C-_SDA2_BASE_(r2) /* 80039818 00035478 48 00 00 10 */ b lbl_80039828 /* 8003981C 0003547C C0 22 82 94 */ lfs f1, lbl_80640894-_SDA2_BASE_(r2) /* 80039820 00035480 48 00 00 08 */ b lbl_80039828 lbl_80039824: /* 80039824 00035484 C0 22 82 30 */ lfs f1, lbl_80640830-_SDA2_BASE_(r2) lbl_80039828: /* 80039828 00035488 80 01 00 14 */ lwz r0, 0x14(r1) /* 8003982C 0003548C 7C 08 03 A6 */ mtlr r0 /* 80039830 00035490 38 21 00 10 */ addi r1, r1, 0x10 /* 80039834 00035494 4E 80 00 20 */ blr .global func_80039838 func_80039838: /* 80039838 00035498 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8003983C 0003549C 7C 08 02 A6 */ mflr r0 /* 80039840 000354A0 90 01 00 14 */ stw r0, 0x14(r1) /* 80039844 000354A4 93 E1 00 0C */ stw r31, 0xc(r1) /* 80039848 000354A8 7C 9F 23 78 */ mr r31, r4 /* 8003984C 000354AC 93 C1 00 08 */ stw r30, 8(r1) /* 80039850 000354B0 7C 7E 1B 78 */ mr r30, r3 /* 80039854 000354B4 48 00 49 09 */ bl func_8003E15C /* 80039858 000354B8 2C 03 00 00 */ cmpwi r3, 0 /* 8003985C 000354BC 41 82 00 24 */ beq lbl_80039880 /* 80039860 000354C0 A0 DE 05 14 */ lhz r6, 0x514(r30) /* 80039864 000354C4 7F E5 FB 78 */ mr r5, r31 /* 80039868 000354C8 A0 1E 05 12 */ lhz r0, 0x512(r30) /* 8003986C 000354CC A0 9E 05 10 */ lhz r4, 0x510(r30) /* 80039870 000354D0 54 C6 06 3E */ clrlwi r6, r6, 0x18 /* 80039874 000354D4 54 07 06 3E */ clrlwi r7, r0, 0x18 /* 80039878 000354D8 48 00 4E D9 */ bl func_8003E750 /* 8003987C 000354DC 48 00 00 08 */ b lbl_80039884 lbl_80039880: /* 80039880 000354E0 38 60 FF FF */ li r3, -1 lbl_80039884: /* 80039884 000354E4 80 01 00 14 */ lwz r0, 0x14(r1) /* 80039888 000354E8 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8003988C 000354EC 83 C1 00 08 */ lwz r30, 8(r1) /* 80039890 000354F0 7C 08 03 A6 */ mtlr r0 /* 80039894 000354F4 38 21 00 10 */ addi r1, r1, 0x10 /* 80039898 000354F8 4E 80 00 20 */ blr .global func_8003989C func_8003989C: /* 8003989C 000354FC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800398A0 00035500 7C 08 02 A6 */ mflr r0 /* 800398A4 00035504 90 01 00 14 */ stw r0, 0x14(r1) /* 800398A8 00035508 93 E1 00 0C */ stw r31, 0xc(r1) /* 800398AC 0003550C 7C 9F 23 78 */ mr r31, r4 /* 800398B0 00035510 7C A4 2B 78 */ mr r4, r5 /* 800398B4 00035514 93 C1 00 08 */ stw r30, 8(r1) /* 800398B8 00035518 7C 7E 1B 78 */ mr r30, r3 /* 800398BC 0003551C 7F E3 FB 78 */ mr r3, r31 /* 800398C0 00035520 4B FF FF 79 */ bl func_80039838 /* 800398C4 00035524 7C 65 1B 78 */ mr r5, r3 /* 800398C8 00035528 7F C3 F3 78 */ mr r3, r30 /* 800398CC 0003552C 7F E4 FB 78 */ mr r4, r31 /* 800398D0 00035530 48 00 1D A5 */ bl func_8003B674 /* 800398D4 00035534 80 01 00 14 */ lwz r0, 0x14(r1) /* 800398D8 00035538 83 E1 00 0C */ lwz r31, 0xc(r1) /* 800398DC 0003553C 83 C1 00 08 */ lwz r30, 8(r1) /* 800398E0 00035540 7C 08 03 A6 */ mtlr r0 /* 800398E4 00035544 38 21 00 10 */ addi r1, r1, 0x10 /* 800398E8 00035548 4E 80 00 20 */ blr .global func_800398EC func_800398EC: /* 800398EC 0003554C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800398F0 00035550 7C 08 02 A6 */ mflr r0 /* 800398F4 00035554 90 01 00 14 */ stw r0, 0x14(r1) /* 800398F8 00035558 80 03 0C 04 */ lwz r0, 0xc04(r3) /* 800398FC 0003555C 93 E1 00 0C */ stw r31, 0xc(r1) /* 80039900 00035560 7C 7F 1B 78 */ mr r31, r3 /* 80039904 00035564 2C 00 00 00 */ cmpwi r0, 0 /* 80039908 00035568 41 82 00 5C */ beq lbl_80039964 /* 8003990C 0003556C 4B FF FF 2D */ bl func_80039838 /* 80039910 00035570 80 BF 0C 04 */ lwz r5, 0xc04(r31) /* 80039914 00035574 2C 03 00 00 */ cmpwi r3, 0 /* 80039918 00035578 A0 85 00 DE */ lhz r4, 0xde(r5) /* 8003991C 0003557C 41 80 00 40 */ blt lbl_8003995C /* 80039920 00035580 7C 03 20 00 */ cmpw r3, r4 /* 80039924 00035584 40 80 00 38 */ bge lbl_8003995C /* 80039928 00035588 80 A5 00 08 */ lwz r5, 8(r5) /* 8003992C 0003558C 2C 05 00 00 */ cmpwi r5, 0 /* 80039930 00035590 40 82 00 0C */ bne lbl_8003993C /* 80039934 00035594 38 60 00 00 */ li r3, 0 /* 80039938 00035598 48 00 00 30 */ b lbl_80039968 lbl_8003993C: /* 8003993C 0003559C 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 80039940 000355A0 7C 00 20 40 */ cmplw r0, r4 /* 80039944 000355A4 41 80 00 0C */ blt lbl_80039950 /* 80039948 000355A8 38 60 00 00 */ li r3, 0 /* 8003994C 000355AC 48 00 00 1C */ b lbl_80039968 lbl_80039950: /* 80039950 000355B0 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 80039954 000355B4 7C 65 00 2E */ lwzx r3, r5, r0 /* 80039958 000355B8 48 00 00 10 */ b lbl_80039968 lbl_8003995C: /* 8003995C 000355BC 38 60 00 00 */ li r3, 0 /* 80039960 000355C0 48 00 00 08 */ b lbl_80039968 lbl_80039964: /* 80039964 000355C4 38 60 00 00 */ li r3, 0 lbl_80039968: /* 80039968 000355C8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8003996C 000355CC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80039970 000355D0 7C 08 03 A6 */ mtlr r0 /* 80039974 000355D4 38 21 00 10 */ addi r1, r1, 0x10 /* 80039978 000355D8 4E 80 00 20 */ blr .global func_8003997C func_8003997C: /* 8003997C 000355DC 80 63 0C 04 */ lwz r3, 0xc04(r3) /* 80039980 000355E0 2C 03 00 00 */ cmpwi r3, 0 /* 80039984 000355E4 41 82 00 3C */ beq lbl_800399C0 /* 80039988 000355E8 80 A3 00 08 */ lwz r5, 8(r3) /* 8003998C 000355EC 2C 05 00 00 */ cmpwi r5, 0 /* 80039990 000355F0 40 82 00 0C */ bne lbl_8003999C /* 80039994 000355F4 38 60 00 00 */ li r3, 0 /* 80039998 000355F8 4E 80 00 20 */ blr lbl_8003999C: /* 8003999C 000355FC A0 03 00 DE */ lhz r0, 0xde(r3) /* 800399A0 00035600 54 83 04 3E */ clrlwi r3, r4, 0x10 /* 800399A4 00035604 7C 03 00 40 */ cmplw r3, r0 /* 800399A8 00035608 41 80 00 0C */ blt lbl_800399B4 /* 800399AC 0003560C 38 60 00 00 */ li r3, 0 /* 800399B0 00035610 4E 80 00 20 */ blr lbl_800399B4: /* 800399B4 00035614 54 80 13 BA */ rlwinm r0, r4, 2, 0xe, 0x1d /* 800399B8 00035618 7C 65 00 2E */ lwzx r3, r5, r0 /* 800399BC 0003561C 4E 80 00 20 */ blr lbl_800399C0: /* 800399C0 00035620 38 60 00 00 */ li r3, 0 /* 800399C4 00035624 4E 80 00 20 */ blr .global func_800399C8 func_800399C8: /* 800399C8 00035628 94 21 FF E0 */ stwu r1, -0x20(r1) /* 800399CC 0003562C 7C 08 02 A6 */ mflr r0 /* 800399D0 00035630 2C 04 00 00 */ cmpwi r4, 0 /* 800399D4 00035634 90 01 00 24 */ stw r0, 0x24(r1) /* 800399D8 00035638 DB E1 00 18 */ stfd f31, 0x18(r1) /* 800399DC 0003563C FF E0 10 90 */ fmr f31, f2 /* 800399E0 00035640 DB C1 00 10 */ stfd f30, 0x10(r1) /* 800399E4 00035644 FF C0 08 90 */ fmr f30, f1 /* 800399E8 00035648 93 E1 00 0C */ stw r31, 0xc(r1) /* 800399EC 0003564C 7C 9F 23 78 */ mr r31, r4 /* 800399F0 00035650 93 C1 00 08 */ stw r30, 8(r1) /* 800399F4 00035654 7C 7E 1B 78 */ mr r30, r3 /* 800399F8 00035658 40 80 00 0C */ bge lbl_80039A04 /* 800399FC 0003565C 38 60 00 00 */ li r3, 0 /* 80039A00 00035660 48 00 00 34 */ b lbl_80039A34 lbl_80039A04: /* 80039A04 00035664 4B FF FC 79 */ bl func_8003967C /* 80039A08 00035668 2C 03 00 00 */ cmpwi r3, 0 /* 80039A0C 0003566C 7C 64 1B 78 */ mr r4, r3 /* 80039A10 00035670 41 82 00 20 */ beq lbl_80039A30 /* 80039A14 00035674 FC 20 F0 90 */ fmr f1, f30 /* 80039A18 00035678 7F C3 F3 78 */ mr r3, r30 /* 80039A1C 0003567C FC 40 F8 90 */ fmr f2, f31 /* 80039A20 00035680 4B FF F8 5D */ bl func_8003927C /* 80039A24 00035684 B3 FE 0B F4 */ sth r31, 0xbf4(r30) /* 80039A28 00035688 38 60 00 01 */ li r3, 1 /* 80039A2C 0003568C 48 00 00 08 */ b lbl_80039A34 lbl_80039A30: /* 80039A30 00035690 38 60 00 00 */ li r3, 0 lbl_80039A34: /* 80039A34 00035694 80 01 00 24 */ lwz r0, 0x24(r1) /* 80039A38 00035698 CB E1 00 18 */ lfd f31, 0x18(r1) /* 80039A3C 0003569C CB C1 00 10 */ lfd f30, 0x10(r1) /* 80039A40 000356A0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80039A44 000356A4 83 C1 00 08 */ lwz r30, 8(r1) /* 80039A48 000356A8 7C 08 03 A6 */ mtlr r0 /* 80039A4C 000356AC 38 21 00 20 */ addi r1, r1, 0x20 /* 80039A50 000356B0 4E 80 00 20 */ blr .global func_80039A54 func_80039A54: /* 80039A54 000356B4 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80039A58 000356B8 7C 08 02 A6 */ mflr r0 /* 80039A5C 000356BC 90 01 00 44 */ stw r0, 0x44(r1) /* 80039A60 000356C0 DB E1 00 30 */ stfd f31, 0x30(r1) /* 80039A64 000356C4 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0 /* 80039A68 000356C8 FF E0 08 90 */ fmr f31, f1 /* 80039A6C 000356CC 38 A0 00 02 */ li r5, 2 /* 80039A70 000356D0 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80039A74 000356D4 93 C1 00 28 */ stw r30, 0x28(r1) /* 80039A78 000356D8 7C 9E 23 78 */ mr r30, r4 /* 80039A7C 000356DC 38 80 00 08 */ li r4, 8 /* 80039A80 000356E0 93 A1 00 24 */ stw r29, 0x24(r1) /* 80039A84 000356E4 7C 7D 1B 78 */ mr r29, r3 /* 80039A88 000356E8 48 00 03 39 */ bl func_80039DC0 /* 80039A8C 000356EC EC 1F 08 2A */ fadds f0, f31, f1 /* 80039A90 000356F0 A0 1D 05 10 */ lhz r0, 0x510(r29) /* 80039A94 000356F4 28 00 01 67 */ cmplwi r0, 0x167 /* 80039A98 000356F8 D0 1D 0D 78 */ stfs f0, 0xd78(r29) /* 80039A9C 000356FC 40 82 00 08 */ bne lbl_80039AA4 /* 80039AA0 00035700 3B C0 00 00 */ li r30, 0 lbl_80039AA4: /* 80039AA4 00035704 80 1D 00 00 */ lwz r0, 0(r29) /* 80039AA8 00035708 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13 /* 80039AAC 0003570C 41 82 01 00 */ beq lbl_80039BAC /* 80039AB0 00035710 7F A3 EB 78 */ mr r3, r29 /* 80039AB4 00035714 38 80 00 00 */ li r4, 0 /* 80039AB8 00035718 48 00 27 A5 */ bl func_8003C25C /* 80039ABC 0003571C 54 7F 04 3E */ clrlwi r31, r3, 0x10 /* 80039AC0 00035720 7F A3 EB 78 */ mr r3, r29 /* 80039AC4 00035724 38 80 00 0A */ li r4, 0xa /* 80039AC8 00035728 48 00 27 95 */ bl func_8003C25C /* 80039ACC 0003572C 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 80039AD0 00035730 7C 00 F8 40 */ cmplw r0, r31 /* 80039AD4 00035734 41 82 00 A0 */ beq lbl_80039B74 /* 80039AD8 00035738 7F A3 EB 78 */ mr r3, r29 /* 80039ADC 0003573C 4B FF FA 15 */ bl func_800394F0 /* 80039AE0 00035740 2C 03 00 0A */ cmpwi r3, 0xa /* 80039AE4 00035744 40 82 00 10 */ bne lbl_80039AF4 /* 80039AE8 00035748 7F A3 EB 78 */ mr r3, r29 /* 80039AEC 0003574C 48 00 1C A9 */ bl func_8003B794 /* 80039AF0 00035750 D0 3D 0D 7C */ stfs f1, 0xd7c(r29) lbl_80039AF4: /* 80039AF4 00035754 A0 1D 05 10 */ lhz r0, 0x510(r29) /* 80039AF8 00035758 28 00 00 B2 */ cmplwi r0, 0xb2 /* 80039AFC 0003575C 41 82 00 F0 */ beq lbl_80039BEC /* 80039B00 00035760 2C 1E 00 00 */ cmpwi r30, 0 /* 80039B04 00035764 41 82 00 38 */ beq lbl_80039B3C /* 80039B08 00035768 C0 1D 0D 78 */ lfs f0, 0xd78(r29) /* 80039B0C 0003576C 7F A3 EB 78 */ mr r3, r29 /* 80039B10 00035770 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 80039B14 00035774 38 80 00 08 */ li r4, 8 /* 80039B18 00035778 D0 1D 0D 80 */ stfs f0, 0xd80(r29) /* 80039B1C 0003577C 4B FF F6 E5 */ bl func_80039200 /* 80039B20 00035780 C0 3D 0D 7C */ lfs f1, 0xd7c(r29) /* 80039B24 00035784 7F A3 EB 78 */ mr r3, r29 /* 80039B28 00035788 C0 5D 0D 78 */ lfs f2, 0xd78(r29) /* 80039B2C 0003578C 38 80 FF FF */ li r4, -1 /* 80039B30 00035790 38 A0 00 00 */ li r5, 0 /* 80039B34 00035794 48 00 11 69 */ bl func_8003AC9C /* 80039B38 00035798 48 00 00 A8 */ b lbl_80039BE0 lbl_80039B3C: /* 80039B3C 0003579C C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 80039B40 000357A0 7F A3 EB 78 */ mr r3, r29 /* 80039B44 000357A4 38 80 00 08 */ li r4, 8 /* 80039B48 000357A8 D0 3D 0D 80 */ stfs f1, 0xd80(r29) /* 80039B4C 000357AC 4B FF F6 B5 */ bl func_80039200 /* 80039B50 000357B0 7F A4 EB 78 */ mr r4, r29 /* 80039B54 000357B4 38 61 00 08 */ addi r3, r1, 8 /* 80039B58 000357B8 4B FF EC 89 */ bl func_800387E0 /* 80039B5C 000357BC C0 1D 0D 7C */ lfs f0, 0xd7c(r29) /* 80039B60 000357C0 7F A3 EB 78 */ mr r3, r29 /* 80039B64 000357C4 38 81 00 08 */ addi r4, r1, 8 /* 80039B68 000357C8 D0 01 00 0C */ stfs f0, 0xc(r1) /* 80039B6C 000357CC 4B FF EC B1 */ bl func_8003881C /* 80039B70 000357D0 48 00 00 70 */ b lbl_80039BE0 lbl_80039B74: /* 80039B74 000357D4 2C 1E 00 00 */ cmpwi r30, 0 /* 80039B78 000357D8 41 82 00 18 */ beq lbl_80039B90 /* 80039B7C 000357DC C0 22 82 98 */ lfs f1, lbl_80640898-_SDA2_BASE_(r2) /* 80039B80 000357E0 C0 1D 0D 78 */ lfs f0, 0xd78(r29) /* 80039B84 000357E4 EC 01 00 32 */ fmuls f0, f1, f0 /* 80039B88 000357E8 D0 1D 0D 80 */ stfs f0, 0xd80(r29) /* 80039B8C 000357EC 48 00 00 0C */ b lbl_80039B98 lbl_80039B90: /* 80039B90 000357F0 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 80039B94 000357F4 D0 1D 0D 80 */ stfs f0, 0xd80(r29) lbl_80039B98: /* 80039B98 000357F8 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 80039B9C 000357FC 7F A3 EB 78 */ mr r3, r29 /* 80039BA0 00035800 38 80 00 08 */ li r4, 8 /* 80039BA4 00035804 4B FF F6 5D */ bl func_80039200 /* 80039BA8 00035808 48 00 00 38 */ b lbl_80039BE0 lbl_80039BAC: /* 80039BAC 0003580C 2C 1E 00 00 */ cmpwi r30, 0 /* 80039BB0 00035810 41 82 00 18 */ beq lbl_80039BC8 /* 80039BB4 00035814 C0 22 82 98 */ lfs f1, lbl_80640898-_SDA2_BASE_(r2) /* 80039BB8 00035818 C0 1D 0D 78 */ lfs f0, 0xd78(r29) /* 80039BBC 0003581C EC 01 00 32 */ fmuls f0, f1, f0 /* 80039BC0 00035820 D0 1D 0D 80 */ stfs f0, 0xd80(r29) /* 80039BC4 00035824 48 00 00 0C */ b lbl_80039BD0 lbl_80039BC8: /* 80039BC8 00035828 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 80039BCC 0003582C D0 1D 0D 80 */ stfs f0, 0xd80(r29) lbl_80039BD0: /* 80039BD0 00035830 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 80039BD4 00035834 7F A3 EB 78 */ mr r3, r29 /* 80039BD8 00035838 38 80 00 08 */ li r4, 8 /* 80039BDC 0003583C 4B FF F6 25 */ bl func_80039200 lbl_80039BE0: /* 80039BE0 00035840 80 1D 00 00 */ lwz r0, 0(r29) /* 80039BE4 00035844 64 00 00 20 */ oris r0, r0, 0x20 /* 80039BE8 00035848 90 1D 00 00 */ stw r0, 0(r29) lbl_80039BEC: /* 80039BEC 0003584C E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0 /* 80039BF0 00035850 80 01 00 44 */ lwz r0, 0x44(r1) /* 80039BF4 00035854 CB E1 00 30 */ lfd f31, 0x30(r1) /* 80039BF8 00035858 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80039BFC 0003585C 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80039C00 00035860 83 A1 00 24 */ lwz r29, 0x24(r1) /* 80039C04 00035864 7C 08 03 A6 */ mtlr r0 /* 80039C08 00035868 38 21 00 40 */ addi r1, r1, 0x40 /* 80039C0C 0003586C 4E 80 00 20 */ blr .global func_80039C10 func_80039C10: /* 80039C10 00035870 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80039C14 00035874 7C 08 02 A6 */ mflr r0 /* 80039C18 00035878 90 01 00 24 */ stw r0, 0x24(r1) /* 80039C1C 0003587C DB E1 00 10 */ stfd f31, 0x10(r1) /* 80039C20 00035880 F3 E1 00 18 */ psq_st f31, 24(r1), 0, qr0 /* 80039C24 00035884 93 E1 00 0C */ stw r31, 0xc(r1) /* 80039C28 00035888 93 C1 00 08 */ stw r30, 8(r1) /* 80039C2C 0003588C 7C 7E 1B 78 */ mr r30, r3 /* 80039C30 00035890 80 03 00 00 */ lwz r0, 0(r3) /* 80039C34 00035894 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13 /* 80039C38 00035898 41 82 00 80 */ beq lbl_80039CB8 /* 80039C3C 0003589C 38 80 00 00 */ li r4, 0 /* 80039C40 000358A0 48 00 26 1D */ bl func_8003C25C /* 80039C44 000358A4 54 7F 04 3E */ clrlwi r31, r3, 0x10 /* 80039C48 000358A8 7F C3 F3 78 */ mr r3, r30 /* 80039C4C 000358AC 38 80 00 0A */ li r4, 0xa /* 80039C50 000358B0 48 00 26 0D */ bl func_8003C25C /* 80039C54 000358B4 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 80039C58 000358B8 7C 00 F8 40 */ cmplw r0, r31 /* 80039C5C 000358BC 41 82 00 48 */ beq lbl_80039CA4 /* 80039C60 000358C0 7F C3 F3 78 */ mr r3, r30 /* 80039C64 000358C4 38 80 00 0A */ li r4, 0xa /* 80039C68 000358C8 38 A0 00 02 */ li r5, 2 /* 80039C6C 000358CC 48 00 01 55 */ bl func_80039DC0 /* 80039C70 000358D0 FF E0 08 90 */ fmr f31, f1 /* 80039C74 000358D4 D0 3E 0D 80 */ stfs f1, 0xd80(r30) /* 80039C78 000358D8 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 80039C7C 000358DC 7F C3 F3 78 */ mr r3, r30 /* 80039C80 000358E0 38 80 00 0A */ li r4, 0xa /* 80039C84 000358E4 4B FF F5 7D */ bl func_80039200 /* 80039C88 000358E8 FC 40 F8 90 */ fmr f2, f31 /* 80039C8C 000358EC C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 80039C90 000358F0 7F C3 F3 78 */ mr r3, r30 /* 80039C94 000358F4 38 80 FF FF */ li r4, -1 /* 80039C98 000358F8 38 A0 00 00 */ li r5, 0 /* 80039C9C 000358FC 48 00 10 01 */ bl func_8003AC9C /* 80039CA0 00035900 48 00 00 24 */ b lbl_80039CC4 lbl_80039CA4: /* 80039CA4 00035904 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 80039CA8 00035908 7F C3 F3 78 */ mr r3, r30 /* 80039CAC 0003590C 38 80 00 00 */ li r4, 0 /* 80039CB0 00035910 4B FF F5 51 */ bl func_80039200 /* 80039CB4 00035914 48 00 00 10 */ b lbl_80039CC4 lbl_80039CB8: /* 80039CB8 00035918 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 80039CBC 0003591C 38 80 00 00 */ li r4, 0 /* 80039CC0 00035920 4B FF F5 41 */ bl func_80039200 lbl_80039CC4: /* 80039CC4 00035924 80 1E 00 00 */ lwz r0, 0(r30) /* 80039CC8 00035928 54 00 02 D2 */ rlwinm r0, r0, 0, 0xb, 9 /* 80039CCC 0003592C 90 1E 00 00 */ stw r0, 0(r30) /* 80039CD0 00035930 E3 E1 00 18 */ psq_l f31, 24(r1), 0, qr0 /* 80039CD4 00035934 CB E1 00 10 */ lfd f31, 0x10(r1) /* 80039CD8 00035938 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80039CDC 0003593C 83 C1 00 08 */ lwz r30, 8(r1) /* 80039CE0 00035940 80 01 00 24 */ lwz r0, 0x24(r1) /* 80039CE4 00035944 7C 08 03 A6 */ mtlr r0 /* 80039CE8 00035948 38 21 00 20 */ addi r1, r1, 0x20 /* 80039CEC 0003594C 4E 80 00 20 */ blr .global func_80039CF0 func_80039CF0: /* 80039CF0 00035950 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80039CF4 00035954 7C 08 02 A6 */ mflr r0 /* 80039CF8 00035958 90 01 00 14 */ stw r0, 0x14(r1) /* 80039CFC 0003595C 93 E1 00 0C */ stw r31, 0xc(r1) /* 80039D00 00035960 7C BF 2B 78 */ mr r31, r5 /* 80039D04 00035964 93 C1 00 08 */ stw r30, 8(r1) /* 80039D08 00035968 7C 7E 1B 78 */ mr r30, r3 /* 80039D0C 0003596C 4B FF F9 71 */ bl func_8003967C /* 80039D10 00035970 2C 03 00 00 */ cmpwi r3, 0 /* 80039D14 00035974 41 82 00 90 */ beq lbl_80039DA4 /* 80039D18 00035978 80 1E 0C 04 */ lwz r0, 0xc04(r30) /* 80039D1C 0003597C 2C 00 00 00 */ cmpwi r0, 0 /* 80039D20 00035980 41 82 00 84 */ beq lbl_80039DA4 /* 80039D24 00035984 88 83 00 00 */ lbz r4, 0(r3) /* 80039D28 00035988 7F C3 F3 78 */ mr r3, r30 /* 80039D2C 0003598C 7C 84 07 74 */ extsb r4, r4 /* 80039D30 00035990 54 84 04 3E */ clrlwi r4, r4, 0x10 /* 80039D34 00035994 48 00 25 29 */ bl func_8003C25C /* 80039D38 00035998 80 9E 0C 04 */ lwz r4, 0xc04(r30) /* 80039D3C 0003599C 80 84 00 04 */ lwz r4, 4(r4) /* 80039D40 000359A0 2C 04 00 00 */ cmpwi r4, 0 /* 80039D44 000359A4 40 82 00 0C */ bne lbl_80039D50 /* 80039D48 000359A8 38 60 00 00 */ li r3, 0 /* 80039D4C 000359AC 48 00 00 28 */ b lbl_80039D74 lbl_80039D50: /* 80039D50 000359B0 A0 04 00 08 */ lhz r0, 8(r4) /* 80039D54 000359B4 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 80039D58 000359B8 7C 03 00 40 */ cmplw r3, r0 /* 80039D5C 000359BC 41 80 00 0C */ blt lbl_80039D68 /* 80039D60 000359C0 38 60 00 00 */ li r3, 0 /* 80039D64 000359C4 48 00 00 10 */ b lbl_80039D74 lbl_80039D68: /* 80039D68 000359C8 1C 03 00 30 */ mulli r0, r3, 0x30 /* 80039D6C 000359CC 80 64 00 0C */ lwz r3, 0xc(r4) /* 80039D70 000359D0 7C 63 02 14 */ add r3, r3, r0 lbl_80039D74: /* 80039D74 000359D4 2C 03 00 00 */ cmpwi r3, 0 /* 80039D78 000359D8 41 82 00 2C */ beq lbl_80039DA4 /* 80039D7C 000359DC 2C 1F 00 00 */ cmpwi r31, 0 /* 80039D80 000359E0 40 80 00 0C */ bge lbl_80039D8C /* 80039D84 000359E4 C0 23 00 0C */ lfs f1, 0xc(r3) /* 80039D88 000359E8 48 00 00 20 */ b lbl_80039DA8 lbl_80039D8C: /* 80039D8C 000359EC 2C 1F 00 03 */ cmpwi r31, 3 /* 80039D90 000359F0 40 80 00 14 */ bge lbl_80039DA4 /* 80039D94 000359F4 57 E0 10 3A */ slwi r0, r31, 2 /* 80039D98 000359F8 7C 63 02 14 */ add r3, r3, r0 /* 80039D9C 000359FC C0 23 00 04 */ lfs f1, 4(r3) /* 80039DA0 00035A00 48 00 00 08 */ b lbl_80039DA8 lbl_80039DA4: /* 80039DA4 00035A04 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) lbl_80039DA8: /* 80039DA8 00035A08 80 01 00 14 */ lwz r0, 0x14(r1) /* 80039DAC 00035A0C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80039DB0 00035A10 83 C1 00 08 */ lwz r30, 8(r1) /* 80039DB4 00035A14 7C 08 03 A6 */ mtlr r0 /* 80039DB8 00035A18 38 21 00 10 */ addi r1, r1, 0x10 /* 80039DBC 00035A1C 4E 80 00 20 */ blr .global func_80039DC0 func_80039DC0: /* 80039DC0 00035A20 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80039DC4 00035A24 7C 08 02 A6 */ mflr r0 /* 80039DC8 00035A28 90 01 00 14 */ stw r0, 0x14(r1) /* 80039DCC 00035A2C 93 E1 00 0C */ stw r31, 0xc(r1) /* 80039DD0 00035A30 7C BF 2B 78 */ mr r31, r5 /* 80039DD4 00035A34 93 C1 00 08 */ stw r30, 8(r1) /* 80039DD8 00035A38 7C 7E 1B 78 */ mr r30, r3 /* 80039DDC 00035A3C 80 03 0C 04 */ lwz r0, 0xc04(r3) /* 80039DE0 00035A40 2C 00 00 00 */ cmpwi r0, 0 /* 80039DE4 00035A44 40 82 00 0C */ bne lbl_80039DF0 /* 80039DE8 00035A48 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 80039DEC 00035A4C 48 00 00 7C */ b lbl_80039E68 lbl_80039DF0: /* 80039DF0 00035A50 54 84 04 3E */ clrlwi r4, r4, 0x10 /* 80039DF4 00035A54 48 00 24 69 */ bl func_8003C25C /* 80039DF8 00035A58 80 9E 0C 04 */ lwz r4, 0xc04(r30) /* 80039DFC 00035A5C 80 84 00 04 */ lwz r4, 4(r4) /* 80039E00 00035A60 2C 04 00 00 */ cmpwi r4, 0 /* 80039E04 00035A64 40 82 00 0C */ bne lbl_80039E10 /* 80039E08 00035A68 38 60 00 00 */ li r3, 0 /* 80039E0C 00035A6C 48 00 00 28 */ b lbl_80039E34 lbl_80039E10: /* 80039E10 00035A70 A0 04 00 08 */ lhz r0, 8(r4) /* 80039E14 00035A74 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 80039E18 00035A78 7C 03 00 40 */ cmplw r3, r0 /* 80039E1C 00035A7C 41 80 00 0C */ blt lbl_80039E28 /* 80039E20 00035A80 38 60 00 00 */ li r3, 0 /* 80039E24 00035A84 48 00 00 10 */ b lbl_80039E34 lbl_80039E28: /* 80039E28 00035A88 1C 03 00 30 */ mulli r0, r3, 0x30 /* 80039E2C 00035A8C 80 64 00 0C */ lwz r3, 0xc(r4) /* 80039E30 00035A90 7C 63 02 14 */ add r3, r3, r0 lbl_80039E34: /* 80039E34 00035A94 2C 03 00 00 */ cmpwi r3, 0 /* 80039E38 00035A98 41 82 00 2C */ beq lbl_80039E64 /* 80039E3C 00035A9C 2C 1F 00 00 */ cmpwi r31, 0 /* 80039E40 00035AA0 40 80 00 0C */ bge lbl_80039E4C /* 80039E44 00035AA4 C0 23 00 0C */ lfs f1, 0xc(r3) /* 80039E48 00035AA8 48 00 00 20 */ b lbl_80039E68 lbl_80039E4C: /* 80039E4C 00035AAC 2C 1F 00 03 */ cmpwi r31, 3 /* 80039E50 00035AB0 40 80 00 14 */ bge lbl_80039E64 /* 80039E54 00035AB4 57 E0 10 3A */ slwi r0, r31, 2 /* 80039E58 00035AB8 7C 63 02 14 */ add r3, r3, r0 /* 80039E5C 00035ABC C0 23 00 04 */ lfs f1, 4(r3) /* 80039E60 00035AC0 48 00 00 08 */ b lbl_80039E68 lbl_80039E64: /* 80039E64 00035AC4 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) lbl_80039E68: /* 80039E68 00035AC8 80 01 00 14 */ lwz r0, 0x14(r1) /* 80039E6C 00035ACC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80039E70 00035AD0 83 C1 00 08 */ lwz r30, 8(r1) /* 80039E74 00035AD4 7C 08 03 A6 */ mtlr r0 /* 80039E78 00035AD8 38 21 00 10 */ addi r1, r1, 0x10 /* 80039E7C 00035ADC 4E 80 00 20 */ blr .global func_80039E80 func_80039E80: /* 80039E80 00035AE0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80039E84 00035AE4 7C 08 02 A6 */ mflr r0 /* 80039E88 00035AE8 2C 05 00 00 */ cmpwi r5, 0 /* 80039E8C 00035AEC 90 01 00 14 */ stw r0, 0x14(r1) /* 80039E90 00035AF0 93 E1 00 0C */ stw r31, 0xc(r1) /* 80039E94 00035AF4 7C BF 2B 78 */ mr r31, r5 /* 80039E98 00035AF8 93 C1 00 08 */ stw r30, 8(r1) /* 80039E9C 00035AFC 7C 7E 1B 78 */ mr r30, r3 /* 80039EA0 00035B00 40 82 00 0C */ bne lbl_80039EAC /* 80039EA4 00035B04 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 80039EA8 00035B08 48 00 00 84 */ b lbl_80039F2C lbl_80039EAC: /* 80039EAC 00035B0C 80 03 0C 04 */ lwz r0, 0xc04(r3) /* 80039EB0 00035B10 2C 00 00 00 */ cmpwi r0, 0 /* 80039EB4 00035B14 41 82 00 74 */ beq lbl_80039F28 /* 80039EB8 00035B18 48 00 23 A5 */ bl func_8003C25C /* 80039EBC 00035B1C 80 9E 0C 04 */ lwz r4, 0xc04(r30) /* 80039EC0 00035B20 80 84 00 04 */ lwz r4, 4(r4) /* 80039EC4 00035B24 2C 04 00 00 */ cmpwi r4, 0 /* 80039EC8 00035B28 40 82 00 0C */ bne lbl_80039ED4 /* 80039ECC 00035B2C 38 60 00 00 */ li r3, 0 /* 80039ED0 00035B30 48 00 00 28 */ b lbl_80039EF8 lbl_80039ED4: /* 80039ED4 00035B34 A0 04 00 08 */ lhz r0, 8(r4) /* 80039ED8 00035B38 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 80039EDC 00035B3C 7C 03 00 40 */ cmplw r3, r0 /* 80039EE0 00035B40 41 80 00 0C */ blt lbl_80039EEC /* 80039EE4 00035B44 38 60 00 00 */ li r3, 0 /* 80039EE8 00035B48 48 00 00 10 */ b lbl_80039EF8 lbl_80039EEC: /* 80039EEC 00035B4C 1C 03 00 30 */ mulli r0, r3, 0x30 /* 80039EF0 00035B50 80 64 00 0C */ lwz r3, 0xc(r4) /* 80039EF4 00035B54 7C 63 02 14 */ add r3, r3, r0 lbl_80039EF8: /* 80039EF8 00035B58 2C 03 00 00 */ cmpwi r3, 0 /* 80039EFC 00035B5C 41 82 00 2C */ beq lbl_80039F28 /* 80039F00 00035B60 34 1F FF FF */ addic. r0, r31, -1 /* 80039F04 00035B64 41 80 00 0C */ blt lbl_80039F10 /* 80039F08 00035B68 2C 00 00 03 */ cmpwi r0, 3 /* 80039F0C 00035B6C 41 80 00 0C */ blt lbl_80039F18 lbl_80039F10: /* 80039F10 00035B70 C0 23 00 0C */ lfs f1, 0xc(r3) /* 80039F14 00035B74 48 00 00 18 */ b lbl_80039F2C lbl_80039F18: /* 80039F18 00035B78 54 00 10 3A */ slwi r0, r0, 2 /* 80039F1C 00035B7C 7C 63 02 14 */ add r3, r3, r0 /* 80039F20 00035B80 C0 23 00 04 */ lfs f1, 4(r3) /* 80039F24 00035B84 48 00 00 08 */ b lbl_80039F2C lbl_80039F28: /* 80039F28 00035B88 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) lbl_80039F2C: /* 80039F2C 00035B8C 80 01 00 14 */ lwz r0, 0x14(r1) /* 80039F30 00035B90 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80039F34 00035B94 83 C1 00 08 */ lwz r30, 8(r1) /* 80039F38 00035B98 7C 08 03 A6 */ mtlr r0 /* 80039F3C 00035B9C 38 21 00 10 */ addi r1, r1, 0x10 /* 80039F40 00035BA0 4E 80 00 20 */ blr .global func_80039F44 func_80039F44: /* 80039F44 00035BA4 80 63 0C 04 */ lwz r3, 0xc04(r3) /* 80039F48 00035BA8 2C 03 00 00 */ cmpwi r3, 0 /* 80039F4C 00035BAC 40 82 00 0C */ bne lbl_80039F58 /* 80039F50 00035BB0 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 80039F54 00035BB4 4E 80 00 20 */ blr lbl_80039F58: /* 80039F58 00035BB8 48 1B BB EC */ b func_801F5B44 /* 80039F5C 00035BBC 4E 80 00 20 */ blr .global func_80039F60 func_80039F60: /* 80039F60 00035BC0 94 21 FF A0 */ stwu r1, -0x60(r1) /* 80039F64 00035BC4 7C 08 02 A6 */ mflr r0 /* 80039F68 00035BC8 90 01 00 64 */ stw r0, 0x64(r1) /* 80039F6C 00035BCC DB E1 00 50 */ stfd f31, 0x50(r1) /* 80039F70 00035BD0 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0 /* 80039F74 00035BD4 DB C1 00 40 */ stfd f30, 0x40(r1) /* 80039F78 00035BD8 F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0 /* 80039F7C 00035BDC 39 61 00 40 */ addi r11, r1, 0x40 /* 80039F80 00035BE0 48 18 D1 A5 */ bl _savegpr_26 /* 80039F84 00035BE4 80 04 0C 04 */ lwz r0, 0xc04(r4) /* 80039F88 00035BE8 FF C0 08 90 */ fmr f30, f1 /* 80039F8C 00035BEC FF E0 10 90 */ fmr f31, f2 /* 80039F90 00035BF0 7C 7E 1B 78 */ mr r30, r3 /* 80039F94 00035BF4 2C 00 00 00 */ cmpwi r0, 0 /* 80039F98 00035BF8 7C 9F 23 78 */ mr r31, r4 /* 80039F9C 00035BFC 7C DB 33 78 */ mr r27, r6 /* 80039FA0 00035C00 7C FA 3B 78 */ mr r26, r7 /* 80039FA4 00035C04 40 82 00 18 */ bne lbl_80039FBC /* 80039FA8 00035C08 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 80039FAC 00035C0C D0 03 00 00 */ stfs f0, 0(r3) /* 80039FB0 00035C10 D0 03 00 04 */ stfs f0, 4(r3) /* 80039FB4 00035C14 D0 03 00 08 */ stfs f0, 8(r3) /* 80039FB8 00035C18 48 00 02 04 */ b lbl_8003A1BC lbl_80039FBC: /* 80039FBC 00035C1C 7F E3 FB 78 */ mr r3, r31 /* 80039FC0 00035C20 7C A4 2B 78 */ mr r4, r5 /* 80039FC4 00035C24 4B FF F6 B9 */ bl func_8003967C /* 80039FC8 00035C28 2C 03 00 00 */ cmpwi r3, 0 /* 80039FCC 00035C2C 40 82 00 18 */ bne lbl_80039FE4 /* 80039FD0 00035C30 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 80039FD4 00035C34 D0 1E 00 00 */ stfs f0, 0(r30) /* 80039FD8 00035C38 D0 1E 00 04 */ stfs f0, 4(r30) /* 80039FDC 00035C3C D0 1E 00 08 */ stfs f0, 8(r30) /* 80039FE0 00035C40 48 00 01 DC */ b lbl_8003A1BC lbl_80039FE4: /* 80039FE4 00035C44 88 83 00 00 */ lbz r4, 0(r3) /* 80039FE8 00035C48 7F E3 FB 78 */ mr r3, r31 /* 80039FEC 00035C4C 7C 84 07 74 */ extsb r4, r4 /* 80039FF0 00035C50 54 84 04 3E */ clrlwi r4, r4, 0x10 /* 80039FF4 00035C54 48 00 22 69 */ bl func_8003C25C /* 80039FF8 00035C58 80 9F 0C 04 */ lwz r4, 0xc04(r31) /* 80039FFC 00035C5C 7C 7D 1B 78 */ mr r29, r3 /* 8003A000 00035C60 80 64 00 08 */ lwz r3, 8(r4) /* 8003A004 00035C64 2C 03 00 00 */ cmpwi r3, 0 /* 8003A008 00035C68 40 82 00 0C */ bne lbl_8003A014 /* 8003A00C 00035C6C 3B 80 00 00 */ li r28, 0 /* 8003A010 00035C70 48 00 00 1C */ b lbl_8003A02C lbl_8003A014: /* 8003A014 00035C74 A0 04 00 DE */ lhz r0, 0xde(r4) /* 8003A018 00035C78 2C 00 00 00 */ cmpwi r0, 0 /* 8003A01C 00035C7C 40 82 00 0C */ bne lbl_8003A028 /* 8003A020 00035C80 3B 80 00 00 */ li r28, 0 /* 8003A024 00035C84 48 00 00 08 */ b lbl_8003A02C lbl_8003A028: /* 8003A028 00035C88 83 83 00 00 */ lwz r28, 0(r3) lbl_8003A02C: /* 8003A02C 00035C8C 7F E3 FB 78 */ mr r3, r31 /* 8003A030 00035C90 7F 64 DB 78 */ mr r4, r27 /* 8003A034 00035C94 4B FF F8 05 */ bl func_80039838 /* 8003A038 00035C98 80 9F 0C 04 */ lwz r4, 0xc04(r31) /* 8003A03C 00035C9C 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 8003A040 00035CA0 80 A4 00 08 */ lwz r5, 8(r4) /* 8003A044 00035CA4 2C 05 00 00 */ cmpwi r5, 0 /* 8003A048 00035CA8 40 82 00 0C */ bne lbl_8003A054 /* 8003A04C 00035CAC 3B 60 00 00 */ li r27, 0 /* 8003A050 00035CB0 48 00 00 20 */ b lbl_8003A070 lbl_8003A054: /* 8003A054 00035CB4 A0 04 00 DE */ lhz r0, 0xde(r4) /* 8003A058 00035CB8 7C 03 00 40 */ cmplw r3, r0 /* 8003A05C 00035CBC 41 80 00 0C */ blt lbl_8003A068 /* 8003A060 00035CC0 3B 60 00 00 */ li r27, 0 /* 8003A064 00035CC4 48 00 00 0C */ b lbl_8003A070 lbl_8003A068: /* 8003A068 00035CC8 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 8003A06C 00035CCC 7F 65 00 2E */ lwzx r27, r5, r0 lbl_8003A070: /* 8003A070 00035CD0 7F E3 FB 78 */ mr r3, r31 /* 8003A074 00035CD4 7F 44 D3 78 */ mr r4, r26 /* 8003A078 00035CD8 4B FF F7 C1 */ bl func_80039838 /* 8003A07C 00035CDC 80 BF 0C 04 */ lwz r5, 0xc04(r31) /* 8003A080 00035CE0 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 8003A084 00035CE4 80 85 00 08 */ lwz r4, 8(r5) /* 8003A088 00035CE8 2C 04 00 00 */ cmpwi r4, 0 /* 8003A08C 00035CEC 40 82 00 0C */ bne lbl_8003A098 /* 8003A090 00035CF0 3B 40 00 00 */ li r26, 0 /* 8003A094 00035CF4 48 00 00 20 */ b lbl_8003A0B4 lbl_8003A098: /* 8003A098 00035CF8 A0 05 00 DE */ lhz r0, 0xde(r5) /* 8003A09C 00035CFC 7C 03 00 40 */ cmplw r3, r0 /* 8003A0A0 00035D00 41 80 00 0C */ blt lbl_8003A0AC /* 8003A0A4 00035D04 3B 40 00 00 */ li r26, 0 /* 8003A0A8 00035D08 48 00 00 0C */ b lbl_8003A0B4 lbl_8003A0AC: /* 8003A0AC 00035D0C 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 8003A0B0 00035D10 7F 44 00 2E */ lwzx r26, r4, r0 lbl_8003A0B4: /* 8003A0B4 00035D14 2C 1C 00 00 */ cmpwi r28, 0 /* 8003A0B8 00035D18 41 82 00 14 */ beq lbl_8003A0CC /* 8003A0BC 00035D1C 2C 1B 00 00 */ cmpwi r27, 0 /* 8003A0C0 00035D20 41 82 00 0C */ beq lbl_8003A0CC /* 8003A0C4 00035D24 2C 1A 00 00 */ cmpwi r26, 0 /* 8003A0C8 00035D28 40 82 00 18 */ bne lbl_8003A0E0 lbl_8003A0CC: /* 8003A0CC 00035D2C C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003A0D0 00035D30 D0 1E 00 00 */ stfs f0, 0(r30) /* 8003A0D4 00035D34 D0 1E 00 04 */ stfs f0, 4(r30) /* 8003A0D8 00035D38 D0 1E 00 08 */ stfs f0, 8(r30) /* 8003A0DC 00035D3C 48 00 00 E0 */ b lbl_8003A1BC lbl_8003A0E0: /* 8003A0E0 00035D40 FC 20 F0 90 */ fmr f1, f30 /* 8003A0E4 00035D44 7C A3 2B 78 */ mr r3, r5 /* 8003A0E8 00035D48 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2) /* 8003A0EC 00035D4C 57 A4 04 3E */ clrlwi r4, r29, 0x10 /* 8003A0F0 00035D50 38 A0 00 00 */ li r5, 0 /* 8003A0F4 00035D54 38 C0 00 00 */ li r6, 0 /* 8003A0F8 00035D58 38 E0 00 00 */ li r7, 0 /* 8003A0FC 00035D5C 39 00 00 00 */ li r8, 0 /* 8003A100 00035D60 48 1B AC F5 */ bl func_801F4DF4 /* 8003A104 00035D64 81 9C 01 00 */ lwz r12, 0x100(r28) /* 8003A108 00035D68 7F 83 E3 78 */ mr r3, r28 /* 8003A10C 00035D6C C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 8003A110 00035D70 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8003A114 00035D74 7D 89 03 A6 */ mtctr r12 /* 8003A118 00035D78 4E 80 04 21 */ bctrl /* 8003A11C 00035D7C C0 1B 00 DC */ lfs f0, 0xdc(r27) /* 8003A120 00035D80 FC 20 F8 90 */ fmr f1, f31 /* 8003A124 00035D84 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2) /* 8003A128 00035D88 57 A4 04 3E */ clrlwi r4, r29, 0x10 /* 8003A12C 00035D8C D0 01 00 14 */ stfs f0, 0x14(r1) /* 8003A130 00035D90 38 A0 00 00 */ li r5, 0 /* 8003A134 00035D94 38 C0 00 00 */ li r6, 0 /* 8003A138 00035D98 C0 1B 00 EC */ lfs f0, 0xec(r27) /* 8003A13C 00035D9C 38 E0 00 00 */ li r7, 0 /* 8003A140 00035DA0 39 00 00 00 */ li r8, 0 /* 8003A144 00035DA4 D0 01 00 18 */ stfs f0, 0x18(r1) /* 8003A148 00035DA8 C0 1B 00 FC */ lfs f0, 0xfc(r27) /* 8003A14C 00035DAC D0 01 00 1C */ stfs f0, 0x1c(r1) /* 8003A150 00035DB0 80 7F 0C 04 */ lwz r3, 0xc04(r31) /* 8003A154 00035DB4 48 1B AC A1 */ bl func_801F4DF4 /* 8003A158 00035DB8 81 9C 01 00 */ lwz r12, 0x100(r28) /* 8003A15C 00035DBC 7F 83 E3 78 */ mr r3, r28 /* 8003A160 00035DC0 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 8003A164 00035DC4 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8003A168 00035DC8 7D 89 03 A6 */ mtctr r12 /* 8003A16C 00035DCC 4E 80 04 21 */ bctrl /* 8003A170 00035DD0 C0 1A 00 DC */ lfs f0, 0xdc(r26) /* 8003A174 00035DD4 38 80 00 00 */ li r4, 0 /* 8003A178 00035DD8 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 8003A17C 00035DDC 38 A0 00 01 */ li r5, 1 /* 8003A180 00035DE0 D0 01 00 08 */ stfs f0, 8(r1) /* 8003A184 00035DE4 38 C0 00 00 */ li r6, 0 /* 8003A188 00035DE8 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2) /* 8003A18C 00035DEC 38 E0 00 00 */ li r7, 0 /* 8003A190 00035DF0 C0 1A 00 EC */ lfs f0, 0xec(r26) /* 8003A194 00035DF4 39 00 00 00 */ li r8, 0 /* 8003A198 00035DF8 D0 01 00 0C */ stfs f0, 0xc(r1) /* 8003A19C 00035DFC C0 1A 00 FC */ lfs f0, 0xfc(r26) /* 8003A1A0 00035E00 D0 01 00 10 */ stfs f0, 0x10(r1) /* 8003A1A4 00035E04 80 7F 0C 04 */ lwz r3, 0xc04(r31) /* 8003A1A8 00035E08 48 1B AC 4D */ bl func_801F4DF4 /* 8003A1AC 00035E0C 7F C5 F3 78 */ mr r5, r30 /* 8003A1B0 00035E10 38 61 00 08 */ addi r3, r1, 8 /* 8003A1B4 00035E14 38 81 00 14 */ addi r4, r1, 0x14 /* 8003A1B8 00035E18 48 24 2B 31 */ bl PSVECSubtract lbl_8003A1BC: /* 8003A1BC 00035E1C E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0 /* 8003A1C0 00035E20 CB E1 00 50 */ lfd f31, 0x50(r1) /* 8003A1C4 00035E24 E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0 /* 8003A1C8 00035E28 39 61 00 40 */ addi r11, r1, 0x40 /* 8003A1CC 00035E2C CB C1 00 40 */ lfd f30, 0x40(r1) /* 8003A1D0 00035E30 48 18 CF A1 */ bl _restgpr_26 /* 8003A1D4 00035E34 80 01 00 64 */ lwz r0, 0x64(r1) /* 8003A1D8 00035E38 7C 08 03 A6 */ mtlr r0 /* 8003A1DC 00035E3C 38 21 00 60 */ addi r1, r1, 0x60 /* 8003A1E0 00035E40 4E 80 00 20 */ blr .global func_8003A1E4 func_8003A1E4: /* 8003A1E4 00035E44 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8003A1E8 00035E48 7C 08 02 A6 */ mflr r0 /* 8003A1EC 00035E4C 7C 88 23 78 */ mr r8, r4 /* 8003A1F0 00035E50 7C 64 1B 78 */ mr r4, r3 /* 8003A1F4 00035E54 90 01 00 24 */ stw r0, 0x24(r1) /* 8003A1F8 00035E58 7C A0 2B 78 */ mr r0, r5 /* 8003A1FC 00035E5C 7C C7 33 78 */ mr r7, r6 /* 8003A200 00035E60 7D 05 43 78 */ mr r5, r8 /* 8003A204 00035E64 7C 06 03 78 */ mr r6, r0 /* 8003A208 00035E68 38 61 00 08 */ addi r3, r1, 8 /* 8003A20C 00035E6C 4B FF FD 55 */ bl func_80039F60 /* 8003A210 00035E70 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003A214 00035E74 38 61 00 08 */ addi r3, r1, 8 /* 8003A218 00035E78 D0 01 00 0C */ stfs f0, 0xc(r1) /* 8003A21C 00035E7C 48 24 2B 69 */ bl PSVECMag /* 8003A220 00035E80 80 01 00 24 */ lwz r0, 0x24(r1) /* 8003A224 00035E84 7C 08 03 A6 */ mtlr r0 /* 8003A228 00035E88 38 21 00 20 */ addi r1, r1, 0x20 /* 8003A22C 00035E8C 4E 80 00 20 */ blr .global func_8003A230 func_8003A230: /* 8003A230 00035E90 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8003A234 00035E94 7C 08 02 A6 */ mflr r0 /* 8003A238 00035E98 7C 88 23 78 */ mr r8, r4 /* 8003A23C 00035E9C 7C 64 1B 78 */ mr r4, r3 /* 8003A240 00035EA0 90 01 00 24 */ stw r0, 0x24(r1) /* 8003A244 00035EA4 7C A0 2B 78 */ mr r0, r5 /* 8003A248 00035EA8 7C C7 33 78 */ mr r7, r6 /* 8003A24C 00035EAC 7D 05 43 78 */ mr r5, r8 /* 8003A250 00035EB0 7C 06 03 78 */ mr r6, r0 /* 8003A254 00035EB4 38 61 00 08 */ addi r3, r1, 8 /* 8003A258 00035EB8 4B FF FD 09 */ bl func_80039F60 /* 8003A25C 00035EBC 80 01 00 24 */ lwz r0, 0x24(r1) /* 8003A260 00035EC0 C0 21 00 0C */ lfs f1, 0xc(r1) /* 8003A264 00035EC4 7C 08 03 A6 */ mtlr r0 /* 8003A268 00035EC8 38 21 00 20 */ addi r1, r1, 0x20 /* 8003A26C 00035ECC 4E 80 00 20 */ blr .global func_8003A270 func_8003A270: /* 8003A270 00035ED0 94 21 FF C0 */ stwu r1, -0x40(r1) /* 8003A274 00035ED4 7C 08 02 A6 */ mflr r0 /* 8003A278 00035ED8 90 01 00 44 */ stw r0, 0x44(r1) /* 8003A27C 00035EDC DB E1 00 30 */ stfd f31, 0x30(r1) /* 8003A280 00035EE0 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0 /* 8003A284 00035EE4 39 61 00 30 */ addi r11, r1, 0x30 /* 8003A288 00035EE8 48 18 CE A1 */ bl _savegpr_27 /* 8003A28C 00035EEC FF E0 08 90 */ fmr f31, f1 /* 8003A290 00035EF0 7C 9C 23 78 */ mr r28, r4 /* 8003A294 00035EF4 7C 7B 1B 78 */ mr r27, r3 /* 8003A298 00035EF8 7C A4 2B 78 */ mr r4, r5 /* 8003A29C 00035EFC 7C DD 33 78 */ mr r29, r6 /* 8003A2A0 00035F00 7F 83 E3 78 */ mr r3, r28 /* 8003A2A4 00035F04 4B FF F3 D9 */ bl func_8003967C /* 8003A2A8 00035F08 2C 03 00 00 */ cmpwi r3, 0 /* 8003A2AC 00035F0C 41 82 00 10 */ beq lbl_8003A2BC /* 8003A2B0 00035F10 80 1C 0C 04 */ lwz r0, 0xc04(r28) /* 8003A2B4 00035F14 2C 00 00 00 */ cmpwi r0, 0 /* 8003A2B8 00035F18 40 82 00 18 */ bne lbl_8003A2D0 lbl_8003A2BC: /* 8003A2BC 00035F1C C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003A2C0 00035F20 D0 1B 00 00 */ stfs f0, 0(r27) /* 8003A2C4 00035F24 D0 1B 00 04 */ stfs f0, 4(r27) /* 8003A2C8 00035F28 D0 1B 00 08 */ stfs f0, 8(r27) /* 8003A2CC 00035F2C 48 00 01 44 */ b lbl_8003A410 lbl_8003A2D0: /* 8003A2D0 00035F30 88 83 00 00 */ lbz r4, 0(r3) /* 8003A2D4 00035F34 7F 83 E3 78 */ mr r3, r28 /* 8003A2D8 00035F38 7C 84 07 74 */ extsb r4, r4 /* 8003A2DC 00035F3C 54 84 04 3E */ clrlwi r4, r4, 0x10 /* 8003A2E0 00035F40 48 00 1F 7D */ bl func_8003C25C /* 8003A2E4 00035F44 80 9C 0C 04 */ lwz r4, 0xc04(r28) /* 8003A2E8 00035F48 7C 7F 1B 78 */ mr r31, r3 /* 8003A2EC 00035F4C 80 64 00 08 */ lwz r3, 8(r4) /* 8003A2F0 00035F50 2C 03 00 00 */ cmpwi r3, 0 /* 8003A2F4 00035F54 40 82 00 0C */ bne lbl_8003A300 /* 8003A2F8 00035F58 3B C0 00 00 */ li r30, 0 /* 8003A2FC 00035F5C 48 00 00 1C */ b lbl_8003A318 lbl_8003A300: /* 8003A300 00035F60 A0 04 00 DE */ lhz r0, 0xde(r4) /* 8003A304 00035F64 2C 00 00 00 */ cmpwi r0, 0 /* 8003A308 00035F68 40 82 00 0C */ bne lbl_8003A314 /* 8003A30C 00035F6C 3B C0 00 00 */ li r30, 0 /* 8003A310 00035F70 48 00 00 08 */ b lbl_8003A318 lbl_8003A314: /* 8003A314 00035F74 83 C3 00 00 */ lwz r30, 0(r3) lbl_8003A318: /* 8003A318 00035F78 7F 83 E3 78 */ mr r3, r28 /* 8003A31C 00035F7C 7F A4 EB 78 */ mr r4, r29 /* 8003A320 00035F80 4B FF F5 19 */ bl func_80039838 /* 8003A324 00035F84 80 BC 0C 04 */ lwz r5, 0xc04(r28) /* 8003A328 00035F88 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 8003A32C 00035F8C 80 85 00 08 */ lwz r4, 8(r5) /* 8003A330 00035F90 2C 04 00 00 */ cmpwi r4, 0 /* 8003A334 00035F94 40 82 00 0C */ bne lbl_8003A340 /* 8003A338 00035F98 3B A0 00 00 */ li r29, 0 /* 8003A33C 00035F9C 48 00 00 20 */ b lbl_8003A35C lbl_8003A340: /* 8003A340 00035FA0 A0 05 00 DE */ lhz r0, 0xde(r5) /* 8003A344 00035FA4 7C 03 00 40 */ cmplw r3, r0 /* 8003A348 00035FA8 41 80 00 0C */ blt lbl_8003A354 /* 8003A34C 00035FAC 3B A0 00 00 */ li r29, 0 /* 8003A350 00035FB0 48 00 00 0C */ b lbl_8003A35C lbl_8003A354: /* 8003A354 00035FB4 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 8003A358 00035FB8 7F A4 00 2E */ lwzx r29, r4, r0 lbl_8003A35C: /* 8003A35C 00035FBC 2C 1E 00 00 */ cmpwi r30, 0 /* 8003A360 00035FC0 41 82 00 0C */ beq lbl_8003A36C /* 8003A364 00035FC4 2C 1D 00 00 */ cmpwi r29, 0 /* 8003A368 00035FC8 40 82 00 18 */ bne lbl_8003A380 lbl_8003A36C: /* 8003A36C 00035FCC C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003A370 00035FD0 D0 1B 00 00 */ stfs f0, 0(r27) /* 8003A374 00035FD4 D0 1B 00 04 */ stfs f0, 4(r27) /* 8003A378 00035FD8 D0 1B 00 08 */ stfs f0, 8(r27) /* 8003A37C 00035FDC 48 00 00 94 */ b lbl_8003A410 lbl_8003A380: /* 8003A380 00035FE0 FC 20 F8 90 */ fmr f1, f31 /* 8003A384 00035FE4 7C A3 2B 78 */ mr r3, r5 /* 8003A388 00035FE8 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2) /* 8003A38C 00035FEC 57 E4 04 3E */ clrlwi r4, r31, 0x10 /* 8003A390 00035FF0 38 A0 00 00 */ li r5, 0 /* 8003A394 00035FF4 38 C0 00 00 */ li r6, 0 /* 8003A398 00035FF8 38 E0 00 00 */ li r7, 0 /* 8003A39C 00035FFC 39 00 00 00 */ li r8, 0 /* 8003A3A0 00036000 48 1B AA 55 */ bl func_801F4DF4 /* 8003A3A4 00036004 81 9E 01 00 */ lwz r12, 0x100(r30) /* 8003A3A8 00036008 7F C3 F3 78 */ mr r3, r30 /* 8003A3AC 0003600C C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 8003A3B0 00036010 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8003A3B4 00036014 7D 89 03 A6 */ mtctr r12 /* 8003A3B8 00036018 4E 80 04 21 */ bctrl /* 8003A3BC 0003601C C0 5D 00 DC */ lfs f2, 0xdc(r29) /* 8003A3C0 00036020 38 80 00 00 */ li r4, 0 /* 8003A3C4 00036024 C0 3D 00 EC */ lfs f1, 0xec(r29) /* 8003A3C8 00036028 38 A0 00 01 */ li r5, 1 /* 8003A3CC 0003602C C0 1D 00 FC */ lfs f0, 0xfc(r29) /* 8003A3D0 00036030 38 C0 00 00 */ li r6, 0 /* 8003A3D4 00036034 D0 41 00 08 */ stfs f2, 8(r1) /* 8003A3D8 00036038 38 E0 00 00 */ li r7, 0 /* 8003A3DC 0003603C 80 7C 0C 04 */ lwz r3, 0xc04(r28) /* 8003A3E0 00036040 39 00 00 00 */ li r8, 0 /* 8003A3E4 00036044 D0 21 00 0C */ stfs f1, 0xc(r1) /* 8003A3E8 00036048 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 8003A3EC 0003604C D0 01 00 10 */ stfs f0, 0x10(r1) /* 8003A3F0 00036050 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2) /* 8003A3F4 00036054 48 1B AA 01 */ bl func_801F4DF4 /* 8003A3F8 00036058 C0 41 00 08 */ lfs f2, 8(r1) /* 8003A3FC 0003605C C0 21 00 0C */ lfs f1, 0xc(r1) /* 8003A400 00036060 C0 01 00 10 */ lfs f0, 0x10(r1) /* 8003A404 00036064 D0 5B 00 00 */ stfs f2, 0(r27) /* 8003A408 00036068 D0 3B 00 04 */ stfs f1, 4(r27) /* 8003A40C 0003606C D0 1B 00 08 */ stfs f0, 8(r27) lbl_8003A410: /* 8003A410 00036070 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0 /* 8003A414 00036074 39 61 00 30 */ addi r11, r1, 0x30 /* 8003A418 00036078 CB E1 00 30 */ lfd f31, 0x30(r1) /* 8003A41C 0003607C 48 18 CD 59 */ bl _restgpr_27 /* 8003A420 00036080 80 01 00 44 */ lwz r0, 0x44(r1) /* 8003A424 00036084 7C 08 03 A6 */ mtlr r0 /* 8003A428 00036088 38 21 00 40 */ addi r1, r1, 0x40 /* 8003A42C 0003608C 4E 80 00 20 */ blr .global func_8003A430 func_8003A430: /* 8003A430 00036090 94 21 FF B0 */ stwu r1, -0x50(r1) /* 8003A434 00036094 7C 08 02 A6 */ mflr r0 /* 8003A438 00036098 90 01 00 54 */ stw r0, 0x54(r1) /* 8003A43C 0003609C DB E1 00 40 */ stfd f31, 0x40(r1) /* 8003A440 000360A0 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 /* 8003A444 000360A4 FF E0 08 90 */ fmr f31, f1 /* 8003A448 000360A8 93 E1 00 3C */ stw r31, 0x3c(r1) /* 8003A44C 000360AC 7C 9F 23 78 */ mr r31, r4 /* 8003A450 000360B0 7C A4 2B 78 */ mr r4, r5 /* 8003A454 000360B4 93 C1 00 38 */ stw r30, 0x38(r1) /* 8003A458 000360B8 7C 7E 1B 78 */ mr r30, r3 /* 8003A45C 000360BC 7F E3 FB 78 */ mr r3, r31 /* 8003A460 000360C0 4B FF F2 1D */ bl func_8003967C /* 8003A464 000360C4 2C 03 00 00 */ cmpwi r3, 0 /* 8003A468 000360C8 41 82 00 10 */ beq lbl_8003A478 /* 8003A46C 000360CC 80 1F 0C 04 */ lwz r0, 0xc04(r31) /* 8003A470 000360D0 2C 00 00 00 */ cmpwi r0, 0 /* 8003A474 000360D4 40 82 00 18 */ bne lbl_8003A48C lbl_8003A478: /* 8003A478 000360D8 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003A47C 000360DC D0 1E 00 00 */ stfs f0, 0(r30) /* 8003A480 000360E0 D0 1E 00 04 */ stfs f0, 4(r30) /* 8003A484 000360E4 D0 1E 00 08 */ stfs f0, 8(r30) /* 8003A488 000360E8 48 00 01 44 */ b lbl_8003A5CC lbl_8003A48C: /* 8003A48C 000360EC 88 83 00 00 */ lbz r4, 0(r3) /* 8003A490 000360F0 7F E3 FB 78 */ mr r3, r31 /* 8003A494 000360F4 7C 84 07 74 */ extsb r4, r4 /* 8003A498 000360F8 54 84 04 3E */ clrlwi r4, r4, 0x10 /* 8003A49C 000360FC 48 00 1D C1 */ bl func_8003C25C /* 8003A4A0 00036100 80 BF 0C 04 */ lwz r5, 0xc04(r31) /* 8003A4A4 00036104 7C 64 1B 78 */ mr r4, r3 /* 8003A4A8 00036108 80 65 00 08 */ lwz r3, 8(r5) /* 8003A4AC 0003610C 2C 03 00 00 */ cmpwi r3, 0 /* 8003A4B0 00036110 40 82 00 0C */ bne lbl_8003A4BC /* 8003A4B4 00036114 38 00 00 00 */ li r0, 0 /* 8003A4B8 00036118 48 00 00 1C */ b lbl_8003A4D4 lbl_8003A4BC: /* 8003A4BC 0003611C A0 05 00 DE */ lhz r0, 0xde(r5) /* 8003A4C0 00036120 2C 00 00 00 */ cmpwi r0, 0 /* 8003A4C4 00036124 40 82 00 0C */ bne lbl_8003A4D0 /* 8003A4C8 00036128 38 00 00 00 */ li r0, 0 /* 8003A4CC 0003612C 48 00 00 08 */ b lbl_8003A4D4 lbl_8003A4D0: /* 8003A4D0 00036130 80 03 00 00 */ lwz r0, 0(r3) lbl_8003A4D4: /* 8003A4D4 00036134 2C 00 00 00 */ cmpwi r0, 0 /* 8003A4D8 00036138 40 82 00 18 */ bne lbl_8003A4F0 /* 8003A4DC 0003613C C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003A4E0 00036140 D0 1E 00 00 */ stfs f0, 0(r30) /* 8003A4E4 00036144 D0 1E 00 04 */ stfs f0, 4(r30) /* 8003A4E8 00036148 D0 1E 00 08 */ stfs f0, 8(r30) /* 8003A4EC 0003614C 48 00 00 E0 */ b lbl_8003A5CC lbl_8003A4F0: /* 8003A4F0 00036150 80 1F 00 00 */ lwz r0, 0(r31) /* 8003A4F4 00036154 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 8003A4F8 00036158 40 82 00 10 */ bne lbl_8003A508 /* 8003A4FC 0003615C A0 05 00 DC */ lhz r0, 0xdc(r5) /* 8003A500 00036160 60 00 00 01 */ ori r0, r0, 1 /* 8003A504 00036164 B0 05 00 DC */ sth r0, 0xdc(r5) lbl_8003A508: /* 8003A508 00036168 FC 20 F8 90 */ fmr f1, f31 /* 8003A50C 0003616C 80 7F 0C 04 */ lwz r3, 0xc04(r31) /* 8003A510 00036170 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2) /* 8003A514 00036174 54 84 04 3E */ clrlwi r4, r4, 0x10 /* 8003A518 00036178 38 A0 00 00 */ li r5, 0 /* 8003A51C 0003617C 38 C0 00 00 */ li r6, 0 /* 8003A520 00036180 38 E0 00 00 */ li r7, 0 /* 8003A524 00036184 39 00 00 00 */ li r8, 0 /* 8003A528 00036188 48 1B A8 CD */ bl func_801F4DF4 /* 8003A52C 0003618C 80 7F 0C 04 */ lwz r3, 0xc04(r31) /* 8003A530 00036190 38 80 00 01 */ li r4, 1 /* 8003A534 00036194 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 8003A538 00036198 48 1B C3 11 */ bl func_801F6848 /* 8003A53C 0003619C 7F E4 FB 78 */ mr r4, r31 /* 8003A540 000361A0 38 61 00 08 */ addi r3, r1, 8 /* 8003A544 000361A4 48 00 11 B1 */ bl func_8003B6F4 /* 8003A548 000361A8 7F E4 FB 78 */ mr r4, r31 /* 8003A54C 000361AC 38 61 00 14 */ addi r3, r1, 0x14 /* 8003A550 000361B0 48 00 11 F5 */ bl func_8003B744 /* 8003A554 000361B4 38 61 00 14 */ addi r3, r1, 0x14 /* 8003A558 000361B8 38 81 00 08 */ addi r4, r1, 8 /* 8003A55C 000361BC 38 A1 00 20 */ addi r5, r1, 0x20 /* 8003A560 000361C0 48 24 27 89 */ bl PSVECSubtract /* 8003A564 000361C4 80 1F 00 00 */ lwz r0, 0(r31) /* 8003A568 000361C8 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 8003A56C 000361CC 40 82 00 14 */ bne lbl_8003A580 /* 8003A570 000361D0 80 7F 0C 04 */ lwz r3, 0xc04(r31) /* 8003A574 000361D4 A0 03 00 DC */ lhz r0, 0xdc(r3) /* 8003A578 000361D8 54 00 04 3C */ rlwinm r0, r0, 0, 0x10, 0x1e /* 8003A57C 000361DC B0 03 00 DC */ sth r0, 0xdc(r3) lbl_8003A580: /* 8003A580 000361E0 80 7F 0C 04 */ lwz r3, 0xc04(r31) /* 8003A584 000361E4 38 80 00 00 */ li r4, 0 /* 8003A588 000361E8 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 8003A58C 000361EC 38 A0 00 01 */ li r5, 1 /* 8003A590 000361F0 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2) /* 8003A594 000361F4 38 C0 00 00 */ li r6, 0 /* 8003A598 000361F8 38 E0 00 00 */ li r7, 0 /* 8003A59C 000361FC 39 00 00 00 */ li r8, 0 /* 8003A5A0 00036200 48 1B A8 55 */ bl func_801F4DF4 /* 8003A5A4 00036204 80 7F 0C 04 */ lwz r3, 0xc04(r31) /* 8003A5A8 00036208 38 80 00 01 */ li r4, 1 /* 8003A5AC 0003620C C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 8003A5B0 00036210 48 1B C2 99 */ bl func_801F6848 /* 8003A5B4 00036214 C0 01 00 20 */ lfs f0, 0x20(r1) /* 8003A5B8 00036218 D0 1E 00 00 */ stfs f0, 0(r30) /* 8003A5BC 0003621C C0 01 00 24 */ lfs f0, 0x24(r1) /* 8003A5C0 00036220 D0 1E 00 04 */ stfs f0, 4(r30) /* 8003A5C4 00036224 C0 01 00 28 */ lfs f0, 0x28(r1) /* 8003A5C8 00036228 D0 1E 00 08 */ stfs f0, 8(r30) lbl_8003A5CC: /* 8003A5CC 0003622C E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 /* 8003A5D0 00036230 80 01 00 54 */ lwz r0, 0x54(r1) /* 8003A5D4 00036234 CB E1 00 40 */ lfd f31, 0x40(r1) /* 8003A5D8 00036238 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 8003A5DC 0003623C 83 C1 00 38 */ lwz r30, 0x38(r1) /* 8003A5E0 00036240 7C 08 03 A6 */ mtlr r0 /* 8003A5E4 00036244 38 21 00 50 */ addi r1, r1, 0x50 /* 8003A5E8 00036248 4E 80 00 20 */ blr .global func_8003A5EC func_8003A5EC: /* 8003A5EC 0003624C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8003A5F0 00036250 7C 08 02 A6 */ mflr r0 /* 8003A5F4 00036254 90 01 00 24 */ stw r0, 0x24(r1) /* 8003A5F8 00036258 DB E1 00 10 */ stfd f31, 0x10(r1) /* 8003A5FC 0003625C F3 E1 00 18 */ psq_st f31, 24(r1), 0, qr0 /* 8003A600 00036260 C3 E2 82 20 */ lfs f31, lbl_80640820-_SDA2_BASE_(r2) /* 8003A604 00036264 93 E1 00 0C */ stw r31, 0xc(r1) /* 8003A608 00036268 7C 7F 1B 78 */ mr r31, r3 /* 8003A60C 0003626C 80 03 0C 04 */ lwz r0, 0xc04(r3) /* 8003A610 00036270 2C 00 00 00 */ cmpwi r0, 0 /* 8003A614 00036274 40 82 00 0C */ bne lbl_8003A620 /* 8003A618 00036278 FC 20 F8 90 */ fmr f1, f31 /* 8003A61C 0003627C 48 00 00 90 */ b lbl_8003A6AC lbl_8003A620: /* 8003A620 00036280 2C 04 00 00 */ cmpwi r4, 0 /* 8003A624 00036284 40 82 00 0C */ bne lbl_8003A630 /* 8003A628 00036288 38 80 00 15 */ li r4, 0x15 /* 8003A62C 0003628C 48 00 00 1C */ b lbl_8003A648 lbl_8003A630: /* 8003A630 00036290 2C 04 00 01 */ cmpwi r4, 1 /* 8003A634 00036294 40 82 00 0C */ bne lbl_8003A640 /* 8003A638 00036298 38 80 00 17 */ li r4, 0x17 /* 8003A63C 0003629C 48 00 00 0C */ b lbl_8003A648 lbl_8003A640: /* 8003A640 000362A0 FC 20 F8 90 */ fmr f1, f31 /* 8003A644 000362A4 48 00 00 68 */ b lbl_8003A6AC lbl_8003A648: /* 8003A648 000362A8 7F E3 FB 78 */ mr r3, r31 /* 8003A64C 000362AC 4B FF F1 ED */ bl func_80039838 /* 8003A650 000362B0 80 9F 0C 04 */ lwz r4, 0xc04(r31) /* 8003A654 000362B4 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 8003A658 000362B8 80 A4 00 08 */ lwz r5, 8(r4) /* 8003A65C 000362BC 2C 05 00 00 */ cmpwi r5, 0 /* 8003A660 000362C0 40 82 00 0C */ bne lbl_8003A66C /* 8003A664 000362C4 38 60 00 00 */ li r3, 0 /* 8003A668 000362C8 48 00 00 20 */ b lbl_8003A688 lbl_8003A66C: /* 8003A66C 000362CC A0 04 00 DE */ lhz r0, 0xde(r4) /* 8003A670 000362D0 7C 03 00 40 */ cmplw r3, r0 /* 8003A674 000362D4 41 80 00 0C */ blt lbl_8003A680 /* 8003A678 000362D8 38 60 00 00 */ li r3, 0 /* 8003A67C 000362DC 48 00 00 0C */ b lbl_8003A688 lbl_8003A680: /* 8003A680 000362E0 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 8003A684 000362E4 7C 65 00 2E */ lwzx r3, r5, r0 lbl_8003A688: /* 8003A688 000362E8 2C 03 00 00 */ cmpwi r3, 0 /* 8003A68C 000362EC 41 82 00 1C */ beq lbl_8003A6A8 /* 8003A690 000362F0 80 63 00 1C */ lwz r3, 0x1c(r3) /* 8003A694 000362F4 2C 03 00 00 */ cmpwi r3, 0 /* 8003A698 000362F8 41 82 00 0C */ beq lbl_8003A6A4 /* 8003A69C 000362FC C3 E3 00 1C */ lfs f31, 0x1c(r3) /* 8003A6A0 00036300 48 00 00 08 */ b lbl_8003A6A8 lbl_8003A6A4: /* 8003A6A4 00036304 C3 E2 82 20 */ lfs f31, lbl_80640820-_SDA2_BASE_(r2) lbl_8003A6A8: /* 8003A6A8 00036308 FC 20 F8 90 */ fmr f1, f31 lbl_8003A6AC: /* 8003A6AC 0003630C E3 E1 00 18 */ psq_l f31, 24(r1), 0, qr0 /* 8003A6B0 00036310 80 01 00 24 */ lwz r0, 0x24(r1) /* 8003A6B4 00036314 CB E1 00 10 */ lfd f31, 0x10(r1) /* 8003A6B8 00036318 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8003A6BC 0003631C 7C 08 03 A6 */ mtlr r0 /* 8003A6C0 00036320 38 21 00 20 */ addi r1, r1, 0x20 /* 8003A6C4 00036324 4E 80 00 20 */ blr .global func_8003A6C8 func_8003A6C8: /* 8003A6C8 00036328 94 21 FF 90 */ stwu r1, -0x70(r1) /* 8003A6CC 0003632C 7C 08 02 A6 */ mflr r0 /* 8003A6D0 00036330 90 01 00 74 */ stw r0, 0x74(r1) /* 8003A6D4 00036334 DB E1 00 60 */ stfd f31, 0x60(r1) /* 8003A6D8 00036338 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0 /* 8003A6DC 0003633C DB C1 00 50 */ stfd f30, 0x50(r1) /* 8003A6E0 00036340 F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0 /* 8003A6E4 00036344 DB A1 00 40 */ stfd f29, 0x40(r1) /* 8003A6E8 00036348 F3 A1 00 48 */ psq_st f29, 72(r1), 0, qr0 /* 8003A6EC 0003634C DB 81 00 30 */ stfd f28, 0x30(r1) /* 8003A6F0 00036350 F3 81 00 38 */ psq_st f28, 56(r1), 0, qr0 /* 8003A6F4 00036354 39 61 00 30 */ addi r11, r1, 0x30 /* 8003A6F8 00036358 48 18 CA 31 */ bl _savegpr_27 /* 8003A6FC 0003635C 80 03 0C 04 */ lwz r0, 0xc04(r3) /* 8003A700 00036360 FF C0 08 90 */ fmr f30, f1 /* 8003A704 00036364 7C 7B 1B 78 */ mr r27, r3 /* 8003A708 00036368 7C 9C 23 78 */ mr r28, r4 /* 8003A70C 0003636C 2C 00 00 00 */ cmpwi r0, 0 /* 8003A710 00036370 7C BD 2B 78 */ mr r29, r5 /* 8003A714 00036374 7C DE 33 78 */ mr r30, r6 /* 8003A718 00036378 41 82 02 08 */ beq lbl_8003A920 /* 8003A71C 0003637C 7F A4 EB 78 */ mr r4, r29 /* 8003A720 00036380 4B FF F1 19 */ bl func_80039838 /* 8003A724 00036384 80 9B 0C 04 */ lwz r4, 0xc04(r27) /* 8003A728 00036388 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 8003A72C 0003638C 80 A4 00 08 */ lwz r5, 8(r4) /* 8003A730 00036390 2C 05 00 00 */ cmpwi r5, 0 /* 8003A734 00036394 40 82 00 0C */ bne lbl_8003A740 /* 8003A738 00036398 3B E0 00 00 */ li r31, 0 /* 8003A73C 0003639C 48 00 00 20 */ b lbl_8003A75C lbl_8003A740: /* 8003A740 000363A0 A0 04 00 DE */ lhz r0, 0xde(r4) /* 8003A744 000363A4 7C 03 00 40 */ cmplw r3, r0 /* 8003A748 000363A8 41 80 00 0C */ blt lbl_8003A754 /* 8003A74C 000363AC 3B E0 00 00 */ li r31, 0 /* 8003A750 000363B0 48 00 00 0C */ b lbl_8003A75C lbl_8003A754: /* 8003A754 000363B4 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 8003A758 000363B8 7F E5 00 2E */ lwzx r31, r5, r0 lbl_8003A75C: /* 8003A75C 000363BC 2C 1F 00 00 */ cmpwi r31, 0 /* 8003A760 000363C0 41 82 01 C0 */ beq lbl_8003A920 /* 8003A764 000363C4 C0 5C 00 00 */ lfs f2, 0(r28) /* 8003A768 000363C8 C0 3C 00 04 */ lfs f1, 4(r28) /* 8003A76C 000363CC C0 1C 00 08 */ lfs f0, 8(r28) /* 8003A770 000363D0 D0 41 00 08 */ stfs f2, 8(r1) /* 8003A774 000363D4 D0 21 00 0C */ stfs f1, 0xc(r1) /* 8003A778 000363D8 D0 01 00 10 */ stfs f0, 0x10(r1) /* 8003A77C 000363DC 93 BB 0C 74 */ stw r29, 0xc74(r27) /* 8003A780 000363E0 A0 1F 00 10 */ lhz r0, 0x10(r31) /* 8003A784 000363E4 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d /* 8003A788 000363E8 41 82 00 1C */ beq lbl_8003A7A4 /* 8003A78C 000363EC 38 7F 00 2C */ addi r3, r31, 0x2c /* 8003A790 000363F0 38 9F 00 3C */ addi r4, r31, 0x3c /* 8003A794 000363F4 48 1E 8F 2D */ bl func_802236C0 /* 8003A798 000363F8 A0 1F 00 10 */ lhz r0, 0x10(r31) /* 8003A79C 000363FC 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c /* 8003A7A0 00036400 B0 1F 00 10 */ sth r0, 0x10(r31) lbl_8003A7A4: /* 8003A7A4 00036404 C0 FF 00 2C */ lfs f7, 0x2c(r31) /* 8003A7A8 00036408 C0 9F 00 30 */ lfs f4, 0x30(r31) /* 8003A7AC 0003640C C0 DF 00 34 */ lfs f6, 0x34(r31) /* 8003A7B0 00036410 C0 7F 00 38 */ lfs f3, 0x38(r31) /* 8003A7B4 00036414 EC 47 01 32 */ fmuls f2, f7, f4 /* 8003A7B8 00036418 C0 02 82 9C */ lfs f0, lbl_8064089C-_SDA2_BASE_(r2) /* 8003A7BC 0003641C EC 26 00 F2 */ fmuls f1, f6, f3 /* 8003A7C0 00036420 EF E2 08 2A */ fadds f31, f2, f1 /* 8003A7C4 00036424 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 8003A7C8 00036428 40 81 00 34 */ ble lbl_8003A7FC /* 8003A7CC 0003642C C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003A7D0 00036430 D0 1B 0C 78 */ stfs f0, 0xc78(r27) /* 8003A7D4 00036434 C0 5F 00 38 */ lfs f2, 0x38(r31) /* 8003A7D8 00036438 C0 3F 00 2C */ lfs f1, 0x2c(r31) /* 8003A7DC 0003643C 48 19 9E 01 */ bl atan2 /* 8003A7E0 00036440 FC 40 08 18 */ frsp f2, f1 /* 8003A7E4 00036444 C0 22 82 3C */ lfs f1, lbl_8064083C-_SDA2_BASE_(r2) /* 8003A7E8 00036448 C0 02 82 7C */ lfs f0, lbl_8064087C-_SDA2_BASE_(r2) /* 8003A7EC 0003644C EC 21 00 B2 */ fmuls f1, f1, f2 /* 8003A7F0 00036450 D0 1B 0C 80 */ stfs f0, 0xc80(r27) /* 8003A7F4 00036454 D0 3B 0C 7C */ stfs f1, 0xc7c(r27) /* 8003A7F8 00036458 48 00 00 F4 */ b lbl_8003A8EC lbl_8003A7FC: /* 8003A7FC 0003645C C0 02 82 A0 */ lfs f0, lbl_806408A0-_SDA2_BASE_(r2) /* 8003A800 00036460 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 8003A804 00036464 40 80 00 34 */ bge lbl_8003A838 /* 8003A808 00036468 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003A80C 0003646C D0 1B 0C 78 */ stfs f0, 0xc78(r27) /* 8003A810 00036470 C0 5F 00 38 */ lfs f2, 0x38(r31) /* 8003A814 00036474 C0 3F 00 2C */ lfs f1, 0x2c(r31) /* 8003A818 00036478 48 19 9D C5 */ bl atan2 /* 8003A81C 0003647C FC 40 08 18 */ frsp f2, f1 /* 8003A820 00036480 C0 22 82 3C */ lfs f1, lbl_8064083C-_SDA2_BASE_(r2) /* 8003A824 00036484 C0 02 82 A4 */ lfs f0, lbl_806408A4-_SDA2_BASE_(r2) /* 8003A828 00036488 EC 21 00 B2 */ fmuls f1, f1, f2 /* 8003A82C 0003648C D0 1B 0C 80 */ stfs f0, 0xc80(r27) /* 8003A830 00036490 D0 3B 0C 7C */ stfs f1, 0xc7c(r27) /* 8003A834 00036494 48 00 00 B8 */ b lbl_8003A8EC lbl_8003A838: /* 8003A838 00036498 EC 47 00 F2 */ fmuls f2, f7, f3 /* 8003A83C 0003649C C0 02 82 3C */ lfs f0, lbl_8064083C-_SDA2_BASE_(r2) /* 8003A840 000364A0 EC 24 01 B2 */ fmuls f1, f4, f6 /* 8003A844 000364A4 EC A4 01 32 */ fmuls f5, f4, f4 /* 8003A848 000364A8 EC 87 01 F2 */ fmuls f4, f7, f7 /* 8003A84C 000364AC EC 22 08 28 */ fsubs f1, f2, f1 /* 8003A850 000364B0 EC 63 00 F2 */ fmuls f3, f3, f3 /* 8003A854 000364B4 EC 46 01 B2 */ fmuls f2, f6, f6 /* 8003A858 000364B8 EF 85 20 28 */ fsubs f28, f5, f4 /* 8003A85C 000364BC EC 20 00 72 */ fmuls f1, f0, f1 /* 8003A860 000364C0 EF A3 10 28 */ fsubs f29, f3, f2 /* 8003A864 000364C4 EC 5D E0 2A */ fadds f2, f29, f28 /* 8003A868 000364C8 48 19 9D 75 */ bl atan2 /* 8003A86C 000364CC FC 20 08 18 */ frsp f1, f1 /* 8003A870 000364D0 C0 02 82 3C */ lfs f0, lbl_8064083C-_SDA2_BASE_(r2) /* 8003A874 000364D4 EC 5D E0 28 */ fsubs f2, f29, f28 /* 8003A878 000364D8 D0 3B 0C 78 */ stfs f1, 0xc78(r27) /* 8003A87C 000364DC C0 BF 00 30 */ lfs f5, 0x30(r31) /* 8003A880 000364E0 C0 9F 00 38 */ lfs f4, 0x38(r31) /* 8003A884 000364E4 C0 7F 00 2C */ lfs f3, 0x2c(r31) /* 8003A888 000364E8 C0 3F 00 34 */ lfs f1, 0x34(r31) /* 8003A88C 000364EC EC 85 01 32 */ fmuls f4, f5, f4 /* 8003A890 000364F0 EC 23 00 72 */ fmuls f1, f3, f1 /* 8003A894 000364F4 EC 24 08 28 */ fsubs f1, f4, f1 /* 8003A898 000364F8 EC 20 00 72 */ fmuls f1, f0, f1 /* 8003A89C 000364FC 48 19 9D 41 */ bl atan2 /* 8003A8A0 00036500 C0 42 82 3C */ lfs f2, lbl_8064083C-_SDA2_BASE_(r2) /* 8003A8A4 00036504 FC 60 08 18 */ frsp f3, f1 /* 8003A8A8 00036508 C0 02 82 30 */ lfs f0, lbl_80640830-_SDA2_BASE_(r2) /* 8003A8AC 0003650C EC 22 07 F2 */ fmuls f1, f2, f31 /* 8003A8B0 00036510 D0 7B 0C 7C */ stfs f3, 0xc7c(r27) /* 8003A8B4 00036514 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8003A8B8 00036518 4C 41 13 82 */ cror 2, 1, 2 /* 8003A8BC 0003651C 40 82 00 0C */ bne lbl_8003A8C8 /* 8003A8C0 00036520 C0 02 82 7C */ lfs f0, lbl_8064087C-_SDA2_BASE_(r2) /* 8003A8C4 00036524 48 00 00 24 */ b lbl_8003A8E8 lbl_8003A8C8: /* 8003A8C8 00036528 C0 02 82 44 */ lfs f0, lbl_80640844-_SDA2_BASE_(r2) /* 8003A8CC 0003652C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8003A8D0 00036530 4C 40 13 82 */ cror 2, 0, 2 /* 8003A8D4 00036534 40 82 00 0C */ bne lbl_8003A8E0 /* 8003A8D8 00036538 C0 02 82 80 */ lfs f0, lbl_80640880-_SDA2_BASE_(r2) /* 8003A8DC 0003653C 48 00 00 0C */ b lbl_8003A8E8 lbl_8003A8E0: /* 8003A8E0 00036540 48 19 9C F9 */ bl asin /* 8003A8E4 00036544 FC 00 08 18 */ frsp f0, f1 lbl_8003A8E8: /* 8003A8E8 00036548 D0 1B 0C 80 */ stfs f0, 0xc80(r27) lbl_8003A8EC: /* 8003A8EC 0003654C C0 7B 0C 78 */ lfs f3, 0xc78(r27) /* 8003A8F0 00036550 38 9B 0C 78 */ addi r4, r27, 0xc78 /* 8003A8F4 00036554 C0 5B 0C 7C */ lfs f2, 0xc7c(r27) /* 8003A8F8 00036558 FC 20 F0 90 */ fmr f1, f30 /* 8003A8FC 0003655C C0 1B 0C 80 */ lfs f0, 0xc80(r27) /* 8003A900 00036560 7C 86 23 78 */ mr r6, r4 /* 8003A904 00036564 D0 7B 0C 84 */ stfs f3, 0xc84(r27) /* 8003A908 00036568 7F C7 F3 78 */ mr r7, r30 /* 8003A90C 0003656C 38 7B 04 60 */ addi r3, r27, 0x460 /* 8003A910 00036570 D0 5B 0C 88 */ stfs f2, 0xc88(r27) /* 8003A914 00036574 38 A1 00 08 */ addi r5, r1, 8 /* 8003A918 00036578 D0 1B 0C 8C */ stfs f0, 0xc8c(r27) /* 8003A91C 0003657C 48 01 5C 29 */ bl func_80050544 lbl_8003A920: /* 8003A920 00036580 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0 /* 8003A924 00036584 CB E1 00 60 */ lfd f31, 0x60(r1) /* 8003A928 00036588 E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0 /* 8003A92C 0003658C CB C1 00 50 */ lfd f30, 0x50(r1) /* 8003A930 00036590 E3 A1 00 48 */ psq_l f29, 72(r1), 0, qr0 /* 8003A934 00036594 CB A1 00 40 */ lfd f29, 0x40(r1) /* 8003A938 00036598 E3 81 00 38 */ psq_l f28, 56(r1), 0, qr0 /* 8003A93C 0003659C 39 61 00 30 */ addi r11, r1, 0x30 /* 8003A940 000365A0 CB 81 00 30 */ lfd f28, 0x30(r1) /* 8003A944 000365A4 48 18 C8 31 */ bl _restgpr_27 /* 8003A948 000365A8 80 01 00 74 */ lwz r0, 0x74(r1) /* 8003A94C 000365AC 7C 08 03 A6 */ mtlr r0 /* 8003A950 000365B0 38 21 00 70 */ addi r1, r1, 0x70 /* 8003A954 000365B4 4E 80 00 20 */ blr .global func_8003A958 func_8003A958: /* 8003A958 000365B8 94 21 FF B0 */ stwu r1, -0x50(r1) /* 8003A95C 000365BC 7C 08 02 A6 */ mflr r0 /* 8003A960 000365C0 90 01 00 54 */ stw r0, 0x54(r1) /* 8003A964 000365C4 93 E1 00 4C */ stw r31, 0x4c(r1) /* 8003A968 000365C8 7C 7F 1B 78 */ mr r31, r3 /* 8003A96C 000365CC 93 C1 00 48 */ stw r30, 0x48(r1) /* 8003A970 000365D0 7C 9E 23 78 */ mr r30, r4 /* 8003A974 000365D4 80 03 0C 04 */ lwz r0, 0xc04(r3) /* 8003A978 000365D8 2C 00 00 00 */ cmpwi r0, 0 /* 8003A97C 000365DC 41 82 00 E0 */ beq lbl_8003AA5C /* 8003A980 000365E0 7C A4 2B 78 */ mr r4, r5 /* 8003A984 000365E4 4B FF EE B5 */ bl func_80039838 /* 8003A988 000365E8 80 9F 0C 04 */ lwz r4, 0xc04(r31) /* 8003A98C 000365EC 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 8003A990 000365F0 80 A4 00 08 */ lwz r5, 8(r4) /* 8003A994 000365F4 2C 05 00 00 */ cmpwi r5, 0 /* 8003A998 000365F8 40 82 00 0C */ bne lbl_8003A9A4 /* 8003A99C 000365FC 3B E0 00 00 */ li r31, 0 /* 8003A9A0 00036600 48 00 00 20 */ b lbl_8003A9C0 lbl_8003A9A4: /* 8003A9A4 00036604 A0 04 00 DE */ lhz r0, 0xde(r4) /* 8003A9A8 00036608 7C 03 00 40 */ cmplw r3, r0 /* 8003A9AC 0003660C 41 80 00 0C */ blt lbl_8003A9B8 /* 8003A9B0 00036610 3B E0 00 00 */ li r31, 0 /* 8003A9B4 00036614 48 00 00 0C */ b lbl_8003A9C0 lbl_8003A9B8: /* 8003A9B8 00036618 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 8003A9BC 0003661C 7F E5 00 2E */ lwzx r31, r5, r0 lbl_8003A9C0: /* 8003A9C0 00036620 2C 1F 00 00 */ cmpwi r31, 0 /* 8003A9C4 00036624 41 82 00 98 */ beq lbl_8003AA5C /* 8003A9C8 00036628 7F C4 F3 78 */ mr r4, r30 /* 8003A9CC 0003662C 38 61 00 18 */ addi r3, r1, 0x18 /* 8003A9D0 00036630 38 A0 00 00 */ li r5, 0 /* 8003A9D4 00036634 48 1E 89 F5 */ bl func_802233C8 /* 8003A9D8 00036638 38 61 00 08 */ addi r3, r1, 8 /* 8003A9DC 0003663C 38 81 00 18 */ addi r4, r1, 0x18 /* 8003A9E0 00036640 48 24 27 E5 */ bl C_QUATMtx /* 8003A9E4 00036644 C0 01 00 08 */ lfs f0, 8(r1) /* 8003A9E8 00036648 7F E3 FB 78 */ mr r3, r31 /* 8003A9EC 0003664C 38 80 00 01 */ li r4, 1 /* 8003A9F0 00036650 D0 1F 00 2C */ stfs f0, 0x2c(r31) /* 8003A9F4 00036654 C0 01 00 0C */ lfs f0, 0xc(r1) /* 8003A9F8 00036658 D0 1F 00 30 */ stfs f0, 0x30(r31) /* 8003A9FC 0003665C C0 01 00 10 */ lfs f0, 0x10(r1) /* 8003AA00 00036660 D0 1F 00 34 */ stfs f0, 0x34(r31) /* 8003AA04 00036664 C0 01 00 14 */ lfs f0, 0x14(r1) /* 8003AA08 00036668 D0 1F 00 38 */ stfs f0, 0x38(r31) /* 8003AA0C 0003666C A0 1F 00 10 */ lhz r0, 0x10(r31) /* 8003AA10 00036670 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c /* 8003AA14 00036674 B0 1F 00 10 */ sth r0, 0x10(r31) /* 8003AA18 00036678 48 1B 7C A1 */ bl func_801F26B8 /* 8003AA1C 0003667C 80 9F 00 04 */ lwz r4, 4(r31) /* 8003AA20 00036680 2C 04 00 00 */ cmpwi r4, 0 /* 8003AA24 00036684 41 82 00 18 */ beq lbl_8003AA3C /* 8003AA28 00036688 A0 64 00 06 */ lhz r3, 6(r4) /* 8003AA2C 0003668C 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b /* 8003AA30 00036690 40 82 00 0C */ bne lbl_8003AA3C /* 8003AA34 00036694 54 60 04 3C */ rlwinm r0, r3, 0, 0x10, 0x1e /* 8003AA38 00036698 B0 04 00 06 */ sth r0, 6(r4) lbl_8003AA3C: /* 8003AA3C 0003669C 80 9F 00 08 */ lwz r4, 8(r31) /* 8003AA40 000366A0 2C 04 00 00 */ cmpwi r4, 0 /* 8003AA44 000366A4 41 82 00 18 */ beq lbl_8003AA5C /* 8003AA48 000366A8 A0 64 00 06 */ lhz r3, 6(r4) /* 8003AA4C 000366AC 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b /* 8003AA50 000366B0 40 82 00 0C */ bne lbl_8003AA5C /* 8003AA54 000366B4 54 60 04 3C */ rlwinm r0, r3, 0, 0x10, 0x1e /* 8003AA58 000366B8 B0 04 00 06 */ sth r0, 6(r4) lbl_8003AA5C: /* 8003AA5C 000366BC 80 01 00 54 */ lwz r0, 0x54(r1) /* 8003AA60 000366C0 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 8003AA64 000366C4 83 C1 00 48 */ lwz r30, 0x48(r1) /* 8003AA68 000366C8 7C 08 03 A6 */ mtlr r0 /* 8003AA6C 000366CC 38 21 00 50 */ addi r1, r1, 0x50 /* 8003AA70 000366D0 4E 80 00 20 */ blr .global func_8003AA74 func_8003AA74: /* 8003AA74 000366D4 C0 82 82 78 */ lfs f4, lbl_80640878-_SDA2_BASE_(r2) /* 8003AA78 000366D8 3C 00 43 30 */ lis r0, 0x4330 /* 8003AA7C 000366DC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8003AA80 000366E0 EC 62 20 24 */ fdivs f3, f2, f4 /* 8003AA84 000366E4 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003AA88 000366E8 90 01 00 08 */ stw r0, 8(r1) /* 8003AA8C 000366EC 90 01 00 10 */ stw r0, 0x10(r1) /* 8003AA90 000366F0 FC 60 18 1E */ fctiwz f3, f3 /* 8003AA94 000366F4 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 8003AA98 000366F8 D8 61 00 18 */ stfd f3, 0x18(r1) /* 8003AA9C 000366FC 80 61 00 1C */ lwz r3, 0x1c(r1) /* 8003AAA0 00036700 40 80 00 38 */ bge lbl_8003AAD8 /* 8003AAA4 00036704 38 03 FF FF */ addi r0, r3, -1 /* 8003AAA8 00036708 6C 63 80 00 */ xoris r3, r3, 0x8000 /* 8003AAAC 0003670C 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 8003AAB0 00036710 90 61 00 0C */ stw r3, 0xc(r1) /* 8003AAB4 00036714 C8 62 82 68 */ lfd f3, lbl_80640868-_SDA2_BASE_(r2) /* 8003AAB8 00036718 90 01 00 14 */ stw r0, 0x14(r1) /* 8003AABC 0003671C C8 41 00 08 */ lfd f2, 8(r1) /* 8003AAC0 00036720 C8 01 00 10 */ lfd f0, 0x10(r1) /* 8003AAC4 00036724 EC 42 18 28 */ fsubs f2, f2, f3 /* 8003AAC8 00036728 EC 00 18 28 */ fsubs f0, f0, f3 /* 8003AACC 0003672C EC 42 01 32 */ fmuls f2, f2, f4 /* 8003AAD0 00036730 EC 60 01 32 */ fmuls f3, f0, f4 /* 8003AAD4 00036734 48 00 00 3C */ b lbl_8003AB10 lbl_8003AAD8: /* 8003AAD8 00036738 38 03 00 01 */ addi r0, r3, 1 /* 8003AADC 0003673C 6C 63 80 00 */ xoris r3, r3, 0x8000 /* 8003AAE0 00036740 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 8003AAE4 00036744 90 61 00 0C */ stw r3, 0xc(r1) /* 8003AAE8 00036748 C8 62 82 68 */ lfd f3, lbl_80640868-_SDA2_BASE_(r2) /* 8003AAEC 0003674C 90 01 00 14 */ stw r0, 0x14(r1) /* 8003AAF0 00036750 C8 41 00 08 */ lfd f2, 8(r1) /* 8003AAF4 00036754 C8 01 00 10 */ lfd f0, 0x10(r1) /* 8003AAF8 00036758 EC 42 18 28 */ fsubs f2, f2, f3 /* 8003AAFC 0003675C EC 00 18 28 */ fsubs f0, f0, f3 /* 8003AB00 00036760 EC 62 01 32 */ fmuls f3, f2, f4 /* 8003AB04 00036764 EC 40 01 32 */ fmuls f2, f0, f4 /* 8003AB08 00036768 48 00 00 08 */ b lbl_8003AB10 lbl_8003AB0C: /* 8003AB0C 0003676C EC 21 20 2A */ fadds f1, f1, f4 lbl_8003AB10: /* 8003AB10 00036770 FC 01 18 40 */ fcmpo cr0, f1, f3 /* 8003AB14 00036774 41 80 FF F8 */ blt lbl_8003AB0C /* 8003AB18 00036778 48 00 00 08 */ b lbl_8003AB20 lbl_8003AB1C: /* 8003AB1C 0003677C EC 21 20 28 */ fsubs f1, f1, f4 lbl_8003AB20: /* 8003AB20 00036780 FC 01 10 40 */ fcmpo cr0, f1, f2 /* 8003AB24 00036784 41 81 FF F8 */ bgt lbl_8003AB1C /* 8003AB28 00036788 38 21 00 20 */ addi r1, r1, 0x20 /* 8003AB2C 0003678C 4E 80 00 20 */ blr .global func_8003AB30 func_8003AB30: /* 8003AB30 00036790 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8003AB34 00036794 7C 08 02 A6 */ mflr r0 /* 8003AB38 00036798 90 01 00 34 */ stw r0, 0x34(r1) /* 8003AB3C 0003679C DB E1 00 20 */ stfd f31, 0x20(r1) /* 8003AB40 000367A0 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0 /* 8003AB44 000367A4 FF E0 08 90 */ fmr f31, f1 /* 8003AB48 000367A8 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8003AB4C 000367AC 7C DF 33 78 */ mr r31, r6 /* 8003AB50 000367B0 7F E7 FB 78 */ mr r7, r31 /* 8003AB54 000367B4 93 C1 00 18 */ stw r30, 0x18(r1) /* 8003AB58 000367B8 7C BE 2B 78 */ mr r30, r5 /* 8003AB5C 000367BC 93 A1 00 14 */ stw r29, 0x14(r1) /* 8003AB60 000367C0 7C 9D 23 78 */ mr r29, r4 /* 8003AB64 000367C4 38 83 0C B4 */ addi r4, r3, 0xcb4 /* 8003AB68 000367C8 93 81 00 10 */ stw r28, 0x10(r1) /* 8003AB6C 000367CC 7C 7C 1B 78 */ mr r28, r3 /* 8003AB70 000367D0 7F A5 EB 78 */ mr r5, r29 /* 8003AB74 000367D4 7C 86 23 78 */ mr r6, r4 /* 8003AB78 000367D8 38 63 00 04 */ addi r3, r3, 4 /* 8003AB7C 000367DC 48 01 57 C1 */ bl func_8005033C /* 8003AB80 000367E0 FC 20 F8 90 */ fmr f1, f31 /* 8003AB84 000367E4 38 9C 0C B8 */ addi r4, r28, 0xcb8 /* 8003AB88 000367E8 7C 86 23 78 */ mr r6, r4 /* 8003AB8C 000367EC 7F E7 FB 78 */ mr r7, r31 /* 8003AB90 000367F0 38 7C 00 28 */ addi r3, r28, 0x28 /* 8003AB94 000367F4 38 BD 00 04 */ addi r5, r29, 4 /* 8003AB98 000367F8 48 01 57 A5 */ bl func_8005033C /* 8003AB9C 000367FC FC 20 F8 90 */ fmr f1, f31 /* 8003ABA0 00036800 38 9C 0C BC */ addi r4, r28, 0xcbc /* 8003ABA4 00036804 7C 86 23 78 */ mr r6, r4 /* 8003ABA8 00036808 7F E7 FB 78 */ mr r7, r31 /* 8003ABAC 0003680C 38 7C 00 4C */ addi r3, r28, 0x4c /* 8003ABB0 00036810 38 BD 00 08 */ addi r5, r29, 8 /* 8003ABB4 00036814 48 01 57 89 */ bl func_8005033C /* 8003ABB8 00036818 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 8003ABBC 0003681C 7F 83 E3 78 */ mr r3, r28 /* 8003ABC0 00036820 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2) /* 8003ABC4 00036824 7F C4 F3 78 */ mr r4, r30 /* 8003ABC8 00036828 4B FF EE 01 */ bl func_800399C8 /* 8003ABCC 0003682C E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0 /* 8003ABD0 00036830 80 01 00 34 */ lwz r0, 0x34(r1) /* 8003ABD4 00036834 CB E1 00 20 */ lfd f31, 0x20(r1) /* 8003ABD8 00036838 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8003ABDC 0003683C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8003ABE0 00036840 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8003ABE4 00036844 83 81 00 10 */ lwz r28, 0x10(r1) /* 8003ABE8 00036848 7C 08 03 A6 */ mtlr r0 /* 8003ABEC 0003684C 38 21 00 30 */ addi r1, r1, 0x30 /* 8003ABF0 00036850 4E 80 00 20 */ blr .global func_8003ABF4 func_8003ABF4: /* 8003ABF4 00036854 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8003ABF8 00036858 7C 08 02 A6 */ mflr r0 /* 8003ABFC 0003685C 90 01 00 34 */ stw r0, 0x34(r1) /* 8003AC00 00036860 DB E1 00 20 */ stfd f31, 0x20(r1) /* 8003AC04 00036864 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0 /* 8003AC08 00036868 FF E0 18 90 */ fmr f31, f3 /* 8003AC0C 0003686C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8003AC10 00036870 7C BF 2B 78 */ mr r31, r5 /* 8003AC14 00036874 7F E7 FB 78 */ mr r7, r31 /* 8003AC18 00036878 38 A1 00 08 */ addi r5, r1, 8 /* 8003AC1C 0003687C 93 C1 00 18 */ stw r30, 0x18(r1) /* 8003AC20 00036880 7C 9E 23 78 */ mr r30, r4 /* 8003AC24 00036884 38 83 0C B4 */ addi r4, r3, 0xcb4 /* 8003AC28 00036888 93 A1 00 14 */ stw r29, 0x14(r1) /* 8003AC2C 0003688C 7C 7D 1B 78 */ mr r29, r3 /* 8003AC30 00036890 7C 86 23 78 */ mr r6, r4 /* 8003AC34 00036894 38 63 00 04 */ addi r3, r3, 4 /* 8003AC38 00036898 D0 21 00 08 */ stfs f1, 8(r1) /* 8003AC3C 0003689C FC 20 F8 90 */ fmr f1, f31 /* 8003AC40 000368A0 D0 41 00 0C */ stfs f2, 0xc(r1) /* 8003AC44 000368A4 48 01 56 F9 */ bl func_8005033C /* 8003AC48 000368A8 FC 20 F8 90 */ fmr f1, f31 /* 8003AC4C 000368AC 38 9D 0C BC */ addi r4, r29, 0xcbc /* 8003AC50 000368B0 7C 86 23 78 */ mr r6, r4 /* 8003AC54 000368B4 7F E7 FB 78 */ mr r7, r31 /* 8003AC58 000368B8 38 7D 00 4C */ addi r3, r29, 0x4c /* 8003AC5C 000368BC 38 A1 00 0C */ addi r5, r1, 0xc /* 8003AC60 000368C0 48 01 56 DD */ bl func_8005033C /* 8003AC64 000368C4 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 8003AC68 000368C8 7F A3 EB 78 */ mr r3, r29 /* 8003AC6C 000368CC C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2) /* 8003AC70 000368D0 7F C4 F3 78 */ mr r4, r30 /* 8003AC74 000368D4 4B FF ED 55 */ bl func_800399C8 /* 8003AC78 000368D8 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0 /* 8003AC7C 000368DC 80 01 00 34 */ lwz r0, 0x34(r1) /* 8003AC80 000368E0 CB E1 00 20 */ lfd f31, 0x20(r1) /* 8003AC84 000368E4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8003AC88 000368E8 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8003AC8C 000368EC 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8003AC90 000368F0 7C 08 03 A6 */ mtlr r0 /* 8003AC94 000368F4 38 21 00 30 */ addi r1, r1, 0x30 /* 8003AC98 000368F8 4E 80 00 20 */ blr .global func_8003AC9C func_8003AC9C: /* 8003AC9C 000368FC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8003ACA0 00036900 7C 08 02 A6 */ mflr r0 /* 8003ACA4 00036904 7C A7 2B 78 */ mr r7, r5 /* 8003ACA8 00036908 90 01 00 24 */ stw r0, 0x24(r1) /* 8003ACAC 0003690C 38 A1 00 08 */ addi r5, r1, 8 /* 8003ACB0 00036910 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8003ACB4 00036914 7C 9F 23 78 */ mr r31, r4 /* 8003ACB8 00036918 38 83 0C B8 */ addi r4, r3, 0xcb8 /* 8003ACBC 0003691C 93 C1 00 18 */ stw r30, 0x18(r1) /* 8003ACC0 00036920 7C 7E 1B 78 */ mr r30, r3 /* 8003ACC4 00036924 7C 86 23 78 */ mr r6, r4 /* 8003ACC8 00036928 38 63 00 28 */ addi r3, r3, 0x28 /* 8003ACCC 0003692C D0 21 00 08 */ stfs f1, 8(r1) /* 8003ACD0 00036930 FC 20 10 90 */ fmr f1, f2 /* 8003ACD4 00036934 48 01 56 69 */ bl func_8005033C /* 8003ACD8 00036938 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 8003ACDC 0003693C 7F C3 F3 78 */ mr r3, r30 /* 8003ACE0 00036940 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2) /* 8003ACE4 00036944 7F E4 FB 78 */ mr r4, r31 /* 8003ACE8 00036948 4B FF EC E1 */ bl func_800399C8 /* 8003ACEC 0003694C 80 01 00 24 */ lwz r0, 0x24(r1) /* 8003ACF0 00036950 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8003ACF4 00036954 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8003ACF8 00036958 7C 08 03 A6 */ mtlr r0 /* 8003ACFC 0003695C 38 21 00 20 */ addi r1, r1, 0x20 /* 8003AD00 00036960 4E 80 00 20 */ blr .global func_8003AD04 func_8003AD04: /* 8003AD04 00036964 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8003AD08 00036968 7C 08 02 A6 */ mflr r0 /* 8003AD0C 0003696C 90 01 00 34 */ stw r0, 0x34(r1) /* 8003AD10 00036970 DB E1 00 20 */ stfd f31, 0x20(r1) /* 8003AD14 00036974 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0 /* 8003AD18 00036978 FF E0 08 90 */ fmr f31, f1 /* 8003AD1C 0003697C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8003AD20 00036980 7C DF 33 78 */ mr r31, r6 /* 8003AD24 00036984 7F E7 FB 78 */ mr r7, r31 /* 8003AD28 00036988 93 C1 00 18 */ stw r30, 0x18(r1) /* 8003AD2C 0003698C 7C BE 2B 78 */ mr r30, r5 /* 8003AD30 00036990 93 A1 00 14 */ stw r29, 0x14(r1) /* 8003AD34 00036994 7C 9D 23 78 */ mr r29, r4 /* 8003AD38 00036998 38 83 0C C0 */ addi r4, r3, 0xcc0 /* 8003AD3C 0003699C 93 81 00 10 */ stw r28, 0x10(r1) /* 8003AD40 000369A0 7C 7C 1B 78 */ mr r28, r3 /* 8003AD44 000369A4 7F A5 EB 78 */ mr r5, r29 /* 8003AD48 000369A8 7C 86 23 78 */ mr r6, r4 /* 8003AD4C 000369AC 38 63 00 70 */ addi r3, r3, 0x70 /* 8003AD50 000369B0 48 01 55 ED */ bl func_8005033C /* 8003AD54 000369B4 FC 20 F8 90 */ fmr f1, f31 /* 8003AD58 000369B8 38 9C 0C C4 */ addi r4, r28, 0xcc4 /* 8003AD5C 000369BC 7C 86 23 78 */ mr r6, r4 /* 8003AD60 000369C0 7F E7 FB 78 */ mr r7, r31 /* 8003AD64 000369C4 38 7C 00 94 */ addi r3, r28, 0x94 /* 8003AD68 000369C8 38 BD 00 04 */ addi r5, r29, 4 /* 8003AD6C 000369CC 48 01 55 D1 */ bl func_8005033C /* 8003AD70 000369D0 FC 20 F8 90 */ fmr f1, f31 /* 8003AD74 000369D4 38 9C 0C C8 */ addi r4, r28, 0xcc8 /* 8003AD78 000369D8 7C 86 23 78 */ mr r6, r4 /* 8003AD7C 000369DC 7F E7 FB 78 */ mr r7, r31 /* 8003AD80 000369E0 38 7C 00 B8 */ addi r3, r28, 0xb8 /* 8003AD84 000369E4 38 BD 00 08 */ addi r5, r29, 8 /* 8003AD88 000369E8 48 01 55 B5 */ bl func_8005033C /* 8003AD8C 000369EC C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 8003AD90 000369F0 7F 83 E3 78 */ mr r3, r28 /* 8003AD94 000369F4 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2) /* 8003AD98 000369F8 7F C4 F3 78 */ mr r4, r30 /* 8003AD9C 000369FC 4B FF EC 2D */ bl func_800399C8 /* 8003ADA0 00036A00 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0 /* 8003ADA4 00036A04 80 01 00 34 */ lwz r0, 0x34(r1) /* 8003ADA8 00036A08 CB E1 00 20 */ lfd f31, 0x20(r1) /* 8003ADAC 00036A0C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8003ADB0 00036A10 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8003ADB4 00036A14 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8003ADB8 00036A18 83 81 00 10 */ lwz r28, 0x10(r1) /* 8003ADBC 00036A1C 7C 08 03 A6 */ mtlr r0 /* 8003ADC0 00036A20 38 21 00 30 */ addi r1, r1, 0x30 /* 8003ADC4 00036A24 4E 80 00 20 */ blr .global func_8003ADC8 func_8003ADC8: /* 8003ADC8 00036A28 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8003ADCC 00036A2C 7C 08 02 A6 */ mflr r0 /* 8003ADD0 00036A30 38 E0 00 00 */ li r7, 0 /* 8003ADD4 00036A34 90 01 00 24 */ stw r0, 0x24(r1) /* 8003ADD8 00036A38 38 A1 00 08 */ addi r5, r1, 8 /* 8003ADDC 00036A3C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8003ADE0 00036A40 7C 9F 23 78 */ mr r31, r4 /* 8003ADE4 00036A44 38 83 0C C4 */ addi r4, r3, 0xcc4 /* 8003ADE8 00036A48 93 C1 00 18 */ stw r30, 0x18(r1) /* 8003ADEC 00036A4C 7C 7E 1B 78 */ mr r30, r3 /* 8003ADF0 00036A50 7C 86 23 78 */ mr r6, r4 /* 8003ADF4 00036A54 38 63 00 94 */ addi r3, r3, 0x94 /* 8003ADF8 00036A58 D0 21 00 08 */ stfs f1, 8(r1) /* 8003ADFC 00036A5C FC 20 10 90 */ fmr f1, f2 /* 8003AE00 00036A60 48 01 55 3D */ bl func_8005033C /* 8003AE04 00036A64 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 8003AE08 00036A68 7F C3 F3 78 */ mr r3, r30 /* 8003AE0C 00036A6C C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2) /* 8003AE10 00036A70 7F E4 FB 78 */ mr r4, r31 /* 8003AE14 00036A74 4B FF EB B5 */ bl func_800399C8 /* 8003AE18 00036A78 80 01 00 24 */ lwz r0, 0x24(r1) /* 8003AE1C 00036A7C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8003AE20 00036A80 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8003AE24 00036A84 7C 08 03 A6 */ mtlr r0 /* 8003AE28 00036A88 38 21 00 20 */ addi r1, r1, 0x20 /* 8003AE2C 00036A8C 4E 80 00 20 */ blr .global func_8003AE30 func_8003AE30: /* 8003AE30 00036A90 C0 82 82 78 */ lfs f4, lbl_80640878-_SDA2_BASE_(r2) /* 8003AE34 00036A94 C0 02 82 48 */ lfs f0, lbl_80640848-_SDA2_BASE_(r2) /* 8003AE38 00036A98 48 00 00 10 */ b lbl_8003AE48 lbl_8003AE3C: /* 8003AE3C 00036A9C C0 63 0C C4 */ lfs f3, 0xcc4(r3) /* 8003AE40 00036AA0 EC 63 20 2A */ fadds f3, f3, f4 /* 8003AE44 00036AA4 D0 63 0C C4 */ stfs f3, 0xcc4(r3) lbl_8003AE48: /* 8003AE48 00036AA8 C0 63 0C C4 */ lfs f3, 0xcc4(r3) /* 8003AE4C 00036AAC EC 61 18 28 */ fsubs f3, f1, f3 /* 8003AE50 00036AB0 FC 03 00 40 */ fcmpo cr0, f3, f0 /* 8003AE54 00036AB4 41 81 FF E8 */ bgt lbl_8003AE3C /* 8003AE58 00036AB8 C0 82 82 78 */ lfs f4, lbl_80640878-_SDA2_BASE_(r2) /* 8003AE5C 00036ABC C0 02 82 48 */ lfs f0, lbl_80640848-_SDA2_BASE_(r2) /* 8003AE60 00036AC0 48 00 00 10 */ b lbl_8003AE70 lbl_8003AE64: /* 8003AE64 00036AC4 C0 63 0C C4 */ lfs f3, 0xcc4(r3) /* 8003AE68 00036AC8 EC 63 20 28 */ fsubs f3, f3, f4 /* 8003AE6C 00036ACC D0 63 0C C4 */ stfs f3, 0xcc4(r3) lbl_8003AE70: /* 8003AE70 00036AD0 C0 63 0C C4 */ lfs f3, 0xcc4(r3) /* 8003AE74 00036AD4 EC 63 08 28 */ fsubs f3, f3, f1 /* 8003AE78 00036AD8 FC 03 00 40 */ fcmpo cr0, f3, f0 /* 8003AE7C 00036ADC 41 81 FF E8 */ bgt lbl_8003AE64 /* 8003AE80 00036AE0 4B FF FF 48 */ b func_8003ADC8 .global func_8003AE84 func_8003AE84: /* 8003AE84 00036AE4 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8003AE88 00036AE8 7C 08 02 A6 */ mflr r0 /* 8003AE8C 00036AEC 90 01 00 34 */ stw r0, 0x34(r1) /* 8003AE90 00036AF0 DB E1 00 20 */ stfd f31, 0x20(r1) /* 8003AE94 00036AF4 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0 /* 8003AE98 00036AF8 FF E0 08 90 */ fmr f31, f1 /* 8003AE9C 00036AFC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8003AEA0 00036B00 7C DF 33 78 */ mr r31, r6 /* 8003AEA4 00036B04 7F E7 FB 78 */ mr r7, r31 /* 8003AEA8 00036B08 93 C1 00 18 */ stw r30, 0x18(r1) /* 8003AEAC 00036B0C 7C BE 2B 78 */ mr r30, r5 /* 8003AEB0 00036B10 93 A1 00 14 */ stw r29, 0x14(r1) /* 8003AEB4 00036B14 7C 9D 23 78 */ mr r29, r4 /* 8003AEB8 00036B18 38 83 0C CC */ addi r4, r3, 0xccc /* 8003AEBC 00036B1C 93 81 00 10 */ stw r28, 0x10(r1) /* 8003AEC0 00036B20 7C 7C 1B 78 */ mr r28, r3 /* 8003AEC4 00036B24 7F A5 EB 78 */ mr r5, r29 /* 8003AEC8 00036B28 7C 86 23 78 */ mr r6, r4 /* 8003AECC 00036B2C 38 63 00 DC */ addi r3, r3, 0xdc /* 8003AED0 00036B30 48 01 54 6D */ bl func_8005033C /* 8003AED4 00036B34 FC 20 F8 90 */ fmr f1, f31 /* 8003AED8 00036B38 38 9C 0C D0 */ addi r4, r28, 0xcd0 /* 8003AEDC 00036B3C 7C 86 23 78 */ mr r6, r4 /* 8003AEE0 00036B40 7F E7 FB 78 */ mr r7, r31 /* 8003AEE4 00036B44 38 7C 01 00 */ addi r3, r28, 0x100 /* 8003AEE8 00036B48 38 BD 00 04 */ addi r5, r29, 4 /* 8003AEEC 00036B4C 48 01 54 51 */ bl func_8005033C /* 8003AEF0 00036B50 FC 20 F8 90 */ fmr f1, f31 /* 8003AEF4 00036B54 38 9C 0C D4 */ addi r4, r28, 0xcd4 /* 8003AEF8 00036B58 7C 86 23 78 */ mr r6, r4 /* 8003AEFC 00036B5C 7F E7 FB 78 */ mr r7, r31 /* 8003AF00 00036B60 38 7C 01 24 */ addi r3, r28, 0x124 /* 8003AF04 00036B64 38 BD 00 08 */ addi r5, r29, 8 /* 8003AF08 00036B68 48 01 54 35 */ bl func_8005033C /* 8003AF0C 00036B6C 2C 1E 00 00 */ cmpwi r30, 0 /* 8003AF10 00036B70 41 80 00 18 */ blt lbl_8003AF28 /* 8003AF14 00036B74 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 8003AF18 00036B78 7F 83 E3 78 */ mr r3, r28 /* 8003AF1C 00036B7C C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2) /* 8003AF20 00036B80 7F C4 F3 78 */ mr r4, r30 /* 8003AF24 00036B84 4B FF EA A5 */ bl func_800399C8 lbl_8003AF28: /* 8003AF28 00036B88 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0 /* 8003AF2C 00036B8C 80 01 00 34 */ lwz r0, 0x34(r1) /* 8003AF30 00036B90 CB E1 00 20 */ lfd f31, 0x20(r1) /* 8003AF34 00036B94 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8003AF38 00036B98 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8003AF3C 00036B9C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8003AF40 00036BA0 83 81 00 10 */ lwz r28, 0x10(r1) /* 8003AF44 00036BA4 7C 08 03 A6 */ mtlr r0 /* 8003AF48 00036BA8 38 21 00 30 */ addi r1, r1, 0x30 /* 8003AF4C 00036BAC 4E 80 00 20 */ blr .global func_8003AF50 func_8003AF50: /* 8003AF50 00036BB0 94 21 FF C0 */ stwu r1, -0x40(r1) /* 8003AF54 00036BB4 7C 08 02 A6 */ mflr r0 /* 8003AF58 00036BB8 90 01 00 44 */ stw r0, 0x44(r1) /* 8003AF5C 00036BBC DB E1 00 30 */ stfd f31, 0x30(r1) /* 8003AF60 00036BC0 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0 /* 8003AF64 00036BC4 DB C1 00 20 */ stfd f30, 0x20(r1) /* 8003AF68 00036BC8 F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0 /* 8003AF6C 00036BCC FF C0 08 90 */ fmr f30, f1 /* 8003AF70 00036BD0 FF E0 10 90 */ fmr f31, f2 /* 8003AF74 00036BD4 C0 82 82 20 */ lfs f4, lbl_80640820-_SDA2_BASE_(r2) /* 8003AF78 00036BD8 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8003AF7C 00036BDC 7C DF 33 78 */ mr r31, r6 /* 8003AF80 00036BE0 FC A0 20 90 */ fmr f5, f4 /* 8003AF84 00036BE4 93 C1 00 18 */ stw r30, 0x18(r1) /* 8003AF88 00036BE8 7C BE 2B 78 */ mr r30, r5 /* 8003AF8C 00036BEC FC 40 F0 90 */ fmr f2, f30 /* 8003AF90 00036BF0 93 A1 00 14 */ stw r29, 0x14(r1) /* 8003AF94 00036BF4 FC 60 F8 90 */ fmr f3, f31 /* 8003AF98 00036BF8 C0 24 00 00 */ lfs f1, 0(r4) /* 8003AF9C 00036BFC 7C 9D 23 78 */ mr r29, r4 /* 8003AFA0 00036C00 93 81 00 10 */ stw r28, 0x10(r1) /* 8003AFA4 00036C04 7C 7C 1B 78 */ mr r28, r3 /* 8003AFA8 00036C08 38 A3 0C CC */ addi r5, r3, 0xccc /* 8003AFAC 00036C0C 7F C4 F3 78 */ mr r4, r30 /* 8003AFB0 00036C10 38 E0 00 00 */ li r7, 0 /* 8003AFB4 00036C14 38 63 02 20 */ addi r3, r3, 0x220 /* 8003AFB8 00036C18 48 01 61 7D */ bl func_80051134 /* 8003AFBC 00036C1C C0 82 82 20 */ lfs f4, lbl_80640820-_SDA2_BASE_(r2) /* 8003AFC0 00036C20 FC 40 F0 90 */ fmr f2, f30 /* 8003AFC4 00036C24 FC 60 F8 90 */ fmr f3, f31 /* 8003AFC8 00036C28 C0 3D 00 04 */ lfs f1, 4(r29) /* 8003AFCC 00036C2C FC A0 20 90 */ fmr f5, f4 /* 8003AFD0 00036C30 7F C4 F3 78 */ mr r4, r30 /* 8003AFD4 00036C34 7F E6 FB 78 */ mr r6, r31 /* 8003AFD8 00036C38 38 7C 02 E0 */ addi r3, r28, 0x2e0 /* 8003AFDC 00036C3C 38 BC 0C D0 */ addi r5, r28, 0xcd0 /* 8003AFE0 00036C40 38 E0 00 00 */ li r7, 0 /* 8003AFE4 00036C44 48 01 61 51 */ bl func_80051134 /* 8003AFE8 00036C48 C0 82 82 20 */ lfs f4, lbl_80640820-_SDA2_BASE_(r2) /* 8003AFEC 00036C4C FC 40 F0 90 */ fmr f2, f30 /* 8003AFF0 00036C50 FC 60 F8 90 */ fmr f3, f31 /* 8003AFF4 00036C54 C0 3D 00 08 */ lfs f1, 8(r29) /* 8003AFF8 00036C58 FC A0 20 90 */ fmr f5, f4 /* 8003AFFC 00036C5C 7F C4 F3 78 */ mr r4, r30 /* 8003B000 00036C60 7F E6 FB 78 */ mr r6, r31 /* 8003B004 00036C64 38 7C 03 A0 */ addi r3, r28, 0x3a0 /* 8003B008 00036C68 38 BC 0C D4 */ addi r5, r28, 0xcd4 /* 8003B00C 00036C6C 38 E0 00 00 */ li r7, 0 /* 8003B010 00036C70 48 01 61 25 */ bl func_80051134 /* 8003B014 00036C74 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0 /* 8003B018 00036C78 CB E1 00 30 */ lfd f31, 0x30(r1) /* 8003B01C 00036C7C E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0 /* 8003B020 00036C80 CB C1 00 20 */ lfd f30, 0x20(r1) /* 8003B024 00036C84 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8003B028 00036C88 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8003B02C 00036C8C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8003B030 00036C90 80 01 00 44 */ lwz r0, 0x44(r1) /* 8003B034 00036C94 83 81 00 10 */ lwz r28, 0x10(r1) /* 8003B038 00036C98 7C 08 03 A6 */ mtlr r0 /* 8003B03C 00036C9C 38 21 00 40 */ addi r1, r1, 0x40 /* 8003B040 00036CA0 4E 80 00 20 */ blr .global func_8003B044 func_8003B044: /* 8003B044 00036CA4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8003B048 00036CA8 7C 08 02 A6 */ mflr r0 /* 8003B04C 00036CAC 90 01 00 24 */ stw r0, 0x24(r1) /* 8003B050 00036CB0 39 61 00 20 */ addi r11, r1, 0x20 /* 8003B054 00036CB4 48 18 C0 D5 */ bl _savegpr_27 /* 8003B058 00036CB8 54 C0 00 01 */ rlwinm. r0, r6, 0, 0, 0 /* 8003B05C 00036CBC 7C 7B 1B 78 */ mr r27, r3 /* 8003B060 00036CC0 7C 9C 23 78 */ mr r28, r4 /* 8003B064 00036CC4 7C BD 2B 78 */ mr r29, r5 /* 8003B068 00036CC8 7C DE 33 78 */ mr r30, r6 /* 8003B06C 00036CCC 40 82 00 4C */ bne lbl_8003B0B8 /* 8003B070 00036CD0 54 C0 07 39 */ rlwinm. r0, r6, 0, 0x1c, 0x1c /* 8003B074 00036CD4 41 82 00 2C */ beq lbl_8003B0A0 /* 8003B078 00036CD8 54 C0 07 FF */ clrlwi. r0, r6, 0x1f /* 8003B07C 00036CDC 54 DE 07 76 */ rlwinm r30, r6, 0, 0x1d, 0x1b /* 8003B080 00036CE0 41 82 00 08 */ beq lbl_8003B088 /* 8003B084 00036CE4 63 DE 00 40 */ ori r30, r30, 0x40 lbl_8003B088: /* 8003B088 00036CE8 57 C0 07 BD */ rlwinm. r0, r30, 0, 0x1e, 0x1e /* 8003B08C 00036CEC 41 82 00 08 */ beq lbl_8003B094 /* 8003B090 00036CF0 63 DE 00 80 */ ori r30, r30, 0x80 lbl_8003B094: /* 8003B094 00036CF4 57 C0 07 7B */ rlwinm. r0, r30, 0, 0x1d, 0x1d /* 8003B098 00036CF8 41 82 00 08 */ beq lbl_8003B0A0 /* 8003B09C 00036CFC 63 DE 01 00 */ ori r30, r30, 0x100 lbl_8003B0A0: /* 8003B0A0 00036D00 57 C0 07 FF */ clrlwi. r0, r30, 0x1f /* 8003B0A4 00036D04 40 82 00 08 */ bne lbl_8003B0AC /* 8003B0A8 00036D08 63 DE 00 09 */ ori r30, r30, 9 lbl_8003B0AC: /* 8003B0AC 00036D0C 57 C0 07 BD */ rlwinm. r0, r30, 0, 0x1e, 0x1e /* 8003B0B0 00036D10 40 82 00 08 */ bne lbl_8003B0B8 /* 8003B0B4 00036D14 63 DE 00 12 */ ori r30, r30, 0x12 lbl_8003B0B8: /* 8003B0B8 00036D18 7F 83 E3 78 */ mr r3, r28 /* 8003B0BC 00036D1C 7F A4 EB 78 */ mr r4, r29 /* 8003B0C0 00036D20 4B FF E8 2D */ bl func_800398EC /* 8003B0C4 00036D24 2C 03 00 00 */ cmpwi r3, 0 /* 8003B0C8 00036D28 7C 7F 1B 78 */ mr r31, r3 /* 8003B0CC 00036D2C 41 82 00 68 */ beq lbl_8003B134 /* 8003B0D0 00036D30 80 7B 0C 04 */ lwz r3, 0xc04(r27) /* 8003B0D4 00036D34 80 83 00 08 */ lwz r4, 8(r3) /* 8003B0D8 00036D38 2C 04 00 00 */ cmpwi r4, 0 /* 8003B0DC 00036D3C 40 82 00 0C */ bne lbl_8003B0E8 /* 8003B0E0 00036D40 38 60 00 00 */ li r3, 0 /* 8003B0E4 00036D44 48 00 00 1C */ b lbl_8003B100 lbl_8003B0E8: /* 8003B0E8 00036D48 A0 03 00 DE */ lhz r0, 0xde(r3) /* 8003B0EC 00036D4C 2C 00 00 00 */ cmpwi r0, 0 /* 8003B0F0 00036D50 40 82 00 0C */ bne lbl_8003B0FC /* 8003B0F4 00036D54 38 60 00 00 */ li r3, 0 /* 8003B0F8 00036D58 48 00 00 08 */ b lbl_8003B100 lbl_8003B0FC: /* 8003B0FC 00036D5C 80 64 00 00 */ lwz r3, 0(r4) lbl_8003B100: /* 8003B100 00036D60 81 83 01 00 */ lwz r12, 0x100(r3) /* 8003B104 00036D64 38 80 00 01 */ li r4, 1 /* 8003B108 00036D68 81 8C 00 10 */ lwz r12, 0x10(r12) /* 8003B10C 00036D6C 7D 89 03 A6 */ mtctr r12 /* 8003B110 00036D70 4E 80 04 21 */ bctrl /* 8003B114 00036D74 80 BB 0C 04 */ lwz r5, 0xc04(r27) /* 8003B118 00036D78 7F E3 FB 78 */ mr r3, r31 /* 8003B11C 00036D7C 57 C4 04 3E */ clrlwi r4, r30, 0x10 /* 8003B120 00036D80 38 C0 00 00 */ li r6, 0 /* 8003B124 00036D84 38 E0 00 03 */ li r7, 3 /* 8003B128 00036D88 48 1B 71 29 */ bl func_801F2250 /* 8003B12C 00036D8C 93 9B 0D 70 */ stw r28, 0xd70(r27) /* 8003B130 00036D90 93 BB 0D 74 */ stw r29, 0xd74(r27) lbl_8003B134: /* 8003B134 00036D94 39 61 00 20 */ addi r11, r1, 0x20 /* 8003B138 00036D98 48 18 C0 3D */ bl _restgpr_27 /* 8003B13C 00036D9C 80 01 00 24 */ lwz r0, 0x24(r1) /* 8003B140 00036DA0 7C 08 03 A6 */ mtlr r0 /* 8003B144 00036DA4 38 21 00 20 */ addi r1, r1, 0x20 /* 8003B148 00036DA8 4E 80 00 20 */ blr .global func_8003B14C func_8003B14C: /* 8003B14C 00036DAC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8003B150 00036DB0 7C 08 02 A6 */ mflr r0 /* 8003B154 00036DB4 90 01 00 14 */ stw r0, 0x14(r1) /* 8003B158 00036DB8 93 E1 00 0C */ stw r31, 0xc(r1) /* 8003B15C 00036DBC 7C 7F 1B 78 */ mr r31, r3 /* 8003B160 00036DC0 80 03 0D 70 */ lwz r0, 0xd70(r3) /* 8003B164 00036DC4 2C 00 00 00 */ cmpwi r0, 0 /* 8003B168 00036DC8 41 82 00 28 */ beq lbl_8003B190 /* 8003B16C 00036DCC 80 9F 0D 74 */ lwz r4, 0xd74(r31) /* 8003B170 00036DD0 7C 03 03 78 */ mr r3, r0 /* 8003B174 00036DD4 4B FF E7 79 */ bl func_800398EC /* 8003B178 00036DD8 2C 03 00 00 */ cmpwi r3, 0 /* 8003B17C 00036DDC 41 82 00 0C */ beq lbl_8003B188 /* 8003B180 00036DE0 80 9F 0C 04 */ lwz r4, 0xc04(r31) /* 8003B184 00036DE4 48 1B 71 9D */ bl func_801F2320 lbl_8003B188: /* 8003B188 00036DE8 38 00 00 00 */ li r0, 0 /* 8003B18C 00036DEC 90 1F 0D 70 */ stw r0, 0xd70(r31) lbl_8003B190: /* 8003B190 00036DF0 38 7F 01 B4 */ addi r3, r31, 0x1b4 /* 8003B194 00036DF4 48 01 51 F5 */ bl func_80050388 /* 8003B198 00036DF8 38 7F 01 D8 */ addi r3, r31, 0x1d8 /* 8003B19C 00036DFC 48 01 51 ED */ bl func_80050388 /* 8003B1A0 00036E00 38 7F 01 FC */ addi r3, r31, 0x1fc /* 8003B1A4 00036E04 48 01 51 E5 */ bl func_80050388 /* 8003B1A8 00036E08 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003B1AC 00036E0C D0 1F 0D 64 */ stfs f0, 0xd64(r31) /* 8003B1B0 00036E10 D0 1F 0D 68 */ stfs f0, 0xd68(r31) /* 8003B1B4 00036E14 D0 1F 0D 6C */ stfs f0, 0xd6c(r31) /* 8003B1B8 00036E18 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8003B1BC 00036E1C 80 01 00 14 */ lwz r0, 0x14(r1) /* 8003B1C0 00036E20 7C 08 03 A6 */ mtlr r0 /* 8003B1C4 00036E24 38 21 00 10 */ addi r1, r1, 0x10 /* 8003B1C8 00036E28 4E 80 00 20 */ blr .global func_8003B1CC func_8003B1CC: /* 8003B1CC 00036E2C 94 21 FF 70 */ stwu r1, -0x90(r1) /* 8003B1D0 00036E30 7C 08 02 A6 */ mflr r0 /* 8003B1D4 00036E34 90 01 00 94 */ stw r0, 0x94(r1) /* 8003B1D8 00036E38 DB E1 00 80 */ stfd f31, 0x80(r1) /* 8003B1DC 00036E3C F3 E1 00 88 */ psq_st f31, 136(r1), 0, qr0 /* 8003B1E0 00036E40 DB C1 00 70 */ stfd f30, 0x70(r1) /* 8003B1E4 00036E44 F3 C1 00 78 */ psq_st f30, 120(r1), 0, qr0 /* 8003B1E8 00036E48 DB A1 00 60 */ stfd f29, 0x60(r1) /* 8003B1EC 00036E4C F3 A1 00 68 */ psq_st f29, 104(r1), 0, qr0 /* 8003B1F0 00036E50 FF A0 08 90 */ fmr f29, f1 /* 8003B1F4 00036E54 FF C0 10 90 */ fmr f30, f2 /* 8003B1F8 00036E58 93 E1 00 5C */ stw r31, 0x5c(r1) /* 8003B1FC 00036E5C FF E0 18 90 */ fmr f31, f3 /* 8003B200 00036E60 7C 7F 1B 78 */ mr r31, r3 /* 8003B204 00036E64 80 03 0D 70 */ lwz r0, 0xd70(r3) /* 8003B208 00036E68 2C 00 00 00 */ cmpwi r0, 0 /* 8003B20C 00036E6C 41 82 00 98 */ beq lbl_8003B2A4 /* 8003B210 00036E70 C0 02 82 70 */ lfs f0, lbl_80640870-_SDA2_BASE_(r2) /* 8003B214 00036E74 FC 03 00 40 */ fcmpo cr0, f3, f0 /* 8003B218 00036E78 40 80 00 10 */ bge lbl_8003B228 /* 8003B21C 00036E7C C0 02 82 74 */ lfs f0, lbl_80640874-_SDA2_BASE_(r2) /* 8003B220 00036E80 FC 03 00 40 */ fcmpo cr0, f3, f0 /* 8003B224 00036E84 41 81 00 80 */ bgt lbl_8003B2A4 lbl_8003B228: /* 8003B228 00036E88 FC 40 10 50 */ fneg f2, f2 /* 8003B22C 00036E8C C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003B230 00036E90 D0 21 00 0C */ stfs f1, 0xc(r1) /* 8003B234 00036E94 38 61 00 30 */ addi r3, r1, 0x30 /* 8003B238 00036E98 38 81 00 08 */ addi r4, r1, 8 /* 8003B23C 00036E9C D0 41 00 08 */ stfs f2, 8(r1) /* 8003B240 00036EA0 D0 01 00 10 */ stfs f0, 0x10(r1) /* 8003B244 00036EA4 48 1E 84 7D */ bl func_802236C0 /* 8003B248 00036EA8 FC 00 F8 18 */ frsp f0, f31 /* 8003B24C 00036EAC C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 8003B250 00036EB0 D3 E1 00 28 */ stfs f31, 0x28(r1) /* 8003B254 00036EB4 38 61 00 14 */ addi r3, r1, 0x14 /* 8003B258 00036EB8 38 81 00 30 */ addi r4, r1, 0x30 /* 8003B25C 00036EBC D0 21 00 20 */ stfs f1, 0x20(r1) /* 8003B260 00036EC0 D0 21 00 24 */ stfs f1, 0x24(r1) /* 8003B264 00036EC4 D0 21 00 14 */ stfs f1, 0x14(r1) /* 8003B268 00036EC8 D0 21 00 18 */ stfs f1, 0x18(r1) /* 8003B26C 00036ECC D0 01 00 1C */ stfs f0, 0x1c(r1) /* 8003B270 00036ED0 48 1E 87 9D */ bl func_80223A0C /* 8003B274 00036ED4 C0 41 00 14 */ lfs f2, 0x14(r1) /* 8003B278 00036ED8 7F E3 FB 78 */ mr r3, r31 /* 8003B27C 00036EDC C0 21 00 18 */ lfs f1, 0x18(r1) /* 8003B280 00036EE0 38 81 00 40 */ addi r4, r1, 0x40 /* 8003B284 00036EE4 C0 01 00 1C */ lfs f0, 0x1c(r1) /* 8003B288 00036EE8 D0 41 00 40 */ stfs f2, 0x40(r1) /* 8003B28C 00036EEC D0 21 00 44 */ stfs f1, 0x44(r1) /* 8003B290 00036EF0 D0 01 00 48 */ stfs f0, 0x48(r1) /* 8003B294 00036EF4 4B FF D5 89 */ bl func_8003881C /* 8003B298 00036EF8 D3 FF 0D 64 */ stfs f31, 0xd64(r31) /* 8003B29C 00036EFC D3 BF 0D 68 */ stfs f29, 0xd68(r31) /* 8003B2A0 00036F00 D3 DF 0D 6C */ stfs f30, 0xd6c(r31) lbl_8003B2A4: /* 8003B2A4 00036F04 E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0 /* 8003B2A8 00036F08 CB E1 00 80 */ lfd f31, 0x80(r1) /* 8003B2AC 00036F0C E3 C1 00 78 */ psq_l f30, 120(r1), 0, qr0 /* 8003B2B0 00036F10 CB C1 00 70 */ lfd f30, 0x70(r1) /* 8003B2B4 00036F14 E3 A1 00 68 */ psq_l f29, 104(r1), 0, qr0 /* 8003B2B8 00036F18 CB A1 00 60 */ lfd f29, 0x60(r1) /* 8003B2BC 00036F1C 80 01 00 94 */ lwz r0, 0x94(r1) /* 8003B2C0 00036F20 83 E1 00 5C */ lwz r31, 0x5c(r1) /* 8003B2C4 00036F24 7C 08 03 A6 */ mtlr r0 /* 8003B2C8 00036F28 38 21 00 90 */ addi r1, r1, 0x90 /* 8003B2CC 00036F2C 4E 80 00 20 */ blr .global func_8003B2D0 func_8003B2D0: /* 8003B2D0 00036F30 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8003B2D4 00036F34 7C 08 02 A6 */ mflr r0 /* 8003B2D8 00036F38 90 01 00 34 */ stw r0, 0x34(r1) /* 8003B2DC 00036F3C DB E1 00 28 */ stfd f31, 0x28(r1) /* 8003B2E0 00036F40 FF E0 20 90 */ fmr f31, f4 /* 8003B2E4 00036F44 93 E1 00 24 */ stw r31, 0x24(r1) /* 8003B2E8 00036F48 7C 9F 23 78 */ mr r31, r4 /* 8003B2EC 00036F4C 93 C1 00 20 */ stw r30, 0x20(r1) /* 8003B2F0 00036F50 7C 7E 1B 78 */ mr r30, r3 /* 8003B2F4 00036F54 D0 21 00 08 */ stfs f1, 8(r1) /* 8003B2F8 00036F58 D0 41 00 0C */ stfs f2, 0xc(r1) /* 8003B2FC 00036F5C D0 61 00 10 */ stfs f3, 0x10(r1) /* 8003B300 00036F60 80 03 0D 70 */ lwz r0, 0xd70(r3) /* 8003B304 00036F64 2C 00 00 00 */ cmpwi r0, 0 /* 8003B308 00036F68 41 82 00 64 */ beq lbl_8003B36C /* 8003B30C 00036F6C 7F C4 F3 78 */ mr r4, r30 /* 8003B310 00036F70 38 61 00 14 */ addi r3, r1, 0x14 /* 8003B314 00036F74 4B FF D4 CD */ bl func_800387E0 /* 8003B318 00036F78 FC 20 F8 90 */ fmr f1, f31 /* 8003B31C 00036F7C 38 9E 0D 64 */ addi r4, r30, 0xd64 /* 8003B320 00036F80 7C 86 23 78 */ mr r6, r4 /* 8003B324 00036F84 7F E7 FB 78 */ mr r7, r31 /* 8003B328 00036F88 38 7E 01 B4 */ addi r3, r30, 0x1b4 /* 8003B32C 00036F8C 38 A1 00 10 */ addi r5, r1, 0x10 /* 8003B330 00036F90 48 01 50 0D */ bl func_8005033C /* 8003B334 00036F94 FC 20 F8 90 */ fmr f1, f31 /* 8003B338 00036F98 38 9E 0D 68 */ addi r4, r30, 0xd68 /* 8003B33C 00036F9C 7C 86 23 78 */ mr r6, r4 /* 8003B340 00036FA0 7F E7 FB 78 */ mr r7, r31 /* 8003B344 00036FA4 38 7E 01 D8 */ addi r3, r30, 0x1d8 /* 8003B348 00036FA8 38 A1 00 08 */ addi r5, r1, 8 /* 8003B34C 00036FAC 48 01 4F F1 */ bl func_8005033C /* 8003B350 00036FB0 FC 20 F8 90 */ fmr f1, f31 /* 8003B354 00036FB4 38 9E 0D 6C */ addi r4, r30, 0xd6c /* 8003B358 00036FB8 7C 86 23 78 */ mr r6, r4 /* 8003B35C 00036FBC 7F E7 FB 78 */ mr r7, r31 /* 8003B360 00036FC0 38 7E 01 FC */ addi r3, r30, 0x1fc /* 8003B364 00036FC4 38 A1 00 0C */ addi r5, r1, 0xc /* 8003B368 00036FC8 48 01 4F D5 */ bl func_8005033C lbl_8003B36C: /* 8003B36C 00036FCC 80 01 00 34 */ lwz r0, 0x34(r1) /* 8003B370 00036FD0 CB E1 00 28 */ lfd f31, 0x28(r1) /* 8003B374 00036FD4 83 E1 00 24 */ lwz r31, 0x24(r1) /* 8003B378 00036FD8 83 C1 00 20 */ lwz r30, 0x20(r1) /* 8003B37C 00036FDC 7C 08 03 A6 */ mtlr r0 /* 8003B380 00036FE0 38 21 00 30 */ addi r1, r1, 0x30 /* 8003B384 00036FE4 4E 80 00 20 */ blr .global func_8003B388 func_8003B388: /* 8003B388 00036FE8 3C 80 80 41 */ lis r4, lbl_8040A3F0@ha /* 8003B38C 00036FEC 38 00 00 03 */ li r0, 3 /* 8003B390 00036FF0 38 A0 00 00 */ li r5, 0 /* 8003B394 00036FF4 38 C0 00 00 */ li r6, 0 /* 8003B398 00036FF8 38 84 A3 F0 */ addi r4, r4, lbl_8040A3F0@l /* 8003B39C 00036FFC 7C 09 03 A6 */ mtctr r0 lbl_8003B3A0: /* 8003B3A0 00037000 80 03 00 04 */ lwz r0, 4(r3) /* 8003B3A4 00037004 2C 00 00 00 */ cmpwi r0, 0 /* 8003B3A8 00037008 41 82 00 0C */ beq lbl_8003B3B4 /* 8003B3AC 0003700C A0 04 00 00 */ lhz r0, 0(r4) /* 8003B3B0 00037010 7C A5 03 78 */ or r5, r5, r0 lbl_8003B3B4: /* 8003B3B4 00037014 80 03 00 28 */ lwz r0, 0x28(r3) /* 8003B3B8 00037018 2C 00 00 00 */ cmpwi r0, 0 /* 8003B3BC 0003701C 41 82 00 0C */ beq lbl_8003B3C8 /* 8003B3C0 00037020 A0 04 00 02 */ lhz r0, 2(r4) /* 8003B3C4 00037024 7C A5 03 78 */ or r5, r5, r0 lbl_8003B3C8: /* 8003B3C8 00037028 80 03 00 4C */ lwz r0, 0x4c(r3) /* 8003B3CC 0003702C 2C 00 00 00 */ cmpwi r0, 0 /* 8003B3D0 00037030 41 82 00 0C */ beq lbl_8003B3DC /* 8003B3D4 00037034 A0 04 00 04 */ lhz r0, 4(r4) /* 8003B3D8 00037038 7C A5 03 78 */ or r5, r5, r0 lbl_8003B3DC: /* 8003B3DC 0003703C 80 03 00 70 */ lwz r0, 0x70(r3) /* 8003B3E0 00037040 2C 00 00 00 */ cmpwi r0, 0 /* 8003B3E4 00037044 41 82 00 0C */ beq lbl_8003B3F0 /* 8003B3E8 00037048 A0 04 00 06 */ lhz r0, 6(r4) /* 8003B3EC 0003704C 7C A5 03 78 */ or r5, r5, r0 lbl_8003B3F0: /* 8003B3F0 00037050 80 03 00 94 */ lwz r0, 0x94(r3) /* 8003B3F4 00037054 2C 00 00 00 */ cmpwi r0, 0 /* 8003B3F8 00037058 41 82 00 0C */ beq lbl_8003B404 /* 8003B3FC 0003705C A0 04 00 08 */ lhz r0, 8(r4) /* 8003B400 00037060 7C A5 03 78 */ or r5, r5, r0 lbl_8003B404: /* 8003B404 00037064 38 63 00 B4 */ addi r3, r3, 0xb4 /* 8003B408 00037068 38 84 00 0A */ addi r4, r4, 0xa /* 8003B40C 0003706C 38 C6 00 04 */ addi r6, r6, 4 /* 8003B410 00037070 42 00 FF 90 */ bdnz lbl_8003B3A0 /* 8003B414 00037074 7C A3 2B 78 */ mr r3, r5 /* 8003B418 00037078 4E 80 00 20 */ blr .global func_8003B41C func_8003B41C: /* 8003B41C 0003707C 80 83 0C 04 */ lwz r4, 0xc04(r3) /* 8003B420 00037080 2C 04 00 00 */ cmpwi r4, 0 /* 8003B424 00037084 40 82 00 0C */ bne lbl_8003B430 /* 8003B428 00037088 38 60 00 00 */ li r3, 0 /* 8003B42C 0003708C 4E 80 00 20 */ blr lbl_8003B430: /* 8003B430 00037090 A0 A4 00 DE */ lhz r5, 0xde(r4) /* 8003B434 00037094 39 20 00 00 */ li r9, 0 /* 8003B438 00037098 48 00 01 00 */ b lbl_8003B538 lbl_8003B43C: /* 8003B43C 0003709C 80 83 0C 04 */ lwz r4, 0xc04(r3) /* 8003B440 000370A0 80 C4 00 08 */ lwz r6, 8(r4) /* 8003B444 000370A4 2C 06 00 00 */ cmpwi r6, 0 /* 8003B448 000370A8 40 82 00 0C */ bne lbl_8003B454 /* 8003B44C 000370AC 38 80 00 00 */ li r4, 0 /* 8003B450 000370B0 48 00 00 24 */ b lbl_8003B474 lbl_8003B454: /* 8003B454 000370B4 A0 04 00 DE */ lhz r0, 0xde(r4) /* 8003B458 000370B8 55 24 04 3E */ clrlwi r4, r9, 0x10 /* 8003B45C 000370BC 7C 04 00 40 */ cmplw r4, r0 /* 8003B460 000370C0 41 80 00 0C */ blt lbl_8003B46C /* 8003B464 000370C4 38 80 00 00 */ li r4, 0 /* 8003B468 000370C8 48 00 00 0C */ b lbl_8003B474 lbl_8003B46C: /* 8003B46C 000370CC 55 20 13 BA */ rlwinm r0, r9, 2, 0xe, 0x1d /* 8003B470 000370D0 7C 86 00 2E */ lwzx r4, r6, r0 lbl_8003B474: /* 8003B474 000370D4 2C 04 00 00 */ cmpwi r4, 0 /* 8003B478 000370D8 41 82 00 BC */ beq lbl_8003B534 /* 8003B47C 000370DC 80 E4 00 04 */ lwz r7, 4(r4) /* 8003B480 000370E0 2C 07 00 00 */ cmpwi r7, 0 /* 8003B484 000370E4 41 82 00 B0 */ beq lbl_8003B534 /* 8003B488 000370E8 41 82 00 40 */ beq lbl_8003B4C8 /* 8003B48C 000370EC A1 07 00 06 */ lhz r8, 6(r7) /* 8003B490 000370F0 38 C0 00 01 */ li r6, 1 /* 8003B494 000370F4 55 00 07 39 */ rlwinm. r0, r8, 0, 0x1c, 0x1c /* 8003B498 000370F8 40 82 00 34 */ bne lbl_8003B4CC /* 8003B49C 000370FC 80 07 00 00 */ lwz r0, 0(r7) /* 8003B4A0 00037100 38 80 00 00 */ li r4, 0 /* 8003B4A4 00037104 2C 00 00 00 */ cmpwi r0, 0 /* 8003B4A8 00037108 41 82 00 10 */ beq lbl_8003B4B8 /* 8003B4AC 0003710C 55 00 07 FF */ clrlwi. r0, r8, 0x1f /* 8003B4B0 00037110 41 82 00 08 */ beq lbl_8003B4B8 /* 8003B4B4 00037114 38 80 00 01 */ li r4, 1 lbl_8003B4B8: /* 8003B4B8 00037118 2C 04 00 00 */ cmpwi r4, 0 /* 8003B4BC 0003711C 41 82 00 10 */ beq lbl_8003B4CC /* 8003B4C0 00037120 38 C0 00 00 */ li r6, 0 /* 8003B4C4 00037124 48 00 00 08 */ b lbl_8003B4CC lbl_8003B4C8: /* 8003B4C8 00037128 38 C0 00 01 */ li r6, 1 lbl_8003B4CC: /* 8003B4CC 0003712C 2C 06 00 00 */ cmpwi r6, 0 /* 8003B4D0 00037130 41 82 00 0C */ beq lbl_8003B4DC /* 8003B4D4 00037134 38 60 00 01 */ li r3, 1 /* 8003B4D8 00037138 4E 80 00 20 */ blr lbl_8003B4DC: /* 8003B4DC 0003713C 2C 07 00 00 */ cmpwi r7, 0 /* 8003B4E0 00037140 41 82 00 40 */ beq lbl_8003B520 /* 8003B4E4 00037144 A1 07 00 06 */ lhz r8, 6(r7) /* 8003B4E8 00037148 38 C0 00 01 */ li r6, 1 /* 8003B4EC 0003714C 55 00 07 7B */ rlwinm. r0, r8, 0, 0x1d, 0x1d /* 8003B4F0 00037150 40 82 00 34 */ bne lbl_8003B524 /* 8003B4F4 00037154 80 07 00 00 */ lwz r0, 0(r7) /* 8003B4F8 00037158 38 80 00 00 */ li r4, 0 /* 8003B4FC 0003715C 2C 00 00 00 */ cmpwi r0, 0 /* 8003B500 00037160 41 82 00 10 */ beq lbl_8003B510 /* 8003B504 00037164 55 00 07 FF */ clrlwi. r0, r8, 0x1f /* 8003B508 00037168 41 82 00 08 */ beq lbl_8003B510 /* 8003B50C 0003716C 38 80 00 01 */ li r4, 1 lbl_8003B510: /* 8003B510 00037170 2C 04 00 00 */ cmpwi r4, 0 /* 8003B514 00037174 41 82 00 10 */ beq lbl_8003B524 /* 8003B518 00037178 38 C0 00 00 */ li r6, 0 /* 8003B51C 0003717C 48 00 00 08 */ b lbl_8003B524 lbl_8003B520: /* 8003B520 00037180 38 C0 00 01 */ li r6, 1 lbl_8003B524: /* 8003B524 00037184 2C 06 00 00 */ cmpwi r6, 0 /* 8003B528 00037188 41 82 00 0C */ beq lbl_8003B534 /* 8003B52C 0003718C 38 60 00 02 */ li r3, 2 /* 8003B530 00037190 4E 80 00 20 */ blr lbl_8003B534: /* 8003B534 00037194 39 29 00 01 */ addi r9, r9, 1 lbl_8003B538: /* 8003B538 00037198 55 20 04 3E */ clrlwi r0, r9, 0x10 /* 8003B53C 0003719C 7C 00 28 40 */ cmplw r0, r5 /* 8003B540 000371A0 41 80 FE FC */ blt lbl_8003B43C /* 8003B544 000371A4 38 60 00 00 */ li r3, 0 /* 8003B548 000371A8 4E 80 00 20 */ blr .global func_8003B54C func_8003B54C: /* 8003B54C 000371AC 80 83 0C 04 */ lwz r4, 0xc04(r3) /* 8003B550 000371B0 2C 04 00 00 */ cmpwi r4, 0 /* 8003B554 000371B4 40 82 00 0C */ bne lbl_8003B560 /* 8003B558 000371B8 38 60 00 00 */ li r3, 0 /* 8003B55C 000371BC 4E 80 00 20 */ blr lbl_8003B560: /* 8003B560 000371C0 A0 A4 00 DE */ lhz r5, 0xde(r4) /* 8003B564 000371C4 39 20 00 00 */ li r9, 0 /* 8003B568 000371C8 48 00 00 F8 */ b lbl_8003B660 lbl_8003B56C: /* 8003B56C 000371CC 80 83 0C 04 */ lwz r4, 0xc04(r3) /* 8003B570 000371D0 80 C4 00 08 */ lwz r6, 8(r4) /* 8003B574 000371D4 2C 06 00 00 */ cmpwi r6, 0 /* 8003B578 000371D8 40 82 00 0C */ bne lbl_8003B584 /* 8003B57C 000371DC 38 80 00 00 */ li r4, 0 /* 8003B580 000371E0 48 00 00 24 */ b lbl_8003B5A4 lbl_8003B584: /* 8003B584 000371E4 A0 04 00 DE */ lhz r0, 0xde(r4) /* 8003B588 000371E8 55 24 04 3E */ clrlwi r4, r9, 0x10 /* 8003B58C 000371EC 7C 04 00 40 */ cmplw r4, r0 /* 8003B590 000371F0 41 80 00 0C */ blt lbl_8003B59C /* 8003B594 000371F4 38 80 00 00 */ li r4, 0 /* 8003B598 000371F8 48 00 00 0C */ b lbl_8003B5A4 lbl_8003B59C: /* 8003B59C 000371FC 55 20 13 BA */ rlwinm r0, r9, 2, 0xe, 0x1d /* 8003B5A0 00037200 7C 86 00 2E */ lwzx r4, r6, r0 lbl_8003B5A4: /* 8003B5A4 00037204 2C 04 00 00 */ cmpwi r4, 0 /* 8003B5A8 00037208 41 82 00 B4 */ beq lbl_8003B65C /* 8003B5AC 0003720C 80 E4 00 04 */ lwz r7, 4(r4) /* 8003B5B0 00037210 2C 07 00 00 */ cmpwi r7, 0 /* 8003B5B4 00037214 41 82 00 A8 */ beq lbl_8003B65C /* 8003B5B8 00037218 41 82 00 40 */ beq lbl_8003B5F8 /* 8003B5BC 0003721C A1 07 00 06 */ lhz r8, 6(r7) /* 8003B5C0 00037220 38 C0 00 01 */ li r6, 1 /* 8003B5C4 00037224 55 00 07 39 */ rlwinm. r0, r8, 0, 0x1c, 0x1c /* 8003B5C8 00037228 40 82 00 34 */ bne lbl_8003B5FC /* 8003B5CC 0003722C 80 07 00 00 */ lwz r0, 0(r7) /* 8003B5D0 00037230 38 80 00 00 */ li r4, 0 /* 8003B5D4 00037234 2C 00 00 00 */ cmpwi r0, 0 /* 8003B5D8 00037238 41 82 00 10 */ beq lbl_8003B5E8 /* 8003B5DC 0003723C 55 00 07 FF */ clrlwi. r0, r8, 0x1f /* 8003B5E0 00037240 41 82 00 08 */ beq lbl_8003B5E8 /* 8003B5E4 00037244 38 80 00 01 */ li r4, 1 lbl_8003B5E8: /* 8003B5E8 00037248 2C 04 00 00 */ cmpwi r4, 0 /* 8003B5EC 0003724C 41 82 00 10 */ beq lbl_8003B5FC /* 8003B5F0 00037250 38 C0 00 00 */ li r6, 0 /* 8003B5F4 00037254 48 00 00 08 */ b lbl_8003B5FC lbl_8003B5F8: /* 8003B5F8 00037258 38 C0 00 01 */ li r6, 1 lbl_8003B5FC: /* 8003B5FC 0003725C 2C 06 00 00 */ cmpwi r6, 0 /* 8003B600 00037260 40 82 00 54 */ bne lbl_8003B654 /* 8003B604 00037264 2C 07 00 00 */ cmpwi r7, 0 /* 8003B608 00037268 41 82 00 40 */ beq lbl_8003B648 /* 8003B60C 0003726C A1 07 00 06 */ lhz r8, 6(r7) /* 8003B610 00037270 38 C0 00 01 */ li r6, 1 /* 8003B614 00037274 55 00 07 7B */ rlwinm. r0, r8, 0, 0x1d, 0x1d /* 8003B618 00037278 40 82 00 34 */ bne lbl_8003B64C /* 8003B61C 0003727C 80 07 00 00 */ lwz r0, 0(r7) /* 8003B620 00037280 38 80 00 00 */ li r4, 0 /* 8003B624 00037284 2C 00 00 00 */ cmpwi r0, 0 /* 8003B628 00037288 41 82 00 10 */ beq lbl_8003B638 /* 8003B62C 0003728C 55 00 07 FF */ clrlwi. r0, r8, 0x1f /* 8003B630 00037290 41 82 00 08 */ beq lbl_8003B638 /* 8003B634 00037294 38 80 00 01 */ li r4, 1 lbl_8003B638: /* 8003B638 00037298 2C 04 00 00 */ cmpwi r4, 0 /* 8003B63C 0003729C 41 82 00 10 */ beq lbl_8003B64C /* 8003B640 000372A0 38 C0 00 00 */ li r6, 0 /* 8003B644 000372A4 48 00 00 08 */ b lbl_8003B64C lbl_8003B648: /* 8003B648 000372A8 38 C0 00 01 */ li r6, 1 lbl_8003B64C: /* 8003B64C 000372AC 2C 06 00 00 */ cmpwi r6, 0 /* 8003B650 000372B0 41 82 00 0C */ beq lbl_8003B65C lbl_8003B654: /* 8003B654 000372B4 38 60 00 01 */ li r3, 1 /* 8003B658 000372B8 4E 80 00 20 */ blr lbl_8003B65C: /* 8003B65C 000372BC 39 29 00 01 */ addi r9, r9, 1 lbl_8003B660: /* 8003B660 000372C0 55 20 04 3E */ clrlwi r0, r9, 0x10 /* 8003B664 000372C4 7C 00 28 40 */ cmplw r0, r5 /* 8003B668 000372C8 41 80 FF 04 */ blt lbl_8003B56C /* 8003B66C 000372CC 38 60 00 00 */ li r3, 0 /* 8003B670 000372D0 4E 80 00 20 */ blr .global func_8003B674 func_8003B674: /* 8003B674 000372D4 80 C4 0C 04 */ lwz r6, 0xc04(r4) /* 8003B678 000372D8 2C 06 00 00 */ cmpwi r6, 0 /* 8003B67C 000372DC 41 82 00 64 */ beq lbl_8003B6E0 /* 8003B680 000372E0 2C 05 00 00 */ cmpwi r5, 0 /* 8003B684 000372E4 A0 86 00 DE */ lhz r4, 0xde(r6) /* 8003B688 000372E8 41 80 00 58 */ blt lbl_8003B6E0 /* 8003B68C 000372EC 7C 05 20 00 */ cmpw r5, r4 /* 8003B690 000372F0 40 80 00 50 */ bge lbl_8003B6E0 /* 8003B694 000372F4 80 C6 00 08 */ lwz r6, 8(r6) /* 8003B698 000372F8 2C 06 00 00 */ cmpwi r6, 0 /* 8003B69C 000372FC 40 82 00 0C */ bne lbl_8003B6A8 /* 8003B6A0 00037300 38 80 00 00 */ li r4, 0 /* 8003B6A4 00037304 48 00 00 20 */ b lbl_8003B6C4 lbl_8003B6A8: /* 8003B6A8 00037308 54 A0 04 3E */ clrlwi r0, r5, 0x10 /* 8003B6AC 0003730C 7C 00 20 40 */ cmplw r0, r4 /* 8003B6B0 00037310 41 80 00 0C */ blt lbl_8003B6BC /* 8003B6B4 00037314 38 80 00 00 */ li r4, 0 /* 8003B6B8 00037318 48 00 00 0C */ b lbl_8003B6C4 lbl_8003B6BC: /* 8003B6BC 0003731C 54 A0 13 BA */ rlwinm r0, r5, 2, 0xe, 0x1d /* 8003B6C0 00037320 7C 86 00 2E */ lwzx r4, r6, r0 lbl_8003B6C4: /* 8003B6C4 00037324 C0 04 00 DC */ lfs f0, 0xdc(r4) /* 8003B6C8 00037328 D0 03 00 00 */ stfs f0, 0(r3) /* 8003B6CC 0003732C C0 04 00 EC */ lfs f0, 0xec(r4) /* 8003B6D0 00037330 D0 03 00 04 */ stfs f0, 4(r3) /* 8003B6D4 00037334 C0 04 00 FC */ lfs f0, 0xfc(r4) /* 8003B6D8 00037338 D0 03 00 08 */ stfs f0, 8(r3) /* 8003B6DC 0003733C 4E 80 00 20 */ blr lbl_8003B6E0: /* 8003B6E0 00037340 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003B6E4 00037344 D0 03 00 00 */ stfs f0, 0(r3) /* 8003B6E8 00037348 D0 03 00 04 */ stfs f0, 4(r3) /* 8003B6EC 0003734C D0 03 00 08 */ stfs f0, 8(r3) /* 8003B6F0 00037350 4E 80 00 20 */ blr .global func_8003B6F4 func_8003B6F4: /* 8003B6F4 00037354 80 84 0C 04 */ lwz r4, 0xc04(r4) /* 8003B6F8 00037358 2C 04 00 00 */ cmpwi r4, 0 /* 8003B6FC 0003735C 41 82 00 0C */ beq lbl_8003B708 /* 8003B700 00037360 38 84 01 20 */ addi r4, r4, 0x120 /* 8003B704 00037364 48 00 00 08 */ b lbl_8003B70C lbl_8003B708: /* 8003B708 00037368 38 80 00 00 */ li r4, 0 lbl_8003B70C: /* 8003B70C 0003736C 2C 04 00 00 */ cmpwi r4, 0 /* 8003B710 00037370 40 82 00 18 */ bne lbl_8003B728 /* 8003B714 00037374 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003B718 00037378 D0 03 00 00 */ stfs f0, 0(r3) /* 8003B71C 0003737C D0 03 00 04 */ stfs f0, 4(r3) /* 8003B720 00037380 D0 03 00 08 */ stfs f0, 8(r3) /* 8003B724 00037384 4E 80 00 20 */ blr lbl_8003B728: /* 8003B728 00037388 C0 04 00 00 */ lfs f0, 0(r4) /* 8003B72C 0003738C D0 03 00 00 */ stfs f0, 0(r3) /* 8003B730 00037390 C0 04 00 04 */ lfs f0, 4(r4) /* 8003B734 00037394 D0 03 00 04 */ stfs f0, 4(r3) /* 8003B738 00037398 C0 04 00 08 */ lfs f0, 8(r4) /* 8003B73C 0003739C D0 03 00 08 */ stfs f0, 8(r3) /* 8003B740 000373A0 4E 80 00 20 */ blr .global func_8003B744 func_8003B744: /* 8003B744 000373A4 80 84 0C 04 */ lwz r4, 0xc04(r4) /* 8003B748 000373A8 2C 04 00 00 */ cmpwi r4, 0 /* 8003B74C 000373AC 41 82 00 0C */ beq lbl_8003B758 /* 8003B750 000373B0 38 84 01 20 */ addi r4, r4, 0x120 /* 8003B754 000373B4 48 00 00 08 */ b lbl_8003B75C lbl_8003B758: /* 8003B758 000373B8 38 80 00 00 */ li r4, 0 lbl_8003B75C: /* 8003B75C 000373BC 2C 04 00 00 */ cmpwi r4, 0 /* 8003B760 000373C0 40 82 00 18 */ bne lbl_8003B778 /* 8003B764 000373C4 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003B768 000373C8 D0 03 00 00 */ stfs f0, 0(r3) /* 8003B76C 000373CC D0 03 00 04 */ stfs f0, 4(r3) /* 8003B770 000373D0 D0 03 00 08 */ stfs f0, 8(r3) /* 8003B774 000373D4 4E 80 00 20 */ blr lbl_8003B778: /* 8003B778 000373D8 C0 04 00 0C */ lfs f0, 0xc(r4) /* 8003B77C 000373DC D0 03 00 00 */ stfs f0, 0(r3) /* 8003B780 000373E0 C0 04 00 10 */ lfs f0, 0x10(r4) /* 8003B784 000373E4 D0 03 00 04 */ stfs f0, 4(r3) /* 8003B788 000373E8 C0 04 00 14 */ lfs f0, 0x14(r4) /* 8003B78C 000373EC D0 03 00 08 */ stfs f0, 8(r3) /* 8003B790 000373F0 4E 80 00 20 */ blr .global func_8003B794 func_8003B794: /* 8003B794 000373F4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8003B798 000373F8 7C 08 02 A6 */ mflr r0 /* 8003B79C 000373FC 90 01 00 24 */ stw r0, 0x24(r1) /* 8003B7A0 00037400 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8003B7A4 00037404 7C 7F 1B 78 */ mr r31, r3 /* 8003B7A8 00037408 38 61 00 08 */ addi r3, r1, 8 /* 8003B7AC 0003740C 7F E4 FB 78 */ mr r4, r31 /* 8003B7B0 00037410 4B FF D0 31 */ bl func_800387E0 /* 8003B7B4 00037414 80 7F 0C 04 */ lwz r3, 0xc04(r31) /* 8003B7B8 00037418 2C 03 00 00 */ cmpwi r3, 0 /* 8003B7BC 0003741C 41 82 00 0C */ beq lbl_8003B7C8 /* 8003B7C0 00037420 38 63 01 20 */ addi r3, r3, 0x120 /* 8003B7C4 00037424 48 00 00 08 */ b lbl_8003B7CC lbl_8003B7C8: /* 8003B7C8 00037428 38 60 00 00 */ li r3, 0 lbl_8003B7CC: /* 8003B7CC 0003742C 2C 03 00 00 */ cmpwi r3, 0 /* 8003B7D0 00037430 40 82 00 0C */ bne lbl_8003B7DC /* 8003B7D4 00037434 C0 21 00 0C */ lfs f1, 0xc(r1) /* 8003B7D8 00037438 48 00 00 10 */ b lbl_8003B7E8 lbl_8003B7DC: /* 8003B7DC 0003743C C0 23 00 04 */ lfs f1, 4(r3) /* 8003B7E0 00037440 C0 01 00 0C */ lfs f0, 0xc(r1) /* 8003B7E4 00037444 EC 21 00 2A */ fadds f1, f1, f0 lbl_8003B7E8: /* 8003B7E8 00037448 80 01 00 24 */ lwz r0, 0x24(r1) /* 8003B7EC 0003744C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8003B7F0 00037450 7C 08 03 A6 */ mtlr r0 /* 8003B7F4 00037454 38 21 00 20 */ addi r1, r1, 0x20 /* 8003B7F8 00037458 4E 80 00 20 */ blr .global func_8003B7FC func_8003B7FC: /* 8003B7FC 0003745C 94 21 FF B0 */ stwu r1, -0x50(r1) /* 8003B800 00037460 7C 08 02 A6 */ mflr r0 /* 8003B804 00037464 90 01 00 54 */ stw r0, 0x54(r1) /* 8003B808 00037468 DB E1 00 40 */ stfd f31, 0x40(r1) /* 8003B80C 0003746C F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 /* 8003B810 00037470 93 E1 00 3C */ stw r31, 0x3c(r1) /* 8003B814 00037474 7C 7F 1B 78 */ mr r31, r3 /* 8003B818 00037478 38 61 00 20 */ addi r3, r1, 0x20 /* 8003B81C 0003747C 7F E4 FB 78 */ mr r4, r31 /* 8003B820 00037480 4B FF CF C1 */ bl func_800387E0 /* 8003B824 00037484 34 9F 0C 0C */ addic. r4, r31, 0xc0c /* 8003B828 00037488 40 82 00 0C */ bne lbl_8003B834 /* 8003B82C 0003748C C3 E2 82 20 */ lfs f31, lbl_80640820-_SDA2_BASE_(r2) /* 8003B830 00037490 48 00 00 28 */ b lbl_8003B858 lbl_8003B834: /* 8003B834 00037494 38 64 00 0C */ addi r3, r4, 0xc /* 8003B838 00037498 38 A1 00 14 */ addi r5, r1, 0x14 /* 8003B83C 0003749C 48 24 14 AD */ bl PSVECSubtract /* 8003B840 000374A0 C3 E1 00 18 */ lfs f31, 0x18(r1) /* 8003B844 000374A4 C0 21 00 14 */ lfs f1, 0x14(r1) /* 8003B848 000374A8 C0 01 00 1C */ lfs f0, 0x1c(r1) /* 8003B84C 000374AC D0 21 00 08 */ stfs f1, 8(r1) /* 8003B850 000374B0 D3 E1 00 0C */ stfs f31, 0xc(r1) /* 8003B854 000374B4 D0 01 00 10 */ stfs f0, 0x10(r1) lbl_8003B858: /* 8003B858 000374B8 7F E3 FB 78 */ mr r3, r31 /* 8003B85C 000374BC 4B FF FF 39 */ bl func_8003B794 /* 8003B860 000374C0 C0 42 82 88 */ lfs f2, lbl_80640888-_SDA2_BASE_(r2) /* 8003B864 000374C4 C0 01 00 24 */ lfs f0, 0x24(r1) /* 8003B868 000374C8 EC 42 07 F2 */ fmuls f2, f2, f31 /* 8003B86C 000374CC EC 21 10 2A */ fadds f1, f1, f2 /* 8003B870 000374D0 EC 20 08 2A */ fadds f1, f0, f1 /* 8003B874 000374D4 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 /* 8003B878 000374D8 CB E1 00 40 */ lfd f31, 0x40(r1) /* 8003B87C 000374DC 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 8003B880 000374E0 80 01 00 54 */ lwz r0, 0x54(r1) /* 8003B884 000374E4 7C 08 03 A6 */ mtlr r0 /* 8003B888 000374E8 38 21 00 50 */ addi r1, r1, 0x50 /* 8003B88C 000374EC 4E 80 00 20 */ blr .global func_8003B890 func_8003B890: /* 8003B890 000374F0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8003B894 000374F4 7C 08 02 A6 */ mflr r0 /* 8003B898 000374F8 90 01 00 14 */ stw r0, 0x14(r1) /* 8003B89C 000374FC 93 E1 00 0C */ stw r31, 0xc(r1) /* 8003B8A0 00037500 7C 9F 23 78 */ mr r31, r4 /* 8003B8A4 00037504 93 C1 00 08 */ stw r30, 8(r1) /* 8003B8A8 00037508 7C 7E 1B 78 */ mr r30, r3 /* 8003B8AC 0003750C 4B FF CF 35 */ bl func_800387E0 /* 8003B8B0 00037510 7F E3 FB 78 */ mr r3, r31 /* 8003B8B4 00037514 4B FF FF 49 */ bl func_8003B7FC /* 8003B8B8 00037518 D0 3E 00 04 */ stfs f1, 4(r30) /* 8003B8BC 0003751C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8003B8C0 00037520 83 C1 00 08 */ lwz r30, 8(r1) /* 8003B8C4 00037524 80 01 00 14 */ lwz r0, 0x14(r1) /* 8003B8C8 00037528 7C 08 03 A6 */ mtlr r0 /* 8003B8CC 0003752C 38 21 00 10 */ addi r1, r1, 0x10 /* 8003B8D0 00037530 4E 80 00 20 */ blr .global func_8003B8D4 func_8003B8D4: /* 8003B8D4 00037534 94 21 FF 60 */ stwu r1, -0xa0(r1) /* 8003B8D8 00037538 7C 08 02 A6 */ mflr r0 /* 8003B8DC 0003753C 90 01 00 A4 */ stw r0, 0xa4(r1) /* 8003B8E0 00037540 DB E1 00 90 */ stfd f31, 0x90(r1) /* 8003B8E4 00037544 F3 E1 00 98 */ psq_st f31, 152(r1), 0, qr0 /* 8003B8E8 00037548 DB C1 00 80 */ stfd f30, 0x80(r1) /* 8003B8EC 0003754C F3 C1 00 88 */ psq_st f30, 136(r1), 0, qr0 /* 8003B8F0 00037550 39 61 00 80 */ addi r11, r1, 0x80 /* 8003B8F4 00037554 48 18 B8 35 */ bl _savegpr_27 /* 8003B8F8 00037558 FF E0 08 90 */ fmr f31, f1 /* 8003B8FC 0003755C 7C 7E 1B 78 */ mr r30, r3 /* 8003B900 00037560 3B E0 00 00 */ li r31, 0 /* 8003B904 00037564 4B FF C0 A5 */ bl func_800379A8 /* 8003B908 00037568 80 1E 0C 04 */ lwz r0, 0xc04(r30) /* 8003B90C 0003756C 2C 00 00 00 */ cmpwi r0, 0 /* 8003B910 00037570 41 82 08 EC */ beq lbl_8003C1FC /* 8003B914 00037574 3F A0 80 41 */ lis r29, lbl_8040A3F0@ha /* 8003B918 00037578 3B 9E 00 04 */ addi r28, r30, 4 /* 8003B91C 0003757C 3B BD A3 F0 */ addi r29, r29, lbl_8040A3F0@l /* 8003B920 00037580 3B 60 00 00 */ li r27, 0 lbl_8003B924: /* 8003B924 00037584 81 9C 00 20 */ lwz r12, 0x20(r28) /* 8003B928 00037588 FC 20 F8 90 */ fmr f1, f31 /* 8003B92C 0003758C 7F 83 E3 78 */ mr r3, r28 /* 8003B930 00037590 81 8C 00 08 */ lwz r12, 8(r12) /* 8003B934 00037594 7D 89 03 A6 */ mtctr r12 /* 8003B938 00037598 4E 80 04 21 */ bctrl /* 8003B93C 0003759C 2C 03 00 00 */ cmpwi r3, 0 /* 8003B940 000375A0 41 82 00 0C */ beq lbl_8003B94C /* 8003B944 000375A4 A0 1D 00 00 */ lhz r0, 0(r29) /* 8003B948 000375A8 7F FF 03 78 */ or r31, r31, r0 lbl_8003B94C: /* 8003B94C 000375AC 3B 7B 00 01 */ addi r27, r27, 1 /* 8003B950 000375B0 3B BD 00 02 */ addi r29, r29, 2 /* 8003B954 000375B4 2C 1B 00 0F */ cmpwi r27, 0xf /* 8003B958 000375B8 3B 9C 00 24 */ addi r28, r28, 0x24 /* 8003B95C 000375BC 41 80 FF C8 */ blt lbl_8003B924 /* 8003B960 000375C0 81 9E 04 CC */ lwz r12, 0x4cc(r30) /* 8003B964 000375C4 FC 20 F8 90 */ fmr f1, f31 /* 8003B968 000375C8 38 7E 04 94 */ addi r3, r30, 0x494 /* 8003B96C 000375CC 81 8C 00 08 */ lwz r12, 8(r12) /* 8003B970 000375D0 7D 89 03 A6 */ mtctr r12 /* 8003B974 000375D4 4E 80 04 21 */ bctrl /* 8003B978 000375D8 2C 03 00 00 */ cmpwi r3, 0 /* 8003B97C 000375DC 41 82 00 DC */ beq lbl_8003BA58 /* 8003B980 000375E0 C0 1E 0C 28 */ lfs f0, 0xc28(r30) /* 8003B984 000375E4 FC 00 00 1E */ fctiwz f0, f0 /* 8003B988 000375E8 D8 01 00 40 */ stfd f0, 0x40(r1) /* 8003B98C 000375EC 80 01 00 44 */ lwz r0, 0x44(r1) /* 8003B990 000375F0 98 01 00 08 */ stb r0, 8(r1) /* 8003B994 000375F4 C0 1E 0C 2C */ lfs f0, 0xc2c(r30) /* 8003B998 000375F8 FC 00 00 1E */ fctiwz f0, f0 /* 8003B99C 000375FC D8 01 00 48 */ stfd f0, 0x48(r1) /* 8003B9A0 00037600 80 01 00 4C */ lwz r0, 0x4c(r1) /* 8003B9A4 00037604 98 01 00 09 */ stb r0, 9(r1) /* 8003B9A8 00037608 C0 1E 0C 30 */ lfs f0, 0xc30(r30) /* 8003B9AC 0003760C FC 00 00 1E */ fctiwz f0, f0 /* 8003B9B0 00037610 D8 01 00 50 */ stfd f0, 0x50(r1) /* 8003B9B4 00037614 80 01 00 54 */ lwz r0, 0x54(r1) /* 8003B9B8 00037618 98 01 00 0A */ stb r0, 0xa(r1) /* 8003B9BC 0003761C C0 1E 0C 34 */ lfs f0, 0xc34(r30) /* 8003B9C0 00037620 FC 00 00 1E */ fctiwz f0, f0 /* 8003B9C4 00037624 D8 01 00 58 */ stfd f0, 0x58(r1) /* 8003B9C8 00037628 80 01 00 5C */ lwz r0, 0x5c(r1) /* 8003B9CC 0003762C 98 01 00 0B */ stb r0, 0xb(r1) /* 8003B9D0 00037630 A0 1E 0C 68 */ lhz r0, 0xc68(r30) /* 8003B9D4 00037634 28 00 01 00 */ cmplwi r0, 0x100 /* 8003B9D8 00037638 40 82 00 74 */ bne lbl_8003BA4C /* 8003B9DC 0003763C 3B 60 00 00 */ li r27, 0 /* 8003B9E0 00037640 48 00 00 50 */ b lbl_8003BA30 lbl_8003B9E4: /* 8003B9E4 00037644 80 C5 00 04 */ lwz r6, 4(r5) /* 8003B9E8 00037648 2C 06 00 00 */ cmpwi r6, 0 /* 8003B9EC 0003764C 40 82 00 0C */ bne lbl_8003B9F8 /* 8003B9F0 00037650 38 60 00 00 */ li r3, 0 /* 8003B9F4 00037654 48 00 00 28 */ b lbl_8003BA1C lbl_8003B9F8: /* 8003B9F8 00037658 80 65 00 00 */ lwz r3, 0(r5) /* 8003B9FC 0003765C 57 64 06 3E */ clrlwi r4, r27, 0x18 /* 8003BA00 00037660 A0 03 00 18 */ lhz r0, 0x18(r3) /* 8003BA04 00037664 7C 04 00 40 */ cmplw r4, r0 /* 8003BA08 00037668 41 80 00 0C */ blt lbl_8003BA14 /* 8003BA0C 0003766C 38 60 00 00 */ li r3, 0 /* 8003BA10 00037670 48 00 00 0C */ b lbl_8003BA1C lbl_8003BA14: /* 8003BA14 00037674 57 60 15 BA */ rlwinm r0, r27, 2, 0x16, 0x1d /* 8003BA18 00037678 7C 66 00 2E */ lwzx r3, r6, r0 lbl_8003BA1C: /* 8003BA1C 0003767C 2C 03 00 00 */ cmpwi r3, 0 /* 8003BA20 00037680 41 82 00 0C */ beq lbl_8003BA2C /* 8003BA24 00037684 38 81 00 08 */ addi r4, r1, 8 /* 8003BA28 00037688 48 1B A7 E5 */ bl func_801F620C lbl_8003BA2C: /* 8003BA2C 0003768C 3B 7B 00 01 */ addi r27, r27, 1 lbl_8003BA30: /* 8003BA30 00037690 80 BE 0C 00 */ lwz r5, 0xc00(r30) /* 8003BA34 00037694 57 64 06 3E */ clrlwi r4, r27, 0x18 /* 8003BA38 00037698 80 65 00 00 */ lwz r3, 0(r5) /* 8003BA3C 0003769C A0 03 00 18 */ lhz r0, 0x18(r3) /* 8003BA40 000376A0 7C 04 00 00 */ cmpw r4, r0 /* 8003BA44 000376A4 41 80 FF A0 */ blt lbl_8003B9E4 /* 8003BA48 000376A8 48 00 00 10 */ b lbl_8003BA58 lbl_8003BA4C: /* 8003BA4C 000376AC 80 7E 0C 04 */ lwz r3, 0xc04(r30) /* 8003BA50 000376B0 38 81 00 08 */ addi r4, r1, 8 /* 8003BA54 000376B4 48 1B A7 B9 */ bl func_801F620C lbl_8003BA58: /* 8003BA58 000376B8 81 9E 05 08 */ lwz r12, 0x508(r30) /* 8003BA5C 000376BC FC 20 F8 90 */ fmr f1, f31 /* 8003BA60 000376C0 38 7E 04 D0 */ addi r3, r30, 0x4d0 /* 8003BA64 000376C4 81 8C 00 08 */ lwz r12, 8(r12) /* 8003BA68 000376C8 7D 89 03 A6 */ mtctr r12 /* 8003BA6C 000376CC 4E 80 04 21 */ bctrl /* 8003BA70 000376D0 2C 03 00 00 */ cmpwi r3, 0 /* 8003BA74 000376D4 41 82 00 DC */ beq lbl_8003BB50 /* 8003BA78 000376D8 C0 1E 0C 38 */ lfs f0, 0xc38(r30) /* 8003BA7C 000376DC FC 00 00 1E */ fctiwz f0, f0 /* 8003BA80 000376E0 D8 01 00 58 */ stfd f0, 0x58(r1) /* 8003BA84 000376E4 80 01 00 5C */ lwz r0, 0x5c(r1) /* 8003BA88 000376E8 98 01 00 08 */ stb r0, 8(r1) /* 8003BA8C 000376EC C0 1E 0C 3C */ lfs f0, 0xc3c(r30) /* 8003BA90 000376F0 FC 00 00 1E */ fctiwz f0, f0 /* 8003BA94 000376F4 D8 01 00 50 */ stfd f0, 0x50(r1) /* 8003BA98 000376F8 80 01 00 54 */ lwz r0, 0x54(r1) /* 8003BA9C 000376FC 98 01 00 09 */ stb r0, 9(r1) /* 8003BAA0 00037700 C0 1E 0C 40 */ lfs f0, 0xc40(r30) /* 8003BAA4 00037704 FC 00 00 1E */ fctiwz f0, f0 /* 8003BAA8 00037708 D8 01 00 48 */ stfd f0, 0x48(r1) /* 8003BAAC 0003770C 80 01 00 4C */ lwz r0, 0x4c(r1) /* 8003BAB0 00037710 98 01 00 0A */ stb r0, 0xa(r1) /* 8003BAB4 00037714 C0 1E 0C 44 */ lfs f0, 0xc44(r30) /* 8003BAB8 00037718 FC 00 00 1E */ fctiwz f0, f0 /* 8003BABC 0003771C D8 01 00 40 */ stfd f0, 0x40(r1) /* 8003BAC0 00037720 80 01 00 44 */ lwz r0, 0x44(r1) /* 8003BAC4 00037724 98 01 00 0B */ stb r0, 0xb(r1) /* 8003BAC8 00037728 A0 1E 0C 68 */ lhz r0, 0xc68(r30) /* 8003BACC 0003772C 28 00 01 00 */ cmplwi r0, 0x100 /* 8003BAD0 00037730 40 82 00 74 */ bne lbl_8003BB44 /* 8003BAD4 00037734 3B 60 00 00 */ li r27, 0 /* 8003BAD8 00037738 48 00 00 50 */ b lbl_8003BB28 lbl_8003BADC: /* 8003BADC 0003773C 80 C5 00 04 */ lwz r6, 4(r5) /* 8003BAE0 00037740 2C 06 00 00 */ cmpwi r6, 0 /* 8003BAE4 00037744 40 82 00 0C */ bne lbl_8003BAF0 /* 8003BAE8 00037748 38 60 00 00 */ li r3, 0 /* 8003BAEC 0003774C 48 00 00 28 */ b lbl_8003BB14 lbl_8003BAF0: /* 8003BAF0 00037750 80 65 00 00 */ lwz r3, 0(r5) /* 8003BAF4 00037754 57 64 06 3E */ clrlwi r4, r27, 0x18 /* 8003BAF8 00037758 A0 03 00 18 */ lhz r0, 0x18(r3) /* 8003BAFC 0003775C 7C 04 00 40 */ cmplw r4, r0 /* 8003BB00 00037760 41 80 00 0C */ blt lbl_8003BB0C /* 8003BB04 00037764 38 60 00 00 */ li r3, 0 /* 8003BB08 00037768 48 00 00 0C */ b lbl_8003BB14 lbl_8003BB0C: /* 8003BB0C 0003776C 57 60 15 BA */ rlwinm r0, r27, 2, 0x16, 0x1d /* 8003BB10 00037770 7C 66 00 2E */ lwzx r3, r6, r0 lbl_8003BB14: /* 8003BB14 00037774 2C 03 00 00 */ cmpwi r3, 0 /* 8003BB18 00037778 41 82 00 0C */ beq lbl_8003BB24 /* 8003BB1C 0003777C 38 81 00 08 */ addi r4, r1, 8 /* 8003BB20 00037780 48 1B A6 75 */ bl func_801F6194 lbl_8003BB24: /* 8003BB24 00037784 3B 7B 00 01 */ addi r27, r27, 1 lbl_8003BB28: /* 8003BB28 00037788 80 BE 0C 00 */ lwz r5, 0xc00(r30) /* 8003BB2C 0003778C 57 64 06 3E */ clrlwi r4, r27, 0x18 /* 8003BB30 00037790 80 65 00 00 */ lwz r3, 0(r5) /* 8003BB34 00037794 A0 03 00 18 */ lhz r0, 0x18(r3) /* 8003BB38 00037798 7C 04 00 00 */ cmpw r4, r0 /* 8003BB3C 0003779C 41 80 FF A0 */ blt lbl_8003BADC /* 8003BB40 000377A0 48 00 00 10 */ b lbl_8003BB50 lbl_8003BB44: /* 8003BB44 000377A4 80 7E 0C 04 */ lwz r3, 0xc04(r30) /* 8003BB48 000377A8 38 81 00 08 */ addi r4, r1, 8 /* 8003BB4C 000377AC 48 1B A6 49 */ bl func_801F6194 lbl_8003BB50: /* 8003BB50 000377B0 81 9E 04 90 */ lwz r12, 0x490(r30) /* 8003BB54 000377B4 FC 20 F8 90 */ fmr f1, f31 /* 8003BB58 000377B8 38 7E 04 60 */ addi r3, r30, 0x460 /* 8003BB5C 000377BC 81 8C 00 08 */ lwz r12, 8(r12) /* 8003BB60 000377C0 7D 89 03 A6 */ mtctr r12 /* 8003BB64 000377C4 4E 80 04 21 */ bctrl /* 8003BB68 000377C8 2C 03 00 00 */ cmpwi r3, 0 /* 8003BB6C 000377CC 41 82 00 14 */ beq lbl_8003BB80 /* 8003BB70 000377D0 80 BE 0C 74 */ lwz r5, 0xc74(r30) /* 8003BB74 000377D4 7F C3 F3 78 */ mr r3, r30 /* 8003BB78 000377D8 38 9E 0C 78 */ addi r4, r30, 0xc78 /* 8003BB7C 000377DC 4B FF ED DD */ bl func_8003A958 lbl_8003BB80: /* 8003BB80 000377E0 3F 80 80 41 */ lis r28, lbl_8040A3F0@ha /* 8003BB84 000377E4 3B BE 02 20 */ addi r29, r30, 0x220 /* 8003BB88 000377E8 3B 9C A3 F0 */ addi r28, r28, lbl_8040A3F0@l /* 8003BB8C 000377EC 3B 60 00 00 */ li r27, 0 lbl_8003BB90: /* 8003BB90 000377F0 81 9D 00 20 */ lwz r12, 0x20(r29) /* 8003BB94 000377F4 FC 20 F8 90 */ fmr f1, f31 /* 8003BB98 000377F8 7F A3 EB 78 */ mr r3, r29 /* 8003BB9C 000377FC 81 8C 00 08 */ lwz r12, 8(r12) /* 8003BBA0 00037800 7D 89 03 A6 */ mtctr r12 /* 8003BBA4 00037804 4E 80 04 21 */ bctrl /* 8003BBA8 00037808 2C 03 00 00 */ cmpwi r3, 0 /* 8003BBAC 0003780C 41 82 00 0C */ beq lbl_8003BBB8 /* 8003BBB0 00037810 A0 1C 00 0C */ lhz r0, 0xc(r28) /* 8003BBB4 00037814 7F FF 03 78 */ or r31, r31, r0 lbl_8003BBB8: /* 8003BBB8 00037818 3B 7B 00 01 */ addi r27, r27, 1 /* 8003BBBC 0003781C 3B 9C 00 02 */ addi r28, r28, 2 /* 8003BBC0 00037820 2C 1B 00 03 */ cmpwi r27, 3 /* 8003BBC4 00037824 3B BD 00 C0 */ addi r29, r29, 0xc0 /* 8003BBC8 00037828 41 80 FF C8 */ blt lbl_8003BB90 /* 8003BBCC 0003782C 80 1E 0D 70 */ lwz r0, 0xd70(r30) /* 8003BBD0 00037830 2C 00 00 00 */ cmpwi r0, 0 /* 8003BBD4 00037834 41 82 00 18 */ beq lbl_8003BBEC /* 8003BBD8 00037838 C0 3E 0D 68 */ lfs f1, 0xd68(r30) /* 8003BBDC 0003783C 7F C3 F3 78 */ mr r3, r30 /* 8003BBE0 00037840 C0 5E 0D 6C */ lfs f2, 0xd6c(r30) /* 8003BBE4 00037844 C0 7E 0D 64 */ lfs f3, 0xd64(r30) /* 8003BBE8 00037848 4B FF F5 E5 */ bl func_8003B1CC lbl_8003BBEC: /* 8003BBEC 0003784C FC 20 F8 90 */ fmr f1, f31 /* 8003BBF0 00037850 7F C3 F3 78 */ mr r3, r30 /* 8003BBF4 00037854 48 00 1F 4D */ bl func_8003DB40 /* 8003BBF8 00037858 FC 20 F8 90 */ fmr f1, f31 /* 8003BBFC 0003785C 7F C3 F3 78 */ mr r3, r30 /* 8003BC00 00037860 48 00 0F B9 */ bl func_8003CBB8 /* 8003BC04 00037864 C0 5E 0D 80 */ lfs f2, 0xd80(r30) /* 8003BC08 00037868 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 8003BC0C 0003786C FC 02 08 40 */ fcmpo cr0, f2, f1 /* 8003BC10 00037870 40 81 00 C0 */ ble lbl_8003BCD0 /* 8003BC14 00037874 C0 1E 0D 8C */ lfs f0, 0xd8c(r30) /* 8003BC18 00037878 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 8003BC1C 0003787C 40 81 00 B4 */ ble lbl_8003BCD0 /* 8003BC20 00037880 EC 00 F8 28 */ fsubs f0, f0, f31 /* 8003BC24 00037884 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 8003BC28 00037888 D0 1E 0D 8C */ stfs f0, 0xd8c(r30) /* 8003BC2C 0003788C 40 80 00 58 */ bge lbl_8003BC84 /* 8003BC30 00037890 83 BE 0C 04 */ lwz r29, 0xc04(r30) /* 8003BC34 00037894 D0 3E 0D 8C */ stfs f1, 0xd8c(r30) /* 8003BC38 00037898 7F A3 EB 78 */ mr r3, r29 /* 8003BC3C 0003789C 48 1B A2 81 */ bl func_801F5EBC /* 8003BC40 000378A0 2C 03 00 00 */ cmpwi r3, 0 /* 8003BC44 000378A4 41 82 00 18 */ beq lbl_8003BC5C /* 8003BC48 000378A8 A0 1D 00 DC */ lhz r0, 0xdc(r29) /* 8003BC4C 000378AC 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a /* 8003BC50 000378B0 40 82 00 0C */ bne lbl_8003BC5C /* 8003BC54 000378B4 C0 02 82 30 */ lfs f0, lbl_80640830-_SDA2_BASE_(r2) /* 8003BC58 000378B8 D0 1D 01 18 */ stfs f0, 0x118(r29) lbl_8003BC5C: /* 8003BC5C 000378BC 80 7E 0C 04 */ lwz r3, 0xc04(r30) /* 8003BC60 000378C0 38 C0 00 00 */ li r6, 0 /* 8003BC64 000378C4 38 E0 00 00 */ li r7, 0 /* 8003BC68 000378C8 39 00 00 01 */ li r8, 1 /* 8003BC6C 000378CC A0 83 01 04 */ lhz r4, 0x104(r3) /* 8003BC70 000378D0 80 A3 01 08 */ lwz r5, 0x108(r3) /* 8003BC74 000378D4 C0 23 01 0C */ lfs f1, 0x10c(r3) /* 8003BC78 000378D8 C0 43 01 14 */ lfs f2, 0x114(r3) /* 8003BC7C 000378DC 48 1B 91 79 */ bl func_801F4DF4 /* 8003BC80 000378E0 48 00 00 50 */ b lbl_8003BCD0 lbl_8003BC84: /* 8003BC84 000378E4 EC 20 10 24 */ fdivs f1, f0, f2 /* 8003BC88 000378E8 C0 02 82 30 */ lfs f0, lbl_80640830-_SDA2_BASE_(r2) /* 8003BC8C 000378EC EF C0 08 28 */ fsubs f30, f0, f1 /* 8003BC90 000378F0 FC 1E 00 40 */ fcmpo cr0, f30, f0 /* 8003BC94 000378F4 40 81 00 08 */ ble lbl_8003BC9C /* 8003BC98 000378F8 FF C0 00 90 */ fmr f30, f0 lbl_8003BC9C: /* 8003BC9C 000378FC C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003BCA0 00037900 FC 1E 00 40 */ fcmpo cr0, f30, f0 /* 8003BCA4 00037904 40 80 00 08 */ bge lbl_8003BCAC /* 8003BCA8 00037908 FF C0 00 90 */ fmr f30, f0 lbl_8003BCAC: /* 8003BCAC 0003790C 83 BE 0C 04 */ lwz r29, 0xc04(r30) /* 8003BCB0 00037910 7F A3 EB 78 */ mr r3, r29 /* 8003BCB4 00037914 48 1B A2 09 */ bl func_801F5EBC /* 8003BCB8 00037918 2C 03 00 00 */ cmpwi r3, 0 /* 8003BCBC 0003791C 41 82 00 14 */ beq lbl_8003BCD0 /* 8003BCC0 00037920 A0 1D 00 DC */ lhz r0, 0xdc(r29) /* 8003BCC4 00037924 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a /* 8003BCC8 00037928 40 82 00 08 */ bne lbl_8003BCD0 /* 8003BCCC 0003792C D3 DD 01 18 */ stfs f30, 0x118(r29) lbl_8003BCD0: /* 8003BCD0 00037930 57 E0 07 7F */ clrlwi. r0, r31, 0x1d /* 8003BCD4 00037934 41 82 00 4C */ beq lbl_8003BD20 /* 8003BCD8 00037938 80 7E 0C 04 */ lwz r3, 0xc04(r30) /* 8003BCDC 0003793C C0 5E 0C B4 */ lfs f2, 0xcb4(r30) /* 8003BCE0 00037940 80 63 00 08 */ lwz r3, 8(r3) /* 8003BCE4 00037944 C0 3E 0C B8 */ lfs f1, 0xcb8(r30) /* 8003BCE8 00037948 C0 1E 0C BC */ lfs f0, 0xcbc(r30) /* 8003BCEC 0003794C 2C 03 00 00 */ cmpwi r3, 0 /* 8003BCF0 00037950 D0 41 00 24 */ stfs f2, 0x24(r1) /* 8003BCF4 00037954 D0 21 00 28 */ stfs f1, 0x28(r1) /* 8003BCF8 00037958 D0 01 00 2C */ stfs f0, 0x2c(r1) /* 8003BCFC 0003795C 41 82 00 24 */ beq lbl_8003BD20 /* 8003BD00 00037960 80 63 00 00 */ lwz r3, 0(r3) /* 8003BD04 00037964 2C 03 00 00 */ cmpwi r3, 0 /* 8003BD08 00037968 41 82 00 18 */ beq lbl_8003BD20 /* 8003BD0C 0003796C D0 43 00 20 */ stfs f2, 0x20(r3) /* 8003BD10 00037970 38 80 00 01 */ li r4, 1 /* 8003BD14 00037974 D0 23 00 24 */ stfs f1, 0x24(r3) /* 8003BD18 00037978 D0 03 00 28 */ stfs f0, 0x28(r3) /* 8003BD1C 0003797C 48 1B 69 9D */ bl func_801F26B8 lbl_8003BD20: /* 8003BD20 00037980 57 E0 06 B9 */ rlwinm. r0, r31, 0, 0x1a, 0x1c /* 8003BD24 00037984 41 82 00 78 */ beq lbl_8003BD9C /* 8003BD28 00037988 C0 1E 0C C0 */ lfs f0, 0xcc0(r30) /* 8003BD2C 0003798C 38 61 00 30 */ addi r3, r1, 0x30 /* 8003BD30 00037990 38 81 00 18 */ addi r4, r1, 0x18 /* 8003BD34 00037994 D0 01 00 18 */ stfs f0, 0x18(r1) /* 8003BD38 00037998 C0 1E 0C C4 */ lfs f0, 0xcc4(r30) /* 8003BD3C 0003799C D0 01 00 1C */ stfs f0, 0x1c(r1) /* 8003BD40 000379A0 C0 1E 0C C8 */ lfs f0, 0xcc8(r30) /* 8003BD44 000379A4 D0 01 00 20 */ stfs f0, 0x20(r1) /* 8003BD48 000379A8 48 1E 79 79 */ bl func_802236C0 /* 8003BD4C 000379AC 80 7E 0C 04 */ lwz r3, 0xc04(r30) /* 8003BD50 000379B0 80 63 00 08 */ lwz r3, 8(r3) /* 8003BD54 000379B4 2C 03 00 00 */ cmpwi r3, 0 /* 8003BD58 000379B8 41 82 00 44 */ beq lbl_8003BD9C /* 8003BD5C 000379BC 80 63 00 00 */ lwz r3, 0(r3) /* 8003BD60 000379C0 2C 03 00 00 */ cmpwi r3, 0 /* 8003BD64 000379C4 41 82 00 38 */ beq lbl_8003BD9C /* 8003BD68 000379C8 C0 01 00 30 */ lfs f0, 0x30(r1) /* 8003BD6C 000379CC 38 80 00 01 */ li r4, 1 /* 8003BD70 000379D0 D0 03 00 2C */ stfs f0, 0x2c(r3) /* 8003BD74 000379D4 C0 01 00 34 */ lfs f0, 0x34(r1) /* 8003BD78 000379D8 D0 03 00 30 */ stfs f0, 0x30(r3) /* 8003BD7C 000379DC C0 01 00 38 */ lfs f0, 0x38(r1) /* 8003BD80 000379E0 D0 03 00 34 */ stfs f0, 0x34(r3) /* 8003BD84 000379E4 C0 01 00 3C */ lfs f0, 0x3c(r1) /* 8003BD88 000379E8 D0 03 00 38 */ stfs f0, 0x38(r3) /* 8003BD8C 000379EC A0 03 00 10 */ lhz r0, 0x10(r3) /* 8003BD90 000379F0 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c /* 8003BD94 000379F4 B0 03 00 10 */ sth r0, 0x10(r3) /* 8003BD98 000379F8 48 1B 69 21 */ bl func_801F26B8 lbl_8003BD9C: /* 8003BD9C 000379FC 57 E0 05 F3 */ rlwinm. r0, r31, 0, 0x17, 0x19 /* 8003BDA0 00037A00 41 82 00 E8 */ beq lbl_8003BE88 /* 8003BDA4 00037A04 80 7E 0C 04 */ lwz r3, 0xc04(r30) /* 8003BDA8 00037A08 C0 7E 0C CC */ lfs f3, 0xccc(r30) /* 8003BDAC 00037A0C 80 63 00 08 */ lwz r3, 8(r3) /* 8003BDB0 00037A10 C0 3E 0C D0 */ lfs f1, 0xcd0(r30) /* 8003BDB4 00037A14 C0 1E 0C D4 */ lfs f0, 0xcd4(r30) /* 8003BDB8 00037A18 2C 03 00 00 */ cmpwi r3, 0 /* 8003BDBC 00037A1C D0 61 00 0C */ stfs f3, 0xc(r1) /* 8003BDC0 00037A20 D0 21 00 10 */ stfs f1, 0x10(r1) /* 8003BDC4 00037A24 D0 01 00 14 */ stfs f0, 0x14(r1) /* 8003BDC8 00037A28 41 82 00 C0 */ beq lbl_8003BE88 /* 8003BDCC 00037A2C 80 63 00 00 */ lwz r3, 0(r3) /* 8003BDD0 00037A30 2C 03 00 00 */ cmpwi r3, 0 /* 8003BDD4 00037A34 41 82 00 B4 */ beq lbl_8003BE88 /* 8003BDD8 00037A38 D0 63 00 48 */ stfs f3, 0x48(r3) /* 8003BDDC 00037A3C C0 42 82 70 */ lfs f2, lbl_80640870-_SDA2_BASE_(r2) /* 8003BDE0 00037A40 D0 23 00 4C */ stfs f1, 0x4c(r3) /* 8003BDE4 00037A44 FC 03 10 40 */ fcmpo cr0, f3, f2 /* 8003BDE8 00037A48 D0 03 00 50 */ stfs f0, 0x50(r3) /* 8003BDEC 00037A4C 40 80 00 2C */ bge lbl_8003BE18 /* 8003BDF0 00037A50 C0 23 00 48 */ lfs f1, 0x48(r3) /* 8003BDF4 00037A54 C0 62 82 74 */ lfs f3, lbl_80640874-_SDA2_BASE_(r2) /* 8003BDF8 00037A58 FC 01 18 40 */ fcmpo cr0, f1, f3 /* 8003BDFC 00037A5C 40 81 00 1C */ ble lbl_8003BE18 /* 8003BE00 00037A60 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003BE04 00037A64 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8003BE08 00037A68 40 80 00 08 */ bge lbl_8003BE10 /* 8003BE0C 00037A6C 48 00 00 08 */ b lbl_8003BE14 lbl_8003BE10: /* 8003BE10 00037A70 FC 60 10 90 */ fmr f3, f2 lbl_8003BE14: /* 8003BE14 00037A74 D0 63 00 48 */ stfs f3, 0x48(r3) lbl_8003BE18: /* 8003BE18 00037A78 C0 43 00 4C */ lfs f2, 0x4c(r3) /* 8003BE1C 00037A7C C0 22 82 70 */ lfs f1, lbl_80640870-_SDA2_BASE_(r2) /* 8003BE20 00037A80 FC 02 08 40 */ fcmpo cr0, f2, f1 /* 8003BE24 00037A84 40 80 00 28 */ bge lbl_8003BE4C /* 8003BE28 00037A88 C0 62 82 74 */ lfs f3, lbl_80640874-_SDA2_BASE_(r2) /* 8003BE2C 00037A8C FC 02 18 40 */ fcmpo cr0, f2, f3 /* 8003BE30 00037A90 40 81 00 1C */ ble lbl_8003BE4C /* 8003BE34 00037A94 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003BE38 00037A98 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 8003BE3C 00037A9C 40 80 00 08 */ bge lbl_8003BE44 /* 8003BE40 00037AA0 48 00 00 08 */ b lbl_8003BE48 lbl_8003BE44: /* 8003BE44 00037AA4 FC 60 08 90 */ fmr f3, f1 lbl_8003BE48: /* 8003BE48 00037AA8 D0 63 00 4C */ stfs f3, 0x4c(r3) lbl_8003BE4C: /* 8003BE4C 00037AAC C0 43 00 50 */ lfs f2, 0x50(r3) /* 8003BE50 00037AB0 C0 22 82 70 */ lfs f1, lbl_80640870-_SDA2_BASE_(r2) /* 8003BE54 00037AB4 FC 02 08 40 */ fcmpo cr0, f2, f1 /* 8003BE58 00037AB8 40 80 00 28 */ bge lbl_8003BE80 /* 8003BE5C 00037ABC C0 62 82 74 */ lfs f3, lbl_80640874-_SDA2_BASE_(r2) /* 8003BE60 00037AC0 FC 02 18 40 */ fcmpo cr0, f2, f3 /* 8003BE64 00037AC4 40 81 00 1C */ ble lbl_8003BE80 /* 8003BE68 00037AC8 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003BE6C 00037ACC FC 02 00 40 */ fcmpo cr0, f2, f0 /* 8003BE70 00037AD0 40 80 00 08 */ bge lbl_8003BE78 /* 8003BE74 00037AD4 48 00 00 08 */ b lbl_8003BE7C lbl_8003BE78: /* 8003BE78 00037AD8 FC 60 08 90 */ fmr f3, f1 lbl_8003BE7C: /* 8003BE7C 00037ADC D0 63 00 50 */ stfs f3, 0x50(r3) lbl_8003BE80: /* 8003BE80 00037AE0 38 80 00 01 */ li r4, 1 /* 8003BE84 00037AE4 48 1B 68 35 */ bl func_801F26B8 lbl_8003BE88: /* 8003BE88 00037AE8 57 E0 05 AD */ rlwinm. r0, r31, 0, 0x16, 0x16 /* 8003BE8C 00037AEC 41 82 00 28 */ beq lbl_8003BEB4 /* 8003BE90 00037AF0 C0 22 82 38 */ lfs f1, lbl_80640838-_SDA2_BASE_(r2) /* 8003BE94 00037AF4 C0 1E 0C 70 */ lfs f0, 0xc70(r30) /* 8003BE98 00037AF8 80 7E 0C 04 */ lwz r3, 0xc04(r30) /* 8003BE9C 00037AFC EC 01 00 32 */ fmuls f0, f1, f0 /* 8003BEA0 00037B00 FC 00 00 1E */ fctiwz f0, f0 /* 8003BEA4 00037B04 D8 01 00 58 */ stfd f0, 0x58(r1) /* 8003BEA8 00037B08 80 81 00 5C */ lwz r4, 0x5c(r1) /* 8003BEAC 00037B0C 54 84 06 3E */ clrlwi r4, r4, 0x18 /* 8003BEB0 00037B10 48 1B A2 6D */ bl func_801F611C lbl_8003BEB4: /* 8003BEB4 00037B14 80 7E 0C B0 */ lwz r3, 0xcb0(r30) /* 8003BEB8 00037B18 2C 03 00 00 */ cmpwi r3, 0 /* 8003BEBC 00037B1C 41 82 01 0C */ beq lbl_8003BFC8 /* 8003BEC0 00037B20 88 03 00 00 */ lbz r0, 0(r3) /* 8003BEC4 00037B24 7C 00 07 75 */ extsb. r0, r0 /* 8003BEC8 00037B28 41 80 01 00 */ blt lbl_8003BFC8 /* 8003BECC 00037B2C 7F C3 F3 78 */ mr r3, r30 /* 8003BED0 00037B30 54 04 04 3E */ clrlwi r4, r0, 0x10 /* 8003BED4 00037B34 48 00 03 89 */ bl func_8003C25C /* 8003BED8 00037B38 7C 7D 1B 78 */ mr r29, r3 /* 8003BEDC 00037B3C 7F C3 F3 78 */ mr r3, r30 /* 8003BEE0 00037B40 4B FF F5 3D */ bl func_8003B41C /* 8003BEE4 00037B44 80 1E 00 00 */ lwz r0, 0(r30) /* 8003BEE8 00037B48 7C 7F 1B 78 */ mr r31, r3 /* 8003BEEC 00037B4C 54 00 04 63 */ rlwinm. r0, r0, 0, 0x11, 0x11 /* 8003BEF0 00037B50 41 82 00 10 */ beq lbl_8003BF00 /* 8003BEF4 00037B54 7F C3 F3 78 */ mr r3, r30 /* 8003BEF8 00037B58 48 00 15 BD */ bl func_8003D4B4 /* 8003BEFC 00037B5C 48 00 00 CC */ b lbl_8003BFC8 lbl_8003BF00: /* 8003BF00 00037B60 80 7E 0C 04 */ lwz r3, 0xc04(r30) /* 8003BF04 00037B64 48 1B 9F B9 */ bl func_801F5EBC /* 8003BF08 00037B68 2C 03 00 00 */ cmpwi r3, 0 /* 8003BF0C 00037B6C 40 82 00 BC */ bne lbl_8003BFC8 /* 8003BF10 00037B70 38 1F FF FF */ addi r0, r31, -1 /* 8003BF14 00037B74 28 00 00 01 */ cmplwi r0, 1 /* 8003BF18 00037B78 41 81 00 B0 */ bgt lbl_8003BFC8 /* 8003BF1C 00037B7C 80 7E 0C 04 */ lwz r3, 0xc04(r30) /* 8003BF20 00037B80 57 A4 04 3E */ clrlwi r4, r29, 0x10 /* 8003BF24 00037B84 A0 03 00 F0 */ lhz r0, 0xf0(r3) /* 8003BF28 00037B88 7C 04 00 40 */ cmplw r4, r0 /* 8003BF2C 00037B8C 41 82 00 9C */ beq lbl_8003BFC8 /* 8003BF30 00037B90 80 A3 00 04 */ lwz r5, 4(r3) /* 8003BF34 00037B94 2C 05 00 00 */ cmpwi r5, 0 /* 8003BF38 00037B98 40 82 00 0C */ bne lbl_8003BF44 /* 8003BF3C 00037B9C 38 80 00 00 */ li r4, 0 /* 8003BF40 00037BA0 48 00 00 24 */ b lbl_8003BF64 lbl_8003BF44: /* 8003BF44 00037BA4 A0 05 00 08 */ lhz r0, 8(r5) /* 8003BF48 00037BA8 7C 04 00 40 */ cmplw r4, r0 /* 8003BF4C 00037BAC 41 80 00 0C */ blt lbl_8003BF58 /* 8003BF50 00037BB0 38 80 00 00 */ li r4, 0 /* 8003BF54 00037BB4 48 00 00 10 */ b lbl_8003BF64 lbl_8003BF58: /* 8003BF58 00037BB8 1C 04 00 30 */ mulli r0, r4, 0x30 /* 8003BF5C 00037BBC 80 85 00 0C */ lwz r4, 0xc(r5) /* 8003BF60 00037BC0 7C 84 02 14 */ add r4, r4, r0 lbl_8003BF64: /* 8003BF64 00037BC4 88 A4 00 28 */ lbz r5, 0x28(r4) /* 8003BF68 00037BC8 57 A4 04 3E */ clrlwi r4, r29, 0x10 /* 8003BF6C 00037BCC C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 8003BF70 00037BD0 38 C0 00 00 */ li r6, 0 /* 8003BF74 00037BD4 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2) /* 8003BF78 00037BD8 38 E0 00 00 */ li r7, 0 /* 8003BF7C 00037BDC 39 00 00 00 */ li r8, 0 /* 8003BF80 00037BE0 48 1B 8E 75 */ bl func_801F4DF4 /* 8003BF84 00037BE4 80 7E 0C B0 */ lwz r3, 0xcb0(r30) /* 8003BF88 00037BE8 B3 BE 0B F8 */ sth r29, 0xbf8(r30) /* 8003BF8C 00037BEC 38 03 00 01 */ addi r0, r3, 1 /* 8003BF90 00037BF0 88 63 00 00 */ lbz r3, 0(r3) /* 8003BF94 00037BF4 2C 03 00 00 */ cmpwi r3, 0 /* 8003BF98 00037BF8 98 7E 0B F6 */ stb r3, 0xbf6(r30) /* 8003BF9C 00037BFC 90 1E 0C B0 */ stw r0, 0xcb0(r30) /* 8003BFA0 00037C00 41 82 00 0C */ beq lbl_8003BFAC /* 8003BFA4 00037C04 28 03 00 10 */ cmplwi r3, 0x10 /* 8003BFA8 00037C08 40 82 00 14 */ bne lbl_8003BFBC lbl_8003BFAC: /* 8003BFAC 00037C0C 80 1E 00 00 */ lwz r0, 0(r30) /* 8003BFB0 00037C10 64 00 00 02 */ oris r0, r0, 2 /* 8003BFB4 00037C14 90 1E 00 00 */ stw r0, 0(r30) /* 8003BFB8 00037C18 48 00 00 10 */ b lbl_8003BFC8 lbl_8003BFBC: /* 8003BFBC 00037C1C 80 1E 00 00 */ lwz r0, 0(r30) /* 8003BFC0 00037C20 54 00 03 DA */ rlwinm r0, r0, 0, 0xf, 0xd /* 8003BFC4 00037C24 90 1E 00 00 */ stw r0, 0(r30) lbl_8003BFC8: /* 8003BFC8 00037C28 80 1E 00 00 */ lwz r0, 0(r30) /* 8003BFCC 00037C2C 54 00 02 95 */ rlwinm. r0, r0, 0, 0xa, 0xa /* 8003BFD0 00037C30 41 82 00 24 */ beq lbl_8003BFF4 /* 8003BFD4 00037C34 C0 3E 0D 78 */ lfs f1, 0xd78(r30) /* 8003BFD8 00037C38 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003BFDC 00037C3C EC 21 F8 28 */ fsubs f1, f1, f31 /* 8003BFE0 00037C40 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8003BFE4 00037C44 D0 3E 0D 78 */ stfs f1, 0xd78(r30) /* 8003BFE8 00037C48 40 80 00 0C */ bge lbl_8003BFF4 /* 8003BFEC 00037C4C 7F C3 F3 78 */ mr r3, r30 /* 8003BFF0 00037C50 4B FF DC 21 */ bl func_80039C10 lbl_8003BFF4: /* 8003BFF4 00037C54 80 7E 00 00 */ lwz r3, 0(r30) /* 8003BFF8 00037C58 54 60 04 A5 */ rlwinm. r0, r3, 0, 0x12, 0x12 /* 8003BFFC 00037C5C 40 82 01 68 */ bne lbl_8003C164 /* 8003C000 00037C60 54 60 03 9D */ rlwinm. r0, r3, 0, 0xe, 0xe /* 8003C004 00037C64 41 82 01 60 */ beq lbl_8003C164 /* 8003C008 00037C68 C0 3E 0C 6C */ lfs f1, 0xc6c(r30) /* 8003C00C 00037C6C C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003C010 00037C70 EC 21 F8 28 */ fsubs f1, f1, f31 /* 8003C014 00037C74 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8003C018 00037C78 D0 3E 0C 6C */ stfs f1, 0xc6c(r30) /* 8003C01C 00037C7C 40 80 01 48 */ bge lbl_8003C164 /* 8003C020 00037C80 48 1E 78 11 */ bl func_80223830 /* 8003C024 00037C84 3C 80 00 03 */ lis r4, 0x000343FD@ha /* 8003C028 00037C88 80 A3 00 00 */ lwz r5, 0(r3) /* 8003C02C 00037C8C 38 84 43 FD */ addi r4, r4, 0x000343FD@l /* 8003C030 00037C90 3C 00 43 30 */ lis r0, 0x4330 /* 8003C034 00037C94 7C A5 21 D6 */ mullw r5, r5, r4 /* 8003C038 00037C98 90 01 00 58 */ stw r0, 0x58(r1) /* 8003C03C 00037C9C C8 62 82 50 */ lfd f3, lbl_80640850-_SDA2_BASE_(r2) /* 8003C040 00037CA0 38 80 00 13 */ li r4, 0x13 /* 8003C044 00037CA4 C0 22 82 2C */ lfs f1, lbl_8064082C-_SDA2_BASE_(r2) /* 8003C048 00037CA8 C0 02 82 A8 */ lfs f0, lbl_806408A8-_SDA2_BASE_(r2) /* 8003C04C 00037CAC 3C A5 00 27 */ addis r5, r5, 0x27 /* 8003C050 00037CB0 38 A5 9E C3 */ addi r5, r5, -24893 /* 8003C054 00037CB4 54 A0 84 3E */ srwi r0, r5, 0x10 /* 8003C058 00037CB8 90 A3 00 00 */ stw r5, 0(r3) /* 8003C05C 00037CBC 7F C3 F3 78 */ mr r3, r30 /* 8003C060 00037CC0 90 01 00 5C */ stw r0, 0x5c(r1) /* 8003C064 00037CC4 C8 41 00 58 */ lfd f2, 0x58(r1) /* 8003C068 00037CC8 EC 42 18 28 */ fsubs f2, f2, f3 /* 8003C06C 00037CCC EC 22 08 24 */ fdivs f1, f2, f1 /* 8003C070 00037CD0 EC 00 08 2A */ fadds f0, f0, f1 /* 8003C074 00037CD4 D0 1E 0C 6C */ stfs f0, 0xc6c(r30) /* 8003C078 00037CD8 48 00 01 E5 */ bl func_8003C25C /* 8003C07C 00037CDC 83 9E 0C 04 */ lwz r28, 0xc04(r30) /* 8003C080 00037CE0 7C 7F 1B 78 */ mr r31, r3 /* 8003C084 00037CE4 80 9C 00 04 */ lwz r4, 4(r28) /* 8003C088 00037CE8 2C 04 00 00 */ cmpwi r4, 0 /* 8003C08C 00037CEC 40 82 00 0C */ bne lbl_8003C098 /* 8003C090 00037CF0 38 60 00 00 */ li r3, 0 /* 8003C094 00037CF4 48 00 00 28 */ b lbl_8003C0BC lbl_8003C098: /* 8003C098 00037CF8 A0 04 00 08 */ lhz r0, 8(r4) /* 8003C09C 00037CFC 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 8003C0A0 00037D00 7C 03 00 40 */ cmplw r3, r0 /* 8003C0A4 00037D04 41 80 00 0C */ blt lbl_8003C0B0 /* 8003C0A8 00037D08 38 60 00 00 */ li r3, 0 /* 8003C0AC 00037D0C 48 00 00 10 */ b lbl_8003C0BC lbl_8003C0B0: /* 8003C0B0 00037D10 1C 03 00 30 */ mulli r0, r3, 0x30 /* 8003C0B4 00037D14 80 64 00 0C */ lwz r3, 0xc(r4) /* 8003C0B8 00037D18 7C 63 02 14 */ add r3, r3, r0 lbl_8003C0BC: /* 8003C0BC 00037D1C 2C 03 00 00 */ cmpwi r3, 0 /* 8003C0C0 00037D20 41 82 00 A4 */ beq lbl_8003C164 /* 8003C0C4 00037D24 80 63 00 00 */ lwz r3, 0(r3) /* 8003C0C8 00037D28 38 8D 80 E0 */ addi r4, r13, lbl_8063D3A0-_SDA_BASE_ /* 8003C0CC 00037D2C 38 A0 00 03 */ li r5, 3 /* 8003C0D0 00037D30 48 19 24 99 */ bl strncmp /* 8003C0D4 00037D34 2C 03 00 00 */ cmpwi r3, 0 /* 8003C0D8 00037D38 40 82 00 8C */ bne lbl_8003C164 /* 8003C0DC 00037D3C 57 E4 04 3E */ clrlwi r4, r31, 0x10 /* 8003C0E0 00037D40 28 04 00 FF */ cmplwi r4, 0xff /* 8003C0E4 00037D44 41 82 00 80 */ beq lbl_8003C164 /* 8003C0E8 00037D48 A0 1E 05 10 */ lhz r0, 0x510(r30) /* 8003C0EC 00037D4C 28 00 00 59 */ cmplwi r0, 0x59 /* 8003C0F0 00037D50 40 82 00 54 */ bne lbl_8003C144 /* 8003C0F4 00037D54 80 7C 00 1C */ lwz r3, 0x1c(r28) /* 8003C0F8 00037D58 2C 03 00 00 */ cmpwi r3, 0 /* 8003C0FC 00037D5C 40 82 00 0C */ bne lbl_8003C108 /* 8003C100 00037D60 38 60 00 00 */ li r3, 0 /* 8003C104 00037D64 48 00 00 20 */ b lbl_8003C124 lbl_8003C108: /* 8003C108 00037D68 A0 1C 00 E6 */ lhz r0, 0xe6(r28) /* 8003C10C 00037D6C 28 00 00 03 */ cmplwi r0, 3 /* 8003C110 00037D70 41 81 00 0C */ bgt lbl_8003C11C /* 8003C114 00037D74 38 60 00 00 */ li r3, 0 /* 8003C118 00037D78 48 00 00 0C */ b lbl_8003C124 lbl_8003C11C: /* 8003C11C 00037D7C 80 63 00 0C */ lwz r3, 0xc(r3) /* 8003C120 00037D80 80 63 00 14 */ lwz r3, 0x14(r3) lbl_8003C124: /* 8003C124 00037D84 2C 03 00 00 */ cmpwi r3, 0 /* 8003C128 00037D88 41 82 00 3C */ beq lbl_8003C164 /* 8003C12C 00037D8C C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 8003C130 00037D90 57 E4 04 3E */ clrlwi r4, r31, 0x10 /* 8003C134 00037D94 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2) /* 8003C138 00037D98 38 A0 00 00 */ li r5, 0 /* 8003C13C 00037D9C 48 1A 19 81 */ bl func_801DDABC__17GSanimationObjectFUsUsff /* 8003C140 00037DA0 48 00 00 24 */ b lbl_8003C164 lbl_8003C144: /* 8003C144 00037DA4 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 8003C148 00037DA8 7F 83 E3 78 */ mr r3, r28 /* 8003C14C 00037DAC C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2) /* 8003C150 00037DB0 38 A0 00 00 */ li r5, 0 /* 8003C154 00037DB4 38 C0 00 00 */ li r6, 0 /* 8003C158 00037DB8 38 E0 00 00 */ li r7, 0 /* 8003C15C 00037DBC 39 00 00 00 */ li r8, 0 /* 8003C160 00037DC0 48 1B 8C 95 */ bl func_801F4DF4 lbl_8003C164: /* 8003C164 00037DC4 80 1E 00 00 */ lwz r0, 0(r30) /* 8003C168 00037DC8 54 00 03 5B */ rlwinm. r0, r0, 0, 0xd, 0xd /* 8003C16C 00037DCC 41 82 00 90 */ beq lbl_8003C1FC /* 8003C170 00037DD0 80 7E 0C 04 */ lwz r3, 0xc04(r30) /* 8003C174 00037DD4 80 A3 00 04 */ lwz r5, 4(r3) /* 8003C178 00037DD8 A0 83 00 F0 */ lhz r4, 0xf0(r3) /* 8003C17C 00037DDC 2C 05 00 00 */ cmpwi r5, 0 /* 8003C180 00037DE0 40 82 00 0C */ bne lbl_8003C18C /* 8003C184 00037DE4 3B A0 00 00 */ li r29, 0 /* 8003C188 00037DE8 48 00 00 24 */ b lbl_8003C1AC lbl_8003C18C: /* 8003C18C 00037DEC A0 05 00 08 */ lhz r0, 8(r5) /* 8003C190 00037DF0 7C 04 00 40 */ cmplw r4, r0 /* 8003C194 00037DF4 41 80 00 0C */ blt lbl_8003C1A0 /* 8003C198 00037DF8 3B A0 00 00 */ li r29, 0 /* 8003C19C 00037DFC 48 00 00 10 */ b lbl_8003C1AC lbl_8003C1A0: /* 8003C1A0 00037E00 1C 04 00 30 */ mulli r0, r4, 0x30 /* 8003C1A4 00037E04 80 85 00 0C */ lwz r4, 0xc(r5) /* 8003C1A8 00037E08 7F A4 02 14 */ add r29, r4, r0 lbl_8003C1AC: /* 8003C1AC 00037E0C 88 1E 0C A0 */ lbz r0, 0xca0(r30) /* 8003C1B0 00037E10 28 00 00 03 */ cmplwi r0, 3 /* 8003C1B4 00037E14 40 80 00 48 */ bge lbl_8003C1FC /* 8003C1B8 00037E18 48 1B 99 8D */ bl func_801F5B44 /* 8003C1BC 00037E1C 88 9E 0C A0 */ lbz r4, 0xca0(r30) /* 8003C1C0 00037E20 54 80 10 3A */ slwi r0, r4, 2 /* 8003C1C4 00037E24 7C 7D 02 14 */ add r3, r29, r0 /* 8003C1C8 00037E28 C0 03 00 04 */ lfs f0, 4(r3) /* 8003C1CC 00037E2C FC 00 08 40 */ fcmpo cr0, f0, f1 /* 8003C1D0 00037E30 4C 40 13 82 */ cror 2, 0, 2 /* 8003C1D4 00037E34 40 82 00 28 */ bne lbl_8003C1FC /* 8003C1D8 00037E38 80 1E 00 00 */ lwz r0, 0(r30) /* 8003C1DC 00037E3C 7F C3 F3 78 */ mr r3, r30 /* 8003C1E0 00037E40 81 9E 0C AC */ lwz r12, 0xcac(r30) /* 8003C1E4 00037E44 54 00 03 98 */ rlwinm r0, r0, 0, 0xe, 0xc /* 8003C1E8 00037E48 80 BE 0C A4 */ lwz r5, 0xca4(r30) /* 8003C1EC 00037E4C 90 1E 00 00 */ stw r0, 0(r30) /* 8003C1F0 00037E50 80 DE 0C A8 */ lwz r6, 0xca8(r30) /* 8003C1F4 00037E54 7D 89 03 A6 */ mtctr r12 /* 8003C1F8 00037E58 4E 80 04 21 */ bctrl lbl_8003C1FC: /* 8003C1FC 00037E5C E3 E1 00 98 */ psq_l f31, 152(r1), 0, qr0 /* 8003C200 00037E60 CB E1 00 90 */ lfd f31, 0x90(r1) /* 8003C204 00037E64 E3 C1 00 88 */ psq_l f30, 136(r1), 0, qr0 /* 8003C208 00037E68 39 61 00 80 */ addi r11, r1, 0x80 /* 8003C20C 00037E6C CB C1 00 80 */ lfd f30, 0x80(r1) /* 8003C210 00037E70 48 18 AF 65 */ bl _restgpr_27 /* 8003C214 00037E74 80 01 00 A4 */ lwz r0, 0xa4(r1) /* 8003C218 00037E78 7C 08 03 A6 */ mtlr r0 /* 8003C21C 00037E7C 38 21 00 A0 */ addi r1, r1, 0xa0 /* 8003C220 00037E80 4E 80 00 20 */ blr .global func_8003C224 func_8003C224: /* 8003C224 00037E84 28 05 00 03 */ cmplwi r5, 3 /* 8003C228 00037E88 41 80 00 14 */ blt lbl_8003C23C /* 8003C22C 00037E8C 80 03 00 00 */ lwz r0, 0(r3) /* 8003C230 00037E90 54 00 03 98 */ rlwinm r0, r0, 0, 0xe, 0xc /* 8003C234 00037E94 90 03 00 00 */ stw r0, 0(r3) /* 8003C238 00037E98 4E 80 00 20 */ blr lbl_8003C23C: /* 8003C23C 00037E9C 80 03 00 00 */ lwz r0, 0(r3) /* 8003C240 00037EA0 98 A3 0C A0 */ stb r5, 0xca0(r3) /* 8003C244 00037EA4 64 00 00 04 */ oris r0, r0, 4 /* 8003C248 00037EA8 90 C3 0C A4 */ stw r6, 0xca4(r3) /* 8003C24C 00037EAC 90 E3 0C A8 */ stw r7, 0xca8(r3) /* 8003C250 00037EB0 90 83 0C AC */ stw r4, 0xcac(r3) /* 8003C254 00037EB4 90 03 00 00 */ stw r0, 0(r3) /* 8003C258 00037EB8 4E 80 00 20 */ blr .global func_8003C25C func_8003C25C: /* 8003C25C 00037EBC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8003C260 00037EC0 7C 08 02 A6 */ mflr r0 /* 8003C264 00037EC4 90 01 00 14 */ stw r0, 0x14(r1) /* 8003C268 00037EC8 93 E1 00 0C */ stw r31, 0xc(r1) /* 8003C26C 00037ECC 7C 9F 23 78 */ mr r31, r4 /* 8003C270 00037ED0 93 C1 00 08 */ stw r30, 8(r1) /* 8003C274 00037ED4 7C 7E 1B 78 */ mr r30, r3 /* 8003C278 00037ED8 48 00 1E E5 */ bl func_8003E15C /* 8003C27C 00037EDC 2C 03 00 00 */ cmpwi r3, 0 /* 8003C280 00037EE0 41 82 00 28 */ beq lbl_8003C2A8 /* 8003C284 00037EE4 A0 DE 05 14 */ lhz r6, 0x514(r30) /* 8003C288 00037EE8 7F E5 FB 78 */ mr r5, r31 /* 8003C28C 00037EEC A0 1E 05 12 */ lhz r0, 0x512(r30) /* 8003C290 00037EF0 A0 9E 05 10 */ lhz r4, 0x510(r30) /* 8003C294 00037EF4 54 C6 06 3E */ clrlwi r6, r6, 0x18 /* 8003C298 00037EF8 54 07 06 3E */ clrlwi r7, r0, 0x18 /* 8003C29C 00037EFC 48 00 25 29 */ bl func_8003E7C4 /* 8003C2A0 00037F00 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 8003C2A4 00037F04 48 00 00 08 */ b lbl_8003C2AC lbl_8003C2A8: /* 8003C2A8 00037F08 38 60 00 00 */ li r3, 0 lbl_8003C2AC: /* 8003C2AC 00037F0C 80 01 00 14 */ lwz r0, 0x14(r1) /* 8003C2B0 00037F10 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8003C2B4 00037F14 83 C1 00 08 */ lwz r30, 8(r1) /* 8003C2B8 00037F18 7C 08 03 A6 */ mtlr r0 /* 8003C2BC 00037F1C 38 21 00 10 */ addi r1, r1, 0x10 /* 8003C2C0 00037F20 4E 80 00 20 */ blr .global func_8003C2C4 func_8003C2C4: /* 8003C2C4 00037F24 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8003C2C8 00037F28 7C 08 02 A6 */ mflr r0 /* 8003C2CC 00037F2C 90 01 00 34 */ stw r0, 0x34(r1) /* 8003C2D0 00037F30 3C 00 43 30 */ lis r0, 0x4330 /* 8003C2D4 00037F34 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8003C2D8 00037F38 7C 9F 23 78 */ mr r31, r4 /* 8003C2DC 00037F3C 93 C1 00 28 */ stw r30, 0x28(r1) /* 8003C2E0 00037F40 7C 7E 1B 78 */ mr r30, r3 /* 8003C2E4 00037F44 93 A1 00 24 */ stw r29, 0x24(r1) /* 8003C2E8 00037F48 80 A3 0C 04 */ lwz r5, 0xc04(r3) /* 8003C2EC 00037F4C 90 01 00 08 */ stw r0, 8(r1) /* 8003C2F0 00037F50 2C 05 00 00 */ cmpwi r5, 0 /* 8003C2F4 00037F54 90 01 00 10 */ stw r0, 0x10(r1) /* 8003C2F8 00037F58 41 82 01 08 */ beq lbl_8003C400 /* 8003C2FC 00037F5C A0 03 0C 68 */ lhz r0, 0xc68(r3) /* 8003C300 00037F60 28 00 01 00 */ cmplwi r0, 0x100 /* 8003C304 00037F64 40 82 00 80 */ bne lbl_8003C384 /* 8003C308 00037F68 80 03 0C 00 */ lwz r0, 0xc00(r3) /* 8003C30C 00037F6C 2C 00 00 00 */ cmpwi r0, 0 /* 8003C310 00037F70 41 82 00 F0 */ beq lbl_8003C400 /* 8003C314 00037F74 3B A0 00 00 */ li r29, 0 /* 8003C318 00037F78 48 00 00 50 */ b lbl_8003C368 lbl_8003C31C: /* 8003C31C 00037F7C 80 C5 00 04 */ lwz r6, 4(r5) /* 8003C320 00037F80 2C 06 00 00 */ cmpwi r6, 0 /* 8003C324 00037F84 40 82 00 0C */ bne lbl_8003C330 /* 8003C328 00037F88 38 60 00 00 */ li r3, 0 /* 8003C32C 00037F8C 48 00 00 28 */ b lbl_8003C354 lbl_8003C330: /* 8003C330 00037F90 80 65 00 00 */ lwz r3, 0(r5) /* 8003C334 00037F94 57 A4 06 3E */ clrlwi r4, r29, 0x18 /* 8003C338 00037F98 A0 03 00 18 */ lhz r0, 0x18(r3) /* 8003C33C 00037F9C 7C 04 00 40 */ cmplw r4, r0 /* 8003C340 00037FA0 41 80 00 0C */ blt lbl_8003C34C /* 8003C344 00037FA4 38 60 00 00 */ li r3, 0 /* 8003C348 00037FA8 48 00 00 0C */ b lbl_8003C354 lbl_8003C34C: /* 8003C34C 00037FAC 57 A0 15 BA */ rlwinm r0, r29, 2, 0x16, 0x1d /* 8003C350 00037FB0 7C 66 00 2E */ lwzx r3, r6, r0 lbl_8003C354: /* 8003C354 00037FB4 2C 03 00 00 */ cmpwi r3, 0 /* 8003C358 00037FB8 41 82 00 0C */ beq lbl_8003C364 /* 8003C35C 00037FBC 7F E4 FB 78 */ mr r4, r31 /* 8003C360 00037FC0 48 1B 9E AD */ bl func_801F620C lbl_8003C364: /* 8003C364 00037FC4 3B BD 00 01 */ addi r29, r29, 1 lbl_8003C368: /* 8003C368 00037FC8 80 BE 0C 00 */ lwz r5, 0xc00(r30) /* 8003C36C 00037FCC 57 A4 06 3E */ clrlwi r4, r29, 0x18 /* 8003C370 00037FD0 80 65 00 00 */ lwz r3, 0(r5) /* 8003C374 00037FD4 A0 03 00 18 */ lhz r0, 0x18(r3) /* 8003C378 00037FD8 7C 04 00 00 */ cmpw r4, r0 /* 8003C37C 00037FDC 41 80 FF A0 */ blt lbl_8003C31C /* 8003C380 00037FE0 48 00 00 24 */ b lbl_8003C3A4 lbl_8003C384: /* 8003C384 00037FE4 7C A3 2B 78 */ mr r3, r5 /* 8003C388 00037FE8 48 1B 9E 85 */ bl func_801F620C /* 8003C38C 00037FEC A0 1E 05 0C */ lhz r0, 0x50c(r30) /* 8003C390 00037FF0 28 00 00 02 */ cmplwi r0, 2 /* 8003C394 00037FF4 40 82 00 10 */ bne lbl_8003C3A4 /* 8003C398 00037FF8 7F E4 FB 78 */ mr r4, r31 /* 8003C39C 00037FFC 38 7E 05 24 */ addi r3, r30, 0x524 /* 8003C3A0 00038000 48 00 3B BD */ bl func_8003FF5C lbl_8003C3A4: /* 8003C3A4 00038004 38 7E 04 94 */ addi r3, r30, 0x494 /* 8003C3A8 00038008 48 01 48 39 */ bl func_80050BE0 /* 8003C3AC 0003800C 88 1F 00 00 */ lbz r0, 0(r31) /* 8003C3B0 00038010 C8 22 82 50 */ lfd f1, lbl_80640850-_SDA2_BASE_(r2) /* 8003C3B4 00038014 90 01 00 0C */ stw r0, 0xc(r1) /* 8003C3B8 00038018 C8 01 00 08 */ lfd f0, 8(r1) /* 8003C3BC 0003801C EC 00 08 28 */ fsubs f0, f0, f1 /* 8003C3C0 00038020 D0 1E 0C 28 */ stfs f0, 0xc28(r30) /* 8003C3C4 00038024 88 1F 00 01 */ lbz r0, 1(r31) /* 8003C3C8 00038028 90 01 00 14 */ stw r0, 0x14(r1) /* 8003C3CC 0003802C C8 01 00 10 */ lfd f0, 0x10(r1) /* 8003C3D0 00038030 EC 00 08 28 */ fsubs f0, f0, f1 /* 8003C3D4 00038034 D0 1E 0C 2C */ stfs f0, 0xc2c(r30) /* 8003C3D8 00038038 88 1F 00 02 */ lbz r0, 2(r31) /* 8003C3DC 0003803C 90 01 00 0C */ stw r0, 0xc(r1) /* 8003C3E0 00038040 C8 01 00 08 */ lfd f0, 8(r1) /* 8003C3E4 00038044 EC 00 08 28 */ fsubs f0, f0, f1 /* 8003C3E8 00038048 D0 1E 0C 30 */ stfs f0, 0xc30(r30) /* 8003C3EC 0003804C 88 1F 00 03 */ lbz r0, 3(r31) /* 8003C3F0 00038050 90 01 00 14 */ stw r0, 0x14(r1) /* 8003C3F4 00038054 C8 01 00 10 */ lfd f0, 0x10(r1) /* 8003C3F8 00038058 EC 00 08 28 */ fsubs f0, f0, f1 /* 8003C3FC 0003805C D0 1E 0C 34 */ stfs f0, 0xc34(r30) lbl_8003C400: /* 8003C400 00038060 80 01 00 34 */ lwz r0, 0x34(r1) /* 8003C404 00038064 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8003C408 00038068 83 C1 00 28 */ lwz r30, 0x28(r1) /* 8003C40C 0003806C 83 A1 00 24 */ lwz r29, 0x24(r1) /* 8003C410 00038070 7C 08 03 A6 */ mtlr r0 /* 8003C414 00038074 38 21 00 30 */ addi r1, r1, 0x30 /* 8003C418 00038078 4E 80 00 20 */ blr .global func_8003C41C func_8003C41C: /* 8003C41C 0003807C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8003C420 00038080 7C 08 02 A6 */ mflr r0 /* 8003C424 00038084 3C C0 43 30 */ lis r6, 0x4330 /* 8003C428 00038088 90 01 00 34 */ stw r0, 0x34(r1) /* 8003C42C 0003808C 80 03 0C 04 */ lwz r0, 0xc04(r3) /* 8003C430 00038090 90 C1 00 18 */ stw r6, 0x18(r1) /* 8003C434 00038094 2C 00 00 00 */ cmpwi r0, 0 /* 8003C438 00038098 90 C1 00 20 */ stw r6, 0x20(r1) /* 8003C43C 0003809C 41 82 00 70 */ beq lbl_8003C4AC /* 8003C440 000380A0 88 04 00 00 */ lbz r0, 0(r4) /* 8003C444 000380A4 7C A7 2B 78 */ mr r7, r5 /* 8003C448 000380A8 C8 42 82 50 */ lfd f2, lbl_80640850-_SDA2_BASE_(r2) /* 8003C44C 000380AC 38 A1 00 08 */ addi r5, r1, 8 /* 8003C450 000380B0 90 01 00 1C */ stw r0, 0x1c(r1) /* 8003C454 000380B4 C8 01 00 18 */ lfd f0, 0x18(r1) /* 8003C458 000380B8 EC 00 10 28 */ fsubs f0, f0, f2 /* 8003C45C 000380BC D0 01 00 08 */ stfs f0, 8(r1) /* 8003C460 000380C0 88 04 00 01 */ lbz r0, 1(r4) /* 8003C464 000380C4 90 01 00 24 */ stw r0, 0x24(r1) /* 8003C468 000380C8 C8 01 00 20 */ lfd f0, 0x20(r1) /* 8003C46C 000380CC EC 00 10 28 */ fsubs f0, f0, f2 /* 8003C470 000380D0 D0 01 00 0C */ stfs f0, 0xc(r1) /* 8003C474 000380D4 88 04 00 02 */ lbz r0, 2(r4) /* 8003C478 000380D8 90 01 00 1C */ stw r0, 0x1c(r1) /* 8003C47C 000380DC C8 01 00 18 */ lfd f0, 0x18(r1) /* 8003C480 000380E0 EC 00 10 28 */ fsubs f0, f0, f2 /* 8003C484 000380E4 D0 01 00 10 */ stfs f0, 0x10(r1) /* 8003C488 000380E8 88 04 00 03 */ lbz r0, 3(r4) /* 8003C48C 000380EC 38 83 0C 28 */ addi r4, r3, 0xc28 /* 8003C490 000380F0 7C 86 23 78 */ mr r6, r4 /* 8003C494 000380F4 38 63 04 94 */ addi r3, r3, 0x494 /* 8003C498 000380F8 90 01 00 24 */ stw r0, 0x24(r1) /* 8003C49C 000380FC C8 01 00 20 */ lfd f0, 0x20(r1) /* 8003C4A0 00038100 EC 00 10 28 */ fsubs f0, f0, f2 /* 8003C4A4 00038104 D0 01 00 14 */ stfs f0, 0x14(r1) /* 8003C4A8 00038108 48 01 46 A5 */ bl func_80050B4C lbl_8003C4AC: /* 8003C4AC 0003810C 80 01 00 34 */ lwz r0, 0x34(r1) /* 8003C4B0 00038110 7C 08 03 A6 */ mtlr r0 /* 8003C4B4 00038114 38 21 00 30 */ addi r1, r1, 0x30 /* 8003C4B8 00038118 4E 80 00 20 */ blr .global func_8003C4BC func_8003C4BC: /* 8003C4BC 0003811C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8003C4C0 00038120 7C 08 02 A6 */ mflr r0 /* 8003C4C4 00038124 90 01 00 34 */ stw r0, 0x34(r1) /* 8003C4C8 00038128 3C 00 43 30 */ lis r0, 0x4330 /* 8003C4CC 0003812C 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8003C4D0 00038130 7C 9F 23 78 */ mr r31, r4 /* 8003C4D4 00038134 93 C1 00 28 */ stw r30, 0x28(r1) /* 8003C4D8 00038138 7C 7E 1B 78 */ mr r30, r3 /* 8003C4DC 0003813C 93 A1 00 24 */ stw r29, 0x24(r1) /* 8003C4E0 00038140 80 A3 0C 04 */ lwz r5, 0xc04(r3) /* 8003C4E4 00038144 90 01 00 08 */ stw r0, 8(r1) /* 8003C4E8 00038148 2C 05 00 00 */ cmpwi r5, 0 /* 8003C4EC 0003814C 90 01 00 10 */ stw r0, 0x10(r1) /* 8003C4F0 00038150 41 82 01 08 */ beq lbl_8003C5F8 /* 8003C4F4 00038154 A0 03 0C 68 */ lhz r0, 0xc68(r3) /* 8003C4F8 00038158 28 00 01 00 */ cmplwi r0, 0x100 /* 8003C4FC 0003815C 40 82 00 80 */ bne lbl_8003C57C /* 8003C500 00038160 80 03 0C 00 */ lwz r0, 0xc00(r3) /* 8003C504 00038164 2C 00 00 00 */ cmpwi r0, 0 /* 8003C508 00038168 41 82 00 F0 */ beq lbl_8003C5F8 /* 8003C50C 0003816C 3B A0 00 00 */ li r29, 0 /* 8003C510 00038170 48 00 00 50 */ b lbl_8003C560 lbl_8003C514: /* 8003C514 00038174 80 C5 00 04 */ lwz r6, 4(r5) /* 8003C518 00038178 2C 06 00 00 */ cmpwi r6, 0 /* 8003C51C 0003817C 40 82 00 0C */ bne lbl_8003C528 /* 8003C520 00038180 38 60 00 00 */ li r3, 0 /* 8003C524 00038184 48 00 00 28 */ b lbl_8003C54C lbl_8003C528: /* 8003C528 00038188 80 65 00 00 */ lwz r3, 0(r5) /* 8003C52C 0003818C 57 A4 06 3E */ clrlwi r4, r29, 0x18 /* 8003C530 00038190 A0 03 00 18 */ lhz r0, 0x18(r3) /* 8003C534 00038194 7C 04 00 40 */ cmplw r4, r0 /* 8003C538 00038198 41 80 00 0C */ blt lbl_8003C544 /* 8003C53C 0003819C 38 60 00 00 */ li r3, 0 /* 8003C540 000381A0 48 00 00 0C */ b lbl_8003C54C lbl_8003C544: /* 8003C544 000381A4 57 A0 15 BA */ rlwinm r0, r29, 2, 0x16, 0x1d /* 8003C548 000381A8 7C 66 00 2E */ lwzx r3, r6, r0 lbl_8003C54C: /* 8003C54C 000381AC 2C 03 00 00 */ cmpwi r3, 0 /* 8003C550 000381B0 41 82 00 0C */ beq lbl_8003C55C /* 8003C554 000381B4 7F E4 FB 78 */ mr r4, r31 /* 8003C558 000381B8 48 1B 9C 3D */ bl func_801F6194 lbl_8003C55C: /* 8003C55C 000381BC 3B BD 00 01 */ addi r29, r29, 1 lbl_8003C560: /* 8003C560 000381C0 80 BE 0C 00 */ lwz r5, 0xc00(r30) /* 8003C564 000381C4 57 A4 06 3E */ clrlwi r4, r29, 0x18 /* 8003C568 000381C8 80 65 00 00 */ lwz r3, 0(r5) /* 8003C56C 000381CC A0 03 00 18 */ lhz r0, 0x18(r3) /* 8003C570 000381D0 7C 04 00 00 */ cmpw r4, r0 /* 8003C574 000381D4 41 80 FF A0 */ blt lbl_8003C514 /* 8003C578 000381D8 48 00 00 24 */ b lbl_8003C59C lbl_8003C57C: /* 8003C57C 000381DC 7C A3 2B 78 */ mr r3, r5 /* 8003C580 000381E0 48 1B 9C 15 */ bl func_801F6194 /* 8003C584 000381E4 A0 1E 05 0C */ lhz r0, 0x50c(r30) /* 8003C588 000381E8 28 00 00 02 */ cmplwi r0, 2 /* 8003C58C 000381EC 40 82 00 10 */ bne lbl_8003C59C /* 8003C590 000381F0 7F E4 FB 78 */ mr r4, r31 /* 8003C594 000381F4 38 7E 05 24 */ addi r3, r30, 0x524 /* 8003C598 000381F8 48 00 3A 41 */ bl func_8003FFD8 lbl_8003C59C: /* 8003C59C 000381FC 38 7E 04 D0 */ addi r3, r30, 0x4d0 /* 8003C5A0 00038200 48 01 46 41 */ bl func_80050BE0 /* 8003C5A4 00038204 88 1F 00 00 */ lbz r0, 0(r31) /* 8003C5A8 00038208 C8 22 82 50 */ lfd f1, lbl_80640850-_SDA2_BASE_(r2) /* 8003C5AC 0003820C 90 01 00 0C */ stw r0, 0xc(r1) /* 8003C5B0 00038210 C8 01 00 08 */ lfd f0, 8(r1) /* 8003C5B4 00038214 EC 00 08 28 */ fsubs f0, f0, f1 /* 8003C5B8 00038218 D0 1E 0C 38 */ stfs f0, 0xc38(r30) /* 8003C5BC 0003821C 88 1F 00 01 */ lbz r0, 1(r31) /* 8003C5C0 00038220 90 01 00 14 */ stw r0, 0x14(r1) /* 8003C5C4 00038224 C8 01 00 10 */ lfd f0, 0x10(r1) /* 8003C5C8 00038228 EC 00 08 28 */ fsubs f0, f0, f1 /* 8003C5CC 0003822C D0 1E 0C 3C */ stfs f0, 0xc3c(r30) /* 8003C5D0 00038230 88 1F 00 02 */ lbz r0, 2(r31) /* 8003C5D4 00038234 90 01 00 0C */ stw r0, 0xc(r1) /* 8003C5D8 00038238 C8 01 00 08 */ lfd f0, 8(r1) /* 8003C5DC 0003823C EC 00 08 28 */ fsubs f0, f0, f1 /* 8003C5E0 00038240 D0 1E 0C 40 */ stfs f0, 0xc40(r30) /* 8003C5E4 00038244 88 1F 00 03 */ lbz r0, 3(r31) /* 8003C5E8 00038248 90 01 00 14 */ stw r0, 0x14(r1) /* 8003C5EC 0003824C C8 01 00 10 */ lfd f0, 0x10(r1) /* 8003C5F0 00038250 EC 00 08 28 */ fsubs f0, f0, f1 /* 8003C5F4 00038254 D0 1E 0C 44 */ stfs f0, 0xc44(r30) lbl_8003C5F8: /* 8003C5F8 00038258 80 01 00 34 */ lwz r0, 0x34(r1) /* 8003C5FC 0003825C 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8003C600 00038260 83 C1 00 28 */ lwz r30, 0x28(r1) /* 8003C604 00038264 83 A1 00 24 */ lwz r29, 0x24(r1) /* 8003C608 00038268 7C 08 03 A6 */ mtlr r0 /* 8003C60C 0003826C 38 21 00 30 */ addi r1, r1, 0x30 /* 8003C610 00038270 4E 80 00 20 */ blr .global func_8003C614 func_8003C614: /* 8003C614 00038274 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8003C618 00038278 7C 08 02 A6 */ mflr r0 /* 8003C61C 0003827C 3C C0 43 30 */ lis r6, 0x4330 /* 8003C620 00038280 90 01 00 34 */ stw r0, 0x34(r1) /* 8003C624 00038284 80 03 0C 04 */ lwz r0, 0xc04(r3) /* 8003C628 00038288 90 C1 00 18 */ stw r6, 0x18(r1) /* 8003C62C 0003828C 2C 00 00 00 */ cmpwi r0, 0 /* 8003C630 00038290 90 C1 00 20 */ stw r6, 0x20(r1) /* 8003C634 00038294 41 82 00 70 */ beq lbl_8003C6A4 /* 8003C638 00038298 88 04 00 00 */ lbz r0, 0(r4) /* 8003C63C 0003829C 7C A7 2B 78 */ mr r7, r5 /* 8003C640 000382A0 C8 42 82 50 */ lfd f2, lbl_80640850-_SDA2_BASE_(r2) /* 8003C644 000382A4 38 A1 00 08 */ addi r5, r1, 8 /* 8003C648 000382A8 90 01 00 1C */ stw r0, 0x1c(r1) /* 8003C64C 000382AC C8 01 00 18 */ lfd f0, 0x18(r1) /* 8003C650 000382B0 EC 00 10 28 */ fsubs f0, f0, f2 /* 8003C654 000382B4 D0 01 00 08 */ stfs f0, 8(r1) /* 8003C658 000382B8 88 04 00 01 */ lbz r0, 1(r4) /* 8003C65C 000382BC 90 01 00 24 */ stw r0, 0x24(r1) /* 8003C660 000382C0 C8 01 00 20 */ lfd f0, 0x20(r1) /* 8003C664 000382C4 EC 00 10 28 */ fsubs f0, f0, f2 /* 8003C668 000382C8 D0 01 00 0C */ stfs f0, 0xc(r1) /* 8003C66C 000382CC 88 04 00 02 */ lbz r0, 2(r4) /* 8003C670 000382D0 90 01 00 1C */ stw r0, 0x1c(r1) /* 8003C674 000382D4 C8 01 00 18 */ lfd f0, 0x18(r1) /* 8003C678 000382D8 EC 00 10 28 */ fsubs f0, f0, f2 /* 8003C67C 000382DC D0 01 00 10 */ stfs f0, 0x10(r1) /* 8003C680 000382E0 88 04 00 03 */ lbz r0, 3(r4) /* 8003C684 000382E4 38 83 0C 38 */ addi r4, r3, 0xc38 /* 8003C688 000382E8 7C 86 23 78 */ mr r6, r4 /* 8003C68C 000382EC 38 63 04 D0 */ addi r3, r3, 0x4d0 /* 8003C690 000382F0 90 01 00 24 */ stw r0, 0x24(r1) /* 8003C694 000382F4 C8 01 00 20 */ lfd f0, 0x20(r1) /* 8003C698 000382F8 EC 00 10 28 */ fsubs f0, f0, f2 /* 8003C69C 000382FC D0 01 00 14 */ stfs f0, 0x14(r1) /* 8003C6A0 00038300 48 01 44 AD */ bl func_80050B4C lbl_8003C6A4: /* 8003C6A4 00038304 80 01 00 34 */ lwz r0, 0x34(r1) /* 8003C6A8 00038308 7C 08 03 A6 */ mtlr r0 /* 8003C6AC 0003830C 38 21 00 30 */ addi r1, r1, 0x30 /* 8003C6B0 00038310 4E 80 00 20 */ blr .global func_8003C6B4 func_8003C6B4: /* 8003C6B4 00038314 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8003C6B8 00038318 7C 08 02 A6 */ mflr r0 /* 8003C6BC 0003831C 90 01 00 24 */ stw r0, 0x24(r1) /* 8003C6C0 00038320 DB E1 00 10 */ stfd f31, 0x10(r1) /* 8003C6C4 00038324 F3 E1 00 18 */ psq_st f31, 24(r1), 0, qr0 /* 8003C6C8 00038328 FF E0 08 90 */ fmr f31, f1 /* 8003C6CC 0003832C 93 E1 00 0C */ stw r31, 0xc(r1) /* 8003C6D0 00038330 93 C1 00 08 */ stw r30, 8(r1) /* 8003C6D4 00038334 7C 7E 1B 78 */ mr r30, r3 /* 8003C6D8 00038338 80 03 0C 04 */ lwz r0, 0xc04(r3) /* 8003C6DC 0003833C 2C 00 00 00 */ cmpwi r0, 0 /* 8003C6E0 00038340 41 82 01 3C */ beq lbl_8003C81C /* 8003C6E4 00038344 48 00 06 69 */ bl func_8003CD4C /* 8003C6E8 00038348 48 19 E4 41 */ bl func_801DAB28 /* 8003C6EC 0003834C 2C 03 00 00 */ cmpwi r3, 0 /* 8003C6F0 00038350 41 82 00 14 */ beq lbl_8003C704 /* 8003C6F4 00038354 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 8003C6F8 00038358 38 80 00 70 */ li r4, 0x70 /* 8003C6FC 0003835C 48 19 E5 99 */ bl func_801DAC94 /* 8003C700 00038360 48 00 00 08 */ b lbl_8003C708 lbl_8003C704: /* 8003C704 00038364 38 60 00 00 */ li r3, 0 lbl_8003C708: /* 8003C708 00038368 2C 03 00 00 */ cmpwi r3, 0 /* 8003C70C 0003836C 7C 7F 1B 78 */ mr r31, r3 /* 8003C710 00038370 41 82 00 10 */ beq lbl_8003C720 /* 8003C714 00038374 80 9E 0C 04 */ lwz r4, 0xc04(r30) /* 8003C718 00038378 48 1E 0D 0D */ bl func_8021D424 /* 8003C71C 0003837C 7C 7F 1B 78 */ mr r31, r3 lbl_8003C720: /* 8003C720 00038380 2C 1F 00 00 */ cmpwi r31, 0 /* 8003C724 00038384 41 82 00 F8 */ beq lbl_8003C81C /* 8003C728 00038388 93 FE 0C 08 */ stw r31, 0xc08(r30) /* 8003C72C 0003838C 7F E3 FB 78 */ mr r3, r31 /* 8003C730 00038390 88 1E 0D B4 */ lbz r0, 0xdb4(r30) /* 8003C734 00038394 98 1F 00 1E */ stb r0, 0x1e(r31) /* 8003C738 00038398 88 1E 0D B5 */ lbz r0, 0xdb5(r30) /* 8003C73C 0003839C 98 1F 00 20 */ stb r0, 0x20(r31) /* 8003C740 000383A0 88 1E 0D C0 */ lbz r0, 0xdc0(r30) /* 8003C744 000383A4 98 1F 00 28 */ stb r0, 0x28(r31) /* 8003C748 000383A8 88 1E 0D C1 */ lbz r0, 0xdc1(r30) /* 8003C74C 000383AC 98 1F 00 29 */ stb r0, 0x29(r31) /* 8003C750 000383B0 88 1E 0D C2 */ lbz r0, 0xdc2(r30) /* 8003C754 000383B4 98 1F 00 2A */ stb r0, 0x2a(r31) /* 8003C758 000383B8 88 1E 0D C3 */ lbz r0, 0xdc3(r30) /* 8003C75C 000383BC 98 1F 00 2B */ stb r0, 0x2b(r31) /* 8003C760 000383C0 D3 FF 00 6C */ stfs f31, 0x6c(r31) /* 8003C764 000383C4 C0 1E 0D B8 */ lfs f0, 0xdb8(r30) /* 8003C768 000383C8 D0 1F 00 48 */ stfs f0, 0x48(r31) /* 8003C76C 000383CC 88 1E 0D B6 */ lbz r0, 0xdb6(r30) /* 8003C770 000383D0 98 1F 00 1F */ stb r0, 0x1f(r31) /* 8003C774 000383D4 C0 1E 0D C4 */ lfs f0, 0xdc4(r30) /* 8003C778 000383D8 D0 1F 00 5C */ stfs f0, 0x5c(r31) /* 8003C77C 000383DC C0 1E 0D C8 */ lfs f0, 0xdc8(r30) /* 8003C780 000383E0 D0 1F 00 60 */ stfs f0, 0x60(r31) /* 8003C784 000383E4 C0 1E 0D CC */ lfs f0, 0xdcc(r30) /* 8003C788 000383E8 D0 1F 00 64 */ stfs f0, 0x64(r31) /* 8003C78C 000383EC C0 1E 0D BC */ lfs f0, 0xdbc(r30) /* 8003C790 000383F0 D0 1F 00 44 */ stfs f0, 0x44(r31) /* 8003C794 000383F4 C0 1E 0D D0 */ lfs f0, 0xdd0(r30) /* 8003C798 000383F8 D0 1F 00 38 */ stfs f0, 0x38(r31) /* 8003C79C 000383FC C0 1E 0D D4 */ lfs f0, 0xdd4(r30) /* 8003C7A0 00038400 D0 1F 00 3C */ stfs f0, 0x3c(r31) /* 8003C7A4 00038404 C0 1E 0D D8 */ lfs f0, 0xdd8(r30) /* 8003C7A8 00038408 D0 1F 00 40 */ stfs f0, 0x40(r31) /* 8003C7AC 0003840C C0 1E 0D DC */ lfs f0, 0xddc(r30) /* 8003C7B0 00038410 D0 1F 00 2C */ stfs f0, 0x2c(r31) /* 8003C7B4 00038414 C0 1E 0D E0 */ lfs f0, 0xde0(r30) /* 8003C7B8 00038418 D0 1F 00 30 */ stfs f0, 0x30(r31) /* 8003C7BC 0003841C C0 1E 0D E4 */ lfs f0, 0xde4(r30) /* 8003C7C0 00038420 D0 1F 00 34 */ stfs f0, 0x34(r31) /* 8003C7C4 00038424 C0 1E 0D E8 */ lfs f0, 0xde8(r30) /* 8003C7C8 00038428 D0 1F 00 58 */ stfs f0, 0x58(r31) /* 8003C7CC 0003842C C0 1E 0D EC */ lfs f0, 0xdec(r30) /* 8003C7D0 00038430 D0 1F 00 4C */ stfs f0, 0x4c(r31) /* 8003C7D4 00038434 C0 1E 0D F0 */ lfs f0, 0xdf0(r30) /* 8003C7D8 00038438 D0 1F 00 50 */ stfs f0, 0x50(r31) /* 8003C7DC 0003843C C0 1E 0D F4 */ lfs f0, 0xdf4(r30) /* 8003C7E0 00038440 D0 1F 00 54 */ stfs f0, 0x54(r31) /* 8003C7E4 00038444 81 9F 00 0C */ lwz r12, 0xc(r31) /* 8003C7E8 00038448 81 8C 00 08 */ lwz r12, 8(r12) /* 8003C7EC 0003844C 7D 89 03 A6 */ mtctr r12 /* 8003C7F0 00038450 4E 80 04 21 */ bctrl /* 8003C7F4 00038454 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8003C7F8 00038458 98 7F 00 08 */ stb r3, 8(r31) /* 8003C7FC 0003845C 41 82 00 20 */ beq lbl_8003C81C /* 8003C800 00038460 83 FF 00 04 */ lwz r31, 4(r31) /* 8003C804 00038464 57 E3 86 3E */ rlwinm r3, r31, 0x10, 0x18, 0x1f /* 8003C808 00038468 48 1F E8 51 */ bl func_8023B058 /* 8003C80C 0003846C 2C 03 00 00 */ cmpwi r3, 0 /* 8003C810 00038470 41 82 00 0C */ beq lbl_8003C81C /* 8003C814 00038474 7F E4 FB 78 */ mr r4, r31 /* 8003C818 00038478 48 1F EB A1 */ bl func_8023B3B8 lbl_8003C81C: /* 8003C81C 0003847C E3 E1 00 18 */ psq_l f31, 24(r1), 0, qr0 /* 8003C820 00038480 80 01 00 24 */ lwz r0, 0x24(r1) /* 8003C824 00038484 CB E1 00 10 */ lfd f31, 0x10(r1) /* 8003C828 00038488 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8003C82C 0003848C 83 C1 00 08 */ lwz r30, 8(r1) /* 8003C830 00038490 7C 08 03 A6 */ mtlr r0 /* 8003C834 00038494 38 21 00 20 */ addi r1, r1, 0x20 /* 8003C838 00038498 4E 80 00 20 */ blr .global func_8003C83C func_8003C83C: /* 8003C83C 0003849C 80 63 0C 04 */ lwz r3, 0xc04(r3) /* 8003C840 000384A0 2C 03 00 00 */ cmpwi r3, 0 /* 8003C844 000384A4 4D 82 00 20 */ beqlr /* 8003C848 000384A8 7C 80 00 34 */ cntlzw r0, r4 /* 8003C84C 000384AC 54 04 D9 7E */ srwi r4, r0, 5 /* 8003C850 000384B0 48 1B 99 08 */ b func_801F6158 /* 8003C854 000384B4 4E 80 00 20 */ blr .global func_8003C858 func_8003C858: /* 8003C858 000384B8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8003C85C 000384BC 7C 08 02 A6 */ mflr r0 /* 8003C860 000384C0 90 01 00 24 */ stw r0, 0x24(r1) /* 8003C864 000384C4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8003C868 000384C8 7C 9F 23 78 */ mr r31, r4 /* 8003C86C 000384CC 93 C1 00 18 */ stw r30, 0x18(r1) /* 8003C870 000384D0 7C 7E 1B 78 */ mr r30, r3 /* 8003C874 000384D4 80 03 0C 04 */ lwz r0, 0xc04(r3) /* 8003C878 000384D8 2C 00 00 00 */ cmpwi r0, 0 /* 8003C87C 000384DC 41 82 00 0C */ beq lbl_8003C888 /* 8003C880 000384E0 7C 03 03 78 */ mr r3, r0 /* 8003C884 000384E4 48 1B 98 99 */ bl func_801F611C lbl_8003C888: /* 8003C888 000384E8 3C 00 43 30 */ lis r0, 0x4330 /* 8003C88C 000384EC 93 E1 00 0C */ stw r31, 0xc(r1) /* 8003C890 000384F0 C8 42 82 50 */ lfd f2, lbl_80640850-_SDA2_BASE_(r2) /* 8003C894 000384F4 90 01 00 08 */ stw r0, 8(r1) /* 8003C898 000384F8 C0 02 82 38 */ lfs f0, lbl_80640838-_SDA2_BASE_(r2) /* 8003C89C 000384FC C8 21 00 08 */ lfd f1, 8(r1) /* 8003C8A0 00038500 EC 21 10 28 */ fsubs f1, f1, f2 /* 8003C8A4 00038504 EC 01 00 24 */ fdivs f0, f1, f0 /* 8003C8A8 00038508 D0 1E 0C 70 */ stfs f0, 0xc70(r30) /* 8003C8AC 0003850C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8003C8B0 00038510 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8003C8B4 00038514 80 01 00 24 */ lwz r0, 0x24(r1) /* 8003C8B8 00038518 7C 08 03 A6 */ mtlr r0 /* 8003C8BC 0003851C 38 21 00 20 */ addi r1, r1, 0x20 /* 8003C8C0 00038520 4E 80 00 20 */ blr .global func_8003C8C4 func_8003C8C4: /* 8003C8C4 00038524 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8003C8C8 00038528 7C 08 02 A6 */ mflr r0 /* 8003C8CC 0003852C 7C A7 2B 78 */ mr r7, r5 /* 8003C8D0 00038530 C8 62 82 50 */ lfd f3, lbl_80640850-_SDA2_BASE_(r2) /* 8003C8D4 00038534 90 01 00 24 */ stw r0, 0x24(r1) /* 8003C8D8 00038538 3C 00 43 30 */ lis r0, 0x4330 /* 8003C8DC 0003853C C0 02 82 38 */ lfs f0, lbl_80640838-_SDA2_BASE_(r2) /* 8003C8E0 00038540 38 A1 00 08 */ addi r5, r1, 8 /* 8003C8E4 00038544 90 81 00 14 */ stw r4, 0x14(r1) /* 8003C8E8 00038548 38 83 0C 70 */ addi r4, r3, 0xc70 /* 8003C8EC 0003854C 7C 86 23 78 */ mr r6, r4 /* 8003C8F0 00038550 38 63 01 90 */ addi r3, r3, 0x190 /* 8003C8F4 00038554 90 01 00 10 */ stw r0, 0x10(r1) /* 8003C8F8 00038558 C8 41 00 10 */ lfd f2, 0x10(r1) /* 8003C8FC 0003855C EC 42 18 28 */ fsubs f2, f2, f3 /* 8003C900 00038560 EC 02 00 24 */ fdivs f0, f2, f0 /* 8003C904 00038564 D0 01 00 08 */ stfs f0, 8(r1) /* 8003C908 00038568 48 01 3A 35 */ bl func_8005033C /* 8003C90C 0003856C 80 01 00 24 */ lwz r0, 0x24(r1) /* 8003C910 00038570 7C 08 03 A6 */ mtlr r0 /* 8003C914 00038574 38 21 00 20 */ addi r1, r1, 0x20 /* 8003C918 00038578 4E 80 00 20 */ blr .global func_8003C91C func_8003C91C: /* 8003C91C 0003857C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8003C920 00038580 38 00 00 00 */ li r0, 0 /* 8003C924 00038584 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 8003C928 00038588 C0 02 82 AC */ lfs f0, lbl_806408AC-_SDA2_BASE_(r2) /* 8003C92C 0003858C 98 03 00 00 */ stb r0, 0(r3) /* 8003C930 00038590 D0 23 00 10 */ stfs f1, 0x10(r3) /* 8003C934 00038594 D0 23 00 0C */ stfs f1, 0xc(r3) /* 8003C938 00038598 D0 23 00 08 */ stfs f1, 8(r3) /* 8003C93C 0003859C D0 23 00 04 */ stfs f1, 4(r3) /* 8003C940 000385A0 98 03 00 14 */ stb r0, 0x14(r3) /* 8003C944 000385A4 D0 01 00 10 */ stfs f0, 0x10(r1) /* 8003C948 000385A8 D0 01 00 14 */ stfs f0, 0x14(r1) /* 8003C94C 000385AC D0 03 00 18 */ stfs f0, 0x18(r3) /* 8003C950 000385B0 D0 03 00 1C */ stfs f0, 0x1c(r3) /* 8003C954 000385B4 D0 21 00 08 */ stfs f1, 8(r1) /* 8003C958 000385B8 D0 21 00 0C */ stfs f1, 0xc(r1) /* 8003C95C 000385BC D0 23 00 28 */ stfs f1, 0x28(r3) /* 8003C960 000385C0 D0 23 00 2C */ stfs f1, 0x2c(r3) /* 8003C964 000385C4 D0 23 00 20 */ stfs f1, 0x20(r3) /* 8003C968 000385C8 D0 23 00 24 */ stfs f1, 0x24(r3) /* 8003C96C 000385CC 38 21 00 20 */ addi r1, r1, 0x20 /* 8003C970 000385D0 4E 80 00 20 */ blr .global func_8003C974 func_8003C974: /* 8003C974 000385D4 94 21 FF A0 */ stwu r1, -0x60(r1) /* 8003C978 000385D8 7C 08 02 A6 */ mflr r0 /* 8003C97C 000385DC 90 01 00 64 */ stw r0, 0x64(r1) /* 8003C980 000385E0 39 61 00 60 */ addi r11, r1, 0x60 /* 8003C984 000385E4 48 18 A7 A5 */ bl _savegpr_27 /* 8003C988 000385E8 80 03 0C 04 */ lwz r0, 0xc04(r3) /* 8003C98C 000385EC 38 E0 00 01 */ li r7, 1 /* 8003C990 000385F0 98 E3 0D 44 */ stb r7, 0xd44(r3) /* 8003C994 000385F4 7C 7B 1B 78 */ mr r27, r3 /* 8003C998 000385F8 2C 00 00 00 */ cmpwi r0, 0 /* 8003C99C 000385FC 7C 9C 23 78 */ mr r28, r4 /* 8003C9A0 00038600 7C BF 2B 78 */ mr r31, r5 /* 8003C9A4 00038604 7C DD 33 78 */ mr r29, r6 /* 8003C9A8 00038608 3B C0 00 00 */ li r30, 0 /* 8003C9AC 0003860C 41 82 01 40 */ beq lbl_8003CAEC /* 8003C9B0 00038610 48 00 38 45 */ bl func_800401F4 /* 8003C9B4 00038614 2C 03 00 00 */ cmpwi r3, 0 /* 8003C9B8 00038618 41 82 00 10 */ beq lbl_8003C9C8 /* 8003C9BC 0003861C 38 9D 00 01 */ addi r4, r29, 1 /* 8003C9C0 00038620 48 00 39 C5 */ bl func_80040384 /* 8003C9C4 00038624 7C 7E 1B 78 */ mr r30, r3 lbl_8003C9C8: /* 8003C9C8 00038628 2C 1E 00 00 */ cmpwi r30, 0 /* 8003C9CC 0003862C 41 82 01 20 */ beq lbl_8003CAEC /* 8003C9D0 00038630 7F 83 E3 78 */ mr r3, r28 /* 8003C9D4 00038634 7F E4 FB 78 */ mr r4, r31 /* 8003C9D8 00038638 48 19 EA E5 */ bl func_801DB4BC /* 8003C9DC 0003863C 7C 7D 1B 78 */ mr r29, r3 /* 8003C9E0 00038640 7F C3 F3 78 */ mr r3, r30 /* 8003C9E4 00038644 48 00 5B AD */ bl func_80042590 /* 8003C9E8 00038648 7C 7F 1B 78 */ mr r31, r3 /* 8003C9EC 0003864C 7F C3 F3 78 */ mr r3, r30 /* 8003C9F0 00038650 48 00 48 15 */ bl func_80041204 /* 8003C9F4 00038654 7C 64 1B 78 */ mr r4, r3 /* 8003C9F8 00038658 7F E3 FB 78 */ mr r3, r31 /* 8003C9FC 0003865C 38 A1 00 28 */ addi r5, r1, 0x28 /* 8003CA00 00038660 48 24 02 E9 */ bl PSVECSubtract /* 8003CA04 00038664 C0 41 00 28 */ lfs f2, 0x28(r1) /* 8003CA08 00038668 38 61 00 34 */ addi r3, r1, 0x34 /* 8003CA0C 0003866C C0 21 00 2C */ lfs f1, 0x2c(r1) /* 8003CA10 00038670 7C 64 1B 78 */ mr r4, r3 /* 8003CA14 00038674 C0 01 00 30 */ lfs f0, 0x30(r1) /* 8003CA18 00038678 D0 41 00 34 */ stfs f2, 0x34(r1) /* 8003CA1C 0003867C D0 21 00 38 */ stfs f1, 0x38(r1) /* 8003CA20 00038680 D0 01 00 3C */ stfs f0, 0x3c(r1) /* 8003CA24 00038684 48 24 03 05 */ bl PSVECNormalize /* 8003CA28 00038688 80 7B 0C 04 */ lwz r3, 0xc04(r27) /* 8003CA2C 0003868C 7F A4 EB 78 */ mr r4, r29 /* 8003CA30 00038690 7F E5 FB 78 */ mr r5, r31 /* 8003CA34 00038694 38 C1 00 34 */ addi r6, r1, 0x34 /* 8003CA38 00038698 38 E0 00 00 */ li r7, 0 /* 8003CA3C 0003869C 48 1B BE B1 */ bl func_801F88EC /* 8003CA40 000386A0 98 7B 0D 30 */ stb r3, 0xd30(r27) /* 8003CA44 000386A4 7F 63 DB 78 */ mr r3, r27 /* 8003CA48 000386A8 4B FF CC 8D */ bl func_800396D4 /* 8003CA4C 000386AC C0 22 82 30 */ lfs f1, lbl_80640830-_SDA2_BASE_(r2) /* 8003CA50 000386B0 48 01 1A 4D */ bl func_8004E49C /* 8003CA54 000386B4 D0 3B 0D 60 */ stfs f1, 0xd60(r27) /* 8003CA58 000386B8 38 A1 00 20 */ addi r5, r1, 0x20 /* 8003CA5C 000386BC C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003CA60 000386C0 D0 01 00 20 */ stfs f0, 0x20(r1) /* 8003CA64 000386C4 D0 01 00 24 */ stfs f0, 0x24(r1) /* 8003CA68 000386C8 80 7B 0C 04 */ lwz r3, 0xc04(r27) /* 8003CA6C 000386CC 88 9B 0D 30 */ lbz r4, 0xd30(r27) /* 8003CA70 000386D0 48 1B C0 D1 */ bl func_801F8B40 /* 8003CA74 000386D4 C0 5B 0D 60 */ lfs f2, 0xd60(r27) /* 8003CA78 000386D8 38 A1 00 18 */ addi r5, r1, 0x18 /* 8003CA7C 000386DC C0 3B 0D 4C */ lfs f1, 0xd4c(r27) /* 8003CA80 000386E0 C0 1B 0D 48 */ lfs f0, 0xd48(r27) /* 8003CA84 000386E4 EC 21 00 B2 */ fmuls f1, f1, f2 /* 8003CA88 000386E8 EC 00 00 B2 */ fmuls f0, f0, f2 /* 8003CA8C 000386EC D0 21 00 0C */ stfs f1, 0xc(r1) /* 8003CA90 000386F0 D0 01 00 08 */ stfs f0, 8(r1) /* 8003CA94 000386F4 80 01 00 0C */ lwz r0, 0xc(r1) /* 8003CA98 000386F8 80 61 00 08 */ lwz r3, 8(r1) /* 8003CA9C 000386FC 90 01 00 1C */ stw r0, 0x1c(r1) /* 8003CAA0 00038700 90 61 00 18 */ stw r3, 0x18(r1) /* 8003CAA4 00038704 80 7B 0C 04 */ lwz r3, 0xc04(r27) /* 8003CAA8 00038708 88 9B 0D 30 */ lbz r4, 0xd30(r27) /* 8003CAAC 0003870C 48 1B C0 C5 */ bl func_801F8B70 /* 8003CAB0 00038710 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003CAB4 00038714 7F A3 EB 78 */ mr r3, r29 /* 8003CAB8 00038718 38 80 00 02 */ li r4, 2 /* 8003CABC 0003871C 38 A0 00 02 */ li r5, 2 /* 8003CAC0 00038720 D0 1B 0D 40 */ stfs f0, 0xd40(r27) /* 8003CAC4 00038724 38 C0 00 02 */ li r6, 2 /* 8003CAC8 00038728 D0 01 00 10 */ stfs f0, 0x10(r1) /* 8003CACC 0003872C D0 01 00 14 */ stfs f0, 0x14(r1) /* 8003CAD0 00038730 D0 1B 0D 58 */ stfs f0, 0xd58(r27) /* 8003CAD4 00038734 D0 1B 0D 5C */ stfs f0, 0xd5c(r27) /* 8003CAD8 00038738 48 20 18 F1 */ bl func_8023E3C8 /* 8003CADC 0003873C 7F A3 EB 78 */ mr r3, r29 /* 8003CAE0 00038740 38 80 00 01 */ li r4, 1 /* 8003CAE4 00038744 38 A0 00 01 */ li r5, 1 /* 8003CAE8 00038748 48 20 18 85 */ bl func_8023E36C lbl_8003CAEC: /* 8003CAEC 0003874C 39 61 00 60 */ addi r11, r1, 0x60 /* 8003CAF0 00038750 48 18 A6 85 */ bl _restgpr_27 /* 8003CAF4 00038754 80 01 00 64 */ lwz r0, 0x64(r1) /* 8003CAF8 00038758 7C 08 03 A6 */ mtlr r0 /* 8003CAFC 0003875C 38 21 00 60 */ addi r1, r1, 0x60 /* 8003CB00 00038760 4E 80 00 20 */ blr .global func_8003CB04 func_8003CB04: /* 8003CB04 00038764 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8003CB08 00038768 7C 08 02 A6 */ mflr r0 /* 8003CB0C 0003876C 90 01 00 14 */ stw r0, 0x14(r1) /* 8003CB10 00038770 93 E1 00 0C */ stw r31, 0xc(r1) /* 8003CB14 00038774 7C 7F 1B 78 */ mr r31, r3 /* 8003CB18 00038778 80 03 0C 04 */ lwz r0, 0xc04(r3) /* 8003CB1C 0003877C 2C 00 00 00 */ cmpwi r0, 0 /* 8003CB20 00038780 41 82 00 10 */ beq lbl_8003CB30 /* 8003CB24 00038784 88 9F 0D 30 */ lbz r4, 0xd30(r31) /* 8003CB28 00038788 7C 03 03 78 */ mr r3, r0 /* 8003CB2C 0003878C 48 1B C0 99 */ bl func_801F8BC4 lbl_8003CB30: /* 8003CB30 00038790 38 00 00 00 */ li r0, 0 /* 8003CB34 00038794 98 1F 0D 44 */ stb r0, 0xd44(r31) /* 8003CB38 00038798 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8003CB3C 0003879C 80 01 00 14 */ lwz r0, 0x14(r1) /* 8003CB40 000387A0 7C 08 03 A6 */ mtlr r0 /* 8003CB44 000387A4 38 21 00 10 */ addi r1, r1, 0x10 /* 8003CB48 000387A8 4E 80 00 20 */ blr .global func_8003CB4C func_8003CB4C: /* 8003CB4C 000387AC C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003CB50 000387B0 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8003CB54 000387B4 4C 40 13 82 */ cror 2, 0, 2 /* 8003CB58 000387B8 40 82 00 10 */ bne lbl_8003CB68 /* 8003CB5C 000387BC 38 00 00 00 */ li r0, 0 /* 8003CB60 000387C0 98 03 0D 44 */ stb r0, 0xd44(r3) /* 8003CB64 000387C4 4E 80 00 20 */ blr lbl_8003CB68: /* 8003CB68 000387C8 FC 01 10 40 */ fcmpo cr0, f1, f2 /* 8003CB6C 000387CC D0 23 0D 34 */ stfs f1, 0xd34(r3) /* 8003CB70 000387D0 40 80 00 08 */ bge lbl_8003CB78 /* 8003CB74 000387D4 FC 40 08 90 */ fmr f2, f1 lbl_8003CB78: /* 8003CB78 000387D8 FC 01 18 40 */ fcmpo cr0, f1, f3 /* 8003CB7C 000387DC 40 80 00 08 */ bge lbl_8003CB84 /* 8003CB80 000387E0 FC 60 08 90 */ fmr f3, f1 lbl_8003CB84: /* 8003CB84 000387E4 D0 43 0D 3C */ stfs f2, 0xd3c(r3) /* 8003CB88 000387E8 D0 63 0D 38 */ stfs f3, 0xd38(r3) /* 8003CB8C 000387EC 4E 80 00 20 */ blr .global func_8003CB90 func_8003CB90: /* 8003CB90 000387F0 C0 04 00 00 */ lfs f0, 0(r4) /* 8003CB94 000387F4 D0 03 0D 50 */ stfs f0, 0xd50(r3) /* 8003CB98 000387F8 C0 04 00 04 */ lfs f0, 4(r4) /* 8003CB9C 000387FC D0 03 0D 54 */ stfs f0, 0xd54(r3) /* 8003CBA0 00038800 4E 80 00 20 */ blr .global func_8003CBA4 func_8003CBA4: /* 8003CBA4 00038804 C0 04 00 00 */ lfs f0, 0(r4) /* 8003CBA8 00038808 D0 03 0D 48 */ stfs f0, 0xd48(r3) /* 8003CBAC 0003880C C0 04 00 04 */ lfs f0, 4(r4) /* 8003CBB0 00038810 D0 03 0D 4C */ stfs f0, 0xd4c(r3) /* 8003CBB4 00038814 4E 80 00 20 */ blr .global func_8003CBB8 func_8003CBB8: /* 8003CBB8 00038818 94 21 FF C0 */ stwu r1, -0x40(r1) /* 8003CBBC 0003881C 7C 08 02 A6 */ mflr r0 /* 8003CBC0 00038820 90 01 00 44 */ stw r0, 0x44(r1) /* 8003CBC4 00038824 DB E1 00 30 */ stfd f31, 0x30(r1) /* 8003CBC8 00038828 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0 /* 8003CBCC 0003882C FF E0 08 90 */ fmr f31, f1 /* 8003CBD0 00038830 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8003CBD4 00038834 7C 7F 1B 78 */ mr r31, r3 /* 8003CBD8 00038838 88 03 0D 44 */ lbz r0, 0xd44(r3) /* 8003CBDC 0003883C 2C 00 00 00 */ cmpwi r0, 0 /* 8003CBE0 00038840 41 82 01 50 */ beq lbl_8003CD30 /* 8003CBE4 00038844 C0 23 0D 34 */ lfs f1, 0xd34(r3) /* 8003CBE8 00038848 C0 03 0D 40 */ lfs f0, 0xd40(r3) /* 8003CBEC 0003884C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8003CBF0 00038850 40 80 00 0C */ bge lbl_8003CBFC /* 8003CBF4 00038854 4B FF FF 11 */ bl func_8003CB04 /* 8003CBF8 00038858 48 00 01 38 */ b lbl_8003CD30 lbl_8003CBFC: /* 8003CBFC 0003885C C0 43 0D 60 */ lfs f2, 0xd60(r3) /* 8003CC00 00038860 C0 23 0D 54 */ lfs f1, 0xd54(r3) /* 8003CC04 00038864 C0 03 0D 50 */ lfs f0, 0xd50(r3) /* 8003CC08 00038868 EC 81 00 B2 */ fmuls f4, f1, f2 /* 8003CC0C 0003886C 80 A3 0C 04 */ lwz r5, 0xc04(r3) /* 8003CC10 00038870 EC 00 00 B2 */ fmuls f0, f0, f2 /* 8003CC14 00038874 C0 63 0D 58 */ lfs f3, 0xd58(r3) /* 8003CC18 00038878 C0 23 0D 5C */ lfs f1, 0xd5c(r3) /* 8003CC1C 0003887C 2C 05 00 00 */ cmpwi r5, 0 /* 8003CC20 00038880 D0 01 00 08 */ stfs f0, 8(r1) /* 8003CC24 00038884 D0 81 00 0C */ stfs f4, 0xc(r1) /* 8003CC28 00038888 80 81 00 08 */ lwz r4, 8(r1) /* 8003CC2C 0003888C 80 01 00 0C */ lwz r0, 0xc(r1) /* 8003CC30 00038890 90 81 00 10 */ stw r4, 0x10(r1) /* 8003CC34 00038894 90 01 00 14 */ stw r0, 0x14(r1) /* 8003CC38 00038898 C0 41 00 10 */ lfs f2, 0x10(r1) /* 8003CC3C 0003889C C0 01 00 14 */ lfs f0, 0x14(r1) /* 8003CC40 000388A0 EC 43 10 2A */ fadds f2, f3, f2 /* 8003CC44 000388A4 EC 01 00 2A */ fadds f0, f1, f0 /* 8003CC48 000388A8 D0 43 0D 58 */ stfs f2, 0xd58(r3) /* 8003CC4C 000388AC D0 03 0D 5C */ stfs f0, 0xd5c(r3) /* 8003CC50 000388B0 41 82 00 14 */ beq lbl_8003CC64 /* 8003CC54 000388B4 88 9F 0D 30 */ lbz r4, 0xd30(r31) /* 8003CC58 000388B8 7C A3 2B 78 */ mr r3, r5 /* 8003CC5C 000388BC 38 BF 0D 58 */ addi r5, r31, 0xd58 /* 8003CC60 000388C0 48 1B BE E1 */ bl func_801F8B40 lbl_8003CC64: /* 8003CC64 000388C4 C0 5F 0D 40 */ lfs f2, 0xd40(r31) /* 8003CC68 000388C8 C0 3F 0D 3C */ lfs f1, 0xd3c(r31) /* 8003CC6C 000388CC FC 02 08 40 */ fcmpo cr0, f2, f1 /* 8003CC70 000388D0 40 80 00 44 */ bge lbl_8003CCB4 /* 8003CC74 000388D4 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003CC78 000388D8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8003CC7C 000388DC 40 81 00 38 */ ble lbl_8003CCB4 /* 8003CC80 000388E0 EC 22 08 24 */ fdivs f1, f2, f1 /* 8003CC84 000388E4 80 7F 0C 04 */ lwz r3, 0xc04(r31) /* 8003CC88 000388E8 2C 03 00 00 */ cmpwi r3, 0 /* 8003CC8C 000388EC 41 82 00 98 */ beq lbl_8003CD24 /* 8003CC90 000388F0 C0 02 82 38 */ lfs f0, lbl_80640838-_SDA2_BASE_(r2) /* 8003CC94 000388F4 88 9F 0D 30 */ lbz r4, 0xd30(r31) /* 8003CC98 000388F8 EC 00 00 72 */ fmuls f0, f0, f1 /* 8003CC9C 000388FC FC 00 00 1E */ fctiwz f0, f0 /* 8003CCA0 00038900 D8 01 00 18 */ stfd f0, 0x18(r1) /* 8003CCA4 00038904 80 A1 00 1C */ lwz r5, 0x1c(r1) /* 8003CCA8 00038908 54 A5 06 3E */ clrlwi r5, r5, 0x18 /* 8003CCAC 0003890C 48 1B BE F5 */ bl func_801F8BA0 /* 8003CCB0 00038910 48 00 00 74 */ b lbl_8003CD24 lbl_8003CCB4: /* 8003CCB4 00038914 C0 1F 0D 34 */ lfs f0, 0xd34(r31) /* 8003CCB8 00038918 C0 5F 0D 38 */ lfs f2, 0xd38(r31) /* 8003CCBC 0003891C C0 7F 0D 40 */ lfs f3, 0xd40(r31) /* 8003CCC0 00038920 EC 20 10 28 */ fsubs f1, f0, f2 /* 8003CCC4 00038924 FC 03 08 40 */ fcmpo cr0, f3, f1 /* 8003CCC8 00038928 40 81 00 4C */ ble lbl_8003CD14 /* 8003CCCC 0003892C C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003CCD0 00038930 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 8003CCD4 00038934 40 81 00 40 */ ble lbl_8003CD14 /* 8003CCD8 00038938 EC 03 08 28 */ fsubs f0, f3, f1 /* 8003CCDC 0003893C 80 7F 0C 04 */ lwz r3, 0xc04(r31) /* 8003CCE0 00038940 2C 03 00 00 */ cmpwi r3, 0 /* 8003CCE4 00038944 EC 00 10 24 */ fdivs f0, f0, f2 /* 8003CCE8 00038948 41 82 00 3C */ beq lbl_8003CD24 /* 8003CCEC 0003894C C0 22 82 38 */ lfs f1, lbl_80640838-_SDA2_BASE_(r2) /* 8003CCF0 00038950 88 9F 0D 30 */ lbz r4, 0xd30(r31) /* 8003CCF4 00038954 EC 01 00 32 */ fmuls f0, f1, f0 /* 8003CCF8 00038958 EC 01 00 28 */ fsubs f0, f1, f0 /* 8003CCFC 0003895C FC 00 00 1E */ fctiwz f0, f0 /* 8003CD00 00038960 D8 01 00 18 */ stfd f0, 0x18(r1) /* 8003CD04 00038964 80 A1 00 1C */ lwz r5, 0x1c(r1) /* 8003CD08 00038968 54 A5 06 3E */ clrlwi r5, r5, 0x18 /* 8003CD0C 0003896C 48 1B BE 95 */ bl func_801F8BA0 /* 8003CD10 00038970 48 00 00 14 */ b lbl_8003CD24 lbl_8003CD14: /* 8003CD14 00038974 80 7F 0C 04 */ lwz r3, 0xc04(r31) /* 8003CD18 00038978 38 A0 00 FF */ li r5, 0xff /* 8003CD1C 0003897C 88 9F 0D 30 */ lbz r4, 0xd30(r31) /* 8003CD20 00038980 48 1B BE 81 */ bl func_801F8BA0 lbl_8003CD24: /* 8003CD24 00038984 C0 1F 0D 40 */ lfs f0, 0xd40(r31) /* 8003CD28 00038988 EC 00 F8 2A */ fadds f0, f0, f31 /* 8003CD2C 0003898C D0 1F 0D 40 */ stfs f0, 0xd40(r31) lbl_8003CD30: /* 8003CD30 00038990 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0 /* 8003CD34 00038994 80 01 00 44 */ lwz r0, 0x44(r1) /* 8003CD38 00038998 CB E1 00 30 */ lfd f31, 0x30(r1) /* 8003CD3C 0003899C 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8003CD40 000389A0 7C 08 03 A6 */ mtlr r0 /* 8003CD44 000389A4 38 21 00 40 */ addi r1, r1, 0x40 /* 8003CD48 000389A8 4E 80 00 20 */ blr .global func_8003CD4C func_8003CD4C: /* 8003CD4C 000389AC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8003CD50 000389B0 7C 08 02 A6 */ mflr r0 /* 8003CD54 000389B4 90 01 00 14 */ stw r0, 0x14(r1) /* 8003CD58 000389B8 93 E1 00 0C */ stw r31, 0xc(r1) /* 8003CD5C 000389BC 7C 7F 1B 78 */ mr r31, r3 /* 8003CD60 000389C0 80 03 0C 08 */ lwz r0, 0xc08(r3) /* 8003CD64 000389C4 2C 00 00 00 */ cmpwi r0, 0 /* 8003CD68 000389C8 41 82 00 28 */ beq lbl_8003CD90 /* 8003CD6C 000389CC 41 82 00 1C */ beq lbl_8003CD88 /* 8003CD70 000389D0 7C 03 03 78 */ mr r3, r0 /* 8003CD74 000389D4 38 80 00 01 */ li r4, 1 /* 8003CD78 000389D8 81 83 00 0C */ lwz r12, 0xc(r3) /* 8003CD7C 000389DC 81 8C 00 18 */ lwz r12, 0x18(r12) /* 8003CD80 000389E0 7D 89 03 A6 */ mtctr r12 /* 8003CD84 000389E4 4E 80 04 21 */ bctrl lbl_8003CD88: /* 8003CD88 000389E8 38 00 00 00 */ li r0, 0 /* 8003CD8C 000389EC 90 1F 0C 08 */ stw r0, 0xc08(r31) lbl_8003CD90: /* 8003CD90 000389F0 80 01 00 14 */ lwz r0, 0x14(r1) /* 8003CD94 000389F4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8003CD98 000389F8 7C 08 03 A6 */ mtlr r0 /* 8003CD9C 000389FC 38 21 00 10 */ addi r1, r1, 0x10 /* 8003CDA0 00038A00 4E 80 00 20 */ blr .global func_8003CDA4 func_8003CDA4: /* 8003CDA4 00038A04 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8003CDA8 00038A08 7C 08 02 A6 */ mflr r0 /* 8003CDAC 00038A0C 90 01 00 24 */ stw r0, 0x24(r1) /* 8003CDB0 00038A10 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8003CDB4 00038A14 93 C1 00 18 */ stw r30, 0x18(r1) /* 8003CDB8 00038A18 7C 7E 1B 78 */ mr r30, r3 /* 8003CDBC 00038A1C 80 03 0C 04 */ lwz r0, 0xc04(r3) /* 8003CDC0 00038A20 2C 00 00 00 */ cmpwi r0, 0 /* 8003CDC4 00038A24 41 82 00 AC */ beq lbl_8003CE70 /* 8003CDC8 00038A28 4B FF FF 85 */ bl func_8003CD4C /* 8003CDCC 00038A2C 48 19 DD 5D */ bl func_801DAB28 /* 8003CDD0 00038A30 2C 03 00 00 */ cmpwi r3, 0 /* 8003CDD4 00038A34 41 82 00 14 */ beq lbl_8003CDE8 /* 8003CDD8 00038A38 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 8003CDDC 00038A3C 38 80 00 28 */ li r4, 0x28 /* 8003CDE0 00038A40 48 19 DE B5 */ bl func_801DAC94 /* 8003CDE4 00038A44 48 00 00 08 */ b lbl_8003CDEC lbl_8003CDE8: /* 8003CDE8 00038A48 38 60 00 00 */ li r3, 0 lbl_8003CDEC: /* 8003CDEC 00038A4C 2C 03 00 00 */ cmpwi r3, 0 /* 8003CDF0 00038A50 7C 7F 1B 78 */ mr r31, r3 /* 8003CDF4 00038A54 41 82 00 14 */ beq lbl_8003CE08 /* 8003CDF8 00038A58 80 9E 0C 04 */ lwz r4, 0xc04(r30) /* 8003CDFC 00038A5C 38 A0 00 00 */ li r5, 0 /* 8003CE00 00038A60 48 1E 1C 49 */ bl func_8021EA48 /* 8003CE04 00038A64 7C 7F 1B 78 */ mr r31, r3 lbl_8003CE08: /* 8003CE08 00038A68 2C 1F 00 00 */ cmpwi r31, 0 /* 8003CE0C 00038A6C 41 82 00 64 */ beq lbl_8003CE70 /* 8003CE10 00038A70 C0 22 82 98 */ lfs f1, lbl_80640898-_SDA2_BASE_(r2) /* 8003CE14 00038A74 38 00 00 01 */ li r0, 1 /* 8003CE18 00038A78 93 FE 0C 08 */ stw r31, 0xc08(r30) /* 8003CE1C 00038A7C 7F E3 FB 78 */ mr r3, r31 /* 8003CE20 00038A80 C0 02 82 88 */ lfs f0, lbl_80640888-_SDA2_BASE_(r2) /* 8003CE24 00038A84 D0 3F 00 1C */ stfs f1, 0x1c(r31) /* 8003CE28 00038A88 D0 1F 00 20 */ stfs f0, 0x20(r31) /* 8003CE2C 00038A8C 90 1F 00 24 */ stw r0, 0x24(r31) /* 8003CE30 00038A90 81 9F 00 0C */ lwz r12, 0xc(r31) /* 8003CE34 00038A94 D0 21 00 08 */ stfs f1, 8(r1) /* 8003CE38 00038A98 81 8C 00 08 */ lwz r12, 8(r12) /* 8003CE3C 00038A9C D0 01 00 0C */ stfs f0, 0xc(r1) /* 8003CE40 00038AA0 7D 89 03 A6 */ mtctr r12 /* 8003CE44 00038AA4 4E 80 04 21 */ bctrl /* 8003CE48 00038AA8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8003CE4C 00038AAC 98 7F 00 08 */ stb r3, 8(r31) /* 8003CE50 00038AB0 41 82 00 20 */ beq lbl_8003CE70 /* 8003CE54 00038AB4 83 FF 00 04 */ lwz r31, 4(r31) /* 8003CE58 00038AB8 57 E3 86 3E */ rlwinm r3, r31, 0x10, 0x18, 0x1f /* 8003CE5C 00038ABC 48 1F E1 FD */ bl func_8023B058 /* 8003CE60 00038AC0 2C 03 00 00 */ cmpwi r3, 0 /* 8003CE64 00038AC4 41 82 00 0C */ beq lbl_8003CE70 /* 8003CE68 00038AC8 7F E4 FB 78 */ mr r4, r31 /* 8003CE6C 00038ACC 48 1F E5 4D */ bl func_8023B3B8 lbl_8003CE70: /* 8003CE70 00038AD0 80 01 00 24 */ lwz r0, 0x24(r1) /* 8003CE74 00038AD4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8003CE78 00038AD8 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8003CE7C 00038ADC 7C 08 03 A6 */ mtlr r0 /* 8003CE80 00038AE0 38 21 00 20 */ addi r1, r1, 0x20 /* 8003CE84 00038AE4 4E 80 00 20 */ blr .global func_8003CE88 func_8003CE88: /* 8003CE88 00038AE8 80 A3 0C 04 */ lwz r5, 0xc04(r3) /* 8003CE8C 00038AEC 2C 05 00 00 */ cmpwi r5, 0 /* 8003CE90 00038AF0 41 82 00 74 */ beq lbl_8003CF04 /* 8003CE94 00038AF4 A0 65 00 E0 */ lhz r3, 0xe0(r5) /* 8003CE98 00038AF8 7C 04 18 00 */ cmpw r4, r3 /* 8003CE9C 00038AFC 40 80 00 68 */ bge lbl_8003CF04 /* 8003CEA0 00038B00 80 C5 00 10 */ lwz r6, 0x10(r5) /* 8003CEA4 00038B04 2C 06 00 00 */ cmpwi r6, 0 /* 8003CEA8 00038B08 40 82 00 0C */ bne lbl_8003CEB4 /* 8003CEAC 00038B0C 38 60 00 00 */ li r3, 0 /* 8003CEB0 00038B10 4E 80 00 20 */ blr lbl_8003CEB4: /* 8003CEB4 00038B14 54 80 04 3E */ clrlwi r0, r4, 0x10 /* 8003CEB8 00038B18 7C 00 18 40 */ cmplw r0, r3 /* 8003CEBC 00038B1C 41 80 00 0C */ blt lbl_8003CEC8 /* 8003CEC0 00038B20 38 60 00 00 */ li r3, 0 /* 8003CEC4 00038B24 4E 80 00 20 */ blr lbl_8003CEC8: /* 8003CEC8 00038B28 80 E5 00 08 */ lwz r7, 8(r5) /* 8003CECC 00038B2C 54 80 0B FC */ rlwinm r0, r4, 1, 0xf, 0x1e /* 8003CED0 00038B30 7C 66 02 2E */ lhzx r3, r6, r0 /* 8003CED4 00038B34 2C 07 00 00 */ cmpwi r7, 0 /* 8003CED8 00038B38 40 82 00 0C */ bne lbl_8003CEE4 /* 8003CEDC 00038B3C 38 60 00 00 */ li r3, 0 /* 8003CEE0 00038B40 4E 80 00 20 */ blr lbl_8003CEE4: /* 8003CEE4 00038B44 A0 05 00 DE */ lhz r0, 0xde(r5) /* 8003CEE8 00038B48 7C 03 00 40 */ cmplw r3, r0 /* 8003CEEC 00038B4C 41 80 00 0C */ blt lbl_8003CEF8 /* 8003CEF0 00038B50 38 60 00 00 */ li r3, 0 /* 8003CEF4 00038B54 4E 80 00 20 */ blr lbl_8003CEF8: /* 8003CEF8 00038B58 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 8003CEFC 00038B5C 7C 67 00 2E */ lwzx r3, r7, r0 /* 8003CF00 00038B60 4E 80 00 20 */ blr lbl_8003CF04: /* 8003CF04 00038B64 38 60 00 00 */ li r3, 0 /* 8003CF08 00038B68 4E 80 00 20 */ blr .global func_8003CF0C func_8003CF0C: /* 8003CF0C 00038B6C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8003CF10 00038B70 7C 08 02 A6 */ mflr r0 /* 8003CF14 00038B74 90 01 00 14 */ stw r0, 0x14(r1) /* 8003CF18 00038B78 93 E1 00 0C */ stw r31, 0xc(r1) /* 8003CF1C 00038B7C 7C 7F 1B 78 */ mr r31, r3 /* 8003CF20 00038B80 48 00 12 3D */ bl func_8003E15C /* 8003CF24 00038B84 2C 1F 00 00 */ cmpwi r31, 0 /* 8003CF28 00038B88 41 82 00 18 */ beq lbl_8003CF40 /* 8003CF2C 00038B8C 2C 03 00 00 */ cmpwi r3, 0 /* 8003CF30 00038B90 40 82 00 08 */ bne lbl_8003CF38 /* 8003CF34 00038B94 48 00 00 0C */ b lbl_8003CF40 lbl_8003CF38: /* 8003CF38 00038B98 7F E4 FB 78 */ mr r4, r31 /* 8003CF3C 00038B9C 48 00 12 FD */ bl func_8003E238 lbl_8003CF40: /* 8003CF40 00038BA0 80 01 00 14 */ lwz r0, 0x14(r1) /* 8003CF44 00038BA4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8003CF48 00038BA8 7C 08 03 A6 */ mtlr r0 /* 8003CF4C 00038BAC 38 21 00 10 */ addi r1, r1, 0x10 /* 8003CF50 00038BB0 4E 80 00 20 */ blr .global func_8003CF54 func_8003CF54: /* 8003CF54 00038BB4 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8003CF58 00038BB8 7C 08 02 A6 */ mflr r0 /* 8003CF5C 00038BBC 90 01 00 34 */ stw r0, 0x34(r1) /* 8003CF60 00038BC0 39 61 00 30 */ addi r11, r1, 0x30 /* 8003CF64 00038BC4 48 18 A1 B1 */ bl _savegpr_22 /* 8003CF68 00038BC8 7C 7A 1B 78 */ mr r26, r3 /* 8003CF6C 00038BCC 7C 9B 23 78 */ mr r27, r4 /* 8003CF70 00038BD0 7C BC 2B 78 */ mr r28, r5 /* 8003CF74 00038BD4 7C DD 33 78 */ mr r29, r6 /* 8003CF78 00038BD8 7C FE 3B 78 */ mr r30, r7 /* 8003CF7C 00038BDC 7D 1F 43 78 */ mr r31, r8 /* 8003CF80 00038BE0 48 00 11 DD */ bl func_8003E15C /* 8003CF84 00038BE4 2C 03 00 00 */ cmpwi r3, 0 /* 8003CF88 00038BE8 7C 78 1B 78 */ mr r24, r3 /* 8003CF8C 00038BEC 40 82 00 0C */ bne lbl_8003CF98 /* 8003CF90 00038BF0 38 60 00 00 */ li r3, 0 /* 8003CF94 00038BF4 48 00 01 14 */ b lbl_8003D0A8 lbl_8003CF98: /* 8003CF98 00038BF8 7F 64 DB 78 */ mr r4, r27 /* 8003CF9C 00038BFC 7F C6 F3 78 */ mr r6, r30 /* 8003CFA0 00038C00 57 A5 06 3E */ clrlwi r5, r29, 0x18 /* 8003CFA4 00038C04 48 00 16 F5 */ bl func_8003E698 /* 8003CFA8 00038C08 7C 77 1B 78 */ mr r23, r3 /* 8003CFAC 00038C0C 7F 03 C3 78 */ mr r3, r24 /* 8003CFB0 00038C10 7F 64 DB 78 */ mr r4, r27 /* 8003CFB4 00038C14 7F 85 E3 78 */ mr r5, r28 /* 8003CFB8 00038C18 7F C7 F3 78 */ mr r7, r30 /* 8003CFBC 00038C1C 57 A6 06 3E */ clrlwi r6, r29, 0x18 /* 8003CFC0 00038C20 48 00 17 21 */ bl func_8003E6E0 /* 8003CFC4 00038C24 2C 17 00 00 */ cmpwi r23, 0 /* 8003CFC8 00038C28 7C 76 1B 78 */ mr r22, r3 /* 8003CFCC 00038C2C 41 82 00 0C */ beq lbl_8003CFD8 /* 8003CFD0 00038C30 2C 03 00 00 */ cmpwi r3, 0 /* 8003CFD4 00038C34 40 82 00 0C */ bne lbl_8003CFE0 lbl_8003CFD8: /* 8003CFD8 00038C38 38 60 00 00 */ li r3, 0 /* 8003CFDC 00038C3C 48 00 00 CC */ b lbl_8003D0A8 lbl_8003CFE0: /* 8003CFE0 00038C40 80 1A 00 00 */ lwz r0, 0(r26) /* 8003CFE4 00038C44 7F 43 D3 78 */ mr r3, r26 /* 8003CFE8 00038C48 54 18 05 28 */ rlwinm r24, r0, 0, 0x14, 0x14 /* 8003CFEC 00038C4C 4B FF A5 B9 */ bl func_800375A4 /* 8003CFF0 00038C50 80 1A 00 00 */ lwz r0, 0(r26) /* 8003CFF4 00038C54 7E E3 BB 78 */ mr r3, r23 /* 8003CFF8 00038C58 7E C4 B3 78 */ mr r4, r22 /* 8003CFFC 00038C5C 7C 00 C3 78 */ or r0, r0, r24 /* 8003D000 00038C60 90 1A 00 00 */ stw r0, 0(r26) /* 8003D004 00038C64 4B FF 9F 85 */ bl func_80036F88 /* 8003D008 00038C68 28 1B 01 47 */ cmplwi r27, 0x147 /* 8003D00C 00038C6C 40 82 00 3C */ bne lbl_8003D048 /* 8003D010 00038C70 3F 00 09 31 */ lis r24, 0x09310C00@ha /* 8003D014 00038C74 7E E3 BB 78 */ mr r3, r23 /* 8003D018 00038C78 38 98 0C 00 */ addi r4, r24, 0x09310C00@l /* 8003D01C 00038C7C 4B FF 9F 6D */ bl func_80036F88 /* 8003D020 00038C80 3F 20 09 30 */ lis r25, 0x09300C00@ha /* 8003D024 00038C84 7E E3 BB 78 */ mr r3, r23 /* 8003D028 00038C88 38 99 0C 00 */ addi r4, r25, 0x09300C00@l /* 8003D02C 00038C8C 4B FF 9F 5D */ bl func_80036F88 /* 8003D030 00038C90 38 78 0C 00 */ addi r3, r24, 0xc00 /* 8003D034 00038C94 38 19 0C 00 */ addi r0, r25, 0xc00 /* 8003D038 00038C98 92 FA 0C 58 */ stw r23, 0xc58(r26) /* 8003D03C 00038C9C 90 7A 0C 5C */ stw r3, 0xc5c(r26) /* 8003D040 00038CA0 92 FA 0C 60 */ stw r23, 0xc60(r26) /* 8003D044 00038CA4 90 1A 0C 64 */ stw r0, 0xc64(r26) lbl_8003D048: /* 8003D048 00038CA8 38 00 00 00 */ li r0, 0 /* 8003D04C 00038CAC 7E E3 BB 78 */ mr r3, r23 /* 8003D050 00038CB0 90 1A 0C D8 */ stw r0, 0xcd8(r26) /* 8003D054 00038CB4 90 1A 0C E0 */ stw r0, 0xce0(r26) /* 8003D058 00038CB8 48 20 C8 39 */ bl func_80249890 /* 8003D05C 00038CBC 7E E3 BB 78 */ mr r3, r23 /* 8003D060 00038CC0 48 20 C9 0D */ bl func_8024996C /* 8003D064 00038CC4 80 6D A3 40 */ lwz r3, lbl_8063F600-_SDA_BASE_(r13) /* 8003D068 00038CC8 48 1E 75 21 */ bl func_80224588 /* 8003D06C 00038CCC 3B 20 00 01 */ li r25, 1 /* 8003D070 00038CD0 B3 7A 05 10 */ sth r27, 0x510(r26) /* 8003D074 00038CD4 7F 43 D3 78 */ mr r3, r26 /* 8003D078 00038CD8 7E E4 BB 78 */ mr r4, r23 /* 8003D07C 00038CDC B3 DA 05 12 */ sth r30, 0x512(r26) /* 8003D080 00038CE0 7E C5 B3 78 */ mr r5, r22 /* 8003D084 00038CE4 9B 9A 05 16 */ stb r28, 0x516(r26) /* 8003D088 00038CE8 B3 BA 05 14 */ sth r29, 0x514(r26) /* 8003D08C 00038CEC 93 FA 05 18 */ stw r31, 0x518(r26) /* 8003D090 00038CF0 B3 3A 05 0C */ sth r25, 0x50c(r26) /* 8003D094 00038CF4 4B FF A8 91 */ bl func_80037924 /* 8003D098 00038CF8 B3 3A 05 0C */ sth r25, 0x50c(r26) /* 8003D09C 00038CFC 80 6D A3 40 */ lwz r3, lbl_8063F600-_SDA_BASE_(r13) /* 8003D0A0 00038D00 48 1E 74 E9 */ bl func_80224588 /* 8003D0A4 00038D04 38 60 00 01 */ li r3, 1 lbl_8003D0A8: /* 8003D0A8 00038D08 39 61 00 30 */ addi r11, r1, 0x30 /* 8003D0AC 00038D0C 48 18 A0 B5 */ bl _restgpr_22 /* 8003D0B0 00038D10 80 01 00 34 */ lwz r0, 0x34(r1) /* 8003D0B4 00038D14 7C 08 03 A6 */ mtlr r0 /* 8003D0B8 00038D18 38 21 00 30 */ addi r1, r1, 0x30 /* 8003D0BC 00038D1C 4E 80 00 20 */ blr .global func_8003D0C0 func_8003D0C0: /* 8003D0C0 00038D20 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8003D0C4 00038D24 7C 08 02 A6 */ mflr r0 /* 8003D0C8 00038D28 90 01 00 34 */ stw r0, 0x34(r1) /* 8003D0CC 00038D2C 39 61 00 30 */ addi r11, r1, 0x30 /* 8003D0D0 00038D30 48 18 A0 49 */ bl _savegpr_23 /* 8003D0D4 00038D34 3F 00 80 64 */ lis r24, lbl_8063CE34@ha /* 8003D0D8 00038D38 7C 7A 1B 78 */ mr r26, r3 /* 8003D0DC 00038D3C 3B 18 CE 34 */ addi r24, r24, lbl_8063CE34@l /* 8003D0E0 00038D40 7C 9B 23 78 */ mr r27, r4 /* 8003D0E4 00038D44 7C BC 2B 78 */ mr r28, r5 /* 8003D0E8 00038D48 7C DD 33 78 */ mr r29, r6 /* 8003D0EC 00038D4C 7C FE 3B 78 */ mr r30, r7 /* 8003D0F0 00038D50 38 78 00 28 */ addi r3, r24, 0x28 /* 8003D0F4 00038D54 48 35 8C F1 */ bl func_80395DE4 /* 8003D0F8 00038D58 7C 1B 18 40 */ cmplw r27, r3 /* 8003D0FC 00038D5C 41 80 00 0C */ blt lbl_8003D108 /* 8003D100 00038D60 38 60 00 00 */ li r3, 0 /* 8003D104 00038D64 48 00 01 84 */ b lbl_8003D288 lbl_8003D108: /* 8003D108 00038D68 2C 1C 00 00 */ cmpwi r28, 0 /* 8003D10C 00038D6C 41 82 00 28 */ beq lbl_8003D134 /* 8003D110 00038D70 7F 64 DB 78 */ mr r4, r27 /* 8003D114 00038D74 38 78 00 28 */ addi r3, r24, 0x28 /* 8003D118 00038D78 48 35 8D C1 */ bl func_80395ED8 /* 8003D11C 00038D7C 7C 7F 1B 78 */ mr r31, r3 /* 8003D120 00038D80 7F 64 DB 78 */ mr r4, r27 /* 8003D124 00038D84 38 78 00 28 */ addi r3, r24, 0x28 /* 8003D128 00038D88 48 35 8D E5 */ bl func_80395F0C /* 8003D12C 00038D8C 7C 77 1B 78 */ mr r23, r3 /* 8003D130 00038D90 48 00 00 24 */ b lbl_8003D154 lbl_8003D134: /* 8003D134 00038D94 7F 64 DB 78 */ mr r4, r27 /* 8003D138 00038D98 38 78 00 28 */ addi r3, r24, 0x28 /* 8003D13C 00038D9C 48 35 8D 35 */ bl func_80395E70 /* 8003D140 00038DA0 7C 7F 1B 78 */ mr r31, r3 /* 8003D144 00038DA4 7F 64 DB 78 */ mr r4, r27 /* 8003D148 00038DA8 38 78 00 28 */ addi r3, r24, 0x28 /* 8003D14C 00038DAC 48 35 8D 59 */ bl func_80395EA4 /* 8003D150 00038DB0 7C 77 1B 78 */ mr r23, r3 lbl_8003D154: /* 8003D154 00038DB4 2C 1F 00 00 */ cmpwi r31, 0 /* 8003D158 00038DB8 41 82 00 0C */ beq lbl_8003D164 /* 8003D15C 00038DBC 2C 17 00 00 */ cmpwi r23, 0 /* 8003D160 00038DC0 40 82 00 0C */ bne lbl_8003D16C lbl_8003D164: /* 8003D164 00038DC4 38 60 00 00 */ li r3, 0 /* 8003D168 00038DC8 48 00 01 20 */ b lbl_8003D288 lbl_8003D16C: /* 8003D16C 00038DCC 80 1A 00 00 */ lwz r0, 0(r26) /* 8003D170 00038DD0 7F 43 D3 78 */ mr r3, r26 /* 8003D174 00038DD4 54 18 05 28 */ rlwinm r24, r0, 0, 0x14, 0x14 /* 8003D178 00038DD8 4B FF A4 2D */ bl func_800375A4 /* 8003D17C 00038DDC 80 9A 00 00 */ lwz r4, 0(r26) /* 8003D180 00038DE0 7F 80 00 34 */ cntlzw r0, r28 /* 8003D184 00038DE4 38 BB 03 E7 */ addi r5, r27, 0x3e7 /* 8003D188 00038DE8 7F E3 FB 78 */ mr r3, r31 /* 8003D18C 00038DEC 7C 84 C3 78 */ or r4, r4, r24 /* 8003D190 00038DF0 54 00 DC 3E */ rlwinm r0, r0, 0x1b, 0x10, 0x1f /* 8003D194 00038DF4 90 9A 00 00 */ stw r4, 0(r26) /* 8003D198 00038DF8 7E E4 BB 78 */ mr r4, r23 /* 8003D19C 00038DFC B0 BA 05 10 */ sth r5, 0x510(r26) /* 8003D1A0 00038E00 B0 1A 05 14 */ sth r0, 0x514(r26) /* 8003D1A4 00038E04 48 19 E3 19 */ bl func_801DB4BC /* 8003D1A8 00038E08 7F A0 07 75 */ extsb. r0, r29 /* 8003D1AC 00038E0C B3 7A 05 1C */ sth r27, 0x51c(r26) /* 8003D1B0 00038E10 7C 78 1B 78 */ mr r24, r3 /* 8003D1B4 00038E14 9B 9A 05 20 */ stb r28, 0x520(r26) /* 8003D1B8 00038E18 41 80 00 08 */ blt lbl_8003D1C0 /* 8003D1BC 00038E1C 9B BA 05 21 */ stb r29, 0x521(r26) lbl_8003D1C0: /* 8003D1C0 00038E20 3F 20 80 64 */ lis r25, lbl_8063CE34@ha /* 8003D1C4 00038E24 7F 64 DB 78 */ mr r4, r27 /* 8003D1C8 00038E28 3B 39 CE 34 */ addi r25, r25, lbl_8063CE34@l /* 8003D1CC 00038E2C 38 79 00 28 */ addi r3, r25, 0x28 /* 8003D1D0 00038E30 48 35 8C 31 */ bl func_80395E00 /* 8003D1D4 00038E34 2C 03 00 00 */ cmpwi r3, 0 /* 8003D1D8 00038E38 41 82 00 34 */ beq lbl_8003D20C /* 8003D1DC 00038E3C 7F 64 DB 78 */ mr r4, r27 /* 8003D1E0 00038E40 38 79 00 28 */ addi r3, r25, 0x28 /* 8003D1E4 00038E44 48 35 8C 55 */ bl func_80395E38 /* 8003D1E8 00038E48 B0 7A 05 1E */ sth r3, 0x51e(r26) /* 8003D1EC 00038E4C 7F 64 DB 78 */ mr r4, r27 /* 8003D1F0 00038E50 7F 85 E3 78 */ mr r5, r28 /* 8003D1F4 00038E54 7F C7 F3 78 */ mr r7, r30 /* 8003D1F8 00038E58 38 7A 05 24 */ addi r3, r26, 0x524 /* 8003D1FC 00038E5C 7F A6 07 74 */ extsb r6, r29 /* 8003D200 00038E60 39 00 00 01 */ li r8, 1 /* 8003D204 00038E64 48 00 20 99 */ bl func_8003F29C /* 8003D208 00038E68 48 00 00 54 */ b lbl_8003D25C lbl_8003D20C: /* 8003D20C 00038E6C 38 00 FF FF */ li r0, -1 /* 8003D210 00038E70 38 7A 05 24 */ addi r3, r26, 0x524 /* 8003D214 00038E74 B0 1A 05 1E */ sth r0, 0x51e(r26) /* 8003D218 00038E78 48 00 17 89 */ bl func_8003E9A0 /* 8003D21C 00038E7C 2C 18 00 00 */ cmpwi r24, 0 /* 8003D220 00038E80 40 82 00 30 */ bne lbl_8003D250 /* 8003D224 00038E84 7F E3 FB 78 */ mr r3, r31 /* 8003D228 00038E88 7E E4 BB 78 */ mr r4, r23 /* 8003D22C 00038E8C 48 20 C5 F1 */ bl func_8024981C /* 8003D230 00038E90 48 00 00 0C */ b lbl_8003D23C lbl_8003D234: /* 8003D234 00038E94 80 6D A3 40 */ lwz r3, lbl_8063F600-_SDA_BASE_(r13) /* 8003D238 00038E98 48 1E 73 51 */ bl func_80224588 lbl_8003D23C: /* 8003D23C 00038E9C 7F E3 FB 78 */ mr r3, r31 /* 8003D240 00038EA0 7E E4 BB 78 */ mr r4, r23 /* 8003D244 00038EA4 48 19 E2 79 */ bl func_801DB4BC /* 8003D248 00038EA8 2C 03 00 00 */ cmpwi r3, 0 /* 8003D24C 00038EAC 41 82 FF E8 */ beq lbl_8003D234 lbl_8003D250: /* 8003D250 00038EB0 7F E3 FB 78 */ mr r3, r31 /* 8003D254 00038EB4 7E E4 BB 78 */ mr r4, r23 /* 8003D258 00038EB8 48 19 E2 A5 */ bl func_801DB4FC lbl_8003D25C: /* 8003D25C 00038EBC 7F 43 D3 78 */ mr r3, r26 /* 8003D260 00038EC0 7F E4 FB 78 */ mr r4, r31 /* 8003D264 00038EC4 7E E5 BB 78 */ mr r5, r23 /* 8003D268 00038EC8 4B FF A6 BD */ bl func_80037924 /* 8003D26C 00038ECC 38 00 00 02 */ li r0, 2 /* 8003D270 00038ED0 7F E3 FB 78 */ mr r3, r31 /* 8003D274 00038ED4 B0 1A 05 0C */ sth r0, 0x50c(r26) /* 8003D278 00038ED8 48 20 C6 19 */ bl func_80249890 /* 8003D27C 00038EDC 7F E3 FB 78 */ mr r3, r31 /* 8003D280 00038EE0 48 20 C6 ED */ bl func_8024996C /* 8003D284 00038EE4 38 60 00 01 */ li r3, 1 lbl_8003D288: /* 8003D288 00038EE8 39 61 00 30 */ addi r11, r1, 0x30 /* 8003D28C 00038EEC 48 18 9E D9 */ bl _restgpr_23 /* 8003D290 00038EF0 80 01 00 34 */ lwz r0, 0x34(r1) /* 8003D294 00038EF4 7C 08 03 A6 */ mtlr r0 /* 8003D298 00038EF8 38 21 00 30 */ addi r1, r1, 0x30 /* 8003D29C 00038EFC 4E 80 00 20 */ blr .global func_8003D2A0 func_8003D2A0: /* 8003D2A0 00038F00 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8003D2A4 00038F04 7C 08 02 A6 */ mflr r0 /* 8003D2A8 00038F08 90 01 00 14 */ stw r0, 0x14(r1) /* 8003D2AC 00038F0C 93 E1 00 0C */ stw r31, 0xc(r1) /* 8003D2B0 00038F10 7C 7F 1B 78 */ mr r31, r3 /* 8003D2B4 00038F14 48 00 0E A9 */ bl func_8003E15C /* 8003D2B8 00038F18 2C 03 00 00 */ cmpwi r3, 0 /* 8003D2BC 00038F1C 41 82 00 20 */ beq lbl_8003D2DC /* 8003D2C0 00038F20 A0 1F 05 14 */ lhz r0, 0x514(r31) /* 8003D2C4 00038F24 38 C0 00 00 */ li r6, 0 /* 8003D2C8 00038F28 A0 9F 05 10 */ lhz r4, 0x510(r31) /* 8003D2CC 00038F2C 54 05 06 3E */ clrlwi r5, r0, 0x18 /* 8003D2D0 00038F30 48 00 12 75 */ bl func_8003E544 /* 8003D2D4 00038F34 7C 64 1B 78 */ mr r4, r3 /* 8003D2D8 00038F38 48 00 00 0C */ b lbl_8003D2E4 lbl_8003D2DC: /* 8003D2DC 00038F3C C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 8003D2E0 00038F40 48 00 00 10 */ b lbl_8003D2F0 lbl_8003D2E4: /* 8003D2E4 00038F44 3C 60 80 64 */ lis r3, lbl_8063CE34@ha /* 8003D2E8 00038F48 38 63 CE 34 */ addi r3, r3, lbl_8063CE34@l /* 8003D2EC 00038F4C 48 35 40 C9 */ bl func_803913B4 lbl_8003D2F0: /* 8003D2F0 00038F50 80 01 00 14 */ lwz r0, 0x14(r1) /* 8003D2F4 00038F54 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8003D2F8 00038F58 7C 08 03 A6 */ mtlr r0 /* 8003D2FC 00038F5C 38 21 00 10 */ addi r1, r1, 0x10 /* 8003D300 00038F60 4E 80 00 20 */ blr .global func_8003D304 func_8003D304: /* 8003D304 00038F64 2C 04 00 00 */ cmpwi r4, 0 /* 8003D308 00038F68 7C 87 23 78 */ mr r7, r4 /* 8003D30C 00038F6C 40 82 00 0C */ bne lbl_8003D318 /* 8003D310 00038F70 38 60 00 00 */ li r3, 0 /* 8003D314 00038F74 4E 80 00 20 */ blr lbl_8003D318: /* 8003D318 00038F78 A0 84 00 00 */ lhz r4, 0(r4) /* 8003D31C 00038F7C 7C C6 07 74 */ extsb r6, r6 /* 8003D320 00038F80 38 E7 00 02 */ addi r7, r7, 2 /* 8003D324 00038F84 4B FF FD 9C */ b func_8003D0C0 /* 8003D328 00038F88 4E 80 00 20 */ blr .global func_8003D32C func_8003D32C: /* 8003D32C 00038F8C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8003D330 00038F90 7C 08 02 A6 */ mflr r0 /* 8003D334 00038F94 3C C0 80 64 */ lis r6, lbl_8063CE34@ha /* 8003D338 00038F98 90 01 00 24 */ stw r0, 0x24(r1) /* 8003D33C 00038F9C 38 C6 CE 34 */ addi r6, r6, lbl_8063CE34@l /* 8003D340 00038FA0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8003D344 00038FA4 3B E0 00 00 */ li r31, 0 /* 8003D348 00038FA8 93 C1 00 18 */ stw r30, 0x18(r1) /* 8003D34C 00038FAC 7C BE 2B 78 */ mr r30, r5 /* 8003D350 00038FB0 93 A1 00 14 */ stw r29, 0x14(r1) /* 8003D354 00038FB4 7C 9D 23 78 */ mr r29, r4 /* 8003D358 00038FB8 93 81 00 10 */ stw r28, 0x10(r1) /* 8003D35C 00038FBC 7C 7C 1B 78 */ mr r28, r3 /* 8003D360 00038FC0 A0 83 05 1C */ lhz r4, 0x51c(r3) /* 8003D364 00038FC4 38 66 00 28 */ addi r3, r6, 0x28 /* 8003D368 00038FC8 48 35 8A 99 */ bl func_80395E00 /* 8003D36C 00038FCC 2C 03 00 00 */ cmpwi r3, 0 /* 8003D370 00038FD0 41 82 00 24 */ beq lbl_8003D394 /* 8003D374 00038FD4 7F A4 EB 78 */ mr r4, r29 /* 8003D378 00038FD8 7F C5 F3 78 */ mr r5, r30 /* 8003D37C 00038FDC 38 7C 05 24 */ addi r3, r28, 0x524 /* 8003D380 00038FE0 48 00 21 A9 */ bl func_8003F528 /* 8003D384 00038FE4 80 1C 00 00 */ lwz r0, 0(r28) /* 8003D388 00038FE8 7C 7F 1B 78 */ mr r31, r3 /* 8003D38C 00038FEC 60 00 02 00 */ ori r0, r0, 0x200 /* 8003D390 00038FF0 90 1C 00 00 */ stw r0, 0(r28) lbl_8003D394: /* 8003D394 00038FF4 7F E3 FB 78 */ mr r3, r31 /* 8003D398 00038FF8 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8003D39C 00038FFC 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8003D3A0 00039000 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8003D3A4 00039004 83 81 00 10 */ lwz r28, 0x10(r1) /* 8003D3A8 00039008 80 01 00 24 */ lwz r0, 0x24(r1) /* 8003D3AC 0003900C 7C 08 03 A6 */ mtlr r0 /* 8003D3B0 00039010 38 21 00 20 */ addi r1, r1, 0x20 /* 8003D3B4 00039014 4E 80 00 20 */ blr .global func_8003D3B8 func_8003D3B8: /* 8003D3B8 00039018 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8003D3BC 0003901C 7C 08 02 A6 */ mflr r0 /* 8003D3C0 00039020 3C A0 80 64 */ lis r5, lbl_8063CE34@ha /* 8003D3C4 00039024 90 01 00 24 */ stw r0, 0x24(r1) /* 8003D3C8 00039028 38 A5 CE 34 */ addi r5, r5, lbl_8063CE34@l /* 8003D3CC 0003902C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8003D3D0 00039030 3B E0 00 00 */ li r31, 0 /* 8003D3D4 00039034 93 C1 00 18 */ stw r30, 0x18(r1) /* 8003D3D8 00039038 7C 9E 23 78 */ mr r30, r4 /* 8003D3DC 0003903C 93 A1 00 14 */ stw r29, 0x14(r1) /* 8003D3E0 00039040 7C 7D 1B 78 */ mr r29, r3 /* 8003D3E4 00039044 A0 83 05 1C */ lhz r4, 0x51c(r3) /* 8003D3E8 00039048 38 65 00 28 */ addi r3, r5, 0x28 /* 8003D3EC 0003904C 48 35 8A 15 */ bl func_80395E00 /* 8003D3F0 00039050 2C 03 00 00 */ cmpwi r3, 0 /* 8003D3F4 00039054 41 82 00 20 */ beq lbl_8003D414 /* 8003D3F8 00039058 7F C4 F3 78 */ mr r4, r30 /* 8003D3FC 0003905C 38 7D 05 24 */ addi r3, r29, 0x524 /* 8003D400 00039060 48 00 22 05 */ bl func_8003F604 /* 8003D404 00039064 80 1D 00 00 */ lwz r0, 0(r29) /* 8003D408 00039068 7C 7F 1B 78 */ mr r31, r3 /* 8003D40C 0003906C 60 00 02 00 */ ori r0, r0, 0x200 /* 8003D410 00039070 90 1D 00 00 */ stw r0, 0(r29) lbl_8003D414: /* 8003D414 00039074 7F E3 FB 78 */ mr r3, r31 /* 8003D418 00039078 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8003D41C 0003907C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8003D420 00039080 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8003D424 00039084 80 01 00 24 */ lwz r0, 0x24(r1) /* 8003D428 00039088 7C 08 03 A6 */ mtlr r0 /* 8003D42C 0003908C 38 21 00 20 */ addi r1, r1, 0x20 /* 8003D430 00039090 4E 80 00 20 */ blr .global func_8003D434 func_8003D434: /* 8003D434 00039094 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8003D438 00039098 7C 08 02 A6 */ mflr r0 /* 8003D43C 0003909C 90 01 00 14 */ stw r0, 0x14(r1) /* 8003D440 000390A0 93 E1 00 0C */ stw r31, 0xc(r1) /* 8003D444 000390A4 7C 7F 1B 78 */ mr r31, r3 /* 8003D448 000390A8 3C 60 80 64 */ lis r3, lbl_8063CE34@ha /* 8003D44C 000390AC 38 63 CE 34 */ addi r3, r3, lbl_8063CE34@l /* 8003D450 000390B0 A0 9F 05 1C */ lhz r4, 0x51c(r31) /* 8003D454 000390B4 38 63 00 28 */ addi r3, r3, 0x28 /* 8003D458 000390B8 48 35 89 A9 */ bl func_80395E00 /* 8003D45C 000390BC 2C 03 00 00 */ cmpwi r3, 0 /* 8003D460 000390C0 41 82 00 18 */ beq lbl_8003D478 /* 8003D464 000390C4 80 1F 00 00 */ lwz r0, 0(r31) /* 8003D468 000390C8 38 7F 05 24 */ addi r3, r31, 0x524 /* 8003D46C 000390CC 80 9F 0C 04 */ lwz r4, 0xc04(r31) /* 8003D470 000390D0 54 05 AF FE */ rlwinm r5, r0, 0x15, 0x1f, 0x1f /* 8003D474 000390D4 48 00 22 81 */ bl func_8003F6F4 lbl_8003D478: /* 8003D478 000390D8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8003D47C 000390DC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8003D480 000390E0 7C 08 03 A6 */ mtlr r0 /* 8003D484 000390E4 38 21 00 10 */ addi r1, r1, 0x10 /* 8003D488 000390E8 4E 80 00 20 */ blr .global func_8003D48C func_8003D48C: /* 8003D48C 000390EC 2C 04 00 00 */ cmpwi r4, 0 /* 8003D490 000390F0 41 82 00 14 */ beq lbl_8003D4A4 /* 8003D494 000390F4 80 03 00 00 */ lwz r0, 0(r3) /* 8003D498 000390F8 60 00 08 00 */ ori r0, r0, 0x800 /* 8003D49C 000390FC 90 03 00 00 */ stw r0, 0(r3) /* 8003D4A0 00039100 4E 80 00 20 */ blr lbl_8003D4A4: /* 8003D4A4 00039104 80 03 00 00 */ lwz r0, 0(r3) /* 8003D4A8 00039108 54 00 05 66 */ rlwinm r0, r0, 0, 0x15, 0x13 /* 8003D4AC 0003910C 90 03 00 00 */ stw r0, 0(r3) /* 8003D4B0 00039110 4E 80 00 20 */ blr .global func_8003D4B4 func_8003D4B4: /* 8003D4B4 00039114 38 80 00 00 */ li r4, 0 /* 8003D4B8 00039118 48 00 00 1C */ b lbl_8003D4D4 .global func_8003D4BC func_8003D4BC: /* 8003D4BC 0003911C 38 80 00 01 */ li r4, 1 /* 8003D4C0 00039120 48 00 00 14 */ b lbl_8003D4D4 .global func_8003D4C4 func_8003D4C4: /* 8003D4C4 00039124 38 80 00 02 */ li r4, 2 /* 8003D4C8 00039128 48 00 00 0C */ b lbl_8003D4D4 .global func_8003D4CC func_8003D4CC: /* 8003D4CC 0003912C 38 80 00 03 */ li r4, 3 /* 8003D4D0 00039130 48 00 00 04 */ b lbl_8003D4D4 lbl_8003D4D4: /* 8003D4D4 00039134 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8003D4D8 00039138 7C 08 02 A6 */ mflr r0 /* 8003D4DC 0003913C 90 01 00 34 */ stw r0, 0x34(r1) /* 8003D4E0 00039140 39 61 00 30 */ addi r11, r1, 0x30 /* 8003D4E4 00039144 48 18 9C 45 */ bl _savegpr_27 /* 8003D4E8 00039148 2C 04 00 02 */ cmpwi r4, 2 /* 8003D4EC 0003914C 7C 7D 1B 78 */ mr r29, r3 /* 8003D4F0 00039150 7C 9E 23 78 */ mr r30, r4 /* 8003D4F4 00039154 41 82 00 84 */ beq lbl_8003D578 /* 8003D4F8 00039158 40 80 00 14 */ bge lbl_8003D50C /* 8003D4FC 0003915C 2C 04 00 00 */ cmpwi r4, 0 /* 8003D500 00039160 41 82 00 18 */ beq lbl_8003D518 /* 8003D504 00039164 40 80 00 50 */ bge lbl_8003D554 /* 8003D508 00039168 48 00 02 EC */ b lbl_8003D7F4 lbl_8003D50C: /* 8003D50C 0003916C 2C 04 00 04 */ cmpwi r4, 4 /* 8003D510 00039170 40 80 02 E4 */ bge lbl_8003D7F4 /* 8003D514 00039174 48 00 00 88 */ b lbl_8003D59C lbl_8003D518: /* 8003D518 00039178 80 03 00 00 */ lwz r0, 0(r3) /* 8003D51C 0003917C 3C 80 19 F9 */ lis r4, 0x19F90A00@ha /* 8003D520 00039180 80 A3 0C 04 */ lwz r5, 0xc04(r3) /* 8003D524 00039184 3B E4 0A 00 */ addi r31, r4, 0x19F90A00@l /* 8003D528 00039188 80 83 00 00 */ lwz r4, 0(r3) /* 8003D52C 0003918C 60 00 40 00 */ ori r0, r0, 0x4000 /* 8003D530 00039190 2C 05 00 00 */ cmpwi r5, 0 /* 8003D534 00039194 3B 60 00 00 */ li r27, 0 /* 8003D538 00039198 90 03 00 00 */ stw r0, 0(r3) /* 8003D53C 0003919C 54 9C 97 FE */ rlwinm r28, r4, 0x12, 0x1f, 0x1f /* 8003D540 000391A0 41 82 00 B8 */ beq lbl_8003D5F8 /* 8003D544 000391A4 A0 05 00 DC */ lhz r0, 0xdc(r5) /* 8003D548 000391A8 60 00 00 10 */ ori r0, r0, 0x10 /* 8003D54C 000391AC B0 05 00 DC */ sth r0, 0xdc(r5) /* 8003D550 000391B0 48 00 00 A8 */ b lbl_8003D5F8 lbl_8003D554: /* 8003D554 000391B4 80 03 00 00 */ lwz r0, 0(r3) /* 8003D558 000391B8 3C 80 1C F7 */ lis r4, 0x1CF70A00@ha /* 8003D55C 000391BC 80 A3 00 00 */ lwz r5, 0(r3) /* 8003D560 000391C0 3B E4 0A 00 */ addi r31, r4, 0x1CF70A00@l /* 8003D564 000391C4 64 00 00 08 */ oris r0, r0, 8 /* 8003D568 000391C8 3B 60 FF FE */ li r27, -2 /* 8003D56C 000391CC 90 03 00 00 */ stw r0, 0(r3) /* 8003D570 000391D0 54 BC 6F FE */ rlwinm r28, r5, 0xd, 0x1f, 0x1f /* 8003D574 000391D4 48 00 00 84 */ b lbl_8003D5F8 lbl_8003D578: /* 8003D578 000391D8 80 03 00 00 */ lwz r0, 0(r3) /* 8003D57C 000391DC 3C 80 1C F6 */ lis r4, 0x1CF60A00@ha /* 8003D580 000391E0 80 A3 00 00 */ lwz r5, 0(r3) /* 8003D584 000391E4 3B E4 0A 00 */ addi r31, r4, 0x1CF60A00@l /* 8003D588 000391E8 64 00 00 10 */ oris r0, r0, 0x10 /* 8003D58C 000391EC 3B 60 FF FE */ li r27, -2 /* 8003D590 000391F0 90 03 00 00 */ stw r0, 0(r3) /* 8003D594 000391F4 54 BC 67 FE */ rlwinm r28, r5, 0xc, 0x1f, 0x1f /* 8003D598 000391F8 48 00 00 60 */ b lbl_8003D5F8 lbl_8003D59C: /* 8003D59C 000391FC 80 03 00 00 */ lwz r0, 0(r3) /* 8003D5A0 00039200 3C 80 19 FB */ lis r4, 0x19FB0A00@ha /* 8003D5A4 00039204 3B E4 0A 00 */ addi r31, r4, 0x19FB0A00@l /* 8003D5A8 00039208 3B 60 00 01 */ li r27, 1 /* 8003D5AC 0003920C 54 1C 9F FE */ rlwinm r28, r0, 0x13, 0x1f, 0x1f /* 8003D5B0 00039210 38 80 00 14 */ li r4, 0x14 /* 8003D5B4 00039214 4B FF EC A9 */ bl func_8003C25C /* 8003D5B8 00039218 54 64 04 3E */ clrlwi r4, r3, 0x10 /* 8003D5BC 0003921C 28 04 00 FF */ cmplwi r4, 0xff /* 8003D5C0 00039220 40 80 00 24 */ bge lbl_8003D5E4 /* 8003D5C4 00039224 80 7D 0C 04 */ lwz r3, 0xc04(r29) /* 8003D5C8 00039228 38 A0 00 00 */ li r5, 0 /* 8003D5CC 0003922C C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 8003D5D0 00039230 38 C0 00 01 */ li r6, 1 /* 8003D5D4 00039234 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2) /* 8003D5D8 00039238 38 E0 00 01 */ li r7, 1 /* 8003D5DC 0003923C 39 00 00 00 */ li r8, 0 /* 8003D5E0 00039240 48 1B 78 15 */ bl func_801F4DF4 lbl_8003D5E4: /* 8003D5E4 00039244 80 1D 00 00 */ lwz r0, 0(r29) /* 8003D5E8 00039248 60 00 20 00 */ ori r0, r0, 0x2000 /* 8003D5EC 0003924C 90 1D 00 00 */ stw r0, 0(r29) /* 8003D5F0 00039250 48 00 00 08 */ b lbl_8003D5F8 /* 8003D5F4 00039254 48 00 02 00 */ b lbl_8003D7F4 lbl_8003D5F8: /* 8003D5F8 00039258 2C 1C 00 00 */ cmpwi r28, 0 /* 8003D5FC 0003925C 40 82 01 A4 */ bne lbl_8003D7A0 /* 8003D600 00039260 7F A3 EB 78 */ mr r3, r29 /* 8003D604 00039264 7F 64 DB 78 */ mr r4, r27 /* 8003D608 00039268 4B FF C2 E5 */ bl func_800398EC /* 8003D60C 0003926C 2C 03 00 00 */ cmpwi r3, 0 /* 8003D610 00039270 7C 7B 1B 78 */ mr r27, r3 /* 8003D614 00039274 41 82 01 E0 */ beq lbl_8003D7F4 /* 8003D618 00039278 57 E0 00 5E */ rlwinm r0, r31, 0, 1, 0xf /* 8003D61C 0003927C 38 60 00 0C */ li r3, 0xc /* 8003D620 00039280 60 04 0E 00 */ ori r4, r0, 0xe00 /* 8003D624 00039284 48 19 DE 99 */ bl func_801DB4BC /* 8003D628 00039288 2C 03 00 00 */ cmpwi r3, 0 /* 8003D62C 0003928C 7C 7C 1B 78 */ mr r28, r3 /* 8003D630 00039290 41 82 01 C4 */ beq lbl_8003D7F4 /* 8003D634 00039294 57 C0 10 3A */ slwi r0, r30, 2 /* 8003D638 00039298 7F FD 02 14 */ add r31, r29, r0 /* 8003D63C 0003929C 80 7F 0C 90 */ lwz r3, 0xc90(r31) /* 8003D640 000392A0 2C 03 00 00 */ cmpwi r3, 0 /* 8003D644 000392A4 41 82 00 1C */ beq lbl_8003D660 /* 8003D648 000392A8 41 82 00 18 */ beq lbl_8003D660 /* 8003D64C 000392AC 81 83 01 00 */ lwz r12, 0x100(r3) /* 8003D650 000392B0 38 80 00 01 */ li r4, 1 /* 8003D654 000392B4 81 8C 00 08 */ lwz r12, 8(r12) /* 8003D658 000392B8 7D 89 03 A6 */ mtctr r12 /* 8003D65C 000392BC 4E 80 04 21 */ bctrl lbl_8003D660: /* 8003D660 000392C0 48 19 D4 C9 */ bl func_801DAB28 /* 8003D664 000392C4 2C 03 00 00 */ cmpwi r3, 0 /* 8003D668 000392C8 41 82 00 14 */ beq lbl_8003D67C /* 8003D66C 000392CC 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 8003D670 000392D0 38 80 01 40 */ li r4, 0x140 /* 8003D674 000392D4 48 19 D6 21 */ bl func_801DAC94 /* 8003D678 000392D8 48 00 00 08 */ b lbl_8003D680 lbl_8003D67C: /* 8003D67C 000392DC 38 60 00 00 */ li r3, 0 lbl_8003D680: /* 8003D680 000392E0 2C 03 00 00 */ cmpwi r3, 0 /* 8003D684 000392E4 7C 65 1B 78 */ mr r5, r3 /* 8003D688 000392E8 41 82 00 10 */ beq lbl_8003D698 /* 8003D68C 000392EC 7F 84 E3 78 */ mr r4, r28 /* 8003D690 000392F0 48 1B C2 5D */ bl func_801F98EC /* 8003D694 000392F4 7C 65 1B 78 */ mr r5, r3 lbl_8003D698: /* 8003D698 000392F8 90 BF 0C 90 */ stw r5, 0xc90(r31) /* 8003D69C 000392FC 7F 63 DB 78 */ mr r3, r27 /* 8003D6A0 00039300 38 80 00 01 */ li r4, 1 /* 8003D6A4 00039304 38 C0 00 00 */ li r6, 0 /* 8003D6A8 00039308 38 E0 00 03 */ li r7, 3 /* 8003D6AC 0003930C 48 1B 4A E1 */ bl func_801F218C /* 8003D6B0 00039310 7F A3 EB 78 */ mr r3, r29 /* 8003D6B4 00039314 4B FF C0 21 */ bl func_800396D4 /* 8003D6B8 00039318 C0 22 82 30 */ lfs f1, lbl_80640830-_SDA2_BASE_(r2) /* 8003D6BC 0003931C 48 01 0D E1 */ bl func_8004E49C /* 8003D6C0 00039320 FC 00 08 18 */ frsp f0, f1 /* 8003D6C4 00039324 80 7F 0C 90 */ lwz r3, 0xc90(r31) /* 8003D6C8 00039328 C0 42 82 70 */ lfs f2, lbl_80640870-_SDA2_BASE_(r2) /* 8003D6CC 0003932C D0 21 00 08 */ stfs f1, 8(r1) /* 8003D6D0 00039330 FC 00 10 40 */ fcmpo cr0, f0, f2 /* 8003D6D4 00039334 D0 03 00 48 */ stfs f0, 0x48(r3) /* 8003D6D8 00039338 D0 03 00 4C */ stfs f0, 0x4c(r3) /* 8003D6DC 0003933C D0 21 00 0C */ stfs f1, 0xc(r1) /* 8003D6E0 00039340 D0 21 00 10 */ stfs f1, 0x10(r1) /* 8003D6E4 00039344 D0 03 00 50 */ stfs f0, 0x50(r3) /* 8003D6E8 00039348 40 80 00 2C */ bge lbl_8003D714 /* 8003D6EC 0003934C C0 23 00 48 */ lfs f1, 0x48(r3) /* 8003D6F0 00039350 C0 62 82 74 */ lfs f3, lbl_80640874-_SDA2_BASE_(r2) /* 8003D6F4 00039354 FC 01 18 40 */ fcmpo cr0, f1, f3 /* 8003D6F8 00039358 40 81 00 1C */ ble lbl_8003D714 /* 8003D6FC 0003935C C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003D700 00039360 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8003D704 00039364 40 80 00 08 */ bge lbl_8003D70C /* 8003D708 00039368 48 00 00 08 */ b lbl_8003D710 lbl_8003D70C: /* 8003D70C 0003936C FC 60 10 90 */ fmr f3, f2 lbl_8003D710: /* 8003D710 00039370 D0 63 00 48 */ stfs f3, 0x48(r3) lbl_8003D714: /* 8003D714 00039374 C0 43 00 4C */ lfs f2, 0x4c(r3) /* 8003D718 00039378 C0 22 82 70 */ lfs f1, lbl_80640870-_SDA2_BASE_(r2) /* 8003D71C 0003937C FC 02 08 40 */ fcmpo cr0, f2, f1 /* 8003D720 00039380 40 80 00 28 */ bge lbl_8003D748 /* 8003D724 00039384 C0 62 82 74 */ lfs f3, lbl_80640874-_SDA2_BASE_(r2) /* 8003D728 00039388 FC 02 18 40 */ fcmpo cr0, f2, f3 /* 8003D72C 0003938C 40 81 00 1C */ ble lbl_8003D748 /* 8003D730 00039390 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003D734 00039394 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 8003D738 00039398 40 80 00 08 */ bge lbl_8003D740 /* 8003D73C 0003939C 48 00 00 08 */ b lbl_8003D744 lbl_8003D740: /* 8003D740 000393A0 FC 60 08 90 */ fmr f3, f1 lbl_8003D744: /* 8003D744 000393A4 D0 63 00 4C */ stfs f3, 0x4c(r3) lbl_8003D748: /* 8003D748 000393A8 C0 43 00 50 */ lfs f2, 0x50(r3) /* 8003D74C 000393AC C0 22 82 70 */ lfs f1, lbl_80640870-_SDA2_BASE_(r2) /* 8003D750 000393B0 FC 02 08 40 */ fcmpo cr0, f2, f1 /* 8003D754 000393B4 40 80 00 28 */ bge lbl_8003D77C /* 8003D758 000393B8 C0 62 82 74 */ lfs f3, lbl_80640874-_SDA2_BASE_(r2) /* 8003D75C 000393BC FC 02 18 40 */ fcmpo cr0, f2, f3 /* 8003D760 000393C0 40 81 00 1C */ ble lbl_8003D77C /* 8003D764 000393C4 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003D768 000393C8 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 8003D76C 000393CC 40 80 00 08 */ bge lbl_8003D774 /* 8003D770 000393D0 48 00 00 08 */ b lbl_8003D778 lbl_8003D774: /* 8003D774 000393D4 FC 60 08 90 */ fmr f3, f1 lbl_8003D778: /* 8003D778 000393D8 D0 63 00 50 */ stfs f3, 0x50(r3) lbl_8003D77C: /* 8003D77C 000393DC 38 80 00 01 */ li r4, 1 /* 8003D780 000393E0 48 1B 4F 39 */ bl func_801F26B8 /* 8003D784 000393E4 80 7F 0C 90 */ lwz r3, 0xc90(r31) /* 8003D788 000393E8 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003D78C 000393EC 80 03 01 04 */ lwz r0, 0x104(r3) /* 8003D790 000393F0 60 00 00 01 */ ori r0, r0, 1 /* 8003D794 000393F4 54 00 07 F8 */ rlwinm r0, r0, 0, 0x1f, 0x1c /* 8003D798 000393F8 90 03 01 04 */ stw r0, 0x104(r3) /* 8003D79C 000393FC D0 03 01 08 */ stfs f0, 0x108(r3) lbl_8003D7A0: /* 8003D7A0 00039400 2C 1E 00 01 */ cmpwi r30, 1 /* 8003D7A4 00039404 41 82 00 18 */ beq lbl_8003D7BC /* 8003D7A8 00039408 2C 1E 00 02 */ cmpwi r30, 2 /* 8003D7AC 0003940C 41 82 00 10 */ beq lbl_8003D7BC /* 8003D7B0 00039410 80 1D 00 00 */ lwz r0, 0(r29) /* 8003D7B4 00039414 54 00 02 53 */ rlwinm. r0, r0, 0, 9, 9 /* 8003D7B8 00039418 41 82 00 3C */ beq lbl_8003D7F4 lbl_8003D7BC: /* 8003D7BC 0003941C 80 1D 00 00 */ lwz r0, 0(r29) /* 8003D7C0 00039420 7F A3 EB 78 */ mr r3, r29 /* 8003D7C4 00039424 54 00 07 FE */ clrlwi r0, r0, 0x1f /* 8003D7C8 00039428 7C 00 00 34 */ cntlzw r0, r0 /* 8003D7CC 0003942C 54 04 D9 7E */ srwi r4, r0, 5 /* 8003D7D0 00039430 4B FF A5 5D */ bl func_80037D2C /* 8003D7D4 00039434 80 1D 00 00 */ lwz r0, 0(r29) /* 8003D7D8 00039438 7F A3 EB 78 */ mr r3, r29 /* 8003D7DC 0003943C 54 00 07 FE */ clrlwi r0, r0, 0x1f /* 8003D7E0 00039440 7C 00 00 34 */ cntlzw r0, r0 /* 8003D7E4 00039444 54 04 D9 7E */ srwi r4, r0, 5 /* 8003D7E8 00039448 4B FF A5 45 */ bl func_80037D2C /* 8003D7EC 0003944C 7F A3 EB 78 */ mr r3, r29 /* 8003D7F0 00039450 4B FF A8 31 */ bl func_80038020 lbl_8003D7F4: /* 8003D7F4 00039454 39 61 00 30 */ addi r11, r1, 0x30 /* 8003D7F8 00039458 48 18 99 7D */ bl _restgpr_27 /* 8003D7FC 0003945C 80 01 00 34 */ lwz r0, 0x34(r1) /* 8003D800 00039460 7C 08 03 A6 */ mtlr r0 /* 8003D804 00039464 38 21 00 30 */ addi r1, r1, 0x30 /* 8003D808 00039468 4E 80 00 20 */ blr .global func_8003D80C func_8003D80C: /* 8003D80C 0003946C 38 80 00 00 */ li r4, 0 /* 8003D810 00039470 48 00 00 1C */ b lbl_8003D82C .global func_8003D814 func_8003D814: /* 8003D814 00039474 38 80 00 01 */ li r4, 1 /* 8003D818 00039478 48 00 00 14 */ b lbl_8003D82C .global func_8003D81C func_8003D81C: /* 8003D81C 0003947C 38 80 00 02 */ li r4, 2 /* 8003D820 00039480 48 00 00 0C */ b lbl_8003D82C .global func_8003D824 func_8003D824: /* 8003D824 00039484 38 80 00 03 */ li r4, 3 /* 8003D828 00039488 48 00 00 04 */ b lbl_8003D82C lbl_8003D82C: /* 8003D82C 0003948C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8003D830 00039490 7C 08 02 A6 */ mflr r0 /* 8003D834 00039494 2C 04 00 02 */ cmpwi r4, 2 /* 8003D838 00039498 90 01 00 24 */ stw r0, 0x24(r1) /* 8003D83C 0003949C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8003D840 000394A0 7C 9F 23 78 */ mr r31, r4 /* 8003D844 000394A4 93 C1 00 18 */ stw r30, 0x18(r1) /* 8003D848 000394A8 7C 7E 1B 78 */ mr r30, r3 /* 8003D84C 000394AC 93 A1 00 14 */ stw r29, 0x14(r1) /* 8003D850 000394B0 41 82 00 74 */ beq lbl_8003D8C4 /* 8003D854 000394B4 40 80 00 14 */ bge lbl_8003D868 /* 8003D858 000394B8 2C 04 00 00 */ cmpwi r4, 0 /* 8003D85C 000394BC 41 82 00 18 */ beq lbl_8003D874 /* 8003D860 000394C0 40 80 00 48 */ bge lbl_8003D8A8 /* 8003D864 000394C4 48 00 01 7C */ b lbl_8003D9E0 lbl_8003D868: /* 8003D868 000394C8 2C 04 00 04 */ cmpwi r4, 4 /* 8003D86C 000394CC 40 80 01 74 */ bge lbl_8003D9E0 /* 8003D870 000394D0 48 00 00 70 */ b lbl_8003D8E0 lbl_8003D874: /* 8003D874 000394D4 80 03 00 00 */ lwz r0, 0(r3) /* 8003D878 000394D8 54 00 04 63 */ rlwinm. r0, r0, 0, 0x11, 0x11 /* 8003D87C 000394DC 41 82 01 64 */ beq lbl_8003D9E0 /* 8003D880 000394E0 80 83 0C 04 */ lwz r4, 0xc04(r3) /* 8003D884 000394E4 2C 04 00 00 */ cmpwi r4, 0 /* 8003D888 000394E8 41 82 00 10 */ beq lbl_8003D898 /* 8003D88C 000394EC A0 04 00 DC */ lhz r0, 0xdc(r4) /* 8003D890 000394F0 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a /* 8003D894 000394F4 B0 04 00 DC */ sth r0, 0xdc(r4) lbl_8003D898: /* 8003D898 000394F8 80 03 00 00 */ lwz r0, 0(r3) /* 8003D89C 000394FC 54 00 04 A0 */ rlwinm r0, r0, 0, 0x12, 0x10 /* 8003D8A0 00039500 90 03 00 00 */ stw r0, 0(r3) /* 8003D8A4 00039504 48 00 00 A8 */ b lbl_8003D94C lbl_8003D8A8: /* 8003D8A8 00039508 80 03 00 00 */ lwz r0, 0(r3) /* 8003D8AC 0003950C 54 00 03 19 */ rlwinm. r0, r0, 0, 0xc, 0xc /* 8003D8B0 00039510 41 82 01 30 */ beq lbl_8003D9E0 /* 8003D8B4 00039514 80 03 00 00 */ lwz r0, 0(r3) /* 8003D8B8 00039518 54 00 03 56 */ rlwinm r0, r0, 0, 0xd, 0xb /* 8003D8BC 0003951C 90 03 00 00 */ stw r0, 0(r3) /* 8003D8C0 00039520 48 00 00 8C */ b lbl_8003D94C lbl_8003D8C4: /* 8003D8C4 00039524 80 03 00 00 */ lwz r0, 0(r3) /* 8003D8C8 00039528 54 00 02 D7 */ rlwinm. r0, r0, 0, 0xb, 0xb /* 8003D8CC 0003952C 41 82 01 14 */ beq lbl_8003D9E0 /* 8003D8D0 00039530 80 03 00 00 */ lwz r0, 0(r3) /* 8003D8D4 00039534 54 00 03 14 */ rlwinm r0, r0, 0, 0xc, 0xa /* 8003D8D8 00039538 90 03 00 00 */ stw r0, 0(r3) /* 8003D8DC 0003953C 48 00 00 70 */ b lbl_8003D94C lbl_8003D8E0: /* 8003D8E0 00039540 80 03 00 00 */ lwz r0, 0(r3) /* 8003D8E4 00039544 54 00 04 A5 */ rlwinm. r0, r0, 0, 0x12, 0x12 /* 8003D8E8 00039548 41 82 00 F8 */ beq lbl_8003D9E0 /* 8003D8EC 0003954C 38 80 00 15 */ li r4, 0x15 /* 8003D8F0 00039550 4B FF E9 6D */ bl func_8003C25C /* 8003D8F4 00039554 80 1E 0C 04 */ lwz r0, 0xc04(r30) /* 8003D8F8 00039558 7C 7D 1B 78 */ mr r29, r3 /* 8003D8FC 0003955C 2C 00 00 00 */ cmpwi r0, 0 /* 8003D900 00039560 41 82 00 38 */ beq lbl_8003D938 /* 8003D904 00039564 7C 03 03 78 */ mr r3, r0 /* 8003D908 00039568 48 1B 7F F5 */ bl func_801F58FC /* 8003D90C 0003956C 57 A4 04 3E */ clrlwi r4, r29, 0x10 /* 8003D910 00039570 28 04 00 FF */ cmplwi r4, 0xff /* 8003D914 00039574 40 80 00 24 */ bge lbl_8003D938 /* 8003D918 00039578 80 7E 0C 04 */ lwz r3, 0xc04(r30) /* 8003D91C 0003957C 38 A0 00 00 */ li r5, 0 /* 8003D920 00039580 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 8003D924 00039584 38 C0 00 00 */ li r6, 0 /* 8003D928 00039588 C0 42 82 30 */ lfs f2, lbl_80640830-_SDA2_BASE_(r2) /* 8003D92C 0003958C 38 E0 00 00 */ li r7, 0 /* 8003D930 00039590 39 00 00 00 */ li r8, 0 /* 8003D934 00039594 48 1B 74 C1 */ bl func_801F4DF4 lbl_8003D938: /* 8003D938 00039598 80 1E 00 00 */ lwz r0, 0(r30) /* 8003D93C 0003959C 54 00 04 E2 */ rlwinm r0, r0, 0, 0x13, 0x11 /* 8003D940 000395A0 90 1E 00 00 */ stw r0, 0(r30) /* 8003D944 000395A4 48 00 00 08 */ b lbl_8003D94C /* 8003D948 000395A8 48 00 00 98 */ b lbl_8003D9E0 lbl_8003D94C: /* 8003D94C 000395AC 57 E0 10 3A */ slwi r0, r31, 2 /* 8003D950 000395B0 7F BE 02 14 */ add r29, r30, r0 /* 8003D954 000395B4 80 7D 0C 90 */ lwz r3, 0xc90(r29) /* 8003D958 000395B8 2C 03 00 00 */ cmpwi r3, 0 /* 8003D95C 000395BC 41 82 00 40 */ beq lbl_8003D99C /* 8003D960 000395C0 80 03 01 04 */ lwz r0, 0x104(r3) /* 8003D964 000395C4 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003D968 000395C8 60 00 00 04 */ ori r0, r0, 4 /* 8003D96C 000395CC 90 03 01 04 */ stw r0, 0x104(r3) /* 8003D970 000395D0 D0 03 01 10 */ stfs f0, 0x110(r3) /* 8003D974 000395D4 80 7D 0C 90 */ lwz r3, 0xc90(r29) /* 8003D978 000395D8 2C 03 00 00 */ cmpwi r3, 0 /* 8003D97C 000395DC 41 82 00 18 */ beq lbl_8003D994 /* 8003D980 000395E0 81 83 01 00 */ lwz r12, 0x100(r3) /* 8003D984 000395E4 38 80 00 01 */ li r4, 1 /* 8003D988 000395E8 81 8C 00 08 */ lwz r12, 8(r12) /* 8003D98C 000395EC 7D 89 03 A6 */ mtctr r12 /* 8003D990 000395F0 4E 80 04 21 */ bctrl lbl_8003D994: /* 8003D994 000395F4 38 00 00 00 */ li r0, 0 /* 8003D998 000395F8 90 1D 0C 90 */ stw r0, 0xc90(r29) lbl_8003D99C: /* 8003D99C 000395FC 38 1F FF FF */ addi r0, r31, -1 /* 8003D9A0 00039600 28 00 00 01 */ cmplwi r0, 1 /* 8003D9A4 00039604 41 81 00 3C */ bgt lbl_8003D9E0 /* 8003D9A8 00039608 80 1E 00 00 */ lwz r0, 0(r30) /* 8003D9AC 0003960C 7F C3 F3 78 */ mr r3, r30 /* 8003D9B0 00039610 54 00 07 FE */ clrlwi r0, r0, 0x1f /* 8003D9B4 00039614 7C 00 00 34 */ cntlzw r0, r0 /* 8003D9B8 00039618 54 04 D9 7E */ srwi r4, r0, 5 /* 8003D9BC 0003961C 4B FF A3 71 */ bl func_80037D2C /* 8003D9C0 00039620 80 1E 00 00 */ lwz r0, 0(r30) /* 8003D9C4 00039624 7F C3 F3 78 */ mr r3, r30 /* 8003D9C8 00039628 54 00 07 FE */ clrlwi r0, r0, 0x1f /* 8003D9CC 0003962C 7C 00 00 34 */ cntlzw r0, r0 /* 8003D9D0 00039630 54 04 D9 7E */ srwi r4, r0, 5 /* 8003D9D4 00039634 4B FF A3 59 */ bl func_80037D2C /* 8003D9D8 00039638 7F C3 F3 78 */ mr r3, r30 /* 8003D9DC 0003963C 4B FF A6 45 */ bl func_80038020 lbl_8003D9E0: /* 8003D9E0 00039640 80 01 00 24 */ lwz r0, 0x24(r1) /* 8003D9E4 00039644 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8003D9E8 00039648 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8003D9EC 0003964C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8003D9F0 00039650 7C 08 03 A6 */ mtlr r0 /* 8003D9F4 00039654 38 21 00 20 */ addi r1, r1, 0x20 /* 8003D9F8 00039658 4E 80 00 20 */ blr .global func_8003D9FC func_8003D9FC: /* 8003D9FC 0003965C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8003DA00 00039660 7C 08 02 A6 */ mflr r0 /* 8003DA04 00039664 2C 04 00 00 */ cmpwi r4, 0 /* 8003DA08 00039668 90 01 00 14 */ stw r0, 0x14(r1) /* 8003DA0C 0003966C 93 E1 00 0C */ stw r31, 0xc(r1) /* 8003DA10 00039670 93 C1 00 08 */ stw r30, 8(r1) /* 8003DA14 00039674 7C 7E 1B 78 */ mr r30, r3 /* 8003DA18 00039678 41 82 00 20 */ beq lbl_8003DA38 /* 8003DA1C 0003967C 2C 05 00 00 */ cmpwi r5, 0 /* 8003DA20 00039680 41 82 00 18 */ beq lbl_8003DA38 /* 8003DA24 00039684 2C 06 00 00 */ cmpwi r6, 0 /* 8003DA28 00039688 41 82 00 10 */ beq lbl_8003DA38 /* 8003DA2C 0003968C 80 03 0C 04 */ lwz r0, 0xc04(r3) /* 8003DA30 00039690 2C 00 00 00 */ cmpwi r0, 0 /* 8003DA34 00039694 40 82 00 0C */ bne lbl_8003DA40 lbl_8003DA38: /* 8003DA38 00039698 38 60 00 00 */ li r3, 0 /* 8003DA3C 0003969C 48 00 00 D0 */ b lbl_8003DB0C lbl_8003DA40: /* 8003DA40 000396A0 7C 83 23 78 */ mr r3, r4 /* 8003DA44 000396A4 7C A4 2B 78 */ mr r4, r5 /* 8003DA48 000396A8 7C C5 33 78 */ mr r5, r6 /* 8003DA4C 000396AC 7C E6 3B 78 */ mr r6, r7 /* 8003DA50 000396B0 38 E0 00 01 */ li r7, 1 /* 8003DA54 000396B4 48 1C 30 D9 */ bl func_80200B2C /* 8003DA58 000396B8 2C 03 00 00 */ cmpwi r3, 0 /* 8003DA5C 000396BC 7C 7F 1B 78 */ mr r31, r3 /* 8003DA60 000396C0 40 82 00 0C */ bne lbl_8003DA6C /* 8003DA64 000396C4 38 60 00 00 */ li r3, 0 /* 8003DA68 000396C8 48 00 00 A4 */ b lbl_8003DB0C lbl_8003DA6C: /* 8003DA6C 000396CC 80 9E 0C 04 */ lwz r4, 0xc04(r30) /* 8003DA70 000396D0 48 1C 31 E5 */ bl func_80200C54 /* 8003DA74 000396D4 A0 1E 05 0C */ lhz r0, 0x50c(r30) /* 8003DA78 000396D8 28 00 00 02 */ cmplwi r0, 2 /* 8003DA7C 000396DC 40 82 00 30 */ bne lbl_8003DAAC /* 8003DA80 000396E0 3C 60 80 64 */ lis r3, lbl_8063CE34@ha /* 8003DA84 000396E4 A0 9E 05 1C */ lhz r4, 0x51c(r30) /* 8003DA88 000396E8 38 63 CE 34 */ addi r3, r3, lbl_8063CE34@l /* 8003DA8C 000396EC 38 63 00 28 */ addi r3, r3, 0x28 /* 8003DA90 000396F0 48 35 83 71 */ bl func_80395E00 /* 8003DA94 000396F4 2C 03 00 00 */ cmpwi r3, 0 /* 8003DA98 000396F8 41 82 00 14 */ beq lbl_8003DAAC /* 8003DA9C 000396FC 7F E4 FB 78 */ mr r4, r31 /* 8003DAA0 00039700 38 7E 05 24 */ addi r3, r30, 0x524 /* 8003DAA4 00039704 38 A0 00 01 */ li r5, 1 /* 8003DAA8 00039708 48 00 22 D1 */ bl func_8003FD78 lbl_8003DAAC: /* 8003DAAC 0003970C 80 6D A3 40 */ lwz r3, lbl_8063F600-_SDA_BASE_(r13) /* 8003DAB0 00039710 48 1E 6A D9 */ bl func_80224588 /* 8003DAB4 00039714 80 6D A3 40 */ lwz r3, lbl_8063F600-_SDA_BASE_(r13) /* 8003DAB8 00039718 48 1E 6A D1 */ bl func_80224588 /* 8003DABC 0003971C 80 9E 0C 04 */ lwz r4, 0xc04(r30) /* 8003DAC0 00039720 7F E3 FB 78 */ mr r3, r31 /* 8003DAC4 00039724 48 1C 32 45 */ bl func_80200D08 /* 8003DAC8 00039728 A0 1E 05 0C */ lhz r0, 0x50c(r30) /* 8003DACC 0003972C 28 00 00 02 */ cmplwi r0, 2 /* 8003DAD0 00039730 40 82 00 30 */ bne lbl_8003DB00 /* 8003DAD4 00039734 3C 60 80 64 */ lis r3, lbl_8063CE34@ha /* 8003DAD8 00039738 A0 9E 05 1C */ lhz r4, 0x51c(r30) /* 8003DADC 0003973C 38 63 CE 34 */ addi r3, r3, lbl_8063CE34@l /* 8003DAE0 00039740 38 63 00 28 */ addi r3, r3, 0x28 /* 8003DAE4 00039744 48 35 83 1D */ bl func_80395E00 /* 8003DAE8 00039748 2C 03 00 00 */ cmpwi r3, 0 /* 8003DAEC 0003974C 41 82 00 14 */ beq lbl_8003DB00 /* 8003DAF0 00039750 7F E4 FB 78 */ mr r4, r31 /* 8003DAF4 00039754 38 7E 05 24 */ addi r3, r30, 0x524 /* 8003DAF8 00039758 38 A0 00 00 */ li r5, 0 /* 8003DAFC 0003975C 48 00 22 7D */ bl func_8003FD78 lbl_8003DB00: /* 8003DB00 00039760 7F E3 FB 78 */ mr r3, r31 /* 8003DB04 00039764 48 1C 32 75 */ bl func_80200D78 /* 8003DB08 00039768 38 60 00 01 */ li r3, 1 lbl_8003DB0C: /* 8003DB0C 0003976C 80 01 00 14 */ lwz r0, 0x14(r1) /* 8003DB10 00039770 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8003DB14 00039774 83 C1 00 08 */ lwz r30, 8(r1) /* 8003DB18 00039778 7C 08 03 A6 */ mtlr r0 /* 8003DB1C 0003977C 38 21 00 10 */ addi r1, r1, 0x10 /* 8003DB20 00039780 4E 80 00 20 */ blr .global func_8003DB24 func_8003DB24: /* 8003DB24 00039784 3C 80 19 9C */ lis r4, 0x199C0A00@ha /* 8003DB28 00039788 38 63 0D 04 */ addi r3, r3, 0xd04 /* 8003DB2C 0003978C 38 84 0A 00 */ addi r4, r4, 0x199C0A00@l /* 8003DB30 00039790 4B FF 95 FC */ b lbl_8003712C .global WorldDarkening_Fade WorldDarkening_Fade: /* 8003DB34 00039794 D0 23 0D 08 */ stfs f1, 0xd08(r3) /* 8003DB38 00039798 D0 43 0D 0C */ stfs f2, 0xd0c(r3) /* 8003DB3C 0003979C 4E 80 00 20 */ blr .global func_8003DB40 func_8003DB40: /* 8003DB40 000397A0 94 21 FF 80 */ stwu r1, -0x80(r1) /* 8003DB44 000397A4 7C 08 02 A6 */ mflr r0 /* 8003DB48 000397A8 90 01 00 84 */ stw r0, 0x84(r1) /* 8003DB4C 000397AC DB E1 00 70 */ stfd f31, 0x70(r1) /* 8003DB50 000397B0 F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0 /* 8003DB54 000397B4 DB C1 00 60 */ stfd f30, 0x60(r1) /* 8003DB58 000397B8 F3 C1 00 68 */ psq_st f30, 104(r1), 0, qr0 /* 8003DB5C 000397BC DB A1 00 50 */ stfd f29, 0x50(r1) /* 8003DB60 000397C0 F3 A1 00 58 */ psq_st f29, 88(r1), 0, qr0 /* 8003DB64 000397C4 39 61 00 50 */ addi r11, r1, 0x50 /* 8003DB68 000397C8 48 18 95 B9 */ bl _savegpr_25 /* 8003DB6C 000397CC 88 03 0D 04 */ lbz r0, 0xd04(r3) /* 8003DB70 000397D0 FF A0 08 90 */ fmr f29, f1 /* 8003DB74 000397D4 7C 7B 1B 78 */ mr r27, r3 /* 8003DB78 000397D8 2C 00 00 00 */ cmpwi r0, 0 /* 8003DB7C 000397DC 41 82 01 E4 */ beq lbl_8003DD60 /* 8003DB80 000397E0 80 83 0C 04 */ lwz r4, 0xc04(r3) /* 8003DB84 000397E4 2C 04 00 00 */ cmpwi r4, 0 /* 8003DB88 000397E8 41 82 01 CC */ beq lbl_8003DD54 /* 8003DB8C 000397EC C0 23 0D 10 */ lfs f1, 0xd10(r3) /* 8003DB90 000397F0 C0 03 0D 0C */ lfs f0, 0xd0c(r3) /* 8003DB94 000397F4 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8003DB98 000397F8 4C 41 13 82 */ cror 2, 1, 2 /* 8003DB9C 000397FC 40 82 01 B8 */ bne lbl_8003DD54 /* 8003DBA0 00039800 A3 E4 00 DE */ lhz r31, 0xde(r4) /* 8003DBA4 00039804 7F 7E DB 78 */ mr r30, r27 /* 8003DBA8 00039808 C3 E2 82 20 */ lfs f31, lbl_80640820-_SDA2_BASE_(r2) /* 8003DBAC 0003980C 3B A0 00 00 */ li r29, 0 /* 8003DBB0 00039810 C3 C2 82 40 */ lfs f30, lbl_80640840-_SDA2_BASE_(r2) /* 8003DBB4 00039814 3B 80 00 00 */ li r28, 0 /* 8003DBB8 00039818 3B 40 00 00 */ li r26, 0 /* 8003DBBC 0003981C 48 00 01 90 */ b lbl_8003DD4C lbl_8003DBC0: /* 8003DBC0 00039820 80 1E 0D 18 */ lwz r0, 0xd18(r30) /* 8003DBC4 00039824 2C 00 00 00 */ cmpwi r0, 0 /* 8003DBC8 00039828 41 82 01 7C */ beq lbl_8003DD44 /* 8003DBCC 0003982C 80 7B 0C 04 */ lwz r3, 0xc04(r27) /* 8003DBD0 00039830 80 83 00 08 */ lwz r4, 8(r3) /* 8003DBD4 00039834 2C 04 00 00 */ cmpwi r4, 0 /* 8003DBD8 00039838 40 82 00 0C */ bne lbl_8003DBE4 /* 8003DBDC 0003983C 38 60 00 00 */ li r3, 0 /* 8003DBE0 00039840 48 00 00 24 */ b lbl_8003DC04 lbl_8003DBE4: /* 8003DBE4 00039844 A0 03 00 DE */ lhz r0, 0xde(r3) /* 8003DBE8 00039848 57 83 04 3E */ clrlwi r3, r28, 0x10 /* 8003DBEC 0003984C 7C 03 00 40 */ cmplw r3, r0 /* 8003DBF0 00039850 41 80 00 0C */ blt lbl_8003DBFC /* 8003DBF4 00039854 38 60 00 00 */ li r3, 0 /* 8003DBF8 00039858 48 00 00 0C */ b lbl_8003DC04 lbl_8003DBFC: /* 8003DBFC 0003985C 57 80 13 BA */ rlwinm r0, r28, 2, 0xe, 0x1d /* 8003DC00 00039860 7C 64 00 2E */ lwzx r3, r4, r0 lbl_8003DC04: /* 8003DC04 00039864 C0 43 00 EC */ lfs f2, 0xec(r3) /* 8003DC08 00039868 C0 1B 0D 08 */ lfs f0, 0xd08(r27) /* 8003DC0C 0003986C C0 63 00 DC */ lfs f3, 0xdc(r3) /* 8003DC10 00039870 C0 23 00 FC */ lfs f1, 0xfc(r3) /* 8003DC14 00039874 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 8003DC18 00039878 D0 61 00 24 */ stfs f3, 0x24(r1) /* 8003DC1C 0003987C D0 41 00 28 */ stfs f2, 0x28(r1) /* 8003DC20 00039880 D0 21 00 2C */ stfs f1, 0x2c(r1) /* 8003DC24 00039884 4C 40 13 82 */ cror 2, 0, 2 /* 8003DC28 00039888 40 82 01 1C */ bne lbl_8003DD44 /* 8003DC2C 0003988C FC 02 F0 40 */ fcmpo cr0, f2, f30 /* 8003DC30 00039890 40 81 01 14 */ ble lbl_8003DD44 /* 8003DC34 00039894 D3 E1 00 28 */ stfs f31, 0x28(r1) /* 8003DC38 00039898 7F 63 DB 78 */ mr r3, r27 /* 8003DC3C 0003989C 4B FF BA 99 */ bl func_800396D4 /* 8003DC40 000398A0 80 1B 0D 14 */ lwz r0, 0xd14(r27) /* 8003DC44 000398A4 7C 64 1B 78 */ mr r4, r3 /* 8003DC48 000398A8 C0 22 82 30 */ lfs f1, lbl_80640830-_SDA2_BASE_(r2) /* 8003DC4C 000398AC 54 00 10 3A */ slwi r0, r0, 2 /* 8003DC50 000398B0 7C 7B 02 14 */ add r3, r27, r0 /* 8003DC54 000398B4 80 63 0D 18 */ lwz r3, 0xd18(r3) /* 8003DC58 000398B8 48 01 06 FD */ bl func_8004E354 /* 8003DC5C 000398BC 7F 64 DB 78 */ mr r4, r27 /* 8003DC60 000398C0 38 61 00 18 */ addi r3, r1, 0x18 /* 8003DC64 000398C4 4B FF AE 31 */ bl func_80038A94 /* 8003DC68 000398C8 80 1B 0D 14 */ lwz r0, 0xd14(r27) /* 8003DC6C 000398CC 54 00 10 3A */ slwi r0, r0, 2 /* 8003DC70 000398D0 7C 7B 02 14 */ add r3, r27, r0 /* 8003DC74 000398D4 83 23 0D 18 */ lwz r25, 0xd18(r3) /* 8003DC78 000398D8 80 19 00 40 */ lwz r0, 0x40(r25) /* 8003DC7C 000398DC 2C 00 00 00 */ cmpwi r0, 0 /* 8003DC80 000398E0 41 82 00 48 */ beq lbl_8003DCC8 /* 8003DC84 000398E4 38 61 00 08 */ addi r3, r1, 8 /* 8003DC88 000398E8 38 81 00 18 */ addi r4, r1, 0x18 /* 8003DC8C 000398EC 48 1E 5A 35 */ bl func_802236C0 /* 8003DC90 000398F0 80 79 00 40 */ lwz r3, 0x40(r25) /* 8003DC94 000398F4 38 80 00 01 */ li r4, 1 /* 8003DC98 000398F8 C0 01 00 08 */ lfs f0, 8(r1) /* 8003DC9C 000398FC D0 03 00 2C */ stfs f0, 0x2c(r3) /* 8003DCA0 00039900 C0 01 00 0C */ lfs f0, 0xc(r1) /* 8003DCA4 00039904 D0 03 00 30 */ stfs f0, 0x30(r3) /* 8003DCA8 00039908 C0 01 00 10 */ lfs f0, 0x10(r1) /* 8003DCAC 0003990C D0 03 00 34 */ stfs f0, 0x34(r3) /* 8003DCB0 00039910 C0 01 00 14 */ lfs f0, 0x14(r1) /* 8003DCB4 00039914 D0 03 00 38 */ stfs f0, 0x38(r3) /* 8003DCB8 00039918 A0 03 00 10 */ lhz r0, 0x10(r3) /* 8003DCBC 0003991C 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c /* 8003DCC0 00039920 B0 03 00 10 */ sth r0, 0x10(r3) /* 8003DCC4 00039924 48 1B 49 F5 */ bl func_801F26B8 lbl_8003DCC8: /* 8003DCC8 00039928 80 1B 0D 14 */ lwz r0, 0xd14(r27) /* 8003DCCC 0003992C 54 00 10 3A */ slwi r0, r0, 2 /* 8003DCD0 00039930 7C 7B 02 14 */ add r3, r27, r0 /* 8003DCD4 00039934 80 63 0D 18 */ lwz r3, 0xd18(r3) /* 8003DCD8 00039938 80 63 00 40 */ lwz r3, 0x40(r3) /* 8003DCDC 0003993C 2C 03 00 00 */ cmpwi r3, 0 /* 8003DCE0 00039940 41 82 00 24 */ beq lbl_8003DD04 /* 8003DCE4 00039944 C0 01 00 24 */ lfs f0, 0x24(r1) /* 8003DCE8 00039948 38 80 00 01 */ li r4, 1 /* 8003DCEC 0003994C C0 21 00 28 */ lfs f1, 0x28(r1) /* 8003DCF0 00039950 D0 03 00 20 */ stfs f0, 0x20(r3) /* 8003DCF4 00039954 C0 01 00 2C */ lfs f0, 0x2c(r1) /* 8003DCF8 00039958 D0 23 00 24 */ stfs f1, 0x24(r3) /* 8003DCFC 0003995C D0 03 00 28 */ stfs f0, 0x28(r3) /* 8003DD00 00039960 48 1B 49 B9 */ bl func_801F26B8 lbl_8003DD04: /* 8003DD04 00039964 80 1B 0D 14 */ lwz r0, 0xd14(r27) /* 8003DD08 00039968 C0 22 82 20 */ lfs f1, lbl_80640820-_SDA2_BASE_(r2) /* 8003DD0C 0003996C 54 00 10 3A */ slwi r0, r0, 2 /* 8003DD10 00039970 7C 7B 02 14 */ add r3, r27, r0 /* 8003DD14 00039974 80 63 0D 18 */ lwz r3, 0xd18(r3) /* 8003DD18 00039978 48 01 0A B1 */ bl func_8004E7C8 /* 8003DD1C 0003997C 80 7B 0D 14 */ lwz r3, 0xd14(r27) /* 8003DD20 00039980 38 03 00 01 */ addi r0, r3, 1 /* 8003DD24 00039984 2C 00 00 06 */ cmpwi r0, 6 /* 8003DD28 00039988 90 1B 0D 14 */ stw r0, 0xd14(r27) /* 8003DD2C 0003998C 41 80 00 08 */ blt lbl_8003DD34 /* 8003DD30 00039990 93 5B 0D 14 */ stw r26, 0xd14(r27) lbl_8003DD34: /* 8003DD34 00039994 3B BD 00 01 */ addi r29, r29, 1 /* 8003DD38 00039998 D3 FB 0D 10 */ stfs f31, 0xd10(r27) /* 8003DD3C 0003999C 2C 1D 00 02 */ cmpwi r29, 2 /* 8003DD40 000399A0 40 80 00 20 */ bge lbl_8003DD60 lbl_8003DD44: /* 8003DD44 000399A4 3B DE 00 04 */ addi r30, r30, 4 /* 8003DD48 000399A8 3B 9C 00 01 */ addi r28, r28, 1 lbl_8003DD4C: /* 8003DD4C 000399AC 7C 1C F8 00 */ cmpw r28, r31 /* 8003DD50 000399B0 41 80 FE 70 */ blt lbl_8003DBC0 lbl_8003DD54: /* 8003DD54 000399B4 C0 1B 0D 10 */ lfs f0, 0xd10(r27) /* 8003DD58 000399B8 EC 00 E8 2A */ fadds f0, f0, f29 /* 8003DD5C 000399BC D0 1B 0D 10 */ stfs f0, 0xd10(r27) lbl_8003DD60: /* 8003DD60 000399C0 E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0 /* 8003DD64 000399C4 CB E1 00 70 */ lfd f31, 0x70(r1) /* 8003DD68 000399C8 E3 C1 00 68 */ psq_l f30, 104(r1), 0, qr0 /* 8003DD6C 000399CC CB C1 00 60 */ lfd f30, 0x60(r1) /* 8003DD70 000399D0 E3 A1 00 58 */ psq_l f29, 88(r1), 0, qr0 /* 8003DD74 000399D4 39 61 00 50 */ addi r11, r1, 0x50 /* 8003DD78 000399D8 CB A1 00 50 */ lfd f29, 0x50(r1) /* 8003DD7C 000399DC 48 18 93 F1 */ bl _restgpr_25 /* 8003DD80 000399E0 80 01 00 84 */ lwz r0, 0x84(r1) /* 8003DD84 000399E4 7C 08 03 A6 */ mtlr r0 /* 8003DD88 000399E8 38 21 00 80 */ addi r1, r1, 0x80 /* 8003DD8C 000399EC 4E 80 00 20 */ blr .global func_8003DD90 func_8003DD90: /* 8003DD90 000399F0 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003DD94 000399F4 38 00 00 01 */ li r0, 1 /* 8003DD98 000399F8 98 03 0D 04 */ stb r0, 0xd04(r3) /* 8003DD9C 000399FC D0 03 0D 10 */ stfs f0, 0xd10(r3) /* 8003DDA0 00039A00 4E 80 00 20 */ blr .global func_8003DDA4 func_8003DDA4: /* 8003DDA4 00039A04 C0 02 82 20 */ lfs f0, lbl_80640820-_SDA2_BASE_(r2) /* 8003DDA8 00039A08 38 00 00 00 */ li r0, 0 /* 8003DDAC 00039A0C 2C 04 00 00 */ cmpwi r4, 0 /* 8003DDB0 00039A10 98 03 0D 04 */ stb r0, 0xd04(r3) /* 8003DDB4 00039A14 D0 03 0D 10 */ stfs f0, 0xd10(r3) /* 8003DDB8 00039A18 4D 82 00 20 */ beqlr /* 8003DDBC 00039A1C 38 00 00 02 */ li r0, 2 /* 8003DDC0 00039A20 38 A0 00 00 */ li r5, 0 /* 8003DDC4 00039A24 7C 09 03 A6 */ mtctr r0 lbl_8003DDC8: /* 8003DDC8 00039A28 80 83 0D 18 */ lwz r4, 0xd18(r3) /* 8003DDCC 00039A2C 2C 04 00 00 */ cmpwi r4, 0 /* 8003DDD0 00039A30 41 82 00 20 */ beq lbl_8003DDF0 /* 8003DDD4 00039A34 80 84 00 40 */ lwz r4, 0x40(r4) /* 8003DDD8 00039A38 2C 04 00 00 */ cmpwi r4, 0 /* 8003DDDC 00039A3C 41 82 00 14 */ beq lbl_8003DDF0 /* 8003DDE0 00039A40 80 04 01 04 */ lwz r0, 0x104(r4) /* 8003DDE4 00039A44 60 00 00 04 */ ori r0, r0, 4 /* 8003DDE8 00039A48 90 04 01 04 */ stw r0, 0x104(r4) /* 8003DDEC 00039A4C D0 04 01 10 */ stfs f0, 0x110(r4) lbl_8003DDF0: /* 8003DDF0 00039A50 80 83 0D 1C */ lwz r4, 0xd1c(r3) /* 8003DDF4 00039A54 2C 04 00 00 */ cmpwi r4, 0 /* 8003DDF8 00039A58 41 82 00 20 */ beq lbl_8003DE18 /* 8003DDFC 00039A5C 80 84 00 40 */ lwz r4, 0x40(r4) /* 8003DE00 00039A60 2C 04 00 00 */ cmpwi r4, 0 /* 8003DE04 00039A64 41 82 00 14 */ beq lbl_8003DE18 /* 8003DE08 00039A68 80 04 01 04 */ lwz r0, 0x104(r4) /* 8003DE0C 00039A6C 60 00 00 04 */ ori r0, r0, 4 /* 8003DE10 00039A70 90 04 01 04 */ stw r0, 0x104(r4) /* 8003DE14 00039A74 D0 04 01 10 */ stfs f0, 0x110(r4) lbl_8003DE18: /* 8003DE18 00039A78 80 83 0D 20 */ lwz r4, 0xd20(r3) /* 8003DE1C 00039A7C 2C 04 00 00 */ cmpwi r4, 0 /* 8003DE20 00039A80 41 82 00 20 */ beq lbl_8003DE40 /* 8003DE24 00039A84 80 84 00 40 */ lwz r4, 0x40(r4) /* 8003DE28 00039A88 2C 04 00 00 */ cmpwi r4, 0 /* 8003DE2C 00039A8C 41 82 00 14 */ beq lbl_8003DE40 /* 8003DE30 00039A90 80 04 01 04 */ lwz r0, 0x104(r4) /* 8003DE34 00039A94 60 00 00 04 */ ori r0, r0, 4 /* 8003DE38 00039A98 90 04 01 04 */ stw r0, 0x104(r4) /* 8003DE3C 00039A9C D0 04 01 10 */ stfs f0, 0x110(r4) lbl_8003DE40: /* 8003DE40 00039AA0 38 63 00 0C */ addi r3, r3, 0xc /* 8003DE44 00039AA4 38 A5 00 02 */ addi r5, r5, 2 /* 8003DE48 00039AA8 42 00 FF 80 */ bdnz lbl_8003DDC8 /* 8003DE4C 00039AAC 4E 80 00 20 */ blr .global func_8003DE50 func_8003DE50: /* 8003DE50 00039AB0 88 63 0D 04 */ lbz r3, 0xd04(r3) /* 8003DE54 00039AB4 4E 80 00 20 */ blr .global func_8003DE58 func_8003DE58: /* 8003DE58 00039AB8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8003DE5C 00039ABC 7C 08 02 A6 */ mflr r0 /* 8003DE60 00039AC0 38 80 00 01 */ li r4, 1 /* 8003DE64 00039AC4 90 01 00 14 */ stw r0, 0x14(r1) /* 8003DE68 00039AC8 93 E1 00 0C */ stw r31, 0xc(r1) /* 8003DE6C 00039ACC 7C 7F 1B 78 */ mr r31, r3 /* 8003DE70 00039AD0 4B FF FF 35 */ bl func_8003DDA4 /* 8003DE74 00039AD4 38 7F 0D 04 */ addi r3, r31, 0xd04 /* 8003DE78 00039AD8 4B FF 93 5D */ bl func_800371D4 /* 8003DE7C 00039ADC 80 01 00 14 */ lwz r0, 0x14(r1) /* 8003DE80 00039AE0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8003DE84 00039AE4 7C 08 03 A6 */ mtlr r0 /* 8003DE88 00039AE8 38 21 00 10 */ addi r1, r1, 0x10 /* 8003DE8C 00039AEC 4E 80 00 20 */ blr .global func_8003DE90 func_8003DE90: /* 8003DE90 00039AF0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8003DE94 00039AF4 7C 08 02 A6 */ mflr r0 /* 8003DE98 00039AF8 90 01 00 24 */ stw r0, 0x24(r1) /* 8003DE9C 00039AFC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8003DEA0 00039B00 93 C1 00 18 */ stw r30, 0x18(r1) /* 8003DEA4 00039B04 93 A1 00 14 */ stw r29, 0x14(r1) /* 8003DEA8 00039B08 7C BD 2B 78 */ mr r29, r5 /* 8003DEAC 00039B0C 93 81 00 10 */ stw r28, 0x10(r1) /* 8003DEB0 00039B10 7C 9C 23 78 */ mr r28, r4 /* 8003DEB4 00039B14 88 03 0D 04 */ lbz r0, 0xd04(r3) /* 8003DEB8 00039B18 2C 00 00 00 */ cmpwi r0, 0 /* 8003DEBC 00039B1C 40 82 00 10 */ bne lbl_8003DECC /* 8003DEC0 00039B20 80 03 0C 04 */ lwz r0, 0xc04(r3) /* 8003DEC4 00039B24 2C 00 00 00 */ cmpwi r0, 0 /* 8003DEC8 00039B28 41 82 00 34 */ beq lbl_8003DEFC lbl_8003DECC: /* 8003DECC 00039B2C 7C 7F 1B 78 */ mr r31, r3 /* 8003DED0 00039B30 3B C0 00 00 */ li r30, 0 lbl_8003DED4: /* 8003DED4 00039B34 80 7F 0D 18 */ lwz r3, 0xd18(r31) /* 8003DED8 00039B38 2C 03 00 00 */ cmpwi r3, 0 /* 8003DEDC 00039B3C 41 82 00 10 */ beq lbl_8003DEEC /* 8003DEE0 00039B40 7F 84 E3 78 */ mr r4, r28 /* 8003DEE4 00039B44 7F A5 EB 78 */ mr r5, r29 /* 8003DEE8 00039B48 48 01 07 91 */ bl func_8004E678 lbl_8003DEEC: /* 8003DEEC 00039B4C 3B DE 00 01 */ addi r30, r30, 1 /* 8003DEF0 00039B50 3B FF 00 04 */ addi r31, r31, 4 /* 8003DEF4 00039B54 2C 1E 00 06 */ cmpwi r30, 6 /* 8003DEF8 00039B58 41 80 FF DC */ blt lbl_8003DED4 lbl_8003DEFC: /* 8003DEFC 00039B5C 80 01 00 24 */ lwz r0, 0x24(r1) /* 8003DF00 00039B60 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8003DF04 00039B64 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8003DF08 00039B68 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8003DF0C 00039B6C 83 81 00 10 */ lwz r28, 0x10(r1) /* 8003DF10 00039B70 7C 08 03 A6 */ mtlr r0 /* 8003DF14 00039B74 38 21 00 20 */ addi r1, r1, 0x20 /* 8003DF18 00039B78 4E 80 00 20 */ blr .global func_8003DF1C func_8003DF1C: /* 8003DF1C 00039B7C 80 63 0C 04 */ lwz r3, 0xc04(r3) /* 8003DF20 00039B80 2C 03 00 00 */ cmpwi r3, 0 /* 8003DF24 00039B84 4D 82 00 20 */ beqlr /* 8003DF28 00039B88 2C 04 00 00 */ cmpwi r4, 0 /* 8003DF2C 00039B8C 41 82 00 08 */ beq lbl_8003DF34 /* 8003DF30 00039B90 48 1B B8 14 */ b func_801F9744 lbl_8003DF34: /* 8003DF34 00039B94 48 1B B8 D4 */ b func_801F9808 /* 8003DF38 00039B98 4E 80 00 20 */ blr .global func_8003DF3C func_8003DF3C: /* 8003DF3C 00039B9C 80 63 0C 00 */ lwz r3, 0xc00(r3) /* 8003DF40 00039BA0 2C 03 00 00 */ cmpwi r3, 0 /* 8003DF44 00039BA4 41 82 00 74 */ beq lbl_8003DFB8 /* 8003DF48 00039BA8 80 C3 00 04 */ lwz r6, 4(r3) /* 8003DF4C 00039BAC 2C 06 00 00 */ cmpwi r6, 0 /* 8003DF50 00039BB0 40 82 00 0C */ bne lbl_8003DF5C /* 8003DF54 00039BB4 38 60 00 00 */ li r3, 0 /* 8003DF58 00039BB8 48 00 00 24 */ b lbl_8003DF7C lbl_8003DF5C: /* 8003DF5C 00039BBC 80 63 00 00 */ lwz r3, 0(r3) /* 8003DF60 00039BC0 A0 03 00 18 */ lhz r0, 0x18(r3) /* 8003DF64 00039BC4 7C 04 00 40 */ cmplw r4, r0 /* 8003DF68 00039BC8 41 80 00 0C */ blt lbl_8003DF74 /* 8003DF6C 00039BCC 38 60 00 00 */ li r3, 0 /* 8003DF70 00039BD0 48 00 00 0C */ b lbl_8003DF7C lbl_8003DF74: /* 8003DF74 00039BD4 54 80 13 BA */ rlwinm r0, r4, 2, 0xe, 0x1d /* 8003DF78 00039BD8 7C 66 00 2E */ lwzx r3, r6, r0 lbl_8003DF7C: /* 8003DF7C 00039BDC 2C 03 00 00 */ cmpwi r3, 0 /* 8003DF80 00039BE0 41 82 00 38 */ beq lbl_8003DFB8 /* 8003DF84 00039BE4 80 83 00 08 */ lwz r4, 8(r3) /* 8003DF88 00039BE8 2C 04 00 00 */ cmpwi r4, 0 /* 8003DF8C 00039BEC 40 82 00 0C */ bne lbl_8003DF98 /* 8003DF90 00039BF0 38 60 00 00 */ li r3, 0 /* 8003DF94 00039BF4 4E 80 00 20 */ blr lbl_8003DF98: /* 8003DF98 00039BF8 A0 03 00 DE */ lhz r0, 0xde(r3) /* 8003DF9C 00039BFC 7C 05 00 40 */ cmplw r5, r0 /* 8003DFA0 00039C00 41 80 00 0C */ blt lbl_8003DFAC /* 8003DFA4 00039C04 38 60 00 00 */ li r3, 0 /* 8003DFA8 00039C08 4E 80 00 20 */ blr lbl_8003DFAC: /* 8003DFAC 00039C0C 54 A0 13 BA */ rlwinm r0, r5, 2, 0xe, 0x1d /* 8003DFB0 00039C10 7C 64 00 2E */ lwzx r3, r4, r0 /* 8003DFB4 00039C14 4E 80 00 20 */ blr lbl_8003DFB8: /* 8003DFB8 00039C18 38 60 00 00 */ li r3, 0 /* 8003DFBC 00039C1C 4E 80 00 20 */ blr .global func_8003DFC0 func_8003DFC0: /* 8003DFC0 00039C20 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8003DFC4 00039C24 7C 08 02 A6 */ mflr r0 /* 8003DFC8 00039C28 38 80 00 00 */ li r4, 0 /* 8003DFCC 00039C2C 90 01 00 14 */ stw r0, 0x14(r1) /* 8003DFD0 00039C30 93 E1 00 0C */ stw r31, 0xc(r1) /* 8003DFD4 00039C34 93 C1 00 08 */ stw r30, 8(r1) /* 8003DFD8 00039C38 7C 7E 1B 78 */ mr r30, r3 /* 8003DFDC 00039C3C 4B FF E2 81 */ bl func_8003C25C /* 8003DFE0 00039C40 54 7F 04 3E */ clrlwi r31, r3, 0x10 /* 8003DFE4 00039C44 7F C3 F3 78 */ mr r3, r30 /* 8003DFE8 00039C48 38 80 00 0A */ li r4, 0xa /* 8003DFEC 00039C4C 4B FF E2 71 */ bl func_8003C25C /* 8003DFF0 00039C50 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 8003DFF4 00039C54 7C 60 F8 50 */ subf r3, r0, r31 /* 8003DFF8 00039C58 7C 1F 00 50 */ subf r0, r31, r0 /* 8003DFFC 00039C5C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8003E000 00039C60 7C 60 03 78 */ or r0, r3, r0 /* 8003E004 00039C64 83 C1 00 08 */ lwz r30, 8(r1) /* 8003E008 00039C68 54 03 0F FE */ srwi r3, r0, 0x1f /* 8003E00C 00039C6C 80 01 00 14 */ lwz r0, 0x14(r1) /* 8003E010 00039C70 7C 08 03 A6 */ mtlr r0 /* 8003E014 00039C74 38 21 00 10 */ addi r1, r1, 0x10 /* 8003E018 00039C78 4E 80 00 20 */ blr .global func_8003E01C func_8003E01C: /* 8003E01C 00039C7C 38 A0 00 01 */ li r5, 1 /* 8003E020 00039C80 38 6D 97 B0 */ addi r3, r13, lbl_8063EA70-_SDA_BASE_ /* 8003E024 00039C84 38 80 00 04 */ li r4, 4 /* 8003E028 00039C88 38 00 00 00 */ li r0, 0 /* 8003E02C 00039C8C 98 AD 97 B0 */ stb r5, lbl_8063EA70-_SDA_BASE_(r13) /* 8003E030 00039C90 B0 83 00 02 */ sth r4, 2(r3) /* 8003E034 00039C94 98 03 00 04 */ stb r0, 4(r3) /* 8003E038 00039C98 4E 80 00 20 */ blr