.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global func_80249BF0 func_80249BF0: /* 80249BF0 00245850 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80249BF4 00245854 7C 08 02 A6 */ mflr r0 /* 80249BF8 00245858 90 01 00 14 */ stw r0, 0x14(r1) /* 80249BFC 0024585C 93 E1 00 0C */ stw r31, 0xc(r1) /* 80249C00 00245860 7C 7F 1B 78 */ mr r31, r3 /* 80249C04 00245864 80 8D A6 00 */ lwz r4, lbl_8063F8C0-_SDA_BASE_(r13) /* 80249C08 00245868 2C 04 00 00 */ cmpwi r4, 0 /* 80249C0C 0024586C 41 82 00 0C */ beq lbl_80249C18 /* 80249C10 00245870 80 6D 96 28 */ lwz r3, lbl_8063E8E8-_SDA_BASE_(r13) /* 80249C14 00245874 4B F9 11 35 */ bl func_801DAD48 lbl_80249C18: /* 80249C18 00245878 3C 60 AA AB */ lis r3, 0xAAAAAAAB@ha /* 80249C1C 0024587C 38 1F 00 0B */ addi r0, r31, 0xb /* 80249C20 00245880 38 83 AA AB */ addi r4, r3, 0xAAAAAAAB@l /* 80249C24 00245884 80 6D 96 28 */ lwz r3, lbl_8063E8E8-_SDA_BASE_(r13) /* 80249C28 00245888 7C 04 00 16 */ mulhwu r0, r4, r0 /* 80249C2C 0024588C 54 1F E8 FE */ srwi r31, r0, 3 /* 80249C30 00245890 1C 9F 00 0C */ mulli r4, r31, 0xc /* 80249C34 00245894 4B F9 10 61 */ bl func_801DAC94 /* 80249C38 00245898 34 1F FF FF */ addic. r0, r31, -1 /* 80249C3C 0024589C 90 6D A6 00 */ stw r3, lbl_8063F8C0-_SDA_BASE_(r13) /* 80249C40 002458A0 39 20 00 00 */ li r9, 0 /* 80249C44 002458A4 90 6D A6 04 */ stw r3, lbl_8063F8C4-_SDA_BASE_(r13) /* 80249C48 002458A8 41 82 00 94 */ beq lbl_80249CDC /* 80249C4C 002458AC 28 00 00 08 */ cmplwi r0, 8 /* 80249C50 002458B0 38 9F FF F7 */ addi r4, r31, -9 /* 80249C54 002458B4 40 81 00 64 */ ble lbl_80249CB8 /* 80249C58 002458B8 38 04 00 07 */ addi r0, r4, 7 /* 80249C5C 002458BC 54 00 E8 FE */ srwi r0, r0, 3 /* 80249C60 002458C0 7C 09 03 A6 */ mtctr r0 /* 80249C64 002458C4 28 04 00 00 */ cmplwi r4, 0 /* 80249C68 002458C8 40 81 00 50 */ ble lbl_80249CB8 lbl_80249C6C: /* 80249C6C 002458CC 38 83 00 0C */ addi r4, r3, 0xc /* 80249C70 002458D0 38 03 00 18 */ addi r0, r3, 0x18 /* 80249C74 002458D4 90 83 00 00 */ stw r4, 0(r3) /* 80249C78 002458D8 39 03 00 24 */ addi r8, r3, 0x24 /* 80249C7C 002458DC 38 E3 00 30 */ addi r7, r3, 0x30 /* 80249C80 002458E0 38 C3 00 3C */ addi r6, r3, 0x3c /* 80249C84 002458E4 90 03 00 0C */ stw r0, 0xc(r3) /* 80249C88 002458E8 38 A3 00 48 */ addi r5, r3, 0x48 /* 80249C8C 002458EC 38 83 00 54 */ addi r4, r3, 0x54 /* 80249C90 002458F0 38 03 00 60 */ addi r0, r3, 0x60 /* 80249C94 002458F4 91 03 00 18 */ stw r8, 0x18(r3) /* 80249C98 002458F8 39 29 00 08 */ addi r9, r9, 8 /* 80249C9C 002458FC 90 E3 00 24 */ stw r7, 0x24(r3) /* 80249CA0 00245900 90 C3 00 30 */ stw r6, 0x30(r3) /* 80249CA4 00245904 90 A3 00 3C */ stw r5, 0x3c(r3) /* 80249CA8 00245908 90 83 00 48 */ stw r4, 0x48(r3) /* 80249CAC 0024590C 90 03 00 54 */ stw r0, 0x54(r3) /* 80249CB0 00245910 38 63 00 60 */ addi r3, r3, 0x60 /* 80249CB4 00245914 42 00 FF B8 */ bdnz lbl_80249C6C lbl_80249CB8: /* 80249CB8 00245918 38 9F FF FF */ addi r4, r31, -1 /* 80249CBC 0024591C 7C 09 20 50 */ subf r0, r9, r4 /* 80249CC0 00245920 7C 09 03 A6 */ mtctr r0 /* 80249CC4 00245924 7C 09 20 40 */ cmplw r9, r4 /* 80249CC8 00245928 40 80 00 14 */ bge lbl_80249CDC lbl_80249CCC: /* 80249CCC 0024592C 38 03 00 0C */ addi r0, r3, 0xc /* 80249CD0 00245930 90 03 00 00 */ stw r0, 0(r3) /* 80249CD4 00245934 38 63 00 0C */ addi r3, r3, 0xc /* 80249CD8 00245938 42 00 FF F4 */ bdnz lbl_80249CCC lbl_80249CDC: /* 80249CDC 0024593C 38 00 00 00 */ li r0, 0 /* 80249CE0 00245940 90 03 00 00 */ stw r0, 0(r3) /* 80249CE4 00245944 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80249CE8 00245948 80 01 00 14 */ lwz r0, 0x14(r1) /* 80249CEC 0024594C 7C 08 03 A6 */ mtlr r0 /* 80249CF0 00245950 38 21 00 10 */ addi r1, r1, 0x10 /* 80249CF4 00245954 4E 80 00 20 */ blr .global func_80249CF8 func_80249CF8: /* 80249CF8 00245958 80 6D A6 04 */ lwz r3, lbl_8063F8C4-_SDA_BASE_(r13) /* 80249CFC 0024595C 80 03 00 00 */ lwz r0, 0(r3) /* 80249D00 00245960 90 0D A6 04 */ stw r0, lbl_8063F8C4-_SDA_BASE_(r13) /* 80249D04 00245964 4E 80 00 20 */ blr .global func_80249D08 func_80249D08: /* 80249D08 00245968 80 0D A6 04 */ lwz r0, lbl_8063F8C4-_SDA_BASE_(r13) /* 80249D0C 0024596C 90 03 00 00 */ stw r0, 0(r3) /* 80249D10 00245970 90 6D A6 04 */ stw r3, lbl_8063F8C4-_SDA_BASE_(r13) /* 80249D14 00245974 4E 80 00 20 */ blr .global func_80249D18 func_80249D18: /* 80249D18 00245978 38 A0 00 01 */ li r5, 1 /* 80249D1C 0024597C 38 6D A5 F8 */ addi r3, r13, lbl_8063F8B8-_SDA_BASE_ /* 80249D20 00245980 38 80 00 04 */ li r4, 4 /* 80249D24 00245984 38 00 00 00 */ li r0, 0 /* 80249D28 00245988 98 AD A5 F8 */ stb r5, lbl_8063F8B8-_SDA_BASE_(r13) /* 80249D2C 0024598C B0 83 00 02 */ sth r4, 2(r3) /* 80249D30 00245990 98 03 00 04 */ stb r0, 4(r3) /* 80249D34 00245994 4E 80 00 20 */ blr