.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global lbl_80253FEC lbl_80253FEC: /* 80253FEC 0024FC4C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80253FF0 0024FC50 7C 08 02 A6 */ mflr r0 /* 80253FF4 0024FC54 2C 03 00 00 */ cmpwi r3, 0 /* 80253FF8 0024FC58 90 01 00 14 */ stw r0, 0x14(r1) /* 80253FFC 0024FC5C 93 E1 00 0C */ stw r31, 0xc(r1) /* 80254000 0024FC60 7C 7F 1B 78 */ mr r31, r3 /* 80254004 0024FC64 41 82 00 10 */ beq lbl_80254014 /* 80254008 0024FC68 2C 04 00 00 */ cmpwi r4, 0 /* 8025400C 0024FC6C 40 81 00 08 */ ble lbl_80254014 /* 80254010 0024FC70 4B F8 6A A9 */ bl __dl__FPv lbl_80254014: /* 80254014 0024FC74 7F E3 FB 78 */ mr r3, r31 /* 80254018 0024FC78 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8025401C 0024FC7C 80 01 00 14 */ lwz r0, 0x14(r1) /* 80254020 0024FC80 7C 08 03 A6 */ mtlr r0 /* 80254024 0024FC84 38 21 00 10 */ addi r1, r1, 0x10 /* 80254028 0024FC88 4E 80 00 20 */ blr .global lbl_8025402C lbl_8025402C: /* 8025402C 0024FC8C 2C 06 00 04 */ cmpwi r6, 4 /* 80254030 0024FC90 41 82 00 2C */ beq lbl_8025405C /* 80254034 0024FC94 40 80 00 10 */ bge lbl_80254044 /* 80254038 0024FC98 2C 06 00 03 */ cmpwi r6, 3 /* 8025403C 0024FC9C 40 80 00 14 */ bge lbl_80254050 /* 80254040 0024FCA0 4E 80 00 20 */ blr lbl_80254044: /* 80254044 0024FCA4 2C 06 00 06 */ cmpwi r6, 6 /* 80254048 0024FCA8 4C 80 00 20 */ bgelr /* 8025404C 0024FCAC 48 00 00 1C */ b lbl_80254068 lbl_80254050: /* 80254050 0024FCB0 A0 05 00 00 */ lhz r0, 0(r5) /* 80254054 0024FCB4 90 07 00 00 */ stw r0, 0(r7) /* 80254058 0024FCB8 4E 80 00 20 */ blr lbl_8025405C: /* 8025405C 0024FCBC A8 05 00 08 */ lha r0, 8(r5) /* 80254060 0024FCC0 90 07 00 00 */ stw r0, 0(r7) /* 80254064 0024FCC4 4E 80 00 20 */ blr lbl_80254068: /* 80254068 0024FCC8 1C 04 00 C0 */ mulli r0, r4, 0xc0 /* 8025406C 0024FCCC 80 63 00 08 */ lwz r3, 8(r3) /* 80254070 0024FCD0 7C 63 02 14 */ add r3, r3, r0 /* 80254074 0024FCD4 38 03 00 88 */ addi r0, r3, 0x88 /* 80254078 0024FCD8 90 07 00 00 */ stw r0, 0(r7) /* 8025407C 0024FCDC 4E 80 00 20 */ blr .global func_80254080 func_80254080: /* 80254080 0024FCE0 2C 06 00 02 */ cmpwi r6, 2 /* 80254084 0024FCE4 41 82 00 48 */ beq lbl_802540CC /* 80254088 0024FCE8 4C 80 00 20 */ bgelr /* 8025408C 0024FCEC 2C 06 00 01 */ cmpwi r6, 1 /* 80254090 0024FCF0 4D 80 00 20 */ bltlr /* 80254094 0024FCF4 1D 04 00 C0 */ mulli r8, r4, 0xc0 /* 80254098 0024FCF8 80 C3 00 08 */ lwz r6, 8(r3) /* 8025409C 0024FCFC 38 80 FF FF */ li r4, -1 /* 802540A0 0024FD00 38 00 00 FF */ li r0, 0xff /* 802540A4 0024FD04 7C C6 42 14 */ add r6, r6, r8 /* 802540A8 0024FD08 90 E6 00 94 */ stw r7, 0x94(r6) /* 802540AC 0024FD0C B0 85 00 08 */ sth r4, 8(r5) /* 802540B0 0024FD10 80 63 00 08 */ lwz r3, 8(r3) /* 802540B4 0024FD14 7C 63 42 14 */ add r3, r3, r8 /* 802540B8 0024FD18 90 83 00 98 */ stw r4, 0x98(r3) /* 802540BC 0024FD1C 98 05 00 04 */ stb r0, 4(r5) /* 802540C0 0024FD20 98 05 00 03 */ stb r0, 3(r5) /* 802540C4 0024FD24 98 05 00 02 */ stb r0, 2(r5) /* 802540C8 0024FD28 4E 80 00 20 */ blr lbl_802540CC: /* 802540CC 0024FD2C 1D 04 00 C0 */ mulli r8, r4, 0xc0 /* 802540D0 0024FD30 80 C3 00 08 */ lwz r6, 8(r3) /* 802540D4 0024FD34 38 80 00 00 */ li r4, 0 /* 802540D8 0024FD38 38 00 FF FF */ li r0, -1 /* 802540DC 0024FD3C 7C C6 42 14 */ add r6, r6, r8 /* 802540E0 0024FD40 90 E6 00 98 */ stw r7, 0x98(r6) /* 802540E4 0024FD44 80 63 00 08 */ lwz r3, 8(r3) /* 802540E8 0024FD48 7C 63 42 14 */ add r3, r3, r8 /* 802540EC 0024FD4C 90 83 00 94 */ stw r4, 0x94(r3) /* 802540F0 0024FD50 B0 05 00 08 */ sth r0, 8(r5) /* 802540F4 0024FD54 4E 80 00 20 */ blr .global lbl_802540F8 lbl_802540F8: /* 802540F8 0024FD58 2C 06 00 05 */ cmpwi r6, 5 /* 802540FC 0024FD5C 41 82 00 3C */ beq lbl_80254138 /* 80254100 0024FD60 40 80 00 14 */ bge lbl_80254114 /* 80254104 0024FD64 2C 06 00 03 */ cmpwi r6, 3 /* 80254108 0024FD68 41 82 00 18 */ beq lbl_80254120 /* 8025410C 0024FD6C 40 80 00 20 */ bge lbl_8025412C /* 80254110 0024FD70 4E 80 00 20 */ blr lbl_80254114: /* 80254114 0024FD74 2C 06 00 07 */ cmpwi r6, 7 /* 80254118 0024FD78 4C 80 00 20 */ bgelr /* 8025411C 0024FD7C 48 00 00 28 */ b lbl_80254144 lbl_80254120: /* 80254120 0024FD80 38 C0 00 03 */ li r6, 3 /* 80254124 0024FD84 38 A5 00 0C */ addi r5, r5, 0xc /* 80254128 0024FD88 4B FF FF 04 */ b lbl_8025402C lbl_8025412C: /* 8025412C 0024FD8C 38 C0 00 04 */ li r6, 4 /* 80254130 0024FD90 38 A5 00 0C */ addi r5, r5, 0xc /* 80254134 0024FD94 4B FF FE F8 */ b lbl_8025402C lbl_80254138: /* 80254138 0024FD98 80 05 00 08 */ lwz r0, 8(r5) /* 8025413C 0024FD9C 90 07 00 00 */ stw r0, 0(r7) /* 80254140 0024FDA0 4E 80 00 20 */ blr lbl_80254144: /* 80254144 0024FDA4 C0 05 00 38 */ lfs f0, 0x38(r5) /* 80254148 0024FDA8 D0 07 00 00 */ stfs f0, 0(r7) /* 8025414C 0024FDAC C0 05 00 3C */ lfs f0, 0x3c(r5) /* 80254150 0024FDB0 D0 07 00 04 */ stfs f0, 4(r7) /* 80254154 0024FDB4 C0 05 00 40 */ lfs f0, 0x40(r5) /* 80254158 0024FDB8 D0 07 00 08 */ stfs f0, 8(r7) /* 8025415C 0024FDBC C0 05 00 44 */ lfs f0, 0x44(r5) /* 80254160 0024FDC0 D0 07 00 0C */ stfs f0, 0xc(r7) /* 80254164 0024FDC4 C0 05 00 48 */ lfs f0, 0x48(r5) /* 80254168 0024FDC8 D0 07 00 10 */ stfs f0, 0x10(r7) /* 8025416C 0024FDCC C0 05 00 4C */ lfs f0, 0x4c(r5) /* 80254170 0024FDD0 D0 07 00 14 */ stfs f0, 0x14(r7) /* 80254174 0024FDD4 C0 05 00 50 */ lfs f0, 0x50(r5) /* 80254178 0024FDD8 D0 07 00 18 */ stfs f0, 0x18(r7) /* 8025417C 0024FDDC C0 05 00 54 */ lfs f0, 0x54(r5) /* 80254180 0024FDE0 D0 07 00 1C */ stfs f0, 0x1c(r7) /* 80254184 0024FDE4 4E 80 00 20 */ blr .global lbl_80254188 lbl_80254188: /* 80254188 0024FDE8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8025418C 0024FDEC 7C 08 02 A6 */ mflr r0 /* 80254190 0024FDF0 2C 06 00 02 */ cmpwi r6, 2 /* 80254194 0024FDF4 90 01 00 14 */ stw r0, 0x14(r1) /* 80254198 0024FDF8 93 E1 00 0C */ stw r31, 0xc(r1) /* 8025419C 0024FDFC 7C FF 3B 78 */ mr r31, r7 /* 802541A0 0024FE00 93 C1 00 08 */ stw r30, 8(r1) /* 802541A4 0024FE04 7C BE 2B 78 */ mr r30, r5 /* 802541A8 0024FE08 41 82 00 58 */ beq lbl_80254200 /* 802541AC 0024FE0C 40 80 00 7C */ bge lbl_80254228 /* 802541B0 0024FE10 2C 06 00 01 */ cmpwi r6, 1 /* 802541B4 0024FE14 40 80 00 08 */ bge lbl_802541BC /* 802541B8 0024FE18 48 00 00 70 */ b lbl_80254228 lbl_802541BC: /* 802541BC 0024FE1C C0 07 00 00 */ lfs f0, 0(r7) /* 802541C0 0024FE20 D0 05 00 58 */ stfs f0, 0x58(r5) /* 802541C4 0024FE24 C0 07 00 04 */ lfs f0, 4(r7) /* 802541C8 0024FE28 D0 05 00 5C */ stfs f0, 0x5c(r5) /* 802541CC 0024FE2C C0 07 00 08 */ lfs f0, 8(r7) /* 802541D0 0024FE30 D0 05 00 60 */ stfs f0, 0x60(r5) /* 802541D4 0024FE34 C0 07 00 0C */ lfs f0, 0xc(r7) /* 802541D8 0024FE38 D0 05 00 64 */ stfs f0, 0x64(r5) /* 802541DC 0024FE3C C0 07 00 10 */ lfs f0, 0x10(r7) /* 802541E0 0024FE40 D0 05 00 68 */ stfs f0, 0x68(r5) /* 802541E4 0024FE44 C0 07 00 14 */ lfs f0, 0x14(r7) /* 802541E8 0024FE48 D0 05 00 6C */ stfs f0, 0x6c(r5) /* 802541EC 0024FE4C C0 07 00 18 */ lfs f0, 0x18(r7) /* 802541F0 0024FE50 D0 05 00 70 */ stfs f0, 0x70(r5) /* 802541F4 0024FE54 C0 07 00 1C */ lfs f0, 0x1c(r7) /* 802541F8 0024FE58 D0 05 00 74 */ stfs f0, 0x74(r5) /* 802541FC 0024FE5C 48 00 00 2C */ b lbl_80254228 lbl_80254200: /* 80254200 0024FE60 38 C0 00 01 */ li r6, 1 /* 80254204 0024FE64 38 A5 00 0C */ addi r5, r5, 0xc /* 80254208 0024FE68 4B FF FE 79 */ bl func_80254080 /* 8025420C 0024FE6C 38 00 00 FF */ li r0, 0xff /* 80254210 0024FE70 38 60 FF FF */ li r3, -1 /* 80254214 0024FE74 93 FE 00 84 */ stw r31, 0x84(r30) /* 80254218 0024FE78 90 7E 00 08 */ stw r3, 8(r30) /* 8025421C 0024FE7C 98 1E 00 10 */ stb r0, 0x10(r30) /* 80254220 0024FE80 98 1E 00 0F */ stb r0, 0xf(r30) /* 80254224 0024FE84 98 1E 00 0E */ stb r0, 0xe(r30) lbl_80254228: /* 80254228 0024FE88 80 01 00 14 */ lwz r0, 0x14(r1) /* 8025422C 0024FE8C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80254230 0024FE90 83 C1 00 08 */ lwz r30, 8(r1) /* 80254234 0024FE94 7C 08 03 A6 */ mtlr r0 /* 80254238 0024FE98 38 21 00 10 */ addi r1, r1, 0x10 /* 8025423C 0024FE9C 4E 80 00 20 */ blr .global func_80254240 func_80254240: /* 80254240 0024FEA0 38 A0 00 01 */ li r5, 1 /* 80254244 0024FEA4 38 6D A6 30 */ addi r3, r13, lbl_8063F8F0-_SDA_BASE_ /* 80254248 0024FEA8 38 80 00 04 */ li r4, 4 /* 8025424C 0024FEAC 38 00 00 00 */ li r0, 0 /* 80254250 0024FEB0 98 AD A6 30 */ stb r5, lbl_8063F8F0-_SDA_BASE_(r13) /* 80254254 0024FEB4 B0 83 00 02 */ sth r4, 2(r3) /* 80254258 0024FEB8 98 03 00 04 */ stb r0, 4(r3) /* 8025425C 0024FEBC 4E 80 00 20 */ blr