.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 lbl_80245C60: /* 80245C60 002418C0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80245C64 002418C4 7C 08 02 A6 */ mflr r0 /* 80245C68 002418C8 90 01 00 14 */ stw r0, 0x14(r1) /* 80245C6C 002418CC 93 E1 00 0C */ stw r31, 0xc(r1) /* 80245C70 002418D0 7C 7F 1B 78 */ mr r31, r3 /* 80245C74 002418D4 7C 83 23 78 */ mr r3, r4 /* 80245C78 002418D8 48 00 16 FD */ bl func_80247374 /* 80245C7C 002418DC 2C 03 00 00 */ cmpwi r3, 0 /* 80245C80 002418E0 41 82 00 20 */ beq lbl_80245CA0 /* 80245C84 002418E4 2C 1F 00 00 */ cmpwi r31, 0 /* 80245C88 002418E8 40 80 00 10 */ bge lbl_80245C98 /* 80245C8C 002418EC 38 80 FC 1E */ li r4, -994 /* 80245C90 002418F0 48 00 1B A5 */ bl func_80247834 /* 80245C94 002418F4 48 00 00 0C */ b lbl_80245CA0 lbl_80245C98: /* 80245C98 002418F8 38 80 00 0B */ li r4, 0xb /* 80245C9C 002418FC 48 00 1B 99 */ bl func_80247834 lbl_80245CA0: /* 80245CA0 00241900 80 01 00 14 */ lwz r0, 0x14(r1) /* 80245CA4 00241904 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80245CA8 00241908 7C 08 03 A6 */ mtlr r0 /* 80245CAC 0024190C 38 21 00 10 */ addi r1, r1, 0x10 /* 80245CB0 00241910 4E 80 00 20 */ blr .global func_80245CB4 func_80245CB4: /* 80245CB4 00241914 80 0D A5 D4 */ lwz r0, lbl_8063F894-_SDA_BASE_(r13) /* 80245CB8 00241918 80 8D A5 D0 */ lwz r4, lbl_8063F890-_SDA_BASE_(r13) /* 80245CBC 0024191C 7C 09 03 A6 */ mtctr r0 /* 80245CC0 00241920 28 00 00 00 */ cmplwi r0, 0 /* 80245CC4 00241924 40 81 00 20 */ ble lbl_80245CE4 lbl_80245CC8: /* 80245CC8 00241928 80 04 00 04 */ lwz r0, 4(r4) /* 80245CCC 0024192C 7C 00 18 40 */ cmplw r0, r3 /* 80245CD0 00241930 40 82 00 0C */ bne lbl_80245CDC /* 80245CD4 00241934 7C 83 23 78 */ mr r3, r4 /* 80245CD8 00241938 4E 80 00 20 */ blr lbl_80245CDC: /* 80245CDC 0024193C 38 84 00 10 */ addi r4, r4, 0x10 /* 80245CE0 00241940 42 00 FF E8 */ bdnz lbl_80245CC8 lbl_80245CE4: /* 80245CE4 00241944 38 60 00 00 */ li r3, 0 /* 80245CE8 00241948 4E 80 00 20 */ blr .global func_80245CEC func_80245CEC: /* 80245CEC 0024194C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80245CF0 00241950 7C 08 02 A6 */ mflr r0 /* 80245CF4 00241954 90 01 00 24 */ stw r0, 0x24(r1) /* 80245CF8 00241958 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80245CFC 0024195C 93 C1 00 18 */ stw r30, 0x18(r1) /* 80245D00 00241960 93 A1 00 14 */ stw r29, 0x14(r1) /* 80245D04 00241964 7C 9D 23 78 */ mr r29, r4 /* 80245D08 00241968 93 81 00 10 */ stw r28, 0x10(r1) /* 80245D0C 0024196C 7C 7C 1B 78 */ mr r28, r3 /* 80245D10 00241970 48 02 8A 4D */ bl OSDisableInterrupts /* 80245D14 00241974 7C 7F 1B 78 */ mr r31, r3 /* 80245D18 00241978 48 00 19 E5 */ bl func_802476FC /* 80245D1C 0024197C 2C 03 00 00 */ cmpwi r3, 0 /* 80245D20 00241980 7C 7E 1B 78 */ mr r30, r3 /* 80245D24 00241984 40 82 00 20 */ bne lbl_80245D44 /* 80245D28 00241988 7F A3 EB 78 */ mr r3, r29 /* 80245D2C 0024198C 38 80 00 04 */ li r4, 4 /* 80245D30 00241990 48 00 1B 45 */ bl func_80247874 /* 80245D34 00241994 7F E3 FB 78 */ mr r3, r31 /* 80245D38 00241998 48 02 8A 4D */ bl OSRestoreInterrupts /* 80245D3C 0024199C 38 60 00 00 */ li r3, 0 /* 80245D40 002419A0 48 00 00 4C */ b lbl_80245D8C lbl_80245D44: /* 80245D44 002419A4 7F A3 EB 78 */ mr r3, r29 /* 80245D48 002419A8 38 80 00 01 */ li r4, 1 /* 80245D4C 002419AC 48 00 1B 29 */ bl func_80247874 /* 80245D50 002419B0 93 BE 00 10 */ stw r29, 0x10(r30) /* 80245D54 002419B4 93 9E 00 0C */ stw r28, 0xc(r30) /* 80245D58 002419B8 80 1D 00 0C */ lwz r0, 0xc(r29) /* 80245D5C 002419BC 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 /* 80245D60 002419C0 41 82 00 10 */ beq lbl_80245D70 /* 80245D64 002419C4 38 00 00 01 */ li r0, 1 /* 80245D68 002419C8 98 1E 00 0A */ stb r0, 0xa(r30) /* 80245D6C 002419CC 48 00 00 0C */ b lbl_80245D78 lbl_80245D70: /* 80245D70 002419D0 38 00 00 00 */ li r0, 0 /* 80245D74 002419D4 98 1E 00 0A */ stb r0, 0xa(r30) lbl_80245D78: /* 80245D78 002419D8 7F C3 F3 78 */ mr r3, r30 /* 80245D7C 002419DC 48 00 1A 69 */ bl func_802477E4 /* 80245D80 002419E0 7F E3 FB 78 */ mr r3, r31 /* 80245D84 002419E4 48 02 8A 01 */ bl OSRestoreInterrupts /* 80245D88 002419E8 38 60 00 01 */ li r3, 1 lbl_80245D8C: /* 80245D8C 002419EC 80 01 00 24 */ lwz r0, 0x24(r1) /* 80245D90 002419F0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80245D94 002419F4 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80245D98 002419F8 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80245D9C 002419FC 83 81 00 10 */ lwz r28, 0x10(r1) /* 80245DA0 00241A00 7C 08 03 A6 */ mtlr r0 /* 80245DA4 00241A04 38 21 00 20 */ addi r1, r1, 0x20 /* 80245DA8 00241A08 4E 80 00 20 */ blr .global func_80245DAC func_80245DAC: /* 80245DAC 00241A0C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80245DB0 00241A10 7C 08 02 A6 */ mflr r0 /* 80245DB4 00241A14 90 01 00 14 */ stw r0, 0x14(r1) /* 80245DB8 00241A18 93 E1 00 0C */ stw r31, 0xc(r1) /* 80245DBC 00241A1C 7C 7F 1B 78 */ mr r31, r3 /* 80245DC0 00241A20 48 00 00 F1 */ bl func_80245EB0 /* 80245DC4 00241A24 80 9F 00 28 */ lwz r4, 0x28(r31) /* 80245DC8 00241A28 80 03 00 0C */ lwz r0, 0xc(r3) /* 80245DCC 00241A2C 7C 04 00 40 */ cmplw r4, r0 /* 80245DD0 00241A30 41 80 00 0C */ blt lbl_80245DDC /* 80245DD4 00241A34 38 60 00 00 */ li r3, 0 /* 80245DD8 00241A38 48 00 00 34 */ b lbl_80245E0C lbl_80245DDC: /* 80245DDC 00241A3C 7F E3 FB 78 */ mr r3, r31 /* 80245DE0 00241A40 48 00 01 01 */ bl func_80245EE0 /* 80245DE4 00241A44 2C 03 00 00 */ cmpwi r3, 0 /* 80245DE8 00241A48 7C 64 1B 78 */ mr r4, r3 /* 80245DEC 00241A4C 40 82 00 0C */ bne lbl_80245DF8 /* 80245DF0 00241A50 38 60 00 00 */ li r3, 0 /* 80245DF4 00241A54 48 00 00 18 */ b lbl_80245E0C lbl_80245DF8: /* 80245DF8 00241A58 80 BF 00 28 */ lwz r5, 0x28(r31) /* 80245DFC 00241A5C 7F E3 FB 78 */ mr r3, r31 /* 80245E00 00241A60 38 05 00 01 */ addi r0, r5, 1 /* 80245E04 00241A64 90 1F 00 28 */ stw r0, 0x28(r31) /* 80245E08 00241A68 4B FF FE E5 */ bl func_80245CEC lbl_80245E0C: /* 80245E0C 00241A6C 80 01 00 14 */ lwz r0, 0x14(r1) /* 80245E10 00241A70 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80245E14 00241A74 7C 08 03 A6 */ mtlr r0 /* 80245E18 00241A78 38 21 00 10 */ addi r1, r1, 0x10 /* 80245E1C 00241A7C 4E 80 00 20 */ blr .global func_80245E20 func_80245E20: /* 80245E20 00241A80 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80245E24 00241A84 7C 08 02 A6 */ mflr r0 /* 80245E28 00241A88 90 01 00 24 */ stw r0, 0x24(r1) /* 80245E2C 00241A8C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80245E30 00241A90 93 C1 00 18 */ stw r30, 0x18(r1) /* 80245E34 00241A94 93 A1 00 14 */ stw r29, 0x14(r1) /* 80245E38 00241A98 7C 7D 1B 78 */ mr r29, r3 /* 80245E3C 00241A9C 48 00 00 75 */ bl func_80245EB0 /* 80245E40 00241AA0 7C 7F 1B 78 */ mr r31, r3 /* 80245E44 00241AA4 3B C0 00 00 */ li r30, 0 /* 80245E48 00241AA8 48 00 00 1C */ b lbl_80245E64 lbl_80245E4C: /* 80245E4C 00241AAC 80 7D 00 00 */ lwz r3, 0(r29) /* 80245E50 00241AB0 57 C4 04 3E */ clrlwi r4, r30, 0x10 /* 80245E54 00241AB4 4B FF FB B9 */ bl func_80245A0C /* 80245E58 00241AB8 2C 03 00 00 */ cmpwi r3, 0 /* 80245E5C 00241ABC 41 82 00 18 */ beq lbl_80245E74 /* 80245E60 00241AC0 3B DE 00 01 */ addi r30, r30, 1 lbl_80245E64: /* 80245E64 00241AC4 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80245E68 00241AC8 57 C3 04 3E */ clrlwi r3, r30, 0x10 /* 80245E6C 00241ACC 7C 03 00 40 */ cmplw r3, r0 /* 80245E70 00241AD0 41 80 FF DC */ blt lbl_80245E4C lbl_80245E74: /* 80245E74 00241AD4 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80245E78 00241AD8 57 C3 04 3E */ clrlwi r3, r30, 0x10 /* 80245E7C 00241ADC 7C 03 00 40 */ cmplw r3, r0 /* 80245E80 00241AE0 41 80 00 0C */ blt lbl_80245E8C /* 80245E84 00241AE4 38 60 00 00 */ li r3, 0 /* 80245E88 00241AE8 48 00 00 0C */ b lbl_80245E94 lbl_80245E8C: /* 80245E8C 00241AEC 90 7D 00 24 */ stw r3, 0x24(r29) /* 80245E90 00241AF0 38 60 00 01 */ li r3, 1 lbl_80245E94: /* 80245E94 00241AF4 80 01 00 24 */ lwz r0, 0x24(r1) /* 80245E98 00241AF8 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80245E9C 00241AFC 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80245EA0 00241B00 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80245EA4 00241B04 7C 08 03 A6 */ mtlr r0 /* 80245EA8 00241B08 38 21 00 20 */ addi r1, r1, 0x20 /* 80245EAC 00241B0C 4E 80 00 20 */ blr .global func_80245EB0 func_80245EB0: /* 80245EB0 00241B10 80 83 00 20 */ lwz r4, 0x20(r3) /* 80245EB4 00241B14 2C 04 00 00 */ cmpwi r4, 0 /* 80245EB8 00241B18 40 82 00 0C */ bne lbl_80245EC4 /* 80245EBC 00241B1C 38 60 00 00 */ li r3, 0 /* 80245EC0 00241B20 4E 80 00 20 */ blr lbl_80245EC4: /* 80245EC4 00241B24 88 03 00 2E */ lbz r0, 0x2e(r3) /* 80245EC8 00241B28 2C 00 00 00 */ cmpwi r0, 0 /* 80245ECC 00241B2C 40 82 00 0C */ bne lbl_80245ED8 /* 80245ED0 00241B30 38 60 00 00 */ li r3, 0 /* 80245ED4 00241B34 4E 80 00 20 */ blr lbl_80245ED8: /* 80245ED8 00241B38 7C 83 23 78 */ mr r3, r4 /* 80245EDC 00241B3C 4E 80 00 20 */ blr .global func_80245EE0 func_80245EE0: /* 80245EE0 00241B40 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80245EE4 00241B44 7C 08 02 A6 */ mflr r0 /* 80245EE8 00241B48 90 01 00 14 */ stw r0, 0x14(r1) /* 80245EEC 00241B4C 93 E1 00 0C */ stw r31, 0xc(r1) /* 80245EF0 00241B50 7C 9F 23 78 */ mr r31, r4 /* 80245EF4 00241B54 4B FF FF BD */ bl func_80245EB0 /* 80245EF8 00241B58 2C 03 00 00 */ cmpwi r3, 0 /* 80245EFC 00241B5C 40 82 00 0C */ bne lbl_80245F08 /* 80245F00 00241B60 38 60 00 00 */ li r3, 0 /* 80245F04 00241B64 48 00 00 2C */ b lbl_80245F30 lbl_80245F08: /* 80245F08 00241B68 80 03 00 0C */ lwz r0, 0xc(r3) /* 80245F0C 00241B6C 7C 1F 00 40 */ cmplw r31, r0 /* 80245F10 00241B70 41 80 00 0C */ blt lbl_80245F1C /* 80245F14 00241B74 38 60 00 00 */ li r3, 0 /* 80245F18 00241B78 48 00 00 18 */ b lbl_80245F30 lbl_80245F1C: /* 80245F1C 00241B7C 80 03 00 40 */ lwz r0, 0x40(r3) /* 80245F20 00241B80 57 E4 10 3A */ slwi r4, r31, 2 /* 80245F24 00241B84 7C 03 02 14 */ add r0, r3, r0 /* 80245F28 00241B88 7C 04 00 2E */ lwzx r0, r4, r0 /* 80245F2C 00241B8C 7C 63 02 14 */ add r3, r3, r0 lbl_80245F30: /* 80245F30 00241B90 80 01 00 14 */ lwz r0, 0x14(r1) /* 80245F34 00241B94 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80245F38 00241B98 7C 08 03 A6 */ mtlr r0 /* 80245F3C 00241B9C 38 21 00 10 */ addi r1, r1, 0x10 /* 80245F40 00241BA0 4E 80 00 20 */ blr .global func_80245F44 func_80245F44: /* 80245F44 00241BA4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80245F48 00241BA8 7C 08 02 A6 */ mflr r0 /* 80245F4C 00241BAC 90 01 00 24 */ stw r0, 0x24(r1) /* 80245F50 00241BB0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80245F54 00241BB4 93 C1 00 18 */ stw r30, 0x18(r1) /* 80245F58 00241BB8 7C 9E 23 78 */ mr r30, r4 /* 80245F5C 00241BBC 93 A1 00 14 */ stw r29, 0x14(r1) /* 80245F60 00241BC0 7C 7D 1B 78 */ mr r29, r3 /* 80245F64 00241BC4 80 A4 00 28 */ lwz r5, 0x28(r4) /* 80245F68 00241BC8 80 0D A5 18 */ lwz r0, lbl_8063F7D8-_SDA_BASE_(r13) /* 80245F6C 00241BCC 7C 05 02 14 */ add r0, r5, r0 /* 80245F70 00241BD0 90 04 00 28 */ stw r0, 0x28(r4) /* 80245F74 00241BD4 80 03 00 10 */ lwz r0, 0x10(r3) /* 80245F78 00241BD8 2C 00 00 04 */ cmpwi r0, 4 /* 80245F7C 00241BDC 40 82 01 1C */ bne lbl_80246098 /* 80245F80 00241BE0 80 04 00 0C */ lwz r0, 0xc(r4) /* 80245F84 00241BE4 54 00 03 5B */ rlwinm. r0, r0, 0, 0xd, 0xd /* 80245F88 00241BE8 40 82 01 10 */ bne lbl_80246098 /* 80245F8C 00241BEC 48 00 0D 41 */ bl func_80246CCC /* 80245F90 00241BF0 80 9E 00 44 */ lwz r4, 0x44(r30) /* 80245F94 00241BF4 7C 7F 1B 78 */ mr r31, r3 /* 80245F98 00241BF8 80 0D A5 18 */ lwz r0, lbl_8063F7D8-_SDA_BASE_(r13) /* 80245F9C 00241BFC 80 7E 00 48 */ lwz r3, 0x48(r30) /* 80245FA0 00241C00 7C 04 02 14 */ add r0, r4, r0 /* 80245FA4 00241C04 90 1E 00 44 */ stw r0, 0x44(r30) /* 80245FA8 00241C08 48 00 10 5D */ bl func_80247004 /* 80245FAC 00241C0C 80 1E 00 4C */ lwz r0, 0x4c(r30) /* 80245FB0 00241C10 80 9E 00 48 */ lwz r4, 0x48(r30) /* 80245FB4 00241C14 7C 00 1B 78 */ or r0, r0, r3 /* 80245FB8 00241C18 90 1E 00 4C */ stw r0, 0x4c(r30) /* 80245FBC 00241C1C 80 0D A5 18 */ lwz r0, lbl_8063F7D8-_SDA_BASE_(r13) /* 80245FC0 00241C20 7C 04 02 14 */ add r0, r4, r0 /* 80245FC4 00241C24 7C 00 F8 40 */ cmplw r0, r31 /* 80245FC8 00241C28 90 1E 00 48 */ stw r0, 0x48(r30) /* 80245FCC 00241C2C 41 80 00 0C */ blt lbl_80245FD8 /* 80245FD0 00241C30 38 00 00 00 */ li r0, 0 /* 80245FD4 00241C34 90 1E 00 48 */ stw r0, 0x48(r30) lbl_80245FD8: /* 80245FD8 00241C38 88 1D 00 2C */ lbz r0, 0x2c(r29) /* 80245FDC 00241C3C 2C 00 00 00 */ cmpwi r0, 0 /* 80245FE0 00241C40 41 82 00 14 */ beq lbl_80245FF4 /* 80245FE4 00241C44 7F A3 EB 78 */ mr r3, r29 /* 80245FE8 00241C48 38 80 00 0A */ li r4, 0xa /* 80245FEC 00241C4C 48 00 3B 6D */ bl func_80249B58 /* 80245FF0 00241C50 48 00 01 B0 */ b lbl_802461A0 lbl_80245FF4: /* 80245FF4 00241C54 80 9E 00 28 */ lwz r4, 0x28(r30) /* 80245FF8 00241C58 80 1E 00 54 */ lwz r0, 0x54(r30) /* 80245FFC 00241C5C 7C 04 00 40 */ cmplw r4, r0 /* 80246000 00241C60 41 80 00 50 */ blt lbl_80246050 /* 80246004 00241C64 80 7E 00 0C */ lwz r3, 0xc(r30) /* 80246008 00241C68 54 60 05 29 */ rlwinm. r0, r3, 0, 0x14, 0x14 /* 8024600C 00241C6C 41 82 00 14 */ beq lbl_80246020 /* 80246010 00241C70 7F C3 F3 78 */ mr r3, r30 /* 80246014 00241C74 38 80 00 02 */ li r4, 2 /* 80246018 00241C78 48 00 18 5D */ bl func_80247874 /* 8024601C 00241C7C 48 00 01 84 */ b lbl_802461A0 lbl_80246020: /* 80246020 00241C80 7C 04 F8 40 */ cmplw r4, r31 /* 80246024 00241C84 40 80 00 24 */ bge lbl_80246048 /* 80246028 00241C88 64 60 00 80 */ oris r0, r3, 0x80 /* 8024602C 00241C8C 7F C3 F3 78 */ mr r3, r30 /* 80246030 00241C90 90 1E 00 0C */ stw r0, 0xc(r30) /* 80246034 00241C94 38 80 00 02 */ li r4, 2 /* 80246038 00241C98 48 00 18 3D */ bl func_80247874 /* 8024603C 00241C9C 38 00 FF FF */ li r0, -1 /* 80246040 00241CA0 90 1E 00 4C */ stw r0, 0x4c(r30) /* 80246044 00241CA4 48 00 01 5C */ b lbl_802461A0 lbl_80246048: /* 80246048 00241CA8 80 1E 00 50 */ lwz r0, 0x50(r30) /* 8024604C 00241CAC 90 1E 00 28 */ stw r0, 0x28(r30) lbl_80246050: /* 80246050 00241CB0 80 1E 00 44 */ lwz r0, 0x44(r30) /* 80246054 00241CB4 7C 00 F8 40 */ cmplw r0, r31 /* 80246058 00241CB8 41 80 00 14 */ blt lbl_8024606C /* 8024605C 00241CBC 7F C3 F3 78 */ mr r3, r30 /* 80246060 00241CC0 38 80 00 05 */ li r4, 5 /* 80246064 00241CC4 48 00 18 11 */ bl func_80247874 /* 80246068 00241CC8 48 00 01 38 */ b lbl_802461A0 lbl_8024606C: /* 8024606C 00241CCC 38 60 00 02 */ li r3, 2 /* 80246070 00241CD0 48 00 19 C5 */ bl func_80247A34 /* 80246074 00241CD4 7C 7F 1B 78 */ mr r31, r3 /* 80246078 00241CD8 38 60 00 01 */ li r3, 1 /* 8024607C 00241CDC 48 00 19 B9 */ bl func_80247A34 /* 80246080 00241CE0 7C 03 FA 15 */ add. r0, r3, r31 /* 80246084 00241CE4 41 82 01 10 */ beq lbl_80246194 /* 80246088 00241CE8 7F C3 F3 78 */ mr r3, r30 /* 8024608C 00241CEC 38 80 00 05 */ li r4, 5 /* 80246090 00241CF0 48 00 17 E5 */ bl func_80247874 /* 80246094 00241CF4 48 00 01 0C */ b lbl_802461A0 lbl_80246098: /* 80246098 00241CF8 80 64 00 28 */ lwz r3, 0x28(r4) /* 8024609C 00241CFC 80 04 00 14 */ lwz r0, 0x14(r4) /* 802460A0 00241D00 7C 03 00 40 */ cmplw r3, r0 /* 802460A4 00241D04 41 80 00 F0 */ blt lbl_80246194 /* 802460A8 00241D08 80 64 00 38 */ lwz r3, 0x38(r4) /* 802460AC 00241D0C 2C 03 00 00 */ cmpwi r3, 0 /* 802460B0 00241D10 41 82 00 10 */ beq lbl_802460C0 /* 802460B4 00241D14 38 00 00 00 */ li r0, 0 /* 802460B8 00241D18 90 04 00 38 */ stw r0, 0x38(r4) /* 802460BC 00241D1C 4B F9 66 09 */ bl func_801DC6C4 lbl_802460C0: /* 802460C0 00241D20 80 1D 00 10 */ lwz r0, 0x10(r29) /* 802460C4 00241D24 2C 00 00 04 */ cmpwi r0, 4 /* 802460C8 00241D28 40 82 00 20 */ bne lbl_802460E8 /* 802460CC 00241D2C 80 9D 00 34 */ lwz r4, 0x34(r29) /* 802460D0 00241D30 2C 04 00 00 */ cmpwi r4, 0 /* 802460D4 00241D34 41 82 00 14 */ beq lbl_802460E8 /* 802460D8 00241D38 7F A3 EB 78 */ mr r3, r29 /* 802460DC 00241D3C 48 00 1B 81 */ bl func_80247C5C /* 802460E0 00241D40 90 7D 00 24 */ stw r3, 0x24(r29) /* 802460E4 00241D44 48 00 00 7C */ b lbl_80246160 lbl_802460E8: /* 802460E8 00241D48 80 9D 00 08 */ lwz r4, 8(r29) /* 802460EC 00241D4C 7F A3 EB 78 */ mr r3, r29 /* 802460F0 00241D50 48 00 1B 6D */ bl func_80247C5C /* 802460F4 00241D54 28 03 FF FF */ cmplwi r3, 0xffff /* 802460F8 00241D58 41 82 00 5C */ beq lbl_80246154 /* 802460FC 00241D5C 80 7D 00 44 */ lwz r3, 0x44(r29) /* 80246100 00241D60 2C 03 00 00 */ cmpwi r3, 0 /* 80246104 00241D64 41 82 00 38 */ beq lbl_8024613C /* 80246108 00241D68 80 83 00 00 */ lwz r4, 0(r3) /* 8024610C 00241D6C 2C 04 00 00 */ cmpwi r4, 0 /* 80246110 00241D70 41 82 00 2C */ beq lbl_8024613C /* 80246114 00241D74 38 03 00 04 */ addi r0, r3, 4 /* 80246118 00241D78 90 9D 00 08 */ stw r4, 8(r29) /* 8024611C 00241D7C 7F A3 EB 78 */ mr r3, r29 /* 80246120 00241D80 90 1D 00 44 */ stw r0, 0x44(r29) /* 80246124 00241D84 48 00 3A 31 */ bl func_80249B54 /* 80246128 00241D88 90 7D 00 24 */ stw r3, 0x24(r29) /* 8024612C 00241D8C 90 7D 00 28 */ stw r3, 0x28(r29) /* 80246130 00241D90 7F A3 EB 78 */ mr r3, r29 /* 80246134 00241D94 48 00 04 89 */ bl func_802465BC /* 80246138 00241D98 48 00 00 68 */ b lbl_802461A0 lbl_8024613C: /* 8024613C 00241D9C 38 00 00 00 */ li r0, 0 /* 80246140 00241DA0 7F A3 EB 78 */ mr r3, r29 /* 80246144 00241DA4 90 1D 00 44 */ stw r0, 0x44(r29) /* 80246148 00241DA8 38 80 00 0A */ li r4, 0xa /* 8024614C 00241DAC 48 00 3A 0D */ bl func_80249B58 /* 80246150 00241DB0 48 00 00 50 */ b lbl_802461A0 lbl_80246154: /* 80246154 00241DB4 80 7D 00 24 */ lwz r3, 0x24(r29) /* 80246158 00241DB8 38 03 00 01 */ addi r0, r3, 1 /* 8024615C 00241DBC 90 1D 00 24 */ stw r0, 0x24(r29) lbl_80246160: /* 80246160 00241DC0 7F A3 EB 78 */ mr r3, r29 /* 80246164 00241DC4 4B FF FD 4D */ bl func_80245EB0 /* 80246168 00241DC8 80 9D 00 24 */ lwz r4, 0x24(r29) /* 8024616C 00241DCC 80 03 00 0C */ lwz r0, 0xc(r3) /* 80246170 00241DD0 7C 04 00 40 */ cmplw r4, r0 /* 80246174 00241DD4 41 80 00 14 */ blt lbl_80246188 /* 80246178 00241DD8 7F A3 EB 78 */ mr r3, r29 /* 8024617C 00241DDC 38 80 00 0A */ li r4, 0xa /* 80246180 00241DE0 48 00 39 D9 */ bl func_80249B58 /* 80246184 00241DE4 48 00 00 1C */ b lbl_802461A0 lbl_80246188: /* 80246188 00241DE8 7F A3 EB 78 */ mr r3, r29 /* 8024618C 00241DEC 48 00 04 31 */ bl func_802465BC /* 80246190 00241DF0 48 00 00 10 */ b lbl_802461A0 lbl_80246194: /* 80246194 00241DF4 7F A3 EB 78 */ mr r3, r29 /* 80246198 00241DF8 7F C4 F3 78 */ mr r4, r30 /* 8024619C 00241DFC 48 00 02 4D */ bl func_802463E8 lbl_802461A0: /* 802461A0 00241E00 80 01 00 24 */ lwz r0, 0x24(r1) /* 802461A4 00241E04 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802461A8 00241E08 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802461AC 00241E0C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802461B0 00241E10 7C 08 03 A6 */ mtlr r0 /* 802461B4 00241E14 38 21 00 20 */ addi r1, r1, 0x20 /* 802461B8 00241E18 4E 80 00 20 */ blr .global func_802461BC func_802461BC: /* 802461BC 00241E1C 88 03 00 2C */ lbz r0, 0x2c(r3) /* 802461C0 00241E20 2C 00 00 00 */ cmpwi r0, 0 /* 802461C4 00241E24 40 82 00 30 */ bne lbl_802461F4 /* 802461C8 00241E28 80 03 00 10 */ lwz r0, 0x10(r3) /* 802461CC 00241E2C 2C 00 00 01 */ cmpwi r0, 1 /* 802461D0 00241E30 41 82 00 18 */ beq lbl_802461E8 /* 802461D4 00241E34 2C 00 00 04 */ cmpwi r0, 4 /* 802461D8 00241E38 40 82 00 1C */ bne lbl_802461F4 /* 802461DC 00241E3C 80 04 00 0C */ lwz r0, 0xc(r4) /* 802461E0 00241E40 54 00 03 5B */ rlwinm. r0, r0, 0, 0xd, 0xd /* 802461E4 00241E44 41 82 00 10 */ beq lbl_802461F4 lbl_802461E8: /* 802461E8 00241E48 38 64 00 30 */ addi r3, r4, 0x30 /* 802461EC 00241E4C 38 84 00 34 */ addi r4, r4, 0x34 /* 802461F0 00241E50 4B FF F0 18 */ b lbl_80245208 lbl_802461F4: /* 802461F4 00241E54 38 64 00 30 */ addi r3, r4, 0x30 /* 802461F8 00241E58 38 80 00 00 */ li r4, 0 /* 802461FC 00241E5C 4B FF EE 74 */ b func_80245070 lbl_80246200: /* 80246200 00241E60 2C 03 00 00 */ cmpwi r3, 0 /* 80246204 00241E64 7C 64 1B 78 */ mr r4, r3 /* 80246208 00241E68 4D 82 00 20 */ beqlr /* 8024620C 00241E6C 80 63 00 10 */ lwz r3, 0x10(r3) /* 80246210 00241E70 80 84 00 14 */ lwz r4, 0x14(r4) /* 80246214 00241E74 4B FF FF A8 */ b func_802461BC /* 80246218 00241E78 4E 80 00 20 */ blr .global func_8024621C func_8024621C: /* 8024621C 00241E7C 80 0D A5 18 */ lwz r0, lbl_8063F7D8-_SDA_BASE_(r13) /* 80246220 00241E80 7C 64 18 50 */ subf r3, r4, r3 /* 80246224 00241E84 7C 03 00 40 */ cmplw r3, r0 /* 80246228 00241E88 40 81 00 08 */ ble lbl_80246230 /* 8024622C 00241E8C 7C 03 03 78 */ mr r3, r0 lbl_80246230: /* 80246230 00241E90 38 03 00 1F */ addi r0, r3, 0x1f /* 80246234 00241E94 54 03 00 34 */ rlwinm r3, r0, 0, 0, 0x1a /* 80246238 00241E98 4E 80 00 20 */ blr lbl_8024623C: /* 8024623C 00241E9C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80246240 00241EA0 7C 08 02 A6 */ mflr r0 /* 80246244 00241EA4 90 01 00 24 */ stw r0, 0x24(r1) /* 80246248 00241EA8 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8024624C 00241EAC 93 C1 00 18 */ stw r30, 0x18(r1) /* 80246250 00241EB0 93 A1 00 14 */ stw r29, 0x14(r1) /* 80246254 00241EB4 7C 7D 1B 78 */ mr r29, r3 /* 80246258 00241EB8 7C 83 23 78 */ mr r3, r4 /* 8024625C 00241EBC 48 00 11 19 */ bl func_80247374 /* 80246260 00241EC0 2C 03 00 00 */ cmpwi r3, 0 /* 80246264 00241EC4 7C 7E 1B 78 */ mr r30, r3 /* 80246268 00241EC8 41 82 01 10 */ beq lbl_80246378 /* 8024626C 00241ECC 2C 1D 00 00 */ cmpwi r29, 0 /* 80246270 00241ED0 40 80 00 10 */ bge lbl_80246280 /* 80246274 00241ED4 38 80 FC 1C */ li r4, -996 /* 80246278 00241ED8 48 00 15 BD */ bl func_80247834 /* 8024627C 00241EDC 48 00 00 FC */ b lbl_80246378 lbl_80246280: /* 80246280 00241EE0 80 83 00 24 */ lwz r4, 0x24(r3) /* 80246284 00241EE4 4B FF FC 5D */ bl func_80245EE0 /* 80246288 00241EE8 2C 03 00 00 */ cmpwi r3, 0 /* 8024628C 00241EEC 7C 7D 1B 78 */ mr r29, r3 /* 80246290 00241EF0 41 82 00 E8 */ beq lbl_80246378 /* 80246294 00241EF4 80 83 00 0C */ lwz r4, 0xc(r3) /* 80246298 00241EF8 54 80 03 DF */ rlwinm. r0, r4, 0, 0xf, 0xf /* 8024629C 00241EFC 40 82 00 68 */ bne lbl_80246304 /* 802462A0 00241F00 80 1E 00 10 */ lwz r0, 0x10(r30) /* 802462A4 00241F04 2C 00 00 04 */ cmpwi r0, 4 /* 802462A8 00241F08 40 82 00 38 */ bne lbl_802462E0 /* 802462AC 00241F0C 54 80 03 5B */ rlwinm. r0, r4, 0, 0xd, 0xd /* 802462B0 00241F10 41 82 00 10 */ beq lbl_802462C0 /* 802462B4 00241F14 38 00 00 00 */ li r0, 0 /* 802462B8 00241F18 90 03 00 2C */ stw r0, 0x2c(r3) /* 802462BC 00241F1C 48 00 00 3C */ b lbl_802462F8 lbl_802462C0: /* 802462C0 00241F20 48 00 0A 0D */ bl func_80246CCC /* 802462C4 00241F24 80 9E 00 24 */ lwz r4, 0x24(r30) /* 802462C8 00241F28 7C 65 1B 78 */ mr r5, r3 /* 802462CC 00241F2C 80 DE 00 3C */ lwz r6, 0x3c(r30) /* 802462D0 00241F30 7F C3 F3 78 */ mr r3, r30 /* 802462D4 00241F34 4B FF EB 11 */ bl func_80244DE4 /* 802462D8 00241F38 90 7D 00 2C */ stw r3, 0x2c(r29) /* 802462DC 00241F3C 48 00 00 1C */ b lbl_802462F8 lbl_802462E0: /* 802462E0 00241F40 80 9E 00 24 */ lwz r4, 0x24(r30) /* 802462E4 00241F44 7F C3 F3 78 */ mr r3, r30 /* 802462E8 00241F48 80 BD 00 14 */ lwz r5, 0x14(r29) /* 802462EC 00241F4C 80 DE 00 3C */ lwz r6, 0x3c(r30) /* 802462F0 00241F50 4B FF EA F5 */ bl func_80244DE4 /* 802462F4 00241F54 90 7D 00 2C */ stw r3, 0x2c(r29) lbl_802462F8: /* 802462F8 00241F58 80 1D 00 0C */ lwz r0, 0xc(r29) /* 802462FC 00241F5C 64 00 00 01 */ oris r0, r0, 1 /* 80246300 00241F60 90 1D 00 0C */ stw r0, 0xc(r29) lbl_80246304: /* 80246304 00241F64 80 1D 00 2C */ lwz r0, 0x2c(r29) /* 80246308 00241F68 2C 00 00 00 */ cmpwi r0, 0 /* 8024630C 00241F6C 41 82 00 54 */ beq lbl_80246360 /* 80246310 00241F70 80 1E 00 10 */ lwz r0, 0x10(r30) /* 80246314 00241F74 2C 00 00 04 */ cmpwi r0, 4 /* 80246318 00241F78 40 82 00 0C */ bne lbl_80246324 /* 8024631C 00241F7C 83 FD 00 48 */ lwz r31, 0x48(r29) /* 80246320 00241F80 48 00 00 08 */ b lbl_80246328 lbl_80246324: /* 80246324 00241F84 83 FD 00 28 */ lwz r31, 0x28(r29) lbl_80246328: /* 80246328 00241F88 80 7D 00 14 */ lwz r3, 0x14(r29) /* 8024632C 00241F8C 80 9D 00 28 */ lwz r4, 0x28(r29) /* 80246330 00241F90 4B FF FE ED */ bl func_8024621C /* 80246334 00241F94 80 9D 00 30 */ lwz r4, 0x30(r29) /* 80246338 00241F98 3D 20 80 24 */ lis r9, lbl_80246200@ha /* 8024633C 00241F9C 7C 67 1B 78 */ mr r7, r3 /* 80246340 00241FA0 80 DD 00 2C */ lwz r6, 0x2c(r29) /* 80246344 00241FA4 80 A4 00 08 */ lwz r5, 8(r4) /* 80246348 00241FA8 7F C3 F3 78 */ mr r3, r30 /* 8024634C 00241FAC 7F A4 EB 78 */ mr r4, r29 /* 80246350 00241FB0 7F E8 FB 78 */ mr r8, r31 /* 80246354 00241FB4 39 29 62 00 */ addi r9, r9, lbl_80246200@l /* 80246358 00241FB8 4B FF F8 4D */ bl func_80245BA4 /* 8024635C 00241FBC 48 00 00 10 */ b lbl_8024636C lbl_80246360: /* 80246360 00241FC0 7F C3 F3 78 */ mr r3, r30 /* 80246364 00241FC4 7F A4 EB 78 */ mr r4, r29 /* 80246368 00241FC8 4B FF FE 55 */ bl func_802461BC lbl_8024636C: /* 8024636C 00241FCC 7F C3 F3 78 */ mr r3, r30 /* 80246370 00241FD0 7F A4 EB 78 */ mr r4, r29 /* 80246374 00241FD4 4B FF FB D1 */ bl func_80245F44 lbl_80246378: /* 80246378 00241FD8 80 01 00 24 */ lwz r0, 0x24(r1) /* 8024637C 00241FDC 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80246380 00241FE0 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80246384 00241FE4 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80246388 00241FE8 7C 08 03 A6 */ mtlr r0 /* 8024638C 00241FEC 38 21 00 20 */ addi r1, r1, 0x20 /* 80246390 00241FF0 4E 80 00 20 */ blr lbl_80246394: /* 80246394 00241FF4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80246398 00241FF8 7C 08 02 A6 */ mflr r0 /* 8024639C 00241FFC 2C 03 00 00 */ cmpwi r3, 0 /* 802463A0 00242000 90 01 00 14 */ stw r0, 0x14(r1) /* 802463A4 00242004 93 E1 00 0C */ stw r31, 0xc(r1) /* 802463A8 00242008 93 C1 00 08 */ stw r30, 8(r1) /* 802463AC 0024200C 41 82 00 24 */ beq lbl_802463D0 /* 802463B0 00242010 83 C3 00 14 */ lwz r30, 0x14(r3) /* 802463B4 00242014 83 E3 00 10 */ lwz r31, 0x10(r3) /* 802463B8 00242018 7F C4 F3 78 */ mr r4, r30 /* 802463BC 0024201C 7F E3 FB 78 */ mr r3, r31 /* 802463C0 00242020 4B FF FD FD */ bl func_802461BC /* 802463C4 00242024 7F E3 FB 78 */ mr r3, r31 /* 802463C8 00242028 7F C4 F3 78 */ mr r4, r30 /* 802463CC 0024202C 4B FF FB 79 */ bl func_80245F44 lbl_802463D0: /* 802463D0 00242030 80 01 00 14 */ lwz r0, 0x14(r1) /* 802463D4 00242034 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802463D8 00242038 83 C1 00 08 */ lwz r30, 8(r1) /* 802463DC 0024203C 7C 08 03 A6 */ mtlr r0 /* 802463E0 00242040 38 21 00 10 */ addi r1, r1, 0x10 /* 802463E4 00242044 4E 80 00 20 */ blr .global func_802463E8 func_802463E8: /* 802463E8 00242048 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802463EC 0024204C 7C 08 02 A6 */ mflr r0 /* 802463F0 00242050 90 01 00 34 */ stw r0, 0x34(r1) /* 802463F4 00242054 39 61 00 30 */ addi r11, r1, 0x30 /* 802463F8 00242058 4B F8 0D 31 */ bl _savegpr_27 /* 802463FC 0024205C 7C 7D 1B 78 */ mr r29, r3 /* 80246400 00242060 7C 9E 23 78 */ mr r30, r4 /* 80246404 00242064 48 02 83 59 */ bl OSDisableInterrupts /* 80246408 00242068 80 1D 00 10 */ lwz r0, 0x10(r29) /* 8024640C 0024206C 7C 7F 1B 78 */ mr r31, r3 /* 80246410 00242070 2C 00 00 04 */ cmpwi r0, 4 /* 80246414 00242074 40 82 00 E4 */ bne lbl_802464F8 /* 80246418 00242078 80 1E 00 0C */ lwz r0, 0xc(r30) /* 8024641C 0024207C 54 00 03 19 */ rlwinm. r0, r0, 0, 0xc, 0xc /* 80246420 00242080 40 82 00 D8 */ bne lbl_802464F8 /* 80246424 00242084 80 7E 00 20 */ lwz r3, 0x20(r30) /* 80246428 00242088 4B FF F8 8D */ bl func_80245CB4 /* 8024642C 0024208C A0 83 00 02 */ lhz r4, 2(r3) /* 80246430 00242090 7C 7C 1B 78 */ mr r28, r3 /* 80246434 00242094 54 80 07 FF */ clrlwi. r0, r4, 0x1f /* 80246438 00242098 41 82 00 0C */ beq lbl_80246444 /* 8024643C 0024209C 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e /* 80246440 002420A0 41 82 00 B8 */ beq lbl_802464F8 lbl_80246444: /* 80246444 002420A4 80 9D 00 08 */ lwz r4, 8(r29) /* 80246448 002420A8 7F A3 EB 78 */ mr r3, r29 /* 8024644C 002420AC 48 00 18 11 */ bl func_80247C5C /* 80246450 002420B0 28 03 FF FF */ cmplwi r3, 0xffff /* 80246454 002420B4 41 82 00 20 */ beq lbl_80246474 /* 80246458 002420B8 80 9D 00 08 */ lwz r4, 8(r29) /* 8024645C 002420BC 7F A3 EB 78 */ mr r3, r29 /* 80246460 002420C0 48 00 17 FD */ bl func_80247C5C /* 80246464 002420C4 7C 64 1B 78 */ mr r4, r3 /* 80246468 002420C8 7F A3 EB 78 */ mr r3, r29 /* 8024646C 002420CC 4B FF FA 75 */ bl func_80245EE0 /* 80246470 002420D0 48 00 00 10 */ b lbl_80246480 lbl_80246474: /* 80246474 002420D4 7F A3 EB 78 */ mr r3, r29 /* 80246478 002420D8 38 80 00 00 */ li r4, 0 /* 8024647C 002420DC 4B FF FA 65 */ bl func_80245EE0 lbl_80246480: /* 80246480 002420E0 2C 03 00 00 */ cmpwi r3, 0 /* 80246484 002420E4 40 82 00 20 */ bne lbl_802464A4 /* 80246488 002420E8 7F C3 F3 78 */ mr r3, r30 /* 8024648C 002420EC 38 80 00 03 */ li r4, 3 /* 80246490 002420F0 48 00 13 E5 */ bl func_80247874 /* 80246494 002420F4 7F E3 FB 78 */ mr r3, r31 /* 80246498 002420F8 48 02 82 ED */ bl OSRestoreInterrupts /* 8024649C 002420FC 38 60 00 00 */ li r3, 0 /* 802464A0 00242100 48 00 01 04 */ b lbl_802465A4 lbl_802464A4: /* 802464A4 00242104 80 03 00 0C */ lwz r0, 0xc(r3) /* 802464A8 00242108 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c /* 802464AC 0024210C 40 82 00 20 */ bne lbl_802464CC /* 802464B0 00242110 7F C3 F3 78 */ mr r3, r30 /* 802464B4 00242114 38 80 00 03 */ li r4, 3 /* 802464B8 00242118 48 00 13 BD */ bl func_80247874 /* 802464BC 0024211C 7F E3 FB 78 */ mr r3, r31 /* 802464C0 00242120 48 02 82 C5 */ bl OSRestoreInterrupts /* 802464C4 00242124 38 60 00 00 */ li r3, 0 /* 802464C8 00242128 48 00 00 DC */ b lbl_802465A4 lbl_802464CC: /* 802464CC 0024212C 81 9C 00 08 */ lwz r12, 8(r28) /* 802464D0 00242130 2C 0C 00 00 */ cmpwi r12, 0 /* 802464D4 00242134 41 82 00 18 */ beq lbl_802464EC /* 802464D8 00242138 80 7D 00 00 */ lwz r3, 0(r29) /* 802464DC 0024213C 80 9E 00 00 */ lwz r4, 0(r30) /* 802464E0 00242140 80 BE 00 14 */ lwz r5, 0x14(r30) /* 802464E4 00242144 7D 89 03 A6 */ mtctr r12 /* 802464E8 00242148 4E 80 04 21 */ bctrl lbl_802464EC: /* 802464EC 0024214C 80 1E 00 0C */ lwz r0, 0xc(r30) /* 802464F0 00242150 64 00 00 08 */ oris r0, r0, 8 /* 802464F4 00242154 90 1E 00 0C */ stw r0, 0xc(r30) lbl_802464F8: /* 802464F8 00242158 4B FF EA D1 */ bl func_80244FC8 /* 802464FC 0024215C 2C 03 00 00 */ cmpwi r3, 0 /* 80246500 00242160 7C 7C 1B 78 */ mr r28, r3 /* 80246504 00242164 40 82 00 20 */ bne lbl_80246524 /* 80246508 00242168 7F C3 F3 78 */ mr r3, r30 /* 8024650C 0024216C 38 80 00 03 */ li r4, 3 /* 80246510 00242170 48 00 13 65 */ bl func_80247874 /* 80246514 00242174 7F E3 FB 78 */ mr r3, r31 /* 80246518 00242178 48 02 82 6D */ bl OSRestoreInterrupts /* 8024651C 0024217C 38 60 00 00 */ li r3, 0 /* 80246520 00242180 48 00 00 84 */ b lbl_802465A4 lbl_80246524: /* 80246524 00242184 7F C3 F3 78 */ mr r3, r30 /* 80246528 00242188 38 80 00 01 */ li r4, 1 /* 8024652C 0024218C 48 00 13 49 */ bl func_80247874 /* 80246530 00242190 80 1E 00 28 */ lwz r0, 0x28(r30) /* 80246534 00242194 7F 84 E3 78 */ mr r4, r28 /* 80246538 00242198 38 7E 00 30 */ addi r3, r30, 0x30 /* 8024653C 0024219C 90 1C 00 0C */ stw r0, 0xc(r28) /* 80246540 002421A0 4B FF EC 49 */ bl func_80245188 /* 80246544 002421A4 80 1E 00 0C */ lwz r0, 0xc(r30) /* 80246548 002421A8 83 9E 00 28 */ lwz r28, 0x28(r30) /* 8024654C 002421AC 80 7E 00 14 */ lwz r3, 0x14(r30) /* 80246550 002421B0 54 1B 7F FE */ rlwinm r27, r0, 0xf, 0x1f, 0x1f /* 80246554 002421B4 7F 84 E3 78 */ mr r4, r28 /* 80246558 002421B8 4B FF FC C5 */ bl func_8024621C /* 8024655C 002421BC 3C 80 80 24 */ lis r4, lbl_80246394@ha /* 80246560 002421C0 3D 40 80 24 */ lis r10, lbl_8024623C@ha /* 80246564 002421C4 38 84 63 94 */ addi r4, r4, lbl_80246394@l /* 80246568 002421C8 7C 68 1B 78 */ mr r8, r3 /* 8024656C 002421CC 90 81 00 08 */ stw r4, 8(r1) /* 80246570 002421D0 7F A3 EB 78 */ mr r3, r29 /* 80246574 002421D4 7F C4 F3 78 */ mr r4, r30 /* 80246578 002421D8 7F 65 DB 78 */ mr r5, r27 /* 8024657C 002421DC 80 FE 00 30 */ lwz r7, 0x30(r30) /* 80246580 002421E0 7F 89 E3 78 */ mr r9, r28 /* 80246584 002421E4 80 DD 00 24 */ lwz r6, 0x24(r29) /* 80246588 002421E8 39 4A 62 3C */ addi r10, r10, lbl_8024623C@l /* 8024658C 002421EC 80 E7 00 08 */ lwz r7, 8(r7) /* 80246590 002421F0 48 00 04 3D */ bl func_802469CC /* 80246594 002421F4 7C 7B 1B 78 */ mr r27, r3 /* 80246598 002421F8 7F E3 FB 78 */ mr r3, r31 /* 8024659C 002421FC 48 02 81 E9 */ bl OSRestoreInterrupts /* 802465A0 00242200 7F 63 DB 78 */ mr r3, r27 lbl_802465A4: /* 802465A4 00242204 39 61 00 30 */ addi r11, r1, 0x30 /* 802465A8 00242208 4B F8 0B CD */ bl _restgpr_27 /* 802465AC 0024220C 80 01 00 34 */ lwz r0, 0x34(r1) /* 802465B0 00242210 7C 08 03 A6 */ mtlr r0 /* 802465B4 00242214 38 21 00 30 */ addi r1, r1, 0x30 /* 802465B8 00242218 4E 80 00 20 */ blr .global func_802465BC func_802465BC: /* 802465BC 0024221C 94 21 FF 60 */ stwu r1, -0xa0(r1) /* 802465C0 00242220 7C 08 02 A6 */ mflr r0 /* 802465C4 00242224 90 01 00 A4 */ stw r0, 0xa4(r1) /* 802465C8 00242228 93 E1 00 9C */ stw r31, 0x9c(r1) /* 802465CC 0024222C 93 C1 00 98 */ stw r30, 0x98(r1) /* 802465D0 00242230 93 A1 00 94 */ stw r29, 0x94(r1) /* 802465D4 00242234 7C 7D 1B 78 */ mr r29, r3 /* 802465D8 00242238 88 03 00 2C */ lbz r0, 0x2c(r3) /* 802465DC 0024223C 28 00 00 01 */ cmplwi r0, 1 /* 802465E0 00242240 40 82 00 14 */ bne lbl_802465F4 /* 802465E4 00242244 38 80 00 0A */ li r4, 0xa /* 802465E8 00242248 48 00 12 4D */ bl func_80247834 /* 802465EC 0024224C 38 60 00 00 */ li r3, 0 /* 802465F0 00242250 48 00 01 98 */ b lbl_80246788 lbl_802465F4: /* 802465F4 00242254 80 83 00 24 */ lwz r4, 0x24(r3) /* 802465F8 00242258 4B FF F8 E9 */ bl func_80245EE0 /* 802465FC 0024225C 2C 03 00 00 */ cmpwi r3, 0 /* 80246600 00242260 7C 7F 1B 78 */ mr r31, r3 /* 80246604 00242264 40 82 00 0C */ bne lbl_80246610 /* 80246608 00242268 38 60 00 00 */ li r3, 0 /* 8024660C 0024226C 48 00 01 7C */ b lbl_80246788 lbl_80246610: /* 80246610 00242270 81 1D 00 20 */ lwz r8, 0x20(r29) /* 80246614 00242274 3C A0 00 01 */ lis r5, 0x0000FFFF@ha /* 80246618 00242278 80 E3 00 1C */ lwz r7, 0x1c(r3) /* 8024661C 0024227C 38 C0 00 00 */ li r6, 0 /* 80246620 00242280 3C 80 FF 71 */ lis r4, 0xFF70FFF7@ha /* 80246624 00242284 38 A5 FF FF */ addi r5, r5, 0x0000FFFF@l /* 80246628 00242288 90 C3 00 28 */ stw r6, 0x28(r3) /* 8024662C 0024228C 38 04 FF F7 */ addi r0, r4, 0xFF70FFF7@l /* 80246630 00242290 7F C8 3A 14 */ add r30, r8, r7 /* 80246634 00242294 90 C3 00 2C */ stw r6, 0x2c(r3) /* 80246638 00242298 90 C3 00 30 */ stw r6, 0x30(r3) /* 8024663C 0024229C 90 C3 00 34 */ stw r6, 0x34(r3) /* 80246640 002422A0 90 C3 00 38 */ stw r6, 0x38(r3) /* 80246644 002422A4 90 C3 00 3C */ stw r6, 0x3c(r3) /* 80246648 002422A8 90 A3 00 40 */ stw r5, 0x40(r3) /* 8024664C 002422AC 80 83 00 0C */ lwz r4, 0xc(r3) /* 80246650 002422B0 7C 80 00 38 */ and r0, r4, r0 /* 80246654 002422B4 60 00 08 00 */ ori r0, r0, 0x800 /* 80246658 002422B8 90 03 00 0C */ stw r0, 0xc(r3) /* 8024665C 002422BC 90 C3 00 44 */ stw r6, 0x44(r3) /* 80246660 002422C0 90 C3 00 4C */ stw r6, 0x4c(r3) /* 80246664 002422C4 90 C3 00 48 */ stw r6, 0x48(r3) /* 80246668 002422C8 90 C3 00 50 */ stw r6, 0x50(r3) /* 8024666C 002422CC 80 03 00 14 */ lwz r0, 0x14(r3) /* 80246670 002422D0 90 03 00 54 */ stw r0, 0x54(r3) /* 80246674 002422D4 80 1D 00 10 */ lwz r0, 0x10(r29) /* 80246678 002422D8 2C 00 00 04 */ cmpwi r0, 4 /* 8024667C 002422DC 40 82 00 2C */ bne lbl_802466A8 /* 80246680 002422E0 80 63 00 20 */ lwz r3, 0x20(r3) /* 80246684 002422E4 4B FF F6 31 */ bl func_80245CB4 /* 80246688 002422E8 A0 63 00 02 */ lhz r3, 2(r3) /* 8024668C 002422EC 54 60 07 FF */ clrlwi. r0, r3, 0x1f /* 80246690 002422F0 41 82 00 18 */ beq lbl_802466A8 /* 80246694 002422F4 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e /* 80246698 002422F8 40 82 00 10 */ bne lbl_802466A8 /* 8024669C 002422FC 80 1F 00 0C */ lwz r0, 0xc(r31) /* 802466A0 00242300 64 00 00 04 */ oris r0, r0, 4 /* 802466A4 00242304 90 1F 00 0C */ stw r0, 0xc(r31) lbl_802466A8: /* 802466A8 00242308 7F A3 EB 78 */ mr r3, r29 /* 802466AC 0024230C 4B FF F8 05 */ bl func_80245EB0 /* 802466B0 00242310 80 03 00 10 */ lwz r0, 0x10(r3) /* 802466B4 00242314 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 802466B8 00242318 41 82 00 50 */ beq lbl_80246708 /* 802466BC 0024231C 3C 80 80 42 */ lis r4, lbl_80424958@ha /* 802466C0 00242320 7F C5 F3 78 */ mr r5, r30 /* 802466C4 00242324 38 61 00 08 */ addi r3, r1, 8 /* 802466C8 00242328 38 84 49 58 */ addi r4, r4, lbl_80424958@l /* 802466CC 0024232C 4C C6 31 82 */ crclr 6 /* 802466D0 00242330 4B F8 64 2D */ bl sprintf /* 802466D4 00242334 38 61 00 08 */ addi r3, r1, 8 /* 802466D8 00242338 4B F9 5C A9 */ bl func_801DC380 /* 802466DC 0024233C 28 03 00 01 */ cmplwi r3, 1 /* 802466E0 00242340 40 82 00 28 */ bne lbl_80246708 /* 802466E4 00242344 38 61 00 08 */ addi r3, r1, 8 /* 802466E8 00242348 4B F9 5B E9 */ bl func_801DC2D0 /* 802466EC 0024234C 90 7F 00 38 */ stw r3, 0x38(r31) /* 802466F0 00242350 80 1F 00 0C */ lwz r0, 0xc(r31) /* 802466F4 00242354 54 00 00 7E */ clrlwi r0, r0, 1 /* 802466F8 00242358 90 1F 00 0C */ stw r0, 0xc(r31) /* 802466FC 0024235C 4B F9 60 65 */ bl func_801DC760 /* 80246700 00242360 90 7F 00 14 */ stw r3, 0x14(r31) /* 80246704 00242364 90 7F 00 08 */ stw r3, 8(r31) lbl_80246708: /* 80246708 00242368 80 1D 00 10 */ lwz r0, 0x10(r29) /* 8024670C 0024236C 2C 00 00 04 */ cmpwi r0, 4 /* 80246710 00242370 41 82 00 34 */ beq lbl_80246744 /* 80246714 00242374 80 7D 00 00 */ lwz r3, 0(r29) /* 80246718 00242378 80 9D 00 24 */ lwz r4, 0x24(r29) /* 8024671C 0024237C 4B FF F2 F1 */ bl func_80245A0C /* 80246720 00242380 28 03 00 01 */ cmplwi r3, 1 /* 80246724 00242384 40 82 00 20 */ bne lbl_80246744 /* 80246728 00242388 80 1F 00 0C */ lwz r0, 0xc(r31) /* 8024672C 0024238C 38 A0 00 01 */ li r5, 1 /* 80246730 00242390 64 00 00 02 */ oris r0, r0, 2 /* 80246734 00242394 90 1F 00 0C */ stw r0, 0xc(r31) /* 80246738 00242398 80 7D 00 00 */ lwz r3, 0(r29) /* 8024673C 0024239C 80 9D 00 24 */ lwz r4, 0x24(r29) /* 80246740 002423A0 4B FF EF 4D */ bl func_8024568C lbl_80246744: /* 80246744 002423A4 80 1D 00 10 */ lwz r0, 0x10(r29) /* 80246748 002423A8 2C 00 00 01 */ cmpwi r0, 1 /* 8024674C 002423AC 41 82 00 18 */ beq lbl_80246764 /* 80246750 002423B0 2C 00 00 04 */ cmpwi r0, 4 /* 80246754 002423B4 40 82 00 28 */ bne lbl_8024677C /* 80246758 002423B8 80 1F 00 0C */ lwz r0, 0xc(r31) /* 8024675C 002423BC 54 00 03 5B */ rlwinm. r0, r0, 0, 0xd, 0xd /* 80246760 002423C0 41 82 00 1C */ beq lbl_8024677C lbl_80246764: /* 80246764 002423C4 7F A3 EB 78 */ mr r3, r29 /* 80246768 002423C8 4B FF F6 45 */ bl func_80245DAC /* 8024676C 002423CC 2C 03 00 00 */ cmpwi r3, 0 /* 80246770 002423D0 40 82 00 0C */ bne lbl_8024677C /* 80246774 002423D4 38 60 00 00 */ li r3, 0 /* 80246778 002423D8 48 00 00 10 */ b lbl_80246788 lbl_8024677C: /* 8024677C 002423DC 7F A3 EB 78 */ mr r3, r29 /* 80246780 002423E0 7F E4 FB 78 */ mr r4, r31 /* 80246784 002423E4 4B FF FC 65 */ bl func_802463E8 lbl_80246788: /* 80246788 002423E8 80 01 00 A4 */ lwz r0, 0xa4(r1) /* 8024678C 002423EC 83 E1 00 9C */ lwz r31, 0x9c(r1) /* 80246790 002423F0 83 C1 00 98 */ lwz r30, 0x98(r1) /* 80246794 002423F4 83 A1 00 94 */ lwz r29, 0x94(r1) /* 80246798 002423F8 7C 08 03 A6 */ mtlr r0 /* 8024679C 002423FC 38 21 00 A0 */ addi r1, r1, 0xa0 /* 802467A0 00242400 4E 80 00 20 */ blr .global func_802467A4 func_802467A4: /* 802467A4 00242404 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802467A8 00242408 7C 08 02 A6 */ mflr r0 /* 802467AC 0024240C 90 01 00 14 */ stw r0, 0x14(r1) /* 802467B0 00242410 93 E1 00 0C */ stw r31, 0xc(r1) /* 802467B4 00242414 93 C1 00 08 */ stw r30, 8(r1) /* 802467B8 00242418 7C 7E 1B 78 */ mr r30, r3 /* 802467BC 0024241C 48 02 7F A1 */ bl OSDisableInterrupts /* 802467C0 00242420 80 1E 00 10 */ lwz r0, 0x10(r30) /* 802467C4 00242424 38 80 00 01 */ li r4, 1 /* 802467C8 00242428 98 9E 00 2E */ stb r4, 0x2e(r30) /* 802467CC 0024242C 7C 7F 1B 78 */ mr r31, r3 /* 802467D0 00242430 2C 00 00 03 */ cmpwi r0, 3 /* 802467D4 00242434 41 82 01 20 */ beq lbl_802468F4 /* 802467D8 00242438 40 80 00 14 */ bge lbl_802467EC /* 802467DC 0024243C 2C 00 00 01 */ cmpwi r0, 1 /* 802467E0 00242440 41 82 00 14 */ beq lbl_802467F4 /* 802467E4 00242444 40 80 00 84 */ bge lbl_80246868 /* 802467E8 00242448 48 00 01 0C */ b lbl_802468F4 lbl_802467EC: /* 802467EC 0024244C 2C 00 00 05 */ cmpwi r0, 5 /* 802467F0 00242450 40 80 01 04 */ bge lbl_802468F4 lbl_802467F4: /* 802467F4 00242454 80 9E 00 08 */ lwz r4, 8(r30) /* 802467F8 00242458 7F C3 F3 78 */ mr r3, r30 /* 802467FC 0024245C 48 00 14 61 */ bl func_80247C5C /* 80246800 00242460 28 03 FF FF */ cmplwi r3, 0xffff /* 80246804 00242464 41 82 00 58 */ beq lbl_8024685C /* 80246808 00242468 80 9E 00 44 */ lwz r4, 0x44(r30) /* 8024680C 0024246C 2C 04 00 00 */ cmpwi r4, 0 /* 80246810 00242470 41 82 00 38 */ beq lbl_80246848 /* 80246814 00242474 80 64 00 00 */ lwz r3, 0(r4) /* 80246818 00242478 2C 03 00 00 */ cmpwi r3, 0 /* 8024681C 0024247C 41 82 00 14 */ beq lbl_80246830 /* 80246820 00242480 38 04 00 04 */ addi r0, r4, 4 /* 80246824 00242484 90 7E 00 08 */ stw r3, 8(r30) /* 80246828 00242488 90 1E 00 44 */ stw r0, 0x44(r30) /* 8024682C 0024248C 48 00 00 1C */ b lbl_80246848 lbl_80246830: /* 80246830 00242490 38 00 00 00 */ li r0, 0 /* 80246834 00242494 7F C3 F3 78 */ mr r3, r30 /* 80246838 00242498 90 1E 00 44 */ stw r0, 0x44(r30) /* 8024683C 0024249C 38 80 00 0A */ li r4, 0xa /* 80246840 002424A0 48 00 0F F5 */ bl func_80247834 /* 80246844 002424A4 48 00 00 B0 */ b lbl_802468F4 lbl_80246848: /* 80246848 002424A8 80 9E 00 08 */ lwz r4, 8(r30) /* 8024684C 002424AC 7F C3 F3 78 */ mr r3, r30 /* 80246850 002424B0 48 00 33 05 */ bl func_80249B54 /* 80246854 002424B4 90 7E 00 24 */ stw r3, 0x24(r30) /* 80246858 002424B8 90 7E 00 28 */ stw r3, 0x28(r30) lbl_8024685C: /* 8024685C 002424BC 7F C3 F3 78 */ mr r3, r30 /* 80246860 002424C0 4B FF FD 5D */ bl func_802465BC /* 80246864 002424C4 48 00 00 90 */ b lbl_802468F4 lbl_80246868: /* 80246868 002424C8 80 9E 00 08 */ lwz r4, 8(r30) /* 8024686C 002424CC 7F C3 F3 78 */ mr r3, r30 /* 80246870 002424D0 48 00 13 ED */ bl func_80247C5C /* 80246874 002424D4 28 03 FF FF */ cmplwi r3, 0xffff /* 80246878 002424D8 41 82 00 54 */ beq lbl_802468CC /* 8024687C 002424DC 80 9E 00 08 */ lwz r4, 8(r30) /* 80246880 002424E0 7F C3 F3 78 */ mr r3, r30 /* 80246884 002424E4 48 00 13 D9 */ bl func_80247C5C /* 80246888 002424E8 7C 64 1B 78 */ mr r4, r3 /* 8024688C 002424EC 80 7E 00 00 */ lwz r3, 0(r30) /* 80246890 002424F0 4B FF F1 7D */ bl func_80245A0C /* 80246894 002424F4 28 03 00 01 */ cmplwi r3, 1 /* 80246898 002424F8 40 82 00 14 */ bne lbl_802468AC /* 8024689C 002424FC 7F C3 F3 78 */ mr r3, r30 /* 802468A0 00242500 38 80 00 0A */ li r4, 0xa /* 802468A4 00242504 48 00 0F 91 */ bl func_80247834 /* 802468A8 00242508 48 00 00 4C */ b lbl_802468F4 lbl_802468AC: /* 802468AC 0024250C 80 9E 00 08 */ lwz r4, 8(r30) /* 802468B0 00242510 7F C3 F3 78 */ mr r3, r30 /* 802468B4 00242514 48 00 13 A9 */ bl func_80247C5C /* 802468B8 00242518 90 7E 00 24 */ stw r3, 0x24(r30) /* 802468BC 0024251C 90 7E 00 28 */ stw r3, 0x28(r30) /* 802468C0 00242520 7F C3 F3 78 */ mr r3, r30 /* 802468C4 00242524 4B FF FC F9 */ bl func_802465BC /* 802468C8 00242528 48 00 00 2C */ b lbl_802468F4 lbl_802468CC: /* 802468CC 0024252C 7F C3 F3 78 */ mr r3, r30 /* 802468D0 00242530 4B FF F5 51 */ bl func_80245E20 /* 802468D4 00242534 28 03 00 01 */ cmplwi r3, 1 /* 802468D8 00242538 40 82 00 10 */ bne lbl_802468E8 /* 802468DC 0024253C 7F C3 F3 78 */ mr r3, r30 /* 802468E0 00242540 4B FF FC DD */ bl func_802465BC /* 802468E4 00242544 48 00 00 10 */ b lbl_802468F4 lbl_802468E8: /* 802468E8 00242548 7F C3 F3 78 */ mr r3, r30 /* 802468EC 0024254C 38 80 00 0A */ li r4, 0xa /* 802468F0 00242550 48 00 0F 45 */ bl func_80247834 lbl_802468F4: /* 802468F4 00242554 7F E3 FB 78 */ mr r3, r31 /* 802468F8 00242558 48 02 7E 8D */ bl OSRestoreInterrupts /* 802468FC 0024255C 80 01 00 14 */ lwz r0, 0x14(r1) /* 80246900 00242560 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80246904 00242564 83 C1 00 08 */ lwz r30, 8(r1) /* 80246908 00242568 7C 08 03 A6 */ mtlr r0 /* 8024690C 0024256C 38 21 00 10 */ addi r1, r1, 0x10 /* 80246910 00242570 4E 80 00 20 */ blr lbl_80246914: /* 80246914 00242574 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80246918 00242578 7C 08 02 A6 */ mflr r0 /* 8024691C 0024257C 90 01 00 14 */ stw r0, 0x14(r1) /* 80246920 00242580 93 E1 00 0C */ stw r31, 0xc(r1) /* 80246924 00242584 93 C1 00 08 */ stw r30, 8(r1) /* 80246928 00242588 7C 7E 1B 78 */ mr r30, r3 /* 8024692C 0024258C 7C 83 23 78 */ mr r3, r4 /* 80246930 00242590 48 00 0A 45 */ bl func_80247374 /* 80246934 00242594 2C 03 00 00 */ cmpwi r3, 0 /* 80246938 00242598 7C 7F 1B 78 */ mr r31, r3 /* 8024693C 0024259C 41 82 00 64 */ beq lbl_802469A0 /* 80246940 002425A0 2C 1E 00 00 */ cmpwi r30, 0 /* 80246944 002425A4 40 80 00 10 */ bge lbl_80246954 /* 80246948 002425A8 38 80 FC 1C */ li r4, -996 /* 8024694C 002425AC 48 00 0E E9 */ bl func_80247834 /* 80246950 002425B0 48 00 00 50 */ b lbl_802469A0 lbl_80246954: /* 80246954 002425B4 80 A3 00 1C */ lwz r5, 0x1c(r3) /* 80246958 002425B8 3C 80 00 01 */ lis r4, 0x0000FFFF@ha /* 8024695C 002425BC 80 C3 00 3C */ lwz r6, 0x3c(r3) /* 80246960 002425C0 38 84 FF FF */ addi r4, r4, 0x0000FFFF@l /* 80246964 002425C4 80 A5 00 08 */ lwz r5, 8(r5) /* 80246968 002425C8 4B FF E4 7D */ bl func_80244DE4 /* 8024696C 002425CC 2C 03 00 00 */ cmpwi r3, 0 /* 80246970 002425D0 7C 66 1B 78 */ mr r6, r3 /* 80246974 002425D4 41 82 00 24 */ beq lbl_80246998 /* 80246978 002425D8 80 9F 00 1C */ lwz r4, 0x1c(r31) /* 8024697C 002425DC 7F E3 FB 78 */ mr r3, r31 /* 80246980 002425E0 80 BF 00 20 */ lwz r5, 0x20(r31) /* 80246984 002425E4 39 00 00 00 */ li r8, 0 /* 80246988 002425E8 80 E4 00 08 */ lwz r7, 8(r4) /* 8024698C 002425EC 38 80 00 00 */ li r4, 0 /* 80246990 002425F0 39 20 00 00 */ li r9, 0 /* 80246994 002425F4 4B FF F2 11 */ bl func_80245BA4 lbl_80246998: /* 80246998 002425F8 7F E3 FB 78 */ mr r3, r31 /* 8024699C 002425FC 4B FF FE 09 */ bl func_802467A4 lbl_802469A0: /* 802469A0 00242600 80 01 00 14 */ lwz r0, 0x14(r1) /* 802469A4 00242604 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802469A8 00242608 83 C1 00 08 */ lwz r30, 8(r1) /* 802469AC 0024260C 7C 08 03 A6 */ mtlr r0 /* 802469B0 00242610 38 21 00 10 */ addi r1, r1, 0x10 /* 802469B4 00242614 4E 80 00 20 */ blr lbl_802469B8: /* 802469B8 00242618 2C 03 00 00 */ cmpwi r3, 0 /* 802469BC 0024261C 4D 82 00 20 */ beqlr /* 802469C0 00242620 80 63 00 10 */ lwz r3, 0x10(r3) /* 802469C4 00242624 4B FF FD E0 */ b func_802467A4 /* 802469C8 00242628 4E 80 00 20 */ blr .global func_802469CC func_802469CC: /* 802469CC 0024262C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802469D0 00242630 7C 08 02 A6 */ mflr r0 /* 802469D4 00242634 90 01 00 34 */ stw r0, 0x34(r1) /* 802469D8 00242638 39 61 00 30 */ addi r11, r1, 0x30 /* 802469DC 0024263C 4B F8 07 45 */ bl _savegpr_25 /* 802469E0 00242640 28 05 00 01 */ cmplwi r5, 1 /* 802469E4 00242644 90 C3 00 04 */ stw r6, 4(r3) /* 802469E8 00242648 83 C1 00 38 */ lwz r30, 0x38(r1) /* 802469EC 0024264C 7C 79 1B 78 */ mr r25, r3 /* 802469F0 00242650 7C 9A 23 78 */ mr r26, r4 /* 802469F4 00242654 7C FB 3B 78 */ mr r27, r7 /* 802469F8 00242658 7D 1C 43 78 */ mr r28, r8 /* 802469FC 0024265C 7D 3D 4B 78 */ mr r29, r9 /* 80246A00 00242660 40 82 00 7C */ bne lbl_80246A7C /* 80246A04 00242664 80 0D A5 78 */ lwz r0, lbl_8063F838-_SDA_BASE_(r13) /* 80246A08 00242668 2C 00 00 00 */ cmpwi r0, 0 /* 80246A0C 0024266C 40 82 00 0C */ bne lbl_80246A18 /* 80246A10 00242670 48 02 7D 61 */ bl OSEnableInterrupts /* 80246A14 00242674 7C 7F 1B 78 */ mr r31, r3 lbl_80246A18: /* 80246A18 00242678 7F 23 CB 78 */ mr r3, r25 /* 80246A1C 0024267C 7F 44 D3 78 */ mr r4, r26 /* 80246A20 00242680 7F 65 DB 78 */ mr r5, r27 /* 80246A24 00242684 7F 86 E3 78 */ mr r6, r28 /* 80246A28 00242688 7F A7 EB 78 */ mr r7, r29 /* 80246A2C 0024268C 7F C8 F3 78 */ mr r8, r30 /* 80246A30 00242690 4B FF F1 1D */ bl func_80245B4C /* 80246A34 00242694 2C 03 00 00 */ cmpwi r3, 0 /* 80246A38 00242698 40 82 00 2C */ bne lbl_80246A64 /* 80246A3C 0024269C 7F 23 CB 78 */ mr r3, r25 /* 80246A40 002426A0 38 80 FC 1C */ li r4, -996 /* 80246A44 002426A4 48 00 0D F1 */ bl func_80247834 /* 80246A48 002426A8 80 0D A5 78 */ lwz r0, lbl_8063F838-_SDA_BASE_(r13) /* 80246A4C 002426AC 2C 00 00 00 */ cmpwi r0, 0 /* 80246A50 002426B0 40 82 00 0C */ bne lbl_80246A5C /* 80246A54 002426B4 7F E3 FB 78 */ mr r3, r31 /* 80246A58 002426B8 48 02 7D 2D */ bl OSRestoreInterrupts lbl_80246A5C: /* 80246A5C 002426BC 38 60 00 00 */ li r3, 0 /* 80246A60 002426C0 48 00 00 AC */ b lbl_80246B0C lbl_80246A64: /* 80246A64 002426C4 80 0D A5 78 */ lwz r0, lbl_8063F838-_SDA_BASE_(r13) /* 80246A68 002426C8 2C 00 00 00 */ cmpwi r0, 0 /* 80246A6C 002426CC 40 82 00 9C */ bne lbl_80246B08 /* 80246A70 002426D0 7F E3 FB 78 */ mr r3, r31 /* 80246A74 002426D4 48 02 7D 11 */ bl OSRestoreInterrupts /* 80246A78 002426D8 48 00 00 90 */ b lbl_80246B08 lbl_80246A7C: /* 80246A7C 002426DC 2C 04 00 00 */ cmpwi r4, 0 /* 80246A80 002426E0 41 82 00 44 */ beq lbl_80246AC4 /* 80246A84 002426E4 80 04 00 38 */ lwz r0, 0x38(r4) /* 80246A88 002426E8 2C 00 00 00 */ cmpwi r0, 0 /* 80246A8C 002426EC 41 82 00 38 */ beq lbl_80246AC4 /* 80246A90 002426F0 7C 03 03 78 */ mr r3, r0 /* 80246A94 002426F4 7F 64 DB 78 */ mr r4, r27 /* 80246A98 002426F8 7F 85 E3 78 */ mr r5, r28 /* 80246A9C 002426FC 7F A6 EB 78 */ mr r6, r29 /* 80246AA0 00242700 7D 47 53 78 */ mr r7, r10 /* 80246AA4 00242704 4B F9 5A 4D */ bl func_801DC4F0 /* 80246AA8 00242708 2C 03 00 00 */ cmpwi r3, 0 /* 80246AAC 0024270C 40 82 00 5C */ bne lbl_80246B08 /* 80246AB0 00242710 7F 23 CB 78 */ mr r3, r25 /* 80246AB4 00242714 38 80 FC 1C */ li r4, -996 /* 80246AB8 00242718 48 00 0D 7D */ bl func_80247834 /* 80246ABC 0024271C 38 60 00 00 */ li r3, 0 /* 80246AC0 00242720 48 00 00 4C */ b lbl_80246B0C lbl_80246AC4: /* 80246AC4 00242724 2C 04 00 00 */ cmpwi r4, 0 /* 80246AC8 00242728 41 82 00 0C */ beq lbl_80246AD4 /* 80246ACC 0024272C 80 04 00 04 */ lwz r0, 4(r4) /* 80246AD0 00242730 7F A9 02 14 */ add r29, r9, r0 lbl_80246AD4: /* 80246AD4 00242734 80 63 00 0C */ lwz r3, 0xc(r3) /* 80246AD8 00242738 7F 64 DB 78 */ mr r4, r27 /* 80246ADC 0024273C 7F 85 E3 78 */ mr r5, r28 /* 80246AE0 00242740 7F A6 EB 78 */ mr r6, r29 /* 80246AE4 00242744 7D 47 53 78 */ mr r7, r10 /* 80246AE8 00242748 4B F9 5A 09 */ bl func_801DC4F0 /* 80246AEC 0024274C 2C 03 00 00 */ cmpwi r3, 0 /* 80246AF0 00242750 40 82 00 18 */ bne lbl_80246B08 /* 80246AF4 00242754 7F 23 CB 78 */ mr r3, r25 /* 80246AF8 00242758 38 80 FC 1C */ li r4, -996 /* 80246AFC 0024275C 48 00 0D 39 */ bl func_80247834 /* 80246B00 00242760 38 60 00 00 */ li r3, 0 /* 80246B04 00242764 48 00 00 08 */ b lbl_80246B0C lbl_80246B08: /* 80246B08 00242768 38 60 00 01 */ li r3, 1 lbl_80246B0C: /* 80246B0C 0024276C 39 61 00 30 */ addi r11, r1, 0x30 /* 80246B10 00242770 4B F8 06 5D */ bl _restgpr_25 /* 80246B14 00242774 80 01 00 34 */ lwz r0, 0x34(r1) /* 80246B18 00242778 7C 08 03 A6 */ mtlr r0 /* 80246B1C 0024277C 38 21 00 30 */ addi r1, r1, 0x30 /* 80246B20 00242780 4E 80 00 20 */ blr .global func_80246B24 func_80246B24: /* 80246B24 00242784 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80246B28 00242788 7C 08 02 A6 */ mflr r0 /* 80246B2C 0024278C 90 01 00 24 */ stw r0, 0x24(r1) /* 80246B30 00242790 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80246B34 00242794 93 C1 00 18 */ stw r30, 0x18(r1) /* 80246B38 00242798 93 A1 00 14 */ stw r29, 0x14(r1) /* 80246B3C 0024279C 93 81 00 10 */ stw r28, 0x10(r1) /* 80246B40 002427A0 7C 7C 1B 78 */ mr r28, r3 /* 80246B44 002427A4 80 03 00 20 */ lwz r0, 0x20(r3) /* 80246B48 002427A8 2C 00 00 00 */ cmpwi r0, 0 /* 80246B4C 002427AC 41 82 00 18 */ beq lbl_80246B64 /* 80246B50 002427B0 88 03 00 2E */ lbz r0, 0x2e(r3) /* 80246B54 002427B4 28 00 00 01 */ cmplwi r0, 1 /* 80246B58 002427B8 40 82 00 0C */ bne lbl_80246B64 /* 80246B5C 002427BC 4B FF FC 49 */ bl func_802467A4 /* 80246B60 002427C0 48 00 00 DC */ b lbl_80246C3C lbl_80246B64: /* 80246B64 002427C4 3B E0 00 00 */ li r31, 0 lbl_80246B68: /* 80246B68 002427C8 7F 83 E3 78 */ mr r3, r28 /* 80246B6C 002427CC 4B FF DF 45 */ bl func_80244AB0 /* 80246B70 002427D0 28 03 00 01 */ cmplwi r3, 1 /* 80246B74 002427D4 41 82 00 4C */ beq lbl_80246BC0 /* 80246B78 002427D8 48 02 7B E5 */ bl OSDisableInterrupts /* 80246B7C 002427DC 7C 7D 1B 78 */ mr r29, r3 /* 80246B80 002427E0 48 00 0A 41 */ bl func_802475C0 /* 80246B84 002427E4 2C 03 00 00 */ cmpwi r3, 0 /* 80246B88 002427E8 7C 7E 1B 78 */ mr r30, r3 /* 80246B8C 002427EC 40 82 00 24 */ bne lbl_80246BB0 /* 80246B90 002427F0 7F A3 EB 78 */ mr r3, r29 /* 80246B94 002427F4 48 02 7B F1 */ bl OSRestoreInterrupts /* 80246B98 002427F8 2C 1E 00 00 */ cmpwi r30, 0 /* 80246B9C 002427FC 41 82 00 A0 */ beq lbl_80246C3C /* 80246BA0 00242800 7F 83 E3 78 */ mr r3, r28 /* 80246BA4 00242804 38 80 FC 1C */ li r4, -996 /* 80246BA8 00242808 48 00 0C 8D */ bl func_80247834 /* 80246BAC 0024280C 48 00 00 90 */ b lbl_80246C3C lbl_80246BB0: /* 80246BB0 00242810 93 E3 00 14 */ stw r31, 0x14(r3) /* 80246BB4 00242814 7F A3 EB 78 */ mr r3, r29 /* 80246BB8 00242818 48 02 7B CD */ bl OSRestoreInterrupts /* 80246BBC 0024281C 4B FF FF AC */ b lbl_80246B68 lbl_80246BC0: /* 80246BC0 00242820 48 02 7B 9D */ bl OSDisableInterrupts /* 80246BC4 00242824 7C 7E 1B 78 */ mr r30, r3 /* 80246BC8 00242828 3F E0 00 01 */ lis r31, 0x0000FFFF@ha /* 80246BCC 0024282C 80 7C 00 00 */ lwz r3, 0(r28) /* 80246BD0 00242830 38 9F FF FF */ addi r4, r31, 0x0000FFFF@l /* 80246BD4 00242834 3B A0 00 00 */ li r29, 0 /* 80246BD8 00242838 4B FF EE 35 */ bl func_80245A0C /* 80246BDC 0024283C 28 03 00 01 */ cmplwi r3, 1 /* 80246BE0 00242840 40 82 00 18 */ bne lbl_80246BF8 /* 80246BE4 00242844 80 7C 00 00 */ lwz r3, 0(r28) /* 80246BE8 00242848 38 9F FF FF */ addi r4, r31, -1 /* 80246BEC 0024284C 38 A0 00 01 */ li r5, 1 /* 80246BF0 00242850 4B FF EA 9D */ bl func_8024568C /* 80246BF4 00242854 3B A0 00 01 */ li r29, 1 lbl_80246BF8: /* 80246BF8 00242858 7F C3 F3 78 */ mr r3, r30 /* 80246BFC 0024285C 48 02 7B 89 */ bl OSRestoreInterrupts /* 80246C00 00242860 3C 60 80 24 */ lis r3, lbl_802469B8@ha /* 80246C04 00242864 3C 80 00 01 */ lis r4, 0x0000FFFF@ha /* 80246C08 00242868 38 63 69 B8 */ addi r3, r3, lbl_802469B8@l /* 80246C0C 0024286C 3D 40 80 24 */ lis r10, lbl_80246914@ha /* 80246C10 00242870 90 61 00 08 */ stw r3, 8(r1) /* 80246C14 00242874 38 C4 FF FF */ addi r6, r4, 0x0000FFFF@l /* 80246C18 00242878 7F 83 E3 78 */ mr r3, r28 /* 80246C1C 0024287C 7F A5 EB 78 */ mr r5, r29 /* 80246C20 00242880 81 1C 00 1C */ lwz r8, 0x1c(r28) /* 80246C24 00242884 39 4A 69 14 */ addi r10, r10, lbl_80246914@l /* 80246C28 00242888 80 FC 00 20 */ lwz r7, 0x20(r28) /* 80246C2C 0024288C 38 80 00 00 */ li r4, 0 /* 80246C30 00242890 81 08 00 08 */ lwz r8, 8(r8) /* 80246C34 00242894 39 20 00 00 */ li r9, 0 /* 80246C38 00242898 4B FF FD 95 */ bl func_802469CC lbl_80246C3C: /* 80246C3C 0024289C 80 01 00 24 */ lwz r0, 0x24(r1) /* 80246C40 002428A0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80246C44 002428A4 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80246C48 002428A8 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80246C4C 002428AC 83 81 00 10 */ lwz r28, 0x10(r1) /* 80246C50 002428B0 7C 08 03 A6 */ mtlr r0 /* 80246C54 002428B4 38 21 00 20 */ addi r1, r1, 0x20 /* 80246C58 002428B8 4E 80 00 20 */ blr .global func_80246C5C func_80246C5C: /* 80246C5C 002428BC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80246C60 002428C0 7C 08 02 A6 */ mflr r0 /* 80246C64 002428C4 3C A0 80 24 */ lis r5, lbl_80245C60@ha /* 80246C68 002428C8 38 80 00 00 */ li r4, 0 /* 80246C6C 002428CC 90 01 00 14 */ stw r0, 0x14(r1) /* 80246C70 002428D0 38 A5 5C 60 */ addi r5, r5, lbl_80245C60@l /* 80246C74 002428D4 93 E1 00 0C */ stw r31, 0xc(r1) /* 80246C78 002428D8 7C 7F 1B 78 */ mr r31, r3 /* 80246C7C 002428DC 80 63 00 0C */ lwz r3, 0xc(r3) /* 80246C80 002428E0 4B F9 5B 79 */ bl func_801DC7F8 /* 80246C84 002428E4 2C 03 00 00 */ cmpwi r3, 0 /* 80246C88 002428E8 40 82 00 10 */ bne lbl_80246C98 /* 80246C8C 002428EC 7F E3 FB 78 */ mr r3, r31 /* 80246C90 002428F0 38 80 FC 1E */ li r4, -994 /* 80246C94 002428F4 48 00 0B A1 */ bl func_80247834 lbl_80246C98: /* 80246C98 002428F8 80 01 00 14 */ lwz r0, 0x14(r1) /* 80246C9C 002428FC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80246CA0 00242900 7C 08 03 A6 */ mtlr r0 /* 80246CA4 00242904 38 21 00 10 */ addi r1, r1, 0x10 /* 80246CA8 00242908 4E 80 00 20 */ blr .global func_80246CAC func_80246CAC: /* 80246CAC 0024290C 38 A0 00 01 */ li r5, 1 /* 80246CB0 00242910 38 6D A5 70 */ addi r3, r13, lbl_8063F830-_SDA_BASE_ /* 80246CB4 00242914 38 80 00 04 */ li r4, 4 /* 80246CB8 00242918 38 00 00 00 */ li r0, 0 /* 80246CBC 0024291C 98 AD A5 70 */ stb r5, lbl_8063F830-_SDA_BASE_(r13) /* 80246CC0 00242920 B0 83 00 02 */ sth r4, 2(r3) /* 80246CC4 00242924 98 03 00 04 */ stb r0, 4(r3) /* 80246CC8 00242928 4E 80 00 20 */ blr