.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global func_8025716C func_8025716C: /* 8025716C 00252DCC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80257170 00252DD0 7C 08 02 A6 */ mflr r0 /* 80257174 00252DD4 38 A0 00 00 */ li r5, 0 /* 80257178 00252DD8 38 63 02 E4 */ addi r3, r3, 0x2e4 /* 8025717C 00252DDC 90 01 00 14 */ stw r0, 0x14(r1) /* 80257180 00252DE0 48 01 7D D9 */ bl OSSendMessage /* 80257184 00252DE4 7C 03 00 D0 */ neg r0, r3 /* 80257188 00252DE8 7C 00 1B 78 */ or r0, r0, r3 /* 8025718C 00252DEC 54 03 0F FE */ srwi r3, r0, 0x1f /* 80257190 00252DF0 80 01 00 14 */ lwz r0, 0x14(r1) /* 80257194 00252DF4 7C 08 03 A6 */ mtlr r0 /* 80257198 00252DF8 38 21 00 10 */ addi r1, r1, 0x10 /* 8025719C 00252DFC 4E 80 00 20 */ blr .global func_802571A0 func_802571A0: /* 802571A0 00252E00 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802571A4 00252E04 7C 08 02 A6 */ mflr r0 /* 802571A8 00252E08 38 A0 00 00 */ li r5, 0 /* 802571AC 00252E0C 38 63 02 E4 */ addi r3, r3, 0x2e4 /* 802571B0 00252E10 90 01 00 14 */ stw r0, 0x14(r1) /* 802571B4 00252E14 38 81 00 08 */ addi r4, r1, 8 /* 802571B8 00252E18 48 01 7E 69 */ bl OSReceiveMessage /* 802571BC 00252E1C 2C 03 00 00 */ cmpwi r3, 0 /* 802571C0 00252E20 41 82 00 0C */ beq lbl_802571CC /* 802571C4 00252E24 80 61 00 08 */ lwz r3, 8(r1) /* 802571C8 00252E28 48 00 00 08 */ b lbl_802571D0 lbl_802571CC: /* 802571CC 00252E2C 38 60 00 00 */ li r3, 0 lbl_802571D0: /* 802571D0 00252E30 80 01 00 14 */ lwz r0, 0x14(r1) /* 802571D4 00252E34 7C 08 03 A6 */ mtlr r0 /* 802571D8 00252E38 38 21 00 10 */ addi r1, r1, 0x10 /* 802571DC 00252E3C 4E 80 00 20 */ blr lbl_802571E0: /* 802571E0 00252E40 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802571E4 00252E44 7C 08 02 A6 */ mflr r0 /* 802571E8 00252E48 90 01 00 34 */ stw r0, 0x34(r1) /* 802571EC 00252E4C 39 61 00 30 */ addi r11, r1, 0x30 /* 802571F0 00252E50 4B F6 FF 29 */ bl _savegpr_23 /* 802571F4 00252E54 81 8D A6 60 */ lwz r12, lbl_8063F920-_SDA_BASE_(r13) /* 802571F8 00252E58 2C 0C 00 00 */ cmpwi r12, 0 /* 802571FC 00252E5C 41 82 00 0C */ beq lbl_80257208 /* 80257200 00252E60 7D 89 03 A6 */ mtctr r12 /* 80257204 00252E64 4E 80 04 21 */ bctrl lbl_80257208: /* 80257208 00252E68 83 2D A6 58 */ lwz r25, lbl_8063F918-_SDA_BASE_(r13) /* 8025720C 00252E6C 3B 00 00 00 */ li r24, 0 /* 80257210 00252E70 3B 80 00 01 */ li r28, 1 /* 80257214 00252E74 3B A0 00 00 */ li r29, 0 /* 80257218 00252E78 3B E0 00 08 */ li r31, 8 /* 8025721C 00252E7C 3B C0 FF FF */ li r30, -1 /* 80257220 00252E80 3A E0 00 09 */ li r23, 9 /* 80257224 00252E84 3B 60 00 0B */ li r27, 0xb /* 80257228 00252E88 48 00 02 18 */ b lbl_80257440 lbl_8025722C: /* 8025722C 00252E8C 88 19 00 6C */ lbz r0, 0x6c(r25) /* 80257230 00252E90 3B 40 00 00 */ li r26, 0 /* 80257234 00252E94 2C 00 00 00 */ cmpwi r0, 0 /* 80257238 00252E98 41 82 02 00 */ beq lbl_80257438 /* 8025723C 00252E9C 88 19 00 69 */ lbz r0, 0x69(r25) /* 80257240 00252EA0 28 00 00 08 */ cmplwi r0, 8 /* 80257244 00252EA4 40 82 01 F4 */ bne lbl_80257438 /* 80257248 00252EA8 88 19 00 75 */ lbz r0, 0x75(r25) /* 8025724C 00252EAC 7C 00 07 75 */ extsb. r0, r0 /* 80257250 00252EB0 40 82 00 10 */ bne lbl_80257260 /* 80257254 00252EB4 A8 19 00 76 */ lha r0, 0x76(r25) /* 80257258 00252EB8 2C 00 00 00 */ cmpwi r0, 0 /* 8025725C 00252EBC 41 82 00 10 */ beq lbl_8025726C lbl_80257260: /* 80257260 00252EC0 9B 79 00 6A */ stb r27, 0x6a(r25) /* 80257264 00252EC4 9B 79 00 69 */ stb r27, 0x69(r25) /* 80257268 00252EC8 48 00 01 D0 */ b lbl_80257438 lbl_8025726C: /* 8025726C 00252ECC 80 79 00 AC */ lwz r3, 0xac(r25) /* 80257270 00252ED0 80 19 00 A8 */ lwz r0, 0xa8(r25) /* 80257274 00252ED4 7C 83 E0 14 */ addc r4, r3, r28 /* 80257278 00252ED8 7C 60 E9 14 */ adde r3, r0, r29 /* 8025727C 00252EDC 90 99 00 AC */ stw r4, 0xac(r25) /* 80257280 00252EE0 7C 80 1B 79 */ or. r0, r4, r3 /* 80257284 00252EE4 90 79 00 A8 */ stw r3, 0xa8(r25) /* 80257288 00252EE8 40 82 00 7C */ bne lbl_80257304 /* 8025728C 00252EEC 7F 23 CB 78 */ mr r3, r25 /* 80257290 00252EF0 48 00 01 D5 */ bl func_80257464 /* 80257294 00252EF4 2C 03 00 00 */ cmpwi r3, 0 /* 80257298 00252EF8 41 82 00 60 */ beq lbl_802572F8 /* 8025729C 00252EFC 88 19 00 6B */ lbz r0, 0x6b(r25) /* 802572A0 00252F00 2C 00 00 00 */ cmpwi r0, 0 /* 802572A4 00252F04 41 82 00 44 */ beq lbl_802572E8 /* 802572A8 00252F08 80 79 00 C4 */ lwz r3, 0xc4(r25) /* 802572AC 00252F0C 80 19 00 C0 */ lwz r0, 0xc0(r25) /* 802572B0 00252F10 7C 03 00 50 */ subf r0, r3, r0 /* 802572B4 00252F14 2C 00 00 01 */ cmpwi r0, 1 /* 802572B8 00252F18 41 81 00 20 */ bgt lbl_802572D8 /* 802572BC 00252F1C 7F 23 CB 78 */ mr r3, r25 /* 802572C0 00252F20 48 00 43 81 */ bl func_8025B640 /* 802572C4 00252F24 80 99 00 C0 */ lwz r4, 0xc0(r25) /* 802572C8 00252F28 7C 7A 1B 78 */ mr r26, r3 /* 802572CC 00252F2C 38 04 00 01 */ addi r0, r4, 1 /* 802572D0 00252F30 90 19 00 C0 */ stw r0, 0xc0(r25) /* 802572D4 00252F34 48 00 00 B8 */ b lbl_8025738C lbl_802572D8: /* 802572D8 00252F38 7F 23 CB 78 */ mr r3, r25 /* 802572DC 00252F3C 48 00 1D 25 */ bl func_80259000 /* 802572E0 00252F40 9B F9 00 6A */ stb r31, 0x6a(r25) /* 802572E4 00252F44 48 00 00 A8 */ b lbl_8025738C lbl_802572E8: /* 802572E8 00252F48 7F 23 CB 78 */ mr r3, r25 /* 802572EC 00252F4C 48 00 43 55 */ bl func_8025B640 /* 802572F0 00252F50 7C 7A 1B 78 */ mr r26, r3 /* 802572F4 00252F54 48 00 00 98 */ b lbl_8025738C lbl_802572F8: /* 802572F8 00252F58 93 D9 00 AC */ stw r30, 0xac(r25) /* 802572FC 00252F5C 93 D9 00 A8 */ stw r30, 0xa8(r25) /* 80257300 00252F60 48 00 00 8C */ b lbl_8025738C lbl_80257304: /* 80257304 00252F64 88 19 00 6B */ lbz r0, 0x6b(r25) /* 80257308 00252F68 2C 00 00 00 */ cmpwi r0, 0 /* 8025730C 00252F6C 41 82 00 28 */ beq lbl_80257334 /* 80257310 00252F70 68 80 00 01 */ xori r0, r4, 1 /* 80257314 00252F74 7C 00 1B 79 */ or. r0, r0, r3 /* 80257318 00252F78 40 82 00 1C */ bne lbl_80257334 /* 8025731C 00252F7C 88 19 00 6A */ lbz r0, 0x6a(r25) /* 80257320 00252F80 28 00 00 08 */ cmplwi r0, 8 /* 80257324 00252F84 41 82 00 10 */ beq lbl_80257334 /* 80257328 00252F88 7F 23 CB 78 */ mr r3, r25 /* 8025732C 00252F8C 48 00 1C D5 */ bl func_80259000 /* 80257330 00252F90 9B F9 00 6A */ stb r31, 0x6a(r25) lbl_80257334: /* 80257334 00252F94 7F 23 CB 78 */ mr r3, r25 /* 80257338 00252F98 48 00 01 91 */ bl func_802574C8 /* 8025733C 00252F9C 2C 03 00 00 */ cmpwi r3, 0 /* 80257340 00252FA0 41 82 00 4C */ beq lbl_8025738C /* 80257344 00252FA4 88 19 00 6B */ lbz r0, 0x6b(r25) /* 80257348 00252FA8 2C 00 00 00 */ cmpwi r0, 0 /* 8025734C 00252FAC 41 82 00 34 */ beq lbl_80257380 /* 80257350 00252FB0 80 79 00 C4 */ lwz r3, 0xc4(r25) /* 80257354 00252FB4 80 19 00 C0 */ lwz r0, 0xc0(r25) /* 80257358 00252FB8 7C 03 00 50 */ subf r0, r3, r0 /* 8025735C 00252FBC 2C 00 00 01 */ cmpwi r0, 1 /* 80257360 00252FC0 41 81 00 2C */ bgt lbl_8025738C /* 80257364 00252FC4 7F 23 CB 78 */ mr r3, r25 /* 80257368 00252FC8 48 00 42 D9 */ bl func_8025B640 /* 8025736C 00252FCC 80 99 00 C0 */ lwz r4, 0xc0(r25) /* 80257370 00252FD0 7C 7A 1B 78 */ mr r26, r3 /* 80257374 00252FD4 38 04 00 01 */ addi r0, r4, 1 /* 80257378 00252FD8 90 19 00 C0 */ stw r0, 0xc0(r25) /* 8025737C 00252FDC 48 00 00 10 */ b lbl_8025738C lbl_80257380: /* 80257380 00252FE0 7F 23 CB 78 */ mr r3, r25 /* 80257384 00252FE4 48 00 42 BD */ bl func_8025B640 /* 80257388 00252FE8 7C 7A 1B 78 */ mr r26, r3 lbl_8025738C: /* 8025738C 00252FEC 2C 1A 00 00 */ cmpwi r26, 0 /* 80257390 00252FF0 41 82 00 1C */ beq lbl_802573AC /* 80257394 00252FF4 80 99 00 C8 */ lwz r4, 0xc8(r25) /* 80257398 00252FF8 2C 04 00 00 */ cmpwi r4, 0 /* 8025739C 00252FFC 41 82 00 0C */ beq lbl_802573A8 /* 802573A0 00253000 7F 23 CB 78 */ mr r3, r25 /* 802573A4 00253004 4B FF FD C9 */ bl func_8025716C lbl_802573A8: /* 802573A8 00253008 93 59 00 C8 */ stw r26, 0xc8(r25) lbl_802573AC: /* 802573AC 0025300C 88 19 00 6E */ lbz r0, 0x6e(r25) /* 802573B0 00253010 2C 00 00 00 */ cmpwi r0, 0 /* 802573B4 00253014 40 82 00 84 */ bne lbl_80257438 /* 802573B8 00253018 88 19 00 6B */ lbz r0, 0x6b(r25) /* 802573BC 0025301C 2C 00 00 00 */ cmpwi r0, 0 /* 802573C0 00253020 41 82 00 34 */ beq lbl_802573F4 /* 802573C4 00253024 80 99 00 C4 */ lwz r4, 0xc4(r25) /* 802573C8 00253028 80 79 00 90 */ lwz r3, 0x90(r25) /* 802573CC 0025302C 80 19 00 18 */ lwz r0, 0x18(r25) /* 802573D0 00253030 7C 64 1A 14 */ add r3, r4, r3 /* 802573D4 00253034 7C 03 00 40 */ cmplw r3, r0 /* 802573D8 00253038 40 82 00 60 */ bne lbl_80257438 /* 802573DC 0025303C 80 19 00 CC */ lwz r0, 0xcc(r25) /* 802573E0 00253040 2C 00 00 00 */ cmpwi r0, 0 /* 802573E4 00253044 40 82 00 54 */ bne lbl_80257438 /* 802573E8 00253048 9A F9 00 6A */ stb r23, 0x6a(r25) /* 802573EC 0025304C 9A F9 00 69 */ stb r23, 0x69(r25) /* 802573F0 00253050 48 00 00 48 */ b lbl_80257438 lbl_802573F4: /* 802573F4 00253054 80 79 00 C8 */ lwz r3, 0xc8(r25) /* 802573F8 00253058 2C 03 00 00 */ cmpwi r3, 0 /* 802573FC 0025305C 41 82 00 14 */ beq lbl_80257410 /* 80257400 00253060 80 63 00 0C */ lwz r3, 0xc(r3) /* 80257404 00253064 80 19 00 90 */ lwz r0, 0x90(r25) /* 80257408 00253068 7C 83 02 14 */ add r4, r3, r0 /* 8025740C 0025306C 48 00 00 0C */ b lbl_80257418 lbl_80257410: /* 80257410 00253070 80 79 00 90 */ lwz r3, 0x90(r25) /* 80257414 00253074 38 83 FF FF */ addi r4, r3, -1 lbl_80257418: /* 80257418 00253078 80 79 00 18 */ lwz r3, 0x18(r25) /* 8025741C 0025307C 38 03 FF FF */ addi r0, r3, -1 /* 80257420 00253080 7C 04 00 40 */ cmplw r4, r0 /* 80257424 00253084 40 82 00 14 */ bne lbl_80257438 /* 80257428 00253088 2C 1A 00 00 */ cmpwi r26, 0 /* 8025742C 0025308C 40 82 00 0C */ bne lbl_80257438 /* 80257430 00253090 9A F9 00 6A */ stb r23, 0x6a(r25) /* 80257434 00253094 9A F9 00 69 */ stb r23, 0x69(r25) lbl_80257438: /* 80257438 00253098 3B 18 00 01 */ addi r24, r24, 1 /* 8025743C 0025309C 3B 39 03 D8 */ addi r25, r25, 0x3d8 lbl_80257440: /* 80257440 002530A0 A0 0D A6 5C */ lhz r0, lbl_8063F91C-_SDA_BASE_(r13) /* 80257444 002530A4 7C 18 00 00 */ cmpw r24, r0 /* 80257448 002530A8 41 80 FD E4 */ blt lbl_8025722C /* 8025744C 002530AC 39 61 00 30 */ addi r11, r1, 0x30 /* 80257450 002530B0 4B F6 FD 15 */ bl _restgpr_23 /* 80257454 002530B4 80 01 00 34 */ lwz r0, 0x34(r1) /* 80257458 002530B8 7C 08 03 A6 */ mtlr r0 /* 8025745C 002530BC 38 21 00 30 */ addi r1, r1, 0x30 /* 80257460 002530C0 4E 80 00 20 */ blr .global func_80257464 func_80257464: /* 80257464 002530C4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80257468 002530C8 7C 08 02 A6 */ mflr r0 /* 8025746C 002530CC 90 01 00 14 */ stw r0, 0x14(r1) /* 80257470 002530D0 80 63 00 50 */ lwz r3, 0x50(r3) /* 80257474 002530D4 54 60 07 FF */ clrlwi. r0, r3, 0x1f /* 80257478 002530D8 41 82 00 18 */ beq lbl_80257490 /* 8025747C 002530DC 48 02 24 2D */ bl VIGetNextField /* 80257480 002530E0 2C 03 00 00 */ cmpwi r3, 0 /* 80257484 002530E4 40 82 00 30 */ bne lbl_802574B4 /* 80257488 002530E8 38 60 00 01 */ li r3, 1 /* 8025748C 002530EC 48 00 00 2C */ b lbl_802574B8 lbl_80257490: /* 80257490 002530F0 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e /* 80257494 002530F4 41 82 00 18 */ beq lbl_802574AC /* 80257498 002530F8 48 02 24 11 */ bl VIGetNextField /* 8025749C 002530FC 28 03 00 01 */ cmplwi r3, 1 /* 802574A0 00253100 40 82 00 14 */ bne lbl_802574B4 /* 802574A4 00253104 38 60 00 01 */ li r3, 1 /* 802574A8 00253108 48 00 00 10 */ b lbl_802574B8 lbl_802574AC: /* 802574AC 0025310C 38 60 00 01 */ li r3, 1 /* 802574B0 00253110 48 00 00 08 */ b lbl_802574B8 lbl_802574B4: /* 802574B4 00253114 38 60 00 00 */ li r3, 0 lbl_802574B8: /* 802574B8 00253118 80 01 00 14 */ lwz r0, 0x14(r1) /* 802574BC 0025311C 7C 08 03 A6 */ mtlr r0 /* 802574C0 00253120 38 21 00 10 */ addi r1, r1, 0x10 /* 802574C4 00253124 4E 80 00 20 */ blr .global func_802574C8 func_802574C8: /* 802574C8 00253128 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802574CC 0025312C 7C 08 02 A6 */ mflr r0 /* 802574D0 00253130 90 01 00 24 */ stw r0, 0x24(r1) /* 802574D4 00253134 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802574D8 00253138 7C 7F 1B 78 */ mr r31, r3 /* 802574DC 0025313C 93 C1 00 18 */ stw r30, 0x18(r1) /* 802574E0 00253140 80 83 00 50 */ lwz r4, 0x50(r3) /* 802574E4 00253144 54 80 07 FF */ clrlwi. r0, r4, 0x1f /* 802574E8 00253148 41 82 00 18 */ beq lbl_80257500 /* 802574EC 0025314C 48 02 23 BD */ bl VIGetNextField /* 802574F0 00253150 2C 03 00 00 */ cmpwi r3, 0 /* 802574F4 00253154 40 82 00 D4 */ bne lbl_802575C8 /* 802574F8 00253158 38 60 00 01 */ li r3, 1 /* 802574FC 0025315C 48 00 00 D0 */ b lbl_802575CC lbl_80257500: /* 80257500 00253160 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e /* 80257504 00253164 41 82 00 18 */ beq lbl_8025751C /* 80257508 00253168 48 02 23 A1 */ bl VIGetNextField /* 8025750C 0025316C 28 03 00 01 */ cmplwi r3, 1 /* 80257510 00253170 40 82 00 B8 */ bne lbl_802575C8 /* 80257514 00253174 38 60 00 01 */ li r3, 1 /* 80257518 00253178 48 00 00 B4 */ b lbl_802575CC lbl_8025751C: /* 8025751C 0025317C C0 22 9F 70 */ lfs f1, lbl_80642570-_SDA2_BASE_(r2) /* 80257520 00253180 C0 03 00 14 */ lfs f0, 0x14(r3) /* 80257524 00253184 EC 01 00 32 */ fmuls f0, f1, f0 /* 80257528 00253188 FC 00 00 1E */ fctiwz f0, f0 /* 8025752C 0025318C D8 01 00 08 */ stfd f0, 8(r1) /* 80257530 00253190 83 C1 00 0C */ lwz r30, 0xc(r1) /* 80257534 00253194 48 02 24 A1 */ bl VIGetTvFormat /* 80257538 00253198 28 03 00 01 */ cmplwi r3, 1 /* 8025753C 0025319C 40 82 00 3C */ bne lbl_80257578 /* 80257540 002531A0 80 FF 00 AC */ lwz r7, 0xac(r31) /* 80257544 002531A4 7F C0 FE 70 */ srawi r0, r30, 0x1f /* 80257548 002531A8 80 9F 00 A8 */ lwz r4, 0xa8(r31) /* 8025754C 002531AC 38 C0 13 88 */ li r6, 0x1388 /* 80257550 002531B0 7C 67 F0 16 */ mulhwu r3, r7, r30 /* 80257554 002531B4 38 A0 00 00 */ li r5, 0 /* 80257558 002531B8 7C 84 F1 D6 */ mullw r4, r4, r30 /* 8025755C 002531BC 7C 63 22 14 */ add r3, r3, r4 /* 80257560 002531C0 7C 07 01 D6 */ mullw r0, r7, r0 /* 80257564 002531C4 7C 87 F1 D6 */ mullw r4, r7, r30 /* 80257568 002531C8 7C 63 02 14 */ add r3, r3, r0 /* 8025756C 002531CC 4B F6 FD 0D */ bl __div2i /* 80257570 002531D0 90 9F 00 B4 */ stw r4, 0xb4(r31) /* 80257574 002531D4 48 00 00 38 */ b lbl_802575AC lbl_80257578: /* 80257578 002531D8 80 FF 00 AC */ lwz r7, 0xac(r31) /* 8025757C 002531DC 7F C0 FE 70 */ srawi r0, r30, 0x1f /* 80257580 002531E0 80 9F 00 A8 */ lwz r4, 0xa8(r31) /* 80257584 002531E4 38 C0 17 6A */ li r6, 0x176a /* 80257588 002531E8 7C 67 F0 16 */ mulhwu r3, r7, r30 /* 8025758C 002531EC 38 A0 00 00 */ li r5, 0 /* 80257590 002531F0 7C 84 F1 D6 */ mullw r4, r4, r30 /* 80257594 002531F4 7C 63 22 14 */ add r3, r3, r4 /* 80257598 002531F8 7C 07 01 D6 */ mullw r0, r7, r0 /* 8025759C 002531FC 7C 87 F1 D6 */ mullw r4, r7, r30 /* 802575A0 00253200 7C 63 02 14 */ add r3, r3, r0 /* 802575A4 00253204 4B F6 FC D5 */ bl __div2i /* 802575A8 00253208 90 9F 00 B4 */ stw r4, 0xb4(r31) lbl_802575AC: /* 802575AC 0025320C 80 7F 00 B4 */ lwz r3, 0xb4(r31) /* 802575B0 00253210 80 1F 00 B0 */ lwz r0, 0xb0(r31) /* 802575B4 00253214 7C 00 18 00 */ cmpw r0, r3 /* 802575B8 00253218 41 82 00 10 */ beq lbl_802575C8 /* 802575BC 0025321C 90 7F 00 B0 */ stw r3, 0xb0(r31) /* 802575C0 00253220 38 60 00 01 */ li r3, 1 /* 802575C4 00253224 48 00 00 08 */ b lbl_802575CC lbl_802575C8: /* 802575C8 00253228 38 60 00 00 */ li r3, 0 lbl_802575CC: /* 802575CC 0025322C 80 01 00 24 */ lwz r0, 0x24(r1) /* 802575D0 00253230 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802575D4 00253234 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802575D8 00253238 7C 08 03 A6 */ mtlr r0 /* 802575DC 0025323C 38 21 00 20 */ addi r1, r1, 0x20 /* 802575E0 00253240 4E 80 00 20 */ blr .global func_802575E4 func_802575E4: /* 802575E4 00253244 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802575E8 00253248 7C 08 02 A6 */ mflr r0 /* 802575EC 0025324C 90 01 00 24 */ stw r0, 0x24(r1) /* 802575F0 00253250 39 61 00 20 */ addi r11, r1, 0x20 /* 802575F4 00253254 4B F6 FB 31 */ bl _savegpr_26 /* 802575F8 00253258 7C 7A 1B 78 */ mr r26, r3 /* 802575FC 0025325C 7C 9B 23 78 */ mr r27, r4 /* 80257600 00253260 7C BC 2B 78 */ mr r28, r5 /* 80257604 00253264 7C DD 33 78 */ mr r29, r6 /* 80257608 00253268 7C FE 3B 78 */ mr r30, r7 /* 8025760C 0025326C 7D 1F 43 78 */ mr r31, r8 /* 80257610 00253270 38 80 00 00 */ li r4, 0 /* 80257614 00253274 38 A0 00 0C */ li r5, 0xc /* 80257618 00253278 38 63 00 48 */ addi r3, r3, 0x48 /* 8025761C 0025327C 4B DA CA E9 */ bl memset /* 80257620 00253280 38 7A 00 54 */ addi r3, r26, 0x54 /* 80257624 00253284 38 80 00 00 */ li r4, 0 /* 80257628 00253288 38 A0 00 10 */ li r5, 0x10 /* 8025762C 0025328C 4B DA CA D9 */ bl memset /* 80257630 00253290 7F 63 DB 78 */ mr r3, r27 /* 80257634 00253294 4B FF 1F 05 */ bl func_80249538 /* 80257638 00253298 2C 03 00 00 */ cmpwi r3, 0 /* 8025763C 0025329C 40 82 00 0C */ bne lbl_80257648 /* 80257640 002532A0 38 60 00 00 */ li r3, 0 /* 80257644 002532A4 48 00 00 8C */ b lbl_802576D0 lbl_80257648: /* 80257648 002532A8 38 60 00 01 */ li r3, 1 /* 8025764C 002532AC 38 00 00 00 */ li r0, 0 /* 80257650 002532B0 2C 1F 00 00 */ cmpwi r31, 0 /* 80257654 002532B4 93 7A 00 00 */ stw r27, 0(r26) /* 80257658 002532B8 98 7A 00 6A */ stb r3, 0x6a(r26) /* 8025765C 002532BC 98 7A 00 69 */ stb r3, 0x69(r26) /* 80257660 002532C0 98 7A 00 68 */ stb r3, 0x68(r26) /* 80257664 002532C4 9B BA 00 6D */ stb r29, 0x6d(r26) /* 80257668 002532C8 9B DA 00 6E */ stb r30, 0x6e(r26) /* 8025766C 002532CC 9B 9A 00 74 */ stb r28, 0x74(r26) /* 80257670 002532D0 93 FA 01 FC */ stw r31, 0x1fc(r26) /* 80257674 002532D4 98 7A 00 6C */ stb r3, 0x6c(r26) /* 80257678 002532D8 98 1A 00 70 */ stb r0, 0x70(r26) /* 8025767C 002532DC 98 7A 00 6F */ stb r3, 0x6f(r26) /* 80257680 002532E0 90 1A 01 F8 */ stw r0, 0x1f8(r26) /* 80257684 002532E4 41 82 00 28 */ beq lbl_802576AC /* 80257688 002532E8 80 6D A6 68 */ lwz r3, lbl_8063F928-_SDA_BASE_(r13) /* 8025768C 002532EC 83 E3 00 10 */ lwz r31, 0x10(r3) /* 80257690 002532F0 57 E3 86 3E */ rlwinm r3, r31, 0x10, 0x18, 0x1f /* 80257694 002532F4 4B FE 39 C5 */ bl func_8023B058 /* 80257698 002532F8 2C 03 00 00 */ cmpwi r3, 0 /* 8025769C 002532FC 41 82 00 30 */ beq lbl_802576CC /* 802576A0 00253300 7F E4 FB 78 */ mr r4, r31 /* 802576A4 00253304 4B FE 3D 15 */ bl func_8023B3B8 /* 802576A8 00253308 48 00 00 24 */ b lbl_802576CC lbl_802576AC: /* 802576AC 0025330C 80 6D A6 68 */ lwz r3, lbl_8063F928-_SDA_BASE_(r13) /* 802576B0 00253310 83 E3 00 14 */ lwz r31, 0x14(r3) /* 802576B4 00253314 57 E3 86 3E */ rlwinm r3, r31, 0x10, 0x18, 0x1f /* 802576B8 00253318 4B FE 39 A1 */ bl func_8023B058 /* 802576BC 0025331C 2C 03 00 00 */ cmpwi r3, 0 /* 802576C0 00253320 41 82 00 0C */ beq lbl_802576CC /* 802576C4 00253324 7F E4 FB 78 */ mr r4, r31 /* 802576C8 00253328 4B FE 3C F1 */ bl func_8023B3B8 lbl_802576CC: /* 802576CC 0025332C 38 60 00 01 */ li r3, 1 lbl_802576D0: /* 802576D0 00253330 39 61 00 20 */ addi r11, r1, 0x20 /* 802576D4 00253334 4B F6 FA 9D */ bl _restgpr_26 /* 802576D8 00253338 80 01 00 24 */ lwz r0, 0x24(r1) /* 802576DC 0025333C 7C 08 03 A6 */ mtlr r0 /* 802576E0 00253340 38 21 00 20 */ addi r1, r1, 0x20 /* 802576E4 00253344 4E 80 00 20 */ blr .global func_802576E8 func_802576E8: /* 802576E8 00253348 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802576EC 0025334C 7C 08 02 A6 */ mflr r0 /* 802576F0 00253350 90 01 00 14 */ stw r0, 0x14(r1) /* 802576F4 00253354 93 E1 00 0C */ stw r31, 0xc(r1) /* 802576F8 00253358 93 C1 00 08 */ stw r30, 8(r1) /* 802576FC 0025335C 7C 7E 1B 78 */ mr r30, r3 /* 80257700 00253360 88 03 00 6C */ lbz r0, 0x6c(r3) /* 80257704 00253364 2C 00 00 00 */ cmpwi r0, 0 /* 80257708 00253368 41 82 00 84 */ beq lbl_8025778C /* 8025770C 0025336C 80 03 01 FC */ lwz r0, 0x1fc(r3) /* 80257710 00253370 2C 00 00 00 */ cmpwi r0, 0 /* 80257714 00253374 41 82 00 28 */ beq lbl_8025773C /* 80257718 00253378 80 6D A6 68 */ lwz r3, lbl_8063F928-_SDA_BASE_(r13) /* 8025771C 0025337C 83 E3 00 10 */ lwz r31, 0x10(r3) /* 80257720 00253380 57 E3 86 3E */ rlwinm r3, r31, 0x10, 0x18, 0x1f /* 80257724 00253384 4B FE 39 35 */ bl func_8023B058 /* 80257728 00253388 2C 03 00 00 */ cmpwi r3, 0 /* 8025772C 0025338C 41 82 00 30 */ beq lbl_8025775C /* 80257730 00253390 7F E4 FB 78 */ mr r4, r31 /* 80257734 00253394 4B FE 3C ED */ bl func_8023B420 /* 80257738 00253398 48 00 00 24 */ b lbl_8025775C lbl_8025773C: /* 8025773C 0025339C 80 6D A6 68 */ lwz r3, lbl_8063F928-_SDA_BASE_(r13) /* 80257740 002533A0 83 E3 00 14 */ lwz r31, 0x14(r3) /* 80257744 002533A4 57 E3 86 3E */ rlwinm r3, r31, 0x10, 0x18, 0x1f /* 80257748 002533A8 4B FE 39 11 */ bl func_8023B058 /* 8025774C 002533AC 2C 03 00 00 */ cmpwi r3, 0 /* 80257750 002533B0 41 82 00 0C */ beq lbl_8025775C /* 80257754 002533B4 7F E4 FB 78 */ mr r4, r31 /* 80257758 002533B8 4B FE 3C C9 */ bl func_8023B420 lbl_8025775C: /* 8025775C 002533BC 7F C3 F3 78 */ mr r3, r30 /* 80257760 002533C0 48 00 09 61 */ bl func_802580C0 /* 80257764 002533C4 80 7E 00 00 */ lwz r3, 0(r30) /* 80257768 002533C8 4B FF 21 29 */ bl func_80249890 /* 8025776C 002533CC 80 7E 01 9C */ lwz r3, 0x19c(r30) /* 80257770 002533D0 3B E0 00 00 */ li r31, 0 /* 80257774 002533D4 9B FE 00 6C */ stb r31, 0x6c(r30) /* 80257778 002533D8 2C 03 00 00 */ cmpwi r3, 0 /* 8025777C 002533DC 9B FE 00 6F */ stb r31, 0x6f(r30) /* 80257780 002533E0 41 82 00 0C */ beq lbl_8025778C /* 80257784 002533E4 4B F8 37 21 */ bl func_801DAEA4 /* 80257788 002533E8 93 FE 01 9C */ stw r31, 0x19c(r30) lbl_8025778C: /* 8025778C 002533EC 80 01 00 14 */ lwz r0, 0x14(r1) /* 80257790 002533F0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80257794 002533F4 83 C1 00 08 */ lwz r30, 8(r1) /* 80257798 002533F8 7C 08 03 A6 */ mtlr r0 /* 8025779C 002533FC 38 21 00 10 */ addi r1, r1, 0x10 /* 802577A0 00253400 4E 80 00 20 */ blr .global func_802577A4 func_802577A4: /* 802577A4 00253404 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802577A8 00253408 7C 08 02 A6 */ mflr r0 /* 802577AC 0025340C 90 01 00 24 */ stw r0, 0x24(r1) /* 802577B0 00253410 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802577B4 00253414 93 C1 00 18 */ stw r30, 0x18(r1) /* 802577B8 00253418 7C 7E 1B 78 */ mr r30, r3 /* 802577BC 0025341C 88 03 00 6C */ lbz r0, 0x6c(r3) /* 802577C0 00253420 2C 00 00 00 */ cmpwi r0, 0 /* 802577C4 00253424 41 82 01 18 */ beq lbl_802578DC /* 802577C8 00253428 88 03 00 6D */ lbz r0, 0x6d(r3) /* 802577CC 0025342C 2C 00 00 00 */ cmpwi r0, 0 /* 802577D0 00253430 41 82 00 18 */ beq lbl_802577E8 /* 802577D4 00253434 80 83 00 20 */ lwz r4, 0x20(r3) /* 802577D8 00253438 38 04 00 1F */ addi r0, r4, 0x1f /* 802577DC 0025343C 90 83 00 7C */ stw r4, 0x7c(r3) /* 802577E0 00253440 54 1F 00 34 */ rlwinm r31, r0, 0, 0, 0x1a /* 802577E4 00253444 48 00 00 48 */ b lbl_8025782C lbl_802577E8: /* 802577E8 00253448 4B FF 22 C1 */ bl func_80249AA8 /* 802577EC 0025344C 80 1E 00 0C */ lwz r0, 0xc(r30) /* 802577F0 00253450 90 7E 00 7C */ stw r3, 0x7c(r30) /* 802577F4 00253454 7C 00 18 40 */ cmplw r0, r3 /* 802577F8 00253458 40 81 00 14 */ ble lbl_8025780C /* 802577FC 0025345C 7C 80 1B 96 */ divwu r4, r0, r3 /* 80257800 00253460 38 04 00 01 */ addi r0, r4, 1 /* 80257804 00253464 7C 03 01 D6 */ mullw r0, r3, r0 /* 80257808 00253468 90 1E 00 7C */ stw r0, 0x7c(r30) lbl_8025780C: /* 8025780C 0025346C 80 9E 00 0C */ lwz r4, 0xc(r30) /* 80257810 00253470 80 7E 00 7C */ lwz r3, 0x7c(r30) /* 80257814 00253474 38 04 00 1F */ addi r0, r4, 0x1f /* 80257818 00253478 54 04 00 34 */ rlwinm r4, r0, 0, 0, 0x1a /* 8025781C 0025347C 1F E4 00 0A */ mulli r31, r4, 0xa /* 80257820 00253480 38 03 00 1F */ addi r0, r3, 0x1f /* 80257824 00253484 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a /* 80257828 00253488 7F FF 02 14 */ add r31, r31, r0 lbl_8025782C: /* 8025782C 0025348C 80 9E 00 48 */ lwz r4, 0x48(r30) /* 80257830 00253490 80 7E 00 4C */ lwz r3, 0x4c(r30) /* 80257834 00253494 88 1E 00 6B */ lbz r0, 0x6b(r30) /* 80257838 00253498 7C 64 19 D6 */ mullw r3, r4, r3 /* 8025783C 0025349C 2C 00 00 00 */ cmpwi r0, 0 /* 80257840 002534A0 38 A3 00 1F */ addi r5, r3, 0x1f /* 80257844 002534A4 54 63 F0 BE */ srwi r3, r3, 2 /* 80257848 002534A8 38 03 00 1F */ addi r0, r3, 0x1f /* 8025784C 002534AC 54 A4 00 34 */ rlwinm r4, r5, 0, 0, 0x1a /* 80257850 002534B0 54 A3 10 30 */ rlwinm r3, r5, 2, 0, 0x18 /* 80257854 002534B4 7C 84 18 50 */ subf r4, r4, r3 /* 80257858 002534B8 54 03 00 34 */ rlwinm r3, r0, 0, 0, 0x1a /* 8025785C 002534BC 54 00 10 30 */ rlwinm r0, r0, 2, 0, 0x18 /* 80257860 002534C0 7F FF 22 14 */ add r31, r31, r4 /* 80257864 002534C4 7C 03 00 50 */ subf r0, r3, r0 /* 80257868 002534C8 7F FF 02 14 */ add r31, r31, r0 /* 8025786C 002534CC 7F FF 02 14 */ add r31, r31, r0 /* 80257870 002534D0 41 82 00 64 */ beq lbl_802578D4 /* 80257874 002534D4 80 7E 00 58 */ lwz r3, 0x58(r30) /* 80257878 002534D8 3C 00 43 30 */ lis r0, 0x4330 /* 8025787C 002534DC 80 9E 00 10 */ lwz r4, 0x10(r30) /* 80257880 002534E0 1C 63 00 28 */ mulli r3, r3, 0x28 /* 80257884 002534E4 90 01 00 08 */ stw r0, 8(r1) /* 80257888 002534E8 54 84 10 3A */ slwi r4, r4, 2 /* 8025788C 002534EC C8 62 9F 80 */ lfd f3, lbl_80642580-_SDA2_BASE_(r2) /* 80257890 002534F0 C0 22 9F 78 */ lfs f1, lbl_80642578-_SDA2_BASE_(r2) /* 80257894 002534F4 90 61 00 0C */ stw r3, 0xc(r1) /* 80257898 002534F8 38 04 00 1F */ addi r0, r4, 0x1f /* 8025789C 002534FC C0 02 9F 74 */ lfs f0, lbl_80642574-_SDA2_BASE_(r2) /* 802578A0 00253500 C8 41 00 08 */ lfd f2, 8(r1) /* 802578A4 00253504 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a /* 802578A8 00253508 1C 00 00 06 */ mulli r0, r0, 6 /* 802578AC 0025350C EC 42 18 28 */ fsubs f2, f2, f3 /* 802578B0 00253510 7F FF 02 14 */ add r31, r31, r0 /* 802578B4 00253514 EC 22 08 24 */ fdivs f1, f2, f1 /* 802578B8 00253518 EC 20 08 2A */ fadds f1, f0, f1 /* 802578BC 0025351C 4B F6 F7 45 */ bl __cvt_fp2unsigned /* 802578C0 00253520 38 63 00 1F */ addi r3, r3, 0x1f /* 802578C4 00253524 80 1E 00 54 */ lwz r0, 0x54(r30) /* 802578C8 00253528 54 63 08 32 */ rlwinm r3, r3, 1, 0, 0x19 /* 802578CC 0025352C 7C 00 19 D6 */ mullw r0, r0, r3 /* 802578D0 00253530 7F FF 02 14 */ add r31, r31, r0 lbl_802578D4: /* 802578D4 00253534 38 7F 10 00 */ addi r3, r31, 0x1000 /* 802578D8 00253538 48 00 00 08 */ b lbl_802578E0 lbl_802578DC: /* 802578DC 0025353C 38 60 00 00 */ li r3, 0 lbl_802578E0: /* 802578E0 00253540 80 01 00 24 */ lwz r0, 0x24(r1) /* 802578E4 00253544 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802578E8 00253548 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802578EC 0025354C 7C 08 03 A6 */ mtlr r0 /* 802578F0 00253550 38 21 00 20 */ addi r1, r1, 0x20 /* 802578F4 00253554 4E 80 00 20 */ blr .global func_802578F8 func_802578F8: /* 802578F8 00253558 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802578FC 0025355C 7C 08 02 A6 */ mflr r0 /* 80257900 00253560 90 01 00 34 */ stw r0, 0x34(r1) /* 80257904 00253564 39 61 00 30 */ addi r11, r1, 0x30 /* 80257908 00253568 4B F6 F8 1D */ bl _savegpr_26 /* 8025790C 0025356C 88 03 00 6C */ lbz r0, 0x6c(r3) /* 80257910 00253570 7C 7E 1B 78 */ mr r30, r3 /* 80257914 00253574 2C 00 00 00 */ cmpwi r0, 0 /* 80257918 00253578 41 82 00 10 */ beq lbl_80257928 /* 8025791C 0025357C 88 03 00 69 */ lbz r0, 0x69(r3) /* 80257920 00253580 28 00 00 02 */ cmplwi r0, 2 /* 80257924 00253584 41 82 00 0C */ beq lbl_80257930 lbl_80257928: /* 80257928 00253588 38 60 00 00 */ li r3, 0 /* 8025792C 0025358C 48 00 02 A8 */ b lbl_80257BD4 lbl_80257930: /* 80257930 00253590 4B FF FE 75 */ bl func_802577A4 /* 80257934 00253594 2C 03 00 00 */ cmpwi r3, 0 /* 80257938 00253598 40 82 00 0C */ bne lbl_80257944 /* 8025793C 0025359C 38 60 00 00 */ li r3, 0 /* 80257940 002535A0 48 00 02 94 */ b lbl_80257BD4 lbl_80257944: /* 80257944 002535A4 38 03 00 1F */ addi r0, r3, 0x1f /* 80257948 002535A8 38 80 00 20 */ li r4, 0x20 /* 8025794C 002535AC 54 03 00 34 */ rlwinm r3, r0, 0, 0, 0x1a /* 80257950 002535B0 4B F8 34 7D */ bl func_801DADCC /* 80257954 002535B4 2C 03 00 00 */ cmpwi r3, 0 /* 80257958 002535B8 40 82 00 0C */ bne lbl_80257964 /* 8025795C 002535BC 38 60 00 00 */ li r3, 0 /* 80257960 002535C0 48 00 02 74 */ b lbl_80257BD4 lbl_80257964: /* 80257964 002535C4 88 1E 00 6D */ lbz r0, 0x6d(r30) /* 80257968 002535C8 80 9E 00 7C */ lwz r4, 0x7c(r30) /* 8025796C 002535CC 2C 00 00 00 */ cmpwi r0, 0 /* 80257970 002535D0 90 7E 01 9C */ stw r3, 0x19c(r30) /* 80257974 002535D4 7F E3 22 14 */ add r31, r3, r4 /* 80257978 002535D8 90 7E 00 78 */ stw r3, 0x78(r30) /* 8025797C 002535DC 40 82 00 CC */ bne lbl_80257A48 /* 80257980 002535E0 93 FE 00 D0 */ stw r31, 0xd0(r30) /* 80257984 002535E4 80 7E 00 0C */ lwz r3, 0xc(r30) /* 80257988 002535E8 38 03 00 1F */ addi r0, r3, 0x1f /* 8025798C 002535EC 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a /* 80257990 002535F0 7F FF 02 14 */ add r31, r31, r0 /* 80257994 002535F4 93 FE 00 D8 */ stw r31, 0xd8(r30) /* 80257998 002535F8 80 7E 00 0C */ lwz r3, 0xc(r30) /* 8025799C 002535FC 38 03 00 1F */ addi r0, r3, 0x1f /* 802579A0 00253600 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a /* 802579A4 00253604 7F FF 02 14 */ add r31, r31, r0 /* 802579A8 00253608 93 FE 00 E0 */ stw r31, 0xe0(r30) /* 802579AC 0025360C 80 7E 00 0C */ lwz r3, 0xc(r30) /* 802579B0 00253610 38 03 00 1F */ addi r0, r3, 0x1f /* 802579B4 00253614 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a /* 802579B8 00253618 7F FF 02 14 */ add r31, r31, r0 /* 802579BC 0025361C 93 FE 00 E8 */ stw r31, 0xe8(r30) /* 802579C0 00253620 80 7E 00 0C */ lwz r3, 0xc(r30) /* 802579C4 00253624 38 03 00 1F */ addi r0, r3, 0x1f /* 802579C8 00253628 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a /* 802579CC 0025362C 7F FF 02 14 */ add r31, r31, r0 /* 802579D0 00253630 93 FE 00 F0 */ stw r31, 0xf0(r30) /* 802579D4 00253634 80 7E 00 0C */ lwz r3, 0xc(r30) /* 802579D8 00253638 38 03 00 1F */ addi r0, r3, 0x1f /* 802579DC 0025363C 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a /* 802579E0 00253640 7F FF 02 14 */ add r31, r31, r0 /* 802579E4 00253644 93 FE 00 F8 */ stw r31, 0xf8(r30) /* 802579E8 00253648 80 7E 00 0C */ lwz r3, 0xc(r30) /* 802579EC 0025364C 38 03 00 1F */ addi r0, r3, 0x1f /* 802579F0 00253650 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a /* 802579F4 00253654 7F FF 02 14 */ add r31, r31, r0 /* 802579F8 00253658 93 FE 01 00 */ stw r31, 0x100(r30) /* 802579FC 0025365C 80 7E 00 0C */ lwz r3, 0xc(r30) /* 80257A00 00253660 38 03 00 1F */ addi r0, r3, 0x1f /* 80257A04 00253664 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a /* 80257A08 00253668 7F FF 02 14 */ add r31, r31, r0 /* 80257A0C 0025366C 93 FE 01 08 */ stw r31, 0x108(r30) /* 80257A10 00253670 80 7E 00 0C */ lwz r3, 0xc(r30) /* 80257A14 00253674 38 03 00 1F */ addi r0, r3, 0x1f /* 80257A18 00253678 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a /* 80257A1C 0025367C 7F FF 02 14 */ add r31, r31, r0 /* 80257A20 00253680 93 FE 01 10 */ stw r31, 0x110(r30) /* 80257A24 00253684 80 7E 00 0C */ lwz r3, 0xc(r30) /* 80257A28 00253688 38 03 00 1F */ addi r0, r3, 0x1f /* 80257A2C 0025368C 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a /* 80257A30 00253690 7F FF 02 14 */ add r31, r31, r0 /* 80257A34 00253694 93 FE 01 18 */ stw r31, 0x118(r30) /* 80257A38 00253698 80 7E 00 0C */ lwz r3, 0xc(r30) /* 80257A3C 0025369C 38 03 00 1F */ addi r0, r3, 0x1f /* 80257A40 002536A0 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a /* 80257A44 002536A4 7F FF 02 14 */ add r31, r31, r0 lbl_80257A48: /* 80257A48 002536A8 80 7E 00 48 */ lwz r3, 0x48(r30) /* 80257A4C 002536AC 7F DD F3 78 */ mr r29, r30 /* 80257A50 002536B0 80 1E 00 4C */ lwz r0, 0x4c(r30) /* 80257A54 002536B4 3B 80 00 00 */ li r28, 0 /* 80257A58 002536B8 7C 83 01 D6 */ mullw r4, r3, r0 /* 80257A5C 002536BC 54 83 F0 BE */ srwi r3, r4, 2 /* 80257A60 002536C0 38 84 00 1F */ addi r4, r4, 0x1f /* 80257A64 002536C4 38 03 00 1F */ addi r0, r3, 0x1f /* 80257A68 002536C8 54 9B 00 34 */ rlwinm r27, r4, 0, 0, 0x1a /* 80257A6C 002536CC 54 1A 00 34 */ rlwinm r26, r0, 0, 0, 0x1a lbl_80257A70: /* 80257A70 002536D0 93 FD 01 20 */ stw r31, 0x120(r29) /* 80257A74 002536D4 7F E3 FB 78 */ mr r3, r31 /* 80257A78 002536D8 7F 64 DB 78 */ mr r4, r27 /* 80257A7C 002536DC 48 01 2B AD */ bl DCInvalidateRange /* 80257A80 002536E0 7F FF DA 14 */ add r31, r31, r27 /* 80257A84 002536E4 7F 44 D3 78 */ mr r4, r26 /* 80257A88 002536E8 93 FD 01 24 */ stw r31, 0x124(r29) /* 80257A8C 002536EC 7F E3 FB 78 */ mr r3, r31 /* 80257A90 002536F0 48 01 2B 99 */ bl DCInvalidateRange /* 80257A94 002536F4 7F FF D2 14 */ add r31, r31, r26 /* 80257A98 002536F8 7F 44 D3 78 */ mr r4, r26 /* 80257A9C 002536FC 93 FD 01 28 */ stw r31, 0x128(r29) /* 80257AA0 00253700 7F E3 FB 78 */ mr r3, r31 /* 80257AA4 00253704 48 01 2B 85 */ bl DCInvalidateRange /* 80257AA8 00253708 3B 9C 00 01 */ addi r28, r28, 1 /* 80257AAC 0025370C 7F FF D2 14 */ add r31, r31, r26 /* 80257AB0 00253710 28 1C 00 03 */ cmplwi r28, 3 /* 80257AB4 00253714 3B BD 00 10 */ addi r29, r29, 0x10 /* 80257AB8 00253718 41 80 FF B8 */ blt lbl_80257A70 /* 80257ABC 0025371C 88 1E 00 6B */ lbz r0, 0x6b(r30) /* 80257AC0 00253720 2C 00 00 00 */ cmpwi r0, 0 /* 80257AC4 00253724 41 82 01 08 */ beq lbl_80257BCC /* 80257AC8 00253728 80 1E 00 58 */ lwz r0, 0x58(r30) /* 80257ACC 0025372C 38 80 00 00 */ li r4, 0 /* 80257AD0 00253730 3F A0 43 30 */ lis r29, 0x4330 /* 80257AD4 00253734 80 7E 00 10 */ lwz r3, 0x10(r30) /* 80257AD8 00253738 1C 00 00 28 */ mulli r0, r0, 0x28 /* 80257ADC 0025373C 93 A1 00 08 */ stw r29, 8(r1) /* 80257AE0 00253740 C8 62 9F 80 */ lfd f3, lbl_80642580-_SDA2_BASE_(r2) /* 80257AE4 00253744 54 63 10 3A */ slwi r3, r3, 2 /* 80257AE8 00253748 C0 22 9F 78 */ lfs f1, lbl_80642578-_SDA2_BASE_(r2) /* 80257AEC 0025374C 90 01 00 0C */ stw r0, 0xc(r1) /* 80257AF0 00253750 38 03 00 1F */ addi r0, r3, 0x1f /* 80257AF4 00253754 C0 02 9F 74 */ lfs f0, lbl_80642574-_SDA2_BASE_(r2) /* 80257AF8 00253758 C8 41 00 08 */ lfd f2, 8(r1) /* 80257AFC 0025375C 54 00 00 34 */ rlwinm r0, r0, 0, 0, 0x1a /* 80257B00 00253760 93 FE 01 50 */ stw r31, 0x150(r30) /* 80257B04 00253764 EC 42 18 28 */ fsubs f2, f2, f3 /* 80257B08 00253768 93 FE 01 54 */ stw r31, 0x154(r30) /* 80257B0C 0025376C 7F FF 02 14 */ add r31, r31, r0 /* 80257B10 00253770 EC 22 08 24 */ fdivs f1, f2, f1 /* 80257B14 00253774 93 FE 01 5C */ stw r31, 0x15c(r30) /* 80257B18 00253778 93 FE 01 60 */ stw r31, 0x160(r30) /* 80257B1C 0025377C 7F FF 02 14 */ add r31, r31, r0 /* 80257B20 00253780 93 FE 01 68 */ stw r31, 0x168(r30) /* 80257B24 00253784 93 FE 01 6C */ stw r31, 0x16c(r30) /* 80257B28 00253788 7F FF 02 14 */ add r31, r31, r0 /* 80257B2C 0025378C EC 20 08 2A */ fadds f1, f0, f1 /* 80257B30 00253790 93 FE 01 74 */ stw r31, 0x174(r30) /* 80257B34 00253794 93 FE 01 78 */ stw r31, 0x178(r30) /* 80257B38 00253798 7F FF 02 14 */ add r31, r31, r0 /* 80257B3C 0025379C 93 FE 01 80 */ stw r31, 0x180(r30) /* 80257B40 002537A0 93 FE 01 84 */ stw r31, 0x184(r30) /* 80257B44 002537A4 7F FF 02 14 */ add r31, r31, r0 /* 80257B48 002537A8 93 FE 01 8C */ stw r31, 0x18c(r30) /* 80257B4C 002537AC 93 FE 01 90 */ stw r31, 0x190(r30) /* 80257B50 002537B0 7F FF 02 14 */ add r31, r31, r0 /* 80257B54 002537B4 90 9E 01 58 */ stw r4, 0x158(r30) /* 80257B58 002537B8 90 9E 01 64 */ stw r4, 0x164(r30) /* 80257B5C 002537BC 90 9E 01 70 */ stw r4, 0x170(r30) /* 80257B60 002537C0 90 9E 01 7C */ stw r4, 0x17c(r30) /* 80257B64 002537C4 90 9E 01 88 */ stw r4, 0x188(r30) /* 80257B68 002537C8 90 9E 01 94 */ stw r4, 0x194(r30) /* 80257B6C 002537CC 93 FE 01 A8 */ stw r31, 0x1a8(r30) /* 80257B70 002537D0 4B F6 F4 91 */ bl __cvt_fp2unsigned /* 80257B74 002537D4 80 1E 00 54 */ lwz r0, 0x54(r30) /* 80257B78 002537D8 38 63 00 1F */ addi r3, r3, 0x1f /* 80257B7C 002537DC 54 63 08 32 */ rlwinm r3, r3, 1, 0, 0x19 /* 80257B80 002537E0 28 00 00 02 */ cmplwi r0, 2 /* 80257B84 002537E4 7F FF 1A 14 */ add r31, r31, r3 /* 80257B88 002537E8 40 82 00 44 */ bne lbl_80257BCC /* 80257B8C 002537EC 80 1E 00 58 */ lwz r0, 0x58(r30) /* 80257B90 002537F0 93 A1 00 08 */ stw r29, 8(r1) /* 80257B94 002537F4 1C 00 00 28 */ mulli r0, r0, 0x28 /* 80257B98 002537F8 C8 62 9F 80 */ lfd f3, lbl_80642580-_SDA2_BASE_(r2) /* 80257B9C 002537FC C0 22 9F 78 */ lfs f1, lbl_80642578-_SDA2_BASE_(r2) /* 80257BA0 00253800 C0 02 9F 74 */ lfs f0, lbl_80642574-_SDA2_BASE_(r2) /* 80257BA4 00253804 90 01 00 0C */ stw r0, 0xc(r1) /* 80257BA8 00253808 C8 41 00 08 */ lfd f2, 8(r1) /* 80257BAC 0025380C 93 FE 01 AC */ stw r31, 0x1ac(r30) /* 80257BB0 00253810 EC 42 18 28 */ fsubs f2, f2, f3 /* 80257BB4 00253814 EC 22 08 24 */ fdivs f1, f2, f1 /* 80257BB8 00253818 EC 20 08 2A */ fadds f1, f0, f1 /* 80257BBC 0025381C 4B F6 F4 45 */ bl __cvt_fp2unsigned /* 80257BC0 00253820 38 03 00 1F */ addi r0, r3, 0x1f /* 80257BC4 00253824 54 00 08 32 */ rlwinm r0, r0, 1, 0, 0x19 /* 80257BC8 00253828 7F FF 02 14 */ add r31, r31, r0 lbl_80257BCC: /* 80257BCC 0025382C 93 FE 00 64 */ stw r31, 0x64(r30) /* 80257BD0 00253830 38 60 00 01 */ li r3, 1 lbl_80257BD4: /* 80257BD4 00253834 39 61 00 30 */ addi r11, r1, 0x30 /* 80257BD8 00253838 4B F6 F5 99 */ bl _restgpr_26 /* 80257BDC 0025383C 80 01 00 34 */ lwz r0, 0x34(r1) /* 80257BE0 00253840 7C 08 03 A6 */ mtlr r0 /* 80257BE4 00253844 38 21 00 30 */ addi r1, r1, 0x30 /* 80257BE8 00253848 4E 80 00 20 */ blr .global func_80257BEC func_80257BEC: /* 80257BEC 0025384C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80257BF0 00253850 7C 08 02 A6 */ mflr r0 /* 80257BF4 00253854 90 01 00 24 */ stw r0, 0x24(r1) /* 80257BF8 00253858 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80257BFC 0025385C 93 C1 00 18 */ stw r30, 0x18(r1) /* 80257C00 00253860 93 A1 00 14 */ stw r29, 0x14(r1) /* 80257C04 00253864 7C 7D 1B 78 */ mr r29, r3 /* 80257C08 00253868 88 03 00 6D */ lbz r0, 0x6d(r3) /* 80257C0C 0025386C 2C 00 00 00 */ cmpwi r0, 0 /* 80257C10 00253870 40 82 00 28 */ bne lbl_80257C38 /* 80257C14 00253874 3B C3 00 D0 */ addi r30, r3, 0xd0 /* 80257C18 00253878 3B E0 00 00 */ li r31, 0 lbl_80257C1C: /* 80257C1C 0025387C 7F A3 EB 78 */ mr r3, r29 /* 80257C20 00253880 7F C4 F3 78 */ mr r4, r30 /* 80257C24 00253884 48 00 30 BD */ bl func_8025ACE0 /* 80257C28 00253888 3B FF 00 01 */ addi r31, r31, 1 /* 80257C2C 0025388C 3B DE 00 08 */ addi r30, r30, 8 /* 80257C30 00253890 2C 1F 00 0A */ cmpwi r31, 0xa /* 80257C34 00253894 41 80 FF E8 */ blt lbl_80257C1C lbl_80257C38: /* 80257C38 00253898 88 1D 00 6B */ lbz r0, 0x6b(r29) /* 80257C3C 0025389C 2C 00 00 00 */ cmpwi r0, 0 /* 80257C40 002538A0 41 82 00 28 */ beq lbl_80257C68 /* 80257C44 002538A4 3B DD 01 50 */ addi r30, r29, 0x150 /* 80257C48 002538A8 3B E0 00 00 */ li r31, 0 lbl_80257C4C: /* 80257C4C 002538AC 7F A3 EB 78 */ mr r3, r29 /* 80257C50 002538B0 7F C4 F3 78 */ mr r4, r30 /* 80257C54 002538B4 48 00 34 71 */ bl func_8025B0C4 /* 80257C58 002538B8 3B FF 00 01 */ addi r31, r31, 1 /* 80257C5C 002538BC 3B DE 00 0C */ addi r30, r30, 0xc /* 80257C60 002538C0 2C 1F 00 06 */ cmpwi r31, 6 /* 80257C64 002538C4 41 80 FF E8 */ blt lbl_80257C4C lbl_80257C68: /* 80257C68 002538C8 3B DD 01 20 */ addi r30, r29, 0x120 /* 80257C6C 002538CC 3B E0 00 00 */ li r31, 0 lbl_80257C70: /* 80257C70 002538D0 7F A3 EB 78 */ mr r3, r29 /* 80257C74 002538D4 7F C4 F3 78 */ mr r4, r30 /* 80257C78 002538D8 48 00 39 95 */ bl func_8025B60C /* 80257C7C 002538DC 3B FF 00 01 */ addi r31, r31, 1 /* 80257C80 002538E0 3B DE 00 10 */ addi r30, r30, 0x10 /* 80257C84 002538E4 2C 1F 00 03 */ cmpwi r31, 3 /* 80257C88 002538E8 41 80 FF E8 */ blt lbl_80257C70 /* 80257C8C 002538EC 80 01 00 24 */ lwz r0, 0x24(r1) /* 80257C90 002538F0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80257C94 002538F4 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80257C98 002538F8 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80257C9C 002538FC 7C 08 03 A6 */ mtlr r0 /* 80257CA0 00253900 38 21 00 20 */ addi r1, r1, 0x20 /* 80257CA4 00253904 4E 80 00 20 */ blr .global func_80257CA8 func_80257CA8: /* 80257CA8 00253908 3D 00 80 50 */ lis r8, lbl_804FDC20@ha /* 80257CAC 0025390C 81 24 00 2C */ lwz r9, 0x2c(r4) /* 80257CB0 00253910 A8 E8 DC 20 */ lha r7, lbl_804FDC20@l(r8) /* 80257CB4 00253914 38 C8 DC 20 */ addi r6, r8, -9184 /* 80257CB8 00253918 38 60 00 04 */ li r3, 4 /* 80257CBC 0025391C 38 00 00 0F */ li r0, 0xf /* 80257CC0 00253920 7C E9 3A 14 */ add r7, r9, r7 /* 80257CC4 00253924 90 A4 00 90 */ stw r5, 0x90(r4) /* 80257CC8 00253928 90 E4 00 84 */ stw r7, 0x84(r4) /* 80257CCC 0025392C A8 E8 DC 20 */ lha r7, -0x23e0(r8) /* 80257CD0 00253930 A8 A6 00 02 */ lha r5, 2(r6) /* 80257CD4 00253934 7C A7 28 50 */ subf r5, r7, r5 /* 80257CD8 00253938 98 64 00 69 */ stb r3, 0x69(r4) /* 80257CDC 0025393C 90 A4 00 8C */ stw r5, 0x8c(r4) /* 80257CE0 00253940 98 64 00 68 */ stb r3, 0x68(r4) /* 80257CE4 00253944 90 04 00 A0 */ stw r0, 0xa0(r4) /* 80257CE8 00253948 4E 80 00 20 */ blr .global func_80257CEC func_80257CEC: /* 80257CEC 0025394C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80257CF0 00253950 7C 08 02 A6 */ mflr r0 /* 80257CF4 00253954 90 01 00 24 */ stw r0, 0x24(r1) /* 80257CF8 00253958 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80257CFC 0025395C 7C BF 2B 78 */ mr r31, r5 /* 80257D00 00253960 93 C1 00 18 */ stw r30, 0x18(r1) /* 80257D04 00253964 7C 9E 23 78 */ mr r30, r4 /* 80257D08 00253968 93 A1 00 14 */ stw r29, 0x14(r1) /* 80257D0C 0025396C 7C 7D 1B 78 */ mr r29, r3 /* 80257D10 00253970 88 03 00 6C */ lbz r0, 0x6c(r3) /* 80257D14 00253974 2C 00 00 00 */ cmpwi r0, 0 /* 80257D18 00253978 41 82 00 10 */ beq lbl_80257D28 /* 80257D1C 0025397C 88 03 00 69 */ lbz r0, 0x69(r3) /* 80257D20 00253980 28 00 00 02 */ cmplwi r0, 2 /* 80257D24 00253984 41 82 00 0C */ beq lbl_80257D30 lbl_80257D28: /* 80257D28 00253988 38 60 00 00 */ li r3, 0 /* 80257D2C 0025398C 48 00 01 04 */ b lbl_80257E30 lbl_80257D30: /* 80257D30 00253990 4B FF FB C9 */ bl func_802578F8 /* 80257D34 00253994 2C 03 00 00 */ cmpwi r3, 0 /* 80257D38 00253998 40 82 00 14 */ bne lbl_80257D4C /* 80257D3C 0025399C 7F A3 EB 78 */ mr r3, r29 /* 80257D40 002539A0 4B FF F9 A9 */ bl func_802576E8 /* 80257D44 002539A4 38 60 00 00 */ li r3, 0 /* 80257D48 002539A8 48 00 00 E8 */ b lbl_80257E30 lbl_80257D4C: /* 80257D4C 002539AC 38 00 00 03 */ li r0, 3 /* 80257D50 002539B0 2C 1E 00 00 */ cmpwi r30, 0 /* 80257D54 002539B4 98 1D 00 69 */ stb r0, 0x69(r29) /* 80257D58 002539B8 40 81 00 70 */ ble lbl_80257DC8 /* 80257D5C 002539BC 80 9D 00 28 */ lwz r4, 0x28(r29) /* 80257D60 002539C0 2C 04 00 00 */ cmpwi r4, 0 /* 80257D64 002539C4 40 82 00 0C */ bne lbl_80257D70 /* 80257D68 002539C8 38 60 00 00 */ li r3, 0 /* 80257D6C 002539CC 48 00 00 C4 */ b lbl_80257E30 lbl_80257D70: /* 80257D70 002539D0 80 1D 00 18 */ lwz r0, 0x18(r29) /* 80257D74 002539D4 7C 00 F0 40 */ cmplw r0, r30 /* 80257D78 002539D8 40 81 00 48 */ ble lbl_80257DC0 /* 80257D7C 002539DC 38 1E FF FF */ addi r0, r30, -1 /* 80257D80 002539E0 3C A0 80 50 */ lis r5, lbl_804FDC20@ha /* 80257D84 002539E4 54 00 10 3A */ slwi r0, r0, 2 /* 80257D88 002539E8 3D 00 80 25 */ lis r8, func_80257CA8@ha /* 80257D8C 002539EC 7C E4 02 14 */ add r7, r4, r0 /* 80257D90 002539F0 80 7D 00 00 */ lwz r3, 0(r29) /* 80257D94 002539F4 7F A9 EB 78 */ mr r9, r29 /* 80257D98 002539F8 7F CA F3 78 */ mr r10, r30 /* 80257D9C 002539FC 38 A5 DC 20 */ addi r5, r5, lbl_804FDC20@l /* 80257DA0 00253A00 39 08 7C A8 */ addi r8, r8, func_80257CA8@l /* 80257DA4 00253A04 38 80 00 00 */ li r4, 0 /* 80257DA8 00253A08 38 C0 00 20 */ li r6, 0x20 /* 80257DAC 00253A0C 4B FF 1D 05 */ bl func_80249AB0 /* 80257DB0 00253A10 2C 03 00 00 */ cmpwi r3, 0 /* 80257DB4 00253A14 40 82 00 3C */ bne lbl_80257DF0 /* 80257DB8 00253A18 38 60 00 00 */ li r3, 0 /* 80257DBC 00253A1C 48 00 00 74 */ b lbl_80257E30 lbl_80257DC0: /* 80257DC0 00253A20 38 60 00 00 */ li r3, 0 /* 80257DC4 00253A24 48 00 00 6C */ b lbl_80257E30 lbl_80257DC8: /* 80257DC8 00253A28 3C 60 80 50 */ lis r3, lbl_804FDC20@ha /* 80257DCC 00253A2C 38 00 00 00 */ li r0, 0 /* 80257DD0 00253A30 B0 03 DC 20 */ sth r0, lbl_804FDC20@l(r3) /* 80257DD4 00253A34 38 C3 DC 20 */ addi r6, r3, -9184 /* 80257DD8 00253A38 7F A4 EB 78 */ mr r4, r29 /* 80257DDC 00253A3C 38 60 00 00 */ li r3, 0 /* 80257DE0 00253A40 80 1D 00 1C */ lwz r0, 0x1c(r29) /* 80257DE4 00253A44 38 A0 00 00 */ li r5, 0 /* 80257DE8 00253A48 B0 06 00 02 */ sth r0, 2(r6) /* 80257DEC 00253A4C 4B FF FE BD */ bl func_80257CA8 lbl_80257DF0: /* 80257DF0 00253A50 88 1D 00 6B */ lbz r0, 0x6b(r29) /* 80257DF4 00253A54 2C 00 00 00 */ cmpwi r0, 0 /* 80257DF8 00253A58 41 82 00 24 */ beq lbl_80257E1C /* 80257DFC 00253A5C 2C 1F 00 00 */ cmpwi r31, 0 /* 80257E00 00253A60 41 80 00 10 */ blt lbl_80257E10 /* 80257E04 00253A64 80 1D 00 60 */ lwz r0, 0x60(r29) /* 80257E08 00253A68 7C 1F 00 40 */ cmplw r31, r0 /* 80257E0C 00253A6C 41 80 00 0C */ blt lbl_80257E18 lbl_80257E10: /* 80257E10 00253A70 38 60 00 00 */ li r3, 0 /* 80257E14 00253A74 48 00 00 1C */ b lbl_80257E30 lbl_80257E18: /* 80257E18 00253A78 93 FD 00 BC */ stw r31, 0xbc(r29) lbl_80257E1C: /* 80257E1C 00253A7C 38 00 00 00 */ li r0, 0 /* 80257E20 00253A80 38 60 00 01 */ li r3, 1 /* 80257E24 00253A84 90 1D 00 A0 */ stw r0, 0xa0(r29) /* 80257E28 00253A88 90 1D 00 B8 */ stw r0, 0xb8(r29) /* 80257E2C 00253A8C 90 1D 00 9C */ stw r0, 0x9c(r29) lbl_80257E30: /* 80257E30 00253A90 80 01 00 24 */ lwz r0, 0x24(r1) /* 80257E34 00253A94 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80257E38 00253A98 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80257E3C 00253A9C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80257E40 00253AA0 7C 08 03 A6 */ mtlr r0 /* 80257E44 00253AA4 38 21 00 20 */ addi r1, r1, 0x20 /* 80257E48 00253AA8 4E 80 00 20 */ blr .global func_80257E4C func_80257E4C: /* 80257E4C 00253AAC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80257E50 00253AB0 7C 08 02 A6 */ mflr r0 /* 80257E54 00253AB4 90 01 00 14 */ stw r0, 0x14(r1) /* 80257E58 00253AB8 93 E1 00 0C */ stw r31, 0xc(r1) /* 80257E5C 00253ABC 7C 9F 23 78 */ mr r31, r4 /* 80257E60 00253AC0 88 04 00 6D */ lbz r0, 0x6d(r4) /* 80257E64 00253AC4 90 A4 01 98 */ stw r5, 0x198(r4) /* 80257E68 00253AC8 2C 00 00 00 */ cmpwi r0, 0 /* 80257E6C 00253ACC 40 82 00 0C */ bne lbl_80257E78 /* 80257E70 00253AD0 7F E3 FB 78 */ mr r3, r31 /* 80257E74 00253AD4 48 00 28 9D */ bl func_8025A710 lbl_80257E78: /* 80257E78 00253AD8 88 1F 00 6B */ lbz r0, 0x6b(r31) /* 80257E7C 00253ADC 2C 00 00 00 */ cmpwi r0, 0 /* 80257E80 00253AE0 41 82 00 0C */ beq lbl_80257E8C /* 80257E84 00253AE4 7F E3 FB 78 */ mr r3, r31 /* 80257E88 00253AE8 48 00 2E FD */ bl func_8025AD84 lbl_80257E8C: /* 80257E8C 00253AEC 7F E3 FB 78 */ mr r3, r31 /* 80257E90 00253AF0 48 00 32 D5 */ bl func_8025B164 /* 80257E94 00253AF4 38 00 00 00 */ li r0, 0 /* 80257E98 00253AF8 38 60 FF FF */ li r3, -1 /* 80257E9C 00253AFC 90 7F 00 C0 */ stw r3, 0xc0(r31) /* 80257EA0 00253B00 7F E3 FB 78 */ mr r3, r31 /* 80257EA4 00253B04 90 1F 00 C4 */ stw r0, 0xc4(r31) /* 80257EA8 00253B08 90 1F 00 C8 */ stw r0, 0xc8(r31) /* 80257EAC 00253B0C 90 1F 00 CC */ stw r0, 0xcc(r31) /* 80257EB0 00253B10 4B FF FD 3D */ bl func_80257BEC /* 80257EB4 00253B14 7F E3 FB 78 */ mr r3, r31 /* 80257EB8 00253B18 48 00 33 49 */ bl func_8025B200 /* 80257EBC 00253B1C 88 1F 00 6B */ lbz r0, 0x6b(r31) /* 80257EC0 00253B20 2C 00 00 00 */ cmpwi r0, 0 /* 80257EC4 00253B24 41 82 00 0C */ beq lbl_80257ED0 /* 80257EC8 00253B28 7F E3 FB 78 */ mr r3, r31 /* 80257ECC 00253B2C 48 00 2F 55 */ bl func_8025AE20 lbl_80257ED0: /* 80257ED0 00253B30 88 1F 00 6D */ lbz r0, 0x6d(r31) /* 80257ED4 00253B34 2C 00 00 00 */ cmpwi r0, 0 /* 80257ED8 00253B38 40 82 00 0C */ bne lbl_80257EE4 /* 80257EDC 00253B3C 7F E3 FB 78 */ mr r3, r31 /* 80257EE0 00253B40 48 00 28 C9 */ bl func_8025A7A8 lbl_80257EE4: /* 80257EE4 00253B44 88 1F 00 6B */ lbz r0, 0x6b(r31) /* 80257EE8 00253B48 38 80 00 07 */ li r4, 7 /* 80257EEC 00253B4C 38 60 00 00 */ li r3, 0 /* 80257EF0 00253B50 98 9F 00 69 */ stb r4, 0x69(r31) /* 80257EF4 00253B54 2C 00 00 00 */ cmpwi r0, 0 /* 80257EF8 00253B58 98 9F 00 68 */ stb r4, 0x68(r31) /* 80257EFC 00253B5C 98 7F 00 6A */ stb r3, 0x6a(r31) /* 80257F00 00253B60 41 82 00 0C */ beq lbl_80257F0C /* 80257F04 00253B64 7F E3 FB 78 */ mr r3, r31 /* 80257F08 00253B68 48 00 03 79 */ bl func_80258280 lbl_80257F0C: /* 80257F0C 00253B6C 80 01 00 14 */ lwz r0, 0x14(r1) /* 80257F10 00253B70 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80257F14 00253B74 7C 08 03 A6 */ mtlr r0 /* 80257F18 00253B78 38 21 00 10 */ addi r1, r1, 0x10 /* 80257F1C 00253B7C 4E 80 00 20 */ blr .global func_80257F20 func_80257F20: /* 80257F20 00253B80 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80257F24 00253B84 7C 08 02 A6 */ mflr r0 /* 80257F28 00253B88 7C 69 1B 78 */ mr r9, r3 /* 80257F2C 00253B8C 90 01 00 14 */ stw r0, 0x14(r1) /* 80257F30 00253B90 88 03 00 6C */ lbz r0, 0x6c(r3) /* 80257F34 00253B94 2C 00 00 00 */ cmpwi r0, 0 /* 80257F38 00253B98 41 82 00 10 */ beq lbl_80257F48 /* 80257F3C 00253B9C 88 03 00 69 */ lbz r0, 0x69(r3) /* 80257F40 00253BA0 28 00 00 05 */ cmplwi r0, 5 /* 80257F44 00253BA4 41 82 00 0C */ beq lbl_80257F50 lbl_80257F48: /* 80257F48 00253BA8 38 60 00 00 */ li r3, 0 /* 80257F4C 00253BAC 48 00 00 68 */ b lbl_80257FB4 lbl_80257F50: /* 80257F50 00253BB0 88 03 00 6D */ lbz r0, 0x6d(r3) /* 80257F54 00253BB4 38 80 00 06 */ li r4, 6 /* 80257F58 00253BB8 98 83 00 69 */ stb r4, 0x69(r3) /* 80257F5C 00253BBC 2C 00 00 00 */ cmpwi r0, 0 /* 80257F60 00253BC0 41 82 00 40 */ beq lbl_80257FA0 /* 80257F64 00253BC4 80 A3 00 78 */ lwz r5, 0x78(r3) /* 80257F68 00253BC8 3D 00 80 25 */ lis r8, func_80257E4C@ha /* 80257F6C 00253BCC 80 09 00 84 */ lwz r0, 0x84(r9) /* 80257F70 00253BD0 39 08 7E 4C */ addi r8, r8, func_80257E4C@l /* 80257F74 00253BD4 80 E3 00 2C */ lwz r7, 0x2c(r3) /* 80257F78 00253BD8 38 80 00 00 */ li r4, 0 /* 80257F7C 00253BDC 7C 05 02 14 */ add r0, r5, r0 /* 80257F80 00253BE0 80 63 00 00 */ lwz r3, 0(r3) /* 80257F84 00253BE4 80 C9 00 7C */ lwz r6, 0x7c(r9) /* 80257F88 00253BE8 7D 47 00 50 */ subf r10, r7, r0 /* 80257F8C 00253BEC 4B FF 1B 25 */ bl func_80249AB0 /* 80257F90 00253BF0 2C 03 00 00 */ cmpwi r3, 0 /* 80257F94 00253BF4 40 82 00 1C */ bne lbl_80257FB0 /* 80257F98 00253BF8 38 60 00 00 */ li r3, 0 /* 80257F9C 00253BFC 48 00 00 18 */ b lbl_80257FB4 lbl_80257FA0: /* 80257FA0 00253C00 7D 24 4B 78 */ mr r4, r9 /* 80257FA4 00253C04 38 60 00 00 */ li r3, 0 /* 80257FA8 00253C08 38 A0 00 00 */ li r5, 0 /* 80257FAC 00253C0C 4B FF FE A1 */ bl func_80257E4C lbl_80257FB0: /* 80257FB0 00253C10 38 60 00 01 */ li r3, 1 lbl_80257FB4: /* 80257FB4 00253C14 80 01 00 14 */ lwz r0, 0x14(r1) /* 80257FB8 00253C18 7C 08 03 A6 */ mtlr r0 /* 80257FBC 00253C1C 38 21 00 10 */ addi r1, r1, 0x10 /* 80257FC0 00253C20 4E 80 00 20 */ blr .global func_80257FC4 func_80257FC4: /* 80257FC4 00253C24 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80257FC8 00253C28 7C 08 02 A6 */ mflr r0 /* 80257FCC 00253C2C 90 01 00 24 */ stw r0, 0x24(r1) /* 80257FD0 00253C30 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80257FD4 00253C34 7C 7F 1B 78 */ mr r31, r3 /* 80257FD8 00253C38 88 03 00 6C */ lbz r0, 0x6c(r3) /* 80257FDC 00253C3C 2C 00 00 00 */ cmpwi r0, 0 /* 80257FE0 00253C40 40 82 00 0C */ bne lbl_80257FEC /* 80257FE4 00253C44 38 60 00 00 */ li r3, 0 /* 80257FE8 00253C48 48 00 00 C4 */ b lbl_802580AC lbl_80257FEC: /* 80257FEC 00253C4C 88 83 00 69 */ lbz r4, 0x69(r3) /* 80257FF0 00253C50 28 04 00 07 */ cmplwi r4, 7 /* 80257FF4 00253C54 41 82 00 1C */ beq lbl_80258010 /* 80257FF8 00253C58 28 04 00 0A */ cmplwi r4, 0xa /* 80257FFC 00253C5C 41 82 00 14 */ beq lbl_80258010 /* 80258000 00253C60 38 04 FF F8 */ addi r0, r4, -8 /* 80258004 00253C64 7C 00 00 34 */ cntlzw r0, r0 /* 80258008 00253C68 54 03 D9 7E */ srwi r3, r0, 5 /* 8025800C 00253C6C 48 00 00 A0 */ b lbl_802580AC lbl_80258010: /* 80258010 00253C70 28 04 00 0A */ cmplwi r4, 0xa /* 80258014 00253C74 40 82 00 18 */ bne lbl_8025802C /* 80258018 00253C78 88 03 00 6B */ lbz r0, 0x6b(r3) /* 8025801C 00253C7C 2C 00 00 00 */ cmpwi r0, 0 /* 80258020 00253C80 41 82 00 0C */ beq lbl_8025802C /* 80258024 00253C84 7F E3 FB 78 */ mr r3, r31 /* 80258028 00253C88 48 00 05 9D */ bl func_802585C4 lbl_8025802C: /* 8025802C 00253C8C 38 E0 00 00 */ li r7, 0 /* 80258030 00253C90 38 00 FF FF */ li r0, -1 /* 80258034 00253C94 38 C0 00 08 */ li r6, 8 /* 80258038 00253C98 90 FF 00 A0 */ stw r7, 0xa0(r31) /* 8025803C 00253C9C 7F E3 FB 78 */ mr r3, r31 /* 80258040 00253CA0 38 81 00 0C */ addi r4, r1, 0xc /* 80258044 00253CA4 90 FF 00 B8 */ stw r7, 0xb8(r31) /* 80258048 00253CA8 38 A1 00 08 */ addi r5, r1, 8 /* 8025804C 00253CAC 90 FF 00 9C */ stw r7, 0x9c(r31) /* 80258050 00253CB0 98 DF 00 69 */ stb r6, 0x69(r31) /* 80258054 00253CB4 90 FF 00 B0 */ stw r7, 0xb0(r31) /* 80258058 00253CB8 90 FF 00 B4 */ stw r7, 0xb4(r31) /* 8025805C 00253CBC 90 1F 00 AC */ stw r0, 0xac(r31) /* 80258060 00253CC0 90 1F 00 A8 */ stw r0, 0xa8(r31) /* 80258064 00253CC4 48 00 10 5D */ bl func_802590C0 /* 80258068 00253CC8 80 61 00 0C */ lwz r3, 0xc(r1) /* 8025806C 00253CCC 2C 03 00 00 */ cmpwi r3, 0 /* 80258070 00253CD0 41 82 00 18 */ beq lbl_80258088 /* 80258074 00253CD4 38 80 00 00 */ li r4, 0 /* 80258078 00253CD8 48 04 12 15 */ bl MIXSetInput /* 8025807C 00253CDC 80 61 00 0C */ lwz r3, 0xc(r1) /* 80258080 00253CE0 38 80 00 00 */ li r4, 0 /* 80258084 00253CE4 48 04 12 2D */ bl MIXSetFader lbl_80258088: /* 80258088 00253CE8 80 61 00 08 */ lwz r3, 8(r1) /* 8025808C 00253CEC 2C 03 00 00 */ cmpwi r3, 0 /* 80258090 00253CF0 41 82 00 18 */ beq lbl_802580A8 /* 80258094 00253CF4 38 80 00 00 */ li r4, 0 /* 80258098 00253CF8 48 04 11 F5 */ bl MIXSetInput /* 8025809C 00253CFC 80 61 00 08 */ lwz r3, 8(r1) /* 802580A0 00253D00 38 80 00 00 */ li r4, 0 /* 802580A4 00253D04 48 04 12 0D */ bl MIXSetFader lbl_802580A8: /* 802580A8 00253D08 38 60 00 01 */ li r3, 1 lbl_802580AC: /* 802580AC 00253D0C 80 01 00 24 */ lwz r0, 0x24(r1) /* 802580B0 00253D10 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802580B4 00253D14 7C 08 03 A6 */ mtlr r0 /* 802580B8 00253D18 38 21 00 20 */ addi r1, r1, 0x20 /* 802580BC 00253D1C 4E 80 00 20 */ blr .global func_802580C0 func_802580C0: /* 802580C0 00253D20 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802580C4 00253D24 7C 08 02 A6 */ mflr r0 /* 802580C8 00253D28 90 01 00 14 */ stw r0, 0x14(r1) /* 802580CC 00253D2C 93 E1 00 0C */ stw r31, 0xc(r1) /* 802580D0 00253D30 7C 7F 1B 78 */ mr r31, r3 /* 802580D4 00253D34 88 03 00 6C */ lbz r0, 0x6c(r3) /* 802580D8 00253D38 2C 00 00 00 */ cmpwi r0, 0 /* 802580DC 00253D3C 41 82 00 78 */ beq lbl_80258154 /* 802580E0 00253D40 88 03 00 69 */ lbz r0, 0x69(r3) /* 802580E4 00253D44 2C 00 00 00 */ cmpwi r0, 0 /* 802580E8 00253D48 40 82 00 08 */ bne lbl_802580F0 /* 802580EC 00253D4C 48 00 00 68 */ b lbl_80258154 lbl_802580F0: /* 802580F0 00253D50 88 03 00 6D */ lbz r0, 0x6d(r3) /* 802580F4 00253D54 38 80 00 00 */ li r4, 0 /* 802580F8 00253D58 98 83 00 6A */ stb r4, 0x6a(r3) /* 802580FC 00253D5C 2C 00 00 00 */ cmpwi r0, 0 /* 80258100 00253D60 98 83 00 69 */ stb r4, 0x69(r3) /* 80258104 00253D64 40 82 00 18 */ bne lbl_8025811C /* 80258108 00253D68 48 00 26 B5 */ bl func_8025A7BC /* 8025810C 00253D6C 38 00 00 01 */ li r0, 1 /* 80258110 00253D70 80 7F 00 00 */ lwz r3, 0(r31) /* 80258114 00253D74 98 1F 00 70 */ stb r0, 0x70(r31) /* 80258118 00253D78 4B FF 15 4D */ bl func_80249664 lbl_8025811C: /* 8025811C 00253D7C 7F E3 FB 78 */ mr r3, r31 /* 80258120 00253D80 48 00 30 F5 */ bl func_8025B214 /* 80258124 00253D84 88 1F 00 6B */ lbz r0, 0x6b(r31) /* 80258128 00253D88 2C 00 00 00 */ cmpwi r0, 0 /* 8025812C 00253D8C 41 82 00 14 */ beq lbl_80258140 /* 80258130 00253D90 7F E3 FB 78 */ mr r3, r31 /* 80258134 00253D94 48 00 0F 21 */ bl func_80259054 /* 80258138 00253D98 7F E3 FB 78 */ mr r3, r31 /* 8025813C 00253D9C 48 00 2C F9 */ bl func_8025AE34 lbl_80258140: /* 80258140 00253DA0 7F E3 FB 78 */ mr r3, r31 /* 80258144 00253DA4 48 00 00 E1 */ bl func_80258224 /* 80258148 00253DA8 38 00 00 00 */ li r0, 0 /* 8025814C 00253DAC 98 1F 00 75 */ stb r0, 0x75(r31) /* 80258150 00253DB0 B0 1F 00 76 */ sth r0, 0x76(r31) lbl_80258154: /* 80258154 00253DB4 80 01 00 14 */ lwz r0, 0x14(r1) /* 80258158 00253DB8 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8025815C 00253DBC 7C 08 03 A6 */ mtlr r0 /* 80258160 00253DC0 38 21 00 10 */ addi r1, r1, 0x10 /* 80258164 00253DC4 4E 80 00 20 */ blr .global func_80258168 func_80258168: /* 80258168 00253DC8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8025816C 00253DCC 7C 08 02 A6 */ mflr r0 /* 80258170 00253DD0 90 01 00 14 */ stw r0, 0x14(r1) /* 80258174 00253DD4 93 E1 00 0C */ stw r31, 0xc(r1) /* 80258178 00253DD8 93 C1 00 08 */ stw r30, 8(r1) /* 8025817C 00253DDC 7C 7E 1B 78 */ mr r30, r3 /* 80258180 00253DE0 88 03 00 6C */ lbz r0, 0x6c(r3) /* 80258184 00253DE4 2C 00 00 00 */ cmpwi r0, 0 /* 80258188 00253DE8 41 82 00 1C */ beq lbl_802581A4 /* 8025818C 00253DEC 88 03 00 69 */ lbz r0, 0x69(r3) /* 80258190 00253DF0 2C 00 00 00 */ cmpwi r0, 0 /* 80258194 00253DF4 41 82 00 10 */ beq lbl_802581A4 /* 80258198 00253DF8 80 A3 00 C8 */ lwz r5, 0xc8(r3) /* 8025819C 00253DFC 2C 05 00 00 */ cmpwi r5, 0 /* 802581A0 00253E00 40 82 00 0C */ bne lbl_802581AC lbl_802581A4: /* 802581A4 00253E04 38 60 FF FF */ li r3, -1 /* 802581A8 00253E08 48 00 00 5C */ b lbl_80258204 lbl_802581AC: /* 802581AC 00253E0C 80 9E 00 48 */ lwz r4, 0x48(r30) /* 802581B0 00253E10 80 1E 00 4C */ lwz r0, 0x4c(r30) /* 802581B4 00253E14 54 86 04 3E */ clrlwi r6, r4, 0x10 /* 802581B8 00253E18 80 65 00 00 */ lwz r3, 0(r5) /* 802581BC 00253E1C 80 85 00 04 */ lwz r4, 4(r5) /* 802581C0 00253E20 54 07 04 3E */ clrlwi r7, r0, 0x10 /* 802581C4 00253E24 80 A5 00 08 */ lwz r5, 8(r5) /* 802581C8 00253E28 89 1E 00 74 */ lbz r8, 0x74(r30) /* 802581CC 00253E2C 48 00 22 69 */ bl func_8025A434 /* 802581D0 00253E30 80 7E 00 C8 */ lwz r3, 0xc8(r30) /* 802581D4 00253E34 7F C4 F3 78 */ mr r4, r30 /* 802581D8 00253E38 80 1E 00 90 */ lwz r0, 0x90(r30) /* 802581DC 00253E3C 80 63 00 0C */ lwz r3, 0xc(r3) /* 802581E0 00253E40 80 BE 00 18 */ lwz r5, 0x18(r30) /* 802581E4 00253E44 7C C3 02 14 */ add r6, r3, r0 /* 802581E8 00253E48 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 802581EC 00253E4C 7C 06 2B 96 */ divwu r0, r6, r5 /* 802581F0 00253E50 7C 00 29 D6 */ mullw r0, r0, r5 /* 802581F4 00253E54 7F E0 30 50 */ subf r31, r0, r6 /* 802581F8 00253E58 4B FE 37 51 */ bl func_8023B948 /* 802581FC 00253E5C 90 7E 01 F8 */ stw r3, 0x1f8(r30) /* 80258200 00253E60 7F E3 FB 78 */ mr r3, r31 lbl_80258204: /* 80258204 00253E64 80 01 00 14 */ lwz r0, 0x14(r1) /* 80258208 00253E68 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8025820C 00253E6C 83 C1 00 08 */ lwz r30, 8(r1) /* 80258210 00253E70 7C 08 03 A6 */ mtlr r0 /* 80258214 00253E74 38 21 00 10 */ addi r1, r1, 0x10 /* 80258218 00253E78 4E 80 00 20 */ blr .global func_8025821C func_8025821C: /* 8025821C 00253E7C 88 63 00 69 */ lbz r3, 0x69(r3) /* 80258220 00253E80 4E 80 00 20 */ blr .global func_80258224 func_80258224: /* 80258224 00253E84 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80258228 00253E88 7C 08 02 A6 */ mflr r0 /* 8025822C 00253E8C 90 01 00 14 */ stw r0, 0x14(r1) /* 80258230 00253E90 93 E1 00 0C */ stw r31, 0xc(r1) /* 80258234 00253E94 7C 7F 1B 78 */ mr r31, r3 /* 80258238 00253E98 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 8025823C 00253E9C 80 9F 01 F8 */ lwz r4, 0x1f8(r31) /* 80258240 00253EA0 4B FE 36 4D */ bl func_8023B88C /* 80258244 00253EA4 38 00 00 00 */ li r0, 0 /* 80258248 00253EA8 90 1F 01 F8 */ stw r0, 0x1f8(r31) lbl_8025824C: /* 8025824C 00253EAC 7F E3 FB 78 */ mr r3, r31 /* 80258250 00253EB0 4B FF EF 51 */ bl func_802571A0 /* 80258254 00253EB4 2C 03 00 00 */ cmpwi r3, 0 /* 80258258 00253EB8 7C 64 1B 78 */ mr r4, r3 /* 8025825C 00253EBC 41 82 00 10 */ beq lbl_8025826C /* 80258260 00253EC0 7F E3 FB 78 */ mr r3, r31 /* 80258264 00253EC4 48 00 33 A9 */ bl func_8025B60C /* 80258268 00253EC8 4B FF FF E4 */ b lbl_8025824C lbl_8025826C: /* 8025826C 00253ECC 80 01 00 14 */ lwz r0, 0x14(r1) /* 80258270 00253ED0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80258274 00253ED4 7C 08 03 A6 */ mtlr r0 /* 80258278 00253ED8 38 21 00 10 */ addi r1, r1, 0x10 /* 8025827C 00253EDC 4E 80 00 20 */ blr .global func_80258280 func_80258280: /* 80258280 00253EE0 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80258284 00253EE4 7C 08 02 A6 */ mflr r0 /* 80258288 00253EE8 C8 62 9F 80 */ lfd f3, lbl_80642580-_SDA2_BASE_(r2) /* 8025828C 00253EEC 90 01 00 34 */ stw r0, 0x34(r1) /* 80258290 00253EF0 3C 00 43 30 */ lis r0, 0x4330 /* 80258294 00253EF4 C0 22 9F 78 */ lfs f1, lbl_80642578-_SDA2_BASE_(r2) /* 80258298 00253EF8 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8025829C 00253EFC C0 02 9F 74 */ lfs f0, lbl_80642574-_SDA2_BASE_(r2) /* 802582A0 00253F00 93 C1 00 28 */ stw r30, 0x28(r1) /* 802582A4 00253F04 7C 7E 1B 78 */ mr r30, r3 /* 802582A8 00253F08 80 83 00 58 */ lwz r4, 0x58(r3) /* 802582AC 00253F0C 90 01 00 20 */ stw r0, 0x20(r1) /* 802582B0 00253F10 1C 04 00 28 */ mulli r0, r4, 0x28 /* 802582B4 00253F14 90 01 00 24 */ stw r0, 0x24(r1) /* 802582B8 00253F18 C8 41 00 20 */ lfd f2, 0x20(r1) /* 802582BC 00253F1C EC 42 18 28 */ fsubs f2, f2, f3 /* 802582C0 00253F20 EC 22 08 24 */ fdivs f1, f2, f1 /* 802582C4 00253F24 EC 20 08 2A */ fadds f1, f0, f1 /* 802582C8 00253F28 4B F6 ED 39 */ bl __cvt_fp2unsigned /* 802582CC 00253F2C 38 03 00 1F */ addi r0, r3, 0x1f /* 802582D0 00253F30 38 60 00 1F */ li r3, 0x1f /* 802582D4 00253F34 54 1F 08 32 */ rlwinm r31, r0, 1, 0, 0x19 /* 802582D8 00253F38 38 80 00 00 */ li r4, 0 /* 802582DC 00253F3C 38 A0 00 00 */ li r5, 0 /* 802582E0 00253F40 48 03 70 51 */ bl AXAcquireVoice /* 802582E4 00253F44 2C 03 00 00 */ cmpwi r3, 0 /* 802582E8 00253F48 90 7E 01 A0 */ stw r3, 0x1a0(r30) /* 802582EC 00253F4C 40 82 00 0C */ bne lbl_802582F8 /* 802582F0 00253F50 38 60 00 00 */ li r3, 0 /* 802582F4 00253F54 48 00 02 B8 */ b lbl_802585AC lbl_802582F8: /* 802582F8 00253F58 80 1E 00 54 */ lwz r0, 0x54(r30) /* 802582FC 00253F5C 28 00 00 02 */ cmplwi r0, 2 /* 80258300 00253F60 40 82 00 30 */ bne lbl_80258330 /* 80258304 00253F64 38 00 00 00 */ li r0, 0 /* 80258308 00253F68 38 80 00 00 */ li r4, 0 /* 8025830C 00253F6C 90 01 00 08 */ stw r0, 8(r1) /* 80258310 00253F70 38 A0 00 00 */ li r5, 0 /* 80258314 00253F74 38 C0 FC 78 */ li r6, -904 /* 80258318 00253F78 38 E0 FC 78 */ li r7, -904 /* 8025831C 00253F7C 39 00 FC 78 */ li r8, -904 /* 80258320 00253F80 39 20 00 00 */ li r9, 0 /* 80258324 00253F84 39 40 00 7F */ li r10, 0x7f /* 80258328 00253F88 48 03 F8 8D */ bl MIXInitChannel /* 8025832C 00253F8C 48 00 00 2C */ b lbl_80258358 lbl_80258330: /* 80258330 00253F90 38 00 00 00 */ li r0, 0 /* 80258334 00253F94 38 80 00 00 */ li r4, 0 /* 80258338 00253F98 90 01 00 08 */ stw r0, 8(r1) /* 8025833C 00253F9C 38 A0 00 00 */ li r5, 0 /* 80258340 00253FA0 38 C0 FC 78 */ li r6, -904 /* 80258344 00253FA4 38 E0 FC 78 */ li r7, -904 /* 80258348 00253FA8 39 00 FC 78 */ li r8, -904 /* 8025834C 00253FAC 39 20 00 40 */ li r9, 0x40 /* 80258350 00253FB0 39 40 00 7F */ li r10, 0x7f /* 80258354 00253FB4 48 03 F8 61 */ bl MIXInitChannel lbl_80258358: /* 80258358 00253FB8 80 7E 01 A8 */ lwz r3, 0x1a8(r30) /* 8025835C 00253FBC 38 00 00 01 */ li r0, 1 /* 80258360 00253FC0 38 A0 00 0A */ li r5, 0xa /* 80258364 00253FC4 38 81 00 10 */ addi r4, r1, 0x10 /* 80258368 00253FC8 3C E3 80 00 */ addis r7, r3, 0x8000 /* 8025836C 00253FCC B0 01 00 10 */ sth r0, 0x10(r1) /* 80258370 00253FD0 7C 07 FA 14 */ add r0, r7, r31 /* 80258374 00253FD4 54 06 F8 7E */ srwi r6, r0, 1 /* 80258378 00253FD8 54 E3 7C 7E */ srwi r3, r7, 0x11 /* 8025837C 00253FDC 39 06 FF FF */ addi r8, r6, -1 /* 80258380 00253FE0 B0 A1 00 12 */ sth r5, 0x12(r1) /* 80258384 00253FE4 54 E6 FC 3E */ rlwinm r6, r7, 0x1f, 0x10, 0x1f /* 80258388 00253FE8 55 00 84 3E */ srwi r0, r8, 0x10 /* 8025838C 00253FEC B0 61 00 14 */ sth r3, 0x14(r1) /* 80258390 00253FF0 B0 C1 00 16 */ sth r6, 0x16(r1) /* 80258394 00253FF4 B0 01 00 18 */ sth r0, 0x18(r1) /* 80258398 00253FF8 B1 01 00 1A */ sth r8, 0x1a(r1) /* 8025839C 00253FFC B0 61 00 1C */ sth r3, 0x1c(r1) /* 802583A0 00254000 B0 C1 00 1E */ sth r6, 0x1e(r1) /* 802583A4 00254004 80 7E 01 A0 */ lwz r3, 0x1a0(r30) /* 802583A8 00254008 48 03 9C ED */ bl AXSetVoiceAddr /* 802583AC 0025400C 80 1E 00 58 */ lwz r0, 0x58(r30) /* 802583B0 00254010 28 00 7D 00 */ cmplwi r0, 0x7d00 /* 802583B4 00254014 40 82 00 14 */ bne lbl_802583C8 /* 802583B8 00254018 80 7E 01 A0 */ lwz r3, 0x1a0(r30) /* 802583BC 0025401C 38 80 00 00 */ li r4, 0 /* 802583C0 00254020 48 03 9B A5 */ bl AXSetVoiceSrcType /* 802583C4 00254024 48 00 00 40 */ b lbl_80258404 lbl_802583C8: /* 802583C8 00254028 80 7E 01 A0 */ lwz r3, 0x1a0(r30) /* 802583CC 0025402C 38 80 00 03 */ li r4, 3 /* 802583D0 00254030 48 03 9B 95 */ bl AXSetVoiceSrcType /* 802583D4 00254034 80 7E 00 58 */ lwz r3, 0x58(r30) /* 802583D8 00254038 3C 00 43 30 */ lis r0, 0x4330 /* 802583DC 0025403C 90 01 00 20 */ stw r0, 0x20(r1) /* 802583E0 00254040 C8 42 9F 80 */ lfd f2, lbl_80642580-_SDA2_BASE_(r2) /* 802583E4 00254044 90 61 00 24 */ stw r3, 0x24(r1) /* 802583E8 00254048 C8 02 9F 88 */ lfd f0, lbl_80642588-_SDA2_BASE_(r2) /* 802583EC 0025404C C8 21 00 20 */ lfd f1, 0x20(r1) /* 802583F0 00254050 80 7E 01 A0 */ lwz r3, 0x1a0(r30) /* 802583F4 00254054 FC 21 10 28 */ fsub f1, f1, f2 /* 802583F8 00254058 FC 21 00 24 */ fdiv f1, f1, f0 /* 802583FC 0025405C FC 20 08 18 */ frsp f1, f1 /* 80258400 00254060 48 03 9D E1 */ bl AXSetVoiceSrcRatio lbl_80258404: /* 80258404 00254064 80 1E 00 54 */ lwz r0, 0x54(r30) /* 80258408 00254068 28 00 00 02 */ cmplwi r0, 2 /* 8025840C 0025406C 40 82 01 14 */ bne lbl_80258520 /* 80258410 00254070 38 60 00 1F */ li r3, 0x1f /* 80258414 00254074 38 80 00 00 */ li r4, 0 /* 80258418 00254078 38 A0 00 00 */ li r5, 0 /* 8025841C 0025407C 48 03 6F 15 */ bl AXAcquireVoice /* 80258420 00254080 2C 03 00 00 */ cmpwi r3, 0 /* 80258424 00254084 90 7E 01 A4 */ stw r3, 0x1a4(r30) /* 80258428 00254088 40 82 00 24 */ bne lbl_8025844C /* 8025842C 0025408C 80 7E 01 A0 */ lwz r3, 0x1a0(r30) /* 80258430 00254090 48 04 0E 45 */ bl MIXReleaseChannel /* 80258434 00254094 80 7E 01 A0 */ lwz r3, 0x1a0(r30) /* 80258438 00254098 48 03 6E 7D */ bl AXFreeVoice /* 8025843C 0025409C 38 00 00 00 */ li r0, 0 /* 80258440 002540A0 38 60 00 00 */ li r3, 0 /* 80258444 002540A4 90 1E 01 A0 */ stw r0, 0x1a0(r30) /* 80258448 002540A8 48 00 01 64 */ b lbl_802585AC lbl_8025844C: /* 8025844C 002540AC 38 00 00 00 */ li r0, 0 /* 80258450 002540B0 38 80 00 00 */ li r4, 0 /* 80258454 002540B4 90 01 00 08 */ stw r0, 8(r1) /* 80258458 002540B8 38 A0 00 00 */ li r5, 0 /* 8025845C 002540BC 38 C0 FC 78 */ li r6, -904 /* 80258460 002540C0 38 E0 FC 78 */ li r7, -904 /* 80258464 002540C4 39 00 FC 78 */ li r8, -904 /* 80258468 002540C8 39 20 00 7F */ li r9, 0x7f /* 8025846C 002540CC 39 40 00 7F */ li r10, 0x7f /* 80258470 002540D0 48 03 F7 45 */ bl MIXInitChannel /* 80258474 002540D4 80 7E 01 AC */ lwz r3, 0x1ac(r30) /* 80258478 002540D8 38 00 00 01 */ li r0, 1 /* 8025847C 002540DC 38 A0 00 0A */ li r5, 0xa /* 80258480 002540E0 38 81 00 10 */ addi r4, r1, 0x10 /* 80258484 002540E4 3C E3 80 00 */ addis r7, r3, 0x8000 /* 80258488 002540E8 B0 01 00 10 */ sth r0, 0x10(r1) /* 8025848C 002540EC 7C 07 FA 14 */ add r0, r7, r31 /* 80258490 002540F0 54 06 F8 7E */ srwi r6, r0, 1 /* 80258494 002540F4 54 E3 7C 7E */ srwi r3, r7, 0x11 /* 80258498 002540F8 39 06 FF FF */ addi r8, r6, -1 /* 8025849C 002540FC B0 A1 00 12 */ sth r5, 0x12(r1) /* 802584A0 00254100 54 E6 FC 3E */ rlwinm r6, r7, 0x1f, 0x10, 0x1f /* 802584A4 00254104 55 00 84 3E */ srwi r0, r8, 0x10 /* 802584A8 00254108 B0 61 00 14 */ sth r3, 0x14(r1) /* 802584AC 0025410C B0 C1 00 16 */ sth r6, 0x16(r1) /* 802584B0 00254110 B0 01 00 18 */ sth r0, 0x18(r1) /* 802584B4 00254114 B1 01 00 1A */ sth r8, 0x1a(r1) /* 802584B8 00254118 B0 61 00 1C */ sth r3, 0x1c(r1) /* 802584BC 0025411C B0 C1 00 1E */ sth r6, 0x1e(r1) /* 802584C0 00254120 80 7E 01 A4 */ lwz r3, 0x1a4(r30) /* 802584C4 00254124 48 03 9B D1 */ bl AXSetVoiceAddr /* 802584C8 00254128 80 1E 00 58 */ lwz r0, 0x58(r30) /* 802584CC 0025412C 28 00 7D 00 */ cmplwi r0, 0x7d00 /* 802584D0 00254130 40 82 00 14 */ bne lbl_802584E4 /* 802584D4 00254134 80 7E 01 A4 */ lwz r3, 0x1a4(r30) /* 802584D8 00254138 38 80 00 00 */ li r4, 0 /* 802584DC 0025413C 48 03 9A 89 */ bl AXSetVoiceSrcType /* 802584E0 00254140 48 00 00 40 */ b lbl_80258520 lbl_802584E4: /* 802584E4 00254144 80 7E 01 A4 */ lwz r3, 0x1a4(r30) /* 802584E8 00254148 38 80 00 03 */ li r4, 3 /* 802584EC 0025414C 48 03 9A 79 */ bl AXSetVoiceSrcType /* 802584F0 00254150 80 7E 00 58 */ lwz r3, 0x58(r30) /* 802584F4 00254154 3C 00 43 30 */ lis r0, 0x4330 /* 802584F8 00254158 90 01 00 20 */ stw r0, 0x20(r1) /* 802584FC 0025415C C8 42 9F 80 */ lfd f2, lbl_80642580-_SDA2_BASE_(r2) /* 80258500 00254160 90 61 00 24 */ stw r3, 0x24(r1) /* 80258504 00254164 C8 02 9F 88 */ lfd f0, lbl_80642588-_SDA2_BASE_(r2) /* 80258508 00254168 C8 21 00 20 */ lfd f1, 0x20(r1) /* 8025850C 0025416C 80 7E 01 A4 */ lwz r3, 0x1a4(r30) /* 80258510 00254170 FC 21 10 28 */ fsub f1, f1, f2 /* 80258514 00254174 FC 21 00 24 */ fdiv f1, f1, f0 /* 80258518 00254178 FC 20 08 18 */ frsp f1, f1 /* 8025851C 0025417C 48 03 9C C5 */ bl AXSetVoiceSrcRatio lbl_80258520: /* 80258520 00254180 80 1E 00 54 */ lwz r0, 0x54(r30) /* 80258524 00254184 38 60 00 00 */ li r3, 0 /* 80258528 00254188 90 7E 01 D8 */ stw r3, 0x1d8(r30) /* 8025852C 0025418C 28 00 00 02 */ cmplwi r0, 2 /* 80258530 00254190 90 7E 01 DC */ stw r3, 0x1dc(r30) /* 80258534 00254194 90 7E 01 EC */ stw r3, 0x1ec(r30) /* 80258538 00254198 90 7E 01 E8 */ stw r3, 0x1e8(r30) /* 8025853C 0025419C 90 7E 01 F4 */ stw r3, 0x1f4(r30) /* 80258540 002541A0 90 7E 01 F0 */ stw r3, 0x1f0(r30) /* 80258544 002541A4 40 82 00 34 */ bne lbl_80258578 /* 80258548 002541A8 80 9E 01 A8 */ lwz r4, 0x1a8(r30) /* 8025854C 002541AC 7F C3 F3 78 */ mr r3, r30 /* 80258550 002541B0 80 BE 01 AC */ lwz r5, 0x1ac(r30) /* 80258554 002541B4 57 E6 F8 7E */ srwi r6, r31, 1 /* 80258558 002541B8 48 00 07 71 */ bl func_80258CC8 /* 8025855C 002541BC 80 7E 01 A8 */ lwz r3, 0x1a8(r30) /* 80258560 002541C0 7F E4 FB 78 */ mr r4, r31 /* 80258564 002541C4 48 01 20 F1 */ bl DCFlushRange /* 80258568 002541C8 80 7E 01 AC */ lwz r3, 0x1ac(r30) /* 8025856C 002541CC 7F E4 FB 78 */ mr r4, r31 /* 80258570 002541D0 48 01 20 E5 */ bl DCFlushRange /* 80258574 002541D4 48 00 00 24 */ b lbl_80258598 lbl_80258578: /* 80258578 002541D8 80 9E 01 A8 */ lwz r4, 0x1a8(r30) /* 8025857C 002541DC 7F C3 F3 78 */ mr r3, r30 /* 80258580 002541E0 57 E6 F8 7E */ srwi r6, r31, 1 /* 80258584 002541E4 38 A0 00 00 */ li r5, 0 /* 80258588 002541E8 48 00 07 41 */ bl func_80258CC8 /* 8025858C 002541EC 80 7E 01 A8 */ lwz r3, 0x1a8(r30) /* 80258590 002541F0 7F E4 FB 78 */ mr r4, r31 /* 80258594 002541F4 48 01 20 C1 */ bl DCFlushRange lbl_80258598: /* 80258598 002541F8 80 9E 01 A8 */ lwz r4, 0x1a8(r30) /* 8025859C 002541FC 38 60 00 01 */ li r3, 1 /* 802585A0 00254200 3C 04 80 00 */ addis r0, r4, 0x8000 /* 802585A4 00254204 54 00 F8 7E */ srwi r0, r0, 1 /* 802585A8 00254208 90 1E 01 E0 */ stw r0, 0x1e0(r30) lbl_802585AC: /* 802585AC 0025420C 80 01 00 34 */ lwz r0, 0x34(r1) /* 802585B0 00254210 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 802585B4 00254214 83 C1 00 28 */ lwz r30, 0x28(r1) /* 802585B8 00254218 7C 08 03 A6 */ mtlr r0 /* 802585BC 0025421C 38 21 00 30 */ addi r1, r1, 0x30 /* 802585C0 00254220 4E 80 00 20 */ blr .global func_802585C4 func_802585C4: /* 802585C4 00254224 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802585C8 00254228 7C 08 02 A6 */ mflr r0 /* 802585CC 0025422C 90 01 00 34 */ stw r0, 0x34(r1) /* 802585D0 00254230 39 61 00 30 */ addi r11, r1, 0x30 /* 802585D4 00254234 4B F6 EB 4D */ bl _savegpr_25 /* 802585D8 00254238 80 83 00 58 */ lwz r4, 0x58(r3) /* 802585DC 0025423C 3C 00 43 30 */ lis r0, 0x4330 /* 802585E0 00254240 90 01 00 08 */ stw r0, 8(r1) /* 802585E4 00254244 7C 79 1B 78 */ mr r25, r3 /* 802585E8 00254248 1C 04 00 28 */ mulli r0, r4, 0x28 /* 802585EC 0025424C C8 62 9F 80 */ lfd f3, lbl_80642580-_SDA2_BASE_(r2) /* 802585F0 00254250 C0 22 9F 78 */ lfs f1, lbl_80642578-_SDA2_BASE_(r2) /* 802585F4 00254254 C0 02 9F 74 */ lfs f0, lbl_80642574-_SDA2_BASE_(r2) /* 802585F8 00254258 90 01 00 0C */ stw r0, 0xc(r1) /* 802585FC 0025425C C8 41 00 08 */ lfd f2, 8(r1) /* 80258600 00254260 EC 42 18 28 */ fsubs f2, f2, f3 /* 80258604 00254264 EC 22 08 24 */ fdivs f1, f2, f1 /* 80258608 00254268 EC 20 08 2A */ fadds f1, f0, f1 /* 8025860C 0025426C 4B F6 E9 F5 */ bl __cvt_fp2unsigned /* 80258610 00254270 38 63 00 1F */ addi r3, r3, 0x1f /* 80258614 00254274 80 B9 01 E8 */ lwz r5, 0x1e8(r25) /* 80258618 00254278 80 19 01 F0 */ lwz r0, 0x1f0(r25) /* 8025861C 0025427C 54 7B 00 34 */ rlwinm r27, r3, 0, 0, 0x1a /* 80258620 00254280 80 99 01 EC */ lwz r4, 0x1ec(r25) /* 80258624 00254284 80 79 01 F4 */ lwz r3, 0x1f4(r25) /* 80258628 00254288 7C A0 02 78 */ xor r0, r5, r0 /* 8025862C 0025428C 7C 83 1A 78 */ xor r3, r4, r3 /* 80258630 00254290 7C 60 03 79 */ or. r0, r3, r0 /* 80258634 00254294 40 82 00 4C */ bne lbl_80258680 /* 80258638 00254298 80 19 00 54 */ lwz r0, 0x54(r25) /* 8025863C 0025429C 38 60 00 00 */ li r3, 0 /* 80258640 002542A0 90 79 01 F4 */ stw r3, 0x1f4(r25) /* 80258644 002542A4 28 00 00 02 */ cmplwi r0, 2 /* 80258648 002542A8 90 79 01 F0 */ stw r3, 0x1f0(r25) /* 8025864C 002542AC 40 82 00 1C */ bne lbl_80258668 /* 80258650 002542B0 80 99 01 A8 */ lwz r4, 0x1a8(r25) /* 80258654 002542B4 7F 23 CB 78 */ mr r3, r25 /* 80258658 002542B8 80 B9 01 AC */ lwz r5, 0x1ac(r25) /* 8025865C 002542BC 7F 66 DB 78 */ mr r6, r27 /* 80258660 002542C0 48 00 06 69 */ bl func_80258CC8 /* 80258664 002542C4 48 00 02 D0 */ b lbl_80258934 lbl_80258668: /* 80258668 002542C8 80 99 01 A8 */ lwz r4, 0x1a8(r25) /* 8025866C 002542CC 7F 23 CB 78 */ mr r3, r25 /* 80258670 002542D0 7F 66 DB 78 */ mr r6, r27 /* 80258674 002542D4 38 A0 00 00 */ li r5, 0 /* 80258678 002542D8 48 00 06 51 */ bl func_80258CC8 /* 8025867C 002542DC 48 00 02 B8 */ b lbl_80258934 lbl_80258680: /* 80258680 002542E0 7C A3 2B 78 */ mr r3, r5 /* 80258684 002542E4 7F 66 DB 78 */ mr r6, r27 /* 80258688 002542E8 38 A0 00 00 */ li r5, 0 /* 8025868C 002542EC 4B F6 ED 25 */ bl __mod2u /* 80258690 002542F0 7C 9D 23 78 */ mr r29, r4 /* 80258694 002542F4 80 79 01 F0 */ lwz r3, 0x1f0(r25) /* 80258698 002542F8 80 99 01 F4 */ lwz r4, 0x1f4(r25) /* 8025869C 002542FC 7F 66 DB 78 */ mr r6, r27 /* 802586A0 00254300 38 A0 00 00 */ li r5, 0 /* 802586A4 00254304 4B F6 ED 0D */ bl __mod2u /* 802586A8 00254308 2C 04 00 00 */ cmpwi r4, 0 /* 802586AC 0025430C 7C 9C 23 78 */ mr r28, r4 /* 802586B0 00254310 40 82 00 08 */ bne lbl_802586B8 /* 802586B4 00254314 7F 7C DB 78 */ mr r28, r27 lbl_802586B8: /* 802586B8 00254318 7C 1D E0 40 */ cmplw r29, r28 /* 802586BC 0025431C 40 80 00 F0 */ bge lbl_802587AC /* 802586C0 00254320 7C 1D E0 50 */ subf r0, r29, r28 /* 802586C4 00254324 80 79 01 A8 */ lwz r3, 0x1a8(r25) /* 802586C8 00254328 57 A4 08 3C */ slwi r4, r29, 1 /* 802586CC 0025432C 54 1E 08 3C */ slwi r30, r0, 1 /* 802586D0 00254330 7F C5 F3 78 */ mr r5, r30 /* 802586D4 00254334 7C 83 22 14 */ add r4, r3, r4 /* 802586D8 00254338 4B DA B9 29 */ bl memcpy /* 802586DC 0025433C 80 19 00 54 */ lwz r0, 0x54(r25) /* 802586E0 00254340 28 00 00 02 */ cmplwi r0, 2 /* 802586E4 00254344 40 82 00 18 */ bne lbl_802586FC /* 802586E8 00254348 80 79 01 AC */ lwz r3, 0x1ac(r25) /* 802586EC 0025434C 57 A0 08 3C */ slwi r0, r29, 1 /* 802586F0 00254350 7F C5 F3 78 */ mr r5, r30 /* 802586F4 00254354 7C 83 02 14 */ add r4, r3, r0 /* 802586F8 00254358 4B DA B9 09 */ bl memcpy lbl_802586FC: /* 802586FC 0025435C 83 59 01 D8 */ lwz r26, 0x1d8(r25) /* 80258700 00254360 3B 80 00 00 */ li r28, 0 /* 80258704 00254364 48 00 00 48 */ b lbl_8025874C lbl_80258708: /* 80258708 00254368 57 40 18 38 */ slwi r0, r26, 3 /* 8025870C 0025436C 7F 66 DB 78 */ mr r6, r27 /* 80258710 00254370 7C 99 02 14 */ add r4, r25, r0 /* 80258714 00254374 38 A0 00 00 */ li r5, 0 /* 80258718 00254378 80 64 01 B0 */ lwz r3, 0x1b0(r4) /* 8025871C 0025437C 80 84 01 B4 */ lwz r4, 0x1b4(r4) /* 80258720 00254380 4B F6 EC 91 */ bl __mod2u /* 80258724 00254384 57 40 18 38 */ slwi r0, r26, 3 /* 80258728 00254388 7C BD 20 10 */ subfc r5, r29, r4 /* 8025872C 0025438C 7C 99 02 14 */ add r4, r25, r0 /* 80258730 00254390 3B 5A 00 01 */ addi r26, r26, 1 /* 80258734 00254394 90 A4 01 B4 */ stw r5, 0x1b4(r4) /* 80258738 00254398 7C 1C 19 10 */ subfe r0, r28, r3 /* 8025873C 0025439C 2C 1A 00 05 */ cmpwi r26, 5 /* 80258740 002543A0 90 04 01 B0 */ stw r0, 0x1b0(r4) /* 80258744 002543A4 41 80 00 08 */ blt lbl_8025874C /* 80258748 002543A8 3B 40 00 00 */ li r26, 0 lbl_8025874C: /* 8025874C 002543AC 80 19 01 DC */ lwz r0, 0x1dc(r25) /* 80258750 002543B0 7C 1A 00 00 */ cmpw r26, r0 /* 80258754 002543B4 40 82 FF B4 */ bne lbl_80258708 /* 80258758 002543B8 57 C3 F8 7E */ srwi r3, r30, 1 /* 8025875C 002543BC 80 19 00 54 */ lwz r0, 0x54(r25) /* 80258760 002543C0 7C C3 D8 50 */ subf r6, r3, r27 /* 80258764 002543C4 57 C5 00 3C */ rlwinm r5, r30, 0, 0, 0x1e /* 80258768 002543C8 38 60 00 00 */ li r3, 0 /* 8025876C 002543CC 28 00 00 02 */ cmplwi r0, 2 /* 80258770 002543D0 7C 86 D8 50 */ subf r4, r6, r27 /* 80258774 002543D4 80 19 01 A8 */ lwz r0, 0x1a8(r25) /* 80258778 002543D8 90 99 01 F4 */ stw r4, 0x1f4(r25) /* 8025877C 002543DC 7C 80 2A 14 */ add r4, r0, r5 /* 80258780 002543E0 90 79 01 F0 */ stw r3, 0x1f0(r25) /* 80258784 002543E4 40 82 00 18 */ bne lbl_8025879C /* 80258788 002543E8 80 19 01 AC */ lwz r0, 0x1ac(r25) /* 8025878C 002543EC 7F 23 CB 78 */ mr r3, r25 /* 80258790 002543F0 7C A0 2A 14 */ add r5, r0, r5 /* 80258794 002543F4 48 00 05 35 */ bl func_80258CC8 /* 80258798 002543F8 48 00 01 9C */ b lbl_80258934 lbl_8025879C: /* 8025879C 002543FC 7F 23 CB 78 */ mr r3, r25 /* 802587A0 00254400 38 A0 00 00 */ li r5, 0 /* 802587A4 00254404 48 00 05 25 */ bl func_80258CC8 /* 802587A8 00254408 48 00 01 8C */ b lbl_80258934 lbl_802587AC: /* 802587AC 0025440C 3F 40 80 50 */ lis r26, lbl_804FDC20@ha /* 802587B0 00254410 80 99 01 A8 */ lwz r4, 0x1a8(r25) /* 802587B4 00254414 38 7A DC 20 */ addi r3, r26, lbl_804FDC20@l /* 802587B8 00254418 57 65 F0 BE */ srwi r5, r27, 2 /* 802587BC 0025441C 4B DA B8 45 */ bl memcpy /* 802587C0 00254420 7C 1D D8 50 */ subf r0, r29, r27 /* 802587C4 00254424 80 79 01 A8 */ lwz r3, 0x1a8(r25) /* 802587C8 00254428 57 A4 08 3C */ slwi r4, r29, 1 /* 802587CC 0025442C 54 1E 08 3C */ slwi r30, r0, 1 /* 802587D0 00254430 7F C5 F3 78 */ mr r5, r30 /* 802587D4 00254434 7C 83 22 14 */ add r4, r3, r4 /* 802587D8 00254438 4B DA B8 29 */ bl memcpy /* 802587DC 0025443C 80 79 01 A8 */ lwz r3, 0x1a8(r25) /* 802587E0 00254440 57 C0 00 3C */ rlwinm r0, r30, 0, 0, 0x1e /* 802587E4 00254444 38 9A DC 20 */ addi r4, r26, -9184 /* 802587E8 00254448 57 65 F0 BE */ srwi r5, r27, 2 /* 802587EC 0025444C 7C 63 02 14 */ add r3, r3, r0 /* 802587F0 00254450 4B DA B8 11 */ bl memcpy /* 802587F4 00254454 80 19 00 54 */ lwz r0, 0x54(r25) /* 802587F8 00254458 28 00 00 02 */ cmplwi r0, 2 /* 802587FC 0025445C 40 82 00 40 */ bne lbl_8025883C /* 80258800 00254460 80 99 01 AC */ lwz r4, 0x1ac(r25) /* 80258804 00254464 38 7A DC 20 */ addi r3, r26, -9184 /* 80258808 00254468 57 65 F0 BE */ srwi r5, r27, 2 /* 8025880C 0025446C 4B DA B7 F5 */ bl memcpy /* 80258810 00254470 80 79 01 AC */ lwz r3, 0x1ac(r25) /* 80258814 00254474 57 A0 08 3C */ slwi r0, r29, 1 /* 80258818 00254478 7F C5 F3 78 */ mr r5, r30 /* 8025881C 0025447C 7C 83 02 14 */ add r4, r3, r0 /* 80258820 00254480 4B DA B7 E1 */ bl memcpy /* 80258824 00254484 80 79 01 AC */ lwz r3, 0x1ac(r25) /* 80258828 00254488 57 C0 00 3C */ rlwinm r0, r30, 0, 0, 0x1e /* 8025882C 0025448C 38 9A DC 20 */ addi r4, r26, -9184 /* 80258830 00254490 57 65 F0 BE */ srwi r5, r27, 2 /* 80258834 00254494 7C 63 02 14 */ add r3, r3, r0 /* 80258838 00254498 4B DA B7 C9 */ bl memcpy lbl_8025883C: /* 8025883C 0025449C 83 59 01 D8 */ lwz r26, 0x1d8(r25) /* 80258840 002544A0 57 7E F8 7E */ srwi r30, r27, 1 /* 80258844 002544A4 3B E0 00 00 */ li r31, 0 /* 80258848 002544A8 48 00 00 7C */ b lbl_802588C4 lbl_8025884C: /* 8025884C 002544AC 57 40 18 38 */ slwi r0, r26, 3 /* 80258850 002544B0 7F 66 DB 78 */ mr r6, r27 /* 80258854 002544B4 7C 99 02 14 */ add r4, r25, r0 /* 80258858 002544B8 38 A0 00 00 */ li r5, 0 /* 8025885C 002544BC 80 64 01 B0 */ lwz r3, 0x1b0(r4) /* 80258860 002544C0 80 84 01 B4 */ lwz r4, 0x1b4(r4) /* 80258864 002544C4 4B F6 EB 4D */ bl __mod2u /* 80258868 002544C8 7C 04 F0 10 */ subfc r0, r4, r30 /* 8025886C 002544CC 7C 03 F9 10 */ subfe r0, r3, r31 /* 80258870 002544D0 7C 1E F1 10 */ subfe r0, r30, r30 /* 80258874 002544D4 7C 00 00 D1 */ neg. r0, r0 /* 80258878 002544D8 41 82 00 20 */ beq lbl_80258898 /* 8025887C 002544DC 57 40 18 38 */ slwi r0, r26, 3 /* 80258880 002544E0 7C BD 20 10 */ subfc r5, r29, r4 /* 80258884 002544E4 7C 99 02 14 */ add r4, r25, r0 /* 80258888 002544E8 90 A4 01 B4 */ stw r5, 0x1b4(r4) /* 8025888C 002544EC 7C 1F 19 10 */ subfe r0, r31, r3 /* 80258890 002544F0 90 04 01 B0 */ stw r0, 0x1b0(r4) /* 80258894 002544F4 48 00 00 20 */ b lbl_802588B4 lbl_80258898: /* 80258898 002544F8 7C BD D8 50 */ subf r5, r29, r27 /* 8025889C 002544FC 57 40 18 38 */ slwi r0, r26, 3 /* 802588A0 00254500 7C A4 28 14 */ addc r5, r4, r5 /* 802588A4 00254504 7C 99 02 14 */ add r4, r25, r0 /* 802588A8 00254508 7C 03 01 94 */ addze r0, r3 /* 802588AC 0025450C 90 A4 01 B4 */ stw r5, 0x1b4(r4) /* 802588B0 00254510 90 04 01 B0 */ stw r0, 0x1b0(r4) lbl_802588B4: /* 802588B4 00254514 3B 5A 00 01 */ addi r26, r26, 1 /* 802588B8 00254518 2C 1A 00 05 */ cmpwi r26, 5 /* 802588BC 0025451C 41 80 00 08 */ blt lbl_802588C4 /* 802588C0 00254520 3B 40 00 00 */ li r26, 0 lbl_802588C4: /* 802588C4 00254524 80 19 01 DC */ lwz r0, 0x1dc(r25) /* 802588C8 00254528 7C 1A 00 00 */ cmpw r26, r0 /* 802588CC 0025452C 40 82 FF 80 */ bne lbl_8025884C /* 802588D0 00254530 80 19 00 54 */ lwz r0, 0x54(r25) /* 802588D4 00254534 7C DC E8 50 */ subf r6, r28, r29 /* 802588D8 00254538 80 B9 01 A8 */ lwz r5, 0x1a8(r25) /* 802588DC 0025453C 57 67 08 3C */ slwi r7, r27, 1 /* 802588E0 00254540 7C 86 D8 50 */ subf r4, r6, r27 /* 802588E4 00254544 38 60 00 00 */ li r3, 0 /* 802588E8 00254548 28 00 00 02 */ cmplwi r0, 2 /* 802588EC 0025454C 7C 05 3A 14 */ add r0, r5, r7 /* 802588F0 00254550 57 A8 08 3C */ slwi r8, r29, 1 /* 802588F4 00254554 90 99 01 F4 */ stw r4, 0x1f4(r25) /* 802588F8 00254558 7C 08 00 50 */ subf r0, r8, r0 /* 802588FC 0025455C 57 85 08 3C */ slwi r5, r28, 1 /* 80258900 00254560 90 79 01 F0 */ stw r3, 0x1f0(r25) /* 80258904 00254564 7C 80 2A 14 */ add r4, r0, r5 /* 80258908 00254568 40 82 00 20 */ bne lbl_80258928 /* 8025890C 0025456C 80 19 01 AC */ lwz r0, 0x1ac(r25) /* 80258910 00254570 7F 23 CB 78 */ mr r3, r25 /* 80258914 00254574 7C 00 3A 14 */ add r0, r0, r7 /* 80258918 00254578 7C 08 00 50 */ subf r0, r8, r0 /* 8025891C 0025457C 7C A0 2A 14 */ add r5, r0, r5 /* 80258920 00254580 48 00 03 A9 */ bl func_80258CC8 /* 80258924 00254584 48 00 00 10 */ b lbl_80258934 lbl_80258928: /* 80258928 00254588 7F 23 CB 78 */ mr r3, r25 /* 8025892C 0025458C 38 A0 00 00 */ li r5, 0 /* 80258930 00254590 48 00 03 99 */ bl func_80258CC8 lbl_80258934: /* 80258934 00254594 80 19 00 54 */ lwz r0, 0x54(r25) /* 80258938 00254598 38 60 00 00 */ li r3, 0 /* 8025893C 0025459C 90 79 01 EC */ stw r3, 0x1ec(r25) /* 80258940 002545A0 28 00 00 02 */ cmplwi r0, 2 /* 80258944 002545A4 90 79 01 E8 */ stw r3, 0x1e8(r25) /* 80258948 002545A8 40 82 00 24 */ bne lbl_8025896C /* 8025894C 002545AC 80 79 01 AC */ lwz r3, 0x1ac(r25) /* 80258950 002545B0 57 64 08 3C */ slwi r4, r27, 1 /* 80258954 002545B4 48 01 1D 01 */ bl DCFlushRange /* 80258958 002545B8 80 99 01 AC */ lwz r4, 0x1ac(r25) /* 8025895C 002545BC 80 79 01 A4 */ lwz r3, 0x1a4(r25) /* 80258960 002545C0 3C 04 80 00 */ addis r0, r4, 0x8000 /* 80258964 002545C4 54 04 F8 7E */ srwi r4, r0, 1 /* 80258968 002545C8 48 03 98 25 */ bl AXSetVoiceCurrentAddr lbl_8025896C: /* 8025896C 002545CC 80 79 01 A8 */ lwz r3, 0x1a8(r25) /* 80258970 002545D0 57 64 08 3C */ slwi r4, r27, 1 /* 80258974 002545D4 48 01 1C E1 */ bl DCFlushRange /* 80258978 002545D8 80 99 01 A8 */ lwz r4, 0x1a8(r25) /* 8025897C 002545DC 80 79 01 A0 */ lwz r3, 0x1a0(r25) /* 80258980 002545E0 3C 04 80 00 */ addis r0, r4, 0x8000 /* 80258984 002545E4 54 04 F8 7E */ srwi r4, r0, 1 /* 80258988 002545E8 48 03 98 05 */ bl AXSetVoiceCurrentAddr /* 8025898C 002545EC 80 79 01 A8 */ lwz r3, 0x1a8(r25) /* 80258990 002545F0 39 61 00 30 */ addi r11, r1, 0x30 /* 80258994 002545F4 3C 03 80 00 */ addis r0, r3, 0x8000 /* 80258998 002545F8 54 00 F8 7E */ srwi r0, r0, 1 /* 8025899C 002545FC 90 19 01 E0 */ stw r0, 0x1e0(r25) /* 802589A0 00254600 4B F6 E7 CD */ bl _restgpr_25 /* 802589A4 00254604 80 01 00 34 */ lwz r0, 0x34(r1) /* 802589A8 00254608 7C 08 03 A6 */ mtlr r0 /* 802589AC 0025460C 38 21 00 30 */ addi r1, r1, 0x30 /* 802589B0 00254610 4E 80 00 20 */ blr .global func_802589B4 func_802589B4: /* 802589B4 00254614 80 03 01 DC */ lwz r0, 0x1dc(r3) /* 802589B8 00254618 54 00 18 38 */ slwi r0, r0, 3 /* 802589BC 0025461C 7C 83 02 14 */ add r4, r3, r0 /* 802589C0 00254620 90 C4 01 B4 */ stw r6, 0x1b4(r4) /* 802589C4 00254624 90 A4 01 B0 */ stw r5, 0x1b0(r4) /* 802589C8 00254628 80 83 01 DC */ lwz r4, 0x1dc(r3) /* 802589CC 0025462C 38 04 00 01 */ addi r0, r4, 1 /* 802589D0 00254630 2C 00 00 05 */ cmpwi r0, 5 /* 802589D4 00254634 90 03 01 DC */ stw r0, 0x1dc(r3) /* 802589D8 00254638 4D 80 00 20 */ bltlr /* 802589DC 0025463C 38 00 00 00 */ li r0, 0 /* 802589E0 00254640 90 03 01 DC */ stw r0, 0x1dc(r3) /* 802589E4 00254644 4E 80 00 20 */ blr .global func_802589E8 func_802589E8: /* 802589E8 00254648 38 E0 00 00 */ li r7, 0 /* 802589EC 0025464C 48 00 00 4C */ b lbl_80258A38 lbl_802589F0: /* 802589F0 00254650 54 80 18 38 */ slwi r0, r4, 3 /* 802589F4 00254654 7C 83 02 14 */ add r4, r3, r0 /* 802589F8 00254658 80 04 01 B4 */ lwz r0, 0x1b4(r4) /* 802589FC 0025465C 80 84 01 B0 */ lwz r4, 0x1b0(r4) /* 80258A00 00254660 7C 00 30 10 */ subfc r0, r0, r6 /* 80258A04 00254664 7C 04 29 10 */ subfe r0, r4, r5 /* 80258A08 00254668 7C 06 31 10 */ subfe r0, r6, r6 /* 80258A0C 0025466C 7C 00 00 D1 */ neg. r0, r0 /* 80258A10 00254670 4C 82 00 20 */ bnelr /* 80258A14 00254674 80 83 01 D8 */ lwz r4, 0x1d8(r3) /* 80258A18 00254678 38 04 00 01 */ addi r0, r4, 1 /* 80258A1C 0025467C 2C 00 00 05 */ cmpwi r0, 5 /* 80258A20 00254680 90 03 01 D8 */ stw r0, 0x1d8(r3) /* 80258A24 00254684 41 80 00 08 */ blt lbl_80258A2C /* 80258A28 00254688 90 E3 01 D8 */ stw r7, 0x1d8(r3) lbl_80258A2C: /* 80258A2C 0025468C 80 83 00 C4 */ lwz r4, 0xc4(r3) /* 80258A30 00254690 38 04 00 01 */ addi r0, r4, 1 /* 80258A34 00254694 90 03 00 C4 */ stw r0, 0xc4(r3) lbl_80258A38: /* 80258A38 00254698 80 83 01 D8 */ lwz r4, 0x1d8(r3) /* 80258A3C 0025469C 80 03 01 DC */ lwz r0, 0x1dc(r3) /* 80258A40 002546A0 7C 04 00 00 */ cmpw r4, r0 /* 80258A44 002546A4 40 82 FF AC */ bne lbl_802589F0 /* 80258A48 002546A8 4E 80 00 20 */ blr .global func_80258A4C func_80258A4C: /* 80258A4C 002546AC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80258A50 002546B0 7C 08 02 A6 */ mflr r0 /* 80258A54 002546B4 90 01 00 24 */ stw r0, 0x24(r1) /* 80258A58 002546B8 39 61 00 20 */ addi r11, r1, 0x20 /* 80258A5C 002546BC 4B F6 E6 CD */ bl _savegpr_27 /* 80258A60 002546C0 80 03 00 CC */ lwz r0, 0xcc(r3) /* 80258A64 002546C4 7C 7B 1B 78 */ mr r27, r3 /* 80258A68 002546C8 7C 9C 23 78 */ mr r28, r4 /* 80258A6C 002546CC 7C BD 2B 78 */ mr r29, r5 /* 80258A70 002546D0 2C 00 00 00 */ cmpwi r0, 0 /* 80258A74 002546D4 7C DF 33 78 */ mr r31, r6 /* 80258A78 002546D8 7C FE 3B 78 */ mr r30, r7 /* 80258A7C 002546DC 40 82 00 24 */ bne lbl_80258AA0 /* 80258A80 002546E0 48 00 26 79 */ bl func_8025B0F8 /* 80258A84 002546E4 2C 03 00 00 */ cmpwi r3, 0 /* 80258A88 002546E8 90 7B 00 CC */ stw r3, 0xcc(r27) /* 80258A8C 002546EC 40 82 00 14 */ bne lbl_80258AA0 /* 80258A90 002546F0 38 00 00 02 */ li r0, 2 /* 80258A94 002546F4 38 60 00 00 */ li r3, 0 /* 80258A98 002546F8 90 1E 00 00 */ stw r0, 0(r30) /* 80258A9C 002546FC 48 00 02 14 */ b lbl_80258CB0 lbl_80258AA0: /* 80258AA0 00254700 80 9B 00 CC */ lwz r4, 0xcc(r27) /* 80258AA4 00254704 80 64 00 08 */ lwz r3, 8(r4) /* 80258AA8 00254708 2C 03 00 00 */ cmpwi r3, 0 /* 80258AAC 0025470C 41 82 02 00 */ beq lbl_80258CAC /* 80258AB0 00254710 7C 03 F8 40 */ cmplw r3, r31 /* 80258AB4 00254714 41 80 00 08 */ blt lbl_80258ABC /* 80258AB8 00254718 7F E3 FB 78 */ mr r3, r31 lbl_80258ABC: /* 80258ABC 0025471C 2C 1D 00 00 */ cmpwi r29, 0 /* 80258AC0 00254720 80 84 00 04 */ lwz r4, 4(r4) /* 80258AC4 00254724 7C 7F 1B 78 */ mr r31, r3 /* 80258AC8 00254728 40 82 00 A8 */ bne lbl_80258B70 /* 80258ACC 0025472C 2C 03 00 00 */ cmpwi r3, 0 /* 80258AD0 00254730 38 C0 00 00 */ li r6, 0 /* 80258AD4 00254734 41 82 01 8C */ beq lbl_80258C60 /* 80258AD8 00254738 28 03 00 08 */ cmplwi r3, 8 /* 80258ADC 0025473C 38 A3 FF F8 */ addi r5, r3, -8 /* 80258AE0 00254740 40 81 00 68 */ ble lbl_80258B48 /* 80258AE4 00254744 38 05 00 07 */ addi r0, r5, 7 /* 80258AE8 00254748 54 00 E8 FE */ srwi r0, r0, 3 /* 80258AEC 0025474C 7C 09 03 A6 */ mtctr r0 /* 80258AF0 00254750 28 05 00 00 */ cmplwi r5, 0 /* 80258AF4 00254754 40 81 00 54 */ ble lbl_80258B48 lbl_80258AF8: /* 80258AF8 00254758 A8 04 00 02 */ lha r0, 2(r4) /* 80258AFC 0025475C 38 C6 00 08 */ addi r6, r6, 8 /* 80258B00 00254760 B0 1C 00 00 */ sth r0, 0(r28) /* 80258B04 00254764 A8 04 00 06 */ lha r0, 6(r4) /* 80258B08 00254768 B0 1C 00 02 */ sth r0, 2(r28) /* 80258B0C 0025476C A8 04 00 0A */ lha r0, 0xa(r4) /* 80258B10 00254770 B0 1C 00 04 */ sth r0, 4(r28) /* 80258B14 00254774 A8 04 00 0E */ lha r0, 0xe(r4) /* 80258B18 00254778 B0 1C 00 06 */ sth r0, 6(r28) /* 80258B1C 0025477C A8 04 00 12 */ lha r0, 0x12(r4) /* 80258B20 00254780 B0 1C 00 08 */ sth r0, 8(r28) /* 80258B24 00254784 A8 04 00 16 */ lha r0, 0x16(r4) /* 80258B28 00254788 B0 1C 00 0A */ sth r0, 0xa(r28) /* 80258B2C 0025478C A8 04 00 1A */ lha r0, 0x1a(r4) /* 80258B30 00254790 B0 1C 00 0C */ sth r0, 0xc(r28) /* 80258B34 00254794 A8 04 00 1E */ lha r0, 0x1e(r4) /* 80258B38 00254798 38 84 00 20 */ addi r4, r4, 0x20 /* 80258B3C 0025479C B0 1C 00 0E */ sth r0, 0xe(r28) /* 80258B40 002547A0 3B 9C 00 10 */ addi r28, r28, 0x10 /* 80258B44 002547A4 42 00 FF B4 */ bdnz lbl_80258AF8 lbl_80258B48: /* 80258B48 002547A8 7C 06 18 50 */ subf r0, r6, r3 /* 80258B4C 002547AC 7C 09 03 A6 */ mtctr r0 /* 80258B50 002547B0 7C 06 18 40 */ cmplw r6, r3 /* 80258B54 002547B4 40 80 01 0C */ bge lbl_80258C60 lbl_80258B58: /* 80258B58 002547B8 A8 04 00 02 */ lha r0, 2(r4) /* 80258B5C 002547BC 38 84 00 04 */ addi r4, r4, 4 /* 80258B60 002547C0 B0 1C 00 00 */ sth r0, 0(r28) /* 80258B64 002547C4 3B 9C 00 02 */ addi r28, r28, 2 /* 80258B68 002547C8 42 00 FF F0 */ bdnz lbl_80258B58 /* 80258B6C 002547CC 48 00 00 F4 */ b lbl_80258C60 lbl_80258B70: /* 80258B70 002547D0 2C 03 00 00 */ cmpwi r3, 0 /* 80258B74 002547D4 38 C0 00 00 */ li r6, 0 /* 80258B78 002547D8 41 82 00 E8 */ beq lbl_80258C60 /* 80258B7C 002547DC 28 03 00 08 */ cmplwi r3, 8 /* 80258B80 002547E0 38 A3 FF F8 */ addi r5, r3, -8 /* 80258B84 002547E4 40 81 00 AC */ ble lbl_80258C30 /* 80258B88 002547E8 38 05 00 07 */ addi r0, r5, 7 /* 80258B8C 002547EC 54 00 E8 FE */ srwi r0, r0, 3 /* 80258B90 002547F0 7C 09 03 A6 */ mtctr r0 /* 80258B94 002547F4 28 05 00 00 */ cmplwi r5, 0 /* 80258B98 002547F8 40 81 00 98 */ ble lbl_80258C30 lbl_80258B9C: /* 80258B9C 002547FC A8 04 00 00 */ lha r0, 0(r4) /* 80258BA0 00254800 38 C6 00 08 */ addi r6, r6, 8 /* 80258BA4 00254804 B0 1D 00 00 */ sth r0, 0(r29) /* 80258BA8 00254808 A8 04 00 02 */ lha r0, 2(r4) /* 80258BAC 0025480C B0 1C 00 00 */ sth r0, 0(r28) /* 80258BB0 00254810 A8 04 00 04 */ lha r0, 4(r4) /* 80258BB4 00254814 B0 1D 00 02 */ sth r0, 2(r29) /* 80258BB8 00254818 A8 04 00 06 */ lha r0, 6(r4) /* 80258BBC 0025481C B0 1C 00 02 */ sth r0, 2(r28) /* 80258BC0 00254820 A8 04 00 08 */ lha r0, 8(r4) /* 80258BC4 00254824 B0 1D 00 04 */ sth r0, 4(r29) /* 80258BC8 00254828 A8 04 00 0A */ lha r0, 0xa(r4) /* 80258BCC 0025482C B0 1C 00 04 */ sth r0, 4(r28) /* 80258BD0 00254830 A8 04 00 0C */ lha r0, 0xc(r4) /* 80258BD4 00254834 B0 1D 00 06 */ sth r0, 6(r29) /* 80258BD8 00254838 A8 04 00 0E */ lha r0, 0xe(r4) /* 80258BDC 0025483C B0 1C 00 06 */ sth r0, 6(r28) /* 80258BE0 00254840 A8 04 00 10 */ lha r0, 0x10(r4) /* 80258BE4 00254844 B0 1D 00 08 */ sth r0, 8(r29) /* 80258BE8 00254848 A8 04 00 12 */ lha r0, 0x12(r4) /* 80258BEC 0025484C B0 1C 00 08 */ sth r0, 8(r28) /* 80258BF0 00254850 A8 04 00 14 */ lha r0, 0x14(r4) /* 80258BF4 00254854 B0 1D 00 0A */ sth r0, 0xa(r29) /* 80258BF8 00254858 A8 04 00 16 */ lha r0, 0x16(r4) /* 80258BFC 0025485C B0 1C 00 0A */ sth r0, 0xa(r28) /* 80258C00 00254860 A8 04 00 18 */ lha r0, 0x18(r4) /* 80258C04 00254864 B0 1D 00 0C */ sth r0, 0xc(r29) /* 80258C08 00254868 A8 04 00 1A */ lha r0, 0x1a(r4) /* 80258C0C 0025486C B0 1C 00 0C */ sth r0, 0xc(r28) /* 80258C10 00254870 A8 04 00 1C */ lha r0, 0x1c(r4) /* 80258C14 00254874 B0 1D 00 0E */ sth r0, 0xe(r29) /* 80258C18 00254878 3B BD 00 10 */ addi r29, r29, 0x10 /* 80258C1C 0025487C A8 04 00 1E */ lha r0, 0x1e(r4) /* 80258C20 00254880 38 84 00 20 */ addi r4, r4, 0x20 /* 80258C24 00254884 B0 1C 00 0E */ sth r0, 0xe(r28) /* 80258C28 00254888 3B 9C 00 10 */ addi r28, r28, 0x10 /* 80258C2C 0025488C 42 00 FF 70 */ bdnz lbl_80258B9C lbl_80258C30: /* 80258C30 00254890 7C 06 18 50 */ subf r0, r6, r3 /* 80258C34 00254894 7C 09 03 A6 */ mtctr r0 /* 80258C38 00254898 7C 06 18 40 */ cmplw r6, r3 /* 80258C3C 0025489C 40 80 00 24 */ bge lbl_80258C60 lbl_80258C40: /* 80258C40 002548A0 A8 04 00 00 */ lha r0, 0(r4) /* 80258C44 002548A4 B0 1D 00 00 */ sth r0, 0(r29) /* 80258C48 002548A8 3B BD 00 02 */ addi r29, r29, 2 /* 80258C4C 002548AC A8 04 00 02 */ lha r0, 2(r4) /* 80258C50 002548B0 38 84 00 04 */ addi r4, r4, 4 /* 80258C54 002548B4 B0 1C 00 00 */ sth r0, 0(r28) /* 80258C58 002548B8 3B 9C 00 02 */ addi r28, r28, 2 /* 80258C5C 002548BC 42 00 FF E4 */ bdnz lbl_80258C40 lbl_80258C60: /* 80258C60 002548C0 80 BB 00 CC */ lwz r5, 0xcc(r27) /* 80258C64 002548C4 80 05 00 08 */ lwz r0, 8(r5) /* 80258C68 002548C8 7C 03 00 50 */ subf r0, r3, r0 /* 80258C6C 002548CC 90 05 00 08 */ stw r0, 8(r5) /* 80258C70 002548D0 80 7B 00 CC */ lwz r3, 0xcc(r27) /* 80258C74 002548D4 90 83 00 04 */ stw r4, 4(r3) /* 80258C78 002548D8 80 9B 00 CC */ lwz r4, 0xcc(r27) /* 80258C7C 002548DC 80 04 00 08 */ lwz r0, 8(r4) /* 80258C80 002548E0 2C 00 00 00 */ cmpwi r0, 0 /* 80258C84 002548E4 40 82 00 20 */ bne lbl_80258CA4 /* 80258C88 002548E8 7F 63 DB 78 */ mr r3, r27 /* 80258C8C 002548EC 48 00 24 39 */ bl func_8025B0C4 /* 80258C90 002548F0 38 60 00 00 */ li r3, 0 /* 80258C94 002548F4 38 00 00 01 */ li r0, 1 /* 80258C98 002548F8 90 7B 00 CC */ stw r3, 0xcc(r27) /* 80258C9C 002548FC 90 1E 00 00 */ stw r0, 0(r30) /* 80258CA0 00254900 48 00 00 0C */ b lbl_80258CAC lbl_80258CA4: /* 80258CA4 00254904 38 00 00 00 */ li r0, 0 /* 80258CA8 00254908 90 1E 00 00 */ stw r0, 0(r30) lbl_80258CAC: /* 80258CAC 0025490C 7F E3 FB 78 */ mr r3, r31 lbl_80258CB0: /* 80258CB0 00254910 39 61 00 20 */ addi r11, r1, 0x20 /* 80258CB4 00254914 4B F6 E4 C1 */ bl _restgpr_27 /* 80258CB8 00254918 80 01 00 24 */ lwz r0, 0x24(r1) /* 80258CBC 0025491C 7C 08 03 A6 */ mtlr r0 /* 80258CC0 00254920 38 21 00 20 */ addi r1, r1, 0x20 /* 80258CC4 00254924 4E 80 00 20 */ blr .global func_80258CC8 func_80258CC8: /* 80258CC8 00254928 94 21 FF D0 */ stwu r1, -0x30(r1) /* 80258CCC 0025492C 7C 08 02 A6 */ mflr r0 /* 80258CD0 00254930 90 01 00 34 */ stw r0, 0x34(r1) /* 80258CD4 00254934 39 61 00 30 */ addi r11, r1, 0x30 /* 80258CD8 00254938 4B F6 E4 49 */ bl _savegpr_25 /* 80258CDC 0025493C 7C DA 33 78 */ mr r26, r6 /* 80258CE0 00254940 83 E3 01 F0 */ lwz r31, 0x1f0(r3) /* 80258CE4 00254944 83 C3 01 F4 */ lwz r30, 0x1f4(r3) /* 80258CE8 00254948 7C 79 1B 78 */ mr r25, r3 /* 80258CEC 0025494C 7C 9C 23 78 */ mr r28, r4 /* 80258CF0 00254950 7C BB 2B 78 */ mr r27, r5 /* 80258CF4 00254954 7F 5D D3 78 */ mr r29, r26 lbl_80258CF8: /* 80258CF8 00254958 7F 23 CB 78 */ mr r3, r25 /* 80258CFC 0025495C 7F 84 E3 78 */ mr r4, r28 /* 80258D00 00254960 7F 65 DB 78 */ mr r5, r27 /* 80258D04 00254964 7F A6 EB 78 */ mr r6, r29 /* 80258D08 00254968 38 E1 00 08 */ addi r7, r1, 8 /* 80258D0C 0025496C 4B FF FD 41 */ bl func_80258A4C /* 80258D10 00254970 80 01 00 08 */ lwz r0, 8(r1) /* 80258D14 00254974 7F DE 18 14 */ addc r30, r30, r3 /* 80258D18 00254978 7F FF 01 94 */ addze r31, r31 /* 80258D1C 0025497C 2C 00 00 00 */ cmpwi r0, 0 /* 80258D20 00254980 41 82 00 64 */ beq lbl_80258D84 /* 80258D24 00254984 2C 00 00 01 */ cmpwi r0, 1 /* 80258D28 00254988 40 82 00 30 */ bne lbl_80258D58 /* 80258D2C 0025498C 2C 1B 00 00 */ cmpwi r27, 0 /* 80258D30 00254990 54 60 08 3C */ slwi r0, r3, 1 /* 80258D34 00254994 7F A3 E8 50 */ subf r29, r3, r29 /* 80258D38 00254998 7F 9C 02 14 */ add r28, r28, r0 /* 80258D3C 0025499C 41 82 00 08 */ beq lbl_80258D44 /* 80258D40 002549A0 7F 7B 02 14 */ add r27, r27, r0 lbl_80258D44: /* 80258D44 002549A4 7F 23 CB 78 */ mr r3, r25 /* 80258D48 002549A8 7F C6 F3 78 */ mr r6, r30 /* 80258D4C 002549AC 7F E5 FB 78 */ mr r5, r31 /* 80258D50 002549B0 4B FF FC 65 */ bl func_802589B4 /* 80258D54 002549B4 4B FF FF A4 */ b lbl_80258CF8 lbl_80258D58: /* 80258D58 002549B8 57 BF 08 3C */ slwi r31, r29, 1 /* 80258D5C 002549BC 7F 83 E3 78 */ mr r3, r28 /* 80258D60 002549C0 7F E5 FB 78 */ mr r5, r31 /* 80258D64 002549C4 38 80 00 00 */ li r4, 0 /* 80258D68 002549C8 4B DA B3 9D */ bl memset /* 80258D6C 002549CC 2C 1B 00 00 */ cmpwi r27, 0 /* 80258D70 002549D0 41 82 00 14 */ beq lbl_80258D84 /* 80258D74 002549D4 7F 63 DB 78 */ mr r3, r27 /* 80258D78 002549D8 7F E5 FB 78 */ mr r5, r31 /* 80258D7C 002549DC 38 80 00 00 */ li r4, 0 /* 80258D80 002549E0 4B DA B3 85 */ bl memset lbl_80258D84: /* 80258D84 002549E4 80 79 01 F4 */ lwz r3, 0x1f4(r25) /* 80258D88 002549E8 39 61 00 30 */ addi r11, r1, 0x30 /* 80258D8C 002549EC 80 19 01 F0 */ lwz r0, 0x1f0(r25) /* 80258D90 002549F0 7C 63 D0 14 */ addc r3, r3, r26 /* 80258D94 002549F4 7C 00 01 94 */ addze r0, r0 /* 80258D98 002549F8 90 79 01 F4 */ stw r3, 0x1f4(r25) /* 80258D9C 002549FC 90 19 01 F0 */ stw r0, 0x1f0(r25) /* 80258DA0 00254A00 4B F6 E3 CD */ bl _restgpr_25 /* 80258DA4 00254A04 80 01 00 34 */ lwz r0, 0x34(r1) /* 80258DA8 00254A08 7C 08 03 A6 */ mtlr r0 /* 80258DAC 00254A0C 38 21 00 30 */ addi r1, r1, 0x30 /* 80258DB0 00254A10 4E 80 00 20 */ blr .global func_80258DB4 func_80258DB4: /* 80258DB4 00254A14 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80258DB8 00254A18 7C 08 02 A6 */ mflr r0 /* 80258DBC 00254A1C 90 01 00 24 */ stw r0, 0x24(r1) /* 80258DC0 00254A20 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80258DC4 00254A24 93 C1 00 18 */ stw r30, 0x18(r1) /* 80258DC8 00254A28 7C 7E 1B 78 */ mr r30, r3 /* 80258DCC 00254A2C 93 A1 00 14 */ stw r29, 0x14(r1) /* 80258DD0 00254A30 83 E3 01 A0 */ lwz r31, 0x1a0(r3) /* 80258DD4 00254A34 2C 1F 00 00 */ cmpwi r31, 0 /* 80258DD8 00254A38 40 82 00 10 */ bne lbl_80258DE8 /* 80258DDC 00254A3C 80 03 01 A4 */ lwz r0, 0x1a4(r3) /* 80258DE0 00254A40 2C 00 00 00 */ cmpwi r0, 0 /* 80258DE4 00254A44 41 82 00 F8 */ beq lbl_80258EDC lbl_80258DE8: /* 80258DE8 00254A48 88 03 00 6A */ lbz r0, 0x6a(r3) /* 80258DEC 00254A4C 28 00 00 08 */ cmplwi r0, 8 /* 80258DF0 00254A50 40 82 00 EC */ bne lbl_80258EDC /* 80258DF4 00254A54 80 63 00 58 */ lwz r3, 0x58(r3) /* 80258DF8 00254A58 3C 00 43 30 */ lis r0, 0x4330 /* 80258DFC 00254A5C 90 01 00 08 */ stw r0, 8(r1) /* 80258E00 00254A60 1C 03 00 28 */ mulli r0, r3, 0x28 /* 80258E04 00254A64 C8 62 9F 80 */ lfd f3, lbl_80642580-_SDA2_BASE_(r2) /* 80258E08 00254A68 C0 22 9F 78 */ lfs f1, lbl_80642578-_SDA2_BASE_(r2) /* 80258E0C 00254A6C C0 02 9F 74 */ lfs f0, lbl_80642574-_SDA2_BASE_(r2) /* 80258E10 00254A70 90 01 00 0C */ stw r0, 0xc(r1) /* 80258E14 00254A74 C8 41 00 08 */ lfd f2, 8(r1) /* 80258E18 00254A78 EC 42 18 28 */ fsubs f2, f2, f3 /* 80258E1C 00254A7C EC 22 08 24 */ fdivs f1, f2, f1 /* 80258E20 00254A80 EC 20 08 2A */ fadds f1, f0, f1 /* 80258E24 00254A84 4B F6 E1 DD */ bl __cvt_fp2unsigned /* 80258E28 00254A88 A0 1F 00 A2 */ lhz r0, 0xa2(r31) /* 80258E2C 00254A8C 38 63 00 1F */ addi r3, r3, 0x1f /* 80258E30 00254A90 A3 FF 00 A4 */ lhz r31, 0xa4(r31) /* 80258E34 00254A94 54 7D 00 34 */ rlwinm r29, r3, 0, 0, 0x1a /* 80258E38 00254A98 80 9E 01 E0 */ lwz r4, 0x1e0(r30) /* 80258E3C 00254A9C 50 1F 80 1E */ rlwimi r31, r0, 0x10, 0, 0xf /* 80258E40 00254AA0 7C 1F 20 40 */ cmplw r31, r4 /* 80258E44 00254AA4 41 80 00 0C */ blt lbl_80258E50 /* 80258E48 00254AA8 7C A4 F8 50 */ subf r5, r4, r31 /* 80258E4C 00254AAC 48 00 00 20 */ b lbl_80258E6C lbl_80258E50: /* 80258E50 00254AB0 80 7E 01 A8 */ lwz r3, 0x1a8(r30) /* 80258E54 00254AB4 3C 03 80 00 */ addis r0, r3, 0x8000 /* 80258E58 00254AB8 54 03 F8 7E */ srwi r3, r0, 1 /* 80258E5C 00254ABC 7C 03 EA 14 */ add r0, r3, r29 /* 80258E60 00254AC0 7C A4 00 50 */ subf r5, r4, r0 /* 80258E64 00254AC4 7C 03 F8 50 */ subf r0, r3, r31 /* 80258E68 00254AC8 7C A5 02 14 */ add r5, r5, r0 lbl_80258E6C: /* 80258E6C 00254ACC 80 9E 01 EC */ lwz r4, 0x1ec(r30) /* 80258E70 00254AD0 7F C3 F3 78 */ mr r3, r30 /* 80258E74 00254AD4 80 1E 01 E8 */ lwz r0, 0x1e8(r30) /* 80258E78 00254AD8 7C C4 28 14 */ addc r6, r4, r5 /* 80258E7C 00254ADC 7C A0 01 94 */ addze r5, r0 /* 80258E80 00254AE0 90 DE 01 EC */ stw r6, 0x1ec(r30) /* 80258E84 00254AE4 90 BE 01 E8 */ stw r5, 0x1e8(r30) /* 80258E88 00254AE8 4B FF FB 61 */ bl func_802589E8 /* 80258E8C 00254AEC 80 9E 01 A8 */ lwz r4, 0x1a8(r30) /* 80258E90 00254AF0 57 A3 F8 7E */ srwi r3, r29, 1 /* 80258E94 00254AF4 80 1E 01 E0 */ lwz r0, 0x1e0(r30) /* 80258E98 00254AF8 3C 84 80 00 */ addis r4, r4, 0x8000 /* 80258E9C 00254AFC 54 84 F8 7E */ srwi r4, r4, 1 /* 80258EA0 00254B00 7C 1F 00 40 */ cmplw r31, r0 /* 80258EA4 00254B04 7F A4 1A 14 */ add r29, r4, r3 /* 80258EA8 00254B08 40 80 00 10 */ bge lbl_80258EB8 /* 80258EAC 00254B0C 7F C3 F3 78 */ mr r3, r30 /* 80258EB0 00254B10 38 80 00 01 */ li r4, 1 /* 80258EB4 00254B14 48 00 00 45 */ bl func_80258EF8 lbl_80258EB8: /* 80258EB8 00254B18 7C 1F E8 40 */ cmplw r31, r29 /* 80258EBC 00254B1C 41 80 00 1C */ blt lbl_80258ED8 /* 80258EC0 00254B20 80 1E 01 E0 */ lwz r0, 0x1e0(r30) /* 80258EC4 00254B24 7C 00 E8 40 */ cmplw r0, r29 /* 80258EC8 00254B28 40 80 00 10 */ bge lbl_80258ED8 /* 80258ECC 00254B2C 7F C3 F3 78 */ mr r3, r30 /* 80258ED0 00254B30 38 80 00 00 */ li r4, 0 /* 80258ED4 00254B34 48 00 00 25 */ bl func_80258EF8 lbl_80258ED8: /* 80258ED8 00254B38 93 FE 01 E0 */ stw r31, 0x1e0(r30) lbl_80258EDC: /* 80258EDC 00254B3C 80 01 00 24 */ lwz r0, 0x24(r1) /* 80258EE0 00254B40 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80258EE4 00254B44 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80258EE8 00254B48 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80258EEC 00254B4C 7C 08 03 A6 */ mtlr r0 /* 80258EF0 00254B50 38 21 00 20 */ addi r1, r1, 0x20 /* 80258EF4 00254B54 4E 80 00 20 */ blr .global func_80258EF8 func_80258EF8: /* 80258EF8 00254B58 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80258EFC 00254B5C 7C 08 02 A6 */ mflr r0 /* 80258F00 00254B60 C8 62 9F 80 */ lfd f3, lbl_80642580-_SDA2_BASE_(r2) /* 80258F04 00254B64 90 01 00 24 */ stw r0, 0x24(r1) /* 80258F08 00254B68 3C 00 43 30 */ lis r0, 0x4330 /* 80258F0C 00254B6C C0 22 9F 78 */ lfs f1, lbl_80642578-_SDA2_BASE_(r2) /* 80258F10 00254B70 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80258F14 00254B74 C0 02 9F 74 */ lfs f0, lbl_80642574-_SDA2_BASE_(r2) /* 80258F18 00254B78 93 C1 00 18 */ stw r30, 0x18(r1) /* 80258F1C 00254B7C 93 A1 00 14 */ stw r29, 0x14(r1) /* 80258F20 00254B80 7C 9D 23 78 */ mr r29, r4 /* 80258F24 00254B84 93 81 00 10 */ stw r28, 0x10(r1) /* 80258F28 00254B88 7C 7C 1B 78 */ mr r28, r3 /* 80258F2C 00254B8C 80 A3 00 58 */ lwz r5, 0x58(r3) /* 80258F30 00254B90 90 01 00 08 */ stw r0, 8(r1) /* 80258F34 00254B94 1C 05 00 28 */ mulli r0, r5, 0x28 /* 80258F38 00254B98 90 01 00 0C */ stw r0, 0xc(r1) /* 80258F3C 00254B9C C8 41 00 08 */ lfd f2, 8(r1) /* 80258F40 00254BA0 EC 42 18 28 */ fsubs f2, f2, f3 /* 80258F44 00254BA4 EC 22 08 24 */ fdivs f1, f2, f1 /* 80258F48 00254BA8 EC 20 08 2A */ fadds f1, f0, f1 /* 80258F4C 00254BAC 4B F6 E0 B5 */ bl __cvt_fp2unsigned /* 80258F50 00254BB0 2C 1D 00 00 */ cmpwi r29, 0 /* 80258F54 00254BB4 38 03 00 1F */ addi r0, r3, 0x1f /* 80258F58 00254BB8 54 1F F8 76 */ rlwinm r31, r0, 0x1f, 1, 0x1b /* 80258F5C 00254BBC 41 82 00 1C */ beq lbl_80258F78 /* 80258F60 00254BC0 80 7C 01 A8 */ lwz r3, 0x1a8(r28) /* 80258F64 00254BC4 57 E4 08 3C */ slwi r4, r31, 1 /* 80258F68 00254BC8 80 1C 01 AC */ lwz r0, 0x1ac(r28) /* 80258F6C 00254BCC 7F C3 22 14 */ add r30, r3, r4 /* 80258F70 00254BD0 7F A0 22 14 */ add r29, r0, r4 /* 80258F74 00254BD4 48 00 00 0C */ b lbl_80258F80 lbl_80258F78: /* 80258F78 00254BD8 83 DC 01 A8 */ lwz r30, 0x1a8(r28) /* 80258F7C 00254BDC 83 BC 01 AC */ lwz r29, 0x1ac(r28) lbl_80258F80: /* 80258F80 00254BE0 80 1C 00 54 */ lwz r0, 0x54(r28) /* 80258F84 00254BE4 28 00 00 02 */ cmplwi r0, 2 /* 80258F88 00254BE8 40 82 00 38 */ bne lbl_80258FC0 /* 80258F8C 00254BEC 7F 83 E3 78 */ mr r3, r28 /* 80258F90 00254BF0 7F C4 F3 78 */ mr r4, r30 /* 80258F94 00254BF4 7F A5 EB 78 */ mr r5, r29 /* 80258F98 00254BF8 7F E6 FB 78 */ mr r6, r31 /* 80258F9C 00254BFC 4B FF FD 2D */ bl func_80258CC8 /* 80258FA0 00254C00 57 FF 08 3C */ slwi r31, r31, 1 /* 80258FA4 00254C04 7F C3 F3 78 */ mr r3, r30 /* 80258FA8 00254C08 7F E4 FB 78 */ mr r4, r31 /* 80258FAC 00254C0C 48 01 16 A9 */ bl DCFlushRange /* 80258FB0 00254C10 7F A3 EB 78 */ mr r3, r29 /* 80258FB4 00254C14 7F E4 FB 78 */ mr r4, r31 /* 80258FB8 00254C18 48 01 16 9D */ bl DCFlushRange /* 80258FBC 00254C1C 48 00 00 24 */ b lbl_80258FE0 lbl_80258FC0: /* 80258FC0 00254C20 7F 83 E3 78 */ mr r3, r28 /* 80258FC4 00254C24 7F C4 F3 78 */ mr r4, r30 /* 80258FC8 00254C28 7F E6 FB 78 */ mr r6, r31 /* 80258FCC 00254C2C 38 A0 00 00 */ li r5, 0 /* 80258FD0 00254C30 4B FF FC F9 */ bl func_80258CC8 /* 80258FD4 00254C34 7F C3 F3 78 */ mr r3, r30 /* 80258FD8 00254C38 57 E4 08 3C */ slwi r4, r31, 1 /* 80258FDC 00254C3C 48 01 16 79 */ bl DCFlushRange lbl_80258FE0: /* 80258FE0 00254C40 80 01 00 24 */ lwz r0, 0x24(r1) /* 80258FE4 00254C44 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80258FE8 00254C48 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80258FEC 00254C4C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80258FF0 00254C50 83 81 00 10 */ lwz r28, 0x10(r1) /* 80258FF4 00254C54 7C 08 03 A6 */ mtlr r0 /* 80258FF8 00254C58 38 21 00 20 */ addi r1, r1, 0x20 /* 80258FFC 00254C5C 4E 80 00 20 */ blr .global func_80259000 func_80259000: /* 80259000 00254C60 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80259004 00254C64 7C 08 02 A6 */ mflr r0 /* 80259008 00254C68 90 01 00 14 */ stw r0, 0x14(r1) /* 8025900C 00254C6C 93 E1 00 0C */ stw r31, 0xc(r1) /* 80259010 00254C70 7C 7F 1B 78 */ mr r31, r3 /* 80259014 00254C74 80 03 01 A0 */ lwz r0, 0x1a0(r3) /* 80259018 00254C78 2C 00 00 00 */ cmpwi r0, 0 /* 8025901C 00254C7C 41 82 00 10 */ beq lbl_8025902C /* 80259020 00254C80 7C 03 03 78 */ mr r3, r0 /* 80259024 00254C84 38 80 00 01 */ li r4, 1 /* 80259028 00254C88 48 03 8F FD */ bl AXSetVoiceState lbl_8025902C: /* 8025902C 00254C8C 80 7F 01 A4 */ lwz r3, 0x1a4(r31) /* 80259030 00254C90 2C 03 00 00 */ cmpwi r3, 0 /* 80259034 00254C94 41 82 00 0C */ beq lbl_80259040 /* 80259038 00254C98 38 80 00 01 */ li r4, 1 /* 8025903C 00254C9C 48 03 8F E9 */ bl AXSetVoiceState lbl_80259040: /* 80259040 00254CA0 80 01 00 14 */ lwz r0, 0x14(r1) /* 80259044 00254CA4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80259048 00254CA8 7C 08 03 A6 */ mtlr r0 /* 8025904C 00254CAC 38 21 00 10 */ addi r1, r1, 0x10 /* 80259050 00254CB0 4E 80 00 20 */ blr .global func_80259054 func_80259054: /* 80259054 00254CB4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80259058 00254CB8 7C 08 02 A6 */ mflr r0 /* 8025905C 00254CBC 90 01 00 14 */ stw r0, 0x14(r1) /* 80259060 00254CC0 93 E1 00 0C */ stw r31, 0xc(r1) /* 80259064 00254CC4 7C 7F 1B 78 */ mr r31, r3 /* 80259068 00254CC8 80 03 01 A0 */ lwz r0, 0x1a0(r3) /* 8025906C 00254CCC 2C 00 00 00 */ cmpwi r0, 0 /* 80259070 00254CD0 41 82 00 1C */ beq lbl_8025908C /* 80259074 00254CD4 7C 03 03 78 */ mr r3, r0 /* 80259078 00254CD8 48 04 01 FD */ bl MIXReleaseChannel /* 8025907C 00254CDC 80 7F 01 A0 */ lwz r3, 0x1a0(r31) /* 80259080 00254CE0 48 03 62 35 */ bl AXFreeVoice /* 80259084 00254CE4 38 00 00 00 */ li r0, 0 /* 80259088 00254CE8 90 1F 01 A0 */ stw r0, 0x1a0(r31) lbl_8025908C: /* 8025908C 00254CEC 80 7F 01 A4 */ lwz r3, 0x1a4(r31) /* 80259090 00254CF0 2C 03 00 00 */ cmpwi r3, 0 /* 80259094 00254CF4 41 82 00 18 */ beq lbl_802590AC /* 80259098 00254CF8 48 04 01 DD */ bl MIXReleaseChannel /* 8025909C 00254CFC 80 7F 01 A4 */ lwz r3, 0x1a4(r31) /* 802590A0 00254D00 48 03 62 15 */ bl AXFreeVoice /* 802590A4 00254D04 38 00 00 00 */ li r0, 0 /* 802590A8 00254D08 90 1F 01 A4 */ stw r0, 0x1a4(r31) lbl_802590AC: /* 802590AC 00254D0C 80 01 00 14 */ lwz r0, 0x14(r1) /* 802590B0 00254D10 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802590B4 00254D14 7C 08 03 A6 */ mtlr r0 /* 802590B8 00254D18 38 21 00 10 */ addi r1, r1, 0x10 /* 802590BC 00254D1C 4E 80 00 20 */ blr .global func_802590C0 func_802590C0: /* 802590C0 00254D20 80 03 01 A0 */ lwz r0, 0x1a0(r3) /* 802590C4 00254D24 90 04 00 00 */ stw r0, 0(r4) /* 802590C8 00254D28 80 03 01 A4 */ lwz r0, 0x1a4(r3) /* 802590CC 00254D2C 90 05 00 00 */ stw r0, 0(r5) /* 802590D0 00254D30 4E 80 00 20 */ blr lbl_802590D4: /* 802590D4 00254D34 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802590D8 00254D38 7C 08 02 A6 */ mflr r0 /* 802590DC 00254D3C 90 01 00 24 */ stw r0, 0x24(r1) /* 802590E0 00254D40 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802590E4 00254D44 93 C1 00 18 */ stw r30, 0x18(r1) /* 802590E8 00254D48 93 A1 00 14 */ stw r29, 0x14(r1) /* 802590EC 00254D4C 48 01 56 85 */ bl OSEnableInterrupts /* 802590F0 00254D50 81 8D A6 64 */ lwz r12, lbl_8063F924-_SDA_BASE_(r13) /* 802590F4 00254D54 7C 7F 1B 78 */ mr r31, r3 /* 802590F8 00254D58 2C 0C 00 00 */ cmpwi r12, 0 /* 802590FC 00254D5C 41 82 00 0C */ beq lbl_80259108 /* 80259100 00254D60 7D 89 03 A6 */ mtctr r12 /* 80259104 00254D64 4E 80 04 21 */ bctrl lbl_80259108: /* 80259108 00254D68 83 CD A6 58 */ lwz r30, lbl_8063F918-_SDA_BASE_(r13) /* 8025910C 00254D6C 3B A0 00 00 */ li r29, 0 /* 80259110 00254D70 48 00 00 20 */ b lbl_80259130 lbl_80259114: /* 80259114 00254D74 88 1E 00 6C */ lbz r0, 0x6c(r30) /* 80259118 00254D78 2C 00 00 00 */ cmpwi r0, 0 /* 8025911C 00254D7C 41 82 00 0C */ beq lbl_80259128 /* 80259120 00254D80 7F C3 F3 78 */ mr r3, r30 /* 80259124 00254D84 4B FF FC 91 */ bl func_80258DB4 lbl_80259128: /* 80259128 00254D88 3B BD 00 01 */ addi r29, r29, 1 /* 8025912C 00254D8C 3B DE 03 D8 */ addi r30, r30, 0x3d8 lbl_80259130: /* 80259130 00254D90 A0 0D A6 5C */ lhz r0, lbl_8063F91C-_SDA_BASE_(r13) /* 80259134 00254D94 7C 1D 00 00 */ cmpw r29, r0 /* 80259138 00254D98 41 80 FF DC */ blt lbl_80259114 /* 8025913C 00254D9C 48 04 01 99 */ bl MIXUpdateSettings /* 80259140 00254DA0 7F E3 FB 78 */ mr r3, r31 /* 80259144 00254DA4 48 01 56 41 */ bl OSRestoreInterrupts /* 80259148 00254DA8 80 01 00 24 */ lwz r0, 0x24(r1) /* 8025914C 00254DAC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80259150 00254DB0 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80259154 00254DB4 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80259158 00254DB8 7C 08 03 A6 */ mtlr r0 /* 8025915C 00254DBC 38 21 00 20 */ addi r1, r1, 0x20 /* 80259160 00254DC0 4E 80 00 20 */ blr .global func_80259164 func_80259164: /* 80259164 00254DC4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80259168 00254DC8 7C 08 02 A6 */ mflr r0 /* 8025916C 00254DCC 90 01 00 24 */ stw r0, 0x24(r1) /* 80259170 00254DD0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80259174 00254DD4 93 C1 00 18 */ stw r30, 0x18(r1) /* 80259178 00254DD8 93 A1 00 14 */ stw r29, 0x14(r1) /* 8025917C 00254DDC 7C 9D 23 78 */ mr r29, r4 /* 80259180 00254DE0 38 8D 87 00 */ addi r4, r13, lbl_8063D9C0-_SDA_BASE_ /* 80259184 00254DE4 93 81 00 10 */ stw r28, 0x10(r1) /* 80259188 00254DE8 7C 7C 1B 78 */ mr r28, r3 /* 8025918C 00254DEC 4B FD D8 91 */ bl func_80236A1C /* 80259190 00254DF0 3C 60 80 42 */ lis r3, lbl_80424F28@ha /* 80259194 00254DF4 38 00 00 00 */ li r0, 0 /* 80259198 00254DF8 38 63 4F 28 */ addi r3, r3, lbl_80424F28@l /* 8025919C 00254DFC 90 1C 00 10 */ stw r0, 0x10(r28) /* 802591A0 00254E00 90 7C 00 0C */ stw r3, 0xc(r28) /* 802591A4 00254E04 90 1C 00 14 */ stw r0, 0x14(r28) /* 802591A8 00254E08 90 1C 00 18 */ stw r0, 0x18(r28) /* 802591AC 00254E0C 93 8D A6 68 */ stw r28, lbl_8063F928-_SDA_BASE_(r13) /* 802591B0 00254E10 48 04 5C B1 */ bl THPInit /* 802591B4 00254E14 2C 03 00 00 */ cmpwi r3, 0 /* 802591B8 00254E18 40 82 00 0C */ bne lbl_802591C4 /* 802591BC 00254E1C 7F 83 E3 78 */ mr r3, r28 /* 802591C0 00254E20 48 00 00 68 */ b lbl_80259228 lbl_802591C4: /* 802591C4 00254E24 1C 7D 03 D8 */ mulli r3, r29, 0x3d8 /* 802591C8 00254E28 4B F8 18 AD */ bl __nwa__FUl /* 802591CC 00254E2C 1C BD 03 D8 */ mulli r5, r29, 0x3d8 /* 802591D0 00254E30 90 6D A6 58 */ stw r3, lbl_8063F918-_SDA_BASE_(r13) /* 802591D4 00254E34 38 80 00 00 */ li r4, 0 /* 802591D8 00254E38 4B DA AF 2D */ bl memset /* 802591DC 00254E3C B3 AD A6 5C */ sth r29, lbl_8063F91C-_SDA_BASE_(r13) /* 802591E0 00254E40 3B C0 00 00 */ li r30, 0 /* 802591E4 00254E44 3B E0 00 00 */ li r31, 0 /* 802591E8 00254E48 48 00 00 24 */ b lbl_8025920C lbl_802591EC: /* 802591EC 00254E4C 80 0D A6 58 */ lwz r0, lbl_8063F918-_SDA_BASE_(r13) /* 802591F0 00254E50 38 A0 00 03 */ li r5, 3 /* 802591F4 00254E54 7C 80 FA 14 */ add r4, r0, r31 /* 802591F8 00254E58 38 64 02 E4 */ addi r3, r4, 0x2e4 /* 802591FC 00254E5C 38 84 03 04 */ addi r4, r4, 0x304 /* 80259200 00254E60 48 01 5C F9 */ bl OSInitMessageQueue /* 80259204 00254E64 3B FF 03 D8 */ addi r31, r31, 0x3d8 /* 80259208 00254E68 3B DE 00 01 */ addi r30, r30, 1 lbl_8025920C: /* 8025920C 00254E6C 7C 1E E8 40 */ cmplw r30, r29 /* 80259210 00254E70 41 80 FF DC */ blt lbl_802591EC /* 80259214 00254E74 38 00 00 00 */ li r0, 0 /* 80259218 00254E78 7F 83 E3 78 */ mr r3, r28 /* 8025921C 00254E7C 90 0D A6 60 */ stw r0, lbl_8063F920-_SDA_BASE_(r13) /* 80259220 00254E80 90 0D A6 64 */ stw r0, lbl_8063F924-_SDA_BASE_(r13) /* 80259224 00254E84 98 0D A6 5E */ stb r0, lbl_8063F91E-_SDA_BASE_(r13) lbl_80259228: /* 80259228 00254E88 80 01 00 24 */ lwz r0, 0x24(r1) /* 8025922C 00254E8C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80259230 00254E90 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80259234 00254E94 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80259238 00254E98 83 81 00 10 */ lwz r28, 0x10(r1) /* 8025923C 00254E9C 7C 08 03 A6 */ mtlr r0 /* 80259240 00254EA0 38 21 00 20 */ addi r1, r1, 0x20 /* 80259244 00254EA4 4E 80 00 20 */ blr /* 80259248 00254EA8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8025924C 00254EAC 7C 08 02 A6 */ mflr r0 /* 80259250 00254EB0 2C 03 00 00 */ cmpwi r3, 0 /* 80259254 00254EB4 90 01 00 14 */ stw r0, 0x14(r1) /* 80259258 00254EB8 93 E1 00 0C */ stw r31, 0xc(r1) /* 8025925C 00254EBC 7C 9F 23 78 */ mr r31, r4 /* 80259260 00254EC0 93 C1 00 08 */ stw r30, 8(r1) /* 80259264 00254EC4 7C 7E 1B 78 */ mr r30, r3 /* 80259268 00254EC8 41 82 00 58 */ beq lbl_802592C0 /* 8025926C 00254ECC 3C 80 80 42 */ lis r4, lbl_80424F28@ha /* 80259270 00254ED0 38 84 4F 28 */ addi r4, r4, lbl_80424F28@l /* 80259274 00254ED4 90 83 00 0C */ stw r4, 0xc(r3) /* 80259278 00254ED8 80 6D A6 58 */ lwz r3, lbl_8063F918-_SDA_BASE_(r13) /* 8025927C 00254EDC 2C 03 00 00 */ cmpwi r3, 0 /* 80259280 00254EE0 41 82 00 14 */ beq lbl_80259294 /* 80259284 00254EE4 4B F8 18 39 */ bl __dla__FPv /* 80259288 00254EE8 38 00 00 00 */ li r0, 0 /* 8025928C 00254EEC 90 0D A6 58 */ stw r0, lbl_8063F918-_SDA_BASE_(r13) /* 80259290 00254EF0 B0 0D A6 5C */ sth r0, lbl_8063F91C-_SDA_BASE_(r13) lbl_80259294: /* 80259294 00254EF4 7F C3 F3 78 */ mr r3, r30 /* 80259298 00254EF8 48 00 00 F9 */ bl func_80259390 /* 8025929C 00254EFC 38 00 00 00 */ li r0, 0 /* 802592A0 00254F00 7F C3 F3 78 */ mr r3, r30 /* 802592A4 00254F04 90 0D A6 68 */ stw r0, lbl_8063F928-_SDA_BASE_(r13) /* 802592A8 00254F08 38 80 00 00 */ li r4, 0 /* 802592AC 00254F0C 4B FD D7 C9 */ bl func_80236A74 /* 802592B0 00254F10 2C 1F 00 00 */ cmpwi r31, 0 /* 802592B4 00254F14 40 81 00 0C */ ble lbl_802592C0 /* 802592B8 00254F18 7F C3 F3 78 */ mr r3, r30 /* 802592BC 00254F1C 4B F8 17 FD */ bl __dl__FPv lbl_802592C0: /* 802592C0 00254F20 7F C3 F3 78 */ mr r3, r30 /* 802592C4 00254F24 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802592C8 00254F28 83 C1 00 08 */ lwz r30, 8(r1) /* 802592CC 00254F2C 80 01 00 14 */ lwz r0, 0x14(r1) /* 802592D0 00254F30 7C 08 03 A6 */ mtlr r0 /* 802592D4 00254F34 38 21 00 10 */ addi r1, r1, 0x10 /* 802592D8 00254F38 4E 80 00 20 */ blr .global func_802592DC func_802592DC: /* 802592DC 00254F3C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802592E0 00254F40 7C 08 02 A6 */ mflr r0 /* 802592E4 00254F44 90 01 00 14 */ stw r0, 0x14(r1) /* 802592E8 00254F48 93 E1 00 0C */ stw r31, 0xc(r1) /* 802592EC 00254F4C 7C 7F 1B 78 */ mr r31, r3 /* 802592F0 00254F50 88 0D A6 5E */ lbz r0, lbl_8063F91E-_SDA_BASE_(r13) /* 802592F4 00254F54 2C 00 00 00 */ cmpwi r0, 0 /* 802592F8 00254F58 41 82 00 0C */ beq lbl_80259304 /* 802592FC 00254F5C 38 60 00 01 */ li r3, 1 /* 80259300 00254F60 48 00 00 7C */ b lbl_8025937C lbl_80259304: /* 80259304 00254F64 48 03 E6 7D */ bl MIXInit /* 80259308 00254F68 48 03 90 15 */ bl AXGetMaxVoices /* 8025930C 00254F6C 2C 03 00 00 */ cmpwi r3, 0 /* 80259310 00254F70 40 82 00 08 */ bne lbl_80259318 /* 80259314 00254F74 38 60 00 02 */ li r3, 2 lbl_80259318: /* 80259318 00254F78 1C 83 00 B4 */ mulli r4, r3, 0xb4 /* 8025931C 00254F7C 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13) /* 80259320 00254F80 4B F8 19 E1 */ bl func_801DAD00 /* 80259324 00254F84 2C 03 00 00 */ cmpwi r3, 0 /* 80259328 00254F88 90 7F 00 18 */ stw r3, 0x18(r31) /* 8025932C 00254F8C 40 82 00 0C */ bne lbl_80259338 /* 80259330 00254F90 38 60 00 00 */ li r3, 0 /* 80259334 00254F94 48 00 00 48 */ b lbl_8025937C lbl_80259338: /* 80259338 00254F98 48 03 E7 51 */ bl MIXInitSpecifyMem /* 8025933C 00254F9C 38 60 00 01 */ li r3, 1 /* 80259340 00254FA0 48 03 E8 6D */ bl MIXSetSoundMode /* 80259344 00254FA4 4B F8 26 B9 */ bl func_801DB9FC /* 80259348 00254FA8 80 AD A3 D8 */ lwz r5, render_context_ptr-_SDA_BASE_(r13) /* 8025934C 00254FAC 3C 80 80 25 */ lis r4, lbl_802571E0@ha /* 80259350 00254FB0 3C 60 80 26 */ lis r3, lbl_802590D4@ha /* 80259354 00254FB4 80 05 00 74 */ lwz r0, 0x74(r5) /* 80259358 00254FB8 38 84 71 E0 */ addi r4, r4, lbl_802571E0@l /* 8025935C 00254FBC 38 63 90 D4 */ addi r3, r3, lbl_802590D4@l /* 80259360 00254FC0 90 85 00 74 */ stw r4, 0x74(r5) /* 80259364 00254FC4 90 0D A6 60 */ stw r0, lbl_8063F920-_SDA_BASE_(r13) /* 80259368 00254FC8 48 03 7A E9 */ bl AXRegisterCallback /* 8025936C 00254FCC 38 00 00 01 */ li r0, 1 /* 80259370 00254FD0 90 6D A6 64 */ stw r3, lbl_8063F924-_SDA_BASE_(r13) /* 80259374 00254FD4 38 60 00 01 */ li r3, 1 /* 80259378 00254FD8 98 0D A6 5E */ stb r0, lbl_8063F91E-_SDA_BASE_(r13) lbl_8025937C: /* 8025937C 00254FDC 80 01 00 14 */ lwz r0, 0x14(r1) /* 80259380 00254FE0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80259384 00254FE4 7C 08 03 A6 */ mtlr r0 /* 80259388 00254FE8 38 21 00 10 */ addi r1, r1, 0x10 /* 8025938C 00254FEC 4E 80 00 20 */ blr .global func_80259390 func_80259390: /* 80259390 00254FF0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80259394 00254FF4 7C 08 02 A6 */ mflr r0 /* 80259398 00254FF8 90 01 00 14 */ stw r0, 0x14(r1) /* 8025939C 00254FFC 93 E1 00 0C */ stw r31, 0xc(r1) /* 802593A0 00255000 93 C1 00 08 */ stw r30, 8(r1) /* 802593A4 00255004 7C 7E 1B 78 */ mr r30, r3 /* 802593A8 00255008 88 0D A6 5E */ lbz r0, lbl_8063F91E-_SDA_BASE_(r13) /* 802593AC 0025500C 2C 00 00 00 */ cmpwi r0, 0 /* 802593B0 00255010 41 82 00 40 */ beq lbl_802593F0 /* 802593B4 00255014 4B F8 26 D9 */ bl func_801DBA8C /* 802593B8 00255018 80 0D A6 60 */ lwz r0, lbl_8063F920-_SDA_BASE_(r13) /* 802593BC 0025501C 3B E0 00 00 */ li r31, 0 /* 802593C0 00255020 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 802593C4 00255024 90 03 00 74 */ stw r0, 0x74(r3) /* 802593C8 00255028 93 ED A6 60 */ stw r31, lbl_8063F920-_SDA_BASE_(r13) /* 802593CC 0025502C 80 6D A6 64 */ lwz r3, lbl_8063F924-_SDA_BASE_(r13) /* 802593D0 00255030 48 03 7A 81 */ bl AXRegisterCallback /* 802593D4 00255034 93 ED A6 64 */ stw r31, lbl_8063F924-_SDA_BASE_(r13) /* 802593D8 00255038 48 03 E7 C1 */ bl MIXQuit /* 802593DC 0025503C 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13) /* 802593E0 00255040 80 9E 00 18 */ lwz r4, 0x18(r30) /* 802593E4 00255044 4B F8 19 65 */ bl func_801DAD48 /* 802593E8 00255048 93 FE 00 18 */ stw r31, 0x18(r30) /* 802593EC 0025504C 9B ED A6 5E */ stb r31, lbl_8063F91E-_SDA_BASE_(r13) lbl_802593F0: /* 802593F0 00255050 80 01 00 14 */ lwz r0, 0x14(r1) /* 802593F4 00255054 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802593F8 00255058 83 C1 00 08 */ lwz r30, 8(r1) /* 802593FC 0025505C 7C 08 03 A6 */ mtlr r0 /* 80259400 00255060 38 21 00 10 */ addi r1, r1, 0x10 /* 80259404 00255064 4E 80 00 20 */ blr .global func_80259408 func_80259408: /* 80259408 00255068 2C 03 00 00 */ cmpwi r3, 0 /* 8025940C 0025506C 40 82 00 0C */ bne lbl_80259418 /* 80259410 00255070 38 60 00 00 */ li r3, 0 /* 80259414 00255074 48 03 E7 98 */ b MIXSetSoundMode lbl_80259418: /* 80259418 00255078 38 60 00 01 */ li r3, 1 /* 8025941C 0025507C 48 03 E7 90 */ b MIXSetSoundMode .global func_80259420 func_80259420: /* 80259420 00255080 A0 0D A6 5C */ lhz r0, lbl_8063F91C-_SDA_BASE_(r13) /* 80259424 00255084 80 8D A6 58 */ lwz r4, lbl_8063F918-_SDA_BASE_(r13) /* 80259428 00255088 7C 09 03 A6 */ mtctr r0 /* 8025942C 0025508C 2C 00 00 00 */ cmpwi r0, 0 /* 80259430 00255090 40 81 00 2C */ ble lbl_8025945C lbl_80259434: /* 80259434 00255094 88 04 00 6C */ lbz r0, 0x6c(r4) /* 80259438 00255098 2C 00 00 00 */ cmpwi r0, 0 /* 8025943C 0025509C 41 82 00 18 */ beq lbl_80259454 /* 80259440 002550A0 80 04 00 00 */ lwz r0, 0(r4) /* 80259444 002550A4 7C 00 18 40 */ cmplw r0, r3 /* 80259448 002550A8 40 82 00 0C */ bne lbl_80259454 /* 8025944C 002550AC 7C 83 23 78 */ mr r3, r4 /* 80259450 002550B0 4E 80 00 20 */ blr lbl_80259454: /* 80259454 002550B4 38 84 03 D8 */ addi r4, r4, 0x3d8 /* 80259458 002550B8 42 00 FF DC */ bdnz lbl_80259434 lbl_8025945C: /* 8025945C 002550BC 38 60 00 00 */ li r3, 0 /* 80259460 002550C0 4E 80 00 20 */ blr /* 80259464 002550C4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80259468 002550C8 7C 08 02 A6 */ mflr r0 /* 8025946C 002550CC 90 01 00 24 */ stw r0, 0x24(r1) /* 80259470 002550D0 39 61 00 20 */ addi r11, r1, 0x20 /* 80259474 002550D4 4B F6 DC B5 */ bl _savegpr_27 /* 80259478 002550D8 83 AD A6 58 */ lwz r29, lbl_8063F918-_SDA_BASE_(r13) /* 8025947C 002550DC 3B 80 00 00 */ li r28, 0 /* 80259480 002550E0 3B E0 00 05 */ li r31, 5 /* 80259484 002550E4 3F C0 80 42 */ lis r30, 0x8042 /* 80259488 002550E8 48 00 00 C0 */ b lbl_80259548 lbl_8025948C: /* 8025948C 002550EC 88 1D 00 6C */ lbz r0, 0x6c(r29) /* 80259490 002550F0 2C 00 00 00 */ cmpwi r0, 0 /* 80259494 002550F4 41 82 00 AC */ beq lbl_80259540 /* 80259498 002550F8 88 1D 00 69 */ lbz r0, 0x69(r29) /* 8025949C 002550FC 28 00 00 0B */ cmplwi r0, 0xb /* 802594A0 00255100 40 82 00 10 */ bne lbl_802594B0 /* 802594A4 00255104 7F A3 EB 78 */ mr r3, r29 /* 802594A8 00255108 4B FF E2 41 */ bl func_802576E8 /* 802594AC 0025510C 48 00 00 94 */ b lbl_80259540 lbl_802594B0: /* 802594B0 00255110 28 00 00 08 */ cmplwi r0, 8 /* 802594B4 00255114 3B 60 00 01 */ li r27, 1 /* 802594B8 00255118 41 81 00 78 */ bgt lbl_80259530 /* 802594BC 0025511C 38 7E 4F 00 */ addi r3, r30, 0x4f00 /* 802594C0 00255120 54 00 10 3A */ slwi r0, r0, 2 /* 802594C4 00255124 7C 63 00 2E */ lwzx r3, r3, r0 /* 802594C8 00255128 7C 69 03 A6 */ mtctr r3 /* 802594CC 0025512C 4E 80 04 20 */ bctr /* 802594D0 00255130 7F A3 EB 78 */ mr r3, r29 /* 802594D4 00255134 38 80 00 00 */ li r4, 0 /* 802594D8 00255138 38 A0 00 00 */ li r5, 0 /* 802594DC 0025513C 4B FF E8 11 */ bl func_80257CEC /* 802594E0 00255140 7C 7B 1B 78 */ mr r27, r3 /* 802594E4 00255144 48 00 00 4C */ b lbl_80259530 /* 802594E8 00255148 80 7D 00 A0 */ lwz r3, 0xa0(r29) /* 802594EC 0025514C 2C 03 00 00 */ cmpwi r3, 0 /* 802594F0 00255150 40 82 00 0C */ bne lbl_802594FC /* 802594F4 00255154 9B FD 00 69 */ stb r31, 0x69(r29) /* 802594F8 00255158 48 00 00 38 */ b lbl_80259530 lbl_802594FC: /* 802594FC 0025515C 38 03 FF FF */ addi r0, r3, -1 /* 80259500 00255160 90 1D 00 A0 */ stw r0, 0xa0(r29) /* 80259504 00255164 48 00 00 2C */ b lbl_80259530 /* 80259508 00255168 7F A3 EB 78 */ mr r3, r29 /* 8025950C 0025516C 4B FF EA 15 */ bl func_80257F20 /* 80259510 00255170 7C 7B 1B 78 */ mr r27, r3 /* 80259514 00255174 48 00 00 1C */ b lbl_80259530 /* 80259518 00255178 7F A3 EB 78 */ mr r3, r29 /* 8025951C 0025517C 4B FF EA A9 */ bl func_80257FC4 /* 80259520 00255180 7C 7B 1B 78 */ mr r27, r3 /* 80259524 00255184 48 00 00 0C */ b lbl_80259530 /* 80259528 00255188 7F A3 EB 78 */ mr r3, r29 /* 8025952C 0025518C 4B FF EC F9 */ bl func_80258224 lbl_80259530: /* 80259530 00255190 2C 1B 00 00 */ cmpwi r27, 0 /* 80259534 00255194 40 82 00 0C */ bne lbl_80259540 /* 80259538 00255198 7F A3 EB 78 */ mr r3, r29 /* 8025953C 0025519C 4B FF EB 85 */ bl func_802580C0 lbl_80259540: /* 80259540 002551A0 3B 9C 00 01 */ addi r28, r28, 1 /* 80259544 002551A4 3B BD 03 D8 */ addi r29, r29, 0x3d8 lbl_80259548: /* 80259548 002551A8 A0 0D A6 5C */ lhz r0, lbl_8063F91C-_SDA_BASE_(r13) /* 8025954C 002551AC 7C 1C 00 00 */ cmpw r28, r0 /* 80259550 002551B0 41 80 FF 3C */ blt lbl_8025948C /* 80259554 002551B4 39 61 00 20 */ addi r11, r1, 0x20 /* 80259558 002551B8 4B F6 DC 1D */ bl _restgpr_27 /* 8025955C 002551BC 80 01 00 24 */ lwz r0, 0x24(r1) /* 80259560 002551C0 7C 08 03 A6 */ mtlr r0 /* 80259564 002551C4 38 21 00 20 */ addi r1, r1, 0x20 /* 80259568 002551C8 4E 80 00 20 */ blr /* 8025956C 002551CC 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80259570 002551D0 7C 08 02 A6 */ mflr r0 /* 80259574 002551D4 90 01 00 44 */ stw r0, 0x44(r1) /* 80259578 002551D8 39 61 00 40 */ addi r11, r1, 0x40 /* 8025957C 002551DC 4B F6 DB 99 */ bl _savegpr_22 /* 80259580 002551E0 80 8D A4 70 */ lwz r4, lbl_8063F730-_SDA_BASE_(r13) /* 80259584 002551E4 7C 78 1B 78 */ mr r24, r3 /* 80259588 002551E8 2C 04 00 00 */ cmpwi r4, 0 /* 8025958C 002551EC 40 82 00 0C */ bne lbl_80259598 /* 80259590 002551F0 3B C0 00 00 */ li r30, 0 /* 80259594 002551F4 48 00 00 3C */ b lbl_802595D0 lbl_80259598: /* 80259598 002551F8 80 A4 00 14 */ lwz r5, 0x14(r4) /* 8025959C 002551FC 2C 05 00 00 */ cmpwi r5, 0 /* 802595A0 00255200 41 82 00 2C */ beq lbl_802595CC /* 802595A4 00255204 80 65 00 00 */ lwz r3, 0(r5) /* 802595A8 00255208 80 04 00 00 */ lwz r0, 0(r4) /* 802595AC 0025520C 80 83 00 00 */ lwz r4, 0(r3) /* 802595B0 00255210 80 65 00 04 */ lwz r3, 4(r5) /* 802595B4 00255214 54 05 80 1E */ slwi r5, r0, 0x10 /* 802595B8 00255218 54 84 40 2E */ slwi r4, r4, 8 /* 802595BC 0025521C 88 03 00 04 */ lbz r0, 4(r3) /* 802595C0 00255220 7C A3 23 78 */ or r3, r5, r4 /* 802595C4 00255224 7C 7E 03 78 */ or r30, r3, r0 /* 802595C8 00255228 48 00 00 08 */ b lbl_802595D0 lbl_802595CC: /* 802595CC 0025522C 3B C0 00 00 */ li r30, 0 lbl_802595D0: /* 802595D0 00255230 83 AD A6 58 */ lwz r29, lbl_8063F918-_SDA_BASE_(r13) /* 802595D4 00255234 3B 40 00 01 */ li r26, 1 /* 802595D8 00255238 3B 20 00 00 */ li r25, 0 /* 802595DC 0025523C 3A C0 00 00 */ li r22, 0 /* 802595E0 00255240 3B 60 00 00 */ li r27, 0 /* 802595E4 00255244 3B E0 00 01 */ li r31, 1 /* 802595E8 00255248 48 00 01 34 */ b lbl_8025971C lbl_802595EC: /* 802595EC 0025524C 88 1D 00 6C */ lbz r0, 0x6c(r29) /* 802595F0 00255250 2C 00 00 00 */ cmpwi r0, 0 /* 802595F4 00255254 41 82 01 20 */ beq lbl_80259714 /* 802595F8 00255258 88 1D 00 6F */ lbz r0, 0x6f(r29) /* 802595FC 0025525C 2C 00 00 00 */ cmpwi r0, 0 /* 80259600 00255260 41 82 01 14 */ beq lbl_80259714 /* 80259604 00255264 88 1D 00 69 */ lbz r0, 0x69(r29) /* 80259608 00255268 28 00 00 08 */ cmplwi r0, 8 /* 8025960C 0025526C 40 82 01 08 */ bne lbl_80259714 /* 80259610 00255270 83 9D 01 FC */ lwz r28, 0x1fc(r29) /* 80259614 00255274 2C 1C 00 00 */ cmpwi r28, 0 /* 80259618 00255278 41 82 00 70 */ beq lbl_80259688 /* 8025961C 0025527C 80 18 00 10 */ lwz r0, 0x10(r24) /* 80259620 00255280 7C 1E 00 40 */ cmplw r30, r0 /* 80259624 00255284 40 82 00 F0 */ bne lbl_80259714 /* 80259628 00255288 7F 83 E3 78 */ mr r3, r28 /* 8025962C 0025528C 4B FE 4F 15 */ bl func_8023E540 /* 80259630 00255290 7C 77 1B 78 */ mr r23, r3 /* 80259634 00255294 7F 83 E3 78 */ mr r3, r28 /* 80259638 00255298 4B FE 4F 11 */ bl func_8023E548 /* 8025963C 0025529C B2 E1 00 0A */ sth r23, 0xa(r1) /* 80259640 002552A0 7C 79 1B 78 */ mr r25, r3 /* 80259644 002552A4 E0 61 B0 0A */ psq_l f3, 10(r1), 1, qr3 /* 80259648 002552A8 B0 61 00 08 */ sth r3, 8(r1) /* 8025964C 002552AC E0 81 B0 08 */ psq_l f4, 8(r1), 1, qr3 /* 80259650 002552B0 38 80 00 01 */ li r4, 1 /* 80259654 002552B4 C0 22 9F 90 */ lfs f1, lbl_80642590-_SDA2_BASE_(r2) /* 80259658 002552B8 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 8025965C 002552BC FC 40 08 90 */ fmr f2, f1 /* 80259660 002552C0 4B FD BB A5 */ bl func_80235204 /* 80259664 002552C4 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 80259668 002552C8 56 E7 04 3E */ clrlwi r7, r23, 0x10 /* 8025966C 002552CC 57 28 04 3E */ clrlwi r8, r25, 0x10 /* 80259670 002552D0 38 80 00 01 */ li r4, 1 /* 80259674 002552D4 38 A0 00 00 */ li r5, 0 /* 80259678 002552D8 38 C0 00 00 */ li r6, 0 /* 8025967C 002552DC 4B FD BA FD */ bl func_80235178 /* 80259680 002552E0 3B 20 00 01 */ li r25, 1 /* 80259684 002552E4 48 00 00 10 */ b lbl_80259694 lbl_80259688: /* 80259688 002552E8 80 18 00 14 */ lwz r0, 0x14(r24) /* 8025968C 002552EC 7C 1E 00 40 */ cmplw r30, r0 /* 80259690 002552F0 40 82 00 84 */ bne lbl_80259714 lbl_80259694: /* 80259694 002552F4 2C 1A 00 00 */ cmpwi r26, 0 /* 80259698 002552F8 41 82 00 0C */ beq lbl_802596A4 /* 8025969C 002552FC 48 00 04 09 */ bl func_80259AA4 /* 802596A0 00255300 3B 40 00 00 */ li r26, 0 lbl_802596A4: /* 802596A4 00255304 7F A3 EB 78 */ mr r3, r29 /* 802596A8 00255308 4B FF EA C1 */ bl func_80258168 /* 802596AC 0025530C 2C 1C 00 00 */ cmpwi r28, 0 /* 802596B0 00255310 41 82 00 64 */ beq lbl_80259714 /* 802596B4 00255314 80 AD A3 D8 */ lwz r5, render_context_ptr-_SDA_BASE_(r13) /* 802596B8 00255318 7F 83 E3 78 */ mr r3, r28 /* 802596BC 0025531C 80 85 16 38 */ lwz r4, 0x1638(r5) /* 802596C0 00255320 9B E4 0A 36 */ stb r31, 0xa36(r4) /* 802596C4 00255324 80 85 16 38 */ lwz r4, 0x1638(r5) /* 802596C8 00255328 9B E4 0A 37 */ stb r31, 0xa37(r4) /* 802596CC 0025532C 80 85 16 38 */ lwz r4, 0x1638(r5) /* 802596D0 00255330 9B E4 0A 38 */ stb r31, 0xa38(r4) /* 802596D4 00255334 80 85 16 38 */ lwz r4, 0x1638(r5) /* 802596D8 00255338 80 04 00 64 */ lwz r0, 0x64(r4) /* 802596DC 0025533C 60 00 00 04 */ ori r0, r0, 4 /* 802596E0 00255340 90 04 00 64 */ stw r0, 0x64(r4) /* 802596E4 00255344 80 85 16 38 */ lwz r4, 0x1638(r5) /* 802596E8 00255348 80 04 00 00 */ lwz r0, 0(r4) /* 802596EC 0025534C 60 00 00 40 */ ori r0, r0, 0x40 /* 802596F0 00255350 90 04 00 00 */ stw r0, 0(r4) /* 802596F4 00255354 4B FE 4F E5 */ bl func_8023E6D8 /* 802596F8 00255358 7C 65 1B 78 */ mr r5, r3 /* 802596FC 0025535C 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 80259700 00255360 7F 84 E3 78 */ mr r4, r28 /* 80259704 00255364 38 C0 00 00 */ li r6, 0 /* 80259708 00255368 38 E0 00 01 */ li r7, 1 /* 8025970C 0025536C 4B FE 5E DD */ bl func_8023F5E8 /* 80259710 00255370 3A C0 00 01 */ li r22, 1 lbl_80259714: /* 80259714 00255374 3B 7B 00 01 */ addi r27, r27, 1 /* 80259718 00255378 3B BD 03 D8 */ addi r29, r29, 0x3d8 lbl_8025971C: /* 8025971C 0025537C A0 0D A6 5C */ lhz r0, lbl_8063F91C-_SDA_BASE_(r13) /* 80259720 00255380 7C 1B 00 00 */ cmpw r27, r0 /* 80259724 00255384 41 80 FE C8 */ blt lbl_802595EC /* 80259728 00255388 2C 19 00 00 */ cmpwi r25, 0 /* 8025972C 0025538C 41 82 00 3C */ beq lbl_80259768 /* 80259730 00255390 C0 22 9F 90 */ lfs f1, lbl_80642590-_SDA2_BASE_(r2) /* 80259734 00255394 38 80 00 00 */ li r4, 0 /* 80259738 00255398 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 8025973C 0025539C FC 40 08 90 */ fmr f2, f1 /* 80259740 002553A0 C0 62 9F 94 */ lfs f3, lbl_80642594-_SDA2_BASE_(r2) /* 80259744 002553A4 C0 82 9F 98 */ lfs f4, lbl_80642598-_SDA2_BASE_(r2) /* 80259748 002553A8 4B FD BA BD */ bl func_80235204 /* 8025974C 002553AC 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 80259750 002553B0 38 80 00 00 */ li r4, 0 /* 80259754 002553B4 38 A0 00 00 */ li r5, 0 /* 80259758 002553B8 38 C0 00 00 */ li r6, 0 /* 8025975C 002553BC 38 E0 02 80 */ li r7, 0x280 /* 80259760 002553C0 39 00 01 E0 */ li r8, 0x1e0 /* 80259764 002553C4 4B FD BA 15 */ bl func_80235178 lbl_80259768: /* 80259768 002553C8 2C 16 00 00 */ cmpwi r22, 0 /* 8025976C 002553CC 41 82 00 14 */ beq lbl_80259780 /* 80259770 002553D0 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 80259774 002553D4 A0 03 16 FE */ lhz r0, 0x16fe(r3) /* 80259778 002553D8 60 00 00 06 */ ori r0, r0, 6 /* 8025977C 002553DC B0 03 16 FE */ sth r0, 0x16fe(r3) lbl_80259780: /* 80259780 002553E0 39 61 00 40 */ addi r11, r1, 0x40 /* 80259784 002553E4 4B F6 D9 DD */ bl _restgpr_22 /* 80259788 002553E8 80 01 00 44 */ lwz r0, 0x44(r1) /* 8025978C 002553EC 7C 08 03 A6 */ mtlr r0 /* 80259790 002553F0 38 21 00 40 */ addi r1, r1, 0x40 /* 80259794 002553F4 4E 80 00 20 */ blr .global func_80259798 func_80259798: /* 80259798 002553F8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8025979C 002553FC 7C 08 02 A6 */ mflr r0 /* 802597A0 00255400 90 01 00 24 */ stw r0, 0x24(r1) /* 802597A4 00255404 39 61 00 20 */ addi r11, r1, 0x20 /* 802597A8 00255408 4B F6 D9 7D */ bl _savegpr_26 /* 802597AC 0025540C 7C 7A 1B 78 */ mr r26, r3 /* 802597B0 00255410 7C 9B 23 78 */ mr r27, r4 /* 802597B4 00255414 7C BC 2B 78 */ mr r28, r5 /* 802597B8 00255418 7C DD 33 78 */ mr r29, r6 /* 802597BC 0025541C 7C FE 3B 78 */ mr r30, r7 /* 802597C0 00255420 4B FF FC 61 */ bl func_80259420 /* 802597C4 00255424 A0 0D A6 5C */ lhz r0, lbl_8063F91C-_SDA_BASE_(r13) /* 802597C8 00255428 83 ED A6 58 */ lwz r31, lbl_8063F918-_SDA_BASE_(r13) /* 802597CC 0025542C 7C 09 03 A6 */ mtctr r0 /* 802597D0 00255430 2C 00 00 00 */ cmpwi r0, 0 /* 802597D4 00255434 40 81 00 58 */ ble lbl_8025982C lbl_802597D8: /* 802597D8 00255438 88 1F 00 6C */ lbz r0, 0x6c(r31) /* 802597DC 0025543C 2C 00 00 00 */ cmpwi r0, 0 /* 802597E0 00255440 40 82 00 44 */ bne lbl_80259824 /* 802597E4 00255444 7F E3 FB 78 */ mr r3, r31 /* 802597E8 00255448 7F 44 D3 78 */ mr r4, r26 /* 802597EC 0025544C 7F 65 DB 78 */ mr r5, r27 /* 802597F0 00255450 7F 86 E3 78 */ mr r6, r28 /* 802597F4 00255454 7F A7 EB 78 */ mr r7, r29 /* 802597F8 00255458 7F C8 F3 78 */ mr r8, r30 /* 802597FC 0025545C 4B FF DD E9 */ bl func_802575E4 /* 80259800 00255460 2C 03 00 00 */ cmpwi r3, 0 /* 80259804 00255464 41 82 00 28 */ beq lbl_8025982C /* 80259808 00255468 80 6D A6 68 */ lwz r3, lbl_8063F928-_SDA_BASE_(r13) /* 8025980C 0025546C 4B FF FA D1 */ bl func_802592DC /* 80259810 00255470 2C 03 00 00 */ cmpwi r3, 0 /* 80259814 00255474 40 82 00 18 */ bne lbl_8025982C /* 80259818 00255478 7F E3 FB 78 */ mr r3, r31 /* 8025981C 0025547C 4B FF DE CD */ bl func_802576E8 /* 80259820 00255480 48 00 00 0C */ b lbl_8025982C lbl_80259824: /* 80259824 00255484 3B FF 03 D8 */ addi r31, r31, 0x3d8 /* 80259828 00255488 42 00 FF B0 */ bdnz lbl_802597D8 lbl_8025982C: /* 8025982C 0025548C 39 61 00 20 */ addi r11, r1, 0x20 /* 80259830 00255490 4B F6 D9 41 */ bl _restgpr_26 /* 80259834 00255494 80 01 00 24 */ lwz r0, 0x24(r1) /* 80259838 00255498 7C 08 03 A6 */ mtlr r0 /* 8025983C 0025549C 38 21 00 20 */ addi r1, r1, 0x20 /* 80259840 002554A0 4E 80 00 20 */ blr .global func_80259844 func_80259844: /* 80259844 002554A4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80259848 002554A8 7C 08 02 A6 */ mflr r0 /* 8025984C 002554AC 90 01 00 14 */ stw r0, 0x14(r1) /* 80259850 002554B0 4B FF FB D1 */ bl func_80259420 /* 80259854 002554B4 2C 03 00 00 */ cmpwi r3, 0 /* 80259858 002554B8 41 82 00 38 */ beq lbl_80259890 /* 8025985C 002554BC 4B FF DE 8D */ bl func_802576E8 /* 80259860 002554C0 A0 0D A6 5C */ lhz r0, lbl_8063F91C-_SDA_BASE_(r13) /* 80259864 002554C4 80 6D A6 58 */ lwz r3, lbl_8063F918-_SDA_BASE_(r13) /* 80259868 002554C8 7C 09 03 A6 */ mtctr r0 /* 8025986C 002554CC 2C 00 00 00 */ cmpwi r0, 0 /* 80259870 002554D0 40 81 00 18 */ ble lbl_80259888 lbl_80259874: /* 80259874 002554D4 88 03 00 6C */ lbz r0, 0x6c(r3) /* 80259878 002554D8 2C 00 00 00 */ cmpwi r0, 0 /* 8025987C 002554DC 40 82 00 14 */ bne lbl_80259890 /* 80259880 002554E0 38 63 03 D8 */ addi r3, r3, 0x3d8 /* 80259884 002554E4 42 00 FF F0 */ bdnz lbl_80259874 lbl_80259888: /* 80259888 002554E8 80 6D A6 68 */ lwz r3, lbl_8063F928-_SDA_BASE_(r13) /* 8025988C 002554EC 4B FF FB 05 */ bl func_80259390 lbl_80259890: /* 80259890 002554F0 80 01 00 14 */ lwz r0, 0x14(r1) /* 80259894 002554F4 7C 08 03 A6 */ mtlr r0 /* 80259898 002554F8 38 21 00 10 */ addi r1, r1, 0x10 /* 8025989C 002554FC 4E 80 00 20 */ blr .global func_802598A0 func_802598A0: /* 802598A0 00255500 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802598A4 00255504 7C 08 02 A6 */ mflr r0 /* 802598A8 00255508 90 01 00 14 */ stw r0, 0x14(r1) /* 802598AC 0025550C 4B FF FB 75 */ bl func_80259420 /* 802598B0 00255510 2C 03 00 00 */ cmpwi r3, 0 /* 802598B4 00255514 41 82 00 14 */ beq lbl_802598C8 /* 802598B8 00255518 88 83 00 68 */ lbz r4, 0x68(r3) /* 802598BC 0025551C 38 00 00 01 */ li r0, 1 /* 802598C0 00255520 98 83 00 69 */ stb r4, 0x69(r3) /* 802598C4 00255524 98 03 00 71 */ stb r0, 0x71(r3) lbl_802598C8: /* 802598C8 00255528 80 01 00 14 */ lwz r0, 0x14(r1) /* 802598CC 0025552C 7C 08 03 A6 */ mtlr r0 /* 802598D0 00255530 38 21 00 10 */ addi r1, r1, 0x10 /* 802598D4 00255534 4E 80 00 20 */ blr .global func_802598D8 func_802598D8: /* 802598D8 00255538 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802598DC 0025553C 7C 08 02 A6 */ mflr r0 /* 802598E0 00255540 90 01 00 14 */ stw r0, 0x14(r1) /* 802598E4 00255544 4B FF FB 3D */ bl func_80259420 /* 802598E8 00255548 2C 03 00 00 */ cmpwi r3, 0 /* 802598EC 0025554C 40 82 00 0C */ bne lbl_802598F8 /* 802598F0 00255550 38 60 00 00 */ li r3, 0 /* 802598F4 00255554 48 00 00 2C */ b lbl_80259920 lbl_802598F8: /* 802598F8 00255558 4B FF E9 25 */ bl func_8025821C /* 802598FC 0025555C 28 03 00 0B */ cmplwi r3, 0xb /* 80259900 00255560 38 80 00 00 */ li r4, 0 /* 80259904 00255564 41 81 00 14 */ bgt lbl_80259918 /* 80259908 00255568 38 00 00 01 */ li r0, 1 /* 8025990C 0025556C 7C 00 18 30 */ slw r0, r0, r3 /* 80259910 00255570 70 00 0A 01 */ andi. r0, r0, 0xa01 /* 80259914 00255574 40 82 00 08 */ bne lbl_8025991C lbl_80259918: /* 80259918 00255578 38 80 00 01 */ li r4, 1 lbl_8025991C: /* 8025991C 0025557C 7C 83 23 78 */ mr r3, r4 lbl_80259920: /* 80259920 00255580 80 01 00 14 */ lwz r0, 0x14(r1) /* 80259924 00255584 7C 08 03 A6 */ mtlr r0 /* 80259928 00255588 38 21 00 10 */ addi r1, r1, 0x10 /* 8025992C 0025558C 4E 80 00 20 */ blr .global func_80259930 func_80259930: /* 80259930 00255590 4E 80 00 20 */ blr .global func_80259934 func_80259934: /* 80259934 00255594 4E 80 00 20 */ blr .global func_80259938 func_80259938: /* 80259938 00255598 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8025993C 0025559C 7C 08 02 A6 */ mflr r0 /* 80259940 002555A0 90 01 00 14 */ stw r0, 0x14(r1) /* 80259944 002555A4 4B FF FA DD */ bl func_80259420 /* 80259948 002555A8 2C 03 00 00 */ cmpwi r3, 0 /* 8025994C 002555AC 41 82 00 1C */ beq lbl_80259968 /* 80259950 002555B0 88 03 00 6C */ lbz r0, 0x6c(r3) /* 80259954 002555B4 2C 00 00 00 */ cmpwi r0, 0 /* 80259958 002555B8 41 82 00 10 */ beq lbl_80259968 /* 8025995C 002555BC 88 03 00 69 */ lbz r0, 0x69(r3) /* 80259960 002555C0 28 00 00 0B */ cmplwi r0, 0xb /* 80259964 002555C4 40 82 00 0C */ bne lbl_80259970 lbl_80259968: /* 80259968 002555C8 38 60 FF FF */ li r3, -1 /* 8025996C 002555CC 48 00 00 20 */ b lbl_8025998C lbl_80259970: /* 80259970 002555D0 2C 00 00 00 */ cmpwi r0, 0 /* 80259974 002555D4 41 82 00 0C */ beq lbl_80259980 /* 80259978 002555D8 28 00 00 09 */ cmplwi r0, 9 /* 8025997C 002555DC 40 82 00 0C */ bne lbl_80259988 lbl_80259980: /* 80259980 002555E0 38 60 00 00 */ li r3, 0 /* 80259984 002555E4 48 00 00 08 */ b lbl_8025998C lbl_80259988: /* 80259988 002555E8 38 60 00 01 */ li r3, 1 lbl_8025998C: /* 8025998C 002555EC 80 01 00 14 */ lwz r0, 0x14(r1) /* 80259990 002555F0 7C 08 03 A6 */ mtlr r0 /* 80259994 002555F4 38 21 00 10 */ addi r1, r1, 0x10 /* 80259998 002555F8 4E 80 00 20 */ blr .global lbl_8025999C lbl_8025999C: /* 8025999C 002555FC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802599A0 00255600 7C 08 02 A6 */ mflr r0 /* 802599A4 00255604 90 01 00 14 */ stw r0, 0x14(r1) /* 802599A8 00255608 4B FF FA 79 */ bl func_80259420 /* 802599AC 0025560C 2C 03 00 00 */ cmpwi r3, 0 /* 802599B0 00255610 41 82 00 0C */ beq lbl_802599BC /* 802599B4 00255614 38 63 00 04 */ addi r3, r3, 4 /* 802599B8 00255618 48 00 00 08 */ b lbl_802599C0 lbl_802599BC: /* 802599BC 0025561C 38 60 00 00 */ li r3, 0 lbl_802599C0: /* 802599C0 00255620 80 01 00 14 */ lwz r0, 0x14(r1) /* 802599C4 00255624 7C 08 03 A6 */ mtlr r0 /* 802599C8 00255628 38 21 00 10 */ addi r1, r1, 0x10 /* 802599CC 0025562C 4E 80 00 20 */ blr .global func_802599D0 func_802599D0: /* 802599D0 00255630 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802599D4 00255634 7C 08 02 A6 */ mflr r0 /* 802599D8 00255638 90 01 00 14 */ stw r0, 0x14(r1) /* 802599DC 0025563C 93 E1 00 0C */ stw r31, 0xc(r1) /* 802599E0 00255640 4B FF FA 41 */ bl func_80259420 /* 802599E4 00255644 2C 03 00 00 */ cmpwi r3, 0 /* 802599E8 00255648 7C 7F 1B 78 */ mr r31, r3 /* 802599EC 0025564C 41 82 00 84 */ beq lbl_80259A70 /* 802599F0 00255650 38 00 00 00 */ li r0, 0 /* 802599F4 00255654 38 8D 87 08 */ addi r4, r13, lbl_8063D9C8-_SDA_BASE_ /* 802599F8 00255658 98 03 00 6B */ stb r0, 0x6b(r3) /* 802599FC 0025565C 38 63 00 04 */ addi r3, r3, 4 /* 80259A00 00255660 4B F7 4A 4D */ bl strcmp /* 80259A04 00255664 2C 03 00 00 */ cmpwi r3, 0 /* 80259A08 00255668 40 82 00 68 */ bne lbl_80259A70 /* 80259A0C 0025566C 80 7F 00 08 */ lwz r3, 8(r31) /* 80259A10 00255670 3C 03 FF FF */ addis r0, r3, 0xffff /* 80259A14 00255674 28 00 10 00 */ cmplwi r0, 0x1000 /* 80259A18 00255678 40 82 00 58 */ bne lbl_80259A70 /* 80259A1C 0025567C 38 A0 00 00 */ li r5, 0 /* 80259A20 00255680 38 60 00 01 */ li r3, 1 /* 80259A24 00255684 48 00 00 34 */ b lbl_80259A58 lbl_80259A28: /* 80259A28 00255688 7C 9F 2A 14 */ add r4, r31, r5 /* 80259A2C 0025568C 88 04 00 38 */ lbz r0, 0x38(r4) /* 80259A30 00255690 2C 00 00 01 */ cmpwi r0, 1 /* 80259A34 00255694 41 82 00 14 */ beq lbl_80259A48 /* 80259A38 00255698 40 80 00 38 */ bge lbl_80259A70 /* 80259A3C 0025569C 2C 00 00 00 */ cmpwi r0, 0 /* 80259A40 002556A0 40 80 00 14 */ bge lbl_80259A54 /* 80259A44 002556A4 48 00 00 2C */ b lbl_80259A70 lbl_80259A48: /* 80259A48 002556A8 98 7F 00 6B */ stb r3, 0x6b(r31) /* 80259A4C 002556AC 48 00 00 08 */ b lbl_80259A54 /* 80259A50 002556B0 48 00 00 20 */ b lbl_80259A70 lbl_80259A54: /* 80259A54 002556B4 38 A5 00 01 */ addi r5, r5, 1 lbl_80259A58: /* 80259A58 002556B8 80 1F 00 34 */ lwz r0, 0x34(r31) /* 80259A5C 002556BC 7C 05 00 40 */ cmplw r5, r0 /* 80259A60 002556C0 41 80 FF C8 */ blt lbl_80259A28 /* 80259A64 002556C4 38 00 00 02 */ li r0, 2 /* 80259A68 002556C8 98 1F 00 69 */ stb r0, 0x69(r31) /* 80259A6C 002556CC 98 1F 00 68 */ stb r0, 0x68(r31) lbl_80259A70: /* 80259A70 002556D0 80 01 00 14 */ lwz r0, 0x14(r1) /* 80259A74 002556D4 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80259A78 002556D8 7C 08 03 A6 */ mtlr r0 /* 80259A7C 002556DC 38 21 00 10 */ addi r1, r1, 0x10 /* 80259A80 002556E0 4E 80 00 20 */ blr .global func_80259A84 func_80259A84: /* 80259A84 002556E4 38 A0 00 01 */ li r5, 1 /* 80259A88 002556E8 38 6D A6 50 */ addi r3, r13, lbl_8063F910-_SDA_BASE_ /* 80259A8C 002556EC 38 80 00 04 */ li r4, 4 /* 80259A90 002556F0 38 00 00 00 */ li r0, 0 /* 80259A94 002556F4 98 AD A6 50 */ stb r5, lbl_8063F910-_SDA_BASE_(r13) /* 80259A98 002556F8 B0 83 00 02 */ sth r4, 2(r3) /* 80259A9C 002556FC 98 03 00 04 */ stb r0, 4(r3) /* 80259AA0 00255700 4E 80 00 20 */ blr