.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global func_800400E8 func_800400E8: /* 800400E8 0003BD48 C0 05 00 00 */ lfs f0, 0(r5) /* 800400EC 0003BD4C C0 C4 00 00 */ lfs f6, 0(r4) /* 800400F0 0003BD50 C0 65 00 04 */ lfs f3, 4(r5) /* 800400F4 0003BD54 EC A0 30 28 */ fsubs f5, f0, f6 /* 800400F8 0003BD58 C0 84 00 04 */ lfs f4, 4(r4) /* 800400FC 0003BD5C C0 05 00 08 */ lfs f0, 8(r5) /* 80040100 0003BD60 C0 44 00 08 */ lfs f2, 8(r4) /* 80040104 0003BD64 EC 63 20 28 */ fsubs f3, f3, f4 /* 80040108 0003BD68 EC A1 01 72 */ fmuls f5, f1, f5 /* 8004010C 0003BD6C EC 00 10 28 */ fsubs f0, f0, f2 /* 80040110 0003BD70 EC 61 00 F2 */ fmuls f3, f1, f3 /* 80040114 0003BD74 EC A6 28 2A */ fadds f5, f6, f5 /* 80040118 0003BD78 EC 01 00 32 */ fmuls f0, f1, f0 /* 8004011C 0003BD7C EC 24 18 2A */ fadds f1, f4, f3 /* 80040120 0003BD80 D0 A3 00 00 */ stfs f5, 0(r3) /* 80040124 0003BD84 EC 02 00 2A */ fadds f0, f2, f0 /* 80040128 0003BD88 D0 23 00 04 */ stfs f1, 4(r3) /* 8004012C 0003BD8C D0 03 00 08 */ stfs f0, 8(r3) /* 80040130 0003BD90 4E 80 00 20 */ blr lbl_80040134: /* 80040134 0003BD94 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80040138 0003BD98 7C 08 02 A6 */ mflr r0 /* 8004013C 0003BD9C 90 01 00 14 */ stw r0, 0x14(r1) /* 80040140 0003BDA0 93 E1 00 0C */ stw r31, 0xc(r1) /* 80040144 0003BDA4 48 00 00 B1 */ bl func_800401F4 /* 80040148 0003BDA8 2C 03 00 00 */ cmpwi r3, 0 /* 8004014C 0003BDAC 7C 7F 1B 78 */ mr r31, r3 /* 80040150 0003BDB0 41 82 00 10 */ beq lbl_80040160 /* 80040154 0003BDB4 4B FC 72 49 */ bl func_8000739C /* 80040158 0003BDB8 7F E3 FB 78 */ mr r3, r31 /* 8004015C 0003BDBC 48 00 02 55 */ bl func_800403B0 lbl_80040160: /* 80040160 0003BDC0 80 01 00 14 */ lwz r0, 0x14(r1) /* 80040164 0003BDC4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80040168 0003BDC8 7C 08 03 A6 */ mtlr r0 /* 8004016C 0003BDCC 38 21 00 10 */ addi r1, r1, 0x10 /* 80040170 0003BDD0 4E 80 00 20 */ blr lbl_80040174: /* 80040174 0003BDD4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80040178 0003BDD8 7C 08 02 A6 */ mflr r0 /* 8004017C 0003BDDC 90 01 00 14 */ stw r0, 0x14(r1) /* 80040180 0003BDE0 48 00 00 75 */ bl func_800401F4 /* 80040184 0003BDE4 2C 03 00 00 */ cmpwi r3, 0 /* 80040188 0003BDE8 41 82 00 08 */ beq lbl_80040190 /* 8004018C 0003BDEC 48 00 02 A9 */ bl func_80040434 lbl_80040190: /* 80040190 0003BDF0 80 01 00 14 */ lwz r0, 0x14(r1) /* 80040194 0003BDF4 7C 08 03 A6 */ mtlr r0 /* 80040198 0003BDF8 38 21 00 10 */ addi r1, r1, 0x10 /* 8004019C 0003BDFC 4E 80 00 20 */ blr .global func_800401A0 func_800401A0: /* 800401A0 0003BE00 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800401A4 0003BE04 7C 08 02 A6 */ mflr r0 /* 800401A8 0003BE08 38 60 37 E4 */ li r3, 0x37e4 /* 800401AC 0003BE0C 90 01 00 14 */ stw r0, 0x14(r1) /* 800401B0 0003BE10 48 19 A8 81 */ bl __nw__FUl /* 800401B4 0003BE14 2C 03 00 00 */ cmpwi r3, 0 /* 800401B8 0003BE18 41 82 00 08 */ beq lbl_800401C0 /* 800401BC 0003BE1C 48 00 00 B9 */ bl func_80040274 lbl_800401C0: /* 800401C0 0003BE20 3C 80 80 04 */ lis r4, lbl_80040134@ha /* 800401C4 0003BE24 3C A0 80 04 */ lis r5, lbl_80040174@ha /* 800401C8 0003BE28 90 6D 97 D8 */ stw r3, lbl_8063EA98-_SDA_BASE_(r13) /* 800401CC 0003BE2C 38 84 01 34 */ addi r4, r4, lbl_80040134@l /* 800401D0 0003BE30 80 6D A4 B8 */ lwz r3, lbl_8063F778-_SDA_BASE_(r13) /* 800401D4 0003BE34 38 A5 01 74 */ addi r5, r5, lbl_80040174@l /* 800401D8 0003BE38 38 C0 00 03 */ li r6, 3 /* 800401DC 0003BE3C 38 E0 00 0C */ li r7, 0xc /* 800401E0 0003BE40 48 1F E9 79 */ bl func_8023EB58 /* 800401E4 0003BE44 80 01 00 14 */ lwz r0, 0x14(r1) /* 800401E8 0003BE48 7C 08 03 A6 */ mtlr r0 /* 800401EC 0003BE4C 38 21 00 10 */ addi r1, r1, 0x10 /* 800401F0 0003BE50 4E 80 00 20 */ blr .global func_800401F4 func_800401F4: /* 800401F4 0003BE54 80 6D 97 D8 */ lwz r3, lbl_8063EA98-_SDA_BASE_(r13) /* 800401F8 0003BE58 4E 80 00 20 */ blr .global func_800401FC func_800401FC: /* 800401FC 0003BE5C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80040200 0003BE60 7C 08 02 A6 */ mflr r0 /* 80040204 0003BE64 90 01 00 24 */ stw r0, 0x24(r1) /* 80040208 0003BE68 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8004020C 0003BE6C 7C 7F 1B 78 */ mr r31, r3 /* 80040210 0003BE70 93 C1 00 18 */ stw r30, 0x18(r1) /* 80040214 0003BE74 3B C3 00 04 */ addi r30, r3, 4 /* 80040218 0003BE78 93 A1 00 14 */ stw r29, 0x14(r1) /* 8004021C 0003BE7C 3B A0 00 00 */ li r29, 0 /* 80040220 0003BE80 93 81 00 10 */ stw r28, 0x10(r1) /* 80040224 0003BE84 7C 9C 23 78 */ mr r28, r4 lbl_80040228: /* 80040228 0003BE88 88 1F 00 04 */ lbz r0, 4(r31) /* 8004022C 0003BE8C 2C 00 00 00 */ cmpwi r0, 0 /* 80040230 0003BE90 41 82 00 10 */ beq lbl_80040240 /* 80040234 0003BE94 7F C3 F3 78 */ mr r3, r30 /* 80040238 0003BE98 7F 84 E3 78 */ mr r4, r28 /* 8004023C 0003BE9C 48 00 45 35 */ bl func_80044770 lbl_80040240: /* 80040240 0003BEA0 3B BD 00 01 */ addi r29, r29, 1 /* 80040244 0003BEA4 3B DE 06 FC */ addi r30, r30, 0x6fc /* 80040248 0003BEA8 28 1D 00 08 */ cmplwi r29, 8 /* 8004024C 0003BEAC 3B FF 06 FC */ addi r31, r31, 0x6fc /* 80040250 0003BEB0 41 80 FF D8 */ blt lbl_80040228 /* 80040254 0003BEB4 80 01 00 24 */ lwz r0, 0x24(r1) /* 80040258 0003BEB8 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8004025C 0003BEBC 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80040260 0003BEC0 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80040264 0003BEC4 83 81 00 10 */ lwz r28, 0x10(r1) /* 80040268 0003BEC8 7C 08 03 A6 */ mtlr r0 /* 8004026C 0003BECC 38 21 00 20 */ addi r1, r1, 0x20 /* 80040270 0003BED0 4E 80 00 20 */ blr .global func_80040274 func_80040274: /* 80040274 0003BED4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80040278 0003BED8 7C 08 02 A6 */ mflr r0 /* 8004027C 0003BEDC 90 01 00 24 */ stw r0, 0x24(r1) /* 80040280 0003BEE0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80040284 0003BEE4 3B E3 37 E4 */ addi r31, r3, 0x37e4 /* 80040288 0003BEE8 93 C1 00 18 */ stw r30, 0x18(r1) /* 8004028C 0003BEEC 3B C3 00 04 */ addi r30, r3, 4 /* 80040290 0003BEF0 93 A1 00 14 */ stw r29, 0x14(r1) /* 80040294 0003BEF4 7C 7D 1B 78 */ mr r29, r3 lbl_80040298: /* 80040298 0003BEF8 7F C3 F3 78 */ mr r3, r30 /* 8004029C 0003BEFC 48 00 0C 09 */ bl func_80040EA4 /* 800402A0 0003BF00 3B DE 06 FC */ addi r30, r30, 0x6fc /* 800402A4 0003BF04 7C 1E F8 40 */ cmplw r30, r31 /* 800402A8 0003BF08 41 80 FF F0 */ blt lbl_80040298 /* 800402AC 0003BF0C 38 00 00 00 */ li r0, 0 /* 800402B0 0003BF10 7F A3 EB 78 */ mr r3, r29 /* 800402B4 0003BF14 98 1D 00 00 */ stb r0, 0(r29) /* 800402B8 0003BF18 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 800402BC 0003BF1C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 800402C0 0003BF20 83 A1 00 14 */ lwz r29, 0x14(r1) /* 800402C4 0003BF24 80 01 00 24 */ lwz r0, 0x24(r1) /* 800402C8 0003BF28 7C 08 03 A6 */ mtlr r0 /* 800402CC 0003BF2C 38 21 00 20 */ addi r1, r1, 0x20 /* 800402D0 0003BF30 4E 80 00 20 */ blr .global func_800402D4 func_800402D4: /* 800402D4 0003BF34 94 21 FF E0 */ stwu r1, -0x20(r1) /* 800402D8 0003BF38 7C 08 02 A6 */ mflr r0 /* 800402DC 0003BF3C 90 01 00 24 */ stw r0, 0x24(r1) /* 800402E0 0003BF40 38 00 00 08 */ li r0, 8 /* 800402E4 0003BF44 93 E1 00 1C */ stw r31, 0x1c(r1) /* 800402E8 0003BF48 93 C1 00 18 */ stw r30, 0x18(r1) /* 800402EC 0003BF4C 3B C0 00 00 */ li r30, 0 /* 800402F0 0003BF50 93 A1 00 14 */ stw r29, 0x14(r1) /* 800402F4 0003BF54 7C 7D 1B 78 */ mr r29, r3 /* 800402F8 0003BF58 7F A4 EB 78 */ mr r4, r29 /* 800402FC 0003BF5C 7C 09 03 A6 */ mtctr r0 lbl_80040300: /* 80040300 0003BF60 88 04 00 04 */ lbz r0, 4(r4) /* 80040304 0003BF64 2C 00 00 00 */ cmpwi r0, 0 /* 80040308 0003BF68 40 82 00 24 */ bne lbl_8004032C /* 8004030C 0003BF6C 1F FE 06 FC */ mulli r31, r30, 0x6fc /* 80040310 0003BF70 7C 63 FA 14 */ add r3, r3, r31 /* 80040314 0003BF74 38 63 00 04 */ addi r3, r3, 4 /* 80040318 0003BF78 48 00 0C 89 */ bl func_80040FA0 /* 8004031C 0003BF7C 38 7E 00 01 */ addi r3, r30, 1 /* 80040320 0003BF80 7C 9D FA 14 */ add r4, r29, r31 /* 80040324 0003BF84 90 64 04 B8 */ stw r3, 0x4b8(r4) /* 80040328 0003BF88 48 00 00 14 */ b lbl_8004033C lbl_8004032C: /* 8004032C 0003BF8C 38 84 06 FC */ addi r4, r4, 0x6fc /* 80040330 0003BF90 3B DE 00 01 */ addi r30, r30, 1 /* 80040334 0003BF94 42 00 FF CC */ bdnz lbl_80040300 /* 80040338 0003BF98 38 60 00 00 */ li r3, 0 lbl_8004033C: /* 8004033C 0003BF9C 80 01 00 24 */ lwz r0, 0x24(r1) /* 80040340 0003BFA0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80040344 0003BFA4 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80040348 0003BFA8 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8004034C 0003BFAC 7C 08 03 A6 */ mtlr r0 /* 80040350 0003BFB0 38 21 00 20 */ addi r1, r1, 0x20 /* 80040354 0003BFB4 4E 80 00 20 */ blr .global func_80040358 func_80040358: /* 80040358 0003BFB8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004035C 0003BFBC 7C 08 02 A6 */ mflr r0 /* 80040360 0003BFC0 90 01 00 14 */ stw r0, 0x14(r1) /* 80040364 0003BFC4 48 00 00 21 */ bl func_80040384 /* 80040368 0003BFC8 2C 03 00 00 */ cmpwi r3, 0 /* 8004036C 0003BFCC 41 82 00 08 */ beq lbl_80040374 /* 80040370 0003BFD0 48 00 0C F5 */ bl func_80041064 lbl_80040374: /* 80040374 0003BFD4 80 01 00 14 */ lwz r0, 0x14(r1) /* 80040378 0003BFD8 7C 08 03 A6 */ mtlr r0 /* 8004037C 0003BFDC 38 21 00 10 */ addi r1, r1, 0x10 /* 80040380 0003BFE0 4E 80 00 20 */ blr .global func_80040384 func_80040384: /* 80040384 0003BFE4 2C 04 00 00 */ cmpwi r4, 0 /* 80040388 0003BFE8 41 82 00 0C */ beq lbl_80040394 /* 8004038C 0003BFEC 28 04 00 08 */ cmplwi r4, 8 /* 80040390 0003BFF0 41 80 00 0C */ blt lbl_8004039C lbl_80040394: /* 80040394 0003BFF4 38 60 00 00 */ li r3, 0 /* 80040398 0003BFF8 4E 80 00 20 */ blr lbl_8004039C: /* 8004039C 0003BFFC 38 04 FF FF */ addi r0, r4, -1 /* 800403A0 0003C000 1C 00 06 FC */ mulli r0, r0, 0x6fc /* 800403A4 0003C004 7C 63 02 14 */ add r3, r3, r0 /* 800403A8 0003C008 38 63 00 04 */ addi r3, r3, 4 /* 800403AC 0003C00C 4E 80 00 20 */ blr .global func_800403B0 func_800403B0: /* 800403B0 0003C010 94 21 FF E0 */ stwu r1, -0x20(r1) /* 800403B4 0003C014 7C 08 02 A6 */ mflr r0 /* 800403B8 0003C018 90 01 00 24 */ stw r0, 0x24(r1) /* 800403BC 0003C01C DB E1 00 18 */ stfd f31, 0x18(r1) /* 800403C0 0003C020 FF E0 08 90 */ fmr f31, f1 /* 800403C4 0003C024 93 E1 00 14 */ stw r31, 0x14(r1) /* 800403C8 0003C028 93 C1 00 10 */ stw r30, 0x10(r1) /* 800403CC 0003C02C 93 A1 00 0C */ stw r29, 0xc(r1) /* 800403D0 0003C030 88 03 00 00 */ lbz r0, 0(r3) /* 800403D4 0003C034 2C 00 00 00 */ cmpwi r0, 0 /* 800403D8 0003C038 41 82 00 3C */ beq lbl_80040414 /* 800403DC 0003C03C 7C 7F 1B 78 */ mr r31, r3 /* 800403E0 0003C040 3B C3 00 04 */ addi r30, r3, 4 /* 800403E4 0003C044 3B A0 00 00 */ li r29, 0 lbl_800403E8: /* 800403E8 0003C048 88 1F 00 04 */ lbz r0, 4(r31) /* 800403EC 0003C04C 2C 00 00 00 */ cmpwi r0, 0 /* 800403F0 0003C050 41 82 00 10 */ beq lbl_80040400 /* 800403F4 0003C054 FC 20 F8 90 */ fmr f1, f31 /* 800403F8 0003C058 7F C3 F3 78 */ mr r3, r30 /* 800403FC 0003C05C 48 00 37 6D */ bl func_80043B68 lbl_80040400: /* 80040400 0003C060 3B BD 00 01 */ addi r29, r29, 1 /* 80040404 0003C064 3B DE 06 FC */ addi r30, r30, 0x6fc /* 80040408 0003C068 28 1D 00 08 */ cmplwi r29, 8 /* 8004040C 0003C06C 3B FF 06 FC */ addi r31, r31, 0x6fc /* 80040410 0003C070 41 80 FF D8 */ blt lbl_800403E8 lbl_80040414: /* 80040414 0003C074 80 01 00 24 */ lwz r0, 0x24(r1) /* 80040418 0003C078 CB E1 00 18 */ lfd f31, 0x18(r1) /* 8004041C 0003C07C 83 E1 00 14 */ lwz r31, 0x14(r1) /* 80040420 0003C080 83 C1 00 10 */ lwz r30, 0x10(r1) /* 80040424 0003C084 83 A1 00 0C */ lwz r29, 0xc(r1) /* 80040428 0003C088 7C 08 03 A6 */ mtlr r0 /* 8004042C 0003C08C 38 21 00 20 */ addi r1, r1, 0x20 /* 80040430 0003C090 4E 80 00 20 */ blr .global func_80040434 func_80040434: /* 80040434 0003C094 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80040438 0003C098 7C 08 02 A6 */ mflr r0 /* 8004043C 0003C09C 90 01 00 24 */ stw r0, 0x24(r1) /* 80040440 0003C0A0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80040444 0003C0A4 93 C1 00 18 */ stw r30, 0x18(r1) /* 80040448 0003C0A8 93 A1 00 14 */ stw r29, 0x14(r1) /* 8004044C 0003C0AC 88 03 00 00 */ lbz r0, 0(r3) /* 80040450 0003C0B0 2C 00 00 00 */ cmpwi r0, 0 /* 80040454 0003C0B4 41 82 00 38 */ beq lbl_8004048C /* 80040458 0003C0B8 7C 7F 1B 78 */ mr r31, r3 /* 8004045C 0003C0BC 3B C3 00 04 */ addi r30, r3, 4 /* 80040460 0003C0C0 3B A0 00 00 */ li r29, 0 lbl_80040464: /* 80040464 0003C0C4 88 1F 00 04 */ lbz r0, 4(r31) /* 80040468 0003C0C8 2C 00 00 00 */ cmpwi r0, 0 /* 8004046C 0003C0CC 41 82 00 0C */ beq lbl_80040478 /* 80040470 0003C0D0 7F C3 F3 78 */ mr r3, r30 /* 80040474 0003C0D4 48 00 40 29 */ bl func_8004449C lbl_80040478: /* 80040478 0003C0D8 3B BD 00 01 */ addi r29, r29, 1 /* 8004047C 0003C0DC 3B DE 06 FC */ addi r30, r30, 0x6fc /* 80040480 0003C0E0 28 1D 00 08 */ cmplwi r29, 8 /* 80040484 0003C0E4 3B FF 06 FC */ addi r31, r31, 0x6fc /* 80040488 0003C0E8 41 80 FF DC */ blt lbl_80040464 lbl_8004048C: /* 8004048C 0003C0EC 80 01 00 24 */ lwz r0, 0x24(r1) /* 80040490 0003C0F0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80040494 0003C0F4 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80040498 0003C0F8 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8004049C 0003C0FC 7C 08 03 A6 */ mtlr r0 /* 800404A0 0003C100 38 21 00 20 */ addi r1, r1, 0x20 /* 800404A4 0003C104 4E 80 00 20 */ blr .global func_800404A8 func_800404A8: /* 800404A8 0003C108 C0 02 82 B0 */ lfs f0, lbl_806408B0-_SDA2_BASE_(r2) /* 800404AC 0003C10C 38 00 00 00 */ li r0, 0 /* 800404B0 0003C110 90 03 00 10 */ stw r0, 0x10(r3) /* 800404B4 0003C114 D0 03 00 14 */ stfs f0, 0x14(r3) /* 800404B8 0003C118 D0 03 00 18 */ stfs f0, 0x18(r3) /* 800404BC 0003C11C D0 03 00 1C */ stfs f0, 0x1c(r3) /* 800404C0 0003C120 D0 03 00 50 */ stfs f0, 0x50(r3) /* 800404C4 0003C124 90 83 00 54 */ stw r4, 0x54(r3) /* 800404C8 0003C128 98 03 00 00 */ stb r0, 0(r3) /* 800404CC 0003C12C 90 03 00 04 */ stw r0, 4(r3) /* 800404D0 0003C130 D0 03 00 08 */ stfs f0, 8(r3) /* 800404D4 0003C134 90 03 00 58 */ stw r0, 0x58(r3) /* 800404D8 0003C138 90 03 00 5C */ stw r0, 0x5c(r3) /* 800404DC 0003C13C 90 03 00 60 */ stw r0, 0x60(r3) /* 800404E0 0003C140 90 03 00 64 */ stw r0, 0x64(r3) /* 800404E4 0003C144 90 03 00 68 */ stw r0, 0x68(r3) /* 800404E8 0003C148 90 03 00 6C */ stw r0, 0x6c(r3) /* 800404EC 0003C14C 90 03 00 70 */ stw r0, 0x70(r3) /* 800404F0 0003C150 90 03 00 74 */ stw r0, 0x74(r3) /* 800404F4 0003C154 4E 80 00 20 */ blr .global func_800404F8 func_800404F8: /* 800404F8 0003C158 94 21 FF E0 */ stwu r1, -0x20(r1) /* 800404FC 0003C15C 7C 08 02 A6 */ mflr r0 /* 80040500 0003C160 2C 04 00 00 */ cmpwi r4, 0 /* 80040504 0003C164 90 01 00 24 */ stw r0, 0x24(r1) /* 80040508 0003C168 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8004050C 0003C16C 7C BF 2B 78 */ mr r31, r5 /* 80040510 0003C170 41 80 00 58 */ blt lbl_80040568 /* 80040514 0003C174 2C 04 00 04 */ cmpwi r4, 4 /* 80040518 0003C178 40 80 00 50 */ bge lbl_80040568 /* 8004051C 0003C17C 54 80 18 38 */ slwi r0, r4, 3 /* 80040520 0003C180 7C 63 02 14 */ add r3, r3, r0 /* 80040524 0003C184 80 83 00 58 */ lwz r4, 0x58(r3) /* 80040528 0003C188 2C 04 00 00 */ cmpwi r4, 0 /* 8004052C 0003C18C 41 82 00 3C */ beq lbl_80040568 /* 80040530 0003C190 80 A3 00 5C */ lwz r5, 0x5c(r3) /* 80040534 0003C194 2C 05 00 00 */ cmpwi r5, 0 /* 80040538 0003C198 40 82 00 08 */ bne lbl_80040540 /* 8004053C 0003C19C 38 A0 00 13 */ li r5, 0x13 lbl_80040540: /* 80040540 0003C1A0 38 61 00 08 */ addi r3, r1, 8 /* 80040544 0003C1A4 4B FF 93 59 */ bl func_8003989C /* 80040548 0003C1A8 C0 01 00 08 */ lfs f0, 8(r1) /* 8004054C 0003C1AC 38 60 00 01 */ li r3, 1 /* 80040550 0003C1B0 D0 1F 00 00 */ stfs f0, 0(r31) /* 80040554 0003C1B4 C0 01 00 0C */ lfs f0, 0xc(r1) /* 80040558 0003C1B8 D0 1F 00 04 */ stfs f0, 4(r31) /* 8004055C 0003C1BC C0 01 00 10 */ lfs f0, 0x10(r1) /* 80040560 0003C1C0 D0 1F 00 08 */ stfs f0, 8(r31) /* 80040564 0003C1C4 48 00 00 08 */ b lbl_8004056C lbl_80040568: /* 80040568 0003C1C8 38 60 00 00 */ li r3, 0 lbl_8004056C: /* 8004056C 0003C1CC 80 01 00 24 */ lwz r0, 0x24(r1) /* 80040570 0003C1D0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80040574 0003C1D4 7C 08 03 A6 */ mtlr r0 /* 80040578 0003C1D8 38 21 00 20 */ addi r1, r1, 0x20 /* 8004057C 0003C1DC 4E 80 00 20 */ blr .global func_80040580 func_80040580: /* 80040580 0003C1E0 38 80 00 00 */ li r4, 0 /* 80040584 0003C1E4 48 00 00 04 */ b func_80040588 .global func_80040588 func_80040588: /* 80040588 0003C1E8 94 21 FF A0 */ stwu r1, -0x60(r1) /* 8004058C 0003C1EC 7C 08 02 A6 */ mflr r0 /* 80040590 0003C1F0 90 01 00 64 */ stw r0, 0x64(r1) /* 80040594 0003C1F4 93 E1 00 5C */ stw r31, 0x5c(r1) /* 80040598 0003C1F8 93 C1 00 58 */ stw r30, 0x58(r1) /* 8004059C 0003C1FC 7C 9E 23 78 */ mr r30, r4 /* 800405A0 0003C200 93 A1 00 54 */ stw r29, 0x54(r1) /* 800405A4 0003C204 7C 7D 1B 78 */ mr r29, r3 /* 800405A8 0003C208 80 03 00 10 */ lwz r0, 0x10(r3) /* 800405AC 0003C20C 80 A3 00 54 */ lwz r5, 0x54(r3) /* 800405B0 0003C210 2C 00 00 03 */ cmpwi r0, 3 /* 800405B4 0003C214 41 82 01 E0 */ beq lbl_80040794 /* 800405B8 0003C218 40 80 00 14 */ bge lbl_800405CC /* 800405BC 0003C21C 2C 00 00 01 */ cmpwi r0, 1 /* 800405C0 0003C220 41 82 00 18 */ beq lbl_800405D8 /* 800405C4 0003C224 40 80 00 6C */ bge lbl_80040630 /* 800405C8 0003C228 48 00 01 CC */ b lbl_80040794 lbl_800405CC: /* 800405CC 0003C22C 2C 00 00 05 */ cmpwi r0, 5 /* 800405D0 0003C230 40 80 01 C4 */ bge lbl_80040794 /* 800405D4 0003C234 48 00 01 58 */ b lbl_8004072C lbl_800405D8: /* 800405D8 0003C238 38 A1 00 2C */ addi r5, r1, 0x2c /* 800405DC 0003C23C 38 80 00 00 */ li r4, 0 /* 800405E0 0003C240 4B FF FF 19 */ bl func_800404F8 /* 800405E4 0003C244 38 61 00 2C */ addi r3, r1, 0x2c /* 800405E8 0003C248 38 9D 00 44 */ addi r4, r29, 0x44 /* 800405EC 0003C24C 38 A1 00 14 */ addi r5, r1, 0x14 /* 800405F0 0003C250 48 23 C6 D5 */ bl PSVECAdd /* 800405F4 0003C254 C0 61 00 14 */ lfs f3, 0x14(r1) /* 800405F8 0003C258 38 7D 00 2C */ addi r3, r29, 0x2c /* 800405FC 0003C25C C0 22 82 B4 */ lfs f1, lbl_806408B4-_SDA2_BASE_(r2) /* 80040600 0003C260 38 9D 00 14 */ addi r4, r29, 0x14 /* 80040604 0003C264 D0 7D 00 14 */ stfs f3, 0x14(r29) /* 80040608 0003C268 38 A1 00 2C */ addi r5, r1, 0x2c /* 8004060C 0003C26C C0 41 00 18 */ lfs f2, 0x18(r1) /* 80040610 0003C270 D0 5D 00 18 */ stfs f2, 0x18(r29) /* 80040614 0003C274 C0 01 00 1C */ lfs f0, 0x1c(r1) /* 80040618 0003C278 D0 1D 00 1C */ stfs f0, 0x1c(r29) /* 8004061C 0003C27C D0 7D 00 38 */ stfs f3, 0x38(r29) /* 80040620 0003C280 D0 5D 00 3C */ stfs f2, 0x3c(r29) /* 80040624 0003C284 D0 1D 00 40 */ stfs f0, 0x40(r29) /* 80040628 0003C288 4B FF FA C1 */ bl func_800400E8 /* 8004062C 0003C28C 48 00 01 68 */ b lbl_80040794 lbl_80040630: /* 80040630 0003C290 38 A1 00 38 */ addi r5, r1, 0x38 /* 80040634 0003C294 38 80 00 00 */ li r4, 0 /* 80040638 0003C298 4B FF FE C1 */ bl func_800404F8 /* 8004063C 0003C29C 2C 03 00 00 */ cmpwi r3, 0 /* 80040640 0003C2A0 41 82 01 54 */ beq lbl_80040794 /* 80040644 0003C2A4 7F A3 EB 78 */ mr r3, r29 /* 80040648 0003C2A8 38 A1 00 44 */ addi r5, r1, 0x44 /* 8004064C 0003C2AC 38 80 00 01 */ li r4, 1 /* 80040650 0003C2B0 4B FF FE A9 */ bl func_800404F8 /* 80040654 0003C2B4 2C 03 00 00 */ cmpwi r3, 0 /* 80040658 0003C2B8 41 82 00 1C */ beq lbl_80040674 /* 8004065C 0003C2BC C0 22 82 B8 */ lfs f1, lbl_806408B8-_SDA2_BASE_(r2) /* 80040660 0003C2C0 38 61 00 2C */ addi r3, r1, 0x2c /* 80040664 0003C2C4 38 81 00 38 */ addi r4, r1, 0x38 /* 80040668 0003C2C8 38 A1 00 44 */ addi r5, r1, 0x44 /* 8004066C 0003C2CC 4B FF FA 7D */ bl func_800400E8 /* 80040670 0003C2D0 48 00 00 1C */ b lbl_8004068C lbl_80040674: /* 80040674 0003C2D4 C0 41 00 38 */ lfs f2, 0x38(r1) /* 80040678 0003C2D8 C0 21 00 3C */ lfs f1, 0x3c(r1) /* 8004067C 0003C2DC C0 01 00 40 */ lfs f0, 0x40(r1) /* 80040680 0003C2E0 D0 41 00 2C */ stfs f2, 0x2c(r1) /* 80040684 0003C2E4 D0 21 00 30 */ stfs f1, 0x30(r1) /* 80040688 0003C2E8 D0 01 00 34 */ stfs f0, 0x34(r1) lbl_8004068C: /* 8004068C 0003C2EC 38 61 00 2C */ addi r3, r1, 0x2c /* 80040690 0003C2F0 38 9D 00 44 */ addi r4, r29, 0x44 /* 80040694 0003C2F4 7C 65 1B 78 */ mr r5, r3 /* 80040698 0003C2F8 48 23 C6 2D */ bl PSVECAdd /* 8004069C 0003C2FC 7F A3 EB 78 */ mr r3, r29 /* 800406A0 0003C300 38 81 00 20 */ addi r4, r1, 0x20 /* 800406A4 0003C304 38 A1 00 2C */ addi r5, r1, 0x2c /* 800406A8 0003C308 48 00 02 B9 */ bl func_80040960 /* 800406AC 0003C30C C0 01 00 2C */ lfs f0, 0x2c(r1) /* 800406B0 0003C310 7C 7F 1B 78 */ mr r31, r3 /* 800406B4 0003C314 C0 22 82 B4 */ lfs f1, lbl_806408B4-_SDA2_BASE_(r2) /* 800406B8 0003C318 38 7D 00 2C */ addi r3, r29, 0x2c /* 800406BC 0003C31C D0 1D 00 38 */ stfs f0, 0x38(r29) /* 800406C0 0003C320 38 9D 00 14 */ addi r4, r29, 0x14 /* 800406C4 0003C324 38 A1 00 2C */ addi r5, r1, 0x2c /* 800406C8 0003C328 C0 01 00 30 */ lfs f0, 0x30(r1) /* 800406CC 0003C32C D0 1D 00 3C */ stfs f0, 0x3c(r29) /* 800406D0 0003C330 C0 01 00 34 */ lfs f0, 0x34(r1) /* 800406D4 0003C334 D0 1D 00 40 */ stfs f0, 0x40(r29) /* 800406D8 0003C338 4B FF FA 11 */ bl func_800400E8 /* 800406DC 0003C33C 2C 1E 00 00 */ cmpwi r30, 0 /* 800406E0 0003C340 40 82 00 0C */ bne lbl_800406EC /* 800406E4 0003C344 2C 1F 00 01 */ cmpwi r31, 1 /* 800406E8 0003C348 40 82 00 20 */ bne lbl_80040708 lbl_800406EC: /* 800406EC 0003C34C C0 01 00 2C */ lfs f0, 0x2c(r1) /* 800406F0 0003C350 D0 1D 00 14 */ stfs f0, 0x14(r29) /* 800406F4 0003C354 C0 01 00 30 */ lfs f0, 0x30(r1) /* 800406F8 0003C358 D0 1D 00 18 */ stfs f0, 0x18(r29) /* 800406FC 0003C35C C0 01 00 34 */ lfs f0, 0x34(r1) /* 80040700 0003C360 D0 1D 00 1C */ stfs f0, 0x1c(r29) /* 80040704 0003C364 48 00 00 90 */ b lbl_80040794 lbl_80040708: /* 80040708 0003C368 2C 1F 00 02 */ cmpwi r31, 2 /* 8004070C 0003C36C 40 82 00 88 */ bne lbl_80040794 /* 80040710 0003C370 C0 01 00 20 */ lfs f0, 0x20(r1) /* 80040714 0003C374 D0 1D 00 14 */ stfs f0, 0x14(r29) /* 80040718 0003C378 C0 01 00 24 */ lfs f0, 0x24(r1) /* 8004071C 0003C37C D0 1D 00 18 */ stfs f0, 0x18(r29) /* 80040720 0003C380 C0 01 00 28 */ lfs f0, 0x28(r1) /* 80040724 0003C384 D0 1D 00 1C */ stfs f0, 0x1c(r29) /* 80040728 0003C388 48 00 00 6C */ b lbl_80040794 lbl_8004072C: /* 8004072C 0003C38C 7C A3 2B 78 */ mr r3, r5 /* 80040730 0003C390 48 00 1E 61 */ bl func_80042590 /* 80040734 0003C394 C0 03 00 00 */ lfs f0, 0(r3) /* 80040738 0003C398 38 9D 00 44 */ addi r4, r29, 0x44 /* 8004073C 0003C39C 38 A1 00 08 */ addi r5, r1, 8 /* 80040740 0003C3A0 D0 01 00 2C */ stfs f0, 0x2c(r1) /* 80040744 0003C3A4 C0 03 00 04 */ lfs f0, 4(r3) /* 80040748 0003C3A8 D0 01 00 30 */ stfs f0, 0x30(r1) /* 8004074C 0003C3AC C0 03 00 08 */ lfs f0, 8(r3) /* 80040750 0003C3B0 38 61 00 2C */ addi r3, r1, 0x2c /* 80040754 0003C3B4 D0 01 00 34 */ stfs f0, 0x34(r1) /* 80040758 0003C3B8 48 23 C5 6D */ bl PSVECAdd /* 8004075C 0003C3BC C0 61 00 08 */ lfs f3, 8(r1) /* 80040760 0003C3C0 38 7D 00 2C */ addi r3, r29, 0x2c /* 80040764 0003C3C4 C0 22 82 B4 */ lfs f1, lbl_806408B4-_SDA2_BASE_(r2) /* 80040768 0003C3C8 38 9D 00 14 */ addi r4, r29, 0x14 /* 8004076C 0003C3CC D0 7D 00 14 */ stfs f3, 0x14(r29) /* 80040770 0003C3D0 38 A1 00 2C */ addi r5, r1, 0x2c /* 80040774 0003C3D4 C0 41 00 0C */ lfs f2, 0xc(r1) /* 80040778 0003C3D8 D0 5D 00 18 */ stfs f2, 0x18(r29) /* 8004077C 0003C3DC C0 01 00 10 */ lfs f0, 0x10(r1) /* 80040780 0003C3E0 D0 1D 00 1C */ stfs f0, 0x1c(r29) /* 80040784 0003C3E4 D0 7D 00 38 */ stfs f3, 0x38(r29) /* 80040788 0003C3E8 D0 5D 00 3C */ stfs f2, 0x3c(r29) /* 8004078C 0003C3EC D0 1D 00 40 */ stfs f0, 0x40(r29) /* 80040790 0003C3F0 4B FF F9 59 */ bl func_800400E8 lbl_80040794: /* 80040794 0003C3F4 80 01 00 64 */ lwz r0, 0x64(r1) /* 80040798 0003C3F8 83 E1 00 5C */ lwz r31, 0x5c(r1) /* 8004079C 0003C3FC 83 C1 00 58 */ lwz r30, 0x58(r1) /* 800407A0 0003C400 83 A1 00 54 */ lwz r29, 0x54(r1) /* 800407A4 0003C404 7C 08 03 A6 */ mtlr r0 /* 800407A8 0003C408 38 21 00 60 */ addi r1, r1, 0x60 /* 800407AC 0003C40C 4E 80 00 20 */ blr .global func_800407B0 func_800407B0: /* 800407B0 0003C410 94 21 FF C0 */ stwu r1, -0x40(r1) /* 800407B4 0003C414 7C 08 02 A6 */ mflr r0 /* 800407B8 0003C418 C0 22 82 B0 */ lfs f1, lbl_806408B0-_SDA2_BASE_(r2) /* 800407BC 0003C41C 90 01 00 44 */ stw r0, 0x44(r1) /* 800407C0 0003C420 88 03 00 00 */ lbz r0, 0(r3) /* 800407C4 0003C424 93 E1 00 3C */ stw r31, 0x3c(r1) /* 800407C8 0003C428 7C 7F 1B 78 */ mr r31, r3 /* 800407CC 0003C42C 2C 00 00 00 */ cmpwi r0, 0 /* 800407D0 0003C430 41 82 00 0C */ beq lbl_800407DC /* 800407D4 0003C434 C0 23 00 0C */ lfs f1, 0xc(r3) /* 800407D8 0003C438 48 00 01 3C */ b lbl_80040914 lbl_800407DC: /* 800407DC 0003C43C 80 03 00 10 */ lwz r0, 0x10(r3) /* 800407E0 0003C440 2C 00 00 02 */ cmpwi r0, 2 /* 800407E4 0003C444 41 82 00 50 */ beq lbl_80040834 /* 800407E8 0003C448 40 80 01 2C */ bge lbl_80040914 /* 800407EC 0003C44C 2C 00 00 01 */ cmpwi r0, 1 /* 800407F0 0003C450 40 80 00 08 */ bge lbl_800407F8 /* 800407F4 0003C454 48 00 01 20 */ b lbl_80040914 lbl_800407F8: /* 800407F8 0003C458 80 83 00 58 */ lwz r4, 0x58(r3) /* 800407FC 0003C45C 2C 04 00 00 */ cmpwi r4, 0 /* 80040800 0003C460 41 82 01 14 */ beq lbl_80040914 /* 80040804 0003C464 80 63 00 5C */ lwz r3, 0x5c(r3) /* 80040808 0003C468 38 03 FF EB */ addi r0, r3, -21 /* 8004080C 0003C46C 28 00 00 01 */ cmplwi r0, 1 /* 80040810 0003C470 41 81 00 14 */ bgt lbl_80040824 /* 80040814 0003C474 7C 83 23 78 */ mr r3, r4 /* 80040818 0003C478 38 80 00 00 */ li r4, 0 /* 8004081C 0003C47C 4B FF 9D D1 */ bl func_8003A5EC /* 80040820 0003C480 48 00 00 F4 */ b lbl_80040914 lbl_80040824: /* 80040824 0003C484 7C 83 23 78 */ mr r3, r4 /* 80040828 0003C488 38 80 00 01 */ li r4, 1 /* 8004082C 0003C48C 4B FF 9D C1 */ bl func_8003A5EC /* 80040830 0003C490 48 00 00 E4 */ b lbl_80040914 lbl_80040834: /* 80040834 0003C494 80 83 00 58 */ lwz r4, 0x58(r3) /* 80040838 0003C498 2C 04 00 00 */ cmpwi r4, 0 /* 8004083C 0003C49C 41 82 00 D8 */ beq lbl_80040914 /* 80040840 0003C4A0 80 03 00 60 */ lwz r0, 0x60(r3) /* 80040844 0003C4A4 2C 00 00 00 */ cmpwi r0, 0 /* 80040848 0003C4A8 40 82 00 34 */ bne lbl_8004087C /* 8004084C 0003C4AC 80 63 00 5C */ lwz r3, 0x5c(r3) /* 80040850 0003C4B0 38 03 FF EB */ addi r0, r3, -21 /* 80040854 0003C4B4 28 00 00 01 */ cmplwi r0, 1 /* 80040858 0003C4B8 41 81 00 14 */ bgt lbl_8004086C /* 8004085C 0003C4BC 7C 83 23 78 */ mr r3, r4 /* 80040860 0003C4C0 38 80 00 00 */ li r4, 0 /* 80040864 0003C4C4 4B FF 9D 89 */ bl func_8003A5EC /* 80040868 0003C4C8 48 00 00 AC */ b lbl_80040914 lbl_8004086C: /* 8004086C 0003C4CC 7C 83 23 78 */ mr r3, r4 /* 80040870 0003C4D0 38 80 00 01 */ li r4, 1 /* 80040874 0003C4D4 4B FF 9D 79 */ bl func_8003A5EC /* 80040878 0003C4D8 48 00 00 9C */ b lbl_80040914 lbl_8004087C: /* 8004087C 0003C4DC 7C 04 00 40 */ cmplw r4, r0 /* 80040880 0003C4E0 40 82 00 34 */ bne lbl_800408B4 /* 80040884 0003C4E4 80 63 00 5C */ lwz r3, 0x5c(r3) /* 80040888 0003C4E8 38 03 FF EB */ addi r0, r3, -21 /* 8004088C 0003C4EC 28 00 00 01 */ cmplwi r0, 1 /* 80040890 0003C4F0 41 81 00 14 */ bgt lbl_800408A4 /* 80040894 0003C4F4 7C 83 23 78 */ mr r3, r4 /* 80040898 0003C4F8 38 80 00 00 */ li r4, 0 /* 8004089C 0003C4FC 4B FF 9D 51 */ bl func_8003A5EC /* 800408A0 0003C500 48 00 00 74 */ b lbl_80040914 lbl_800408A4: /* 800408A4 0003C504 7C 83 23 78 */ mr r3, r4 /* 800408A8 0003C508 38 80 00 01 */ li r4, 1 /* 800408AC 0003C50C 4B FF 9D 41 */ bl func_8003A5EC /* 800408B0 0003C510 48 00 00 64 */ b lbl_80040914 lbl_800408B4: /* 800408B4 0003C514 80 BF 00 5C */ lwz r5, 0x5c(r31) /* 800408B8 0003C518 38 61 00 14 */ addi r3, r1, 0x14 /* 800408BC 0003C51C 4B FF AD B9 */ bl func_8003B674 /* 800408C0 0003C520 C0 41 00 14 */ lfs f2, 0x14(r1) /* 800408C4 0003C524 38 61 00 08 */ addi r3, r1, 8 /* 800408C8 0003C528 C0 21 00 18 */ lfs f1, 0x18(r1) /* 800408CC 0003C52C C0 01 00 1C */ lfs f0, 0x1c(r1) /* 800408D0 0003C530 D0 41 00 20 */ stfs f2, 0x20(r1) /* 800408D4 0003C534 80 9F 00 60 */ lwz r4, 0x60(r31) /* 800408D8 0003C538 D0 21 00 24 */ stfs f1, 0x24(r1) /* 800408DC 0003C53C 80 BF 00 64 */ lwz r5, 0x64(r31) /* 800408E0 0003C540 D0 01 00 28 */ stfs f0, 0x28(r1) /* 800408E4 0003C544 4B FF AD 91 */ bl func_8003B674 /* 800408E8 0003C548 C0 41 00 08 */ lfs f2, 8(r1) /* 800408EC 0003C54C 38 61 00 20 */ addi r3, r1, 0x20 /* 800408F0 0003C550 C0 21 00 0C */ lfs f1, 0xc(r1) /* 800408F4 0003C554 38 81 00 2C */ addi r4, r1, 0x2c /* 800408F8 0003C558 C0 01 00 10 */ lfs f0, 0x10(r1) /* 800408FC 0003C55C D0 41 00 2C */ stfs f2, 0x2c(r1) /* 80040900 0003C560 D0 21 00 30 */ stfs f1, 0x30(r1) /* 80040904 0003C564 D0 01 00 34 */ stfs f0, 0x34(r1) /* 80040908 0003C568 48 23 C6 C9 */ bl PSVECDistance /* 8004090C 0003C56C C0 02 82 B8 */ lfs f0, lbl_806408B8-_SDA2_BASE_(r2) /* 80040910 0003C570 EC 20 00 72 */ fmuls f1, f0, f1 lbl_80040914: /* 80040914 0003C574 80 01 00 44 */ lwz r0, 0x44(r1) /* 80040918 0003C578 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 8004091C 0003C57C 7C 08 03 A6 */ mtlr r0 /* 80040920 0003C580 38 21 00 40 */ addi r1, r1, 0x40 /* 80040924 0003C584 4E 80 00 20 */ blr .global func_80040928 func_80040928: /* 80040928 0003C588 80 03 00 04 */ lwz r0, 4(r3) /* 8004092C 0003C58C C0 44 00 00 */ lfs f2, 0(r4) /* 80040930 0003C590 C0 24 00 04 */ lfs f1, 4(r4) /* 80040934 0003C594 60 00 00 01 */ ori r0, r0, 1 /* 80040938 0003C598 C0 04 00 08 */ lfs f0, 8(r4) /* 8004093C 0003C59C D0 43 00 20 */ stfs f2, 0x20(r3) /* 80040940 0003C5A0 D0 23 00 24 */ stfs f1, 0x24(r3) /* 80040944 0003C5A4 D0 03 00 28 */ stfs f0, 0x28(r3) /* 80040948 0003C5A8 90 03 00 04 */ stw r0, 4(r3) /* 8004094C 0003C5AC 4E 80 00 20 */ blr .global dGeomEnable dGeomEnable: /* 80040950 0003C5B0 80 03 00 04 */ lwz r0, 4(r3) /* 80040954 0003C5B4 60 00 00 02 */ ori r0, r0, 2 /* 80040958 0003C5B8 90 03 00 04 */ stw r0, 4(r3) /* 8004095C 0003C5BC 4E 80 00 20 */ blr .global func_80040960 func_80040960: /* 80040960 0003C5C0 94 21 FF A0 */ stwu r1, -0x60(r1) /* 80040964 0003C5C4 7C 08 02 A6 */ mflr r0 /* 80040968 0003C5C8 C0 02 82 B0 */ lfs f0, lbl_806408B0-_SDA2_BASE_(r2) /* 8004096C 0003C5CC 90 01 00 64 */ stw r0, 0x64(r1) /* 80040970 0003C5D0 93 E1 00 5C */ stw r31, 0x5c(r1) /* 80040974 0003C5D4 7C BF 2B 78 */ mr r31, r5 /* 80040978 0003C5D8 93 C1 00 58 */ stw r30, 0x58(r1) /* 8004097C 0003C5DC 7C 9E 23 78 */ mr r30, r4 /* 80040980 0003C5E0 93 A1 00 54 */ stw r29, 0x54(r1) /* 80040984 0003C5E4 7C 7D 1B 78 */ mr r29, r3 /* 80040988 0003C5E8 C0 23 00 50 */ lfs f1, 0x50(r3) /* 8004098C 0003C5EC 80 63 00 54 */ lwz r3, 0x54(r3) /* 80040990 0003C5F0 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80040994 0003C5F4 80 03 06 CC */ lwz r0, 0x6cc(r3) /* 80040998 0003C5F8 4C 40 13 82 */ cror 2, 0, 2 /* 8004099C 0003C5FC 41 82 00 0C */ beq lbl_800409A8 /* 800409A0 0003C600 2C 00 00 00 */ cmpwi r0, 0 /* 800409A4 0003C604 40 82 00 0C */ bne lbl_800409B0 lbl_800409A8: /* 800409A8 0003C608 38 60 00 01 */ li r3, 1 /* 800409AC 0003C60C 48 00 01 18 */ b lbl_80040AC4 lbl_800409B0: /* 800409B0 0003C610 7F E4 FB 78 */ mr r4, r31 /* 800409B4 0003C614 38 A1 00 28 */ addi r5, r1, 0x28 /* 800409B8 0003C618 48 00 3B 9D */ bl func_80044554 /* 800409BC 0003C61C 2C 03 00 00 */ cmpwi r3, 0 /* 800409C0 0003C620 40 82 00 0C */ bne lbl_800409CC /* 800409C4 0003C624 38 60 00 01 */ li r3, 1 /* 800409C8 0003C628 48 00 00 FC */ b lbl_80040AC4 lbl_800409CC: /* 800409CC 0003C62C 80 AD A3 D8 */ lwz r5, render_context_ptr-_SDA_BASE_(r13) /* 800409D0 0003C630 3C 60 43 30 */ lis r3, 0x4330 /* 800409D4 0003C634 C0 E2 82 B0 */ lfs f7, lbl_806408B0-_SDA2_BASE_(r2) /* 800409D8 0003C638 A0 85 00 04 */ lhz r4, 4(r5) /* 800409DC 0003C63C A0 05 00 06 */ lhz r0, 6(r5) /* 800409E0 0003C640 90 81 00 3C */ stw r4, 0x3c(r1) /* 800409E4 0003C644 C8 A2 82 C0 */ lfd f5, lbl_806408C0-_SDA2_BASE_(r2) /* 800409E8 0003C648 90 61 00 38 */ stw r3, 0x38(r1) /* 800409EC 0003C64C C0 42 82 B8 */ lfs f2, lbl_806408B8-_SDA2_BASE_(r2) /* 800409F0 0003C650 C8 01 00 38 */ lfd f0, 0x38(r1) /* 800409F4 0003C654 90 01 00 44 */ stw r0, 0x44(r1) /* 800409F8 0003C658 EC C0 28 28 */ fsubs f6, f0, f5 /* 800409FC 0003C65C C0 21 00 28 */ lfs f1, 0x28(r1) /* 80040A00 0003C660 90 61 00 40 */ stw r3, 0x40(r1) /* 80040A04 0003C664 C0 01 00 2C */ lfs f0, 0x2c(r1) /* 80040A08 0003C668 EC 66 00 B2 */ fmuls f3, f6, f2 /* 80040A0C 0003C66C C8 81 00 40 */ lfd f4, 0x40(r1) /* 80040A10 0003C670 D0 E1 00 18 */ stfs f7, 0x18(r1) /* 80040A14 0003C674 EC 84 28 28 */ fsubs f4, f4, f5 /* 80040A18 0003C678 EC 21 18 28 */ fsubs f1, f1, f3 /* 80040A1C 0003C67C D0 E1 00 1C */ stfs f7, 0x1c(r1) /* 80040A20 0003C680 EC 44 00 B2 */ fmuls f2, f4, f2 /* 80040A24 0003C684 D0 C1 00 20 */ stfs f6, 0x20(r1) /* 80040A28 0003C688 EC 21 00 72 */ fmuls f1, f1, f1 /* 80040A2C 0003C68C D0 81 00 24 */ stfs f4, 0x24(r1) /* 80040A30 0003C690 EC 00 10 28 */ fsubs f0, f0, f2 /* 80040A34 0003C694 D0 61 00 08 */ stfs f3, 8(r1) /* 80040A38 0003C698 EC 00 00 32 */ fmuls f0, f0, f0 /* 80040A3C 0003C69C D0 41 00 0C */ stfs f2, 0xc(r1) /* 80040A40 0003C6A0 EC 21 00 2A */ fadds f1, f1, f0 /* 80040A44 0003C6A4 FC 01 38 40 */ fcmpo cr0, f1, f7 /* 80040A48 0003C6A8 4C 40 13 82 */ cror 2, 0, 2 /* 80040A4C 0003C6AC 40 82 00 08 */ bne lbl_80040A54 /* 80040A50 0003C6B0 48 00 00 0C */ b lbl_80040A5C lbl_80040A54: /* 80040A54 0003C6B4 48 19 3D E1 */ bl sqrt /* 80040A58 0003C6B8 FC E0 08 18 */ frsp f7, f1 lbl_80040A5C: /* 80040A5C 0003C6BC C0 5D 00 50 */ lfs f2, 0x50(r29) /* 80040A60 0003C6C0 FC 02 38 40 */ fcmpo cr0, f2, f7 /* 80040A64 0003C6C4 40 81 00 0C */ ble lbl_80040A70 /* 80040A68 0003C6C8 38 60 00 00 */ li r3, 0 /* 80040A6C 0003C6CC 48 00 00 58 */ b lbl_80040AC4 lbl_80040A70: /* 80040A70 0003C6D0 C0 21 00 0C */ lfs f1, 0xc(r1) /* 80040A74 0003C6D4 C0 02 82 B0 */ lfs f0, lbl_806408B0-_SDA2_BASE_(r2) /* 80040A78 0003C6D8 EC 61 10 28 */ fsubs f3, f1, f2 /* 80040A7C 0003C6DC FC 03 00 40 */ fcmpo cr0, f3, f0 /* 80040A80 0003C6E0 4C 40 13 82 */ cror 2, 0, 2 /* 80040A84 0003C6E4 40 82 00 0C */ bne lbl_80040A90 /* 80040A88 0003C6E8 38 60 00 00 */ li r3, 0 /* 80040A8C 0003C6EC 48 00 00 38 */ b lbl_80040AC4 lbl_80040A90: /* 80040A90 0003C6F0 EC 27 10 28 */ fsubs f1, f7, f2 /* 80040A94 0003C6F4 C0 02 82 BC */ lfs f0, lbl_806408BC-_SDA2_BASE_(r2) /* 80040A98 0003C6F8 EC 21 18 24 */ fdivs f1, f1, f3 /* 80040A9C 0003C6FC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80040AA0 0003C700 40 81 00 08 */ ble lbl_80040AA8 /* 80040AA4 0003C704 FC 20 00 90 */ fmr f1, f0 lbl_80040AA8: /* 80040AA8 0003C708 C0 02 82 B4 */ lfs f0, lbl_806408B4-_SDA2_BASE_(r2) /* 80040AAC 0003C70C 7F C3 F3 78 */ mr r3, r30 /* 80040AB0 0003C710 7F E5 FB 78 */ mr r5, r31 /* 80040AB4 0003C714 38 9D 00 14 */ addi r4, r29, 0x14 /* 80040AB8 0003C718 EC 21 00 32 */ fmuls f1, f1, f0 /* 80040ABC 0003C71C 4B FF F6 2D */ bl func_800400E8 /* 80040AC0 0003C720 38 60 00 02 */ li r3, 2 lbl_80040AC4: /* 80040AC4 0003C724 80 01 00 64 */ lwz r0, 0x64(r1) /* 80040AC8 0003C728 83 E1 00 5C */ lwz r31, 0x5c(r1) /* 80040ACC 0003C72C 83 C1 00 58 */ lwz r30, 0x58(r1) /* 80040AD0 0003C730 83 A1 00 54 */ lwz r29, 0x54(r1) /* 80040AD4 0003C734 7C 08 03 A6 */ mtlr r0 /* 80040AD8 0003C738 38 21 00 60 */ addi r1, r1, 0x60 /* 80040ADC 0003C73C 4E 80 00 20 */ blr .global func_80040AE0 func_80040AE0: /* 80040AE0 0003C740 C0 46 00 00 */ lfs f2, 0(r6) /* 80040AE4 0003C744 38 00 00 01 */ li r0, 1 /* 80040AE8 0003C748 C0 26 00 04 */ lfs f1, 4(r6) /* 80040AEC 0003C74C C0 06 00 08 */ lfs f0, 8(r6) /* 80040AF0 0003C750 90 83 00 58 */ stw r4, 0x58(r3) /* 80040AF4 0003C754 38 80 00 01 */ li r4, 1 /* 80040AF8 0003C758 D0 43 00 44 */ stfs f2, 0x44(r3) /* 80040AFC 0003C75C D0 23 00 48 */ stfs f1, 0x48(r3) /* 80040B00 0003C760 D0 03 00 4C */ stfs f0, 0x4c(r3) /* 80040B04 0003C764 90 A3 00 5C */ stw r5, 0x5c(r3) /* 80040B08 0003C768 90 03 00 10 */ stw r0, 0x10(r3) /* 80040B0C 0003C76C 4B FF FA 7C */ b func_80040588 .global func_80040B10 func_80040B10: /* 80040B10 0003C770 C0 44 00 00 */ lfs f2, 0(r4) /* 80040B14 0003C774 38 00 00 04 */ li r0, 4 /* 80040B18 0003C778 C0 24 00 04 */ lfs f1, 4(r4) /* 80040B1C 0003C77C C0 04 00 08 */ lfs f0, 8(r4) /* 80040B20 0003C780 38 80 00 01 */ li r4, 1 /* 80040B24 0003C784 D0 43 00 44 */ stfs f2, 0x44(r3) /* 80040B28 0003C788 D0 23 00 48 */ stfs f1, 0x48(r3) /* 80040B2C 0003C78C D0 03 00 4C */ stfs f0, 0x4c(r3) /* 80040B30 0003C790 90 03 00 10 */ stw r0, 0x10(r3) /* 80040B34 0003C794 4B FF FA 54 */ b func_80040588 .global func_80040B38 func_80040B38: /* 80040B38 0003C798 2C 04 00 00 */ cmpwi r4, 0 /* 80040B3C 0003C79C 41 82 00 0C */ beq lbl_80040B48 /* 80040B40 0003C7A0 38 00 00 02 */ li r0, 2 /* 80040B44 0003C7A4 90 03 00 10 */ stw r0, 0x10(r3) lbl_80040B48: /* 80040B48 0003C7A8 90 83 00 58 */ stw r4, 0x58(r3) /* 80040B4C 0003C7AC 38 80 00 01 */ li r4, 1 /* 80040B50 0003C7B0 90 A3 00 5C */ stw r5, 0x5c(r3) /* 80040B54 0003C7B4 90 C3 00 60 */ stw r6, 0x60(r3) /* 80040B58 0003C7B8 90 E3 00 64 */ stw r7, 0x64(r3) /* 80040B5C 0003C7BC D0 23 00 50 */ stfs f1, 0x50(r3) /* 80040B60 0003C7C0 C0 08 00 00 */ lfs f0, 0(r8) /* 80040B64 0003C7C4 D0 03 00 44 */ stfs f0, 0x44(r3) /* 80040B68 0003C7C8 C0 08 00 04 */ lfs f0, 4(r8) /* 80040B6C 0003C7CC D0 03 00 48 */ stfs f0, 0x48(r3) /* 80040B70 0003C7D0 C0 08 00 08 */ lfs f0, 8(r8) /* 80040B74 0003C7D4 D0 03 00 4C */ stfs f0, 0x4c(r3) /* 80040B78 0003C7D8 4B FF FA 10 */ b func_80040588 .global func_80040B7C func_80040B7C: /* 80040B7C 0003C7DC 2C 04 00 00 */ cmpwi r4, 0 /* 80040B80 0003C7E0 41 80 00 1C */ blt lbl_80040B9C /* 80040B84 0003C7E4 2C 04 00 04 */ cmpwi r4, 4 /* 80040B88 0003C7E8 40 80 00 14 */ bge lbl_80040B9C /* 80040B8C 0003C7EC 54 80 18 38 */ slwi r0, r4, 3 /* 80040B90 0003C7F0 7C 63 02 14 */ add r3, r3, r0 /* 80040B94 0003C7F4 80 63 00 58 */ lwz r3, 0x58(r3) /* 80040B98 0003C7F8 4E 80 00 20 */ blr lbl_80040B9C: /* 80040B9C 0003C7FC 38 60 00 00 */ li r3, 0 /* 80040BA0 0003C800 4E 80 00 20 */ blr .global func_80040BA4 func_80040BA4: /* 80040BA4 0003C804 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80040BA8 0003C808 7C 08 02 A6 */ mflr r0 /* 80040BAC 0003C80C 90 01 00 14 */ stw r0, 0x14(r1) /* 80040BB0 0003C810 93 E1 00 0C */ stw r31, 0xc(r1) /* 80040BB4 0003C814 7C 9F 23 78 */ mr r31, r4 /* 80040BB8 0003C818 38 80 00 01 */ li r4, 1 /* 80040BBC 0003C81C 93 C1 00 08 */ stw r30, 8(r1) /* 80040BC0 0003C820 7C 7E 1B 78 */ mr r30, r3 /* 80040BC4 0003C824 4B FF F9 C5 */ bl func_80040588 /* 80040BC8 0003C828 93 FE 00 10 */ stw r31, 0x10(r30) /* 80040BCC 0003C82C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80040BD0 0003C830 83 C1 00 08 */ lwz r30, 8(r1) /* 80040BD4 0003C834 80 01 00 14 */ lwz r0, 0x14(r1) /* 80040BD8 0003C838 7C 08 03 A6 */ mtlr r0 /* 80040BDC 0003C83C 38 21 00 10 */ addi r1, r1, 0x10 /* 80040BE0 0003C840 4E 80 00 20 */ blr .global func_80040BE4 func_80040BE4: /* 80040BE4 0003C844 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80040BE8 0003C848 7C 08 02 A6 */ mflr r0 /* 80040BEC 0003C84C 90 01 00 14 */ stw r0, 0x14(r1) /* 80040BF0 0003C850 93 E1 00 0C */ stw r31, 0xc(r1) /* 80040BF4 0003C854 7C 9F 23 78 */ mr r31, r4 /* 80040BF8 0003C858 38 80 00 00 */ li r4, 0 /* 80040BFC 0003C85C 93 C1 00 08 */ stw r30, 8(r1) /* 80040C00 0003C860 7C 7E 1B 78 */ mr r30, r3 /* 80040C04 0003C864 4B FF FF A1 */ bl func_80040BA4 /* 80040C08 0003C868 C0 5F 00 00 */ lfs f2, 0(r31) /* 80040C0C 0003C86C C0 3F 00 04 */ lfs f1, 4(r31) /* 80040C10 0003C870 C0 1F 00 08 */ lfs f0, 8(r31) /* 80040C14 0003C874 D0 5E 00 14 */ stfs f2, 0x14(r30) /* 80040C18 0003C878 D0 3E 00 18 */ stfs f1, 0x18(r30) /* 80040C1C 0003C87C D0 1E 00 1C */ stfs f0, 0x1c(r30) /* 80040C20 0003C880 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80040C24 0003C884 83 C1 00 08 */ lwz r30, 8(r1) /* 80040C28 0003C888 80 01 00 14 */ lwz r0, 0x14(r1) /* 80040C2C 0003C88C 7C 08 03 A6 */ mtlr r0 /* 80040C30 0003C890 38 21 00 10 */ addi r1, r1, 0x10 /* 80040C34 0003C894 4E 80 00 20 */ blr .global func_80040C38 func_80040C38: /* 80040C38 0003C898 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80040C3C 0003C89C 7C 08 02 A6 */ mflr r0 /* 80040C40 0003C8A0 90 01 00 24 */ stw r0, 0x24(r1) /* 80040C44 0003C8A4 88 03 00 00 */ lbz r0, 0(r3) /* 80040C48 0003C8A8 2C 00 00 00 */ cmpwi r0, 0 /* 80040C4C 0003C8AC 41 82 00 0C */ beq lbl_80040C58 /* 80040C50 0003C8B0 C0 23 00 08 */ lfs f1, 8(r3) /* 80040C54 0003C8B4 48 00 00 48 */ b lbl_80040C9C lbl_80040C58: /* 80040C58 0003C8B8 80 03 00 58 */ lwz r0, 0x58(r3) /* 80040C5C 0003C8BC 38 80 00 00 */ li r4, 0 /* 80040C60 0003C8C0 2C 00 00 00 */ cmpwi r0, 0 /* 80040C64 0003C8C4 41 82 00 0C */ beq lbl_80040C70 /* 80040C68 0003C8C8 7C 04 03 78 */ mr r4, r0 /* 80040C6C 0003C8CC 48 00 00 14 */ b lbl_80040C80 lbl_80040C70: /* 80040C70 0003C8D0 80 03 00 60 */ lwz r0, 0x60(r3) /* 80040C74 0003C8D4 2C 00 00 00 */ cmpwi r0, 0 /* 80040C78 0003C8D8 41 82 00 08 */ beq lbl_80040C80 /* 80040C7C 0003C8DC 7C 04 03 78 */ mr r4, r0 lbl_80040C80: /* 80040C80 0003C8E0 2C 04 00 00 */ cmpwi r4, 0 /* 80040C84 0003C8E4 41 82 00 14 */ beq lbl_80040C98 /* 80040C88 0003C8E8 38 61 00 08 */ addi r3, r1, 8 /* 80040C8C 0003C8EC 4B FF 7E 09 */ bl func_80038A94 /* 80040C90 0003C8F0 C0 21 00 0C */ lfs f1, 0xc(r1) /* 80040C94 0003C8F4 48 00 00 08 */ b lbl_80040C9C lbl_80040C98: /* 80040C98 0003C8F8 C0 22 82 B0 */ lfs f1, lbl_806408B0-_SDA2_BASE_(r2) lbl_80040C9C: /* 80040C9C 0003C8FC 80 01 00 24 */ lwz r0, 0x24(r1) /* 80040CA0 0003C900 7C 08 03 A6 */ mtlr r0 /* 80040CA4 0003C904 38 21 00 20 */ addi r1, r1, 0x20 /* 80040CA8 0003C908 4E 80 00 20 */ blr .global func_80040CAC func_80040CAC: /* 80040CAC 0003C90C 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80040CB0 0003C910 7C 08 02 A6 */ mflr r0 /* 80040CB4 0003C914 90 01 00 44 */ stw r0, 0x44(r1) /* 80040CB8 0003C918 DB E1 00 30 */ stfd f31, 0x30(r1) /* 80040CBC 0003C91C F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0 /* 80040CC0 0003C920 DB C1 00 20 */ stfd f30, 0x20(r1) /* 80040CC4 0003C924 F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0 /* 80040CC8 0003C928 38 00 00 01 */ li r0, 1 /* 80040CCC 0003C92C FF C0 08 90 */ fmr f30, f1 /* 80040CD0 0003C930 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80040CD4 0003C934 7C BF 2B 78 */ mr r31, r5 /* 80040CD8 0003C938 93 C1 00 18 */ stw r30, 0x18(r1) /* 80040CDC 0003C93C 7C 9E 23 78 */ mr r30, r4 /* 80040CE0 0003C940 93 A1 00 14 */ stw r29, 0x14(r1) /* 80040CE4 0003C944 7C 7D 1B 78 */ mr r29, r3 /* 80040CE8 0003C948 80 C4 00 10 */ lwz r6, 0x10(r4) /* 80040CEC 0003C94C 90 C3 00 10 */ stw r6, 0x10(r3) /* 80040CF0 0003C950 98 03 00 00 */ stb r0, 0(r3) /* 80040CF4 0003C954 80 05 00 04 */ lwz r0, 4(r5) /* 80040CF8 0003C958 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 80040CFC 0003C95C 41 82 00 18 */ beq lbl_80040D14 /* 80040D00 0003C960 38 85 00 20 */ addi r4, r5, 0x20 /* 80040D04 0003C964 38 63 00 14 */ addi r3, r3, 0x14 /* 80040D08 0003C968 38 A5 00 14 */ addi r5, r5, 0x14 /* 80040D0C 0003C96C 4B FF F3 DD */ bl func_800400E8 /* 80040D10 0003C970 48 00 00 14 */ b lbl_80040D24 lbl_80040D14: /* 80040D14 0003C974 38 63 00 14 */ addi r3, r3, 0x14 /* 80040D18 0003C978 38 84 00 14 */ addi r4, r4, 0x14 /* 80040D1C 0003C97C 38 A5 00 14 */ addi r5, r5, 0x14 /* 80040D20 0003C980 4B FF F3 C9 */ bl func_800400E8 lbl_80040D24: /* 80040D24 0003C984 FC 20 F0 90 */ fmr f1, f30 /* 80040D28 0003C988 38 7D 00 2C */ addi r3, r29, 0x2c /* 80040D2C 0003C98C 38 9E 00 2C */ addi r4, r30, 0x2c /* 80040D30 0003C990 38 BF 00 2C */ addi r5, r31, 0x2c /* 80040D34 0003C994 4B FF F3 B5 */ bl func_800400E8 /* 80040D38 0003C998 FC 20 F0 90 */ fmr f1, f30 /* 80040D3C 0003C99C 38 7D 00 38 */ addi r3, r29, 0x38 /* 80040D40 0003C9A0 38 9E 00 38 */ addi r4, r30, 0x38 /* 80040D44 0003C9A4 38 BF 00 38 */ addi r5, r31, 0x38 /* 80040D48 0003C9A8 4B FF F3 A1 */ bl func_800400E8 /* 80040D4C 0003C9AC FC 20 F0 90 */ fmr f1, f30 /* 80040D50 0003C9B0 38 7D 00 44 */ addi r3, r29, 0x44 /* 80040D54 0003C9B4 38 9E 00 44 */ addi r4, r30, 0x44 /* 80040D58 0003C9B8 38 BF 00 44 */ addi r5, r31, 0x44 /* 80040D5C 0003C9BC 4B FF F3 8D */ bl func_800400E8 /* 80040D60 0003C9C0 C0 1F 00 50 */ lfs f0, 0x50(r31) /* 80040D64 0003C9C4 C0 3E 00 50 */ lfs f1, 0x50(r30) /* 80040D68 0003C9C8 EC 00 08 28 */ fsubs f0, f0, f1 /* 80040D6C 0003C9CC EC 1E 00 32 */ fmuls f0, f30, f0 /* 80040D70 0003C9D0 EC 01 00 2A */ fadds f0, f1, f0 /* 80040D74 0003C9D4 D0 1D 00 50 */ stfs f0, 0x50(r29) /* 80040D78 0003C9D8 80 1E 00 58 */ lwz r0, 0x58(r30) /* 80040D7C 0003C9DC 90 1D 00 58 */ stw r0, 0x58(r29) /* 80040D80 0003C9E0 80 1E 00 5C */ lwz r0, 0x5c(r30) /* 80040D84 0003C9E4 90 1D 00 5C */ stw r0, 0x5c(r29) /* 80040D88 0003C9E8 80 1E 00 60 */ lwz r0, 0x60(r30) /* 80040D8C 0003C9EC 90 1D 00 60 */ stw r0, 0x60(r29) /* 80040D90 0003C9F0 80 1E 00 64 */ lwz r0, 0x64(r30) /* 80040D94 0003C9F4 90 1D 00 64 */ stw r0, 0x64(r29) /* 80040D98 0003C9F8 80 1E 00 68 */ lwz r0, 0x68(r30) /* 80040D9C 0003C9FC 90 1D 00 68 */ stw r0, 0x68(r29) /* 80040DA0 0003CA00 80 1E 00 6C */ lwz r0, 0x6c(r30) /* 80040DA4 0003CA04 90 1D 00 6C */ stw r0, 0x6c(r29) /* 80040DA8 0003CA08 80 1E 00 70 */ lwz r0, 0x70(r30) /* 80040DAC 0003CA0C 90 1D 00 70 */ stw r0, 0x70(r29) /* 80040DB0 0003CA10 80 1E 00 74 */ lwz r0, 0x74(r30) /* 80040DB4 0003CA14 90 1D 00 74 */ stw r0, 0x74(r29) /* 80040DB8 0003CA18 80 1F 00 04 */ lwz r0, 4(r31) /* 80040DBC 0003CA1C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e /* 80040DC0 0003CA20 41 82 00 14 */ beq lbl_80040DD4 /* 80040DC4 0003CA24 7F E3 FB 78 */ mr r3, r31 /* 80040DC8 0003CA28 4B FF FE 71 */ bl func_80040C38 /* 80040DCC 0003CA2C D0 3D 00 08 */ stfs f1, 8(r29) /* 80040DD0 0003CA30 48 00 00 28 */ b lbl_80040DF8 lbl_80040DD4: /* 80040DD4 0003CA34 7F C3 F3 78 */ mr r3, r30 /* 80040DD8 0003CA38 4B FF FE 61 */ bl func_80040C38 /* 80040DDC 0003CA3C FF E0 08 90 */ fmr f31, f1 /* 80040DE0 0003CA40 7F E3 FB 78 */ mr r3, r31 /* 80040DE4 0003CA44 4B FF FE 55 */ bl func_80040C38 /* 80040DE8 0003CA48 EC 01 F8 28 */ fsubs f0, f1, f31 /* 80040DEC 0003CA4C EC 1E 00 32 */ fmuls f0, f30, f0 /* 80040DF0 0003CA50 EC 1F 00 2A */ fadds f0, f31, f0 /* 80040DF4 0003CA54 D0 1D 00 08 */ stfs f0, 8(r29) lbl_80040DF8: /* 80040DF8 0003CA58 7F C3 F3 78 */ mr r3, r30 /* 80040DFC 0003CA5C 4B FF F9 B5 */ bl func_800407B0 /* 80040E00 0003CA60 FF E0 08 90 */ fmr f31, f1 /* 80040E04 0003CA64 7F E3 FB 78 */ mr r3, r31 /* 80040E08 0003CA68 4B FF F9 A9 */ bl func_800407B0 /* 80040E0C 0003CA6C EC 01 F8 28 */ fsubs f0, f1, f31 /* 80040E10 0003CA70 EC 1E 00 32 */ fmuls f0, f30, f0 /* 80040E14 0003CA74 EC 1F 00 2A */ fadds f0, f31, f0 /* 80040E18 0003CA78 D0 1D 00 0C */ stfs f0, 0xc(r29) /* 80040E1C 0003CA7C E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0 /* 80040E20 0003CA80 CB E1 00 30 */ lfd f31, 0x30(r1) /* 80040E24 0003CA84 E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0 /* 80040E28 0003CA88 CB C1 00 20 */ lfd f30, 0x20(r1) /* 80040E2C 0003CA8C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80040E30 0003CA90 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80040E34 0003CA94 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80040E38 0003CA98 80 01 00 44 */ lwz r0, 0x44(r1) /* 80040E3C 0003CA9C 7C 08 03 A6 */ mtlr r0 /* 80040E40 0003CAA0 38 21 00 40 */ addi r1, r1, 0x40 /* 80040E44 0003CAA4 4E 80 00 20 */ blr .global func_80040E48 func_80040E48: /* 80040E48 0003CAA8 80 A3 00 58 */ lwz r5, 0x58(r3) /* 80040E4C 0003CAAC 38 00 00 00 */ li r0, 0 /* 80040E50 0003CAB0 7C 05 20 40 */ cmplw r5, r4 /* 80040E54 0003CAB4 40 82 00 0C */ bne lbl_80040E60 /* 80040E58 0003CAB8 90 03 00 58 */ stw r0, 0x58(r3) /* 80040E5C 0003CABC 90 03 00 5C */ stw r0, 0x5c(r3) lbl_80040E60: /* 80040E60 0003CAC0 80 A3 00 60 */ lwz r5, 0x60(r3) /* 80040E64 0003CAC4 7C 05 20 40 */ cmplw r5, r4 /* 80040E68 0003CAC8 40 82 00 0C */ bne lbl_80040E74 /* 80040E6C 0003CACC 90 03 00 60 */ stw r0, 0x60(r3) /* 80040E70 0003CAD0 90 03 00 64 */ stw r0, 0x64(r3) lbl_80040E74: /* 80040E74 0003CAD4 38 63 00 10 */ addi r3, r3, 0x10 /* 80040E78 0003CAD8 80 A3 00 58 */ lwz r5, 0x58(r3) /* 80040E7C 0003CADC 7C 05 20 40 */ cmplw r5, r4 /* 80040E80 0003CAE0 40 82 00 0C */ bne lbl_80040E8C /* 80040E84 0003CAE4 90 03 00 58 */ stw r0, 0x58(r3) /* 80040E88 0003CAE8 90 03 00 5C */ stw r0, 0x5c(r3) lbl_80040E8C: /* 80040E8C 0003CAEC 80 A3 00 60 */ lwz r5, 0x60(r3) /* 80040E90 0003CAF0 7C 05 20 40 */ cmplw r5, r4 /* 80040E94 0003CAF4 4C 82 00 20 */ bnelr /* 80040E98 0003CAF8 90 03 00 60 */ stw r0, 0x60(r3) /* 80040E9C 0003CAFC 90 03 00 64 */ stw r0, 0x64(r3) /* 80040EA0 0003CB00 4E 80 00 20 */ blr .global func_80040EA4 func_80040EA4: /* 80040EA4 0003CB04 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80040EA8 0003CB08 7C 08 02 A6 */ mflr r0 /* 80040EAC 0003CB0C 90 01 00 24 */ stw r0, 0x24(r1) /* 80040EB0 0003CB10 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80040EB4 0003CB14 3B E3 00 04 */ addi r31, r3, 4 /* 80040EB8 0003CB18 93 C1 00 18 */ stw r30, 0x18(r1) /* 80040EBC 0003CB1C 3B C3 01 B4 */ addi r30, r3, 0x1b4 /* 80040EC0 0003CB20 93 A1 00 14 */ stw r29, 0x14(r1) /* 80040EC4 0003CB24 7C 7D 1B 78 */ mr r29, r3 lbl_80040EC8: /* 80040EC8 0003CB28 7F E3 FB 78 */ mr r3, r31 /* 80040ECC 0003CB2C 48 00 F4 59 */ bl func_80050324 /* 80040ED0 0003CB30 3B FF 00 24 */ addi r31, r31, 0x24 /* 80040ED4 0003CB34 7C 1F F0 40 */ cmplw r31, r30 /* 80040ED8 0003CB38 41 80 FF F0 */ blt lbl_80040EC8 /* 80040EDC 0003CB3C 3B FD 03 94 */ addi r31, r29, 0x394 lbl_80040EE0: /* 80040EE0 0003CB40 7F C3 F3 78 */ mr r3, r30 /* 80040EE4 0003CB44 48 00 FF 55 */ bl func_80050E38 /* 80040EE8 0003CB48 3B DE 00 60 */ addi r30, r30, 0x60 /* 80040EEC 0003CB4C 7C 1E F8 40 */ cmplw r30, r31 /* 80040EF0 0003CB50 41 80 FF F0 */ blt lbl_80040EE0 /* 80040EF4 0003CB54 7F E3 FB 78 */ mr r3, r31 /* 80040EF8 0003CB58 48 00 FF 41 */ bl func_80050E38 /* 80040EFC 0003CB5C 38 7D 03 F4 */ addi r3, r29, 0x3f4 /* 80040F00 0003CB60 48 00 FF 39 */ bl func_80050E38 /* 80040F04 0003CB64 38 7D 04 54 */ addi r3, r29, 0x454 /* 80040F08 0003CB68 48 00 FF 31 */ bl func_80050E38 /* 80040F0C 0003CB6C 7F A4 EB 78 */ mr r4, r29 /* 80040F10 0003CB70 38 7D 04 E8 */ addi r3, r29, 0x4e8 /* 80040F14 0003CB74 4B FF F5 95 */ bl func_800404A8 /* 80040F18 0003CB78 7F A4 EB 78 */ mr r4, r29 /* 80040F1C 0003CB7C 38 7D 05 60 */ addi r3, r29, 0x560 /* 80040F20 0003CB80 4B FF F5 89 */ bl func_800404A8 /* 80040F24 0003CB84 7F A4 EB 78 */ mr r4, r29 /* 80040F28 0003CB88 38 7D 05 D8 */ addi r3, r29, 0x5d8 /* 80040F2C 0003CB8C 4B FF F5 7D */ bl func_800404A8 /* 80040F30 0003CB90 7F A4 EB 78 */ mr r4, r29 /* 80040F34 0003CB94 38 7D 06 50 */ addi r3, r29, 0x650 /* 80040F38 0003CB98 4B FF F5 71 */ bl func_800404A8 /* 80040F3C 0003CB9C C0 02 82 B0 */ lfs f0, lbl_806408B0-_SDA2_BASE_(r2) /* 80040F40 0003CBA0 38 00 00 00 */ li r0, 0 /* 80040F44 0003CBA4 C0 42 82 BC */ lfs f2, lbl_806408BC-_SDA2_BASE_(r2) /* 80040F48 0003CBA8 7F A3 EB 78 */ mr r3, r29 /* 80040F4C 0003CBAC C0 22 82 B4 */ lfs f1, lbl_806408B4-_SDA2_BASE_(r2) /* 80040F50 0003CBB0 98 1D 00 00 */ stb r0, 0(r29) /* 80040F54 0003CBB4 90 1D 06 CC */ stw r0, 0x6cc(r29) /* 80040F58 0003CBB8 98 1D 00 02 */ stb r0, 2(r29) /* 80040F5C 0003CBBC 90 1D 04 BC */ stw r0, 0x4bc(r29) /* 80040F60 0003CBC0 D0 5D 04 D0 */ stfs f2, 0x4d0(r29) /* 80040F64 0003CBC4 D0 3D 04 CC */ stfs f1, 0x4cc(r29) /* 80040F68 0003CBC8 D0 1D 04 C8 */ stfs f0, 0x4c8(r29) /* 80040F6C 0003CBCC D0 1D 06 DC */ stfs f0, 0x6dc(r29) /* 80040F70 0003CBD0 D0 1D 06 F0 */ stfs f0, 0x6f0(r29) /* 80040F74 0003CBD4 D0 1D 06 EC */ stfs f0, 0x6ec(r29) /* 80040F78 0003CBD8 D0 1D 06 E8 */ stfs f0, 0x6e8(r29) /* 80040F7C 0003CBDC D0 1D 06 E4 */ stfs f0, 0x6e4(r29) /* 80040F80 0003CBE0 D0 1D 06 E0 */ stfs f0, 0x6e0(r29) /* 80040F84 0003CBE4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80040F88 0003CBE8 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80040F8C 0003CBEC 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80040F90 0003CBF0 80 01 00 24 */ lwz r0, 0x24(r1) /* 80040F94 0003CBF4 7C 08 03 A6 */ mtlr r0 /* 80040F98 0003CBF8 38 21 00 20 */ addi r1, r1, 0x20 /* 80040F9C 0003CBFC 4E 80 00 20 */ blr .global func_80040FA0 func_80040FA0: /* 80040FA0 0003CC00 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80040FA4 0003CC04 7C 08 02 A6 */ mflr r0 /* 80040FA8 0003CC08 C0 02 82 C8 */ lfs f0, lbl_806408C8-_SDA2_BASE_(r2) /* 80040FAC 0003CC0C 90 01 00 44 */ stw r0, 0x44(r1) /* 80040FB0 0003CC10 93 E1 00 3C */ stw r31, 0x3c(r1) /* 80040FB4 0003CC14 3B E0 00 01 */ li r31, 1 /* 80040FB8 0003CC18 93 C1 00 38 */ stw r30, 0x38(r1) /* 80040FBC 0003CC1C 7C 7E 1B 78 */ mr r30, r3 /* 80040FC0 0003CC20 9B E3 00 00 */ stb r31, 0(r3) /* 80040FC4 0003CC24 D0 03 04 E0 */ stfs f0, 0x4e0(r3) /* 80040FC8 0003CC28 38 63 00 04 */ addi r3, r3, 4 /* 80040FCC 0003CC2C 48 00 F3 BD */ bl func_80050388 /* 80040FD0 0003CC30 9B FE 00 01 */ stb r31, 1(r30) /* 80040FD4 0003CC34 7F C3 F3 78 */ mr r3, r30 /* 80040FD8 0003CC38 C0 42 82 B0 */ lfs f2, lbl_806408B0-_SDA2_BASE_(r2) /* 80040FDC 0003CC3C 38 81 00 20 */ addi r4, r1, 0x20 /* 80040FE0 0003CC40 C0 22 82 CC */ lfs f1, lbl_806408CC-_SDA2_BASE_(r2) /* 80040FE4 0003CC44 C0 02 82 D0 */ lfs f0, lbl_806408D0-_SDA2_BASE_(r2) /* 80040FE8 0003CC48 D0 41 00 20 */ stfs f2, 0x20(r1) /* 80040FEC 0003CC4C D0 21 00 24 */ stfs f1, 0x24(r1) /* 80040FF0 0003CC50 D0 01 00 28 */ stfs f0, 0x28(r1) /* 80040FF4 0003CC54 48 00 00 B9 */ bl func_800410AC /* 80040FF8 0003CC58 C0 02 82 B0 */ lfs f0, lbl_806408B0-_SDA2_BASE_(r2) /* 80040FFC 0003CC5C 7F C3 F3 78 */ mr r3, r30 /* 80041000 0003CC60 38 81 00 14 */ addi r4, r1, 0x14 /* 80041004 0003CC64 D0 01 00 14 */ stfs f0, 0x14(r1) /* 80041008 0003CC68 D0 01 00 18 */ stfs f0, 0x18(r1) /* 8004100C 0003CC6C D0 01 00 1C */ stfs f0, 0x1c(r1) /* 80041010 0003CC70 48 00 15 25 */ bl func_80042534 /* 80041014 0003CC74 C0 42 82 B0 */ lfs f2, lbl_806408B0-_SDA2_BASE_(r2) /* 80041018 0003CC78 38 61 00 08 */ addi r3, r1, 8 /* 8004101C 0003CC7C C0 22 82 CC */ lfs f1, lbl_806408CC-_SDA2_BASE_(r2) /* 80041020 0003CC80 C0 02 82 D0 */ lfs f0, lbl_806408D0-_SDA2_BASE_(r2) /* 80041024 0003CC84 D0 41 00 08 */ stfs f2, 8(r1) /* 80041028 0003CC88 D0 21 00 0C */ stfs f1, 0xc(r1) /* 8004102C 0003CC8C D0 01 00 10 */ stfs f0, 0x10(r1) /* 80041030 0003CC90 48 23 BD 55 */ bl PSVECMag /* 80041034 0003CC94 C0 02 82 B0 */ lfs f0, lbl_806408B0-_SDA2_BASE_(r2) /* 80041038 0003CC98 38 00 00 00 */ li r0, 0 /* 8004103C 0003CC9C D0 3E 06 C8 */ stfs f1, 0x6c8(r30) /* 80041040 0003CCA0 D0 1E 06 F4 */ stfs f0, 0x6f4(r30) /* 80041044 0003CCA4 98 1E 06 F8 */ stb r0, 0x6f8(r30) /* 80041048 0003CCA8 9B FE 00 01 */ stb r31, 1(r30) /* 8004104C 0003CCAC 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 80041050 0003CCB0 83 C1 00 38 */ lwz r30, 0x38(r1) /* 80041054 0003CCB4 80 01 00 44 */ lwz r0, 0x44(r1) /* 80041058 0003CCB8 7C 08 03 A6 */ mtlr r0 /* 8004105C 0003CCBC 38 21 00 40 */ addi r1, r1, 0x40 /* 80041060 0003CCC0 4E 80 00 20 */ blr .global func_80041064 func_80041064: /* 80041064 0003CCC4 38 00 00 00 */ li r0, 0 /* 80041068 0003CCC8 98 03 00 00 */ stb r0, 0(r3) /* 8004106C 0003CCCC 4E 80 00 20 */ blr .global func_80041070 func_80041070: /* 80041070 0003CCD0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80041074 0003CCD4 7C 08 02 A6 */ mflr r0 /* 80041078 0003CCD8 7C 87 23 78 */ mr r7, r4 /* 8004107C 0003CCDC 38 83 04 E0 */ addi r4, r3, 0x4e0 /* 80041080 0003CCE0 90 01 00 14 */ stw r0, 0x14(r1) /* 80041084 0003CCE4 7C 86 23 78 */ mr r6, r4 /* 80041088 0003CCE8 38 A1 00 08 */ addi r5, r1, 8 /* 8004108C 0003CCEC 38 63 00 04 */ addi r3, r3, 4 /* 80041090 0003CCF0 D0 21 00 08 */ stfs f1, 8(r1) /* 80041094 0003CCF4 FC 20 10 90 */ fmr f1, f2 /* 80041098 0003CCF8 48 00 F2 A5 */ bl func_8005033C /* 8004109C 0003CCFC 80 01 00 14 */ lwz r0, 0x14(r1) /* 800410A0 0003CD00 7C 08 03 A6 */ mtlr r0 /* 800410A4 0003CD04 38 21 00 10 */ addi r1, r1, 0x10 /* 800410A8 0003CD08 4E 80 00 20 */ blr .global func_800410AC func_800410AC: /* 800410AC 0003CD0C 38 00 00 00 */ li r0, 0 /* 800410B0 0003CD10 90 03 04 BC */ stw r0, 0x4bc(r3) /* 800410B4 0003CD14 98 03 00 02 */ stb r0, 2(r3) /* 800410B8 0003CD18 48 00 00 04 */ b func_800410BC .global func_800410BC func_800410BC: /* 800410BC 0003CD1C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800410C0 0003CD20 7C 08 02 A6 */ mflr r0 /* 800410C4 0003CD24 90 01 00 14 */ stw r0, 0x14(r1) /* 800410C8 0003CD28 93 E1 00 0C */ stw r31, 0xc(r1) /* 800410CC 0003CD2C 7C 7F 1B 78 */ mr r31, r3 /* 800410D0 0003CD30 38 63 04 E8 */ addi r3, r3, 0x4e8 /* 800410D4 0003CD34 4B FF FB 11 */ bl func_80040BE4 /* 800410D8 0003CD38 38 7F 00 4C */ addi r3, r31, 0x4c /* 800410DC 0003CD3C 48 00 F2 AD */ bl func_80050388 /* 800410E0 0003CD40 38 7F 00 70 */ addi r3, r31, 0x70 /* 800410E4 0003CD44 48 00 F2 A5 */ bl func_80050388 /* 800410E8 0003CD48 38 7F 00 94 */ addi r3, r31, 0x94 /* 800410EC 0003CD4C 48 00 F2 9D */ bl func_80050388 /* 800410F0 0003CD50 38 7F 01 24 */ addi r3, r31, 0x124 /* 800410F4 0003CD54 48 00 F2 95 */ bl func_80050388 /* 800410F8 0003CD58 38 7F 01 48 */ addi r3, r31, 0x148 /* 800410FC 0003CD5C 48 00 F2 8D */ bl func_80050388 /* 80041100 0003CD60 38 00 00 01 */ li r0, 1 /* 80041104 0003CD64 98 1F 00 01 */ stb r0, 1(r31) /* 80041108 0003CD68 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8004110C 0003CD6C 80 01 00 14 */ lwz r0, 0x14(r1) /* 80041110 0003CD70 7C 08 03 A6 */ mtlr r0 /* 80041114 0003CD74 38 21 00 10 */ addi r1, r1, 0x10 /* 80041118 0003CD78 4E 80 00 20 */ blr .global func_8004111C func_8004111C: /* 8004111C 0003CD7C 94 21 FF 90 */ stwu r1, -0x70(r1) /* 80041120 0003CD80 7C 08 02 A6 */ mflr r0 /* 80041124 0003CD84 90 01 00 74 */ stw r0, 0x74(r1) /* 80041128 0003CD88 DB E1 00 60 */ stfd f31, 0x60(r1) /* 8004112C 0003CD8C F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0 /* 80041130 0003CD90 FC 40 10 50 */ fneg f2, f2 /* 80041134 0003CD94 C0 02 82 B0 */ lfs f0, lbl_806408B0-_SDA2_BASE_(r2) /* 80041138 0003CD98 FF E0 18 90 */ fmr f31, f3 /* 8004113C 0003CD9C 93 E1 00 5C */ stw r31, 0x5c(r1) /* 80041140 0003CDA0 7C 7F 1B 78 */ mr r31, r3 /* 80041144 0003CDA4 38 61 00 38 */ addi r3, r1, 0x38 /* 80041148 0003CDA8 D0 21 00 0C */ stfs f1, 0xc(r1) /* 8004114C 0003CDAC 38 81 00 08 */ addi r4, r1, 8 /* 80041150 0003CDB0 D0 41 00 08 */ stfs f2, 8(r1) /* 80041154 0003CDB4 D0 01 00 10 */ stfs f0, 0x10(r1) /* 80041158 0003CDB8 48 1E 25 69 */ bl func_802236C0 /* 8004115C 0003CDBC FC 00 F8 18 */ frsp f0, f31 /* 80041160 0003CDC0 C0 22 82 B0 */ lfs f1, lbl_806408B0-_SDA2_BASE_(r2) /* 80041164 0003CDC4 D3 E1 00 34 */ stfs f31, 0x34(r1) /* 80041168 0003CDC8 38 61 00 14 */ addi r3, r1, 0x14 /* 8004116C 0003CDCC 38 81 00 38 */ addi r4, r1, 0x38 /* 80041170 0003CDD0 D0 21 00 2C */ stfs f1, 0x2c(r1) /* 80041174 0003CDD4 D0 21 00 30 */ stfs f1, 0x30(r1) /* 80041178 0003CDD8 D0 21 00 14 */ stfs f1, 0x14(r1) /* 8004117C 0003CDDC D0 21 00 18 */ stfs f1, 0x18(r1) /* 80041180 0003CDE0 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 80041184 0003CDE4 48 1E 28 89 */ bl func_80223A0C /* 80041188 0003CDE8 38 7F 05 74 */ addi r3, r31, 0x574 /* 8004118C 0003CDEC 38 81 00 14 */ addi r4, r1, 0x14 /* 80041190 0003CDF0 38 A1 00 20 */ addi r5, r1, 0x20 /* 80041194 0003CDF4 48 23 BB 31 */ bl PSVECAdd /* 80041198 0003CDF8 C0 41 00 20 */ lfs f2, 0x20(r1) /* 8004119C 0003CDFC 38 7F 04 E8 */ addi r3, r31, 0x4e8 /* 800411A0 0003CE00 C0 21 00 24 */ lfs f1, 0x24(r1) /* 800411A4 0003CE04 38 81 00 48 */ addi r4, r1, 0x48 /* 800411A8 0003CE08 C0 01 00 28 */ lfs f0, 0x28(r1) /* 800411AC 0003CE0C D0 41 00 48 */ stfs f2, 0x48(r1) /* 800411B0 0003CE10 D0 21 00 4C */ stfs f1, 0x4c(r1) /* 800411B4 0003CE14 D0 01 00 50 */ stfs f0, 0x50(r1) /* 800411B8 0003CE18 4B FF FA 2D */ bl func_80040BE4 /* 800411BC 0003CE1C 38 00 00 00 */ li r0, 0 /* 800411C0 0003CE20 38 7F 00 4C */ addi r3, r31, 0x4c /* 800411C4 0003CE24 90 1F 04 BC */ stw r0, 0x4bc(r31) /* 800411C8 0003CE28 98 1F 00 02 */ stb r0, 2(r31) /* 800411CC 0003CE2C 48 00 F1 BD */ bl func_80050388 /* 800411D0 0003CE30 38 7F 00 70 */ addi r3, r31, 0x70 /* 800411D4 0003CE34 48 00 F1 B5 */ bl func_80050388 /* 800411D8 0003CE38 38 7F 00 94 */ addi r3, r31, 0x94 /* 800411DC 0003CE3C 48 00 F1 AD */ bl func_80050388 /* 800411E0 0003CE40 38 00 00 01 */ li r0, 1 /* 800411E4 0003CE44 98 1F 00 01 */ stb r0, 1(r31) /* 800411E8 0003CE48 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0 /* 800411EC 0003CE4C CB E1 00 60 */ lfd f31, 0x60(r1) /* 800411F0 0003CE50 83 E1 00 5C */ lwz r31, 0x5c(r1) /* 800411F4 0003CE54 80 01 00 74 */ lwz r0, 0x74(r1) /* 800411F8 0003CE58 7C 08 03 A6 */ mtlr r0 /* 800411FC 0003CE5C 38 21 00 70 */ addi r1, r1, 0x70 /* 80041200 0003CE60 4E 80 00 20 */ blr .global func_80041204 func_80041204: /* 80041204 0003CE64 38 63 04 FC */ addi r3, r3, 0x4fc /* 80041208 0003CE68 4E 80 00 20 */ blr .global func_8004120C func_8004120C: /* 8004120C 0003CE6C 38 00 00 01 */ li r0, 1 /* 80041210 0003CE70 D0 23 06 F4 */ stfs f1, 0x6f4(r3) /* 80041214 0003CE74 98 03 06 F8 */ stb r0, 0x6f8(r3) /* 80041218 0003CE78 4E 80 00 20 */ blr .global func_8004121C func_8004121C: /* 8004121C 0003CE7C 38 00 00 00 */ li r0, 0 /* 80041220 0003CE80 98 03 06 F8 */ stb r0, 0x6f8(r3) /* 80041224 0003CE84 4E 80 00 20 */ blr .global func_80041228 func_80041228: /* 80041228 0003CE88 94 21 FF 60 */ stwu r1, -0xa0(r1) /* 8004122C 0003CE8C 7C 08 02 A6 */ mflr r0 /* 80041230 0003CE90 90 01 00 A4 */ stw r0, 0xa4(r1) /* 80041234 0003CE94 DB E1 00 90 */ stfd f31, 0x90(r1) /* 80041238 0003CE98 F3 E1 00 98 */ psq_st f31, 152(r1), 0, qr0 /* 8004123C 0003CE9C DB C1 00 80 */ stfd f30, 0x80(r1) /* 80041240 0003CEA0 F3 C1 00 88 */ psq_st f30, 136(r1), 0, qr0 /* 80041244 0003CEA4 DB A1 00 70 */ stfd f29, 0x70(r1) /* 80041248 0003CEA8 F3 A1 00 78 */ psq_st f29, 120(r1), 0, qr0 /* 8004124C 0003CEAC 38 A1 00 54 */ addi r5, r1, 0x54 /* 80041250 0003CEB0 93 E1 00 6C */ stw r31, 0x6c(r1) /* 80041254 0003CEB4 3B E4 00 14 */ addi r31, r4, 0x14 /* 80041258 0003CEB8 93 C1 00 68 */ stw r30, 0x68(r1) /* 8004125C 0003CEBC 7C 9E 23 78 */ mr r30, r4 /* 80041260 0003CEC0 7F E4 FB 78 */ mr r4, r31 /* 80041264 0003CEC4 93 A1 00 64 */ stw r29, 0x64(r1) /* 80041268 0003CEC8 7C 7D 1B 78 */ mr r29, r3 /* 8004126C 0003CECC 38 63 04 FC */ addi r3, r3, 0x4fc /* 80041270 0003CED0 48 23 BA 79 */ bl PSVECSubtract /* 80041274 0003CED4 7F C3 F3 78 */ mr r3, r30 /* 80041278 0003CED8 4B FF F9 C1 */ bl func_80040C38 /* 8004127C 0003CEDC 80 1D 04 BC */ lwz r0, 0x4bc(r29) /* 80041280 0003CEE0 FF C0 08 90 */ fmr f30, f1 /* 80041284 0003CEE4 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a /* 80041288 0003CEE8 41 82 00 40 */ beq lbl_800412C8 /* 8004128C 0003CEEC 7F C3 F3 78 */ mr r3, r30 /* 80041290 0003CEF0 4B FF F5 21 */ bl func_800407B0 /* 80041294 0003CEF4 FF E0 08 90 */ fmr f31, f1 /* 80041298 0003CEF8 7F A3 EB 78 */ mr r3, r29 /* 8004129C 0003CEFC 7F C4 F3 78 */ mr r4, r30 /* 800412A0 0003CF00 48 00 02 85 */ bl func_80041524 /* 800412A4 0003CF04 EC 01 F8 28 */ fsubs f0, f1, f31 /* 800412A8 0003CF08 7F C3 F3 78 */ mr r3, r30 /* 800412AC 0003CF0C D0 1D 06 C8 */ stfs f0, 0x6c8(r29) /* 800412B0 0003CF10 4B FF F5 01 */ bl func_800407B0 /* 800412B4 0003CF14 C0 5D 06 C8 */ lfs f2, 0x6c8(r29) /* 800412B8 0003CF18 C0 1D 06 E8 */ lfs f0, 0x6e8(r29) /* 800412BC 0003CF1C EC 22 08 2A */ fadds f1, f2, f1 /* 800412C0 0003CF20 EF A0 08 2A */ fadds f29, f0, f1 /* 800412C4 0003CF24 48 00 00 1C */ b lbl_800412E0 lbl_800412C8: /* 800412C8 0003CF28 7F C3 F3 78 */ mr r3, r30 /* 800412CC 0003CF2C 4B FF F4 E5 */ bl func_800407B0 /* 800412D0 0003CF30 C0 5D 06 C8 */ lfs f2, 0x6c8(r29) /* 800412D4 0003CF34 C0 1D 06 E8 */ lfs f0, 0x6e8(r29) /* 800412D8 0003CF38 EC 22 08 2A */ fadds f1, f2, f1 /* 800412DC 0003CF3C EF A0 08 2A */ fadds f29, f0, f1 lbl_800412E0: /* 800412E0 0003CF40 80 1D 01 24 */ lwz r0, 0x124(r29) /* 800412E4 0003CF44 C0 02 82 B0 */ lfs f0, lbl_806408B0-_SDA2_BASE_(r2) /* 800412E8 0003CF48 2C 00 00 00 */ cmpwi r0, 0 /* 800412EC 0003CF4C D3 A1 00 34 */ stfs f29, 0x34(r1) /* 800412F0 0003CF50 D0 01 00 2C */ stfs f0, 0x2c(r1) /* 800412F4 0003CF54 D0 01 00 30 */ stfs f0, 0x30(r1) /* 800412F8 0003CF58 41 82 00 10 */ beq lbl_80041308 /* 800412FC 0003CF5C C0 1D 04 D8 */ lfs f0, 0x4d8(r29) /* 80041300 0003CF60 EF E0 F0 2A */ fadds f31, f0, f30 /* 80041304 0003CF64 48 00 00 2C */ b lbl_80041330 lbl_80041308: /* 80041308 0003CF68 80 1D 04 BC */ lwz r0, 0x4bc(r29) /* 8004130C 0003CF6C 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 80041310 0003CF70 41 82 00 10 */ beq lbl_80041320 /* 80041314 0003CF74 C0 1D 04 C0 */ lfs f0, 0x4c0(r29) /* 80041318 0003CF78 EF E0 F0 2A */ fadds f31, f0, f30 /* 8004131C 0003CF7C 48 00 00 14 */ b lbl_80041330 lbl_80041320: /* 80041320 0003CF80 C0 41 00 5C */ lfs f2, 0x5c(r1) /* 80041324 0003CF84 C0 21 00 54 */ lfs f1, 0x54(r1) /* 80041328 0003CF88 48 19 32 B5 */ bl atan2 /* 8004132C 0003CF8C FF E0 08 18 */ frsp f31, f1 lbl_80041330: /* 80041330 0003CF90 80 1D 01 48 */ lwz r0, 0x148(r29) /* 80041334 0003CF94 2C 00 00 00 */ cmpwi r0, 0 /* 80041338 0003CF98 41 82 00 0C */ beq lbl_80041344 /* 8004133C 0003CF9C C0 5D 04 DC */ lfs f2, 0x4dc(r29) /* 80041340 0003CFA0 48 00 01 20 */ b lbl_80041460 lbl_80041344: /* 80041344 0003CFA4 80 7D 04 BC */ lwz r3, 0x4bc(r29) /* 80041348 0003CFA8 54 60 06 73 */ rlwinm. r0, r3, 0, 0x19, 0x19 /* 8004134C 0003CFAC 41 82 00 80 */ beq lbl_800413CC /* 80041350 0003CFB0 C0 3D 04 C8 */ lfs f1, 0x4c8(r29) /* 80041354 0003CFB4 C0 1F 00 04 */ lfs f0, 4(r31) /* 80041358 0003CFB8 C0 42 82 D4 */ lfs f2, lbl_806408D4-_SDA2_BASE_(r2) /* 8004135C 0003CFBC EC 01 00 28 */ fsubs f0, f1, f0 /* 80041360 0003CFC0 EC 20 E8 24 */ fdivs f1, f0, f29 /* 80041364 0003CFC4 FC 00 0A 10 */ fabs f0, f1 /* 80041368 0003CFC8 FC 00 00 18 */ frsp f0, f0 /* 8004136C 0003CFCC FC 00 10 40 */ fcmpo cr0, f0, f2 /* 80041370 0003CFD0 4C 41 13 82 */ cror 2, 1, 2 /* 80041374 0003CFD4 40 82 00 1C */ bne lbl_80041390 /* 80041378 0003CFD8 C0 02 82 B0 */ lfs f0, lbl_806408B0-_SDA2_BASE_(r2) /* 8004137C 0003CFDC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80041380 0003CFE0 40 81 00 08 */ ble lbl_80041388 /* 80041384 0003CFE4 48 00 00 DC */ b lbl_80041460 lbl_80041388: /* 80041388 0003CFE8 C0 42 82 D8 */ lfs f2, lbl_806408D8-_SDA2_BASE_(r2) /* 8004138C 0003CFEC 48 00 00 D4 */ b lbl_80041460 lbl_80041390: /* 80041390 0003CFF0 C0 02 82 BC */ lfs f0, lbl_806408BC-_SDA2_BASE_(r2) /* 80041394 0003CFF4 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80041398 0003CFF8 4C 41 13 82 */ cror 2, 1, 2 /* 8004139C 0003CFFC 40 82 00 0C */ bne lbl_800413A8 /* 800413A0 0003D000 C0 42 82 DC */ lfs f2, lbl_806408DC-_SDA2_BASE_(r2) /* 800413A4 0003D004 48 00 00 BC */ b lbl_80041460 lbl_800413A8: /* 800413A8 0003D008 C0 02 82 E0 */ lfs f0, lbl_806408E0-_SDA2_BASE_(r2) /* 800413AC 0003D00C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 800413B0 0003D010 4C 40 13 82 */ cror 2, 0, 2 /* 800413B4 0003D014 40 82 00 0C */ bne lbl_800413C0 /* 800413B8 0003D018 C0 42 82 E4 */ lfs f2, lbl_806408E4-_SDA2_BASE_(r2) /* 800413BC 0003D01C 48 00 00 A4 */ b lbl_80041460 lbl_800413C0: /* 800413C0 0003D020 48 19 32 19 */ bl asin /* 800413C4 0003D024 FC 40 08 18 */ frsp f2, f1 /* 800413C8 0003D028 48 00 00 98 */ b lbl_80041460 lbl_800413CC: /* 800413CC 0003D02C 54 60 07 39 */ rlwinm. r0, r3, 0, 0x1c, 0x1c /* 800413D0 0003D030 41 82 00 18 */ beq lbl_800413E8 /* 800413D4 0003D034 80 9D 04 C4 */ lwz r4, 0x4c4(r29) /* 800413D8 0003D038 7F A3 EB 78 */ mr r3, r29 /* 800413DC 0003D03C 48 00 27 35 */ bl func_80043B10 /* 800413E0 0003D040 FC 40 08 90 */ fmr f2, f1 /* 800413E4 0003D044 48 00 00 7C */ b lbl_80041460 lbl_800413E8: /* 800413E8 0003D048 38 61 00 54 */ addi r3, r1, 0x54 /* 800413EC 0003D04C 48 23 B9 99 */ bl PSVECMag /* 800413F0 0003D050 C0 01 00 58 */ lfs f0, 0x58(r1) /* 800413F4 0003D054 C0 42 82 D4 */ lfs f2, lbl_806408D4-_SDA2_BASE_(r2) /* 800413F8 0003D058 EC 20 08 24 */ fdivs f1, f0, f1 /* 800413FC 0003D05C FC 00 0A 10 */ fabs f0, f1 /* 80041400 0003D060 FC 00 00 18 */ frsp f0, f0 /* 80041404 0003D064 FC 00 10 40 */ fcmpo cr0, f0, f2 /* 80041408 0003D068 4C 41 13 82 */ cror 2, 1, 2 /* 8004140C 0003D06C 40 82 00 1C */ bne lbl_80041428 /* 80041410 0003D070 C0 02 82 B0 */ lfs f0, lbl_806408B0-_SDA2_BASE_(r2) /* 80041414 0003D074 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80041418 0003D078 40 81 00 08 */ ble lbl_80041420 /* 8004141C 0003D07C 48 00 00 44 */ b lbl_80041460 lbl_80041420: /* 80041420 0003D080 C0 42 82 D8 */ lfs f2, lbl_806408D8-_SDA2_BASE_(r2) /* 80041424 0003D084 48 00 00 3C */ b lbl_80041460 lbl_80041428: /* 80041428 0003D088 C0 02 82 BC */ lfs f0, lbl_806408BC-_SDA2_BASE_(r2) /* 8004142C 0003D08C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80041430 0003D090 4C 41 13 82 */ cror 2, 1, 2 /* 80041434 0003D094 40 82 00 0C */ bne lbl_80041440 /* 80041438 0003D098 C0 42 82 DC */ lfs f2, lbl_806408DC-_SDA2_BASE_(r2) /* 8004143C 0003D09C 48 00 00 24 */ b lbl_80041460 lbl_80041440: /* 80041440 0003D0A0 C0 02 82 E0 */ lfs f0, lbl_806408E0-_SDA2_BASE_(r2) /* 80041444 0003D0A4 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80041448 0003D0A8 4C 40 13 82 */ cror 2, 0, 2 /* 8004144C 0003D0AC 40 82 00 0C */ bne lbl_80041458 /* 80041450 0003D0B0 C0 42 82 E4 */ lfs f2, lbl_806408E4-_SDA2_BASE_(r2) /* 80041454 0003D0B4 48 00 00 0C */ b lbl_80041460 lbl_80041458: /* 80041458 0003D0B8 48 19 31 81 */ bl asin /* 8004145C 0003D0BC FC 40 08 18 */ frsp f2, f1 lbl_80041460: /* 80041460 0003D0C0 FC 40 10 50 */ fneg f2, f2 /* 80041464 0003D0C4 C0 1D 06 EC */ lfs f0, 0x6ec(r29) /* 80041468 0003D0C8 C0 3D 06 F0 */ lfs f1, 0x6f0(r29) /* 8004146C 0003D0CC 38 61 00 38 */ addi r3, r1, 0x38 /* 80041470 0003D0D0 EC 7F 00 2A */ fadds f3, f31, f0 /* 80041474 0003D0D4 C0 02 82 B0 */ lfs f0, lbl_806408B0-_SDA2_BASE_(r2) /* 80041478 0003D0D8 EC 22 08 28 */ fsubs f1, f2, f1 /* 8004147C 0003D0DC D0 01 00 10 */ stfs f0, 0x10(r1) /* 80041480 0003D0E0 38 81 00 08 */ addi r4, r1, 8 /* 80041484 0003D0E4 D0 61 00 0C */ stfs f3, 0xc(r1) /* 80041488 0003D0E8 D0 21 00 08 */ stfs f1, 8(r1) /* 8004148C 0003D0EC 48 1E 22 35 */ bl func_802236C0 /* 80041490 0003D0F0 C0 41 00 2C */ lfs f2, 0x2c(r1) /* 80041494 0003D0F4 38 61 00 14 */ addi r3, r1, 0x14 /* 80041498 0003D0F8 C0 21 00 30 */ lfs f1, 0x30(r1) /* 8004149C 0003D0FC 38 81 00 38 */ addi r4, r1, 0x38 /* 800414A0 0003D100 C0 01 00 34 */ lfs f0, 0x34(r1) /* 800414A4 0003D104 D0 41 00 14 */ stfs f2, 0x14(r1) /* 800414A8 0003D108 D0 21 00 18 */ stfs f1, 0x18(r1) /* 800414AC 0003D10C D0 01 00 1C */ stfs f0, 0x1c(r1) /* 800414B0 0003D110 48 1E 25 5D */ bl func_80223A0C /* 800414B4 0003D114 7F E3 FB 78 */ mr r3, r31 /* 800414B8 0003D118 38 81 00 14 */ addi r4, r1, 0x14 /* 800414BC 0003D11C 38 A1 00 20 */ addi r5, r1, 0x20 /* 800414C0 0003D120 48 23 B8 05 */ bl PSVECAdd /* 800414C4 0003D124 C0 41 00 20 */ lfs f2, 0x20(r1) /* 800414C8 0003D128 38 7D 04 E8 */ addi r3, r29, 0x4e8 /* 800414CC 0003D12C C0 21 00 24 */ lfs f1, 0x24(r1) /* 800414D0 0003D130 38 81 00 48 */ addi r4, r1, 0x48 /* 800414D4 0003D134 C0 01 00 28 */ lfs f0, 0x28(r1) /* 800414D8 0003D138 D0 41 00 48 */ stfs f2, 0x48(r1) /* 800414DC 0003D13C D0 21 00 4C */ stfs f1, 0x4c(r1) /* 800414E0 0003D140 D0 01 00 50 */ stfs f0, 0x50(r1) /* 800414E4 0003D144 4B FF F7 01 */ bl func_80040BE4 /* 800414E8 0003D148 38 00 00 01 */ li r0, 1 /* 800414EC 0003D14C 98 1D 00 01 */ stb r0, 1(r29) /* 800414F0 0003D150 E3 E1 00 98 */ psq_l f31, 152(r1), 0, qr0 /* 800414F4 0003D154 CB E1 00 90 */ lfd f31, 0x90(r1) /* 800414F8 0003D158 E3 C1 00 88 */ psq_l f30, 136(r1), 0, qr0 /* 800414FC 0003D15C CB C1 00 80 */ lfd f30, 0x80(r1) /* 80041500 0003D160 E3 A1 00 78 */ psq_l f29, 120(r1), 0, qr0 /* 80041504 0003D164 CB A1 00 70 */ lfd f29, 0x70(r1) /* 80041508 0003D168 83 E1 00 6C */ lwz r31, 0x6c(r1) /* 8004150C 0003D16C 83 C1 00 68 */ lwz r30, 0x68(r1) /* 80041510 0003D170 83 A1 00 64 */ lwz r29, 0x64(r1) /* 80041514 0003D174 80 01 00 A4 */ lwz r0, 0xa4(r1) /* 80041518 0003D178 7C 08 03 A6 */ mtlr r0 /* 8004151C 0003D17C 38 21 00 A0 */ addi r1, r1, 0xa0 /* 80041520 0003D180 4E 80 00 20 */ blr .global func_80041524 func_80041524: /* 80041524 0003D184 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80041528 0003D188 7C 08 02 A6 */ mflr r0 /* 8004152C 0003D18C 90 01 00 34 */ stw r0, 0x34(r1) /* 80041530 0003D190 DB E1 00 20 */ stfd f31, 0x20(r1) /* 80041534 0003D194 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0 /* 80041538 0003D198 80 04 00 10 */ lwz r0, 0x10(r4) /* 8004153C 0003D19C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80041540 0003D1A0 2C 00 00 02 */ cmpwi r0, 2 /* 80041544 0003D1A4 93 C1 00 18 */ stw r30, 0x18(r1) /* 80041548 0003D1A8 7C 9E 23 78 */ mr r30, r4 /* 8004154C 0003D1AC 93 A1 00 14 */ stw r29, 0x14(r1) /* 80041550 0003D1B0 7C 7D 1B 78 */ mr r29, r3 /* 80041554 0003D1B4 41 82 00 50 */ beq lbl_800415A4 /* 80041558 0003D1B8 40 80 01 10 */ bge lbl_80041668 /* 8004155C 0003D1BC 2C 00 00 01 */ cmpwi r0, 1 /* 80041560 0003D1C0 40 80 00 08 */ bge lbl_80041568 /* 80041564 0003D1C4 48 00 01 04 */ b lbl_80041668 lbl_80041568: /* 80041568 0003D1C8 7F C3 F3 78 */ mr r3, r30 /* 8004156C 0003D1CC 38 80 00 00 */ li r4, 0 /* 80041570 0003D1D0 4B FF F6 0D */ bl func_80040B7C /* 80041574 0003D1D4 2C 03 00 00 */ cmpwi r3, 0 /* 80041578 0003D1D8 41 82 00 24 */ beq lbl_8004159C /* 8004157C 0003D1DC 7F C3 F3 78 */ mr r3, r30 /* 80041580 0003D1E0 38 80 00 00 */ li r4, 0 /* 80041584 0003D1E4 4B FF F5 F9 */ bl func_80040B7C /* 80041588 0003D1E8 80 BD 04 D4 */ lwz r5, 0x4d4(r29) /* 8004158C 0003D1EC 7C 64 1B 78 */ mr r4, r3 /* 80041590 0003D1F0 7F A3 EB 78 */ mr r3, r29 /* 80041594 0003D1F4 48 00 24 59 */ bl func_800439EC /* 80041598 0003D1F8 48 00 00 D4 */ b lbl_8004166C lbl_8004159C: /* 8004159C 0003D1FC C0 3D 06 C8 */ lfs f1, 0x6c8(r29) /* 800415A0 0003D200 48 00 00 CC */ b lbl_8004166C lbl_800415A4: /* 800415A4 0003D204 7F C3 F3 78 */ mr r3, r30 /* 800415A8 0003D208 38 80 00 00 */ li r4, 0 /* 800415AC 0003D20C 4B FF F5 D1 */ bl func_80040B7C /* 800415B0 0003D210 2C 03 00 00 */ cmpwi r3, 0 /* 800415B4 0003D214 41 82 00 AC */ beq lbl_80041660 /* 800415B8 0003D218 7F C3 F3 78 */ mr r3, r30 /* 800415BC 0003D21C 38 80 00 01 */ li r4, 1 /* 800415C0 0003D220 4B FF F5 BD */ bl func_80040B7C /* 800415C4 0003D224 2C 03 00 00 */ cmpwi r3, 0 /* 800415C8 0003D228 40 82 00 24 */ bne lbl_800415EC /* 800415CC 0003D22C 7F C3 F3 78 */ mr r3, r30 /* 800415D0 0003D230 38 80 00 00 */ li r4, 0 /* 800415D4 0003D234 4B FF F5 A9 */ bl func_80040B7C /* 800415D8 0003D238 80 BD 04 D4 */ lwz r5, 0x4d4(r29) /* 800415DC 0003D23C 7C 64 1B 78 */ mr r4, r3 /* 800415E0 0003D240 7F A3 EB 78 */ mr r3, r29 /* 800415E4 0003D244 48 00 24 09 */ bl func_800439EC /* 800415E8 0003D248 48 00 00 84 */ b lbl_8004166C lbl_800415EC: /* 800415EC 0003D24C 7F C3 F3 78 */ mr r3, r30 /* 800415F0 0003D250 38 80 00 01 */ li r4, 1 /* 800415F4 0003D254 4B FF F5 89 */ bl func_80040B7C /* 800415F8 0003D258 7C 7F 1B 78 */ mr r31, r3 /* 800415FC 0003D25C 7F C3 F3 78 */ mr r3, r30 /* 80041600 0003D260 38 80 00 00 */ li r4, 0 /* 80041604 0003D264 4B FF F5 79 */ bl func_80040B7C /* 80041608 0003D268 7C 03 F8 40 */ cmplw r3, r31 /* 8004160C 0003D26C 40 82 00 24 */ bne lbl_80041630 /* 80041610 0003D270 7F C3 F3 78 */ mr r3, r30 /* 80041614 0003D274 38 80 00 00 */ li r4, 0 /* 80041618 0003D278 4B FF F5 65 */ bl func_80040B7C /* 8004161C 0003D27C 80 BD 04 D4 */ lwz r5, 0x4d4(r29) /* 80041620 0003D280 7C 64 1B 78 */ mr r4, r3 /* 80041624 0003D284 7F A3 EB 78 */ mr r3, r29 /* 80041628 0003D288 48 00 23 C5 */ bl func_800439EC /* 8004162C 0003D28C 48 00 00 40 */ b lbl_8004166C lbl_80041630: /* 80041630 0003D290 7F C3 F3 78 */ mr r3, r30 /* 80041634 0003D294 4B FF F1 7D */ bl func_800407B0 /* 80041638 0003D298 FF E0 08 90 */ fmr f31, f1 /* 8004163C 0003D29C 7F C3 F3 78 */ mr r3, r30 /* 80041640 0003D2A0 38 80 00 00 */ li r4, 0 /* 80041644 0003D2A4 4B FF F5 39 */ bl func_80040B7C /* 80041648 0003D2A8 80 BD 04 D4 */ lwz r5, 0x4d4(r29) /* 8004164C 0003D2AC 7C 64 1B 78 */ mr r4, r3 /* 80041650 0003D2B0 7F A3 EB 78 */ mr r3, r29 /* 80041654 0003D2B4 48 00 23 99 */ bl func_800439EC /* 80041658 0003D2B8 EC 21 F8 2A */ fadds f1, f1, f31 /* 8004165C 0003D2BC 48 00 00 10 */ b lbl_8004166C lbl_80041660: /* 80041660 0003D2C0 C0 3D 06 C8 */ lfs f1, 0x6c8(r29) /* 80041664 0003D2C4 48 00 00 08 */ b lbl_8004166C lbl_80041668: /* 80041668 0003D2C8 C0 23 06 C8 */ lfs f1, 0x6c8(r3) lbl_8004166C: /* 8004166C 0003D2CC E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0 /* 80041670 0003D2D0 80 01 00 34 */ lwz r0, 0x34(r1) /* 80041674 0003D2D4 CB E1 00 20 */ lfd f31, 0x20(r1) /* 80041678 0003D2D8 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8004167C 0003D2DC 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80041680 0003D2E0 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80041684 0003D2E4 7C 08 03 A6 */ mtlr r0 /* 80041688 0003D2E8 38 21 00 30 */ addi r1, r1, 0x30 /* 8004168C 0003D2EC 4E 80 00 20 */ blr .global func_80041690 func_80041690: /* 80041690 0003D2F0 C0 02 82 B0 */ lfs f0, lbl_806408B0-_SDA2_BASE_(r2) /* 80041694 0003D2F4 FC 03 00 40 */ fcmpo cr0, f3, f0 /* 80041698 0003D2F8 40 80 00 08 */ bge lbl_800416A0 /* 8004169C 0003D2FC FC 60 00 90 */ fmr f3, f0 lbl_800416A0: /* 800416A0 0003D300 C0 02 82 BC */ lfs f0, lbl_806408BC-_SDA2_BASE_(r2) /* 800416A4 0003D304 FC 03 00 40 */ fcmpo cr0, f3, f0 /* 800416A8 0003D308 40 81 00 08 */ ble lbl_800416B0 /* 800416AC 0003D30C FC 60 00 90 */ fmr f3, f0 lbl_800416B0: /* 800416B0 0003D310 C0 02 82 E8 */ lfs f0, lbl_806408E8-_SDA2_BASE_(r2) /* 800416B4 0003D314 38 00 00 3F */ li r0, 0x3f /* 800416B8 0003D318 D0 23 04 C0 */ stfs f1, 0x4c0(r3) /* 800416BC 0003D31C FC 03 00 40 */ fcmpo cr0, f3, f0 /* 800416C0 0003D320 90 83 04 C4 */ stw r4, 0x4c4(r3) /* 800416C4 0003D324 D0 63 04 CC */ stfs f3, 0x4cc(r3) /* 800416C8 0003D328 D0 43 04 D0 */ stfs f2, 0x4d0(r3) /* 800416CC 0003D32C 90 A3 04 D4 */ stw r5, 0x4d4(r3) /* 800416D0 0003D330 90 03 04 BC */ stw r0, 0x4bc(r3) /* 800416D4 0003D334 4C 41 13 82 */ cror 2, 1, 2 /* 800416D8 0003D338 4C 82 00 20 */ bnelr /* 800416DC 0003D33C 38 83 05 60 */ addi r4, r3, 0x560 /* 800416E0 0003D340 4B FF FB 48 */ b func_80041228 /* 800416E4 0003D344 4E 80 00 20 */ blr .global func_800416E8 func_800416E8: /* 800416E8 0003D348 C0 02 82 B0 */ lfs f0, lbl_806408B0-_SDA2_BASE_(r2) /* 800416EC 0003D34C FC 03 00 40 */ fcmpo cr0, f3, f0 /* 800416F0 0003D350 40 80 00 08 */ bge lbl_800416F8 /* 800416F4 0003D354 FC 60 00 90 */ fmr f3, f0 lbl_800416F8: /* 800416F8 0003D358 C0 02 82 BC */ lfs f0, lbl_806408BC-_SDA2_BASE_(r2) /* 800416FC 0003D35C FC 03 00 40 */ fcmpo cr0, f3, f0 /* 80041700 0003D360 40 81 00 08 */ ble lbl_80041708 /* 80041704 0003D364 FC 60 00 90 */ fmr f3, f0 lbl_80041708: /* 80041708 0003D368 C0 02 82 E8 */ lfs f0, lbl_806408E8-_SDA2_BASE_(r2) /* 8004170C 0003D36C 80 03 04 BC */ lwz r0, 0x4bc(r3) /* 80041710 0003D370 FC 03 00 40 */ fcmpo cr0, f3, f0 /* 80041714 0003D374 D0 23 04 C0 */ stfs f1, 0x4c0(r3) /* 80041718 0003D378 60 00 00 17 */ ori r0, r0, 0x17 /* 8004171C 0003D37C 90 03 04 BC */ stw r0, 0x4bc(r3) /* 80041720 0003D380 D0 63 04 CC */ stfs f3, 0x4cc(r3) /* 80041724 0003D384 D0 43 04 D0 */ stfs f2, 0x4d0(r3) /* 80041728 0003D388 4C 41 13 82 */ cror 2, 1, 2 /* 8004172C 0003D38C 4C 82 00 20 */ bnelr /* 80041730 0003D390 38 83 05 60 */ addi r4, r3, 0x560 /* 80041734 0003D394 4B FF FA F4 */ b func_80041228 /* 80041738 0003D398 4E 80 00 20 */ blr .global func_8004173C func_8004173C: /* 8004173C 0003D39C C0 02 82 B0 */ lfs f0, lbl_806408B0-_SDA2_BASE_(r2) /* 80041740 0003D3A0 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80041744 0003D3A4 40 80 00 08 */ bge lbl_8004174C /* 80041748 0003D3A8 FC 40 00 90 */ fmr f2, f0 lbl_8004174C: /* 8004174C 0003D3AC C0 02 82 BC */ lfs f0, lbl_806408BC-_SDA2_BASE_(r2) /* 80041750 0003D3B0 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80041754 0003D3B4 40 81 00 08 */ ble lbl_8004175C /* 80041758 0003D3B8 FC 40 00 90 */ fmr f2, f0 lbl_8004175C: /* 8004175C 0003D3BC 80 03 04 BC */ lwz r0, 0x4bc(r3) /* 80041760 0003D3C0 C0 02 82 E8 */ lfs f0, lbl_806408E8-_SDA2_BASE_(r2) /* 80041764 0003D3C4 60 00 00 0F */ ori r0, r0, 0xf /* 80041768 0003D3C8 90 83 04 C4 */ stw r4, 0x4c4(r3) /* 8004176C 0003D3CC 54 00 06 B0 */ rlwinm r0, r0, 0, 0x1a, 0x18 /* 80041770 0003D3D0 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80041774 0003D3D4 90 03 04 BC */ stw r0, 0x4bc(r3) /* 80041778 0003D3D8 D0 43 04 CC */ stfs f2, 0x4cc(r3) /* 8004177C 0003D3DC D0 23 04 D0 */ stfs f1, 0x4d0(r3) /* 80041780 0003D3E0 4C 41 13 82 */ cror 2, 1, 2 /* 80041784 0003D3E4 4C 82 00 20 */ bnelr /* 80041788 0003D3E8 38 83 05 60 */ addi r4, r3, 0x560 /* 8004178C 0003D3EC 4B FF FA 9C */ b func_80041228 /* 80041790 0003D3F0 4E 80 00 20 */ blr .global func_80041794 func_80041794: /* 80041794 0003D3F4 C0 02 82 B0 */ lfs f0, lbl_806408B0-_SDA2_BASE_(r2) /* 80041798 0003D3F8 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 8004179C 0003D3FC 40 80 00 08 */ bge lbl_800417A4 /* 800417A0 0003D400 FC 40 00 90 */ fmr f2, f0 lbl_800417A4: /* 800417A4 0003D404 C0 02 82 BC */ lfs f0, lbl_806408BC-_SDA2_BASE_(r2) /* 800417A8 0003D408 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 800417AC 0003D40C 40 81 00 08 */ ble lbl_800417B4 /* 800417B0 0003D410 FC 40 00 90 */ fmr f2, f0 lbl_800417B4: /* 800417B4 0003D414 C0 02 82 E8 */ lfs f0, lbl_806408E8-_SDA2_BASE_(r2) /* 800417B8 0003D418 80 03 04 BC */ lwz r0, 0x4bc(r3) /* 800417BC 0003D41C FC 02 00 40 */ fcmpo cr0, f2, f0 /* 800417C0 0003D420 90 83 04 D4 */ stw r4, 0x4d4(r3) /* 800417C4 0003D424 60 00 00 27 */ ori r0, r0, 0x27 /* 800417C8 0003D428 90 03 04 BC */ stw r0, 0x4bc(r3) /* 800417CC 0003D42C D0 43 04 CC */ stfs f2, 0x4cc(r3) /* 800417D0 0003D430 D0 23 04 D0 */ stfs f1, 0x4d0(r3) /* 800417D4 0003D434 4C 41 13 82 */ cror 2, 1, 2 /* 800417D8 0003D438 4C 82 00 20 */ bnelr /* 800417DC 0003D43C 38 83 05 60 */ addi r4, r3, 0x560 /* 800417E0 0003D440 4B FF FA 48 */ b func_80041228 /* 800417E4 0003D444 4E 80 00 20 */ blr .global func_800417E8 func_800417E8: /* 800417E8 0003D448 94 21 FF C0 */ stwu r1, -0x40(r1) /* 800417EC 0003D44C 7C 08 02 A6 */ mflr r0 /* 800417F0 0003D450 90 01 00 44 */ stw r0, 0x44(r1) /* 800417F4 0003D454 DB E1 00 30 */ stfd f31, 0x30(r1) /* 800417F8 0003D458 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0 /* 800417FC 0003D45C DB C1 00 20 */ stfd f30, 0x20(r1) /* 80041800 0003D460 F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0 /* 80041804 0003D464 DB A1 00 10 */ stfd f29, 0x10(r1) /* 80041808 0003D468 F3 A1 00 18 */ psq_st f29, 24(r1), 0, qr0 /* 8004180C 0003D46C FF A0 08 90 */ fmr f29, f1 /* 80041810 0003D470 C0 02 82 B0 */ lfs f0, lbl_806408B0-_SDA2_BASE_(r2) /* 80041814 0003D474 FF C0 10 90 */ fmr f30, f2 /* 80041818 0003D478 FF E0 18 90 */ fmr f31, f3 /* 8004181C 0003D47C 93 E1 00 0C */ stw r31, 0xc(r1) /* 80041820 0003D480 FC 03 00 40 */ fcmpo cr0, f3, f0 /* 80041824 0003D484 7C 7F 1B 78 */ mr r31, r3 /* 80041828 0003D488 40 80 00 08 */ bge lbl_80041830 /* 8004182C 0003D48C FF E0 00 90 */ fmr f31, f0 lbl_80041830: /* 80041830 0003D490 C0 02 82 BC */ lfs f0, lbl_806408BC-_SDA2_BASE_(r2) /* 80041834 0003D494 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 80041838 0003D498 40 81 00 08 */ ble lbl_80041840 /* 8004183C 0003D49C FF E0 00 90 */ fmr f31, f0 lbl_80041840: /* 80041840 0003D4A0 80 03 04 BC */ lwz r0, 0x4bc(r3) /* 80041844 0003D4A4 60 00 00 47 */ ori r0, r0, 0x47 /* 80041848 0003D4A8 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b /* 8004184C 0003D4AC 90 03 04 BC */ stw r0, 0x4bc(r3) /* 80041850 0003D4B0 38 63 01 48 */ addi r3, r3, 0x148 /* 80041854 0003D4B4 48 00 EB 35 */ bl func_80050388 /* 80041858 0003D4B8 C0 02 82 E8 */ lfs f0, lbl_806408E8-_SDA2_BASE_(r2) /* 8004185C 0003D4BC D3 BF 04 C8 */ stfs f29, 0x4c8(r31) /* 80041860 0003D4C0 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 80041864 0003D4C4 D3 FF 04 CC */ stfs f31, 0x4cc(r31) /* 80041868 0003D4C8 D3 DF 04 D0 */ stfs f30, 0x4d0(r31) /* 8004186C 0003D4CC 4C 41 13 82 */ cror 2, 1, 2 /* 80041870 0003D4D0 40 82 00 10 */ bne lbl_80041880 /* 80041874 0003D4D4 7F E3 FB 78 */ mr r3, r31 /* 80041878 0003D4D8 38 9F 05 60 */ addi r4, r31, 0x560 /* 8004187C 0003D4DC 4B FF F9 AD */ bl func_80041228 lbl_80041880: /* 80041880 0003D4E0 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0 /* 80041884 0003D4E4 CB E1 00 30 */ lfd f31, 0x30(r1) /* 80041888 0003D4E8 E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0 /* 8004188C 0003D4EC CB C1 00 20 */ lfd f30, 0x20(r1) /* 80041890 0003D4F0 E3 A1 00 18 */ psq_l f29, 24(r1), 0, qr0 /* 80041894 0003D4F4 CB A1 00 10 */ lfd f29, 0x10(r1) /* 80041898 0003D4F8 80 01 00 44 */ lwz r0, 0x44(r1) /* 8004189C 0003D4FC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 800418A0 0003D500 7C 08 03 A6 */ mtlr r0 /* 800418A4 0003D504 38 21 00 40 */ addi r1, r1, 0x40 /* 800418A8 0003D508 4E 80 00 20 */ blr .global func_800418AC func_800418AC: /* 800418AC 0003D50C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800418B0 0003D510 7C 08 02 A6 */ mflr r0 /* 800418B4 0003D514 90 01 00 14 */ stw r0, 0x14(r1) /* 800418B8 0003D518 54 80 07 FF */ clrlwi. r0, r4, 0x1f /* 800418BC 0003D51C 93 E1 00 0C */ stw r31, 0xc(r1) /* 800418C0 0003D520 93 C1 00 08 */ stw r30, 8(r1) /* 800418C4 0003D524 7C 7E 1B 78 */ mr r30, r3 /* 800418C8 0003D528 41 82 00 20 */ beq lbl_800418E8 /* 800418CC 0003D52C 3B E0 00 00 */ li r31, 0 /* 800418D0 0003D530 38 80 00 00 */ li r4, 0 /* 800418D4 0003D534 93 E3 04 BC */ stw r31, 0x4bc(r3) /* 800418D8 0003D538 38 63 04 E8 */ addi r3, r3, 0x4e8 /* 800418DC 0003D53C 4B FF F2 C9 */ bl func_80040BA4 /* 800418E0 0003D540 9B FE 00 02 */ stb r31, 2(r30) /* 800418E4 0003D544 48 00 00 54 */ b lbl_80041938 lbl_800418E8: /* 800418E8 0003D548 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d /* 800418EC 0003D54C 41 82 00 10 */ beq lbl_800418FC /* 800418F0 0003D550 80 03 04 BC */ lwz r0, 0x4bc(r3) /* 800418F4 0003D554 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b /* 800418F8 0003D558 90 03 04 BC */ stw r0, 0x4bc(r3) lbl_800418FC: /* 800418FC 0003D55C 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e /* 80041900 0003D560 41 82 00 10 */ beq lbl_80041910 /* 80041904 0003D564 80 03 04 BC */ lwz r0, 0x4bc(r3) /* 80041908 0003D568 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a /* 8004190C 0003D56C 90 03 04 BC */ stw r0, 0x4bc(r3) lbl_80041910: /* 80041910 0003D570 54 80 07 39 */ rlwinm. r0, r4, 0, 0x1c, 0x1c /* 80041914 0003D574 41 82 00 10 */ beq lbl_80041924 /* 80041918 0003D578 80 03 04 BC */ lwz r0, 0x4bc(r3) /* 8004191C 0003D57C 54 00 06 F2 */ rlwinm r0, r0, 0, 0x1b, 0x19 /* 80041920 0003D580 90 03 04 BC */ stw r0, 0x4bc(r3) lbl_80041924: /* 80041924 0003D584 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b /* 80041928 0003D588 41 82 00 10 */ beq lbl_80041938 /* 8004192C 0003D58C 80 03 04 BC */ lwz r0, 0x4bc(r3) /* 80041930 0003D590 54 00 06 B0 */ rlwinm r0, r0, 0, 0x1a, 0x18 /* 80041934 0003D594 90 03 04 BC */ stw r0, 0x4bc(r3) lbl_80041938: /* 80041938 0003D598 80 01 00 14 */ lwz r0, 0x14(r1) /* 8004193C 0003D59C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80041940 0003D5A0 83 C1 00 08 */ lwz r30, 8(r1) /* 80041944 0003D5A4 7C 08 03 A6 */ mtlr r0 /* 80041948 0003D5A8 38 21 00 10 */ addi r1, r1, 0x10 /* 8004194C 0003D5AC 4E 80 00 20 */ blr .global func_80041950 func_80041950: /* 80041950 0003D5B0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80041954 0003D5B4 7C 08 02 A6 */ mflr r0 /* 80041958 0003D5B8 7C 87 23 78 */ mr r7, r4 /* 8004195C 0003D5BC 38 83 04 C8 */ addi r4, r3, 0x4c8 /* 80041960 0003D5C0 90 01 00 14 */ stw r0, 0x14(r1) /* 80041964 0003D5C4 7C 86 23 78 */ mr r6, r4 /* 80041968 0003D5C8 38 A1 00 08 */ addi r5, r1, 8 /* 8004196C 0003D5CC 38 63 01 90 */ addi r3, r3, 0x190 /* 80041970 0003D5D0 D0 21 00 08 */ stfs f1, 8(r1) /* 80041974 0003D5D4 FC 20 10 90 */ fmr f1, f2 /* 80041978 0003D5D8 48 00 E9 C5 */ bl func_8005033C /* 8004197C 0003D5DC 80 01 00 14 */ lwz r0, 0x14(r1) /* 80041980 0003D5E0 7C 08 03 A6 */ mtlr r0 /* 80041984 0003D5E4 38 21 00 10 */ addi r1, r1, 0x10 /* 80041988 0003D5E8 4E 80 00 20 */ blr .global func_8004198C func_8004198C: /* 8004198C 0003D5EC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80041990 0003D5F0 7C 08 02 A6 */ mflr r0 /* 80041994 0003D5F4 90 01 00 14 */ stw r0, 0x14(r1) /* 80041998 0003D5F8 93 E1 00 0C */ stw r31, 0xc(r1) /* 8004199C 0003D5FC 7C 7F 1B 78 */ mr r31, r3 /* 800419A0 0003D600 38 63 04 E8 */ addi r3, r3, 0x4e8 /* 800419A4 0003D604 4B FF F1 3D */ bl func_80040AE0 /* 800419A8 0003D608 38 00 00 00 */ li r0, 0 /* 800419AC 0003D60C 38 7F 00 4C */ addi r3, r31, 0x4c /* 800419B0 0003D610 90 1F 04 BC */ stw r0, 0x4bc(r31) /* 800419B4 0003D614 48 00 E9 D5 */ bl func_80050388 /* 800419B8 0003D618 38 7F 00 70 */ addi r3, r31, 0x70 /* 800419BC 0003D61C 48 00 E9 CD */ bl func_80050388 /* 800419C0 0003D620 38 7F 00 94 */ addi r3, r31, 0x94 /* 800419C4 0003D624 48 00 E9 C5 */ bl func_80050388 /* 800419C8 0003D628 38 00 00 01 */ li r0, 1 /* 800419CC 0003D62C 98 1F 00 01 */ stb r0, 1(r31) /* 800419D0 0003D630 83 E1 00 0C */ lwz r31, 0xc(r1) /* 800419D4 0003D634 80 01 00 14 */ lwz r0, 0x14(r1) /* 800419D8 0003D638 7C 08 03 A6 */ mtlr r0 /* 800419DC 0003D63C 38 21 00 10 */ addi r1, r1, 0x10 /* 800419E0 0003D640 4E 80 00 20 */ blr .global func_800419E4 func_800419E4: /* 800419E4 0003D644 94 21 FF D0 */ stwu r1, -0x30(r1) /* 800419E8 0003D648 7C 08 02 A6 */ mflr r0 /* 800419EC 0003D64C 2C 04 00 00 */ cmpwi r4, 0 /* 800419F0 0003D650 90 01 00 34 */ stw r0, 0x34(r1) /* 800419F4 0003D654 93 E1 00 2C */ stw r31, 0x2c(r1) /* 800419F8 0003D658 93 C1 00 28 */ stw r30, 0x28(r1) /* 800419FC 0003D65C 7C 7E 1B 78 */ mr r30, r3 /* 80041A00 0003D660 40 82 00 3C */ bne lbl_80041A3C /* 80041A04 0003D664 48 00 0B 8D */ bl func_80042590 /* 80041A08 0003D668 7C 7F 1B 78 */ mr r31, r3 /* 80041A0C 0003D66C 7F C3 F3 78 */ mr r3, r30 /* 80041A10 0003D670 4B FF F7 F5 */ bl func_80041204 /* 80041A14 0003D674 7F E4 FB 78 */ mr r4, r31 /* 80041A18 0003D678 38 A1 00 08 */ addi r5, r1, 8 /* 80041A1C 0003D67C 48 23 B2 CD */ bl PSVECSubtract /* 80041A20 0003D680 C0 41 00 08 */ lfs f2, 8(r1) /* 80041A24 0003D684 C0 21 00 0C */ lfs f1, 0xc(r1) /* 80041A28 0003D688 C0 01 00 10 */ lfs f0, 0x10(r1) /* 80041A2C 0003D68C D0 41 00 14 */ stfs f2, 0x14(r1) /* 80041A30 0003D690 D0 21 00 18 */ stfs f1, 0x18(r1) /* 80041A34 0003D694 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 80041A38 0003D698 48 00 00 1C */ b lbl_80041A54 lbl_80041A3C: /* 80041A3C 0003D69C C0 04 00 00 */ lfs f0, 0(r4) /* 80041A40 0003D6A0 D0 01 00 14 */ stfs f0, 0x14(r1) /* 80041A44 0003D6A4 C0 04 00 04 */ lfs f0, 4(r4) /* 80041A48 0003D6A8 D0 01 00 18 */ stfs f0, 0x18(r1) /* 80041A4C 0003D6AC C0 04 00 08 */ lfs f0, 8(r4) /* 80041A50 0003D6B0 D0 01 00 1C */ stfs f0, 0x1c(r1) lbl_80041A54: /* 80041A54 0003D6B4 38 7E 04 E8 */ addi r3, r30, 0x4e8 /* 80041A58 0003D6B8 38 81 00 14 */ addi r4, r1, 0x14 /* 80041A5C 0003D6BC 4B FF F0 B5 */ bl func_80040B10 /* 80041A60 0003D6C0 38 60 00 00 */ li r3, 0 /* 80041A64 0003D6C4 38 00 00 01 */ li r0, 1 /* 80041A68 0003D6C8 90 7E 04 BC */ stw r3, 0x4bc(r30) /* 80041A6C 0003D6CC 98 1E 00 01 */ stb r0, 1(r30) /* 80041A70 0003D6D0 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80041A74 0003D6D4 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80041A78 0003D6D8 80 01 00 34 */ lwz r0, 0x34(r1) /* 80041A7C 0003D6DC 7C 08 03 A6 */ mtlr r0 /* 80041A80 0003D6E0 38 21 00 30 */ addi r1, r1, 0x30 /* 80041A84 0003D6E4 4E 80 00 20 */ blr .global func_80041A88 func_80041A88: /* 80041A88 0003D6E8 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80041A8C 0003D6EC 7C 08 02 A6 */ mflr r0 /* 80041A90 0003D6F0 90 01 00 34 */ stw r0, 0x34(r1) /* 80041A94 0003D6F4 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80041A98 0003D6F8 7C 7F 1B 78 */ mr r31, r3 /* 80041A9C 0003D6FC 38 61 00 08 */ addi r3, r1, 8 /* 80041AA0 0003D700 7F E4 FB 78 */ mr r4, r31 /* 80041AA4 0003D704 48 00 00 B5 */ bl func_80041B58 /* 80041AA8 0003D708 C0 41 00 08 */ lfs f2, 8(r1) /* 80041AAC 0003D70C 7F E3 FB 78 */ mr r3, r31 /* 80041AB0 0003D710 C0 21 00 0C */ lfs f1, 0xc(r1) /* 80041AB4 0003D714 38 81 00 14 */ addi r4, r1, 0x14 /* 80041AB8 0003D718 C0 01 00 10 */ lfs f0, 0x10(r1) /* 80041ABC 0003D71C D0 41 00 14 */ stfs f2, 0x14(r1) /* 80041AC0 0003D720 D0 21 00 18 */ stfs f1, 0x18(r1) /* 80041AC4 0003D724 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 80041AC8 0003D728 4B FF FF 1D */ bl func_800419E4 /* 80041ACC 0003D72C 80 01 00 34 */ lwz r0, 0x34(r1) /* 80041AD0 0003D730 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80041AD4 0003D734 7C 08 03 A6 */ mtlr r0 /* 80041AD8 0003D738 38 21 00 30 */ addi r1, r1, 0x30 /* 80041ADC 0003D73C 4E 80 00 20 */ blr .global func_80041AE0 func_80041AE0: /* 80041AE0 0003D740 7C A6 2B 78 */ mr r6, r5 /* 80041AE4 0003D744 38 A3 06 E0 */ addi r5, r3, 0x6e0 /* 80041AE8 0003D748 38 E0 00 00 */ li r7, 0 /* 80041AEC 0003D74C 39 00 00 00 */ li r8, 0 /* 80041AF0 0003D750 38 63 01 B4 */ addi r3, r3, 0x1b4 /* 80041AF4 0003D754 48 00 F3 88 */ b func_80050E7C .global func_80041AF8 func_80041AF8: /* 80041AF8 0003D758 7C A6 2B 78 */ mr r6, r5 /* 80041AFC 0003D75C 38 A3 06 E4 */ addi r5, r3, 0x6e4 /* 80041B00 0003D760 38 E0 00 00 */ li r7, 0 /* 80041B04 0003D764 39 00 00 00 */ li r8, 0 /* 80041B08 0003D768 38 63 02 14 */ addi r3, r3, 0x214 /* 80041B0C 0003D76C 48 00 F3 70 */ b func_80050E7C .global func_80041B10 func_80041B10: /* 80041B10 0003D770 7C A6 2B 78 */ mr r6, r5 /* 80041B14 0003D774 38 A3 06 EC */ addi r5, r3, 0x6ec /* 80041B18 0003D778 38 E0 00 00 */ li r7, 0 /* 80041B1C 0003D77C 39 00 00 00 */ li r8, 0 /* 80041B20 0003D780 38 63 02 D4 */ addi r3, r3, 0x2d4 /* 80041B24 0003D784 48 00 F3 58 */ b func_80050E7C .global func_80041B28 func_80041B28: /* 80041B28 0003D788 7C A6 2B 78 */ mr r6, r5 /* 80041B2C 0003D78C 38 A3 06 F0 */ addi r5, r3, 0x6f0 /* 80041B30 0003D790 38 E0 00 00 */ li r7, 0 /* 80041B34 0003D794 39 00 00 00 */ li r8, 0 /* 80041B38 0003D798 38 63 03 34 */ addi r3, r3, 0x334 /* 80041B3C 0003D79C 48 00 F3 40 */ b func_80050E7C .global func_80041B40 func_80041B40: /* 80041B40 0003D7A0 7C A6 2B 78 */ mr r6, r5 /* 80041B44 0003D7A4 38 A3 06 E8 */ addi r5, r3, 0x6e8 /* 80041B48 0003D7A8 38 E0 00 00 */ li r7, 0 /* 80041B4C 0003D7AC 39 00 00 00 */ li r8, 0 /* 80041B50 0003D7B0 38 63 02 74 */ addi r3, r3, 0x274 /* 80041B54 0003D7B4 48 00 F3 28 */ b func_80050E7C .global func_80041B58 func_80041B58: /* 80041B58 0003D7B8 94 21 FF 30 */ stwu r1, -0xd0(r1) /* 80041B5C 0003D7BC 7C 08 02 A6 */ mflr r0 /* 80041B60 0003D7C0 90 01 00 D4 */ stw r0, 0xd4(r1) /* 80041B64 0003D7C4 DB E1 00 C0 */ stfd f31, 0xc0(r1) /* 80041B68 0003D7C8 F3 E1 00 C8 */ psq_st f31, 200(r1), 0, qr0 /* 80041B6C 0003D7CC DB C1 00 B0 */ stfd f30, 0xb0(r1) /* 80041B70 0003D7D0 F3 C1 00 B8 */ psq_st f30, 184(r1), 0, qr0 /* 80041B74 0003D7D4 DB A1 00 A0 */ stfd f29, 0xa0(r1) /* 80041B78 0003D7D8 F3 A1 00 A8 */ psq_st f29, 168(r1), 0, qr0 /* 80041B7C 0003D7DC DB 81 00 90 */ stfd f28, 0x90(r1) /* 80041B80 0003D7E0 F3 81 00 98 */ psq_st f28, 152(r1), 0, qr0 /* 80041B84 0003D7E4 DB 61 00 80 */ stfd f27, 0x80(r1) /* 80041B88 0003D7E8 F3 61 00 88 */ psq_st f27, 136(r1), 0, qr0 /* 80041B8C 0003D7EC FF A0 08 90 */ fmr f29, f1 /* 80041B90 0003D7F0 C0 82 82 B0 */ lfs f4, lbl_806408B0-_SDA2_BASE_(r2) /* 80041B94 0003D7F4 FF C0 10 90 */ fmr f30, f2 /* 80041B98 0003D7F8 93 E1 00 7C */ stw r31, 0x7c(r1) /* 80041B9C 0003D7FC FF E0 18 90 */ fmr f31, f3 /* 80041BA0 0003D800 C0 02 82 BC */ lfs f0, lbl_806408BC-_SDA2_BASE_(r2) /* 80041BA4 0003D804 93 C1 00 78 */ stw r30, 0x78(r1) /* 80041BA8 0003D808 93 A1 00 74 */ stw r29, 0x74(r1) /* 80041BAC 0003D80C 7C 9D 23 78 */ mr r29, r4 /* 80041BB0 0003D810 93 81 00 70 */ stw r28, 0x70(r1) /* 80041BB4 0003D814 7C 7C 1B 78 */ mr r28, r3 /* 80041BB8 0003D818 D0 81 00 60 */ stfs f4, 0x60(r1) /* 80041BBC 0003D81C D0 81 00 64 */ stfs f4, 0x64(r1) /* 80041BC0 0003D820 D0 01 00 68 */ stfs f0, 0x68(r1) /* 80041BC4 0003D824 80 04 06 D0 */ lwz r0, 0x6d0(r4) /* 80041BC8 0003D828 2C 00 00 00 */ cmpwi r0, 0 /* 80041BCC 0003D82C 41 82 00 0C */ beq lbl_80041BD8 /* 80041BD0 0003D830 3B C4 06 50 */ addi r30, r4, 0x650 /* 80041BD4 0003D834 48 00 00 08 */ b lbl_80041BDC lbl_80041BD8: /* 80041BD8 0003D838 3B C4 05 60 */ addi r30, r4, 0x560 lbl_80041BDC: /* 80041BDC 0003D83C 7F C3 F3 78 */ mr r3, r30 /* 80041BE0 0003D840 38 80 00 00 */ li r4, 0 /* 80041BE4 0003D844 4B FF EF 99 */ bl func_80040B7C /* 80041BE8 0003D848 2C 03 00 00 */ cmpwi r3, 0 /* 80041BEC 0003D84C 7C 7F 1B 78 */ mr r31, r3 /* 80041BF0 0003D850 41 82 00 18 */ beq lbl_80041C08 /* 80041BF4 0003D854 7F E4 FB 78 */ mr r4, r31 /* 80041BF8 0003D858 38 61 00 44 */ addi r3, r1, 0x44 /* 80041BFC 0003D85C 4B FF 6E 99 */ bl func_80038A94 /* 80041C00 0003D860 C3 61 00 48 */ lfs f27, 0x48(r1) /* 80041C04 0003D864 48 00 00 08 */ b lbl_80041C0C lbl_80041C08: /* 80041C08 0003D868 C3 62 82 B0 */ lfs f27, lbl_806408B0-_SDA2_BASE_(r2) lbl_80041C0C: /* 80041C0C 0003D86C FC 20 D8 90 */ fmr f1, f27 /* 80041C10 0003D870 48 18 8A A5 */ bl __fpclassifyf /* 80041C14 0003D874 2C 03 00 02 */ cmpwi r3, 2 /* 80041C18 0003D878 40 82 00 08 */ bne lbl_80041C20 /* 80041C1C 0003D87C C3 62 82 B0 */ lfs f27, lbl_806408B0-_SDA2_BASE_(r2) lbl_80041C20: /* 80041C20 0003D880 FC 20 D8 90 */ fmr f1, f27 /* 80041C24 0003D884 48 18 8A 91 */ bl __fpclassifyf /* 80041C28 0003D888 2C 03 00 01 */ cmpwi r3, 1 /* 80041C2C 0003D88C 40 82 00 08 */ bne lbl_80041C34 /* 80041C30 0003D890 C3 62 82 B0 */ lfs f27, lbl_806408B0-_SDA2_BASE_(r2) lbl_80041C34: /* 80041C34 0003D894 C0 22 82 EC */ lfs f1, lbl_806408EC-_SDA2_BASE_(r2) /* 80041C38 0003D898 C0 02 82 B0 */ lfs f0, lbl_806408B0-_SDA2_BASE_(r2) /* 80041C3C 0003D89C 48 00 00 08 */ b lbl_80041C44 lbl_80041C40: /* 80041C40 0003D8A0 EF 7B 08 2A */ fadds f27, f27, f1 lbl_80041C44: /* 80041C44 0003D8A4 FC 1B 00 40 */ fcmpo cr0, f27, f0 /* 80041C48 0003D8A8 41 80 FF F8 */ blt lbl_80041C40 /* 80041C4C 0003D8AC C0 02 82 EC */ lfs f0, lbl_806408EC-_SDA2_BASE_(r2) /* 80041C50 0003D8B0 48 00 00 08 */ b lbl_80041C58 lbl_80041C54: /* 80041C54 0003D8B4 EF 7B 00 28 */ fsubs f27, f27, f0 lbl_80041C58: /* 80041C58 0003D8B8 FC 1B 00 40 */ fcmpo cr0, f27, f0 /* 80041C5C 0003D8BC 41 81 FF F8 */ bgt lbl_80041C54 /* 80041C60 0003D8C0 C0 02 82 F0 */ lfs f0, lbl_806408F0-_SDA2_BASE_(r2) /* 80041C64 0003D8C4 FC 1B 00 40 */ fcmpo cr0, f27, f0 /* 80041C68 0003D8C8 4C 40 13 82 */ cror 2, 0, 2 /* 80041C6C 0003D8CC 41 82 00 14 */ beq lbl_80041C80 /* 80041C70 0003D8D0 C0 02 82 F4 */ lfs f0, lbl_806408F4-_SDA2_BASE_(r2) /* 80041C74 0003D8D4 FC 1B 00 40 */ fcmpo cr0, f27, f0 /* 80041C78 0003D8D8 4C 41 13 82 */ cror 2, 1, 2 /* 80041C7C 0003D8DC 40 82 00 0C */ bne lbl_80041C88 lbl_80041C80: /* 80041C80 0003D8E0 EF BB E8 28 */ fsubs f29, f27, f29 /* 80041C84 0003D8E4 48 00 00 90 */ b lbl_80041D14 lbl_80041C88: /* 80041C88 0003D8E8 C0 02 82 F8 */ lfs f0, lbl_806408F8-_SDA2_BASE_(r2) /* 80041C8C 0003D8EC FC 00 D8 40 */ fcmpo cr0, f0, f27 /* 80041C90 0003D8F0 4C 40 13 82 */ cror 2, 0, 2 /* 80041C94 0003D8F4 40 82 00 1C */ bne lbl_80041CB0 /* 80041C98 0003D8F8 C0 02 82 FC */ lfs f0, lbl_806408FC-_SDA2_BASE_(r2) /* 80041C9C 0003D8FC FC 1B 00 40 */ fcmpo cr0, f27, f0 /* 80041CA0 0003D900 4C 40 13 82 */ cror 2, 0, 2 /* 80041CA4 0003D904 40 82 00 0C */ bne lbl_80041CB0 /* 80041CA8 0003D908 EF BB E8 2A */ fadds f29, f27, f29 /* 80041CAC 0003D90C 48 00 00 68 */ b lbl_80041D14 lbl_80041CB0: /* 80041CB0 0003D910 C0 02 82 F0 */ lfs f0, lbl_806408F0-_SDA2_BASE_(r2) /* 80041CB4 0003D914 FC 00 D8 40 */ fcmpo cr0, f0, f27 /* 80041CB8 0003D918 40 80 00 38 */ bge lbl_80041CF0 /* 80041CBC 0003D91C C0 02 82 F8 */ lfs f0, lbl_806408F8-_SDA2_BASE_(r2) /* 80041CC0 0003D920 FC 1B 00 40 */ fcmpo cr0, f27, f0 /* 80041CC4 0003D924 40 80 00 2C */ bge lbl_80041CF0 /* 80041CC8 0003D928 7F A3 EB 78 */ mr r3, r29 /* 80041CCC 0003D92C 48 00 08 C5 */ bl func_80042590 /* 80041CD0 0003D930 C0 23 00 08 */ lfs f1, 8(r3) /* 80041CD4 0003D934 C0 02 82 B0 */ lfs f0, lbl_806408B0-_SDA2_BASE_(r2) /* 80041CD8 0003D938 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80041CDC 0003D93C 40 80 00 0C */ bge lbl_80041CE8 /* 80041CE0 0003D940 EF BB E8 28 */ fsubs f29, f27, f29 /* 80041CE4 0003D944 48 00 00 30 */ b lbl_80041D14 lbl_80041CE8: /* 80041CE8 0003D948 EF BB E8 2A */ fadds f29, f27, f29 /* 80041CEC 0003D94C 48 00 00 28 */ b lbl_80041D14 lbl_80041CF0: /* 80041CF0 0003D950 7F A3 EB 78 */ mr r3, r29 /* 80041CF4 0003D954 48 00 08 9D */ bl func_80042590 /* 80041CF8 0003D958 C0 23 00 08 */ lfs f1, 8(r3) /* 80041CFC 0003D95C C0 02 82 B0 */ lfs f0, lbl_806408B0-_SDA2_BASE_(r2) /* 80041D00 0003D960 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80041D04 0003D964 40 80 00 0C */ bge lbl_80041D10 /* 80041D08 0003D968 EF BB E8 2A */ fadds f29, f27, f29 /* 80041D0C 0003D96C 48 00 00 08 */ b lbl_80041D14 lbl_80041D10: /* 80041D10 0003D970 EF BB E8 28 */ fsubs f29, f27, f29 lbl_80041D14: /* 80041D14 0003D974 2C 1F 00 00 */ cmpwi r31, 0 /* 80041D18 0003D978 41 82 01 30 */ beq lbl_80041E48 /* 80041D1C 0003D97C 7F C3 F3 78 */ mr r3, r30 /* 80041D20 0003D980 38 80 00 01 */ li r4, 1 /* 80041D24 0003D984 4B FF EE 59 */ bl func_80040B7C /* 80041D28 0003D988 2C 03 00 00 */ cmpwi r3, 0 /* 80041D2C 0003D98C 7C 7E 1B 78 */ mr r30, r3 /* 80041D30 0003D990 41 82 00 0C */ beq lbl_80041D3C /* 80041D34 0003D994 7C 03 F8 40 */ cmplw r3, r31 /* 80041D38 0003D998 40 82 00 6C */ bne lbl_80041DA4 lbl_80041D3C: /* 80041D3C 0003D99C 7F E3 FB 78 */ mr r3, r31 /* 80041D40 0003D9A0 38 80 00 01 */ li r4, 1 /* 80041D44 0003D9A4 4B FF 88 A9 */ bl func_8003A5EC /* 80041D48 0003D9A8 C0 02 83 00 */ lfs f0, lbl_80640900-_SDA2_BASE_(r2) /* 80041D4C 0003D9AC FF 60 08 90 */ fmr f27, f1 /* 80041D50 0003D9B0 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80041D54 0003D9B4 40 80 00 08 */ bge lbl_80041D5C /* 80041D58 0003D9B8 FF 60 00 90 */ fmr f27, f0 lbl_80041D5C: /* 80041D5C 0003D9BC C8 22 83 08 */ lfd f1, lbl_80640908-_SDA2_BASE_(r2) /* 80041D60 0003D9C0 48 19 27 FD */ bl tan /* 80041D64 0003D9C4 FC 00 08 18 */ frsp f0, f1 /* 80041D68 0003D9C8 7F E3 FB 78 */ mr r3, r31 /* 80041D6C 0003D9CC EF 7B 00 24 */ fdivs f27, f27, f0 /* 80041D70 0003D9D0 4B FF 79 65 */ bl func_800396D4 /* 80041D74 0003D9D4 2C 03 00 01 */ cmpwi r3, 1 /* 80041D78 0003D9D8 41 81 00 14 */ bgt lbl_80041D8C /* 80041D7C 0003D9DC C0 02 83 10 */ lfs f0, lbl_80640910-_SDA2_BASE_(r2) /* 80041D80 0003D9E0 EC 00 06 F2 */ fmuls f0, f0, f27 /* 80041D84 0003D9E4 EF FF 00 32 */ fmuls f31, f31, f0 /* 80041D88 0003D9E8 48 00 00 C8 */ b lbl_80041E50 lbl_80041D8C: /* 80041D8C 0003D9EC C0 22 83 18 */ lfs f1, lbl_80640918-_SDA2_BASE_(r2) /* 80041D90 0003D9F0 C0 02 83 14 */ lfs f0, lbl_80640914-_SDA2_BASE_(r2) /* 80041D94 0003D9F4 EC 21 06 F2 */ fmuls f1, f1, f27 /* 80041D98 0003D9F8 EC 00 08 2A */ fadds f0, f0, f1 /* 80041D9C 0003D9FC EF FF 00 32 */ fmuls f31, f31, f0 /* 80041DA0 0003DA00 48 00 00 B0 */ b lbl_80041E50 lbl_80041DA4: /* 80041DA4 0003DA04 7F C4 F3 78 */ mr r4, r30 /* 80041DA8 0003DA08 38 61 00 2C */ addi r3, r1, 0x2c /* 80041DAC 0003DA0C 4B FF 6A 35 */ bl func_800387E0 /* 80041DB0 0003DA10 C3 81 00 2C */ lfs f28, 0x2c(r1) /* 80041DB4 0003DA14 7F E4 FB 78 */ mr r4, r31 /* 80041DB8 0003DA18 38 61 00 38 */ addi r3, r1, 0x38 /* 80041DBC 0003DA1C 4B FF 6A 25 */ bl func_800387E0 /* 80041DC0 0003DA20 C0 01 00 38 */ lfs f0, 0x38(r1) /* 80041DC4 0003DA24 FC 00 E0 40 */ fcmpo cr0, f0, f28 /* 80041DC8 0003DA28 40 80 00 18 */ bge lbl_80041DE0 /* 80041DCC 0003DA2C 7F E3 FB 78 */ mr r3, r31 /* 80041DD0 0003DA30 38 80 00 01 */ li r4, 1 /* 80041DD4 0003DA34 4B FF 88 19 */ bl func_8003A5EC /* 80041DD8 0003DA38 FF 80 08 90 */ fmr f28, f1 /* 80041DDC 0003DA3C 48 00 00 14 */ b lbl_80041DF0 lbl_80041DE0: /* 80041DE0 0003DA40 7F C3 F3 78 */ mr r3, r30 /* 80041DE4 0003DA44 38 80 00 01 */ li r4, 1 /* 80041DE8 0003DA48 4B FF 88 05 */ bl func_8003A5EC /* 80041DEC 0003DA4C FF 80 08 90 */ fmr f28, f1 lbl_80041DF0: /* 80041DF0 0003DA50 C8 22 83 20 */ lfd f1, lbl_80640920-_SDA2_BASE_(r2) /* 80041DF4 0003DA54 48 19 27 69 */ bl tan /* 80041DF8 0003DA58 FC 00 08 18 */ frsp f0, f1 /* 80041DFC 0003DA5C 7F C4 F3 78 */ mr r4, r30 /* 80041E00 0003DA60 38 61 00 14 */ addi r3, r1, 0x14 /* 80041E04 0003DA64 EF 7C 00 24 */ fdivs f27, f28, f0 /* 80041E08 0003DA68 4B FF 69 D9 */ bl func_800387E0 /* 80041E0C 0003DA6C C3 81 00 14 */ lfs f28, 0x14(r1) /* 80041E10 0003DA70 7F E4 FB 78 */ mr r4, r31 /* 80041E14 0003DA74 38 61 00 20 */ addi r3, r1, 0x20 /* 80041E18 0003DA78 4B FF 69 C9 */ bl func_800387E0 /* 80041E1C 0003DA7C C0 01 00 20 */ lfs f0, 0x20(r1) /* 80041E20 0003DA80 C0 22 83 18 */ lfs f1, lbl_80640918-_SDA2_BASE_(r2) /* 80041E24 0003DA84 EC 40 E0 28 */ fsubs f2, f0, f28 /* 80041E28 0003DA88 C0 02 82 B8 */ lfs f0, lbl_806408B8-_SDA2_BASE_(r2) /* 80041E2C 0003DA8C EC 21 06 F2 */ fmuls f1, f1, f27 /* 80041E30 0003DA90 FC 40 12 10 */ fabs f2, f2 /* 80041E34 0003DA94 FC 40 10 18 */ frsp f2, f2 /* 80041E38 0003DA98 EC 00 00 B2 */ fmuls f0, f0, f2 /* 80041E3C 0003DA9C EC 01 00 2A */ fadds f0, f1, f0 /* 80041E40 0003DAA0 EF FF 00 32 */ fmuls f31, f31, f0 /* 80041E44 0003DAA4 48 00 00 0C */ b lbl_80041E50 lbl_80041E48: /* 80041E48 0003DAA8 C0 02 83 28 */ lfs f0, lbl_80640928-_SDA2_BASE_(r2) /* 80041E4C 0003DAAC EF E0 07 F2 */ fmuls f31, f0, f31 lbl_80041E50: /* 80041E50 0003DAB0 FC 20 F0 50 */ fneg f1, f30 /* 80041E54 0003DAB4 C0 02 82 B0 */ lfs f0, lbl_806408B0-_SDA2_BASE_(r2) /* 80041E58 0003DAB8 D3 A1 00 0C */ stfs f29, 0xc(r1) /* 80041E5C 0003DABC 38 61 00 50 */ addi r3, r1, 0x50 /* 80041E60 0003DAC0 38 81 00 08 */ addi r4, r1, 8 /* 80041E64 0003DAC4 D0 21 00 08 */ stfs f1, 8(r1) /* 80041E68 0003DAC8 D0 01 00 10 */ stfs f0, 0x10(r1) /* 80041E6C 0003DACC 48 1E 18 55 */ bl func_802236C0 /* 80041E70 0003DAD0 38 61 00 60 */ addi r3, r1, 0x60 /* 80041E74 0003DAD4 38 81 00 50 */ addi r4, r1, 0x50 /* 80041E78 0003DAD8 48 1E 1B 95 */ bl func_80223A0C /* 80041E7C 0003DADC FC 20 F8 90 */ fmr f1, f31 /* 80041E80 0003DAE0 7F 84 E3 78 */ mr r4, r28 /* 80041E84 0003DAE4 38 61 00 60 */ addi r3, r1, 0x60 /* 80041E88 0003DAE8 48 23 AE 85 */ bl PSVECScale /* 80041E8C 0003DAEC E3 E1 00 C8 */ psq_l f31, 200(r1), 0, qr0 /* 80041E90 0003DAF0 CB E1 00 C0 */ lfd f31, 0xc0(r1) /* 80041E94 0003DAF4 E3 C1 00 B8 */ psq_l f30, 184(r1), 0, qr0 /* 80041E98 0003DAF8 CB C1 00 B0 */ lfd f30, 0xb0(r1) /* 80041E9C 0003DAFC E3 A1 00 A8 */ psq_l f29, 168(r1), 0, qr0 /* 80041EA0 0003DB00 CB A1 00 A0 */ lfd f29, 0xa0(r1) /* 80041EA4 0003DB04 E3 81 00 98 */ psq_l f28, 152(r1), 0, qr0 /* 80041EA8 0003DB08 CB 81 00 90 */ lfd f28, 0x90(r1) /* 80041EAC 0003DB0C E3 61 00 88 */ psq_l f27, 136(r1), 0, qr0 /* 80041EB0 0003DB10 CB 61 00 80 */ lfd f27, 0x80(r1) /* 80041EB4 0003DB14 83 E1 00 7C */ lwz r31, 0x7c(r1) /* 80041EB8 0003DB18 83 C1 00 78 */ lwz r30, 0x78(r1) /* 80041EBC 0003DB1C 83 A1 00 74 */ lwz r29, 0x74(r1) /* 80041EC0 0003DB20 80 01 00 D4 */ lwz r0, 0xd4(r1) /* 80041EC4 0003DB24 83 81 00 70 */ lwz r28, 0x70(r1) /* 80041EC8 0003DB28 7C 08 03 A6 */ mtlr r0 /* 80041ECC 0003DB2C 38 21 00 D0 */ addi r1, r1, 0xd0 /* 80041ED0 0003DB30 4E 80 00 20 */ blr .global func_80041ED4 func_80041ED4: /* 80041ED4 0003DB34 94 21 FF 50 */ stwu r1, -0xb0(r1) /* 80041ED8 0003DB38 7C 08 02 A6 */ mflr r0 /* 80041EDC 0003DB3C 90 01 00 B4 */ stw r0, 0xb4(r1) /* 80041EE0 0003DB40 DB E1 00 A0 */ stfd f31, 0xa0(r1) /* 80041EE4 0003DB44 F3 E1 00 A8 */ psq_st f31, 168(r1), 0, qr0 /* 80041EE8 0003DB48 DB C1 00 90 */ stfd f30, 0x90(r1) /* 80041EEC 0003DB4C F3 C1 00 98 */ psq_st f30, 152(r1), 0, qr0 /* 80041EF0 0003DB50 DB A1 00 80 */ stfd f29, 0x80(r1) /* 80041EF4 0003DB54 F3 A1 00 88 */ psq_st f29, 136(r1), 0, qr0 /* 80041EF8 0003DB58 C0 02 82 B0 */ lfs f0, lbl_806408B0-_SDA2_BASE_(r2) /* 80041EFC 0003DB5C 93 E1 00 7C */ stw r31, 0x7c(r1) /* 80041F00 0003DB60 7C 9F 23 78 */ mr r31, r4 /* 80041F04 0003DB64 93 C1 00 78 */ stw r30, 0x78(r1) /* 80041F08 0003DB68 7C 7E 1B 78 */ mr r30, r3 /* 80041F0C 0003DB6C C0 23 00 00 */ lfs f1, 0(r3) /* 80041F10 0003DB70 D0 21 00 68 */ stfs f1, 0x68(r1) /* 80041F14 0003DB74 C0 23 00 04 */ lfs f1, 4(r3) /* 80041F18 0003DB78 D0 21 00 6C */ stfs f1, 0x6c(r1) /* 80041F1C 0003DB7C C0 23 00 08 */ lfs f1, 8(r3) /* 80041F20 0003DB80 38 61 00 68 */ addi r3, r1, 0x68 /* 80041F24 0003DB84 D0 21 00 70 */ stfs f1, 0x70(r1) /* 80041F28 0003DB88 D0 01 00 6C */ stfs f0, 0x6c(r1) /* 80041F2C 0003DB8C 48 23 AE 59 */ bl PSVECMag /* 80041F30 0003DB90 C0 02 83 2C */ lfs f0, lbl_8064092C-_SDA2_BASE_(r2) /* 80041F34 0003DB94 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80041F38 0003DB98 40 81 01 40 */ ble lbl_80042078 /* 80041F3C 0003DB9C 7F E3 FB 78 */ mr r3, r31 /* 80041F40 0003DBA0 38 81 00 68 */ addi r4, r1, 0x68 /* 80041F44 0003DBA4 38 A1 00 50 */ addi r5, r1, 0x50 /* 80041F48 0003DBA8 48 23 AD A1 */ bl PSVECSubtract /* 80041F4C 0003DBAC C0 41 00 50 */ lfs f2, 0x50(r1) /* 80041F50 0003DBB0 38 61 00 5C */ addi r3, r1, 0x5c /* 80041F54 0003DBB4 C0 21 00 54 */ lfs f1, 0x54(r1) /* 80041F58 0003DBB8 7C 64 1B 78 */ mr r4, r3 /* 80041F5C 0003DBBC C0 01 00 58 */ lfs f0, 0x58(r1) /* 80041F60 0003DBC0 D0 41 00 5C */ stfs f2, 0x5c(r1) /* 80041F64 0003DBC4 D0 21 00 60 */ stfs f1, 0x60(r1) /* 80041F68 0003DBC8 D0 01 00 64 */ stfs f0, 0x64(r1) /* 80041F6C 0003DBCC 48 23 AD BD */ bl PSVECNormalize /* 80041F70 0003DBD0 38 61 00 5C */ addi r3, r1, 0x5c /* 80041F74 0003DBD4 38 81 00 68 */ addi r4, r1, 0x68 /* 80041F78 0003DBD8 48 23 AE 51 */ bl PSVECDotProduct /* 80041F7C 0003DBDC C8 42 83 30 */ lfd f2, lbl_80640930-_SDA2_BASE_(r2) /* 80041F80 0003DBE0 48 19 26 65 */ bl pow /* 80041F84 0003DBE4 FF C0 08 18 */ frsp f30, f1 /* 80041F88 0003DBE8 38 61 00 68 */ addi r3, r1, 0x68 /* 80041F8C 0003DBEC 7C 64 1B 78 */ mr r4, r3 /* 80041F90 0003DBF0 48 23 AE 39 */ bl PSVECDotProduct /* 80041F94 0003DBF4 FF E0 08 90 */ fmr f31, f1 /* 80041F98 0003DBF8 C8 22 83 38 */ lfd f1, lbl_80640938-_SDA2_BASE_(r2) /* 80041F9C 0003DBFC C8 42 83 30 */ lfd f2, lbl_80640930-_SDA2_BASE_(r2) /* 80041FA0 0003DC00 48 19 26 45 */ bl pow /* 80041FA4 0003DC04 FC 20 08 18 */ frsp f1, f1 /* 80041FA8 0003DC08 C3 A2 82 B0 */ lfs f29, lbl_806408B0-_SDA2_BASE_(r2) /* 80041FAC 0003DC0C EC 1E F8 28 */ fsubs f0, f30, f31 /* 80041FB0 0003DC10 EC 21 00 2A */ fadds f1, f1, f0 /* 80041FB4 0003DC14 FC 01 E8 40 */ fcmpo cr0, f1, f29 /* 80041FB8 0003DC18 4C 40 13 82 */ cror 2, 0, 2 /* 80041FBC 0003DC1C 40 82 00 08 */ bne lbl_80041FC4 /* 80041FC0 0003DC20 48 00 00 0C */ b lbl_80041FCC lbl_80041FC4: /* 80041FC4 0003DC24 48 19 28 71 */ bl sqrt /* 80041FC8 0003DC28 FF A0 08 18 */ frsp f29, f1 lbl_80041FCC: /* 80041FCC 0003DC2C 38 61 00 5C */ addi r3, r1, 0x5c /* 80041FD0 0003DC30 38 81 00 68 */ addi r4, r1, 0x68 /* 80041FD4 0003DC34 48 23 AD F5 */ bl PSVECDotProduct /* 80041FD8 0003DC38 C0 1E 00 00 */ lfs f0, 0(r30) /* 80041FDC 0003DC3C FC 20 08 50 */ fneg f1, f1 /* 80041FE0 0003DC40 7F E3 FB 78 */ mr r3, r31 /* 80041FE4 0003DC44 38 81 00 68 */ addi r4, r1, 0x68 /* 80041FE8 0003DC48 D0 01 00 68 */ stfs f0, 0x68(r1) /* 80041FEC 0003DC4C 38 A1 00 44 */ addi r5, r1, 0x44 /* 80041FF0 0003DC50 EF A1 E8 28 */ fsubs f29, f1, f29 /* 80041FF4 0003DC54 C0 1E 00 04 */ lfs f0, 4(r30) /* 80041FF8 0003DC58 D0 01 00 6C */ stfs f0, 0x6c(r1) /* 80041FFC 0003DC5C C0 1E 00 08 */ lfs f0, 8(r30) /* 80042000 0003DC60 D0 01 00 70 */ stfs f0, 0x70(r1) /* 80042004 0003DC64 48 23 AC E5 */ bl PSVECSubtract /* 80042008 0003DC68 C0 41 00 44 */ lfs f2, 0x44(r1) /* 8004200C 0003DC6C 38 61 00 5C */ addi r3, r1, 0x5c /* 80042010 0003DC70 C0 21 00 48 */ lfs f1, 0x48(r1) /* 80042014 0003DC74 7C 64 1B 78 */ mr r4, r3 /* 80042018 0003DC78 C0 01 00 4C */ lfs f0, 0x4c(r1) /* 8004201C 0003DC7C D0 41 00 5C */ stfs f2, 0x5c(r1) /* 80042020 0003DC80 D0 21 00 60 */ stfs f1, 0x60(r1) /* 80042024 0003DC84 D0 01 00 64 */ stfs f0, 0x64(r1) /* 80042028 0003DC88 48 23 AD 01 */ bl PSVECNormalize /* 8004202C 0003DC8C FC 20 E8 90 */ fmr f1, f29 /* 80042030 0003DC90 38 61 00 5C */ addi r3, r1, 0x5c /* 80042034 0003DC94 38 81 00 2C */ addi r4, r1, 0x2c /* 80042038 0003DC98 48 23 AC D5 */ bl PSVECScale /* 8004203C 0003DC9C 38 61 00 68 */ addi r3, r1, 0x68 /* 80042040 0003DCA0 38 81 00 2C */ addi r4, r1, 0x2c /* 80042044 0003DCA4 38 A1 00 38 */ addi r5, r1, 0x38 /* 80042048 0003DCA8 48 23 AC 7D */ bl PSVECAdd /* 8004204C 0003DCAC C0 41 00 38 */ lfs f2, 0x38(r1) /* 80042050 0003DCB0 C0 21 00 3C */ lfs f1, 0x3c(r1) /* 80042054 0003DCB4 C0 01 00 40 */ lfs f0, 0x40(r1) /* 80042058 0003DCB8 D0 41 00 68 */ stfs f2, 0x68(r1) /* 8004205C 0003DCBC D0 21 00 6C */ stfs f1, 0x6c(r1) /* 80042060 0003DCC0 D0 01 00 70 */ stfs f0, 0x70(r1) /* 80042064 0003DCC4 D0 5E 00 00 */ stfs f2, 0(r30) /* 80042068 0003DCC8 C0 01 00 6C */ lfs f0, 0x6c(r1) /* 8004206C 0003DCCC D0 1E 00 04 */ stfs f0, 4(r30) /* 80042070 0003DCD0 C0 01 00 70 */ lfs f0, 0x70(r1) /* 80042074 0003DCD4 D0 1E 00 08 */ stfs f0, 8(r30) lbl_80042078: /* 80042078 0003DCD8 C0 3E 00 00 */ lfs f1, 0(r30) /* 8004207C 0003DCDC C0 02 83 40 */ lfs f0, lbl_80640940-_SDA2_BASE_(r2) /* 80042080 0003DCE0 D0 21 00 68 */ stfs f1, 0x68(r1) /* 80042084 0003DCE4 C0 5E 00 04 */ lfs f2, 4(r30) /* 80042088 0003DCE8 D0 41 00 6C */ stfs f2, 0x6c(r1) /* 8004208C 0003DCEC FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80042090 0003DCF0 C0 3E 00 08 */ lfs f1, 8(r30) /* 80042094 0003DCF4 D0 21 00 70 */ stfs f1, 0x70(r1) /* 80042098 0003DCF8 40 81 00 94 */ ble lbl_8004212C /* 8004209C 0003DCFC EF A0 10 24 */ fdivs f29, f0, f2 /* 800420A0 0003DD00 7F E4 FB 78 */ mr r4, r31 /* 800420A4 0003DD04 38 61 00 68 */ addi r3, r1, 0x68 /* 800420A8 0003DD08 38 A1 00 20 */ addi r5, r1, 0x20 /* 800420AC 0003DD0C 48 23 AC 3D */ bl PSVECSubtract /* 800420B0 0003DD10 C0 41 00 20 */ lfs f2, 0x20(r1) /* 800420B4 0003DD14 38 61 00 5C */ addi r3, r1, 0x5c /* 800420B8 0003DD18 C0 21 00 24 */ lfs f1, 0x24(r1) /* 800420BC 0003DD1C C0 01 00 28 */ lfs f0, 0x28(r1) /* 800420C0 0003DD20 D0 41 00 5C */ stfs f2, 0x5c(r1) /* 800420C4 0003DD24 D0 21 00 60 */ stfs f1, 0x60(r1) /* 800420C8 0003DD28 D0 01 00 64 */ stfs f0, 0x64(r1) /* 800420CC 0003DD2C 48 23 AC B9 */ bl PSVECMag /* 800420D0 0003DD30 FF E0 08 90 */ fmr f31, f1 /* 800420D4 0003DD34 38 61 00 5C */ addi r3, r1, 0x5c /* 800420D8 0003DD38 7C 64 1B 78 */ mr r4, r3 /* 800420DC 0003DD3C 48 23 AC 4D */ bl PSVECNormalize /* 800420E0 0003DD40 EC 3F 07 72 */ fmuls f1, f31, f29 /* 800420E4 0003DD44 38 61 00 5C */ addi r3, r1, 0x5c /* 800420E8 0003DD48 38 81 00 08 */ addi r4, r1, 8 /* 800420EC 0003DD4C 48 23 AC 21 */ bl PSVECScale /* 800420F0 0003DD50 7F E3 FB 78 */ mr r3, r31 /* 800420F4 0003DD54 38 81 00 08 */ addi r4, r1, 8 /* 800420F8 0003DD58 38 A1 00 14 */ addi r5, r1, 0x14 /* 800420FC 0003DD5C 48 23 AB C9 */ bl PSVECAdd /* 80042100 0003DD60 C0 41 00 14 */ lfs f2, 0x14(r1) /* 80042104 0003DD64 C0 21 00 18 */ lfs f1, 0x18(r1) /* 80042108 0003DD68 C0 01 00 1C */ lfs f0, 0x1c(r1) /* 8004210C 0003DD6C D0 41 00 68 */ stfs f2, 0x68(r1) /* 80042110 0003DD70 D0 21 00 6C */ stfs f1, 0x6c(r1) /* 80042114 0003DD74 D0 01 00 70 */ stfs f0, 0x70(r1) /* 80042118 0003DD78 D0 5E 00 00 */ stfs f2, 0(r30) /* 8004211C 0003DD7C C0 01 00 6C */ lfs f0, 0x6c(r1) /* 80042120 0003DD80 D0 1E 00 04 */ stfs f0, 4(r30) /* 80042124 0003DD84 C0 01 00 70 */ lfs f0, 0x70(r1) /* 80042128 0003DD88 D0 1E 00 08 */ stfs f0, 8(r30) lbl_8004212C: /* 8004212C 0003DD8C E3 E1 00 A8 */ psq_l f31, 168(r1), 0, qr0 /* 80042130 0003DD90 CB E1 00 A0 */ lfd f31, 0xa0(r1) /* 80042134 0003DD94 E3 C1 00 98 */ psq_l f30, 152(r1), 0, qr0 /* 80042138 0003DD98 CB C1 00 90 */ lfd f30, 0x90(r1) /* 8004213C 0003DD9C E3 A1 00 88 */ psq_l f29, 136(r1), 0, qr0 /* 80042140 0003DDA0 CB A1 00 80 */ lfd f29, 0x80(r1) /* 80042144 0003DDA4 83 E1 00 7C */ lwz r31, 0x7c(r1) /* 80042148 0003DDA8 80 01 00 B4 */ lwz r0, 0xb4(r1) /* 8004214C 0003DDAC 83 C1 00 78 */ lwz r30, 0x78(r1) /* 80042150 0003DDB0 7C 08 03 A6 */ mtlr r0 /* 80042154 0003DDB4 38 21 00 B0 */ addi r1, r1, 0xb0 /* 80042158 0003DDB8 4E 80 00 20 */ blr .global func_8004215C func_8004215C: /* 8004215C 0003DDBC 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80042160 0003DDC0 7C 08 02 A6 */ mflr r0 /* 80042164 0003DDC4 90 01 00 44 */ stw r0, 0x44(r1) /* 80042168 0003DDC8 93 E1 00 3C */ stw r31, 0x3c(r1) /* 8004216C 0003DDCC 7C 7F 1B 78 */ mr r31, r3 /* 80042170 0003DDD0 38 61 00 08 */ addi r3, r1, 8 /* 80042174 0003DDD4 7F E4 FB 78 */ mr r4, r31 /* 80042178 0003DDD8 4B FF F9 E1 */ bl func_80041B58 /* 8004217C 0003DDDC C0 41 00 08 */ lfs f2, 8(r1) /* 80042180 0003DDE0 7F E3 FB 78 */ mr r3, r31 /* 80042184 0003DDE4 C0 21 00 0C */ lfs f1, 0xc(r1) /* 80042188 0003DDE8 C0 01 00 10 */ lfs f0, 0x10(r1) /* 8004218C 0003DDEC D0 41 00 20 */ stfs f2, 0x20(r1) /* 80042190 0003DDF0 D0 21 00 24 */ stfs f1, 0x24(r1) /* 80042194 0003DDF4 D0 01 00 28 */ stfs f0, 0x28(r1) /* 80042198 0003DDF8 48 00 03 F9 */ bl func_80042590 /* 8004219C 0003DDFC C0 03 00 00 */ lfs f0, 0(r3) /* 800421A0 0003DE00 38 81 00 14 */ addi r4, r1, 0x14 /* 800421A4 0003DE04 D0 01 00 14 */ stfs f0, 0x14(r1) /* 800421A8 0003DE08 C0 03 00 04 */ lfs f0, 4(r3) /* 800421AC 0003DE0C D0 01 00 18 */ stfs f0, 0x18(r1) /* 800421B0 0003DE10 C0 03 00 08 */ lfs f0, 8(r3) /* 800421B4 0003DE14 38 61 00 20 */ addi r3, r1, 0x20 /* 800421B8 0003DE18 7C 65 1B 78 */ mr r5, r3 /* 800421BC 0003DE1C D0 01 00 1C */ stfs f0, 0x1c(r1) /* 800421C0 0003DE20 48 23 AB 05 */ bl PSVECAdd /* 800421C4 0003DE24 38 61 00 20 */ addi r3, r1, 0x20 /* 800421C8 0003DE28 38 81 00 14 */ addi r4, r1, 0x14 /* 800421CC 0003DE2C 4B FF FD 09 */ bl func_80041ED4 /* 800421D0 0003DE30 7F E3 FB 78 */ mr r3, r31 /* 800421D4 0003DE34 38 81 00 20 */ addi r4, r1, 0x20 /* 800421D8 0003DE38 4B FF EE D5 */ bl func_800410AC /* 800421DC 0003DE3C 80 01 00 44 */ lwz r0, 0x44(r1) /* 800421E0 0003DE40 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 800421E4 0003DE44 7C 08 03 A6 */ mtlr r0 /* 800421E8 0003DE48 38 21 00 40 */ addi r1, r1, 0x40 /* 800421EC 0003DE4C 4E 80 00 20 */ blr .global func_800421F0 func_800421F0: /* 800421F0 0003DE50 94 21 FF 90 */ stwu r1, -0x70(r1) /* 800421F4 0003DE54 7C 08 02 A6 */ mflr r0 /* 800421F8 0003DE58 90 01 00 74 */ stw r0, 0x74(r1) /* 800421FC 0003DE5C DB E1 00 60 */ stfd f31, 0x60(r1) /* 80042200 0003DE60 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0 /* 80042204 0003DE64 DB C1 00 50 */ stfd f30, 0x50(r1) /* 80042208 0003DE68 F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0 /* 8004220C 0003DE6C DB A1 00 40 */ stfd f29, 0x40(r1) /* 80042210 0003DE70 F3 A1 00 48 */ psq_st f29, 72(r1), 0, qr0 /* 80042214 0003DE74 FF A0 08 90 */ fmr f29, f1 /* 80042218 0003DE78 FF C0 10 90 */ fmr f30, f2 /* 8004221C 0003DE7C 93 E1 00 3C */ stw r31, 0x3c(r1) /* 80042220 0003DE80 FF E0 18 90 */ fmr f31, f3 /* 80042224 0003DE84 7C 7F 1B 78 */ mr r31, r3 /* 80042228 0003DE88 80 03 06 D0 */ lwz r0, 0x6d0(r3) /* 8004222C 0003DE8C 2C 00 00 00 */ cmpwi r0, 0 /* 80042230 0003DE90 41 82 00 0C */ beq lbl_8004223C /* 80042234 0003DE94 38 63 06 50 */ addi r3, r3, 0x650 /* 80042238 0003DE98 48 00 00 08 */ b lbl_80042240 lbl_8004223C: /* 8004223C 0003DE9C 38 63 05 60 */ addi r3, r3, 0x560 lbl_80042240: /* 80042240 0003DEA0 38 80 00 00 */ li r4, 0 /* 80042244 0003DEA4 4B FF E9 39 */ bl func_80040B7C /* 80042248 0003DEA8 2C 03 00 00 */ cmpwi r3, 0 /* 8004224C 0003DEAC 41 82 00 28 */ beq lbl_80042274 /* 80042250 0003DEB0 80 03 00 00 */ lwz r0, 0(r3) /* 80042254 0003DEB4 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13 /* 80042258 0003DEB8 41 82 00 1C */ beq lbl_80042274 /* 8004225C 0003DEBC FC 20 E8 90 */ fmr f1, f29 /* 80042260 0003DEC0 C0 42 83 44 */ lfs f2, lbl_80640944-_SDA2_BASE_(r2) /* 80042264 0003DEC4 FC 60 F8 90 */ fmr f3, f31 /* 80042268 0003DEC8 7F E3 FB 78 */ mr r3, r31 /* 8004226C 0003DECC 4B FF FE F1 */ bl func_8004215C /* 80042270 0003DED0 48 00 00 80 */ b lbl_800422F0 lbl_80042274: /* 80042274 0003DED4 FC 20 E8 90 */ fmr f1, f29 /* 80042278 0003DED8 C0 42 82 B0 */ lfs f2, lbl_806408B0-_SDA2_BASE_(r2) /* 8004227C 0003DEDC FC 60 F8 90 */ fmr f3, f31 /* 80042280 0003DEE0 7F E4 FB 78 */ mr r4, r31 /* 80042284 0003DEE4 38 61 00 08 */ addi r3, r1, 8 /* 80042288 0003DEE8 4B FF F8 D1 */ bl func_80041B58 /* 8004228C 0003DEEC C0 41 00 08 */ lfs f2, 8(r1) /* 80042290 0003DEF0 7F E3 FB 78 */ mr r3, r31 /* 80042294 0003DEF4 C0 21 00 0C */ lfs f1, 0xc(r1) /* 80042298 0003DEF8 C0 01 00 10 */ lfs f0, 0x10(r1) /* 8004229C 0003DEFC D0 41 00 20 */ stfs f2, 0x20(r1) /* 800422A0 0003DF00 D0 21 00 24 */ stfs f1, 0x24(r1) /* 800422A4 0003DF04 D0 01 00 28 */ stfs f0, 0x28(r1) /* 800422A8 0003DF08 48 00 02 E9 */ bl func_80042590 /* 800422AC 0003DF0C C0 03 00 00 */ lfs f0, 0(r3) /* 800422B0 0003DF10 38 81 00 14 */ addi r4, r1, 0x14 /* 800422B4 0003DF14 D0 01 00 14 */ stfs f0, 0x14(r1) /* 800422B8 0003DF18 C0 03 00 04 */ lfs f0, 4(r3) /* 800422BC 0003DF1C D0 01 00 18 */ stfs f0, 0x18(r1) /* 800422C0 0003DF20 C0 03 00 08 */ lfs f0, 8(r3) /* 800422C4 0003DF24 38 61 00 20 */ addi r3, r1, 0x20 /* 800422C8 0003DF28 7C 65 1B 78 */ mr r5, r3 /* 800422CC 0003DF2C D0 01 00 1C */ stfs f0, 0x1c(r1) /* 800422D0 0003DF30 48 23 A9 F5 */ bl PSVECAdd /* 800422D4 0003DF34 D3 C1 00 24 */ stfs f30, 0x24(r1) /* 800422D8 0003DF38 38 61 00 20 */ addi r3, r1, 0x20 /* 800422DC 0003DF3C 38 81 00 14 */ addi r4, r1, 0x14 /* 800422E0 0003DF40 4B FF FB F5 */ bl func_80041ED4 /* 800422E4 0003DF44 7F E3 FB 78 */ mr r3, r31 /* 800422E8 0003DF48 38 81 00 20 */ addi r4, r1, 0x20 /* 800422EC 0003DF4C 4B FF ED C1 */ bl func_800410AC lbl_800422F0: /* 800422F0 0003DF50 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0 /* 800422F4 0003DF54 CB E1 00 60 */ lfd f31, 0x60(r1) /* 800422F8 0003DF58 E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0 /* 800422FC 0003DF5C CB C1 00 50 */ lfd f30, 0x50(r1) /* 80042300 0003DF60 E3 A1 00 48 */ psq_l f29, 72(r1), 0, qr0 /* 80042304 0003DF64 CB A1 00 40 */ lfd f29, 0x40(r1) /* 80042308 0003DF68 80 01 00 74 */ lwz r0, 0x74(r1) /* 8004230C 0003DF6C 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 80042310 0003DF70 7C 08 03 A6 */ mtlr r0 /* 80042314 0003DF74 38 21 00 70 */ addi r1, r1, 0x70 /* 80042318 0003DF78 4E 80 00 20 */ blr .global func_8004231C func_8004231C: /* 8004231C 0003DF7C 94 21 FF B0 */ stwu r1, -0x50(r1) /* 80042320 0003DF80 7C 08 02 A6 */ mflr r0 /* 80042324 0003DF84 90 01 00 54 */ stw r0, 0x54(r1) /* 80042328 0003DF88 DB E1 00 40 */ stfd f31, 0x40(r1) /* 8004232C 0003DF8C F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 /* 80042330 0003DF90 FF E0 20 90 */ fmr f31, f4 /* 80042334 0003DF94 93 E1 00 3C */ stw r31, 0x3c(r1) /* 80042338 0003DF98 7C 9F 23 78 */ mr r31, r4 /* 8004233C 0003DF9C 93 C1 00 38 */ stw r30, 0x38(r1) /* 80042340 0003DFA0 7C 7E 1B 78 */ mr r30, r3 /* 80042344 0003DFA4 38 61 00 08 */ addi r3, r1, 8 /* 80042348 0003DFA8 7F C4 F3 78 */ mr r4, r30 /* 8004234C 0003DFAC 4B FF F8 0D */ bl func_80041B58 /* 80042350 0003DFB0 C0 41 00 08 */ lfs f2, 8(r1) /* 80042354 0003DFB4 7F C3 F3 78 */ mr r3, r30 /* 80042358 0003DFB8 C0 21 00 0C */ lfs f1, 0xc(r1) /* 8004235C 0003DFBC C0 01 00 10 */ lfs f0, 0x10(r1) /* 80042360 0003DFC0 D0 41 00 20 */ stfs f2, 0x20(r1) /* 80042364 0003DFC4 D0 21 00 24 */ stfs f1, 0x24(r1) /* 80042368 0003DFC8 D0 01 00 28 */ stfs f0, 0x28(r1) /* 8004236C 0003DFCC 48 00 02 25 */ bl func_80042590 /* 80042370 0003DFD0 C0 03 00 00 */ lfs f0, 0(r3) /* 80042374 0003DFD4 38 81 00 14 */ addi r4, r1, 0x14 /* 80042378 0003DFD8 D0 01 00 14 */ stfs f0, 0x14(r1) /* 8004237C 0003DFDC C0 03 00 04 */ lfs f0, 4(r3) /* 80042380 0003DFE0 D0 01 00 18 */ stfs f0, 0x18(r1) /* 80042384 0003DFE4 C0 03 00 08 */ lfs f0, 8(r3) /* 80042388 0003DFE8 38 61 00 20 */ addi r3, r1, 0x20 /* 8004238C 0003DFEC 7C 65 1B 78 */ mr r5, r3 /* 80042390 0003DFF0 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 80042394 0003DFF4 48 23 A9 31 */ bl PSVECAdd /* 80042398 0003DFF8 38 61 00 20 */ addi r3, r1, 0x20 /* 8004239C 0003DFFC 38 81 00 14 */ addi r4, r1, 0x14 /* 800423A0 0003E000 4B FF FB 35 */ bl func_80041ED4 /* 800423A4 0003E004 FC 20 F8 90 */ fmr f1, f31 /* 800423A8 0003E008 7F C3 F3 78 */ mr r3, r30 /* 800423AC 0003E00C 7F E5 FB 78 */ mr r5, r31 /* 800423B0 0003E010 38 81 00 20 */ addi r4, r1, 0x20 /* 800423B4 0003E014 48 00 04 89 */ bl func_8004283C /* 800423B8 0003E018 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 /* 800423BC 0003E01C 80 01 00 54 */ lwz r0, 0x54(r1) /* 800423C0 0003E020 CB E1 00 40 */ lfd f31, 0x40(r1) /* 800423C4 0003E024 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 800423C8 0003E028 83 C1 00 38 */ lwz r30, 0x38(r1) /* 800423CC 0003E02C 7C 08 03 A6 */ mtlr r0 /* 800423D0 0003E030 38 21 00 50 */ addi r1, r1, 0x50 /* 800423D4 0003E034 4E 80 00 20 */ blr .global func_800423D8 func_800423D8: /* 800423D8 0003E038 94 21 FF 80 */ stwu r1, -0x80(r1) /* 800423DC 0003E03C 7C 08 02 A6 */ mflr r0 /* 800423E0 0003E040 90 01 00 84 */ stw r0, 0x84(r1) /* 800423E4 0003E044 DB E1 00 70 */ stfd f31, 0x70(r1) /* 800423E8 0003E048 F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0 /* 800423EC 0003E04C DB C1 00 60 */ stfd f30, 0x60(r1) /* 800423F0 0003E050 F3 C1 00 68 */ psq_st f30, 104(r1), 0, qr0 /* 800423F4 0003E054 DB A1 00 50 */ stfd f29, 0x50(r1) /* 800423F8 0003E058 F3 A1 00 58 */ psq_st f29, 88(r1), 0, qr0 /* 800423FC 0003E05C DB 81 00 40 */ stfd f28, 0x40(r1) /* 80042400 0003E060 F3 81 00 48 */ psq_st f28, 72(r1), 0, qr0 /* 80042404 0003E064 FF 80 08 90 */ fmr f28, f1 /* 80042408 0003E068 FF A0 10 90 */ fmr f29, f2 /* 8004240C 0003E06C 93 E1 00 3C */ stw r31, 0x3c(r1) /* 80042410 0003E070 FF C0 18 90 */ fmr f30, f3 /* 80042414 0003E074 FF E0 20 90 */ fmr f31, f4 /* 80042418 0003E078 7C 9F 23 78 */ mr r31, r4 /* 8004241C 0003E07C 93 C1 00 38 */ stw r30, 0x38(r1) /* 80042420 0003E080 7C 7E 1B 78 */ mr r30, r3 /* 80042424 0003E084 80 03 06 D0 */ lwz r0, 0x6d0(r3) /* 80042428 0003E088 2C 00 00 00 */ cmpwi r0, 0 /* 8004242C 0003E08C 41 82 00 0C */ beq lbl_80042438 /* 80042430 0003E090 38 63 06 50 */ addi r3, r3, 0x650 /* 80042434 0003E094 48 00 00 08 */ b lbl_8004243C lbl_80042438: /* 80042438 0003E098 38 63 05 60 */ addi r3, r3, 0x560 lbl_8004243C: /* 8004243C 0003E09C 38 80 00 00 */ li r4, 0 /* 80042440 0003E0A0 4B FF E7 3D */ bl func_80040B7C /* 80042444 0003E0A4 2C 03 00 00 */ cmpwi r3, 0 /* 80042448 0003E0A8 41 82 00 30 */ beq lbl_80042478 /* 8004244C 0003E0AC 80 03 00 00 */ lwz r0, 0(r3) /* 80042450 0003E0B0 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13 /* 80042454 0003E0B4 41 82 00 24 */ beq lbl_80042478 /* 80042458 0003E0B8 FC 20 E0 90 */ fmr f1, f28 /* 8004245C 0003E0BC C0 42 83 44 */ lfs f2, lbl_80640944-_SDA2_BASE_(r2) /* 80042460 0003E0C0 FC 60 F0 90 */ fmr f3, f30 /* 80042464 0003E0C4 7F C3 F3 78 */ mr r3, r30 /* 80042468 0003E0C8 FC 80 F8 90 */ fmr f4, f31 /* 8004246C 0003E0CC 7F E4 FB 78 */ mr r4, r31 /* 80042470 0003E0D0 4B FF FE AD */ bl func_8004231C /* 80042474 0003E0D4 48 00 00 88 */ b lbl_800424FC lbl_80042478: /* 80042478 0003E0D8 FC 20 E0 90 */ fmr f1, f28 /* 8004247C 0003E0DC C0 42 82 B0 */ lfs f2, lbl_806408B0-_SDA2_BASE_(r2) /* 80042480 0003E0E0 FC 60 F0 90 */ fmr f3, f30 /* 80042484 0003E0E4 7F C4 F3 78 */ mr r4, r30 /* 80042488 0003E0E8 38 61 00 08 */ addi r3, r1, 8 /* 8004248C 0003E0EC 4B FF F6 CD */ bl func_80041B58 /* 80042490 0003E0F0 C0 41 00 08 */ lfs f2, 8(r1) /* 80042494 0003E0F4 7F C3 F3 78 */ mr r3, r30 /* 80042498 0003E0F8 C0 21 00 0C */ lfs f1, 0xc(r1) /* 8004249C 0003E0FC C0 01 00 10 */ lfs f0, 0x10(r1) /* 800424A0 0003E100 D0 41 00 20 */ stfs f2, 0x20(r1) /* 800424A4 0003E104 D0 21 00 24 */ stfs f1, 0x24(r1) /* 800424A8 0003E108 D0 01 00 28 */ stfs f0, 0x28(r1) /* 800424AC 0003E10C 48 00 00 E5 */ bl func_80042590 /* 800424B0 0003E110 C0 03 00 00 */ lfs f0, 0(r3) /* 800424B4 0003E114 38 81 00 14 */ addi r4, r1, 0x14 /* 800424B8 0003E118 D0 01 00 14 */ stfs f0, 0x14(r1) /* 800424BC 0003E11C C0 03 00 04 */ lfs f0, 4(r3) /* 800424C0 0003E120 D0 01 00 18 */ stfs f0, 0x18(r1) /* 800424C4 0003E124 C0 03 00 08 */ lfs f0, 8(r3) /* 800424C8 0003E128 38 61 00 20 */ addi r3, r1, 0x20 /* 800424CC 0003E12C 7C 65 1B 78 */ mr r5, r3 /* 800424D0 0003E130 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 800424D4 0003E134 48 23 A7 F1 */ bl PSVECAdd /* 800424D8 0003E138 D3 A1 00 24 */ stfs f29, 0x24(r1) /* 800424DC 0003E13C 38 61 00 20 */ addi r3, r1, 0x20 /* 800424E0 0003E140 38 81 00 14 */ addi r4, r1, 0x14 /* 800424E4 0003E144 4B FF F9 F1 */ bl func_80041ED4 /* 800424E8 0003E148 FC 20 F8 90 */ fmr f1, f31 /* 800424EC 0003E14C 7F C3 F3 78 */ mr r3, r30 /* 800424F0 0003E150 7F E5 FB 78 */ mr r5, r31 /* 800424F4 0003E154 38 81 00 20 */ addi r4, r1, 0x20 /* 800424F8 0003E158 48 00 03 45 */ bl func_8004283C lbl_800424FC: /* 800424FC 0003E15C E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0 /* 80042500 0003E160 CB E1 00 70 */ lfd f31, 0x70(r1) /* 80042504 0003E164 E3 C1 00 68 */ psq_l f30, 104(r1), 0, qr0 /* 80042508 0003E168 CB C1 00 60 */ lfd f30, 0x60(r1) /* 8004250C 0003E16C E3 A1 00 58 */ psq_l f29, 88(r1), 0, qr0 /* 80042510 0003E170 CB A1 00 50 */ lfd f29, 0x50(r1) /* 80042514 0003E174 E3 81 00 48 */ psq_l f28, 72(r1), 0, qr0 /* 80042518 0003E178 CB 81 00 40 */ lfd f28, 0x40(r1) /* 8004251C 0003E17C 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 80042520 0003E180 80 01 00 84 */ lwz r0, 0x84(r1) /* 80042524 0003E184 83 C1 00 38 */ lwz r30, 0x38(r1) /* 80042528 0003E188 7C 08 03 A6 */ mtlr r0 /* 8004252C 0003E18C 38 21 00 80 */ addi r1, r1, 0x80 /* 80042530 0003E190 4E 80 00 20 */ blr .global func_80042534 func_80042534: /* 80042534 0003E194 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80042538 0003E198 7C 08 02 A6 */ mflr r0 /* 8004253C 0003E19C 90 01 00 14 */ stw r0, 0x14(r1) /* 80042540 0003E1A0 93 E1 00 0C */ stw r31, 0xc(r1) /* 80042544 0003E1A4 7C 7F 1B 78 */ mr r31, r3 /* 80042548 0003E1A8 38 63 05 60 */ addi r3, r3, 0x560 /* 8004254C 0003E1AC 4B FF E6 99 */ bl func_80040BE4 /* 80042550 0003E1B0 38 7F 00 B8 */ addi r3, r31, 0xb8 /* 80042554 0003E1B4 48 00 DE 35 */ bl func_80050388 /* 80042558 0003E1B8 38 7F 00 DC */ addi r3, r31, 0xdc /* 8004255C 0003E1BC 48 00 DE 2D */ bl func_80050388 /* 80042560 0003E1C0 38 7F 01 00 */ addi r3, r31, 0x100 /* 80042564 0003E1C4 48 00 DE 25 */ bl func_80050388 /* 80042568 0003E1C8 80 7F 06 D0 */ lwz r3, 0x6d0(r31) /* 8004256C 0003E1CC 38 00 00 01 */ li r0, 1 /* 80042570 0003E1D0 98 1F 00 01 */ stb r0, 1(r31) /* 80042574 0003E1D4 54 60 00 3A */ rlwinm r0, r3, 0, 0, 0x1d /* 80042578 0003E1D8 90 1F 06 D0 */ stw r0, 0x6d0(r31) /* 8004257C 0003E1DC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80042580 0003E1E0 80 01 00 14 */ lwz r0, 0x14(r1) /* 80042584 0003E1E4 7C 08 03 A6 */ mtlr r0 /* 80042588 0003E1E8 38 21 00 10 */ addi r1, r1, 0x10 /* 8004258C 0003E1EC 4E 80 00 20 */ blr .global func_80042590 func_80042590: /* 80042590 0003E1F0 80 03 06 D0 */ lwz r0, 0x6d0(r3) /* 80042594 0003E1F4 2C 00 00 00 */ cmpwi r0, 0 /* 80042598 0003E1F8 41 82 00 0C */ beq lbl_800425A4 /* 8004259C 0003E1FC 38 63 05 EC */ addi r3, r3, 0x5ec /* 800425A0 0003E200 4E 80 00 20 */ blr lbl_800425A4: /* 800425A4 0003E204 38 63 05 74 */ addi r3, r3, 0x574 /* 800425A8 0003E208 4E 80 00 20 */ blr .global func_800425AC func_800425AC: /* 800425AC 0003E20C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800425B0 0003E210 7C 08 02 A6 */ mflr r0 /* 800425B4 0003E214 90 01 00 14 */ stw r0, 0x14(r1) /* 800425B8 0003E218 93 E1 00 0C */ stw r31, 0xc(r1) /* 800425BC 0003E21C 7C 7F 1B 78 */ mr r31, r3 /* 800425C0 0003E220 38 63 05 60 */ addi r3, r3, 0x560 /* 800425C4 0003E224 4B FF E5 1D */ bl func_80040AE0 /* 800425C8 0003E228 38 7F 00 B8 */ addi r3, r31, 0xb8 /* 800425CC 0003E22C 48 00 DD BD */ bl func_80050388 /* 800425D0 0003E230 38 7F 00 DC */ addi r3, r31, 0xdc /* 800425D4 0003E234 48 00 DD B5 */ bl func_80050388 /* 800425D8 0003E238 38 7F 01 00 */ addi r3, r31, 0x100 /* 800425DC 0003E23C 48 00 DD AD */ bl func_80050388 /* 800425E0 0003E240 38 00 00 01 */ li r0, 1 /* 800425E4 0003E244 98 1F 00 01 */ stb r0, 1(r31) /* 800425E8 0003E248 83 E1 00 0C */ lwz r31, 0xc(r1) /* 800425EC 0003E24C 80 01 00 14 */ lwz r0, 0x14(r1) /* 800425F0 0003E250 7C 08 03 A6 */ mtlr r0 /* 800425F4 0003E254 38 21 00 10 */ addi r1, r1, 0x10 /* 800425F8 0003E258 4E 80 00 20 */ blr .global func_800425FC func_800425FC: /* 800425FC 0003E25C 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80042600 0003E260 7C 08 02 A6 */ mflr r0 /* 80042604 0003E264 90 01 00 44 */ stw r0, 0x44(r1) /* 80042608 0003E268 DB E1 00 30 */ stfd f31, 0x30(r1) /* 8004260C 0003E26C F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0 /* 80042610 0003E270 DB C1 00 20 */ stfd f30, 0x20(r1) /* 80042614 0003E274 F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0 /* 80042618 0003E278 FF C0 08 90 */ fmr f30, f1 /* 8004261C 0003E27C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80042620 0003E280 7C 7F 1B 78 */ mr r31, r3 /* 80042624 0003E284 38 63 05 60 */ addi r3, r3, 0x560 /* 80042628 0003E288 4B FF E1 89 */ bl func_800407B0 /* 8004262C 0003E28C FF E0 08 90 */ fmr f31, f1 /* 80042630 0003E290 D3 DF 06 C8 */ stfs f30, 0x6c8(r31) /* 80042634 0003E294 38 7F 04 E8 */ addi r3, r31, 0x4e8 /* 80042638 0003E298 38 80 00 01 */ li r4, 1 /* 8004263C 0003E29C 4B FF DF 4D */ bl func_80040588 /* 80042640 0003E2A0 C0 1F 04 FC */ lfs f0, 0x4fc(r31) /* 80042644 0003E2A4 38 61 00 08 */ addi r3, r1, 8 /* 80042648 0003E2A8 7C 65 1B 78 */ mr r5, r3 /* 8004264C 0003E2AC 38 9F 05 74 */ addi r4, r31, 0x574 /* 80042650 0003E2B0 D0 01 00 08 */ stfs f0, 8(r1) /* 80042654 0003E2B4 C0 1F 05 00 */ lfs f0, 0x500(r31) /* 80042658 0003E2B8 D0 01 00 0C */ stfs f0, 0xc(r1) /* 8004265C 0003E2BC C0 1F 05 04 */ lfs f0, 0x504(r31) /* 80042660 0003E2C0 D0 01 00 10 */ stfs f0, 0x10(r1) /* 80042664 0003E2C4 48 23 A6 85 */ bl PSVECSubtract /* 80042668 0003E2C8 38 61 00 08 */ addi r3, r1, 8 /* 8004266C 0003E2CC 7C 64 1B 78 */ mr r4, r3 /* 80042670 0003E2D0 48 23 A6 B9 */ bl PSVECNormalize /* 80042674 0003E2D4 EC 3E F8 2A */ fadds f1, f30, f31 /* 80042678 0003E2D8 38 61 00 08 */ addi r3, r1, 8 /* 8004267C 0003E2DC 7C 64 1B 78 */ mr r4, r3 /* 80042680 0003E2E0 48 23 A6 8D */ bl PSVECScale /* 80042684 0003E2E4 38 61 00 08 */ addi r3, r1, 8 /* 80042688 0003E2E8 38 9F 05 74 */ addi r4, r31, 0x574 /* 8004268C 0003E2EC 7C 65 1B 78 */ mr r5, r3 /* 80042690 0003E2F0 48 23 A6 35 */ bl PSVECAdd /* 80042694 0003E2F4 38 7F 04 E8 */ addi r3, r31, 0x4e8 /* 80042698 0003E2F8 38 81 00 08 */ addi r4, r1, 8 /* 8004269C 0003E2FC 4B FF E5 49 */ bl func_80040BE4 /* 800426A0 0003E300 38 00 00 01 */ li r0, 1 /* 800426A4 0003E304 98 1F 00 01 */ stb r0, 1(r31) /* 800426A8 0003E308 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0 /* 800426AC 0003E30C CB E1 00 30 */ lfd f31, 0x30(r1) /* 800426B0 0003E310 E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0 /* 800426B4 0003E314 CB C1 00 20 */ lfd f30, 0x20(r1) /* 800426B8 0003E318 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 800426BC 0003E31C 80 01 00 44 */ lwz r0, 0x44(r1) /* 800426C0 0003E320 7C 08 03 A6 */ mtlr r0 /* 800426C4 0003E324 38 21 00 40 */ addi r1, r1, 0x40 /* 800426C8 0003E328 4E 80 00 20 */ blr .global func_800426CC func_800426CC: /* 800426CC 0003E32C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800426D0 0003E330 7C 08 02 A6 */ mflr r0 /* 800426D4 0003E334 90 01 00 14 */ stw r0, 0x14(r1) /* 800426D8 0003E338 93 E1 00 0C */ stw r31, 0xc(r1) /* 800426DC 0003E33C 7C 7F 1B 78 */ mr r31, r3 /* 800426E0 0003E340 D0 23 06 DC */ stfs f1, 0x6dc(r3) /* 800426E4 0003E344 38 63 01 6C */ addi r3, r3, 0x16c /* 800426E8 0003E348 48 00 DC A1 */ bl func_80050388 /* 800426EC 0003E34C 38 00 00 01 */ li r0, 1 /* 800426F0 0003E350 98 1F 00 01 */ stb r0, 1(r31) /* 800426F4 0003E354 83 E1 00 0C */ lwz r31, 0xc(r1) /* 800426F8 0003E358 80 01 00 14 */ lwz r0, 0x14(r1) /* 800426FC 0003E35C 7C 08 03 A6 */ mtlr r0 /* 80042700 0003E360 38 21 00 10 */ addi r1, r1, 0x10 /* 80042704 0003E364 4E 80 00 20 */ blr .global func_80042708 func_80042708: /* 80042708 0003E368 C0 23 06 DC */ lfs f1, 0x6dc(r3) /* 8004270C 0003E36C 4E 80 00 20 */ blr .global func_80042710 func_80042710: /* 80042710 0003E370 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80042714 0003E374 7C 08 02 A6 */ mflr r0 /* 80042718 0003E378 7C 87 23 78 */ mr r7, r4 /* 8004271C 0003E37C 38 83 06 DC */ addi r4, r3, 0x6dc /* 80042720 0003E380 90 01 00 14 */ stw r0, 0x14(r1) /* 80042724 0003E384 7C 86 23 78 */ mr r6, r4 /* 80042728 0003E388 38 A1 00 08 */ addi r5, r1, 8 /* 8004272C 0003E38C 38 63 01 6C */ addi r3, r3, 0x16c /* 80042730 0003E390 D0 21 00 08 */ stfs f1, 8(r1) /* 80042734 0003E394 FC 20 10 90 */ fmr f1, f2 /* 80042738 0003E398 48 00 DC 05 */ bl func_8005033C /* 8004273C 0003E39C 80 01 00 14 */ lwz r0, 0x14(r1) /* 80042740 0003E3A0 7C 08 03 A6 */ mtlr r0 /* 80042744 0003E3A4 38 21 00 10 */ addi r1, r1, 0x10 /* 80042748 0003E3A8 4E 80 00 20 */ blr .global func_8004274C func_8004274C: /* 8004274C 0003E3AC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80042750 0003E3B0 7C 08 02 A6 */ mflr r0 /* 80042754 0003E3B4 90 01 00 14 */ stw r0, 0x14(r1) /* 80042758 0003E3B8 93 E1 00 0C */ stw r31, 0xc(r1) /* 8004275C 0003E3BC 93 C1 00 08 */ stw r30, 8(r1) /* 80042760 0003E3C0 7C 7E 1B 78 */ mr r30, r3 /* 80042764 0003E3C4 4B FF FE 2D */ bl func_80042590 /* 80042768 0003E3C8 7C 7F 1B 78 */ mr r31, r3 /* 8004276C 0003E3CC 7F C3 F3 78 */ mr r3, r30 /* 80042770 0003E3D0 4B FF EA 95 */ bl func_80041204 /* 80042774 0003E3D4 7F E4 FB 78 */ mr r4, r31 /* 80042778 0003E3D8 48 23 A8 59 */ bl PSVECDistance /* 8004277C 0003E3DC 80 01 00 14 */ lwz r0, 0x14(r1) /* 80042780 0003E3E0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80042784 0003E3E4 83 C1 00 08 */ lwz r30, 8(r1) /* 80042788 0003E3E8 7C 08 03 A6 */ mtlr r0 /* 8004278C 0003E3EC 38 21 00 10 */ addi r1, r1, 0x10 /* 80042790 0003E3F0 4E 80 00 20 */ blr .global func_80042794 func_80042794: /* 80042794 0003E3F4 38 63 05 60 */ addi r3, r3, 0x560 /* 80042798 0003E3F8 4B FF E0 18 */ b func_800407B0 .global func_8004279C func_8004279C: /* 8004279C 0003E3FC 94 21 FF C0 */ stwu r1, -0x40(r1) /* 800427A0 0003E400 7C 08 02 A6 */ mflr r0 /* 800427A4 0003E404 90 01 00 44 */ stw r0, 0x44(r1) /* 800427A8 0003E408 DB E1 00 30 */ stfd f31, 0x30(r1) /* 800427AC 0003E40C F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0 /* 800427B0 0003E410 DB C1 00 20 */ stfd f30, 0x20(r1) /* 800427B4 0003E414 F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0 /* 800427B8 0003E418 FF C0 10 90 */ fmr f30, f2 /* 800427BC 0003E41C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 800427C0 0003E420 7C 9F 23 78 */ mr r31, r4 /* 800427C4 0003E424 93 C1 00 18 */ stw r30, 0x18(r1) /* 800427C8 0003E428 7C 7E 1B 78 */ mr r30, r3 /* 800427CC 0003E42C D0 21 00 08 */ stfs f1, 8(r1) /* 800427D0 0003E430 80 03 04 BC */ lwz r0, 0x4bc(r3) /* 800427D4 0003E434 54 00 06 F2 */ rlwinm r0, r0, 0, 0x1b, 0x19 /* 800427D8 0003E438 90 03 04 BC */ stw r0, 0x4bc(r3) /* 800427DC 0003E43C 4B FF FF B9 */ bl func_80042794 /* 800427E0 0003E440 FF E0 08 90 */ fmr f31, f1 /* 800427E4 0003E444 7F C3 F3 78 */ mr r3, r30 /* 800427E8 0003E448 4B FF FF 65 */ bl func_8004274C /* 800427EC 0003E44C EC 21 F8 28 */ fsubs f1, f1, f31 /* 800427F0 0003E450 7F C3 F3 78 */ mr r3, r30 /* 800427F4 0003E454 4B FF FE 09 */ bl func_800425FC /* 800427F8 0003E458 FC 20 F0 90 */ fmr f1, f30 /* 800427FC 0003E45C 38 9E 06 C8 */ addi r4, r30, 0x6c8 /* 80042800 0003E460 7C 86 23 78 */ mr r6, r4 /* 80042804 0003E464 7F E7 FB 78 */ mr r7, r31 /* 80042808 0003E468 38 7E 00 28 */ addi r3, r30, 0x28 /* 8004280C 0003E46C 38 A1 00 08 */ addi r5, r1, 8 /* 80042810 0003E470 48 00 DB 2D */ bl func_8005033C /* 80042814 0003E474 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0 /* 80042818 0003E478 CB E1 00 30 */ lfd f31, 0x30(r1) /* 8004281C 0003E47C E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0 /* 80042820 0003E480 CB C1 00 20 */ lfd f30, 0x20(r1) /* 80042824 0003E484 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80042828 0003E488 80 01 00 44 */ lwz r0, 0x44(r1) /* 8004282C 0003E48C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80042830 0003E490 7C 08 03 A6 */ mtlr r0 /* 80042834 0003E494 38 21 00 40 */ addi r1, r1, 0x40 /* 80042838 0003E498 4E 80 00 20 */ blr .global func_8004283C func_8004283C: /* 8004283C 0003E49C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80042840 0003E4A0 7C 08 02 A6 */ mflr r0 /* 80042844 0003E4A4 90 01 00 34 */ stw r0, 0x34(r1) /* 80042848 0003E4A8 DB E1 00 20 */ stfd f31, 0x20(r1) /* 8004284C 0003E4AC F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0 /* 80042850 0003E4B0 FF E0 08 90 */ fmr f31, f1 /* 80042854 0003E4B4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80042858 0003E4B8 7C BF 2B 78 */ mr r31, r5 /* 8004285C 0003E4BC 93 C1 00 18 */ stw r30, 0x18(r1) /* 80042860 0003E4C0 7C 9E 23 78 */ mr r30, r4 /* 80042864 0003E4C4 38 80 00 00 */ li r4, 0 /* 80042868 0003E4C8 93 A1 00 14 */ stw r29, 0x14(r1) /* 8004286C 0003E4CC 7C 7D 1B 78 */ mr r29, r3 /* 80042870 0003E4D0 38 63 04 E8 */ addi r3, r3, 0x4e8 /* 80042874 0003E4D4 4B FF E3 31 */ bl func_80040BA4 /* 80042878 0003E4D8 C0 3E 00 04 */ lfs f1, 4(r30) /* 8004287C 0003E4DC 38 00 00 00 */ li r0, 0 /* 80042880 0003E4E0 C0 1D 06 F4 */ lfs f0, 0x6f4(r29) /* 80042884 0003E4E4 90 1D 04 BC */ stw r0, 0x4bc(r29) /* 80042888 0003E4E8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8004288C 0003E4EC 40 80 00 18 */ bge lbl_800428A4 /* 80042890 0003E4F0 88 1D 06 F8 */ lbz r0, 0x6f8(r29) /* 80042894 0003E4F4 2C 00 00 00 */ cmpwi r0, 0 /* 80042898 0003E4F8 41 82 00 0C */ beq lbl_800428A4 /* 8004289C 0003E4FC D0 01 00 08 */ stfs f0, 8(r1) /* 800428A0 0003E500 48 00 00 0C */ b lbl_800428AC lbl_800428A4: /* 800428A4 0003E504 C0 1E 00 04 */ lfs f0, 4(r30) /* 800428A8 0003E508 D0 01 00 08 */ stfs f0, 8(r1) lbl_800428AC: /* 800428AC 0003E50C C0 3D 05 00 */ lfs f1, 0x500(r29) /* 800428B0 0003E510 C0 1D 06 F4 */ lfs f0, 0x6f4(r29) /* 800428B4 0003E514 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 800428B8 0003E518 40 80 00 18 */ bge lbl_800428D0 /* 800428BC 0003E51C 88 1D 06 F8 */ lbz r0, 0x6f8(r29) /* 800428C0 0003E520 2C 00 00 00 */ cmpwi r0, 0 /* 800428C4 0003E524 41 82 00 0C */ beq lbl_800428D0 /* 800428C8 0003E528 D0 01 00 0C */ stfs f0, 0xc(r1) /* 800428CC 0003E52C 48 00 00 0C */ b lbl_800428D8 lbl_800428D0: /* 800428D0 0003E530 C0 1D 05 00 */ lfs f0, 0x500(r29) /* 800428D4 0003E534 D0 01 00 0C */ stfs f0, 0xc(r1) lbl_800428D8: /* 800428D8 0003E538 FC 20 F8 90 */ fmr f1, f31 /* 800428DC 0003E53C 38 9D 04 FC */ addi r4, r29, 0x4fc /* 800428E0 0003E540 7F C5 F3 78 */ mr r5, r30 /* 800428E4 0003E544 7F E7 FB 78 */ mr r7, r31 /* 800428E8 0003E548 7C 86 23 78 */ mr r6, r4 /* 800428EC 0003E54C 38 7D 00 4C */ addi r3, r29, 0x4c /* 800428F0 0003E550 48 00 DA 4D */ bl func_8005033C /* 800428F4 0003E554 FC 20 F8 90 */ fmr f1, f31 /* 800428F8 0003E558 7F E7 FB 78 */ mr r7, r31 /* 800428FC 0003E55C 38 7D 00 70 */ addi r3, r29, 0x70 /* 80042900 0003E560 38 81 00 0C */ addi r4, r1, 0xc /* 80042904 0003E564 38 A1 00 08 */ addi r5, r1, 8 /* 80042908 0003E568 38 DD 05 00 */ addi r6, r29, 0x500 /* 8004290C 0003E56C 48 00 DA 31 */ bl func_8005033C /* 80042910 0003E570 FC 20 F8 90 */ fmr f1, f31 /* 80042914 0003E574 38 9D 05 04 */ addi r4, r29, 0x504 /* 80042918 0003E578 7C 86 23 78 */ mr r6, r4 /* 8004291C 0003E57C 7F E7 FB 78 */ mr r7, r31 /* 80042920 0003E580 38 7D 00 94 */ addi r3, r29, 0x94 /* 80042924 0003E584 38 BE 00 08 */ addi r5, r30, 8 /* 80042928 0003E588 48 00 DA 15 */ bl func_8005033C /* 8004292C 0003E58C E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0 /* 80042930 0003E590 80 01 00 34 */ lwz r0, 0x34(r1) /* 80042934 0003E594 CB E1 00 20 */ lfd f31, 0x20(r1) /* 80042938 0003E598 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8004293C 0003E59C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80042940 0003E5A0 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80042944 0003E5A4 7C 08 03 A6 */ mtlr r0 /* 80042948 0003E5A8 38 21 00 30 */ addi r1, r1, 0x30 /* 8004294C 0003E5AC 4E 80 00 20 */ blr .global func_80042950 func_80042950: /* 80042950 0003E5B0 C0 82 82 EC */ lfs f4, lbl_806408EC-_SDA2_BASE_(r2) /* 80042954 0003E5B4 3C 00 43 30 */ lis r0, 0x4330 /* 80042958 0003E5B8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8004295C 0003E5BC EC 62 20 24 */ fdivs f3, f2, f4 /* 80042960 0003E5C0 C0 02 82 B0 */ lfs f0, lbl_806408B0-_SDA2_BASE_(r2) /* 80042964 0003E5C4 90 01 00 08 */ stw r0, 8(r1) /* 80042968 0003E5C8 90 01 00 10 */ stw r0, 0x10(r1) /* 8004296C 0003E5CC FC 60 18 1E */ fctiwz f3, f3 /* 80042970 0003E5D0 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80042974 0003E5D4 D8 61 00 18 */ stfd f3, 0x18(r1) /* 80042978 0003E5D8 80 61 00 1C */ lwz r3, 0x1c(r1) /* 8004297C 0003E5DC 40 80 00 38 */ bge lbl_800429B4 /* 80042980 0003E5E0 38 03 FF FF */ addi r0, r3, -1 /* 80042984 0003E5E4 6C 63 80 00 */ xoris r3, r3, 0x8000 /* 80042988 0003E5E8 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 8004298C 0003E5EC 90 61 00 0C */ stw r3, 0xc(r1) /* 80042990 0003E5F0 C8 62 83 48 */ lfd f3, lbl_80640948-_SDA2_BASE_(r2) /* 80042994 0003E5F4 90 01 00 14 */ stw r0, 0x14(r1) /* 80042998 0003E5F8 C8 41 00 08 */ lfd f2, 8(r1) /* 8004299C 0003E5FC C8 01 00 10 */ lfd f0, 0x10(r1) /* 800429A0 0003E600 EC 42 18 28 */ fsubs f2, f2, f3 /* 800429A4 0003E604 EC 00 18 28 */ fsubs f0, f0, f3 /* 800429A8 0003E608 EC 42 01 32 */ fmuls f2, f2, f4 /* 800429AC 0003E60C EC 60 01 32 */ fmuls f3, f0, f4 /* 800429B0 0003E610 48 00 00 3C */ b lbl_800429EC lbl_800429B4: /* 800429B4 0003E614 38 03 00 01 */ addi r0, r3, 1 /* 800429B8 0003E618 6C 63 80 00 */ xoris r3, r3, 0x8000 /* 800429BC 0003E61C 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 800429C0 0003E620 90 61 00 0C */ stw r3, 0xc(r1) /* 800429C4 0003E624 C8 62 83 48 */ lfd f3, lbl_80640948-_SDA2_BASE_(r2) /* 800429C8 0003E628 90 01 00 14 */ stw r0, 0x14(r1) /* 800429CC 0003E62C C8 41 00 08 */ lfd f2, 8(r1) /* 800429D0 0003E630 C8 01 00 10 */ lfd f0, 0x10(r1) /* 800429D4 0003E634 EC 42 18 28 */ fsubs f2, f2, f3 /* 800429D8 0003E638 EC 00 18 28 */ fsubs f0, f0, f3 /* 800429DC 0003E63C EC 62 01 32 */ fmuls f3, f2, f4 /* 800429E0 0003E640 EC 40 01 32 */ fmuls f2, f0, f4 /* 800429E4 0003E644 48 00 00 08 */ b lbl_800429EC lbl_800429E8: /* 800429E8 0003E648 EC 21 20 2A */ fadds f1, f1, f4 lbl_800429EC: /* 800429EC 0003E64C FC 01 18 40 */ fcmpo cr0, f1, f3 /* 800429F0 0003E650 41 80 FF F8 */ blt lbl_800429E8 /* 800429F4 0003E654 48 00 00 08 */ b lbl_800429FC lbl_800429F8: /* 800429F8 0003E658 EC 21 20 28 */ fsubs f1, f1, f4 lbl_800429FC: /* 800429FC 0003E65C FC 01 10 40 */ fcmpo cr0, f1, f2 /* 80042A00 0003E660 41 81 FF F8 */ bgt lbl_800429F8 /* 80042A04 0003E664 38 21 00 20 */ addi r1, r1, 0x20 /* 80042A08 0003E668 4E 80 00 20 */ blr .global func_80042A0C func_80042A0C: /* 80042A0C 0003E66C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80042A10 0003E670 7C 08 02 A6 */ mflr r0 /* 80042A14 0003E674 90 01 00 24 */ stw r0, 0x24(r1) /* 80042A18 0003E678 DB E1 00 18 */ stfd f31, 0x18(r1) /* 80042A1C 0003E67C FF E0 10 90 */ fmr f31, f2 /* 80042A20 0003E680 93 E1 00 14 */ stw r31, 0x14(r1) /* 80042A24 0003E684 7C 9F 23 78 */ mr r31, r4 /* 80042A28 0003E688 38 80 00 00 */ li r4, 0 /* 80042A2C 0003E68C 93 C1 00 10 */ stw r30, 0x10(r1) /* 80042A30 0003E690 7C 7E 1B 78 */ mr r30, r3 /* 80042A34 0003E694 38 63 04 E8 */ addi r3, r3, 0x4e8 /* 80042A38 0003E698 D0 21 00 08 */ stfs f1, 8(r1) /* 80042A3C 0003E69C 4B FF E1 69 */ bl func_80040BA4 /* 80042A40 0003E6A0 80 1E 04 BC */ lwz r0, 0x4bc(r30) /* 80042A44 0003E6A4 38 9E 05 00 */ addi r4, r30, 0x500 /* 80042A48 0003E6A8 FC 20 F8 90 */ fmr f1, f31 /* 80042A4C 0003E6AC 7C 86 23 78 */ mr r6, r4 /* 80042A50 0003E6B0 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b /* 80042A54 0003E6B4 7F E7 FB 78 */ mr r7, r31 /* 80042A58 0003E6B8 90 1E 04 BC */ stw r0, 0x4bc(r30) /* 80042A5C 0003E6BC 38 7E 00 70 */ addi r3, r30, 0x70 /* 80042A60 0003E6C0 38 A1 00 08 */ addi r5, r1, 8 /* 80042A64 0003E6C4 48 00 D8 D9 */ bl func_8005033C /* 80042A68 0003E6C8 80 01 00 24 */ lwz r0, 0x24(r1) /* 80042A6C 0003E6CC CB E1 00 18 */ lfd f31, 0x18(r1) /* 80042A70 0003E6D0 83 E1 00 14 */ lwz r31, 0x14(r1) /* 80042A74 0003E6D4 83 C1 00 10 */ lwz r30, 0x10(r1) /* 80042A78 0003E6D8 7C 08 03 A6 */ mtlr r0 /* 80042A7C 0003E6DC 38 21 00 20 */ addi r1, r1, 0x20 /* 80042A80 0003E6E0 4E 80 00 20 */ blr .global func_80042A84 func_80042A84: /* 80042A84 0003E6E4 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80042A88 0003E6E8 7C 08 02 A6 */ mflr r0 /* 80042A8C 0003E6EC 90 01 00 44 */ stw r0, 0x44(r1) /* 80042A90 0003E6F0 DB E1 00 30 */ stfd f31, 0x30(r1) /* 80042A94 0003E6F4 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0 /* 80042A98 0003E6F8 FF E0 10 90 */ fmr f31, f2 /* 80042A9C 0003E6FC 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80042AA0 0003E700 7C 9F 23 78 */ mr r31, r4 /* 80042AA4 0003E704 93 C1 00 28 */ stw r30, 0x28(r1) /* 80042AA8 0003E708 7C 7E 1B 78 */ mr r30, r3 /* 80042AAC 0003E70C 38 9E 05 74 */ addi r4, r30, 0x574 /* 80042AB0 0003E710 D0 21 00 08 */ stfs f1, 8(r1) /* 80042AB4 0003E714 C0 03 04 FC */ lfs f0, 0x4fc(r3) /* 80042AB8 0003E718 D0 01 00 10 */ stfs f0, 0x10(r1) /* 80042ABC 0003E71C C0 03 05 00 */ lfs f0, 0x500(r3) /* 80042AC0 0003E720 D0 01 00 14 */ stfs f0, 0x14(r1) /* 80042AC4 0003E724 C0 03 05 04 */ lfs f0, 0x504(r3) /* 80042AC8 0003E728 38 61 00 10 */ addi r3, r1, 0x10 /* 80042ACC 0003E72C 7C 65 1B 78 */ mr r5, r3 /* 80042AD0 0003E730 D0 01 00 18 */ stfs f0, 0x18(r1) /* 80042AD4 0003E734 48 23 A2 15 */ bl PSVECSubtract /* 80042AD8 0003E738 C0 41 00 18 */ lfs f2, 0x18(r1) /* 80042ADC 0003E73C C0 21 00 10 */ lfs f1, 0x10(r1) /* 80042AE0 0003E740 48 19 1A FD */ bl atan2 /* 80042AE4 0003E744 FC 00 08 18 */ frsp f0, f1 /* 80042AE8 0003E748 7F E7 FB 78 */ mr r7, r31 /* 80042AEC 0003E74C FC 20 F8 90 */ fmr f1, f31 /* 80042AF0 0003E750 38 7E 01 24 */ addi r3, r30, 0x124 /* 80042AF4 0003E754 38 81 00 0C */ addi r4, r1, 0xc /* 80042AF8 0003E758 38 A1 00 08 */ addi r5, r1, 8 /* 80042AFC 0003E75C D0 01 00 0C */ stfs f0, 0xc(r1) /* 80042B00 0003E760 38 DE 04 D8 */ addi r6, r30, 0x4d8 /* 80042B04 0003E764 80 1E 04 BC */ lwz r0, 0x4bc(r30) /* 80042B08 0003E768 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a /* 80042B0C 0003E76C 90 1E 04 BC */ stw r0, 0x4bc(r30) /* 80042B10 0003E770 48 00 D8 2D */ bl func_8005033C /* 80042B14 0003E774 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0 /* 80042B18 0003E778 80 01 00 44 */ lwz r0, 0x44(r1) /* 80042B1C 0003E77C CB E1 00 30 */ lfd f31, 0x30(r1) /* 80042B20 0003E780 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80042B24 0003E784 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80042B28 0003E788 7C 08 03 A6 */ mtlr r0 /* 80042B2C 0003E78C 38 21 00 40 */ addi r1, r1, 0x40 /* 80042B30 0003E790 4E 80 00 20 */ blr .global func_80042B34 func_80042B34: /* 80042B34 0003E794 94 21 FF B0 */ stwu r1, -0x50(r1) /* 80042B38 0003E798 7C 08 02 A6 */ mflr r0 /* 80042B3C 0003E79C 90 01 00 54 */ stw r0, 0x54(r1) /* 80042B40 0003E7A0 DB E1 00 40 */ stfd f31, 0x40(r1) /* 80042B44 0003E7A4 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 /* 80042B48 0003E7A8 DB C1 00 30 */ stfd f30, 0x30(r1) /* 80042B4C 0003E7AC F3 C1 00 38 */ psq_st f30, 56(r1), 0, qr0 /* 80042B50 0003E7B0 FF C0 18 90 */ fmr f30, f3 /* 80042B54 0003E7B4 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80042B58 0003E7B8 7C 9F 23 78 */ mr r31, r4 /* 80042B5C 0003E7BC 93 C1 00 28 */ stw r30, 0x28(r1) /* 80042B60 0003E7C0 7C 7E 1B 78 */ mr r30, r3 /* 80042B64 0003E7C4 38 9E 05 74 */ addi r4, r30, 0x574 /* 80042B68 0003E7C8 D0 21 00 08 */ stfs f1, 8(r1) /* 80042B6C 0003E7CC D0 41 00 0C */ stfs f2, 0xc(r1) /* 80042B70 0003E7D0 C0 03 04 FC */ lfs f0, 0x4fc(r3) /* 80042B74 0003E7D4 D0 01 00 18 */ stfs f0, 0x18(r1) /* 80042B78 0003E7D8 C0 03 05 00 */ lfs f0, 0x500(r3) /* 80042B7C 0003E7DC D0 01 00 1C */ stfs f0, 0x1c(r1) /* 80042B80 0003E7E0 C0 03 05 04 */ lfs f0, 0x504(r3) /* 80042B84 0003E7E4 38 61 00 18 */ addi r3, r1, 0x18 /* 80042B88 0003E7E8 7C 65 1B 78 */ mr r5, r3 /* 80042B8C 0003E7EC D0 01 00 20 */ stfs f0, 0x20(r1) /* 80042B90 0003E7F0 48 23 A1 59 */ bl PSVECSubtract /* 80042B94 0003E7F4 80 1E 06 D0 */ lwz r0, 0x6d0(r30) /* 80042B98 0003E7F8 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e /* 80042B9C 0003E7FC 41 82 00 28 */ beq lbl_80042BC4 /* 80042BA0 0003E800 C0 41 00 20 */ lfs f2, 0x20(r1) /* 80042BA4 0003E804 C0 21 00 18 */ lfs f1, 0x18(r1) /* 80042BA8 0003E808 48 19 1A 35 */ bl atan2 /* 80042BAC 0003E80C FF E0 08 18 */ frsp f31, f1 /* 80042BB0 0003E810 38 7E 06 50 */ addi r3, r30, 0x650 /* 80042BB4 0003E814 4B FF E0 85 */ bl func_80040C38 /* 80042BB8 0003E818 EC 1F 08 28 */ fsubs f0, f31, f1 /* 80042BBC 0003E81C D0 01 00 14 */ stfs f0, 0x14(r1) /* 80042BC0 0003E820 48 00 00 24 */ b lbl_80042BE4 lbl_80042BC4: /* 80042BC4 0003E824 C0 41 00 20 */ lfs f2, 0x20(r1) /* 80042BC8 0003E828 C0 21 00 18 */ lfs f1, 0x18(r1) /* 80042BCC 0003E82C 48 19 1A 11 */ bl atan2 /* 80042BD0 0003E830 FF E0 08 18 */ frsp f31, f1 /* 80042BD4 0003E834 38 7E 05 60 */ addi r3, r30, 0x560 /* 80042BD8 0003E838 4B FF E0 61 */ bl func_80040C38 /* 80042BDC 0003E83C EC 1F 08 28 */ fsubs f0, f31, f1 /* 80042BE0 0003E840 D0 01 00 14 */ stfs f0, 0x14(r1) lbl_80042BE4: /* 80042BE4 0003E844 FC 20 00 18 */ frsp f1, f0 /* 80042BE8 0003E848 C0 41 00 08 */ lfs f2, 8(r1) /* 80042BEC 0003E84C 7F C3 F3 78 */ mr r3, r30 /* 80042BF0 0003E850 4B FF FD 61 */ bl func_80042950 /* 80042BF4 0003E854 D0 21 00 14 */ stfs f1, 0x14(r1) /* 80042BF8 0003E858 38 61 00 18 */ addi r3, r1, 0x18 /* 80042BFC 0003E85C 48 23 A1 89 */ bl PSVECMag /* 80042C00 0003E860 C0 41 00 1C */ lfs f2, 0x1c(r1) /* 80042C04 0003E864 C0 02 82 BC */ lfs f0, lbl_806408BC-_SDA2_BASE_(r2) /* 80042C08 0003E868 EC 22 08 24 */ fdivs f1, f2, f1 /* 80042C0C 0003E86C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80042C10 0003E870 4C 41 13 82 */ cror 2, 1, 2 /* 80042C14 0003E874 40 82 00 0C */ bne lbl_80042C20 /* 80042C18 0003E878 C0 02 82 DC */ lfs f0, lbl_806408DC-_SDA2_BASE_(r2) /* 80042C1C 0003E87C 48 00 00 24 */ b lbl_80042C40 lbl_80042C20: /* 80042C20 0003E880 C0 02 82 E0 */ lfs f0, lbl_806408E0-_SDA2_BASE_(r2) /* 80042C24 0003E884 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80042C28 0003E888 4C 40 13 82 */ cror 2, 0, 2 /* 80042C2C 0003E88C 40 82 00 0C */ bne lbl_80042C38 /* 80042C30 0003E890 C0 02 82 E4 */ lfs f0, lbl_806408E4-_SDA2_BASE_(r2) /* 80042C34 0003E894 48 00 00 0C */ b lbl_80042C40 lbl_80042C38: /* 80042C38 0003E898 48 19 19 A1 */ bl asin /* 80042C3C 0003E89C FC 00 08 18 */ frsp f0, f1 lbl_80042C40: /* 80042C40 0003E8A0 D0 01 00 10 */ stfs f0, 0x10(r1) /* 80042C44 0003E8A4 FC 20 F0 90 */ fmr f1, f30 /* 80042C48 0003E8A8 7F E7 FB 78 */ mr r7, r31 /* 80042C4C 0003E8AC 38 7E 01 24 */ addi r3, r30, 0x124 /* 80042C50 0003E8B0 80 1E 04 BC */ lwz r0, 0x4bc(r30) /* 80042C54 0003E8B4 38 81 00 14 */ addi r4, r1, 0x14 /* 80042C58 0003E8B8 38 A1 00 08 */ addi r5, r1, 8 /* 80042C5C 0003E8BC 54 00 07 74 */ rlwinm r0, r0, 0, 0x1d, 0x1a /* 80042C60 0003E8C0 38 DE 04 D8 */ addi r6, r30, 0x4d8 /* 80042C64 0003E8C4 90 1E 04 BC */ stw r0, 0x4bc(r30) /* 80042C68 0003E8C8 48 00 D6 D5 */ bl func_8005033C /* 80042C6C 0003E8CC FC 20 F0 90 */ fmr f1, f30 /* 80042C70 0003E8D0 7F E7 FB 78 */ mr r7, r31 /* 80042C74 0003E8D4 38 7E 01 48 */ addi r3, r30, 0x148 /* 80042C78 0003E8D8 38 81 00 10 */ addi r4, r1, 0x10 /* 80042C7C 0003E8DC 38 A1 00 0C */ addi r5, r1, 0xc /* 80042C80 0003E8E0 38 DE 04 DC */ addi r6, r30, 0x4dc /* 80042C84 0003E8E4 48 00 D6 B9 */ bl func_8005033C /* 80042C88 0003E8E8 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 /* 80042C8C 0003E8EC CB E1 00 40 */ lfd f31, 0x40(r1) /* 80042C90 0003E8F0 E3 C1 00 38 */ psq_l f30, 56(r1), 0, qr0 /* 80042C94 0003E8F4 CB C1 00 30 */ lfd f30, 0x30(r1) /* 80042C98 0003E8F8 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80042C9C 0003E8FC 80 01 00 54 */ lwz r0, 0x54(r1) /* 80042CA0 0003E900 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80042CA4 0003E904 7C 08 03 A6 */ mtlr r0 /* 80042CA8 0003E908 38 21 00 50 */ addi r1, r1, 0x50 /* 80042CAC 0003E90C 4E 80 00 20 */ blr .global func_80042CB0 func_80042CB0: /* 80042CB0 0003E910 94 21 FF B0 */ stwu r1, -0x50(r1) /* 80042CB4 0003E914 7C 08 02 A6 */ mflr r0 /* 80042CB8 0003E918 90 01 00 54 */ stw r0, 0x54(r1) /* 80042CBC 0003E91C DB E1 00 40 */ stfd f31, 0x40(r1) /* 80042CC0 0003E920 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 /* 80042CC4 0003E924 DB C1 00 30 */ stfd f30, 0x30(r1) /* 80042CC8 0003E928 F3 C1 00 38 */ psq_st f30, 56(r1), 0, qr0 /* 80042CCC 0003E92C FF C0 10 90 */ fmr f30, f2 /* 80042CD0 0003E930 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80042CD4 0003E934 7C 9F 23 78 */ mr r31, r4 /* 80042CD8 0003E938 93 C1 00 28 */ stw r30, 0x28(r1) /* 80042CDC 0003E93C 7C 7E 1B 78 */ mr r30, r3 /* 80042CE0 0003E940 38 9E 05 74 */ addi r4, r30, 0x574 /* 80042CE4 0003E944 D0 21 00 08 */ stfs f1, 8(r1) /* 80042CE8 0003E948 C0 03 04 FC */ lfs f0, 0x4fc(r3) /* 80042CEC 0003E94C D0 01 00 10 */ stfs f0, 0x10(r1) /* 80042CF0 0003E950 C0 03 05 00 */ lfs f0, 0x500(r3) /* 80042CF4 0003E954 D0 01 00 14 */ stfs f0, 0x14(r1) /* 80042CF8 0003E958 C0 03 05 04 */ lfs f0, 0x504(r3) /* 80042CFC 0003E95C 38 61 00 10 */ addi r3, r1, 0x10 /* 80042D00 0003E960 7C 65 1B 78 */ mr r5, r3 /* 80042D04 0003E964 D0 01 00 18 */ stfs f0, 0x18(r1) /* 80042D08 0003E968 48 23 9F E1 */ bl PSVECSubtract /* 80042D0C 0003E96C 80 1E 06 D0 */ lwz r0, 0x6d0(r30) /* 80042D10 0003E970 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e /* 80042D14 0003E974 41 82 00 28 */ beq lbl_80042D3C /* 80042D18 0003E978 C0 41 00 18 */ lfs f2, 0x18(r1) /* 80042D1C 0003E97C C0 21 00 10 */ lfs f1, 0x10(r1) /* 80042D20 0003E980 48 19 18 BD */ bl atan2 /* 80042D24 0003E984 FF E0 08 18 */ frsp f31, f1 /* 80042D28 0003E988 38 7E 06 50 */ addi r3, r30, 0x650 /* 80042D2C 0003E98C 4B FF DF 0D */ bl func_80040C38 /* 80042D30 0003E990 EC 1F 08 28 */ fsubs f0, f31, f1 /* 80042D34 0003E994 D0 01 00 0C */ stfs f0, 0xc(r1) /* 80042D38 0003E998 48 00 00 24 */ b lbl_80042D5C lbl_80042D3C: /* 80042D3C 0003E99C C0 41 00 18 */ lfs f2, 0x18(r1) /* 80042D40 0003E9A0 C0 21 00 10 */ lfs f1, 0x10(r1) /* 80042D44 0003E9A4 48 19 18 99 */ bl atan2 /* 80042D48 0003E9A8 FF E0 08 18 */ frsp f31, f1 /* 80042D4C 0003E9AC 38 7E 05 60 */ addi r3, r30, 0x560 /* 80042D50 0003E9B0 4B FF DE E9 */ bl func_80040C38 /* 80042D54 0003E9B4 EC 1F 08 28 */ fsubs f0, f31, f1 /* 80042D58 0003E9B8 D0 01 00 0C */ stfs f0, 0xc(r1) lbl_80042D5C: /* 80042D5C 0003E9BC FC 20 00 18 */ frsp f1, f0 /* 80042D60 0003E9C0 C0 41 00 08 */ lfs f2, 8(r1) /* 80042D64 0003E9C4 7F C3 F3 78 */ mr r3, r30 /* 80042D68 0003E9C8 4B FF FB E9 */ bl func_80042950 /* 80042D6C 0003E9CC D0 21 00 0C */ stfs f1, 0xc(r1) /* 80042D70 0003E9D0 FC 20 F0 90 */ fmr f1, f30 /* 80042D74 0003E9D4 7F E7 FB 78 */ mr r7, r31 /* 80042D78 0003E9D8 38 7E 01 24 */ addi r3, r30, 0x124 /* 80042D7C 0003E9DC 80 1E 04 BC */ lwz r0, 0x4bc(r30) /* 80042D80 0003E9E0 38 81 00 0C */ addi r4, r1, 0xc /* 80042D84 0003E9E4 38 A1 00 08 */ addi r5, r1, 8 /* 80042D88 0003E9E8 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a /* 80042D8C 0003E9EC 38 DE 04 D8 */ addi r6, r30, 0x4d8 /* 80042D90 0003E9F0 90 1E 04 BC */ stw r0, 0x4bc(r30) /* 80042D94 0003E9F4 48 00 D5 A9 */ bl func_8005033C /* 80042D98 0003E9F8 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 /* 80042D9C 0003E9FC CB E1 00 40 */ lfd f31, 0x40(r1) /* 80042DA0 0003EA00 E3 C1 00 38 */ psq_l f30, 56(r1), 0, qr0 /* 80042DA4 0003EA04 CB C1 00 30 */ lfd f30, 0x30(r1) /* 80042DA8 0003EA08 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80042DAC 0003EA0C 80 01 00 54 */ lwz r0, 0x54(r1) /* 80042DB0 0003EA10 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80042DB4 0003EA14 7C 08 03 A6 */ mtlr r0 /* 80042DB8 0003EA18 38 21 00 50 */ addi r1, r1, 0x50 /* 80042DBC 0003EA1C 4E 80 00 20 */ blr .global func_80042DC0 func_80042DC0: /* 80042DC0 0003EA20 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80042DC4 0003EA24 7C 08 02 A6 */ mflr r0 /* 80042DC8 0003EA28 90 01 00 44 */ stw r0, 0x44(r1) /* 80042DCC 0003EA2C DB E1 00 30 */ stfd f31, 0x30(r1) /* 80042DD0 0003EA30 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0 /* 80042DD4 0003EA34 FF E0 10 90 */ fmr f31, f2 /* 80042DD8 0003EA38 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80042DDC 0003EA3C 7C 9F 23 78 */ mr r31, r4 /* 80042DE0 0003EA40 93 C1 00 28 */ stw r30, 0x28(r1) /* 80042DE4 0003EA44 7C 7E 1B 78 */ mr r30, r3 /* 80042DE8 0003EA48 38 9E 05 74 */ addi r4, r30, 0x574 /* 80042DEC 0003EA4C D0 21 00 08 */ stfs f1, 8(r1) /* 80042DF0 0003EA50 C0 03 04 FC */ lfs f0, 0x4fc(r3) /* 80042DF4 0003EA54 D0 01 00 10 */ stfs f0, 0x10(r1) /* 80042DF8 0003EA58 C0 03 05 00 */ lfs f0, 0x500(r3) /* 80042DFC 0003EA5C D0 01 00 14 */ stfs f0, 0x14(r1) /* 80042E00 0003EA60 C0 03 05 04 */ lfs f0, 0x504(r3) /* 80042E04 0003EA64 38 61 00 10 */ addi r3, r1, 0x10 /* 80042E08 0003EA68 7C 65 1B 78 */ mr r5, r3 /* 80042E0C 0003EA6C D0 01 00 18 */ stfs f0, 0x18(r1) /* 80042E10 0003EA70 48 23 9E D9 */ bl PSVECSubtract /* 80042E14 0003EA74 38 61 00 10 */ addi r3, r1, 0x10 /* 80042E18 0003EA78 48 23 9F 6D */ bl PSVECMag /* 80042E1C 0003EA7C C0 41 00 14 */ lfs f2, 0x14(r1) /* 80042E20 0003EA80 C0 02 82 BC */ lfs f0, lbl_806408BC-_SDA2_BASE_(r2) /* 80042E24 0003EA84 EC 22 08 24 */ fdivs f1, f2, f1 /* 80042E28 0003EA88 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80042E2C 0003EA8C 4C 41 13 82 */ cror 2, 1, 2 /* 80042E30 0003EA90 40 82 00 0C */ bne lbl_80042E3C /* 80042E34 0003EA94 C0 02 82 DC */ lfs f0, lbl_806408DC-_SDA2_BASE_(r2) /* 80042E38 0003EA98 48 00 00 24 */ b lbl_80042E5C lbl_80042E3C: /* 80042E3C 0003EA9C C0 02 82 E0 */ lfs f0, lbl_806408E0-_SDA2_BASE_(r2) /* 80042E40 0003EAA0 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80042E44 0003EAA4 4C 40 13 82 */ cror 2, 0, 2 /* 80042E48 0003EAA8 40 82 00 0C */ bne lbl_80042E54 /* 80042E4C 0003EAAC C0 02 82 E4 */ lfs f0, lbl_806408E4-_SDA2_BASE_(r2) /* 80042E50 0003EAB0 48 00 00 0C */ b lbl_80042E5C lbl_80042E54: /* 80042E54 0003EAB4 48 19 17 85 */ bl asin /* 80042E58 0003EAB8 FC 00 08 18 */ frsp f0, f1 lbl_80042E5C: /* 80042E5C 0003EABC D0 01 00 0C */ stfs f0, 0xc(r1) /* 80042E60 0003EAC0 FC 20 F8 90 */ fmr f1, f31 /* 80042E64 0003EAC4 7F E7 FB 78 */ mr r7, r31 /* 80042E68 0003EAC8 38 7E 01 48 */ addi r3, r30, 0x148 /* 80042E6C 0003EACC 80 1E 04 BC */ lwz r0, 0x4bc(r30) /* 80042E70 0003EAD0 38 81 00 0C */ addi r4, r1, 0xc /* 80042E74 0003EAD4 38 A1 00 08 */ addi r5, r1, 8 /* 80042E78 0003EAD8 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b /* 80042E7C 0003EADC 38 DE 04 DC */ addi r6, r30, 0x4dc /* 80042E80 0003EAE0 90 1E 04 BC */ stw r0, 0x4bc(r30) /* 80042E84 0003EAE4 48 00 D4 B9 */ bl func_8005033C /* 80042E88 0003EAE8 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0 /* 80042E8C 0003EAEC 80 01 00 44 */ lwz r0, 0x44(r1) /* 80042E90 0003EAF0 CB E1 00 30 */ lfd f31, 0x30(r1) /* 80042E94 0003EAF4 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80042E98 0003EAF8 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80042E9C 0003EAFC 7C 08 03 A6 */ mtlr r0 /* 80042EA0 0003EB00 38 21 00 40 */ addi r1, r1, 0x40 /* 80042EA4 0003EB04 4E 80 00 20 */ blr .global func_80042EA8 func_80042EA8: /* 80042EA8 0003EB08 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80042EAC 0003EB0C 7C 08 02 A6 */ mflr r0 /* 80042EB0 0003EB10 90 01 00 24 */ stw r0, 0x24(r1) /* 80042EB4 0003EB14 DB E1 00 18 */ stfd f31, 0x18(r1) /* 80042EB8 0003EB18 FF E0 08 90 */ fmr f31, f1 /* 80042EBC 0003EB1C 93 E1 00 14 */ stw r31, 0x14(r1) /* 80042EC0 0003EB20 3B E3 05 74 */ addi r31, r3, 0x574 /* 80042EC4 0003EB24 93 C1 00 10 */ stw r30, 0x10(r1) /* 80042EC8 0003EB28 7C BE 2B 78 */ mr r30, r5 /* 80042ECC 0003EB2C 93 A1 00 0C */ stw r29, 0xc(r1) /* 80042ED0 0003EB30 7C 9D 23 78 */ mr r29, r4 /* 80042ED4 0003EB34 38 80 00 00 */ li r4, 0 /* 80042ED8 0003EB38 93 81 00 08 */ stw r28, 8(r1) /* 80042EDC 0003EB3C 7C 7C 1B 78 */ mr r28, r3 /* 80042EE0 0003EB40 38 63 05 60 */ addi r3, r3, 0x560 /* 80042EE4 0003EB44 4B FF DC C1 */ bl func_80040BA4 /* 80042EE8 0003EB48 FC 20 F8 90 */ fmr f1, f31 /* 80042EEC 0003EB4C 7F E4 FB 78 */ mr r4, r31 /* 80042EF0 0003EB50 7F A5 EB 78 */ mr r5, r29 /* 80042EF4 0003EB54 7F E6 FB 78 */ mr r6, r31 /* 80042EF8 0003EB58 7F C7 F3 78 */ mr r7, r30 /* 80042EFC 0003EB5C 38 7C 00 B8 */ addi r3, r28, 0xb8 /* 80042F00 0003EB60 48 00 D4 3D */ bl func_8005033C /* 80042F04 0003EB64 FC 20 F8 90 */ fmr f1, f31 /* 80042F08 0003EB68 38 9F 00 04 */ addi r4, r31, 4 /* 80042F0C 0003EB6C 7C 86 23 78 */ mr r6, r4 /* 80042F10 0003EB70 7F C7 F3 78 */ mr r7, r30 /* 80042F14 0003EB74 38 7C 00 DC */ addi r3, r28, 0xdc /* 80042F18 0003EB78 38 BD 00 04 */ addi r5, r29, 4 /* 80042F1C 0003EB7C 48 00 D4 21 */ bl func_8005033C /* 80042F20 0003EB80 FC 20 F8 90 */ fmr f1, f31 /* 80042F24 0003EB84 38 9F 00 08 */ addi r4, r31, 8 /* 80042F28 0003EB88 7C 86 23 78 */ mr r6, r4 /* 80042F2C 0003EB8C 7F C7 F3 78 */ mr r7, r30 /* 80042F30 0003EB90 38 7C 01 00 */ addi r3, r28, 0x100 /* 80042F34 0003EB94 38 BD 00 08 */ addi r5, r29, 8 /* 80042F38 0003EB98 48 00 D4 05 */ bl func_8005033C /* 80042F3C 0003EB9C 80 01 00 24 */ lwz r0, 0x24(r1) /* 80042F40 0003EBA0 CB E1 00 18 */ lfd f31, 0x18(r1) /* 80042F44 0003EBA4 83 E1 00 14 */ lwz r31, 0x14(r1) /* 80042F48 0003EBA8 83 C1 00 10 */ lwz r30, 0x10(r1) /* 80042F4C 0003EBAC 83 A1 00 0C */ lwz r29, 0xc(r1) /* 80042F50 0003EBB0 83 81 00 08 */ lwz r28, 8(r1) /* 80042F54 0003EBB4 7C 08 03 A6 */ mtlr r0 /* 80042F58 0003EBB8 38 21 00 20 */ addi r1, r1, 0x20 /* 80042F5C 0003EBBC 4E 80 00 20 */ blr .global func_80042F60 func_80042F60: /* 80042F60 0003EBC0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80042F64 0003EBC4 7C 08 02 A6 */ mflr r0 /* 80042F68 0003EBC8 90 01 00 24 */ stw r0, 0x24(r1) /* 80042F6C 0003EBCC DB E1 00 18 */ stfd f31, 0x18(r1) /* 80042F70 0003EBD0 FF E0 10 90 */ fmr f31, f2 /* 80042F74 0003EBD4 93 E1 00 14 */ stw r31, 0x14(r1) /* 80042F78 0003EBD8 7C 9F 23 78 */ mr r31, r4 /* 80042F7C 0003EBDC 38 80 00 00 */ li r4, 0 /* 80042F80 0003EBE0 93 C1 00 10 */ stw r30, 0x10(r1) /* 80042F84 0003EBE4 7C 7E 1B 78 */ mr r30, r3 /* 80042F88 0003EBE8 38 63 05 60 */ addi r3, r3, 0x560 /* 80042F8C 0003EBEC D0 21 00 08 */ stfs f1, 8(r1) /* 80042F90 0003EBF0 4B FF DC 15 */ bl func_80040BA4 /* 80042F94 0003EBF4 FC 20 F8 90 */ fmr f1, f31 /* 80042F98 0003EBF8 38 9E 05 78 */ addi r4, r30, 0x578 /* 80042F9C 0003EBFC 7C 86 23 78 */ mr r6, r4 /* 80042FA0 0003EC00 7F E7 FB 78 */ mr r7, r31 /* 80042FA4 0003EC04 38 7E 00 DC */ addi r3, r30, 0xdc /* 80042FA8 0003EC08 38 A1 00 08 */ addi r5, r1, 8 /* 80042FAC 0003EC0C 48 00 D3 91 */ bl func_8005033C /* 80042FB0 0003EC10 80 01 00 24 */ lwz r0, 0x24(r1) /* 80042FB4 0003EC14 CB E1 00 18 */ lfd f31, 0x18(r1) /* 80042FB8 0003EC18 83 E1 00 14 */ lwz r31, 0x14(r1) /* 80042FBC 0003EC1C 83 C1 00 10 */ lwz r30, 0x10(r1) /* 80042FC0 0003EC20 7C 08 03 A6 */ mtlr r0 /* 80042FC4 0003EC24 38 21 00 20 */ addi r1, r1, 0x20 /* 80042FC8 0003EC28 4E 80 00 20 */ blr .global func_80042FCC func_80042FCC: /* 80042FCC 0003EC2C 94 21 FF 70 */ stwu r1, -0x90(r1) /* 80042FD0 0003EC30 7C 08 02 A6 */ mflr r0 /* 80042FD4 0003EC34 90 01 00 94 */ stw r0, 0x94(r1) /* 80042FD8 0003EC38 DB E1 00 80 */ stfd f31, 0x80(r1) /* 80042FDC 0003EC3C F3 E1 00 88 */ psq_st f31, 136(r1), 0, qr0 /* 80042FE0 0003EC40 DB C1 00 70 */ stfd f30, 0x70(r1) /* 80042FE4 0003EC44 F3 C1 00 78 */ psq_st f30, 120(r1), 0, qr0 /* 80042FE8 0003EC48 DB A1 00 60 */ stfd f29, 0x60(r1) /* 80042FEC 0003EC4C F3 A1 00 68 */ psq_st f29, 104(r1), 0, qr0 /* 80042FF0 0003EC50 DB 81 00 50 */ stfd f28, 0x50(r1) /* 80042FF4 0003EC54 F3 81 00 58 */ psq_st f28, 88(r1), 0, qr0 /* 80042FF8 0003EC58 DB 61 00 40 */ stfd f27, 0x40(r1) /* 80042FFC 0003EC5C F3 61 00 48 */ psq_st f27, 72(r1), 0, qr0 /* 80043000 0003EC60 DB 41 00 30 */ stfd f26, 0x30(r1) /* 80043004 0003EC64 F3 41 00 38 */ psq_st f26, 56(r1), 0, qr0 /* 80043008 0003EC68 39 61 00 30 */ addi r11, r1, 0x30 /* 8004300C 0003EC6C 48 18 41 19 */ bl _savegpr_26 /* 80043010 0003EC70 C0 02 83 50 */ lfs f0, lbl_80640950-_SDA2_BASE_(r2) /* 80043014 0003EC74 FF E0 10 90 */ fmr f31, f2 /* 80043018 0003EC78 7C 7F 1B 78 */ mr r31, r3 /* 8004301C 0003EC7C FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80043020 0003EC80 4C 40 13 82 */ cror 2, 0, 2 /* 80043024 0003EC84 40 82 00 28 */ bne lbl_8004304C /* 80043028 0003EC88 7C C8 33 78 */ mr r8, r6 /* 8004302C 0003EC8C 38 C0 00 00 */ li r6, 0 /* 80043030 0003EC90 38 E0 00 00 */ li r7, 0 /* 80043034 0003EC94 38 63 05 60 */ addi r3, r3, 0x560 /* 80043038 0003EC98 4B FF DB 01 */ bl func_80040B38 /* 8004303C 0003EC9C 80 1F 06 D0 */ lwz r0, 0x6d0(r31) /* 80043040 0003ECA0 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d /* 80043044 0003ECA4 90 1F 06 D0 */ stw r0, 0x6d0(r31) /* 80043048 0003ECA8 48 00 02 44 */ b lbl_8004328C lbl_8004304C: /* 8004304C 0003ECAC 80 03 06 D0 */ lwz r0, 0x6d0(r3) /* 80043050 0003ECB0 2C 00 00 00 */ cmpwi r0, 0 /* 80043054 0003ECB4 41 82 00 F8 */ beq lbl_8004314C /* 80043058 0003ECB8 8B C3 05 D8 */ lbz r30, 0x5d8(r3) /* 8004305C 0003ECBC 83 A3 05 DC */ lwz r29, 0x5dc(r3) /* 80043060 0003ECC0 C3 C3 05 E0 */ lfs f30, 0x5e0(r3) /* 80043064 0003ECC4 C3 A3 05 E4 */ lfs f29, 0x5e4(r3) /* 80043068 0003ECC8 83 83 05 E8 */ lwz r28, 0x5e8(r3) /* 8004306C 0003ECCC C3 83 05 EC */ lfs f28, 0x5ec(r3) /* 80043070 0003ECD0 C3 63 05 F0 */ lfs f27, 0x5f0(r3) /* 80043074 0003ECD4 C3 43 05 F4 */ lfs f26, 0x5f4(r3) /* 80043078 0003ECD8 C1 A3 05 F8 */ lfs f13, 0x5f8(r3) /* 8004307C 0003ECDC C1 83 05 FC */ lfs f12, 0x5fc(r3) /* 80043080 0003ECE0 C1 63 06 00 */ lfs f11, 0x600(r3) /* 80043084 0003ECE4 C1 43 06 04 */ lfs f10, 0x604(r3) /* 80043088 0003ECE8 C1 23 06 08 */ lfs f9, 0x608(r3) /* 8004308C 0003ECEC C1 03 06 0C */ lfs f8, 0x60c(r3) /* 80043090 0003ECF0 C0 E3 06 10 */ lfs f7, 0x610(r3) /* 80043094 0003ECF4 C0 C3 06 14 */ lfs f6, 0x614(r3) /* 80043098 0003ECF8 C0 A3 06 18 */ lfs f5, 0x618(r3) /* 8004309C 0003ECFC C0 83 06 1C */ lfs f4, 0x61c(r3) /* 800430A0 0003ED00 C0 63 06 20 */ lfs f3, 0x620(r3) /* 800430A4 0003ED04 C0 43 06 24 */ lfs f2, 0x624(r3) /* 800430A8 0003ED08 C0 03 06 28 */ lfs f0, 0x628(r3) /* 800430AC 0003ED0C 83 63 06 2C */ lwz r27, 0x62c(r3) /* 800430B0 0003ED10 83 43 06 30 */ lwz r26, 0x630(r3) /* 800430B4 0003ED14 81 83 06 34 */ lwz r12, 0x634(r3) /* 800430B8 0003ED18 81 63 06 38 */ lwz r11, 0x638(r3) /* 800430BC 0003ED1C 81 43 06 3C */ lwz r10, 0x63c(r3) /* 800430C0 0003ED20 81 23 06 40 */ lwz r9, 0x640(r3) /* 800430C4 0003ED24 81 03 06 44 */ lwz r8, 0x644(r3) /* 800430C8 0003ED28 80 E3 06 48 */ lwz r7, 0x648(r3) /* 800430CC 0003ED2C 80 03 06 4C */ lwz r0, 0x64c(r3) /* 800430D0 0003ED30 9B C3 05 60 */ stb r30, 0x560(r3) /* 800430D4 0003ED34 93 A3 05 64 */ stw r29, 0x564(r3) /* 800430D8 0003ED38 D3 C3 05 68 */ stfs f30, 0x568(r3) /* 800430DC 0003ED3C D3 A3 05 6C */ stfs f29, 0x56c(r3) /* 800430E0 0003ED40 93 83 05 70 */ stw r28, 0x570(r3) /* 800430E4 0003ED44 D3 83 05 74 */ stfs f28, 0x574(r3) /* 800430E8 0003ED48 D3 63 05 78 */ stfs f27, 0x578(r3) /* 800430EC 0003ED4C D3 43 05 7C */ stfs f26, 0x57c(r3) /* 800430F0 0003ED50 D1 A3 05 80 */ stfs f13, 0x580(r3) /* 800430F4 0003ED54 D1 83 05 84 */ stfs f12, 0x584(r3) /* 800430F8 0003ED58 D1 63 05 88 */ stfs f11, 0x588(r3) /* 800430FC 0003ED5C D1 43 05 8C */ stfs f10, 0x58c(r3) /* 80043100 0003ED60 D1 23 05 90 */ stfs f9, 0x590(r3) /* 80043104 0003ED64 D1 03 05 94 */ stfs f8, 0x594(r3) /* 80043108 0003ED68 D0 E3 05 98 */ stfs f7, 0x598(r3) /* 8004310C 0003ED6C D0 C3 05 9C */ stfs f6, 0x59c(r3) /* 80043110 0003ED70 D0 A3 05 A0 */ stfs f5, 0x5a0(r3) /* 80043114 0003ED74 D0 83 05 A4 */ stfs f4, 0x5a4(r3) /* 80043118 0003ED78 D0 63 05 A8 */ stfs f3, 0x5a8(r3) /* 8004311C 0003ED7C D0 43 05 AC */ stfs f2, 0x5ac(r3) /* 80043120 0003ED80 D0 03 05 B0 */ stfs f0, 0x5b0(r3) /* 80043124 0003ED84 93 63 05 B4 */ stw r27, 0x5b4(r3) /* 80043128 0003ED88 93 43 05 B8 */ stw r26, 0x5b8(r3) /* 8004312C 0003ED8C 91 83 05 BC */ stw r12, 0x5bc(r3) /* 80043130 0003ED90 91 63 05 C0 */ stw r11, 0x5c0(r3) /* 80043134 0003ED94 91 43 05 C4 */ stw r10, 0x5c4(r3) /* 80043138 0003ED98 91 23 05 C8 */ stw r9, 0x5c8(r3) /* 8004313C 0003ED9C 91 03 05 CC */ stw r8, 0x5cc(r3) /* 80043140 0003EDA0 90 E3 05 D0 */ stw r7, 0x5d0(r3) /* 80043144 0003EDA4 90 03 05 D4 */ stw r0, 0x5d4(r3) /* 80043148 0003EDA8 48 00 00 F4 */ b lbl_8004323C lbl_8004314C: /* 8004314C 0003EDAC 8B 43 05 60 */ lbz r26, 0x560(r3) /* 80043150 0003EDB0 83 63 05 64 */ lwz r27, 0x564(r3) /* 80043154 0003EDB4 C3 43 05 68 */ lfs f26, 0x568(r3) /* 80043158 0003EDB8 C3 63 05 6C */ lfs f27, 0x56c(r3) /* 8004315C 0003EDBC 83 83 05 70 */ lwz r28, 0x570(r3) /* 80043160 0003EDC0 C3 83 05 74 */ lfs f28, 0x574(r3) /* 80043164 0003EDC4 C3 A3 05 78 */ lfs f29, 0x578(r3) /* 80043168 0003EDC8 C3 C3 05 7C */ lfs f30, 0x57c(r3) /* 8004316C 0003EDCC C1 A3 05 80 */ lfs f13, 0x580(r3) /* 80043170 0003EDD0 C1 83 05 84 */ lfs f12, 0x584(r3) /* 80043174 0003EDD4 C1 63 05 88 */ lfs f11, 0x588(r3) /* 80043178 0003EDD8 C1 43 05 8C */ lfs f10, 0x58c(r3) /* 8004317C 0003EDDC C1 23 05 90 */ lfs f9, 0x590(r3) /* 80043180 0003EDE0 C1 03 05 94 */ lfs f8, 0x594(r3) /* 80043184 0003EDE4 C0 E3 05 98 */ lfs f7, 0x598(r3) /* 80043188 0003EDE8 C0 C3 05 9C */ lfs f6, 0x59c(r3) /* 8004318C 0003EDEC C0 A3 05 A0 */ lfs f5, 0x5a0(r3) /* 80043190 0003EDF0 C0 83 05 A4 */ lfs f4, 0x5a4(r3) /* 80043194 0003EDF4 C0 63 05 A8 */ lfs f3, 0x5a8(r3) /* 80043198 0003EDF8 C0 43 05 AC */ lfs f2, 0x5ac(r3) /* 8004319C 0003EDFC C0 03 05 B0 */ lfs f0, 0x5b0(r3) /* 800431A0 0003EE00 83 A3 05 B4 */ lwz r29, 0x5b4(r3) /* 800431A4 0003EE04 83 C3 05 B8 */ lwz r30, 0x5b8(r3) /* 800431A8 0003EE08 81 83 05 BC */ lwz r12, 0x5bc(r3) /* 800431AC 0003EE0C 81 63 05 C0 */ lwz r11, 0x5c0(r3) /* 800431B0 0003EE10 81 43 05 C4 */ lwz r10, 0x5c4(r3) /* 800431B4 0003EE14 81 23 05 C8 */ lwz r9, 0x5c8(r3) /* 800431B8 0003EE18 81 03 05 CC */ lwz r8, 0x5cc(r3) /* 800431BC 0003EE1C 80 E3 05 D0 */ lwz r7, 0x5d0(r3) /* 800431C0 0003EE20 80 03 05 D4 */ lwz r0, 0x5d4(r3) /* 800431C4 0003EE24 9B 43 05 D8 */ stb r26, 0x5d8(r3) /* 800431C8 0003EE28 93 63 05 DC */ stw r27, 0x5dc(r3) /* 800431CC 0003EE2C D3 43 05 E0 */ stfs f26, 0x5e0(r3) /* 800431D0 0003EE30 D3 63 05 E4 */ stfs f27, 0x5e4(r3) /* 800431D4 0003EE34 93 83 05 E8 */ stw r28, 0x5e8(r3) /* 800431D8 0003EE38 D3 83 05 EC */ stfs f28, 0x5ec(r3) /* 800431DC 0003EE3C D3 A3 05 F0 */ stfs f29, 0x5f0(r3) /* 800431E0 0003EE40 D3 C3 05 F4 */ stfs f30, 0x5f4(r3) /* 800431E4 0003EE44 D1 A3 05 F8 */ stfs f13, 0x5f8(r3) /* 800431E8 0003EE48 D1 83 05 FC */ stfs f12, 0x5fc(r3) /* 800431EC 0003EE4C D1 63 06 00 */ stfs f11, 0x600(r3) /* 800431F0 0003EE50 D1 43 06 04 */ stfs f10, 0x604(r3) /* 800431F4 0003EE54 D1 23 06 08 */ stfs f9, 0x608(r3) /* 800431F8 0003EE58 D1 03 06 0C */ stfs f8, 0x60c(r3) /* 800431FC 0003EE5C D0 E3 06 10 */ stfs f7, 0x610(r3) /* 80043200 0003EE60 D0 C3 06 14 */ stfs f6, 0x614(r3) /* 80043204 0003EE64 D0 A3 06 18 */ stfs f5, 0x618(r3) /* 80043208 0003EE68 D0 83 06 1C */ stfs f4, 0x61c(r3) /* 8004320C 0003EE6C D0 63 06 20 */ stfs f3, 0x620(r3) /* 80043210 0003EE70 D0 43 06 24 */ stfs f2, 0x624(r3) /* 80043214 0003EE74 D0 03 06 28 */ stfs f0, 0x628(r3) /* 80043218 0003EE78 93 A3 06 2C */ stw r29, 0x62c(r3) /* 8004321C 0003EE7C 93 C3 06 30 */ stw r30, 0x630(r3) /* 80043220 0003EE80 91 83 06 34 */ stw r12, 0x634(r3) /* 80043224 0003EE84 91 63 06 38 */ stw r11, 0x638(r3) /* 80043228 0003EE88 91 43 06 3C */ stw r10, 0x63c(r3) /* 8004322C 0003EE8C 91 23 06 40 */ stw r9, 0x640(r3) /* 80043230 0003EE90 91 03 06 44 */ stw r8, 0x644(r3) /* 80043234 0003EE94 90 E3 06 48 */ stw r7, 0x648(r3) /* 80043238 0003EE98 90 03 06 4C */ stw r0, 0x64c(r3) lbl_8004323C: /* 8004323C 0003EE9C 7C C8 33 78 */ mr r8, r6 /* 80043240 0003EEA0 38 C0 00 00 */ li r6, 0 /* 80043244 0003EEA4 38 E0 00 00 */ li r7, 0 /* 80043248 0003EEA8 38 63 06 50 */ addi r3, r3, 0x650 /* 8004324C 0003EEAC 4B FF D8 ED */ bl func_80040B38 /* 80043250 0003EEB0 80 1F 06 D0 */ lwz r0, 0x6d0(r31) /* 80043254 0003EEB4 38 7F 06 50 */ addi r3, r31, 0x650 /* 80043258 0003EEB8 C0 22 82 B0 */ lfs f1, lbl_806408B0-_SDA2_BASE_(r2) /* 8004325C 0003EEBC 38 81 00 08 */ addi r4, r1, 8 /* 80043260 0003EEC0 60 00 00 01 */ ori r0, r0, 1 /* 80043264 0003EEC4 D3 FF 06 D4 */ stfs f31, 0x6d4(r31) /* 80043268 0003EEC8 C0 1F 05 74 */ lfs f0, 0x574(r31) /* 8004326C 0003EECC 90 1F 06 D0 */ stw r0, 0x6d0(r31) /* 80043270 0003EED0 D0 3F 06 D8 */ stfs f1, 0x6d8(r31) /* 80043274 0003EED4 D0 01 00 08 */ stfs f0, 8(r1) /* 80043278 0003EED8 C0 1F 05 78 */ lfs f0, 0x578(r31) /* 8004327C 0003EEDC D0 01 00 0C */ stfs f0, 0xc(r1) /* 80043280 0003EEE0 C0 1F 05 7C */ lfs f0, 0x57c(r31) /* 80043284 0003EEE4 D0 01 00 10 */ stfs f0, 0x10(r1) /* 80043288 0003EEE8 4B FF D6 A1 */ bl func_80040928 lbl_8004328C: /* 8004328C 0003EEEC 80 7F 04 BC */ lwz r3, 0x4bc(r31) /* 80043290 0003EEF0 38 00 00 01 */ li r0, 1 /* 80043294 0003EEF4 98 1F 00 02 */ stb r0, 2(r31) /* 80043298 0003EEF8 54 60 07 FF */ clrlwi. r0, r3, 0x1f /* 8004329C 0003EEFC 41 82 00 0C */ beq lbl_800432A8 /* 800432A0 0003EF00 60 60 00 04 */ ori r0, r3, 4 /* 800432A4 0003EF04 90 1F 04 BC */ stw r0, 0x4bc(r31) lbl_800432A8: /* 800432A8 0003EF08 38 7F 00 B8 */ addi r3, r31, 0xb8 /* 800432AC 0003EF0C 48 00 D0 DD */ bl func_80050388 /* 800432B0 0003EF10 38 7F 00 DC */ addi r3, r31, 0xdc /* 800432B4 0003EF14 48 00 D0 D5 */ bl func_80050388 /* 800432B8 0003EF18 38 7F 01 00 */ addi r3, r31, 0x100 /* 800432BC 0003EF1C 48 00 D0 CD */ bl func_80050388 /* 800432C0 0003EF20 38 00 00 01 */ li r0, 1 /* 800432C4 0003EF24 98 1F 00 01 */ stb r0, 1(r31) /* 800432C8 0003EF28 E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0 /* 800432CC 0003EF2C CB E1 00 80 */ lfd f31, 0x80(r1) /* 800432D0 0003EF30 E3 C1 00 78 */ psq_l f30, 120(r1), 0, qr0 /* 800432D4 0003EF34 CB C1 00 70 */ lfd f30, 0x70(r1) /* 800432D8 0003EF38 E3 A1 00 68 */ psq_l f29, 104(r1), 0, qr0 /* 800432DC 0003EF3C CB A1 00 60 */ lfd f29, 0x60(r1) /* 800432E0 0003EF40 E3 81 00 58 */ psq_l f28, 88(r1), 0, qr0 /* 800432E4 0003EF44 CB 81 00 50 */ lfd f28, 0x50(r1) /* 800432E8 0003EF48 E3 61 00 48 */ psq_l f27, 72(r1), 0, qr0 /* 800432EC 0003EF4C CB 61 00 40 */ lfd f27, 0x40(r1) /* 800432F0 0003EF50 E3 41 00 38 */ psq_l f26, 56(r1), 0, qr0 /* 800432F4 0003EF54 CB 41 00 30 */ lfd f26, 0x30(r1) /* 800432F8 0003EF58 39 61 00 30 */ addi r11, r1, 0x30 /* 800432FC 0003EF5C 48 18 3E 75 */ bl _restgpr_26 /* 80043300 0003EF60 80 01 00 94 */ lwz r0, 0x94(r1) /* 80043304 0003EF64 7C 08 03 A6 */ mtlr r0 /* 80043308 0003EF68 38 21 00 90 */ addi r1, r1, 0x90 /* 8004330C 0003EF6C 4E 80 00 20 */ blr .global func_80043310 func_80043310: /* 80043310 0003EF70 94 21 FF 60 */ stwu r1, -0xa0(r1) /* 80043314 0003EF74 7C 08 02 A6 */ mflr r0 /* 80043318 0003EF78 90 01 00 A4 */ stw r0, 0xa4(r1) /* 8004331C 0003EF7C DB E1 00 90 */ stfd f31, 0x90(r1) /* 80043320 0003EF80 F3 E1 00 98 */ psq_st f31, 152(r1), 0, qr0 /* 80043324 0003EF84 DB C1 00 80 */ stfd f30, 0x80(r1) /* 80043328 0003EF88 F3 C1 00 88 */ psq_st f30, 136(r1), 0, qr0 /* 8004332C 0003EF8C DB A1 00 70 */ stfd f29, 0x70(r1) /* 80043330 0003EF90 F3 A1 00 78 */ psq_st f29, 120(r1), 0, qr0 /* 80043334 0003EF94 DB 81 00 60 */ stfd f28, 0x60(r1) /* 80043338 0003EF98 F3 81 00 68 */ psq_st f28, 104(r1), 0, qr0 /* 8004333C 0003EF9C DB 61 00 50 */ stfd f27, 0x50(r1) /* 80043340 0003EFA0 F3 61 00 58 */ psq_st f27, 88(r1), 0, qr0 /* 80043344 0003EFA4 DB 41 00 40 */ stfd f26, 0x40(r1) /* 80043348 0003EFA8 F3 41 00 48 */ psq_st f26, 72(r1), 0, qr0 /* 8004334C 0003EFAC 39 61 00 40 */ addi r11, r1, 0x40 /* 80043350 0003EFB0 48 18 3D CD */ bl _savegpr_24 /* 80043354 0003EFB4 C0 02 83 50 */ lfs f0, lbl_80640950-_SDA2_BASE_(r2) /* 80043358 0003EFB8 FF E0 10 90 */ fmr f31, f2 /* 8004335C 0003EFBC 7C 7F 1B 78 */ mr r31, r3 /* 80043360 0003EFC0 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80043364 0003EFC4 4C 40 13 82 */ cror 2, 0, 2 /* 80043368 0003EFC8 40 82 00 1C */ bne lbl_80043384 /* 8004336C 0003EFCC 38 63 05 60 */ addi r3, r3, 0x560 /* 80043370 0003EFD0 4B FF D7 C9 */ bl func_80040B38 /* 80043374 0003EFD4 80 1F 06 D0 */ lwz r0, 0x6d0(r31) /* 80043378 0003EFD8 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d /* 8004337C 0003EFDC 90 1F 06 D0 */ stw r0, 0x6d0(r31) /* 80043380 0003EFE0 48 00 02 38 */ b lbl_800435B8 lbl_80043384: /* 80043384 0003EFE4 80 03 06 D0 */ lwz r0, 0x6d0(r3) /* 80043388 0003EFE8 2C 00 00 00 */ cmpwi r0, 0 /* 8004338C 0003EFEC 41 82 00 F8 */ beq lbl_80043484 /* 80043390 0003EFF0 8B C3 05 D8 */ lbz r30, 0x5d8(r3) /* 80043394 0003EFF4 83 A3 05 DC */ lwz r29, 0x5dc(r3) /* 80043398 0003EFF8 C3 C3 05 E0 */ lfs f30, 0x5e0(r3) /* 8004339C 0003EFFC C3 A3 05 E4 */ lfs f29, 0x5e4(r3) /* 800433A0 0003F000 83 83 05 E8 */ lwz r28, 0x5e8(r3) /* 800433A4 0003F004 C3 83 05 EC */ lfs f28, 0x5ec(r3) /* 800433A8 0003F008 C3 63 05 F0 */ lfs f27, 0x5f0(r3) /* 800433AC 0003F00C C3 43 05 F4 */ lfs f26, 0x5f4(r3) /* 800433B0 0003F010 C1 A3 05 F8 */ lfs f13, 0x5f8(r3) /* 800433B4 0003F014 C1 83 05 FC */ lfs f12, 0x5fc(r3) /* 800433B8 0003F018 C1 63 06 00 */ lfs f11, 0x600(r3) /* 800433BC 0003F01C C1 43 06 04 */ lfs f10, 0x604(r3) /* 800433C0 0003F020 C1 23 06 08 */ lfs f9, 0x608(r3) /* 800433C4 0003F024 C1 03 06 0C */ lfs f8, 0x60c(r3) /* 800433C8 0003F028 C0 E3 06 10 */ lfs f7, 0x610(r3) /* 800433CC 0003F02C C0 C3 06 14 */ lfs f6, 0x614(r3) /* 800433D0 0003F030 C0 A3 06 18 */ lfs f5, 0x618(r3) /* 800433D4 0003F034 C0 83 06 1C */ lfs f4, 0x61c(r3) /* 800433D8 0003F038 C0 63 06 20 */ lfs f3, 0x620(r3) /* 800433DC 0003F03C C0 43 06 24 */ lfs f2, 0x624(r3) /* 800433E0 0003F040 C0 03 06 28 */ lfs f0, 0x628(r3) /* 800433E4 0003F044 83 63 06 2C */ lwz r27, 0x62c(r3) /* 800433E8 0003F048 83 43 06 30 */ lwz r26, 0x630(r3) /* 800433EC 0003F04C 83 23 06 34 */ lwz r25, 0x634(r3) /* 800433F0 0003F050 83 03 06 38 */ lwz r24, 0x638(r3) /* 800433F4 0003F054 81 83 06 3C */ lwz r12, 0x63c(r3) /* 800433F8 0003F058 81 63 06 40 */ lwz r11, 0x640(r3) /* 800433FC 0003F05C 81 43 06 44 */ lwz r10, 0x644(r3) /* 80043400 0003F060 81 23 06 48 */ lwz r9, 0x648(r3) /* 80043404 0003F064 80 03 06 4C */ lwz r0, 0x64c(r3) /* 80043408 0003F068 9B C3 05 60 */ stb r30, 0x560(r3) /* 8004340C 0003F06C 93 A3 05 64 */ stw r29, 0x564(r3) /* 80043410 0003F070 D3 C3 05 68 */ stfs f30, 0x568(r3) /* 80043414 0003F074 D3 A3 05 6C */ stfs f29, 0x56c(r3) /* 80043418 0003F078 93 83 05 70 */ stw r28, 0x570(r3) /* 8004341C 0003F07C D3 83 05 74 */ stfs f28, 0x574(r3) /* 80043420 0003F080 D3 63 05 78 */ stfs f27, 0x578(r3) /* 80043424 0003F084 D3 43 05 7C */ stfs f26, 0x57c(r3) /* 80043428 0003F088 D1 A3 05 80 */ stfs f13, 0x580(r3) /* 8004342C 0003F08C D1 83 05 84 */ stfs f12, 0x584(r3) /* 80043430 0003F090 D1 63 05 88 */ stfs f11, 0x588(r3) /* 80043434 0003F094 D1 43 05 8C */ stfs f10, 0x58c(r3) /* 80043438 0003F098 D1 23 05 90 */ stfs f9, 0x590(r3) /* 8004343C 0003F09C D1 03 05 94 */ stfs f8, 0x594(r3) /* 80043440 0003F0A0 D0 E3 05 98 */ stfs f7, 0x598(r3) /* 80043444 0003F0A4 D0 C3 05 9C */ stfs f6, 0x59c(r3) /* 80043448 0003F0A8 D0 A3 05 A0 */ stfs f5, 0x5a0(r3) /* 8004344C 0003F0AC D0 83 05 A4 */ stfs f4, 0x5a4(r3) /* 80043450 0003F0B0 D0 63 05 A8 */ stfs f3, 0x5a8(r3) /* 80043454 0003F0B4 D0 43 05 AC */ stfs f2, 0x5ac(r3) /* 80043458 0003F0B8 D0 03 05 B0 */ stfs f0, 0x5b0(r3) /* 8004345C 0003F0BC 93 63 05 B4 */ stw r27, 0x5b4(r3) /* 80043460 0003F0C0 93 43 05 B8 */ stw r26, 0x5b8(r3) /* 80043464 0003F0C4 93 23 05 BC */ stw r25, 0x5bc(r3) /* 80043468 0003F0C8 93 03 05 C0 */ stw r24, 0x5c0(r3) /* 8004346C 0003F0CC 91 83 05 C4 */ stw r12, 0x5c4(r3) /* 80043470 0003F0D0 91 63 05 C8 */ stw r11, 0x5c8(r3) /* 80043474 0003F0D4 91 43 05 CC */ stw r10, 0x5cc(r3) /* 80043478 0003F0D8 91 23 05 D0 */ stw r9, 0x5d0(r3) /* 8004347C 0003F0DC 90 03 05 D4 */ stw r0, 0x5d4(r3) /* 80043480 0003F0E0 48 00 00 F4 */ b lbl_80043574 lbl_80043484: /* 80043484 0003F0E4 8B 03 05 60 */ lbz r24, 0x560(r3) /* 80043488 0003F0E8 83 23 05 64 */ lwz r25, 0x564(r3) /* 8004348C 0003F0EC C3 43 05 68 */ lfs f26, 0x568(r3) /* 80043490 0003F0F0 C3 63 05 6C */ lfs f27, 0x56c(r3) /* 80043494 0003F0F4 83 43 05 70 */ lwz r26, 0x570(r3) /* 80043498 0003F0F8 C3 83 05 74 */ lfs f28, 0x574(r3) /* 8004349C 0003F0FC C3 A3 05 78 */ lfs f29, 0x578(r3) /* 800434A0 0003F100 C3 C3 05 7C */ lfs f30, 0x57c(r3) /* 800434A4 0003F104 C1 A3 05 80 */ lfs f13, 0x580(r3) /* 800434A8 0003F108 C1 83 05 84 */ lfs f12, 0x584(r3) /* 800434AC 0003F10C C1 63 05 88 */ lfs f11, 0x588(r3) /* 800434B0 0003F110 C1 43 05 8C */ lfs f10, 0x58c(r3) /* 800434B4 0003F114 C1 23 05 90 */ lfs f9, 0x590(r3) /* 800434B8 0003F118 C1 03 05 94 */ lfs f8, 0x594(r3) /* 800434BC 0003F11C C0 E3 05 98 */ lfs f7, 0x598(r3) /* 800434C0 0003F120 C0 C3 05 9C */ lfs f6, 0x59c(r3) /* 800434C4 0003F124 C0 A3 05 A0 */ lfs f5, 0x5a0(r3) /* 800434C8 0003F128 C0 83 05 A4 */ lfs f4, 0x5a4(r3) /* 800434CC 0003F12C C0 63 05 A8 */ lfs f3, 0x5a8(r3) /* 800434D0 0003F130 C0 43 05 AC */ lfs f2, 0x5ac(r3) /* 800434D4 0003F134 C0 03 05 B0 */ lfs f0, 0x5b0(r3) /* 800434D8 0003F138 83 63 05 B4 */ lwz r27, 0x5b4(r3) /* 800434DC 0003F13C 83 83 05 B8 */ lwz r28, 0x5b8(r3) /* 800434E0 0003F140 83 A3 05 BC */ lwz r29, 0x5bc(r3) /* 800434E4 0003F144 83 C3 05 C0 */ lwz r30, 0x5c0(r3) /* 800434E8 0003F148 81 83 05 C4 */ lwz r12, 0x5c4(r3) /* 800434EC 0003F14C 81 63 05 C8 */ lwz r11, 0x5c8(r3) /* 800434F0 0003F150 81 43 05 CC */ lwz r10, 0x5cc(r3) /* 800434F4 0003F154 81 23 05 D0 */ lwz r9, 0x5d0(r3) /* 800434F8 0003F158 80 03 05 D4 */ lwz r0, 0x5d4(r3) /* 800434FC 0003F15C 9B 03 05 D8 */ stb r24, 0x5d8(r3) /* 80043500 0003F160 93 23 05 DC */ stw r25, 0x5dc(r3) /* 80043504 0003F164 D3 43 05 E0 */ stfs f26, 0x5e0(r3) /* 80043508 0003F168 D3 63 05 E4 */ stfs f27, 0x5e4(r3) /* 8004350C 0003F16C 93 43 05 E8 */ stw r26, 0x5e8(r3) /* 80043510 0003F170 D3 83 05 EC */ stfs f28, 0x5ec(r3) /* 80043514 0003F174 D3 A3 05 F0 */ stfs f29, 0x5f0(r3) /* 80043518 0003F178 D3 C3 05 F4 */ stfs f30, 0x5f4(r3) /* 8004351C 0003F17C D1 A3 05 F8 */ stfs f13, 0x5f8(r3) /* 80043520 0003F180 D1 83 05 FC */ stfs f12, 0x5fc(r3) /* 80043524 0003F184 D1 63 06 00 */ stfs f11, 0x600(r3) /* 80043528 0003F188 D1 43 06 04 */ stfs f10, 0x604(r3) /* 8004352C 0003F18C D1 23 06 08 */ stfs f9, 0x608(r3) /* 80043530 0003F190 D1 03 06 0C */ stfs f8, 0x60c(r3) /* 80043534 0003F194 D0 E3 06 10 */ stfs f7, 0x610(r3) /* 80043538 0003F198 D0 C3 06 14 */ stfs f6, 0x614(r3) /* 8004353C 0003F19C D0 A3 06 18 */ stfs f5, 0x618(r3) /* 80043540 0003F1A0 D0 83 06 1C */ stfs f4, 0x61c(r3) /* 80043544 0003F1A4 D0 63 06 20 */ stfs f3, 0x620(r3) /* 80043548 0003F1A8 D0 43 06 24 */ stfs f2, 0x624(r3) /* 8004354C 0003F1AC D0 03 06 28 */ stfs f0, 0x628(r3) /* 80043550 0003F1B0 93 63 06 2C */ stw r27, 0x62c(r3) /* 80043554 0003F1B4 93 83 06 30 */ stw r28, 0x630(r3) /* 80043558 0003F1B8 93 A3 06 34 */ stw r29, 0x634(r3) /* 8004355C 0003F1BC 93 C3 06 38 */ stw r30, 0x638(r3) /* 80043560 0003F1C0 91 83 06 3C */ stw r12, 0x63c(r3) /* 80043564 0003F1C4 91 63 06 40 */ stw r11, 0x640(r3) /* 80043568 0003F1C8 91 43 06 44 */ stw r10, 0x644(r3) /* 8004356C 0003F1CC 91 23 06 48 */ stw r9, 0x648(r3) /* 80043570 0003F1D0 90 03 06 4C */ stw r0, 0x64c(r3) lbl_80043574: /* 80043574 0003F1D4 38 63 06 50 */ addi r3, r3, 0x650 /* 80043578 0003F1D8 4B FF D5 C1 */ bl func_80040B38 /* 8004357C 0003F1DC 80 1F 06 D0 */ lwz r0, 0x6d0(r31) /* 80043580 0003F1E0 38 7F 06 50 */ addi r3, r31, 0x650 /* 80043584 0003F1E4 C0 22 82 B0 */ lfs f1, lbl_806408B0-_SDA2_BASE_(r2) /* 80043588 0003F1E8 38 81 00 08 */ addi r4, r1, 8 /* 8004358C 0003F1EC 60 00 00 01 */ ori r0, r0, 1 /* 80043590 0003F1F0 D3 FF 06 D4 */ stfs f31, 0x6d4(r31) /* 80043594 0003F1F4 C0 1F 05 74 */ lfs f0, 0x574(r31) /* 80043598 0003F1F8 90 1F 06 D0 */ stw r0, 0x6d0(r31) /* 8004359C 0003F1FC D0 3F 06 D8 */ stfs f1, 0x6d8(r31) /* 800435A0 0003F200 D0 01 00 08 */ stfs f0, 8(r1) /* 800435A4 0003F204 C0 1F 05 78 */ lfs f0, 0x578(r31) /* 800435A8 0003F208 D0 01 00 0C */ stfs f0, 0xc(r1) /* 800435AC 0003F20C C0 1F 05 7C */ lfs f0, 0x57c(r31) /* 800435B0 0003F210 D0 01 00 10 */ stfs f0, 0x10(r1) /* 800435B4 0003F214 4B FF D3 75 */ bl func_80040928 lbl_800435B8: /* 800435B8 0003F218 80 7F 04 BC */ lwz r3, 0x4bc(r31) /* 800435BC 0003F21C 38 00 00 01 */ li r0, 1 /* 800435C0 0003F220 98 1F 00 02 */ stb r0, 2(r31) /* 800435C4 0003F224 54 60 07 FF */ clrlwi. r0, r3, 0x1f /* 800435C8 0003F228 41 82 00 0C */ beq lbl_800435D4 /* 800435CC 0003F22C 60 60 00 04 */ ori r0, r3, 4 /* 800435D0 0003F230 90 1F 04 BC */ stw r0, 0x4bc(r31) lbl_800435D4: /* 800435D4 0003F234 38 7F 00 B8 */ addi r3, r31, 0xb8 /* 800435D8 0003F238 48 00 CD B1 */ bl func_80050388 /* 800435DC 0003F23C 38 7F 00 DC */ addi r3, r31, 0xdc /* 800435E0 0003F240 48 00 CD A9 */ bl func_80050388 /* 800435E4 0003F244 38 7F 01 00 */ addi r3, r31, 0x100 /* 800435E8 0003F248 48 00 CD A1 */ bl func_80050388 /* 800435EC 0003F24C 38 00 00 01 */ li r0, 1 /* 800435F0 0003F250 98 1F 00 01 */ stb r0, 1(r31) /* 800435F4 0003F254 E3 E1 00 98 */ psq_l f31, 152(r1), 0, qr0 /* 800435F8 0003F258 CB E1 00 90 */ lfd f31, 0x90(r1) /* 800435FC 0003F25C E3 C1 00 88 */ psq_l f30, 136(r1), 0, qr0 /* 80043600 0003F260 CB C1 00 80 */ lfd f30, 0x80(r1) /* 80043604 0003F264 E3 A1 00 78 */ psq_l f29, 120(r1), 0, qr0 /* 80043608 0003F268 CB A1 00 70 */ lfd f29, 0x70(r1) /* 8004360C 0003F26C E3 81 00 68 */ psq_l f28, 104(r1), 0, qr0 /* 80043610 0003F270 CB 81 00 60 */ lfd f28, 0x60(r1) /* 80043614 0003F274 E3 61 00 58 */ psq_l f27, 88(r1), 0, qr0 /* 80043618 0003F278 CB 61 00 50 */ lfd f27, 0x50(r1) /* 8004361C 0003F27C E3 41 00 48 */ psq_l f26, 72(r1), 0, qr0 /* 80043620 0003F280 CB 41 00 40 */ lfd f26, 0x40(r1) /* 80043624 0003F284 39 61 00 40 */ addi r11, r1, 0x40 /* 80043628 0003F288 48 18 3B 41 */ bl _restgpr_24 /* 8004362C 0003F28C 80 01 00 A4 */ lwz r0, 0xa4(r1) /* 80043630 0003F290 7C 08 03 A6 */ mtlr r0 /* 80043634 0003F294 38 21 00 A0 */ addi r1, r1, 0xa0 /* 80043638 0003F298 4E 80 00 20 */ blr .global func_8004363C func_8004363C: /* 8004363C 0003F29C 94 21 FF 70 */ stwu r1, -0x90(r1) /* 80043640 0003F2A0 7C 08 02 A6 */ mflr r0 /* 80043644 0003F2A4 90 01 00 94 */ stw r0, 0x94(r1) /* 80043648 0003F2A8 DB E1 00 80 */ stfd f31, 0x80(r1) /* 8004364C 0003F2AC F3 E1 00 88 */ psq_st f31, 136(r1), 0, qr0 /* 80043650 0003F2B0 DB C1 00 70 */ stfd f30, 0x70(r1) /* 80043654 0003F2B4 F3 C1 00 78 */ psq_st f30, 120(r1), 0, qr0 /* 80043658 0003F2B8 DB A1 00 60 */ stfd f29, 0x60(r1) /* 8004365C 0003F2BC F3 A1 00 68 */ psq_st f29, 104(r1), 0, qr0 /* 80043660 0003F2C0 DB 81 00 50 */ stfd f28, 0x50(r1) /* 80043664 0003F2C4 F3 81 00 58 */ psq_st f28, 88(r1), 0, qr0 /* 80043668 0003F2C8 DB 61 00 40 */ stfd f27, 0x40(r1) /* 8004366C 0003F2CC F3 61 00 48 */ psq_st f27, 72(r1), 0, qr0 /* 80043670 0003F2D0 DB 41 00 30 */ stfd f26, 0x30(r1) /* 80043674 0003F2D4 F3 41 00 38 */ psq_st f26, 56(r1), 0, qr0 /* 80043678 0003F2D8 39 61 00 30 */ addi r11, r1, 0x30 /* 8004367C 0003F2DC 48 18 3A A9 */ bl _savegpr_26 /* 80043680 0003F2E0 C0 02 83 50 */ lfs f0, lbl_80640950-_SDA2_BASE_(r2) /* 80043684 0003F2E4 FF E0 10 90 */ fmr f31, f2 /* 80043688 0003F2E8 7C 7F 1B 78 */ mr r31, r3 /* 8004368C 0003F2EC FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80043690 0003F2F0 4C 40 13 82 */ cror 2, 0, 2 /* 80043694 0003F2F4 40 82 00 28 */ bne lbl_800436BC /* 80043698 0003F2F8 7C C8 33 78 */ mr r8, r6 /* 8004369C 0003F2FC 38 C0 00 00 */ li r6, 0 /* 800436A0 0003F300 38 E0 00 00 */ li r7, 0 /* 800436A4 0003F304 38 63 05 60 */ addi r3, r3, 0x560 /* 800436A8 0003F308 4B FF D4 91 */ bl func_80040B38 /* 800436AC 0003F30C 80 1F 06 D0 */ lwz r0, 0x6d0(r31) /* 800436B0 0003F310 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d /* 800436B4 0003F314 90 1F 06 D0 */ stw r0, 0x6d0(r31) /* 800436B8 0003F318 48 00 02 4C */ b lbl_80043904 lbl_800436BC: /* 800436BC 0003F31C 80 03 06 D0 */ lwz r0, 0x6d0(r3) /* 800436C0 0003F320 2C 00 00 00 */ cmpwi r0, 0 /* 800436C4 0003F324 41 82 00 F8 */ beq lbl_800437BC /* 800436C8 0003F328 8B C3 05 D8 */ lbz r30, 0x5d8(r3) /* 800436CC 0003F32C 83 A3 05 DC */ lwz r29, 0x5dc(r3) /* 800436D0 0003F330 C3 C3 05 E0 */ lfs f30, 0x5e0(r3) /* 800436D4 0003F334 C3 A3 05 E4 */ lfs f29, 0x5e4(r3) /* 800436D8 0003F338 83 83 05 E8 */ lwz r28, 0x5e8(r3) /* 800436DC 0003F33C C3 83 05 EC */ lfs f28, 0x5ec(r3) /* 800436E0 0003F340 C3 63 05 F0 */ lfs f27, 0x5f0(r3) /* 800436E4 0003F344 C3 43 05 F4 */ lfs f26, 0x5f4(r3) /* 800436E8 0003F348 C1 A3 05 F8 */ lfs f13, 0x5f8(r3) /* 800436EC 0003F34C C1 83 05 FC */ lfs f12, 0x5fc(r3) /* 800436F0 0003F350 C1 63 06 00 */ lfs f11, 0x600(r3) /* 800436F4 0003F354 C1 43 06 04 */ lfs f10, 0x604(r3) /* 800436F8 0003F358 C1 23 06 08 */ lfs f9, 0x608(r3) /* 800436FC 0003F35C C1 03 06 0C */ lfs f8, 0x60c(r3) /* 80043700 0003F360 C0 E3 06 10 */ lfs f7, 0x610(r3) /* 80043704 0003F364 C0 C3 06 14 */ lfs f6, 0x614(r3) /* 80043708 0003F368 C0 A3 06 18 */ lfs f5, 0x618(r3) /* 8004370C 0003F36C C0 83 06 1C */ lfs f4, 0x61c(r3) /* 80043710 0003F370 C0 63 06 20 */ lfs f3, 0x620(r3) /* 80043714 0003F374 C0 43 06 24 */ lfs f2, 0x624(r3) /* 80043718 0003F378 C0 03 06 28 */ lfs f0, 0x628(r3) /* 8004371C 0003F37C 83 63 06 2C */ lwz r27, 0x62c(r3) /* 80043720 0003F380 83 43 06 30 */ lwz r26, 0x630(r3) /* 80043724 0003F384 81 83 06 34 */ lwz r12, 0x634(r3) /* 80043728 0003F388 81 63 06 38 */ lwz r11, 0x638(r3) /* 8004372C 0003F38C 81 43 06 3C */ lwz r10, 0x63c(r3) /* 80043730 0003F390 81 23 06 40 */ lwz r9, 0x640(r3) /* 80043734 0003F394 81 03 06 44 */ lwz r8, 0x644(r3) /* 80043738 0003F398 80 E3 06 48 */ lwz r7, 0x648(r3) /* 8004373C 0003F39C 80 03 06 4C */ lwz r0, 0x64c(r3) /* 80043740 0003F3A0 9B C3 05 60 */ stb r30, 0x560(r3) /* 80043744 0003F3A4 93 A3 05 64 */ stw r29, 0x564(r3) /* 80043748 0003F3A8 D3 C3 05 68 */ stfs f30, 0x568(r3) /* 8004374C 0003F3AC D3 A3 05 6C */ stfs f29, 0x56c(r3) /* 80043750 0003F3B0 93 83 05 70 */ stw r28, 0x570(r3) /* 80043754 0003F3B4 D3 83 05 74 */ stfs f28, 0x574(r3) /* 80043758 0003F3B8 D3 63 05 78 */ stfs f27, 0x578(r3) /* 8004375C 0003F3BC D3 43 05 7C */ stfs f26, 0x57c(r3) /* 80043760 0003F3C0 D1 A3 05 80 */ stfs f13, 0x580(r3) /* 80043764 0003F3C4 D1 83 05 84 */ stfs f12, 0x584(r3) /* 80043768 0003F3C8 D1 63 05 88 */ stfs f11, 0x588(r3) /* 8004376C 0003F3CC D1 43 05 8C */ stfs f10, 0x58c(r3) /* 80043770 0003F3D0 D1 23 05 90 */ stfs f9, 0x590(r3) /* 80043774 0003F3D4 D1 03 05 94 */ stfs f8, 0x594(r3) /* 80043778 0003F3D8 D0 E3 05 98 */ stfs f7, 0x598(r3) /* 8004377C 0003F3DC D0 C3 05 9C */ stfs f6, 0x59c(r3) /* 80043780 0003F3E0 D0 A3 05 A0 */ stfs f5, 0x5a0(r3) /* 80043784 0003F3E4 D0 83 05 A4 */ stfs f4, 0x5a4(r3) /* 80043788 0003F3E8 D0 63 05 A8 */ stfs f3, 0x5a8(r3) /* 8004378C 0003F3EC D0 43 05 AC */ stfs f2, 0x5ac(r3) /* 80043790 0003F3F0 D0 03 05 B0 */ stfs f0, 0x5b0(r3) /* 80043794 0003F3F4 93 63 05 B4 */ stw r27, 0x5b4(r3) /* 80043798 0003F3F8 93 43 05 B8 */ stw r26, 0x5b8(r3) /* 8004379C 0003F3FC 91 83 05 BC */ stw r12, 0x5bc(r3) /* 800437A0 0003F400 91 63 05 C0 */ stw r11, 0x5c0(r3) /* 800437A4 0003F404 91 43 05 C4 */ stw r10, 0x5c4(r3) /* 800437A8 0003F408 91 23 05 C8 */ stw r9, 0x5c8(r3) /* 800437AC 0003F40C 91 03 05 CC */ stw r8, 0x5cc(r3) /* 800437B0 0003F410 90 E3 05 D0 */ stw r7, 0x5d0(r3) /* 800437B4 0003F414 90 03 05 D4 */ stw r0, 0x5d4(r3) /* 800437B8 0003F418 48 00 00 F4 */ b lbl_800438AC lbl_800437BC: /* 800437BC 0003F41C 8B 43 05 60 */ lbz r26, 0x560(r3) /* 800437C0 0003F420 83 63 05 64 */ lwz r27, 0x564(r3) /* 800437C4 0003F424 C3 43 05 68 */ lfs f26, 0x568(r3) /* 800437C8 0003F428 C3 63 05 6C */ lfs f27, 0x56c(r3) /* 800437CC 0003F42C 83 83 05 70 */ lwz r28, 0x570(r3) /* 800437D0 0003F430 C3 83 05 74 */ lfs f28, 0x574(r3) /* 800437D4 0003F434 C3 A3 05 78 */ lfs f29, 0x578(r3) /* 800437D8 0003F438 C3 C3 05 7C */ lfs f30, 0x57c(r3) /* 800437DC 0003F43C C1 A3 05 80 */ lfs f13, 0x580(r3) /* 800437E0 0003F440 C1 83 05 84 */ lfs f12, 0x584(r3) /* 800437E4 0003F444 C1 63 05 88 */ lfs f11, 0x588(r3) /* 800437E8 0003F448 C1 43 05 8C */ lfs f10, 0x58c(r3) /* 800437EC 0003F44C C1 23 05 90 */ lfs f9, 0x590(r3) /* 800437F0 0003F450 C1 03 05 94 */ lfs f8, 0x594(r3) /* 800437F4 0003F454 C0 E3 05 98 */ lfs f7, 0x598(r3) /* 800437F8 0003F458 C0 C3 05 9C */ lfs f6, 0x59c(r3) /* 800437FC 0003F45C C0 A3 05 A0 */ lfs f5, 0x5a0(r3) /* 80043800 0003F460 C0 83 05 A4 */ lfs f4, 0x5a4(r3) /* 80043804 0003F464 C0 63 05 A8 */ lfs f3, 0x5a8(r3) /* 80043808 0003F468 C0 43 05 AC */ lfs f2, 0x5ac(r3) /* 8004380C 0003F46C C0 03 05 B0 */ lfs f0, 0x5b0(r3) /* 80043810 0003F470 83 A3 05 B4 */ lwz r29, 0x5b4(r3) /* 80043814 0003F474 83 C3 05 B8 */ lwz r30, 0x5b8(r3) /* 80043818 0003F478 81 83 05 BC */ lwz r12, 0x5bc(r3) /* 8004381C 0003F47C 81 63 05 C0 */ lwz r11, 0x5c0(r3) /* 80043820 0003F480 81 43 05 C4 */ lwz r10, 0x5c4(r3) /* 80043824 0003F484 81 23 05 C8 */ lwz r9, 0x5c8(r3) /* 80043828 0003F488 81 03 05 CC */ lwz r8, 0x5cc(r3) /* 8004382C 0003F48C 80 E3 05 D0 */ lwz r7, 0x5d0(r3) /* 80043830 0003F490 80 03 05 D4 */ lwz r0, 0x5d4(r3) /* 80043834 0003F494 9B 43 05 D8 */ stb r26, 0x5d8(r3) /* 80043838 0003F498 93 63 05 DC */ stw r27, 0x5dc(r3) /* 8004383C 0003F49C D3 43 05 E0 */ stfs f26, 0x5e0(r3) /* 80043840 0003F4A0 D3 63 05 E4 */ stfs f27, 0x5e4(r3) /* 80043844 0003F4A4 93 83 05 E8 */ stw r28, 0x5e8(r3) /* 80043848 0003F4A8 D3 83 05 EC */ stfs f28, 0x5ec(r3) /* 8004384C 0003F4AC D3 A3 05 F0 */ stfs f29, 0x5f0(r3) /* 80043850 0003F4B0 D3 C3 05 F4 */ stfs f30, 0x5f4(r3) /* 80043854 0003F4B4 D1 A3 05 F8 */ stfs f13, 0x5f8(r3) /* 80043858 0003F4B8 D1 83 05 FC */ stfs f12, 0x5fc(r3) /* 8004385C 0003F4BC D1 63 06 00 */ stfs f11, 0x600(r3) /* 80043860 0003F4C0 D1 43 06 04 */ stfs f10, 0x604(r3) /* 80043864 0003F4C4 D1 23 06 08 */ stfs f9, 0x608(r3) /* 80043868 0003F4C8 D1 03 06 0C */ stfs f8, 0x60c(r3) /* 8004386C 0003F4CC D0 E3 06 10 */ stfs f7, 0x610(r3) /* 80043870 0003F4D0 D0 C3 06 14 */ stfs f6, 0x614(r3) /* 80043874 0003F4D4 D0 A3 06 18 */ stfs f5, 0x618(r3) /* 80043878 0003F4D8 D0 83 06 1C */ stfs f4, 0x61c(r3) /* 8004387C 0003F4DC D0 63 06 20 */ stfs f3, 0x620(r3) /* 80043880 0003F4E0 D0 43 06 24 */ stfs f2, 0x624(r3) /* 80043884 0003F4E4 D0 03 06 28 */ stfs f0, 0x628(r3) /* 80043888 0003F4E8 93 A3 06 2C */ stw r29, 0x62c(r3) /* 8004388C 0003F4EC 93 C3 06 30 */ stw r30, 0x630(r3) /* 80043890 0003F4F0 91 83 06 34 */ stw r12, 0x634(r3) /* 80043894 0003F4F4 91 63 06 38 */ stw r11, 0x638(r3) /* 80043898 0003F4F8 91 43 06 3C */ stw r10, 0x63c(r3) /* 8004389C 0003F4FC 91 23 06 40 */ stw r9, 0x640(r3) /* 800438A0 0003F500 91 03 06 44 */ stw r8, 0x644(r3) /* 800438A4 0003F504 90 E3 06 48 */ stw r7, 0x648(r3) /* 800438A8 0003F508 90 03 06 4C */ stw r0, 0x64c(r3) lbl_800438AC: /* 800438AC 0003F50C 7C C8 33 78 */ mr r8, r6 /* 800438B0 0003F510 38 C0 00 00 */ li r6, 0 /* 800438B4 0003F514 38 E0 00 00 */ li r7, 0 /* 800438B8 0003F518 38 63 06 50 */ addi r3, r3, 0x650 /* 800438BC 0003F51C 4B FF D2 7D */ bl func_80040B38 /* 800438C0 0003F520 80 1F 06 D0 */ lwz r0, 0x6d0(r31) /* 800438C4 0003F524 38 7F 06 50 */ addi r3, r31, 0x650 /* 800438C8 0003F528 C0 22 82 B0 */ lfs f1, lbl_806408B0-_SDA2_BASE_(r2) /* 800438CC 0003F52C 38 81 00 08 */ addi r4, r1, 8 /* 800438D0 0003F530 60 00 00 02 */ ori r0, r0, 2 /* 800438D4 0003F534 D3 FF 06 D4 */ stfs f31, 0x6d4(r31) /* 800438D8 0003F538 C0 1F 05 74 */ lfs f0, 0x574(r31) /* 800438DC 0003F53C 90 1F 06 D0 */ stw r0, 0x6d0(r31) /* 800438E0 0003F540 D0 3F 06 D8 */ stfs f1, 0x6d8(r31) /* 800438E4 0003F544 D0 01 00 08 */ stfs f0, 8(r1) /* 800438E8 0003F548 C0 1F 05 78 */ lfs f0, 0x578(r31) /* 800438EC 0003F54C D0 01 00 0C */ stfs f0, 0xc(r1) /* 800438F0 0003F550 C0 1F 05 7C */ lfs f0, 0x57c(r31) /* 800438F4 0003F554 D0 01 00 10 */ stfs f0, 0x10(r1) /* 800438F8 0003F558 4B FF D0 31 */ bl func_80040928 /* 800438FC 0003F55C 38 7F 06 50 */ addi r3, r31, 0x650 /* 80043900 0003F560 4B FF D0 51 */ bl dGeomEnable lbl_80043904: /* 80043904 0003F564 80 7F 04 BC */ lwz r3, 0x4bc(r31) /* 80043908 0003F568 38 00 00 01 */ li r0, 1 /* 8004390C 0003F56C 98 1F 00 02 */ stb r0, 2(r31) /* 80043910 0003F570 54 60 07 FF */ clrlwi. r0, r3, 0x1f /* 80043914 0003F574 41 82 00 0C */ beq lbl_80043920 /* 80043918 0003F578 60 60 00 04 */ ori r0, r3, 4 /* 8004391C 0003F57C 90 1F 04 BC */ stw r0, 0x4bc(r31) lbl_80043920: /* 80043920 0003F580 38 7F 00 B8 */ addi r3, r31, 0xb8 /* 80043924 0003F584 48 00 CA 65 */ bl func_80050388 /* 80043928 0003F588 38 7F 00 DC */ addi r3, r31, 0xdc /* 8004392C 0003F58C 48 00 CA 5D */ bl func_80050388 /* 80043930 0003F590 38 7F 01 00 */ addi r3, r31, 0x100 /* 80043934 0003F594 48 00 CA 55 */ bl func_80050388 /* 80043938 0003F598 38 00 00 01 */ li r0, 1 /* 8004393C 0003F59C 98 1F 00 01 */ stb r0, 1(r31) /* 80043940 0003F5A0 E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0 /* 80043944 0003F5A4 CB E1 00 80 */ lfd f31, 0x80(r1) /* 80043948 0003F5A8 E3 C1 00 78 */ psq_l f30, 120(r1), 0, qr0 /* 8004394C 0003F5AC CB C1 00 70 */ lfd f30, 0x70(r1) /* 80043950 0003F5B0 E3 A1 00 68 */ psq_l f29, 104(r1), 0, qr0 /* 80043954 0003F5B4 CB A1 00 60 */ lfd f29, 0x60(r1) /* 80043958 0003F5B8 E3 81 00 58 */ psq_l f28, 88(r1), 0, qr0 /* 8004395C 0003F5BC CB 81 00 50 */ lfd f28, 0x50(r1) /* 80043960 0003F5C0 E3 61 00 48 */ psq_l f27, 72(r1), 0, qr0 /* 80043964 0003F5C4 CB 61 00 40 */ lfd f27, 0x40(r1) /* 80043968 0003F5C8 E3 41 00 38 */ psq_l f26, 56(r1), 0, qr0 /* 8004396C 0003F5CC CB 41 00 30 */ lfd f26, 0x30(r1) /* 80043970 0003F5D0 39 61 00 30 */ addi r11, r1, 0x30 /* 80043974 0003F5D4 48 18 37 FD */ bl _restgpr_26 /* 80043978 0003F5D8 80 01 00 94 */ lwz r0, 0x94(r1) /* 8004397C 0003F5DC 7C 08 03 A6 */ mtlr r0 /* 80043980 0003F5E0 38 21 00 90 */ addi r1, r1, 0x90 /* 80043984 0003F5E4 4E 80 00 20 */ blr .global func_80043988 func_80043988: /* 80043988 0003F5E8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8004398C 0003F5EC 7C 08 02 A6 */ mflr r0 /* 80043990 0003F5F0 C0 02 82 B0 */ lfs f0, lbl_806408B0-_SDA2_BASE_(r2) /* 80043994 0003F5F4 38 80 00 00 */ li r4, 0 /* 80043998 0003F5F8 90 01 00 24 */ stw r0, 0x24(r1) /* 8004399C 0003F5FC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 800439A0 0003F600 7C 7F 1B 78 */ mr r31, r3 /* 800439A4 0003F604 38 63 05 60 */ addi r3, r3, 0x560 /* 800439A8 0003F608 D0 01 00 08 */ stfs f0, 8(r1) /* 800439AC 0003F60C D0 01 00 0C */ stfs f0, 0xc(r1) /* 800439B0 0003F610 D0 01 00 10 */ stfs f0, 0x10(r1) /* 800439B4 0003F614 4B FF D1 F1 */ bl func_80040BA4 /* 800439B8 0003F618 C0 22 82 B0 */ lfs f1, lbl_806408B0-_SDA2_BASE_(r2) /* 800439BC 0003F61C 38 7F 05 60 */ addi r3, r31, 0x560 /* 800439C0 0003F620 39 01 00 08 */ addi r8, r1, 8 /* 800439C4 0003F624 38 80 00 00 */ li r4, 0 /* 800439C8 0003F628 38 A0 00 00 */ li r5, 0 /* 800439CC 0003F62C 38 C0 00 00 */ li r6, 0 /* 800439D0 0003F630 38 E0 00 00 */ li r7, 0 /* 800439D4 0003F634 4B FF D1 65 */ bl func_80040B38 /* 800439D8 0003F638 80 01 00 24 */ lwz r0, 0x24(r1) /* 800439DC 0003F63C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 800439E0 0003F640 7C 08 03 A6 */ mtlr r0 /* 800439E4 0003F644 38 21 00 20 */ addi r1, r1, 0x20 /* 800439E8 0003F648 4E 80 00 20 */ blr .global func_800439EC func_800439EC: /* 800439EC 0003F64C 94 21 FF C0 */ stwu r1, -0x40(r1) /* 800439F0 0003F650 7C 08 02 A6 */ mflr r0 /* 800439F4 0003F654 90 01 00 44 */ stw r0, 0x44(r1) /* 800439F8 0003F658 DB E1 00 30 */ stfd f31, 0x30(r1) /* 800439FC 0003F65C F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0 /* 80043A00 0003F660 DB C1 00 20 */ stfd f30, 0x20(r1) /* 80043A04 0003F664 F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0 /* 80043A08 0003F668 DB A1 00 10 */ stfd f29, 0x10(r1) /* 80043A0C 0003F66C F3 A1 00 18 */ psq_st f29, 24(r1), 0, qr0 /* 80043A10 0003F670 2C 04 00 00 */ cmpwi r4, 0 /* 80043A14 0003F674 93 E1 00 0C */ stw r31, 0xc(r1) /* 80043A18 0003F678 7C 7F 1B 78 */ mr r31, r3 /* 80043A1C 0003F67C 40 82 00 0C */ bne lbl_80043A28 /* 80043A20 0003F680 C0 23 06 C8 */ lfs f1, 0x6c8(r3) /* 80043A24 0003F684 48 00 00 C0 */ b lbl_80043AE4 lbl_80043A28: /* 80043A28 0003F688 2C 05 00 02 */ cmpwi r5, 2 /* 80043A2C 0003F68C 41 82 00 4C */ beq lbl_80043A78 /* 80043A30 0003F690 40 80 00 14 */ bge lbl_80043A44 /* 80043A34 0003F694 2C 05 00 00 */ cmpwi r5, 0 /* 80043A38 0003F698 41 82 00 18 */ beq lbl_80043A50 /* 80043A3C 0003F69C 40 80 00 28 */ bge lbl_80043A64 /* 80043A40 0003F6A0 48 00 00 58 */ b lbl_80043A98 lbl_80043A44: /* 80043A44 0003F6A4 2C 05 00 04 */ cmpwi r5, 4 /* 80043A48 0003F6A8 40 80 00 50 */ bge lbl_80043A98 /* 80043A4C 0003F6AC 48 00 00 44 */ b lbl_80043A90 lbl_80043A50: /* 80043A50 0003F6B0 7C 83 23 78 */ mr r3, r4 /* 80043A54 0003F6B4 38 80 00 00 */ li r4, 0 /* 80043A58 0003F6B8 4B FF 6B 95 */ bl func_8003A5EC /* 80043A5C 0003F6BC FF C0 08 90 */ fmr f30, f1 /* 80043A60 0003F6C0 48 00 00 38 */ b lbl_80043A98 lbl_80043A64: /* 80043A64 0003F6C4 7C 83 23 78 */ mr r3, r4 /* 80043A68 0003F6C8 38 80 00 01 */ li r4, 1 /* 80043A6C 0003F6CC 4B FF 6B 81 */ bl func_8003A5EC /* 80043A70 0003F6D0 FF C0 08 90 */ fmr f30, f1 /* 80043A74 0003F6D4 48 00 00 24 */ b lbl_80043A98 lbl_80043A78: /* 80043A78 0003F6D8 7C 83 23 78 */ mr r3, r4 /* 80043A7C 0003F6DC 38 80 00 01 */ li r4, 1 /* 80043A80 0003F6E0 4B FF 6B 6D */ bl func_8003A5EC /* 80043A84 0003F6E4 C0 02 83 54 */ lfs f0, lbl_80640954-_SDA2_BASE_(r2) /* 80043A88 0003F6E8 EF C0 00 72 */ fmuls f30, f0, f1 /* 80043A8C 0003F6EC 48 00 00 0C */ b lbl_80043A98 lbl_80043A90: /* 80043A90 0003F6F0 C0 23 06 C8 */ lfs f1, 0x6c8(r3) /* 80043A94 0003F6F4 48 00 00 50 */ b lbl_80043AE4 lbl_80043A98: /* 80043A98 0003F6F8 C0 02 83 50 */ lfs f0, lbl_80640950-_SDA2_BASE_(r2) /* 80043A9C 0003F6FC FC 1E 00 40 */ fcmpo cr0, f30, f0 /* 80043AA0 0003F700 4C 40 13 82 */ cror 2, 0, 2 /* 80043AA4 0003F704 40 82 00 08 */ bne lbl_80043AAC /* 80043AA8 0003F708 C3 C2 83 58 */ lfs f30, lbl_80640958-_SDA2_BASE_(r2) lbl_80043AAC: /* 80043AAC 0003F70C C0 5F 04 E0 */ lfs f2, 0x4e0(r31) /* 80043AB0 0003F710 C0 02 82 B8 */ lfs f0, lbl_806408B8-_SDA2_BASE_(r2) /* 80043AB4 0003F714 C0 22 83 5C */ lfs f1, lbl_8064095C-_SDA2_BASE_(r2) /* 80043AB8 0003F718 EC 40 00 B2 */ fmuls f2, f0, f2 /* 80043ABC 0003F71C C0 02 82 DC */ lfs f0, lbl_806408DC-_SDA2_BASE_(r2) /* 80043AC0 0003F720 EC 21 00 B2 */ fmuls f1, f1, f2 /* 80043AC4 0003F724 EF A0 08 28 */ fsubs f29, f0, f1 /* 80043AC8 0003F728 48 19 09 BD */ bl sin /* 80043ACC 0003F72C FF E0 08 18 */ frsp f31, f1 /* 80043AD0 0003F730 FC 20 E8 90 */ fmr f1, f29 /* 80043AD4 0003F734 48 19 09 B1 */ bl sin /* 80043AD8 0003F738 FC 00 08 18 */ frsp f0, f1 /* 80043ADC 0003F73C EC 1E 00 32 */ fmuls f0, f30, f0 /* 80043AE0 0003F740 EC 20 F8 24 */ fdivs f1, f0, f31 lbl_80043AE4: /* 80043AE4 0003F744 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0 /* 80043AE8 0003F748 CB E1 00 30 */ lfd f31, 0x30(r1) /* 80043AEC 0003F74C E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0 /* 80043AF0 0003F750 CB C1 00 20 */ lfd f30, 0x20(r1) /* 80043AF4 0003F754 E3 A1 00 18 */ psq_l f29, 24(r1), 0, qr0 /* 80043AF8 0003F758 CB A1 00 10 */ lfd f29, 0x10(r1) /* 80043AFC 0003F75C 80 01 00 44 */ lwz r0, 0x44(r1) /* 80043B00 0003F760 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80043B04 0003F764 7C 08 03 A6 */ mtlr r0 /* 80043B08 0003F768 38 21 00 40 */ addi r1, r1, 0x40 /* 80043B0C 0003F76C 4E 80 00 20 */ blr .global func_80043B10 func_80043B10: /* 80043B10 0003F770 2C 04 00 02 */ cmpwi r4, 2 /* 80043B14 0003F774 41 82 00 34 */ beq lbl_80043B48 /* 80043B18 0003F778 40 80 00 14 */ bge lbl_80043B2C /* 80043B1C 0003F77C 2C 04 00 00 */ cmpwi r4, 0 /* 80043B20 0003F780 41 82 00 18 */ beq lbl_80043B38 /* 80043B24 0003F784 40 80 00 1C */ bge lbl_80043B40 /* 80043B28 0003F788 48 00 00 30 */ b lbl_80043B58 lbl_80043B2C: /* 80043B2C 0003F78C 2C 04 00 04 */ cmpwi r4, 4 /* 80043B30 0003F790 40 80 00 28 */ bge lbl_80043B58 /* 80043B34 0003F794 48 00 00 1C */ b lbl_80043B50 lbl_80043B38: /* 80043B38 0003F798 C0 22 83 60 */ lfs f1, lbl_80640960-_SDA2_BASE_(r2) /* 80043B3C 0003F79C 4E 80 00 20 */ blr lbl_80043B40: /* 80043B40 0003F7A0 C0 22 82 B0 */ lfs f1, lbl_806408B0-_SDA2_BASE_(r2) /* 80043B44 0003F7A4 4E 80 00 20 */ blr lbl_80043B48: /* 80043B48 0003F7A8 C0 22 83 64 */ lfs f1, lbl_80640964-_SDA2_BASE_(r2) /* 80043B4C 0003F7AC 4E 80 00 20 */ blr lbl_80043B50: /* 80043B50 0003F7B0 C0 22 83 68 */ lfs f1, lbl_80640968-_SDA2_BASE_(r2) /* 80043B54 0003F7B4 4E 80 00 20 */ blr lbl_80043B58: /* 80043B58 0003F7B8 C0 22 82 B0 */ lfs f1, lbl_806408B0-_SDA2_BASE_(r2) /* 80043B5C 0003F7BC 4E 80 00 20 */ blr .global func_80043B60 func_80043B60: /* 80043B60 0003F7C0 D0 23 04 E4 */ stfs f1, 0x4e4(r3) /* 80043B64 0003F7C4 4E 80 00 20 */ blr .global func_80043B68 func_80043B68: /* 80043B68 0003F7C8 94 21 FE 60 */ stwu r1, -0x1a0(r1) /* 80043B6C 0003F7CC 7C 08 02 A6 */ mflr r0 /* 80043B70 0003F7D0 90 01 01 A4 */ stw r0, 0x1a4(r1) /* 80043B74 0003F7D4 DB E1 01 90 */ stfd f31, 0x190(r1) /* 80043B78 0003F7D8 F3 E1 01 98 */ psq_st f31, 408(r1), 0, qr0 /* 80043B7C 0003F7DC DB C1 01 80 */ stfd f30, 0x180(r1) /* 80043B80 0003F7E0 F3 C1 01 88 */ psq_st f30, 392(r1), 0, qr0 /* 80043B84 0003F7E4 DB A1 01 70 */ stfd f29, 0x170(r1) /* 80043B88 0003F7E8 F3 A1 01 78 */ psq_st f29, 376(r1), 0, qr0 /* 80043B8C 0003F7EC DB 81 01 60 */ stfd f28, 0x160(r1) /* 80043B90 0003F7F0 F3 81 01 68 */ psq_st f28, 360(r1), 0, qr0 /* 80043B94 0003F7F4 DB 61 01 50 */ stfd f27, 0x150(r1) /* 80043B98 0003F7F8 F3 61 01 58 */ psq_st f27, 344(r1), 0, qr0 /* 80043B9C 0003F7FC FF E0 08 90 */ fmr f31, f1 /* 80043BA0 0003F800 93 E1 01 4C */ stw r31, 0x14c(r1) /* 80043BA4 0003F804 93 C1 01 48 */ stw r30, 0x148(r1) /* 80043BA8 0003F808 7C 7E 1B 78 */ mr r30, r3 /* 80043BAC 0003F80C 7F C4 F3 78 */ mr r4, r30 /* 80043BB0 0003F810 38 61 00 C8 */ addi r3, r1, 0xc8 /* 80043BB4 0003F814 93 A1 01 44 */ stw r29, 0x144(r1) /* 80043BB8 0003F818 93 81 01 40 */ stw r28, 0x140(r1) /* 80043BBC 0003F81C 4B FF C8 ED */ bl func_800404A8 /* 80043BC0 0003F820 88 1E 00 00 */ lbz r0, 0(r30) /* 80043BC4 0003F824 2C 00 00 00 */ cmpwi r0, 0 /* 80043BC8 0003F828 41 82 08 8C */ beq lbl_80044454 /* 80043BCC 0003F82C 38 7E 05 60 */ addi r3, r30, 0x560 /* 80043BD0 0003F830 4B FF C9 B1 */ bl func_80040580 /* 80043BD4 0003F834 80 1E 06 D0 */ lwz r0, 0x6d0(r30) /* 80043BD8 0003F838 2C 00 00 00 */ cmpwi r0, 0 /* 80043BDC 0003F83C 41 82 02 44 */ beq lbl_80043E20 /* 80043BE0 0003F840 38 7E 06 50 */ addi r3, r30, 0x650 /* 80043BE4 0003F844 4B FF C9 9D */ bl func_80040580 /* 80043BE8 0003F848 C0 3E 06 D8 */ lfs f1, 0x6d8(r30) /* 80043BEC 0003F84C C0 1E 06 D4 */ lfs f0, 0x6d4(r30) /* 80043BF0 0003F850 EC 21 F8 2A */ fadds f1, f1, f31 /* 80043BF4 0003F854 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80043BF8 0003F858 D0 3E 06 D8 */ stfs f1, 0x6d8(r30) /* 80043BFC 0003F85C 4C 41 13 82 */ cror 2, 1, 2 /* 80043C00 0003F860 40 82 00 10 */ bne lbl_80043C10 /* 80043C04 0003F864 38 00 00 00 */ li r0, 0 /* 80043C08 0003F868 D0 1E 06 D8 */ stfs f0, 0x6d8(r30) /* 80043C0C 0003F86C 90 1E 06 D0 */ stw r0, 0x6d0(r30) lbl_80043C10: /* 80043C10 0003F870 C0 3E 06 D8 */ lfs f1, 0x6d8(r30) /* 80043C14 0003F874 38 61 00 C8 */ addi r3, r1, 0xc8 /* 80043C18 0003F878 C0 1E 06 D4 */ lfs f0, 0x6d4(r30) /* 80043C1C 0003F87C 38 9E 05 60 */ addi r4, r30, 0x560 /* 80043C20 0003F880 38 BE 06 50 */ addi r5, r30, 0x650 /* 80043C24 0003F884 EC 21 00 24 */ fdivs f1, f1, f0 /* 80043C28 0003F888 4B FF D0 85 */ bl func_80040CAC /* 80043C2C 0003F88C 80 1E 06 D0 */ lwz r0, 0x6d0(r30) /* 80043C30 0003F890 2C 00 00 00 */ cmpwi r0, 0 /* 80043C34 0003F894 40 82 00 F4 */ bne lbl_80043D28 /* 80043C38 0003F898 8B FE 06 50 */ lbz r31, 0x650(r30) /* 80043C3C 0003F89C 81 9E 06 54 */ lwz r12, 0x654(r30) /* 80043C40 0003F8A0 C3 7E 06 58 */ lfs f27, 0x658(r30) /* 80043C44 0003F8A4 C3 9E 06 5C */ lfs f28, 0x65c(r30) /* 80043C48 0003F8A8 81 7E 06 60 */ lwz r11, 0x660(r30) /* 80043C4C 0003F8AC C3 BE 06 64 */ lfs f29, 0x664(r30) /* 80043C50 0003F8B0 C3 DE 06 68 */ lfs f30, 0x668(r30) /* 80043C54 0003F8B4 C1 BE 06 6C */ lfs f13, 0x66c(r30) /* 80043C58 0003F8B8 C1 9E 06 70 */ lfs f12, 0x670(r30) /* 80043C5C 0003F8BC C1 7E 06 74 */ lfs f11, 0x674(r30) /* 80043C60 0003F8C0 C1 5E 06 78 */ lfs f10, 0x678(r30) /* 80043C64 0003F8C4 C1 3E 06 7C */ lfs f9, 0x67c(r30) /* 80043C68 0003F8C8 C1 1E 06 80 */ lfs f8, 0x680(r30) /* 80043C6C 0003F8CC C0 FE 06 84 */ lfs f7, 0x684(r30) /* 80043C70 0003F8D0 C0 DE 06 88 */ lfs f6, 0x688(r30) /* 80043C74 0003F8D4 C0 BE 06 8C */ lfs f5, 0x68c(r30) /* 80043C78 0003F8D8 C0 9E 06 90 */ lfs f4, 0x690(r30) /* 80043C7C 0003F8DC C0 7E 06 94 */ lfs f3, 0x694(r30) /* 80043C80 0003F8E0 C0 5E 06 98 */ lfs f2, 0x698(r30) /* 80043C84 0003F8E4 C0 3E 06 9C */ lfs f1, 0x69c(r30) /* 80043C88 0003F8E8 C0 1E 06 A0 */ lfs f0, 0x6a0(r30) /* 80043C8C 0003F8EC 81 5E 06 A4 */ lwz r10, 0x6a4(r30) /* 80043C90 0003F8F0 81 3E 06 A8 */ lwz r9, 0x6a8(r30) /* 80043C94 0003F8F4 81 1E 06 AC */ lwz r8, 0x6ac(r30) /* 80043C98 0003F8F8 80 FE 06 B0 */ lwz r7, 0x6b0(r30) /* 80043C9C 0003F8FC 80 DE 06 B4 */ lwz r6, 0x6b4(r30) /* 80043CA0 0003F900 80 BE 06 B8 */ lwz r5, 0x6b8(r30) /* 80043CA4 0003F904 80 9E 06 BC */ lwz r4, 0x6bc(r30) /* 80043CA8 0003F908 80 7E 06 C0 */ lwz r3, 0x6c0(r30) /* 80043CAC 0003F90C 80 1E 06 C4 */ lwz r0, 0x6c4(r30) /* 80043CB0 0003F910 9B FE 05 60 */ stb r31, 0x560(r30) /* 80043CB4 0003F914 91 9E 05 64 */ stw r12, 0x564(r30) /* 80043CB8 0003F918 D3 7E 05 68 */ stfs f27, 0x568(r30) /* 80043CBC 0003F91C D3 9E 05 6C */ stfs f28, 0x56c(r30) /* 80043CC0 0003F920 91 7E 05 70 */ stw r11, 0x570(r30) /* 80043CC4 0003F924 D3 BE 05 74 */ stfs f29, 0x574(r30) /* 80043CC8 0003F928 D3 DE 05 78 */ stfs f30, 0x578(r30) /* 80043CCC 0003F92C D1 BE 05 7C */ stfs f13, 0x57c(r30) /* 80043CD0 0003F930 D1 9E 05 80 */ stfs f12, 0x580(r30) /* 80043CD4 0003F934 D1 7E 05 84 */ stfs f11, 0x584(r30) /* 80043CD8 0003F938 D1 5E 05 88 */ stfs f10, 0x588(r30) /* 80043CDC 0003F93C D1 3E 05 8C */ stfs f9, 0x58c(r30) /* 80043CE0 0003F940 D1 1E 05 90 */ stfs f8, 0x590(r30) /* 80043CE4 0003F944 D0 FE 05 94 */ stfs f7, 0x594(r30) /* 80043CE8 0003F948 D0 DE 05 98 */ stfs f6, 0x598(r30) /* 80043CEC 0003F94C D0 BE 05 9C */ stfs f5, 0x59c(r30) /* 80043CF0 0003F950 D0 9E 05 A0 */ stfs f4, 0x5a0(r30) /* 80043CF4 0003F954 D0 7E 05 A4 */ stfs f3, 0x5a4(r30) /* 80043CF8 0003F958 D0 5E 05 A8 */ stfs f2, 0x5a8(r30) /* 80043CFC 0003F95C D0 3E 05 AC */ stfs f1, 0x5ac(r30) /* 80043D00 0003F960 D0 1E 05 B0 */ stfs f0, 0x5b0(r30) /* 80043D04 0003F964 91 5E 05 B4 */ stw r10, 0x5b4(r30) /* 80043D08 0003F968 91 3E 05 B8 */ stw r9, 0x5b8(r30) /* 80043D0C 0003F96C 91 1E 05 BC */ stw r8, 0x5bc(r30) /* 80043D10 0003F970 90 FE 05 C0 */ stw r7, 0x5c0(r30) /* 80043D14 0003F974 90 DE 05 C4 */ stw r6, 0x5c4(r30) /* 80043D18 0003F978 90 BE 05 C8 */ stw r5, 0x5c8(r30) /* 80043D1C 0003F97C 90 9E 05 CC */ stw r4, 0x5cc(r30) /* 80043D20 0003F980 90 7E 05 D0 */ stw r3, 0x5d0(r30) /* 80043D24 0003F984 90 1E 05 D4 */ stw r0, 0x5d4(r30) lbl_80043D28: /* 80043D28 0003F988 88 01 00 C8 */ lbz r0, 0xc8(r1) /* 80043D2C 0003F98C 3B E1 00 C8 */ addi r31, r1, 0xc8 /* 80043D30 0003F990 98 1E 05 D8 */ stb r0, 0x5d8(r30) /* 80043D34 0003F994 80 01 00 CC */ lwz r0, 0xcc(r1) /* 80043D38 0003F998 90 1E 05 DC */ stw r0, 0x5dc(r30) /* 80043D3C 0003F99C C0 01 00 D0 */ lfs f0, 0xd0(r1) /* 80043D40 0003F9A0 D0 1E 05 E0 */ stfs f0, 0x5e0(r30) /* 80043D44 0003F9A4 C0 01 00 D4 */ lfs f0, 0xd4(r1) /* 80043D48 0003F9A8 D0 1E 05 E4 */ stfs f0, 0x5e4(r30) /* 80043D4C 0003F9AC 80 01 00 D8 */ lwz r0, 0xd8(r1) /* 80043D50 0003F9B0 90 1E 05 E8 */ stw r0, 0x5e8(r30) /* 80043D54 0003F9B4 C0 01 00 DC */ lfs f0, 0xdc(r1) /* 80043D58 0003F9B8 D0 1E 05 EC */ stfs f0, 0x5ec(r30) /* 80043D5C 0003F9BC C0 01 00 E0 */ lfs f0, 0xe0(r1) /* 80043D60 0003F9C0 D0 1E 05 F0 */ stfs f0, 0x5f0(r30) /* 80043D64 0003F9C4 C0 01 00 E4 */ lfs f0, 0xe4(r1) /* 80043D68 0003F9C8 D0 1E 05 F4 */ stfs f0, 0x5f4(r30) /* 80043D6C 0003F9CC C0 01 00 E8 */ lfs f0, 0xe8(r1) /* 80043D70 0003F9D0 D0 1E 05 F8 */ stfs f0, 0x5f8(r30) /* 80043D74 0003F9D4 C0 01 00 EC */ lfs f0, 0xec(r1) /* 80043D78 0003F9D8 D0 1E 05 FC */ stfs f0, 0x5fc(r30) /* 80043D7C 0003F9DC C0 01 00 F0 */ lfs f0, 0xf0(r1) /* 80043D80 0003F9E0 D0 1E 06 00 */ stfs f0, 0x600(r30) /* 80043D84 0003F9E4 C0 01 00 F4 */ lfs f0, 0xf4(r1) /* 80043D88 0003F9E8 D0 1E 06 04 */ stfs f0, 0x604(r30) /* 80043D8C 0003F9EC C0 01 00 F8 */ lfs f0, 0xf8(r1) /* 80043D90 0003F9F0 D0 1E 06 08 */ stfs f0, 0x608(r30) /* 80043D94 0003F9F4 C0 01 00 FC */ lfs f0, 0xfc(r1) /* 80043D98 0003F9F8 D0 1E 06 0C */ stfs f0, 0x60c(r30) /* 80043D9C 0003F9FC C0 01 01 00 */ lfs f0, 0x100(r1) /* 80043DA0 0003FA00 D0 1E 06 10 */ stfs f0, 0x610(r30) /* 80043DA4 0003FA04 C0 01 01 04 */ lfs f0, 0x104(r1) /* 80043DA8 0003FA08 D0 1E 06 14 */ stfs f0, 0x614(r30) /* 80043DAC 0003FA0C C0 01 01 08 */ lfs f0, 0x108(r1) /* 80043DB0 0003FA10 D0 1E 06 18 */ stfs f0, 0x618(r30) /* 80043DB4 0003FA14 C0 01 01 0C */ lfs f0, 0x10c(r1) /* 80043DB8 0003FA18 D0 1E 06 1C */ stfs f0, 0x61c(r30) /* 80043DBC 0003FA1C C0 01 01 10 */ lfs f0, 0x110(r1) /* 80043DC0 0003FA20 D0 1E 06 20 */ stfs f0, 0x620(r30) /* 80043DC4 0003FA24 C0 01 01 14 */ lfs f0, 0x114(r1) /* 80043DC8 0003FA28 D0 1E 06 24 */ stfs f0, 0x624(r30) /* 80043DCC 0003FA2C C0 01 01 18 */ lfs f0, 0x118(r1) /* 80043DD0 0003FA30 D0 1E 06 28 */ stfs f0, 0x628(r30) /* 80043DD4 0003FA34 80 01 01 1C */ lwz r0, 0x11c(r1) /* 80043DD8 0003FA38 90 1E 06 2C */ stw r0, 0x62c(r30) /* 80043DDC 0003FA3C 80 61 01 20 */ lwz r3, 0x120(r1) /* 80043DE0 0003FA40 80 01 01 24 */ lwz r0, 0x124(r1) /* 80043DE4 0003FA44 90 7E 06 30 */ stw r3, 0x630(r30) /* 80043DE8 0003FA48 90 1E 06 34 */ stw r0, 0x634(r30) /* 80043DEC 0003FA4C 80 61 01 28 */ lwz r3, 0x128(r1) /* 80043DF0 0003FA50 80 01 01 2C */ lwz r0, 0x12c(r1) /* 80043DF4 0003FA54 90 7E 06 38 */ stw r3, 0x638(r30) /* 80043DF8 0003FA58 90 1E 06 3C */ stw r0, 0x63c(r30) /* 80043DFC 0003FA5C 80 61 01 30 */ lwz r3, 0x130(r1) /* 80043E00 0003FA60 80 01 01 34 */ lwz r0, 0x134(r1) /* 80043E04 0003FA64 90 7E 06 40 */ stw r3, 0x640(r30) /* 80043E08 0003FA68 90 1E 06 44 */ stw r0, 0x644(r30) /* 80043E0C 0003FA6C 80 61 01 38 */ lwz r3, 0x138(r1) /* 80043E10 0003FA70 80 01 01 3C */ lwz r0, 0x13c(r1) /* 80043E14 0003FA74 90 7E 06 48 */ stw r3, 0x648(r30) /* 80043E18 0003FA78 90 1E 06 4C */ stw r0, 0x64c(r30) /* 80043E1C 0003FA7C 48 00 00 08 */ b lbl_80043E24 lbl_80043E20: /* 80043E20 0003FA80 3B FE 05 60 */ addi r31, r30, 0x560 lbl_80043E24: /* 80043E24 0003FA84 38 7E 04 E8 */ addi r3, r30, 0x4e8 /* 80043E28 0003FA88 4B FF C7 59 */ bl func_80040580 /* 80043E2C 0003FA8C 3B BE 00 04 */ addi r29, r30, 4 /* 80043E30 0003FA90 3B 80 00 00 */ li r28, 0 lbl_80043E34: /* 80043E34 0003FA94 81 9D 00 20 */ lwz r12, 0x20(r29) /* 80043E38 0003FA98 FC 20 F8 90 */ fmr f1, f31 /* 80043E3C 0003FA9C 7F A3 EB 78 */ mr r3, r29 /* 80043E40 0003FAA0 81 8C 00 08 */ lwz r12, 8(r12) /* 80043E44 0003FAA4 7D 89 03 A6 */ mtctr r12 /* 80043E48 0003FAA8 4E 80 04 21 */ bctrl /* 80043E4C 0003FAAC 3B 9C 00 01 */ addi r28, r28, 1 /* 80043E50 0003FAB0 3B BD 00 24 */ addi r29, r29, 0x24 /* 80043E54 0003FAB4 2C 1C 00 0C */ cmpwi r28, 0xc /* 80043E58 0003FAB8 41 80 FF DC */ blt lbl_80043E34 /* 80043E5C 0003FABC 3B BE 01 B4 */ addi r29, r30, 0x1b4 /* 80043E60 0003FAC0 3B 80 00 00 */ li r28, 0 lbl_80043E64: /* 80043E64 0003FAC4 81 9D 00 20 */ lwz r12, 0x20(r29) /* 80043E68 0003FAC8 FC 20 F8 90 */ fmr f1, f31 /* 80043E6C 0003FACC 7F A3 EB 78 */ mr r3, r29 /* 80043E70 0003FAD0 81 8C 00 08 */ lwz r12, 8(r12) /* 80043E74 0003FAD4 7D 89 03 A6 */ mtctr r12 /* 80043E78 0003FAD8 4E 80 04 21 */ bctrl /* 80043E7C 0003FADC 3B 9C 00 01 */ addi r28, r28, 1 /* 80043E80 0003FAE0 3B BD 00 60 */ addi r29, r29, 0x60 /* 80043E84 0003FAE4 2C 1C 00 05 */ cmpwi r28, 5 /* 80043E88 0003FAE8 41 80 FF DC */ blt lbl_80043E64 /* 80043E8C 0003FAEC 80 1E 01 24 */ lwz r0, 0x124(r30) /* 80043E90 0003FAF0 2C 00 00 00 */ cmpwi r0, 0 /* 80043E94 0003FAF4 40 82 00 1C */ bne lbl_80043EB0 /* 80043E98 0003FAF8 80 1E 01 48 */ lwz r0, 0x148(r30) /* 80043E9C 0003FAFC 2C 00 00 00 */ cmpwi r0, 0 /* 80043EA0 0003FB00 40 82 00 10 */ bne lbl_80043EB0 /* 80043EA4 0003FB04 80 1E 04 BC */ lwz r0, 0x4bc(r30) /* 80043EA8 0003FB08 2C 00 00 00 */ cmpwi r0, 0 /* 80043EAC 0003FB0C 41 82 00 B0 */ beq lbl_80043F5C lbl_80043EB0: /* 80043EB0 0003FB10 7F C3 F3 78 */ mr r3, r30 /* 80043EB4 0003FB14 7F E4 FB 78 */ mr r4, r31 /* 80043EB8 0003FB18 4B FF D3 71 */ bl func_80041228 /* 80043EBC 0003FB1C C0 1E 04 FC */ lfs f0, 0x4fc(r30) /* 80043EC0 0003FB20 38 9E 04 FC */ addi r4, r30, 0x4fc /* 80043EC4 0003FB24 D0 01 00 B8 */ stfs f0, 0xb8(r1) /* 80043EC8 0003FB28 C0 1E 05 00 */ lfs f0, 0x500(r30) /* 80043ECC 0003FB2C D0 01 00 BC */ stfs f0, 0xbc(r1) /* 80043ED0 0003FB30 C0 1E 05 04 */ lfs f0, 0x504(r30) /* 80043ED4 0003FB34 D0 01 00 C0 */ stfs f0, 0xc0(r1) /* 80043ED8 0003FB38 80 1E 04 BC */ lwz r0, 0x4bc(r30) /* 80043EDC 0003FB3C 2C 00 00 00 */ cmpwi r0, 0 /* 80043EE0 0003FB40 41 82 00 6C */ beq lbl_80043F4C /* 80043EE4 0003FB44 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d /* 80043EE8 0003FB48 40 82 00 48 */ bne lbl_80043F30 /* 80043EEC 0003FB4C 38 61 00 B8 */ addi r3, r1, 0xb8 /* 80043EF0 0003FB50 48 23 90 E1 */ bl PSVECDistance /* 80043EF4 0003FB54 C0 1E 04 D0 */ lfs f0, 0x4d0(r30) /* 80043EF8 0003FB58 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80043EFC 0003FB5C 40 81 00 1C */ ble lbl_80043F18 /* 80043F00 0003FB60 38 61 00 B8 */ addi r3, r1, 0xb8 /* 80043F04 0003FB64 C0 3E 04 CC */ lfs f1, 0x4cc(r30) /* 80043F08 0003FB68 7C 65 1B 78 */ mr r5, r3 /* 80043F0C 0003FB6C 38 9E 04 FC */ addi r4, r30, 0x4fc /* 80043F10 0003FB70 4B FF C1 D9 */ bl func_800400E8 /* 80043F14 0003FB74 48 00 00 1C */ b lbl_80043F30 lbl_80043F18: /* 80043F18 0003FB78 C0 1E 04 FC */ lfs f0, 0x4fc(r30) /* 80043F1C 0003FB7C D0 01 00 B8 */ stfs f0, 0xb8(r1) /* 80043F20 0003FB80 C0 1E 05 00 */ lfs f0, 0x500(r30) /* 80043F24 0003FB84 D0 01 00 BC */ stfs f0, 0xbc(r1) /* 80043F28 0003FB88 C0 1E 05 04 */ lfs f0, 0x504(r30) /* 80043F2C 0003FB8C D0 01 00 C0 */ stfs f0, 0xc0(r1) lbl_80043F30: /* 80043F30 0003FB90 38 7E 04 E8 */ addi r3, r30, 0x4e8 /* 80043F34 0003FB94 38 81 00 B8 */ addi r4, r1, 0xb8 /* 80043F38 0003FB98 4B FF CC AD */ bl func_80040BE4 /* 80043F3C 0003FB9C 80 1E 04 BC */ lwz r0, 0x4bc(r30) /* 80043F40 0003FBA0 54 00 07 F8 */ rlwinm r0, r0, 0, 0x1f, 0x1c /* 80043F44 0003FBA4 90 1E 04 BC */ stw r0, 0x4bc(r30) /* 80043F48 0003FBA8 48 00 00 34 */ b lbl_80043F7C lbl_80043F4C: /* 80043F4C 0003FBAC 38 7E 04 E8 */ addi r3, r30, 0x4e8 /* 80043F50 0003FBB0 38 81 00 B8 */ addi r4, r1, 0xb8 /* 80043F54 0003FBB4 4B FF CC 91 */ bl func_80040BE4 /* 80043F58 0003FBB8 48 00 00 24 */ b lbl_80043F7C lbl_80043F5C: /* 80043F5C 0003FBBC 80 1E 00 28 */ lwz r0, 0x28(r30) /* 80043F60 0003FBC0 2C 00 00 00 */ cmpwi r0, 0 /* 80043F64 0003FBC4 41 82 00 18 */ beq lbl_80043F7C /* 80043F68 0003FBC8 C0 3E 06 C8 */ lfs f1, 0x6c8(r30) /* 80043F6C 0003FBCC 7F C3 F3 78 */ mr r3, r30 /* 80043F70 0003FBD0 C0 1E 06 E8 */ lfs f0, 0x6e8(r30) /* 80043F74 0003FBD4 EC 21 00 2A */ fadds f1, f1, f0 /* 80043F78 0003FBD8 4B FF E6 85 */ bl func_800425FC lbl_80043F7C: /* 80043F7C 0003FBDC 80 1E 06 CC */ lwz r0, 0x6cc(r30) /* 80043F80 0003FBE0 2C 00 00 00 */ cmpwi r0, 0 /* 80043F84 0003FBE4 41 82 04 D0 */ beq lbl_80044454 /* 80043F88 0003FBE8 38 7F 00 14 */ addi r3, r31, 0x14 /* 80043F8C 0003FBEC 38 9E 04 FC */ addi r4, r30, 0x4fc /* 80043F90 0003FBF0 38 A1 00 38 */ addi r5, r1, 0x38 /* 80043F94 0003FBF4 48 23 8D 55 */ bl PSVECSubtract /* 80043F98 0003FBF8 C0 81 00 38 */ lfs f4, 0x38(r1) /* 80043F9C 0003FBFC C0 22 83 50 */ lfs f1, lbl_80640950-_SDA2_BASE_(r2) /* 80043FA0 0003FC00 C0 61 00 3C */ lfs f3, 0x3c(r1) /* 80043FA4 0003FC04 C0 41 00 40 */ lfs f2, 0x40(r1) /* 80043FA8 0003FC08 FC 04 08 40 */ fcmpo cr0, f4, f1 /* 80043FAC 0003FC0C D0 81 00 A0 */ stfs f4, 0xa0(r1) /* 80043FB0 0003FC10 D0 61 00 A4 */ stfs f3, 0xa4(r1) /* 80043FB4 0003FC14 D0 41 00 A8 */ stfs f2, 0xa8(r1) /* 80043FB8 0003FC18 40 80 00 30 */ bge lbl_80043FE8 /* 80043FBC 0003FC1C C0 02 83 6C */ lfs f0, lbl_8064096C-_SDA2_BASE_(r2) /* 80043FC0 0003FC20 FC 04 00 40 */ fcmpo cr0, f4, f0 /* 80043FC4 0003FC24 40 81 00 24 */ ble lbl_80043FE8 /* 80043FC8 0003FC28 FC 03 08 40 */ fcmpo cr0, f3, f1 /* 80043FCC 0003FC2C 40 80 00 1C */ bge lbl_80043FE8 /* 80043FD0 0003FC30 FC 03 00 40 */ fcmpo cr0, f3, f0 /* 80043FD4 0003FC34 40 81 00 14 */ ble lbl_80043FE8 /* 80043FD8 0003FC38 FC 02 08 40 */ fcmpo cr0, f2, f1 /* 80043FDC 0003FC3C 40 80 00 0C */ bge lbl_80043FE8 /* 80043FE0 0003FC40 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80043FE4 0003FC44 41 81 00 0C */ bgt lbl_80043FF0 lbl_80043FE8: /* 80043FE8 0003FC48 38 00 00 00 */ li r0, 0 /* 80043FEC 0003FC4C 48 00 00 08 */ b lbl_80043FF4 lbl_80043FF0: /* 80043FF0 0003FC50 38 00 00 01 */ li r0, 1 lbl_80043FF4: /* 80043FF4 0003FC54 2C 00 00 00 */ cmpwi r0, 0 /* 80043FF8 0003FC58 40 82 00 14 */ bne lbl_8004400C /* 80043FFC 0003FC5C 38 61 00 A0 */ addi r3, r1, 0xa0 /* 80044000 0003FC60 7C 64 1B 78 */ mr r4, r3 /* 80044004 0003FC64 48 23 8D 25 */ bl PSVECNormalize /* 80044008 0003FC68 48 00 00 18 */ b lbl_80044020 lbl_8004400C: /* 8004400C 0003FC6C C0 22 82 B0 */ lfs f1, lbl_806408B0-_SDA2_BASE_(r2) /* 80044010 0003FC70 C0 02 82 BC */ lfs f0, lbl_806408BC-_SDA2_BASE_(r2) /* 80044014 0003FC74 D0 21 00 A0 */ stfs f1, 0xa0(r1) /* 80044018 0003FC78 D0 21 00 A4 */ stfs f1, 0xa4(r1) /* 8004401C 0003FC7C D0 01 00 A8 */ stfs f0, 0xa8(r1) lbl_80044020: /* 80044020 0003FC80 3C 80 80 49 */ lis r4, lbl_80493614@ha /* 80044024 0003FC84 38 61 00 A0 */ addi r3, r1, 0xa0 /* 80044028 0003FC88 38 84 36 14 */ addi r4, r4, lbl_80493614@l /* 8004402C 0003FC8C 38 A1 00 2C */ addi r5, r1, 0x2c /* 80044030 0003FC90 48 23 8D B9 */ bl PSVECCrossProduct /* 80044034 0003FC94 C0 81 00 2C */ lfs f4, 0x2c(r1) /* 80044038 0003FC98 C0 22 83 50 */ lfs f1, lbl_80640950-_SDA2_BASE_(r2) /* 8004403C 0003FC9C C0 61 00 34 */ lfs f3, 0x34(r1) /* 80044040 0003FCA0 C0 42 82 B0 */ lfs f2, lbl_806408B0-_SDA2_BASE_(r2) /* 80044044 0003FCA4 FC 04 08 40 */ fcmpo cr0, f4, f1 /* 80044048 0003FCA8 D0 81 00 94 */ stfs f4, 0x94(r1) /* 8004404C 0003FCAC D0 61 00 9C */ stfs f3, 0x9c(r1) /* 80044050 0003FCB0 D0 41 00 98 */ stfs f2, 0x98(r1) /* 80044054 0003FCB4 40 80 00 30 */ bge lbl_80044084 /* 80044058 0003FCB8 C0 02 83 6C */ lfs f0, lbl_8064096C-_SDA2_BASE_(r2) /* 8004405C 0003FCBC FC 04 00 40 */ fcmpo cr0, f4, f0 /* 80044060 0003FCC0 40 81 00 24 */ ble lbl_80044084 /* 80044064 0003FCC4 FC 02 08 40 */ fcmpo cr0, f2, f1 /* 80044068 0003FCC8 40 80 00 1C */ bge lbl_80044084 /* 8004406C 0003FCCC FC 02 00 40 */ fcmpo cr0, f2, f0 /* 80044070 0003FCD0 40 81 00 14 */ ble lbl_80044084 /* 80044074 0003FCD4 FC 03 08 40 */ fcmpo cr0, f3, f1 /* 80044078 0003FCD8 40 80 00 0C */ bge lbl_80044084 /* 8004407C 0003FCDC FC 03 00 40 */ fcmpo cr0, f3, f0 /* 80044080 0003FCE0 41 81 00 0C */ bgt lbl_8004408C lbl_80044084: /* 80044084 0003FCE4 38 00 00 00 */ li r0, 0 /* 80044088 0003FCE8 48 00 00 08 */ b lbl_80044090 lbl_8004408C: /* 8004408C 0003FCEC 38 00 00 01 */ li r0, 1 lbl_80044090: /* 80044090 0003FCF0 2C 00 00 00 */ cmpwi r0, 0 /* 80044094 0003FCF4 40 82 00 44 */ bne lbl_800440D8 /* 80044098 0003FCF8 38 61 00 94 */ addi r3, r1, 0x94 /* 8004409C 0003FCFC 7C 64 1B 78 */ mr r4, r3 /* 800440A0 0003FD00 48 23 8C 89 */ bl PSVECNormalize /* 800440A4 0003FD04 C0 3E 06 E4 */ lfs f1, 0x6e4(r30) /* 800440A8 0003FD08 38 61 00 94 */ addi r3, r1, 0x94 /* 800440AC 0003FD0C 38 81 00 20 */ addi r4, r1, 0x20 /* 800440B0 0003FD10 48 23 8C 5D */ bl PSVECScale /* 800440B4 0003FD14 C0 41 00 20 */ lfs f2, 0x20(r1) /* 800440B8 0003FD18 C0 21 00 24 */ lfs f1, 0x24(r1) /* 800440BC 0003FD1C C0 01 00 28 */ lfs f0, 0x28(r1) /* 800440C0 0003FD20 D0 41 00 AC */ stfs f2, 0xac(r1) /* 800440C4 0003FD24 D0 21 00 B0 */ stfs f1, 0xb0(r1) /* 800440C8 0003FD28 D0 01 00 B4 */ stfs f0, 0xb4(r1) /* 800440CC 0003FD2C C0 1E 06 E0 */ lfs f0, 0x6e0(r30) /* 800440D0 0003FD30 D0 01 00 B0 */ stfs f0, 0xb0(r1) /* 800440D4 0003FD34 48 00 00 14 */ b lbl_800440E8 lbl_800440D8: /* 800440D8 0003FD38 C0 02 82 B0 */ lfs f0, lbl_806408B0-_SDA2_BASE_(r2) /* 800440DC 0003FD3C D0 01 00 AC */ stfs f0, 0xac(r1) /* 800440E0 0003FD40 D0 01 00 B0 */ stfs f0, 0xb0(r1) /* 800440E4 0003FD44 D0 01 00 B4 */ stfs f0, 0xb4(r1) lbl_800440E8: /* 800440E8 0003FD48 3C 80 80 49 */ lis r4, lbl_80493614@ha /* 800440EC 0003FD4C 38 61 00 88 */ addi r3, r1, 0x88 /* 800440F0 0003FD50 38 A4 36 14 */ addi r5, r4, lbl_80493614@l /* 800440F4 0003FD54 C0 44 36 14 */ lfs f2, 0x3614(r4) /* 800440F8 0003FD58 C0 25 00 04 */ lfs f1, 4(r5) /* 800440FC 0003FD5C 38 81 00 A0 */ addi r4, r1, 0xa0 /* 80044100 0003FD60 C0 05 00 08 */ lfs f0, 8(r5) /* 80044104 0003FD64 38 A1 00 68 */ addi r5, r1, 0x68 /* 80044108 0003FD68 D0 41 00 88 */ stfs f2, 0x88(r1) /* 8004410C 0003FD6C D0 21 00 8C */ stfs f1, 0x8c(r1) /* 80044110 0003FD70 D0 01 00 90 */ stfs f0, 0x90(r1) /* 80044114 0003FD74 48 23 8C D5 */ bl PSVECCrossProduct /* 80044118 0003FD78 C0 01 00 68 */ lfs f0, 0x68(r1) /* 8004411C 0003FD7C C0 42 83 50 */ lfs f2, lbl_80640950-_SDA2_BASE_(r2) /* 80044120 0003FD80 FC 00 10 40 */ fcmpo cr0, f0, f2 /* 80044124 0003FD84 40 80 00 38 */ bge lbl_8004415C /* 80044128 0003FD88 C0 22 83 6C */ lfs f1, lbl_8064096C-_SDA2_BASE_(r2) /* 8004412C 0003FD8C FC 00 08 40 */ fcmpo cr0, f0, f1 /* 80044130 0003FD90 40 81 00 2C */ ble lbl_8004415C /* 80044134 0003FD94 C0 01 00 6C */ lfs f0, 0x6c(r1) /* 80044138 0003FD98 FC 00 10 40 */ fcmpo cr0, f0, f2 /* 8004413C 0003FD9C 40 80 00 20 */ bge lbl_8004415C /* 80044140 0003FDA0 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 80044144 0003FDA4 40 81 00 18 */ ble lbl_8004415C /* 80044148 0003FDA8 C0 01 00 70 */ lfs f0, 0x70(r1) /* 8004414C 0003FDAC FC 00 10 40 */ fcmpo cr0, f0, f2 /* 80044150 0003FDB0 40 80 00 0C */ bge lbl_8004415C /* 80044154 0003FDB4 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 80044158 0003FDB8 41 81 00 0C */ bgt lbl_80044164 lbl_8004415C: /* 8004415C 0003FDBC 38 00 00 00 */ li r0, 0 /* 80044160 0003FDC0 48 00 00 08 */ b lbl_80044168 lbl_80044164: /* 80044164 0003FDC4 38 00 00 01 */ li r0, 1 lbl_80044168: /* 80044168 0003FDC8 2C 00 00 00 */ cmpwi r0, 0 /* 8004416C 0003FDCC 41 82 00 24 */ beq lbl_80044190 /* 80044170 0003FDD0 3C 80 80 49 */ lis r4, lbl_80493608@ha /* 80044174 0003FDD4 38 64 36 08 */ addi r3, r4, lbl_80493608@l /* 80044178 0003FDD8 C0 44 36 08 */ lfs f2, 0x3608(r4) /* 8004417C 0003FDDC C0 23 00 04 */ lfs f1, 4(r3) /* 80044180 0003FDE0 C0 03 00 08 */ lfs f0, 8(r3) /* 80044184 0003FDE4 D0 41 00 88 */ stfs f2, 0x88(r1) /* 80044188 0003FDE8 D0 21 00 8C */ stfs f1, 0x8c(r1) /* 8004418C 0003FDEC D0 01 00 90 */ stfs f0, 0x90(r1) lbl_80044190: /* 80044190 0003FDF0 C0 3E 06 DC */ lfs f1, 0x6dc(r30) /* 80044194 0003FDF4 38 61 00 78 */ addi r3, r1, 0x78 /* 80044198 0003FDF8 38 81 00 A0 */ addi r4, r1, 0xa0 /* 8004419C 0003FDFC 48 23 8F 89 */ bl C_QUATRotAxisRad /* 800441A0 0003FE00 C0 41 00 88 */ lfs f2, 0x88(r1) /* 800441A4 0003FE04 38 61 00 14 */ addi r3, r1, 0x14 /* 800441A8 0003FE08 C0 21 00 8C */ lfs f1, 0x8c(r1) /* 800441AC 0003FE0C 38 81 00 78 */ addi r4, r1, 0x78 /* 800441B0 0003FE10 C0 01 00 90 */ lfs f0, 0x90(r1) /* 800441B4 0003FE14 D0 41 00 14 */ stfs f2, 0x14(r1) /* 800441B8 0003FE18 D0 21 00 18 */ stfs f1, 0x18(r1) /* 800441BC 0003FE1C D0 01 00 1C */ stfs f0, 0x1c(r1) /* 800441C0 0003FE20 48 1D F8 4D */ bl func_80223A0C /* 800441C4 0003FE24 C0 41 00 14 */ lfs f2, 0x14(r1) /* 800441C8 0003FE28 C0 21 00 18 */ lfs f1, 0x18(r1) /* 800441CC 0003FE2C C0 01 00 1C */ lfs f0, 0x1c(r1) /* 800441D0 0003FE30 D0 41 00 88 */ stfs f2, 0x88(r1) /* 800441D4 0003FE34 D0 21 00 8C */ stfs f1, 0x8c(r1) /* 800441D8 0003FE38 D0 01 00 90 */ stfs f0, 0x90(r1) /* 800441DC 0003FE3C 88 1E 06 F8 */ lbz r0, 0x6f8(r30) /* 800441E0 0003FE40 2C 00 00 00 */ cmpwi r0, 0 /* 800441E4 0003FE44 41 82 00 38 */ beq lbl_8004421C /* 800441E8 0003FE48 C0 1E 04 FC */ lfs f0, 0x4fc(r30) /* 800441EC 0003FE4C D0 01 00 5C */ stfs f0, 0x5c(r1) /* 800441F0 0003FE50 C0 3E 05 00 */ lfs f1, 0x500(r30) /* 800441F4 0003FE54 D0 21 00 60 */ stfs f1, 0x60(r1) /* 800441F8 0003FE58 C0 1E 05 04 */ lfs f0, 0x504(r30) /* 800441FC 0003FE5C D0 01 00 64 */ stfs f0, 0x64(r1) /* 80044200 0003FE60 C0 1E 06 F4 */ lfs f0, 0x6f4(r30) /* 80044204 0003FE64 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 80044208 0003FE68 40 80 00 14 */ bge lbl_8004421C /* 8004420C 0003FE6C D0 01 00 60 */ stfs f0, 0x60(r1) /* 80044210 0003FE70 38 7E 04 E8 */ addi r3, r30, 0x4e8 /* 80044214 0003FE74 38 81 00 5C */ addi r4, r1, 0x5c /* 80044218 0003FE78 4B FF C9 CD */ bl func_80040BE4 lbl_8004421C: /* 8004421C 0003FE7C 38 7E 04 FC */ addi r3, r30, 0x4fc /* 80044220 0003FE80 38 81 00 AC */ addi r4, r1, 0xac /* 80044224 0003FE84 38 A1 00 08 */ addi r5, r1, 8 /* 80044228 0003FE88 48 23 8A 9D */ bl PSVECAdd /* 8004422C 0003FE8C C0 21 00 08 */ lfs f1, 8(r1) /* 80044230 0003FE90 C0 A1 00 0C */ lfs f5, 0xc(r1) /* 80044234 0003FE94 C0 81 00 10 */ lfs f4, 0x10(r1) /* 80044238 0003FE98 C0 7F 00 14 */ lfs f3, 0x14(r31) /* 8004423C 0003FE9C C0 5F 00 18 */ lfs f2, 0x18(r31) /* 80044240 0003FEA0 C0 1F 00 1C */ lfs f0, 0x1c(r31) /* 80044244 0003FEA4 D0 21 00 50 */ stfs f1, 0x50(r1) /* 80044248 0003FEA8 D0 A1 00 54 */ stfs f5, 0x54(r1) /* 8004424C 0003FEAC D0 81 00 58 */ stfs f4, 0x58(r1) /* 80044250 0003FEB0 D0 61 00 44 */ stfs f3, 0x44(r1) /* 80044254 0003FEB4 D0 41 00 48 */ stfs f2, 0x48(r1) /* 80044258 0003FEB8 D0 01 00 4C */ stfs f0, 0x4c(r1) /* 8004425C 0003FEBC 48 18 64 59 */ bl __fpclassifyf /* 80044260 0003FEC0 2C 03 00 01 */ cmpwi r3, 1 /* 80044264 0003FEC4 41 82 01 14 */ beq lbl_80044378 /* 80044268 0003FEC8 C0 21 00 50 */ lfs f1, 0x50(r1) /* 8004426C 0003FECC 48 18 64 49 */ bl __fpclassifyf /* 80044270 0003FED0 2C 03 00 02 */ cmpwi r3, 2 /* 80044274 0003FED4 41 82 01 04 */ beq lbl_80044378 /* 80044278 0003FED8 C0 21 00 54 */ lfs f1, 0x54(r1) /* 8004427C 0003FEDC 48 18 64 39 */ bl __fpclassifyf /* 80044280 0003FEE0 2C 03 00 01 */ cmpwi r3, 1 /* 80044284 0003FEE4 41 82 00 F4 */ beq lbl_80044378 /* 80044288 0003FEE8 C0 21 00 54 */ lfs f1, 0x54(r1) /* 8004428C 0003FEEC 48 18 64 29 */ bl __fpclassifyf /* 80044290 0003FEF0 2C 03 00 02 */ cmpwi r3, 2 /* 80044294 0003FEF4 41 82 00 E4 */ beq lbl_80044378 /* 80044298 0003FEF8 C0 21 00 58 */ lfs f1, 0x58(r1) /* 8004429C 0003FEFC 48 18 64 19 */ bl __fpclassifyf /* 800442A0 0003FF00 2C 03 00 01 */ cmpwi r3, 1 /* 800442A4 0003FF04 41 82 00 D4 */ beq lbl_80044378 /* 800442A8 0003FF08 C0 21 00 58 */ lfs f1, 0x58(r1) /* 800442AC 0003FF0C 48 18 64 09 */ bl __fpclassifyf /* 800442B0 0003FF10 2C 03 00 02 */ cmpwi r3, 2 /* 800442B4 0003FF14 41 82 00 C4 */ beq lbl_80044378 /* 800442B8 0003FF18 C0 21 00 44 */ lfs f1, 0x44(r1) /* 800442BC 0003FF1C 48 18 63 F9 */ bl __fpclassifyf /* 800442C0 0003FF20 2C 03 00 01 */ cmpwi r3, 1 /* 800442C4 0003FF24 41 82 00 B4 */ beq lbl_80044378 /* 800442C8 0003FF28 C0 21 00 44 */ lfs f1, 0x44(r1) /* 800442CC 0003FF2C 48 18 63 E9 */ bl __fpclassifyf /* 800442D0 0003FF30 2C 03 00 02 */ cmpwi r3, 2 /* 800442D4 0003FF34 41 82 00 A4 */ beq lbl_80044378 /* 800442D8 0003FF38 C0 21 00 48 */ lfs f1, 0x48(r1) /* 800442DC 0003FF3C 48 18 63 D9 */ bl __fpclassifyf /* 800442E0 0003FF40 2C 03 00 01 */ cmpwi r3, 1 /* 800442E4 0003FF44 41 82 00 94 */ beq lbl_80044378 /* 800442E8 0003FF48 C0 21 00 48 */ lfs f1, 0x48(r1) /* 800442EC 0003FF4C 48 18 63 C9 */ bl __fpclassifyf /* 800442F0 0003FF50 2C 03 00 02 */ cmpwi r3, 2 /* 800442F4 0003FF54 41 82 00 84 */ beq lbl_80044378 /* 800442F8 0003FF58 C0 21 00 4C */ lfs f1, 0x4c(r1) /* 800442FC 0003FF5C 48 18 63 B9 */ bl __fpclassifyf /* 80044300 0003FF60 2C 03 00 01 */ cmpwi r3, 1 /* 80044304 0003FF64 41 82 00 74 */ beq lbl_80044378 /* 80044308 0003FF68 C0 21 00 4C */ lfs f1, 0x4c(r1) /* 8004430C 0003FF6C 48 18 63 A9 */ bl __fpclassifyf /* 80044310 0003FF70 2C 03 00 02 */ cmpwi r3, 2 /* 80044314 0003FF74 41 82 00 64 */ beq lbl_80044378 /* 80044318 0003FF78 C0 21 00 88 */ lfs f1, 0x88(r1) /* 8004431C 0003FF7C 48 18 63 99 */ bl __fpclassifyf /* 80044320 0003FF80 2C 03 00 01 */ cmpwi r3, 1 /* 80044324 0003FF84 41 82 00 54 */ beq lbl_80044378 /* 80044328 0003FF88 C0 21 00 88 */ lfs f1, 0x88(r1) /* 8004432C 0003FF8C 48 18 63 89 */ bl __fpclassifyf /* 80044330 0003FF90 2C 03 00 02 */ cmpwi r3, 2 /* 80044334 0003FF94 41 82 00 44 */ beq lbl_80044378 /* 80044338 0003FF98 C0 21 00 8C */ lfs f1, 0x8c(r1) /* 8004433C 0003FF9C 48 18 63 79 */ bl __fpclassifyf /* 80044340 0003FFA0 2C 03 00 01 */ cmpwi r3, 1 /* 80044344 0003FFA4 41 82 00 34 */ beq lbl_80044378 /* 80044348 0003FFA8 C0 21 00 8C */ lfs f1, 0x8c(r1) /* 8004434C 0003FFAC 48 18 63 69 */ bl __fpclassifyf /* 80044350 0003FFB0 2C 03 00 02 */ cmpwi r3, 2 /* 80044354 0003FFB4 41 82 00 24 */ beq lbl_80044378 /* 80044358 0003FFB8 C0 21 00 90 */ lfs f1, 0x90(r1) /* 8004435C 0003FFBC 48 18 63 59 */ bl __fpclassifyf /* 80044360 0003FFC0 2C 03 00 01 */ cmpwi r3, 1 /* 80044364 0003FFC4 41 82 00 14 */ beq lbl_80044378 /* 80044368 0003FFC8 C0 21 00 90 */ lfs f1, 0x90(r1) /* 8004436C 0003FFCC 48 18 63 49 */ bl __fpclassifyf /* 80044370 0003FFD0 2C 03 00 02 */ cmpwi r3, 2 /* 80044374 0003FFD4 40 82 00 38 */ bne lbl_800443AC lbl_80044378: /* 80044378 0003FFD8 C0 22 82 B0 */ lfs f1, lbl_806408B0-_SDA2_BASE_(r2) /* 8004437C 0003FFDC C0 42 82 CC */ lfs f2, lbl_806408CC-_SDA2_BASE_(r2) /* 80044380 0003FFE0 C0 62 83 70 */ lfs f3, lbl_80640970-_SDA2_BASE_(r2) /* 80044384 0003FFE4 C0 02 82 BC */ lfs f0, lbl_806408BC-_SDA2_BASE_(r2) /* 80044388 0003FFE8 D0 61 00 50 */ stfs f3, 0x50(r1) /* 8004438C 0003FFEC D0 41 00 54 */ stfs f2, 0x54(r1) /* 80044390 0003FFF0 D0 21 00 58 */ stfs f1, 0x58(r1) /* 80044394 0003FFF4 D0 21 00 44 */ stfs f1, 0x44(r1) /* 80044398 0003FFF8 D0 41 00 48 */ stfs f2, 0x48(r1) /* 8004439C 0003FFFC D0 21 00 4C */ stfs f1, 0x4c(r1) /* 800443A0 00040000 D0 21 00 88 */ stfs f1, 0x88(r1) /* 800443A4 00040004 D0 01 00 8C */ stfs f0, 0x8c(r1) /* 800443A8 00040008 D0 21 00 90 */ stfs f1, 0x90(r1) lbl_800443AC: /* 800443AC 0004000C C0 3E 04 E0 */ lfs f1, 0x4e0(r30) /* 800443B0 00040010 48 18 63 05 */ bl __fpclassifyf /* 800443B4 00040014 2C 03 00 01 */ cmpwi r3, 1 /* 800443B8 00040018 41 82 00 14 */ beq lbl_800443CC /* 800443BC 0004001C C0 3E 04 E0 */ lfs f1, 0x4e0(r30) /* 800443C0 00040020 48 18 62 F5 */ bl __fpclassifyf /* 800443C4 00040024 2C 03 00 02 */ cmpwi r3, 2 /* 800443C8 00040028 40 82 00 0C */ bne lbl_800443D4 lbl_800443CC: /* 800443CC 0004002C C0 02 82 C8 */ lfs f0, lbl_806408C8-_SDA2_BASE_(r2) /* 800443D0 00040030 D0 1E 04 E0 */ stfs f0, 0x4e0(r30) lbl_800443D4: /* 800443D4 00040034 80 7E 06 CC */ lwz r3, 0x6cc(r30) /* 800443D8 00040038 C0 01 00 50 */ lfs f0, 0x50(r1) /* 800443DC 0004003C C0 21 00 54 */ lfs f1, 0x54(r1) /* 800443E0 00040040 D0 03 01 AC */ stfs f0, 0x1ac(r3) /* 800443E4 00040044 C0 01 00 58 */ lfs f0, 0x58(r1) /* 800443E8 00040048 D0 23 01 B0 */ stfs f1, 0x1b0(r3) /* 800443EC 0004004C C0 41 00 44 */ lfs f2, 0x44(r1) /* 800443F0 00040050 D0 03 01 B4 */ stfs f0, 0x1b4(r3) /* 800443F4 00040054 C0 21 00 48 */ lfs f1, 0x48(r1) /* 800443F8 00040058 C0 61 00 88 */ lfs f3, 0x88(r1) /* 800443FC 0004005C C0 01 00 4C */ lfs f0, 0x4c(r1) /* 80044400 00040060 D0 63 01 B8 */ stfs f3, 0x1b8(r3) /* 80044404 00040064 C0 61 00 8C */ lfs f3, 0x8c(r1) /* 80044408 00040068 D0 63 01 BC */ stfs f3, 0x1bc(r3) /* 8004440C 0004006C C0 61 00 90 */ lfs f3, 0x90(r1) /* 80044410 00040070 D0 63 01 C0 */ stfs f3, 0x1c0(r3) /* 80044414 00040074 D0 43 01 C4 */ stfs f2, 0x1c4(r3) /* 80044418 00040078 D0 23 01 C8 */ stfs f1, 0x1c8(r3) /* 8004441C 0004007C D0 03 01 CC */ stfs f0, 0x1cc(r3) /* 80044420 00040080 80 03 01 04 */ lwz r0, 0x104(r3) /* 80044424 00040084 60 00 00 30 */ ori r0, r0, 0x30 /* 80044428 00040088 90 03 01 04 */ stw r0, 0x104(r3) /* 8004442C 0004008C 80 7E 06 CC */ lwz r3, 0x6cc(r30) /* 80044430 00040090 C0 1E 04 E0 */ lfs f0, 0x4e0(r30) /* 80044434 00040094 80 03 01 04 */ lwz r0, 0x104(r3) /* 80044438 00040098 54 00 07 BE */ clrlwi r0, r0, 0x1e /* 8004443C 0004009C 28 00 00 01 */ cmplwi r0, 1 /* 80044440 000400A0 40 82 00 14 */ bne lbl_80044454 /* 80044444 000400A4 D0 03 01 68 */ stfs f0, 0x168(r3) /* 80044448 000400A8 80 03 01 04 */ lwz r0, 0x104(r3) /* 8004444C 000400AC 60 00 00 08 */ ori r0, r0, 8 /* 80044450 000400B0 90 03 01 04 */ stw r0, 0x104(r3) lbl_80044454: /* 80044454 000400B4 E3 E1 01 98 */ psq_l f31, 408(r1), 0, qr0 /* 80044458 000400B8 CB E1 01 90 */ lfd f31, 0x190(r1) /* 8004445C 000400BC E3 C1 01 88 */ psq_l f30, 392(r1), 0, qr0 /* 80044460 000400C0 CB C1 01 80 */ lfd f30, 0x180(r1) /* 80044464 000400C4 E3 A1 01 78 */ psq_l f29, 376(r1), 0, qr0 /* 80044468 000400C8 CB A1 01 70 */ lfd f29, 0x170(r1) /* 8004446C 000400CC E3 81 01 68 */ psq_l f28, 360(r1), 0, qr0 /* 80044470 000400D0 CB 81 01 60 */ lfd f28, 0x160(r1) /* 80044474 000400D4 E3 61 01 58 */ psq_l f27, 344(r1), 0, qr0 /* 80044478 000400D8 CB 61 01 50 */ lfd f27, 0x150(r1) /* 8004447C 000400DC 83 E1 01 4C */ lwz r31, 0x14c(r1) /* 80044480 000400E0 83 C1 01 48 */ lwz r30, 0x148(r1) /* 80044484 000400E4 83 A1 01 44 */ lwz r29, 0x144(r1) /* 80044488 000400E8 80 01 01 A4 */ lwz r0, 0x1a4(r1) /* 8004448C 000400EC 83 81 01 40 */ lwz r28, 0x140(r1) /* 80044490 000400F0 7C 08 03 A6 */ mtlr r0 /* 80044494 000400F4 38 21 01 A0 */ addi r1, r1, 0x1a0 /* 80044498 000400F8 4E 80 00 20 */ blr .global func_8004449C func_8004449C: /* 8004449C 000400FC 4E 80 00 20 */ blr .global func_800444A0 func_800444A0: /* 800444A0 00040100 38 00 00 02 */ li r0, 2 /* 800444A4 00040104 38 A0 00 00 */ li r5, 0 /* 800444A8 00040108 38 C0 00 00 */ li r6, 0 /* 800444AC 0004010C 38 80 00 01 */ li r4, 1 /* 800444B0 00040110 7C 09 03 A6 */ mtctr r0 lbl_800444B4: /* 800444B4 00040114 80 03 00 04 */ lwz r0, 4(r3) /* 800444B8 00040118 2C 00 00 00 */ cmpwi r0, 0 /* 800444BC 0004011C 41 82 00 0C */ beq lbl_800444C8 /* 800444C0 00040120 7C 80 30 30 */ slw r0, r4, r6 /* 800444C4 00040124 7C A5 03 78 */ or r5, r5, r0 lbl_800444C8: /* 800444C8 00040128 80 03 00 28 */ lwz r0, 0x28(r3) /* 800444CC 0004012C 38 C6 00 01 */ addi r6, r6, 1 /* 800444D0 00040130 2C 00 00 00 */ cmpwi r0, 0 /* 800444D4 00040134 41 82 00 0C */ beq lbl_800444E0 /* 800444D8 00040138 7C 80 30 30 */ slw r0, r4, r6 /* 800444DC 0004013C 7C A5 03 78 */ or r5, r5, r0 lbl_800444E0: /* 800444E0 00040140 80 03 00 4C */ lwz r0, 0x4c(r3) /* 800444E4 00040144 38 C6 00 01 */ addi r6, r6, 1 /* 800444E8 00040148 2C 00 00 00 */ cmpwi r0, 0 /* 800444EC 0004014C 41 82 00 0C */ beq lbl_800444F8 /* 800444F0 00040150 7C 80 30 30 */ slw r0, r4, r6 /* 800444F4 00040154 7C A5 03 78 */ or r5, r5, r0 lbl_800444F8: /* 800444F8 00040158 80 03 00 70 */ lwz r0, 0x70(r3) /* 800444FC 0004015C 38 C6 00 01 */ addi r6, r6, 1 /* 80044500 00040160 2C 00 00 00 */ cmpwi r0, 0 /* 80044504 00040164 41 82 00 0C */ beq lbl_80044510 /* 80044508 00040168 7C 80 30 30 */ slw r0, r4, r6 /* 8004450C 0004016C 7C A5 03 78 */ or r5, r5, r0 lbl_80044510: /* 80044510 00040170 80 03 00 94 */ lwz r0, 0x94(r3) /* 80044514 00040174 38 C6 00 01 */ addi r6, r6, 1 /* 80044518 00040178 2C 00 00 00 */ cmpwi r0, 0 /* 8004451C 0004017C 41 82 00 0C */ beq lbl_80044528 /* 80044520 00040180 7C 80 30 30 */ slw r0, r4, r6 /* 80044524 00040184 7C A5 03 78 */ or r5, r5, r0 lbl_80044528: /* 80044528 00040188 80 03 00 B8 */ lwz r0, 0xb8(r3) /* 8004452C 0004018C 38 C6 00 01 */ addi r6, r6, 1 /* 80044530 00040190 2C 00 00 00 */ cmpwi r0, 0 /* 80044534 00040194 41 82 00 0C */ beq lbl_80044540 /* 80044538 00040198 7C 80 30 30 */ slw r0, r4, r6 /* 8004453C 0004019C 7C A5 03 78 */ or r5, r5, r0 lbl_80044540: /* 80044540 000401A0 38 63 00 D8 */ addi r3, r3, 0xd8 /* 80044544 000401A4 38 C6 00 01 */ addi r6, r6, 1 /* 80044548 000401A8 42 00 FF 6C */ bdnz lbl_800444B4 /* 8004454C 000401AC 7C A3 2B 78 */ mr r3, r5 /* 80044550 000401B0 4E 80 00 20 */ blr .global func_80044554 func_80044554: /* 80044554 000401B4 94 21 FF 60 */ stwu r1, -0xa0(r1) /* 80044558 000401B8 7C 08 02 A6 */ mflr r0 /* 8004455C 000401BC 90 01 00 A4 */ stw r0, 0xa4(r1) /* 80044560 000401C0 DB E1 00 90 */ stfd f31, 0x90(r1) /* 80044564 000401C4 F3 E1 00 98 */ psq_st f31, 152(r1), 0, qr0 /* 80044568 000401C8 93 E1 00 8C */ stw r31, 0x8c(r1) /* 8004456C 000401CC 93 C1 00 88 */ stw r30, 0x88(r1) /* 80044570 000401D0 7C 7E 1B 78 */ mr r30, r3 /* 80044574 000401D4 93 A1 00 84 */ stw r29, 0x84(r1) /* 80044578 000401D8 7C BD 2B 78 */ mr r29, r5 /* 8004457C 000401DC 93 81 00 80 */ stw r28, 0x80(r1) /* 80044580 000401E0 7C 9C 23 78 */ mr r28, r4 /* 80044584 000401E4 80 03 06 CC */ lwz r0, 0x6cc(r3) /* 80044588 000401E8 2C 00 00 00 */ cmpwi r0, 0 /* 8004458C 000401EC 40 82 00 0C */ bne lbl_80044598 /* 80044590 000401F0 38 60 00 00 */ li r3, 0 /* 80044594 000401F4 48 00 01 B4 */ b lbl_80044748 lbl_80044598: /* 80044598 000401F8 4B FE EA F1 */ bl func_80033088 /* 8004459C 000401FC 2C 03 00 00 */ cmpwi r3, 0 /* 800445A0 00040200 40 82 00 0C */ bne lbl_800445AC /* 800445A4 00040204 38 60 00 00 */ li r3, 0 /* 800445A8 00040208 48 00 01 A0 */ b lbl_80044748 lbl_800445AC: /* 800445AC 0004020C 80 9E 04 B4 */ lwz r4, 0x4b4(r30) /* 800445B0 00040210 4B FE F5 E9 */ bl func_80033B98 /* 800445B4 00040214 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 800445B8 00040218 7C 7F 1B 78 */ mr r31, r3 /* 800445BC 0004021C 28 00 FF FF */ cmplwi r0, 0xffff /* 800445C0 00040220 41 82 00 30 */ beq lbl_800445F0 /* 800445C4 00040224 38 60 00 02 */ li r3, 2 /* 800445C8 00040228 48 1F 6A 91 */ bl func_8023B058 /* 800445CC 0004022C 80 03 00 20 */ lwz r0, 0x20(r3) /* 800445D0 00040230 2C 00 00 01 */ cmpwi r0, 1 /* 800445D4 00040234 40 82 00 1C */ bne lbl_800445F0 /* 800445D8 00040238 57 E4 04 3E */ clrlwi r4, r31, 0x10 /* 800445DC 0004023C 38 A1 00 50 */ addi r5, r1, 0x50 /* 800445E0 00040240 38 C1 00 54 */ addi r6, r1, 0x54 /* 800445E4 00040244 38 E1 00 58 */ addi r7, r1, 0x58 /* 800445E8 00040248 39 01 00 5C */ addi r8, r1, 0x5c /* 800445EC 0004024C 48 1F E5 9D */ bl func_80242B88 lbl_800445F0: /* 800445F0 00040250 C0 62 82 B0 */ lfs f3, lbl_806408B0-_SDA2_BASE_(r2) /* 800445F4 00040254 3C 00 43 30 */ lis r0, 0x4330 /* 800445F8 00040258 80 ED A3 D8 */ lwz r7, render_context_ptr-_SDA_BASE_(r13) /* 800445FC 0004025C 7F 84 E3 78 */ mr r4, r28 /* 80044600 00040260 D0 61 00 50 */ stfs f3, 0x50(r1) /* 80044604 00040264 38 61 00 2C */ addi r3, r1, 0x2c /* 80044608 00040268 C8 42 82 C0 */ lfd f2, lbl_806408C0-_SDA2_BASE_(r2) /* 8004460C 0004026C 38 A1 00 08 */ addi r5, r1, 8 /* 80044610 00040270 D0 61 00 54 */ stfs f3, 0x54(r1) /* 80044614 00040274 C0 02 82 BC */ lfs f0, lbl_806408BC-_SDA2_BASE_(r2) /* 80044618 00040278 A0 C7 00 04 */ lhz r6, 4(r7) /* 8004461C 0004027C 90 01 00 68 */ stw r0, 0x68(r1) /* 80044620 00040280 90 C1 00 6C */ stw r6, 0x6c(r1) /* 80044624 00040284 C8 21 00 68 */ lfd f1, 0x68(r1) /* 80044628 00040288 90 01 00 70 */ stw r0, 0x70(r1) /* 8004462C 0004028C EC 21 10 28 */ fsubs f1, f1, f2 /* 80044630 00040290 D0 21 00 58 */ stfs f1, 0x58(r1) /* 80044634 00040294 A0 07 00 06 */ lhz r0, 6(r7) /* 80044638 00040298 90 01 00 74 */ stw r0, 0x74(r1) /* 8004463C 0004029C C8 21 00 70 */ lfd f1, 0x70(r1) /* 80044640 000402A0 D0 61 00 60 */ stfs f3, 0x60(r1) /* 80044644 000402A4 EC 21 10 28 */ fsubs f1, f1, f2 /* 80044648 000402A8 D0 01 00 64 */ stfs f0, 0x64(r1) /* 8004464C 000402AC D0 21 00 5C */ stfs f1, 0x5c(r1) /* 80044650 000402B0 80 DE 06 CC */ lwz r6, 0x6cc(r30) /* 80044654 000402B4 C0 26 02 10 */ lfs f1, 0x210(r6) /* 80044658 000402B8 3B E6 01 4C */ addi r31, r6, 0x14c /* 8004465C 000402BC C0 06 02 20 */ lfs f0, 0x220(r6) /* 80044660 000402C0 3B C6 01 D4 */ addi r30, r6, 0x1d4 /* 80044664 000402C4 C0 86 02 30 */ lfs f4, 0x230(r6) /* 80044668 000402C8 D0 21 00 20 */ stfs f1, 0x20(r1) /* 8004466C 000402CC D0 21 00 2C */ stfs f1, 0x2c(r1) /* 80044670 000402D0 D0 01 00 30 */ stfs f0, 0x30(r1) /* 80044674 000402D4 D0 81 00 34 */ stfs f4, 0x34(r1) /* 80044678 000402D8 C0 66 02 0C */ lfs f3, 0x20c(r6) /* 8004467C 000402DC C0 46 02 1C */ lfs f2, 0x21c(r6) /* 80044680 000402E0 C0 26 02 2C */ lfs f1, 0x22c(r6) /* 80044684 000402E4 D0 01 00 24 */ stfs f0, 0x24(r1) /* 80044688 000402E8 D0 61 00 44 */ stfs f3, 0x44(r1) /* 8004468C 000402EC D0 41 00 48 */ stfs f2, 0x48(r1) /* 80044690 000402F0 D0 21 00 4C */ stfs f1, 0x4c(r1) /* 80044694 000402F4 C0 06 01 64 */ lfs f0, 0x164(r6) /* 80044698 000402F8 D0 81 00 28 */ stfs f4, 0x28(r1) /* 8004469C 000402FC FF E0 00 50 */ fneg f31, f0 /* 800446A0 00040300 D0 61 00 14 */ stfs f3, 0x14(r1) /* 800446A4 00040304 D0 41 00 18 */ stfs f2, 0x18(r1) /* 800446A8 00040308 D0 21 00 1C */ stfs f1, 0x1c(r1) /* 800446AC 0004030C 48 23 86 3D */ bl PSVECSubtract /* 800446B0 00040310 C0 41 00 08 */ lfs f2, 8(r1) /* 800446B4 00040314 38 61 00 44 */ addi r3, r1, 0x44 /* 800446B8 00040318 C0 21 00 0C */ lfs f1, 0xc(r1) /* 800446BC 0004031C 38 81 00 38 */ addi r4, r1, 0x38 /* 800446C0 00040320 C0 01 00 10 */ lfs f0, 0x10(r1) /* 800446C4 00040324 D0 41 00 38 */ stfs f2, 0x38(r1) /* 800446C8 00040328 D0 21 00 3C */ stfs f1, 0x3c(r1) /* 800446CC 0004032C D0 01 00 40 */ stfs f0, 0x40(r1) /* 800446D0 00040330 48 23 86 F9 */ bl PSVECDotProduct /* 800446D4 00040334 FC 01 F8 40 */ fcmpo cr0, f1, f31 /* 800446D8 00040338 4C 40 13 82 */ cror 2, 0, 2 /* 800446DC 0004033C 40 82 00 40 */ bne lbl_8004471C /* 800446E0 00040340 C0 21 00 58 */ lfs f1, 0x58(r1) /* 800446E4 00040344 38 60 00 00 */ li r3, 0 /* 800446E8 00040348 C0 01 00 50 */ lfs f0, 0x50(r1) /* 800446EC 0004034C C0 62 82 B8 */ lfs f3, lbl_806408B8-_SDA2_BASE_(r2) /* 800446F0 00040350 EC 21 00 28 */ fsubs f1, f1, f0 /* 800446F4 00040354 C0 02 82 E0 */ lfs f0, lbl_806408E0-_SDA2_BASE_(r2) /* 800446F8 00040358 EC 23 00 72 */ fmuls f1, f3, f1 /* 800446FC 0004035C D0 3D 00 00 */ stfs f1, 0(r29) /* 80044700 00040360 C0 41 00 5C */ lfs f2, 0x5c(r1) /* 80044704 00040364 C0 21 00 54 */ lfs f1, 0x54(r1) /* 80044708 00040368 EC 22 08 28 */ fsubs f1, f2, f1 /* 8004470C 0004036C D0 1D 00 08 */ stfs f0, 8(r29) /* 80044710 00040370 EC 03 00 72 */ fmuls f0, f3, f1 /* 80044714 00040374 D0 1D 00 04 */ stfs f0, 4(r29) /* 80044718 00040378 48 00 00 30 */ b lbl_80044748 lbl_8004471C: /* 8004471C 0004037C C0 3C 00 00 */ lfs f1, 0(r28) /* 80044720 00040380 7F C3 F3 78 */ mr r3, r30 /* 80044724 00040384 C0 5C 00 04 */ lfs f2, 4(r28) /* 80044728 00040388 7F E4 FB 78 */ mr r4, r31 /* 8004472C 0004038C C0 7C 00 08 */ lfs f3, 8(r28) /* 80044730 00040390 7F A6 EB 78 */ mr r6, r29 /* 80044734 00040394 38 A1 00 50 */ addi r5, r1, 0x50 /* 80044738 00040398 38 FD 00 04 */ addi r7, r29, 4 /* 8004473C 0004039C 39 1D 00 08 */ addi r8, r29, 8 /* 80044740 000403A0 48 24 20 CD */ bl GXProject /* 80044744 000403A4 38 60 00 01 */ li r3, 1 lbl_80044748: /* 80044748 000403A8 E3 E1 00 98 */ psq_l f31, 152(r1), 0, qr0 /* 8004474C 000403AC 80 01 00 A4 */ lwz r0, 0xa4(r1) /* 80044750 000403B0 CB E1 00 90 */ lfd f31, 0x90(r1) /* 80044754 000403B4 83 E1 00 8C */ lwz r31, 0x8c(r1) /* 80044758 000403B8 83 C1 00 88 */ lwz r30, 0x88(r1) /* 8004475C 000403BC 83 A1 00 84 */ lwz r29, 0x84(r1) /* 80044760 000403C0 83 81 00 80 */ lwz r28, 0x80(r1) /* 80044764 000403C4 7C 08 03 A6 */ mtlr r0 /* 80044768 000403C8 38 21 00 A0 */ addi r1, r1, 0xa0 /* 8004476C 000403CC 4E 80 00 20 */ blr .global func_80044770 func_80044770: /* 80044770 000403D0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80044774 000403D4 7C 08 02 A6 */ mflr r0 /* 80044778 000403D8 90 01 00 14 */ stw r0, 0x14(r1) /* 8004477C 000403DC 93 E1 00 0C */ stw r31, 0xc(r1) /* 80044780 000403E0 7C 9F 23 78 */ mr r31, r4 /* 80044784 000403E4 93 C1 00 08 */ stw r30, 8(r1) /* 80044788 000403E8 7C 7E 1B 78 */ mr r30, r3 /* 8004478C 000403EC 38 63 04 E8 */ addi r3, r3, 0x4e8 /* 80044790 000403F0 4B FF C6 B9 */ bl func_80040E48 /* 80044794 000403F4 7F E4 FB 78 */ mr r4, r31 /* 80044798 000403F8 38 7E 05 60 */ addi r3, r30, 0x560 /* 8004479C 000403FC 4B FF C6 AD */ bl func_80040E48 /* 800447A0 00040400 7F E4 FB 78 */ mr r4, r31 /* 800447A4 00040404 38 7E 06 50 */ addi r3, r30, 0x650 /* 800447A8 00040408 4B FF C6 A1 */ bl func_80040E48 /* 800447AC 0004040C 80 01 00 14 */ lwz r0, 0x14(r1) /* 800447B0 00040410 83 E1 00 0C */ lwz r31, 0xc(r1) /* 800447B4 00040414 83 C1 00 08 */ lwz r30, 8(r1) /* 800447B8 00040418 7C 08 03 A6 */ mtlr r0 /* 800447BC 0004041C 38 21 00 10 */ addi r1, r1, 0x10 /* 800447C0 00040420 4E 80 00 20 */ blr .global func_800447C4 func_800447C4: /* 800447C4 00040424 38 A0 00 01 */ li r5, 1 /* 800447C8 00040428 38 6D 97 D0 */ addi r3, r13, lbl_8063EA90-_SDA_BASE_ /* 800447CC 0004042C 38 80 00 04 */ li r4, 4 /* 800447D0 00040430 38 00 00 00 */ li r0, 0 /* 800447D4 00040434 98 AD 97 D0 */ stb r5, lbl_8063EA90-_SDA_BASE_(r13) /* 800447D8 00040438 B0 83 00 02 */ sth r4, 2(r3) /* 800447DC 0004043C 98 03 00 04 */ stb r0, 4(r3) /* 800447E0 00040440 4E 80 00 20 */ blr