.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global func_8005018C func_8005018C: /* 8005018C 0004BDEC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80050190 0004BDF0 7C 08 02 A6 */ mflr r0 /* 80050194 0004BDF4 90 01 00 24 */ stw r0, 0x24(r1) /* 80050198 0004BDF8 DB E1 00 18 */ stfd f31, 0x18(r1) /* 8005019C 0004BDFC FF E0 08 90 */ fmr f31, f1 /* 800501A0 0004BE00 93 E1 00 14 */ stw r31, 0x14(r1) /* 800501A4 0004BE04 7C 7F 1B 78 */ mr r31, r3 /* 800501A8 0004BE08 80 8D A1 50 */ lwz r4, lbl_8063F410-_SDA_BASE_(r13) /* 800501AC 0004BE0C 88 04 04 68 */ lbz r0, 0x468(r4) /* 800501B0 0004BE10 2C 00 00 00 */ cmpwi r0, 0 /* 800501B4 0004BE14 41 82 00 0C */ beq lbl_800501C0 /* 800501B8 0004BE18 7C 83 23 78 */ mr r3, r4 /* 800501BC 0004BE1C 48 1A ED AD */ bl func_801FEF68 lbl_800501C0: /* 800501C0 0004BE20 2C 1F 00 02 */ cmpwi r31, 2 /* 800501C4 0004BE24 41 82 00 70 */ beq lbl_80050234 /* 800501C8 0004BE28 40 80 00 DC */ bge lbl_800502A4 /* 800501CC 0004BE2C 2C 1F 00 01 */ cmpwi r31, 1 /* 800501D0 0004BE30 40 80 00 08 */ bge lbl_800501D8 /* 800501D4 0004BE34 48 00 00 D0 */ b lbl_800502A4 lbl_800501D8: /* 800501D8 0004BE38 80 CD A1 50 */ lwz r6, lbl_8063F410-_SDA_BASE_(r13) /* 800501DC 0004BE3C 3C 60 1B 7A */ lis r3, 0x1B7A0C00@ha /* 800501E0 0004BE40 38 83 0C 00 */ addi r4, r3, 0x1B7A0C00@l /* 800501E4 0004BE44 3B E0 00 00 */ li r31, 0 /* 800501E8 0004BE48 D3 E6 04 58 */ stfs f31, 0x458(r6) /* 800501EC 0004BE4C 38 A0 00 17 */ li r5, 0x17 /* 800501F0 0004BE50 38 00 00 FF */ li r0, 0xff /* 800501F4 0004BE54 38 60 00 0A */ li r3, 0xa /* 800501F8 0004BE58 9B E6 04 60 */ stb r31, 0x460(r6) /* 800501FC 0004BE5C 9B E6 04 61 */ stb r31, 0x461(r6) /* 80050200 0004BE60 80 CD A1 50 */ lwz r6, lbl_8063F410-_SDA_BASE_(r13) /* 80050204 0004BE64 B0 A6 04 62 */ sth r5, 0x462(r6) /* 80050208 0004BE68 D3 E6 04 5C */ stfs f31, 0x45c(r6) /* 8005020C 0004BE6C 80 AD A1 50 */ lwz r5, lbl_8063F410-_SDA_BASE_(r13) /* 80050210 0004BE70 9B E5 04 94 */ stb r31, 0x494(r5) /* 80050214 0004BE74 9B E5 04 95 */ stb r31, 0x495(r5) /* 80050218 0004BE78 9B E5 04 96 */ stb r31, 0x496(r5) /* 8005021C 0004BE7C 98 05 04 97 */ stb r0, 0x497(r5) /* 80050220 0004BE80 48 18 B2 9D */ bl func_801DB4BC /* 80050224 0004BE84 80 8D A1 50 */ lwz r4, lbl_8063F410-_SDA_BASE_(r13) /* 80050228 0004BE88 93 E4 04 9C */ stw r31, 0x49c(r4) /* 8005022C 0004BE8C 90 64 04 A0 */ stw r3, 0x4a0(r4) /* 80050230 0004BE90 48 00 00 68 */ b lbl_80050298 lbl_80050234: /* 80050234 0004BE94 80 ED A1 50 */ lwz r7, lbl_8063F410-_SDA_BASE_(r13) /* 80050238 0004BE98 3C 60 1B 7A */ lis r3, 0x1B7A0C00@ha /* 8005023C 0004BE9C 38 83 0C 00 */ addi r4, r3, 0x1B7A0C00@l /* 80050240 0004BEA0 38 C0 00 01 */ li r6, 1 /* 80050244 0004BEA4 D3 E7 04 58 */ stfs f31, 0x458(r7) /* 80050248 0004BEA8 38 A0 00 17 */ li r5, 0x17 /* 8005024C 0004BEAC 3B E0 00 00 */ li r31, 0 /* 80050250 0004BEB0 38 00 00 FF */ li r0, 0xff /* 80050254 0004BEB4 98 C7 04 60 */ stb r6, 0x460(r7) /* 80050258 0004BEB8 38 60 00 0A */ li r3, 0xa /* 8005025C 0004BEBC 98 C7 04 61 */ stb r6, 0x461(r7) /* 80050260 0004BEC0 80 CD A1 50 */ lwz r6, lbl_8063F410-_SDA_BASE_(r13) /* 80050264 0004BEC4 B0 A6 04 62 */ sth r5, 0x462(r6) /* 80050268 0004BEC8 D3 E6 04 5C */ stfs f31, 0x45c(r6) /* 8005026C 0004BECC 80 AD A1 50 */ lwz r5, lbl_8063F410-_SDA_BASE_(r13) /* 80050270 0004BED0 9B E5 04 94 */ stb r31, 0x494(r5) /* 80050274 0004BED4 9B E5 04 95 */ stb r31, 0x495(r5) /* 80050278 0004BED8 9B E5 04 96 */ stb r31, 0x496(r5) /* 8005027C 0004BEDC 98 05 04 97 */ stb r0, 0x497(r5) /* 80050280 0004BEE0 48 18 B2 3D */ bl func_801DB4BC /* 80050284 0004BEE4 80 8D A1 50 */ lwz r4, lbl_8063F410-_SDA_BASE_(r13) /* 80050288 0004BEE8 93 E4 04 9C */ stw r31, 0x49c(r4) /* 8005028C 0004BEEC 90 64 04 A0 */ stw r3, 0x4a0(r4) /* 80050290 0004BEF0 48 00 00 08 */ b lbl_80050298 /* 80050294 0004BEF4 48 00 00 10 */ b lbl_800502A4 lbl_80050298: /* 80050298 0004BEF8 80 6D A1 50 */ lwz r3, lbl_8063F410-_SDA_BASE_(r13) /* 8005029C 0004BEFC 38 80 00 01 */ li r4, 1 /* 800502A0 0004BF00 48 1A EB 8D */ bl func_801FEE2C lbl_800502A4: /* 800502A4 0004BF04 80 01 00 24 */ lwz r0, 0x24(r1) /* 800502A8 0004BF08 CB E1 00 18 */ lfd f31, 0x18(r1) /* 800502AC 0004BF0C 83 E1 00 14 */ lwz r31, 0x14(r1) /* 800502B0 0004BF10 7C 08 03 A6 */ mtlr r0 /* 800502B4 0004BF14 38 21 00 20 */ addi r1, r1, 0x20 /* 800502B8 0004BF18 4E 80 00 20 */ blr .global func_800502BC func_800502BC: /* 800502BC 0004BF1C 80 8D A1 50 */ lwz r4, lbl_8063F410-_SDA_BASE_(r13) /* 800502C0 0004BF20 88 04 04 68 */ lbz r0, 0x468(r4) /* 800502C4 0004BF24 2C 00 00 00 */ cmpwi r0, 0 /* 800502C8 0004BF28 41 82 00 34 */ beq lbl_800502FC /* 800502CC 0004BF2C C0 44 04 74 */ lfs f2, 0x474(r4) /* 800502D0 0004BF30 38 60 00 00 */ li r3, 0 /* 800502D4 0004BF34 C0 24 04 78 */ lfs f1, 0x478(r4) /* 800502D8 0004BF38 C0 02 84 80 */ lfs f0, lbl_80640A80-_SDA2_BASE_(r2) /* 800502DC 0004BF3C EC 22 08 28 */ fsubs f1, f2, f1 /* 800502E0 0004BF40 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 800502E4 0004BF44 4C 80 00 20 */ bgelr /* 800502E8 0004BF48 C0 02 84 84 */ lfs f0, lbl_80640A84-_SDA2_BASE_(r2) /* 800502EC 0004BF4C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 800502F0 0004BF50 4C 81 00 20 */ blelr /* 800502F4 0004BF54 38 60 00 01 */ li r3, 1 /* 800502F8 0004BF58 4E 80 00 20 */ blr lbl_800502FC: /* 800502FC 0004BF5C 38 60 00 00 */ li r3, 0 /* 80050300 0004BF60 4E 80 00 20 */ blr .global func_80050304 func_80050304: /* 80050304 0004BF64 38 A0 00 01 */ li r5, 1 /* 80050308 0004BF68 38 6D 98 58 */ addi r3, r13, lbl_8063EB18-_SDA_BASE_ /* 8005030C 0004BF6C 38 80 00 04 */ li r4, 4 /* 80050310 0004BF70 38 00 00 00 */ li r0, 0 /* 80050314 0004BF74 98 AD 98 58 */ stb r5, lbl_8063EB18-_SDA_BASE_(r13) /* 80050318 0004BF78 B0 83 00 02 */ sth r4, 2(r3) /* 8005031C 0004BF7C 98 03 00 04 */ stb r0, 4(r3) /* 80050320 0004BF80 4E 80 00 20 */ blr