.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 lbl_8005B4A4: /* 8005B4A4 00057104 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8005B4A8 00057108 7C 08 02 A6 */ mflr r0 /* 8005B4AC 0005710C 90 01 00 24 */ stw r0, 0x24(r1) /* 8005B4B0 00057110 39 61 00 20 */ addi r11, r1, 0x20 /* 8005B4B4 00057114 48 16 BC 75 */ bl _savegpr_27 /* 8005B4B8 00057118 80 03 00 24 */ lwz r0, 0x24(r3) /* 8005B4BC 0005711C 7C 7B 1B 78 */ mr r27, r3 /* 8005B4C0 00057120 90 83 00 28 */ stw r4, 0x28(r3) /* 8005B4C4 00057124 7C 9C 23 78 */ mr r28, r4 /* 8005B4C8 00057128 2C 00 00 00 */ cmpwi r0, 0 /* 8005B4CC 0005712C 40 82 00 1C */ bne lbl_8005B4E8 /* 8005B4D0 00057130 1C 84 00 28 */ mulli r4, r4, 0x28 /* 8005B4D4 00057134 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13) /* 8005B4D8 00057138 38 04 00 1F */ addi r0, r4, 0x1f /* 8005B4DC 0005713C 54 04 00 34 */ rlwinm r4, r0, 0, 0, 0x1a /* 8005B4E0 00057140 48 17 F7 B5 */ bl func_801DAC94 /* 8005B4E4 00057144 90 7B 00 24 */ stw r3, 0x24(r27) lbl_8005B4E8: /* 8005B4E8 00057148 1C BC 00 28 */ mulli r5, r28, 0x28 /* 8005B4EC 0005714C 80 7B 00 24 */ lwz r3, 0x24(r27) /* 8005B4F0 00057150 38 80 00 00 */ li r4, 0 /* 8005B4F4 00057154 4B FA 8C 11 */ bl memset /* 8005B4F8 00057158 1C 9C 26 80 */ mulli r4, r28, 0x2680 /* 8005B4FC 0005715C 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13) /* 8005B500 00057160 38 A0 00 20 */ li r5, 0x20 /* 8005B504 00057164 48 17 F8 05 */ bl func_801DAD08 /* 8005B508 00057168 7C 7D 1B 78 */ mr r29, r3 /* 8005B50C 0005716C 3B C0 00 00 */ li r30, 0 /* 8005B510 00057170 3B E0 00 00 */ li r31, 0 /* 8005B514 00057174 48 00 00 40 */ b lbl_8005B554 lbl_8005B518: /* 8005B518 00057178 80 1B 00 24 */ lwz r0, 0x24(r27) /* 8005B51C 0005717C 7C 60 FA 14 */ add r3, r0, r31 /* 8005B520 00057180 80 03 00 08 */ lwz r0, 8(r3) /* 8005B524 00057184 2C 00 00 00 */ cmpwi r0, 0 /* 8005B528 00057188 40 82 00 0C */ bne lbl_8005B534 /* 8005B52C 0005718C 93 A3 00 08 */ stw r29, 8(r3) /* 8005B530 00057190 3B BD 26 80 */ addi r29, r29, 0x2680 lbl_8005B534: /* 8005B534 00057194 80 1B 00 24 */ lwz r0, 0x24(r27) /* 8005B538 00057198 38 80 00 00 */ li r4, 0 /* 8005B53C 0005719C 38 A0 26 80 */ li r5, 0x2680 /* 8005B540 000571A0 7C 60 FA 14 */ add r3, r0, r31 /* 8005B544 000571A4 80 63 00 08 */ lwz r3, 8(r3) /* 8005B548 000571A8 4B FA 8B BD */ bl memset /* 8005B54C 000571AC 3B FF 00 28 */ addi r31, r31, 0x28 /* 8005B550 000571B0 3B DE 00 01 */ addi r30, r30, 1 lbl_8005B554: /* 8005B554 000571B4 7C 1E E0 40 */ cmplw r30, r28 /* 8005B558 000571B8 41 80 FF C0 */ blt lbl_8005B518 /* 8005B55C 000571BC 38 7B 00 30 */ addi r3, r27, 0x30 /* 8005B560 000571C0 38 80 00 00 */ li r4, 0 /* 8005B564 000571C4 38 A0 00 44 */ li r5, 0x44 /* 8005B568 000571C8 4B FA 8B 9D */ bl memset /* 8005B56C 000571CC 38 7B 00 74 */ addi r3, r27, 0x74 /* 8005B570 000571D0 38 80 00 00 */ li r4, 0 /* 8005B574 000571D4 38 A0 00 22 */ li r5, 0x22 /* 8005B578 000571D8 4B FA 8B 8D */ bl memset /* 8005B57C 000571DC 3C 60 80 64 */ lis r3, lbl_8063CE34@ha /* 8005B580 000571E0 38 80 00 00 */ li r4, 0 /* 8005B584 000571E4 38 63 CE 34 */ addi r3, r3, lbl_8063CE34@l /* 8005B588 000571E8 B0 9B 00 96 */ sth r4, 0x96(r27) /* 8005B58C 000571EC 38 63 00 04 */ addi r3, r3, 4 /* 8005B590 000571F0 38 00 00 01 */ li r0, 1 /* 8005B594 000571F4 98 9B 00 98 */ stb r4, 0x98(r27) /* 8005B598 000571F8 39 61 00 20 */ addi r11, r1, 0x20 /* 8005B59C 000571FC 90 7B 00 20 */ stw r3, 0x20(r27) /* 8005B5A0 00057200 90 9B 00 2C */ stw r4, 0x2c(r27) /* 8005B5A4 00057204 98 0D 99 06 */ stb r0, lbl_8063EBC6-_SDA_BASE_(r13) /* 8005B5A8 00057208 48 16 BB CD */ bl _restgpr_27 /* 8005B5AC 0005720C 80 01 00 24 */ lwz r0, 0x24(r1) /* 8005B5B0 00057210 7C 08 03 A6 */ mtlr r0 /* 8005B5B4 00057214 38 21 00 20 */ addi r1, r1, 0x20 /* 8005B5B8 00057218 4E 80 00 20 */ blr lbl_8005B5BC: /* 8005B5BC 0005721C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8005B5C0 00057220 7C 08 02 A6 */ mflr r0 /* 8005B5C4 00057224 90 01 00 24 */ stw r0, 0x24(r1) /* 8005B5C8 00057228 39 61 00 20 */ addi r11, r1, 0x20 /* 8005B5CC 0005722C 48 16 BB 5D */ bl _savegpr_27 /* 8005B5D0 00057230 80 03 00 AC */ lwz r0, 0xac(r3) /* 8005B5D4 00057234 7C 7B 1B 78 */ mr r27, r3 /* 8005B5D8 00057238 90 83 00 B0 */ stw r4, 0xb0(r3) /* 8005B5DC 0005723C 7C 9C 23 78 */ mr r28, r4 /* 8005B5E0 00057240 2C 00 00 00 */ cmpwi r0, 0 /* 8005B5E4 00057244 40 82 00 1C */ bne lbl_8005B600 /* 8005B5E8 00057248 1C 84 00 28 */ mulli r4, r4, 0x28 /* 8005B5EC 0005724C 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13) /* 8005B5F0 00057250 38 04 00 1F */ addi r0, r4, 0x1f /* 8005B5F4 00057254 54 04 00 34 */ rlwinm r4, r0, 0, 0, 0x1a /* 8005B5F8 00057258 48 17 F6 9D */ bl func_801DAC94 /* 8005B5FC 0005725C 90 7B 00 AC */ stw r3, 0xac(r27) lbl_8005B600: /* 8005B600 00057260 1C BC 00 28 */ mulli r5, r28, 0x28 /* 8005B604 00057264 80 7B 00 AC */ lwz r3, 0xac(r27) /* 8005B608 00057268 38 80 00 00 */ li r4, 0 /* 8005B60C 0005726C 4B FA 8A F9 */ bl memset /* 8005B610 00057270 1C 9C 31 C0 */ mulli r4, r28, 0x31c0 /* 8005B614 00057274 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13) /* 8005B618 00057278 38 A0 00 20 */ li r5, 0x20 /* 8005B61C 0005727C 48 17 F6 ED */ bl func_801DAD08 /* 8005B620 00057280 7C 7D 1B 78 */ mr r29, r3 /* 8005B624 00057284 3B C0 00 00 */ li r30, 0 /* 8005B628 00057288 3B E0 00 00 */ li r31, 0 /* 8005B62C 0005728C 48 00 00 40 */ b lbl_8005B66C lbl_8005B630: /* 8005B630 00057290 80 1B 00 AC */ lwz r0, 0xac(r27) /* 8005B634 00057294 7C 60 FA 14 */ add r3, r0, r31 /* 8005B638 00057298 80 03 00 08 */ lwz r0, 8(r3) /* 8005B63C 0005729C 2C 00 00 00 */ cmpwi r0, 0 /* 8005B640 000572A0 40 82 00 0C */ bne lbl_8005B64C /* 8005B644 000572A4 93 A3 00 08 */ stw r29, 8(r3) /* 8005B648 000572A8 3B BD 31 C0 */ addi r29, r29, 0x31c0 lbl_8005B64C: /* 8005B64C 000572AC 80 1B 00 AC */ lwz r0, 0xac(r27) /* 8005B650 000572B0 38 80 00 00 */ li r4, 0 /* 8005B654 000572B4 38 A0 31 C0 */ li r5, 0x31c0 /* 8005B658 000572B8 7C 60 FA 14 */ add r3, r0, r31 /* 8005B65C 000572BC 80 63 00 08 */ lwz r3, 8(r3) /* 8005B660 000572C0 4B FA 8A A5 */ bl memset /* 8005B664 000572C4 3B FF 00 28 */ addi r31, r31, 0x28 /* 8005B668 000572C8 3B DE 00 01 */ addi r30, r30, 1 lbl_8005B66C: /* 8005B66C 000572CC 7C 1E E0 40 */ cmplw r30, r28 /* 8005B670 000572D0 41 80 FF C0 */ blt lbl_8005B630 /* 8005B674 000572D4 38 7B 00 B8 */ addi r3, r27, 0xb8 /* 8005B678 000572D8 38 80 00 00 */ li r4, 0 /* 8005B67C 000572DC 38 A0 00 44 */ li r5, 0x44 /* 8005B680 000572E0 4B FA 8A 85 */ bl memset /* 8005B684 000572E4 38 7B 00 FC */ addi r3, r27, 0xfc /* 8005B688 000572E8 38 80 00 00 */ li r4, 0 /* 8005B68C 000572EC 38 A0 00 22 */ li r5, 0x22 /* 8005B690 000572F0 4B FA 8A 75 */ bl memset /* 8005B694 000572F4 3C 60 80 64 */ lis r3, lbl_8063CE34@ha /* 8005B698 000572F8 38 80 00 00 */ li r4, 0 /* 8005B69C 000572FC 38 63 CE 34 */ addi r3, r3, lbl_8063CE34@l /* 8005B6A0 00057300 B0 9B 01 1E */ sth r4, 0x11e(r27) /* 8005B6A4 00057304 38 63 00 4C */ addi r3, r3, 0x4c /* 8005B6A8 00057308 38 00 00 01 */ li r0, 1 /* 8005B6AC 0005730C 98 9B 01 20 */ stb r4, 0x120(r27) /* 8005B6B0 00057310 39 61 00 20 */ addi r11, r1, 0x20 /* 8005B6B4 00057314 90 7B 00 A8 */ stw r3, 0xa8(r27) /* 8005B6B8 00057318 90 9B 00 B4 */ stw r4, 0xb4(r27) /* 8005B6BC 0005731C 98 0D 99 07 */ stb r0, lbl_8063EBC7-_SDA_BASE_(r13) /* 8005B6C0 00057320 48 16 BA B5 */ bl _restgpr_27 /* 8005B6C4 00057324 80 01 00 24 */ lwz r0, 0x24(r1) /* 8005B6C8 00057328 7C 08 03 A6 */ mtlr r0 /* 8005B6CC 0005732C 38 21 00 20 */ addi r1, r1, 0x20 /* 8005B6D0 00057330 4E 80 00 20 */ blr .global func_8005B6D4 func_8005B6D4: /* 8005B6D4 00057334 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8005B6D8 00057338 7C 08 02 A6 */ mflr r0 /* 8005B6DC 0005733C 90 01 00 34 */ stw r0, 0x34(r1) /* 8005B6E0 00057340 39 61 00 30 */ addi r11, r1, 0x30 /* 8005B6E4 00057344 48 16 BA 3D */ bl _savegpr_25 /* 8005B6E8 00057348 2C 04 00 00 */ cmpwi r4, 0 /* 8005B6EC 0005734C 7C 7A 1B 78 */ mr r26, r3 /* 8005B6F0 00057350 7C 9B 23 78 */ mr r27, r4 /* 8005B6F4 00057354 7C BC 2B 78 */ mr r28, r5 /* 8005B6F8 00057358 7C DD 33 78 */ mr r29, r6 /* 8005B6FC 0005735C 3B E0 00 01 */ li r31, 1 /* 8005B700 00057360 41 82 00 0C */ beq lbl_8005B70C /* 8005B704 00057364 28 04 01 EF */ cmplwi r4, 0x1ef /* 8005B708 00057368 40 81 00 0C */ ble lbl_8005B714 lbl_8005B70C: /* 8005B70C 0005736C 38 60 00 01 */ li r3, 1 /* 8005B710 00057370 48 00 02 34 */ b lbl_8005B944 lbl_8005B714: /* 8005B714 00057374 80 63 00 20 */ lwz r3, 0x20(r3) /* 8005B718 00057378 48 33 52 05 */ bl func_8039091C /* 8005B71C 0005737C 3F 20 80 64 */ lis r25, lbl_8063CE34@ha /* 8005B720 00057380 54 64 04 3E */ clrlwi r4, r3, 0x10 /* 8005B724 00057384 3B 39 CE 34 */ addi r25, r25, lbl_8063CE34@l /* 8005B728 00057388 38 79 00 64 */ addi r3, r25, 0x64 /* 8005B72C 0005738C 48 33 CE B5 */ bl func_803985E0 /* 8005B730 00057390 7C 7E 1B 78 */ mr r30, r3 /* 8005B734 00057394 80 7A 00 20 */ lwz r3, 0x20(r26) /* 8005B738 00057398 7F 64 DB 78 */ mr r4, r27 /* 8005B73C 0005739C 48 33 51 E1 */ bl func_8039091C /* 8005B740 000573A0 54 64 04 3E */ clrlwi r4, r3, 0x10 /* 8005B744 000573A4 38 79 00 64 */ addi r3, r25, 0x64 /* 8005B748 000573A8 48 33 CF 01 */ bl func_80398648 /* 8005B74C 000573AC 7C 03 F0 40 */ cmplw r3, r30 /* 8005B750 000573B0 57 9E 82 1E */ rlwinm r30, r28, 0x10, 8, 0xf /* 8005B754 000573B4 53 7E 04 3E */ rlwimi r30, r27, 0, 0x10, 0x1f /* 8005B758 000573B8 40 82 00 08 */ bne lbl_8005B760 /* 8005B75C 000573BC 7F 7E DB 78 */ mr r30, r27 lbl_8005B760: /* 8005B760 000573C0 2C 1B 01 9E */ cmpwi r27, 0x19e /* 8005B764 000573C4 40 80 00 28 */ bge lbl_8005B78C /* 8005B768 000573C8 2C 1B 01 82 */ cmpwi r27, 0x182 /* 8005B76C 000573CC 41 82 00 44 */ beq lbl_8005B7B0 /* 8005B770 000573D0 40 80 00 10 */ bge lbl_8005B780 /* 8005B774 000573D4 2C 1B 00 C9 */ cmpwi r27, 0xc9 /* 8005B778 000573D8 41 82 00 38 */ beq lbl_8005B7B0 /* 8005B77C 000573DC 48 00 00 3C */ b lbl_8005B7B8 lbl_8005B780: /* 8005B780 000573E0 2C 1B 01 9C */ cmpwi r27, 0x19c /* 8005B784 000573E4 40 80 00 2C */ bge lbl_8005B7B0 /* 8005B788 000573E8 48 00 00 30 */ b lbl_8005B7B8 lbl_8005B78C: /* 8005B78C 000573EC 2C 1B 01 ED */ cmpwi r27, 0x1ed /* 8005B790 000573F0 40 80 00 18 */ bge lbl_8005B7A8 /* 8005B794 000573F4 2C 1B 01 A8 */ cmpwi r27, 0x1a8 /* 8005B798 000573F8 40 80 00 20 */ bge lbl_8005B7B8 /* 8005B79C 000573FC 2C 1B 01 A5 */ cmpwi r27, 0x1a5 /* 8005B7A0 00057400 40 80 00 10 */ bge lbl_8005B7B0 /* 8005B7A4 00057404 48 00 00 14 */ b lbl_8005B7B8 lbl_8005B7A8: /* 8005B7A8 00057408 2C 1B 01 EF */ cmpwi r27, 0x1ef /* 8005B7AC 0005740C 40 80 00 0C */ bge lbl_8005B7B8 lbl_8005B7B0: /* 8005B7B0 00057410 57 A0 90 1A */ slwi r0, r29, 0x12 /* 8005B7B4 00057414 7F DE 03 78 */ or r30, r30, r0 lbl_8005B7B8: /* 8005B7B8 00057418 80 BA 00 28 */ lwz r5, 0x28(r26) /* 8005B7BC 0005741C 38 C0 00 00 */ li r6, 0 /* 8005B7C0 00057420 38 60 00 00 */ li r3, 0 /* 8005B7C4 00057424 7C A9 03 A6 */ mtctr r5 /* 8005B7C8 00057428 28 05 00 00 */ cmplwi r5, 0 /* 8005B7CC 0005742C 40 81 00 38 */ ble lbl_8005B804 lbl_8005B7D0: /* 8005B7D0 00057430 80 9A 00 24 */ lwz r4, 0x24(r26) /* 8005B7D4 00057434 7C 04 18 2E */ lwzx r0, r4, r3 /* 8005B7D8 00057438 7C 1E 00 40 */ cmplw r30, r0 /* 8005B7DC 0005743C 40 82 00 1C */ bne lbl_8005B7F8 /* 8005B7E0 00057440 1C 06 00 28 */ mulli r0, r6, 0x28 /* 8005B7E4 00057444 38 A0 00 02 */ li r5, 2 /* 8005B7E8 00057448 38 60 00 00 */ li r3, 0 /* 8005B7EC 0005744C 7C 84 02 14 */ add r4, r4, r0 /* 8005B7F0 00057450 98 A4 00 0E */ stb r5, 0xe(r4) /* 8005B7F4 00057454 48 00 01 50 */ b lbl_8005B944 lbl_8005B7F8: /* 8005B7F8 00057458 38 63 00 28 */ addi r3, r3, 0x28 /* 8005B7FC 0005745C 38 C6 00 01 */ addi r6, r6, 1 /* 8005B800 00057460 42 00 FF D0 */ bdnz lbl_8005B7D0 lbl_8005B804: /* 8005B804 00057464 80 DA 00 2C */ lwz r6, 0x2c(r26) /* 8005B808 00057468 7C 06 28 50 */ subf r0, r6, r5 /* 8005B80C 0005746C 7C C7 33 78 */ mr r7, r6 /* 8005B810 00057470 1C 66 00 28 */ mulli r3, r6, 0x28 /* 8005B814 00057474 7C 09 03 A6 */ mtctr r0 /* 8005B818 00057478 7C 06 28 40 */ cmplw r6, r5 /* 8005B81C 0005747C 40 80 00 38 */ bge lbl_8005B854 lbl_8005B820: /* 8005B820 00057480 80 1A 00 24 */ lwz r0, 0x24(r26) /* 8005B824 00057484 7C 80 1A 14 */ add r4, r0, r3 /* 8005B828 00057488 88 04 00 0E */ lbz r0, 0xe(r4) /* 8005B82C 0005748C 2C 00 00 00 */ cmpwi r0, 0 /* 8005B830 00057490 40 82 00 18 */ bne lbl_8005B848 /* 8005B834 00057494 88 04 00 0D */ lbz r0, 0xd(r4) /* 8005B838 00057498 28 00 00 02 */ cmplwi r0, 2 /* 8005B83C 0005749C 41 82 00 0C */ beq lbl_8005B848 /* 8005B840 000574A0 3B E0 00 00 */ li r31, 0 /* 8005B844 000574A4 48 00 00 10 */ b lbl_8005B854 lbl_8005B848: /* 8005B848 000574A8 38 63 00 28 */ addi r3, r3, 0x28 /* 8005B84C 000574AC 38 E7 00 01 */ addi r7, r7, 1 /* 8005B850 000574B0 42 00 FF D0 */ bdnz lbl_8005B820 lbl_8005B854: /* 8005B854 000574B4 2C 1F 00 00 */ cmpwi r31, 0 /* 8005B858 000574B8 41 82 00 4C */ beq lbl_8005B8A4 /* 8005B85C 000574BC 38 E0 00 00 */ li r7, 0 /* 8005B860 000574C0 38 60 00 00 */ li r3, 0 /* 8005B864 000574C4 7C C9 03 A6 */ mtctr r6 /* 8005B868 000574C8 28 06 00 00 */ cmplwi r6, 0 /* 8005B86C 000574CC 40 81 00 38 */ ble lbl_8005B8A4 lbl_8005B870: /* 8005B870 000574D0 80 1A 00 24 */ lwz r0, 0x24(r26) /* 8005B874 000574D4 7C 80 1A 14 */ add r4, r0, r3 /* 8005B878 000574D8 88 04 00 0E */ lbz r0, 0xe(r4) /* 8005B87C 000574DC 2C 00 00 00 */ cmpwi r0, 0 /* 8005B880 000574E0 40 82 00 18 */ bne lbl_8005B898 /* 8005B884 000574E4 88 04 00 0D */ lbz r0, 0xd(r4) /* 8005B888 000574E8 28 00 00 02 */ cmplwi r0, 2 /* 8005B88C 000574EC 41 82 00 0C */ beq lbl_8005B898 /* 8005B890 000574F0 3B E0 00 00 */ li r31, 0 /* 8005B894 000574F4 48 00 00 10 */ b lbl_8005B8A4 lbl_8005B898: /* 8005B898 000574F8 38 63 00 28 */ addi r3, r3, 0x28 /* 8005B89C 000574FC 38 E7 00 01 */ addi r7, r7, 1 /* 8005B8A0 00057500 42 00 FF D0 */ bdnz lbl_8005B870 lbl_8005B8A4: /* 8005B8A4 00057504 2C 1F 00 00 */ cmpwi r31, 0 /* 8005B8A8 00057508 41 82 00 0C */ beq lbl_8005B8B4 /* 8005B8AC 0005750C 38 60 00 01 */ li r3, 1 /* 8005B8B0 00057510 48 00 00 94 */ b lbl_8005B944 lbl_8005B8B4: /* 8005B8B4 00057514 1F E7 00 28 */ mulli r31, r7, 0x28 /* 8005B8B8 00057518 80 7A 00 24 */ lwz r3, 0x24(r26) /* 8005B8BC 0005751C 7C 03 F8 2E */ lwzx r0, r3, r31 /* 8005B8C0 00057520 2C 00 00 00 */ cmpwi r0, 0 /* 8005B8C4 00057524 41 82 00 10 */ beq lbl_8005B8D4 /* 8005B8C8 00057528 7C 63 FA 14 */ add r3, r3, r31 /* 8005B8CC 0005752C 80 63 00 08 */ lwz r3, 8(r3) /* 8005B8D0 00057530 48 1E 2A 01 */ bl func_8023E2D0 lbl_8005B8D4: /* 8005B8D4 00057534 80 1A 00 24 */ lwz r0, 0x24(r26) /* 8005B8D8 00057538 38 A0 00 01 */ li r5, 1 /* 8005B8DC 0005753C 38 80 00 02 */ li r4, 2 /* 8005B8E0 00057540 7C 60 FA 14 */ add r3, r0, r31 /* 8005B8E4 00057544 B3 63 00 04 */ sth r27, 4(r3) /* 8005B8E8 00057548 80 1A 00 24 */ lwz r0, 0x24(r26) /* 8005B8EC 0005754C 7C 60 FA 14 */ add r3, r0, r31 /* 8005B8F0 00057550 9B 83 00 06 */ stb r28, 6(r3) /* 8005B8F4 00057554 80 7A 00 24 */ lwz r3, 0x24(r26) /* 8005B8F8 00057558 7F C3 F9 2E */ stwx r30, r3, r31 /* 8005B8FC 0005755C 80 1A 00 24 */ lwz r0, 0x24(r26) /* 8005B900 00057560 7C 60 FA 14 */ add r3, r0, r31 /* 8005B904 00057564 98 A3 00 0D */ stb r5, 0xd(r3) /* 8005B908 00057568 80 1A 00 24 */ lwz r0, 0x24(r26) /* 8005B90C 0005756C 7C 60 FA 14 */ add r3, r0, r31 /* 8005B910 00057570 98 83 00 0E */ stb r4, 0xe(r3) /* 8005B914 00057574 80 1A 00 24 */ lwz r0, 0x24(r26) /* 8005B918 00057578 7C 60 FA 14 */ add r3, r0, r31 /* 8005B91C 0005757C B3 A3 00 10 */ sth r29, 0x10(r3) /* 8005B920 00057580 80 7A 00 2C */ lwz r3, 0x2c(r26) /* 8005B924 00057584 80 1A 00 28 */ lwz r0, 0x28(r26) /* 8005B928 00057588 38 63 00 01 */ addi r3, r3, 1 /* 8005B92C 0005758C 7C 03 00 40 */ cmplw r3, r0 /* 8005B930 00057590 90 7A 00 2C */ stw r3, 0x2c(r26) /* 8005B934 00057594 40 82 00 0C */ bne lbl_8005B940 /* 8005B938 00057598 38 00 00 00 */ li r0, 0 /* 8005B93C 0005759C 90 1A 00 2C */ stw r0, 0x2c(r26) lbl_8005B940: /* 8005B940 000575A0 38 60 00 00 */ li r3, 0 lbl_8005B944: /* 8005B944 000575A4 39 61 00 30 */ addi r11, r1, 0x30 /* 8005B948 000575A8 48 16 B8 25 */ bl _restgpr_25 /* 8005B94C 000575AC 80 01 00 34 */ lwz r0, 0x34(r1) /* 8005B950 000575B0 7C 08 03 A6 */ mtlr r0 /* 8005B954 000575B4 38 21 00 30 */ addi r1, r1, 0x30 /* 8005B958 000575B8 4E 80 00 20 */ blr .global func_8005B95C func_8005B95C: /* 8005B95C 000575BC 94 21 FF 90 */ stwu r1, -0x70(r1) /* 8005B960 000575C0 7C 08 02 A6 */ mflr r0 /* 8005B964 000575C4 90 01 00 74 */ stw r0, 0x74(r1) /* 8005B968 000575C8 DB E1 00 60 */ stfd f31, 0x60(r1) /* 8005B96C 000575CC F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0 /* 8005B970 000575D0 DB C1 00 50 */ stfd f30, 0x50(r1) /* 8005B974 000575D4 F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0 /* 8005B978 000575D8 DB A1 00 40 */ stfd f29, 0x40(r1) /* 8005B97C 000575DC F3 A1 00 48 */ psq_st f29, 72(r1), 0, qr0 /* 8005B980 000575E0 DB 81 00 30 */ stfd f28, 0x30(r1) /* 8005B984 000575E4 F3 81 00 38 */ psq_st f28, 56(r1), 0, qr0 /* 8005B988 000575E8 39 61 00 30 */ addi r11, r1, 0x30 /* 8005B98C 000575EC 48 16 B7 8D */ bl _savegpr_23 /* 8005B990 000575F0 2C 04 00 00 */ cmpwi r4, 0 /* 8005B994 000575F4 7C 7B 1B 78 */ mr r27, r3 /* 8005B998 000575F8 7C 97 23 78 */ mr r23, r4 /* 8005B99C 000575FC 7C B8 2B 78 */ mr r24, r5 /* 8005B9A0 00057600 7C DC 33 78 */ mr r28, r6 /* 8005B9A4 00057604 7C FD 3B 78 */ mr r29, r7 /* 8005B9A8 00057608 7D 1E 43 78 */ mr r30, r8 /* 8005B9AC 0005760C 7D 39 4B 78 */ mr r25, r9 /* 8005B9B0 00057610 41 82 00 0C */ beq lbl_8005B9BC /* 8005B9B4 00057614 28 04 01 EF */ cmplwi r4, 0x1ef /* 8005B9B8 00057618 40 81 00 38 */ ble lbl_8005B9F0 lbl_8005B9BC: /* 8005B9BC 0005761C C0 22 85 E0 */ lfs f1, lbl_80640BE0-_SDA2_BASE_(r2) /* 8005B9C0 00057620 38 60 00 29 */ li r3, 0x29 /* 8005B9C4 00057624 C0 02 85 E4 */ lfs f0, lbl_80640BE4-_SDA2_BASE_(r2) /* 8005B9C8 00057628 D0 28 00 0C */ stfs f1, 0xc(r8) /* 8005B9CC 0005762C D0 28 00 04 */ stfs f1, 4(r8) /* 8005B9D0 00057630 D0 28 00 18 */ stfs f1, 0x18(r8) /* 8005B9D4 00057634 D0 28 00 00 */ stfs f1, 0(r8) /* 8005B9D8 00057638 D0 08 00 1C */ stfs f0, 0x1c(r8) /* 8005B9DC 0005763C D0 08 00 14 */ stfs f0, 0x14(r8) /* 8005B9E0 00057640 D0 08 00 10 */ stfs f0, 0x10(r8) /* 8005B9E4 00057644 D0 08 00 08 */ stfs f0, 8(r8) /* 8005B9E8 00057648 4B FF F0 11 */ bl func_8005A9F8 /* 8005B9EC 0005764C 48 00 02 30 */ b lbl_8005BC1C lbl_8005B9F0: /* 8005B9F0 00057650 80 63 00 20 */ lwz r3, 0x20(r3) /* 8005B9F4 00057654 48 33 4F 29 */ bl func_8039091C /* 8005B9F8 00057658 3F 40 80 64 */ lis r26, lbl_8063CE34@ha /* 8005B9FC 0005765C 54 64 04 3E */ clrlwi r4, r3, 0x10 /* 8005BA00 00057660 3B 5A CE 34 */ addi r26, r26, lbl_8063CE34@l /* 8005BA04 00057664 38 7A 00 64 */ addi r3, r26, 0x64 /* 8005BA08 00057668 48 33 CB D9 */ bl func_803985E0 /* 8005BA0C 0005766C 7C 7F 1B 78 */ mr r31, r3 /* 8005BA10 00057670 80 7B 00 20 */ lwz r3, 0x20(r27) /* 8005BA14 00057674 7E E4 BB 78 */ mr r4, r23 /* 8005BA18 00057678 48 33 4F 05 */ bl func_8039091C /* 8005BA1C 0005767C 54 64 04 3E */ clrlwi r4, r3, 0x10 /* 8005BA20 00057680 38 7A 00 64 */ addi r3, r26, 0x64 /* 8005BA24 00057684 48 33 CC 25 */ bl func_80398648 /* 8005BA28 00057688 7C 03 F8 40 */ cmplw r3, r31 /* 8005BA2C 0005768C 57 06 82 1E */ rlwinm r6, r24, 0x10, 8, 0xf /* 8005BA30 00057690 52 E6 04 3E */ rlwimi r6, r23, 0, 0x10, 0x1f /* 8005BA34 00057694 40 82 00 08 */ bne lbl_8005BA3C /* 8005BA38 00057698 7E E6 BB 78 */ mr r6, r23 lbl_8005BA3C: /* 8005BA3C 0005769C 2C 17 01 9E */ cmpwi r23, 0x19e /* 8005BA40 000576A0 40 80 00 28 */ bge lbl_8005BA68 /* 8005BA44 000576A4 2C 17 01 82 */ cmpwi r23, 0x182 /* 8005BA48 000576A8 41 82 00 44 */ beq lbl_8005BA8C /* 8005BA4C 000576AC 40 80 00 10 */ bge lbl_8005BA5C /* 8005BA50 000576B0 2C 17 00 C9 */ cmpwi r23, 0xc9 /* 8005BA54 000576B4 41 82 00 38 */ beq lbl_8005BA8C /* 8005BA58 000576B8 48 00 00 3C */ b lbl_8005BA94 lbl_8005BA5C: /* 8005BA5C 000576BC 2C 17 01 9C */ cmpwi r23, 0x19c /* 8005BA60 000576C0 40 80 00 2C */ bge lbl_8005BA8C /* 8005BA64 000576C4 48 00 00 30 */ b lbl_8005BA94 lbl_8005BA68: /* 8005BA68 000576C8 2C 17 01 ED */ cmpwi r23, 0x1ed /* 8005BA6C 000576CC 40 80 00 18 */ bge lbl_8005BA84 /* 8005BA70 000576D0 2C 17 01 A8 */ cmpwi r23, 0x1a8 /* 8005BA74 000576D4 40 80 00 20 */ bge lbl_8005BA94 /* 8005BA78 000576D8 2C 17 01 A5 */ cmpwi r23, 0x1a5 /* 8005BA7C 000576DC 40 80 00 10 */ bge lbl_8005BA8C /* 8005BA80 000576E0 48 00 00 14 */ b lbl_8005BA94 lbl_8005BA84: /* 8005BA84 000576E4 2C 17 01 EF */ cmpwi r23, 0x1ef /* 8005BA88 000576E8 40 80 00 0C */ bge lbl_8005BA94 lbl_8005BA8C: /* 8005BA8C 000576EC 57 20 90 1A */ slwi r0, r25, 0x12 /* 8005BA90 000576F0 7C C6 03 78 */ or r6, r6, r0 lbl_8005BA94: /* 8005BA94 000576F4 80 1B 00 28 */ lwz r0, 0x28(r27) /* 8005BA98 000576F8 38 A0 00 00 */ li r5, 0 /* 8005BA9C 000576FC 38 60 00 00 */ li r3, 0 /* 8005BAA0 00057700 7C 09 03 A6 */ mtctr r0 /* 8005BAA4 00057704 28 00 00 00 */ cmplwi r0, 0 /* 8005BAA8 00057708 40 81 01 44 */ ble lbl_8005BBEC lbl_8005BAAC: /* 8005BAAC 0005770C 80 9B 00 24 */ lwz r4, 0x24(r27) /* 8005BAB0 00057710 7C 04 18 2E */ lwzx r0, r4, r3 /* 8005BAB4 00057714 7C 06 00 40 */ cmplw r6, r0 /* 8005BAB8 00057718 40 82 01 28 */ bne lbl_8005BBE0 /* 8005BABC 0005771C 1F E5 00 28 */ mulli r31, r5, 0x28 /* 8005BAC0 00057720 7C 64 FA 14 */ add r3, r4, r31 /* 8005BAC4 00057724 88 03 00 0D */ lbz r0, 0xd(r3) /* 8005BAC8 00057728 28 00 00 03 */ cmplwi r0, 3 /* 8005BACC 0005772C 40 82 00 D0 */ bne lbl_8005BB9C /* 8005BAD0 00057730 C3 A2 85 E0 */ lfs f29, lbl_80640BE0-_SDA2_BASE_(r2) /* 8005BAD4 00057734 C3 82 85 E4 */ lfs f28, lbl_80640BE4-_SDA2_BASE_(r2) /* 8005BAD8 00057738 FF E0 E8 90 */ fmr f31, f29 /* 8005BADC 0005773C 80 63 00 08 */ lwz r3, 8(r3) /* 8005BAE0 00057740 FF C0 E0 90 */ fmr f30, f28 /* 8005BAE4 00057744 48 1E 2A 65 */ bl func_8023E548 /* 8005BAE8 00057748 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 8005BAEC 0005774C 28 00 00 30 */ cmplwi r0, 0x30 /* 8005BAF0 00057750 40 81 00 20 */ ble lbl_8005BB10 /* 8005BAF4 00057754 2C 1C 00 00 */ cmpwi r28, 0 /* 8005BAF8 00057758 41 82 00 10 */ beq lbl_8005BB08 /* 8005BAFC 0005775C C3 A2 85 E8 */ lfs f29, lbl_80640BE8-_SDA2_BASE_(r2) /* 8005BB00 00057760 C3 82 85 E4 */ lfs f28, lbl_80640BE4-_SDA2_BASE_(r2) /* 8005BB04 00057764 48 00 00 0C */ b lbl_8005BB10 lbl_8005BB08: /* 8005BB08 00057768 C3 A2 85 E0 */ lfs f29, lbl_80640BE0-_SDA2_BASE_(r2) /* 8005BB0C 0005776C C3 82 85 E8 */ lfs f28, lbl_80640BE8-_SDA2_BASE_(r2) lbl_8005BB10: /* 8005BB10 00057770 80 1B 00 24 */ lwz r0, 0x24(r27) /* 8005BB14 00057774 7C 60 FA 14 */ add r3, r0, r31 /* 8005BB18 00057778 80 63 00 08 */ lwz r3, 8(r3) /* 8005BB1C 0005777C 48 1E 2A 25 */ bl func_8023E540 /* 8005BB20 00057780 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 8005BB24 00057784 28 00 00 30 */ cmplwi r0, 0x30 /* 8005BB28 00057788 40 81 00 24 */ ble lbl_8005BB4C /* 8005BB2C 0005778C 2C 1D 00 00 */ cmpwi r29, 0 /* 8005BB30 00057790 41 82 00 10 */ beq lbl_8005BB40 /* 8005BB34 00057794 C3 E2 85 E8 */ lfs f31, lbl_80640BE8-_SDA2_BASE_(r2) /* 8005BB38 00057798 C3 C2 85 E4 */ lfs f30, lbl_80640BE4-_SDA2_BASE_(r2) /* 8005BB3C 0005779C 48 00 00 20 */ b lbl_8005BB5C lbl_8005BB40: /* 8005BB40 000577A0 C3 E2 85 E0 */ lfs f31, lbl_80640BE0-_SDA2_BASE_(r2) /* 8005BB44 000577A4 C3 C2 85 E8 */ lfs f30, lbl_80640BE8-_SDA2_BASE_(r2) /* 8005BB48 000577A8 48 00 00 14 */ b lbl_8005BB5C lbl_8005BB4C: /* 8005BB4C 000577AC 2C 1D 00 00 */ cmpwi r29, 0 /* 8005BB50 000577B0 41 82 00 0C */ beq lbl_8005BB5C /* 8005BB54 000577B4 C3 E2 85 E4 */ lfs f31, lbl_80640BE4-_SDA2_BASE_(r2) /* 8005BB58 000577B8 C3 C2 85 E0 */ lfs f30, lbl_80640BE0-_SDA2_BASE_(r2) lbl_8005BB5C: /* 8005BB5C 000577BC D3 FE 00 18 */ stfs f31, 0x18(r30) /* 8005BB60 000577C0 38 80 00 02 */ li r4, 2 /* 8005BB64 000577C4 D3 FE 00 00 */ stfs f31, 0(r30) /* 8005BB68 000577C8 D3 DE 00 10 */ stfs f30, 0x10(r30) /* 8005BB6C 000577CC D3 DE 00 08 */ stfs f30, 8(r30) /* 8005BB70 000577D0 D3 BE 00 0C */ stfs f29, 0xc(r30) /* 8005BB74 000577D4 D3 BE 00 04 */ stfs f29, 4(r30) /* 8005BB78 000577D8 D3 9E 00 1C */ stfs f28, 0x1c(r30) /* 8005BB7C 000577DC D3 9E 00 14 */ stfs f28, 0x14(r30) /* 8005BB80 000577E0 80 1B 00 24 */ lwz r0, 0x24(r27) /* 8005BB84 000577E4 7C 60 FA 14 */ add r3, r0, r31 /* 8005BB88 000577E8 98 83 00 0E */ stb r4, 0xe(r3) /* 8005BB8C 000577EC 80 1B 00 24 */ lwz r0, 0x24(r27) /* 8005BB90 000577F0 7C 60 FA 14 */ add r3, r0, r31 /* 8005BB94 000577F4 80 63 00 08 */ lwz r3, 8(r3) /* 8005BB98 000577F8 48 00 00 84 */ b lbl_8005BC1C lbl_8005BB9C: /* 8005BB9C 000577FC C0 22 85 E0 */ lfs f1, lbl_80640BE0-_SDA2_BASE_(r2) /* 8005BBA0 00057800 38 A0 00 02 */ li r5, 2 /* 8005BBA4 00057804 C0 02 85 E4 */ lfs f0, lbl_80640BE4-_SDA2_BASE_(r2) /* 8005BBA8 00057808 38 60 00 29 */ li r3, 0x29 /* 8005BBAC 0005780C D0 3E 00 0C */ stfs f1, 0xc(r30) /* 8005BBB0 00057810 D0 3E 00 04 */ stfs f1, 4(r30) /* 8005BBB4 00057814 D0 3E 00 18 */ stfs f1, 0x18(r30) /* 8005BBB8 00057818 D0 3E 00 00 */ stfs f1, 0(r30) /* 8005BBBC 0005781C D0 1E 00 1C */ stfs f0, 0x1c(r30) /* 8005BBC0 00057820 D0 1E 00 14 */ stfs f0, 0x14(r30) /* 8005BBC4 00057824 D0 1E 00 10 */ stfs f0, 0x10(r30) /* 8005BBC8 00057828 D0 1E 00 08 */ stfs f0, 8(r30) /* 8005BBCC 0005782C 80 1B 00 24 */ lwz r0, 0x24(r27) /* 8005BBD0 00057830 7C 80 FA 14 */ add r4, r0, r31 /* 8005BBD4 00057834 98 A4 00 0E */ stb r5, 0xe(r4) /* 8005BBD8 00057838 4B FF EE 21 */ bl func_8005A9F8 /* 8005BBDC 0005783C 48 00 00 40 */ b lbl_8005BC1C lbl_8005BBE0: /* 8005BBE0 00057840 38 63 00 28 */ addi r3, r3, 0x28 /* 8005BBE4 00057844 38 A5 00 01 */ addi r5, r5, 1 /* 8005BBE8 00057848 42 00 FE C4 */ bdnz lbl_8005BAAC lbl_8005BBEC: /* 8005BBEC 0005784C C0 22 85 E0 */ lfs f1, lbl_80640BE0-_SDA2_BASE_(r2) /* 8005BBF0 00057850 38 60 00 29 */ li r3, 0x29 /* 8005BBF4 00057854 C0 02 85 E4 */ lfs f0, lbl_80640BE4-_SDA2_BASE_(r2) /* 8005BBF8 00057858 D0 3E 00 0C */ stfs f1, 0xc(r30) /* 8005BBFC 0005785C D0 3E 00 04 */ stfs f1, 4(r30) /* 8005BC00 00057860 D0 3E 00 18 */ stfs f1, 0x18(r30) /* 8005BC04 00057864 D0 3E 00 00 */ stfs f1, 0(r30) /* 8005BC08 00057868 D0 1E 00 1C */ stfs f0, 0x1c(r30) /* 8005BC0C 0005786C D0 1E 00 14 */ stfs f0, 0x14(r30) /* 8005BC10 00057870 D0 1E 00 10 */ stfs f0, 0x10(r30) /* 8005BC14 00057874 D0 1E 00 08 */ stfs f0, 8(r30) /* 8005BC18 00057878 4B FF ED E1 */ bl func_8005A9F8 lbl_8005BC1C: /* 8005BC1C 0005787C E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0 /* 8005BC20 00057880 CB E1 00 60 */ lfd f31, 0x60(r1) /* 8005BC24 00057884 E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0 /* 8005BC28 00057888 CB C1 00 50 */ lfd f30, 0x50(r1) /* 8005BC2C 0005788C E3 A1 00 48 */ psq_l f29, 72(r1), 0, qr0 /* 8005BC30 00057890 CB A1 00 40 */ lfd f29, 0x40(r1) /* 8005BC34 00057894 E3 81 00 38 */ psq_l f28, 56(r1), 0, qr0 /* 8005BC38 00057898 39 61 00 30 */ addi r11, r1, 0x30 /* 8005BC3C 0005789C CB 81 00 30 */ lfd f28, 0x30(r1) /* 8005BC40 000578A0 48 16 B5 25 */ bl _restgpr_23 /* 8005BC44 000578A4 80 01 00 74 */ lwz r0, 0x74(r1) /* 8005BC48 000578A8 7C 08 03 A6 */ mtlr r0 /* 8005BC4C 000578AC 38 21 00 70 */ addi r1, r1, 0x70 /* 8005BC50 000578B0 4E 80 00 20 */ blr lbl_8005BC54: /* 8005BC54 000578B4 7C 66 1B 78 */ mr r6, r3 /* 8005BC58 000578B8 38 E0 00 00 */ li r7, 0 /* 8005BC5C 000578BC 38 A0 00 01 */ li r5, 1 /* 8005BC60 000578C0 48 00 00 20 */ b lbl_8005BC80 lbl_8005BC64: /* 8005BC64 000578C4 A0 06 00 74 */ lhz r0, 0x74(r6) /* 8005BC68 000578C8 38 C6 00 02 */ addi r6, r6, 2 /* 8005BC6C 000578CC 80 83 00 24 */ lwz r4, 0x24(r3) /* 8005BC70 000578D0 38 E7 00 01 */ addi r7, r7, 1 /* 8005BC74 000578D4 1C 00 00 28 */ mulli r0, r0, 0x28 /* 8005BC78 000578D8 7C 84 02 14 */ add r4, r4, r0 /* 8005BC7C 000578DC 98 A4 00 0C */ stb r5, 0xc(r4) lbl_8005BC80: /* 8005BC80 000578E0 A0 03 00 96 */ lhz r0, 0x96(r3) /* 8005BC84 000578E4 7C 07 00 40 */ cmplw r7, r0 /* 8005BC88 000578E8 41 80 FF DC */ blt lbl_8005BC64 /* 8005BC8C 000578EC 4E 80 00 20 */ blr lbl_8005BC90: /* 8005BC90 000578F0 3C 60 80 48 */ lis r3, lbl_80478178@ha /* 8005BC94 000578F4 54 A4 04 3E */ clrlwi r4, r5, 0x10 /* 8005BC98 000578F8 38 63 81 78 */ addi r3, r3, lbl_80478178@l /* 8005BC9C 000578FC 4B FF FF B8 */ b lbl_8005BC54 .global func_8005BCA0 func_8005BCA0: /* 8005BCA0 00057900 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8005BCA4 00057904 7C 08 02 A6 */ mflr r0 /* 8005BCA8 00057908 90 01 00 34 */ stw r0, 0x34(r1) /* 8005BCAC 0005790C 39 61 00 30 */ addi r11, r1, 0x30 /* 8005BCB0 00057910 48 16 B4 65 */ bl _savegpr_22 /* 8005BCB4 00057914 88 0D 99 06 */ lbz r0, lbl_8063EBC6-_SDA_BASE_(r13) /* 8005BCB8 00057918 7C 77 1B 78 */ mr r23, r3 /* 8005BCBC 0005791C 3B 40 00 00 */ li r26, 0 /* 8005BCC0 00057920 2C 00 00 00 */ cmpwi r0, 0 /* 8005BCC4 00057924 41 82 03 90 */ beq lbl_8005C054 /* 8005BCC8 00057928 3C 60 80 64 */ lis r3, lbl_8063CE34@ha /* 8005BCCC 0005792C 3B 20 00 00 */ li r25, 0 /* 8005BCD0 00057930 3B 60 00 00 */ li r27, 0 /* 8005BCD4 00057934 3B 80 00 00 */ li r28, 0 /* 8005BCD8 00057938 3B A3 CE 34 */ addi r29, r3, lbl_8063CE34@l /* 8005BCDC 0005793C 3B E0 00 03 */ li r31, 3 /* 8005BCE0 00057940 3B C0 00 02 */ li r30, 2 /* 8005BCE4 00057944 48 00 03 08 */ b lbl_8005BFEC lbl_8005BCE8: /* 8005BCE8 00057948 80 17 00 24 */ lwz r0, 0x24(r23) /* 8005BCEC 0005794C 7C 80 DA 14 */ add r4, r0, r27 /* 8005BCF0 00057950 7C 1B 00 2E */ lwzx r0, r27, r0 /* 8005BCF4 00057954 2C 00 00 00 */ cmpwi r0, 0 /* 8005BCF8 00057958 41 82 02 EC */ beq lbl_8005BFE4 /* 8005BCFC 0005795C 88 64 00 0E */ lbz r3, 0xe(r4) /* 8005BD00 00057960 2C 03 00 00 */ cmpwi r3, 0 /* 8005BD04 00057964 41 82 00 0C */ beq lbl_8005BD10 /* 8005BD08 00057968 38 03 FF FF */ addi r0, r3, -1 /* 8005BD0C 0005796C 98 04 00 0E */ stb r0, 0xe(r4) lbl_8005BD10: /* 8005BD10 00057970 80 17 00 24 */ lwz r0, 0x24(r23) /* 8005BD14 00057974 7C 60 DA 14 */ add r3, r0, r27 /* 8005BD18 00057978 88 03 00 0D */ lbz r0, 0xd(r3) /* 8005BD1C 0005797C 2C 00 00 02 */ cmpwi r0, 2 /* 8005BD20 00057980 41 82 01 88 */ beq lbl_8005BEA8 /* 8005BD24 00057984 40 80 02 C0 */ bge lbl_8005BFE4 /* 8005BD28 00057988 2C 00 00 01 */ cmpwi r0, 1 /* 8005BD2C 0005798C 40 80 00 0C */ bge lbl_8005BD38 /* 8005BD30 00057990 48 00 02 B4 */ b lbl_8005BFE4 /* 8005BD34 00057994 48 00 02 B0 */ b lbl_8005BFE4 lbl_8005BD38: /* 8005BD38 00057998 88 17 00 98 */ lbz r0, 0x98(r23) /* 8005BD3C 0005799C A2 C3 00 04 */ lhz r22, 4(r3) /* 8005BD40 000579A0 2C 00 00 00 */ cmpwi r0, 0 /* 8005BD44 000579A4 A3 03 00 10 */ lhz r24, 0x10(r3) /* 8005BD48 000579A8 40 82 02 9C */ bne lbl_8005BFE4 /* 8005BD4C 000579AC A0 17 00 96 */ lhz r0, 0x96(r23) /* 8005BD50 000579B0 28 00 00 10 */ cmplwi r0, 0x10 /* 8005BD54 000579B4 40 80 02 90 */ bge lbl_8005BFE4 /* 8005BD58 000579B8 80 77 00 20 */ lwz r3, 0x20(r23) /* 8005BD5C 000579BC 7E C4 B3 78 */ mr r4, r22 /* 8005BD60 000579C0 48 33 4B BD */ bl func_8039091C /* 8005BD64 000579C4 80 17 00 24 */ lwz r0, 0x24(r23) /* 8005BD68 000579C8 7C 64 1B 78 */ mr r4, r3 /* 8005BD6C 000579CC 2C 16 01 9E */ cmpwi r22, 0x19e /* 8005BD70 000579D0 7C 60 DA 14 */ add r3, r0, r27 /* 8005BD74 000579D4 9B 83 00 0C */ stb r28, 0xc(r3) /* 8005BD78 000579D8 40 80 00 28 */ bge lbl_8005BDA0 /* 8005BD7C 000579DC 2C 16 01 82 */ cmpwi r22, 0x182 /* 8005BD80 000579E0 41 82 00 44 */ beq lbl_8005BDC4 /* 8005BD84 000579E4 40 80 00 10 */ bge lbl_8005BD94 /* 8005BD88 000579E8 2C 16 00 C9 */ cmpwi r22, 0xc9 /* 8005BD8C 000579EC 41 82 00 38 */ beq lbl_8005BDC4 /* 8005BD90 000579F0 48 00 00 88 */ b lbl_8005BE18 lbl_8005BD94: /* 8005BD94 000579F4 2C 16 01 9C */ cmpwi r22, 0x19c /* 8005BD98 000579F8 40 80 00 2C */ bge lbl_8005BDC4 /* 8005BD9C 000579FC 48 00 00 7C */ b lbl_8005BE18 lbl_8005BDA0: /* 8005BDA0 00057A00 2C 16 01 ED */ cmpwi r22, 0x1ed /* 8005BDA4 00057A04 40 80 00 18 */ bge lbl_8005BDBC /* 8005BDA8 00057A08 2C 16 01 A8 */ cmpwi r22, 0x1a8 /* 8005BDAC 00057A0C 40 80 00 6C */ bge lbl_8005BE18 /* 8005BDB0 00057A10 2C 16 01 A5 */ cmpwi r22, 0x1a5 /* 8005BDB4 00057A14 40 80 00 10 */ bge lbl_8005BDC4 /* 8005BDB8 00057A18 48 00 00 60 */ b lbl_8005BE18 lbl_8005BDBC: /* 8005BDBC 00057A1C 2C 16 01 EF */ cmpwi r22, 0x1ef /* 8005BDC0 00057A20 40 80 00 58 */ bge lbl_8005BE18 lbl_8005BDC4: /* 8005BDC4 00057A24 80 17 00 24 */ lwz r0, 0x24(r23) /* 8005BDC8 00057A28 7C 60 DA 14 */ add r3, r0, r27 /* 8005BDCC 00057A2C 88 03 00 06 */ lbz r0, 6(r3) /* 8005BDD0 00057A30 28 00 00 01 */ cmplwi r0, 1 /* 8005BDD4 00057A34 40 82 00 24 */ bne lbl_8005BDF8 /* 8005BDD8 00057A38 54 80 04 3E */ clrlwi r0, r4, 0x10 /* 8005BDDC 00057A3C 38 7D 00 64 */ addi r3, r29, 0x64 /* 8005BDE0 00057A40 7C 80 C2 14 */ add r4, r0, r24 /* 8005BDE4 00057A44 48 33 C8 65 */ bl func_80398648 /* 8005BDE8 00057A48 80 17 00 24 */ lwz r0, 0x24(r23) /* 8005BDEC 00057A4C 7C 80 DA 14 */ add r4, r0, r27 /* 8005BDF0 00057A50 90 64 00 14 */ stw r3, 0x14(r4) /* 8005BDF4 00057A54 48 00 00 6C */ b lbl_8005BE60 lbl_8005BDF8: /* 8005BDF8 00057A58 54 80 04 3E */ clrlwi r0, r4, 0x10 /* 8005BDFC 00057A5C 38 7D 00 64 */ addi r3, r29, 0x64 /* 8005BE00 00057A60 7C 80 C2 14 */ add r4, r0, r24 /* 8005BE04 00057A64 48 33 C7 DD */ bl func_803985E0 /* 8005BE08 00057A68 80 17 00 24 */ lwz r0, 0x24(r23) /* 8005BE0C 00057A6C 7C 80 DA 14 */ add r4, r0, r27 /* 8005BE10 00057A70 90 64 00 14 */ stw r3, 0x14(r4) /* 8005BE14 00057A74 48 00 00 4C */ b lbl_8005BE60 lbl_8005BE18: /* 8005BE18 00057A78 80 17 00 24 */ lwz r0, 0x24(r23) /* 8005BE1C 00057A7C 7C 60 DA 14 */ add r3, r0, r27 /* 8005BE20 00057A80 88 03 00 06 */ lbz r0, 6(r3) /* 8005BE24 00057A84 28 00 00 01 */ cmplwi r0, 1 /* 8005BE28 00057A88 40 82 00 20 */ bne lbl_8005BE48 /* 8005BE2C 00057A8C 38 7D 00 64 */ addi r3, r29, 0x64 /* 8005BE30 00057A90 54 84 04 3E */ clrlwi r4, r4, 0x10 /* 8005BE34 00057A94 48 33 C8 15 */ bl func_80398648 /* 8005BE38 00057A98 80 17 00 24 */ lwz r0, 0x24(r23) /* 8005BE3C 00057A9C 7C 80 DA 14 */ add r4, r0, r27 /* 8005BE40 00057AA0 90 64 00 14 */ stw r3, 0x14(r4) /* 8005BE44 00057AA4 48 00 00 1C */ b lbl_8005BE60 lbl_8005BE48: /* 8005BE48 00057AA8 38 7D 00 64 */ addi r3, r29, 0x64 /* 8005BE4C 00057AAC 54 84 04 3E */ clrlwi r4, r4, 0x10 /* 8005BE50 00057AB0 48 33 C7 91 */ bl func_803985E0 /* 8005BE54 00057AB4 80 17 00 24 */ lwz r0, 0x24(r23) /* 8005BE58 00057AB8 7C 80 DA 14 */ add r4, r0, r27 /* 8005BE5C 00057ABC 90 64 00 14 */ stw r3, 0x14(r4) lbl_8005BE60: /* 8005BE60 00057AC0 80 77 00 24 */ lwz r3, 0x24(r23) /* 8005BE64 00057AC4 A0 17 00 96 */ lhz r0, 0x96(r23) /* 8005BE68 00057AC8 7C 63 DA 14 */ add r3, r3, r27 /* 8005BE6C 00057ACC 54 00 10 3A */ slwi r0, r0, 2 /* 8005BE70 00057AD0 80 83 00 14 */ lwz r4, 0x14(r3) /* 8005BE74 00057AD4 7C 77 02 14 */ add r3, r23, r0 /* 8005BE78 00057AD8 90 83 00 30 */ stw r4, 0x30(r3) /* 8005BE7C 00057ADC A0 17 00 96 */ lhz r0, 0x96(r23) /* 8005BE80 00057AE0 54 00 08 3C */ slwi r0, r0, 1 /* 8005BE84 00057AE4 7C 77 02 14 */ add r3, r23, r0 /* 8005BE88 00057AE8 B3 23 00 74 */ sth r25, 0x74(r3) /* 8005BE8C 00057AEC A0 77 00 96 */ lhz r3, 0x96(r23) /* 8005BE90 00057AF0 80 17 00 24 */ lwz r0, 0x24(r23) /* 8005BE94 00057AF4 38 63 00 01 */ addi r3, r3, 1 /* 8005BE98 00057AF8 B0 77 00 96 */ sth r3, 0x96(r23) /* 8005BE9C 00057AFC 7C 60 DA 14 */ add r3, r0, r27 /* 8005BEA0 00057B00 9B C3 00 0D */ stb r30, 0xd(r3) /* 8005BEA4 00057B04 48 00 01 40 */ b lbl_8005BFE4 lbl_8005BEA8: /* 8005BEA8 00057B08 88 03 00 0C */ lbz r0, 0xc(r3) /* 8005BEAC 00057B0C 2C 00 00 00 */ cmpwi r0, 0 /* 8005BEB0 00057B10 41 82 01 34 */ beq lbl_8005BFE4 /* 8005BEB4 00057B14 80 83 00 14 */ lwz r4, 0x14(r3) /* 8005BEB8 00057B18 38 60 03 E9 */ li r3, 0x3e9 /* 8005BEBC 00057B1C 48 17 F6 01 */ bl func_801DB4BC /* 8005BEC0 00057B20 88 03 00 07 */ lbz r0, 7(r3) /* 8005BEC4 00057B24 54 00 06 3C */ rlwinm r0, r0, 0, 0x18, 0x1e /* 8005BEC8 00057B28 98 03 00 07 */ stb r0, 7(r3) /* 8005BECC 00057B2C 80 83 00 28 */ lwz r4, 0x28(r3) /* 8005BED0 00057B30 54 80 00 01 */ rlwinm. r0, r4, 0, 0, 0 /* 8005BED4 00057B34 41 82 00 0C */ beq lbl_8005BEE0 /* 8005BED8 00057B38 7C 03 20 50 */ subf r0, r3, r4 /* 8005BEDC 00057B3C 90 03 00 28 */ stw r0, 0x28(r3) lbl_8005BEE0: /* 8005BEE0 00057B40 80 03 00 08 */ lwz r0, 8(r3) /* 8005BEE4 00057B44 2C 00 00 01 */ cmpwi r0, 1 /* 8005BEE8 00057B48 41 81 00 18 */ bgt lbl_8005BF00 /* 8005BEEC 00057B4C 80 83 00 48 */ lwz r4, 0x48(r3) /* 8005BEF0 00057B50 54 80 00 01 */ rlwinm. r0, r4, 0, 0, 0 /* 8005BEF4 00057B54 41 82 00 0C */ beq lbl_8005BF00 /* 8005BEF8 00057B58 7C 03 20 50 */ subf r0, r3, r4 /* 8005BEFC 00057B5C 90 03 00 48 */ stw r0, 0x48(r3) lbl_8005BF00: /* 8005BF00 00057B60 80 17 00 24 */ lwz r0, 0x24(r23) /* 8005BF04 00057B64 7C 64 1B 78 */ mr r4, r3 /* 8005BF08 00057B68 38 A0 26 80 */ li r5, 0x2680 /* 8005BF0C 00057B6C 7C 60 DA 14 */ add r3, r0, r27 /* 8005BF10 00057B70 80 63 00 08 */ lwz r3, 8(r3) /* 8005BF14 00057B74 4B FA 80 ED */ bl memcpy /* 8005BF18 00057B78 80 17 00 24 */ lwz r0, 0x24(r23) /* 8005BF1C 00057B7C 38 60 03 E9 */ li r3, 0x3e9 /* 8005BF20 00057B80 7C 80 DA 14 */ add r4, r0, r27 /* 8005BF24 00057B84 80 84 00 14 */ lwz r4, 0x14(r4) /* 8005BF28 00057B88 48 17 F7 1D */ bl func_801DB644 /* 8005BF2C 00057B8C 80 17 00 24 */ lwz r0, 0x24(r23) /* 8005BF30 00057B90 7C 60 DA 14 */ add r3, r0, r27 /* 8005BF34 00057B94 80 63 00 08 */ lwz r3, 8(r3) /* 8005BF38 00057B98 48 1E 17 95 */ bl func_8023D6CC /* 8005BF3C 00057B9C 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13) /* 8005BF40 00057BA0 7C 78 1B 78 */ mr r24, r3 /* 8005BF44 00057BA4 88 04 00 7A */ lbz r0, 0x7a(r4) /* 8005BF48 00057BA8 2C 00 00 00 */ cmpwi r0, 0 /* 8005BF4C 00057BAC 41 82 00 38 */ beq lbl_8005BF84 /* 8005BF50 00057BB0 2C 03 00 00 */ cmpwi r3, 0 /* 8005BF54 00057BB4 41 82 00 30 */ beq lbl_8005BF84 /* 8005BF58 00057BB8 80 A3 00 1C */ lwz r5, 0x1c(r3) /* 8005BF5C 00057BBC 2C 05 00 02 */ cmpwi r5, 2 /* 8005BF60 00057BC0 40 80 00 08 */ bge lbl_8005BF68 /* 8005BF64 00057BC4 38 A0 00 02 */ li r5, 2 lbl_8005BF68: /* 8005BF68 00057BC8 80 98 00 18 */ lwz r4, 0x18(r24) /* 8005BF6C 00057BCC 7F 03 C3 78 */ mr r3, r24 /* 8005BF70 00057BD0 2C 04 00 02 */ cmpwi r4, 2 /* 8005BF74 00057BD4 40 80 00 08 */ bge lbl_8005BF7C /* 8005BF78 00057BD8 38 80 00 02 */ li r4, 2 lbl_8005BF7C: /* 8005BF7C 00057BDC 80 D8 00 20 */ lwz r6, 0x20(r24) /* 8005BF80 00057BE0 48 1E 24 49 */ bl func_8023E3C8 lbl_8005BF84: /* 8005BF84 00057BE4 7F 03 C3 78 */ mr r3, r24 /* 8005BF88 00057BE8 38 80 26 80 */ li r4, 0x2680 /* 8005BF8C 00057BEC 48 20 E6 C9 */ bl DCFlushRange /* 8005BF90 00057BF0 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 8005BF94 00057BF4 A0 03 16 FE */ lhz r0, 0x16fe(r3) /* 8005BF98 00057BF8 60 00 00 02 */ ori r0, r0, 2 /* 8005BF9C 00057BFC B0 03 16 FE */ sth r0, 0x16fe(r3) /* 8005BFA0 00057C00 80 17 00 24 */ lwz r0, 0x24(r23) /* 8005BFA4 00057C04 7C 60 DA 14 */ add r3, r0, r27 /* 8005BFA8 00057C08 9B E3 00 0D */ stb r31, 0xd(r3) /* 8005BFAC 00057C0C A0 77 00 96 */ lhz r3, 0x96(r23) /* 8005BFB0 00057C10 38 63 FF FF */ addi r3, r3, -1 /* 8005BFB4 00057C14 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 8005BFB8 00057C18 B0 77 00 96 */ sth r3, 0x96(r23) /* 8005BFBC 00057C1C 7C 77 02 14 */ add r3, r23, r0 /* 8005BFC0 00057C20 93 83 00 30 */ stw r28, 0x30(r3) /* 8005BFC4 00057C24 A0 17 00 96 */ lhz r0, 0x96(r23) /* 8005BFC8 00057C28 54 00 08 3C */ slwi r0, r0, 1 /* 8005BFCC 00057C2C 7C 77 02 14 */ add r3, r23, r0 /* 8005BFD0 00057C30 B3 83 00 74 */ sth r28, 0x74(r3) /* 8005BFD4 00057C34 A0 17 00 96 */ lhz r0, 0x96(r23) /* 8005BFD8 00057C38 2C 00 00 00 */ cmpwi r0, 0 /* 8005BFDC 00057C3C 40 82 00 08 */ bne lbl_8005BFE4 /* 8005BFE0 00057C40 3B 40 00 01 */ li r26, 1 lbl_8005BFE4: /* 8005BFE4 00057C44 3B 7B 00 28 */ addi r27, r27, 0x28 /* 8005BFE8 00057C48 3B 39 00 01 */ addi r25, r25, 1 lbl_8005BFEC: /* 8005BFEC 00057C4C 80 17 00 28 */ lwz r0, 0x28(r23) /* 8005BFF0 00057C50 7C 19 00 40 */ cmplw r25, r0 /* 8005BFF4 00057C54 41 80 FC F4 */ blt lbl_8005BCE8 /* 8005BFF8 00057C58 88 17 00 98 */ lbz r0, 0x98(r23) /* 8005BFFC 00057C5C 2C 00 00 00 */ cmpwi r0, 0 /* 8005C000 00057C60 40 82 00 3C */ bne lbl_8005C03C /* 8005C004 00057C64 A0 17 00 96 */ lhz r0, 0x96(r23) /* 8005C008 00057C68 2C 00 00 00 */ cmpwi r0, 0 /* 8005C00C 00057C6C 41 82 00 30 */ beq lbl_8005C03C /* 8005C010 00057C70 38 00 00 01 */ li r0, 1 /* 8005C014 00057C74 38 60 03 E9 */ li r3, 0x3e9 /* 8005C018 00057C78 98 17 00 98 */ stb r0, 0x98(r23) /* 8005C01C 00057C7C 48 1E D9 51 */ bl func_8024996C /* 8005C020 00057C80 3C A0 80 06 */ lis r5, lbl_8005BC90@ha /* 8005C024 00057C84 A0 F7 00 96 */ lhz r7, 0x96(r23) /* 8005C028 00057C88 38 97 00 30 */ addi r4, r23, 0x30 /* 8005C02C 00057C8C 38 60 03 E9 */ li r3, 0x3e9 /* 8005C030 00057C90 38 A5 BC 90 */ addi r5, r5, lbl_8005BC90@l /* 8005C034 00057C94 38 C0 00 00 */ li r6, 0 /* 8005C038 00057C98 48 1E D7 85 */ bl func_802497BC lbl_8005C03C: /* 8005C03C 00057C9C 2C 1A 00 00 */ cmpwi r26, 0 /* 8005C040 00057CA0 41 82 00 14 */ beq lbl_8005C054 /* 8005C044 00057CA4 38 60 03 E9 */ li r3, 0x3e9 /* 8005C048 00057CA8 48 1E D9 25 */ bl func_8024996C /* 8005C04C 00057CAC 38 00 00 00 */ li r0, 0 /* 8005C050 00057CB0 98 17 00 98 */ stb r0, 0x98(r23) lbl_8005C054: /* 8005C054 00057CB4 39 61 00 30 */ addi r11, r1, 0x30 /* 8005C058 00057CB8 48 16 B1 09 */ bl _restgpr_22 /* 8005C05C 00057CBC 80 01 00 34 */ lwz r0, 0x34(r1) /* 8005C060 00057CC0 7C 08 03 A6 */ mtlr r0 /* 8005C064 00057CC4 38 21 00 30 */ addi r1, r1, 0x30 /* 8005C068 00057CC8 4E 80 00 20 */ blr .global func_8005C06C func_8005C06C: /* 8005C06C 00057CCC 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8005C070 00057CD0 7C 08 02 A6 */ mflr r0 /* 8005C074 00057CD4 90 01 00 34 */ stw r0, 0x34(r1) /* 8005C078 00057CD8 39 61 00 30 */ addi r11, r1, 0x30 /* 8005C07C 00057CDC 48 16 B0 A5 */ bl _savegpr_25 /* 8005C080 00057CE0 2C 04 00 00 */ cmpwi r4, 0 /* 8005C084 00057CE4 7C 7A 1B 78 */ mr r26, r3 /* 8005C088 00057CE8 7C 9B 23 78 */ mr r27, r4 /* 8005C08C 00057CEC 7C BC 2B 78 */ mr r28, r5 /* 8005C090 00057CF0 7C DD 33 78 */ mr r29, r6 /* 8005C094 00057CF4 3B E0 00 01 */ li r31, 1 /* 8005C098 00057CF8 41 82 00 0C */ beq lbl_8005C0A4 /* 8005C09C 00057CFC 28 04 01 EF */ cmplwi r4, 0x1ef /* 8005C0A0 00057D00 40 81 00 0C */ ble lbl_8005C0AC lbl_8005C0A4: /* 8005C0A4 00057D04 38 60 00 01 */ li r3, 1 /* 8005C0A8 00057D08 48 00 02 34 */ b lbl_8005C2DC lbl_8005C0AC: /* 8005C0AC 00057D0C 80 63 00 A8 */ lwz r3, 0xa8(r3) /* 8005C0B0 00057D10 48 33 A9 7D */ bl func_80396A2C /* 8005C0B4 00057D14 3F 20 80 64 */ lis r25, lbl_8063CE34@ha /* 8005C0B8 00057D18 54 64 04 3E */ clrlwi r4, r3, 0x10 /* 8005C0BC 00057D1C 3B 39 CE 34 */ addi r25, r25, lbl_8063CE34@l /* 8005C0C0 00057D20 38 79 00 64 */ addi r3, r25, 0x64 /* 8005C0C4 00057D24 48 33 C5 51 */ bl func_80398614 /* 8005C0C8 00057D28 7C 7E 1B 78 */ mr r30, r3 /* 8005C0CC 00057D2C 80 7A 00 A8 */ lwz r3, 0xa8(r26) /* 8005C0D0 00057D30 7F 64 DB 78 */ mr r4, r27 /* 8005C0D4 00057D34 48 33 A9 59 */ bl func_80396A2C /* 8005C0D8 00057D38 54 64 04 3E */ clrlwi r4, r3, 0x10 /* 8005C0DC 00057D3C 38 79 00 64 */ addi r3, r25, 0x64 /* 8005C0E0 00057D40 48 33 C5 9D */ bl func_8039867C /* 8005C0E4 00057D44 7C 03 F0 40 */ cmplw r3, r30 /* 8005C0E8 00057D48 57 9E 82 1E */ rlwinm r30, r28, 0x10, 8, 0xf /* 8005C0EC 00057D4C 53 7E 04 3E */ rlwimi r30, r27, 0, 0x10, 0x1f /* 8005C0F0 00057D50 40 82 00 08 */ bne lbl_8005C0F8 /* 8005C0F4 00057D54 7F 7E DB 78 */ mr r30, r27 lbl_8005C0F8: /* 8005C0F8 00057D58 2C 1B 01 9E */ cmpwi r27, 0x19e /* 8005C0FC 00057D5C 40 80 00 28 */ bge lbl_8005C124 /* 8005C100 00057D60 2C 1B 01 82 */ cmpwi r27, 0x182 /* 8005C104 00057D64 41 82 00 44 */ beq lbl_8005C148 /* 8005C108 00057D68 40 80 00 10 */ bge lbl_8005C118 /* 8005C10C 00057D6C 2C 1B 00 C9 */ cmpwi r27, 0xc9 /* 8005C110 00057D70 41 82 00 38 */ beq lbl_8005C148 /* 8005C114 00057D74 48 00 00 3C */ b lbl_8005C150 lbl_8005C118: /* 8005C118 00057D78 2C 1B 01 9C */ cmpwi r27, 0x19c /* 8005C11C 00057D7C 40 80 00 2C */ bge lbl_8005C148 /* 8005C120 00057D80 48 00 00 30 */ b lbl_8005C150 lbl_8005C124: /* 8005C124 00057D84 2C 1B 01 ED */ cmpwi r27, 0x1ed /* 8005C128 00057D88 40 80 00 18 */ bge lbl_8005C140 /* 8005C12C 00057D8C 2C 1B 01 A8 */ cmpwi r27, 0x1a8 /* 8005C130 00057D90 40 80 00 20 */ bge lbl_8005C150 /* 8005C134 00057D94 2C 1B 01 A5 */ cmpwi r27, 0x1a5 /* 8005C138 00057D98 40 80 00 10 */ bge lbl_8005C148 /* 8005C13C 00057D9C 48 00 00 14 */ b lbl_8005C150 lbl_8005C140: /* 8005C140 00057DA0 2C 1B 01 EF */ cmpwi r27, 0x1ef /* 8005C144 00057DA4 40 80 00 0C */ bge lbl_8005C150 lbl_8005C148: /* 8005C148 00057DA8 57 A0 90 1A */ slwi r0, r29, 0x12 /* 8005C14C 00057DAC 7F DE 03 78 */ or r30, r30, r0 lbl_8005C150: /* 8005C150 00057DB0 80 BA 00 B0 */ lwz r5, 0xb0(r26) /* 8005C154 00057DB4 38 C0 00 00 */ li r6, 0 /* 8005C158 00057DB8 38 60 00 00 */ li r3, 0 /* 8005C15C 00057DBC 7C A9 03 A6 */ mtctr r5 /* 8005C160 00057DC0 28 05 00 00 */ cmplwi r5, 0 /* 8005C164 00057DC4 40 81 00 38 */ ble lbl_8005C19C lbl_8005C168: /* 8005C168 00057DC8 80 9A 00 AC */ lwz r4, 0xac(r26) /* 8005C16C 00057DCC 7C 04 18 2E */ lwzx r0, r4, r3 /* 8005C170 00057DD0 7C 1E 00 40 */ cmplw r30, r0 /* 8005C174 00057DD4 40 82 00 1C */ bne lbl_8005C190 /* 8005C178 00057DD8 1C 06 00 28 */ mulli r0, r6, 0x28 /* 8005C17C 00057DDC 38 A0 00 02 */ li r5, 2 /* 8005C180 00057DE0 38 60 00 00 */ li r3, 0 /* 8005C184 00057DE4 7C 84 02 14 */ add r4, r4, r0 /* 8005C188 00057DE8 98 A4 00 0E */ stb r5, 0xe(r4) /* 8005C18C 00057DEC 48 00 01 50 */ b lbl_8005C2DC lbl_8005C190: /* 8005C190 00057DF0 38 63 00 28 */ addi r3, r3, 0x28 /* 8005C194 00057DF4 38 C6 00 01 */ addi r6, r6, 1 /* 8005C198 00057DF8 42 00 FF D0 */ bdnz lbl_8005C168 lbl_8005C19C: /* 8005C19C 00057DFC 80 DA 00 B4 */ lwz r6, 0xb4(r26) /* 8005C1A0 00057E00 7C 06 28 50 */ subf r0, r6, r5 /* 8005C1A4 00057E04 7C C7 33 78 */ mr r7, r6 /* 8005C1A8 00057E08 1C 66 00 28 */ mulli r3, r6, 0x28 /* 8005C1AC 00057E0C 7C 09 03 A6 */ mtctr r0 /* 8005C1B0 00057E10 7C 06 28 40 */ cmplw r6, r5 /* 8005C1B4 00057E14 40 80 00 38 */ bge lbl_8005C1EC lbl_8005C1B8: /* 8005C1B8 00057E18 80 1A 00 AC */ lwz r0, 0xac(r26) /* 8005C1BC 00057E1C 7C 80 1A 14 */ add r4, r0, r3 /* 8005C1C0 00057E20 88 04 00 0E */ lbz r0, 0xe(r4) /* 8005C1C4 00057E24 2C 00 00 00 */ cmpwi r0, 0 /* 8005C1C8 00057E28 40 82 00 18 */ bne lbl_8005C1E0 /* 8005C1CC 00057E2C 88 04 00 0D */ lbz r0, 0xd(r4) /* 8005C1D0 00057E30 28 00 00 02 */ cmplwi r0, 2 /* 8005C1D4 00057E34 41 82 00 0C */ beq lbl_8005C1E0 /* 8005C1D8 00057E38 3B E0 00 00 */ li r31, 0 /* 8005C1DC 00057E3C 48 00 00 10 */ b lbl_8005C1EC lbl_8005C1E0: /* 8005C1E0 00057E40 38 63 00 28 */ addi r3, r3, 0x28 /* 8005C1E4 00057E44 38 E7 00 01 */ addi r7, r7, 1 /* 8005C1E8 00057E48 42 00 FF D0 */ bdnz lbl_8005C1B8 lbl_8005C1EC: /* 8005C1EC 00057E4C 2C 1F 00 00 */ cmpwi r31, 0 /* 8005C1F0 00057E50 41 82 00 4C */ beq lbl_8005C23C /* 8005C1F4 00057E54 38 E0 00 00 */ li r7, 0 /* 8005C1F8 00057E58 38 60 00 00 */ li r3, 0 /* 8005C1FC 00057E5C 7C C9 03 A6 */ mtctr r6 /* 8005C200 00057E60 28 06 00 00 */ cmplwi r6, 0 /* 8005C204 00057E64 40 81 00 38 */ ble lbl_8005C23C lbl_8005C208: /* 8005C208 00057E68 80 1A 00 AC */ lwz r0, 0xac(r26) /* 8005C20C 00057E6C 7C 80 1A 14 */ add r4, r0, r3 /* 8005C210 00057E70 88 04 00 0E */ lbz r0, 0xe(r4) /* 8005C214 00057E74 2C 00 00 00 */ cmpwi r0, 0 /* 8005C218 00057E78 40 82 00 18 */ bne lbl_8005C230 /* 8005C21C 00057E7C 88 04 00 0D */ lbz r0, 0xd(r4) /* 8005C220 00057E80 28 00 00 02 */ cmplwi r0, 2 /* 8005C224 00057E84 41 82 00 0C */ beq lbl_8005C230 /* 8005C228 00057E88 3B E0 00 00 */ li r31, 0 /* 8005C22C 00057E8C 48 00 00 10 */ b lbl_8005C23C lbl_8005C230: /* 8005C230 00057E90 38 63 00 28 */ addi r3, r3, 0x28 /* 8005C234 00057E94 38 E7 00 01 */ addi r7, r7, 1 /* 8005C238 00057E98 42 00 FF D0 */ bdnz lbl_8005C208 lbl_8005C23C: /* 8005C23C 00057E9C 2C 1F 00 00 */ cmpwi r31, 0 /* 8005C240 00057EA0 41 82 00 0C */ beq lbl_8005C24C /* 8005C244 00057EA4 38 60 00 01 */ li r3, 1 /* 8005C248 00057EA8 48 00 00 94 */ b lbl_8005C2DC lbl_8005C24C: /* 8005C24C 00057EAC 1F E7 00 28 */ mulli r31, r7, 0x28 /* 8005C250 00057EB0 80 7A 00 AC */ lwz r3, 0xac(r26) /* 8005C254 00057EB4 7C 03 F8 2E */ lwzx r0, r3, r31 /* 8005C258 00057EB8 2C 00 00 00 */ cmpwi r0, 0 /* 8005C25C 00057EBC 41 82 00 10 */ beq lbl_8005C26C /* 8005C260 00057EC0 7C 63 FA 14 */ add r3, r3, r31 /* 8005C264 00057EC4 80 63 00 08 */ lwz r3, 8(r3) /* 8005C268 00057EC8 48 1E 20 69 */ bl func_8023E2D0 lbl_8005C26C: /* 8005C26C 00057ECC 80 1A 00 AC */ lwz r0, 0xac(r26) /* 8005C270 00057ED0 38 A0 00 01 */ li r5, 1 /* 8005C274 00057ED4 38 80 00 02 */ li r4, 2 /* 8005C278 00057ED8 7C 60 FA 14 */ add r3, r0, r31 /* 8005C27C 00057EDC B3 63 00 04 */ sth r27, 4(r3) /* 8005C280 00057EE0 80 1A 00 AC */ lwz r0, 0xac(r26) /* 8005C284 00057EE4 7C 60 FA 14 */ add r3, r0, r31 /* 8005C288 00057EE8 9B 83 00 06 */ stb r28, 6(r3) /* 8005C28C 00057EEC 80 7A 00 AC */ lwz r3, 0xac(r26) /* 8005C290 00057EF0 7F C3 F9 2E */ stwx r30, r3, r31 /* 8005C294 00057EF4 80 1A 00 AC */ lwz r0, 0xac(r26) /* 8005C298 00057EF8 7C 60 FA 14 */ add r3, r0, r31 /* 8005C29C 00057EFC 98 A3 00 0D */ stb r5, 0xd(r3) /* 8005C2A0 00057F00 80 1A 00 AC */ lwz r0, 0xac(r26) /* 8005C2A4 00057F04 7C 60 FA 14 */ add r3, r0, r31 /* 8005C2A8 00057F08 98 83 00 0E */ stb r4, 0xe(r3) /* 8005C2AC 00057F0C 80 1A 00 AC */ lwz r0, 0xac(r26) /* 8005C2B0 00057F10 7C 60 FA 14 */ add r3, r0, r31 /* 8005C2B4 00057F14 B3 A3 00 10 */ sth r29, 0x10(r3) /* 8005C2B8 00057F18 80 7A 00 B4 */ lwz r3, 0xb4(r26) /* 8005C2BC 00057F1C 80 1A 00 B0 */ lwz r0, 0xb0(r26) /* 8005C2C0 00057F20 38 63 00 01 */ addi r3, r3, 1 /* 8005C2C4 00057F24 7C 03 00 40 */ cmplw r3, r0 /* 8005C2C8 00057F28 90 7A 00 B4 */ stw r3, 0xb4(r26) /* 8005C2CC 00057F2C 40 82 00 0C */ bne lbl_8005C2D8 /* 8005C2D0 00057F30 38 00 00 00 */ li r0, 0 /* 8005C2D4 00057F34 90 1A 00 B4 */ stw r0, 0xb4(r26) lbl_8005C2D8: /* 8005C2D8 00057F38 38 60 00 00 */ li r3, 0 lbl_8005C2DC: /* 8005C2DC 00057F3C 39 61 00 30 */ addi r11, r1, 0x30 /* 8005C2E0 00057F40 48 16 AE 8D */ bl _restgpr_25 /* 8005C2E4 00057F44 80 01 00 34 */ lwz r0, 0x34(r1) /* 8005C2E8 00057F48 7C 08 03 A6 */ mtlr r0 /* 8005C2EC 00057F4C 38 21 00 30 */ addi r1, r1, 0x30 /* 8005C2F0 00057F50 4E 80 00 20 */ blr .global func_8005C2F4 func_8005C2F4: /* 8005C2F4 00057F54 94 21 FF 90 */ stwu r1, -0x70(r1) /* 8005C2F8 00057F58 7C 08 02 A6 */ mflr r0 /* 8005C2FC 00057F5C 90 01 00 74 */ stw r0, 0x74(r1) /* 8005C300 00057F60 DB E1 00 60 */ stfd f31, 0x60(r1) /* 8005C304 00057F64 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0 /* 8005C308 00057F68 DB C1 00 50 */ stfd f30, 0x50(r1) /* 8005C30C 00057F6C F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0 /* 8005C310 00057F70 DB A1 00 40 */ stfd f29, 0x40(r1) /* 8005C314 00057F74 F3 A1 00 48 */ psq_st f29, 72(r1), 0, qr0 /* 8005C318 00057F78 DB 81 00 30 */ stfd f28, 0x30(r1) /* 8005C31C 00057F7C F3 81 00 38 */ psq_st f28, 56(r1), 0, qr0 /* 8005C320 00057F80 39 61 00 30 */ addi r11, r1, 0x30 /* 8005C324 00057F84 48 16 AD F9 */ bl _savegpr_24 /* 8005C328 00057F88 2C 04 00 00 */ cmpwi r4, 0 /* 8005C32C 00057F8C 7C 7E 1B 78 */ mr r30, r3 /* 8005C330 00057F90 7C 98 23 78 */ mr r24, r4 /* 8005C334 00057F94 7C B9 2B 78 */ mr r25, r5 /* 8005C338 00057F98 7C DA 33 78 */ mr r26, r6 /* 8005C33C 00057F9C 7C FF 3B 78 */ mr r31, r7 /* 8005C340 00057FA0 7D 1B 43 78 */ mr r27, r8 /* 8005C344 00057FA4 41 82 00 0C */ beq lbl_8005C350 /* 8005C348 00057FA8 28 04 01 EF */ cmplwi r4, 0x1ef /* 8005C34C 00057FAC 40 81 00 34 */ ble lbl_8005C380 lbl_8005C350: /* 8005C350 00057FB0 C0 22 85 E0 */ lfs f1, lbl_80640BE0-_SDA2_BASE_(r2) /* 8005C354 00057FB4 38 60 00 00 */ li r3, 0 /* 8005C358 00057FB8 C0 02 85 E4 */ lfs f0, lbl_80640BE4-_SDA2_BASE_(r2) /* 8005C35C 00057FBC D0 27 00 0C */ stfs f1, 0xc(r7) /* 8005C360 00057FC0 D0 27 00 04 */ stfs f1, 4(r7) /* 8005C364 00057FC4 D0 27 00 18 */ stfs f1, 0x18(r7) /* 8005C368 00057FC8 D0 27 00 00 */ stfs f1, 0(r7) /* 8005C36C 00057FCC D0 07 00 1C */ stfs f0, 0x1c(r7) /* 8005C370 00057FD0 D0 07 00 14 */ stfs f0, 0x14(r7) /* 8005C374 00057FD4 D0 07 00 10 */ stfs f0, 0x10(r7) /* 8005C378 00057FD8 D0 07 00 08 */ stfs f0, 8(r7) /* 8005C37C 00057FDC 48 00 01 DC */ b lbl_8005C558 lbl_8005C380: /* 8005C380 00057FE0 80 63 00 A8 */ lwz r3, 0xa8(r3) /* 8005C384 00057FE4 48 33 A6 A9 */ bl func_80396A2C /* 8005C388 00057FE8 3F 80 80 64 */ lis r28, lbl_8063CE34@ha /* 8005C38C 00057FEC 54 64 04 3E */ clrlwi r4, r3, 0x10 /* 8005C390 00057FF0 3B 9C CE 34 */ addi r28, r28, lbl_8063CE34@l /* 8005C394 00057FF4 38 7C 00 64 */ addi r3, r28, 0x64 /* 8005C398 00057FF8 48 33 C2 7D */ bl func_80398614 /* 8005C39C 00057FFC 7C 7D 1B 78 */ mr r29, r3 /* 8005C3A0 00058000 80 7E 00 A8 */ lwz r3, 0xa8(r30) /* 8005C3A4 00058004 7F 04 C3 78 */ mr r4, r24 /* 8005C3A8 00058008 48 33 A6 85 */ bl func_80396A2C /* 8005C3AC 0005800C 54 64 04 3E */ clrlwi r4, r3, 0x10 /* 8005C3B0 00058010 38 7C 00 64 */ addi r3, r28, 0x64 /* 8005C3B4 00058014 48 33 C2 C9 */ bl func_8039867C /* 8005C3B8 00058018 7C 03 E8 40 */ cmplw r3, r29 /* 8005C3BC 0005801C 57 26 82 1E */ rlwinm r6, r25, 0x10, 8, 0xf /* 8005C3C0 00058020 53 06 04 3E */ rlwimi r6, r24, 0, 0x10, 0x1f /* 8005C3C4 00058024 40 82 00 08 */ bne lbl_8005C3CC /* 8005C3C8 00058028 7F 06 C3 78 */ mr r6, r24 lbl_8005C3CC: /* 8005C3CC 0005802C 2C 18 01 9E */ cmpwi r24, 0x19e /* 8005C3D0 00058030 40 80 00 28 */ bge lbl_8005C3F8 /* 8005C3D4 00058034 2C 18 01 82 */ cmpwi r24, 0x182 /* 8005C3D8 00058038 41 82 00 44 */ beq lbl_8005C41C /* 8005C3DC 0005803C 40 80 00 10 */ bge lbl_8005C3EC /* 8005C3E0 00058040 2C 18 00 C9 */ cmpwi r24, 0xc9 /* 8005C3E4 00058044 41 82 00 38 */ beq lbl_8005C41C /* 8005C3E8 00058048 48 00 00 3C */ b lbl_8005C424 lbl_8005C3EC: /* 8005C3EC 0005804C 2C 18 01 9C */ cmpwi r24, 0x19c /* 8005C3F0 00058050 40 80 00 2C */ bge lbl_8005C41C /* 8005C3F4 00058054 48 00 00 30 */ b lbl_8005C424 lbl_8005C3F8: /* 8005C3F8 00058058 2C 18 01 ED */ cmpwi r24, 0x1ed /* 8005C3FC 0005805C 40 80 00 18 */ bge lbl_8005C414 /* 8005C400 00058060 2C 18 01 A8 */ cmpwi r24, 0x1a8 /* 8005C404 00058064 40 80 00 20 */ bge lbl_8005C424 /* 8005C408 00058068 2C 18 01 A5 */ cmpwi r24, 0x1a5 /* 8005C40C 0005806C 40 80 00 10 */ bge lbl_8005C41C /* 8005C410 00058070 48 00 00 14 */ b lbl_8005C424 lbl_8005C414: /* 8005C414 00058074 2C 18 01 EF */ cmpwi r24, 0x1ef /* 8005C418 00058078 40 80 00 0C */ bge lbl_8005C424 lbl_8005C41C: /* 8005C41C 0005807C 57 60 90 1A */ slwi r0, r27, 0x12 /* 8005C420 00058080 7C C6 03 78 */ or r6, r6, r0 lbl_8005C424: /* 8005C424 00058084 80 1E 00 B0 */ lwz r0, 0xb0(r30) /* 8005C428 00058088 38 A0 00 00 */ li r5, 0 /* 8005C42C 0005808C 38 60 00 00 */ li r3, 0 /* 8005C430 00058090 7C 09 03 A6 */ mtctr r0 /* 8005C434 00058094 28 00 00 00 */ cmplwi r0, 0 /* 8005C438 00058098 40 81 00 F4 */ ble lbl_8005C52C lbl_8005C43C: /* 8005C43C 0005809C 80 9E 00 AC */ lwz r4, 0xac(r30) /* 8005C440 000580A0 7C 04 18 2E */ lwzx r0, r4, r3 /* 8005C444 000580A4 7C 06 00 40 */ cmplw r6, r0 /* 8005C448 000580A8 40 82 00 D8 */ bne lbl_8005C520 /* 8005C44C 000580AC 1F 85 00 28 */ mulli r28, r5, 0x28 /* 8005C450 000580B0 7C 64 E2 14 */ add r3, r4, r28 /* 8005C454 000580B4 88 03 00 0D */ lbz r0, 0xd(r3) /* 8005C458 000580B8 28 00 00 03 */ cmplwi r0, 3 /* 8005C45C 000580BC 40 82 00 84 */ bne lbl_8005C4E0 /* 8005C460 000580C0 C3 A2 85 E0 */ lfs f29, lbl_80640BE0-_SDA2_BASE_(r2) /* 8005C464 000580C4 C3 82 85 E4 */ lfs f28, lbl_80640BE4-_SDA2_BASE_(r2) /* 8005C468 000580C8 FF E0 E8 90 */ fmr f31, f29 /* 8005C46C 000580CC 80 63 00 08 */ lwz r3, 8(r3) /* 8005C470 000580D0 FF C0 E0 90 */ fmr f30, f28 /* 8005C474 000580D4 48 1E 20 D5 */ bl func_8023E548 /* 8005C478 000580D8 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 8005C47C 000580DC 28 00 00 36 */ cmplwi r0, 0x36 /* 8005C480 000580E0 40 81 00 20 */ ble lbl_8005C4A0 /* 8005C484 000580E4 2C 1A 00 00 */ cmpwi r26, 0 /* 8005C488 000580E8 41 82 00 10 */ beq lbl_8005C498 /* 8005C48C 000580EC C3 A2 85 E8 */ lfs f29, lbl_80640BE8-_SDA2_BASE_(r2) /* 8005C490 000580F0 C3 82 85 E4 */ lfs f28, lbl_80640BE4-_SDA2_BASE_(r2) /* 8005C494 000580F4 48 00 00 0C */ b lbl_8005C4A0 lbl_8005C498: /* 8005C498 000580F8 C3 A2 85 E0 */ lfs f29, lbl_80640BE0-_SDA2_BASE_(r2) /* 8005C49C 000580FC C3 82 85 E8 */ lfs f28, lbl_80640BE8-_SDA2_BASE_(r2) lbl_8005C4A0: /* 8005C4A0 00058100 D3 FF 00 18 */ stfs f31, 0x18(r31) /* 8005C4A4 00058104 38 80 00 02 */ li r4, 2 /* 8005C4A8 00058108 D3 FF 00 00 */ stfs f31, 0(r31) /* 8005C4AC 0005810C D3 DF 00 10 */ stfs f30, 0x10(r31) /* 8005C4B0 00058110 D3 DF 00 08 */ stfs f30, 8(r31) /* 8005C4B4 00058114 D3 BF 00 0C */ stfs f29, 0xc(r31) /* 8005C4B8 00058118 D3 BF 00 04 */ stfs f29, 4(r31) /* 8005C4BC 0005811C D3 9F 00 1C */ stfs f28, 0x1c(r31) /* 8005C4C0 00058120 D3 9F 00 14 */ stfs f28, 0x14(r31) /* 8005C4C4 00058124 80 1E 00 AC */ lwz r0, 0xac(r30) /* 8005C4C8 00058128 7C 60 E2 14 */ add r3, r0, r28 /* 8005C4CC 0005812C 98 83 00 0E */ stb r4, 0xe(r3) /* 8005C4D0 00058130 80 1E 00 AC */ lwz r0, 0xac(r30) /* 8005C4D4 00058134 7C 60 E2 14 */ add r3, r0, r28 /* 8005C4D8 00058138 80 63 00 08 */ lwz r3, 8(r3) /* 8005C4DC 0005813C 48 00 00 7C */ b lbl_8005C558 lbl_8005C4E0: /* 8005C4E0 00058140 C0 22 85 E0 */ lfs f1, lbl_80640BE0-_SDA2_BASE_(r2) /* 8005C4E4 00058144 38 A0 00 02 */ li r5, 2 /* 8005C4E8 00058148 C0 02 85 E4 */ lfs f0, lbl_80640BE4-_SDA2_BASE_(r2) /* 8005C4EC 0005814C 38 60 00 00 */ li r3, 0 /* 8005C4F0 00058150 D0 3F 00 0C */ stfs f1, 0xc(r31) /* 8005C4F4 00058154 D0 3F 00 04 */ stfs f1, 4(r31) /* 8005C4F8 00058158 D0 3F 00 18 */ stfs f1, 0x18(r31) /* 8005C4FC 0005815C D0 3F 00 00 */ stfs f1, 0(r31) /* 8005C500 00058160 D0 1F 00 1C */ stfs f0, 0x1c(r31) /* 8005C504 00058164 D0 1F 00 14 */ stfs f0, 0x14(r31) /* 8005C508 00058168 D0 1F 00 10 */ stfs f0, 0x10(r31) /* 8005C50C 0005816C D0 1F 00 08 */ stfs f0, 8(r31) /* 8005C510 00058170 80 1E 00 AC */ lwz r0, 0xac(r30) /* 8005C514 00058174 7C 80 E2 14 */ add r4, r0, r28 /* 8005C518 00058178 98 A4 00 0E */ stb r5, 0xe(r4) /* 8005C51C 0005817C 48 00 00 3C */ b lbl_8005C558 lbl_8005C520: /* 8005C520 00058180 38 63 00 28 */ addi r3, r3, 0x28 /* 8005C524 00058184 38 A5 00 01 */ addi r5, r5, 1 /* 8005C528 00058188 42 00 FF 14 */ bdnz lbl_8005C43C lbl_8005C52C: /* 8005C52C 0005818C C0 22 85 E0 */ lfs f1, lbl_80640BE0-_SDA2_BASE_(r2) /* 8005C530 00058190 38 60 00 00 */ li r3, 0 /* 8005C534 00058194 C0 02 85 E4 */ lfs f0, lbl_80640BE4-_SDA2_BASE_(r2) /* 8005C538 00058198 D0 3F 00 0C */ stfs f1, 0xc(r31) /* 8005C53C 0005819C D0 3F 00 04 */ stfs f1, 4(r31) /* 8005C540 000581A0 D0 3F 00 18 */ stfs f1, 0x18(r31) /* 8005C544 000581A4 D0 3F 00 00 */ stfs f1, 0(r31) /* 8005C548 000581A8 D0 1F 00 1C */ stfs f0, 0x1c(r31) /* 8005C54C 000581AC D0 1F 00 14 */ stfs f0, 0x14(r31) /* 8005C550 000581B0 D0 1F 00 10 */ stfs f0, 0x10(r31) /* 8005C554 000581B4 D0 1F 00 08 */ stfs f0, 8(r31) lbl_8005C558: /* 8005C558 000581B8 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0 /* 8005C55C 000581BC CB E1 00 60 */ lfd f31, 0x60(r1) /* 8005C560 000581C0 E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0 /* 8005C564 000581C4 CB C1 00 50 */ lfd f30, 0x50(r1) /* 8005C568 000581C8 E3 A1 00 48 */ psq_l f29, 72(r1), 0, qr0 /* 8005C56C 000581CC CB A1 00 40 */ lfd f29, 0x40(r1) /* 8005C570 000581D0 E3 81 00 38 */ psq_l f28, 56(r1), 0, qr0 /* 8005C574 000581D4 39 61 00 30 */ addi r11, r1, 0x30 /* 8005C578 000581D8 CB 81 00 30 */ lfd f28, 0x30(r1) /* 8005C57C 000581DC 48 16 AB ED */ bl _restgpr_24 /* 8005C580 000581E0 80 01 00 74 */ lwz r0, 0x74(r1) /* 8005C584 000581E4 7C 08 03 A6 */ mtlr r0 /* 8005C588 000581E8 38 21 00 70 */ addi r1, r1, 0x70 /* 8005C58C 000581EC 4E 80 00 20 */ blr lbl_8005C590: /* 8005C590 000581F0 7C 66 1B 78 */ mr r6, r3 /* 8005C594 000581F4 38 E0 00 00 */ li r7, 0 /* 8005C598 000581F8 38 A0 00 01 */ li r5, 1 /* 8005C59C 000581FC 48 00 00 20 */ b lbl_8005C5BC lbl_8005C5A0: /* 8005C5A0 00058200 A0 06 00 FC */ lhz r0, 0xfc(r6) /* 8005C5A4 00058204 38 C6 00 02 */ addi r6, r6, 2 /* 8005C5A8 00058208 80 83 00 AC */ lwz r4, 0xac(r3) /* 8005C5AC 0005820C 38 E7 00 01 */ addi r7, r7, 1 /* 8005C5B0 00058210 1C 00 00 28 */ mulli r0, r0, 0x28 /* 8005C5B4 00058214 7C 84 02 14 */ add r4, r4, r0 /* 8005C5B8 00058218 98 A4 00 0C */ stb r5, 0xc(r4) lbl_8005C5BC: /* 8005C5BC 0005821C A0 03 01 1E */ lhz r0, 0x11e(r3) /* 8005C5C0 00058220 7C 07 00 40 */ cmplw r7, r0 /* 8005C5C4 00058224 41 80 FF DC */ blt lbl_8005C5A0 /* 8005C5C8 00058228 4E 80 00 20 */ blr lbl_8005C5CC: /* 8005C5CC 0005822C 3C 60 80 48 */ lis r3, lbl_80478178@ha /* 8005C5D0 00058230 54 A4 04 3E */ clrlwi r4, r5, 0x10 /* 8005C5D4 00058234 38 63 81 78 */ addi r3, r3, lbl_80478178@l /* 8005C5D8 00058238 4B FF FF B8 */ b lbl_8005C590 .global func_8005C5DC func_8005C5DC: /* 8005C5DC 0005823C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8005C5E0 00058240 7C 08 02 A6 */ mflr r0 /* 8005C5E4 00058244 90 01 00 34 */ stw r0, 0x34(r1) /* 8005C5E8 00058248 39 61 00 30 */ addi r11, r1, 0x30 /* 8005C5EC 0005824C 48 16 AB 29 */ bl _savegpr_22 /* 8005C5F0 00058250 88 0D 99 07 */ lbz r0, lbl_8063EBC7-_SDA_BASE_(r13) /* 8005C5F4 00058254 7C 77 1B 78 */ mr r23, r3 /* 8005C5F8 00058258 3B 40 00 00 */ li r26, 0 /* 8005C5FC 0005825C 2C 00 00 00 */ cmpwi r0, 0 /* 8005C600 00058260 41 82 03 90 */ beq lbl_8005C990 /* 8005C604 00058264 3C 60 80 64 */ lis r3, lbl_8063CE34@ha /* 8005C608 00058268 3B 20 00 00 */ li r25, 0 /* 8005C60C 0005826C 3B 60 00 00 */ li r27, 0 /* 8005C610 00058270 3B 80 00 00 */ li r28, 0 /* 8005C614 00058274 3B A3 CE 34 */ addi r29, r3, lbl_8063CE34@l /* 8005C618 00058278 3B E0 00 03 */ li r31, 3 /* 8005C61C 0005827C 3B C0 00 02 */ li r30, 2 /* 8005C620 00058280 48 00 03 08 */ b lbl_8005C928 lbl_8005C624: /* 8005C624 00058284 80 17 00 AC */ lwz r0, 0xac(r23) /* 8005C628 00058288 7C 80 DA 14 */ add r4, r0, r27 /* 8005C62C 0005828C 7C 1B 00 2E */ lwzx r0, r27, r0 /* 8005C630 00058290 2C 00 00 00 */ cmpwi r0, 0 /* 8005C634 00058294 41 82 02 EC */ beq lbl_8005C920 /* 8005C638 00058298 88 64 00 0E */ lbz r3, 0xe(r4) /* 8005C63C 0005829C 2C 03 00 00 */ cmpwi r3, 0 /* 8005C640 000582A0 41 82 00 0C */ beq lbl_8005C64C /* 8005C644 000582A4 38 03 FF FF */ addi r0, r3, -1 /* 8005C648 000582A8 98 04 00 0E */ stb r0, 0xe(r4) lbl_8005C64C: /* 8005C64C 000582AC 80 17 00 AC */ lwz r0, 0xac(r23) /* 8005C650 000582B0 7C 60 DA 14 */ add r3, r0, r27 /* 8005C654 000582B4 88 03 00 0D */ lbz r0, 0xd(r3) /* 8005C658 000582B8 2C 00 00 02 */ cmpwi r0, 2 /* 8005C65C 000582BC 41 82 01 88 */ beq lbl_8005C7E4 /* 8005C660 000582C0 40 80 02 C0 */ bge lbl_8005C920 /* 8005C664 000582C4 2C 00 00 01 */ cmpwi r0, 1 /* 8005C668 000582C8 40 80 00 0C */ bge lbl_8005C674 /* 8005C66C 000582CC 48 00 02 B4 */ b lbl_8005C920 /* 8005C670 000582D0 48 00 02 B0 */ b lbl_8005C920 lbl_8005C674: /* 8005C674 000582D4 88 17 01 20 */ lbz r0, 0x120(r23) /* 8005C678 000582D8 A2 C3 00 04 */ lhz r22, 4(r3) /* 8005C67C 000582DC 2C 00 00 00 */ cmpwi r0, 0 /* 8005C680 000582E0 A3 03 00 10 */ lhz r24, 0x10(r3) /* 8005C684 000582E4 40 82 02 9C */ bne lbl_8005C920 /* 8005C688 000582E8 A0 17 01 1E */ lhz r0, 0x11e(r23) /* 8005C68C 000582EC 28 00 00 10 */ cmplwi r0, 0x10 /* 8005C690 000582F0 40 80 02 90 */ bge lbl_8005C920 /* 8005C694 000582F4 80 77 00 A8 */ lwz r3, 0xa8(r23) /* 8005C698 000582F8 7E C4 B3 78 */ mr r4, r22 /* 8005C69C 000582FC 48 33 A3 91 */ bl func_80396A2C /* 8005C6A0 00058300 80 17 00 AC */ lwz r0, 0xac(r23) /* 8005C6A4 00058304 7C 64 1B 78 */ mr r4, r3 /* 8005C6A8 00058308 2C 16 01 9E */ cmpwi r22, 0x19e /* 8005C6AC 0005830C 7C 60 DA 14 */ add r3, r0, r27 /* 8005C6B0 00058310 9B 83 00 0C */ stb r28, 0xc(r3) /* 8005C6B4 00058314 40 80 00 28 */ bge lbl_8005C6DC /* 8005C6B8 00058318 2C 16 01 82 */ cmpwi r22, 0x182 /* 8005C6BC 0005831C 41 82 00 44 */ beq lbl_8005C700 /* 8005C6C0 00058320 40 80 00 10 */ bge lbl_8005C6D0 /* 8005C6C4 00058324 2C 16 00 C9 */ cmpwi r22, 0xc9 /* 8005C6C8 00058328 41 82 00 38 */ beq lbl_8005C700 /* 8005C6CC 0005832C 48 00 00 88 */ b lbl_8005C754 lbl_8005C6D0: /* 8005C6D0 00058330 2C 16 01 9C */ cmpwi r22, 0x19c /* 8005C6D4 00058334 40 80 00 2C */ bge lbl_8005C700 /* 8005C6D8 00058338 48 00 00 7C */ b lbl_8005C754 lbl_8005C6DC: /* 8005C6DC 0005833C 2C 16 01 ED */ cmpwi r22, 0x1ed /* 8005C6E0 00058340 40 80 00 18 */ bge lbl_8005C6F8 /* 8005C6E4 00058344 2C 16 01 A8 */ cmpwi r22, 0x1a8 /* 8005C6E8 00058348 40 80 00 6C */ bge lbl_8005C754 /* 8005C6EC 0005834C 2C 16 01 A5 */ cmpwi r22, 0x1a5 /* 8005C6F0 00058350 40 80 00 10 */ bge lbl_8005C700 /* 8005C6F4 00058354 48 00 00 60 */ b lbl_8005C754 lbl_8005C6F8: /* 8005C6F8 00058358 2C 16 01 EF */ cmpwi r22, 0x1ef /* 8005C6FC 0005835C 40 80 00 58 */ bge lbl_8005C754 lbl_8005C700: /* 8005C700 00058360 80 17 00 AC */ lwz r0, 0xac(r23) /* 8005C704 00058364 7C 60 DA 14 */ add r3, r0, r27 /* 8005C708 00058368 88 03 00 06 */ lbz r0, 6(r3) /* 8005C70C 0005836C 28 00 00 01 */ cmplwi r0, 1 /* 8005C710 00058370 40 82 00 24 */ bne lbl_8005C734 /* 8005C714 00058374 54 80 04 3E */ clrlwi r0, r4, 0x10 /* 8005C718 00058378 38 7D 00 64 */ addi r3, r29, 0x64 /* 8005C71C 0005837C 7C 80 C2 14 */ add r4, r0, r24 /* 8005C720 00058380 48 33 BF 5D */ bl func_8039867C /* 8005C724 00058384 80 17 00 AC */ lwz r0, 0xac(r23) /* 8005C728 00058388 7C 80 DA 14 */ add r4, r0, r27 /* 8005C72C 0005838C 90 64 00 14 */ stw r3, 0x14(r4) /* 8005C730 00058390 48 00 00 6C */ b lbl_8005C79C lbl_8005C734: /* 8005C734 00058394 54 80 04 3E */ clrlwi r0, r4, 0x10 /* 8005C738 00058398 38 7D 00 64 */ addi r3, r29, 0x64 /* 8005C73C 0005839C 7C 80 C2 14 */ add r4, r0, r24 /* 8005C740 000583A0 48 33 BE D5 */ bl func_80398614 /* 8005C744 000583A4 80 17 00 AC */ lwz r0, 0xac(r23) /* 8005C748 000583A8 7C 80 DA 14 */ add r4, r0, r27 /* 8005C74C 000583AC 90 64 00 14 */ stw r3, 0x14(r4) /* 8005C750 000583B0 48 00 00 4C */ b lbl_8005C79C lbl_8005C754: /* 8005C754 000583B4 80 17 00 AC */ lwz r0, 0xac(r23) /* 8005C758 000583B8 7C 60 DA 14 */ add r3, r0, r27 /* 8005C75C 000583BC 88 03 00 06 */ lbz r0, 6(r3) /* 8005C760 000583C0 28 00 00 01 */ cmplwi r0, 1 /* 8005C764 000583C4 40 82 00 20 */ bne lbl_8005C784 /* 8005C768 000583C8 38 7D 00 64 */ addi r3, r29, 0x64 /* 8005C76C 000583CC 54 84 04 3E */ clrlwi r4, r4, 0x10 /* 8005C770 000583D0 48 33 BF 0D */ bl func_8039867C /* 8005C774 000583D4 80 17 00 AC */ lwz r0, 0xac(r23) /* 8005C778 000583D8 7C 80 DA 14 */ add r4, r0, r27 /* 8005C77C 000583DC 90 64 00 14 */ stw r3, 0x14(r4) /* 8005C780 000583E0 48 00 00 1C */ b lbl_8005C79C lbl_8005C784: /* 8005C784 000583E4 38 7D 00 64 */ addi r3, r29, 0x64 /* 8005C788 000583E8 54 84 04 3E */ clrlwi r4, r4, 0x10 /* 8005C78C 000583EC 48 33 BE 89 */ bl func_80398614 /* 8005C790 000583F0 80 17 00 AC */ lwz r0, 0xac(r23) /* 8005C794 000583F4 7C 80 DA 14 */ add r4, r0, r27 /* 8005C798 000583F8 90 64 00 14 */ stw r3, 0x14(r4) lbl_8005C79C: /* 8005C79C 000583FC 80 77 00 AC */ lwz r3, 0xac(r23) /* 8005C7A0 00058400 A0 17 01 1E */ lhz r0, 0x11e(r23) /* 8005C7A4 00058404 7C 63 DA 14 */ add r3, r3, r27 /* 8005C7A8 00058408 54 00 10 3A */ slwi r0, r0, 2 /* 8005C7AC 0005840C 80 83 00 14 */ lwz r4, 0x14(r3) /* 8005C7B0 00058410 7C 77 02 14 */ add r3, r23, r0 /* 8005C7B4 00058414 90 83 00 B8 */ stw r4, 0xb8(r3) /* 8005C7B8 00058418 A0 17 01 1E */ lhz r0, 0x11e(r23) /* 8005C7BC 0005841C 54 00 08 3C */ slwi r0, r0, 1 /* 8005C7C0 00058420 7C 77 02 14 */ add r3, r23, r0 /* 8005C7C4 00058424 B3 23 00 FC */ sth r25, 0xfc(r3) /* 8005C7C8 00058428 A0 77 01 1E */ lhz r3, 0x11e(r23) /* 8005C7CC 0005842C 80 17 00 AC */ lwz r0, 0xac(r23) /* 8005C7D0 00058430 38 63 00 01 */ addi r3, r3, 1 /* 8005C7D4 00058434 B0 77 01 1E */ sth r3, 0x11e(r23) /* 8005C7D8 00058438 7C 60 DA 14 */ add r3, r0, r27 /* 8005C7DC 0005843C 9B C3 00 0D */ stb r30, 0xd(r3) /* 8005C7E0 00058440 48 00 01 40 */ b lbl_8005C920 lbl_8005C7E4: /* 8005C7E4 00058444 88 03 00 0C */ lbz r0, 0xc(r3) /* 8005C7E8 00058448 2C 00 00 00 */ cmpwi r0, 0 /* 8005C7EC 0005844C 41 82 01 34 */ beq lbl_8005C920 /* 8005C7F0 00058450 80 83 00 14 */ lwz r4, 0x14(r3) /* 8005C7F4 00058454 38 60 03 EE */ li r3, 0x3ee /* 8005C7F8 00058458 48 17 EC C5 */ bl func_801DB4BC /* 8005C7FC 0005845C 88 03 00 07 */ lbz r0, 7(r3) /* 8005C800 00058460 54 00 06 3C */ rlwinm r0, r0, 0, 0x18, 0x1e /* 8005C804 00058464 98 03 00 07 */ stb r0, 7(r3) /* 8005C808 00058468 80 83 00 28 */ lwz r4, 0x28(r3) /* 8005C80C 0005846C 54 80 00 01 */ rlwinm. r0, r4, 0, 0, 0 /* 8005C810 00058470 41 82 00 0C */ beq lbl_8005C81C /* 8005C814 00058474 7C 03 20 50 */ subf r0, r3, r4 /* 8005C818 00058478 90 03 00 28 */ stw r0, 0x28(r3) lbl_8005C81C: /* 8005C81C 0005847C 80 03 00 08 */ lwz r0, 8(r3) /* 8005C820 00058480 2C 00 00 01 */ cmpwi r0, 1 /* 8005C824 00058484 41 81 00 18 */ bgt lbl_8005C83C /* 8005C828 00058488 80 83 00 48 */ lwz r4, 0x48(r3) /* 8005C82C 0005848C 54 80 00 01 */ rlwinm. r0, r4, 0, 0, 0 /* 8005C830 00058490 41 82 00 0C */ beq lbl_8005C83C /* 8005C834 00058494 7C 03 20 50 */ subf r0, r3, r4 /* 8005C838 00058498 90 03 00 48 */ stw r0, 0x48(r3) lbl_8005C83C: /* 8005C83C 0005849C 80 17 00 AC */ lwz r0, 0xac(r23) /* 8005C840 000584A0 7C 64 1B 78 */ mr r4, r3 /* 8005C844 000584A4 38 A0 31 C0 */ li r5, 0x31c0 /* 8005C848 000584A8 7C 60 DA 14 */ add r3, r0, r27 /* 8005C84C 000584AC 80 63 00 08 */ lwz r3, 8(r3) /* 8005C850 000584B0 4B FA 77 B1 */ bl memcpy /* 8005C854 000584B4 80 17 00 AC */ lwz r0, 0xac(r23) /* 8005C858 000584B8 38 60 03 EE */ li r3, 0x3ee /* 8005C85C 000584BC 7C 80 DA 14 */ add r4, r0, r27 /* 8005C860 000584C0 80 84 00 14 */ lwz r4, 0x14(r4) /* 8005C864 000584C4 48 17 ED E1 */ bl func_801DB644 /* 8005C868 000584C8 80 17 00 AC */ lwz r0, 0xac(r23) /* 8005C86C 000584CC 7C 60 DA 14 */ add r3, r0, r27 /* 8005C870 000584D0 80 63 00 08 */ lwz r3, 8(r3) /* 8005C874 000584D4 48 1E 0E 59 */ bl func_8023D6CC /* 8005C878 000584D8 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13) /* 8005C87C 000584DC 7C 78 1B 78 */ mr r24, r3 /* 8005C880 000584E0 88 04 00 7A */ lbz r0, 0x7a(r4) /* 8005C884 000584E4 2C 00 00 00 */ cmpwi r0, 0 /* 8005C888 000584E8 41 82 00 38 */ beq lbl_8005C8C0 /* 8005C88C 000584EC 2C 03 00 00 */ cmpwi r3, 0 /* 8005C890 000584F0 41 82 00 30 */ beq lbl_8005C8C0 /* 8005C894 000584F4 80 A3 00 1C */ lwz r5, 0x1c(r3) /* 8005C898 000584F8 2C 05 00 02 */ cmpwi r5, 2 /* 8005C89C 000584FC 40 80 00 08 */ bge lbl_8005C8A4 /* 8005C8A0 00058500 38 A0 00 02 */ li r5, 2 lbl_8005C8A4: /* 8005C8A4 00058504 80 98 00 18 */ lwz r4, 0x18(r24) /* 8005C8A8 00058508 7F 03 C3 78 */ mr r3, r24 /* 8005C8AC 0005850C 2C 04 00 02 */ cmpwi r4, 2 /* 8005C8B0 00058510 40 80 00 08 */ bge lbl_8005C8B8 /* 8005C8B4 00058514 38 80 00 02 */ li r4, 2 lbl_8005C8B8: /* 8005C8B8 00058518 80 D8 00 20 */ lwz r6, 0x20(r24) /* 8005C8BC 0005851C 48 1E 1B 0D */ bl func_8023E3C8 lbl_8005C8C0: /* 8005C8C0 00058520 7F 03 C3 78 */ mr r3, r24 /* 8005C8C4 00058524 38 80 31 C0 */ li r4, 0x31c0 /* 8005C8C8 00058528 48 20 DD 8D */ bl DCFlushRange /* 8005C8CC 0005852C 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 8005C8D0 00058530 A0 03 16 FE */ lhz r0, 0x16fe(r3) /* 8005C8D4 00058534 60 00 00 02 */ ori r0, r0, 2 /* 8005C8D8 00058538 B0 03 16 FE */ sth r0, 0x16fe(r3) /* 8005C8DC 0005853C 80 17 00 AC */ lwz r0, 0xac(r23) /* 8005C8E0 00058540 7C 60 DA 14 */ add r3, r0, r27 /* 8005C8E4 00058544 9B E3 00 0D */ stb r31, 0xd(r3) /* 8005C8E8 00058548 A0 77 01 1E */ lhz r3, 0x11e(r23) /* 8005C8EC 0005854C 38 63 FF FF */ addi r3, r3, -1 /* 8005C8F0 00058550 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 8005C8F4 00058554 B0 77 01 1E */ sth r3, 0x11e(r23) /* 8005C8F8 00058558 7C 77 02 14 */ add r3, r23, r0 /* 8005C8FC 0005855C 93 83 00 B8 */ stw r28, 0xb8(r3) /* 8005C900 00058560 A0 17 01 1E */ lhz r0, 0x11e(r23) /* 8005C904 00058564 54 00 08 3C */ slwi r0, r0, 1 /* 8005C908 00058568 7C 77 02 14 */ add r3, r23, r0 /* 8005C90C 0005856C B3 83 00 FC */ sth r28, 0xfc(r3) /* 8005C910 00058570 A0 17 01 1E */ lhz r0, 0x11e(r23) /* 8005C914 00058574 2C 00 00 00 */ cmpwi r0, 0 /* 8005C918 00058578 40 82 00 08 */ bne lbl_8005C920 /* 8005C91C 0005857C 3B 40 00 01 */ li r26, 1 lbl_8005C920: /* 8005C920 00058580 3B 7B 00 28 */ addi r27, r27, 0x28 /* 8005C924 00058584 3B 39 00 01 */ addi r25, r25, 1 lbl_8005C928: /* 8005C928 00058588 80 17 00 B0 */ lwz r0, 0xb0(r23) /* 8005C92C 0005858C 7C 19 00 40 */ cmplw r25, r0 /* 8005C930 00058590 41 80 FC F4 */ blt lbl_8005C624 /* 8005C934 00058594 88 17 01 20 */ lbz r0, 0x120(r23) /* 8005C938 00058598 2C 00 00 00 */ cmpwi r0, 0 /* 8005C93C 0005859C 40 82 00 3C */ bne lbl_8005C978 /* 8005C940 000585A0 A0 17 01 1E */ lhz r0, 0x11e(r23) /* 8005C944 000585A4 2C 00 00 00 */ cmpwi r0, 0 /* 8005C948 000585A8 41 82 00 30 */ beq lbl_8005C978 /* 8005C94C 000585AC 38 00 00 01 */ li r0, 1 /* 8005C950 000585B0 38 60 03 EE */ li r3, 0x3ee /* 8005C954 000585B4 98 17 01 20 */ stb r0, 0x120(r23) /* 8005C958 000585B8 48 1E D0 15 */ bl func_8024996C /* 8005C95C 000585BC 3C A0 80 06 */ lis r5, lbl_8005C5CC@ha /* 8005C960 000585C0 A0 F7 01 1E */ lhz r7, 0x11e(r23) /* 8005C964 000585C4 38 97 00 B8 */ addi r4, r23, 0xb8 /* 8005C968 000585C8 38 60 03 EE */ li r3, 0x3ee /* 8005C96C 000585CC 38 A5 C5 CC */ addi r5, r5, lbl_8005C5CC@l /* 8005C970 000585D0 38 C0 00 00 */ li r6, 0 /* 8005C974 000585D4 48 1E CE 49 */ bl func_802497BC lbl_8005C978: /* 8005C978 000585D8 2C 1A 00 00 */ cmpwi r26, 0 /* 8005C97C 000585DC 41 82 00 14 */ beq lbl_8005C990 /* 8005C980 000585E0 38 60 03 EE */ li r3, 0x3ee /* 8005C984 000585E4 48 1E CF E9 */ bl func_8024996C /* 8005C988 000585E8 38 00 00 00 */ li r0, 0 /* 8005C98C 000585EC 98 17 01 20 */ stb r0, 0x120(r23) lbl_8005C990: /* 8005C990 000585F0 39 61 00 30 */ addi r11, r1, 0x30 /* 8005C994 000585F4 48 16 A7 CD */ bl _restgpr_22 /* 8005C998 000585F8 80 01 00 34 */ lwz r0, 0x34(r1) /* 8005C99C 000585FC 7C 08 03 A6 */ mtlr r0 /* 8005C9A0 00058600 38 21 00 30 */ addi r1, r1, 0x30 /* 8005C9A4 00058604 4E 80 00 20 */ blr .global func_8005C9A8 func_8005C9A8: /* 8005C9A8 00058608 3C A0 80 48 */ lis r5, lbl_80478178@ha /* 8005C9AC 0005860C 7C 64 1B 78 */ mr r4, r3 /* 8005C9B0 00058610 38 65 81 78 */ addi r3, r5, lbl_80478178@l /* 8005C9B4 00058614 4B FF EA F0 */ b lbl_8005B4A4 .global func_8005C9B8 func_8005C9B8: /* 8005C9B8 00058618 3C A0 80 48 */ lis r5, lbl_80478178@ha /* 8005C9BC 0005861C 7C 64 1B 78 */ mr r4, r3 /* 8005C9C0 00058620 38 65 81 78 */ addi r3, r5, lbl_80478178@l /* 8005C9C4 00058624 4B FF EB F8 */ b lbl_8005B5BC .global lbl_8005C9C8 lbl_8005C9C8: /* 8005C9C8 00058628 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8005C9CC 0005862C 7C 08 02 A6 */ mflr r0 /* 8005C9D0 00058630 90 01 00 14 */ stw r0, 0x14(r1) /* 8005C9D4 00058634 93 E1 00 0C */ stw r31, 0xc(r1) /* 8005C9D8 00058638 3F E0 80 48 */ lis r31, lbl_80478178@ha /* 8005C9DC 0005863C 38 7F 81 78 */ addi r3, r31, lbl_80478178@l /* 8005C9E0 00058640 4B FF F2 C1 */ bl func_8005BCA0 /* 8005C9E4 00058644 38 7F 81 78 */ addi r3, r31, -32392 /* 8005C9E8 00058648 4B FF FB F5 */ bl func_8005C5DC /* 8005C9EC 0005864C 80 01 00 14 */ lwz r0, 0x14(r1) /* 8005C9F0 00058650 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8005C9F4 00058654 7C 08 03 A6 */ mtlr r0 /* 8005C9F8 00058658 38 21 00 10 */ addi r1, r1, 0x10 /* 8005C9FC 0005865C 4E 80 00 20 */ blr .global func_8005CA00 func_8005CA00: /* 8005CA00 00058660 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8005CA04 00058664 7C 08 02 A6 */ mflr r0 /* 8005CA08 00058668 90 01 00 24 */ stw r0, 0x24(r1) /* 8005CA0C 0005866C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8005CA10 00058670 93 C1 00 18 */ stw r30, 0x18(r1) /* 8005CA14 00058674 93 A1 00 14 */ stw r29, 0x14(r1) /* 8005CA18 00058678 93 81 00 10 */ stw r28, 0x10(r1) /* 8005CA1C 0005867C 7C 7C 1B 78 */ mr r28, r3 /* 8005CA20 00058680 4B FF A1 B5 */ bl func_80056BD4 /* 8005CA24 00058684 2C 03 00 00 */ cmpwi r3, 0 /* 8005CA28 00058688 40 82 00 20 */ bne lbl_8005CA48 /* 8005CA2C 0005868C 3C 60 80 48 */ lis r3, lbl_80478178@ha /* 8005CA30 00058690 38 80 00 00 */ li r4, 0 /* 8005CA34 00058694 38 63 81 78 */ addi r3, r3, lbl_80478178@l /* 8005CA38 00058698 38 A0 00 00 */ li r5, 0 /* 8005CA3C 0005869C 38 C0 00 00 */ li r6, 0 /* 8005CA40 000586A0 4B FF EC 95 */ bl func_8005B6D4 /* 8005CA44 000586A4 48 00 00 C0 */ b lbl_8005CB04 lbl_8005CA48: /* 8005CA48 000586A8 7F 83 E3 78 */ mr r3, r28 /* 8005CA4C 000586AC 38 80 00 05 */ li r4, 5 /* 8005CA50 000586B0 38 A0 00 00 */ li r5, 0 /* 8005CA54 000586B4 48 37 E4 A9 */ bl func_803DAEFC /* 8005CA58 000586B8 54 7F 04 3E */ clrlwi r31, r3, 0x10 /* 8005CA5C 000586BC 7F 83 E3 78 */ mr r3, r28 /* 8005CA60 000586C0 38 80 00 6F */ li r4, 0x6f /* 8005CA64 000586C4 38 A0 00 00 */ li r5, 0 /* 8005CA68 000586C8 48 37 E4 95 */ bl func_803DAEFC /* 8005CA6C 000586CC 54 7E 06 3E */ clrlwi r30, r3, 0x18 /* 8005CA70 000586D0 7F 83 E3 78 */ mr r3, r28 /* 8005CA74 000586D4 4B FF A3 B9 */ bl func_80056E2C /* 8005CA78 000586D8 2C 03 00 00 */ cmpwi r3, 0 /* 8005CA7C 000586DC 41 82 00 18 */ beq lbl_8005CA94 /* 8005CA80 000586E0 28 1F 01 EA */ cmplwi r31, 0x1ea /* 8005CA84 000586E4 3B A0 00 00 */ li r29, 0 /* 8005CA88 000586E8 40 82 00 08 */ bne lbl_8005CA90 /* 8005CA8C 000586EC 3B A0 00 01 */ li r29, 1 lbl_8005CA90: /* 8005CA90 000586F0 3B E0 01 EE */ li r31, 0x1ee lbl_8005CA94: /* 8005CA94 000586F4 2C 1F 01 EE */ cmpwi r31, 0x1ee /* 8005CA98 000586F8 41 82 00 18 */ beq lbl_8005CAB0 /* 8005CA9C 000586FC 7F 83 E3 78 */ mr r3, r28 /* 8005CAA0 00058700 38 80 00 70 */ li r4, 0x70 /* 8005CAA4 00058704 38 A0 00 00 */ li r5, 0 /* 8005CAA8 00058708 48 37 E4 55 */ bl func_803DAEFC /* 8005CAAC 0005870C 54 7D 04 3E */ clrlwi r29, r3, 0x10 lbl_8005CAB0: /* 8005CAB0 00058710 3C 60 80 64 */ lis r3, lbl_8063CE34@ha /* 8005CAB4 00058714 7F E4 FB 78 */ mr r4, r31 /* 8005CAB8 00058718 38 63 CE 34 */ addi r3, r3, lbl_8063CE34@l /* 8005CABC 0005871C 38 63 00 04 */ addi r3, r3, 4 /* 8005CAC0 00058720 48 33 3E 91 */ bl func_80390950 /* 8005CAC4 00058724 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 8005CAC8 00058728 7C 1D 00 40 */ cmplw r29, r0 /* 8005CACC 0005872C 41 80 00 20 */ blt lbl_8005CAEC /* 8005CAD0 00058730 3C 60 80 48 */ lis r3, lbl_80478178@ha /* 8005CAD4 00058734 38 80 00 00 */ li r4, 0 /* 8005CAD8 00058738 38 63 81 78 */ addi r3, r3, lbl_80478178@l /* 8005CADC 0005873C 38 A0 00 00 */ li r5, 0 /* 8005CAE0 00058740 38 C0 00 00 */ li r6, 0 /* 8005CAE4 00058744 4B FF EB F1 */ bl func_8005B6D4 /* 8005CAE8 00058748 48 00 00 1C */ b lbl_8005CB04 lbl_8005CAEC: /* 8005CAEC 0005874C 3C 60 80 48 */ lis r3, lbl_80478178@ha /* 8005CAF0 00058750 7F E4 FB 78 */ mr r4, r31 /* 8005CAF4 00058754 7F C5 F3 78 */ mr r5, r30 /* 8005CAF8 00058758 7F A6 EB 78 */ mr r6, r29 /* 8005CAFC 0005875C 38 63 81 78 */ addi r3, r3, lbl_80478178@l /* 8005CB00 00058760 4B FF EB D5 */ bl func_8005B6D4 lbl_8005CB04: /* 8005CB04 00058764 80 01 00 24 */ lwz r0, 0x24(r1) /* 8005CB08 00058768 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8005CB0C 0005876C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8005CB10 00058770 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8005CB14 00058774 83 81 00 10 */ lwz r28, 0x10(r1) /* 8005CB18 00058778 7C 08 03 A6 */ mtlr r0 /* 8005CB1C 0005877C 38 21 00 20 */ addi r1, r1, 0x20 /* 8005CB20 00058780 4E 80 00 20 */ blr .global func_8005CB24 func_8005CB24: /* 8005CB24 00058784 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8005CB28 00058788 7C 08 02 A6 */ mflr r0 /* 8005CB2C 0005878C 90 01 00 34 */ stw r0, 0x34(r1) /* 8005CB30 00058790 39 61 00 30 */ addi r11, r1, 0x30 /* 8005CB34 00058794 48 16 A5 E9 */ bl _savegpr_24 /* 8005CB38 00058798 7C 78 1B 78 */ mr r24, r3 /* 8005CB3C 0005879C 7C 99 23 78 */ mr r25, r4 /* 8005CB40 000587A0 7C BA 2B 78 */ mr r26, r5 /* 8005CB44 000587A4 4B FF A0 91 */ bl func_80056BD4 /* 8005CB48 000587A8 2C 03 00 00 */ cmpwi r3, 0 /* 8005CB4C 000587AC 40 82 00 40 */ bne lbl_8005CB8C /* 8005CB50 000587B0 3F E0 80 48 */ lis r31, lbl_80478178@ha /* 8005CB54 000587B4 38 80 00 00 */ li r4, 0 /* 8005CB58 000587B8 38 7F 81 78 */ addi r3, r31, lbl_80478178@l /* 8005CB5C 000587BC 38 A0 00 00 */ li r5, 0 /* 8005CB60 000587C0 38 C0 00 00 */ li r6, 0 /* 8005CB64 000587C4 4B FF EB 71 */ bl func_8005B6D4 /* 8005CB68 000587C8 7F 48 D3 78 */ mr r8, r26 /* 8005CB6C 000587CC 38 7F 81 78 */ addi r3, r31, -32392 /* 8005CB70 000587D0 38 80 00 00 */ li r4, 0 /* 8005CB74 000587D4 38 A0 00 00 */ li r5, 0 /* 8005CB78 000587D8 38 C0 00 00 */ li r6, 0 /* 8005CB7C 000587DC 38 E0 00 00 */ li r7, 0 /* 8005CB80 000587E0 39 20 00 00 */ li r9, 0 /* 8005CB84 000587E4 4B FF ED D9 */ bl func_8005B95C /* 8005CB88 000587E8 48 00 01 34 */ b lbl_8005CCBC lbl_8005CB8C: /* 8005CB8C 000587EC 7F 03 C3 78 */ mr r3, r24 /* 8005CB90 000587F0 38 80 00 05 */ li r4, 5 /* 8005CB94 000587F4 38 A0 00 00 */ li r5, 0 /* 8005CB98 000587F8 48 37 E3 65 */ bl func_803DAEFC /* 8005CB9C 000587FC 54 7E 04 3E */ clrlwi r30, r3, 0x10 /* 8005CBA0 00058800 7F 03 C3 78 */ mr r3, r24 /* 8005CBA4 00058804 38 80 00 6F */ li r4, 0x6f /* 8005CBA8 00058808 38 A0 00 00 */ li r5, 0 /* 8005CBAC 0005880C 48 37 E3 51 */ bl func_803DAEFC /* 8005CBB0 00058810 54 7D 06 3E */ clrlwi r29, r3, 0x18 /* 8005CBB4 00058814 7F 03 C3 78 */ mr r3, r24 /* 8005CBB8 00058818 3B 80 00 00 */ li r28, 0 /* 8005CBBC 0005881C 4B FF A2 71 */ bl func_80056E2C /* 8005CBC0 00058820 2C 03 00 00 */ cmpwi r3, 0 /* 8005CBC4 00058824 41 82 00 20 */ beq lbl_8005CBE4 /* 8005CBC8 00058828 28 1E 01 EA */ cmplwi r30, 0x1ea /* 8005CBCC 0005882C 3B 60 00 00 */ li r27, 0 /* 8005CBD0 00058830 40 82 00 08 */ bne lbl_8005CBD8 /* 8005CBD4 00058834 3B 60 00 01 */ li r27, 1 lbl_8005CBD8: /* 8005CBD8 00058838 3B A0 00 02 */ li r29, 2 /* 8005CBDC 0005883C 3B C0 01 EE */ li r30, 0x1ee /* 8005CBE0 00058840 48 00 00 2C */ b lbl_8005CC0C lbl_8005CBE4: /* 8005CBE4 00058844 3F E0 80 48 */ lis r31, lbl_804782A8@ha /* 8005CBE8 00058848 7F 03 C3 78 */ mr r3, r24 /* 8005CBEC 0005884C 38 9F 82 A8 */ addi r4, r31, lbl_804782A8@l /* 8005CBF0 00058850 48 37 FB 59 */ bl func_803DC748 /* 8005CBF4 00058854 38 7F 82 A8 */ addi r3, r31, -32088 /* 8005CBF8 00058858 48 37 F4 D9 */ bl func_803DC0D0 /* 8005CBFC 0005885C 54 63 06 3E */ clrlwi r3, r3, 0x18 /* 8005CC00 00058860 7C 03 00 D0 */ neg r0, r3 /* 8005CC04 00058864 7C 00 1B 78 */ or r0, r0, r3 /* 8005CC08 00058868 54 1C 0F FE */ srwi r28, r0, 0x1f lbl_8005CC0C: /* 8005CC0C 0005886C 2C 1E 01 EE */ cmpwi r30, 0x1ee /* 8005CC10 00058870 41 82 00 18 */ beq lbl_8005CC28 /* 8005CC14 00058874 7F 03 C3 78 */ mr r3, r24 /* 8005CC18 00058878 38 80 00 70 */ li r4, 0x70 /* 8005CC1C 0005887C 38 A0 00 00 */ li r5, 0 /* 8005CC20 00058880 48 37 E2 DD */ bl func_803DAEFC /* 8005CC24 00058884 54 7B 04 3E */ clrlwi r27, r3, 0x10 lbl_8005CC28: /* 8005CC28 00058888 3C 60 80 64 */ lis r3, lbl_8063CE34@ha /* 8005CC2C 0005888C 7F C4 F3 78 */ mr r4, r30 /* 8005CC30 00058890 38 63 CE 34 */ addi r3, r3, lbl_8063CE34@l /* 8005CC34 00058894 38 63 00 04 */ addi r3, r3, 4 /* 8005CC38 00058898 48 33 3D 19 */ bl func_80390950 /* 8005CC3C 0005889C 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 8005CC40 000588A0 7C 1B 00 40 */ cmplw r27, r0 /* 8005CC44 000588A4 41 80 00 40 */ blt lbl_8005CC84 /* 8005CC48 000588A8 3F E0 80 48 */ lis r31, lbl_80478178@ha /* 8005CC4C 000588AC 38 80 00 00 */ li r4, 0 /* 8005CC50 000588B0 38 7F 81 78 */ addi r3, r31, lbl_80478178@l /* 8005CC54 000588B4 38 A0 00 00 */ li r5, 0 /* 8005CC58 000588B8 38 C0 00 00 */ li r6, 0 /* 8005CC5C 000588BC 4B FF EA 79 */ bl func_8005B6D4 /* 8005CC60 000588C0 7F 48 D3 78 */ mr r8, r26 /* 8005CC64 000588C4 38 7F 81 78 */ addi r3, r31, -32392 /* 8005CC68 000588C8 38 80 00 00 */ li r4, 0 /* 8005CC6C 000588CC 38 A0 00 00 */ li r5, 0 /* 8005CC70 000588D0 38 C0 00 00 */ li r6, 0 /* 8005CC74 000588D4 38 E0 00 00 */ li r7, 0 /* 8005CC78 000588D8 39 20 00 00 */ li r9, 0 /* 8005CC7C 000588DC 4B FF EC E1 */ bl func_8005B95C /* 8005CC80 000588E0 48 00 00 3C */ b lbl_8005CCBC lbl_8005CC84: /* 8005CC84 000588E4 3F E0 80 48 */ lis r31, lbl_80478178@ha /* 8005CC88 000588E8 7F C4 F3 78 */ mr r4, r30 /* 8005CC8C 000588EC 7F A5 EB 78 */ mr r5, r29 /* 8005CC90 000588F0 7F 66 DB 78 */ mr r6, r27 /* 8005CC94 000588F4 38 7F 81 78 */ addi r3, r31, lbl_80478178@l /* 8005CC98 000588F8 4B FF EA 3D */ bl func_8005B6D4 /* 8005CC9C 000588FC 7F C4 F3 78 */ mr r4, r30 /* 8005CCA0 00058900 7F A5 EB 78 */ mr r5, r29 /* 8005CCA4 00058904 7F 86 E3 78 */ mr r6, r28 /* 8005CCA8 00058908 7F 27 CB 78 */ mr r7, r25 /* 8005CCAC 0005890C 7F 48 D3 78 */ mr r8, r26 /* 8005CCB0 00058910 7F 69 DB 78 */ mr r9, r27 /* 8005CCB4 00058914 38 7F 81 78 */ addi r3, r31, -32392 /* 8005CCB8 00058918 4B FF EC A5 */ bl func_8005B95C lbl_8005CCBC: /* 8005CCBC 0005891C 39 61 00 30 */ addi r11, r1, 0x30 /* 8005CCC0 00058920 48 16 A4 A9 */ bl _restgpr_24 /* 8005CCC4 00058924 80 01 00 34 */ lwz r0, 0x34(r1) /* 8005CCC8 00058928 7C 08 03 A6 */ mtlr r0 /* 8005CCCC 0005892C 38 21 00 30 */ addi r1, r1, 0x30 /* 8005CCD0 00058930 4E 80 00 20 */ blr .global func_8005CCD4 func_8005CCD4: /* 8005CCD4 00058934 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8005CCD8 00058938 7C 08 02 A6 */ mflr r0 /* 8005CCDC 0005893C 90 01 00 34 */ stw r0, 0x34(r1) /* 8005CCE0 00058940 39 61 00 30 */ addi r11, r1, 0x30 /* 8005CCE4 00058944 48 16 A4 3D */ bl _savegpr_25 /* 8005CCE8 00058948 7C 79 1B 78 */ mr r25, r3 /* 8005CCEC 0005894C 7C BA 2B 78 */ mr r26, r5 /* 8005CCF0 00058950 4B FF 9E E5 */ bl func_80056BD4 /* 8005CCF4 00058954 2C 03 00 00 */ cmpwi r3, 0 /* 8005CCF8 00058958 40 82 00 3C */ bne lbl_8005CD34 /* 8005CCFC 0005895C 3F E0 80 48 */ lis r31, lbl_80478178@ha /* 8005CD00 00058960 38 80 00 00 */ li r4, 0 /* 8005CD04 00058964 38 7F 81 78 */ addi r3, r31, lbl_80478178@l /* 8005CD08 00058968 38 A0 00 00 */ li r5, 0 /* 8005CD0C 0005896C 38 C0 00 00 */ li r6, 0 /* 8005CD10 00058970 4B FF F3 5D */ bl func_8005C06C /* 8005CD14 00058974 7F 47 D3 78 */ mr r7, r26 /* 8005CD18 00058978 38 7F 81 78 */ addi r3, r31, -32392 /* 8005CD1C 0005897C 38 80 00 00 */ li r4, 0 /* 8005CD20 00058980 38 A0 00 00 */ li r5, 0 /* 8005CD24 00058984 38 C0 00 00 */ li r6, 0 /* 8005CD28 00058988 39 00 00 00 */ li r8, 0 /* 8005CD2C 0005898C 4B FF F5 C9 */ bl func_8005C2F4 /* 8005CD30 00058990 48 00 01 2C */ b lbl_8005CE5C lbl_8005CD34: /* 8005CD34 00058994 7F 23 CB 78 */ mr r3, r25 /* 8005CD38 00058998 38 80 00 05 */ li r4, 5 /* 8005CD3C 0005899C 38 A0 00 00 */ li r5, 0 /* 8005CD40 000589A0 48 37 E1 BD */ bl func_803DAEFC /* 8005CD44 000589A4 54 7E 04 3E */ clrlwi r30, r3, 0x10 /* 8005CD48 000589A8 7F 23 CB 78 */ mr r3, r25 /* 8005CD4C 000589AC 38 80 00 6F */ li r4, 0x6f /* 8005CD50 000589B0 38 A0 00 00 */ li r5, 0 /* 8005CD54 000589B4 48 37 E1 A9 */ bl func_803DAEFC /* 8005CD58 000589B8 54 7D 06 3E */ clrlwi r29, r3, 0x18 /* 8005CD5C 000589BC 7F 23 CB 78 */ mr r3, r25 /* 8005CD60 000589C0 3B 80 00 00 */ li r28, 0 /* 8005CD64 000589C4 4B FF A0 C9 */ bl func_80056E2C /* 8005CD68 000589C8 2C 03 00 00 */ cmpwi r3, 0 /* 8005CD6C 000589CC 41 82 00 20 */ beq lbl_8005CD8C /* 8005CD70 000589D0 28 1E 01 EA */ cmplwi r30, 0x1ea /* 8005CD74 000589D4 3B 60 00 00 */ li r27, 0 /* 8005CD78 000589D8 40 82 00 08 */ bne lbl_8005CD80 /* 8005CD7C 000589DC 3B 60 00 01 */ li r27, 1 lbl_8005CD80: /* 8005CD80 000589E0 3B C0 01 EE */ li r30, 0x1ee /* 8005CD84 000589E4 3B A0 00 02 */ li r29, 2 /* 8005CD88 000589E8 48 00 00 2C */ b lbl_8005CDB4 lbl_8005CD8C: /* 8005CD8C 000589EC 3F E0 80 48 */ lis r31, lbl_804782A8@ha /* 8005CD90 000589F0 7F 23 CB 78 */ mr r3, r25 /* 8005CD94 000589F4 38 9F 82 A8 */ addi r4, r31, lbl_804782A8@l /* 8005CD98 000589F8 48 37 F9 B1 */ bl func_803DC748 /* 8005CD9C 000589FC 38 7F 82 A8 */ addi r3, r31, -32088 /* 8005CDA0 00058A00 48 37 F3 31 */ bl func_803DC0D0 /* 8005CDA4 00058A04 54 63 06 3E */ clrlwi r3, r3, 0x18 /* 8005CDA8 00058A08 7C 03 00 D0 */ neg r0, r3 /* 8005CDAC 00058A0C 7C 00 1B 78 */ or r0, r0, r3 /* 8005CDB0 00058A10 54 1C 0F FE */ srwi r28, r0, 0x1f lbl_8005CDB4: /* 8005CDB4 00058A14 2C 1E 01 EE */ cmpwi r30, 0x1ee /* 8005CDB8 00058A18 41 82 00 18 */ beq lbl_8005CDD0 /* 8005CDBC 00058A1C 7F 23 CB 78 */ mr r3, r25 /* 8005CDC0 00058A20 38 80 00 70 */ li r4, 0x70 /* 8005CDC4 00058A24 38 A0 00 00 */ li r5, 0 /* 8005CDC8 00058A28 48 37 E1 35 */ bl func_803DAEFC /* 8005CDCC 00058A2C 54 7B 04 3E */ clrlwi r27, r3, 0x10 lbl_8005CDD0: /* 8005CDD0 00058A30 3C 60 80 64 */ lis r3, lbl_8063CE34@ha /* 8005CDD4 00058A34 7F C4 F3 78 */ mr r4, r30 /* 8005CDD8 00058A38 38 63 CE 34 */ addi r3, r3, lbl_8063CE34@l /* 8005CDDC 00058A3C 38 63 00 4C */ addi r3, r3, 0x4c /* 8005CDE0 00058A40 48 33 9C 81 */ bl func_80396A60 /* 8005CDE4 00058A44 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 8005CDE8 00058A48 7C 1B 00 40 */ cmplw r27, r0 /* 8005CDEC 00058A4C 41 80 00 3C */ blt lbl_8005CE28 /* 8005CDF0 00058A50 3F E0 80 48 */ lis r31, lbl_80478178@ha /* 8005CDF4 00058A54 38 80 00 00 */ li r4, 0 /* 8005CDF8 00058A58 38 7F 81 78 */ addi r3, r31, lbl_80478178@l /* 8005CDFC 00058A5C 38 A0 00 00 */ li r5, 0 /* 8005CE00 00058A60 38 C0 00 00 */ li r6, 0 /* 8005CE04 00058A64 4B FF F2 69 */ bl func_8005C06C /* 8005CE08 00058A68 7F 47 D3 78 */ mr r7, r26 /* 8005CE0C 00058A6C 38 7F 81 78 */ addi r3, r31, -32392 /* 8005CE10 00058A70 38 80 00 00 */ li r4, 0 /* 8005CE14 00058A74 38 A0 00 00 */ li r5, 0 /* 8005CE18 00058A78 38 C0 00 00 */ li r6, 0 /* 8005CE1C 00058A7C 39 00 00 00 */ li r8, 0 /* 8005CE20 00058A80 4B FF F4 D5 */ bl func_8005C2F4 /* 8005CE24 00058A84 48 00 00 38 */ b lbl_8005CE5C lbl_8005CE28: /* 8005CE28 00058A88 3F E0 80 48 */ lis r31, lbl_80478178@ha /* 8005CE2C 00058A8C 7F C4 F3 78 */ mr r4, r30 /* 8005CE30 00058A90 7F A5 EB 78 */ mr r5, r29 /* 8005CE34 00058A94 7F 66 DB 78 */ mr r6, r27 /* 8005CE38 00058A98 38 7F 81 78 */ addi r3, r31, lbl_80478178@l /* 8005CE3C 00058A9C 4B FF F2 31 */ bl func_8005C06C /* 8005CE40 00058AA0 7F C4 F3 78 */ mr r4, r30 /* 8005CE44 00058AA4 7F A5 EB 78 */ mr r5, r29 /* 8005CE48 00058AA8 7F 86 E3 78 */ mr r6, r28 /* 8005CE4C 00058AAC 7F 47 D3 78 */ mr r7, r26 /* 8005CE50 00058AB0 7F 68 DB 78 */ mr r8, r27 /* 8005CE54 00058AB4 38 7F 81 78 */ addi r3, r31, -32392 /* 8005CE58 00058AB8 4B FF F4 9D */ bl func_8005C2F4 lbl_8005CE5C: /* 8005CE5C 00058ABC 39 61 00 30 */ addi r11, r1, 0x30 /* 8005CE60 00058AC0 48 16 A3 0D */ bl _restgpr_25 /* 8005CE64 00058AC4 80 01 00 34 */ lwz r0, 0x34(r1) /* 8005CE68 00058AC8 7C 08 03 A6 */ mtlr r0 /* 8005CE6C 00058ACC 38 21 00 30 */ addi r1, r1, 0x30 /* 8005CE70 00058AD0 4E 80 00 20 */ blr .global func_8005CE74 func_8005CE74: /* 8005CE74 00058AD4 39 00 00 01 */ li r8, 1 /* 8005CE78 00058AD8 38 CD 99 00 */ addi r6, r13, lbl_8063EBC0-_SDA_BASE_ /* 8005CE7C 00058ADC 38 E0 00 04 */ li r7, 4 /* 8005CE80 00058AE0 38 00 00 00 */ li r0, 0 /* 8005CE84 00058AE4 3C 60 80 48 */ lis r3, lbl_80478178@ha /* 8005CE88 00058AE8 3C 80 80 06 */ lis r4, lbl_8005CEAC@ha /* 8005CE8C 00058AEC 3C A0 80 48 */ lis r5, lbl_80478168@ha /* 8005CE90 00058AF0 99 0D 99 00 */ stb r8, lbl_8063EBC0-_SDA_BASE_(r13) /* 8005CE94 00058AF4 38 63 81 78 */ addi r3, r3, lbl_80478178@l /* 8005CE98 00058AF8 38 84 CE AC */ addi r4, r4, lbl_8005CEAC@l /* 8005CE9C 00058AFC B0 E6 00 02 */ sth r7, 2(r6) /* 8005CEA0 00058B00 38 A5 81 68 */ addi r5, r5, lbl_80478168@l /* 8005CEA4 00058B04 98 06 00 04 */ stb r0, 4(r6) /* 8005CEA8 00058B08 48 16 9D A0 */ b __register_global_object_tmp