.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global func_8005A588 func_8005A588: /* 8005A588 000561E8 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8005A58C 000561EC 7C 08 02 A6 */ mflr r0 /* 8005A590 000561F0 90 01 00 34 */ stw r0, 0x34(r1) /* 8005A594 000561F4 39 61 00 30 */ addi r11, r1, 0x30 /* 8005A598 000561F8 48 16 CB 81 */ bl _savegpr_23 /* 8005A59C 000561FC 3B 00 00 00 */ li r24, 0 /* 8005A5A0 00056200 38 60 00 00 */ li r3, 0 /* 8005A5A4 00056204 4B FF E5 6D */ bl func_80058B10 /* 8005A5A8 00056208 3C 80 80 40 */ lis r4, lbl_803FB8D0@ha /* 8005A5AC 0005620C 54 60 15 BA */ rlwinm r0, r3, 2, 0x16, 0x1d /* 8005A5B0 00056210 38 84 B8 D0 */ addi r4, r4, lbl_803FB8D0@l /* 8005A5B4 00056214 7C 64 00 2E */ lwzx r3, r4, r0 /* 8005A5B8 00056218 48 1E F0 25 */ bl func_802495DC /* 8005A5BC 0005621C 3C A0 80 47 */ lis r5, lbl_80477D68@ha /* 8005A5C0 00056220 3C 60 80 47 */ lis r3, lbl_80477968@ha /* 8005A5C4 00056224 38 00 00 10 */ li r0, 0x10 /* 8005A5C8 00056228 39 00 00 00 */ li r8, 0 /* 8005A5CC 0005622C 38 A5 7D 68 */ addi r5, r5, lbl_80477D68@l /* 8005A5D0 00056230 38 63 79 68 */ addi r3, r3, lbl_80477968@l /* 8005A5D4 00056234 38 80 00 00 */ li r4, 0 /* 8005A5D8 00056238 7C 09 03 A6 */ mtctr r0 lbl_8005A5DC: /* 8005A5DC 0005623C 55 00 13 BA */ rlwinm r0, r8, 2, 0xe, 0x1d /* 8005A5E0 00056240 39 08 00 08 */ addi r8, r8, 8 /* 8005A5E4 00056244 7C E3 02 14 */ add r7, r3, r0 /* 8005A5E8 00056248 7C 85 01 2E */ stwx r4, r5, r0 /* 8005A5EC 0005624C 7C C5 02 14 */ add r6, r5, r0 /* 8005A5F0 00056250 55 00 13 BA */ rlwinm r0, r8, 2, 0xe, 0x1d /* 8005A5F4 00056254 90 87 00 00 */ stw r4, 0(r7) /* 8005A5F8 00056258 39 08 00 08 */ addi r8, r8, 8 /* 8005A5FC 0005625C 90 86 00 04 */ stw r4, 4(r6) /* 8005A600 00056260 90 87 00 04 */ stw r4, 4(r7) /* 8005A604 00056264 90 86 00 08 */ stw r4, 8(r6) /* 8005A608 00056268 90 87 00 08 */ stw r4, 8(r7) /* 8005A60C 0005626C 90 86 00 0C */ stw r4, 0xc(r6) /* 8005A610 00056270 90 87 00 0C */ stw r4, 0xc(r7) /* 8005A614 00056274 90 86 00 10 */ stw r4, 0x10(r6) /* 8005A618 00056278 90 87 00 10 */ stw r4, 0x10(r7) /* 8005A61C 0005627C 90 86 00 14 */ stw r4, 0x14(r6) /* 8005A620 00056280 90 87 00 14 */ stw r4, 0x14(r7) /* 8005A624 00056284 90 86 00 18 */ stw r4, 0x18(r6) /* 8005A628 00056288 90 86 00 1C */ stw r4, 0x1c(r6) /* 8005A62C 0005628C 7C C5 02 14 */ add r6, r5, r0 /* 8005A630 00056290 90 87 00 18 */ stw r4, 0x18(r7) /* 8005A634 00056294 90 87 00 1C */ stw r4, 0x1c(r7) /* 8005A638 00056298 7C E3 02 14 */ add r7, r3, r0 /* 8005A63C 0005629C 7C 85 01 2E */ stwx r4, r5, r0 /* 8005A640 000562A0 7C 83 01 2E */ stwx r4, r3, r0 /* 8005A644 000562A4 90 86 00 04 */ stw r4, 4(r6) /* 8005A648 000562A8 90 87 00 04 */ stw r4, 4(r7) /* 8005A64C 000562AC 90 86 00 08 */ stw r4, 8(r6) /* 8005A650 000562B0 90 87 00 08 */ stw r4, 8(r7) /* 8005A654 000562B4 90 86 00 0C */ stw r4, 0xc(r6) /* 8005A658 000562B8 90 87 00 0C */ stw r4, 0xc(r7) /* 8005A65C 000562BC 90 86 00 10 */ stw r4, 0x10(r6) /* 8005A660 000562C0 90 87 00 10 */ stw r4, 0x10(r7) /* 8005A664 000562C4 90 86 00 14 */ stw r4, 0x14(r6) /* 8005A668 000562C8 90 87 00 14 */ stw r4, 0x14(r7) /* 8005A66C 000562CC 90 86 00 18 */ stw r4, 0x18(r6) /* 8005A670 000562D0 90 87 00 18 */ stw r4, 0x18(r7) /* 8005A674 000562D4 90 86 00 1C */ stw r4, 0x1c(r6) /* 8005A678 000562D8 90 87 00 1C */ stw r4, 0x1c(r7) /* 8005A67C 000562DC 42 00 FF 60 */ bdnz lbl_8005A5DC /* 8005A680 000562E0 3F 60 80 41 */ lis r27, lbl_8040B0E0@ha /* 8005A684 000562E4 3F 40 80 40 */ lis r26, lbl_803FB8E4@ha /* 8005A688 000562E8 3F 20 80 40 */ lis r25, lbl_803FB8D0@ha /* 8005A68C 000562EC 3E E0 80 47 */ lis r23, lbl_80477D68@ha /* 8005A690 000562F0 3B 7B B0 E0 */ addi r27, r27, lbl_8040B0E0@l /* 8005A694 000562F4 3B 5A B8 E4 */ addi r26, r26, lbl_803FB8E4@l /* 8005A698 000562F8 3B 39 B8 D0 */ addi r25, r25, lbl_803FB8D0@l /* 8005A69C 000562FC 3A F7 7D 68 */ addi r23, r23, lbl_80477D68@l /* 8005A6A0 00056300 3B A0 00 00 */ li r29, 0 lbl_8005A6A4: /* 8005A6A4 00056304 57 BC 13 BA */ rlwinm r28, r29, 2, 0xe, 0x1d /* 8005A6A8 00056308 38 60 00 00 */ li r3, 0 /* 8005A6AC 0005630C 4B FF E4 65 */ bl func_80058B10 /* 8005A6B0 00056310 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 8005A6B4 00056314 1C 00 01 40 */ mulli r0, r0, 0x140 /* 8005A6B8 00056318 7C 1C 02 14 */ add r0, r28, r0 /* 8005A6BC 0005631C 7F DB 00 2E */ lwzx r30, r27, r0 /* 8005A6C0 00056320 2C 1E 00 00 */ cmpwi r30, 0 /* 8005A6C4 00056324 41 82 00 50 */ beq lbl_8005A714 /* 8005A6C8 00056328 57 A0 04 3E */ clrlwi r0, r29, 0x10 /* 8005A6CC 0005632C 7C 1A 00 AE */ lbzx r0, r26, r0 /* 8005A6D0 00056330 2C 00 00 00 */ cmpwi r0, 0 /* 8005A6D4 00056334 40 82 00 0C */ bne lbl_8005A6E0 /* 8005A6D8 00056338 38 60 00 0A */ li r3, 0xa /* 8005A6DC 0005633C 48 00 00 14 */ b lbl_8005A6F0 lbl_8005A6E0: /* 8005A6E0 00056340 38 60 00 00 */ li r3, 0 /* 8005A6E4 00056344 4B FF E4 2D */ bl func_80058B10 /* 8005A6E8 00056348 54 60 15 BA */ rlwinm r0, r3, 2, 0x16, 0x1d /* 8005A6EC 0005634C 7C 79 00 2E */ lwzx r3, r25, r0 lbl_8005A6F0: /* 8005A6F0 00056350 7F C4 F3 78 */ mr r4, r30 /* 8005A6F4 00056354 48 18 0E F1 */ bl func_801DB5E4 /* 8005A6F8 00056358 3B BD 00 01 */ addi r29, r29, 1 /* 8005A6FC 0005635C 38 03 01 1F */ addi r0, r3, 0x11f /* 8005A700 00056360 28 1D 01 00 */ cmplwi r29, 0x100 /* 8005A704 00056364 7F 17 E1 2E */ stwx r24, r23, r28 /* 8005A708 00056368 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a /* 8005A70C 0005636C 7F 18 02 14 */ add r24, r24, r0 /* 8005A710 00056370 41 80 FF 94 */ blt lbl_8005A6A4 lbl_8005A714: /* 8005A714 00056374 7F 03 C3 78 */ mr r3, r24 /* 8005A718 00056378 48 1F 5C 25 */ bl func_8025033C /* 8005A71C 0005637C 3C A0 80 47 */ lis r5, lbl_80477968@ha /* 8005A720 00056380 3C 80 80 47 */ lis r4, lbl_80477D68@ha /* 8005A724 00056384 90 65 79 68 */ stw r3, lbl_80477968@l(r5) /* 8005A728 00056388 38 00 00 33 */ li r0, 0x33 /* 8005A72C 0005638C 38 65 79 68 */ addi r3, r5, 0x7968 /* 8005A730 00056390 38 84 7D 68 */ addi r4, r4, lbl_80477D68@l /* 8005A734 00056394 39 00 00 01 */ li r8, 1 /* 8005A738 00056398 7C 09 03 A6 */ mtctr r0 lbl_8005A73C: /* 8005A73C 0005639C 55 07 13 BA */ rlwinm r7, r8, 2, 0xe, 0x1d /* 8005A740 000563A0 7C C4 38 2E */ lwzx r6, r4, r7 /* 8005A744 000563A4 2C 06 00 00 */ cmpwi r6, 0 /* 8005A748 000563A8 41 82 00 10 */ beq lbl_8005A758 /* 8005A74C 000563AC 80 05 79 68 */ lwz r0, 0x7968(r5) /* 8005A750 000563B0 7C 00 32 14 */ add r0, r0, r6 /* 8005A754 000563B4 7C 03 39 2E */ stwx r0, r3, r7 lbl_8005A758: /* 8005A758 000563B8 39 08 00 01 */ addi r8, r8, 1 /* 8005A75C 000563BC 55 07 13 BA */ rlwinm r7, r8, 2, 0xe, 0x1d /* 8005A760 000563C0 7C C4 38 2E */ lwzx r6, r4, r7 /* 8005A764 000563C4 2C 06 00 00 */ cmpwi r6, 0 /* 8005A768 000563C8 41 82 00 10 */ beq lbl_8005A778 /* 8005A76C 000563CC 80 05 79 68 */ lwz r0, 0x7968(r5) /* 8005A770 000563D0 7C 00 32 14 */ add r0, r0, r6 /* 8005A774 000563D4 7C 03 39 2E */ stwx r0, r3, r7 lbl_8005A778: /* 8005A778 000563D8 39 08 00 01 */ addi r8, r8, 1 /* 8005A77C 000563DC 55 07 13 BA */ rlwinm r7, r8, 2, 0xe, 0x1d /* 8005A780 000563E0 7C C4 38 2E */ lwzx r6, r4, r7 /* 8005A784 000563E4 2C 06 00 00 */ cmpwi r6, 0 /* 8005A788 000563E8 41 82 00 10 */ beq lbl_8005A798 /* 8005A78C 000563EC 80 05 79 68 */ lwz r0, 0x7968(r5) /* 8005A790 000563F0 7C 00 32 14 */ add r0, r0, r6 /* 8005A794 000563F4 7C 03 39 2E */ stwx r0, r3, r7 lbl_8005A798: /* 8005A798 000563F8 39 08 00 01 */ addi r8, r8, 1 /* 8005A79C 000563FC 55 07 13 BA */ rlwinm r7, r8, 2, 0xe, 0x1d /* 8005A7A0 00056400 7C C4 38 2E */ lwzx r6, r4, r7 /* 8005A7A4 00056404 2C 06 00 00 */ cmpwi r6, 0 /* 8005A7A8 00056408 41 82 00 10 */ beq lbl_8005A7B8 /* 8005A7AC 0005640C 80 05 79 68 */ lwz r0, 0x7968(r5) /* 8005A7B0 00056410 7C 00 32 14 */ add r0, r0, r6 /* 8005A7B4 00056414 7C 03 39 2E */ stwx r0, r3, r7 lbl_8005A7B8: /* 8005A7B8 00056418 39 08 00 01 */ addi r8, r8, 1 /* 8005A7BC 0005641C 55 07 13 BA */ rlwinm r7, r8, 2, 0xe, 0x1d /* 8005A7C0 00056420 7C C4 38 2E */ lwzx r6, r4, r7 /* 8005A7C4 00056424 2C 06 00 00 */ cmpwi r6, 0 /* 8005A7C8 00056428 41 82 00 10 */ beq lbl_8005A7D8 /* 8005A7CC 0005642C 80 05 79 68 */ lwz r0, 0x7968(r5) /* 8005A7D0 00056430 7C 00 32 14 */ add r0, r0, r6 /* 8005A7D4 00056434 7C 03 39 2E */ stwx r0, r3, r7 lbl_8005A7D8: /* 8005A7D8 00056438 39 08 00 01 */ addi r8, r8, 1 /* 8005A7DC 0005643C 42 00 FF 60 */ bdnz lbl_8005A73C /* 8005A7E0 00056440 3E E0 80 47 */ lis r23, lbl_80477968@ha /* 8005A7E4 00056444 3F A0 80 41 */ lis r29, lbl_8040B0E0@ha /* 8005A7E8 00056448 3F C0 80 40 */ lis r30, lbl_803FB8E4@ha /* 8005A7EC 0005644C 3F E0 80 40 */ lis r31, lbl_803FB8D0@ha /* 8005A7F0 00056450 3B BD B0 E0 */ addi r29, r29, lbl_8040B0E0@l /* 8005A7F4 00056454 3A F7 79 68 */ addi r23, r23, lbl_80477968@l /* 8005A7F8 00056458 3B DE B8 E4 */ addi r30, r30, lbl_803FB8E4@l /* 8005A7FC 0005645C 3B FF B8 D0 */ addi r31, r31, lbl_803FB8D0@l /* 8005A800 00056460 3B 60 00 00 */ li r27, 0 lbl_8005A804: /* 8005A804 00056464 57 7C 13 BA */ rlwinm r28, r27, 2, 0xe, 0x1d /* 8005A808 00056468 7C 17 E0 2E */ lwzx r0, r23, r28 /* 8005A80C 0005646C 2C 00 00 00 */ cmpwi r0, 0 /* 8005A810 00056470 41 82 01 30 */ beq lbl_8005A940 /* 8005A814 00056474 38 60 00 00 */ li r3, 0 /* 8005A818 00056478 4B FF E2 F9 */ bl func_80058B10 /* 8005A81C 0005647C 54 63 06 3E */ clrlwi r3, r3, 0x18 /* 8005A820 00056480 57 60 04 3E */ clrlwi r0, r27, 0x10 /* 8005A824 00056484 1C 63 01 40 */ mulli r3, r3, 0x140 /* 8005A828 00056488 7C 1E 00 AE */ lbzx r0, r30, r0 /* 8005A82C 0005648C 2C 00 00 00 */ cmpwi r0, 0 /* 8005A830 00056490 7C 1C 1A 14 */ add r0, r28, r3 /* 8005A834 00056494 7F 5D 00 2E */ lwzx r26, r29, r0 /* 8005A838 00056498 40 82 00 0C */ bne lbl_8005A844 /* 8005A83C 0005649C 3B 20 00 0A */ li r25, 0xa /* 8005A840 000564A0 48 00 00 14 */ b lbl_8005A854 lbl_8005A844: /* 8005A844 000564A4 38 60 00 00 */ li r3, 0 /* 8005A848 000564A8 4B FF E2 C9 */ bl func_80058B10 /* 8005A84C 000564AC 54 60 15 BA */ rlwinm r0, r3, 2, 0x16, 0x1d /* 8005A850 000564B0 7F 3F 00 2E */ lwzx r25, r31, r0 lbl_8005A854: /* 8005A854 000564B4 7F 23 CB 78 */ mr r3, r25 /* 8005A858 000564B8 7F 44 D3 78 */ mr r4, r26 /* 8005A85C 000564BC 48 18 0D 89 */ bl func_801DB5E4 /* 8005A860 000564C0 7C 78 1B 78 */ mr r24, r3 /* 8005A864 000564C4 7F 23 CB 78 */ mr r3, r25 /* 8005A868 000564C8 7F 44 D3 78 */ mr r4, r26 /* 8005A86C 000564CC 48 18 0C 51 */ bl func_801DB4BC /* 8005A870 000564D0 88 03 00 07 */ lbz r0, 7(r3) /* 8005A874 000564D4 7C 64 1B 78 */ mr r4, r3 /* 8005A878 000564D8 54 00 06 3C */ rlwinm r0, r0, 0, 0x18, 0x1e /* 8005A87C 000564DC 98 03 00 07 */ stb r0, 7(r3) /* 8005A880 000564E0 80 A3 00 28 */ lwz r5, 0x28(r3) /* 8005A884 000564E4 54 A0 00 01 */ rlwinm. r0, r5, 0, 0, 0 /* 8005A888 000564E8 41 82 00 0C */ beq lbl_8005A894 /* 8005A88C 000564EC 7C 03 28 50 */ subf r0, r3, r5 /* 8005A890 000564F0 90 03 00 28 */ stw r0, 0x28(r3) lbl_8005A894: /* 8005A894 000564F4 80 03 00 08 */ lwz r0, 8(r3) /* 8005A898 000564F8 2C 00 00 01 */ cmpwi r0, 1 /* 8005A89C 000564FC 41 81 00 18 */ bgt lbl_8005A8B4 /* 8005A8A0 00056500 80 A3 00 48 */ lwz r5, 0x48(r3) /* 8005A8A4 00056504 54 A0 00 01 */ rlwinm. r0, r5, 0, 0, 0 /* 8005A8A8 00056508 41 82 00 0C */ beq lbl_8005A8B4 /* 8005A8AC 0005650C 7C 03 28 50 */ subf r0, r3, r5 /* 8005A8B0 00056510 90 03 00 48 */ stw r0, 0x48(r3) lbl_8005A8B4: /* 8005A8B4 00056514 7C 77 E0 2E */ lwzx r3, r23, r28 /* 8005A8B8 00056518 7F 05 C3 78 */ mr r5, r24 /* 8005A8BC 0005651C 4B FA 97 45 */ bl memcpy /* 8005A8C0 00056520 7C 77 E0 2E */ lwzx r3, r23, r28 /* 8005A8C4 00056524 48 1E 2E 09 */ bl func_8023D6CC /* 8005A8C8 00056528 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13) /* 8005A8CC 0005652C 7C 7C 1B 78 */ mr r28, r3 /* 8005A8D0 00056530 88 04 00 7A */ lbz r0, 0x7a(r4) /* 8005A8D4 00056534 2C 00 00 00 */ cmpwi r0, 0 /* 8005A8D8 00056538 41 82 00 38 */ beq lbl_8005A910 /* 8005A8DC 0005653C 2C 03 00 00 */ cmpwi r3, 0 /* 8005A8E0 00056540 41 82 00 30 */ beq lbl_8005A910 /* 8005A8E4 00056544 80 A3 00 1C */ lwz r5, 0x1c(r3) /* 8005A8E8 00056548 2C 05 00 02 */ cmpwi r5, 2 /* 8005A8EC 0005654C 40 80 00 08 */ bge lbl_8005A8F4 /* 8005A8F0 00056550 38 A0 00 02 */ li r5, 2 lbl_8005A8F4: /* 8005A8F4 00056554 80 9C 00 18 */ lwz r4, 0x18(r28) /* 8005A8F8 00056558 7F 83 E3 78 */ mr r3, r28 /* 8005A8FC 0005655C 2C 04 00 02 */ cmpwi r4, 2 /* 8005A900 00056560 40 80 00 08 */ bge lbl_8005A908 /* 8005A904 00056564 38 80 00 02 */ li r4, 2 lbl_8005A908: /* 8005A908 00056568 80 DC 00 20 */ lwz r6, 0x20(r28) /* 8005A90C 0005656C 48 1E 3A BD */ bl func_8023E3C8 lbl_8005A910: /* 8005A910 00056570 7F 83 E3 78 */ mr r3, r28 /* 8005A914 00056574 7F 04 C3 78 */ mr r4, r24 /* 8005A918 00056578 48 20 FD 3D */ bl DCFlushRange /* 8005A91C 0005657C 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 8005A920 00056580 28 19 00 0A */ cmplwi r25, 0xa /* 8005A924 00056584 A0 03 16 FE */ lhz r0, 0x16fe(r3) /* 8005A928 00056588 60 00 00 02 */ ori r0, r0, 2 /* 8005A92C 0005658C B0 03 16 FE */ sth r0, 0x16fe(r3) /* 8005A930 00056590 40 82 00 10 */ bne lbl_8005A940 /* 8005A934 00056594 7F 23 CB 78 */ mr r3, r25 /* 8005A938 00056598 7F 44 D3 78 */ mr r4, r26 /* 8005A93C 0005659C 48 18 0D 09 */ bl func_801DB644 lbl_8005A940: /* 8005A940 000565A0 3B 7B 00 01 */ addi r27, r27, 1 /* 8005A944 000565A4 28 1B 01 00 */ cmplwi r27, 0x100 /* 8005A948 000565A8 41 80 FE BC */ blt lbl_8005A804 /* 8005A94C 000565AC 38 60 00 00 */ li r3, 0 /* 8005A950 000565B0 4B FF E1 C1 */ bl func_80058B10 /* 8005A954 000565B4 3F 00 80 40 */ lis r24, lbl_803FB8D0@ha /* 8005A958 000565B8 54 60 15 BA */ rlwinm r0, r3, 2, 0x16, 0x1d /* 8005A95C 000565BC 3B 18 B8 D0 */ addi r24, r24, lbl_803FB8D0@l /* 8005A960 000565C0 7C 78 00 2E */ lwzx r3, r24, r0 /* 8005A964 000565C4 48 1E EF 2D */ bl func_80249890 /* 8005A968 000565C8 38 60 00 00 */ li r3, 0 /* 8005A96C 000565CC 4B FF E1 A5 */ bl func_80058B10 /* 8005A970 000565D0 54 60 15 BA */ rlwinm r0, r3, 2, 0x16, 0x1d /* 8005A974 000565D4 7C 78 00 2E */ lwzx r3, r24, r0 /* 8005A978 000565D8 48 18 0C FD */ bl func_801DB674 /* 8005A97C 000565DC 39 61 00 30 */ addi r11, r1, 0x30 /* 8005A980 000565E0 48 16 C7 E5 */ bl _restgpr_23 /* 8005A984 000565E4 80 01 00 34 */ lwz r0, 0x34(r1) /* 8005A988 000565E8 7C 08 03 A6 */ mtlr r0 /* 8005A98C 000565EC 38 21 00 30 */ addi r1, r1, 0x30 /* 8005A990 000565F0 4E 80 00 20 */ blr .global func_8005A994 func_8005A994: /* 8005A994 000565F4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8005A998 000565F8 7C 08 02 A6 */ mflr r0 /* 8005A99C 000565FC 38 60 03 D4 */ li r3, 0x3d4 /* 8005A9A0 00056600 90 01 00 14 */ stw r0, 0x14(r1) /* 8005A9A4 00056604 48 18 00 8D */ bl __nw__FUl /* 8005A9A8 00056608 2C 03 00 00 */ cmpwi r3, 0 /* 8005A9AC 0005660C 41 82 00 34 */ beq lbl_8005A9E0 /* 8005A9B0 00056610 38 80 00 01 */ li r4, 1 /* 8005A9B4 00056614 38 00 00 04 */ li r0, 4 /* 8005A9B8 00056618 90 81 00 08 */ stw r4, 8(r1) /* 8005A9BC 0005661C 38 80 00 00 */ li r4, 0 /* 8005A9C0 00056620 38 A0 00 04 */ li r5, 4 /* 8005A9C4 00056624 38 C0 00 00 */ li r6, 0 /* 8005A9C8 00056628 90 01 00 0C */ stw r0, 0xc(r1) /* 8005A9CC 0005662C 38 E0 00 00 */ li r7, 0 /* 8005A9D0 00056630 39 00 00 01 */ li r8, 1 /* 8005A9D4 00056634 39 20 00 05 */ li r9, 5 /* 8005A9D8 00056638 39 40 00 01 */ li r10, 1 /* 8005A9DC 0005663C 48 1E 1E 39 */ bl func_8023C814 lbl_8005A9E0: /* 8005A9E0 00056640 80 8D 81 F0 */ lwz r4, lbl_8063D4B0-_SDA_BASE_(r13) /* 8005A9E4 00056644 90 64 00 00 */ stw r3, 0(r4) /* 8005A9E8 00056648 80 01 00 14 */ lwz r0, 0x14(r1) /* 8005A9EC 0005664C 7C 08 03 A6 */ mtlr r0 /* 8005A9F0 00056650 38 21 00 10 */ addi r1, r1, 0x10 /* 8005A9F4 00056654 4E 80 00 20 */ blr .global func_8005A9F8 func_8005A9F8: /* 8005A9F8 00056658 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8005A9FC 0005665C 7C 08 02 A6 */ mflr r0 /* 8005AA00 00056660 90 01 00 14 */ stw r0, 0x14(r1) /* 8005AA04 00056664 93 E1 00 0C */ stw r31, 0xc(r1) /* 8005AA08 00056668 7C 7F 1B 78 */ mr r31, r3 /* 8005AA0C 0005666C 80 0D 98 FC */ lwz r0, lbl_8063EBBC-_SDA_BASE_(r13) /* 8005AA10 00056670 2C 00 00 00 */ cmpwi r0, 0 /* 8005AA14 00056674 40 82 00 0C */ bne lbl_8005AA20 /* 8005AA18 00056678 48 10 4C 79 */ bl func_8015F690 /* 8005AA1C 0005667C 90 6D 98 FC */ stw r3, lbl_8063EBBC-_SDA_BASE_(r13) lbl_8005AA20: /* 8005AA20 00056680 2C 1F 00 41 */ cmpwi r31, 0x41 /* 8005AA24 00056684 41 82 00 D8 */ beq lbl_8005AAFC /* 8005AA28 00056688 40 80 00 1C */ bge lbl_8005AA44 /* 8005AA2C 0005668C 2C 1F 00 1B */ cmpwi r31, 0x1b /* 8005AA30 00056690 41 82 00 7C */ beq lbl_8005AAAC /* 8005AA34 00056694 40 80 02 08 */ bge lbl_8005AC3C /* 8005AA38 00056698 2C 1F 00 1A */ cmpwi r31, 0x1a /* 8005AA3C 0005669C 40 80 00 20 */ bge lbl_8005AA5C /* 8005AA40 000566A0 48 00 01 FC */ b lbl_8005AC3C lbl_8005AA44: /* 8005AA44 000566A4 2C 1F 00 44 */ cmpwi r31, 0x44 /* 8005AA48 000566A8 41 82 01 A4 */ beq lbl_8005ABEC /* 8005AA4C 000566AC 40 80 01 F0 */ bge lbl_8005AC3C /* 8005AA50 000566B0 2C 1F 00 43 */ cmpwi r31, 0x43 /* 8005AA54 000566B4 40 80 01 48 */ bge lbl_8005AB9C /* 8005AA58 000566B8 48 00 00 F4 */ b lbl_8005AB4C lbl_8005AA5C: /* 8005AA5C 000566BC 80 6D 98 FC */ lwz r3, lbl_8063EBBC-_SDA_BASE_(r13) /* 8005AA60 000566C0 80 03 00 4C */ lwz r0, 0x4c(r3) /* 8005AA64 000566C4 2C 00 00 01 */ cmpwi r0, 1 /* 8005AA68 000566C8 41 82 00 24 */ beq lbl_8005AA8C /* 8005AA6C 000566CC 40 80 00 30 */ bge lbl_8005AA9C /* 8005AA70 000566D0 2C 00 00 00 */ cmpwi r0, 0 /* 8005AA74 000566D4 40 80 00 08 */ bge lbl_8005AA7C /* 8005AA78 000566D8 48 00 00 24 */ b lbl_8005AA9C lbl_8005AA7C: /* 8005AA7C 000566DC 3C 60 80 47 */ lis r3, lbl_80477968@ha /* 8005AA80 000566E0 38 63 79 68 */ addi r3, r3, lbl_80477968@l /* 8005AA84 000566E4 80 63 00 68 */ lwz r3, 0x68(r3) /* 8005AA88 000566E8 48 00 01 C4 */ b lbl_8005AC4C lbl_8005AA8C: /* 8005AA8C 000566EC 3C 60 80 47 */ lis r3, lbl_80477968@ha /* 8005AA90 000566F0 38 63 79 68 */ addi r3, r3, lbl_80477968@l /* 8005AA94 000566F4 80 63 00 70 */ lwz r3, 0x70(r3) /* 8005AA98 000566F8 48 00 01 B4 */ b lbl_8005AC4C lbl_8005AA9C: /* 8005AA9C 000566FC 3C 60 80 47 */ lis r3, lbl_80477968@ha /* 8005AAA0 00056700 38 63 79 68 */ addi r3, r3, lbl_80477968@l /* 8005AAA4 00056704 80 63 00 78 */ lwz r3, 0x78(r3) /* 8005AAA8 00056708 48 00 01 A4 */ b lbl_8005AC4C lbl_8005AAAC: /* 8005AAAC 0005670C 80 6D 98 FC */ lwz r3, lbl_8063EBBC-_SDA_BASE_(r13) /* 8005AAB0 00056710 80 03 00 4C */ lwz r0, 0x4c(r3) /* 8005AAB4 00056714 2C 00 00 01 */ cmpwi r0, 1 /* 8005AAB8 00056718 41 82 00 24 */ beq lbl_8005AADC /* 8005AABC 0005671C 40 80 00 30 */ bge lbl_8005AAEC /* 8005AAC0 00056720 2C 00 00 00 */ cmpwi r0, 0 /* 8005AAC4 00056724 40 80 00 08 */ bge lbl_8005AACC /* 8005AAC8 00056728 48 00 00 24 */ b lbl_8005AAEC lbl_8005AACC: /* 8005AACC 0005672C 3C 60 80 47 */ lis r3, lbl_80477968@ha /* 8005AAD0 00056730 38 63 79 68 */ addi r3, r3, lbl_80477968@l /* 8005AAD4 00056734 80 63 00 6C */ lwz r3, 0x6c(r3) /* 8005AAD8 00056738 48 00 01 74 */ b lbl_8005AC4C lbl_8005AADC: /* 8005AADC 0005673C 3C 60 80 47 */ lis r3, lbl_80477968@ha /* 8005AAE0 00056740 38 63 79 68 */ addi r3, r3, lbl_80477968@l /* 8005AAE4 00056744 80 63 00 74 */ lwz r3, 0x74(r3) /* 8005AAE8 00056748 48 00 01 64 */ b lbl_8005AC4C lbl_8005AAEC: /* 8005AAEC 0005674C 3C 60 80 47 */ lis r3, lbl_80477968@ha /* 8005AAF0 00056750 38 63 79 68 */ addi r3, r3, lbl_80477968@l /* 8005AAF4 00056754 80 63 00 7C */ lwz r3, 0x7c(r3) /* 8005AAF8 00056758 48 00 01 54 */ b lbl_8005AC4C lbl_8005AAFC: /* 8005AAFC 0005675C 80 6D 98 FC */ lwz r3, lbl_8063EBBC-_SDA_BASE_(r13) /* 8005AB00 00056760 80 03 00 4C */ lwz r0, 0x4c(r3) /* 8005AB04 00056764 2C 00 00 01 */ cmpwi r0, 1 /* 8005AB08 00056768 41 82 00 24 */ beq lbl_8005AB2C /* 8005AB0C 0005676C 40 80 00 30 */ bge lbl_8005AB3C /* 8005AB10 00056770 2C 00 00 00 */ cmpwi r0, 0 /* 8005AB14 00056774 40 80 00 08 */ bge lbl_8005AB1C /* 8005AB18 00056778 48 00 00 24 */ b lbl_8005AB3C lbl_8005AB1C: /* 8005AB1C 0005677C 3C 60 80 47 */ lis r3, lbl_80477968@ha /* 8005AB20 00056780 38 63 79 68 */ addi r3, r3, lbl_80477968@l /* 8005AB24 00056784 80 63 01 04 */ lwz r3, 0x104(r3) /* 8005AB28 00056788 48 00 01 24 */ b lbl_8005AC4C lbl_8005AB2C: /* 8005AB2C 0005678C 3C 60 80 47 */ lis r3, lbl_80477968@ha /* 8005AB30 00056790 38 63 79 68 */ addi r3, r3, lbl_80477968@l /* 8005AB34 00056794 80 63 01 14 */ lwz r3, 0x114(r3) /* 8005AB38 00056798 48 00 01 14 */ b lbl_8005AC4C lbl_8005AB3C: /* 8005AB3C 0005679C 3C 60 80 47 */ lis r3, lbl_80477968@ha /* 8005AB40 000567A0 38 63 79 68 */ addi r3, r3, lbl_80477968@l /* 8005AB44 000567A4 80 63 01 24 */ lwz r3, 0x124(r3) /* 8005AB48 000567A8 48 00 01 04 */ b lbl_8005AC4C lbl_8005AB4C: /* 8005AB4C 000567AC 80 6D 98 FC */ lwz r3, lbl_8063EBBC-_SDA_BASE_(r13) /* 8005AB50 000567B0 80 03 00 4C */ lwz r0, 0x4c(r3) /* 8005AB54 000567B4 2C 00 00 01 */ cmpwi r0, 1 /* 8005AB58 000567B8 41 82 00 24 */ beq lbl_8005AB7C /* 8005AB5C 000567BC 40 80 00 30 */ bge lbl_8005AB8C /* 8005AB60 000567C0 2C 00 00 00 */ cmpwi r0, 0 /* 8005AB64 000567C4 40 80 00 08 */ bge lbl_8005AB6C /* 8005AB68 000567C8 48 00 00 24 */ b lbl_8005AB8C lbl_8005AB6C: /* 8005AB6C 000567CC 3C 60 80 47 */ lis r3, lbl_80477968@ha /* 8005AB70 000567D0 38 63 79 68 */ addi r3, r3, lbl_80477968@l /* 8005AB74 000567D4 80 63 01 08 */ lwz r3, 0x108(r3) /* 8005AB78 000567D8 48 00 00 D4 */ b lbl_8005AC4C lbl_8005AB7C: /* 8005AB7C 000567DC 3C 60 80 47 */ lis r3, lbl_80477968@ha /* 8005AB80 000567E0 38 63 79 68 */ addi r3, r3, lbl_80477968@l /* 8005AB84 000567E4 80 63 01 18 */ lwz r3, 0x118(r3) /* 8005AB88 000567E8 48 00 00 C4 */ b lbl_8005AC4C lbl_8005AB8C: /* 8005AB8C 000567EC 3C 60 80 47 */ lis r3, lbl_80477968@ha /* 8005AB90 000567F0 38 63 79 68 */ addi r3, r3, lbl_80477968@l /* 8005AB94 000567F4 80 63 01 28 */ lwz r3, 0x128(r3) /* 8005AB98 000567F8 48 00 00 B4 */ b lbl_8005AC4C lbl_8005AB9C: /* 8005AB9C 000567FC 80 6D 98 FC */ lwz r3, lbl_8063EBBC-_SDA_BASE_(r13) /* 8005ABA0 00056800 80 03 00 4C */ lwz r0, 0x4c(r3) /* 8005ABA4 00056804 2C 00 00 01 */ cmpwi r0, 1 /* 8005ABA8 00056808 41 82 00 24 */ beq lbl_8005ABCC /* 8005ABAC 0005680C 40 80 00 30 */ bge lbl_8005ABDC /* 8005ABB0 00056810 2C 00 00 00 */ cmpwi r0, 0 /* 8005ABB4 00056814 40 80 00 08 */ bge lbl_8005ABBC /* 8005ABB8 00056818 48 00 00 24 */ b lbl_8005ABDC lbl_8005ABBC: /* 8005ABBC 0005681C 3C 60 80 47 */ lis r3, lbl_80477968@ha /* 8005ABC0 00056820 38 63 79 68 */ addi r3, r3, lbl_80477968@l /* 8005ABC4 00056824 80 63 01 0C */ lwz r3, 0x10c(r3) /* 8005ABC8 00056828 48 00 00 84 */ b lbl_8005AC4C lbl_8005ABCC: /* 8005ABCC 0005682C 3C 60 80 47 */ lis r3, lbl_80477968@ha /* 8005ABD0 00056830 38 63 79 68 */ addi r3, r3, lbl_80477968@l /* 8005ABD4 00056834 80 63 01 1C */ lwz r3, 0x11c(r3) /* 8005ABD8 00056838 48 00 00 74 */ b lbl_8005AC4C lbl_8005ABDC: /* 8005ABDC 0005683C 3C 60 80 47 */ lis r3, lbl_80477968@ha /* 8005ABE0 00056840 38 63 79 68 */ addi r3, r3, lbl_80477968@l /* 8005ABE4 00056844 80 63 01 2C */ lwz r3, 0x12c(r3) /* 8005ABE8 00056848 48 00 00 64 */ b lbl_8005AC4C lbl_8005ABEC: /* 8005ABEC 0005684C 80 6D 98 FC */ lwz r3, lbl_8063EBBC-_SDA_BASE_(r13) /* 8005ABF0 00056850 80 03 00 4C */ lwz r0, 0x4c(r3) /* 8005ABF4 00056854 2C 00 00 01 */ cmpwi r0, 1 /* 8005ABF8 00056858 41 82 00 24 */ beq lbl_8005AC1C /* 8005ABFC 0005685C 40 80 00 30 */ bge lbl_8005AC2C /* 8005AC00 00056860 2C 00 00 00 */ cmpwi r0, 0 /* 8005AC04 00056864 40 80 00 08 */ bge lbl_8005AC0C /* 8005AC08 00056868 48 00 00 24 */ b lbl_8005AC2C lbl_8005AC0C: /* 8005AC0C 0005686C 3C 60 80 47 */ lis r3, lbl_80477968@ha /* 8005AC10 00056870 38 63 79 68 */ addi r3, r3, lbl_80477968@l /* 8005AC14 00056874 80 63 01 10 */ lwz r3, 0x110(r3) /* 8005AC18 00056878 48 00 00 34 */ b lbl_8005AC4C lbl_8005AC1C: /* 8005AC1C 0005687C 3C 60 80 47 */ lis r3, lbl_80477968@ha /* 8005AC20 00056880 38 63 79 68 */ addi r3, r3, lbl_80477968@l /* 8005AC24 00056884 80 63 01 20 */ lwz r3, 0x120(r3) /* 8005AC28 00056888 48 00 00 24 */ b lbl_8005AC4C lbl_8005AC2C: /* 8005AC2C 0005688C 3C 60 80 47 */ lis r3, lbl_80477968@ha /* 8005AC30 00056890 38 63 79 68 */ addi r3, r3, lbl_80477968@l /* 8005AC34 00056894 80 63 01 30 */ lwz r3, 0x130(r3) /* 8005AC38 00056898 48 00 00 14 */ b lbl_8005AC4C lbl_8005AC3C: /* 8005AC3C 0005689C 3C 60 80 47 */ lis r3, lbl_80477968@ha /* 8005AC40 000568A0 57 E0 10 3A */ slwi r0, r31, 2 /* 8005AC44 000568A4 38 63 79 68 */ addi r3, r3, lbl_80477968@l /* 8005AC48 000568A8 7C 63 00 2E */ lwzx r3, r3, r0 lbl_8005AC4C: /* 8005AC4C 000568AC 80 01 00 14 */ lwz r0, 0x14(r1) /* 8005AC50 000568B0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8005AC54 000568B4 7C 08 03 A6 */ mtlr r0 /* 8005AC58 000568B8 38 21 00 10 */ addi r1, r1, 0x10 /* 8005AC5C 000568BC 4E 80 00 20 */ blr .global func_8005AC60 func_8005AC60: /* 8005AC60 000568C0 48 18 08 5C */ b func_801DB4BC .global func_8005AC64 func_8005AC64: /* 8005AC64 000568C4 94 21 FF 80 */ stwu r1, -0x80(r1) /* 8005AC68 000568C8 7C 08 02 A6 */ mflr r0 /* 8005AC6C 000568CC 90 01 00 84 */ stw r0, 0x84(r1) /* 8005AC70 000568D0 DB E1 00 70 */ stfd f31, 0x70(r1) /* 8005AC74 000568D4 F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0 /* 8005AC78 000568D8 2C 06 00 00 */ cmpwi r6, 0 /* 8005AC7C 000568DC 93 E1 00 6C */ stw r31, 0x6c(r1) /* 8005AC80 000568E0 7C FF 3B 78 */ mr r31, r7 /* 8005AC84 000568E4 93 C1 00 68 */ stw r30, 0x68(r1) /* 8005AC88 000568E8 7C DE 33 78 */ mr r30, r6 /* 8005AC8C 000568EC 93 A1 00 64 */ stw r29, 0x64(r1) /* 8005AC90 000568F0 7C 9D 23 78 */ mr r29, r4 /* 8005AC94 000568F4 93 81 00 60 */ stw r28, 0x60(r1) /* 8005AC98 000568F8 7C 7C 1B 78 */ mr r28, r3 /* 8005AC9C 000568FC 41 82 01 00 */ beq lbl_8005AD9C /* 8005ACA0 00056900 38 C1 00 28 */ addi r6, r1, 0x28 /* 8005ACA4 00056904 38 A0 00 06 */ li r5, 6 /* 8005ACA8 00056908 48 1F 92 35 */ bl func_80253EDC /* 8005ACAC 0005690C 3C 00 43 30 */ lis r0, 0x4330 /* 8005ACB0 00056910 93 C1 00 4C */ stw r30, 0x4c(r1) /* 8005ACB4 00056914 C8 62 85 D8 */ lfd f3, lbl_80640BD8-_SDA2_BASE_(r2) /* 8005ACB8 00056918 38 60 00 19 */ li r3, 0x19 /* 8005ACBC 0005691C 90 01 00 48 */ stw r0, 0x48(r1) /* 8005ACC0 00056920 C0 21 00 2C */ lfs f1, 0x2c(r1) /* 8005ACC4 00056924 C8 01 00 48 */ lfd f0, 0x48(r1) /* 8005ACC8 00056928 93 E1 00 54 */ stw r31, 0x54(r1) /* 8005ACCC 0005692C EC 80 18 28 */ fsubs f4, f0, f3 /* 8005ACD0 00056930 C0 01 00 28 */ lfs f0, 0x28(r1) /* 8005ACD4 00056934 90 01 00 50 */ stw r0, 0x50(r1) /* 8005ACD8 00056938 EC A1 00 28 */ fsubs f5, f1, f0 /* 8005ACDC 0005693C C0 5D 00 38 */ lfs f2, 0x38(r29) /* 8005ACE0 00056940 C8 01 00 50 */ lfd f0, 0x50(r1) /* 8005ACE4 00056944 C0 22 85 C8 */ lfs f1, lbl_80640BC8-_SDA2_BASE_(r2) /* 8005ACE8 00056948 EC 60 18 28 */ fsubs f3, f0, f3 /* 8005ACEC 0005694C C0 02 85 CC */ lfs f0, lbl_80640BCC-_SDA2_BASE_(r2) /* 8005ACF0 00056950 EF E4 18 24 */ fdivs f31, f4, f3 /* 8005ACF4 00056954 EC 65 07 F2 */ fmuls f3, f5, f31 /* 8005ACF8 00056958 EC 42 18 2A */ fadds f2, f2, f3 /* 8005ACFC 0005695C D0 5D 00 3C */ stfs f2, 0x3c(r29) /* 8005AD00 00056960 D0 5D 00 40 */ stfs f2, 0x40(r29) /* 8005AD04 00056964 D0 21 00 0C */ stfs f1, 0xc(r1) /* 8005AD08 00056968 D0 21 00 08 */ stfs f1, 8(r1) /* 8005AD0C 0005696C D0 21 00 14 */ stfs f1, 0x14(r1) /* 8005AD10 00056970 D0 21 00 20 */ stfs f1, 0x20(r1) /* 8005AD14 00056974 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 8005AD18 00056978 D0 01 00 10 */ stfs f0, 0x10(r1) /* 8005AD1C 0005697C D0 01 00 24 */ stfs f0, 0x24(r1) /* 8005AD20 00056980 D0 01 00 18 */ stfs f0, 0x18(r1) /* 8005AD24 00056984 4B FF FC D5 */ bl func_8005A9F8 /* 8005AD28 00056988 7C 66 1B 78 */ mr r6, r3 /* 8005AD2C 0005698C 7F 83 E3 78 */ mr r3, r28 /* 8005AD30 00056990 7F A4 EB 78 */ mr r4, r29 /* 8005AD34 00056994 38 A0 00 02 */ li r5, 2 /* 8005AD38 00056998 48 1F 91 CD */ bl func_80253F04 /* 8005AD3C 0005699C 7F 83 E3 78 */ mr r3, r28 /* 8005AD40 000569A0 7F A4 EB 78 */ mr r4, r29 /* 8005AD44 000569A4 38 C1 00 08 */ addi r6, r1, 8 /* 8005AD48 000569A8 38 A0 00 01 */ li r5, 1 /* 8005AD4C 000569AC 48 1F 91 B9 */ bl func_80253F04 /* 8005AD50 000569B0 C0 02 85 D0 */ lfs f0, lbl_80640BD0-_SDA2_BASE_(r2) /* 8005AD54 000569B4 38 00 00 00 */ li r0, 0 /* 8005AD58 000569B8 38 60 00 FF */ li r3, 0xff /* 8005AD5C 000569BC 98 1D 00 0F */ stb r0, 0xf(r29) /* 8005AD60 000569C0 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 8005AD64 000569C4 98 7D 00 0E */ stb r3, 0xe(r29) /* 8005AD68 000569C8 98 1D 00 10 */ stb r0, 0x10(r29) /* 8005AD6C 000569CC 40 81 00 10 */ ble lbl_8005AD7C /* 8005AD70 000569D0 98 7D 00 0E */ stb r3, 0xe(r29) /* 8005AD74 000569D4 98 7D 00 0F */ stb r3, 0xf(r29) /* 8005AD78 000569D8 98 1D 00 10 */ stb r0, 0x10(r29) lbl_8005AD7C: /* 8005AD7C 000569DC C0 02 85 D4 */ lfs f0, lbl_80640BD4-_SDA2_BASE_(r2) /* 8005AD80 000569E0 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 8005AD84 000569E4 40 81 00 18 */ ble lbl_8005AD9C /* 8005AD88 000569E8 38 60 00 00 */ li r3, 0 /* 8005AD8C 000569EC 38 00 00 FF */ li r0, 0xff /* 8005AD90 000569F0 98 7D 00 0E */ stb r3, 0xe(r29) /* 8005AD94 000569F4 98 1D 00 0F */ stb r0, 0xf(r29) /* 8005AD98 000569F8 98 7D 00 10 */ stb r3, 0x10(r29) lbl_8005AD9C: /* 8005AD9C 000569FC E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0 /* 8005ADA0 00056A00 80 01 00 84 */ lwz r0, 0x84(r1) /* 8005ADA4 00056A04 CB E1 00 70 */ lfd f31, 0x70(r1) /* 8005ADA8 00056A08 83 E1 00 6C */ lwz r31, 0x6c(r1) /* 8005ADAC 00056A0C 83 C1 00 68 */ lwz r30, 0x68(r1) /* 8005ADB0 00056A10 83 A1 00 64 */ lwz r29, 0x64(r1) /* 8005ADB4 00056A14 83 81 00 60 */ lwz r28, 0x60(r1) /* 8005ADB8 00056A18 7C 08 03 A6 */ mtlr r0 /* 8005ADBC 00056A1C 38 21 00 80 */ addi r1, r1, 0x80 /* 8005ADC0 00056A20 4E 80 00 20 */ blr .global func_8005ADC4 func_8005ADC4: /* 8005ADC4 00056A24 70 60 0F 88 */ andi. r0, r3, 0xf88 /* 8005ADC8 00056A28 41 82 00 0C */ beq lbl_8005ADD4 /* 8005ADCC 00056A2C 38 60 00 04 */ li r3, 4 /* 8005ADD0 00056A30 4B FF FC 28 */ b func_8005A9F8 lbl_8005ADD4: /* 8005ADD4 00056A34 54 60 06 73 */ rlwinm. r0, r3, 0, 0x19, 0x19 /* 8005ADD8 00056A38 41 82 00 0C */ beq lbl_8005ADE4 /* 8005ADDC 00056A3C 38 60 00 03 */ li r3, 3 /* 8005ADE0 00056A40 4B FF FC 18 */ b func_8005A9F8 lbl_8005ADE4: /* 8005ADE4 00056A44 54 60 06 B5 */ rlwinm. r0, r3, 0, 0x1a, 0x1a /* 8005ADE8 00056A48 41 82 00 0C */ beq lbl_8005ADF4 /* 8005ADEC 00056A4C 38 60 00 02 */ li r3, 2 /* 8005ADF0 00056A50 4B FF FC 08 */ b func_8005A9F8 lbl_8005ADF4: /* 8005ADF4 00056A54 54 60 06 F7 */ rlwinm. r0, r3, 0, 0x1b, 0x1b /* 8005ADF8 00056A58 41 82 00 0C */ beq lbl_8005AE04 /* 8005ADFC 00056A5C 38 60 00 00 */ li r3, 0 /* 8005AE00 00056A60 4B FF FB F8 */ b func_8005A9F8 lbl_8005AE04: /* 8005AE04 00056A64 54 60 07 7F */ clrlwi. r0, r3, 0x1d /* 8005AE08 00056A68 41 82 00 0C */ beq lbl_8005AE14 /* 8005AE0C 00056A6C 38 60 00 05 */ li r3, 5 /* 8005AE10 00056A70 4B FF FB E8 */ b func_8005A9F8 lbl_8005AE14: /* 8005AE14 00056A74 38 60 00 00 */ li r3, 0 /* 8005AE18 00056A78 4E 80 00 20 */ blr .global func_8005AE1C func_8005AE1C: /* 8005AE1C 00056A7C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8005AE20 00056A80 7C 08 02 A6 */ mflr r0 /* 8005AE24 00056A84 90 01 00 14 */ stw r0, 0x14(r1) /* 8005AE28 00056A88 93 E1 00 0C */ stw r31, 0xc(r1) /* 8005AE2C 00056A8C 7C 7F 1B 78 */ mr r31, r3 /* 8005AE30 00056A90 4B FF BD A5 */ bl func_80056BD4 /* 8005AE34 00056A94 2C 03 00 00 */ cmpwi r3, 0 /* 8005AE38 00056A98 41 82 00 50 */ beq lbl_8005AE88 /* 8005AE3C 00056A9C 7F E3 FB 78 */ mr r3, r31 /* 8005AE40 00056AA0 38 80 00 03 */ li r4, 3 /* 8005AE44 00056AA4 38 A0 00 00 */ li r5, 0 /* 8005AE48 00056AA8 48 38 00 B5 */ bl func_803DAEFC /* 8005AE4C 00056AAC 2C 03 00 00 */ cmpwi r3, 0 /* 8005AE50 00056AB0 41 82 00 10 */ beq lbl_8005AE60 /* 8005AE54 00056AB4 38 60 00 2D */ li r3, 0x2d /* 8005AE58 00056AB8 4B FF FB A1 */ bl func_8005A9F8 /* 8005AE5C 00056ABC 48 00 00 30 */ b lbl_8005AE8C lbl_8005AE60: /* 8005AE60 00056AC0 7F E3 FB 78 */ mr r3, r31 /* 8005AE64 00056AC4 38 80 00 9A */ li r4, 0x9a /* 8005AE68 00056AC8 38 A0 00 00 */ li r5, 0 /* 8005AE6C 00056ACC 48 38 00 91 */ bl func_803DAEFC /* 8005AE70 00056AD0 3C 80 80 41 */ lis r4, lbl_8040B720@ha /* 8005AE74 00056AD4 54 60 10 3A */ slwi r0, r3, 2 /* 8005AE78 00056AD8 38 84 B7 20 */ addi r4, r4, lbl_8040B720@l /* 8005AE7C 00056ADC 7C 64 00 2E */ lwzx r3, r4, r0 /* 8005AE80 00056AE0 4B FF FB 79 */ bl func_8005A9F8 /* 8005AE84 00056AE4 48 00 00 08 */ b lbl_8005AE8C lbl_8005AE88: /* 8005AE88 00056AE8 38 60 00 00 */ li r3, 0 lbl_8005AE8C: /* 8005AE8C 00056AEC 80 01 00 14 */ lwz r0, 0x14(r1) /* 8005AE90 00056AF0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8005AE94 00056AF4 7C 08 03 A6 */ mtlr r0 /* 8005AE98 00056AF8 38 21 00 10 */ addi r1, r1, 0x10 /* 8005AE9C 00056AFC 4E 80 00 20 */ blr .global func_8005AEA0 func_8005AEA0: /* 8005AEA0 00056B00 94 21 FF C0 */ stwu r1, -0x40(r1) /* 8005AEA4 00056B04 7C 08 02 A6 */ mflr r0 /* 8005AEA8 00056B08 2C 07 00 00 */ cmpwi r7, 0 /* 8005AEAC 00056B0C 90 01 00 44 */ stw r0, 0x44(r1) /* 8005AEB0 00056B10 3C 00 43 30 */ lis r0, 0x4330 /* 8005AEB4 00056B14 C0 64 00 00 */ lfs f3, 0(r4) /* 8005AEB8 00056B18 C0 24 00 04 */ lfs f1, 4(r4) /* 8005AEBC 00056B1C C0 84 00 10 */ lfs f4, 0x10(r4) /* 8005AEC0 00056B20 C0 04 00 18 */ lfs f0, 0x18(r4) /* 8005AEC4 00056B24 EC A1 18 28 */ fsubs f5, f1, f3 /* 8005AEC8 00056B28 90 01 00 28 */ stw r0, 0x28(r1) /* 8005AECC 00056B2C EC C0 20 28 */ fsubs f6, f0, f4 /* 8005AED0 00056B30 90 01 00 30 */ stw r0, 0x30(r1) /* 8005AED4 00056B34 41 82 00 30 */ beq lbl_8005AF04 /* 8005AED8 00056B38 90 A1 00 2C */ stw r5, 0x2c(r1) /* 8005AEDC 00056B3C C8 42 85 D8 */ lfd f2, lbl_80640BD8-_SDA2_BASE_(r2) /* 8005AEE0 00056B40 C8 01 00 28 */ lfd f0, 0x28(r1) /* 8005AEE4 00056B44 90 C1 00 34 */ stw r6, 0x34(r1) /* 8005AEE8 00056B48 EC 20 10 28 */ fsubs f1, f0, f2 /* 8005AEEC 00056B4C C8 01 00 30 */ lfd f0, 0x30(r1) /* 8005AEF0 00056B50 EC A5 08 24 */ fdivs f5, f5, f1 /* 8005AEF4 00056B54 EC 00 10 28 */ fsubs f0, f0, f2 /* 8005AEF8 00056B58 EC 05 00 32 */ fmuls f0, f5, f0 /* 8005AEFC 00056B5C EC 63 00 2A */ fadds f3, f3, f0 /* 8005AF00 00056B60 48 00 00 2C */ b lbl_8005AF2C lbl_8005AF04: /* 8005AF04 00056B64 90 A1 00 2C */ stw r5, 0x2c(r1) /* 8005AF08 00056B68 C8 42 85 D8 */ lfd f2, lbl_80640BD8-_SDA2_BASE_(r2) /* 8005AF0C 00056B6C C8 01 00 28 */ lfd f0, 0x28(r1) /* 8005AF10 00056B70 90 C1 00 34 */ stw r6, 0x34(r1) /* 8005AF14 00056B74 EC 20 10 28 */ fsubs f1, f0, f2 /* 8005AF18 00056B78 C8 01 00 30 */ lfd f0, 0x30(r1) /* 8005AF1C 00056B7C EC C6 08 24 */ fdivs f6, f6, f1 /* 8005AF20 00056B80 EC 00 10 28 */ fsubs f0, f0, f2 /* 8005AF24 00056B84 EC 06 00 32 */ fmuls f0, f6, f0 /* 8005AF28 00056B88 EC 84 00 2A */ fadds f4, f4, f0 lbl_8005AF2C: /* 8005AF2C 00056B8C EC 23 28 2A */ fadds f1, f3, f5 /* 8005AF30 00056B90 38 A0 FF 00 */ li r5, -256 /* 8005AF34 00056B94 EC 04 30 2A */ fadds f0, f4, f6 /* 8005AF38 00056B98 D0 61 00 14 */ stfs f3, 0x14(r1) /* 8005AF3C 00056B9C 38 81 00 08 */ addi r4, r1, 8 /* 8005AF40 00056BA0 51 05 06 3E */ rlwimi r5, r8, 0, 0x18, 0x1f /* 8005AF44 00056BA4 D0 61 00 08 */ stfs f3, 8(r1) /* 8005AF48 00056BA8 38 C0 00 00 */ li r6, 0 /* 8005AF4C 00056BAC D0 21 00 10 */ stfs f1, 0x10(r1) /* 8005AF50 00056BB0 D0 21 00 0C */ stfs f1, 0xc(r1) /* 8005AF54 00056BB4 D0 81 00 1C */ stfs f4, 0x1c(r1) /* 8005AF58 00056BB8 D0 81 00 18 */ stfs f4, 0x18(r1) /* 8005AF5C 00056BBC D0 01 00 24 */ stfs f0, 0x24(r1) /* 8005AF60 00056BC0 D0 01 00 20 */ stfs f0, 0x20(r1) /* 8005AF64 00056BC4 48 00 00 15 */ bl func_8005AF78 /* 8005AF68 00056BC8 80 01 00 44 */ lwz r0, 0x44(r1) /* 8005AF6C 00056BCC 7C 08 03 A6 */ mtlr r0 /* 8005AF70 00056BD0 38 21 00 40 */ addi r1, r1, 0x40 /* 8005AF74 00056BD4 4E 80 00 20 */ blr .global func_8005AF78 func_8005AF78: /* 8005AF78 00056BD8 94 21 FF C0 */ stwu r1, -0x40(r1) /* 8005AF7C 00056BDC 7C 08 02 A6 */ mflr r0 /* 8005AF80 00056BE0 2C 03 00 00 */ cmpwi r3, 0 /* 8005AF84 00056BE4 90 01 00 44 */ stw r0, 0x44(r1) /* 8005AF88 00056BE8 93 E1 00 3C */ stw r31, 0x3c(r1) /* 8005AF8C 00056BEC 93 C1 00 38 */ stw r30, 0x38(r1) /* 8005AF90 00056BF0 7C 9E 23 78 */ mr r30, r4 /* 8005AF94 00056BF4 41 82 02 E8 */ beq lbl_8005B27C /* 8005AF98 00056BF8 2C 06 00 00 */ cmpwi r6, 0 /* 8005AF9C 00056BFC 40 82 00 30 */ bne lbl_8005AFCC /* 8005AFA0 00056C00 C0 22 85 C8 */ lfs f1, lbl_80640BC8-_SDA2_BASE_(r2) /* 8005AFA4 00056C04 C0 02 85 CC */ lfs f0, lbl_80640BCC-_SDA2_BASE_(r2) /* 8005AFA8 00056C08 D0 21 00 28 */ stfs f1, 0x28(r1) /* 8005AFAC 00056C0C D0 21 00 10 */ stfs f1, 0x10(r1) /* 8005AFB0 00056C10 D0 01 00 20 */ stfs f0, 0x20(r1) /* 8005AFB4 00056C14 D0 01 00 18 */ stfs f0, 0x18(r1) /* 8005AFB8 00056C18 D0 21 00 1C */ stfs f1, 0x1c(r1) /* 8005AFBC 00056C1C D0 21 00 14 */ stfs f1, 0x14(r1) /* 8005AFC0 00056C20 D0 01 00 2C */ stfs f0, 0x2c(r1) /* 8005AFC4 00056C24 D0 01 00 24 */ stfs f0, 0x24(r1) /* 8005AFC8 00056C28 48 00 00 44 */ b lbl_8005B00C lbl_8005AFCC: /* 8005AFCC 00056C2C C0 E6 00 00 */ lfs f7, 0(r6) /* 8005AFD0 00056C30 C0 C6 00 08 */ lfs f6, 8(r6) /* 8005AFD4 00056C34 C0 A6 00 10 */ lfs f5, 0x10(r6) /* 8005AFD8 00056C38 C0 86 00 18 */ lfs f4, 0x18(r6) /* 8005AFDC 00056C3C C0 66 00 04 */ lfs f3, 4(r6) /* 8005AFE0 00056C40 C0 46 00 0C */ lfs f2, 0xc(r6) /* 8005AFE4 00056C44 C0 26 00 14 */ lfs f1, 0x14(r6) /* 8005AFE8 00056C48 C0 06 00 1C */ lfs f0, 0x1c(r6) /* 8005AFEC 00056C4C D0 E1 00 10 */ stfs f7, 0x10(r1) /* 8005AFF0 00056C50 D0 C1 00 18 */ stfs f6, 0x18(r1) /* 8005AFF4 00056C54 D0 A1 00 20 */ stfs f5, 0x20(r1) /* 8005AFF8 00056C58 D0 81 00 28 */ stfs f4, 0x28(r1) /* 8005AFFC 00056C5C D0 61 00 14 */ stfs f3, 0x14(r1) /* 8005B000 00056C60 D0 41 00 1C */ stfs f2, 0x1c(r1) /* 8005B004 00056C64 D0 21 00 24 */ stfs f1, 0x24(r1) /* 8005B008 00056C68 D0 01 00 2C */ stfs f0, 0x2c(r1) lbl_8005B00C: /* 8005B00C 00056C6C 81 0D A3 D8 */ lwz r8, render_context_ptr-_SDA_BASE_(r13) /* 8005B010 00056C70 54 A0 46 3E */ srwi r0, r5, 0x18 /* 8005B014 00056C74 54 A7 86 3E */ rlwinm r7, r5, 0x10, 0x18, 0x1f /* 8005B018 00056C78 54 A6 C6 3E */ rlwinm r6, r5, 0x18, 0x18, 0x1f /* 8005B01C 00056C7C 80 88 16 38 */ lwz r4, 0x1638(r8) /* 8005B020 00056C80 98 01 00 08 */ stb r0, 8(r1) /* 8005B024 00056C84 80 04 15 3C */ lwz r0, 0x153c(r4) /* 8005B028 00056C88 98 E1 00 09 */ stb r7, 9(r1) /* 8005B02C 00056C8C 7C 00 18 40 */ cmplw r0, r3 /* 8005B030 00056C90 98 C1 00 0A */ stb r6, 0xa(r1) /* 8005B034 00056C94 98 A1 00 0B */ stb r5, 0xb(r1) /* 8005B038 00056C98 40 82 00 14 */ bne lbl_8005B04C /* 8005B03C 00056C9C 88 03 00 07 */ lbz r0, 7(r3) /* 8005B040 00056CA0 54 00 07 FE */ clrlwi r0, r0, 0x1f /* 8005B044 00056CA4 2C 00 00 01 */ cmpwi r0, 1 /* 8005B048 00056CA8 40 82 00 1C */ bne lbl_8005B064 lbl_8005B04C: /* 8005B04C 00056CAC 80 88 16 38 */ lwz r4, 0x1638(r8) /* 8005B050 00056CB0 90 64 15 3C */ stw r3, 0x153c(r4) /* 8005B054 00056CB4 80 68 16 38 */ lwz r3, 0x1638(r8) /* 8005B058 00056CB8 80 03 15 38 */ lwz r0, 0x1538(r3) /* 8005B05C 00056CBC 60 00 00 01 */ ori r0, r0, 1 /* 8005B060 00056CC0 90 03 15 38 */ stw r0, 0x1538(r3) lbl_8005B064: /* 8005B064 00056CC4 80 CD A3 D8 */ lwz r6, render_context_ptr-_SDA_BASE_(r13) /* 8005B068 00056CC8 38 A0 00 02 */ li r5, 2 /* 8005B06C 00056CCC 3B E0 00 01 */ li r31, 1 /* 8005B070 00056CD0 38 80 00 04 */ li r4, 4 /* 8005B074 00056CD4 80 66 16 38 */ lwz r3, 0x1638(r6) /* 8005B078 00056CD8 38 00 00 05 */ li r0, 5 /* 8005B07C 00056CDC 90 A3 01 84 */ stw r5, 0x184(r3) /* 8005B080 00056CE0 80 A6 16 38 */ lwz r5, 0x1638(r6) /* 8005B084 00056CE4 80 65 00 10 */ lwz r3, 0x10(r5) /* 8005B088 00056CE8 60 63 00 02 */ ori r3, r3, 2 /* 8005B08C 00056CEC 90 65 00 10 */ stw r3, 0x10(r5) /* 8005B090 00056CF0 80 A6 16 38 */ lwz r5, 0x1638(r6) /* 8005B094 00056CF4 80 65 00 00 */ lwz r3, 0(r5) /* 8005B098 00056CF8 60 63 00 02 */ ori r3, r3, 2 /* 8005B09C 00056CFC 90 65 00 00 */ stw r3, 0(r5) /* 8005B0A0 00056D00 80 AD A3 D8 */ lwz r5, render_context_ptr-_SDA_BASE_(r13) /* 8005B0A4 00056D04 80 65 16 38 */ lwz r3, 0x1638(r5) /* 8005B0A8 00056D08 93 E3 0A 24 */ stw r31, 0xa24(r3) /* 8005B0AC 00056D0C 80 65 16 38 */ lwz r3, 0x1638(r5) /* 8005B0B0 00056D10 90 83 0A 28 */ stw r4, 0xa28(r3) /* 8005B0B4 00056D14 80 65 16 38 */ lwz r3, 0x1638(r5) /* 8005B0B8 00056D18 90 03 0A 2C */ stw r0, 0xa2c(r3) /* 8005B0BC 00056D1C 80 65 16 38 */ lwz r3, 0x1638(r5) /* 8005B0C0 00056D20 90 03 0A 30 */ stw r0, 0xa30(r3) /* 8005B0C4 00056D24 80 65 16 38 */ lwz r3, 0x1638(r5) /* 8005B0C8 00056D28 80 03 00 64 */ lwz r0, 0x64(r3) /* 8005B0CC 00056D2C 60 00 00 01 */ ori r0, r0, 1 /* 8005B0D0 00056D30 90 03 00 64 */ stw r0, 0x64(r3) /* 8005B0D4 00056D34 80 65 16 38 */ lwz r3, 0x1638(r5) /* 8005B0D8 00056D38 80 03 00 00 */ lwz r0, 0(r3) /* 8005B0DC 00056D3C 60 00 00 40 */ ori r0, r0, 0x40 /* 8005B0E0 00056D40 90 03 00 00 */ stw r0, 0(r3) /* 8005B0E4 00056D44 80 8D 81 F0 */ lwz r4, lbl_8063D4B0-_SDA_BASE_(r13) /* 8005B0E8 00056D48 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 8005B0EC 00056D4C 80 84 00 00 */ lwz r4, 0(r4) /* 8005B0F0 00056D50 48 1D CF CD */ bl func_802380BC /* 8005B0F4 00056D54 81 2D A3 D8 */ lwz r9, render_context_ptr-_SDA_BASE_(r13) /* 8005B0F8 00056D58 39 00 00 00 */ li r8, 0 /* 8005B0FC 00056D5C 38 C0 00 07 */ li r6, 7 /* 8005B100 00056D60 38 A0 00 03 */ li r5, 3 /* 8005B104 00056D64 80 69 16 38 */ lwz r3, 0x1638(r9) /* 8005B108 00056D68 38 00 00 80 */ li r0, 0x80 /* 8005B10C 00056D6C 38 80 00 04 */ li r4, 4 /* 8005B110 00056D70 9B E3 0A 36 */ stb r31, 0xa36(r3) /* 8005B114 00056D74 80 69 16 38 */ lwz r3, 0x1638(r9) /* 8005B118 00056D78 9B E3 0A 37 */ stb r31, 0xa37(r3) /* 8005B11C 00056D7C 80 69 16 38 */ lwz r3, 0x1638(r9) /* 8005B120 00056D80 99 03 0A 38 */ stb r8, 0xa38(r3) /* 8005B124 00056D84 80 E9 16 38 */ lwz r7, 0x1638(r9) /* 8005B128 00056D88 80 67 00 64 */ lwz r3, 0x64(r7) /* 8005B12C 00056D8C 60 63 00 04 */ ori r3, r3, 4 /* 8005B130 00056D90 90 67 00 64 */ stw r3, 0x64(r7) /* 8005B134 00056D94 80 E9 16 38 */ lwz r7, 0x1638(r9) /* 8005B138 00056D98 80 67 00 00 */ lwz r3, 0(r7) /* 8005B13C 00056D9C 60 63 00 40 */ ori r3, r3, 0x40 /* 8005B140 00056DA0 90 67 00 00 */ stw r3, 0(r7) /* 8005B144 00056DA4 80 ED A3 D8 */ lwz r7, render_context_ptr-_SDA_BASE_(r13) /* 8005B148 00056DA8 80 67 16 38 */ lwz r3, 0x1638(r7) /* 8005B14C 00056DAC 90 C3 0A 44 */ stw r6, 0xa44(r3) /* 8005B150 00056DB0 80 67 16 38 */ lwz r3, 0x1638(r7) /* 8005B154 00056DB4 99 03 0A 50 */ stb r8, 0xa50(r3) /* 8005B158 00056DB8 80 67 16 38 */ lwz r3, 0x1638(r7) /* 8005B15C 00056DBC 91 03 0A 48 */ stw r8, 0xa48(r3) /* 8005B160 00056DC0 80 67 16 38 */ lwz r3, 0x1638(r7) /* 8005B164 00056DC4 90 C3 0A 4C */ stw r6, 0xa4c(r3) /* 8005B168 00056DC8 80 67 16 38 */ lwz r3, 0x1638(r7) /* 8005B16C 00056DCC 99 03 0A 51 */ stb r8, 0xa51(r3) /* 8005B170 00056DD0 80 67 16 38 */ lwz r3, 0x1638(r7) /* 8005B174 00056DD4 99 03 0A 52 */ stb r8, 0xa52(r3) /* 8005B178 00056DD8 80 C7 16 38 */ lwz r6, 0x1638(r7) /* 8005B17C 00056DDC 80 66 00 64 */ lwz r3, 0x64(r6) /* 8005B180 00056DE0 60 63 00 10 */ ori r3, r3, 0x10 /* 8005B184 00056DE4 90 66 00 64 */ stw r3, 0x64(r6) /* 8005B188 00056DE8 80 C7 16 38 */ lwz r6, 0x1638(r7) /* 8005B18C 00056DEC 80 66 00 00 */ lwz r3, 0(r6) /* 8005B190 00056DF0 60 63 00 40 */ ori r3, r3, 0x40 /* 8005B194 00056DF4 90 66 00 00 */ stw r3, 0(r6) /* 8005B198 00056DF8 80 CD A3 D8 */ lwz r6, render_context_ptr-_SDA_BASE_(r13) /* 8005B19C 00056DFC 80 66 16 38 */ lwz r3, 0x1638(r6) /* 8005B1A0 00056E00 99 03 0A 3C */ stb r8, 0xa3c(r3) /* 8005B1A4 00056E04 80 66 16 38 */ lwz r3, 0x1638(r6) /* 8005B1A8 00056E08 90 A3 0A 40 */ stw r5, 0xa40(r3) /* 8005B1AC 00056E0C 80 A6 16 38 */ lwz r5, 0x1638(r6) /* 8005B1B0 00056E10 80 65 00 64 */ lwz r3, 0x64(r5) /* 8005B1B4 00056E14 60 63 00 08 */ ori r3, r3, 8 /* 8005B1B8 00056E18 90 65 00 64 */ stw r3, 0x64(r5) /* 8005B1BC 00056E1C 80 A6 16 38 */ lwz r5, 0x1638(r6) /* 8005B1C0 00056E20 80 65 00 00 */ lwz r3, 0(r5) /* 8005B1C4 00056E24 60 63 00 40 */ ori r3, r3, 0x40 /* 8005B1C8 00056E28 90 65 00 00 */ stw r3, 0(r5) /* 8005B1CC 00056E2C 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 8005B1D0 00056E30 90 03 17 38 */ stw r0, 0x1738(r3) /* 8005B1D4 00056E34 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 8005B1D8 00056E38 48 1D 83 55 */ bl begin_drawing /* 8005B1DC 00056E3C C0 3E 00 10 */ lfs f1, 0x10(r30) /* 8005B1E0 00056E40 3C 60 CC 01 */ lis r3, 0xCC008000@ha /* 8005B1E4 00056E44 C0 1E 00 00 */ lfs f0, 0(r30) /* 8005B1E8 00056E48 80 01 00 08 */ lwz r0, 8(r1) /* 8005B1EC 00056E4C D0 03 80 00 */ stfs f0, 0xCC008000@l(r3) /* 8005B1F0 00056E50 C0 01 00 10 */ lfs f0, 0x10(r1) /* 8005B1F4 00056E54 D0 23 80 00 */ stfs f1, -0x8000(r3) /* 8005B1F8 00056E58 C0 21 00 14 */ lfs f1, 0x14(r1) /* 8005B1FC 00056E5C 90 03 80 00 */ stw r0, -0x8000(r3) /* 8005B200 00056E60 C0 41 00 18 */ lfs f2, 0x18(r1) /* 8005B204 00056E64 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 8005B208 00056E68 C0 61 00 1C */ lfs f3, 0x1c(r1) /* 8005B20C 00056E6C D0 23 80 00 */ stfs f1, -0x8000(r3) /* 8005B210 00056E70 C0 81 00 20 */ lfs f4, 0x20(r1) /* 8005B214 00056E74 C0 3E 00 14 */ lfs f1, 0x14(r30) /* 8005B218 00056E78 C0 1E 00 04 */ lfs f0, 4(r30) /* 8005B21C 00056E7C C0 A1 00 24 */ lfs f5, 0x24(r1) /* 8005B220 00056E80 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 8005B224 00056E84 C0 C1 00 28 */ lfs f6, 0x28(r1) /* 8005B228 00056E88 D0 23 80 00 */ stfs f1, -0x8000(r3) /* 8005B22C 00056E8C C0 E1 00 2C */ lfs f7, 0x2c(r1) /* 8005B230 00056E90 90 03 80 00 */ stw r0, -0x8000(r3) /* 8005B234 00056E94 D0 43 80 00 */ stfs f2, -0x8000(r3) /* 8005B238 00056E98 D0 63 80 00 */ stfs f3, -0x8000(r3) /* 8005B23C 00056E9C C0 3E 00 18 */ lfs f1, 0x18(r30) /* 8005B240 00056EA0 C0 1E 00 08 */ lfs f0, 8(r30) /* 8005B244 00056EA4 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 8005B248 00056EA8 D0 23 80 00 */ stfs f1, -0x8000(r3) /* 8005B24C 00056EAC 90 03 80 00 */ stw r0, -0x8000(r3) /* 8005B250 00056EB0 D0 83 80 00 */ stfs f4, -0x8000(r3) /* 8005B254 00056EB4 D0 A3 80 00 */ stfs f5, -0x8000(r3) /* 8005B258 00056EB8 C0 3E 00 1C */ lfs f1, 0x1c(r30) /* 8005B25C 00056EBC C0 1E 00 0C */ lfs f0, 0xc(r30) /* 8005B260 00056EC0 D0 03 80 00 */ stfs f0, -0x8000(r3) /* 8005B264 00056EC4 D0 23 80 00 */ stfs f1, -0x8000(r3) /* 8005B268 00056EC8 90 03 80 00 */ stw r0, -0x8000(r3) /* 8005B26C 00056ECC D0 C3 80 00 */ stfs f6, -0x8000(r3) /* 8005B270 00056ED0 D0 E3 80 00 */ stfs f7, -0x8000(r3) /* 8005B274 00056ED4 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 8005B278 00056ED8 48 1D 83 09 */ bl end_drawing lbl_8005B27C: /* 8005B27C 00056EDC 80 01 00 44 */ lwz r0, 0x44(r1) /* 8005B280 00056EE0 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 8005B284 00056EE4 83 C1 00 38 */ lwz r30, 0x38(r1) /* 8005B288 00056EE8 7C 08 03 A6 */ mtlr r0 /* 8005B28C 00056EEC 38 21 00 40 */ addi r1, r1, 0x40 /* 8005B290 00056EF0 4E 80 00 20 */ blr .global func_8005B294 func_8005B294: /* 8005B294 00056EF4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8005B298 00056EF8 7C 08 02 A6 */ mflr r0 /* 8005B29C 00056EFC 90 01 00 24 */ stw r0, 0x24(r1) /* 8005B2A0 00056F00 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8005B2A4 00056F04 7C BF 2B 78 */ mr r31, r5 /* 8005B2A8 00056F08 93 C1 00 18 */ stw r30, 0x18(r1) /* 8005B2AC 00056F0C 7C 9E 23 78 */ mr r30, r4 /* 8005B2B0 00056F10 93 A1 00 14 */ stw r29, 0x14(r1) /* 8005B2B4 00056F14 7C 7D 1B 78 */ mr r29, r3 /* 8005B2B8 00056F18 7F E3 FB 78 */ mr r3, r31 /* 8005B2BC 00056F1C 4B FF B9 19 */ bl func_80056BD4 /* 8005B2C0 00056F20 2C 03 00 00 */ cmpwi r3, 0 /* 8005B2C4 00056F24 41 82 00 48 */ beq lbl_8005B30C /* 8005B2C8 00056F28 7F E3 FB 78 */ mr r3, r31 /* 8005B2CC 00056F2C 38 80 00 06 */ li r4, 6 /* 8005B2D0 00056F30 38 A0 00 00 */ li r5, 0 /* 8005B2D4 00056F34 48 37 FC 29 */ bl func_803DAEFC /* 8005B2D8 00056F38 2C 03 00 00 */ cmpwi r3, 0 /* 8005B2DC 00056F3C 41 82 00 30 */ beq lbl_8005B30C /* 8005B2E0 00056F40 7F E3 FB 78 */ mr r3, r31 /* 8005B2E4 00056F44 4B FF BB 49 */ bl func_80056E2C /* 8005B2E8 00056F48 2C 03 00 00 */ cmpwi r3, 0 /* 8005B2EC 00056F4C 40 82 00 20 */ bne lbl_8005B30C /* 8005B2F0 00056F50 38 60 00 18 */ li r3, 0x18 /* 8005B2F4 00056F54 4B FF F7 05 */ bl func_8005A9F8 /* 8005B2F8 00056F58 7C 66 1B 78 */ mr r6, r3 /* 8005B2FC 00056F5C 7F A3 EB 78 */ mr r3, r29 /* 8005B300 00056F60 7F C4 F3 78 */ mr r4, r30 /* 8005B304 00056F64 38 A0 00 01 */ li r5, 1 /* 8005B308 00056F68 48 1F 8B AD */ bl func_80253EB4 lbl_8005B30C: /* 8005B30C 00056F6C 80 01 00 24 */ lwz r0, 0x24(r1) /* 8005B310 00056F70 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8005B314 00056F74 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8005B318 00056F78 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8005B31C 00056F7C 7C 08 03 A6 */ mtlr r0 /* 8005B320 00056F80 38 21 00 20 */ addi r1, r1, 0x20 /* 8005B324 00056F84 4E 80 00 20 */ blr .global func_8005B328 func_8005B328: /* 8005B328 00056F88 94 21 FF C0 */ stwu r1, -0x40(r1) /* 8005B32C 00056F8C 7C 08 02 A6 */ mflr r0 /* 8005B330 00056F90 90 01 00 44 */ stw r0, 0x44(r1) /* 8005B334 00056F94 93 E1 00 3C */ stw r31, 0x3c(r1) /* 8005B338 00056F98 7C DF 33 78 */ mr r31, r6 /* 8005B33C 00056F9C 93 C1 00 38 */ stw r30, 0x38(r1) /* 8005B340 00056FA0 7C BE 2B 78 */ mr r30, r5 /* 8005B344 00056FA4 93 A1 00 34 */ stw r29, 0x34(r1) /* 8005B348 00056FA8 7C 9D 23 78 */ mr r29, r4 /* 8005B34C 00056FAC 93 81 00 30 */ stw r28, 0x30(r1) /* 8005B350 00056FB0 7C 7C 1B 78 */ mr r28, r3 /* 8005B354 00056FB4 7F C3 F3 78 */ mr r3, r30 /* 8005B358 00056FB8 4B FF B8 7D */ bl func_80056BD4 /* 8005B35C 00056FBC 2C 03 00 00 */ cmpwi r3, 0 /* 8005B360 00056FC0 41 82 00 3C */ beq lbl_8005B39C /* 8005B364 00056FC4 7F C3 F3 78 */ mr r3, r30 /* 8005B368 00056FC8 7F E4 FB 78 */ mr r4, r31 /* 8005B36C 00056FCC 38 A1 00 08 */ addi r5, r1, 8 /* 8005B370 00056FD0 48 00 17 B5 */ bl func_8005CB24 /* 8005B374 00056FD4 7C 66 1B 78 */ mr r6, r3 /* 8005B378 00056FD8 7F 83 E3 78 */ mr r3, r28 /* 8005B37C 00056FDC 7F A4 EB 78 */ mr r4, r29 /* 8005B380 00056FE0 38 A0 00 02 */ li r5, 2 /* 8005B384 00056FE4 48 1F 8B 81 */ bl func_80253F04 /* 8005B388 00056FE8 7F 83 E3 78 */ mr r3, r28 /* 8005B38C 00056FEC 7F A4 EB 78 */ mr r4, r29 /* 8005B390 00056FF0 38 C1 00 08 */ addi r6, r1, 8 /* 8005B394 00056FF4 38 A0 00 01 */ li r5, 1 /* 8005B398 00056FF8 48 1F 8B 6D */ bl func_80253F04 lbl_8005B39C: /* 8005B39C 00056FFC 80 01 00 44 */ lwz r0, 0x44(r1) /* 8005B3A0 00057000 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 8005B3A4 00057004 83 C1 00 38 */ lwz r30, 0x38(r1) /* 8005B3A8 00057008 83 A1 00 34 */ lwz r29, 0x34(r1) /* 8005B3AC 0005700C 83 81 00 30 */ lwz r28, 0x30(r1) /* 8005B3B0 00057010 7C 08 03 A6 */ mtlr r0 /* 8005B3B4 00057014 38 21 00 40 */ addi r1, r1, 0x40 /* 8005B3B8 00057018 4E 80 00 20 */ blr .global func_8005B3BC func_8005B3BC: /* 8005B3BC 0005701C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8005B3C0 00057020 7C 08 02 A6 */ mflr r0 /* 8005B3C4 00057024 90 01 00 24 */ stw r0, 0x24(r1) /* 8005B3C8 00057028 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8005B3CC 0005702C 7C BF 2B 78 */ mr r31, r5 /* 8005B3D0 00057030 93 C1 00 18 */ stw r30, 0x18(r1) /* 8005B3D4 00057034 7C 9E 23 78 */ mr r30, r4 /* 8005B3D8 00057038 93 A1 00 14 */ stw r29, 0x14(r1) /* 8005B3DC 0005703C 7C 7D 1B 78 */ mr r29, r3 /* 8005B3E0 00057040 7F E3 FB 78 */ mr r3, r31 /* 8005B3E4 00057044 4B FF B8 69 */ bl func_80056C4C /* 8005B3E8 00057048 2C 03 00 00 */ cmpwi r3, 0 /* 8005B3EC 0005704C 41 82 00 7C */ beq lbl_8005B468 /* 8005B3F0 00057050 7F E3 FB 78 */ mr r3, r31 /* 8005B3F4 00057054 38 80 00 A2 */ li r4, 0xa2 /* 8005B3F8 00057058 38 A0 00 00 */ li r5, 0 /* 8005B3FC 0005705C 48 38 25 E1 */ bl func_803DD9DC /* 8005B400 00057060 2C 03 00 00 */ cmpwi r3, 0 /* 8005B404 00057064 40 82 00 24 */ bne lbl_8005B428 /* 8005B408 00057068 38 60 00 01 */ li r3, 1 /* 8005B40C 0005706C 4B FF F5 ED */ bl func_8005A9F8 /* 8005B410 00057070 7C 66 1B 78 */ mr r6, r3 /* 8005B414 00057074 7F A3 EB 78 */ mr r3, r29 /* 8005B418 00057078 7F C4 F3 78 */ mr r4, r30 /* 8005B41C 0005707C 38 A0 00 01 */ li r5, 1 /* 8005B420 00057080 48 1F 8A 95 */ bl func_80253EB4 /* 8005B424 00057084 48 00 00 44 */ b lbl_8005B468 lbl_8005B428: /* 8005B428 00057088 7F E3 FB 78 */ mr r3, r31 /* 8005B42C 0005708C 38 80 00 9F */ li r4, 0x9f /* 8005B430 00057090 38 A0 00 00 */ li r5, 0 /* 8005B434 00057094 48 38 25 A9 */ bl func_803DD9DC /* 8005B438 00057098 2C 03 00 00 */ cmpwi r3, 0 /* 8005B43C 0005709C 41 82 00 2C */ beq lbl_8005B468 /* 8005B440 000570A0 7F E3 FB 78 */ mr r3, r31 /* 8005B444 000570A4 38 80 00 9F */ li r4, 0x9f /* 8005B448 000570A8 38 A0 00 00 */ li r5, 0 /* 8005B44C 000570AC 48 38 25 91 */ bl func_803DD9DC /* 8005B450 000570B0 4B FF F9 75 */ bl func_8005ADC4 /* 8005B454 000570B4 7C 66 1B 78 */ mr r6, r3 /* 8005B458 000570B8 7F A3 EB 78 */ mr r3, r29 /* 8005B45C 000570BC 7F C4 F3 78 */ mr r4, r30 /* 8005B460 000570C0 38 A0 00 01 */ li r5, 1 /* 8005B464 000570C4 48 1F 8A 51 */ bl func_80253EB4 lbl_8005B468: /* 8005B468 000570C8 80 01 00 24 */ lwz r0, 0x24(r1) /* 8005B46C 000570CC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8005B470 000570D0 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8005B474 000570D4 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8005B478 000570D8 7C 08 03 A6 */ mtlr r0 /* 8005B47C 000570DC 38 21 00 20 */ addi r1, r1, 0x20 /* 8005B480 000570E0 4E 80 00 20 */ blr .global func_8005B484 func_8005B484: /* 8005B484 000570E4 38 A0 00 01 */ li r5, 1 /* 8005B488 000570E8 38 6D 98 F0 */ addi r3, r13, lbl_8063EBB0-_SDA_BASE_ /* 8005B48C 000570EC 38 80 00 04 */ li r4, 4 /* 8005B490 000570F0 38 00 00 00 */ li r0, 0 /* 8005B494 000570F4 98 AD 98 F0 */ stb r5, lbl_8063EBB0-_SDA_BASE_(r13) /* 8005B498 000570F8 B0 83 00 02 */ sth r4, 2(r3) /* 8005B49C 000570FC 98 03 00 04 */ stb r0, 4(r3) /* 8005B4A0 00057100 4E 80 00 20 */ blr