.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global func_80262B00 func_80262B00: /* 80262B00 0025E760 4B FF 8B E8 */ b lbl_8025B6E8 .global func_80262B04 func_80262B04: /* 80262B04 0025E764 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80262B08 0025E768 7C 08 02 A6 */ mflr r0 /* 80262B0C 0025E76C 3C 60 80 26 */ lis r3, lbl_80262B48@ha /* 80262B10 0025E770 90 01 00 14 */ stw r0, 0x14(r1) /* 80262B14 0025E774 38 63 2B 48 */ addi r3, r3, lbl_80262B48@l /* 80262B18 0025E778 4B FF 8C 09 */ bl func_8025B720 /* 80262B1C 0025E77C 3C 80 80 26 */ lis r4, lbl_80262BDC@ha /* 80262B20 0025E780 38 60 00 04 */ li r3, 4 /* 80262B24 0025E784 38 84 2B DC */ addi r4, r4, lbl_80262BDC@l /* 80262B28 0025E788 4B FF 8B C5 */ bl func_8025B6EC /* 80262B2C 0025E78C 3C 60 80 26 */ lis r3, lbl_80262D68@ha /* 80262B30 0025E790 38 63 2D 68 */ addi r3, r3, lbl_80262D68@l /* 80262B34 0025E794 4B FF 8C BD */ bl func_8025B7F0 /* 80262B38 0025E798 80 01 00 14 */ lwz r0, 0x14(r1) /* 80262B3C 0025E79C 7C 08 03 A6 */ mtlr r0 /* 80262B40 0025E7A0 38 21 00 10 */ addi r1, r1, 0x10 /* 80262B44 0025E7A4 4E 80 00 20 */ blr lbl_80262B48: /* 80262B48 0025E7A8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80262B4C 0025E7AC 7C 08 02 A6 */ mflr r0 /* 80262B50 0025E7B0 90 01 00 14 */ stw r0, 0x14(r1) /* 80262B54 0025E7B4 93 E1 00 0C */ stw r31, 0xc(r1) /* 80262B58 0025E7B8 7C 9F 23 78 */ mr r31, r4 /* 80262B5C 0025E7BC 4B FF B4 75 */ bl func_8025DFD0 /* 80262B60 0025E7C0 4B FF B7 AD */ bl func_8025E30C /* 80262B64 0025E7C4 80 9F 00 00 */ lwz r4, 0(r31) /* 80262B68 0025E7C8 7C 7F 1B 78 */ mr r31, r3 /* 80262B6C 0025E7CC 4B FF C2 5D */ bl func_8025EDC8 /* 80262B70 0025E7D0 A0 7F 0F 00 */ lhz r3, 0xf00(r31) /* 80262B74 0025E7D4 2C 03 00 00 */ cmpwi r3, 0 /* 80262B78 0025E7D8 41 82 00 0C */ beq lbl_80262B84 /* 80262B7C 0025E7DC 38 03 FF FF */ addi r0, r3, -1 /* 80262B80 0025E7E0 B0 1F 0F 00 */ sth r0, 0xf00(r31) lbl_80262B84: /* 80262B84 0025E7E4 80 01 00 14 */ lwz r0, 0x14(r1) /* 80262B88 0025E7E8 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80262B8C 0025E7EC 7C 08 03 A6 */ mtlr r0 /* 80262B90 0025E7F0 38 21 00 10 */ addi r1, r1, 0x10 /* 80262B94 0025E7F4 4E 80 00 20 */ blr .global func_80262B98 func_80262B98: /* 80262B98 0025E7F8 3C 80 80 50 */ lis r4, lbl_80503AF8@ha /* 80262B9C 0025E7FC 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 80262BA0 0025E800 38 84 3A F8 */ addi r4, r4, lbl_80503AF8@l /* 80262BA4 0025E804 38 60 00 00 */ li r3, 0 /* 80262BA8 0025E808 7C 64 01 AE */ stbx r3, r4, r0 /* 80262BAC 0025E80C 4E 80 00 20 */ blr .global func_80262BB0 func_80262BB0: /* 80262BB0 0025E810 3C 80 80 50 */ lis r4, lbl_80503AF8@ha /* 80262BB4 0025E814 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 80262BB8 0025E818 38 84 3A F8 */ addi r4, r4, lbl_80503AF8@l /* 80262BBC 0025E81C 38 60 00 01 */ li r3, 1 /* 80262BC0 0025E820 7C 64 01 AE */ stbx r3, r4, r0 /* 80262BC4 0025E824 4E 80 00 20 */ blr .global func_80262BC8 func_80262BC8: /* 80262BC8 0025E828 3C 80 80 50 */ lis r4, lbl_80503AF8@ha /* 80262BCC 0025E82C 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 80262BD0 0025E830 38 84 3A F8 */ addi r4, r4, lbl_80503AF8@l /* 80262BD4 0025E834 7C 64 00 AE */ lbzx r3, r4, r0 /* 80262BD8 0025E838 4E 80 00 20 */ blr lbl_80262BDC: /* 80262BDC 0025E83C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80262BE0 0025E840 7C 08 02 A6 */ mflr r0 /* 80262BE4 0025E844 90 01 00 24 */ stw r0, 0x24(r1) /* 80262BE8 0025E848 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80262BEC 0025E84C 93 C1 00 18 */ stw r30, 0x18(r1) /* 80262BF0 0025E850 7C 7E 1B 78 */ mr r30, r3 /* 80262BF4 0025E854 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 80262BF8 0025E858 93 A1 00 14 */ stw r29, 0x14(r1) /* 80262BFC 0025E85C 7C 9D 23 78 */ mr r29, r4 /* 80262C00 0025E860 4B FF FF B1 */ bl func_80262BB0 /* 80262C04 0025E864 2C 1E 00 04 */ cmpwi r30, 4 /* 80262C08 0025E868 41 82 00 20 */ beq lbl_80262C28 /* 80262C0C 0025E86C 40 80 00 10 */ bge lbl_80262C1C /* 80262C10 0025E870 2C 1E 00 03 */ cmpwi r30, 3 /* 80262C14 0025E874 40 80 01 00 */ bge lbl_80262D14 /* 80262C18 0025E878 48 00 01 34 */ b lbl_80262D4C lbl_80262C1C: /* 80262C1C 0025E87C 2C 1E 00 06 */ cmpwi r30, 6 /* 80262C20 0025E880 40 80 01 2C */ bge lbl_80262D4C /* 80262C24 0025E884 48 00 00 60 */ b lbl_80262C84 lbl_80262C28: /* 80262C28 0025E888 83 DD 00 10 */ lwz r30, 0x10(r29) /* 80262C2C 0025E88C 38 00 00 01 */ li r0, 1 /* 80262C30 0025E890 7C 1F F0 30 */ slw r31, r0, r30 /* 80262C34 0025E894 4B FF B3 9D */ bl func_8025DFD0 /* 80262C38 0025E898 4B FF B6 D5 */ bl func_8025E30C /* 80262C3C 0025E89C A0 03 0F 08 */ lhz r0, 0xf08(r3) /* 80262C40 0025E8A0 7F E0 00 39 */ and. r0, r31, r0 /* 80262C44 0025E8A4 40 82 01 08 */ bne lbl_80262D4C /* 80262C48 0025E8A8 4B FF B3 89 */ bl func_8025DFD0 /* 80262C4C 0025E8AC 4B FF B6 C1 */ bl func_8025E30C /* 80262C50 0025E8B0 A0 03 0F 08 */ lhz r0, 0xf08(r3) /* 80262C54 0025E8B4 7C 00 FB 78 */ or r0, r0, r31 /* 80262C58 0025E8B8 B0 03 0F 08 */ sth r0, 0xf08(r3) /* 80262C5C 0025E8BC 4B FF B3 75 */ bl func_8025DFD0 /* 80262C60 0025E8C0 4B FF B6 AD */ bl func_8025E30C /* 80262C64 0025E8C4 57 C0 07 3E */ clrlwi r0, r30, 0x1c /* 80262C68 0025E8C8 38 9D 00 18 */ addi r4, r29, 0x18 /* 80262C6C 0025E8CC 1C 00 00 06 */ mulli r0, r0, 6 /* 80262C70 0025E8D0 38 A0 00 06 */ li r5, 6 /* 80262C74 0025E8D4 7C 63 02 14 */ add r3, r3, r0 /* 80262C78 0025E8D8 38 63 0F 0C */ addi r3, r3, 0xf0c /* 80262C7C 0025E8DC 4B DA 13 85 */ bl memcpy /* 80262C80 0025E8E0 48 00 00 CC */ b lbl_80262D4C lbl_80262C84: /* 80262C84 0025E8E4 80 1D 00 10 */ lwz r0, 0x10(r29) /* 80262C88 0025E8E8 38 60 00 01 */ li r3, 1 /* 80262C8C 0025E8EC 7C 7F 00 30 */ slw r31, r3, r0 /* 80262C90 0025E8F0 4B FF B3 41 */ bl func_8025DFD0 /* 80262C94 0025E8F4 4B FF B6 79 */ bl func_8025E30C /* 80262C98 0025E8F8 A0 03 0F 08 */ lhz r0, 0xf08(r3) /* 80262C9C 0025E8FC 7F E0 00 39 */ and. r0, r31, r0 /* 80262CA0 0025E900 41 82 00 AC */ beq lbl_80262D4C /* 80262CA4 0025E904 3C 60 00 01 */ lis r3, 0x0000C003@ha /* 80262CA8 0025E908 80 9D 00 14 */ lwz r4, 0x14(r29) /* 80262CAC 0025E90C 38 03 C0 03 */ addi r0, r3, 0x0000C003@l /* 80262CB0 0025E910 7C 04 00 00 */ cmpw r4, r0 /* 80262CB4 0025E914 40 80 00 18 */ bge lbl_80262CCC /* 80262CB8 0025E918 38 03 80 01 */ addi r0, r3, -32767 /* 80262CBC 0025E91C 7C 04 00 00 */ cmpw r4, r0 /* 80262CC0 0025E920 41 82 00 3C */ beq lbl_80262CFC /* 80262CC4 0025E924 41 80 00 38 */ blt lbl_80262CFC /* 80262CC8 0025E928 48 00 00 34 */ b lbl_80262CFC lbl_80262CCC: /* 80262CCC 0025E92C 38 03 F0 03 */ addi r0, r3, -4093 /* 80262CD0 0025E930 7C 04 00 00 */ cmpw r4, r0 /* 80262CD4 0025E934 40 80 00 28 */ bge lbl_80262CFC /* 80262CD8 0025E938 38 03 F0 01 */ addi r0, r3, -4095 /* 80262CDC 0025E93C 7C 04 00 00 */ cmpw r4, r0 /* 80262CE0 0025E940 40 80 00 08 */ bge lbl_80262CE8 /* 80262CE4 0025E944 48 00 00 18 */ b lbl_80262CFC lbl_80262CE8: /* 80262CE8 0025E948 3B E0 00 00 */ li r31, 0 /* 80262CEC 0025E94C 4B FF B2 E5 */ bl func_8025DFD0 /* 80262CF0 0025E950 4B FF B6 1D */ bl func_8025E30C /* 80262CF4 0025E954 B3 E3 0F 08 */ sth r31, 0xf08(r3) /* 80262CF8 0025E958 48 00 00 54 */ b lbl_80262D4C lbl_80262CFC: /* 80262CFC 0025E95C 4B FF B2 D5 */ bl func_8025DFD0 /* 80262D00 0025E960 4B FF B6 0D */ bl func_8025E30C /* 80262D04 0025E964 A0 03 0F 08 */ lhz r0, 0xf08(r3) /* 80262D08 0025E968 7C 00 F8 78 */ andc r0, r0, r31 /* 80262D0C 0025E96C B0 03 0F 08 */ sth r0, 0xf08(r3) /* 80262D10 0025E970 48 00 00 3C */ b lbl_80262D4C lbl_80262D14: /* 80262D14 0025E974 83 FD 00 18 */ lwz r31, 0x18(r29) /* 80262D18 0025E978 83 DD 00 10 */ lwz r30, 0x10(r29) /* 80262D1C 0025E97C 2C 1F 00 00 */ cmpwi r31, 0 /* 80262D20 0025E980 83 BD 00 14 */ lwz r29, 0x14(r29) /* 80262D24 0025E984 41 82 00 28 */ beq lbl_80262D4C /* 80262D28 0025E988 28 1F 00 50 */ cmplwi r31, 0x50 /* 80262D2C 0025E98C 41 81 00 20 */ bgt lbl_80262D4C /* 80262D30 0025E990 4B FF B2 A1 */ bl func_8025DFD0 /* 80262D34 0025E994 4B FF B5 D9 */ bl func_8025E30C /* 80262D38 0025E998 7F A4 EB 78 */ mr r4, r29 /* 80262D3C 0025E99C 57 E5 04 3E */ clrlwi r5, r31, 0x10 /* 80262D40 0025E9A0 57 C6 06 3E */ clrlwi r6, r30, 0x18 /* 80262D44 0025E9A4 38 E0 00 00 */ li r7, 0 /* 80262D48 0025E9A8 4B FF BF 21 */ bl func_8025EC68 lbl_80262D4C: /* 80262D4C 0025E9AC 80 01 00 24 */ lwz r0, 0x24(r1) /* 80262D50 0025E9B0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80262D54 0025E9B4 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80262D58 0025E9B8 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80262D5C 0025E9BC 7C 08 03 A6 */ mtlr r0 /* 80262D60 0025E9C0 38 21 00 20 */ addi r1, r1, 0x20 /* 80262D64 0025E9C4 4E 80 00 20 */ blr lbl_80262D68: /* 80262D68 0025E9C8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80262D6C 0025E9CC 7C 08 02 A6 */ mflr r0 /* 80262D70 0025E9D0 90 01 00 14 */ stw r0, 0x14(r1) /* 80262D74 0025E9D4 93 E1 00 0C */ stw r31, 0xc(r1) /* 80262D78 0025E9D8 93 C1 00 08 */ stw r30, 8(r1) /* 80262D7C 0025E9DC 4B FF B2 55 */ bl func_8025DFD0 /* 80262D80 0025E9E0 4B FF B5 8D */ bl func_8025E30C /* 80262D84 0025E9E4 80 03 10 0C */ lwz r0, 0x100c(r3) /* 80262D88 0025E9E8 2C 00 00 01 */ cmpwi r0, 1 /* 80262D8C 0025E9EC 40 81 00 CC */ ble lbl_80262E58 /* 80262D90 0025E9F0 4B FF B2 41 */ bl func_8025DFD0 /* 80262D94 0025E9F4 4B FF B5 79 */ bl func_8025E30C /* 80262D98 0025E9F8 80 83 10 08 */ lwz r4, 0x1008(r3) /* 80262D9C 0025E9FC 38 04 00 01 */ addi r0, r4, 1 /* 80262DA0 0025EA00 90 03 10 08 */ stw r0, 0x1008(r3) /* 80262DA4 0025EA04 4B FF B2 2D */ bl func_8025DFD0 /* 80262DA8 0025EA08 4B FF B5 65 */ bl func_8025E30C /* 80262DAC 0025EA0C 83 E3 10 0C */ lwz r31, 0x100c(r3) /* 80262DB0 0025EA10 4B FF B2 21 */ bl func_8025DFD0 /* 80262DB4 0025EA14 4B FF B5 59 */ bl func_8025E30C /* 80262DB8 0025EA18 80 03 10 08 */ lwz r0, 0x1008(r3) /* 80262DBC 0025EA1C 7C 00 F8 00 */ cmpw r0, r31 /* 80262DC0 0025EA20 41 80 00 14 */ blt lbl_80262DD4 /* 80262DC4 0025EA24 3B E0 00 00 */ li r31, 0 /* 80262DC8 0025EA28 4B FF B2 09 */ bl func_8025DFD0 /* 80262DCC 0025EA2C 4B FF B5 41 */ bl func_8025E30C /* 80262DD0 0025EA30 93 E3 10 08 */ stw r31, 0x1008(r3) lbl_80262DD4: /* 80262DD4 0025EA34 3F E0 00 01 */ lis r31, 0x00008000@ha /* 80262DD8 0025EA38 38 7F 80 00 */ addi r3, r31, 0x00008000@l /* 80262DDC 0025EA3C 4B FF B6 99 */ bl func_8025E474 /* 80262DE0 0025EA40 3C A0 80 00 */ lis r5, 0x800000F8@ha /* 80262DE4 0025EA44 3C 80 10 62 */ lis r4, 0x10624DD3@ha /* 80262DE8 0025EA48 80 A5 00 F8 */ lwz r5, 0x800000F8@l(r5) /* 80262DEC 0025EA4C 38 C4 4D D3 */ addi r6, r4, 0x10624DD3@l /* 80262DF0 0025EA50 38 00 00 0A */ li r0, 0xa /* 80262DF4 0025EA54 38 80 00 00 */ li r4, 0 /* 80262DF8 0025EA58 54 A5 F0 BE */ srwi r5, r5, 2 /* 80262DFC 0025EA5C 7C 7E 1B 78 */ mr r30, r3 /* 80262E00 0025EA60 7C A6 28 16 */ mulhwu r5, r6, r5 /* 80262E04 0025EA64 7C 64 01 D6 */ mullw r3, r4, r0 /* 80262E08 0025EA68 54 A4 D1 BE */ srwi r4, r5, 6 /* 80262E0C 0025EA6C 7C 04 00 16 */ mulhwu r0, r4, r0 /* 80262E10 0025EA70 1C 84 00 0A */ mulli r4, r4, 0xa /* 80262E14 0025EA74 7C 60 1A 14 */ add r3, r0, r3 /* 80262E18 0025EA78 48 00 F8 ED */ bl OSSleepTicks /* 80262E1C 0025EA7C 7F C3 F3 78 */ mr r3, r30 /* 80262E20 0025EA80 38 9F 80 00 */ addi r4, r31, -32768 /* 80262E24 0025EA84 48 00 78 E9 */ bl DCZeroRange /* 80262E28 0025EA88 7F C3 F3 78 */ mr r3, r30 /* 80262E2C 0025EA8C 4B FF B6 A5 */ bl func_8025E4D0 /* 80262E30 0025EA90 4B FF B1 A1 */ bl func_8025DFD0 /* 80262E34 0025EA94 4B FF B4 D9 */ bl func_8025E30C /* 80262E38 0025EA98 80 03 10 08 */ lwz r0, 0x1008(r3) /* 80262E3C 0025EA9C 1F E0 00 70 */ mulli r31, r0, 0x70 /* 80262E40 0025EAA0 4B FF B1 91 */ bl func_8025DFD0 /* 80262E44 0025EAA4 4B FF B4 C9 */ bl func_8025E30C /* 80262E48 0025EAA8 80 03 10 10 */ lwz r0, 0x1010(r3) /* 80262E4C 0025EAAC 38 80 00 70 */ li r4, 0x70 /* 80262E50 0025EAB0 7C 60 FA 14 */ add r3, r0, r31 /* 80262E54 0025EAB4 4B FF 89 E5 */ bl func_8025B838 lbl_80262E58: /* 80262E58 0025EAB8 80 01 00 14 */ lwz r0, 0x14(r1) /* 80262E5C 0025EABC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80262E60 0025EAC0 83 C1 00 08 */ lwz r30, 8(r1) /* 80262E64 0025EAC4 7C 08 03 A6 */ mtlr r0 /* 80262E68 0025EAC8 38 21 00 10 */ addi r1, r1, 0x10 /* 80262E6C 0025EACC 4E 80 00 20 */ blr .global func_80262E70 func_80262E70: /* 80262E70 0025EAD0 38 A0 00 01 */ li r5, 1 /* 80262E74 0025EAD4 38 6D A7 38 */ addi r3, r13, lbl_8063F9F8-_SDA_BASE_ /* 80262E78 0025EAD8 38 80 00 04 */ li r4, 4 /* 80262E7C 0025EADC 38 00 00 00 */ li r0, 0 /* 80262E80 0025EAE0 98 AD A7 38 */ stb r5, lbl_8063F9F8-_SDA_BASE_(r13) /* 80262E84 0025EAE4 B0 83 00 02 */ sth r4, 2(r3) /* 80262E88 0025EAE8 98 03 00 04 */ stb r0, 4(r3) /* 80262E8C 0025EAEC 4E 80 00 20 */ blr