.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global func_8004F37C func_8004F37C: /* 8004F37C 0004AFDC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004F380 0004AFE0 7C 08 02 A6 */ mflr r0 /* 8004F384 0004AFE4 90 01 00 14 */ stw r0, 0x14(r1) /* 8004F388 0004AFE8 80 6D 98 50 */ lwz r3, lbl_8063EB10-_SDA_BASE_(r13) /* 8004F38C 0004AFEC 2C 03 00 00 */ cmpwi r3, 0 /* 8004F390 0004AFF0 41 82 00 0C */ beq lbl_8004F39C /* 8004F394 0004AFF4 38 80 00 01 */ li r4, 1 /* 8004F398 0004AFF8 48 00 00 D1 */ bl func_8004F468 lbl_8004F39C: /* 8004F39C 0004AFFC 38 60 00 08 */ li r3, 8 /* 8004F3A0 0004B000 48 18 B6 91 */ bl __nw__FUl /* 8004F3A4 0004B004 2C 03 00 00 */ cmpwi r3, 0 /* 8004F3A8 0004B008 41 82 00 08 */ beq lbl_8004F3B0 /* 8004F3AC 0004B00C 48 00 00 79 */ bl func_8004F424 lbl_8004F3B0: /* 8004F3B0 0004B010 3C 80 80 05 */ lis r4, lbl_8004F3E4@ha /* 8004F3B4 0004B014 3C A0 80 05 */ lis r5, lbl_8004F418@ha /* 8004F3B8 0004B018 90 6D 98 50 */ stw r3, lbl_8063EB10-_SDA_BASE_(r13) /* 8004F3BC 0004B01C 38 84 F3 E4 */ addi r4, r4, lbl_8004F3E4@l /* 8004F3C0 0004B020 80 6D A4 B8 */ lwz r3, lbl_8063F778-_SDA_BASE_(r13) /* 8004F3C4 0004B024 38 A5 F4 18 */ addi r5, r5, lbl_8004F418@l /* 8004F3C8 0004B028 38 C0 00 03 */ li r6, 3 /* 8004F3CC 0004B02C 38 E0 00 0C */ li r7, 0xc /* 8004F3D0 0004B030 48 1E F7 89 */ bl func_8023EB58 /* 8004F3D4 0004B034 80 01 00 14 */ lwz r0, 0x14(r1) /* 8004F3D8 0004B038 7C 08 03 A6 */ mtlr r0 /* 8004F3DC 0004B03C 38 21 00 10 */ addi r1, r1, 0x10 /* 8004F3E0 0004B040 4E 80 00 20 */ blr lbl_8004F3E4: /* 8004F3E4 0004B044 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004F3E8 0004B048 7C 08 02 A6 */ mflr r0 /* 8004F3EC 0004B04C 90 01 00 14 */ stw r0, 0x14(r1) /* 8004F3F0 0004B050 80 0D 98 50 */ lwz r0, lbl_8063EB10-_SDA_BASE_(r13) /* 8004F3F4 0004B054 2C 00 00 00 */ cmpwi r0, 0 /* 8004F3F8 0004B058 41 82 00 10 */ beq lbl_8004F408 /* 8004F3FC 0004B05C 4B FB 7F A1 */ bl func_8000739C /* 8004F400 0004B060 80 6D 98 50 */ lwz r3, lbl_8063EB10-_SDA_BASE_(r13) /* 8004F404 0004B064 48 00 00 C9 */ bl func_8004F4CC lbl_8004F408: /* 8004F408 0004B068 80 01 00 14 */ lwz r0, 0x14(r1) /* 8004F40C 0004B06C 7C 08 03 A6 */ mtlr r0 /* 8004F410 0004B070 38 21 00 10 */ addi r1, r1, 0x10 /* 8004F414 0004B074 4E 80 00 20 */ blr lbl_8004F418: /* 8004F418 0004B078 4E 80 00 20 */ blr .global func_8004F41C func_8004F41C: /* 8004F41C 0004B07C 80 6D 98 50 */ lwz r3, lbl_8063EB10-_SDA_BASE_(r13) /* 8004F420 0004B080 4E 80 00 20 */ blr .global func_8004F424 func_8004F424: /* 8004F424 0004B084 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004F428 0004B088 7C 08 02 A6 */ mflr r0 /* 8004F42C 0004B08C 90 01 00 14 */ stw r0, 0x14(r1) /* 8004F430 0004B090 93 E1 00 0C */ stw r31, 0xc(r1) /* 8004F434 0004B094 7C 7F 1B 78 */ mr r31, r3 /* 8004F438 0004B098 38 60 01 74 */ li r3, 0x174 /* 8004F43C 0004B09C 48 18 B5 F5 */ bl __nw__FUl /* 8004F440 0004B0A0 2C 03 00 00 */ cmpwi r3, 0 /* 8004F444 0004B0A4 41 82 00 08 */ beq lbl_8004F44C /* 8004F448 0004B0A8 48 00 00 8D */ bl func_8004F4D4 lbl_8004F44C: /* 8004F44C 0004B0AC 90 7F 00 04 */ stw r3, 4(r31) /* 8004F450 0004B0B0 7F E3 FB 78 */ mr r3, r31 /* 8004F454 0004B0B4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8004F458 0004B0B8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8004F45C 0004B0BC 7C 08 03 A6 */ mtlr r0 /* 8004F460 0004B0C0 38 21 00 10 */ addi r1, r1, 0x10 /* 8004F464 0004B0C4 4E 80 00 20 */ blr .global func_8004F468 func_8004F468: /* 8004F468 0004B0C8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004F46C 0004B0CC 7C 08 02 A6 */ mflr r0 /* 8004F470 0004B0D0 2C 03 00 00 */ cmpwi r3, 0 /* 8004F474 0004B0D4 90 01 00 14 */ stw r0, 0x14(r1) /* 8004F478 0004B0D8 93 E1 00 0C */ stw r31, 0xc(r1) /* 8004F47C 0004B0DC 7C 9F 23 78 */ mr r31, r4 /* 8004F480 0004B0E0 93 C1 00 08 */ stw r30, 8(r1) /* 8004F484 0004B0E4 7C 7E 1B 78 */ mr r30, r3 /* 8004F488 0004B0E8 41 82 00 20 */ beq lbl_8004F4A8 /* 8004F48C 0004B0EC 80 63 00 04 */ lwz r3, 4(r3) /* 8004F490 0004B0F0 38 80 00 01 */ li r4, 1 /* 8004F494 0004B0F4 48 00 01 29 */ bl func_8004F5BC /* 8004F498 0004B0F8 2C 1F 00 00 */ cmpwi r31, 0 /* 8004F49C 0004B0FC 40 81 00 0C */ ble lbl_8004F4A8 /* 8004F4A0 0004B100 7F C3 F3 78 */ mr r3, r30 /* 8004F4A4 0004B104 48 18 B6 15 */ bl __dl__FPv lbl_8004F4A8: /* 8004F4A8 0004B108 7F C3 F3 78 */ mr r3, r30 /* 8004F4AC 0004B10C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8004F4B0 0004B110 83 C1 00 08 */ lwz r30, 8(r1) /* 8004F4B4 0004B114 80 01 00 14 */ lwz r0, 0x14(r1) /* 8004F4B8 0004B118 7C 08 03 A6 */ mtlr r0 /* 8004F4BC 0004B11C 38 21 00 10 */ addi r1, r1, 0x10 /* 8004F4C0 0004B120 4E 80 00 20 */ blr .global func_8004F4C4 func_8004F4C4: /* 8004F4C4 0004B124 80 63 00 04 */ lwz r3, 4(r3) /* 8004F4C8 0004B128 4E 80 00 20 */ blr .global func_8004F4CC func_8004F4CC: /* 8004F4CC 0004B12C 80 63 00 04 */ lwz r3, 4(r3) /* 8004F4D0 0004B130 48 00 04 30 */ b lbl_8004F900 .global func_8004F4D4 func_8004F4D4: /* 8004F4D4 0004B134 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8004F4D8 0004B138 7C 08 02 A6 */ mflr r0 /* 8004F4DC 0004B13C 90 01 00 24 */ stw r0, 0x24(r1) /* 8004F4E0 0004B140 38 00 00 00 */ li r0, 0 /* 8004F4E4 0004B144 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8004F4E8 0004B148 3B E3 01 24 */ addi r31, r3, 0x124 /* 8004F4EC 0004B14C 93 C1 00 18 */ stw r30, 0x18(r1) /* 8004F4F0 0004B150 3B C3 00 4C */ addi r30, r3, 0x4c /* 8004F4F4 0004B154 93 A1 00 14 */ stw r29, 0x14(r1) /* 8004F4F8 0004B158 7C 7D 1B 78 */ mr r29, r3 /* 8004F4FC 0004B15C 90 03 00 00 */ stw r0, 0(r3) lbl_8004F500: /* 8004F500 0004B160 7F C3 F3 78 */ mr r3, r30 /* 8004F504 0004B164 48 00 0E 21 */ bl func_80050324 /* 8004F508 0004B168 3B DE 00 24 */ addi r30, r30, 0x24 /* 8004F50C 0004B16C 7C 1E F8 40 */ cmplw r30, r31 /* 8004F510 0004B170 41 80 FF F0 */ blt lbl_8004F500 /* 8004F514 0004B174 7F E3 FB 78 */ mr r3, r31 /* 8004F518 0004B178 48 00 16 1D */ bl func_80050B34 /* 8004F51C 0004B17C C0 62 84 68 */ lfs f3, lbl_80640A68-_SDA2_BASE_(r2) /* 8004F520 0004B180 38 A0 00 00 */ li r5, 0 /* 8004F524 0004B184 C0 22 84 70 */ lfs f1, lbl_80640A70-_SDA2_BASE_(r2) /* 8004F528 0004B188 38 00 FF FF */ li r0, -1 /* 8004F52C 0004B18C C0 42 84 6C */ lfs f2, lbl_80640A6C-_SDA2_BASE_(r2) /* 8004F530 0004B190 7F A3 EB 78 */ mr r3, r29 /* 8004F534 0004B194 C0 02 84 74 */ lfs f0, lbl_80640A74-_SDA2_BASE_(r2) /* 8004F538 0004B198 38 80 00 00 */ li r4, 0 /* 8004F53C 0004B19C 90 BD 00 2C */ stw r5, 0x2c(r29) /* 8004F540 0004B1A0 90 BD 00 30 */ stw r5, 0x30(r29) /* 8004F544 0004B1A4 90 BD 00 34 */ stw r5, 0x34(r29) /* 8004F548 0004B1A8 90 BD 00 38 */ stw r5, 0x38(r29) /* 8004F54C 0004B1AC 90 BD 00 3C */ stw r5, 0x3c(r29) /* 8004F550 0004B1B0 90 BD 00 40 */ stw r5, 0x40(r29) /* 8004F554 0004B1B4 90 BD 00 44 */ stw r5, 0x44(r29) /* 8004F558 0004B1B8 90 BD 00 48 */ stw r5, 0x48(r29) /* 8004F55C 0004B1BC 90 1D 01 60 */ stw r0, 0x160(r29) /* 8004F560 0004B1C0 98 BD 01 70 */ stb r5, 0x170(r29) /* 8004F564 0004B1C4 D0 7D 00 14 */ stfs f3, 0x14(r29) /* 8004F568 0004B1C8 D0 5D 00 18 */ stfs f2, 0x18(r29) /* 8004F56C 0004B1CC D0 7D 00 1C */ stfs f3, 0x1c(r29) /* 8004F570 0004B1D0 D0 7D 00 20 */ stfs f3, 0x20(r29) /* 8004F574 0004B1D4 D0 7D 00 24 */ stfs f3, 0x24(r29) /* 8004F578 0004B1D8 D0 7D 00 28 */ stfs f3, 0x28(r29) /* 8004F57C 0004B1DC D0 3D 00 04 */ stfs f1, 4(r29) /* 8004F580 0004B1E0 D0 3D 00 08 */ stfs f1, 8(r29) /* 8004F584 0004B1E4 D0 3D 00 0C */ stfs f1, 0xc(r29) /* 8004F588 0004B1E8 D0 3D 00 10 */ stfs f1, 0x10(r29) /* 8004F58C 0004B1EC D0 1D 01 64 */ stfs f0, 0x164(r29) /* 8004F590 0004B1F0 D0 7D 01 68 */ stfs f3, 0x168(r29) /* 8004F594 0004B1F4 D0 7D 01 6C */ stfs f3, 0x16c(r29) /* 8004F598 0004B1F8 48 00 00 95 */ bl func_8004F62C /* 8004F59C 0004B1FC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8004F5A0 0004B200 7F A3 EB 78 */ mr r3, r29 /* 8004F5A4 0004B204 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8004F5A8 0004B208 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8004F5AC 0004B20C 80 01 00 24 */ lwz r0, 0x24(r1) /* 8004F5B0 0004B210 7C 08 03 A6 */ mtlr r0 /* 8004F5B4 0004B214 38 21 00 20 */ addi r1, r1, 0x20 /* 8004F5B8 0004B218 4E 80 00 20 */ blr .global func_8004F5BC func_8004F5BC: /* 8004F5BC 0004B21C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004F5C0 0004B220 7C 08 02 A6 */ mflr r0 /* 8004F5C4 0004B224 2C 03 00 00 */ cmpwi r3, 0 /* 8004F5C8 0004B228 90 01 00 14 */ stw r0, 0x14(r1) /* 8004F5CC 0004B22C 93 E1 00 0C */ stw r31, 0xc(r1) /* 8004F5D0 0004B230 7C 9F 23 78 */ mr r31, r4 /* 8004F5D4 0004B234 93 C1 00 08 */ stw r30, 8(r1) /* 8004F5D8 0004B238 7C 7E 1B 78 */ mr r30, r3 /* 8004F5DC 0004B23C 41 82 00 34 */ beq lbl_8004F610 /* 8004F5E0 0004B240 80 63 00 00 */ lwz r3, 0(r3) /* 8004F5E4 0004B244 2C 03 00 00 */ cmpwi r3, 0 /* 8004F5E8 0004B248 41 82 00 18 */ beq lbl_8004F600 /* 8004F5EC 0004B24C 81 83 01 00 */ lwz r12, 0x100(r3) /* 8004F5F0 0004B250 38 80 00 01 */ li r4, 1 /* 8004F5F4 0004B254 81 8C 00 08 */ lwz r12, 8(r12) /* 8004F5F8 0004B258 7D 89 03 A6 */ mtctr r12 /* 8004F5FC 0004B25C 4E 80 04 21 */ bctrl lbl_8004F600: /* 8004F600 0004B260 2C 1F 00 00 */ cmpwi r31, 0 /* 8004F604 0004B264 40 81 00 0C */ ble lbl_8004F610 /* 8004F608 0004B268 7F C3 F3 78 */ mr r3, r30 /* 8004F60C 0004B26C 48 18 B4 AD */ bl __dl__FPv lbl_8004F610: /* 8004F610 0004B270 7F C3 F3 78 */ mr r3, r30 /* 8004F614 0004B274 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8004F618 0004B278 83 C1 00 08 */ lwz r30, 8(r1) /* 8004F61C 0004B27C 80 01 00 14 */ lwz r0, 0x14(r1) /* 8004F620 0004B280 7C 08 03 A6 */ mtlr r0 /* 8004F624 0004B284 38 21 00 10 */ addi r1, r1, 0x10 /* 8004F628 0004B288 4E 80 00 20 */ blr .global func_8004F62C func_8004F62C: /* 8004F62C 0004B28C 94 21 FF C0 */ stwu r1, -0x40(r1) /* 8004F630 0004B290 7C 08 02 A6 */ mflr r0 /* 8004F634 0004B294 90 01 00 44 */ stw r0, 0x44(r1) /* 8004F638 0004B298 93 E1 00 3C */ stw r31, 0x3c(r1) /* 8004F63C 0004B29C 7C 7F 1B 78 */ mr r31, r3 /* 8004F640 0004B2A0 93 C1 00 38 */ stw r30, 0x38(r1) /* 8004F644 0004B2A4 7C 9E 23 78 */ mr r30, r4 /* 8004F648 0004B2A8 80 A3 00 00 */ lwz r5, 0(r3) /* 8004F64C 0004B2AC 2C 05 00 00 */ cmpwi r5, 0 /* 8004F650 0004B2B0 41 82 00 10 */ beq lbl_8004F660 /* 8004F654 0004B2B4 80 03 01 60 */ lwz r0, 0x160(r3) /* 8004F658 0004B2B8 7C 00 20 00 */ cmpw r0, r4 /* 8004F65C 0004B2BC 41 82 02 8C */ beq lbl_8004F8E8 lbl_8004F660: /* 8004F660 0004B2C0 2C 05 00 00 */ cmpwi r5, 0 /* 8004F664 0004B2C4 41 82 00 20 */ beq lbl_8004F684 /* 8004F668 0004B2C8 41 82 00 1C */ beq lbl_8004F684 /* 8004F66C 0004B2CC 81 85 01 00 */ lwz r12, 0x100(r5) /* 8004F670 0004B2D0 7C A3 2B 78 */ mr r3, r5 /* 8004F674 0004B2D4 38 80 00 01 */ li r4, 1 /* 8004F678 0004B2D8 81 8C 00 08 */ lwz r12, 8(r12) /* 8004F67C 0004B2DC 7D 89 03 A6 */ mtctr r12 /* 8004F680 0004B2E0 4E 80 04 21 */ bctrl lbl_8004F684: /* 8004F684 0004B2E4 2C 1E 00 01 */ cmpwi r30, 1 /* 8004F688 0004B2E8 93 DF 01 60 */ stw r30, 0x160(r31) /* 8004F68C 0004B2EC 41 82 00 18 */ beq lbl_8004F6A4 /* 8004F690 0004B2F0 40 80 00 08 */ bge lbl_8004F698 /* 8004F694 0004B2F4 48 00 00 C0 */ b lbl_8004F754 lbl_8004F698: /* 8004F698 0004B2F8 2C 1E 00 03 */ cmpwi r30, 3 /* 8004F69C 0004B2FC 40 80 00 B8 */ bge lbl_8004F754 /* 8004F6A0 0004B300 48 00 00 5C */ b lbl_8004F6FC lbl_8004F6A4: /* 8004F6A4 0004B304 48 18 B4 85 */ bl func_801DAB28 /* 8004F6A8 0004B308 2C 03 00 00 */ cmpwi r3, 0 /* 8004F6AC 0004B30C 41 82 00 14 */ beq lbl_8004F6C0 /* 8004F6B0 0004B310 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 8004F6B4 0004B314 38 80 01 38 */ li r4, 0x138 /* 8004F6B8 0004B318 48 18 B5 DD */ bl func_801DAC94 /* 8004F6BC 0004B31C 48 00 00 08 */ b lbl_8004F6C4 lbl_8004F6C0: /* 8004F6C0 0004B320 38 60 00 00 */ li r3, 0 lbl_8004F6C4: /* 8004F6C4 0004B324 2C 03 00 00 */ cmpwi r3, 0 /* 8004F6C8 0004B328 41 82 00 2C */ beq lbl_8004F6F4 /* 8004F6CC 0004B32C 38 00 00 FF */ li r0, 0xff /* 8004F6D0 0004B330 38 E1 00 10 */ addi r7, r1, 0x10 /* 8004F6D4 0004B334 98 01 00 10 */ stb r0, 0x10(r1) /* 8004F6D8 0004B338 38 80 00 01 */ li r4, 1 /* 8004F6DC 0004B33C 38 A0 00 01 */ li r5, 1 /* 8004F6E0 0004B340 38 C0 00 00 */ li r6, 0 /* 8004F6E4 0004B344 98 01 00 11 */ stb r0, 0x11(r1) /* 8004F6E8 0004B348 98 01 00 12 */ stb r0, 0x12(r1) /* 8004F6EC 0004B34C 98 01 00 13 */ stb r0, 0x13(r1) /* 8004F6F0 0004B350 48 19 68 8D */ bl func_801E5F7C lbl_8004F6F4: /* 8004F6F4 0004B354 90 7F 00 00 */ stw r3, 0(r31) /* 8004F6F8 0004B358 48 00 00 B8 */ b lbl_8004F7B0 lbl_8004F6FC: /* 8004F6FC 0004B35C 48 18 B4 2D */ bl func_801DAB28 /* 8004F700 0004B360 2C 03 00 00 */ cmpwi r3, 0 /* 8004F704 0004B364 41 82 00 14 */ beq lbl_8004F718 /* 8004F708 0004B368 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 8004F70C 0004B36C 38 80 01 38 */ li r4, 0x138 /* 8004F710 0004B370 48 18 B5 85 */ bl func_801DAC94 /* 8004F714 0004B374 48 00 00 08 */ b lbl_8004F71C lbl_8004F718: /* 8004F718 0004B378 38 60 00 00 */ li r3, 0 lbl_8004F71C: /* 8004F71C 0004B37C 2C 03 00 00 */ cmpwi r3, 0 /* 8004F720 0004B380 41 82 00 2C */ beq lbl_8004F74C /* 8004F724 0004B384 38 00 00 FF */ li r0, 0xff /* 8004F728 0004B388 38 E1 00 0C */ addi r7, r1, 0xc /* 8004F72C 0004B38C 98 01 00 0C */ stb r0, 0xc(r1) /* 8004F730 0004B390 38 80 00 02 */ li r4, 2 /* 8004F734 0004B394 38 A0 00 01 */ li r5, 1 /* 8004F738 0004B398 38 C0 00 00 */ li r6, 0 /* 8004F73C 0004B39C 98 01 00 0D */ stb r0, 0xd(r1) /* 8004F740 0004B3A0 98 01 00 0E */ stb r0, 0xe(r1) /* 8004F744 0004B3A4 98 01 00 0F */ stb r0, 0xf(r1) /* 8004F748 0004B3A8 48 19 68 35 */ bl func_801E5F7C lbl_8004F74C: /* 8004F74C 0004B3AC 90 7F 00 00 */ stw r3, 0(r31) /* 8004F750 0004B3B0 48 00 00 60 */ b lbl_8004F7B0 lbl_8004F754: /* 8004F754 0004B3B4 48 18 B3 D5 */ bl func_801DAB28 /* 8004F758 0004B3B8 2C 03 00 00 */ cmpwi r3, 0 /* 8004F75C 0004B3BC 41 82 00 14 */ beq lbl_8004F770 /* 8004F760 0004B3C0 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 8004F764 0004B3C4 38 80 01 38 */ li r4, 0x138 /* 8004F768 0004B3C8 48 18 B5 2D */ bl func_801DAC94 /* 8004F76C 0004B3CC 48 00 00 08 */ b lbl_8004F774 lbl_8004F770: /* 8004F770 0004B3D0 38 60 00 00 */ li r3, 0 lbl_8004F774: /* 8004F774 0004B3D4 2C 03 00 00 */ cmpwi r3, 0 /* 8004F778 0004B3D8 41 82 00 2C */ beq lbl_8004F7A4 /* 8004F77C 0004B3DC 38 00 00 FF */ li r0, 0xff /* 8004F780 0004B3E0 38 E1 00 08 */ addi r7, r1, 8 /* 8004F784 0004B3E4 98 01 00 08 */ stb r0, 8(r1) /* 8004F788 0004B3E8 38 80 00 00 */ li r4, 0 /* 8004F78C 0004B3EC 38 A0 00 01 */ li r5, 1 /* 8004F790 0004B3F0 38 C0 00 01 */ li r6, 1 /* 8004F794 0004B3F4 98 01 00 09 */ stb r0, 9(r1) /* 8004F798 0004B3F8 98 01 00 0A */ stb r0, 0xa(r1) /* 8004F79C 0004B3FC 98 01 00 0B */ stb r0, 0xb(r1) /* 8004F7A0 0004B400 48 19 67 DD */ bl func_801E5F7C lbl_8004F7A4: /* 8004F7A4 0004B404 38 00 00 00 */ li r0, 0 /* 8004F7A8 0004B408 90 7F 00 00 */ stw r3, 0(r31) /* 8004F7AC 0004B40C 90 1F 01 60 */ stw r0, 0x160(r31) lbl_8004F7B0: /* 8004F7B0 0004B410 88 9F 01 70 */ lbz r4, 0x170(r31) /* 8004F7B4 0004B414 7F E3 FB 78 */ mr r3, r31 /* 8004F7B8 0004B418 48 00 02 81 */ bl func_8004FA38 /* 8004F7BC 0004B41C 7F E3 FB 78 */ mr r3, r31 /* 8004F7C0 0004B420 38 9F 00 14 */ addi r4, r31, 0x14 /* 8004F7C4 0004B424 48 00 05 1D */ bl func_8004FCE0 /* 8004F7C8 0004B428 7F E3 FB 78 */ mr r3, r31 /* 8004F7CC 0004B42C 38 9F 00 20 */ addi r4, r31, 0x20 /* 8004F7D0 0004B430 48 00 06 29 */ bl func_8004FDF8 /* 8004F7D4 0004B434 7F E3 FB 78 */ mr r3, r31 /* 8004F7D8 0004B438 38 9F 01 64 */ addi r4, r31, 0x164 /* 8004F7DC 0004B43C 48 00 08 45 */ bl func_80050020 /* 8004F7E0 0004B440 C0 1F 00 04 */ lfs f0, 4(r31) /* 8004F7E4 0004B444 7F E3 FB 78 */ mr r3, r31 /* 8004F7E8 0004B448 38 81 00 14 */ addi r4, r1, 0x14 /* 8004F7EC 0004B44C FC 00 00 1E */ fctiwz f0, f0 /* 8004F7F0 0004B450 D8 01 00 18 */ stfd f0, 0x18(r1) /* 8004F7F4 0004B454 80 01 00 1C */ lwz r0, 0x1c(r1) /* 8004F7F8 0004B458 98 01 00 14 */ stb r0, 0x14(r1) /* 8004F7FC 0004B45C C0 1F 00 08 */ lfs f0, 8(r31) /* 8004F800 0004B460 FC 00 00 1E */ fctiwz f0, f0 /* 8004F804 0004B464 D8 01 00 20 */ stfd f0, 0x20(r1) /* 8004F808 0004B468 80 01 00 24 */ lwz r0, 0x24(r1) /* 8004F80C 0004B46C 98 01 00 15 */ stb r0, 0x15(r1) /* 8004F810 0004B470 C0 1F 00 0C */ lfs f0, 0xc(r31) /* 8004F814 0004B474 FC 00 00 1E */ fctiwz f0, f0 /* 8004F818 0004B478 D8 01 00 28 */ stfd f0, 0x28(r1) /* 8004F81C 0004B47C 80 01 00 2C */ lwz r0, 0x2c(r1) /* 8004F820 0004B480 98 01 00 16 */ stb r0, 0x16(r1) /* 8004F824 0004B484 C0 1F 00 10 */ lfs f0, 0x10(r31) /* 8004F828 0004B488 FC 00 00 1E */ fctiwz f0, f0 /* 8004F82C 0004B48C D8 01 00 30 */ stfd f0, 0x30(r1) /* 8004F830 0004B490 80 01 00 34 */ lwz r0, 0x34(r1) /* 8004F834 0004B494 98 01 00 17 */ stb r0, 0x17(r1) /* 8004F838 0004B498 48 00 06 BD */ bl func_8004FEF4 /* 8004F83C 0004B49C 38 00 00 02 */ li r0, 2 /* 8004F840 0004B4A0 7F E4 FB 78 */ mr r4, r31 /* 8004F844 0004B4A4 38 A0 00 00 */ li r5, 0 /* 8004F848 0004B4A8 7C 09 03 A6 */ mtctr r0 lbl_8004F84C: /* 8004F84C 0004B4AC 80 64 00 2C */ lwz r3, 0x2c(r4) /* 8004F850 0004B4B0 2C 03 00 00 */ cmpwi r3, 0 /* 8004F854 0004B4B4 41 82 00 18 */ beq lbl_8004F86C /* 8004F858 0004B4B8 80 63 0C 04 */ lwz r3, 0xc04(r3) /* 8004F85C 0004B4BC 2C 03 00 00 */ cmpwi r3, 0 /* 8004F860 0004B4C0 41 82 00 0C */ beq lbl_8004F86C /* 8004F864 0004B4C4 80 1F 00 00 */ lwz r0, 0(r31) /* 8004F868 0004B4C8 90 03 00 40 */ stw r0, 0x40(r3) lbl_8004F86C: /* 8004F86C 0004B4CC 80 64 00 30 */ lwz r3, 0x30(r4) /* 8004F870 0004B4D0 2C 03 00 00 */ cmpwi r3, 0 /* 8004F874 0004B4D4 41 82 00 18 */ beq lbl_8004F88C /* 8004F878 0004B4D8 80 63 0C 04 */ lwz r3, 0xc04(r3) /* 8004F87C 0004B4DC 2C 03 00 00 */ cmpwi r3, 0 /* 8004F880 0004B4E0 41 82 00 0C */ beq lbl_8004F88C /* 8004F884 0004B4E4 80 1F 00 00 */ lwz r0, 0(r31) /* 8004F888 0004B4E8 90 03 00 40 */ stw r0, 0x40(r3) lbl_8004F88C: /* 8004F88C 0004B4EC 80 64 00 34 */ lwz r3, 0x34(r4) /* 8004F890 0004B4F0 2C 03 00 00 */ cmpwi r3, 0 /* 8004F894 0004B4F4 41 82 00 18 */ beq lbl_8004F8AC /* 8004F898 0004B4F8 80 63 0C 04 */ lwz r3, 0xc04(r3) /* 8004F89C 0004B4FC 2C 03 00 00 */ cmpwi r3, 0 /* 8004F8A0 0004B500 41 82 00 0C */ beq lbl_8004F8AC /* 8004F8A4 0004B504 80 1F 00 00 */ lwz r0, 0(r31) /* 8004F8A8 0004B508 90 03 00 40 */ stw r0, 0x40(r3) lbl_8004F8AC: /* 8004F8AC 0004B50C 80 64 00 38 */ lwz r3, 0x38(r4) /* 8004F8B0 0004B510 2C 03 00 00 */ cmpwi r3, 0 /* 8004F8B4 0004B514 41 82 00 18 */ beq lbl_8004F8CC /* 8004F8B8 0004B518 80 63 0C 04 */ lwz r3, 0xc04(r3) /* 8004F8BC 0004B51C 2C 03 00 00 */ cmpwi r3, 0 /* 8004F8C0 0004B520 41 82 00 0C */ beq lbl_8004F8CC /* 8004F8C4 0004B524 80 1F 00 00 */ lwz r0, 0(r31) /* 8004F8C8 0004B528 90 03 00 40 */ stw r0, 0x40(r3) lbl_8004F8CC: /* 8004F8CC 0004B52C 38 84 00 10 */ addi r4, r4, 0x10 /* 8004F8D0 0004B530 38 A5 00 03 */ addi r5, r5, 3 /* 8004F8D4 0004B534 42 00 FF 78 */ bdnz lbl_8004F84C /* 8004F8D8 0004B538 80 7F 00 00 */ lwz r3, 0(r31) /* 8004F8DC 0004B53C A0 03 00 10 */ lhz r0, 0x10(r3) /* 8004F8E0 0004B540 60 00 00 02 */ ori r0, r0, 2 /* 8004F8E4 0004B544 B0 03 00 10 */ sth r0, 0x10(r3) lbl_8004F8E8: /* 8004F8E8 0004B548 80 01 00 44 */ lwz r0, 0x44(r1) /* 8004F8EC 0004B54C 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 8004F8F0 0004B550 83 C1 00 38 */ lwz r30, 0x38(r1) /* 8004F8F4 0004B554 7C 08 03 A6 */ mtlr r0 /* 8004F8F8 0004B558 38 21 00 40 */ addi r1, r1, 0x40 /* 8004F8FC 0004B55C 4E 80 00 20 */ blr lbl_8004F900: /* 8004F900 0004B560 94 21 FF B0 */ stwu r1, -0x50(r1) /* 8004F904 0004B564 7C 08 02 A6 */ mflr r0 /* 8004F908 0004B568 90 01 00 54 */ stw r0, 0x54(r1) /* 8004F90C 0004B56C DB E1 00 40 */ stfd f31, 0x40(r1) /* 8004F910 0004B570 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0 /* 8004F914 0004B574 FF E0 08 90 */ fmr f31, f1 /* 8004F918 0004B578 93 E1 00 3C */ stw r31, 0x3c(r1) /* 8004F91C 0004B57C 3B E3 00 4C */ addi r31, r3, 0x4c /* 8004F920 0004B580 93 C1 00 38 */ stw r30, 0x38(r1) /* 8004F924 0004B584 3B C0 00 00 */ li r30, 0 /* 8004F928 0004B588 93 A1 00 34 */ stw r29, 0x34(r1) /* 8004F92C 0004B58C 7C 7D 1B 78 */ mr r29, r3 lbl_8004F930: /* 8004F930 0004B590 81 9F 00 20 */ lwz r12, 0x20(r31) /* 8004F934 0004B594 FC 20 F8 90 */ fmr f1, f31 /* 8004F938 0004B598 7F E3 FB 78 */ mr r3, r31 /* 8004F93C 0004B59C 81 8C 00 08 */ lwz r12, 8(r12) /* 8004F940 0004B5A0 7D 89 03 A6 */ mtctr r12 /* 8004F944 0004B5A4 4E 80 04 21 */ bctrl /* 8004F948 0004B5A8 2C 03 00 00 */ cmpwi r3, 0 /* 8004F94C 0004B5AC 41 82 00 3C */ beq lbl_8004F988 /* 8004F950 0004B5B0 80 7D 00 00 */ lwz r3, 0(r29) /* 8004F954 0004B5B4 2C 03 00 00 */ cmpwi r3, 0 /* 8004F958 0004B5B8 41 82 00 30 */ beq lbl_8004F988 /* 8004F95C 0004B5BC C0 1D 00 14 */ lfs f0, 0x14(r29) /* 8004F960 0004B5C0 38 80 00 01 */ li r4, 1 /* 8004F964 0004B5C4 D0 03 00 20 */ stfs f0, 0x20(r3) /* 8004F968 0004B5C8 C0 1D 00 18 */ lfs f0, 0x18(r29) /* 8004F96C 0004B5CC D0 03 00 24 */ stfs f0, 0x24(r3) /* 8004F970 0004B5D0 C0 1D 00 1C */ lfs f0, 0x1c(r29) /* 8004F974 0004B5D4 D0 03 00 28 */ stfs f0, 0x28(r3) /* 8004F978 0004B5D8 48 1A 2D 41 */ bl func_801F26B8 /* 8004F97C 0004B5DC 80 7D 00 00 */ lwz r3, 0(r29) /* 8004F980 0004B5E0 38 9D 00 20 */ addi r4, r29, 0x20 /* 8004F984 0004B5E4 48 19 6B 59 */ bl func_801E64DC lbl_8004F988: /* 8004F988 0004B5E8 3B DE 00 01 */ addi r30, r30, 1 /* 8004F98C 0004B5EC 3B FF 00 24 */ addi r31, r31, 0x24 /* 8004F990 0004B5F0 2C 1E 00 06 */ cmpwi r30, 6 /* 8004F994 0004B5F4 41 80 FF 9C */ blt lbl_8004F930 /* 8004F998 0004B5F8 81 9D 01 5C */ lwz r12, 0x15c(r29) /* 8004F99C 0004B5FC FC 20 F8 90 */ fmr f1, f31 /* 8004F9A0 0004B600 38 7D 01 24 */ addi r3, r29, 0x124 /* 8004F9A4 0004B604 81 8C 00 08 */ lwz r12, 8(r12) /* 8004F9A8 0004B608 7D 89 03 A6 */ mtctr r12 /* 8004F9AC 0004B60C 4E 80 04 21 */ bctrl /* 8004F9B0 0004B610 2C 03 00 00 */ cmpwi r3, 0 /* 8004F9B4 0004B614 41 82 00 60 */ beq lbl_8004FA14 /* 8004F9B8 0004B618 C0 1D 00 04 */ lfs f0, 4(r29) /* 8004F9BC 0004B61C C0 5D 00 08 */ lfs f2, 8(r29) /* 8004F9C0 0004B620 FC 60 00 1E */ fctiwz f3, f0 /* 8004F9C4 0004B624 C0 3D 00 0C */ lfs f1, 0xc(r29) /* 8004F9C8 0004B628 C0 1D 00 10 */ lfs f0, 0x10(r29) /* 8004F9CC 0004B62C FC 40 10 1E */ fctiwz f2, f2 /* 8004F9D0 0004B630 FC 20 08 1E */ fctiwz f1, f1 /* 8004F9D4 0004B634 80 DD 00 00 */ lwz r6, 0(r29) /* 8004F9D8 0004B638 FC 00 00 1E */ fctiwz f0, f0 /* 8004F9DC 0004B63C D8 61 00 08 */ stfd f3, 8(r1) /* 8004F9E0 0004B640 2C 06 00 00 */ cmpwi r6, 0 /* 8004F9E4 0004B644 D8 41 00 10 */ stfd f2, 0x10(r1) /* 8004F9E8 0004B648 80 01 00 0C */ lwz r0, 0xc(r1) /* 8004F9EC 0004B64C D8 21 00 18 */ stfd f1, 0x18(r1) /* 8004F9F0 0004B650 80 61 00 14 */ lwz r3, 0x14(r1) /* 8004F9F4 0004B654 D8 01 00 20 */ stfd f0, 0x20(r1) /* 8004F9F8 0004B658 80 81 00 1C */ lwz r4, 0x1c(r1) /* 8004F9FC 0004B65C 80 A1 00 24 */ lwz r5, 0x24(r1) /* 8004FA00 0004B660 41 82 00 14 */ beq lbl_8004FA14 /* 8004FA04 0004B664 98 06 01 10 */ stb r0, 0x110(r6) /* 8004FA08 0004B668 98 66 01 11 */ stb r3, 0x111(r6) /* 8004FA0C 0004B66C 98 86 01 12 */ stb r4, 0x112(r6) /* 8004FA10 0004B670 98 A6 01 13 */ stb r5, 0x113(r6) lbl_8004FA14: /* 8004FA14 0004B674 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0 /* 8004FA18 0004B678 80 01 00 54 */ lwz r0, 0x54(r1) /* 8004FA1C 0004B67C CB E1 00 40 */ lfd f31, 0x40(r1) /* 8004FA20 0004B680 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 8004FA24 0004B684 83 C1 00 38 */ lwz r30, 0x38(r1) /* 8004FA28 0004B688 83 A1 00 34 */ lwz r29, 0x34(r1) /* 8004FA2C 0004B68C 7C 08 03 A6 */ mtlr r0 /* 8004FA30 0004B690 38 21 00 50 */ addi r1, r1, 0x50 /* 8004FA34 0004B694 4E 80 00 20 */ blr .global func_8004FA38 func_8004FA38: /* 8004FA38 0004B698 2C 04 00 00 */ cmpwi r4, 0 /* 8004FA3C 0004B69C 98 83 01 70 */ stb r4, 0x170(r3) /* 8004FA40 0004B6A0 41 82 00 20 */ beq lbl_8004FA60 /* 8004FA44 0004B6A4 80 83 00 00 */ lwz r4, 0(r3) /* 8004FA48 0004B6A8 2C 04 00 00 */ cmpwi r4, 0 /* 8004FA4C 0004B6AC 41 82 00 14 */ beq lbl_8004FA60 /* 8004FA50 0004B6B0 80 04 01 04 */ lwz r0, 0x104(r4) /* 8004FA54 0004B6B4 60 00 00 01 */ ori r0, r0, 1 /* 8004FA58 0004B6B8 90 04 01 04 */ stw r0, 0x104(r4) /* 8004FA5C 0004B6BC 4E 80 00 20 */ blr lbl_8004FA60: /* 8004FA60 0004B6C0 80 63 00 00 */ lwz r3, 0(r3) /* 8004FA64 0004B6C4 2C 03 00 00 */ cmpwi r3, 0 /* 8004FA68 0004B6C8 4D 82 00 20 */ beqlr /* 8004FA6C 0004B6CC 80 03 01 04 */ lwz r0, 0x104(r3) /* 8004FA70 0004B6D0 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e /* 8004FA74 0004B6D4 90 03 01 04 */ stw r0, 0x104(r3) /* 8004FA78 0004B6D8 4E 80 00 20 */ blr .global func_8004FA7C func_8004FA7C: /* 8004FA7C 0004B6DC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004FA80 0004B6E0 7C 08 02 A6 */ mflr r0 /* 8004FA84 0004B6E4 90 01 00 14 */ stw r0, 0x14(r1) /* 8004FA88 0004B6E8 93 E1 00 0C */ stw r31, 0xc(r1) /* 8004FA8C 0004B6EC 7C 9F 23 78 */ mr r31, r4 /* 8004FA90 0004B6F0 93 C1 00 08 */ stw r30, 8(r1) /* 8004FA94 0004B6F4 7C 7E 1B 78 */ mr r30, r3 /* 8004FA98 0004B6F8 48 00 06 2D */ bl func_800500C4 /* 8004FA9C 0004B6FC 2C 03 FF FF */ cmpwi r3, -1 /* 8004FAA0 0004B700 41 81 00 58 */ bgt lbl_8004FAF8 /* 8004FAA4 0004B704 2C 1F 00 00 */ cmpwi r31, 0 /* 8004FAA8 0004B708 41 82 00 18 */ beq lbl_8004FAC0 /* 8004FAAC 0004B70C 80 7F 0C 04 */ lwz r3, 0xc04(r31) /* 8004FAB0 0004B710 2C 03 00 00 */ cmpwi r3, 0 /* 8004FAB4 0004B714 41 82 00 0C */ beq lbl_8004FAC0 /* 8004FAB8 0004B718 80 1E 00 00 */ lwz r0, 0(r30) /* 8004FABC 0004B71C 90 03 00 40 */ stw r0, 0x40(r3) lbl_8004FAC0: /* 8004FAC0 0004B720 38 00 00 08 */ li r0, 8 /* 8004FAC4 0004B724 7F C3 F3 78 */ mr r3, r30 /* 8004FAC8 0004B728 38 80 00 00 */ li r4, 0 /* 8004FACC 0004B72C 7C 09 03 A6 */ mtctr r0 lbl_8004FAD0: /* 8004FAD0 0004B730 80 03 00 2C */ lwz r0, 0x2c(r3) /* 8004FAD4 0004B734 2C 00 00 00 */ cmpwi r0, 0 /* 8004FAD8 0004B738 40 82 00 14 */ bne lbl_8004FAEC /* 8004FADC 0004B73C 54 80 10 3A */ slwi r0, r4, 2 /* 8004FAE0 0004B740 7C 7E 02 14 */ add r3, r30, r0 /* 8004FAE4 0004B744 93 E3 00 2C */ stw r31, 0x2c(r3) /* 8004FAE8 0004B748 48 00 00 10 */ b lbl_8004FAF8 lbl_8004FAEC: /* 8004FAEC 0004B74C 38 63 00 04 */ addi r3, r3, 4 /* 8004FAF0 0004B750 38 84 00 01 */ addi r4, r4, 1 /* 8004FAF4 0004B754 42 00 FF DC */ bdnz lbl_8004FAD0 lbl_8004FAF8: /* 8004FAF8 0004B758 80 01 00 14 */ lwz r0, 0x14(r1) /* 8004FAFC 0004B75C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8004FB00 0004B760 83 C1 00 08 */ lwz r30, 8(r1) /* 8004FB04 0004B764 7C 08 03 A6 */ mtlr r0 /* 8004FB08 0004B768 38 21 00 10 */ addi r1, r1, 0x10 /* 8004FB0C 0004B76C 4E 80 00 20 */ blr .global func_8004FB10 func_8004FB10: /* 8004FB10 0004B770 38 00 00 02 */ li r0, 2 /* 8004FB14 0004B774 38 C0 00 00 */ li r6, 0 /* 8004FB18 0004B778 38 80 00 00 */ li r4, 0 /* 8004FB1C 0004B77C 7C 09 03 A6 */ mtctr r0 lbl_8004FB20: /* 8004FB20 0004B780 80 A3 00 2C */ lwz r5, 0x2c(r3) /* 8004FB24 0004B784 2C 05 00 00 */ cmpwi r5, 0 /* 8004FB28 0004B788 41 82 00 18 */ beq lbl_8004FB40 /* 8004FB2C 0004B78C 80 A5 0C 04 */ lwz r5, 0xc04(r5) /* 8004FB30 0004B790 2C 05 00 00 */ cmpwi r5, 0 /* 8004FB34 0004B794 41 82 00 08 */ beq lbl_8004FB3C /* 8004FB38 0004B798 90 85 00 40 */ stw r4, 0x40(r5) lbl_8004FB3C: /* 8004FB3C 0004B79C 90 83 00 2C */ stw r4, 0x2c(r3) lbl_8004FB40: /* 8004FB40 0004B7A0 80 A3 00 30 */ lwz r5, 0x30(r3) /* 8004FB44 0004B7A4 2C 05 00 00 */ cmpwi r5, 0 /* 8004FB48 0004B7A8 41 82 00 18 */ beq lbl_8004FB60 /* 8004FB4C 0004B7AC 80 A5 0C 04 */ lwz r5, 0xc04(r5) /* 8004FB50 0004B7B0 2C 05 00 00 */ cmpwi r5, 0 /* 8004FB54 0004B7B4 41 82 00 08 */ beq lbl_8004FB5C /* 8004FB58 0004B7B8 90 85 00 40 */ stw r4, 0x40(r5) lbl_8004FB5C: /* 8004FB5C 0004B7BC 90 83 00 30 */ stw r4, 0x30(r3) lbl_8004FB60: /* 8004FB60 0004B7C0 80 A3 00 34 */ lwz r5, 0x34(r3) /* 8004FB64 0004B7C4 2C 05 00 00 */ cmpwi r5, 0 /* 8004FB68 0004B7C8 41 82 00 18 */ beq lbl_8004FB80 /* 8004FB6C 0004B7CC 80 A5 0C 04 */ lwz r5, 0xc04(r5) /* 8004FB70 0004B7D0 2C 05 00 00 */ cmpwi r5, 0 /* 8004FB74 0004B7D4 41 82 00 08 */ beq lbl_8004FB7C /* 8004FB78 0004B7D8 90 85 00 40 */ stw r4, 0x40(r5) lbl_8004FB7C: /* 8004FB7C 0004B7DC 90 83 00 34 */ stw r4, 0x34(r3) lbl_8004FB80: /* 8004FB80 0004B7E0 80 A3 00 38 */ lwz r5, 0x38(r3) /* 8004FB84 0004B7E4 2C 05 00 00 */ cmpwi r5, 0 /* 8004FB88 0004B7E8 41 82 00 18 */ beq lbl_8004FBA0 /* 8004FB8C 0004B7EC 80 A5 0C 04 */ lwz r5, 0xc04(r5) /* 8004FB90 0004B7F0 2C 05 00 00 */ cmpwi r5, 0 /* 8004FB94 0004B7F4 41 82 00 08 */ beq lbl_8004FB9C /* 8004FB98 0004B7F8 90 85 00 40 */ stw r4, 0x40(r5) lbl_8004FB9C: /* 8004FB9C 0004B7FC 90 83 00 38 */ stw r4, 0x38(r3) lbl_8004FBA0: /* 8004FBA0 0004B800 38 63 00 10 */ addi r3, r3, 0x10 /* 8004FBA4 0004B804 38 C6 00 03 */ addi r6, r6, 3 /* 8004FBA8 0004B808 42 00 FF 78 */ bdnz lbl_8004FB20 /* 8004FBAC 0004B80C 4E 80 00 20 */ blr .global func_8004FBB0 func_8004FBB0: /* 8004FBB0 0004B810 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004FBB4 0004B814 7C 08 02 A6 */ mflr r0 /* 8004FBB8 0004B818 90 01 00 14 */ stw r0, 0x14(r1) /* 8004FBBC 0004B81C 93 E1 00 0C */ stw r31, 0xc(r1) /* 8004FBC0 0004B820 7C 7F 1B 78 */ mr r31, r3 /* 8004FBC4 0004B824 48 00 05 01 */ bl func_800500C4 /* 8004FBC8 0004B828 2C 03 00 00 */ cmpwi r3, 0 /* 8004FBCC 0004B82C 41 80 00 34 */ blt lbl_8004FC00 /* 8004FBD0 0004B830 54 60 10 3A */ slwi r0, r3, 2 /* 8004FBD4 0004B834 7C 7F 02 14 */ add r3, r31, r0 /* 8004FBD8 0004B838 80 83 00 2C */ lwz r4, 0x2c(r3) /* 8004FBDC 0004B83C 2C 04 00 00 */ cmpwi r4, 0 /* 8004FBE0 0004B840 41 82 00 08 */ beq lbl_8004FBE8 /* 8004FBE4 0004B844 80 84 0C 04 */ lwz r4, 0xc04(r4) lbl_8004FBE8: /* 8004FBE8 0004B848 2C 04 00 00 */ cmpwi r4, 0 /* 8004FBEC 0004B84C 41 82 00 0C */ beq lbl_8004FBF8 /* 8004FBF0 0004B850 38 00 00 00 */ li r0, 0 /* 8004FBF4 0004B854 90 04 00 40 */ stw r0, 0x40(r4) lbl_8004FBF8: /* 8004FBF8 0004B858 38 00 00 00 */ li r0, 0 /* 8004FBFC 0004B85C 90 03 00 2C */ stw r0, 0x2c(r3) lbl_8004FC00: /* 8004FC00 0004B860 80 01 00 14 */ lwz r0, 0x14(r1) /* 8004FC04 0004B864 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8004FC08 0004B868 7C 08 03 A6 */ mtlr r0 /* 8004FC0C 0004B86C 38 21 00 10 */ addi r1, r1, 0x10 /* 8004FC10 0004B870 4E 80 00 20 */ blr .global func_8004FC14 func_8004FC14: /* 8004FC14 0004B874 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8004FC18 0004B878 7C 08 02 A6 */ mflr r0 /* 8004FC1C 0004B87C 90 01 00 24 */ stw r0, 0x24(r1) /* 8004FC20 0004B880 54 A0 00 01 */ rlwinm. r0, r5, 0, 0, 0 /* 8004FC24 0004B884 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8004FC28 0004B888 7C BF 2B 78 */ mr r31, r5 /* 8004FC2C 0004B88C 93 C1 00 18 */ stw r30, 0x18(r1) /* 8004FC30 0004B890 7C 9E 23 78 */ mr r30, r4 /* 8004FC34 0004B894 93 A1 00 14 */ stw r29, 0x14(r1) /* 8004FC38 0004B898 7C 7D 1B 78 */ mr r29, r3 /* 8004FC3C 0004B89C 40 82 00 4C */ bne lbl_8004FC88 /* 8004FC40 0004B8A0 54 A0 07 39 */ rlwinm. r0, r5, 0, 0x1c, 0x1c /* 8004FC44 0004B8A4 41 82 00 2C */ beq lbl_8004FC70 /* 8004FC48 0004B8A8 54 A0 07 FF */ clrlwi. r0, r5, 0x1f /* 8004FC4C 0004B8AC 54 BF 07 76 */ rlwinm r31, r5, 0, 0x1d, 0x1b /* 8004FC50 0004B8B0 41 82 00 08 */ beq lbl_8004FC58 /* 8004FC54 0004B8B4 63 FF 00 40 */ ori r31, r31, 0x40 lbl_8004FC58: /* 8004FC58 0004B8B8 57 E0 07 BD */ rlwinm. r0, r31, 0, 0x1e, 0x1e /* 8004FC5C 0004B8BC 41 82 00 08 */ beq lbl_8004FC64 /* 8004FC60 0004B8C0 63 FF 00 80 */ ori r31, r31, 0x80 lbl_8004FC64: /* 8004FC64 0004B8C4 57 E0 07 7B */ rlwinm. r0, r31, 0, 0x1d, 0x1d /* 8004FC68 0004B8C8 41 82 00 08 */ beq lbl_8004FC70 /* 8004FC6C 0004B8CC 63 FF 01 00 */ ori r31, r31, 0x100 lbl_8004FC70: /* 8004FC70 0004B8D0 57 E0 07 FF */ clrlwi. r0, r31, 0x1f /* 8004FC74 0004B8D4 40 82 00 08 */ bne lbl_8004FC7C /* 8004FC78 0004B8D8 63 FF 00 09 */ ori r31, r31, 9 lbl_8004FC7C: /* 8004FC7C 0004B8DC 57 E0 07 BD */ rlwinm. r0, r31, 0, 0x1e, 0x1e /* 8004FC80 0004B8E0 40 82 00 08 */ bne lbl_8004FC88 /* 8004FC84 0004B8E4 63 FF 00 12 */ ori r31, r31, 0x12 lbl_8004FC88: /* 8004FC88 0004B8E8 2C 04 00 00 */ cmpwi r4, 0 /* 8004FC8C 0004B8EC 41 82 00 38 */ beq lbl_8004FCC4 /* 8004FC90 0004B8F0 80 83 00 00 */ lwz r4, 0(r3) /* 8004FC94 0004B8F4 2C 04 00 00 */ cmpwi r4, 0 /* 8004FC98 0004B8F8 41 82 00 2C */ beq lbl_8004FCC4 /* 8004FC9C 0004B8FC 80 64 00 C0 */ lwz r3, 0xc0(r4) /* 8004FCA0 0004B900 2C 03 00 00 */ cmpwi r3, 0 /* 8004FCA4 0004B904 41 82 00 08 */ beq lbl_8004FCAC /* 8004FCA8 0004B908 48 1A 25 81 */ bl func_801F2228 lbl_8004FCAC: /* 8004FCAC 0004B90C 80 BD 00 00 */ lwz r5, 0(r29) /* 8004FCB0 0004B910 7F C3 F3 78 */ mr r3, r30 /* 8004FCB4 0004B914 57 E4 06 3E */ clrlwi r4, r31, 0x18 /* 8004FCB8 0004B918 38 C0 00 00 */ li r6, 0 /* 8004FCBC 0004B91C 38 E0 00 03 */ li r7, 3 /* 8004FCC0 0004B920 48 1A 24 CD */ bl func_801F218C lbl_8004FCC4: /* 8004FCC4 0004B924 80 01 00 24 */ lwz r0, 0x24(r1) /* 8004FCC8 0004B928 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8004FCCC 0004B92C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8004FCD0 0004B930 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8004FCD4 0004B934 7C 08 03 A6 */ mtlr r0 /* 8004FCD8 0004B938 38 21 00 20 */ addi r1, r1, 0x20 /* 8004FCDC 0004B93C 4E 80 00 20 */ blr .global func_8004FCE0 func_8004FCE0: /* 8004FCE0 0004B940 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004FCE4 0004B944 7C 08 02 A6 */ mflr r0 /* 8004FCE8 0004B948 90 01 00 14 */ stw r0, 0x14(r1) /* 8004FCEC 0004B94C 93 E1 00 0C */ stw r31, 0xc(r1) /* 8004FCF0 0004B950 7C 9F 23 78 */ mr r31, r4 /* 8004FCF4 0004B954 93 C1 00 08 */ stw r30, 8(r1) /* 8004FCF8 0004B958 7C 7E 1B 78 */ mr r30, r3 /* 8004FCFC 0004B95C 80 A3 00 00 */ lwz r5, 0(r3) /* 8004FD00 0004B960 2C 05 00 00 */ cmpwi r5, 0 /* 8004FD04 0004B964 41 82 00 28 */ beq lbl_8004FD2C /* 8004FD08 0004B968 C0 04 00 00 */ lfs f0, 0(r4) /* 8004FD0C 0004B96C 7C A3 2B 78 */ mr r3, r5 /* 8004FD10 0004B970 D0 05 00 20 */ stfs f0, 0x20(r5) /* 8004FD14 0004B974 C0 04 00 04 */ lfs f0, 4(r4) /* 8004FD18 0004B978 D0 05 00 24 */ stfs f0, 0x24(r5) /* 8004FD1C 0004B97C C0 04 00 08 */ lfs f0, 8(r4) /* 8004FD20 0004B980 38 80 00 01 */ li r4, 1 /* 8004FD24 0004B984 D0 05 00 28 */ stfs f0, 0x28(r5) /* 8004FD28 0004B988 48 1A 29 91 */ bl func_801F26B8 lbl_8004FD2C: /* 8004FD2C 0004B98C C0 1F 00 00 */ lfs f0, 0(r31) /* 8004FD30 0004B990 D0 1E 00 14 */ stfs f0, 0x14(r30) /* 8004FD34 0004B994 C0 1F 00 04 */ lfs f0, 4(r31) /* 8004FD38 0004B998 D0 1E 00 18 */ stfs f0, 0x18(r30) /* 8004FD3C 0004B99C C0 1F 00 08 */ lfs f0, 8(r31) /* 8004FD40 0004B9A0 D0 1E 00 1C */ stfs f0, 0x1c(r30) /* 8004FD44 0004B9A4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8004FD48 0004B9A8 83 C1 00 08 */ lwz r30, 8(r1) /* 8004FD4C 0004B9AC 80 01 00 14 */ lwz r0, 0x14(r1) /* 8004FD50 0004B9B0 7C 08 03 A6 */ mtlr r0 /* 8004FD54 0004B9B4 38 21 00 10 */ addi r1, r1, 0x10 /* 8004FD58 0004B9B8 4E 80 00 20 */ blr .global func_8004FD5C func_8004FD5C: /* 8004FD5C 0004B9BC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8004FD60 0004B9C0 7C 08 02 A6 */ mflr r0 /* 8004FD64 0004B9C4 90 01 00 24 */ stw r0, 0x24(r1) /* 8004FD68 0004B9C8 DB E1 00 18 */ stfd f31, 0x18(r1) /* 8004FD6C 0004B9CC FF E0 08 90 */ fmr f31, f1 /* 8004FD70 0004B9D0 93 E1 00 14 */ stw r31, 0x14(r1) /* 8004FD74 0004B9D4 7C BF 2B 78 */ mr r31, r5 /* 8004FD78 0004B9D8 7F E7 FB 78 */ mr r7, r31 /* 8004FD7C 0004B9DC 93 C1 00 10 */ stw r30, 0x10(r1) /* 8004FD80 0004B9E0 7C 9E 23 78 */ mr r30, r4 /* 8004FD84 0004B9E4 38 83 00 14 */ addi r4, r3, 0x14 /* 8004FD88 0004B9E8 93 A1 00 0C */ stw r29, 0xc(r1) /* 8004FD8C 0004B9EC 7C 7D 1B 78 */ mr r29, r3 /* 8004FD90 0004B9F0 7F C5 F3 78 */ mr r5, r30 /* 8004FD94 0004B9F4 7C 86 23 78 */ mr r6, r4 /* 8004FD98 0004B9F8 38 63 00 4C */ addi r3, r3, 0x4c /* 8004FD9C 0004B9FC 48 00 05 A1 */ bl func_8005033C /* 8004FDA0 0004BA00 FC 20 F8 90 */ fmr f1, f31 /* 8004FDA4 0004BA04 38 9D 00 18 */ addi r4, r29, 0x18 /* 8004FDA8 0004BA08 7C 86 23 78 */ mr r6, r4 /* 8004FDAC 0004BA0C 7F E7 FB 78 */ mr r7, r31 /* 8004FDB0 0004BA10 38 7D 00 70 */ addi r3, r29, 0x70 /* 8004FDB4 0004BA14 38 BE 00 04 */ addi r5, r30, 4 /* 8004FDB8 0004BA18 48 00 05 85 */ bl func_8005033C /* 8004FDBC 0004BA1C FC 20 F8 90 */ fmr f1, f31 /* 8004FDC0 0004BA20 38 9D 00 1C */ addi r4, r29, 0x1c /* 8004FDC4 0004BA24 7C 86 23 78 */ mr r6, r4 /* 8004FDC8 0004BA28 7F E7 FB 78 */ mr r7, r31 /* 8004FDCC 0004BA2C 38 7D 00 94 */ addi r3, r29, 0x94 /* 8004FDD0 0004BA30 38 BE 00 08 */ addi r5, r30, 8 /* 8004FDD4 0004BA34 48 00 05 69 */ bl func_8005033C /* 8004FDD8 0004BA38 80 01 00 24 */ lwz r0, 0x24(r1) /* 8004FDDC 0004BA3C CB E1 00 18 */ lfd f31, 0x18(r1) /* 8004FDE0 0004BA40 83 E1 00 14 */ lwz r31, 0x14(r1) /* 8004FDE4 0004BA44 83 C1 00 10 */ lwz r30, 0x10(r1) /* 8004FDE8 0004BA48 83 A1 00 0C */ lwz r29, 0xc(r1) /* 8004FDEC 0004BA4C 7C 08 03 A6 */ mtlr r0 /* 8004FDF0 0004BA50 38 21 00 20 */ addi r1, r1, 0x20 /* 8004FDF4 0004BA54 4E 80 00 20 */ blr .global func_8004FDF8 func_8004FDF8: /* 8004FDF8 0004BA58 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8004FDFC 0004BA5C 7C 08 02 A6 */ mflr r0 /* 8004FE00 0004BA60 90 01 00 14 */ stw r0, 0x14(r1) /* 8004FE04 0004BA64 93 E1 00 0C */ stw r31, 0xc(r1) /* 8004FE08 0004BA68 7C 9F 23 78 */ mr r31, r4 /* 8004FE0C 0004BA6C 93 C1 00 08 */ stw r30, 8(r1) /* 8004FE10 0004BA70 7C 7E 1B 78 */ mr r30, r3 /* 8004FE14 0004BA74 80 03 00 00 */ lwz r0, 0(r3) /* 8004FE18 0004BA78 2C 00 00 00 */ cmpwi r0, 0 /* 8004FE1C 0004BA7C 41 82 00 0C */ beq lbl_8004FE28 /* 8004FE20 0004BA80 7C 03 03 78 */ mr r3, r0 /* 8004FE24 0004BA84 48 19 66 B9 */ bl func_801E64DC lbl_8004FE28: /* 8004FE28 0004BA88 C0 1F 00 00 */ lfs f0, 0(r31) /* 8004FE2C 0004BA8C D0 1E 00 20 */ stfs f0, 0x20(r30) /* 8004FE30 0004BA90 C0 1F 00 04 */ lfs f0, 4(r31) /* 8004FE34 0004BA94 D0 1E 00 24 */ stfs f0, 0x24(r30) /* 8004FE38 0004BA98 C0 1F 00 08 */ lfs f0, 8(r31) /* 8004FE3C 0004BA9C D0 1E 00 28 */ stfs f0, 0x28(r30) /* 8004FE40 0004BAA0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8004FE44 0004BAA4 83 C1 00 08 */ lwz r30, 8(r1) /* 8004FE48 0004BAA8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8004FE4C 0004BAAC 7C 08 03 A6 */ mtlr r0 /* 8004FE50 0004BAB0 38 21 00 10 */ addi r1, r1, 0x10 /* 8004FE54 0004BAB4 4E 80 00 20 */ blr .global func_8004FE58 func_8004FE58: /* 8004FE58 0004BAB8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8004FE5C 0004BABC 7C 08 02 A6 */ mflr r0 /* 8004FE60 0004BAC0 90 01 00 24 */ stw r0, 0x24(r1) /* 8004FE64 0004BAC4 DB E1 00 18 */ stfd f31, 0x18(r1) /* 8004FE68 0004BAC8 FF E0 08 90 */ fmr f31, f1 /* 8004FE6C 0004BACC 93 E1 00 14 */ stw r31, 0x14(r1) /* 8004FE70 0004BAD0 7C BF 2B 78 */ mr r31, r5 /* 8004FE74 0004BAD4 7F E7 FB 78 */ mr r7, r31 /* 8004FE78 0004BAD8 93 C1 00 10 */ stw r30, 0x10(r1) /* 8004FE7C 0004BADC 7C 9E 23 78 */ mr r30, r4 /* 8004FE80 0004BAE0 38 83 00 20 */ addi r4, r3, 0x20 /* 8004FE84 0004BAE4 93 A1 00 0C */ stw r29, 0xc(r1) /* 8004FE88 0004BAE8 7C 7D 1B 78 */ mr r29, r3 /* 8004FE8C 0004BAEC 7F C5 F3 78 */ mr r5, r30 /* 8004FE90 0004BAF0 7C 86 23 78 */ mr r6, r4 /* 8004FE94 0004BAF4 38 63 00 B8 */ addi r3, r3, 0xb8 /* 8004FE98 0004BAF8 48 00 04 A5 */ bl func_8005033C /* 8004FE9C 0004BAFC FC 20 F8 90 */ fmr f1, f31 /* 8004FEA0 0004BB00 38 9D 00 24 */ addi r4, r29, 0x24 /* 8004FEA4 0004BB04 7C 86 23 78 */ mr r6, r4 /* 8004FEA8 0004BB08 7F E7 FB 78 */ mr r7, r31 /* 8004FEAC 0004BB0C 38 7D 00 DC */ addi r3, r29, 0xdc /* 8004FEB0 0004BB10 38 BE 00 04 */ addi r5, r30, 4 /* 8004FEB4 0004BB14 48 00 04 89 */ bl func_8005033C /* 8004FEB8 0004BB18 FC 20 F8 90 */ fmr f1, f31 /* 8004FEBC 0004BB1C 38 9D 00 28 */ addi r4, r29, 0x28 /* 8004FEC0 0004BB20 7C 86 23 78 */ mr r6, r4 /* 8004FEC4 0004BB24 7F E7 FB 78 */ mr r7, r31 /* 8004FEC8 0004BB28 38 7D 01 00 */ addi r3, r29, 0x100 /* 8004FECC 0004BB2C 38 BE 00 08 */ addi r5, r30, 8 /* 8004FED0 0004BB30 48 00 04 6D */ bl func_8005033C /* 8004FED4 0004BB34 80 01 00 24 */ lwz r0, 0x24(r1) /* 8004FED8 0004BB38 CB E1 00 18 */ lfd f31, 0x18(r1) /* 8004FEDC 0004BB3C 83 E1 00 14 */ lwz r31, 0x14(r1) /* 8004FEE0 0004BB40 83 C1 00 10 */ lwz r30, 0x10(r1) /* 8004FEE4 0004BB44 83 A1 00 0C */ lwz r29, 0xc(r1) /* 8004FEE8 0004BB48 7C 08 03 A6 */ mtlr r0 /* 8004FEEC 0004BB4C 38 21 00 20 */ addi r1, r1, 0x20 /* 8004FEF0 0004BB50 4E 80 00 20 */ blr .global func_8004FEF4 func_8004FEF4: /* 8004FEF4 0004BB54 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8004FEF8 0004BB58 3C 00 43 30 */ lis r0, 0x4330 /* 8004FEFC 0004BB5C 80 A3 00 00 */ lwz r5, 0(r3) /* 8004FF00 0004BB60 90 01 00 08 */ stw r0, 8(r1) /* 8004FF04 0004BB64 2C 05 00 00 */ cmpwi r5, 0 /* 8004FF08 0004BB68 90 01 00 10 */ stw r0, 0x10(r1) /* 8004FF0C 0004BB6C 41 82 00 24 */ beq lbl_8004FF30 /* 8004FF10 0004BB70 88 04 00 00 */ lbz r0, 0(r4) /* 8004FF14 0004BB74 98 05 01 10 */ stb r0, 0x110(r5) /* 8004FF18 0004BB78 88 04 00 01 */ lbz r0, 1(r4) /* 8004FF1C 0004BB7C 98 05 01 11 */ stb r0, 0x111(r5) /* 8004FF20 0004BB80 88 04 00 02 */ lbz r0, 2(r4) /* 8004FF24 0004BB84 98 05 01 12 */ stb r0, 0x112(r5) /* 8004FF28 0004BB88 88 04 00 03 */ lbz r0, 3(r4) /* 8004FF2C 0004BB8C 98 05 01 13 */ stb r0, 0x113(r5) lbl_8004FF30: /* 8004FF30 0004BB90 88 04 00 00 */ lbz r0, 0(r4) /* 8004FF34 0004BB94 C8 22 84 78 */ lfd f1, lbl_80640A78-_SDA2_BASE_(r2) /* 8004FF38 0004BB98 90 01 00 0C */ stw r0, 0xc(r1) /* 8004FF3C 0004BB9C C8 01 00 08 */ lfd f0, 8(r1) /* 8004FF40 0004BBA0 EC 00 08 28 */ fsubs f0, f0, f1 /* 8004FF44 0004BBA4 D0 03 00 04 */ stfs f0, 4(r3) /* 8004FF48 0004BBA8 88 04 00 01 */ lbz r0, 1(r4) /* 8004FF4C 0004BBAC 90 01 00 14 */ stw r0, 0x14(r1) /* 8004FF50 0004BBB0 C8 01 00 10 */ lfd f0, 0x10(r1) /* 8004FF54 0004BBB4 EC 00 08 28 */ fsubs f0, f0, f1 /* 8004FF58 0004BBB8 D0 03 00 08 */ stfs f0, 8(r3) /* 8004FF5C 0004BBBC 88 04 00 02 */ lbz r0, 2(r4) /* 8004FF60 0004BBC0 90 01 00 0C */ stw r0, 0xc(r1) /* 8004FF64 0004BBC4 C8 01 00 08 */ lfd f0, 8(r1) /* 8004FF68 0004BBC8 EC 00 08 28 */ fsubs f0, f0, f1 /* 8004FF6C 0004BBCC D0 03 00 0C */ stfs f0, 0xc(r3) /* 8004FF70 0004BBD0 88 04 00 03 */ lbz r0, 3(r4) /* 8004FF74 0004BBD4 90 01 00 14 */ stw r0, 0x14(r1) /* 8004FF78 0004BBD8 C8 01 00 10 */ lfd f0, 0x10(r1) /* 8004FF7C 0004BBDC EC 00 08 28 */ fsubs f0, f0, f1 /* 8004FF80 0004BBE0 D0 03 00 10 */ stfs f0, 0x10(r3) /* 8004FF84 0004BBE4 38 21 00 20 */ addi r1, r1, 0x20 /* 8004FF88 0004BBE8 4E 80 00 20 */ blr .global func_8004FF8C func_8004FF8C: /* 8004FF8C 0004BBEC 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8004FF90 0004BBF0 7C 08 02 A6 */ mflr r0 /* 8004FF94 0004BBF4 3C C0 43 30 */ lis r6, 0x4330 /* 8004FF98 0004BBF8 7C A7 2B 78 */ mr r7, r5 /* 8004FF9C 0004BBFC 90 01 00 34 */ stw r0, 0x34(r1) /* 8004FFA0 0004BC00 38 A1 00 08 */ addi r5, r1, 8 /* 8004FFA4 0004BC04 C8 42 84 78 */ lfd f2, lbl_80640A78-_SDA2_BASE_(r2) /* 8004FFA8 0004BC08 88 04 00 00 */ lbz r0, 0(r4) /* 8004FFAC 0004BC0C 90 C1 00 18 */ stw r6, 0x18(r1) /* 8004FFB0 0004BC10 90 01 00 1C */ stw r0, 0x1c(r1) /* 8004FFB4 0004BC14 C8 01 00 18 */ lfd f0, 0x18(r1) /* 8004FFB8 0004BC18 90 C1 00 20 */ stw r6, 0x20(r1) /* 8004FFBC 0004BC1C EC 00 10 28 */ fsubs f0, f0, f2 /* 8004FFC0 0004BC20 D0 01 00 08 */ stfs f0, 8(r1) /* 8004FFC4 0004BC24 88 04 00 01 */ lbz r0, 1(r4) /* 8004FFC8 0004BC28 90 01 00 24 */ stw r0, 0x24(r1) /* 8004FFCC 0004BC2C C8 01 00 20 */ lfd f0, 0x20(r1) /* 8004FFD0 0004BC30 EC 00 10 28 */ fsubs f0, f0, f2 /* 8004FFD4 0004BC34 D0 01 00 0C */ stfs f0, 0xc(r1) /* 8004FFD8 0004BC38 88 04 00 02 */ lbz r0, 2(r4) /* 8004FFDC 0004BC3C 90 01 00 1C */ stw r0, 0x1c(r1) /* 8004FFE0 0004BC40 C8 01 00 18 */ lfd f0, 0x18(r1) /* 8004FFE4 0004BC44 EC 00 10 28 */ fsubs f0, f0, f2 /* 8004FFE8 0004BC48 D0 01 00 10 */ stfs f0, 0x10(r1) /* 8004FFEC 0004BC4C 88 04 00 03 */ lbz r0, 3(r4) /* 8004FFF0 0004BC50 38 83 00 04 */ addi r4, r3, 4 /* 8004FFF4 0004BC54 7C 86 23 78 */ mr r6, r4 /* 8004FFF8 0004BC58 38 63 01 24 */ addi r3, r3, 0x124 /* 8004FFFC 0004BC5C 90 01 00 24 */ stw r0, 0x24(r1) /* 80050000 0004BC60 C8 01 00 20 */ lfd f0, 0x20(r1) /* 80050004 0004BC64 EC 00 10 28 */ fsubs f0, f0, f2 /* 80050008 0004BC68 D0 01 00 14 */ stfs f0, 0x14(r1) /* 8005000C 0004BC6C 48 00 0B 41 */ bl func_80050B4C /* 80050010 0004BC70 80 01 00 34 */ lwz r0, 0x34(r1) /* 80050014 0004BC74 7C 08 03 A6 */ mtlr r0 /* 80050018 0004BC78 38 21 00 30 */ addi r1, r1, 0x30 /* 8005001C 0004BC7C 4E 80 00 20 */ blr .global func_80050020 func_80050020: /* 80050020 0004BC80 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80050024 0004BC84 7C 08 02 A6 */ mflr r0 /* 80050028 0004BC88 90 01 00 34 */ stw r0, 0x34(r1) /* 8005002C 0004BC8C 93 E1 00 2C */ stw r31, 0x2c(r1) /* 80050030 0004BC90 7C 7F 1B 78 */ mr r31, r3 /* 80050034 0004BC94 C0 04 00 00 */ lfs f0, 0(r4) /* 80050038 0004BC98 D0 03 01 64 */ stfs f0, 0x164(r3) /* 8005003C 0004BC9C C0 04 00 04 */ lfs f0, 4(r4) /* 80050040 0004BCA0 D0 03 01 68 */ stfs f0, 0x168(r3) /* 80050044 0004BCA4 C0 04 00 08 */ lfs f0, 8(r4) /* 80050048 0004BCA8 D0 03 01 6C */ stfs f0, 0x16c(r3) /* 8005004C 0004BCAC 38 61 00 18 */ addi r3, r1, 0x18 /* 80050050 0004BCB0 C0 44 00 08 */ lfs f2, 8(r4) /* 80050054 0004BCB4 C0 24 00 04 */ lfs f1, 4(r4) /* 80050058 0004BCB8 C0 04 00 00 */ lfs f0, 0(r4) /* 8005005C 0004BCBC 38 81 00 08 */ addi r4, r1, 8 /* 80050060 0004BCC0 D0 01 00 08 */ stfs f0, 8(r1) /* 80050064 0004BCC4 D0 21 00 0C */ stfs f1, 0xc(r1) /* 80050068 0004BCC8 D0 41 00 10 */ stfs f2, 0x10(r1) /* 8005006C 0004BCCC 48 1D 36 55 */ bl func_802236C0 /* 80050070 0004BCD0 80 7F 00 00 */ lwz r3, 0(r31) /* 80050074 0004BCD4 2C 03 00 00 */ cmpwi r3, 0 /* 80050078 0004BCD8 41 82 00 38 */ beq lbl_800500B0 /* 8005007C 0004BCDC C0 01 00 18 */ lfs f0, 0x18(r1) /* 80050080 0004BCE0 38 80 00 01 */ li r4, 1 /* 80050084 0004BCE4 D0 03 00 2C */ stfs f0, 0x2c(r3) /* 80050088 0004BCE8 C0 01 00 1C */ lfs f0, 0x1c(r1) /* 8005008C 0004BCEC D0 03 00 30 */ stfs f0, 0x30(r3) /* 80050090 0004BCF0 C0 01 00 20 */ lfs f0, 0x20(r1) /* 80050094 0004BCF4 D0 03 00 34 */ stfs f0, 0x34(r3) /* 80050098 0004BCF8 C0 01 00 24 */ lfs f0, 0x24(r1) /* 8005009C 0004BCFC D0 03 00 38 */ stfs f0, 0x38(r3) /* 800500A0 0004BD00 A0 03 00 10 */ lhz r0, 0x10(r3) /* 800500A4 0004BD04 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c /* 800500A8 0004BD08 B0 03 00 10 */ sth r0, 0x10(r3) /* 800500AC 0004BD0C 48 1A 26 0D */ bl func_801F26B8 lbl_800500B0: /* 800500B0 0004BD10 80 01 00 34 */ lwz r0, 0x34(r1) /* 800500B4 0004BD14 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 800500B8 0004BD18 7C 08 03 A6 */ mtlr r0 /* 800500BC 0004BD1C 38 21 00 30 */ addi r1, r1, 0x30 /* 800500C0 0004BD20 4E 80 00 20 */ blr .global func_800500C4 func_800500C4: /* 800500C4 0004BD24 80 03 00 2C */ lwz r0, 0x2c(r3) /* 800500C8 0004BD28 7C 00 20 40 */ cmplw r0, r4 /* 800500CC 0004BD2C 40 82 00 0C */ bne lbl_800500D8 /* 800500D0 0004BD30 38 60 00 00 */ li r3, 0 /* 800500D4 0004BD34 4E 80 00 20 */ blr lbl_800500D8: /* 800500D8 0004BD38 80 03 00 30 */ lwz r0, 0x30(r3) /* 800500DC 0004BD3C 7C 00 20 40 */ cmplw r0, r4 /* 800500E0 0004BD40 40 82 00 0C */ bne lbl_800500EC /* 800500E4 0004BD44 38 60 00 01 */ li r3, 1 /* 800500E8 0004BD48 4E 80 00 20 */ blr lbl_800500EC: /* 800500EC 0004BD4C 80 03 00 34 */ lwz r0, 0x34(r3) /* 800500F0 0004BD50 7C 00 20 40 */ cmplw r0, r4 /* 800500F4 0004BD54 40 82 00 0C */ bne lbl_80050100 /* 800500F8 0004BD58 38 60 00 02 */ li r3, 2 /* 800500FC 0004BD5C 4E 80 00 20 */ blr lbl_80050100: /* 80050100 0004BD60 80 03 00 38 */ lwz r0, 0x38(r3) /* 80050104 0004BD64 7C 00 20 40 */ cmplw r0, r4 /* 80050108 0004BD68 40 82 00 0C */ bne lbl_80050114 /* 8005010C 0004BD6C 38 60 00 03 */ li r3, 3 /* 80050110 0004BD70 4E 80 00 20 */ blr lbl_80050114: /* 80050114 0004BD74 80 03 00 3C */ lwz r0, 0x3c(r3) /* 80050118 0004BD78 7C 00 20 40 */ cmplw r0, r4 /* 8005011C 0004BD7C 40 82 00 0C */ bne lbl_80050128 /* 80050120 0004BD80 38 60 00 04 */ li r3, 4 /* 80050124 0004BD84 4E 80 00 20 */ blr lbl_80050128: /* 80050128 0004BD88 80 03 00 40 */ lwz r0, 0x40(r3) /* 8005012C 0004BD8C 7C 00 20 40 */ cmplw r0, r4 /* 80050130 0004BD90 40 82 00 0C */ bne lbl_8005013C /* 80050134 0004BD94 38 60 00 05 */ li r3, 5 /* 80050138 0004BD98 4E 80 00 20 */ blr lbl_8005013C: /* 8005013C 0004BD9C 80 03 00 44 */ lwz r0, 0x44(r3) /* 80050140 0004BDA0 7C 00 20 40 */ cmplw r0, r4 /* 80050144 0004BDA4 40 82 00 0C */ bne lbl_80050150 /* 80050148 0004BDA8 38 60 00 06 */ li r3, 6 /* 8005014C 0004BDAC 4E 80 00 20 */ blr lbl_80050150: /* 80050150 0004BDB0 80 03 00 48 */ lwz r0, 0x48(r3) /* 80050154 0004BDB4 7C 00 20 40 */ cmplw r0, r4 /* 80050158 0004BDB8 40 82 00 0C */ bne lbl_80050164 /* 8005015C 0004BDBC 38 60 00 07 */ li r3, 7 /* 80050160 0004BDC0 4E 80 00 20 */ blr lbl_80050164: /* 80050164 0004BDC4 38 60 FF FF */ li r3, -1 /* 80050168 0004BDC8 4E 80 00 20 */ blr .global func_8005016C func_8005016C: /* 8005016C 0004BDCC 38 A0 00 01 */ li r5, 1 /* 80050170 0004BDD0 38 6D 98 48 */ addi r3, r13, lbl_8063EB08-_SDA_BASE_ /* 80050174 0004BDD4 38 80 00 04 */ li r4, 4 /* 80050178 0004BDD8 38 00 00 00 */ li r0, 0 /* 8005017C 0004BDDC 98 AD 98 48 */ stb r5, lbl_8063EB08-_SDA_BASE_(r13) /* 80050180 0004BDE0 B0 83 00 02 */ sth r4, 2(r3) /* 80050184 0004BDE4 98 03 00 04 */ stb r0, 4(r3) /* 80050188 0004BDE8 4E 80 00 20 */ blr