.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global func_8025A710 func_8025A710: /* 8025A710 00256370 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8025A714 00256374 7C 08 02 A6 */ mflr r0 /* 8025A718 00256378 3C 80 01 F3 */ lis r4, 0x01F34C7C@ha /* 8025A71C 0025637C 3C A0 80 26 */ lis r5, lbl_8025A984@ha /* 8025A720 00256380 90 01 00 14 */ stw r0, 0x14(r1) /* 8025A724 00256384 38 84 4C 7C */ addi r4, r4, 0x01F34C7C@l /* 8025A728 00256388 38 A5 A9 84 */ addi r5, r5, lbl_8025A984@l /* 8025A72C 0025638C 38 E0 10 00 */ li r7, 0x1000 /* 8025A730 00256390 93 E1 00 0C */ stw r31, 0xc(r1) /* 8025A734 00256394 7C 7F 1B 78 */ mr r31, r3 /* 8025A738 00256398 7F E6 FB 78 */ mr r6, r31 /* 8025A73C 0025639C 39 00 00 0C */ li r8, 0xc /* 8025A740 002563A0 80 6D A3 40 */ lwz r3, lbl_8063F600-_SDA_BASE_(r13) /* 8025A744 002563A4 39 20 00 01 */ li r9, 1 /* 8025A748 002563A8 4B FC 9A CD */ bl func_80224214 /* 8025A74C 002563AC 2C 03 00 00 */ cmpwi r3, 0 /* 8025A750 002563B0 90 7F 02 00 */ stw r3, 0x200(r31) /* 8025A754 002563B4 40 82 00 0C */ bne lbl_8025A760 /* 8025A758 002563B8 38 60 00 00 */ li r3, 0 /* 8025A75C 002563BC 48 00 00 38 */ b lbl_8025A794 lbl_8025A760: /* 8025A760 002563C0 38 7F 02 0C */ addi r3, r31, 0x20c /* 8025A764 002563C4 38 9F 02 2C */ addi r4, r31, 0x22c /* 8025A768 002563C8 38 A0 00 0A */ li r5, 0xa /* 8025A76C 002563CC 48 01 47 8D */ bl OSInitMessageQueue /* 8025A770 002563D0 38 7F 02 54 */ addi r3, r31, 0x254 /* 8025A774 002563D4 38 9F 02 74 */ addi r4, r31, 0x274 /* 8025A778 002563D8 38 A0 00 0A */ li r5, 0xa /* 8025A77C 002563DC 48 01 47 7D */ bl OSInitMessageQueue /* 8025A780 002563E0 38 7F 02 9C */ addi r3, r31, 0x29c /* 8025A784 002563E4 38 9F 02 BC */ addi r4, r31, 0x2bc /* 8025A788 002563E8 38 A0 00 0A */ li r5, 0xa /* 8025A78C 002563EC 48 01 47 6D */ bl OSInitMessageQueue /* 8025A790 002563F0 38 60 00 01 */ li r3, 1 lbl_8025A794: /* 8025A794 002563F4 80 01 00 14 */ lwz r0, 0x14(r1) /* 8025A798 002563F8 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8025A79C 002563FC 7C 08 03 A6 */ mtlr r0 /* 8025A7A0 00256400 38 21 00 10 */ addi r1, r1, 0x10 /* 8025A7A4 00256404 4E 80 00 20 */ blr .global func_8025A7A8 func_8025A7A8: /* 8025A7A8 00256408 80 63 02 00 */ lwz r3, 0x200(r3) /* 8025A7AC 0025640C 2C 03 00 00 */ cmpwi r3, 0 /* 8025A7B0 00256410 4D 82 00 20 */ beqlr /* 8025A7B4 00256414 4B FC 9E E4 */ b func_80224698 /* 8025A7B8 00256418 4E 80 00 20 */ blr .global func_8025A7BC func_8025A7BC: /* 8025A7BC 0025641C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8025A7C0 00256420 7C 08 02 A6 */ mflr r0 /* 8025A7C4 00256424 90 01 00 24 */ stw r0, 0x24(r1) /* 8025A7C8 00256428 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8025A7CC 0025642C 7C 7F 1B 78 */ mr r31, r3 /* 8025A7D0 00256430 80 03 02 00 */ lwz r0, 0x200(r3) /* 8025A7D4 00256434 2C 00 00 00 */ cmpwi r0, 0 /* 8025A7D8 00256438 41 82 00 18 */ beq lbl_8025A7F0 /* 8025A7DC 0025643C 7C 03 03 78 */ mr r3, r0 /* 8025A7E0 00256440 38 80 00 00 */ li r4, 0 /* 8025A7E4 00256444 4B FC 9E C9 */ bl func_802246AC /* 8025A7E8 00256448 38 00 00 00 */ li r0, 0 /* 8025A7EC 0025644C 90 1F 02 00 */ stw r0, 0x200(r31) lbl_8025A7F0: /* 8025A7F0 00256450 88 1F 00 6B */ lbz r0, 0x6b(r31) /* 8025A7F4 00256454 2C 00 00 00 */ cmpwi r0, 0 /* 8025A7F8 00256458 41 82 00 2C */ beq lbl_8025A824 lbl_8025A7FC: /* 8025A7FC 0025645C 38 7F 02 54 */ addi r3, r31, 0x254 /* 8025A800 00256460 38 81 00 08 */ addi r4, r1, 8 /* 8025A804 00256464 38 A0 00 00 */ li r5, 0 /* 8025A808 00256468 48 01 48 19 */ bl OSReceiveMessage /* 8025A80C 0025646C 2C 03 00 00 */ cmpwi r3, 0 /* 8025A810 00256470 40 82 FF EC */ bne lbl_8025A7FC /* 8025A814 00256474 48 00 00 10 */ b lbl_8025A824 lbl_8025A818: /* 8025A818 00256478 80 81 00 08 */ lwz r4, 8(r1) /* 8025A81C 0025647C 7F E3 FB 78 */ mr r3, r31 /* 8025A820 00256480 48 00 04 C1 */ bl func_8025ACE0 lbl_8025A824: /* 8025A824 00256484 38 7F 02 9C */ addi r3, r31, 0x29c /* 8025A828 00256488 38 81 00 08 */ addi r4, r1, 8 /* 8025A82C 0025648C 38 A0 00 00 */ li r5, 0 /* 8025A830 00256490 48 01 47 F1 */ bl OSReceiveMessage /* 8025A834 00256494 2C 03 00 00 */ cmpwi r3, 0 /* 8025A838 00256498 40 82 FF E0 */ bne lbl_8025A818 /* 8025A83C 0025649C 80 01 00 24 */ lwz r0, 0x24(r1) /* 8025A840 002564A0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8025A844 002564A4 7C 08 03 A6 */ mtlr r0 /* 8025A848 002564A8 38 21 00 20 */ addi r1, r1, 0x20 /* 8025A84C 002564AC 4E 80 00 20 */ blr /* 8025A850 002564B0 80 A4 00 88 */ lwz r5, 0x88(r4) /* 8025A854 002564B4 80 64 00 7C */ lwz r3, 0x7c(r4) /* 8025A858 002564B8 80 04 00 20 */ lwz r0, 0x20(r4) /* 8025A85C 002564BC 7C 65 1A 14 */ add r3, r5, r3 /* 8025A860 002564C0 7C 03 00 40 */ cmplw r3, r0 /* 8025A864 002564C4 90 64 00 88 */ stw r3, 0x88(r4) /* 8025A868 002564C8 41 80 00 0C */ blt lbl_8025A874 /* 8025A86C 002564CC 80 04 00 2C */ lwz r0, 0x2c(r4) /* 8025A870 002564D0 90 04 00 88 */ stw r0, 0x88(r4) lbl_8025A874: /* 8025A874 002564D4 38 00 00 01 */ li r0, 1 /* 8025A878 002564D8 90 04 00 80 */ stw r0, 0x80(r4) /* 8025A87C 002564DC 4E 80 00 20 */ blr .global func_8025A880 func_8025A880: /* 8025A880 002564E0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8025A884 002564E4 7C 08 02 A6 */ mflr r0 /* 8025A888 002564E8 90 01 00 14 */ stw r0, 0x14(r1) /* 8025A88C 002564EC 93 E1 00 0C */ stw r31, 0xc(r1) /* 8025A890 002564F0 7C 7F 1B 78 */ mr r31, r3 /* 8025A894 002564F4 93 C1 00 08 */ stw r30, 8(r1) /* 8025A898 002564F8 7C 9E 23 78 */ mr r30, r4 /* 8025A89C 002564FC 80 03 00 9C */ lwz r0, 0x9c(r3) /* 8025A8A0 00256500 90 04 00 04 */ stw r0, 4(r4) /* 8025A8A4 00256504 88 03 00 6B */ lbz r0, 0x6b(r3) /* 8025A8A8 00256508 2C 00 00 00 */ cmpwi r0, 0 /* 8025A8AC 0025650C 41 82 00 0C */ beq lbl_8025A8B8 /* 8025A8B0 00256510 48 00 04 6D */ bl func_8025AD1C /* 8025A8B4 00256514 48 00 00 08 */ b lbl_8025A8BC lbl_8025A8B8: /* 8025A8B8 00256518 48 00 04 A1 */ bl func_8025AD58 lbl_8025A8BC: /* 8025A8BC 0025651C 80 7E 00 00 */ lwz r3, 0(r30) /* 8025A8C0 00256520 80 9F 00 94 */ lwz r4, 0x94(r31) /* 8025A8C4 00256524 48 00 FD 91 */ bl DCFlushRange /* 8025A8C8 00256528 80 7F 00 98 */ lwz r3, 0x98(r31) /* 8025A8CC 0025652C 80 1F 00 94 */ lwz r0, 0x94(r31) /* 8025A8D0 00256530 7C A3 02 14 */ add r5, r3, r0 /* 8025A8D4 00256534 90 BF 00 98 */ stw r5, 0x98(r31) /* 8025A8D8 00256538 80 7E 00 00 */ lwz r3, 0(r30) /* 8025A8DC 0025653C 80 63 00 00 */ lwz r3, 0(r3) /* 8025A8E0 00256540 2C 03 00 00 */ cmpwi r3, 0 /* 8025A8E4 00256544 90 7F 00 94 */ stw r3, 0x94(r31) /* 8025A8E8 00256548 41 80 00 10 */ blt lbl_8025A8F8 /* 8025A8EC 0025654C 80 1F 00 7C */ lwz r0, 0x7c(r31) /* 8025A8F0 00256550 7C 03 00 40 */ cmplw r3, r0 /* 8025A8F4 00256554 40 81 00 14 */ ble lbl_8025A908 lbl_8025A8F8: /* 8025A8F8 00256558 38 00 00 09 */ li r0, 9 /* 8025A8FC 0025655C 98 1F 00 6A */ stb r0, 0x6a(r31) /* 8025A900 00256560 98 1F 00 69 */ stb r0, 0x69(r31) /* 8025A904 00256564 48 00 00 68 */ b lbl_8025A96C lbl_8025A908: /* 8025A908 00256568 80 7F 00 9C */ lwz r3, 0x9c(r31) /* 8025A90C 0025656C 80 1F 00 90 */ lwz r0, 0x90(r31) /* 8025A910 00256570 80 DF 00 18 */ lwz r6, 0x18(r31) /* 8025A914 00256574 7C 83 02 14 */ add r4, r3, r0 /* 8025A918 00256578 7C 64 33 96 */ divwu r3, r4, r6 /* 8025A91C 0025657C 38 06 FF FF */ addi r0, r6, -1 /* 8025A920 00256580 7C 63 31 D6 */ mullw r3, r3, r6 /* 8025A924 00256584 7C 63 20 50 */ subf r3, r3, r4 /* 8025A928 00256588 7C 03 00 40 */ cmplw r3, r0 /* 8025A92C 0025658C 41 82 00 14 */ beq lbl_8025A940 /* 8025A930 00256590 80 7F 00 20 */ lwz r3, 0x20(r31) /* 8025A934 00256594 38 03 FF FF */ addi r0, r3, -1 /* 8025A938 00256598 7C 05 00 40 */ cmplw r5, r0 /* 8025A93C 0025659C 41 80 00 24 */ blt lbl_8025A960 lbl_8025A940: /* 8025A940 002565A0 88 1F 00 6E */ lbz r0, 0x6e(r31) /* 8025A944 002565A4 2C 00 00 00 */ cmpwi r0, 0 /* 8025A948 002565A8 41 82 00 10 */ beq lbl_8025A958 /* 8025A94C 002565AC 38 00 00 01 */ li r0, 1 /* 8025A950 002565B0 98 1F 00 71 */ stb r0, 0x71(r31) /* 8025A954 002565B4 48 00 00 0C */ b lbl_8025A960 lbl_8025A958: /* 8025A958 002565B8 80 7F 02 00 */ lwz r3, 0x200(r31) /* 8025A95C 002565BC 4B FC 9D D1 */ bl func_8022472C lbl_8025A960: /* 8025A960 002565C0 80 7F 00 9C */ lwz r3, 0x9c(r31) /* 8025A964 002565C4 38 03 00 01 */ addi r0, r3, 1 /* 8025A968 002565C8 90 1F 00 9C */ stw r0, 0x9c(r31) lbl_8025A96C: /* 8025A96C 002565CC 80 01 00 14 */ lwz r0, 0x14(r1) /* 8025A970 002565D0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8025A974 002565D4 83 C1 00 08 */ lwz r30, 8(r1) /* 8025A978 002565D8 7C 08 03 A6 */ mtlr r0 /* 8025A97C 002565DC 38 21 00 10 */ addi r1, r1, 0x10 /* 8025A980 002565E0 4E 80 00 20 */ blr lbl_8025A984: /* 8025A984 002565E4 94 21 FF 80 */ stwu r1, -0x80(r1) /* 8025A988 002565E8 7C 08 02 A6 */ mflr r0 /* 8025A98C 002565EC 90 01 00 84 */ stw r0, 0x84(r1) /* 8025A990 002565F0 DB E1 00 70 */ stfd f31, 0x70(r1) /* 8025A994 002565F4 F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0 /* 8025A998 002565F8 DB C1 00 60 */ stfd f30, 0x60(r1) /* 8025A99C 002565FC F3 C1 00 68 */ psq_st f30, 104(r1), 0, qr0 /* 8025A9A0 00256600 DB A1 00 50 */ stfd f29, 0x50(r1) /* 8025A9A4 00256604 F3 A1 00 58 */ psq_st f29, 88(r1), 0, qr0 /* 8025A9A8 00256608 39 61 00 50 */ addi r11, r1, 0x50 /* 8025A9AC 0025660C 4B F6 C7 59 */ bl _savegpr_18 /* 8025A9B0 00256610 3A E0 00 01 */ li r23, 1 /* 8025A9B4 00256614 3B 80 00 00 */ li r28, 0 /* 8025A9B8 00256618 9A E3 00 71 */ stb r23, 0x71(r3) /* 8025A9BC 0025661C 7C 7A 1B 78 */ mr r26, r3 /* 8025A9C0 00256620 3A C0 00 00 */ li r22, 0 /* 8025A9C4 00256624 93 83 00 80 */ stw r28, 0x80(r3) /* 8025A9C8 00256628 CB C2 9F E0 */ lfd f30, lbl_806425E0-_SDA2_BASE_(r2) /* 8025A9CC 0025662C 3F C0 80 26 */ lis r30, 0x8026 /* 8025A9D0 00256630 C3 E2 9F D8 */ lfs f31, lbl_806425D8-_SDA2_BASE_(r2) /* 8025A9D4 00256634 3F E0 43 30 */ lis r31, 0x4330 /* 8025A9D8 00256638 3B A0 00 01 */ li r29, 1 /* 8025A9DC 0025663C 3A 40 FF FF */ li r18, -1 lbl_8025A9E0: /* 8025A9E0 00256640 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13) /* 8025A9E4 00256644 38 60 00 00 */ li r3, 0 /* 8025A9E8 00256648 88 04 00 82 */ lbz r0, 0x82(r4) /* 8025A9EC 0025664C 2C 00 00 00 */ cmpwi r0, 0 /* 8025A9F0 00256650 40 82 00 10 */ bne lbl_8025AA00 /* 8025A9F4 00256654 88 04 00 83 */ lbz r0, 0x83(r4) /* 8025A9F8 00256658 2C 00 00 00 */ cmpwi r0, 0 /* 8025A9FC 0025665C 41 82 00 08 */ beq lbl_8025AA04 lbl_8025AA00: /* 8025AA00 00256660 38 60 00 01 */ li r3, 1 lbl_8025AA04: /* 8025AA04 00256664 2C 03 00 00 */ cmpwi r3, 0 /* 8025AA08 00256668 40 82 02 50 */ bne lbl_8025AC58 /* 8025AA0C 0025666C 88 1A 00 70 */ lbz r0, 0x70(r26) /* 8025AA10 00256670 2C 00 00 00 */ cmpwi r0, 0 /* 8025AA14 00256674 41 82 00 10 */ beq lbl_8025AA24 /* 8025AA18 00256678 88 1A 00 75 */ lbz r0, 0x75(r26) /* 8025AA1C 0025667C 7C 00 07 75 */ extsb. r0, r0 /* 8025AA20 00256680 40 82 02 38 */ bne lbl_8025AC58 lbl_8025AA24: /* 8025AA24 00256684 7F 43 D3 78 */ mr r3, r26 /* 8025AA28 00256688 48 00 02 61 */ bl func_8025AC88 /* 8025AA2C 0025668C 80 9A 00 94 */ lwz r4, 0x94(r26) /* 8025AA30 00256690 7C 79 1B 78 */ mr r25, r3 /* 8025AA34 00256694 80 1A 00 7C */ lwz r0, 0x7c(r26) /* 8025AA38 00256698 7C 04 00 40 */ cmplw r4, r0 /* 8025AA3C 0025669C 40 81 00 08 */ ble lbl_8025AA44 /* 8025AA40 002566A0 9B BA 00 71 */ stb r29, 0x71(r26) lbl_8025AA44: /* 8025AA44 002566A4 88 1A 00 71 */ lbz r0, 0x71(r26) /* 8025AA48 002566A8 2C 00 00 00 */ cmpwi r0, 0 /* 8025AA4C 002566AC 41 82 00 38 */ beq lbl_8025AA84 /* 8025AA50 002566B0 2C 17 00 00 */ cmpwi r23, 0 /* 8025AA54 002566B4 41 82 00 14 */ beq lbl_8025AA68 /* 8025AA58 002566B8 80 1A 00 84 */ lwz r0, 0x84(r26) /* 8025AA5C 002566BC 3A E0 00 00 */ li r23, 0 /* 8025AA60 002566C0 90 1A 00 88 */ stw r0, 0x88(r26) /* 8025AA64 002566C4 48 00 00 0C */ b lbl_8025AA70 lbl_8025AA68: /* 8025AA68 002566C8 80 1A 00 2C */ lwz r0, 0x2c(r26) /* 8025AA6C 002566CC 90 1A 00 88 */ stw r0, 0x88(r26) lbl_8025AA70: /* 8025AA70 002566D0 80 1A 00 8C */ lwz r0, 0x8c(r26) /* 8025AA74 002566D4 93 9A 00 98 */ stw r28, 0x98(r26) /* 8025AA78 002566D8 90 1A 00 94 */ stw r0, 0x94(r26) /* 8025AA7C 002566DC 93 9A 00 9C */ stw r28, 0x9c(r26) /* 8025AA80 002566E0 9B 9A 00 71 */ stb r28, 0x71(r26) lbl_8025AA84: /* 8025AA84 002566E4 80 BA 00 7C */ lwz r5, 0x7c(r26) /* 8025AA88 002566E8 80 9A 00 98 */ lwz r4, 0x98(r26) /* 8025AA8C 002566EC 7C 04 2B 96 */ divwu r0, r4, r5 /* 8025AA90 002566F0 7C 00 29 D6 */ mullw r0, r0, r5 /* 8025AA94 002566F4 7E A0 20 51 */ subf. r21, r0, r4 /* 8025AA98 002566F8 41 82 00 5C */ beq lbl_8025AAF4 /* 8025AA9C 002566FC 83 7A 00 94 */ lwz r27, 0x94(r26) /* 8025AAA0 00256700 7C 15 DA 14 */ add r0, r21, r27 /* 8025AAA4 00256704 7C 05 00 40 */ cmplw r5, r0 /* 8025AAA8 00256708 40 80 00 3C */ bge lbl_8025AAE4 /* 8025AAAC 0025670C 80 1A 00 78 */ lwz r0, 0x78(r26) /* 8025AAB0 00256710 7E 95 28 50 */ subf r20, r21, r5 /* 8025AAB4 00256714 80 63 00 00 */ lwz r3, 0(r3) /* 8025AAB8 00256718 7E 85 A3 78 */ mr r5, r20 /* 8025AABC 0025671C 7C 80 AA 14 */ add r4, r0, r21 /* 8025AAC0 00256720 4B DA 95 41 */ bl memcpy /* 8025AAC4 00256724 80 79 00 00 */ lwz r3, 0(r25) /* 8025AAC8 00256728 7E 84 A3 78 */ mr r4, r20 /* 8025AACC 0025672C 48 00 FB E9 */ bl DCFlushRangeNoSync /* 8025AAD0 00256730 80 1A 00 94 */ lwz r0, 0x94(r26) /* 8025AAD4 00256734 38 60 00 01 */ li r3, 1 /* 8025AAD8 00256738 3A A0 00 00 */ li r21, 0 /* 8025AADC 0025673C 7F 74 00 50 */ subf r27, r20, r0 /* 8025AAE0 00256740 48 00 00 20 */ b lbl_8025AB00 lbl_8025AAE4: /* 8025AAE4 00256744 38 60 00 00 */ li r3, 0 /* 8025AAE8 00256748 3A 80 00 00 */ li r20, 0 /* 8025AAEC 0025674C 3B 00 00 01 */ li r24, 1 /* 8025AAF0 00256750 48 00 00 10 */ b lbl_8025AB00 lbl_8025AAF4: /* 8025AAF4 00256754 83 7A 00 94 */ lwz r27, 0x94(r26) /* 8025AAF8 00256758 38 60 00 01 */ li r3, 1 /* 8025AAFC 0025675C 3A 80 00 00 */ li r20, 0 lbl_8025AB00: /* 8025AB00 00256760 2C 03 00 00 */ cmpwi r3, 0 /* 8025AB04 00256764 41 82 00 F8 */ beq lbl_8025ABFC /* 8025AB08 00256768 80 7A 00 88 */ lwz r3, 0x88(r26) /* 8025AB0C 0025676C 80 1A 00 20 */ lwz r0, 0x20(r26) /* 8025AB10 00256770 82 7A 00 7C */ lwz r19, 0x7c(r26) /* 8025AB14 00256774 7C 03 00 50 */ subf r0, r3, r0 /* 8025AB18 00256778 7C 00 98 40 */ cmplw r0, r19 /* 8025AB1C 0025677C 40 80 00 08 */ bge lbl_8025AB24 /* 8025AB20 00256780 7C 13 03 78 */ mr r19, r0 lbl_8025AB24: /* 8025AB24 00256784 2C 16 00 00 */ cmpwi r22, 0 /* 8025AB28 00256788 93 9A 00 80 */ stw r28, 0x80(r26) /* 8025AB2C 0025678C 41 82 00 0C */ beq lbl_8025AB38 /* 8025AB30 00256790 C3 A2 9F D0 */ lfs f29, lbl_806425D0-_SDA2_BASE_(r2) /* 8025AB34 00256794 48 00 00 08 */ b lbl_8025AB3C lbl_8025AB38: /* 8025AB38 00256798 C3 A2 9F D4 */ lfs f29, lbl_806425D4-_SDA2_BASE_(r2) lbl_8025AB3C: /* 8025AB3C 0025679C 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13) /* 8025AB40 002567A0 38 60 00 00 */ li r3, 0 /* 8025AB44 002567A4 88 04 00 82 */ lbz r0, 0x82(r4) /* 8025AB48 002567A8 2C 00 00 00 */ cmpwi r0, 0 /* 8025AB4C 002567AC 40 82 00 10 */ bne lbl_8025AB5C /* 8025AB50 002567B0 88 04 00 83 */ lbz r0, 0x83(r4) /* 8025AB54 002567B4 2C 00 00 00 */ cmpwi r0, 0 /* 8025AB58 002567B8 41 82 00 08 */ beq lbl_8025AB60 lbl_8025AB5C: /* 8025AB5C 002567BC 38 60 00 01 */ li r3, 1 lbl_8025AB60: /* 8025AB60 002567C0 2C 03 00 00 */ cmpwi r3, 0 /* 8025AB64 002567C4 40 82 00 88 */ bne lbl_8025ABEC /* 8025AB68 002567C8 80 7A 00 00 */ lwz r3, 0(r26) /* 8025AB6C 002567CC 7E 66 9B 78 */ mr r6, r19 /* 8025AB70 002567D0 80 BA 00 78 */ lwz r5, 0x78(r26) /* 8025AB74 002567D4 7F 49 D3 78 */ mr r9, r26 /* 8025AB78 002567D8 80 FA 00 88 */ lwz r7, 0x88(r26) /* 8025AB7C 002567DC 7F 2A CB 78 */ mr r10, r25 /* 8025AB80 002567E0 39 1E A8 50 */ addi r8, r30, -22448 /* 8025AB84 002567E4 38 80 00 00 */ li r4, 0 /* 8025AB88 002567E8 4B FE EF 29 */ bl func_80249AB0 /* 8025AB8C 002567EC 2C 03 00 00 */ cmpwi r3, 0 /* 8025AB90 002567F0 7C 78 1B 78 */ mr r24, r3 /* 8025AB94 002567F4 40 82 00 68 */ bne lbl_8025ABFC /* 8025AB98 002567F8 80 7A 00 00 */ lwz r3, 0(r26) /* 8025AB9C 002567FC 4B FE E2 25 */ bl func_80248DC0 /* 8025ABA0 00256800 2C 03 00 00 */ cmpwi r3, 0 /* 8025ABA4 00256804 41 82 00 58 */ beq lbl_8025ABFC /* 8025ABA8 00256808 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 8025ABAC 0025680C 8A C3 00 59 */ lbz r22, 0x59(r3) /* 8025ABB0 00256810 4B FE 54 3D */ bl func_8023FFEC /* 8025ABB4 00256814 92 C1 00 0C */ stw r22, 0xc(r1) /* 8025ABB8 00256818 93 E1 00 08 */ stw r31, 8(r1) /* 8025ABBC 0025681C C8 01 00 08 */ lfd f0, 8(r1) /* 8025ABC0 00256820 EC 00 F0 28 */ fsubs f0, f0, f30 /* 8025ABC4 00256824 EC 01 00 24 */ fdivs f0, f1, f0 /* 8025ABC8 00256828 FC 00 F8 40 */ fcmpo cr0, f0, f31 /* 8025ABCC 0025682C 40 81 00 08 */ ble lbl_8025ABD4 /* 8025ABD0 00256830 48 00 00 08 */ b lbl_8025ABD8 lbl_8025ABD4: /* 8025ABD4 00256834 FC 00 F8 90 */ fmr f0, f31 lbl_8025ABD8: /* 8025ABD8 00256838 EF BD 00 28 */ fsubs f29, f29, f0 /* 8025ABDC 0025683C FC 1D F8 40 */ fcmpo cr0, f29, f31 /* 8025ABE0 00256840 4C 40 13 82 */ cror 2, 0, 2 /* 8025ABE4 00256844 41 82 00 18 */ beq lbl_8025ABFC /* 8025ABE8 00256848 48 00 00 08 */ b lbl_8025ABF0 lbl_8025ABEC: /* 8025ABEC 0025684C C3 A2 9F D0 */ lfs f29, lbl_806425D0-_SDA2_BASE_(r2) lbl_8025ABF0: /* 8025ABF0 00256850 80 7A 02 00 */ lwz r3, 0x200(r26) /* 8025ABF4 00256854 4B FC 9A 49 */ bl func_8022463C /* 8025ABF8 00256858 4B FF FF 44 */ b lbl_8025AB3C lbl_8025ABFC: /* 8025ABFC 0025685C 2C 18 00 00 */ cmpwi r24, 0 /* 8025AC00 00256860 41 82 00 40 */ beq lbl_8025AC40 /* 8025AC04 00256864 80 79 00 00 */ lwz r3, 0(r25) /* 8025AC08 00256868 7F 65 DB 78 */ mr r5, r27 /* 8025AC0C 0025686C 80 1A 00 78 */ lwz r0, 0x78(r26) /* 8025AC10 00256870 7C 63 A2 14 */ add r3, r3, r20 /* 8025AC14 00256874 7C 80 AA 14 */ add r4, r0, r21 /* 8025AC18 00256878 4B DA 93 E9 */ bl memcpy /* 8025AC1C 0025687C 80 19 00 00 */ lwz r0, 0(r25) /* 8025AC20 00256880 7F 64 DB 78 */ mr r4, r27 /* 8025AC24 00256884 7C 60 A2 14 */ add r3, r0, r20 /* 8025AC28 00256888 48 00 FA 8D */ bl DCFlushRangeNoSync /* 8025AC2C 0025688C 48 00 D6 35 */ bl PPCSync /* 8025AC30 00256890 7F 43 D3 78 */ mr r3, r26 /* 8025AC34 00256894 7F 24 CB 78 */ mr r4, r25 /* 8025AC38 00256898 4B FF FC 49 */ bl func_8025A880 /* 8025AC3C 0025689C 48 00 00 1C */ b lbl_8025AC58 lbl_8025AC40: /* 8025AC40 002568A0 7F 43 D3 78 */ mr r3, r26 /* 8025AC44 002568A4 7F 24 CB 78 */ mr r4, r25 /* 8025AC48 002568A8 48 00 00 99 */ bl func_8025ACE0 /* 8025AC4C 002568AC 9A 5A 00 75 */ stb r18, 0x75(r26) /* 8025AC50 002568B0 80 7A 02 00 */ lwz r3, 0x200(r26) /* 8025AC54 002568B4 4B FC 9A D9 */ bl func_8022472C lbl_8025AC58: /* 8025AC58 002568B8 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 8025AC5C 002568BC 3A C0 00 00 */ li r22, 0 /* 8025AC60 002568C0 88 03 00 82 */ lbz r0, 0x82(r3) /* 8025AC64 002568C4 2C 00 00 00 */ cmpwi r0, 0 /* 8025AC68 002568C8 40 82 00 10 */ bne lbl_8025AC78 /* 8025AC6C 002568CC 88 03 00 83 */ lbz r0, 0x83(r3) /* 8025AC70 002568D0 2C 00 00 00 */ cmpwi r0, 0 /* 8025AC74 002568D4 41 82 00 08 */ beq lbl_8025AC7C lbl_8025AC78: /* 8025AC78 002568D8 3A C0 00 01 */ li r22, 1 lbl_8025AC7C: /* 8025AC7C 002568DC 80 7A 02 00 */ lwz r3, 0x200(r26) /* 8025AC80 002568E0 4B FC 99 BD */ bl func_8022463C /* 8025AC84 002568E4 4B FF FD 5C */ b lbl_8025A9E0 .global func_8025AC88 func_8025AC88: /* 8025AC88 002568E8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8025AC8C 002568EC 7C 08 02 A6 */ mflr r0 /* 8025AC90 002568F0 38 A0 00 01 */ li r5, 1 /* 8025AC94 002568F4 90 01 00 24 */ stw r0, 0x24(r1) /* 8025AC98 002568F8 38 81 00 08 */ addi r4, r1, 8 /* 8025AC9C 002568FC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8025ACA0 00256900 93 C1 00 18 */ stw r30, 0x18(r1) /* 8025ACA4 00256904 7C 7E 1B 78 */ mr r30, r3 /* 8025ACA8 00256908 38 63 02 0C */ addi r3, r3, 0x20c /* 8025ACAC 0025690C 48 01 43 75 */ bl OSReceiveMessage /* 8025ACB0 00256910 83 E1 00 08 */ lwz r31, 8(r1) /* 8025ACB4 00256914 38 80 00 00 */ li r4, 0 /* 8025ACB8 00256918 80 BE 00 0C */ lwz r5, 0xc(r30) /* 8025ACBC 0025691C 80 7F 00 00 */ lwz r3, 0(r31) /* 8025ACC0 00256920 4B DA 94 45 */ bl memset /* 8025ACC4 00256924 7F E3 FB 78 */ mr r3, r31 /* 8025ACC8 00256928 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8025ACCC 0025692C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8025ACD0 00256930 80 01 00 24 */ lwz r0, 0x24(r1) /* 8025ACD4 00256934 7C 08 03 A6 */ mtlr r0 /* 8025ACD8 00256938 38 21 00 20 */ addi r1, r1, 0x20 /* 8025ACDC 0025693C 4E 80 00 20 */ blr .global func_8025ACE0 func_8025ACE0: /* 8025ACE0 00256940 38 A0 00 01 */ li r5, 1 /* 8025ACE4 00256944 38 63 02 0C */ addi r3, r3, 0x20c /* 8025ACE8 00256948 48 01 42 70 */ b OSSendMessage .global func_8025ACEC func_8025ACEC: /* 8025ACEC 0025694C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8025ACF0 00256950 7C 08 02 A6 */ mflr r0 /* 8025ACF4 00256954 38 A0 00 01 */ li r5, 1 /* 8025ACF8 00256958 38 63 02 54 */ addi r3, r3, 0x254 /* 8025ACFC 0025695C 90 01 00 14 */ stw r0, 0x14(r1) /* 8025AD00 00256960 38 81 00 08 */ addi r4, r1, 8 /* 8025AD04 00256964 48 01 43 1D */ bl OSReceiveMessage /* 8025AD08 00256968 80 01 00 14 */ lwz r0, 0x14(r1) /* 8025AD0C 0025696C 80 61 00 08 */ lwz r3, 8(r1) /* 8025AD10 00256970 7C 08 03 A6 */ mtlr r0 /* 8025AD14 00256974 38 21 00 10 */ addi r1, r1, 0x10 /* 8025AD18 00256978 4E 80 00 20 */ blr .global func_8025AD1C func_8025AD1C: /* 8025AD1C 0025697C 38 A0 00 01 */ li r5, 1 /* 8025AD20 00256980 38 63 02 54 */ addi r3, r3, 0x254 /* 8025AD24 00256984 48 01 42 34 */ b OSSendMessage .global func_8025AD28 func_8025AD28: /* 8025AD28 00256988 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8025AD2C 0025698C 7C 08 02 A6 */ mflr r0 /* 8025AD30 00256990 38 A0 00 01 */ li r5, 1 /* 8025AD34 00256994 38 63 02 9C */ addi r3, r3, 0x29c /* 8025AD38 00256998 90 01 00 14 */ stw r0, 0x14(r1) /* 8025AD3C 0025699C 38 81 00 08 */ addi r4, r1, 8 /* 8025AD40 002569A0 48 01 42 E1 */ bl OSReceiveMessage /* 8025AD44 002569A4 80 01 00 14 */ lwz r0, 0x14(r1) /* 8025AD48 002569A8 80 61 00 08 */ lwz r3, 8(r1) /* 8025AD4C 002569AC 7C 08 03 A6 */ mtlr r0 /* 8025AD50 002569B0 38 21 00 10 */ addi r1, r1, 0x10 /* 8025AD54 002569B4 4E 80 00 20 */ blr .global func_8025AD58 func_8025AD58: /* 8025AD58 002569B8 38 A0 00 01 */ li r5, 1 /* 8025AD5C 002569BC 38 63 02 9C */ addi r3, r3, 0x29c /* 8025AD60 002569C0 48 01 41 F8 */ b OSSendMessage .global func_8025AD64 func_8025AD64: /* 8025AD64 002569C4 38 A0 00 01 */ li r5, 1 /* 8025AD68 002569C8 38 6D A6 78 */ addi r3, r13, lbl_8063F938-_SDA_BASE_ /* 8025AD6C 002569CC 38 80 00 04 */ li r4, 4 /* 8025AD70 002569D0 38 00 00 00 */ li r0, 0 /* 8025AD74 002569D4 98 AD A6 78 */ stb r5, lbl_8063F938-_SDA_BASE_(r13) /* 8025AD78 002569D8 B0 83 00 02 */ sth r4, 2(r3) /* 8025AD7C 002569DC 98 03 00 04 */ stb r0, 4(r3) /* 8025AD80 002569E0 4E 80 00 20 */ blr