.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global func_801EE044 func_801EE044: /* 801EE044 001E9CA4 3D 00 80 49 */ lis r8, lbl_804919B0@ha /* 801EE048 001E9CA8 3C A0 80 49 */ lis r5, lbl_80491A3C@ha /* 801EE04C 001E9CAC 38 C0 00 01 */ li r6, 1 /* 801EE050 001E9CB0 39 20 00 00 */ li r9, 0 /* 801EE054 001E9CB4 39 08 19 B0 */ addi r8, r8, lbl_804919B0@l /* 801EE058 001E9CB8 38 65 1A 3C */ addi r3, r5, lbl_80491A3C@l /* 801EE05C 001E9CBC 38 E0 00 FF */ li r7, 0xff /* 801EE060 001E9CC0 38 80 00 04 */ li r4, 4 /* 801EE064 001E9CC4 38 00 00 05 */ li r0, 5 /* 801EE068 001E9CC8 99 28 00 60 */ stb r9, 0x60(r8) /* 801EE06C 001E9CCC 99 28 00 61 */ stb r9, 0x61(r8) /* 801EE070 001E9CD0 99 28 00 62 */ stb r9, 0x62(r8) /* 801EE074 001E9CD4 99 28 00 63 */ stb r9, 0x63(r8) /* 801EE078 001E9CD8 99 28 00 64 */ stb r9, 0x64(r8) /* 801EE07C 001E9CDC 99 28 00 65 */ stb r9, 0x65(r8) /* 801EE080 001E9CE0 99 28 00 66 */ stb r9, 0x66(r8) /* 801EE084 001E9CE4 98 E8 00 67 */ stb r7, 0x67(r8) /* 801EE088 001E9CE8 98 C5 1A 3C */ stb r6, 0x1a3c(r5) /* 801EE08C 001E9CEC 98 83 00 01 */ stb r4, 1(r3) /* 801EE090 001E9CF0 98 03 00 02 */ stb r0, 2(r3) /* 801EE094 001E9CF4 98 C3 00 06 */ stb r6, 6(r3) /* 801EE098 001E9CF8 99 23 00 07 */ stb r9, 7(r3) /* 801EE09C 001E9CFC 98 C3 00 0F */ stb r6, 0xf(r3) /* 801EE0A0 001E9D00 4E 80 00 20 */ blr .global func_801EE0A4 func_801EE0A4: /* 801EE0A4 001E9D04 94 21 FF 90 */ stwu r1, -0x70(r1) /* 801EE0A8 001E9D08 7C 08 02 A6 */ mflr r0 /* 801EE0AC 001E9D0C 90 01 00 74 */ stw r0, 0x74(r1) /* 801EE0B0 001E9D10 DB E1 00 60 */ stfd f31, 0x60(r1) /* 801EE0B4 001E9D14 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0 /* 801EE0B8 001E9D18 DB C1 00 50 */ stfd f30, 0x50(r1) /* 801EE0BC 001E9D1C F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0 /* 801EE0C0 001E9D20 3C 00 43 30 */ lis r0, 0x4330 /* 801EE0C4 001E9D24 C8 42 97 C8 */ lfd f2, lbl_80641DC8-_SDA2_BASE_(r2) /* 801EE0C8 001E9D28 90 81 00 3C */ stw r4, 0x3c(r1) /* 801EE0CC 001E9D2C C0 22 97 C0 */ lfs f1, lbl_80641DC0-_SDA2_BASE_(r2) /* 801EE0D0 001E9D30 90 01 00 38 */ stw r0, 0x38(r1) /* 801EE0D4 001E9D34 C8 01 00 38 */ lfd f0, 0x38(r1) /* 801EE0D8 001E9D38 93 E1 00 4C */ stw r31, 0x4c(r1) /* 801EE0DC 001E9D3C 7C DF 33 78 */ mr r31, r6 /* 801EE0E0 001E9D40 EC 40 10 28 */ fsubs f2, f0, f2 /* 801EE0E4 001E9D44 C0 02 97 C4 */ lfs f0, lbl_80641DC4-_SDA2_BASE_(r2) /* 801EE0E8 001E9D48 93 C1 00 48 */ stw r30, 0x48(r1) /* 801EE0EC 001E9D4C 7C BE 2B 78 */ mr r30, r5 /* 801EE0F0 001E9D50 7F C4 F3 78 */ mr r4, r30 /* 801EE0F4 001E9D54 EF E2 08 24 */ fdivs f31, f2, f1 /* 801EE0F8 001E9D58 93 A1 00 44 */ stw r29, 0x44(r1) /* 801EE0FC 001E9D5C 7C 7D 1B 78 */ mr r29, r3 /* 801EE100 001E9D60 7F C3 F3 78 */ mr r3, r30 /* 801EE104 001E9D64 EF C0 F8 28 */ fsubs f30, f0, f31 /* 801EE108 001E9D68 FC 20 F0 90 */ fmr f1, f30 /* 801EE10C 001E9D6C 48 08 EC 01 */ bl PSVECScale /* 801EE110 001E9D70 7F A3 EB 78 */ mr r3, r29 /* 801EE114 001E9D74 7F E4 FB 78 */ mr r4, r31 /* 801EE118 001E9D78 38 A1 00 2C */ addi r5, r1, 0x2c /* 801EE11C 001E9D7C 48 08 E8 E1 */ bl PSMTXMultVec /* 801EE120 001E9D80 FC 20 F8 90 */ fmr f1, f31 /* 801EE124 001E9D84 38 61 00 2C */ addi r3, r1, 0x2c /* 801EE128 001E9D88 38 81 00 20 */ addi r4, r1, 0x20 /* 801EE12C 001E9D8C 48 08 EB E1 */ bl PSVECScale /* 801EE130 001E9D90 7F C3 F3 78 */ mr r3, r30 /* 801EE134 001E9D94 7F C5 F3 78 */ mr r5, r30 /* 801EE138 001E9D98 38 81 00 20 */ addi r4, r1, 0x20 /* 801EE13C 001E9D9C 48 08 EB 89 */ bl PSVECAdd /* 801EE140 001E9DA0 FC 20 F0 90 */ fmr f1, f30 /* 801EE144 001E9DA4 38 7E 00 0C */ addi r3, r30, 0xc /* 801EE148 001E9DA8 7C 64 1B 78 */ mr r4, r3 /* 801EE14C 001E9DAC 48 08 EB C1 */ bl PSVECScale /* 801EE150 001E9DB0 7F A3 EB 78 */ mr r3, r29 /* 801EE154 001E9DB4 38 9F 00 0C */ addi r4, r31, 0xc /* 801EE158 001E9DB8 38 A1 00 14 */ addi r5, r1, 0x14 /* 801EE15C 001E9DBC 48 08 E8 F5 */ bl PSMTXMultVecSR /* 801EE160 001E9DC0 C0 61 00 14 */ lfs f3, 0x14(r1) /* 801EE164 001E9DC4 FC 20 F8 90 */ fmr f1, f31 /* 801EE168 001E9DC8 C0 41 00 18 */ lfs f2, 0x18(r1) /* 801EE16C 001E9DCC 38 61 00 2C */ addi r3, r1, 0x2c /* 801EE170 001E9DD0 C0 01 00 1C */ lfs f0, 0x1c(r1) /* 801EE174 001E9DD4 38 81 00 08 */ addi r4, r1, 8 /* 801EE178 001E9DD8 D0 61 00 2C */ stfs f3, 0x2c(r1) /* 801EE17C 001E9DDC D0 41 00 30 */ stfs f2, 0x30(r1) /* 801EE180 001E9DE0 D0 01 00 34 */ stfs f0, 0x34(r1) /* 801EE184 001E9DE4 48 08 EB 89 */ bl PSVECScale /* 801EE188 001E9DE8 38 7E 00 0C */ addi r3, r30, 0xc /* 801EE18C 001E9DEC 38 81 00 08 */ addi r4, r1, 8 /* 801EE190 001E9DF0 7C 65 1B 78 */ mr r5, r3 /* 801EE194 001E9DF4 48 08 EB 31 */ bl PSVECAdd /* 801EE198 001E9DF8 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0 /* 801EE19C 001E9DFC CB E1 00 60 */ lfd f31, 0x60(r1) /* 801EE1A0 001E9E00 E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0 /* 801EE1A4 001E9E04 CB C1 00 50 */ lfd f30, 0x50(r1) /* 801EE1A8 001E9E08 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 801EE1AC 001E9E0C 83 C1 00 48 */ lwz r30, 0x48(r1) /* 801EE1B0 001E9E10 80 01 00 74 */ lwz r0, 0x74(r1) /* 801EE1B4 001E9E14 83 A1 00 44 */ lwz r29, 0x44(r1) /* 801EE1B8 001E9E18 7C 08 03 A6 */ mtlr r0 /* 801EE1BC 001E9E1C 38 21 00 70 */ addi r1, r1, 0x70 /* 801EE1C0 001E9E20 4E 80 00 20 */ blr .global func_801EE1C4 func_801EE1C4: /* 801EE1C4 001E9E24 94 21 FF 40 */ stwu r1, -0xc0(r1) /* 801EE1C8 001E9E28 7C 08 02 A6 */ mflr r0 /* 801EE1CC 001E9E2C 90 01 00 C4 */ stw r0, 0xc4(r1) /* 801EE1D0 001E9E30 DB E1 00 B0 */ stfd f31, 0xb0(r1) /* 801EE1D4 001E9E34 F3 E1 00 B8 */ psq_st f31, 184(r1), 0, qr0 /* 801EE1D8 001E9E38 DB C1 00 A0 */ stfd f30, 0xa0(r1) /* 801EE1DC 001E9E3C F3 C1 00 A8 */ psq_st f30, 168(r1), 0, qr0 /* 801EE1E0 001E9E40 DB A1 00 90 */ stfd f29, 0x90(r1) /* 801EE1E4 001E9E44 F3 A1 00 98 */ psq_st f29, 152(r1), 0, qr0 /* 801EE1E8 001E9E48 3C 00 43 30 */ lis r0, 0x4330 /* 801EE1EC 001E9E4C C8 82 97 C8 */ lfd f4, lbl_80641DC8-_SDA2_BASE_(r2) /* 801EE1F0 001E9E50 90 A1 00 6C */ stw r5, 0x6c(r1) /* 801EE1F4 001E9E54 C0 42 97 C0 */ lfs f2, lbl_80641DC0-_SDA2_BASE_(r2) /* 801EE1F8 001E9E58 90 01 00 68 */ stw r0, 0x68(r1) /* 801EE1FC 001E9E5C C8 01 00 68 */ lfd f0, 0x68(r1) /* 801EE200 001E9E60 90 C1 00 74 */ stw r6, 0x74(r1) /* 801EE204 001E9E64 EC 60 20 28 */ fsubs f3, f0, f4 /* 801EE208 001E9E68 C0 02 97 C4 */ lfs f0, lbl_80641DC4-_SDA2_BASE_(r2) /* 801EE20C 001E9E6C 90 01 00 70 */ stw r0, 0x70(r1) /* 801EE210 001E9E70 C8 21 00 70 */ lfd f1, 0x70(r1) /* 801EE214 001E9E74 EF E3 10 24 */ fdivs f31, f3, f2 /* 801EE218 001E9E78 93 E1 00 8C */ stw r31, 0x8c(r1) /* 801EE21C 001E9E7C 7D 1F 43 78 */ mr r31, r8 /* 801EE220 001E9E80 93 C1 00 88 */ stw r30, 0x88(r1) /* 801EE224 001E9E84 7C FE 3B 78 */ mr r30, r7 /* 801EE228 001E9E88 93 A1 00 84 */ stw r29, 0x84(r1) /* 801EE22C 001E9E8C EC 21 20 28 */ fsubs f1, f1, f4 /* 801EE230 001E9E90 93 81 00 80 */ stw r28, 0x80(r1) /* 801EE234 001E9E94 7C 7C 1B 78 */ mr r28, r3 /* 801EE238 001E9E98 7C 9D 23 78 */ mr r29, r4 /* 801EE23C 001E9E9C 7F C3 F3 78 */ mr r3, r30 /* 801EE240 001E9EA0 7F C4 F3 78 */ mr r4, r30 /* 801EE244 001E9EA4 EF C1 10 24 */ fdivs f30, f1, f2 /* 801EE248 001E9EA8 EC 3F F0 2A */ fadds f1, f31, f30 /* 801EE24C 001E9EAC EF A0 08 28 */ fsubs f29, f0, f1 /* 801EE250 001E9EB0 FC 20 E8 90 */ fmr f1, f29 /* 801EE254 001E9EB4 48 08 EA B9 */ bl PSVECScale /* 801EE258 001E9EB8 7F 83 E3 78 */ mr r3, r28 /* 801EE25C 001E9EBC 7F E4 FB 78 */ mr r4, r31 /* 801EE260 001E9EC0 38 A1 00 5C */ addi r5, r1, 0x5c /* 801EE264 001E9EC4 48 08 E7 99 */ bl PSMTXMultVec /* 801EE268 001E9EC8 FC 20 F8 90 */ fmr f1, f31 /* 801EE26C 001E9ECC 38 61 00 5C */ addi r3, r1, 0x5c /* 801EE270 001E9ED0 38 81 00 50 */ addi r4, r1, 0x50 /* 801EE274 001E9ED4 48 08 EA 99 */ bl PSVECScale /* 801EE278 001E9ED8 7F C3 F3 78 */ mr r3, r30 /* 801EE27C 001E9EDC 7F C5 F3 78 */ mr r5, r30 /* 801EE280 001E9EE0 38 81 00 50 */ addi r4, r1, 0x50 /* 801EE284 001E9EE4 48 08 EA 41 */ bl PSVECAdd /* 801EE288 001E9EE8 7F A3 EB 78 */ mr r3, r29 /* 801EE28C 001E9EEC 7F E4 FB 78 */ mr r4, r31 /* 801EE290 001E9EF0 38 A1 00 44 */ addi r5, r1, 0x44 /* 801EE294 001E9EF4 48 08 E7 69 */ bl PSMTXMultVec /* 801EE298 001E9EF8 C0 61 00 44 */ lfs f3, 0x44(r1) /* 801EE29C 001E9EFC FC 20 F0 90 */ fmr f1, f30 /* 801EE2A0 001E9F00 C0 41 00 48 */ lfs f2, 0x48(r1) /* 801EE2A4 001E9F04 38 61 00 5C */ addi r3, r1, 0x5c /* 801EE2A8 001E9F08 C0 01 00 4C */ lfs f0, 0x4c(r1) /* 801EE2AC 001E9F0C 38 81 00 38 */ addi r4, r1, 0x38 /* 801EE2B0 001E9F10 D0 61 00 5C */ stfs f3, 0x5c(r1) /* 801EE2B4 001E9F14 D0 41 00 60 */ stfs f2, 0x60(r1) /* 801EE2B8 001E9F18 D0 01 00 64 */ stfs f0, 0x64(r1) /* 801EE2BC 001E9F1C 48 08 EA 51 */ bl PSVECScale /* 801EE2C0 001E9F20 7F C3 F3 78 */ mr r3, r30 /* 801EE2C4 001E9F24 7F C5 F3 78 */ mr r5, r30 /* 801EE2C8 001E9F28 38 81 00 38 */ addi r4, r1, 0x38 /* 801EE2CC 001E9F2C 48 08 E9 F9 */ bl PSVECAdd /* 801EE2D0 001E9F30 FC 20 E8 90 */ fmr f1, f29 /* 801EE2D4 001E9F34 38 7E 00 0C */ addi r3, r30, 0xc /* 801EE2D8 001E9F38 7C 64 1B 78 */ mr r4, r3 /* 801EE2DC 001E9F3C 48 08 EA 31 */ bl PSVECScale /* 801EE2E0 001E9F40 7F 83 E3 78 */ mr r3, r28 /* 801EE2E4 001E9F44 38 9F 00 0C */ addi r4, r31, 0xc /* 801EE2E8 001E9F48 38 A1 00 2C */ addi r5, r1, 0x2c /* 801EE2EC 001E9F4C 48 08 E7 65 */ bl PSMTXMultVecSR /* 801EE2F0 001E9F50 C0 61 00 2C */ lfs f3, 0x2c(r1) /* 801EE2F4 001E9F54 FC 20 F8 90 */ fmr f1, f31 /* 801EE2F8 001E9F58 C0 41 00 30 */ lfs f2, 0x30(r1) /* 801EE2FC 001E9F5C 38 61 00 5C */ addi r3, r1, 0x5c /* 801EE300 001E9F60 C0 01 00 34 */ lfs f0, 0x34(r1) /* 801EE304 001E9F64 38 81 00 20 */ addi r4, r1, 0x20 /* 801EE308 001E9F68 D0 61 00 5C */ stfs f3, 0x5c(r1) /* 801EE30C 001E9F6C D0 41 00 60 */ stfs f2, 0x60(r1) /* 801EE310 001E9F70 D0 01 00 64 */ stfs f0, 0x64(r1) /* 801EE314 001E9F74 48 08 E9 F9 */ bl PSVECScale /* 801EE318 001E9F78 38 7E 00 0C */ addi r3, r30, 0xc /* 801EE31C 001E9F7C 38 81 00 20 */ addi r4, r1, 0x20 /* 801EE320 001E9F80 7C 65 1B 78 */ mr r5, r3 /* 801EE324 001E9F84 48 08 E9 A1 */ bl PSVECAdd /* 801EE328 001E9F88 7F A3 EB 78 */ mr r3, r29 /* 801EE32C 001E9F8C 38 9F 00 0C */ addi r4, r31, 0xc /* 801EE330 001E9F90 38 A1 00 14 */ addi r5, r1, 0x14 /* 801EE334 001E9F94 48 08 E7 1D */ bl PSMTXMultVecSR /* 801EE338 001E9F98 C0 61 00 14 */ lfs f3, 0x14(r1) /* 801EE33C 001E9F9C FC 20 F0 90 */ fmr f1, f30 /* 801EE340 001E9FA0 C0 41 00 18 */ lfs f2, 0x18(r1) /* 801EE344 001E9FA4 38 61 00 5C */ addi r3, r1, 0x5c /* 801EE348 001E9FA8 C0 01 00 1C */ lfs f0, 0x1c(r1) /* 801EE34C 001E9FAC 38 81 00 08 */ addi r4, r1, 8 /* 801EE350 001E9FB0 D0 61 00 5C */ stfs f3, 0x5c(r1) /* 801EE354 001E9FB4 D0 41 00 60 */ stfs f2, 0x60(r1) /* 801EE358 001E9FB8 D0 01 00 64 */ stfs f0, 0x64(r1) /* 801EE35C 001E9FBC 48 08 E9 B1 */ bl PSVECScale /* 801EE360 001E9FC0 38 7E 00 0C */ addi r3, r30, 0xc /* 801EE364 001E9FC4 38 81 00 08 */ addi r4, r1, 8 /* 801EE368 001E9FC8 7C 65 1B 78 */ mr r5, r3 /* 801EE36C 001E9FCC 48 08 E9 59 */ bl PSVECAdd /* 801EE370 001E9FD0 E3 E1 00 B8 */ psq_l f31, 184(r1), 0, qr0 /* 801EE374 001E9FD4 CB E1 00 B0 */ lfd f31, 0xb0(r1) /* 801EE378 001E9FD8 E3 C1 00 A8 */ psq_l f30, 168(r1), 0, qr0 /* 801EE37C 001E9FDC CB C1 00 A0 */ lfd f30, 0xa0(r1) /* 801EE380 001E9FE0 E3 A1 00 98 */ psq_l f29, 152(r1), 0, qr0 /* 801EE384 001E9FE4 CB A1 00 90 */ lfd f29, 0x90(r1) /* 801EE388 001E9FE8 83 E1 00 8C */ lwz r31, 0x8c(r1) /* 801EE38C 001E9FEC 83 C1 00 88 */ lwz r30, 0x88(r1) /* 801EE390 001E9FF0 83 A1 00 84 */ lwz r29, 0x84(r1) /* 801EE394 001E9FF4 80 01 00 C4 */ lwz r0, 0xc4(r1) /* 801EE398 001E9FF8 83 81 00 80 */ lwz r28, 0x80(r1) /* 801EE39C 001E9FFC 7C 08 03 A6 */ mtlr r0 /* 801EE3A0 001EA000 38 21 00 C0 */ addi r1, r1, 0xc0 /* 801EE3A4 001EA004 4E 80 00 20 */ blr .global func_801EE3A8 func_801EE3A8: /* 801EE3A8 001EA008 94 21 FF 60 */ stwu r1, -0xa0(r1) /* 801EE3AC 001EA00C 7C 08 02 A6 */ mflr r0 /* 801EE3B0 001EA010 90 01 00 A4 */ stw r0, 0xa4(r1) /* 801EE3B4 001EA014 DB E1 00 90 */ stfd f31, 0x90(r1) /* 801EE3B8 001EA018 F3 E1 00 98 */ psq_st f31, 152(r1), 0, qr0 /* 801EE3BC 001EA01C DB C1 00 80 */ stfd f30, 0x80(r1) /* 801EE3C0 001EA020 F3 C1 00 88 */ psq_st f30, 136(r1), 0, qr0 /* 801EE3C4 001EA024 3C 00 43 30 */ lis r0, 0x4330 /* 801EE3C8 001EA028 C8 42 97 C8 */ lfd f2, lbl_80641DC8-_SDA2_BASE_(r2) /* 801EE3CC 001EA02C 90 81 00 6C */ stw r4, 0x6c(r1) /* 801EE3D0 001EA030 C0 22 97 C0 */ lfs f1, lbl_80641DC0-_SDA2_BASE_(r2) /* 801EE3D4 001EA034 90 01 00 68 */ stw r0, 0x68(r1) /* 801EE3D8 001EA038 C8 01 00 68 */ lfd f0, 0x68(r1) /* 801EE3DC 001EA03C 93 E1 00 7C */ stw r31, 0x7c(r1) /* 801EE3E0 001EA040 7C DF 33 78 */ mr r31, r6 /* 801EE3E4 001EA044 EC 40 10 28 */ fsubs f2, f0, f2 /* 801EE3E8 001EA048 C0 02 97 C4 */ lfs f0, lbl_80641DC4-_SDA2_BASE_(r2) /* 801EE3EC 001EA04C 93 C1 00 78 */ stw r30, 0x78(r1) /* 801EE3F0 001EA050 7C BE 2B 78 */ mr r30, r5 /* 801EE3F4 001EA054 7F C4 F3 78 */ mr r4, r30 /* 801EE3F8 001EA058 EF E2 08 24 */ fdivs f31, f2, f1 /* 801EE3FC 001EA05C 93 A1 00 74 */ stw r29, 0x74(r1) /* 801EE400 001EA060 7C 7D 1B 78 */ mr r29, r3 /* 801EE404 001EA064 7F C3 F3 78 */ mr r3, r30 /* 801EE408 001EA068 EF C0 F8 28 */ fsubs f30, f0, f31 /* 801EE40C 001EA06C FC 20 F0 90 */ fmr f1, f30 /* 801EE410 001EA070 48 08 E8 FD */ bl PSVECScale /* 801EE414 001EA074 7F A3 EB 78 */ mr r3, r29 /* 801EE418 001EA078 7F E4 FB 78 */ mr r4, r31 /* 801EE41C 001EA07C 38 A1 00 5C */ addi r5, r1, 0x5c /* 801EE420 001EA080 48 08 E5 DD */ bl PSMTXMultVec /* 801EE424 001EA084 FC 20 F8 90 */ fmr f1, f31 /* 801EE428 001EA088 38 61 00 5C */ addi r3, r1, 0x5c /* 801EE42C 001EA08C 38 81 00 50 */ addi r4, r1, 0x50 /* 801EE430 001EA090 48 08 E8 DD */ bl PSVECScale /* 801EE434 001EA094 7F C3 F3 78 */ mr r3, r30 /* 801EE438 001EA098 7F C5 F3 78 */ mr r5, r30 /* 801EE43C 001EA09C 38 81 00 50 */ addi r4, r1, 0x50 /* 801EE440 001EA0A0 48 08 E8 85 */ bl PSVECAdd /* 801EE444 001EA0A4 FC 20 F0 90 */ fmr f1, f30 /* 801EE448 001EA0A8 38 7E 00 0C */ addi r3, r30, 0xc /* 801EE44C 001EA0AC 7C 64 1B 78 */ mr r4, r3 /* 801EE450 001EA0B0 48 08 E8 BD */ bl PSVECScale /* 801EE454 001EA0B4 7F A3 EB 78 */ mr r3, r29 /* 801EE458 001EA0B8 38 9F 00 0C */ addi r4, r31, 0xc /* 801EE45C 001EA0BC 38 A1 00 44 */ addi r5, r1, 0x44 /* 801EE460 001EA0C0 48 08 E5 F1 */ bl PSMTXMultVecSR /* 801EE464 001EA0C4 C0 61 00 44 */ lfs f3, 0x44(r1) /* 801EE468 001EA0C8 FC 20 F8 90 */ fmr f1, f31 /* 801EE46C 001EA0CC C0 41 00 48 */ lfs f2, 0x48(r1) /* 801EE470 001EA0D0 38 61 00 5C */ addi r3, r1, 0x5c /* 801EE474 001EA0D4 C0 01 00 4C */ lfs f0, 0x4c(r1) /* 801EE478 001EA0D8 38 81 00 38 */ addi r4, r1, 0x38 /* 801EE47C 001EA0DC D0 61 00 5C */ stfs f3, 0x5c(r1) /* 801EE480 001EA0E0 D0 41 00 60 */ stfs f2, 0x60(r1) /* 801EE484 001EA0E4 D0 01 00 64 */ stfs f0, 0x64(r1) /* 801EE488 001EA0E8 48 08 E8 85 */ bl PSVECScale /* 801EE48C 001EA0EC 38 7E 00 0C */ addi r3, r30, 0xc /* 801EE490 001EA0F0 38 81 00 38 */ addi r4, r1, 0x38 /* 801EE494 001EA0F4 7C 65 1B 78 */ mr r5, r3 /* 801EE498 001EA0F8 48 08 E8 2D */ bl PSVECAdd /* 801EE49C 001EA0FC FC 20 F0 90 */ fmr f1, f30 /* 801EE4A0 001EA100 38 7E 00 18 */ addi r3, r30, 0x18 /* 801EE4A4 001EA104 7C 64 1B 78 */ mr r4, r3 /* 801EE4A8 001EA108 48 08 E8 65 */ bl PSVECScale /* 801EE4AC 001EA10C 7F A3 EB 78 */ mr r3, r29 /* 801EE4B0 001EA110 38 9F 00 18 */ addi r4, r31, 0x18 /* 801EE4B4 001EA114 38 A1 00 2C */ addi r5, r1, 0x2c /* 801EE4B8 001EA118 48 08 E5 99 */ bl PSMTXMultVecSR /* 801EE4BC 001EA11C C0 61 00 2C */ lfs f3, 0x2c(r1) /* 801EE4C0 001EA120 FC 20 F8 90 */ fmr f1, f31 /* 801EE4C4 001EA124 C0 41 00 30 */ lfs f2, 0x30(r1) /* 801EE4C8 001EA128 38 61 00 5C */ addi r3, r1, 0x5c /* 801EE4CC 001EA12C C0 01 00 34 */ lfs f0, 0x34(r1) /* 801EE4D0 001EA130 38 81 00 20 */ addi r4, r1, 0x20 /* 801EE4D4 001EA134 D0 61 00 5C */ stfs f3, 0x5c(r1) /* 801EE4D8 001EA138 D0 41 00 60 */ stfs f2, 0x60(r1) /* 801EE4DC 001EA13C D0 01 00 64 */ stfs f0, 0x64(r1) /* 801EE4E0 001EA140 48 08 E8 2D */ bl PSVECScale /* 801EE4E4 001EA144 38 7E 00 18 */ addi r3, r30, 0x18 /* 801EE4E8 001EA148 38 81 00 20 */ addi r4, r1, 0x20 /* 801EE4EC 001EA14C 7C 65 1B 78 */ mr r5, r3 /* 801EE4F0 001EA150 48 08 E7 D5 */ bl PSVECAdd /* 801EE4F4 001EA154 FC 20 F0 90 */ fmr f1, f30 /* 801EE4F8 001EA158 38 7E 00 24 */ addi r3, r30, 0x24 /* 801EE4FC 001EA15C 7C 64 1B 78 */ mr r4, r3 /* 801EE500 001EA160 48 08 E8 0D */ bl PSVECScale /* 801EE504 001EA164 7F A3 EB 78 */ mr r3, r29 /* 801EE508 001EA168 38 9F 00 24 */ addi r4, r31, 0x24 /* 801EE50C 001EA16C 38 A1 00 14 */ addi r5, r1, 0x14 /* 801EE510 001EA170 48 08 E5 41 */ bl PSMTXMultVecSR /* 801EE514 001EA174 C0 61 00 14 */ lfs f3, 0x14(r1) /* 801EE518 001EA178 FC 20 F8 90 */ fmr f1, f31 /* 801EE51C 001EA17C C0 41 00 18 */ lfs f2, 0x18(r1) /* 801EE520 001EA180 38 61 00 5C */ addi r3, r1, 0x5c /* 801EE524 001EA184 C0 01 00 1C */ lfs f0, 0x1c(r1) /* 801EE528 001EA188 38 81 00 08 */ addi r4, r1, 8 /* 801EE52C 001EA18C D0 61 00 5C */ stfs f3, 0x5c(r1) /* 801EE530 001EA190 D0 41 00 60 */ stfs f2, 0x60(r1) /* 801EE534 001EA194 D0 01 00 64 */ stfs f0, 0x64(r1) /* 801EE538 001EA198 48 08 E7 D5 */ bl PSVECScale /* 801EE53C 001EA19C 38 7E 00 24 */ addi r3, r30, 0x24 /* 801EE540 001EA1A0 38 81 00 08 */ addi r4, r1, 8 /* 801EE544 001EA1A4 7C 65 1B 78 */ mr r5, r3 /* 801EE548 001EA1A8 48 08 E7 7D */ bl PSVECAdd /* 801EE54C 001EA1AC E3 E1 00 98 */ psq_l f31, 152(r1), 0, qr0 /* 801EE550 001EA1B0 CB E1 00 90 */ lfd f31, 0x90(r1) /* 801EE554 001EA1B4 E3 C1 00 88 */ psq_l f30, 136(r1), 0, qr0 /* 801EE558 001EA1B8 CB C1 00 80 */ lfd f30, 0x80(r1) /* 801EE55C 001EA1BC 83 E1 00 7C */ lwz r31, 0x7c(r1) /* 801EE560 001EA1C0 83 C1 00 78 */ lwz r30, 0x78(r1) /* 801EE564 001EA1C4 80 01 00 A4 */ lwz r0, 0xa4(r1) /* 801EE568 001EA1C8 83 A1 00 74 */ lwz r29, 0x74(r1) /* 801EE56C 001EA1CC 7C 08 03 A6 */ mtlr r0 /* 801EE570 001EA1D0 38 21 00 A0 */ addi r1, r1, 0xa0 /* 801EE574 001EA1D4 4E 80 00 20 */ blr .global func_801EE578 func_801EE578: /* 801EE578 001EA1D8 94 21 FE E0 */ stwu r1, -0x120(r1) /* 801EE57C 001EA1DC 7C 08 02 A6 */ mflr r0 /* 801EE580 001EA1E0 90 01 01 24 */ stw r0, 0x124(r1) /* 801EE584 001EA1E4 DB E1 01 10 */ stfd f31, 0x110(r1) /* 801EE588 001EA1E8 F3 E1 01 18 */ psq_st f31, 280(r1), 0, qr0 /* 801EE58C 001EA1EC DB C1 01 00 */ stfd f30, 0x100(r1) /* 801EE590 001EA1F0 F3 C1 01 08 */ psq_st f30, 264(r1), 0, qr0 /* 801EE594 001EA1F4 DB A1 00 F0 */ stfd f29, 0xf0(r1) /* 801EE598 001EA1F8 F3 A1 00 F8 */ psq_st f29, 248(r1), 0, qr0 /* 801EE59C 001EA1FC 3C 00 43 30 */ lis r0, 0x4330 /* 801EE5A0 001EA200 C8 82 97 C8 */ lfd f4, lbl_80641DC8-_SDA2_BASE_(r2) /* 801EE5A4 001EA204 90 A1 00 CC */ stw r5, 0xcc(r1) /* 801EE5A8 001EA208 C0 42 97 C0 */ lfs f2, lbl_80641DC0-_SDA2_BASE_(r2) /* 801EE5AC 001EA20C 90 01 00 C8 */ stw r0, 0xc8(r1) /* 801EE5B0 001EA210 C8 01 00 C8 */ lfd f0, 0xc8(r1) /* 801EE5B4 001EA214 90 C1 00 D4 */ stw r6, 0xd4(r1) /* 801EE5B8 001EA218 EC 60 20 28 */ fsubs f3, f0, f4 /* 801EE5BC 001EA21C C0 02 97 C4 */ lfs f0, lbl_80641DC4-_SDA2_BASE_(r2) /* 801EE5C0 001EA220 90 01 00 D0 */ stw r0, 0xd0(r1) /* 801EE5C4 001EA224 C8 21 00 D0 */ lfd f1, 0xd0(r1) /* 801EE5C8 001EA228 EF E3 10 24 */ fdivs f31, f3, f2 /* 801EE5CC 001EA22C 93 E1 00 EC */ stw r31, 0xec(r1) /* 801EE5D0 001EA230 7D 1F 43 78 */ mr r31, r8 /* 801EE5D4 001EA234 93 C1 00 E8 */ stw r30, 0xe8(r1) /* 801EE5D8 001EA238 7C FE 3B 78 */ mr r30, r7 /* 801EE5DC 001EA23C 93 A1 00 E4 */ stw r29, 0xe4(r1) /* 801EE5E0 001EA240 EC 21 20 28 */ fsubs f1, f1, f4 /* 801EE5E4 001EA244 93 81 00 E0 */ stw r28, 0xe0(r1) /* 801EE5E8 001EA248 7C 7C 1B 78 */ mr r28, r3 /* 801EE5EC 001EA24C 7C 9D 23 78 */ mr r29, r4 /* 801EE5F0 001EA250 7F C3 F3 78 */ mr r3, r30 /* 801EE5F4 001EA254 7F C4 F3 78 */ mr r4, r30 /* 801EE5F8 001EA258 EF C1 10 24 */ fdivs f30, f1, f2 /* 801EE5FC 001EA25C EC 3F F0 2A */ fadds f1, f31, f30 /* 801EE600 001EA260 EF A0 08 28 */ fsubs f29, f0, f1 /* 801EE604 001EA264 FC 20 E8 90 */ fmr f1, f29 /* 801EE608 001EA268 48 08 E7 05 */ bl PSVECScale /* 801EE60C 001EA26C 7F 83 E3 78 */ mr r3, r28 /* 801EE610 001EA270 7F E4 FB 78 */ mr r4, r31 /* 801EE614 001EA274 38 A1 00 BC */ addi r5, r1, 0xbc /* 801EE618 001EA278 48 08 E3 E5 */ bl PSMTXMultVec /* 801EE61C 001EA27C FC 20 F8 90 */ fmr f1, f31 /* 801EE620 001EA280 38 61 00 BC */ addi r3, r1, 0xbc /* 801EE624 001EA284 38 81 00 B0 */ addi r4, r1, 0xb0 /* 801EE628 001EA288 48 08 E6 E5 */ bl PSVECScale /* 801EE62C 001EA28C 7F C3 F3 78 */ mr r3, r30 /* 801EE630 001EA290 7F C5 F3 78 */ mr r5, r30 /* 801EE634 001EA294 38 81 00 B0 */ addi r4, r1, 0xb0 /* 801EE638 001EA298 48 08 E6 8D */ bl PSVECAdd /* 801EE63C 001EA29C 7F A3 EB 78 */ mr r3, r29 /* 801EE640 001EA2A0 7F E4 FB 78 */ mr r4, r31 /* 801EE644 001EA2A4 38 A1 00 A4 */ addi r5, r1, 0xa4 /* 801EE648 001EA2A8 48 08 E3 B5 */ bl PSMTXMultVec /* 801EE64C 001EA2AC C0 61 00 A4 */ lfs f3, 0xa4(r1) /* 801EE650 001EA2B0 FC 20 F0 90 */ fmr f1, f30 /* 801EE654 001EA2B4 C0 41 00 A8 */ lfs f2, 0xa8(r1) /* 801EE658 001EA2B8 38 61 00 BC */ addi r3, r1, 0xbc /* 801EE65C 001EA2BC C0 01 00 AC */ lfs f0, 0xac(r1) /* 801EE660 001EA2C0 38 81 00 98 */ addi r4, r1, 0x98 /* 801EE664 001EA2C4 D0 61 00 BC */ stfs f3, 0xbc(r1) /* 801EE668 001EA2C8 D0 41 00 C0 */ stfs f2, 0xc0(r1) /* 801EE66C 001EA2CC D0 01 00 C4 */ stfs f0, 0xc4(r1) /* 801EE670 001EA2D0 48 08 E6 9D */ bl PSVECScale /* 801EE674 001EA2D4 7F C3 F3 78 */ mr r3, r30 /* 801EE678 001EA2D8 7F C5 F3 78 */ mr r5, r30 /* 801EE67C 001EA2DC 38 81 00 98 */ addi r4, r1, 0x98 /* 801EE680 001EA2E0 48 08 E6 45 */ bl PSVECAdd /* 801EE684 001EA2E4 FC 20 E8 90 */ fmr f1, f29 /* 801EE688 001EA2E8 38 7E 00 0C */ addi r3, r30, 0xc /* 801EE68C 001EA2EC 7C 64 1B 78 */ mr r4, r3 /* 801EE690 001EA2F0 48 08 E6 7D */ bl PSVECScale /* 801EE694 001EA2F4 7F 83 E3 78 */ mr r3, r28 /* 801EE698 001EA2F8 38 9F 00 0C */ addi r4, r31, 0xc /* 801EE69C 001EA2FC 38 A1 00 8C */ addi r5, r1, 0x8c /* 801EE6A0 001EA300 48 08 E3 B1 */ bl PSMTXMultVecSR /* 801EE6A4 001EA304 C0 61 00 8C */ lfs f3, 0x8c(r1) /* 801EE6A8 001EA308 FC 20 F8 90 */ fmr f1, f31 /* 801EE6AC 001EA30C C0 41 00 90 */ lfs f2, 0x90(r1) /* 801EE6B0 001EA310 38 61 00 BC */ addi r3, r1, 0xbc /* 801EE6B4 001EA314 C0 01 00 94 */ lfs f0, 0x94(r1) /* 801EE6B8 001EA318 38 81 00 80 */ addi r4, r1, 0x80 /* 801EE6BC 001EA31C D0 61 00 BC */ stfs f3, 0xbc(r1) /* 801EE6C0 001EA320 D0 41 00 C0 */ stfs f2, 0xc0(r1) /* 801EE6C4 001EA324 D0 01 00 C4 */ stfs f0, 0xc4(r1) /* 801EE6C8 001EA328 48 08 E6 45 */ bl PSVECScale /* 801EE6CC 001EA32C 38 7E 00 0C */ addi r3, r30, 0xc /* 801EE6D0 001EA330 38 81 00 80 */ addi r4, r1, 0x80 /* 801EE6D4 001EA334 7C 65 1B 78 */ mr r5, r3 /* 801EE6D8 001EA338 48 08 E5 ED */ bl PSVECAdd /* 801EE6DC 001EA33C 7F A3 EB 78 */ mr r3, r29 /* 801EE6E0 001EA340 38 9F 00 0C */ addi r4, r31, 0xc /* 801EE6E4 001EA344 38 A1 00 74 */ addi r5, r1, 0x74 /* 801EE6E8 001EA348 48 08 E3 69 */ bl PSMTXMultVecSR /* 801EE6EC 001EA34C C0 61 00 74 */ lfs f3, 0x74(r1) /* 801EE6F0 001EA350 FC 20 F0 90 */ fmr f1, f30 /* 801EE6F4 001EA354 C0 41 00 78 */ lfs f2, 0x78(r1) /* 801EE6F8 001EA358 38 61 00 BC */ addi r3, r1, 0xbc /* 801EE6FC 001EA35C C0 01 00 7C */ lfs f0, 0x7c(r1) /* 801EE700 001EA360 38 81 00 68 */ addi r4, r1, 0x68 /* 801EE704 001EA364 D0 61 00 BC */ stfs f3, 0xbc(r1) /* 801EE708 001EA368 D0 41 00 C0 */ stfs f2, 0xc0(r1) /* 801EE70C 001EA36C D0 01 00 C4 */ stfs f0, 0xc4(r1) /* 801EE710 001EA370 48 08 E5 FD */ bl PSVECScale /* 801EE714 001EA374 38 7E 00 0C */ addi r3, r30, 0xc /* 801EE718 001EA378 38 81 00 68 */ addi r4, r1, 0x68 /* 801EE71C 001EA37C 7C 65 1B 78 */ mr r5, r3 /* 801EE720 001EA380 48 08 E5 A5 */ bl PSVECAdd /* 801EE724 001EA384 FC 20 E8 90 */ fmr f1, f29 /* 801EE728 001EA388 38 7E 00 18 */ addi r3, r30, 0x18 /* 801EE72C 001EA38C 7C 64 1B 78 */ mr r4, r3 /* 801EE730 001EA390 48 08 E5 DD */ bl PSVECScale /* 801EE734 001EA394 7F 83 E3 78 */ mr r3, r28 /* 801EE738 001EA398 38 9F 00 18 */ addi r4, r31, 0x18 /* 801EE73C 001EA39C 38 A1 00 5C */ addi r5, r1, 0x5c /* 801EE740 001EA3A0 48 08 E3 11 */ bl PSMTXMultVecSR /* 801EE744 001EA3A4 C0 61 00 5C */ lfs f3, 0x5c(r1) /* 801EE748 001EA3A8 FC 20 F8 90 */ fmr f1, f31 /* 801EE74C 001EA3AC C0 41 00 60 */ lfs f2, 0x60(r1) /* 801EE750 001EA3B0 38 61 00 BC */ addi r3, r1, 0xbc /* 801EE754 001EA3B4 C0 01 00 64 */ lfs f0, 0x64(r1) /* 801EE758 001EA3B8 38 81 00 50 */ addi r4, r1, 0x50 /* 801EE75C 001EA3BC D0 61 00 BC */ stfs f3, 0xbc(r1) /* 801EE760 001EA3C0 D0 41 00 C0 */ stfs f2, 0xc0(r1) /* 801EE764 001EA3C4 D0 01 00 C4 */ stfs f0, 0xc4(r1) /* 801EE768 001EA3C8 48 08 E5 A5 */ bl PSVECScale /* 801EE76C 001EA3CC 38 7E 00 18 */ addi r3, r30, 0x18 /* 801EE770 001EA3D0 38 81 00 50 */ addi r4, r1, 0x50 /* 801EE774 001EA3D4 7C 65 1B 78 */ mr r5, r3 /* 801EE778 001EA3D8 48 08 E5 4D */ bl PSVECAdd /* 801EE77C 001EA3DC 7F A3 EB 78 */ mr r3, r29 /* 801EE780 001EA3E0 38 9F 00 18 */ addi r4, r31, 0x18 /* 801EE784 001EA3E4 38 A1 00 44 */ addi r5, r1, 0x44 /* 801EE788 001EA3E8 48 08 E2 C9 */ bl PSMTXMultVecSR /* 801EE78C 001EA3EC C0 61 00 44 */ lfs f3, 0x44(r1) /* 801EE790 001EA3F0 FC 20 F0 90 */ fmr f1, f30 /* 801EE794 001EA3F4 C0 41 00 48 */ lfs f2, 0x48(r1) /* 801EE798 001EA3F8 38 61 00 BC */ addi r3, r1, 0xbc /* 801EE79C 001EA3FC C0 01 00 4C */ lfs f0, 0x4c(r1) /* 801EE7A0 001EA400 38 81 00 38 */ addi r4, r1, 0x38 /* 801EE7A4 001EA404 D0 61 00 BC */ stfs f3, 0xbc(r1) /* 801EE7A8 001EA408 D0 41 00 C0 */ stfs f2, 0xc0(r1) /* 801EE7AC 001EA40C D0 01 00 C4 */ stfs f0, 0xc4(r1) /* 801EE7B0 001EA410 48 08 E5 5D */ bl PSVECScale /* 801EE7B4 001EA414 38 7E 00 18 */ addi r3, r30, 0x18 /* 801EE7B8 001EA418 38 81 00 38 */ addi r4, r1, 0x38 /* 801EE7BC 001EA41C 7C 65 1B 78 */ mr r5, r3 /* 801EE7C0 001EA420 48 08 E5 05 */ bl PSVECAdd /* 801EE7C4 001EA424 FC 20 E8 90 */ fmr f1, f29 /* 801EE7C8 001EA428 38 7E 00 24 */ addi r3, r30, 0x24 /* 801EE7CC 001EA42C 7C 64 1B 78 */ mr r4, r3 /* 801EE7D0 001EA430 48 08 E5 3D */ bl PSVECScale /* 801EE7D4 001EA434 7F 83 E3 78 */ mr r3, r28 /* 801EE7D8 001EA438 38 9F 00 24 */ addi r4, r31, 0x24 /* 801EE7DC 001EA43C 38 A1 00 2C */ addi r5, r1, 0x2c /* 801EE7E0 001EA440 48 08 E2 71 */ bl PSMTXMultVecSR /* 801EE7E4 001EA444 C0 61 00 2C */ lfs f3, 0x2c(r1) /* 801EE7E8 001EA448 FC 20 F8 90 */ fmr f1, f31 /* 801EE7EC 001EA44C C0 41 00 30 */ lfs f2, 0x30(r1) /* 801EE7F0 001EA450 38 61 00 BC */ addi r3, r1, 0xbc /* 801EE7F4 001EA454 C0 01 00 34 */ lfs f0, 0x34(r1) /* 801EE7F8 001EA458 38 81 00 20 */ addi r4, r1, 0x20 /* 801EE7FC 001EA45C D0 61 00 BC */ stfs f3, 0xbc(r1) /* 801EE800 001EA460 D0 41 00 C0 */ stfs f2, 0xc0(r1) /* 801EE804 001EA464 D0 01 00 C4 */ stfs f0, 0xc4(r1) /* 801EE808 001EA468 48 08 E5 05 */ bl PSVECScale /* 801EE80C 001EA46C 38 7E 00 24 */ addi r3, r30, 0x24 /* 801EE810 001EA470 38 81 00 20 */ addi r4, r1, 0x20 /* 801EE814 001EA474 7C 65 1B 78 */ mr r5, r3 /* 801EE818 001EA478 48 08 E4 AD */ bl PSVECAdd /* 801EE81C 001EA47C 7F A3 EB 78 */ mr r3, r29 /* 801EE820 001EA480 38 9F 00 24 */ addi r4, r31, 0x24 /* 801EE824 001EA484 38 A1 00 14 */ addi r5, r1, 0x14 /* 801EE828 001EA488 48 08 E2 29 */ bl PSMTXMultVecSR /* 801EE82C 001EA48C C0 61 00 14 */ lfs f3, 0x14(r1) /* 801EE830 001EA490 FC 20 F0 90 */ fmr f1, f30 /* 801EE834 001EA494 C0 41 00 18 */ lfs f2, 0x18(r1) /* 801EE838 001EA498 38 61 00 BC */ addi r3, r1, 0xbc /* 801EE83C 001EA49C C0 01 00 1C */ lfs f0, 0x1c(r1) /* 801EE840 001EA4A0 38 81 00 08 */ addi r4, r1, 8 /* 801EE844 001EA4A4 D0 61 00 BC */ stfs f3, 0xbc(r1) /* 801EE848 001EA4A8 D0 41 00 C0 */ stfs f2, 0xc0(r1) /* 801EE84C 001EA4AC D0 01 00 C4 */ stfs f0, 0xc4(r1) /* 801EE850 001EA4B0 48 08 E4 BD */ bl PSVECScale /* 801EE854 001EA4B4 38 7E 00 24 */ addi r3, r30, 0x24 /* 801EE858 001EA4B8 38 81 00 08 */ addi r4, r1, 8 /* 801EE85C 001EA4BC 7C 65 1B 78 */ mr r5, r3 /* 801EE860 001EA4C0 48 08 E4 65 */ bl PSVECAdd /* 801EE864 001EA4C4 E3 E1 01 18 */ psq_l f31, 280(r1), 0, qr0 /* 801EE868 001EA4C8 CB E1 01 10 */ lfd f31, 0x110(r1) /* 801EE86C 001EA4CC E3 C1 01 08 */ psq_l f30, 264(r1), 0, qr0 /* 801EE870 001EA4D0 CB C1 01 00 */ lfd f30, 0x100(r1) /* 801EE874 001EA4D4 E3 A1 00 F8 */ psq_l f29, 248(r1), 0, qr0 /* 801EE878 001EA4D8 CB A1 00 F0 */ lfd f29, 0xf0(r1) /* 801EE87C 001EA4DC 83 E1 00 EC */ lwz r31, 0xec(r1) /* 801EE880 001EA4E0 83 C1 00 E8 */ lwz r30, 0xe8(r1) /* 801EE884 001EA4E4 83 A1 00 E4 */ lwz r29, 0xe4(r1) /* 801EE888 001EA4E8 80 01 01 24 */ lwz r0, 0x124(r1) /* 801EE88C 001EA4EC 83 81 00 E0 */ lwz r28, 0xe0(r1) /* 801EE890 001EA4F0 7C 08 03 A6 */ mtlr r0 /* 801EE894 001EA4F4 38 21 01 20 */ addi r1, r1, 0x120 /* 801EE898 001EA4F8 4E 80 00 20 */ blr lbl_801EE89C: /* 801EE89C 001EA4FC 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801EE8A0 001EA500 7C 08 02 A6 */ mflr r0 /* 801EE8A4 001EA504 90 01 00 34 */ stw r0, 0x34(r1) /* 801EE8A8 001EA508 39 61 00 30 */ addi r11, r1, 0x30 /* 801EE8AC 001EA50C 4B FD 88 6D */ bl _savegpr_23 /* 801EE8B0 001EA510 80 C3 00 00 */ lwz r6, 0(r3) /* 801EE8B4 001EA514 7C 77 1B 78 */ mr r23, r3 /* 801EE8B8 001EA518 83 A4 00 04 */ lwz r29, 4(r4) /* 801EE8BC 001EA51C 7C 98 23 78 */ mr r24, r4 /* 801EE8C0 001EA520 83 86 00 08 */ lwz r28, 8(r6) /* 801EE8C4 001EA524 7C B9 2B 78 */ mr r25, r5 /* 801EE8C8 001EA528 7C 1D E0 40 */ cmplw r29, r28 /* 801EE8CC 001EA52C 41 82 02 54 */ beq lbl_801EEB20 /* 801EE8D0 001EA530 3C 60 10 05 */ lis r3, 0x10051005@ha /* 801EE8D4 001EA534 38 03 10 05 */ addi r0, r3, 0x10051005@l /* 801EE8D8 001EA538 7C 13 E3 A6 */ mtspr 0x393, r0 /* 801EE8DC 001EA53C 80 66 00 0C */ lwz r3, 0xc(r6) /* 801EE8E0 001EA540 A3 43 00 00 */ lhz r26, 0(r3) /* 801EE8E4 001EA544 2C 1A 00 00 */ cmpwi r26, 0 /* 801EE8E8 001EA548 41 82 00 74 */ beq lbl_801EE95C /* 801EE8EC 001EA54C 83 C3 00 04 */ lwz r30, 4(r3) /* 801EE8F0 001EA550 48 00 00 60 */ b lbl_801EE950 lbl_801EE8F4: /* 801EE8F4 001EA554 80 99 00 08 */ lwz r4, 8(r25) /* 801EE8F8 001EA558 A3 7E 00 00 */ lhz r27, 0(r30) /* 801EE8FC 001EA55C 2C 04 00 00 */ cmpwi r4, 0 /* 801EE900 001EA560 A0 7E 00 02 */ lhz r3, 2(r30) /* 801EE904 001EA564 40 82 00 0C */ bne lbl_801EE910 /* 801EE908 001EA568 38 60 00 00 */ li r3, 0 /* 801EE90C 001EA56C 48 00 00 20 */ b lbl_801EE92C lbl_801EE910: /* 801EE910 001EA570 A0 19 00 DE */ lhz r0, 0xde(r25) /* 801EE914 001EA574 7C 03 00 40 */ cmplw r3, r0 /* 801EE918 001EA578 41 80 00 0C */ blt lbl_801EE924 /* 801EE91C 001EA57C 38 60 00 00 */ li r3, 0 /* 801EE920 001EA580 48 00 00 0C */ b lbl_801EE92C lbl_801EE924: /* 801EE924 001EA584 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 801EE928 001EA588 7C 64 00 2E */ lwzx r3, r4, r0 lbl_801EE92C: /* 801EE92C 001EA58C 7F 84 E3 78 */ mr r4, r28 /* 801EE930 001EA590 7F A5 EB 78 */ mr r5, r29 /* 801EE934 001EA594 7F 66 DB 78 */ mr r6, r27 /* 801EE938 001EA598 38 63 01 3C */ addi r3, r3, 0x13c /* 801EE93C 001EA59C 48 02 E1 C1 */ bl func_8021CAFC /* 801EE940 001EA5A0 1C 1B 00 18 */ mulli r0, r27, 0x18 /* 801EE944 001EA5A4 3B DE 00 04 */ addi r30, r30, 4 /* 801EE948 001EA5A8 7F BD 02 14 */ add r29, r29, r0 /* 801EE94C 001EA5AC 7F 9C 02 14 */ add r28, r28, r0 lbl_801EE950: /* 801EE950 001EA5B0 57 40 04 3F */ clrlwi. r0, r26, 0x10 /* 801EE954 001EA5B4 3B 5A FF FF */ addi r26, r26, -1 /* 801EE958 001EA5B8 40 82 FF 9C */ bne lbl_801EE8F4 lbl_801EE95C: /* 801EE95C 001EA5BC 80 77 00 00 */ lwz r3, 0(r23) /* 801EE960 001EA5C0 80 63 00 0C */ lwz r3, 0xc(r3) /* 801EE964 001EA5C4 A3 E3 00 08 */ lhz r31, 8(r3) /* 801EE968 001EA5C8 2C 1F 00 00 */ cmpwi r31, 0 /* 801EE96C 001EA5CC 41 82 00 B8 */ beq lbl_801EEA24 /* 801EE970 001EA5D0 83 63 00 0C */ lwz r27, 0xc(r3) /* 801EE974 001EA5D4 83 43 00 10 */ lwz r26, 0x10(r3) /* 801EE978 001EA5D8 48 00 00 A0 */ b lbl_801EEA18 lbl_801EE97C: /* 801EE97C 001EA5DC 80 B9 00 08 */ lwz r5, 8(r25) /* 801EE980 001EA5E0 A3 DB 00 00 */ lhz r30, 0(r27) /* 801EE984 001EA5E4 2C 05 00 00 */ cmpwi r5, 0 /* 801EE988 001EA5E8 A0 7B 00 02 */ lhz r3, 2(r27) /* 801EE98C 001EA5EC 40 82 00 0C */ bne lbl_801EE998 /* 801EE990 001EA5F0 38 60 00 00 */ li r3, 0 /* 801EE994 001EA5F4 48 00 00 20 */ b lbl_801EE9B4 lbl_801EE998: /* 801EE998 001EA5F8 A0 19 00 DE */ lhz r0, 0xde(r25) /* 801EE99C 001EA5FC 7C 03 00 40 */ cmplw r3, r0 /* 801EE9A0 001EA600 41 80 00 0C */ blt lbl_801EE9AC /* 801EE9A4 001EA604 38 60 00 00 */ li r3, 0 /* 801EE9A8 001EA608 48 00 00 0C */ b lbl_801EE9B4 lbl_801EE9AC: /* 801EE9AC 001EA60C 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 801EE9B0 001EA610 7C 65 00 2E */ lwzx r3, r5, r0 lbl_801EE9B4: /* 801EE9B4 001EA614 2C 05 00 00 */ cmpwi r5, 0 /* 801EE9B8 001EA618 A0 9B 00 04 */ lhz r4, 4(r27) /* 801EE9BC 001EA61C 40 82 00 0C */ bne lbl_801EE9C8 /* 801EE9C0 001EA620 38 80 00 00 */ li r4, 0 /* 801EE9C4 001EA624 48 00 00 20 */ b lbl_801EE9E4 lbl_801EE9C8: /* 801EE9C8 001EA628 A0 19 00 DE */ lhz r0, 0xde(r25) /* 801EE9CC 001EA62C 7C 04 00 40 */ cmplw r4, r0 /* 801EE9D0 001EA630 41 80 00 0C */ blt lbl_801EE9DC /* 801EE9D4 001EA634 38 80 00 00 */ li r4, 0 /* 801EE9D8 001EA638 48 00 00 0C */ b lbl_801EE9E4 lbl_801EE9DC: /* 801EE9DC 001EA63C 54 80 13 BA */ rlwinm r0, r4, 2, 0xe, 0x1d /* 801EE9E0 001EA640 7C 85 00 2E */ lwzx r4, r5, r0 lbl_801EE9E4: /* 801EE9E4 001EA644 7F 45 D3 78 */ mr r5, r26 /* 801EE9E8 001EA648 7F 86 E3 78 */ mr r6, r28 /* 801EE9EC 001EA64C 7F A7 EB 78 */ mr r7, r29 /* 801EE9F0 001EA650 7F C8 F3 78 */ mr r8, r30 /* 801EE9F4 001EA654 38 63 01 3C */ addi r3, r3, 0x13c /* 801EE9F8 001EA658 38 84 01 3C */ addi r4, r4, 0x13c /* 801EE9FC 001EA65C 48 02 E3 9D */ bl func_8021CD98 /* 801EEA00 001EA660 1C 7E 00 18 */ mulli r3, r30, 0x18 /* 801EEA04 001EA664 57 C0 0B FC */ rlwinm r0, r30, 1, 0xf, 0x1e /* 801EEA08 001EA668 3B 7B 00 06 */ addi r27, r27, 6 /* 801EEA0C 001EA66C 7F 5A 02 14 */ add r26, r26, r0 /* 801EEA10 001EA670 7F BD 1A 14 */ add r29, r29, r3 /* 801EEA14 001EA674 7F 9C 1A 14 */ add r28, r28, r3 lbl_801EEA18: /* 801EEA18 001EA678 57 E0 04 3F */ clrlwi. r0, r31, 0x10 /* 801EEA1C 001EA67C 3B FF FF FF */ addi r31, r31, -1 /* 801EEA20 001EA680 40 82 FF 5C */ bne lbl_801EE97C lbl_801EEA24: /* 801EEA24 001EA684 3C 60 00 05 */ lis r3, 0x00050005@ha /* 801EEA28 001EA688 38 03 00 05 */ addi r0, r3, 0x00050005@l /* 801EEA2C 001EA68C 7C 13 E3 A6 */ mtspr 0x393, r0 /* 801EEA30 001EA690 80 77 00 00 */ lwz r3, 0(r23) /* 801EEA34 001EA694 80 63 00 0C */ lwz r3, 0xc(r3) /* 801EEA38 001EA698 A3 E3 00 14 */ lhz r31, 0x14(r3) /* 801EEA3C 001EA69C 2C 1F 00 00 */ cmpwi r31, 0 /* 801EEA40 001EA6A0 41 82 00 E0 */ beq lbl_801EEB20 /* 801EEA44 001EA6A4 83 43 00 18 */ lwz r26, 0x18(r3) /* 801EEA48 001EA6A8 48 00 00 CC */ b lbl_801EEB14 lbl_801EEA4C: /* 801EEA4C 001EA6AC 80 99 00 08 */ lwz r4, 8(r25) /* 801EEA50 001EA6B0 A0 BA 00 00 */ lhz r5, 0(r26) /* 801EEA54 001EA6B4 2C 04 00 00 */ cmpwi r4, 0 /* 801EEA58 001EA6B8 A0 7A 00 02 */ lhz r3, 2(r26) /* 801EEA5C 001EA6BC 40 82 00 0C */ bne lbl_801EEA68 /* 801EEA60 001EA6C0 39 00 00 00 */ li r8, 0 /* 801EEA64 001EA6C4 48 00 00 20 */ b lbl_801EEA84 lbl_801EEA68: /* 801EEA68 001EA6C8 A0 19 00 DE */ lhz r0, 0xde(r25) /* 801EEA6C 001EA6CC 7C 03 00 40 */ cmplw r3, r0 /* 801EEA70 001EA6D0 41 80 00 0C */ blt lbl_801EEA7C /* 801EEA74 001EA6D4 39 00 00 00 */ li r8, 0 /* 801EEA78 001EA6D8 48 00 00 0C */ b lbl_801EEA84 lbl_801EEA7C: /* 801EEA7C 001EA6DC 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 801EEA80 001EA6E0 7D 04 00 2E */ lwzx r8, r4, r0 lbl_801EEA84: /* 801EEA84 001EA6E4 A0 DA 00 08 */ lhz r6, 8(r26) /* 801EEA88 001EA6E8 2C 06 00 00 */ cmpwi r6, 0 /* 801EEA8C 001EA6EC 41 82 00 60 */ beq lbl_801EEAEC /* 801EEA90 001EA6F0 2C 04 00 00 */ cmpwi r4, 0 /* 801EEA94 001EA6F4 A0 7A 00 04 */ lhz r3, 4(r26) /* 801EEA98 001EA6F8 40 82 00 0C */ bne lbl_801EEAA4 /* 801EEA9C 001EA6FC 38 80 00 00 */ li r4, 0 /* 801EEAA0 001EA700 48 00 00 20 */ b lbl_801EEAC0 lbl_801EEAA4: /* 801EEAA4 001EA704 A0 19 00 DE */ lhz r0, 0xde(r25) /* 801EEAA8 001EA708 7C 03 00 40 */ cmplw r3, r0 /* 801EEAAC 001EA70C 41 80 00 0C */ blt lbl_801EEAB8 /* 801EEAB0 001EA710 38 80 00 00 */ li r4, 0 /* 801EEAB4 001EA714 48 00 00 0C */ b lbl_801EEAC0 lbl_801EEAB8: /* 801EEAB8 001EA718 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 801EEABC 001EA71C 7C 84 00 2E */ lwzx r4, r4, r0 lbl_801EEAC0: /* 801EEAC0 001EA720 80 77 00 00 */ lwz r3, 0(r23) /* 801EEAC4 001EA724 1D 25 00 18 */ mulli r9, r5, 0x18 /* 801EEAC8 001EA728 80 F8 00 04 */ lwz r7, 4(r24) /* 801EEACC 001EA72C 38 84 01 0C */ addi r4, r4, 0x10c /* 801EEAD0 001EA730 80 03 00 08 */ lwz r0, 8(r3) /* 801EEAD4 001EA734 38 68 01 0C */ addi r3, r8, 0x10c /* 801EEAD8 001EA738 A0 BA 00 06 */ lhz r5, 6(r26) /* 801EEADC 001EA73C 7C E7 4A 14 */ add r7, r7, r9 /* 801EEAE0 001EA740 7D 00 4A 14 */ add r8, r0, r9 /* 801EEAE4 001EA744 4B FF F6 E1 */ bl func_801EE1C4 /* 801EEAE8 001EA748 48 00 00 28 */ b lbl_801EEB10 lbl_801EEAEC: /* 801EEAEC 001EA74C 80 97 00 00 */ lwz r4, 0(r23) /* 801EEAF0 001EA750 1C C5 00 18 */ mulli r6, r5, 0x18 /* 801EEAF4 001EA754 80 B8 00 04 */ lwz r5, 4(r24) /* 801EEAF8 001EA758 38 68 01 0C */ addi r3, r8, 0x10c /* 801EEAFC 001EA75C 80 04 00 08 */ lwz r0, 8(r4) /* 801EEB00 001EA760 A0 9A 00 06 */ lhz r4, 6(r26) /* 801EEB04 001EA764 7C A5 32 14 */ add r5, r5, r6 /* 801EEB08 001EA768 7C C0 32 14 */ add r6, r0, r6 /* 801EEB0C 001EA76C 4B FF F5 99 */ bl func_801EE0A4 lbl_801EEB10: /* 801EEB10 001EA770 3B 5A 00 0A */ addi r26, r26, 0xa lbl_801EEB14: /* 801EEB14 001EA774 57 E0 04 3F */ clrlwi. r0, r31, 0x10 /* 801EEB18 001EA778 3B FF FF FF */ addi r31, r31, -1 /* 801EEB1C 001EA77C 40 82 FF 30 */ bne lbl_801EEA4C lbl_801EEB20: /* 801EEB20 001EA780 39 61 00 30 */ addi r11, r1, 0x30 /* 801EEB24 001EA784 4B FD 86 41 */ bl _restgpr_23 /* 801EEB28 001EA788 80 01 00 34 */ lwz r0, 0x34(r1) /* 801EEB2C 001EA78C 7C 08 03 A6 */ mtlr r0 /* 801EEB30 001EA790 38 21 00 30 */ addi r1, r1, 0x30 /* 801EEB34 001EA794 4E 80 00 20 */ blr lbl_801EEB38: /* 801EEB38 001EA798 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801EEB3C 001EA79C 7C 08 02 A6 */ mflr r0 /* 801EEB40 001EA7A0 90 01 00 34 */ stw r0, 0x34(r1) /* 801EEB44 001EA7A4 39 61 00 30 */ addi r11, r1, 0x30 /* 801EEB48 001EA7A8 4B FD 85 D1 */ bl _savegpr_23 /* 801EEB4C 001EA7AC 80 C3 00 00 */ lwz r6, 0(r3) /* 801EEB50 001EA7B0 7C 77 1B 78 */ mr r23, r3 /* 801EEB54 001EA7B4 83 A4 00 04 */ lwz r29, 4(r4) /* 801EEB58 001EA7B8 7C 98 23 78 */ mr r24, r4 /* 801EEB5C 001EA7BC 83 86 00 08 */ lwz r28, 8(r6) /* 801EEB60 001EA7C0 7C B9 2B 78 */ mr r25, r5 /* 801EEB64 001EA7C4 7C 1D E0 40 */ cmplw r29, r28 /* 801EEB68 001EA7C8 41 82 02 54 */ beq lbl_801EEDBC /* 801EEB6C 001EA7CC 3C 60 10 05 */ lis r3, 0x10051005@ha /* 801EEB70 001EA7D0 38 03 10 05 */ addi r0, r3, 0x10051005@l /* 801EEB74 001EA7D4 7C 13 E3 A6 */ mtspr 0x393, r0 /* 801EEB78 001EA7D8 80 66 00 0C */ lwz r3, 0xc(r6) /* 801EEB7C 001EA7DC A3 43 00 00 */ lhz r26, 0(r3) /* 801EEB80 001EA7E0 2C 1A 00 00 */ cmpwi r26, 0 /* 801EEB84 001EA7E4 41 82 00 74 */ beq lbl_801EEBF8 /* 801EEB88 001EA7E8 83 C3 00 04 */ lwz r30, 4(r3) /* 801EEB8C 001EA7EC 48 00 00 60 */ b lbl_801EEBEC lbl_801EEB90: /* 801EEB90 001EA7F0 80 99 00 08 */ lwz r4, 8(r25) /* 801EEB94 001EA7F4 A3 7E 00 00 */ lhz r27, 0(r30) /* 801EEB98 001EA7F8 2C 04 00 00 */ cmpwi r4, 0 /* 801EEB9C 001EA7FC A0 7E 00 02 */ lhz r3, 2(r30) /* 801EEBA0 001EA800 40 82 00 0C */ bne lbl_801EEBAC /* 801EEBA4 001EA804 38 60 00 00 */ li r3, 0 /* 801EEBA8 001EA808 48 00 00 20 */ b lbl_801EEBC8 lbl_801EEBAC: /* 801EEBAC 001EA80C A0 19 00 DE */ lhz r0, 0xde(r25) /* 801EEBB0 001EA810 7C 03 00 40 */ cmplw r3, r0 /* 801EEBB4 001EA814 41 80 00 0C */ blt lbl_801EEBC0 /* 801EEBB8 001EA818 38 60 00 00 */ li r3, 0 /* 801EEBBC 001EA81C 48 00 00 0C */ b lbl_801EEBC8 lbl_801EEBC0: /* 801EEBC0 001EA820 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 801EEBC4 001EA824 7C 64 00 2E */ lwzx r3, r4, r0 lbl_801EEBC8: /* 801EEBC8 001EA828 7F 84 E3 78 */ mr r4, r28 /* 801EEBCC 001EA82C 7F A5 EB 78 */ mr r5, r29 /* 801EEBD0 001EA830 7F 66 DB 78 */ mr r6, r27 /* 801EEBD4 001EA834 38 63 01 3C */ addi r3, r3, 0x13c /* 801EEBD8 001EA838 48 02 DF A9 */ bl func_8021CB80 /* 801EEBDC 001EA83C 1C 1B 00 30 */ mulli r0, r27, 0x30 /* 801EEBE0 001EA840 3B DE 00 04 */ addi r30, r30, 4 /* 801EEBE4 001EA844 7F BD 02 14 */ add r29, r29, r0 /* 801EEBE8 001EA848 7F 9C 02 14 */ add r28, r28, r0 lbl_801EEBEC: /* 801EEBEC 001EA84C 57 40 04 3F */ clrlwi. r0, r26, 0x10 /* 801EEBF0 001EA850 3B 5A FF FF */ addi r26, r26, -1 /* 801EEBF4 001EA854 40 82 FF 9C */ bne lbl_801EEB90 lbl_801EEBF8: /* 801EEBF8 001EA858 80 77 00 00 */ lwz r3, 0(r23) /* 801EEBFC 001EA85C 80 63 00 0C */ lwz r3, 0xc(r3) /* 801EEC00 001EA860 A3 E3 00 08 */ lhz r31, 8(r3) /* 801EEC04 001EA864 2C 1F 00 00 */ cmpwi r31, 0 /* 801EEC08 001EA868 41 82 00 B8 */ beq lbl_801EECC0 /* 801EEC0C 001EA86C 83 63 00 0C */ lwz r27, 0xc(r3) /* 801EEC10 001EA870 83 43 00 10 */ lwz r26, 0x10(r3) /* 801EEC14 001EA874 48 00 00 A0 */ b lbl_801EECB4 lbl_801EEC18: /* 801EEC18 001EA878 80 B9 00 08 */ lwz r5, 8(r25) /* 801EEC1C 001EA87C A3 DB 00 00 */ lhz r30, 0(r27) /* 801EEC20 001EA880 2C 05 00 00 */ cmpwi r5, 0 /* 801EEC24 001EA884 A0 7B 00 02 */ lhz r3, 2(r27) /* 801EEC28 001EA888 40 82 00 0C */ bne lbl_801EEC34 /* 801EEC2C 001EA88C 38 60 00 00 */ li r3, 0 /* 801EEC30 001EA890 48 00 00 20 */ b lbl_801EEC50 lbl_801EEC34: /* 801EEC34 001EA894 A0 19 00 DE */ lhz r0, 0xde(r25) /* 801EEC38 001EA898 7C 03 00 40 */ cmplw r3, r0 /* 801EEC3C 001EA89C 41 80 00 0C */ blt lbl_801EEC48 /* 801EEC40 001EA8A0 38 60 00 00 */ li r3, 0 /* 801EEC44 001EA8A4 48 00 00 0C */ b lbl_801EEC50 lbl_801EEC48: /* 801EEC48 001EA8A8 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 801EEC4C 001EA8AC 7C 65 00 2E */ lwzx r3, r5, r0 lbl_801EEC50: /* 801EEC50 001EA8B0 2C 05 00 00 */ cmpwi r5, 0 /* 801EEC54 001EA8B4 A0 9B 00 04 */ lhz r4, 4(r27) /* 801EEC58 001EA8B8 40 82 00 0C */ bne lbl_801EEC64 /* 801EEC5C 001EA8BC 38 80 00 00 */ li r4, 0 /* 801EEC60 001EA8C0 48 00 00 20 */ b lbl_801EEC80 lbl_801EEC64: /* 801EEC64 001EA8C4 A0 19 00 DE */ lhz r0, 0xde(r25) /* 801EEC68 001EA8C8 7C 04 00 40 */ cmplw r4, r0 /* 801EEC6C 001EA8CC 41 80 00 0C */ blt lbl_801EEC78 /* 801EEC70 001EA8D0 38 80 00 00 */ li r4, 0 /* 801EEC74 001EA8D4 48 00 00 0C */ b lbl_801EEC80 lbl_801EEC78: /* 801EEC78 001EA8D8 54 80 13 BA */ rlwinm r0, r4, 2, 0xe, 0x1d /* 801EEC7C 001EA8DC 7C 85 00 2E */ lwzx r4, r5, r0 lbl_801EEC80: /* 801EEC80 001EA8E0 7F 45 D3 78 */ mr r5, r26 /* 801EEC84 001EA8E4 7F 86 E3 78 */ mr r6, r28 /* 801EEC88 001EA8E8 7F A7 EB 78 */ mr r7, r29 /* 801EEC8C 001EA8EC 7F C8 F3 78 */ mr r8, r30 /* 801EEC90 001EA8F0 38 63 01 3C */ addi r3, r3, 0x13c /* 801EEC94 001EA8F4 38 84 01 3C */ addi r4, r4, 0x13c /* 801EEC98 001EA8F8 48 02 E2 6D */ bl func_8021CF04 /* 801EEC9C 001EA8FC 1C 7E 00 30 */ mulli r3, r30, 0x30 /* 801EECA0 001EA900 57 C0 0B FC */ rlwinm r0, r30, 1, 0xf, 0x1e /* 801EECA4 001EA904 3B 7B 00 06 */ addi r27, r27, 6 /* 801EECA8 001EA908 7F 5A 02 14 */ add r26, r26, r0 /* 801EECAC 001EA90C 7F BD 1A 14 */ add r29, r29, r3 /* 801EECB0 001EA910 7F 9C 1A 14 */ add r28, r28, r3 lbl_801EECB4: /* 801EECB4 001EA914 57 E0 04 3F */ clrlwi. r0, r31, 0x10 /* 801EECB8 001EA918 3B FF FF FF */ addi r31, r31, -1 /* 801EECBC 001EA91C 40 82 FF 5C */ bne lbl_801EEC18 lbl_801EECC0: /* 801EECC0 001EA920 3C 60 00 05 */ lis r3, 0x00050005@ha /* 801EECC4 001EA924 38 03 00 05 */ addi r0, r3, 0x00050005@l /* 801EECC8 001EA928 7C 13 E3 A6 */ mtspr 0x393, r0 /* 801EECCC 001EA92C 80 77 00 00 */ lwz r3, 0(r23) /* 801EECD0 001EA930 80 63 00 0C */ lwz r3, 0xc(r3) /* 801EECD4 001EA934 A3 E3 00 14 */ lhz r31, 0x14(r3) /* 801EECD8 001EA938 2C 1F 00 00 */ cmpwi r31, 0 /* 801EECDC 001EA93C 41 82 00 E0 */ beq lbl_801EEDBC /* 801EECE0 001EA940 83 43 00 18 */ lwz r26, 0x18(r3) /* 801EECE4 001EA944 48 00 00 CC */ b lbl_801EEDB0 lbl_801EECE8: /* 801EECE8 001EA948 80 99 00 08 */ lwz r4, 8(r25) /* 801EECEC 001EA94C A0 BA 00 00 */ lhz r5, 0(r26) /* 801EECF0 001EA950 2C 04 00 00 */ cmpwi r4, 0 /* 801EECF4 001EA954 A0 7A 00 02 */ lhz r3, 2(r26) /* 801EECF8 001EA958 40 82 00 0C */ bne lbl_801EED04 /* 801EECFC 001EA95C 39 00 00 00 */ li r8, 0 /* 801EED00 001EA960 48 00 00 20 */ b lbl_801EED20 lbl_801EED04: /* 801EED04 001EA964 A0 19 00 DE */ lhz r0, 0xde(r25) /* 801EED08 001EA968 7C 03 00 40 */ cmplw r3, r0 /* 801EED0C 001EA96C 41 80 00 0C */ blt lbl_801EED18 /* 801EED10 001EA970 39 00 00 00 */ li r8, 0 /* 801EED14 001EA974 48 00 00 0C */ b lbl_801EED20 lbl_801EED18: /* 801EED18 001EA978 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 801EED1C 001EA97C 7D 04 00 2E */ lwzx r8, r4, r0 lbl_801EED20: /* 801EED20 001EA980 A0 DA 00 08 */ lhz r6, 8(r26) /* 801EED24 001EA984 2C 06 00 00 */ cmpwi r6, 0 /* 801EED28 001EA988 41 82 00 60 */ beq lbl_801EED88 /* 801EED2C 001EA98C 2C 04 00 00 */ cmpwi r4, 0 /* 801EED30 001EA990 A0 7A 00 04 */ lhz r3, 4(r26) /* 801EED34 001EA994 40 82 00 0C */ bne lbl_801EED40 /* 801EED38 001EA998 38 80 00 00 */ li r4, 0 /* 801EED3C 001EA99C 48 00 00 20 */ b lbl_801EED5C lbl_801EED40: /* 801EED40 001EA9A0 A0 19 00 DE */ lhz r0, 0xde(r25) /* 801EED44 001EA9A4 7C 03 00 40 */ cmplw r3, r0 /* 801EED48 001EA9A8 41 80 00 0C */ blt lbl_801EED54 /* 801EED4C 001EA9AC 38 80 00 00 */ li r4, 0 /* 801EED50 001EA9B0 48 00 00 0C */ b lbl_801EED5C lbl_801EED54: /* 801EED54 001EA9B4 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 801EED58 001EA9B8 7C 84 00 2E */ lwzx r4, r4, r0 lbl_801EED5C: /* 801EED5C 001EA9BC 80 77 00 00 */ lwz r3, 0(r23) /* 801EED60 001EA9C0 1D 25 00 30 */ mulli r9, r5, 0x30 /* 801EED64 001EA9C4 80 F8 00 04 */ lwz r7, 4(r24) /* 801EED68 001EA9C8 38 84 01 0C */ addi r4, r4, 0x10c /* 801EED6C 001EA9CC 80 03 00 08 */ lwz r0, 8(r3) /* 801EED70 001EA9D0 38 68 01 0C */ addi r3, r8, 0x10c /* 801EED74 001EA9D4 A0 BA 00 06 */ lhz r5, 6(r26) /* 801EED78 001EA9D8 7C E7 4A 14 */ add r7, r7, r9 /* 801EED7C 001EA9DC 7D 00 4A 14 */ add r8, r0, r9 /* 801EED80 001EA9E0 4B FF F7 F9 */ bl func_801EE578 /* 801EED84 001EA9E4 48 00 00 28 */ b lbl_801EEDAC lbl_801EED88: /* 801EED88 001EA9E8 80 97 00 00 */ lwz r4, 0(r23) /* 801EED8C 001EA9EC 1C C5 00 30 */ mulli r6, r5, 0x30 /* 801EED90 001EA9F0 80 B8 00 04 */ lwz r5, 4(r24) /* 801EED94 001EA9F4 38 68 01 0C */ addi r3, r8, 0x10c /* 801EED98 001EA9F8 80 04 00 08 */ lwz r0, 8(r4) /* 801EED9C 001EA9FC A0 9A 00 06 */ lhz r4, 6(r26) /* 801EEDA0 001EAA00 7C A5 32 14 */ add r5, r5, r6 /* 801EEDA4 001EAA04 7C C0 32 14 */ add r6, r0, r6 /* 801EEDA8 001EAA08 4B FF F6 01 */ bl func_801EE3A8 lbl_801EEDAC: /* 801EEDAC 001EAA0C 3B 5A 00 0A */ addi r26, r26, 0xa lbl_801EEDB0: /* 801EEDB0 001EAA10 57 E0 04 3F */ clrlwi. r0, r31, 0x10 /* 801EEDB4 001EAA14 3B FF FF FF */ addi r31, r31, -1 /* 801EEDB8 001EAA18 40 82 FF 30 */ bne lbl_801EECE8 lbl_801EEDBC: /* 801EEDBC 001EAA1C 39 61 00 30 */ addi r11, r1, 0x30 /* 801EEDC0 001EAA20 4B FD 83 A5 */ bl _restgpr_23 /* 801EEDC4 001EAA24 80 01 00 34 */ lwz r0, 0x34(r1) /* 801EEDC8 001EAA28 7C 08 03 A6 */ mtlr r0 /* 801EEDCC 001EAA2C 38 21 00 30 */ addi r1, r1, 0x30 /* 801EEDD0 001EAA30 4E 80 00 20 */ blr lbl_801EEDD4: /* 801EEDD4 001EAA34 94 21 FF C0 */ stwu r1, -0x40(r1) /* 801EEDD8 001EAA38 7C 08 02 A6 */ mflr r0 /* 801EEDDC 001EAA3C 90 01 00 44 */ stw r0, 0x44(r1) /* 801EEDE0 001EAA40 DB E1 00 30 */ stfd f31, 0x30(r1) /* 801EEDE4 001EAA44 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0 /* 801EEDE8 001EAA48 FF E0 08 90 */ fmr f31, f1 /* 801EEDEC 001EAA4C 93 E1 00 2C */ stw r31, 0x2c(r1) /* 801EEDF0 001EAA50 93 C1 00 28 */ stw r30, 0x28(r1) /* 801EEDF4 001EAA54 93 A1 00 24 */ stw r29, 0x24(r1) /* 801EEDF8 001EAA58 93 81 00 20 */ stw r28, 0x20(r1) /* 801EEDFC 001EAA5C 83 E4 00 00 */ lwz r31, 0(r4) /* 801EEE00 001EAA60 2C 1F 00 00 */ cmpwi r31, 0 /* 801EEE04 001EAA64 41 82 00 80 */ beq lbl_801EEE84 /* 801EEE08 001EAA68 80 63 00 00 */ lwz r3, 0(r3) /* 801EEE0C 001EAA6C 3B 80 00 00 */ li r28, 0 /* 801EEE10 001EAA70 83 C4 00 04 */ lwz r30, 4(r4) /* 801EEE14 001EAA74 A3 A3 00 02 */ lhz r29, 2(r3) /* 801EEE18 001EAA78 48 00 00 60 */ b lbl_801EEE78 lbl_801EEE1C: /* 801EEE1C 001EAA7C C0 1E 00 0C */ lfs f0, 0xc(r30) /* 801EEE20 001EAA80 FC 20 F8 90 */ fmr f1, f31 /* 801EEE24 001EAA84 38 7F 00 0C */ addi r3, r31, 0xc /* 801EEE28 001EAA88 38 81 00 08 */ addi r4, r1, 8 /* 801EEE2C 001EAA8C D0 1F 00 0C */ stfs f0, 0xc(r31) /* 801EEE30 001EAA90 C0 1E 00 10 */ lfs f0, 0x10(r30) /* 801EEE34 001EAA94 D0 1F 00 10 */ stfs f0, 0x10(r31) /* 801EEE38 001EAA98 C0 1E 00 14 */ lfs f0, 0x14(r30) /* 801EEE3C 001EAA9C D0 1F 00 14 */ stfs f0, 0x14(r31) /* 801EEE40 001EAAA0 C0 1E 00 00 */ lfs f0, 0(r30) /* 801EEE44 001EAAA4 D0 1F 00 00 */ stfs f0, 0(r31) /* 801EEE48 001EAAA8 C0 1E 00 04 */ lfs f0, 4(r30) /* 801EEE4C 001EAAAC D0 1F 00 04 */ stfs f0, 4(r31) /* 801EEE50 001EAAB0 C0 1E 00 08 */ lfs f0, 8(r30) /* 801EEE54 001EAAB4 D0 1F 00 08 */ stfs f0, 8(r31) /* 801EEE58 001EAAB8 48 08 DE B5 */ bl PSVECScale /* 801EEE5C 001EAABC 7F E3 FB 78 */ mr r3, r31 /* 801EEE60 001EAAC0 7F E5 FB 78 */ mr r5, r31 /* 801EEE64 001EAAC4 38 81 00 08 */ addi r4, r1, 8 /* 801EEE68 001EAAC8 48 08 DE 5D */ bl PSVECAdd /* 801EEE6C 001EAACC 3B 9C 00 01 */ addi r28, r28, 1 /* 801EEE70 001EAAD0 3B FF 00 18 */ addi r31, r31, 0x18 /* 801EEE74 001EAAD4 3B DE 00 18 */ addi r30, r30, 0x18 lbl_801EEE78: /* 801EEE78 001EAAD8 57 80 04 3E */ clrlwi r0, r28, 0x10 /* 801EEE7C 001EAADC 7C 00 E8 40 */ cmplw r0, r29 /* 801EEE80 001EAAE0 41 80 FF 9C */ blt lbl_801EEE1C lbl_801EEE84: /* 801EEE84 001EAAE4 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0 /* 801EEE88 001EAAE8 80 01 00 44 */ lwz r0, 0x44(r1) /* 801EEE8C 001EAAEC CB E1 00 30 */ lfd f31, 0x30(r1) /* 801EEE90 001EAAF0 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 801EEE94 001EAAF4 83 C1 00 28 */ lwz r30, 0x28(r1) /* 801EEE98 001EAAF8 83 A1 00 24 */ lwz r29, 0x24(r1) /* 801EEE9C 001EAAFC 83 81 00 20 */ lwz r28, 0x20(r1) /* 801EEEA0 001EAB00 7C 08 03 A6 */ mtlr r0 /* 801EEEA4 001EAB04 38 21 00 40 */ addi r1, r1, 0x40 /* 801EEEA8 001EAB08 4E 80 00 20 */ blr lbl_801EEEAC: /* 801EEEAC 001EAB0C 94 21 FF C0 */ stwu r1, -0x40(r1) /* 801EEEB0 001EAB10 7C 08 02 A6 */ mflr r0 /* 801EEEB4 001EAB14 90 01 00 44 */ stw r0, 0x44(r1) /* 801EEEB8 001EAB18 DB E1 00 30 */ stfd f31, 0x30(r1) /* 801EEEBC 001EAB1C F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0 /* 801EEEC0 001EAB20 FF E0 08 90 */ fmr f31, f1 /* 801EEEC4 001EAB24 93 E1 00 2C */ stw r31, 0x2c(r1) /* 801EEEC8 001EAB28 93 C1 00 28 */ stw r30, 0x28(r1) /* 801EEECC 001EAB2C 93 A1 00 24 */ stw r29, 0x24(r1) /* 801EEED0 001EAB30 93 81 00 20 */ stw r28, 0x20(r1) /* 801EEED4 001EAB34 83 E4 00 00 */ lwz r31, 0(r4) /* 801EEED8 001EAB38 2C 1F 00 00 */ cmpwi r31, 0 /* 801EEEDC 001EAB3C 41 82 00 80 */ beq lbl_801EEF5C /* 801EEEE0 001EAB40 80 63 00 00 */ lwz r3, 0(r3) /* 801EEEE4 001EAB44 3B 80 00 00 */ li r28, 0 /* 801EEEE8 001EAB48 83 C4 00 04 */ lwz r30, 4(r4) /* 801EEEEC 001EAB4C A3 A3 00 02 */ lhz r29, 2(r3) /* 801EEEF0 001EAB50 48 00 00 60 */ b lbl_801EEF50 lbl_801EEEF4: /* 801EEEF4 001EAB54 C0 1E 00 0C */ lfs f0, 0xc(r30) /* 801EEEF8 001EAB58 FC 20 F8 90 */ fmr f1, f31 /* 801EEEFC 001EAB5C 38 7F 00 0C */ addi r3, r31, 0xc /* 801EEF00 001EAB60 38 81 00 08 */ addi r4, r1, 8 /* 801EEF04 001EAB64 D0 1F 00 0C */ stfs f0, 0xc(r31) /* 801EEF08 001EAB68 C0 1E 00 10 */ lfs f0, 0x10(r30) /* 801EEF0C 001EAB6C D0 1F 00 10 */ stfs f0, 0x10(r31) /* 801EEF10 001EAB70 C0 1E 00 14 */ lfs f0, 0x14(r30) /* 801EEF14 001EAB74 D0 1F 00 14 */ stfs f0, 0x14(r31) /* 801EEF18 001EAB78 C0 1E 00 00 */ lfs f0, 0(r30) /* 801EEF1C 001EAB7C D0 1F 00 00 */ stfs f0, 0(r31) /* 801EEF20 001EAB80 C0 1E 00 04 */ lfs f0, 4(r30) /* 801EEF24 001EAB84 D0 1F 00 04 */ stfs f0, 4(r31) /* 801EEF28 001EAB88 C0 1E 00 08 */ lfs f0, 8(r30) /* 801EEF2C 001EAB8C D0 1F 00 08 */ stfs f0, 8(r31) /* 801EEF30 001EAB90 48 08 DD DD */ bl PSVECScale /* 801EEF34 001EAB94 7F E3 FB 78 */ mr r3, r31 /* 801EEF38 001EAB98 7F E5 FB 78 */ mr r5, r31 /* 801EEF3C 001EAB9C 38 81 00 08 */ addi r4, r1, 8 /* 801EEF40 001EABA0 48 08 DD 85 */ bl PSVECAdd /* 801EEF44 001EABA4 3B 9C 00 01 */ addi r28, r28, 1 /* 801EEF48 001EABA8 3B FF 00 30 */ addi r31, r31, 0x30 /* 801EEF4C 001EABAC 3B DE 00 30 */ addi r30, r30, 0x30 lbl_801EEF50: /* 801EEF50 001EABB0 57 80 04 3E */ clrlwi r0, r28, 0x10 /* 801EEF54 001EABB4 7C 00 E8 40 */ cmplw r0, r29 /* 801EEF58 001EABB8 41 80 FF 9C */ blt lbl_801EEEF4 lbl_801EEF5C: /* 801EEF5C 001EABBC E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0 /* 801EEF60 001EABC0 80 01 00 44 */ lwz r0, 0x44(r1) /* 801EEF64 001EABC4 CB E1 00 30 */ lfd f31, 0x30(r1) /* 801EEF68 001EABC8 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 801EEF6C 001EABCC 83 C1 00 28 */ lwz r30, 0x28(r1) /* 801EEF70 001EABD0 83 A1 00 24 */ lwz r29, 0x24(r1) /* 801EEF74 001EABD4 83 81 00 20 */ lwz r28, 0x20(r1) /* 801EEF78 001EABD8 7C 08 03 A6 */ mtlr r0 /* 801EEF7C 001EABDC 38 21 00 40 */ addi r1, r1, 0x40 /* 801EEF80 001EABE0 4E 80 00 20 */ blr .global func_801EEF84 func_801EEF84: /* 801EEF84 001EABE4 94 21 FF 00 */ stwu r1, -0x100(r1) /* 801EEF88 001EABE8 7C 08 02 A6 */ mflr r0 /* 801EEF8C 001EABEC 90 01 01 04 */ stw r0, 0x104(r1) /* 801EEF90 001EABF0 DB E1 00 F0 */ stfd f31, 0xf0(r1) /* 801EEF94 001EABF4 F3 E1 00 F8 */ psq_st f31, 248(r1), 0, qr0 /* 801EEF98 001EABF8 DB C1 00 E0 */ stfd f30, 0xe0(r1) /* 801EEF9C 001EABFC F3 C1 00 E8 */ psq_st f30, 232(r1), 0, qr0 /* 801EEFA0 001EAC00 39 61 00 E0 */ addi r11, r1, 0xe0 /* 801EEFA4 001EAC04 4B FD 81 75 */ bl _savegpr_23 /* 801EEFA8 001EAC08 C0 07 00 00 */ lfs f0, 0(r7) /* 801EEFAC 001EAC0C FF C0 08 90 */ fmr f30, f1 /* 801EEFB0 001EAC10 C0 62 97 D0 */ lfs f3, lbl_80641DD0-_SDA2_BASE_(r2) /* 801EEFB4 001EAC14 FF E0 10 90 */ fmr f31, f2 /* 801EEFB8 001EAC18 7C 97 23 78 */ mr r23, r4 /* 801EEFBC 001EAC1C 7C D8 33 78 */ mr r24, r6 /* 801EEFC0 001EAC20 FC 00 18 40 */ fcmpo cr0, f0, f3 /* 801EEFC4 001EAC24 7C F9 3B 78 */ mr r25, r7 /* 801EEFC8 001EAC28 7D 1A 43 78 */ mr r26, r8 /* 801EEFCC 001EAC2C 40 80 00 38 */ bge lbl_801EF004 /* 801EEFD0 001EAC30 C0 22 97 D4 */ lfs f1, lbl_80641DD4-_SDA2_BASE_(r2) /* 801EEFD4 001EAC34 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801EEFD8 001EAC38 40 81 00 2C */ ble lbl_801EF004 /* 801EEFDC 001EAC3C C0 07 00 04 */ lfs f0, 4(r7) /* 801EEFE0 001EAC40 FC 00 18 40 */ fcmpo cr0, f0, f3 /* 801EEFE4 001EAC44 40 80 00 20 */ bge lbl_801EF004 /* 801EEFE8 001EAC48 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801EEFEC 001EAC4C 40 81 00 18 */ ble lbl_801EF004 /* 801EEFF0 001EAC50 C0 07 00 08 */ lfs f0, 8(r7) /* 801EEFF4 001EAC54 FC 00 18 40 */ fcmpo cr0, f0, f3 /* 801EEFF8 001EAC58 40 80 00 0C */ bge lbl_801EF004 /* 801EEFFC 001EAC5C FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801EF000 001EAC60 41 81 00 0C */ bgt lbl_801EF00C lbl_801EF004: /* 801EF004 001EAC64 38 00 00 00 */ li r0, 0 /* 801EF008 001EAC68 48 00 00 08 */ b lbl_801EF010 lbl_801EF00C: /* 801EF00C 001EAC6C 38 00 00 01 */ li r0, 1 lbl_801EF010: /* 801EF010 001EAC70 2C 00 00 00 */ cmpwi r0, 0 /* 801EF014 001EAC74 40 82 01 98 */ bne lbl_801EF1AC /* 801EF018 001EAC78 C0 08 00 00 */ lfs f0, 0(r8) /* 801EF01C 001EAC7C C0 42 97 D0 */ lfs f2, lbl_80641DD0-_SDA2_BASE_(r2) /* 801EF020 001EAC80 FC 00 10 40 */ fcmpo cr0, f0, f2 /* 801EF024 001EAC84 40 80 00 38 */ bge lbl_801EF05C /* 801EF028 001EAC88 C0 22 97 D4 */ lfs f1, lbl_80641DD4-_SDA2_BASE_(r2) /* 801EF02C 001EAC8C FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801EF030 001EAC90 40 81 00 2C */ ble lbl_801EF05C /* 801EF034 001EAC94 C0 08 00 04 */ lfs f0, 4(r8) /* 801EF038 001EAC98 FC 00 10 40 */ fcmpo cr0, f0, f2 /* 801EF03C 001EAC9C 40 80 00 20 */ bge lbl_801EF05C /* 801EF040 001EACA0 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801EF044 001EACA4 40 81 00 18 */ ble lbl_801EF05C /* 801EF048 001EACA8 C0 08 00 08 */ lfs f0, 8(r8) /* 801EF04C 001EACAC FC 00 10 40 */ fcmpo cr0, f0, f2 /* 801EF050 001EACB0 40 80 00 0C */ bge lbl_801EF05C /* 801EF054 001EACB4 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801EF058 001EACB8 41 81 00 0C */ bgt lbl_801EF064 lbl_801EF05C: /* 801EF05C 001EACBC 38 00 00 00 */ li r0, 0 /* 801EF060 001EACC0 48 00 00 08 */ b lbl_801EF068 lbl_801EF064: /* 801EF064 001EACC4 38 00 00 01 */ li r0, 1 lbl_801EF068: /* 801EF068 001EACC8 2C 00 00 00 */ cmpwi r0, 0 /* 801EF06C 001EACCC 41 82 00 08 */ beq lbl_801EF074 /* 801EF070 001EACD0 48 00 01 3C */ b lbl_801EF1AC lbl_801EF074: /* 801EF074 001EACD4 80 63 00 00 */ lwz r3, 0(r3) /* 801EF078 001EACD8 83 E5 00 04 */ lwz r31, 4(r5) /* 801EF07C 001EACDC 80 03 00 0C */ lwz r0, 0xc(r3) /* 801EF080 001EACE0 83 C3 00 08 */ lwz r30, 8(r3) /* 801EF084 001EACE4 7C 00 00 34 */ cntlzw r0, r0 /* 801EF088 001EACE8 A3 A3 00 02 */ lhz r29, 2(r3) /* 801EF08C 001EACEC 54 1B D9 7F */ rlwinm. r27, r0, 0x1b, 5, 0x1f /* 801EF090 001EACF0 41 82 00 1C */ beq lbl_801EF0AC /* 801EF094 001EACF4 7E E3 BB 78 */ mr r3, r23 /* 801EF098 001EACF8 38 81 00 50 */ addi r4, r1, 0x50 /* 801EF09C 001EACFC 48 08 D0 0D */ bl PSMTXInverse /* 801EF0A0 001EAD00 38 61 00 50 */ addi r3, r1, 0x50 /* 801EF0A4 001EAD04 38 81 00 80 */ addi r4, r1, 0x80 /* 801EF0A8 001EAD08 48 08 CE B1 */ bl PSMTXCopy lbl_801EF0AC: /* 801EF0AC 001EAD0C 3B 80 00 00 */ li r28, 0 /* 801EF0B0 001EAD10 48 00 00 F0 */ b lbl_801EF1A0 lbl_801EF0B4: /* 801EF0B4 001EAD14 2C 1B 00 00 */ cmpwi r27, 0 /* 801EF0B8 001EAD18 41 82 00 54 */ beq lbl_801EF10C /* 801EF0BC 001EAD1C 7E E3 BB 78 */ mr r3, r23 /* 801EF0C0 001EAD20 7F C4 F3 78 */ mr r4, r30 /* 801EF0C4 001EAD24 38 A1 00 20 */ addi r5, r1, 0x20 /* 801EF0C8 001EAD28 48 08 D9 35 */ bl PSMTXMultVec /* 801EF0CC 001EAD2C C0 01 00 20 */ lfs f0, 0x20(r1) /* 801EF0D0 001EAD30 7E E3 BB 78 */ mr r3, r23 /* 801EF0D4 001EAD34 38 9E 00 0C */ addi r4, r30, 0xc /* 801EF0D8 001EAD38 38 A1 00 14 */ addi r5, r1, 0x14 /* 801EF0DC 001EAD3C D0 1F 00 00 */ stfs f0, 0(r31) /* 801EF0E0 001EAD40 C0 01 00 24 */ lfs f0, 0x24(r1) /* 801EF0E4 001EAD44 D0 1F 00 04 */ stfs f0, 4(r31) /* 801EF0E8 001EAD48 C0 01 00 28 */ lfs f0, 0x28(r1) /* 801EF0EC 001EAD4C D0 1F 00 08 */ stfs f0, 8(r31) /* 801EF0F0 001EAD50 48 08 D9 61 */ bl PSMTXMultVecSR /* 801EF0F4 001EAD54 C0 01 00 14 */ lfs f0, 0x14(r1) /* 801EF0F8 001EAD58 D0 1F 00 0C */ stfs f0, 0xc(r31) /* 801EF0FC 001EAD5C C0 01 00 18 */ lfs f0, 0x18(r1) /* 801EF100 001EAD60 D0 1F 00 10 */ stfs f0, 0x10(r31) /* 801EF104 001EAD64 C0 01 00 1C */ lfs f0, 0x1c(r1) /* 801EF108 001EAD68 D0 1F 00 14 */ stfs f0, 0x14(r31) lbl_801EF10C: /* 801EF10C 001EAD6C 7F E3 FB 78 */ mr r3, r31 /* 801EF110 001EAD70 7F 04 C3 78 */ mr r4, r24 /* 801EF114 001EAD74 38 A1 00 08 */ addi r5, r1, 8 /* 801EF118 001EAD78 48 08 DB D1 */ bl PSVECSubtract /* 801EF11C 001EAD7C C0 41 00 08 */ lfs f2, 8(r1) /* 801EF120 001EAD80 7F 24 CB 78 */ mr r4, r25 /* 801EF124 001EAD84 C0 21 00 0C */ lfs f1, 0xc(r1) /* 801EF128 001EAD88 38 61 00 40 */ addi r3, r1, 0x40 /* 801EF12C 001EAD8C C0 01 00 10 */ lfs f0, 0x10(r1) /* 801EF130 001EAD90 D0 41 00 40 */ stfs f2, 0x40(r1) /* 801EF134 001EAD94 D0 21 00 44 */ stfs f1, 0x44(r1) /* 801EF138 001EAD98 D0 01 00 48 */ stfs f0, 0x48(r1) /* 801EF13C 001EAD9C 48 08 DC 8D */ bl PSVECDotProduct /* 801EF140 001EADA0 EC 21 F0 24 */ fdivs f1, f1, f30 /* 801EF144 001EADA4 7F 44 D3 78 */ mr r4, r26 /* 801EF148 001EADA8 38 61 00 30 */ addi r3, r1, 0x30 /* 801EF14C 001EADAC EC 21 07 F2 */ fmuls f1, f1, f31 /* 801EF150 001EADB0 48 08 DF D5 */ bl C_QUATRotAxisRad /* 801EF154 001EADB4 7F E3 FB 78 */ mr r3, r31 /* 801EF158 001EADB8 38 81 00 30 */ addi r4, r1, 0x30 /* 801EF15C 001EADBC 48 03 48 B1 */ bl func_80223A0C /* 801EF160 001EADC0 38 7F 00 0C */ addi r3, r31, 0xc /* 801EF164 001EADC4 38 81 00 30 */ addi r4, r1, 0x30 /* 801EF168 001EADC8 48 03 48 A5 */ bl func_80223A0C /* 801EF16C 001EADCC 2C 1B 00 00 */ cmpwi r27, 0 /* 801EF170 001EADD0 41 82 00 24 */ beq lbl_801EF194 /* 801EF174 001EADD4 7F E4 FB 78 */ mr r4, r31 /* 801EF178 001EADD8 7F E5 FB 78 */ mr r5, r31 /* 801EF17C 001EADDC 38 61 00 80 */ addi r3, r1, 0x80 /* 801EF180 001EADE0 48 08 D8 7D */ bl PSMTXMultVec /* 801EF184 001EADE4 38 9F 00 0C */ addi r4, r31, 0xc /* 801EF188 001EADE8 38 61 00 80 */ addi r3, r1, 0x80 /* 801EF18C 001EADEC 7C 85 23 78 */ mr r5, r4 /* 801EF190 001EADF0 48 08 D8 C1 */ bl PSMTXMultVecSR lbl_801EF194: /* 801EF194 001EADF4 3B 9C 00 01 */ addi r28, r28, 1 /* 801EF198 001EADF8 3B FF 00 18 */ addi r31, r31, 0x18 /* 801EF19C 001EADFC 3B DE 00 18 */ addi r30, r30, 0x18 lbl_801EF1A0: /* 801EF1A0 001EAE00 57 80 04 3E */ clrlwi r0, r28, 0x10 /* 801EF1A4 001EAE04 7C 00 E8 40 */ cmplw r0, r29 /* 801EF1A8 001EAE08 41 80 FF 0C */ blt lbl_801EF0B4 lbl_801EF1AC: /* 801EF1AC 001EAE0C E3 E1 00 F8 */ psq_l f31, 248(r1), 0, qr0 /* 801EF1B0 001EAE10 CB E1 00 F0 */ lfd f31, 0xf0(r1) /* 801EF1B4 001EAE14 E3 C1 00 E8 */ psq_l f30, 232(r1), 0, qr0 /* 801EF1B8 001EAE18 39 61 00 E0 */ addi r11, r1, 0xe0 /* 801EF1BC 001EAE1C CB C1 00 E0 */ lfd f30, 0xe0(r1) /* 801EF1C0 001EAE20 4B FD 7F A5 */ bl _restgpr_23 /* 801EF1C4 001EAE24 80 01 01 04 */ lwz r0, 0x104(r1) /* 801EF1C8 001EAE28 7C 08 03 A6 */ mtlr r0 /* 801EF1CC 001EAE2C 38 21 01 00 */ addi r1, r1, 0x100 /* 801EF1D0 001EAE30 4E 80 00 20 */ blr .global func_801EF1D4 func_801EF1D4: /* 801EF1D4 001EAE34 94 21 FF 10 */ stwu r1, -0xf0(r1) /* 801EF1D8 001EAE38 7C 08 02 A6 */ mflr r0 /* 801EF1DC 001EAE3C 90 01 00 F4 */ stw r0, 0xf4(r1) /* 801EF1E0 001EAE40 DB E1 00 E0 */ stfd f31, 0xe0(r1) /* 801EF1E4 001EAE44 F3 E1 00 E8 */ psq_st f31, 232(r1), 0, qr0 /* 801EF1E8 001EAE48 DB C1 00 D0 */ stfd f30, 0xd0(r1) /* 801EF1EC 001EAE4C F3 C1 00 D8 */ psq_st f30, 216(r1), 0, qr0 /* 801EF1F0 001EAE50 39 61 00 D0 */ addi r11, r1, 0xd0 /* 801EF1F4 001EAE54 4B FD 7F 25 */ bl _savegpr_23 /* 801EF1F8 001EAE58 C0 07 00 00 */ lfs f0, 0(r7) /* 801EF1FC 001EAE5C FF C0 08 90 */ fmr f30, f1 /* 801EF200 001EAE60 C0 62 97 D0 */ lfs f3, lbl_80641DD0-_SDA2_BASE_(r2) /* 801EF204 001EAE64 FF E0 10 90 */ fmr f31, f2 /* 801EF208 001EAE68 7C 97 23 78 */ mr r23, r4 /* 801EF20C 001EAE6C 7C D8 33 78 */ mr r24, r6 /* 801EF210 001EAE70 FC 00 18 40 */ fcmpo cr0, f0, f3 /* 801EF214 001EAE74 7C F9 3B 78 */ mr r25, r7 /* 801EF218 001EAE78 7D 1A 43 78 */ mr r26, r8 /* 801EF21C 001EAE7C 40 80 00 38 */ bge lbl_801EF254 /* 801EF220 001EAE80 C0 22 97 D4 */ lfs f1, lbl_80641DD4-_SDA2_BASE_(r2) /* 801EF224 001EAE84 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801EF228 001EAE88 40 81 00 2C */ ble lbl_801EF254 /* 801EF22C 001EAE8C C0 07 00 04 */ lfs f0, 4(r7) /* 801EF230 001EAE90 FC 00 18 40 */ fcmpo cr0, f0, f3 /* 801EF234 001EAE94 40 80 00 20 */ bge lbl_801EF254 /* 801EF238 001EAE98 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801EF23C 001EAE9C 40 81 00 18 */ ble lbl_801EF254 /* 801EF240 001EAEA0 C0 07 00 08 */ lfs f0, 8(r7) /* 801EF244 001EAEA4 FC 00 18 40 */ fcmpo cr0, f0, f3 /* 801EF248 001EAEA8 40 80 00 0C */ bge lbl_801EF254 /* 801EF24C 001EAEAC FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801EF250 001EAEB0 41 81 00 0C */ bgt lbl_801EF25C lbl_801EF254: /* 801EF254 001EAEB4 38 00 00 00 */ li r0, 0 /* 801EF258 001EAEB8 48 00 00 08 */ b lbl_801EF260 lbl_801EF25C: /* 801EF25C 001EAEBC 38 00 00 01 */ li r0, 1 lbl_801EF260: /* 801EF260 001EAEC0 2C 00 00 00 */ cmpwi r0, 0 /* 801EF264 001EAEC4 40 82 01 BC */ bne lbl_801EF420 /* 801EF268 001EAEC8 80 63 00 00 */ lwz r3, 0(r3) /* 801EF26C 001EAECC 83 E5 00 04 */ lwz r31, 4(r5) /* 801EF270 001EAED0 80 03 00 0C */ lwz r0, 0xc(r3) /* 801EF274 001EAED4 83 C3 00 08 */ lwz r30, 8(r3) /* 801EF278 001EAED8 7C 00 00 34 */ cntlzw r0, r0 /* 801EF27C 001EAEDC A3 A3 00 02 */ lhz r29, 2(r3) /* 801EF280 001EAEE0 54 1B D9 7F */ rlwinm. r27, r0, 0x1b, 5, 0x1f /* 801EF284 001EAEE4 41 82 00 1C */ beq lbl_801EF2A0 /* 801EF288 001EAEE8 7E E3 BB 78 */ mr r3, r23 /* 801EF28C 001EAEEC 38 81 00 48 */ addi r4, r1, 0x48 /* 801EF290 001EAEF0 48 08 CE 19 */ bl PSMTXInverse /* 801EF294 001EAEF4 38 61 00 48 */ addi r3, r1, 0x48 /* 801EF298 001EAEF8 38 81 00 78 */ addi r4, r1, 0x78 /* 801EF29C 001EAEFC 48 08 CC BD */ bl PSMTXCopy lbl_801EF2A0: /* 801EF2A0 001EAF00 3B 80 00 00 */ li r28, 0 /* 801EF2A4 001EAF04 48 00 01 70 */ b lbl_801EF414 lbl_801EF2A8: /* 801EF2A8 001EAF08 2C 1B 00 00 */ cmpwi r27, 0 /* 801EF2AC 001EAF0C 41 82 00 A4 */ beq lbl_801EF350 /* 801EF2B0 001EAF10 7E E3 BB 78 */ mr r3, r23 /* 801EF2B4 001EAF14 7F C4 F3 78 */ mr r4, r30 /* 801EF2B8 001EAF18 38 A1 00 2C */ addi r5, r1, 0x2c /* 801EF2BC 001EAF1C 48 08 D7 41 */ bl PSMTXMultVec /* 801EF2C0 001EAF20 C0 01 00 2C */ lfs f0, 0x2c(r1) /* 801EF2C4 001EAF24 7E E3 BB 78 */ mr r3, r23 /* 801EF2C8 001EAF28 38 9E 00 0C */ addi r4, r30, 0xc /* 801EF2CC 001EAF2C 38 A1 00 20 */ addi r5, r1, 0x20 /* 801EF2D0 001EAF30 D0 1F 00 00 */ stfs f0, 0(r31) /* 801EF2D4 001EAF34 C0 01 00 30 */ lfs f0, 0x30(r1) /* 801EF2D8 001EAF38 D0 1F 00 04 */ stfs f0, 4(r31) /* 801EF2DC 001EAF3C C0 01 00 34 */ lfs f0, 0x34(r1) /* 801EF2E0 001EAF40 D0 1F 00 08 */ stfs f0, 8(r31) /* 801EF2E4 001EAF44 48 08 D7 6D */ bl PSMTXMultVecSR /* 801EF2E8 001EAF48 C0 01 00 20 */ lfs f0, 0x20(r1) /* 801EF2EC 001EAF4C 7E E3 BB 78 */ mr r3, r23 /* 801EF2F0 001EAF50 38 9E 00 18 */ addi r4, r30, 0x18 /* 801EF2F4 001EAF54 38 A1 00 14 */ addi r5, r1, 0x14 /* 801EF2F8 001EAF58 D0 1F 00 0C */ stfs f0, 0xc(r31) /* 801EF2FC 001EAF5C C0 01 00 24 */ lfs f0, 0x24(r1) /* 801EF300 001EAF60 D0 1F 00 10 */ stfs f0, 0x10(r31) /* 801EF304 001EAF64 C0 01 00 28 */ lfs f0, 0x28(r1) /* 801EF308 001EAF68 D0 1F 00 14 */ stfs f0, 0x14(r31) /* 801EF30C 001EAF6C 48 08 D7 45 */ bl PSMTXMultVecSR /* 801EF310 001EAF70 C0 01 00 14 */ lfs f0, 0x14(r1) /* 801EF314 001EAF74 7E E3 BB 78 */ mr r3, r23 /* 801EF318 001EAF78 38 9E 00 24 */ addi r4, r30, 0x24 /* 801EF31C 001EAF7C 38 A1 00 08 */ addi r5, r1, 8 /* 801EF320 001EAF80 D0 1F 00 18 */ stfs f0, 0x18(r31) /* 801EF324 001EAF84 C0 01 00 18 */ lfs f0, 0x18(r1) /* 801EF328 001EAF88 D0 1F 00 1C */ stfs f0, 0x1c(r31) /* 801EF32C 001EAF8C C0 01 00 1C */ lfs f0, 0x1c(r1) /* 801EF330 001EAF90 D0 1F 00 20 */ stfs f0, 0x20(r31) /* 801EF334 001EAF94 48 08 D7 1D */ bl PSMTXMultVecSR /* 801EF338 001EAF98 C0 01 00 08 */ lfs f0, 8(r1) /* 801EF33C 001EAF9C D0 1F 00 24 */ stfs f0, 0x24(r31) /* 801EF340 001EAFA0 C0 01 00 0C */ lfs f0, 0xc(r1) /* 801EF344 001EAFA4 D0 1F 00 28 */ stfs f0, 0x28(r31) /* 801EF348 001EAFA8 C0 01 00 10 */ lfs f0, 0x10(r1) /* 801EF34C 001EAFAC D0 1F 00 2C */ stfs f0, 0x2c(r31) lbl_801EF350: /* 801EF350 001EAFB0 7F E3 FB 78 */ mr r3, r31 /* 801EF354 001EAFB4 7F 04 C3 78 */ mr r4, r24 /* 801EF358 001EAFB8 7F E5 FB 78 */ mr r5, r31 /* 801EF35C 001EAFBC 48 08 D9 8D */ bl PSVECSubtract /* 801EF360 001EAFC0 7F E3 FB 78 */ mr r3, r31 /* 801EF364 001EAFC4 7F 24 CB 78 */ mr r4, r25 /* 801EF368 001EAFC8 48 08 DA 61 */ bl PSVECDotProduct /* 801EF36C 001EAFCC EC 21 F0 24 */ fdivs f1, f1, f30 /* 801EF370 001EAFD0 7F 44 D3 78 */ mr r4, r26 /* 801EF374 001EAFD4 38 61 00 38 */ addi r3, r1, 0x38 /* 801EF378 001EAFD8 EC 21 07 F2 */ fmuls f1, f1, f31 /* 801EF37C 001EAFDC 48 08 DD A9 */ bl C_QUATRotAxisRad /* 801EF380 001EAFE0 7F E3 FB 78 */ mr r3, r31 /* 801EF384 001EAFE4 38 81 00 38 */ addi r4, r1, 0x38 /* 801EF388 001EAFE8 48 03 46 85 */ bl func_80223A0C /* 801EF38C 001EAFEC 7F E3 FB 78 */ mr r3, r31 /* 801EF390 001EAFF0 7F 04 C3 78 */ mr r4, r24 /* 801EF394 001EAFF4 7F E5 FB 78 */ mr r5, r31 /* 801EF398 001EAFF8 48 08 D9 2D */ bl PSVECAdd /* 801EF39C 001EAFFC 38 7F 00 0C */ addi r3, r31, 0xc /* 801EF3A0 001EB000 38 81 00 38 */ addi r4, r1, 0x38 /* 801EF3A4 001EB004 48 03 46 69 */ bl func_80223A0C /* 801EF3A8 001EB008 38 7F 00 18 */ addi r3, r31, 0x18 /* 801EF3AC 001EB00C 38 81 00 38 */ addi r4, r1, 0x38 /* 801EF3B0 001EB010 48 03 46 5D */ bl func_80223A0C /* 801EF3B4 001EB014 38 7F 00 24 */ addi r3, r31, 0x24 /* 801EF3B8 001EB018 38 81 00 38 */ addi r4, r1, 0x38 /* 801EF3BC 001EB01C 48 03 46 51 */ bl func_80223A0C /* 801EF3C0 001EB020 2C 1B 00 00 */ cmpwi r27, 0 /* 801EF3C4 001EB024 41 82 00 44 */ beq lbl_801EF408 /* 801EF3C8 001EB028 7F E4 FB 78 */ mr r4, r31 /* 801EF3CC 001EB02C 7F E5 FB 78 */ mr r5, r31 /* 801EF3D0 001EB030 38 61 00 78 */ addi r3, r1, 0x78 /* 801EF3D4 001EB034 48 08 D6 29 */ bl PSMTXMultVec /* 801EF3D8 001EB038 38 9F 00 0C */ addi r4, r31, 0xc /* 801EF3DC 001EB03C 38 61 00 78 */ addi r3, r1, 0x78 /* 801EF3E0 001EB040 7C 85 23 78 */ mr r5, r4 /* 801EF3E4 001EB044 48 08 D6 6D */ bl PSMTXMultVecSR /* 801EF3E8 001EB048 38 9F 00 18 */ addi r4, r31, 0x18 /* 801EF3EC 001EB04C 38 61 00 78 */ addi r3, r1, 0x78 /* 801EF3F0 001EB050 7C 85 23 78 */ mr r5, r4 /* 801EF3F4 001EB054 48 08 D6 5D */ bl PSMTXMultVecSR /* 801EF3F8 001EB058 38 9F 00 24 */ addi r4, r31, 0x24 /* 801EF3FC 001EB05C 38 61 00 78 */ addi r3, r1, 0x78 /* 801EF400 001EB060 7C 85 23 78 */ mr r5, r4 /* 801EF404 001EB064 48 08 D6 4D */ bl PSMTXMultVecSR lbl_801EF408: /* 801EF408 001EB068 3B 9C 00 01 */ addi r28, r28, 1 /* 801EF40C 001EB06C 3B FF 00 30 */ addi r31, r31, 0x30 /* 801EF410 001EB070 3B DE 00 30 */ addi r30, r30, 0x30 lbl_801EF414: /* 801EF414 001EB074 57 80 04 3E */ clrlwi r0, r28, 0x10 /* 801EF418 001EB078 7C 00 E8 40 */ cmplw r0, r29 /* 801EF41C 001EB07C 41 80 FE 8C */ blt lbl_801EF2A8 lbl_801EF420: /* 801EF420 001EB080 E3 E1 00 E8 */ psq_l f31, 232(r1), 0, qr0 /* 801EF424 001EB084 CB E1 00 E0 */ lfd f31, 0xe0(r1) /* 801EF428 001EB088 E3 C1 00 D8 */ psq_l f30, 216(r1), 0, qr0 /* 801EF42C 001EB08C 39 61 00 D0 */ addi r11, r1, 0xd0 /* 801EF430 001EB090 CB C1 00 D0 */ lfd f30, 0xd0(r1) /* 801EF434 001EB094 4B FD 7D 31 */ bl _restgpr_23 /* 801EF438 001EB098 80 01 00 F4 */ lwz r0, 0xf4(r1) /* 801EF43C 001EB09C 7C 08 03 A6 */ mtlr r0 /* 801EF440 001EB0A0 38 21 00 F0 */ addi r1, r1, 0xf0 /* 801EF444 001EB0A4 4E 80 00 20 */ blr .global func_801EF448 func_801EF448: /* 801EF448 001EB0A8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801EF44C 001EB0AC 7C 08 02 A6 */ mflr r0 /* 801EF450 001EB0B0 90 01 00 24 */ stw r0, 0x24(r1) /* 801EF454 001EB0B4 38 00 00 00 */ li r0, 0 /* 801EF458 001EB0B8 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801EF45C 001EB0BC 93 C1 00 18 */ stw r30, 0x18(r1) /* 801EF460 001EB0C0 93 A1 00 14 */ stw r29, 0x14(r1) /* 801EF464 001EB0C4 7C 7D 1B 78 */ mr r29, r3 /* 801EF468 001EB0C8 80 83 00 00 */ lwz r4, 0(r3) /* 801EF46C 001EB0CC A0 A4 00 02 */ lhz r5, 2(r4) /* 801EF470 001EB0D0 98 03 00 1A */ stb r0, 0x1a(r3) /* 801EF474 001EB0D4 80 04 00 08 */ lwz r0, 8(r4) /* 801EF478 001EB0D8 90 03 00 08 */ stw r0, 8(r3) /* 801EF47C 001EB0DC 80 04 00 0C */ lwz r0, 0xc(r4) /* 801EF480 001EB0E0 2C 00 00 00 */ cmpwi r0, 0 /* 801EF484 001EB0E4 41 82 00 48 */ beq lbl_801EF4CC /* 801EF488 001EB0E8 1F E5 00 18 */ mulli r31, r5, 0x18 /* 801EF48C 001EB0EC 38 80 00 20 */ li r4, 0x20 /* 801EF490 001EB0F0 7F E3 FB 78 */ mr r3, r31 /* 801EF494 001EB0F4 4B FE B9 39 */ bl func_801DADCC /* 801EF498 001EB0F8 2C 03 00 00 */ cmpwi r3, 0 /* 801EF49C 001EB0FC 7C 7E 1B 78 */ mr r30, r3 /* 801EF4A0 001EB100 41 82 00 2C */ beq lbl_801EF4CC /* 801EF4A4 001EB104 38 00 00 01 */ li r0, 1 /* 801EF4A8 001EB108 80 9D 00 00 */ lwz r4, 0(r29) /* 801EF4AC 001EB10C 98 1D 00 1B */ stb r0, 0x1b(r29) /* 801EF4B0 001EB110 7F E5 FB 78 */ mr r5, r31 /* 801EF4B4 001EB114 80 84 00 08 */ lwz r4, 8(r4) /* 801EF4B8 001EB118 4B E1 4B 49 */ bl memcpy /* 801EF4BC 001EB11C 7F C3 F3 78 */ mr r3, r30 /* 801EF4C0 001EB120 7F E4 FB 78 */ mr r4, r31 /* 801EF4C4 001EB124 48 07 B1 91 */ bl DCFlushRange /* 801EF4C8 001EB128 93 DD 00 08 */ stw r30, 8(r29) lbl_801EF4CC: /* 801EF4CC 001EB12C 80 01 00 24 */ lwz r0, 0x24(r1) /* 801EF4D0 001EB130 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801EF4D4 001EB134 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801EF4D8 001EB138 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801EF4DC 001EB13C 7C 08 03 A6 */ mtlr r0 /* 801EF4E0 001EB140 38 21 00 20 */ addi r1, r1, 0x20 /* 801EF4E4 001EB144 4E 80 00 20 */ blr .global func_801EF4E8 func_801EF4E8: /* 801EF4E8 001EB148 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801EF4EC 001EB14C 7C 08 02 A6 */ mflr r0 /* 801EF4F0 001EB150 90 01 00 24 */ stw r0, 0x24(r1) /* 801EF4F4 001EB154 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801EF4F8 001EB158 3B E0 00 01 */ li r31, 1 /* 801EF4FC 001EB15C 93 C1 00 18 */ stw r30, 0x18(r1) /* 801EF500 001EB160 93 A1 00 14 */ stw r29, 0x14(r1) /* 801EF504 001EB164 93 81 00 10 */ stw r28, 0x10(r1) /* 801EF508 001EB168 7C 7C 1B 78 */ mr r28, r3 /* 801EF50C 001EB16C 80 83 00 00 */ lwz r4, 0(r3) /* 801EF510 001EB170 A0 A4 00 02 */ lhz r5, 2(r4) /* 801EF514 001EB174 9B E3 00 1A */ stb r31, 0x1a(r3) /* 801EF518 001EB178 80 04 00 08 */ lwz r0, 8(r4) /* 801EF51C 001EB17C 90 03 00 08 */ stw r0, 8(r3) /* 801EF520 001EB180 80 04 00 0C */ lwz r0, 0xc(r4) /* 801EF524 001EB184 2C 00 00 00 */ cmpwi r0, 0 /* 801EF528 001EB188 41 82 00 44 */ beq lbl_801EF56C /* 801EF52C 001EB18C 1F C5 00 30 */ mulli r30, r5, 0x30 /* 801EF530 001EB190 38 80 00 20 */ li r4, 0x20 /* 801EF534 001EB194 7F C3 F3 78 */ mr r3, r30 /* 801EF538 001EB198 4B FE B8 95 */ bl func_801DADCC /* 801EF53C 001EB19C 2C 03 00 00 */ cmpwi r3, 0 /* 801EF540 001EB1A0 7C 7D 1B 78 */ mr r29, r3 /* 801EF544 001EB1A4 41 82 00 28 */ beq lbl_801EF56C /* 801EF548 001EB1A8 9B FC 00 1B */ stb r31, 0x1b(r28) /* 801EF54C 001EB1AC 7F C5 F3 78 */ mr r5, r30 /* 801EF550 001EB1B0 80 9C 00 00 */ lwz r4, 0(r28) /* 801EF554 001EB1B4 80 84 00 08 */ lwz r4, 8(r4) /* 801EF558 001EB1B8 4B E1 4A A9 */ bl memcpy /* 801EF55C 001EB1BC 7F A3 EB 78 */ mr r3, r29 /* 801EF560 001EB1C0 7F C4 F3 78 */ mr r4, r30 /* 801EF564 001EB1C4 48 07 B0 F1 */ bl DCFlushRange /* 801EF568 001EB1C8 93 BC 00 08 */ stw r29, 8(r28) lbl_801EF56C: /* 801EF56C 001EB1CC 80 01 00 24 */ lwz r0, 0x24(r1) /* 801EF570 001EB1D0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801EF574 001EB1D4 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801EF578 001EB1D8 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801EF57C 001EB1DC 83 81 00 10 */ lwz r28, 0x10(r1) /* 801EF580 001EB1E0 7C 08 03 A6 */ mtlr r0 /* 801EF584 001EB1E4 38 21 00 20 */ addi r1, r1, 0x20 /* 801EF588 001EB1E8 4E 80 00 20 */ blr .global func_801EF58C func_801EF58C: /* 801EF58C 001EB1EC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801EF590 001EB1F0 7C 08 02 A6 */ mflr r0 /* 801EF594 001EB1F4 90 01 00 24 */ stw r0, 0x24(r1) /* 801EF598 001EB1F8 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801EF59C 001EB1FC 93 C1 00 18 */ stw r30, 0x18(r1) /* 801EF5A0 001EB200 93 A1 00 14 */ stw r29, 0x14(r1) /* 801EF5A4 001EB204 7C 7D 1B 78 */ mr r29, r3 /* 801EF5A8 001EB208 80 83 00 00 */ lwz r4, 0(r3) /* 801EF5AC 001EB20C A3 C4 00 04 */ lhz r30, 4(r4) /* 801EF5B0 001EB210 2C 1E 00 00 */ cmpwi r30, 0 /* 801EF5B4 001EB214 41 82 00 74 */ beq lbl_801EF628 /* 801EF5B8 001EB218 80 04 00 10 */ lwz r0, 0x10(r4) /* 801EF5BC 001EB21C 90 03 00 0C */ stw r0, 0xc(r3) /* 801EF5C0 001EB220 A0 04 00 00 */ lhz r0, 0(r4) /* 801EF5C4 001EB224 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c /* 801EF5C8 001EB228 41 82 00 60 */ beq lbl_801EF628 /* 801EF5CC 001EB22C 57 C3 13 BA */ rlwinm r3, r30, 2, 0xe, 0x1d /* 801EF5D0 001EB230 38 63 00 10 */ addi r3, r3, 0x10 /* 801EF5D4 001EB234 4B FE B4 A1 */ bl __nwa__FUl /* 801EF5D8 001EB238 3C 80 80 03 */ lis r4, func_8002A84C@ha /* 801EF5DC 001EB23C 7F C7 F3 78 */ mr r7, r30 /* 801EF5E0 001EB240 38 84 A8 4C */ addi r4, r4, func_8002A84C@l /* 801EF5E4 001EB244 38 A0 00 00 */ li r5, 0 /* 801EF5E8 001EB248 38 C0 00 04 */ li r6, 4 /* 801EF5EC 001EB24C 4B FD 76 BD */ bl __construct_new_array /* 801EF5F0 001EB250 2C 03 00 00 */ cmpwi r3, 0 /* 801EF5F4 001EB254 7C 7F 1B 78 */ mr r31, r3 /* 801EF5F8 001EB258 41 82 00 30 */ beq lbl_801EF628 /* 801EF5FC 001EB25C 38 00 00 01 */ li r0, 1 /* 801EF600 001EB260 57 DE 13 BA */ rlwinm r30, r30, 2, 0xe, 0x1d /* 801EF604 001EB264 98 1D 00 1B */ stb r0, 0x1b(r29) /* 801EF608 001EB268 7F C5 F3 78 */ mr r5, r30 /* 801EF60C 001EB26C 80 9D 00 00 */ lwz r4, 0(r29) /* 801EF610 001EB270 80 84 00 10 */ lwz r4, 0x10(r4) /* 801EF614 001EB274 4B E1 49 ED */ bl memcpy /* 801EF618 001EB278 7F E3 FB 78 */ mr r3, r31 /* 801EF61C 001EB27C 7F C4 F3 78 */ mr r4, r30 /* 801EF620 001EB280 48 07 B0 35 */ bl DCFlushRange /* 801EF624 001EB284 93 FD 00 0C */ stw r31, 0xc(r29) lbl_801EF628: /* 801EF628 001EB288 80 01 00 24 */ lwz r0, 0x24(r1) /* 801EF62C 001EB28C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801EF630 001EB290 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801EF634 001EB294 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801EF638 001EB298 7C 08 03 A6 */ mtlr r0 /* 801EF63C 001EB29C 38 21 00 20 */ addi r1, r1, 0x20 /* 801EF640 001EB2A0 4E 80 00 20 */ blr .global func_801EF644 func_801EF644: /* 801EF644 001EB2A4 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801EF648 001EB2A8 7C 08 02 A6 */ mflr r0 /* 801EF64C 001EB2AC 90 01 00 34 */ stw r0, 0x34(r1) /* 801EF650 001EB2B0 39 61 00 30 */ addi r11, r1, 0x30 /* 801EF654 001EB2B4 4B FD 7A C5 */ bl _savegpr_23 /* 801EF658 001EB2B8 80 83 00 00 */ lwz r4, 0(r3) /* 801EF65C 001EB2BC 7C 7F 1B 78 */ mr r31, r3 /* 801EF660 001EB2C0 A3 64 00 06 */ lhz r27, 6(r4) /* 801EF664 001EB2C4 2C 1B 00 00 */ cmpwi r27, 0 /* 801EF668 001EB2C8 41 82 00 DC */ beq lbl_801EF744 /* 801EF66C 001EB2CC 80 04 00 14 */ lwz r0, 0x14(r4) /* 801EF670 001EB2D0 90 03 00 10 */ stw r0, 0x10(r3) /* 801EF674 001EB2D4 A0 04 00 00 */ lhz r0, 0(r4) /* 801EF678 001EB2D8 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 801EF67C 001EB2DC 41 82 00 C8 */ beq lbl_801EF744 /* 801EF680 001EB2E0 57 63 1B 78 */ rlwinm r3, r27, 3, 0xd, 0x1c /* 801EF684 001EB2E4 4B FE B3 F1 */ bl __nwa__FUl /* 801EF688 001EB2E8 2C 03 00 00 */ cmpwi r3, 0 /* 801EF68C 001EB2EC 7C 7A 1B 78 */ mr r26, r3 /* 801EF690 001EB2F0 41 82 00 B4 */ beq lbl_801EF744 /* 801EF694 001EB2F4 80 9F 00 00 */ lwz r4, 0(r31) /* 801EF698 001EB2F8 57 7C 1B 78 */ rlwinm r28, r27, 3, 0xd, 0x1c /* 801EF69C 001EB2FC 7F 85 E3 78 */ mr r5, r28 /* 801EF6A0 001EB300 80 84 00 14 */ lwz r4, 0x14(r4) /* 801EF6A4 001EB304 4B E1 49 5D */ bl memcpy /* 801EF6A8 001EB308 7F 43 D3 78 */ mr r3, r26 /* 801EF6AC 001EB30C 7F 84 E3 78 */ mr r4, r28 /* 801EF6B0 001EB310 48 07 AF A5 */ bl DCFlushRange /* 801EF6B4 001EB314 80 7F 00 00 */ lwz r3, 0(r31) /* 801EF6B8 001EB318 7F 58 D3 78 */ mr r24, r26 /* 801EF6BC 001EB31C 3A E0 00 00 */ li r23, 0 /* 801EF6C0 001EB320 3F A0 80 03 */ lis r29, 0x8003 /* 801EF6C4 001EB324 83 23 00 14 */ lwz r25, 0x14(r3) /* 801EF6C8 001EB328 3B C0 00 01 */ li r30, 1 /* 801EF6CC 001EB32C 48 00 00 68 */ b lbl_801EF734 lbl_801EF6D0: /* 801EF6D0 001EB330 A3 99 00 04 */ lhz r28, 4(r25) /* 801EF6D4 001EB334 57 83 18 38 */ slwi r3, r28, 3 /* 801EF6D8 001EB338 38 63 00 10 */ addi r3, r3, 0x10 /* 801EF6DC 001EB33C 4B FE B3 99 */ bl __nwa__FUl /* 801EF6E0 001EB340 7F 87 E3 78 */ mr r7, r28 /* 801EF6E4 001EB344 38 9D A2 98 */ addi r4, r29, -23912 /* 801EF6E8 001EB348 38 A0 00 00 */ li r5, 0 /* 801EF6EC 001EB34C 38 C0 00 08 */ li r6, 8 /* 801EF6F0 001EB350 4B FD 75 B9 */ bl __construct_new_array /* 801EF6F4 001EB354 2C 03 00 00 */ cmpwi r3, 0 /* 801EF6F8 001EB358 7C 7C 1B 78 */ mr r28, r3 /* 801EF6FC 001EB35C 41 82 00 44 */ beq lbl_801EF740 /* 801EF700 001EB360 9B DF 00 1B */ stb r30, 0x1b(r31) /* 801EF704 001EB364 A0 19 00 04 */ lhz r0, 4(r25) /* 801EF708 001EB368 80 99 00 00 */ lwz r4, 0(r25) /* 801EF70C 001EB36C 54 05 18 38 */ slwi r5, r0, 3 /* 801EF710 001EB370 4B E1 48 F1 */ bl memcpy /* 801EF714 001EB374 A0 19 00 04 */ lhz r0, 4(r25) /* 801EF718 001EB378 7F 83 E3 78 */ mr r3, r28 /* 801EF71C 001EB37C 54 04 18 38 */ slwi r4, r0, 3 /* 801EF720 001EB380 48 07 AF 35 */ bl DCFlushRange /* 801EF724 001EB384 93 98 00 00 */ stw r28, 0(r24) /* 801EF728 001EB388 3A F7 00 01 */ addi r23, r23, 1 /* 801EF72C 001EB38C 3B 18 00 08 */ addi r24, r24, 8 /* 801EF730 001EB390 3B 39 00 08 */ addi r25, r25, 8 lbl_801EF734: /* 801EF734 001EB394 56 E0 06 3E */ clrlwi r0, r23, 0x18 /* 801EF738 001EB398 7C 00 D8 00 */ cmpw r0, r27 /* 801EF73C 001EB39C 41 80 FF 94 */ blt lbl_801EF6D0 lbl_801EF740: /* 801EF740 001EB3A0 93 5F 00 10 */ stw r26, 0x10(r31) lbl_801EF744: /* 801EF744 001EB3A4 39 61 00 30 */ addi r11, r1, 0x30 /* 801EF748 001EB3A8 4B FD 7A 1D */ bl _restgpr_23 /* 801EF74C 001EB3AC 80 01 00 34 */ lwz r0, 0x34(r1) /* 801EF750 001EB3B0 7C 08 03 A6 */ mtlr r0 /* 801EF754 001EB3B4 38 21 00 30 */ addi r1, r1, 0x30 /* 801EF758 001EB3B8 4E 80 00 20 */ blr .global func_801EF75C func_801EF75C: /* 801EF75C 001EB3BC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801EF760 001EB3C0 7C 08 02 A6 */ mflr r0 /* 801EF764 001EB3C4 90 01 00 14 */ stw r0, 0x14(r1) /* 801EF768 001EB3C8 93 E1 00 0C */ stw r31, 0xc(r1) /* 801EF76C 001EB3CC 93 C1 00 08 */ stw r30, 8(r1) /* 801EF770 001EB3D0 7C 7E 1B 78 */ mr r30, r3 /* 801EF774 001EB3D4 88 03 00 1A */ lbz r0, 0x1a(r3) /* 801EF778 001EB3D8 80 83 00 00 */ lwz r4, 0(r3) /* 801EF77C 001EB3DC 2C 00 00 00 */ cmpwi r0, 0 /* 801EF780 001EB3E0 A0 84 00 02 */ lhz r4, 2(r4) /* 801EF784 001EB3E4 41 82 00 48 */ beq lbl_801EF7CC /* 801EF788 001EB3E8 80 03 00 04 */ lwz r0, 4(r3) /* 801EF78C 001EB3EC 2C 00 00 00 */ cmpwi r0, 0 /* 801EF790 001EB3F0 40 82 00 7C */ bne lbl_801EF80C /* 801EF794 001EB3F4 1F E4 00 30 */ mulli r31, r4, 0x30 /* 801EF798 001EB3F8 38 80 00 20 */ li r4, 0x20 /* 801EF79C 001EB3FC 7F E3 FB 78 */ mr r3, r31 /* 801EF7A0 001EB400 4B FE B6 2D */ bl func_801DADCC /* 801EF7A4 001EB404 2C 03 00 00 */ cmpwi r3, 0 /* 801EF7A8 001EB408 90 7E 00 04 */ stw r3, 4(r30) /* 801EF7AC 001EB40C 41 82 00 60 */ beq lbl_801EF80C /* 801EF7B0 001EB410 80 9E 00 08 */ lwz r4, 8(r30) /* 801EF7B4 001EB414 7F E5 FB 78 */ mr r5, r31 /* 801EF7B8 001EB418 4B E1 48 49 */ bl memcpy /* 801EF7BC 001EB41C 80 7E 00 04 */ lwz r3, 4(r30) /* 801EF7C0 001EB420 7F E4 FB 78 */ mr r4, r31 /* 801EF7C4 001EB424 48 07 AE 91 */ bl DCFlushRange /* 801EF7C8 001EB428 48 00 00 44 */ b lbl_801EF80C lbl_801EF7CC: /* 801EF7CC 001EB42C 80 03 00 04 */ lwz r0, 4(r3) /* 801EF7D0 001EB430 2C 00 00 00 */ cmpwi r0, 0 /* 801EF7D4 001EB434 40 82 00 38 */ bne lbl_801EF80C /* 801EF7D8 001EB438 1F E4 00 18 */ mulli r31, r4, 0x18 /* 801EF7DC 001EB43C 38 80 00 20 */ li r4, 0x20 /* 801EF7E0 001EB440 7F E3 FB 78 */ mr r3, r31 /* 801EF7E4 001EB444 4B FE B5 E9 */ bl func_801DADCC /* 801EF7E8 001EB448 2C 03 00 00 */ cmpwi r3, 0 /* 801EF7EC 001EB44C 90 7E 00 04 */ stw r3, 4(r30) /* 801EF7F0 001EB450 41 82 00 1C */ beq lbl_801EF80C /* 801EF7F4 001EB454 80 9E 00 08 */ lwz r4, 8(r30) /* 801EF7F8 001EB458 7F E5 FB 78 */ mr r5, r31 /* 801EF7FC 001EB45C 4B E1 48 05 */ bl memcpy /* 801EF800 001EB460 80 7E 00 04 */ lwz r3, 4(r30) /* 801EF804 001EB464 7F E4 FB 78 */ mr r4, r31 /* 801EF808 001EB468 48 07 AE 4D */ bl DCFlushRange lbl_801EF80C: /* 801EF80C 001EB46C 80 01 00 14 */ lwz r0, 0x14(r1) /* 801EF810 001EB470 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801EF814 001EB474 83 C1 00 08 */ lwz r30, 8(r1) /* 801EF818 001EB478 7C 08 03 A6 */ mtlr r0 /* 801EF81C 001EB47C 38 21 00 10 */ addi r1, r1, 0x10 /* 801EF820 001EB480 4E 80 00 20 */ blr .global func_801EF824 func_801EF824: /* 801EF824 001EB484 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801EF828 001EB488 7C 08 02 A6 */ mflr r0 /* 801EF82C 001EB48C 90 01 00 14 */ stw r0, 0x14(r1) /* 801EF830 001EB490 93 E1 00 0C */ stw r31, 0xc(r1) /* 801EF834 001EB494 7C 7F 1B 78 */ mr r31, r3 /* 801EF838 001EB498 80 03 00 04 */ lwz r0, 4(r3) /* 801EF83C 001EB49C 2C 00 00 00 */ cmpwi r0, 0 /* 801EF840 001EB4A0 41 82 00 3C */ beq lbl_801EF87C /* 801EF844 001EB4A4 88 03 00 1B */ lbz r0, 0x1b(r3) /* 801EF848 001EB4A8 2C 00 00 00 */ cmpwi r0, 0 /* 801EF84C 001EB4AC 41 82 00 20 */ beq lbl_801EF86C /* 801EF850 001EB4B0 80 83 00 14 */ lwz r4, 0x14(r3) /* 801EF854 001EB4B4 2C 04 00 00 */ cmpwi r4, 0 /* 801EF858 001EB4B8 41 82 00 14 */ beq lbl_801EF86C /* 801EF85C 001EB4BC 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 801EF860 001EB4C0 48 04 C0 2D */ bl func_8023B88C /* 801EF864 001EB4C4 38 00 00 00 */ li r0, 0 /* 801EF868 001EB4C8 90 1F 00 14 */ stw r0, 0x14(r31) lbl_801EF86C: /* 801EF86C 001EB4CC 80 7F 00 04 */ lwz r3, 4(r31) /* 801EF870 001EB4D0 4B FE B6 35 */ bl func_801DAEA4 /* 801EF874 001EB4D4 38 00 00 00 */ li r0, 0 /* 801EF878 001EB4D8 90 1F 00 04 */ stw r0, 4(r31) lbl_801EF87C: /* 801EF87C 001EB4DC 80 01 00 14 */ lwz r0, 0x14(r1) /* 801EF880 001EB4E0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801EF884 001EB4E4 7C 08 03 A6 */ mtlr r0 /* 801EF888 001EB4E8 38 21 00 10 */ addi r1, r1, 0x10 /* 801EF88C 001EB4EC 4E 80 00 20 */ blr .global func_801EF890 func_801EF890: /* 801EF890 001EB4F0 2C 04 00 00 */ cmpwi r4, 0 /* 801EF894 001EB4F4 7C 85 23 78 */ mr r5, r4 /* 801EF898 001EB4F8 4D 82 00 20 */ beqlr /* 801EF89C 001EB4FC 80 83 00 00 */ lwz r4, 0(r3) /* 801EF8A0 001EB500 80 04 00 0C */ lwz r0, 0xc(r4) /* 801EF8A4 001EB504 2C 00 00 00 */ cmpwi r0, 0 /* 801EF8A8 001EB508 40 82 00 08 */ bne lbl_801EF8B0 /* 801EF8AC 001EB50C 4E 80 00 20 */ blr lbl_801EF8B0: /* 801EF8B0 001EB510 88 03 00 1A */ lbz r0, 0x1a(r3) /* 801EF8B4 001EB514 38 83 00 04 */ addi r4, r3, 4 /* 801EF8B8 001EB518 2C 00 00 00 */ cmpwi r0, 0 /* 801EF8BC 001EB51C 41 82 00 08 */ beq lbl_801EF8C4 /* 801EF8C0 001EB520 4B FF F2 78 */ b lbl_801EEB38 lbl_801EF8C4: /* 801EF8C4 001EB524 4B FF EF D8 */ b lbl_801EE89C /* 801EF8C8 001EB528 4E 80 00 20 */ blr .global func_801EF8CC func_801EF8CC: /* 801EF8CC 001EB52C 94 21 FF 30 */ stwu r1, -0xd0(r1) /* 801EF8D0 001EB530 7C 08 02 A6 */ mflr r0 /* 801EF8D4 001EB534 90 01 00 D4 */ stw r0, 0xd4(r1) /* 801EF8D8 001EB538 DB E1 00 C0 */ stfd f31, 0xc0(r1) /* 801EF8DC 001EB53C F3 E1 00 C8 */ psq_st f31, 200(r1), 0, qr0 /* 801EF8E0 001EB540 DB C1 00 B0 */ stfd f30, 0xb0(r1) /* 801EF8E4 001EB544 F3 C1 00 B8 */ psq_st f30, 184(r1), 0, qr0 /* 801EF8E8 001EB548 39 61 00 B0 */ addi r11, r1, 0xb0 /* 801EF8EC 001EB54C 4B FD 78 3D */ bl _savegpr_27 /* 801EF8F0 001EB550 FF C0 08 90 */ fmr f30, f1 /* 801EF8F4 001EB554 7C 7B 1B 78 */ mr r27, r3 /* 801EF8F8 001EB558 FF E0 10 90 */ fmr f31, f2 /* 801EF8FC 001EB55C 7C 9C 23 78 */ mr r28, r4 /* 801EF900 001EB560 7C A3 2B 78 */ mr r3, r5 /* 801EF904 001EB564 7C DD 33 78 */ mr r29, r6 /* 801EF908 001EB568 7C FE 3B 78 */ mr r30, r7 /* 801EF90C 001EB56C 7D 1F 43 78 */ mr r31, r8 /* 801EF910 001EB570 38 81 00 60 */ addi r4, r1, 0x60 /* 801EF914 001EB574 48 08 C6 45 */ bl PSMTXCopy /* 801EF918 001EB578 C1 1D 00 00 */ lfs f8, 0(r29) /* 801EF91C 001EB57C 2C 1C 00 00 */ cmpwi r28, 0 /* 801EF920 001EB580 C0 FD 00 04 */ lfs f7, 4(r29) /* 801EF924 001EB584 C0 DD 00 08 */ lfs f6, 8(r29) /* 801EF928 001EB588 C0 BE 00 00 */ lfs f5, 0(r30) /* 801EF92C 001EB58C C0 9E 00 04 */ lfs f4, 4(r30) /* 801EF930 001EB590 C0 7E 00 08 */ lfs f3, 8(r30) /* 801EF934 001EB594 C0 5F 00 00 */ lfs f2, 0(r31) /* 801EF938 001EB598 C0 3F 00 04 */ lfs f1, 4(r31) /* 801EF93C 001EB59C C0 1F 00 08 */ lfs f0, 8(r31) /* 801EF940 001EB5A0 D1 01 00 20 */ stfs f8, 0x20(r1) /* 801EF944 001EB5A4 D0 E1 00 24 */ stfs f7, 0x24(r1) /* 801EF948 001EB5A8 D0 C1 00 28 */ stfs f6, 0x28(r1) /* 801EF94C 001EB5AC D0 A1 00 14 */ stfs f5, 0x14(r1) /* 801EF950 001EB5B0 D0 81 00 18 */ stfs f4, 0x18(r1) /* 801EF954 001EB5B4 D0 61 00 1C */ stfs f3, 0x1c(r1) /* 801EF958 001EB5B8 D0 41 00 08 */ stfs f2, 8(r1) /* 801EF95C 001EB5BC D0 21 00 0C */ stfs f1, 0xc(r1) /* 801EF960 001EB5C0 D0 01 00 10 */ stfs f0, 0x10(r1) /* 801EF964 001EB5C4 41 82 00 74 */ beq lbl_801EF9D8 /* 801EF968 001EB5C8 80 7C 00 08 */ lwz r3, 8(r28) /* 801EF96C 001EB5CC 2C 03 00 00 */ cmpwi r3, 0 /* 801EF970 001EB5D0 41 82 00 18 */ beq lbl_801EF988 /* 801EF974 001EB5D4 80 63 00 00 */ lwz r3, 0(r3) /* 801EF978 001EB5D8 2C 03 00 00 */ cmpwi r3, 0 /* 801EF97C 001EB5DC 41 82 00 0C */ beq lbl_801EF988 /* 801EF980 001EB5E0 38 63 00 D0 */ addi r3, r3, 0xd0 /* 801EF984 001EB5E4 48 00 00 0C */ b lbl_801EF990 lbl_801EF988: /* 801EF988 001EB5E8 3C 60 80 49 */ lis r3, lbl_804932B0@ha /* 801EF98C 001EB5EC 38 63 32 B0 */ addi r3, r3, lbl_804932B0@l lbl_801EF990: /* 801EF990 001EB5F0 38 81 00 30 */ addi r4, r1, 0x30 /* 801EF994 001EB5F4 48 08 C7 15 */ bl PSMTXInverse /* 801EF998 001EB5F8 38 81 00 60 */ addi r4, r1, 0x60 /* 801EF99C 001EB5FC 38 61 00 30 */ addi r3, r1, 0x30 /* 801EF9A0 001EB600 7C 85 23 78 */ mr r5, r4 /* 801EF9A4 001EB604 48 08 C5 E9 */ bl PSMTXConcat /* 801EF9A8 001EB608 38 81 00 20 */ addi r4, r1, 0x20 /* 801EF9AC 001EB60C 38 61 00 30 */ addi r3, r1, 0x30 /* 801EF9B0 001EB610 7C 85 23 78 */ mr r5, r4 /* 801EF9B4 001EB614 48 08 D0 49 */ bl PSMTXMultVec /* 801EF9B8 001EB618 38 81 00 14 */ addi r4, r1, 0x14 /* 801EF9BC 001EB61C 38 61 00 30 */ addi r3, r1, 0x30 /* 801EF9C0 001EB620 7C 85 23 78 */ mr r5, r4 /* 801EF9C4 001EB624 48 08 D0 8D */ bl PSMTXMultVecSR /* 801EF9C8 001EB628 38 81 00 08 */ addi r4, r1, 8 /* 801EF9CC 001EB62C 38 61 00 30 */ addi r3, r1, 0x30 /* 801EF9D0 001EB630 7C 85 23 78 */ mr r5, r4 /* 801EF9D4 001EB634 48 08 D0 7D */ bl PSMTXMultVecSR lbl_801EF9D8: /* 801EF9D8 001EB638 88 1B 00 1A */ lbz r0, 0x1a(r27) /* 801EF9DC 001EB63C 38 BB 00 04 */ addi r5, r27, 4 /* 801EF9E0 001EB640 2C 00 00 00 */ cmpwi r0, 0 /* 801EF9E4 001EB644 41 82 00 28 */ beq lbl_801EFA0C /* 801EF9E8 001EB648 FC 20 F0 90 */ fmr f1, f30 /* 801EF9EC 001EB64C 7F 63 DB 78 */ mr r3, r27 /* 801EF9F0 001EB650 FC 40 F8 90 */ fmr f2, f31 /* 801EF9F4 001EB654 38 81 00 60 */ addi r4, r1, 0x60 /* 801EF9F8 001EB658 38 C1 00 20 */ addi r6, r1, 0x20 /* 801EF9FC 001EB65C 38 E1 00 14 */ addi r7, r1, 0x14 /* 801EFA00 001EB660 39 01 00 08 */ addi r8, r1, 8 /* 801EFA04 001EB664 4B FF F7 D1 */ bl func_801EF1D4 /* 801EFA08 001EB668 48 00 00 24 */ b lbl_801EFA2C lbl_801EFA0C: /* 801EFA0C 001EB66C FC 20 F0 90 */ fmr f1, f30 /* 801EFA10 001EB670 7F 63 DB 78 */ mr r3, r27 /* 801EFA14 001EB674 FC 40 F8 90 */ fmr f2, f31 /* 801EFA18 001EB678 38 81 00 60 */ addi r4, r1, 0x60 /* 801EFA1C 001EB67C 38 C1 00 20 */ addi r6, r1, 0x20 /* 801EFA20 001EB680 38 E1 00 14 */ addi r7, r1, 0x14 /* 801EFA24 001EB684 39 01 00 08 */ addi r8, r1, 8 /* 801EFA28 001EB688 4B FF F5 5D */ bl func_801EEF84 lbl_801EFA2C: /* 801EFA2C 001EB68C E3 E1 00 C8 */ psq_l f31, 200(r1), 0, qr0 /* 801EFA30 001EB690 CB E1 00 C0 */ lfd f31, 0xc0(r1) /* 801EFA34 001EB694 E3 C1 00 B8 */ psq_l f30, 184(r1), 0, qr0 /* 801EFA38 001EB698 39 61 00 B0 */ addi r11, r1, 0xb0 /* 801EFA3C 001EB69C CB C1 00 B0 */ lfd f30, 0xb0(r1) /* 801EFA40 001EB6A0 4B FD 77 35 */ bl _restgpr_27 /* 801EFA44 001EB6A4 80 01 00 D4 */ lwz r0, 0xd4(r1) /* 801EFA48 001EB6A8 7C 08 03 A6 */ mtlr r0 /* 801EFA4C 001EB6AC 38 21 00 D0 */ addi r1, r1, 0xd0 /* 801EFA50 001EB6B0 4E 80 00 20 */ blr .global func_801EFA54 func_801EFA54: /* 801EFA54 001EB6B4 88 03 00 1A */ lbz r0, 0x1a(r3) /* 801EFA58 001EB6B8 38 83 00 04 */ addi r4, r3, 4 /* 801EFA5C 001EB6BC 2C 00 00 00 */ cmpwi r0, 0 /* 801EFA60 001EB6C0 41 82 00 08 */ beq lbl_801EFA68 /* 801EFA64 001EB6C4 4B FF F4 48 */ b lbl_801EEEAC lbl_801EFA68: /* 801EFA68 001EB6C8 4B FF F3 6C */ b lbl_801EEDD4 .global func_801EFA6C func_801EFA6C: /* 801EFA6C 001EB6CC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801EFA70 001EB6D0 7C 08 02 A6 */ mflr r0 /* 801EFA74 001EB6D4 90 01 00 24 */ stw r0, 0x24(r1) /* 801EFA78 001EB6D8 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801EFA7C 001EB6DC 7C 7F 1B 78 */ mr r31, r3 /* 801EFA80 001EB6E0 93 C1 00 18 */ stw r30, 0x18(r1) /* 801EFA84 001EB6E4 93 A1 00 14 */ stw r29, 0x14(r1) /* 801EFA88 001EB6E8 93 81 00 10 */ stw r28, 0x10(r1) /* 801EFA8C 001EB6EC 88 03 00 1B */ lbz r0, 0x1b(r3) /* 801EFA90 001EB6F0 2C 00 00 00 */ cmpwi r0, 0 /* 801EFA94 001EB6F4 41 82 00 20 */ beq lbl_801EFAB4 /* 801EFA98 001EB6F8 80 83 00 14 */ lwz r4, 0x14(r3) /* 801EFA9C 001EB6FC 2C 04 00 00 */ cmpwi r4, 0 /* 801EFAA0 001EB700 41 82 00 14 */ beq lbl_801EFAB4 /* 801EFAA4 001EB704 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 801EFAA8 001EB708 48 04 BD E5 */ bl func_8023B88C /* 801EFAAC 001EB70C 38 00 00 00 */ li r0, 0 /* 801EFAB0 001EB710 90 1F 00 14 */ stw r0, 0x14(r31) lbl_801EFAB4: /* 801EFAB4 001EB714 80 BF 00 00 */ lwz r5, 0(r31) /* 801EFAB8 001EB718 80 7F 00 08 */ lwz r3, 8(r31) /* 801EFABC 001EB71C 80 85 00 08 */ lwz r4, 8(r5) /* 801EFAC0 001EB720 7C 03 20 40 */ cmplw r3, r4 /* 801EFAC4 001EB724 41 82 00 54 */ beq lbl_801EFB18 /* 801EFAC8 001EB728 88 1F 00 1A */ lbz r0, 0x1a(r31) /* 801EFACC 001EB72C 2C 00 00 00 */ cmpwi r0, 0 /* 801EFAD0 001EB730 41 82 00 28 */ beq lbl_801EFAF8 /* 801EFAD4 001EB734 A0 05 00 02 */ lhz r0, 2(r5) /* 801EFAD8 001EB738 1C A0 00 30 */ mulli r5, r0, 0x30 /* 801EFADC 001EB73C 4B E1 45 25 */ bl memcpy /* 801EFAE0 001EB740 80 9F 00 00 */ lwz r4, 0(r31) /* 801EFAE4 001EB744 80 7F 00 08 */ lwz r3, 8(r31) /* 801EFAE8 001EB748 A0 04 00 02 */ lhz r0, 2(r4) /* 801EFAEC 001EB74C 1C 80 00 30 */ mulli r4, r0, 0x30 /* 801EFAF0 001EB750 48 07 AB 65 */ bl DCFlushRange /* 801EFAF4 001EB754 48 00 00 24 */ b lbl_801EFB18 lbl_801EFAF8: /* 801EFAF8 001EB758 A0 05 00 02 */ lhz r0, 2(r5) /* 801EFAFC 001EB75C 1C A0 00 18 */ mulli r5, r0, 0x18 /* 801EFB00 001EB760 4B E1 45 01 */ bl memcpy /* 801EFB04 001EB764 80 9F 00 00 */ lwz r4, 0(r31) /* 801EFB08 001EB768 80 7F 00 08 */ lwz r3, 8(r31) /* 801EFB0C 001EB76C A0 04 00 02 */ lhz r0, 2(r4) /* 801EFB10 001EB770 1C 80 00 18 */ mulli r4, r0, 0x18 /* 801EFB14 001EB774 48 07 AB 41 */ bl DCFlushRange lbl_801EFB18: /* 801EFB18 001EB778 80 7F 00 0C */ lwz r3, 0xc(r31) /* 801EFB1C 001EB77C 2C 03 00 00 */ cmpwi r3, 0 /* 801EFB20 001EB780 41 82 00 34 */ beq lbl_801EFB54 /* 801EFB24 001EB784 80 BF 00 00 */ lwz r5, 0(r31) /* 801EFB28 001EB788 80 85 00 10 */ lwz r4, 0x10(r5) /* 801EFB2C 001EB78C 7C 03 20 40 */ cmplw r3, r4 /* 801EFB30 001EB790 41 82 00 24 */ beq lbl_801EFB54 /* 801EFB34 001EB794 A0 05 00 04 */ lhz r0, 4(r5) /* 801EFB38 001EB798 54 05 10 3A */ slwi r5, r0, 2 /* 801EFB3C 001EB79C 4B E1 44 C5 */ bl memcpy /* 801EFB40 001EB7A0 80 9F 00 00 */ lwz r4, 0(r31) /* 801EFB44 001EB7A4 80 7F 00 0C */ lwz r3, 0xc(r31) /* 801EFB48 001EB7A8 A0 04 00 04 */ lhz r0, 4(r4) /* 801EFB4C 001EB7AC 54 04 10 3A */ slwi r4, r0, 2 /* 801EFB50 001EB7B0 48 07 AB 05 */ bl DCFlushRange lbl_801EFB54: /* 801EFB54 001EB7B4 83 BF 00 10 */ lwz r29, 0x10(r31) /* 801EFB58 001EB7B8 2C 1D 00 00 */ cmpwi r29, 0 /* 801EFB5C 001EB7BC 41 82 00 68 */ beq lbl_801EFBC4 /* 801EFB60 001EB7C0 80 7F 00 00 */ lwz r3, 0(r31) /* 801EFB64 001EB7C4 83 C3 00 14 */ lwz r30, 0x14(r3) /* 801EFB68 001EB7C8 7C 1D F0 40 */ cmplw r29, r30 /* 801EFB6C 001EB7CC 41 82 00 58 */ beq lbl_801EFBC4 /* 801EFB70 001EB7D0 3B 80 00 00 */ li r28, 0 /* 801EFB74 001EB7D4 48 00 00 3C */ b lbl_801EFBB0 lbl_801EFB78: /* 801EFB78 001EB7D8 80 9E 00 00 */ lwz r4, 0(r30) /* 801EFB7C 001EB7DC 80 7D 00 00 */ lwz r3, 0(r29) /* 801EFB80 001EB7E0 7C 03 20 40 */ cmplw r3, r4 /* 801EFB84 001EB7E4 41 82 00 20 */ beq lbl_801EFBA4 /* 801EFB88 001EB7E8 A0 1E 00 04 */ lhz r0, 4(r30) /* 801EFB8C 001EB7EC 54 05 18 38 */ slwi r5, r0, 3 /* 801EFB90 001EB7F0 4B E1 44 71 */ bl memcpy /* 801EFB94 001EB7F4 A0 1E 00 04 */ lhz r0, 4(r30) /* 801EFB98 001EB7F8 80 7D 00 00 */ lwz r3, 0(r29) /* 801EFB9C 001EB7FC 54 04 18 38 */ slwi r4, r0, 3 /* 801EFBA0 001EB800 48 07 AA B5 */ bl DCFlushRange lbl_801EFBA4: /* 801EFBA4 001EB804 3B 9C 00 01 */ addi r28, r28, 1 /* 801EFBA8 001EB808 3B BD 00 08 */ addi r29, r29, 8 /* 801EFBAC 001EB80C 3B DE 00 08 */ addi r30, r30, 8 lbl_801EFBB0: /* 801EFBB0 001EB810 80 7F 00 00 */ lwz r3, 0(r31) /* 801EFBB4 001EB814 57 84 06 3E */ clrlwi r4, r28, 0x18 /* 801EFBB8 001EB818 A0 03 00 06 */ lhz r0, 6(r3) /* 801EFBBC 001EB81C 7C 04 00 00 */ cmpw r4, r0 /* 801EFBC0 001EB820 41 80 FF B8 */ blt lbl_801EFB78 lbl_801EFBC4: /* 801EFBC4 001EB824 80 01 00 24 */ lwz r0, 0x24(r1) /* 801EFBC8 001EB828 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801EFBCC 001EB82C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801EFBD0 001EB830 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801EFBD4 001EB834 83 81 00 10 */ lwz r28, 0x10(r1) /* 801EFBD8 001EB838 7C 08 03 A6 */ mtlr r0 /* 801EFBDC 001EB83C 38 21 00 20 */ addi r1, r1, 0x20 /* 801EFBE0 001EB840 4E 80 00 20 */ blr .global func_801EFBE4 func_801EFBE4: /* 801EFBE4 001EB844 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801EFBE8 001EB848 7C 08 02 A6 */ mflr r0 /* 801EFBEC 001EB84C 90 01 00 24 */ stw r0, 0x24(r1) /* 801EFBF0 001EB850 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801EFBF4 001EB854 93 C1 00 18 */ stw r30, 0x18(r1) /* 801EFBF8 001EB858 93 A1 00 14 */ stw r29, 0x14(r1) /* 801EFBFC 001EB85C 7C 9D 23 78 */ mr r29, r4 /* 801EFC00 001EB860 93 81 00 10 */ stw r28, 0x10(r1) /* 801EFC04 001EB864 7C 7C 1B 78 */ mr r28, r3 /* 801EFC08 001EB868 88 03 00 1A */ lbz r0, 0x1a(r3) /* 801EFC0C 001EB86C 2C 00 00 00 */ cmpwi r0, 0 /* 801EFC10 001EB870 41 82 00 64 */ beq lbl_801EFC74 /* 801EFC14 001EB874 2C 05 00 00 */ cmpwi r5, 0 /* 801EFC18 001EB878 41 82 00 34 */ beq lbl_801EFC4C /* 801EFC1C 001EB87C 80 A3 00 04 */ lwz r5, 4(r3) /* 801EFC20 001EB880 2C 05 00 00 */ cmpwi r5, 0 /* 801EFC24 001EB884 41 82 00 28 */ beq lbl_801EFC4C /* 801EFC28 001EB888 7F A3 EB 78 */ mr r3, r29 /* 801EFC2C 001EB88C 38 80 00 09 */ li r4, 9 /* 801EFC30 001EB890 48 04 C6 61 */ bl func_8023C290 /* 801EFC34 001EB894 80 BC 00 04 */ lwz r5, 4(r28) /* 801EFC38 001EB898 7F A3 EB 78 */ mr r3, r29 /* 801EFC3C 001EB89C 38 80 00 19 */ li r4, 0x19 /* 801EFC40 001EB8A0 38 A5 00 0C */ addi r5, r5, 0xc /* 801EFC44 001EB8A4 48 04 C6 4D */ bl func_8023C290 /* 801EFC48 001EB8A8 48 00 00 88 */ b lbl_801EFCD0 lbl_801EFC4C: /* 801EFC4C 001EB8AC 80 BC 00 08 */ lwz r5, 8(r28) /* 801EFC50 001EB8B0 7F A3 EB 78 */ mr r3, r29 /* 801EFC54 001EB8B4 38 80 00 09 */ li r4, 9 /* 801EFC58 001EB8B8 48 04 C6 39 */ bl func_8023C290 /* 801EFC5C 001EB8BC 80 BC 00 08 */ lwz r5, 8(r28) /* 801EFC60 001EB8C0 7F A3 EB 78 */ mr r3, r29 /* 801EFC64 001EB8C4 38 80 00 19 */ li r4, 0x19 /* 801EFC68 001EB8C8 38 A5 00 0C */ addi r5, r5, 0xc /* 801EFC6C 001EB8CC 48 04 C6 25 */ bl func_8023C290 /* 801EFC70 001EB8D0 48 00 00 60 */ b lbl_801EFCD0 lbl_801EFC74: /* 801EFC74 001EB8D4 2C 05 00 00 */ cmpwi r5, 0 /* 801EFC78 001EB8D8 41 82 00 34 */ beq lbl_801EFCAC /* 801EFC7C 001EB8DC 80 A3 00 04 */ lwz r5, 4(r3) /* 801EFC80 001EB8E0 2C 05 00 00 */ cmpwi r5, 0 /* 801EFC84 001EB8E4 41 82 00 28 */ beq lbl_801EFCAC /* 801EFC88 001EB8E8 7F A3 EB 78 */ mr r3, r29 /* 801EFC8C 001EB8EC 38 80 00 09 */ li r4, 9 /* 801EFC90 001EB8F0 48 04 C6 01 */ bl func_8023C290 /* 801EFC94 001EB8F4 80 BC 00 04 */ lwz r5, 4(r28) /* 801EFC98 001EB8F8 7F A3 EB 78 */ mr r3, r29 /* 801EFC9C 001EB8FC 38 80 00 0A */ li r4, 0xa /* 801EFCA0 001EB900 38 A5 00 0C */ addi r5, r5, 0xc /* 801EFCA4 001EB904 48 04 C5 ED */ bl func_8023C290 /* 801EFCA8 001EB908 48 00 00 28 */ b lbl_801EFCD0 lbl_801EFCAC: /* 801EFCAC 001EB90C 80 BC 00 08 */ lwz r5, 8(r28) /* 801EFCB0 001EB910 7F A3 EB 78 */ mr r3, r29 /* 801EFCB4 001EB914 38 80 00 09 */ li r4, 9 /* 801EFCB8 001EB918 48 04 C5 D9 */ bl func_8023C290 /* 801EFCBC 001EB91C 80 BC 00 08 */ lwz r5, 8(r28) /* 801EFCC0 001EB920 7F A3 EB 78 */ mr r3, r29 /* 801EFCC4 001EB924 38 80 00 0A */ li r4, 0xa /* 801EFCC8 001EB928 38 A5 00 0C */ addi r5, r5, 0xc /* 801EFCCC 001EB92C 48 04 C5 C5 */ bl func_8023C290 lbl_801EFCD0: /* 801EFCD0 001EB930 80 BC 00 0C */ lwz r5, 0xc(r28) /* 801EFCD4 001EB934 7F A3 EB 78 */ mr r3, r29 /* 801EFCD8 001EB938 38 80 00 0B */ li r4, 0xb /* 801EFCDC 001EB93C 48 04 C5 B5 */ bl func_8023C290 /* 801EFCE0 001EB940 80 7C 00 00 */ lwz r3, 0(r28) /* 801EFCE4 001EB944 3B C0 00 00 */ li r30, 0 /* 801EFCE8 001EB948 A3 E3 00 06 */ lhz r31, 6(r3) /* 801EFCEC 001EB94C 48 00 00 24 */ b lbl_801EFD10 lbl_801EFCF0: /* 801EFCF0 001EB950 80 9C 00 10 */ lwz r4, 0x10(r28) /* 801EFCF4 001EB954 57 C0 1B 78 */ rlwinm r0, r30, 3, 0xd, 0x1c /* 801EFCF8 001EB958 57 C6 04 3E */ clrlwi r6, r30, 0x10 /* 801EFCFC 001EB95C 7F A3 EB 78 */ mr r3, r29 /* 801EFD00 001EB960 7C A4 00 2E */ lwzx r5, r4, r0 /* 801EFD04 001EB964 38 86 00 0D */ addi r4, r6, 0xd /* 801EFD08 001EB968 48 04 C5 89 */ bl func_8023C290 /* 801EFD0C 001EB96C 3B DE 00 01 */ addi r30, r30, 1 lbl_801EFD10: /* 801EFD10 001EB970 57 C0 04 3E */ clrlwi r0, r30, 0x10 /* 801EFD14 001EB974 7C 00 F8 40 */ cmplw r0, r31 /* 801EFD18 001EB978 41 80 FF D8 */ blt lbl_801EFCF0 /* 801EFD1C 001EB97C 80 01 00 24 */ lwz r0, 0x24(r1) /* 801EFD20 001EB980 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801EFD24 001EB984 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801EFD28 001EB988 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801EFD2C 001EB98C 83 81 00 10 */ lwz r28, 0x10(r1) /* 801EFD30 001EB990 7C 08 03 A6 */ mtlr r0 /* 801EFD34 001EB994 38 21 00 20 */ addi r1, r1, 0x20 /* 801EFD38 001EB998 4E 80 00 20 */ blr .global func_801EFD3C func_801EFD3C: /* 801EFD3C 001EB99C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801EFD40 001EB9A0 7C 08 02 A6 */ mflr r0 /* 801EFD44 001EB9A4 38 A0 00 10 */ li r5, 0x10 /* 801EFD48 001EB9A8 90 01 00 14 */ stw r0, 0x14(r1) /* 801EFD4C 001EB9AC 38 00 00 00 */ li r0, 0 /* 801EFD50 001EB9B0 93 E1 00 0C */ stw r31, 0xc(r1) /* 801EFD54 001EB9B4 7C 7F 1B 78 */ mr r31, r3 /* 801EFD58 001EB9B8 90 83 00 00 */ stw r4, 0(r3) /* 801EFD5C 001EB9BC 38 80 00 00 */ li r4, 0 /* 801EFD60 001EB9C0 90 03 00 14 */ stw r0, 0x14(r3) /* 801EFD64 001EB9C4 98 03 00 1A */ stb r0, 0x1a(r3) /* 801EFD68 001EB9C8 98 03 00 1B */ stb r0, 0x1b(r3) /* 801EFD6C 001EB9CC 38 63 00 04 */ addi r3, r3, 4 /* 801EFD70 001EB9D0 4B E1 43 95 */ bl memset /* 801EFD74 001EB9D4 80 7F 00 00 */ lwz r3, 0(r31) /* 801EFD78 001EB9D8 A0 03 00 00 */ lhz r0, 0(r3) /* 801EFD7C 001EB9DC 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a /* 801EFD80 001EB9E0 41 82 00 10 */ beq lbl_801EFD90 /* 801EFD84 001EB9E4 7F E3 FB 78 */ mr r3, r31 /* 801EFD88 001EB9E8 4B FF F7 61 */ bl func_801EF4E8 /* 801EFD8C 001EB9EC 48 00 00 0C */ b lbl_801EFD98 lbl_801EFD90: /* 801EFD90 001EB9F0 7F E3 FB 78 */ mr r3, r31 /* 801EFD94 001EB9F4 4B FF F6 B5 */ bl func_801EF448 lbl_801EFD98: /* 801EFD98 001EB9F8 7F E3 FB 78 */ mr r3, r31 /* 801EFD9C 001EB9FC 4B FF F7 F1 */ bl func_801EF58C /* 801EFDA0 001EBA00 7F E3 FB 78 */ mr r3, r31 /* 801EFDA4 001EBA04 4B FF F8 A1 */ bl func_801EF644 /* 801EFDA8 001EBA08 7F E3 FB 78 */ mr r3, r31 /* 801EFDAC 001EBA0C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801EFDB0 001EBA10 80 01 00 14 */ lwz r0, 0x14(r1) /* 801EFDB4 001EBA14 7C 08 03 A6 */ mtlr r0 /* 801EFDB8 001EBA18 38 21 00 10 */ addi r1, r1, 0x10 /* 801EFDBC 001EBA1C 4E 80 00 20 */ blr .global func_801EFDC0 func_801EFDC0: /* 801EFDC0 001EBA20 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801EFDC4 001EBA24 7C 08 02 A6 */ mflr r0 /* 801EFDC8 001EBA28 90 01 00 24 */ stw r0, 0x24(r1) /* 801EFDCC 001EBA2C 39 61 00 20 */ addi r11, r1, 0x20 /* 801EFDD0 001EBA30 4B FD 73 59 */ bl _savegpr_27 /* 801EFDD4 001EBA34 2C 03 00 00 */ cmpwi r3, 0 /* 801EFDD8 001EBA38 7C 7E 1B 78 */ mr r30, r3 /* 801EFDDC 001EBA3C 7C 9F 23 78 */ mr r31, r4 /* 801EFDE0 001EBA40 41 82 01 14 */ beq lbl_801EFEF4 /* 801EFDE4 001EBA44 88 03 00 1B */ lbz r0, 0x1b(r3) /* 801EFDE8 001EBA48 2C 00 00 00 */ cmpwi r0, 0 /* 801EFDEC 001EBA4C 41 82 00 20 */ beq lbl_801EFE0C /* 801EFDF0 001EBA50 80 83 00 14 */ lwz r4, 0x14(r3) /* 801EFDF4 001EBA54 2C 04 00 00 */ cmpwi r4, 0 /* 801EFDF8 001EBA58 41 82 00 14 */ beq lbl_801EFE0C /* 801EFDFC 001EBA5C 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 801EFE00 001EBA60 48 04 BA 8D */ bl func_8023B88C /* 801EFE04 001EBA64 38 00 00 00 */ li r0, 0 /* 801EFE08 001EBA68 90 1E 00 14 */ stw r0, 0x14(r30) lbl_801EFE0C: /* 801EFE0C 001EBA6C 88 1E 00 1B */ lbz r0, 0x1b(r30) /* 801EFE10 001EBA70 2C 00 00 00 */ cmpwi r0, 0 /* 801EFE14 001EBA74 41 82 00 20 */ beq lbl_801EFE34 /* 801EFE18 001EBA78 80 9E 00 14 */ lwz r4, 0x14(r30) /* 801EFE1C 001EBA7C 2C 04 00 00 */ cmpwi r4, 0 /* 801EFE20 001EBA80 41 82 00 14 */ beq lbl_801EFE34 /* 801EFE24 001EBA84 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 801EFE28 001EBA88 48 04 BA 65 */ bl func_8023B88C /* 801EFE2C 001EBA8C 38 00 00 00 */ li r0, 0 /* 801EFE30 001EBA90 90 1E 00 14 */ stw r0, 0x14(r30) lbl_801EFE34: /* 801EFE34 001EBA94 80 7E 00 04 */ lwz r3, 4(r30) /* 801EFE38 001EBA98 2C 03 00 00 */ cmpwi r3, 0 /* 801EFE3C 001EBA9C 41 82 00 08 */ beq lbl_801EFE44 /* 801EFE40 001EBAA0 4B FE B0 65 */ bl func_801DAEA4 lbl_801EFE44: /* 801EFE44 001EBAA4 80 7E 00 00 */ lwz r3, 0(r30) /* 801EFE48 001EBAA8 83 9E 00 10 */ lwz r28, 0x10(r30) /* 801EFE4C 001EBAAC 83 A3 00 14 */ lwz r29, 0x14(r3) /* 801EFE50 001EBAB0 7C 1C E8 40 */ cmplw r28, r29 /* 801EFE54 001EBAB4 41 82 00 54 */ beq lbl_801EFEA8 /* 801EFE58 001EBAB8 3B 60 00 00 */ li r27, 0 /* 801EFE5C 001EBABC 48 00 00 30 */ b lbl_801EFE8C lbl_801EFE60: /* 801EFE60 001EBAC0 80 7C 00 00 */ lwz r3, 0(r28) /* 801EFE64 001EBAC4 80 1D 00 00 */ lwz r0, 0(r29) /* 801EFE68 001EBAC8 7C 03 00 40 */ cmplw r3, r0 /* 801EFE6C 001EBACC 41 82 00 14 */ beq lbl_801EFE80 /* 801EFE70 001EBAD0 2C 03 00 00 */ cmpwi r3, 0 /* 801EFE74 001EBAD4 41 82 00 0C */ beq lbl_801EFE80 /* 801EFE78 001EBAD8 38 63 FF F0 */ addi r3, r3, -16 /* 801EFE7C 001EBADC 4B FE AC 41 */ bl __dla__FPv lbl_801EFE80: /* 801EFE80 001EBAE0 3B 7B 00 01 */ addi r27, r27, 1 /* 801EFE84 001EBAE4 3B 9C 00 08 */ addi r28, r28, 8 /* 801EFE88 001EBAE8 3B BD 00 08 */ addi r29, r29, 8 lbl_801EFE8C: /* 801EFE8C 001EBAEC 80 7E 00 00 */ lwz r3, 0(r30) /* 801EFE90 001EBAF0 57 64 04 3E */ clrlwi r4, r27, 0x10 /* 801EFE94 001EBAF4 A0 03 00 06 */ lhz r0, 6(r3) /* 801EFE98 001EBAF8 7C 04 00 40 */ cmplw r4, r0 /* 801EFE9C 001EBAFC 41 80 FF C4 */ blt lbl_801EFE60 /* 801EFEA0 001EBB00 80 7E 00 10 */ lwz r3, 0x10(r30) /* 801EFEA4 001EBB04 4B FE AC 19 */ bl __dla__FPv lbl_801EFEA8: /* 801EFEA8 001EBB08 80 7E 00 00 */ lwz r3, 0(r30) /* 801EFEAC 001EBB0C 80 9E 00 0C */ lwz r4, 0xc(r30) /* 801EFEB0 001EBB10 80 03 00 10 */ lwz r0, 0x10(r3) /* 801EFEB4 001EBB14 7C 04 00 40 */ cmplw r4, r0 /* 801EFEB8 001EBB18 41 82 00 14 */ beq lbl_801EFECC /* 801EFEBC 001EBB1C 2C 04 00 00 */ cmpwi r4, 0 /* 801EFEC0 001EBB20 41 82 00 0C */ beq lbl_801EFECC /* 801EFEC4 001EBB24 38 64 FF F0 */ addi r3, r4, -16 /* 801EFEC8 001EBB28 4B FE AB F5 */ bl __dla__FPv lbl_801EFECC: /* 801EFECC 001EBB2C 80 9E 00 00 */ lwz r4, 0(r30) /* 801EFED0 001EBB30 80 7E 00 08 */ lwz r3, 8(r30) /* 801EFED4 001EBB34 80 04 00 08 */ lwz r0, 8(r4) /* 801EFED8 001EBB38 7C 03 00 40 */ cmplw r3, r0 /* 801EFEDC 001EBB3C 41 82 00 08 */ beq lbl_801EFEE4 /* 801EFEE0 001EBB40 4B FE AF C5 */ bl func_801DAEA4 lbl_801EFEE4: /* 801EFEE4 001EBB44 2C 1F 00 00 */ cmpwi r31, 0 /* 801EFEE8 001EBB48 40 81 00 0C */ ble lbl_801EFEF4 /* 801EFEEC 001EBB4C 7F C3 F3 78 */ mr r3, r30 /* 801EFEF0 001EBB50 4B FE AB C9 */ bl __dl__FPv lbl_801EFEF4: /* 801EFEF4 001EBB54 39 61 00 20 */ addi r11, r1, 0x20 /* 801EFEF8 001EBB58 7F C3 F3 78 */ mr r3, r30 /* 801EFEFC 001EBB5C 4B FD 72 79 */ bl _restgpr_27 /* 801EFF00 001EBB60 80 01 00 24 */ lwz r0, 0x24(r1) /* 801EFF04 001EBB64 7C 08 03 A6 */ mtlr r0 /* 801EFF08 001EBB68 38 21 00 20 */ addi r1, r1, 0x20 /* 801EFF0C 001EBB6C 4E 80 00 20 */ blr .global func_801EFF10 func_801EFF10: /* 801EFF10 001EBB70 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801EFF14 001EBB74 7C 08 02 A6 */ mflr r0 /* 801EFF18 001EBB78 90 01 00 24 */ stw r0, 0x24(r1) /* 801EFF1C 001EBB7C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801EFF20 001EBB80 93 C1 00 18 */ stw r30, 0x18(r1) /* 801EFF24 001EBB84 7C BE 2B 78 */ mr r30, r5 /* 801EFF28 001EBB88 93 A1 00 14 */ stw r29, 0x14(r1) /* 801EFF2C 001EBB8C 7C 7D 1B 78 */ mr r29, r3 /* 801EFF30 001EBB90 48 00 1C 99 */ bl __ct__6GSnullFPvP11gUnkClass10 /* 801EFF34 001EBB94 C0 42 97 E0 */ lfs f2, lbl_80641DE0-_SDA2_BASE_(r2) /* 801EFF38 001EBB98 3C 60 80 42 */ lis r3, lbl_80423668@ha /* 801EFF3C 001EBB9C 3B E0 00 00 */ li r31, 0 /* 801EFF40 001EBBA0 C0 82 97 D8 */ lfs f4, lbl_80641DD8-_SDA2_BASE_(r2) /* 801EFF44 001EBBA4 C0 62 97 DC */ lfs f3, lbl_80641DDC-_SDA2_BASE_(r2) /* 801EFF48 001EBBA8 38 63 36 68 */ addi r3, r3, lbl_80423668@l /* 801EFF4C 001EBBAC C0 22 97 C4 */ lfs f1, lbl_80641DC4-_SDA2_BASE_(r2) /* 801EFF50 001EBBB0 38 00 00 01 */ li r0, 1 /* 801EFF54 001EBBB4 90 7D 01 00 */ stw r3, 0x100(r29) /* 801EFF58 001EBBB8 3C A0 80 49 */ lis r5, lbl_80493614@ha /* 801EFF5C 001EBBBC 38 85 36 14 */ addi r4, r5, lbl_80493614@l /* 801EFF60 001EBBC0 C0 02 97 E4 */ lfs f0, lbl_80641DE4-_SDA2_BASE_(r2) /* 801EFF64 001EBBC4 90 1D 01 04 */ stw r0, 0x104(r29) /* 801EFF68 001EBBC8 38 7D 01 6C */ addi r3, r29, 0x16c /* 801EFF6C 001EBBCC D0 9D 01 08 */ stfs f4, 0x108(r29) /* 801EFF70 001EBBD0 D0 9D 01 0C */ stfs f4, 0x10c(r29) /* 801EFF74 001EBBD4 D0 9D 01 10 */ stfs f4, 0x110(r29) /* 801EFF78 001EBBD8 D0 7D 01 14 */ stfs f3, 0x114(r29) /* 801EFF7C 001EBBDC D0 7D 01 18 */ stfs f3, 0x118(r29) /* 801EFF80 001EBBE0 D0 7D 01 1C */ stfs f3, 0x11c(r29) /* 801EFF84 001EBBE4 93 FD 01 20 */ stw r31, 0x120(r29) /* 801EFF88 001EBBE8 D0 5D 01 24 */ stfs f2, 0x124(r29) /* 801EFF8C 001EBBEC D0 5D 01 28 */ stfs f2, 0x128(r29) /* 801EFF90 001EBBF0 D0 5D 01 2C */ stfs f2, 0x12c(r29) /* 801EFF94 001EBBF4 D0 5D 01 30 */ stfs f2, 0x130(r29) /* 801EFF98 001EBBF8 9B FD 01 34 */ stb r31, 0x134(r29) /* 801EFF9C 001EBBFC 9B FD 01 35 */ stb r31, 0x135(r29) /* 801EFFA0 001EBC00 9B FD 01 36 */ stb r31, 0x136(r29) /* 801EFFA4 001EBC04 9B FD 01 37 */ stb r31, 0x137(r29) /* 801EFFA8 001EBC08 D0 5D 01 38 */ stfs f2, 0x138(r29) /* 801EFFAC 001EBC0C D0 5D 01 3C */ stfs f2, 0x13c(r29) /* 801EFFB0 001EBC10 D0 5D 01 40 */ stfs f2, 0x140(r29) /* 801EFFB4 001EBC14 D0 5D 01 44 */ stfs f2, 0x144(r29) /* 801EFFB8 001EBC18 D0 3D 01 48 */ stfs f1, 0x148(r29) /* 801EFFBC 001EBC1C D0 5D 01 4C */ stfs f2, 0x14c(r29) /* 801EFFC0 001EBC20 D0 3D 01 50 */ stfs f1, 0x150(r29) /* 801EFFC4 001EBC24 C0 25 36 14 */ lfs f1, 0x3614(r5) /* 801EFFC8 001EBC28 D0 3D 01 54 */ stfs f1, 0x154(r29) /* 801EFFCC 001EBC2C C0 24 00 04 */ lfs f1, 4(r4) /* 801EFFD0 001EBC30 D0 3D 01 58 */ stfs f1, 0x158(r29) /* 801EFFD4 001EBC34 C0 24 00 08 */ lfs f1, 8(r4) /* 801EFFD8 001EBC38 D0 3D 01 5C */ stfs f1, 0x15c(r29) /* 801EFFDC 001EBC3C D0 1D 01 60 */ stfs f0, 0x160(r29) /* 801EFFE0 001EBC40 80 1E 00 30 */ lwz r0, 0x30(r30) /* 801EFFE4 001EBC44 90 1D 01 64 */ stw r0, 0x164(r29) /* 801EFFE8 001EBC48 80 1E 00 34 */ lwz r0, 0x34(r30) /* 801EFFEC 001EBC4C 90 1D 01 68 */ stw r0, 0x168(r29) /* 801EFFF0 001EBC50 80 9E 00 30 */ lwz r4, 0x30(r30) /* 801EFFF4 001EBC54 4B FF FD 49 */ bl func_801EFD3C /* 801EFFF8 001EBC58 38 1D 00 D0 */ addi r0, r29, 0xd0 /* 801EFFFC 001EBC5C 93 FD 01 88 */ stw r31, 0x188(r29) /* 801F0000 001EBC60 80 7D 01 64 */ lwz r3, 0x164(r29) /* 801F0004 001EBC64 3B C0 00 00 */ li r30, 0 /* 801F0008 001EBC68 90 1D 01 20 */ stw r0, 0x120(r29) /* 801F000C 001EBC6C 83 E3 00 18 */ lwz r31, 0x18(r3) /* 801F0010 001EBC70 48 00 00 5C */ b lbl_801F006C lbl_801F0014: /* 801F0014 001EBC74 4B FE AB 15 */ bl func_801DAB28 /* 801F0018 001EBC78 2C 03 00 00 */ cmpwi r3, 0 /* 801F001C 001EBC7C 41 82 00 14 */ beq lbl_801F0030 /* 801F0020 001EBC80 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 801F0024 001EBC84 38 80 00 28 */ li r4, 0x28 /* 801F0028 001EBC88 4B FE AC 6D */ bl func_801DAC94 /* 801F002C 001EBC8C 48 00 00 08 */ b lbl_801F0034 lbl_801F0030: /* 801F0030 001EBC90 38 60 00 00 */ li r3, 0 lbl_801F0034: /* 801F0034 001EBC94 2C 03 00 00 */ cmpwi r3, 0 /* 801F0038 001EBC98 41 82 00 10 */ beq lbl_801F0048 /* 801F003C 001EBC9C 7F A4 EB 78 */ mr r4, r29 /* 801F0040 001EBCA0 7F E5 FB 78 */ mr r5, r31 /* 801F0044 001EBCA4 4B FF D3 AD */ bl func_801ED3F0 lbl_801F0048: /* 801F0048 001EBCA8 2C 03 00 00 */ cmpwi r3, 0 /* 801F004C 001EBCAC 41 82 00 28 */ beq lbl_801F0074 /* 801F0050 001EBCB0 2C 1E 00 00 */ cmpwi r30, 0 /* 801F0054 001EBCB4 41 82 00 0C */ beq lbl_801F0060 /* 801F0058 001EBCB8 90 7E 00 20 */ stw r3, 0x20(r30) /* 801F005C 001EBCBC 48 00 00 08 */ b lbl_801F0064 lbl_801F0060: /* 801F0060 001EBCC0 90 7D 01 88 */ stw r3, 0x188(r29) lbl_801F0064: /* 801F0064 001EBCC4 7C 7E 1B 78 */ mr r30, r3 /* 801F0068 001EBCC8 83 FF 00 1C */ lwz r31, 0x1c(r31) lbl_801F006C: /* 801F006C 001EBCCC 2C 1F 00 00 */ cmpwi r31, 0 /* 801F0070 001EBCD0 40 82 FF A4 */ bne lbl_801F0014 lbl_801F0074: /* 801F0074 001EBCD4 48 07 81 ED */ bl PPCSync /* 801F0078 001EBCD8 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801F007C 001EBCDC 7F A3 EB 78 */ mr r3, r29 /* 801F0080 001EBCE0 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801F0084 001EBCE4 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801F0088 001EBCE8 80 01 00 24 */ lwz r0, 0x24(r1) /* 801F008C 001EBCEC 7C 08 03 A6 */ mtlr r0 /* 801F0090 001EBCF0 38 21 00 20 */ addi r1, r1, 0x20 /* 801F0094 001EBCF4 4E 80 00 20 */ blr .global func_801F0098 func_801F0098: /* 801F0098 001EBCF8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801F009C 001EBCFC 7C 08 02 A6 */ mflr r0 /* 801F00A0 001EBD00 90 01 00 24 */ stw r0, 0x24(r1) /* 801F00A4 001EBD04 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801F00A8 001EBD08 93 C1 00 18 */ stw r30, 0x18(r1) /* 801F00AC 001EBD0C 7C 9E 23 78 */ mr r30, r4 /* 801F00B0 001EBD10 38 80 00 03 */ li r4, 3 /* 801F00B4 001EBD14 93 A1 00 14 */ stw r29, 0x14(r1) /* 801F00B8 001EBD18 7C 7D 1B 78 */ mr r29, r3 /* 801F00BC 001EBD1C 48 00 1A 2D */ bl __ct__6GSnullFUc /* 801F00C0 001EBD20 C0 42 97 E0 */ lfs f2, lbl_80641DE0-_SDA2_BASE_(r2) /* 801F00C4 001EBD24 3C 60 80 42 */ lis r3, lbl_80423668@ha /* 801F00C8 001EBD28 3B E0 00 00 */ li r31, 0 /* 801F00CC 001EBD2C C0 82 97 D8 */ lfs f4, lbl_80641DD8-_SDA2_BASE_(r2) /* 801F00D0 001EBD30 C0 62 97 DC */ lfs f3, lbl_80641DDC-_SDA2_BASE_(r2) /* 801F00D4 001EBD34 38 63 36 68 */ addi r3, r3, lbl_80423668@l /* 801F00D8 001EBD38 C0 22 97 C4 */ lfs f1, lbl_80641DC4-_SDA2_BASE_(r2) /* 801F00DC 001EBD3C 38 00 00 01 */ li r0, 1 /* 801F00E0 001EBD40 90 7D 01 00 */ stw r3, 0x100(r29) /* 801F00E4 001EBD44 3C A0 80 49 */ lis r5, lbl_80493614@ha /* 801F00E8 001EBD48 38 85 36 14 */ addi r4, r5, lbl_80493614@l /* 801F00EC 001EBD4C C0 02 97 E4 */ lfs f0, lbl_80641DE4-_SDA2_BASE_(r2) /* 801F00F0 001EBD50 90 1D 01 04 */ stw r0, 0x104(r29) /* 801F00F4 001EBD54 38 7D 01 6C */ addi r3, r29, 0x16c /* 801F00F8 001EBD58 D0 9D 01 08 */ stfs f4, 0x108(r29) /* 801F00FC 001EBD5C D0 9D 01 0C */ stfs f4, 0x10c(r29) /* 801F0100 001EBD60 D0 9D 01 10 */ stfs f4, 0x110(r29) /* 801F0104 001EBD64 D0 7D 01 14 */ stfs f3, 0x114(r29) /* 801F0108 001EBD68 D0 7D 01 18 */ stfs f3, 0x118(r29) /* 801F010C 001EBD6C D0 7D 01 1C */ stfs f3, 0x11c(r29) /* 801F0110 001EBD70 93 FD 01 20 */ stw r31, 0x120(r29) /* 801F0114 001EBD74 D0 5D 01 24 */ stfs f2, 0x124(r29) /* 801F0118 001EBD78 D0 5D 01 28 */ stfs f2, 0x128(r29) /* 801F011C 001EBD7C D0 5D 01 2C */ stfs f2, 0x12c(r29) /* 801F0120 001EBD80 D0 5D 01 30 */ stfs f2, 0x130(r29) /* 801F0124 001EBD84 9B FD 01 34 */ stb r31, 0x134(r29) /* 801F0128 001EBD88 9B FD 01 35 */ stb r31, 0x135(r29) /* 801F012C 001EBD8C 9B FD 01 36 */ stb r31, 0x136(r29) /* 801F0130 001EBD90 9B FD 01 37 */ stb r31, 0x137(r29) /* 801F0134 001EBD94 D0 5D 01 38 */ stfs f2, 0x138(r29) /* 801F0138 001EBD98 D0 5D 01 3C */ stfs f2, 0x13c(r29) /* 801F013C 001EBD9C D0 5D 01 40 */ stfs f2, 0x140(r29) /* 801F0140 001EBDA0 D0 5D 01 44 */ stfs f2, 0x144(r29) /* 801F0144 001EBDA4 D0 3D 01 48 */ stfs f1, 0x148(r29) /* 801F0148 001EBDA8 D0 5D 01 4C */ stfs f2, 0x14c(r29) /* 801F014C 001EBDAC D0 3D 01 50 */ stfs f1, 0x150(r29) /* 801F0150 001EBDB0 C0 25 36 14 */ lfs f1, 0x3614(r5) /* 801F0154 001EBDB4 D0 3D 01 54 */ stfs f1, 0x154(r29) /* 801F0158 001EBDB8 C0 24 00 04 */ lfs f1, 4(r4) /* 801F015C 001EBDBC D0 3D 01 58 */ stfs f1, 0x158(r29) /* 801F0160 001EBDC0 C0 24 00 08 */ lfs f1, 8(r4) /* 801F0164 001EBDC4 D0 3D 01 5C */ stfs f1, 0x15c(r29) /* 801F0168 001EBDC8 D0 1D 01 60 */ stfs f0, 0x160(r29) /* 801F016C 001EBDCC 80 1E 00 1C */ lwz r0, 0x1c(r30) /* 801F0170 001EBDD0 90 1D 01 64 */ stw r0, 0x164(r29) /* 801F0174 001EBDD4 93 FD 01 68 */ stw r31, 0x168(r29) /* 801F0178 001EBDD8 80 9E 00 1C */ lwz r4, 0x1c(r30) /* 801F017C 001EBDDC 4B FF FB C1 */ bl func_801EFD3C /* 801F0180 001EBDE0 38 1D 00 D0 */ addi r0, r29, 0xd0 /* 801F0184 001EBDE4 93 FD 01 88 */ stw r31, 0x188(r29) /* 801F0188 001EBDE8 80 7D 01 64 */ lwz r3, 0x164(r29) /* 801F018C 001EBDEC 3B C0 00 00 */ li r30, 0 /* 801F0190 001EBDF0 90 1D 01 20 */ stw r0, 0x120(r29) /* 801F0194 001EBDF4 83 E3 00 18 */ lwz r31, 0x18(r3) /* 801F0198 001EBDF8 48 00 00 5C */ b lbl_801F01F4 lbl_801F019C: /* 801F019C 001EBDFC 4B FE A9 8D */ bl func_801DAB28 /* 801F01A0 001EBE00 2C 03 00 00 */ cmpwi r3, 0 /* 801F01A4 001EBE04 41 82 00 14 */ beq lbl_801F01B8 /* 801F01A8 001EBE08 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 801F01AC 001EBE0C 38 80 00 28 */ li r4, 0x28 /* 801F01B0 001EBE10 4B FE AA E5 */ bl func_801DAC94 /* 801F01B4 001EBE14 48 00 00 08 */ b lbl_801F01BC lbl_801F01B8: /* 801F01B8 001EBE18 38 60 00 00 */ li r3, 0 lbl_801F01BC: /* 801F01BC 001EBE1C 2C 03 00 00 */ cmpwi r3, 0 /* 801F01C0 001EBE20 41 82 00 10 */ beq lbl_801F01D0 /* 801F01C4 001EBE24 7F A4 EB 78 */ mr r4, r29 /* 801F01C8 001EBE28 7F E5 FB 78 */ mr r5, r31 /* 801F01CC 001EBE2C 4B FF D2 25 */ bl func_801ED3F0 lbl_801F01D0: /* 801F01D0 001EBE30 2C 03 00 00 */ cmpwi r3, 0 /* 801F01D4 001EBE34 41 82 00 28 */ beq lbl_801F01FC /* 801F01D8 001EBE38 2C 1E 00 00 */ cmpwi r30, 0 /* 801F01DC 001EBE3C 41 82 00 0C */ beq lbl_801F01E8 /* 801F01E0 001EBE40 90 7E 00 20 */ stw r3, 0x20(r30) /* 801F01E4 001EBE44 48 00 00 08 */ b lbl_801F01EC lbl_801F01E8: /* 801F01E8 001EBE48 90 7D 01 88 */ stw r3, 0x188(r29) lbl_801F01EC: /* 801F01EC 001EBE4C 7C 7E 1B 78 */ mr r30, r3 /* 801F01F0 001EBE50 83 FF 00 1C */ lwz r31, 0x1c(r31) lbl_801F01F4: /* 801F01F4 001EBE54 2C 1F 00 00 */ cmpwi r31, 0 /* 801F01F8 001EBE58 40 82 FF A4 */ bne lbl_801F019C lbl_801F01FC: /* 801F01FC 001EBE5C 81 9D 01 00 */ lwz r12, 0x100(r29) /* 801F0200 001EBE60 7F A3 EB 78 */ mr r3, r29 /* 801F0204 001EBE64 38 80 00 00 */ li r4, 0 /* 801F0208 001EBE68 81 8C 00 10 */ lwz r12, 0x10(r12) /* 801F020C 001EBE6C 7D 89 03 A6 */ mtctr r12 /* 801F0210 001EBE70 4E 80 04 21 */ bctrl /* 801F0214 001EBE74 48 07 80 4D */ bl PPCSync /* 801F0218 001EBE78 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801F021C 001EBE7C 7F A3 EB 78 */ mr r3, r29 /* 801F0220 001EBE80 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801F0224 001EBE84 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801F0228 001EBE88 80 01 00 24 */ lwz r0, 0x24(r1) /* 801F022C 001EBE8C 7C 08 03 A6 */ mtlr r0 /* 801F0230 001EBE90 38 21 00 20 */ addi r1, r1, 0x20 /* 801F0234 001EBE94 4E 80 00 20 */ blr /* 801F0238 001EBE98 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801F023C 001EBE9C 7C 08 02 A6 */ mflr r0 /* 801F0240 001EBEA0 2C 03 00 00 */ cmpwi r3, 0 /* 801F0244 001EBEA4 90 01 00 24 */ stw r0, 0x24(r1) /* 801F0248 001EBEA8 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801F024C 001EBEAC 93 C1 00 18 */ stw r30, 0x18(r1) /* 801F0250 001EBEB0 7C 9E 23 78 */ mr r30, r4 /* 801F0254 001EBEB4 93 A1 00 14 */ stw r29, 0x14(r1) /* 801F0258 001EBEB8 7C 7D 1B 78 */ mr r29, r3 /* 801F025C 001EBEBC 41 82 00 74 */ beq lbl_801F02D0 /* 801F0260 001EBEC0 3C 80 80 42 */ lis r4, lbl_80423668@ha /* 801F0264 001EBEC4 80 A3 01 88 */ lwz r5, 0x188(r3) /* 801F0268 001EBEC8 38 84 36 68 */ addi r4, r4, lbl_80423668@l /* 801F026C 001EBECC 90 83 01 00 */ stw r4, 0x100(r3) /* 801F0270 001EBED0 48 00 00 2C */ b lbl_801F029C lbl_801F0274: /* 801F0274 001EBED4 2C 05 00 00 */ cmpwi r5, 0 /* 801F0278 001EBED8 83 E5 00 20 */ lwz r31, 0x20(r5) /* 801F027C 001EBEDC 41 82 00 1C */ beq lbl_801F0298 /* 801F0280 001EBEE0 81 85 00 24 */ lwz r12, 0x24(r5) /* 801F0284 001EBEE4 7C A3 2B 78 */ mr r3, r5 /* 801F0288 001EBEE8 38 80 00 01 */ li r4, 1 /* 801F028C 001EBEEC 81 8C 00 08 */ lwz r12, 8(r12) /* 801F0290 001EBEF0 7D 89 03 A6 */ mtctr r12 /* 801F0294 001EBEF4 4E 80 04 21 */ bctrl lbl_801F0298: /* 801F0298 001EBEF8 7F E5 FB 78 */ mr r5, r31 lbl_801F029C: /* 801F029C 001EBEFC 2C 05 00 00 */ cmpwi r5, 0 /* 801F02A0 001EBF00 40 82 FF D4 */ bne lbl_801F0274 /* 801F02A4 001EBF04 38 7D 01 6C */ addi r3, r29, 0x16c /* 801F02A8 001EBF08 38 80 FF FF */ li r4, -1 /* 801F02AC 001EBF0C 4B FF FB 15 */ bl func_801EFDC0 /* 801F02B0 001EBF10 7F A3 EB 78 */ mr r3, r29 /* 801F02B4 001EBF14 38 80 00 00 */ li r4, 0 /* 801F02B8 001EBF18 48 00 1C 6D */ bl __dt__6GSnullFv /* 801F02BC 001EBF1C 2C 1E 00 00 */ cmpwi r30, 0 /* 801F02C0 001EBF20 40 81 00 10 */ ble lbl_801F02D0 /* 801F02C4 001EBF24 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 801F02C8 001EBF28 7F A4 EB 78 */ mr r4, r29 /* 801F02CC 001EBF2C 4B FE AA 7D */ bl func_801DAD48 lbl_801F02D0: /* 801F02D0 001EBF30 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801F02D4 001EBF34 7F A3 EB 78 */ mr r3, r29 /* 801F02D8 001EBF38 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801F02DC 001EBF3C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801F02E0 001EBF40 80 01 00 24 */ lwz r0, 0x24(r1) /* 801F02E4 001EBF44 7C 08 03 A6 */ mtlr r0 /* 801F02E8 001EBF48 38 21 00 20 */ addi r1, r1, 0x20 /* 801F02EC 001EBF4C 4E 80 00 20 */ blr .global func_801F02F0 func_801F02F0: /* 801F02F0 001EBF50 80 63 01 88 */ lwz r3, 0x188(r3) /* 801F02F4 001EBF54 38 A0 00 00 */ li r5, 0 /* 801F02F8 001EBF58 48 00 00 18 */ b lbl_801F0310 lbl_801F02FC: /* 801F02FC 001EBF5C 54 A0 04 3E */ clrlwi r0, r5, 0x10 /* 801F0300 001EBF60 7C 00 20 40 */ cmplw r0, r4 /* 801F0304 001EBF64 4D 82 00 20 */ beqlr /* 801F0308 001EBF68 80 63 00 20 */ lwz r3, 0x20(r3) /* 801F030C 001EBF6C 38 A5 00 01 */ addi r5, r5, 1 lbl_801F0310: /* 801F0310 001EBF70 2C 03 00 00 */ cmpwi r3, 0 /* 801F0314 001EBF74 40 82 FF E8 */ bne lbl_801F02FC /* 801F0318 001EBF78 38 60 00 00 */ li r3, 0 /* 801F031C 001EBF7C 4E 80 00 20 */ blr .global func_801F0320 func_801F0320: /* 801F0320 001EBF80 80 83 01 88 */ lwz r4, 0x188(r3) /* 801F0324 001EBF84 38 60 00 00 */ li r3, 0 /* 801F0328 001EBF88 48 00 00 0C */ b lbl_801F0334 lbl_801F032C: /* 801F032C 001EBF8C 80 84 00 20 */ lwz r4, 0x20(r4) /* 801F0330 001EBF90 38 63 00 01 */ addi r3, r3, 1 lbl_801F0334: /* 801F0334 001EBF94 2C 04 00 00 */ cmpwi r4, 0 /* 801F0338 001EBF98 40 82 FF F4 */ bne lbl_801F032C /* 801F033C 001EBF9C 4E 80 00 20 */ blr /* 801F0340 001EBFA0 94 21 FF A0 */ stwu r1, -0x60(r1) /* 801F0344 001EBFA4 7C 08 02 A6 */ mflr r0 /* 801F0348 001EBFA8 90 01 00 64 */ stw r0, 0x64(r1) /* 801F034C 001EBFAC DB E1 00 50 */ stfd f31, 0x50(r1) /* 801F0350 001EBFB0 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0 /* 801F0354 001EBFB4 FF E0 08 90 */ fmr f31, f1 /* 801F0358 001EBFB8 93 E1 00 4C */ stw r31, 0x4c(r1) /* 801F035C 001EBFBC 7C 7F 1B 78 */ mr r31, r3 /* 801F0360 001EBFC0 93 C1 00 48 */ stw r30, 0x48(r1) /* 801F0364 001EBFC4 48 00 39 19 */ bl func_801F3C7C /* 801F0368 001EBFC8 2C 03 00 00 */ cmpwi r3, 0 /* 801F036C 001EBFCC 41 82 00 08 */ beq lbl_801F0374 /* 801F0370 001EBFD0 C3 E2 97 E0 */ lfs f31, lbl_80641DE0-_SDA2_BASE_(r2) lbl_801F0374: /* 801F0374 001EBFD4 A0 1F 00 10 */ lhz r0, 0x10(r31) /* 801F0378 001EBFD8 FC 20 F8 90 */ fmr f1, f31 /* 801F037C 001EBFDC 7F E3 FB 78 */ mr r3, r31 /* 801F0380 001EBFE0 54 1E 07 FE */ clrlwi r30, r0, 0x1f /* 801F0384 001EBFE4 48 00 35 DD */ bl func_801F3960 /* 801F0388 001EBFE8 2C 1E 00 00 */ cmpwi r30, 0 /* 801F038C 001EBFEC 41 82 01 10 */ beq lbl_801F049C /* 801F0390 001EBFF0 80 9F 01 68 */ lwz r4, 0x168(r31) /* 801F0394 001EBFF4 2C 04 00 00 */ cmpwi r4, 0 /* 801F0398 001EBFF8 41 82 00 1C */ beq lbl_801F03B4 /* 801F039C 001EBFFC 38 7F 00 D0 */ addi r3, r31, 0xd0 /* 801F03A0 001EC000 38 A1 00 18 */ addi r5, r1, 0x18 /* 801F03A4 001EC004 48 08 BB E9 */ bl PSMTXConcat /* 801F03A8 001EC008 38 61 00 18 */ addi r3, r1, 0x18 /* 801F03AC 001EC00C 38 9F 00 D0 */ addi r4, r31, 0xd0 /* 801F03B0 001EC010 48 08 BB A9 */ bl PSMTXCopy lbl_801F03B4: /* 801F03B4 001EC014 C0 22 97 E0 */ lfs f1, lbl_80641DE0-_SDA2_BASE_(r2) /* 801F03B8 001EC018 7F E6 FB 78 */ mr r6, r31 /* 801F03BC 001EC01C 38 A0 00 00 */ li r5, 0 /* 801F03C0 001EC020 48 00 00 B0 */ b lbl_801F0470 lbl_801F03C4: /* 801F03C4 001EC024 C0 06 00 48 */ lfs f0, 0x48(r6) /* 801F03C8 001EC028 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801F03CC 001EC02C 40 80 00 14 */ bge lbl_801F03E0 /* 801F03D0 001EC030 68 A3 00 01 */ xori r3, r5, 1 /* 801F03D4 001EC034 7C 03 00 D0 */ neg r0, r3 /* 801F03D8 001EC038 7C 00 1B 78 */ or r0, r0, r3 /* 801F03DC 001EC03C 54 05 0F FE */ srwi r5, r0, 0x1f lbl_801F03E0: /* 801F03E0 001EC040 C0 06 00 4C */ lfs f0, 0x4c(r6) /* 801F03E4 001EC044 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801F03E8 001EC048 40 80 00 14 */ bge lbl_801F03FC /* 801F03EC 001EC04C 68 A3 00 01 */ xori r3, r5, 1 /* 801F03F0 001EC050 7C 03 00 D0 */ neg r0, r3 /* 801F03F4 001EC054 7C 00 1B 78 */ or r0, r0, r3 /* 801F03F8 001EC058 54 05 0F FE */ srwi r5, r0, 0x1f lbl_801F03FC: /* 801F03FC 001EC05C C0 06 00 50 */ lfs f0, 0x50(r6) /* 801F0400 001EC060 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801F0404 001EC064 40 80 00 14 */ bge lbl_801F0418 /* 801F0408 001EC068 68 A3 00 01 */ xori r3, r5, 1 /* 801F040C 001EC06C 7C 03 00 D0 */ neg r0, r3 /* 801F0410 001EC070 7C 00 1B 78 */ or r0, r0, r3 /* 801F0414 001EC074 54 05 0F FE */ srwi r5, r0, 0x1f lbl_801F0418: /* 801F0418 001EC078 80 86 00 C0 */ lwz r4, 0xc0(r6) /* 801F041C 001EC07C 2C 04 00 00 */ cmpwi r4, 0 /* 801F0420 001EC080 40 82 00 0C */ bne lbl_801F042C /* 801F0424 001EC084 38 80 00 00 */ li r4, 0 /* 801F0428 001EC088 48 00 00 44 */ b lbl_801F046C lbl_801F042C: /* 801F042C 001EC08C 80 66 00 1C */ lwz r3, 0x1c(r6) /* 801F0430 001EC090 2C 03 00 00 */ cmpwi r3, 0 /* 801F0434 001EC094 41 82 00 10 */ beq lbl_801F0444 /* 801F0438 001EC098 A0 03 00 0A */ lhz r0, 0xa(r3) /* 801F043C 001EC09C 54 00 EF FE */ rlwinm r0, r0, 0x1d, 0x1f, 0x1f /* 801F0440 001EC0A0 48 00 00 08 */ b lbl_801F0448 lbl_801F0444: /* 801F0444 001EC0A4 38 00 00 01 */ li r0, 1 lbl_801F0448: /* 801F0448 001EC0A8 2C 00 00 00 */ cmpwi r0, 0 /* 801F044C 001EC0AC 40 82 00 0C */ bne lbl_801F0458 /* 801F0450 001EC0B0 38 80 00 00 */ li r4, 0 /* 801F0454 001EC0B4 48 00 00 18 */ b lbl_801F046C lbl_801F0458: /* 801F0458 001EC0B8 A0 06 00 14 */ lhz r0, 0x14(r6) /* 801F045C 001EC0BC 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d /* 801F0460 001EC0C0 41 82 00 08 */ beq lbl_801F0468 /* 801F0464 001EC0C4 48 00 00 08 */ b lbl_801F046C lbl_801F0468: /* 801F0468 001EC0C8 80 84 00 BC */ lwz r4, 0xbc(r4) lbl_801F046C: /* 801F046C 001EC0CC 7C 86 23 78 */ mr r6, r4 lbl_801F0470: /* 801F0470 001EC0D0 2C 06 00 00 */ cmpwi r6, 0 /* 801F0474 001EC0D4 40 82 FF 50 */ bne lbl_801F03C4 /* 801F0478 001EC0D8 2C 05 00 00 */ cmpwi r5, 0 /* 801F047C 001EC0DC 41 82 00 14 */ beq lbl_801F0490 /* 801F0480 001EC0E0 80 1F 01 04 */ lwz r0, 0x104(r31) /* 801F0484 001EC0E4 60 00 00 02 */ ori r0, r0, 2 /* 801F0488 001EC0E8 90 1F 01 04 */ stw r0, 0x104(r31) /* 801F048C 001EC0EC 48 00 00 10 */ b lbl_801F049C lbl_801F0490: /* 801F0490 001EC0F0 80 1F 01 04 */ lwz r0, 0x104(r31) /* 801F0494 001EC0F4 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 801F0498 001EC0F8 90 1F 01 04 */ stw r0, 0x104(r31) lbl_801F049C: /* 801F049C 001EC0FC 80 7F 00 B8 */ lwz r3, 0xb8(r31) /* 801F04A0 001EC100 2C 03 00 00 */ cmpwi r3, 0 /* 801F04A4 001EC104 41 82 01 B4 */ beq lbl_801F0658 /* 801F04A8 001EC108 80 BF 00 04 */ lwz r5, 4(r31) /* 801F04AC 001EC10C 2C 05 00 00 */ cmpwi r5, 0 /* 801F04B0 001EC110 41 82 00 24 */ beq lbl_801F04D4 /* 801F04B4 001EC114 80 85 00 00 */ lwz r4, 0(r5) /* 801F04B8 001EC118 2C 04 00 00 */ cmpwi r4, 0 /* 801F04BC 001EC11C 41 82 00 0C */ beq lbl_801F04C8 /* 801F04C0 001EC120 A0 04 00 00 */ lhz r0, 0(r4) /* 801F04C4 001EC124 48 00 00 18 */ b lbl_801F04DC lbl_801F04C8: /* 801F04C8 001EC128 3C 80 00 01 */ lis r4, 0x0000FFFF@ha /* 801F04CC 001EC12C 38 04 FF FF */ addi r0, r4, 0x0000FFFF@l /* 801F04D0 001EC130 48 00 00 0C */ b lbl_801F04DC lbl_801F04D4: /* 801F04D4 001EC134 3C 80 00 01 */ lis r4, 0x0000FFFF@ha /* 801F04D8 001EC138 38 04 FF FF */ addi r0, r4, 0x0000FFFF@l lbl_801F04DC: /* 801F04DC 001EC13C 54 1E 04 3E */ clrlwi r30, r0, 0x10 /* 801F04E0 001EC140 3C 1E 00 00 */ addis r0, r30, 0 /* 801F04E4 001EC144 28 00 FF FF */ cmplwi r0, 0xffff /* 801F04E8 001EC148 41 82 00 50 */ beq lbl_801F0538 /* 801F04EC 001EC14C 2C 05 00 00 */ cmpwi r5, 0 /* 801F04F0 001EC150 41 82 00 40 */ beq lbl_801F0530 /* 801F04F4 001EC154 80 65 00 00 */ lwz r3, 0(r5) /* 801F04F8 001EC158 2C 03 00 00 */ cmpwi r3, 0 /* 801F04FC 001EC15C 40 82 00 0C */ bne lbl_801F0508 /* 801F0500 001EC160 C0 22 97 E0 */ lfs f1, lbl_80641DE0-_SDA2_BASE_(r2) /* 801F0504 001EC164 48 00 00 3C */ b lbl_801F0540 lbl_801F0508: /* 801F0508 001EC168 C0 25 00 08 */ lfs f1, 8(r5) /* 801F050C 001EC16C C0 02 97 E0 */ lfs f0, lbl_80641DE0-_SDA2_BASE_(r2) /* 801F0510 001EC170 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801F0514 001EC174 40 80 00 14 */ bge lbl_801F0528 /* 801F0518 001EC178 C0 23 00 08 */ lfs f1, 8(r3) /* 801F051C 001EC17C C0 05 00 0C */ lfs f0, 0xc(r5) /* 801F0520 001EC180 EC 21 00 28 */ fsubs f1, f1, f0 /* 801F0524 001EC184 48 00 00 1C */ b lbl_801F0540 lbl_801F0528: /* 801F0528 001EC188 C0 25 00 0C */ lfs f1, 0xc(r5) /* 801F052C 001EC18C 48 00 00 14 */ b lbl_801F0540 lbl_801F0530: /* 801F0530 001EC190 C0 22 97 E0 */ lfs f1, lbl_80641DE0-_SDA2_BASE_(r2) /* 801F0534 001EC194 48 00 00 0C */ b lbl_801F0540 lbl_801F0538: /* 801F0538 001EC198 A3 C3 00 F0 */ lhz r30, 0xf0(r3) /* 801F053C 001EC19C 48 00 56 09 */ bl func_801F5B44 lbl_801F0540: /* 801F0540 001EC1A0 7F E3 FB 78 */ mr r3, r31 /* 801F0544 001EC1A4 7F C4 F3 78 */ mr r4, r30 /* 801F0548 001EC1A8 38 A0 00 00 */ li r5, 0 /* 801F054C 001EC1AC 48 00 10 A1 */ bl func_801F15EC /* 801F0550 001EC1B0 80 9F 00 08 */ lwz r4, 8(r31) /* 801F0554 001EC1B4 2C 04 00 00 */ cmpwi r4, 0 /* 801F0558 001EC1B8 41 82 00 28 */ beq lbl_801F0580 /* 801F055C 001EC1BC 80 04 00 00 */ lwz r0, 0(r4) /* 801F0560 001EC1C0 38 60 00 00 */ li r3, 0 /* 801F0564 001EC1C4 2C 00 00 00 */ cmpwi r0, 0 /* 801F0568 001EC1C8 41 82 00 1C */ beq lbl_801F0584 /* 801F056C 001EC1CC A0 04 00 06 */ lhz r0, 6(r4) /* 801F0570 001EC1D0 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 801F0574 001EC1D4 41 82 00 10 */ beq lbl_801F0584 /* 801F0578 001EC1D8 38 60 00 01 */ li r3, 1 /* 801F057C 001EC1DC 48 00 00 08 */ b lbl_801F0584 lbl_801F0580: /* 801F0580 001EC1E0 38 60 00 00 */ li r3, 0 lbl_801F0584: /* 801F0584 001EC1E4 2C 03 00 00 */ cmpwi r3, 0 /* 801F0588 001EC1E8 40 82 00 14 */ bne lbl_801F059C /* 801F058C 001EC1EC 80 7F 00 B8 */ lwz r3, 0xb8(r31) /* 801F0590 001EC1F0 48 00 59 2D */ bl func_801F5EBC /* 801F0594 001EC1F4 2C 03 00 00 */ cmpwi r3, 0 /* 801F0598 001EC1F8 41 82 00 D4 */ beq lbl_801F066C lbl_801F059C: /* 801F059C 001EC1FC 80 9F 00 08 */ lwz r4, 8(r31) /* 801F05A0 001EC200 2C 04 00 00 */ cmpwi r4, 0 /* 801F05A4 001EC204 41 82 00 24 */ beq lbl_801F05C8 /* 801F05A8 001EC208 80 64 00 00 */ lwz r3, 0(r4) /* 801F05AC 001EC20C 2C 03 00 00 */ cmpwi r3, 0 /* 801F05B0 001EC210 41 82 00 0C */ beq lbl_801F05BC /* 801F05B4 001EC214 A0 03 00 00 */ lhz r0, 0(r3) /* 801F05B8 001EC218 48 00 00 18 */ b lbl_801F05D0 lbl_801F05BC: /* 801F05BC 001EC21C 3C 60 00 01 */ lis r3, 0x0000FFFF@ha /* 801F05C0 001EC220 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l /* 801F05C4 001EC224 48 00 00 0C */ b lbl_801F05D0 lbl_801F05C8: /* 801F05C8 001EC228 3C 60 00 01 */ lis r3, 0x0000FFFF@ha /* 801F05CC 001EC22C 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l lbl_801F05D0: /* 801F05D0 001EC230 54 1E 04 3E */ clrlwi r30, r0, 0x10 /* 801F05D4 001EC234 3C 1E 00 00 */ addis r0, r30, 0 /* 801F05D8 001EC238 28 00 FF FF */ cmplwi r0, 0xffff /* 801F05DC 001EC23C 41 82 00 50 */ beq lbl_801F062C /* 801F05E0 001EC240 2C 04 00 00 */ cmpwi r4, 0 /* 801F05E4 001EC244 41 82 00 40 */ beq lbl_801F0624 /* 801F05E8 001EC248 80 64 00 00 */ lwz r3, 0(r4) /* 801F05EC 001EC24C 2C 03 00 00 */ cmpwi r3, 0 /* 801F05F0 001EC250 40 82 00 0C */ bne lbl_801F05FC /* 801F05F4 001EC254 C0 22 97 E0 */ lfs f1, lbl_80641DE0-_SDA2_BASE_(r2) /* 801F05F8 001EC258 48 00 00 40 */ b lbl_801F0638 lbl_801F05FC: /* 801F05FC 001EC25C C0 24 00 08 */ lfs f1, 8(r4) /* 801F0600 001EC260 C0 02 97 E0 */ lfs f0, lbl_80641DE0-_SDA2_BASE_(r2) /* 801F0604 001EC264 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801F0608 001EC268 40 80 00 14 */ bge lbl_801F061C /* 801F060C 001EC26C C0 23 00 08 */ lfs f1, 8(r3) /* 801F0610 001EC270 C0 04 00 0C */ lfs f0, 0xc(r4) /* 801F0614 001EC274 EC 21 00 28 */ fsubs f1, f1, f0 /* 801F0618 001EC278 48 00 00 20 */ b lbl_801F0638 lbl_801F061C: /* 801F061C 001EC27C C0 24 00 0C */ lfs f1, 0xc(r4) /* 801F0620 001EC280 48 00 00 18 */ b lbl_801F0638 lbl_801F0624: /* 801F0624 001EC284 C0 22 97 E0 */ lfs f1, lbl_80641DE0-_SDA2_BASE_(r2) /* 801F0628 001EC288 48 00 00 10 */ b lbl_801F0638 lbl_801F062C: /* 801F062C 001EC28C 80 7F 00 B8 */ lwz r3, 0xb8(r31) /* 801F0630 001EC290 A3 C3 01 04 */ lhz r30, 0x104(r3) /* 801F0634 001EC294 48 00 56 2D */ bl func_801F5C60 lbl_801F0638: /* 801F0638 001EC298 3C 1E 00 00 */ addis r0, r30, 0 /* 801F063C 001EC29C 28 00 FF FF */ cmplwi r0, 0xffff /* 801F0640 001EC2A0 41 82 00 2C */ beq lbl_801F066C /* 801F0644 001EC2A4 7F E3 FB 78 */ mr r3, r31 /* 801F0648 001EC2A8 7F C4 F3 78 */ mr r4, r30 /* 801F064C 001EC2AC 38 A0 00 01 */ li r5, 1 /* 801F0650 001EC2B0 48 00 0F 9D */ bl func_801F15EC /* 801F0654 001EC2B4 48 00 00 18 */ b lbl_801F066C lbl_801F0658: /* 801F0658 001EC2B8 C0 22 97 E0 */ lfs f1, lbl_80641DE0-_SDA2_BASE_(r2) /* 801F065C 001EC2BC 7F E3 FB 78 */ mr r3, r31 /* 801F0660 001EC2C0 38 80 00 00 */ li r4, 0 /* 801F0664 001EC2C4 38 A0 00 00 */ li r5, 0 /* 801F0668 001EC2C8 48 00 0F 85 */ bl func_801F15EC lbl_801F066C: /* 801F066C 001EC2CC 38 61 00 08 */ addi r3, r1, 8 /* 801F0670 001EC2D0 38 9F 01 08 */ addi r4, r31, 0x108 /* 801F0674 001EC2D4 48 03 02 A9 */ bl func_8022091C /* 801F0678 001EC2D8 C0 01 00 08 */ lfs f0, 8(r1) /* 801F067C 001EC2DC 83 DF 01 88 */ lwz r30, 0x188(r31) /* 801F0680 001EC2E0 D0 1F 01 24 */ stfs f0, 0x124(r31) /* 801F0684 001EC2E4 C0 01 00 0C */ lfs f0, 0xc(r1) /* 801F0688 001EC2E8 D0 1F 01 28 */ stfs f0, 0x128(r31) /* 801F068C 001EC2EC C0 01 00 10 */ lfs f0, 0x10(r1) /* 801F0690 001EC2F0 D0 1F 01 2C */ stfs f0, 0x12c(r31) /* 801F0694 001EC2F4 48 00 00 1C */ b lbl_801F06B0 lbl_801F0698: /* 801F0698 001EC2F8 80 7E 00 14 */ lwz r3, 0x14(r30) /* 801F069C 001EC2FC 2C 03 00 00 */ cmpwi r3, 0 /* 801F06A0 001EC300 41 82 00 0C */ beq lbl_801F06AC /* 801F06A4 001EC304 FC 20 F8 90 */ fmr f1, f31 /* 801F06A8 001EC308 4B FE D3 21 */ bl func_801DD9C8__17GSanimationObjectFf lbl_801F06AC: /* 801F06AC 001EC30C 83 DE 00 20 */ lwz r30, 0x20(r30) lbl_801F06B0: /* 801F06B0 001EC310 2C 1E 00 00 */ cmpwi r30, 0 /* 801F06B4 001EC314 40 82 FF E4 */ bne lbl_801F0698 /* 801F06B8 001EC318 80 1F 01 04 */ lwz r0, 0x104(r31) /* 801F06BC 001EC31C 60 00 00 01 */ ori r0, r0, 1 /* 801F06C0 001EC320 90 1F 01 04 */ stw r0, 0x104(r31) /* 801F06C4 001EC324 E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0 /* 801F06C8 001EC328 CB E1 00 50 */ lfd f31, 0x50(r1) /* 801F06CC 001EC32C 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 801F06D0 001EC330 83 C1 00 48 */ lwz r30, 0x48(r1) /* 801F06D4 001EC334 80 01 00 64 */ lwz r0, 0x64(r1) /* 801F06D8 001EC338 7C 08 03 A6 */ mtlr r0 /* 801F06DC 001EC33C 38 21 00 60 */ addi r1, r1, 0x60 /* 801F06E0 001EC340 4E 80 00 20 */ blr .global func_801F06E4 func_801F06E4: /* 801F06E4 001EC344 94 21 FF 70 */ stwu r1, -0x90(r1) /* 801F06E8 001EC348 7C 08 02 A6 */ mflr r0 /* 801F06EC 001EC34C C0 62 97 E0 */ lfs f3, lbl_80641DE0-_SDA2_BASE_(r2) /* 801F06F0 001EC350 90 01 00 94 */ stw r0, 0x94(r1) /* 801F06F4 001EC354 93 E1 00 8C */ stw r31, 0x8c(r1) /* 801F06F8 001EC358 7C 7F 1B 78 */ mr r31, r3 /* 801F06FC 001EC35C 93 C1 00 88 */ stw r30, 0x88(r1) /* 801F0700 001EC360 93 A1 00 84 */ stw r29, 0x84(r1) /* 801F0704 001EC364 7C 9D 23 78 */ mr r29, r4 /* 801F0708 001EC368 C0 23 00 D0 */ lfs f1, 0xd0(r3) /* 801F070C 001EC36C C0 03 00 E0 */ lfs f0, 0xe0(r3) /* 801F0710 001EC370 EC 21 00 72 */ fmuls f1, f1, f1 /* 801F0714 001EC374 C0 43 00 F0 */ lfs f2, 0xf0(r3) /* 801F0718 001EC378 EC 00 00 32 */ fmuls f0, f0, f0 /* 801F071C 001EC37C EC 42 00 B2 */ fmuls f2, f2, f2 /* 801F0720 001EC380 EC 01 00 2A */ fadds f0, f1, f0 /* 801F0724 001EC384 EC 22 00 2A */ fadds f1, f2, f0 /* 801F0728 001EC388 FC 01 18 40 */ fcmpo cr0, f1, f3 /* 801F072C 001EC38C 4C 40 13 82 */ cror 2, 0, 2 /* 801F0730 001EC390 40 82 00 08 */ bne lbl_801F0738 /* 801F0734 001EC394 48 00 00 0C */ b lbl_801F0740 lbl_801F0738: /* 801F0738 001EC398 4B FE 40 FD */ bl sqrt /* 801F073C 001EC39C FC 60 08 18 */ frsp f3, f1 lbl_801F0740: /* 801F0740 001EC3A0 C0 3F 00 D4 */ lfs f1, 0xd4(r31) /* 801F0744 001EC3A4 C0 1F 00 E4 */ lfs f0, 0xe4(r31) /* 801F0748 001EC3A8 EC 21 00 72 */ fmuls f1, f1, f1 /* 801F074C 001EC3AC C0 5F 00 F4 */ lfs f2, 0xf4(r31) /* 801F0750 001EC3B0 EC 00 00 32 */ fmuls f0, f0, f0 /* 801F0754 001EC3B4 C0 82 97 E0 */ lfs f4, lbl_80641DE0-_SDA2_BASE_(r2) /* 801F0758 001EC3B8 EC 42 00 B2 */ fmuls f2, f2, f2 /* 801F075C 001EC3BC D0 61 00 08 */ stfs f3, 8(r1) /* 801F0760 001EC3C0 EC 01 00 2A */ fadds f0, f1, f0 /* 801F0764 001EC3C4 EC 22 00 2A */ fadds f1, f2, f0 /* 801F0768 001EC3C8 FC 01 20 40 */ fcmpo cr0, f1, f4 /* 801F076C 001EC3CC 4C 40 13 82 */ cror 2, 0, 2 /* 801F0770 001EC3D0 40 82 00 08 */ bne lbl_801F0778 /* 801F0774 001EC3D4 48 00 00 0C */ b lbl_801F0780 lbl_801F0778: /* 801F0778 001EC3D8 4B FE 40 BD */ bl sqrt /* 801F077C 001EC3DC FC 80 08 18 */ frsp f4, f1 lbl_801F0780: /* 801F0780 001EC3E0 C0 3F 00 D8 */ lfs f1, 0xd8(r31) /* 801F0784 001EC3E4 C0 1F 00 E8 */ lfs f0, 0xe8(r31) /* 801F0788 001EC3E8 EC 21 00 72 */ fmuls f1, f1, f1 /* 801F078C 001EC3EC C0 5F 00 F8 */ lfs f2, 0xf8(r31) /* 801F0790 001EC3F0 EC 00 00 32 */ fmuls f0, f0, f0 /* 801F0794 001EC3F4 C0 62 97 E0 */ lfs f3, lbl_80641DE0-_SDA2_BASE_(r2) /* 801F0798 001EC3F8 EC 42 00 B2 */ fmuls f2, f2, f2 /* 801F079C 001EC3FC D0 81 00 0C */ stfs f4, 0xc(r1) /* 801F07A0 001EC400 EC 01 00 2A */ fadds f0, f1, f0 /* 801F07A4 001EC404 EC 22 00 2A */ fadds f1, f2, f0 /* 801F07A8 001EC408 FC 01 18 40 */ fcmpo cr0, f1, f3 /* 801F07AC 001EC40C 4C 40 13 82 */ cror 2, 0, 2 /* 801F07B0 001EC410 40 82 00 08 */ bne lbl_801F07B8 /* 801F07B4 001EC414 48 00 00 0C */ b lbl_801F07C0 lbl_801F07B8: /* 801F07B8 001EC418 4B FE 40 7D */ bl sqrt /* 801F07BC 001EC41C FC 60 08 18 */ frsp f3, f1 lbl_801F07C0: /* 801F07C0 001EC420 C0 21 00 08 */ lfs f1, 8(r1) /* 801F07C4 001EC424 C0 02 97 D0 */ lfs f0, lbl_80641DD0-_SDA2_BASE_(r2) /* 801F07C8 001EC428 D0 61 00 10 */ stfs f3, 0x10(r1) /* 801F07CC 001EC42C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801F07D0 001EC430 40 80 00 10 */ bge lbl_801F07E0 /* 801F07D4 001EC434 C0 02 97 D4 */ lfs f0, lbl_80641DD4-_SDA2_BASE_(r2) /* 801F07D8 001EC438 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801F07DC 001EC43C 41 81 00 3C */ bgt lbl_801F0818 lbl_801F07E0: /* 801F07E0 001EC440 C0 21 00 0C */ lfs f1, 0xc(r1) /* 801F07E4 001EC444 C0 02 97 D0 */ lfs f0, lbl_80641DD0-_SDA2_BASE_(r2) /* 801F07E8 001EC448 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801F07EC 001EC44C 40 80 00 10 */ bge lbl_801F07FC /* 801F07F0 001EC450 C0 02 97 D4 */ lfs f0, lbl_80641DD4-_SDA2_BASE_(r2) /* 801F07F4 001EC454 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801F07F8 001EC458 41 81 00 20 */ bgt lbl_801F0818 lbl_801F07FC: /* 801F07FC 001EC45C C0 21 00 10 */ lfs f1, 0x10(r1) /* 801F0800 001EC460 C0 02 97 D0 */ lfs f0, lbl_80641DD0-_SDA2_BASE_(r2) /* 801F0804 001EC464 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801F0808 001EC468 40 80 00 18 */ bge lbl_801F0820 /* 801F080C 001EC46C C0 02 97 D4 */ lfs f0, lbl_80641DD4-_SDA2_BASE_(r2) /* 801F0810 001EC470 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801F0814 001EC474 40 81 00 0C */ ble lbl_801F0820 lbl_801F0818: /* 801F0818 001EC478 38 60 00 00 */ li r3, 0 /* 801F081C 001EC47C 48 00 02 24 */ b lbl_801F0A40 lbl_801F0820: /* 801F0820 001EC480 80 7F 01 04 */ lwz r3, 0x104(r31) /* 801F0824 001EC484 54 60 07 FF */ clrlwi. r0, r3, 0x1f /* 801F0828 001EC488 41 82 00 B8 */ beq lbl_801F08E0 /* 801F082C 001EC48C 88 1F 01 87 */ lbz r0, 0x187(r31) /* 801F0830 001EC490 54 63 00 3C */ rlwinm r3, r3, 0, 0, 0x1e /* 801F0834 001EC494 90 7F 01 04 */ stw r3, 0x104(r31) /* 801F0838 001EC498 2C 00 00 00 */ cmpwi r0, 0 /* 801F083C 001EC49C 41 82 00 20 */ beq lbl_801F085C /* 801F0840 001EC4A0 80 9F 01 80 */ lwz r4, 0x180(r31) /* 801F0844 001EC4A4 2C 04 00 00 */ cmpwi r4, 0 /* 801F0848 001EC4A8 41 82 00 14 */ beq lbl_801F085C /* 801F084C 001EC4AC 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 801F0850 001EC4B0 48 04 B0 3D */ bl func_8023B88C /* 801F0854 001EC4B4 38 00 00 00 */ li r0, 0 /* 801F0858 001EC4B8 90 1F 01 80 */ stw r0, 0x180(r31) lbl_801F085C: /* 801F085C 001EC4BC 80 9F 00 B8 */ lwz r4, 0xb8(r31) /* 801F0860 001EC4C0 38 7F 01 6C */ addi r3, r31, 0x16c /* 801F0864 001EC4C4 4B FF F0 2D */ bl func_801EF890 /* 801F0868 001EC4C8 80 1F 01 04 */ lwz r0, 0x104(r31) /* 801F086C 001EC4CC 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a /* 801F0870 001EC4D0 41 82 00 28 */ beq lbl_801F0898 /* 801F0874 001EC4D4 80 9F 00 B8 */ lwz r4, 0xb8(r31) /* 801F0878 001EC4D8 38 7F 01 6C */ addi r3, r31, 0x16c /* 801F087C 001EC4DC C0 3F 01 50 */ lfs f1, 0x150(r31) /* 801F0880 001EC4E0 38 BF 00 D0 */ addi r5, r31, 0xd0 /* 801F0884 001EC4E4 C0 5F 01 60 */ lfs f2, 0x160(r31) /* 801F0888 001EC4E8 38 DF 01 38 */ addi r6, r31, 0x138 /* 801F088C 001EC4EC 38 FF 01 44 */ addi r7, r31, 0x144 /* 801F0890 001EC4F0 39 1F 01 54 */ addi r8, r31, 0x154 /* 801F0894 001EC4F4 4B FF F0 39 */ bl func_801EF8CC lbl_801F0898: /* 801F0898 001EC4F8 80 1F 01 04 */ lwz r0, 0x104(r31) /* 801F089C 001EC4FC 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 801F08A0 001EC500 41 82 00 10 */ beq lbl_801F08B0 /* 801F08A4 001EC504 C0 3F 01 30 */ lfs f1, 0x130(r31) /* 801F08A8 001EC508 38 7F 01 6C */ addi r3, r31, 0x16c /* 801F08AC 001EC50C 4B FF F1 A9 */ bl func_801EFA54 lbl_801F08B0: /* 801F08B0 001EC510 83 DF 01 88 */ lwz r30, 0x188(r31) /* 801F08B4 001EC514 48 00 00 20 */ b lbl_801F08D4 lbl_801F08B8: /* 801F08B8 001EC518 80 9E 00 18 */ lwz r4, 0x18(r30) /* 801F08BC 001EC51C 2C 04 00 00 */ cmpwi r4, 0 /* 801F08C0 001EC520 41 82 00 10 */ beq lbl_801F08D0 /* 801F08C4 001EC524 38 7F 01 6C */ addi r3, r31, 0x16c /* 801F08C8 001EC528 38 A0 00 00 */ li r5, 0 /* 801F08CC 001EC52C 4B FF F3 19 */ bl func_801EFBE4 lbl_801F08D0: /* 801F08D0 001EC530 83 DE 00 20 */ lwz r30, 0x20(r30) lbl_801F08D4: /* 801F08D4 001EC534 2C 1E 00 00 */ cmpwi r30, 0 /* 801F08D8 001EC538 40 82 FF E0 */ bne lbl_801F08B8 /* 801F08DC 001EC53C 48 07 79 85 */ bl PPCSync lbl_801F08E0: /* 801F08E0 001EC540 80 1F 01 04 */ lwz r0, 0x104(r31) /* 801F08E4 001EC544 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d /* 801F08E8 001EC548 41 82 01 54 */ beq lbl_801F0A3C /* 801F08EC 001EC54C 7F E3 FB 78 */ mr r3, r31 /* 801F08F0 001EC550 38 80 00 00 */ li r4, 0 /* 801F08F4 001EC554 48 00 1D C5 */ bl func_801F26B8 /* 801F08F8 001EC558 81 9F 01 00 */ lwz r12, 0x100(r31) /* 801F08FC 001EC55C 7F E3 FB 78 */ mr r3, r31 /* 801F0900 001EC560 81 8C 00 14 */ lwz r12, 0x14(r12) /* 801F0904 001EC564 7D 89 03 A6 */ mtctr r12 /* 801F0908 001EC568 4E 80 04 21 */ bctrl /* 801F090C 001EC56C 80 1F 01 04 */ lwz r0, 0x104(r31) /* 801F0910 001EC570 7F A4 EB 78 */ mr r4, r29 /* 801F0914 001EC574 38 61 00 48 */ addi r3, r1, 0x48 /* 801F0918 001EC578 38 BF 00 D0 */ addi r5, r31, 0xd0 /* 801F091C 001EC57C 54 06 EF FE */ rlwinm r6, r0, 0x1d, 0x1f, 0x1f /* 801F0920 001EC580 4B FE E1 1D */ bl func_801DEA3C__FPA4_fP8GScameraPA4_fi /* 801F0924 001EC584 38 61 00 48 */ addi r3, r1, 0x48 /* 801F0928 001EC588 38 9F 00 D0 */ addi r4, r31, 0xd0 /* 801F092C 001EC58C 48 08 B6 2D */ bl PSMTXCopy /* 801F0930 001EC590 80 9F 01 68 */ lwz r4, 0x168(r31) /* 801F0934 001EC594 2C 04 00 00 */ cmpwi r4, 0 /* 801F0938 001EC598 41 82 00 1C */ beq lbl_801F0954 /* 801F093C 001EC59C 38 7F 00 D0 */ addi r3, r31, 0xd0 /* 801F0940 001EC5A0 38 A1 00 18 */ addi r5, r1, 0x18 /* 801F0944 001EC5A4 48 08 B6 49 */ bl PSMTXConcat /* 801F0948 001EC5A8 38 61 00 18 */ addi r3, r1, 0x18 /* 801F094C 001EC5AC 38 9F 00 D0 */ addi r4, r31, 0xd0 /* 801F0950 001EC5B0 48 08 B6 09 */ bl PSMTXCopy lbl_801F0954: /* 801F0954 001EC5B4 C0 22 97 E0 */ lfs f1, lbl_80641DE0-_SDA2_BASE_(r2) /* 801F0958 001EC5B8 7F E6 FB 78 */ mr r6, r31 /* 801F095C 001EC5BC 38 A0 00 00 */ li r5, 0 /* 801F0960 001EC5C0 48 00 00 B0 */ b lbl_801F0A10 lbl_801F0964: /* 801F0964 001EC5C4 C0 06 00 48 */ lfs f0, 0x48(r6) /* 801F0968 001EC5C8 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801F096C 001EC5CC 40 80 00 14 */ bge lbl_801F0980 /* 801F0970 001EC5D0 68 A3 00 01 */ xori r3, r5, 1 /* 801F0974 001EC5D4 7C 03 00 D0 */ neg r0, r3 /* 801F0978 001EC5D8 7C 00 1B 78 */ or r0, r0, r3 /* 801F097C 001EC5DC 54 05 0F FE */ srwi r5, r0, 0x1f lbl_801F0980: /* 801F0980 001EC5E0 C0 06 00 4C */ lfs f0, 0x4c(r6) /* 801F0984 001EC5E4 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801F0988 001EC5E8 40 80 00 14 */ bge lbl_801F099C /* 801F098C 001EC5EC 68 A3 00 01 */ xori r3, r5, 1 /* 801F0990 001EC5F0 7C 03 00 D0 */ neg r0, r3 /* 801F0994 001EC5F4 7C 00 1B 78 */ or r0, r0, r3 /* 801F0998 001EC5F8 54 05 0F FE */ srwi r5, r0, 0x1f lbl_801F099C: /* 801F099C 001EC5FC C0 06 00 50 */ lfs f0, 0x50(r6) /* 801F09A0 001EC600 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801F09A4 001EC604 40 80 00 14 */ bge lbl_801F09B8 /* 801F09A8 001EC608 68 A3 00 01 */ xori r3, r5, 1 /* 801F09AC 001EC60C 7C 03 00 D0 */ neg r0, r3 /* 801F09B0 001EC610 7C 00 1B 78 */ or r0, r0, r3 /* 801F09B4 001EC614 54 05 0F FE */ srwi r5, r0, 0x1f lbl_801F09B8: /* 801F09B8 001EC618 80 86 00 C0 */ lwz r4, 0xc0(r6) /* 801F09BC 001EC61C 2C 04 00 00 */ cmpwi r4, 0 /* 801F09C0 001EC620 40 82 00 0C */ bne lbl_801F09CC /* 801F09C4 001EC624 38 80 00 00 */ li r4, 0 /* 801F09C8 001EC628 48 00 00 44 */ b lbl_801F0A0C lbl_801F09CC: /* 801F09CC 001EC62C 80 66 00 1C */ lwz r3, 0x1c(r6) /* 801F09D0 001EC630 2C 03 00 00 */ cmpwi r3, 0 /* 801F09D4 001EC634 41 82 00 10 */ beq lbl_801F09E4 /* 801F09D8 001EC638 A0 03 00 0A */ lhz r0, 0xa(r3) /* 801F09DC 001EC63C 54 00 EF FE */ rlwinm r0, r0, 0x1d, 0x1f, 0x1f /* 801F09E0 001EC640 48 00 00 08 */ b lbl_801F09E8 lbl_801F09E4: /* 801F09E4 001EC644 38 00 00 01 */ li r0, 1 lbl_801F09E8: /* 801F09E8 001EC648 2C 00 00 00 */ cmpwi r0, 0 /* 801F09EC 001EC64C 40 82 00 0C */ bne lbl_801F09F8 /* 801F09F0 001EC650 38 80 00 00 */ li r4, 0 /* 801F09F4 001EC654 48 00 00 18 */ b lbl_801F0A0C lbl_801F09F8: /* 801F09F8 001EC658 A0 06 00 14 */ lhz r0, 0x14(r6) /* 801F09FC 001EC65C 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d /* 801F0A00 001EC660 41 82 00 08 */ beq lbl_801F0A08 /* 801F0A04 001EC664 48 00 00 08 */ b lbl_801F0A0C lbl_801F0A08: /* 801F0A08 001EC668 80 84 00 BC */ lwz r4, 0xbc(r4) lbl_801F0A0C: /* 801F0A0C 001EC66C 7C 86 23 78 */ mr r6, r4 lbl_801F0A10: /* 801F0A10 001EC670 2C 06 00 00 */ cmpwi r6, 0 /* 801F0A14 001EC674 40 82 FF 50 */ bne lbl_801F0964 /* 801F0A18 001EC678 2C 05 00 00 */ cmpwi r5, 0 /* 801F0A1C 001EC67C 41 82 00 14 */ beq lbl_801F0A30 /* 801F0A20 001EC680 80 1F 01 04 */ lwz r0, 0x104(r31) /* 801F0A24 001EC684 60 00 00 02 */ ori r0, r0, 2 /* 801F0A28 001EC688 90 1F 01 04 */ stw r0, 0x104(r31) /* 801F0A2C 001EC68C 48 00 00 10 */ b lbl_801F0A3C lbl_801F0A30: /* 801F0A30 001EC690 80 1F 01 04 */ lwz r0, 0x104(r31) /* 801F0A34 001EC694 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 801F0A38 001EC698 90 1F 01 04 */ stw r0, 0x104(r31) lbl_801F0A3C: /* 801F0A3C 001EC69C 38 60 00 01 */ li r3, 1 lbl_801F0A40: /* 801F0A40 001EC6A0 80 01 00 94 */ lwz r0, 0x94(r1) /* 801F0A44 001EC6A4 83 E1 00 8C */ lwz r31, 0x8c(r1) /* 801F0A48 001EC6A8 83 C1 00 88 */ lwz r30, 0x88(r1) /* 801F0A4C 001EC6AC 83 A1 00 84 */ lwz r29, 0x84(r1) /* 801F0A50 001EC6B0 7C 08 03 A6 */ mtlr r0 /* 801F0A54 001EC6B4 38 21 00 90 */ addi r1, r1, 0x90 /* 801F0A58 001EC6B8 4E 80 00 20 */ blr /* 801F0A5C 001EC6BC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801F0A60 001EC6C0 7C 08 02 A6 */ mflr r0 /* 801F0A64 001EC6C4 90 01 00 24 */ stw r0, 0x24(r1) /* 801F0A68 001EC6C8 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801F0A6C 001EC6CC 93 C1 00 18 */ stw r30, 0x18(r1) /* 801F0A70 001EC6D0 7C 7E 1B 78 */ mr r30, r3 /* 801F0A74 001EC6D4 48 00 2F 75 */ bl func2__6GSnullFi /* 801F0A78 001EC6D8 80 7E 01 64 */ lwz r3, 0x164(r30) /* 801F0A7C 001EC6DC A0 03 00 00 */ lhz r0, 0(r3) /* 801F0A80 001EC6E0 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 /* 801F0A84 001EC6E4 41 82 00 10 */ beq lbl_801F0A94 /* 801F0A88 001EC6E8 80 1E 01 04 */ lwz r0, 0x104(r30) /* 801F0A8C 001EC6EC 60 00 00 04 */ ori r0, r0, 4 /* 801F0A90 001EC6F0 90 1E 01 04 */ stw r0, 0x104(r30) lbl_801F0A94: /* 801F0A94 001EC6F4 80 7E 01 64 */ lwz r3, 0x164(r30) /* 801F0A98 001EC6F8 A0 03 00 00 */ lhz r0, 0(r3) /* 801F0A9C 001EC6FC 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 801F0AA0 001EC700 41 82 00 10 */ beq lbl_801F0AB0 /* 801F0AA4 001EC704 80 1E 01 04 */ lwz r0, 0x104(r30) /* 801F0AA8 001EC708 60 00 00 0C */ ori r0, r0, 0xc /* 801F0AAC 001EC70C 90 1E 01 04 */ stw r0, 0x104(r30) lbl_801F0AB0: /* 801F0AB0 001EC710 38 7E 01 6C */ addi r3, r30, 0x16c /* 801F0AB4 001EC714 4B FF EF B9 */ bl func_801EFA6C /* 801F0AB8 001EC718 80 BE 01 64 */ lwz r5, 0x164(r30) /* 801F0ABC 001EC71C 38 61 00 08 */ addi r3, r1, 8 /* 801F0AC0 001EC720 38 9E 01 08 */ addi r4, r30, 0x108 /* 801F0AC4 001EC724 80 A5 00 1C */ lwz r5, 0x1c(r5) /* 801F0AC8 001EC728 C0 05 00 00 */ lfs f0, 0(r5) /* 801F0ACC 001EC72C D0 1E 01 08 */ stfs f0, 0x108(r30) /* 801F0AD0 001EC730 C0 05 00 04 */ lfs f0, 4(r5) /* 801F0AD4 001EC734 D0 1E 01 0C */ stfs f0, 0x10c(r30) /* 801F0AD8 001EC738 C0 05 00 08 */ lfs f0, 8(r5) /* 801F0ADC 001EC73C D0 1E 01 10 */ stfs f0, 0x110(r30) /* 801F0AE0 001EC740 C0 05 00 0C */ lfs f0, 0xc(r5) /* 801F0AE4 001EC744 D0 1E 01 14 */ stfs f0, 0x114(r30) /* 801F0AE8 001EC748 C0 05 00 10 */ lfs f0, 0x10(r5) /* 801F0AEC 001EC74C D0 1E 01 18 */ stfs f0, 0x118(r30) /* 801F0AF0 001EC750 C0 05 00 14 */ lfs f0, 0x14(r5) /* 801F0AF4 001EC754 D0 1E 01 1C */ stfs f0, 0x11c(r30) /* 801F0AF8 001EC758 48 02 FE 25 */ bl func_8022091C /* 801F0AFC 001EC75C C0 01 00 08 */ lfs f0, 8(r1) /* 801F0B00 001EC760 83 FE 01 88 */ lwz r31, 0x188(r30) /* 801F0B04 001EC764 D0 1E 01 24 */ stfs f0, 0x124(r30) /* 801F0B08 001EC768 C0 01 00 0C */ lfs f0, 0xc(r1) /* 801F0B0C 001EC76C D0 1E 01 28 */ stfs f0, 0x128(r30) /* 801F0B10 001EC770 C0 01 00 10 */ lfs f0, 0x10(r1) /* 801F0B14 001EC774 D0 1E 01 2C */ stfs f0, 0x12c(r30) /* 801F0B18 001EC778 48 00 00 18 */ b lbl_801F0B30 lbl_801F0B1C: /* 801F0B1C 001EC77C 80 7F 00 14 */ lwz r3, 0x14(r31) /* 801F0B20 001EC780 2C 03 00 00 */ cmpwi r3, 0 /* 801F0B24 001EC784 41 82 00 08 */ beq lbl_801F0B2C /* 801F0B28 001EC788 4B FF C0 81 */ bl func_801ECBA8 lbl_801F0B2C: /* 801F0B2C 001EC78C 83 FF 00 20 */ lwz r31, 0x20(r31) lbl_801F0B30: /* 801F0B30 001EC790 2C 1F 00 00 */ cmpwi r31, 0 /* 801F0B34 001EC794 40 82 FF E8 */ bne lbl_801F0B1C /* 801F0B38 001EC798 80 01 00 24 */ lwz r0, 0x24(r1) /* 801F0B3C 001EC79C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801F0B40 001EC7A0 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801F0B44 001EC7A4 7C 08 03 A6 */ mtlr r0 /* 801F0B48 001EC7A8 38 21 00 20 */ addi r1, r1, 0x20 /* 801F0B4C 001EC7AC 4E 80 00 20 */ blr .global func_801F0B50 func_801F0B50: /* 801F0B50 001EC7B0 80 AD A4 48 */ lwz r5, lbl_8063F708-_SDA_BASE_(r13) /* 801F0B54 001EC7B4 2C 05 00 00 */ cmpwi r5, 0 /* 801F0B58 001EC7B8 41 82 00 0C */ beq lbl_801F0B64 /* 801F0B5C 001EC7BC 80 C5 00 00 */ lwz r6, 0(r5) /* 801F0B60 001EC7C0 48 00 00 08 */ b lbl_801F0B68 lbl_801F0B64: /* 801F0B64 001EC7C4 38 C0 00 00 */ li r6, 0 lbl_801F0B68: /* 801F0B68 001EC7C8 20 A6 00 08 */ subfic r5, r6, 8 /* 801F0B6C 001EC7CC 38 06 FF F8 */ addi r0, r6, -8 /* 801F0B70 001EC7D0 7C A0 03 78 */ or r0, r5, r0 /* 801F0B74 001EC7D4 54 05 0F FE */ srwi r5, r0, 0x1f /* 801F0B78 001EC7D8 48 00 00 04 */ b func_801F0B7C .global func_801F0B7C func_801F0B7C: /* 801F0B7C 001EC7DC 94 21 FF 90 */ stwu r1, -0x70(r1) /* 801F0B80 001EC7E0 7C 08 02 A6 */ mflr r0 /* 801F0B84 001EC7E4 90 01 00 74 */ stw r0, 0x74(r1) /* 801F0B88 001EC7E8 39 61 00 70 */ addi r11, r1, 0x70 /* 801F0B8C 001EC7EC 4B FD 65 7D */ bl _savegpr_19 /* 801F0B90 001EC7F0 3F E0 80 49 */ lis r31, lbl_804919B0@ha /* 801F0B94 001EC7F4 7C 73 1B 78 */ mr r19, r3 /* 801F0B98 001EC7F8 7C 94 23 78 */ mr r20, r4 /* 801F0B9C 001EC7FC 7C B5 2B 78 */ mr r21, r5 /* 801F0BA0 001EC800 3B FF 19 B0 */ addi r31, r31, lbl_804919B0@l /* 801F0BA4 001EC804 48 00 31 3D */ bl func_801F3CE0 /* 801F0BA8 001EC808 2C 03 00 00 */ cmpwi r3, 0 /* 801F0BAC 001EC80C 40 82 00 0C */ bne lbl_801F0BB8 /* 801F0BB0 001EC810 38 60 00 00 */ li r3, 0 /* 801F0BB4 001EC814 48 00 04 0C */ b lbl_801F0FC0 lbl_801F0BB8: /* 801F0BB8 001EC818 38 73 01 08 */ addi r3, r19, 0x108 /* 801F0BBC 001EC81C 48 02 FF 5D */ bl func_80220B18 /* 801F0BC0 001EC820 2C 03 00 01 */ cmpwi r3, 1 /* 801F0BC4 001EC824 41 82 00 58 */ beq lbl_801F0C1C /* 801F0BC8 001EC828 40 80 00 10 */ bge lbl_801F0BD8 /* 801F0BCC 001EC82C 2C 03 00 00 */ cmpwi r3, 0 /* 801F0BD0 001EC830 40 80 00 44 */ bge lbl_801F0C14 /* 801F0BD4 001EC834 48 00 00 48 */ b lbl_801F0C1C lbl_801F0BD8: /* 801F0BD8 001EC838 2C 03 00 03 */ cmpwi r3, 3 /* 801F0BDC 001EC83C 40 80 00 40 */ bge lbl_801F0C1C /* 801F0BE0 001EC840 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13) /* 801F0BE4 001EC844 38 00 00 01 */ li r0, 1 /* 801F0BE8 001EC848 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F0BEC 001EC84C 90 03 01 88 */ stw r0, 0x188(r3) /* 801F0BF0 001EC850 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F0BF4 001EC854 80 03 00 10 */ lwz r0, 0x10(r3) /* 801F0BF8 001EC858 60 00 00 04 */ ori r0, r0, 4 /* 801F0BFC 001EC85C 90 03 00 10 */ stw r0, 0x10(r3) /* 801F0C00 001EC860 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F0C04 001EC864 80 03 00 00 */ lwz r0, 0(r3) /* 801F0C08 001EC868 60 00 00 02 */ ori r0, r0, 2 /* 801F0C0C 001EC86C 90 03 00 00 */ stw r0, 0(r3) /* 801F0C10 001EC870 48 00 00 3C */ b lbl_801F0C4C lbl_801F0C14: /* 801F0C14 001EC874 38 60 00 00 */ li r3, 0 /* 801F0C18 001EC878 48 00 03 A8 */ b lbl_801F0FC0 lbl_801F0C1C: /* 801F0C1C 001EC87C 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13) /* 801F0C20 001EC880 38 00 00 00 */ li r0, 0 /* 801F0C24 001EC884 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F0C28 001EC888 90 03 01 88 */ stw r0, 0x188(r3) /* 801F0C2C 001EC88C 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F0C30 001EC890 80 03 00 10 */ lwz r0, 0x10(r3) /* 801F0C34 001EC894 60 00 00 04 */ ori r0, r0, 4 /* 801F0C38 001EC898 90 03 00 10 */ stw r0, 0x10(r3) /* 801F0C3C 001EC89C 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F0C40 001EC8A0 80 03 00 00 */ lwz r0, 0(r3) /* 801F0C44 001EC8A4 60 00 00 02 */ ori r0, r0, 2 /* 801F0C48 001EC8A8 90 03 00 00 */ stw r0, 0(r3) lbl_801F0C4C: /* 801F0C4C 001EC8AC 7E 63 9B 78 */ mr r3, r19 /* 801F0C50 001EC8B0 7E 84 A3 78 */ mr r4, r20 /* 801F0C54 001EC8B4 4B FF FA 91 */ bl func_801F06E4 /* 801F0C58 001EC8B8 2C 03 00 00 */ cmpwi r3, 0 /* 801F0C5C 001EC8BC 40 82 00 0C */ bne lbl_801F0C68 /* 801F0C60 001EC8C0 38 60 00 00 */ li r3, 0 /* 801F0C64 001EC8C4 48 00 03 5C */ b lbl_801F0FC0 lbl_801F0C68: /* 801F0C68 001EC8C8 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 801F0C6C 001EC8CC 38 93 00 D0 */ addi r4, r19, 0xd0 /* 801F0C70 001EC8D0 80 13 01 04 */ lwz r0, 0x104(r19) /* 801F0C74 001EC8D4 80 63 16 E8 */ lwz r3, 0x16e8(r3) /* 801F0C78 001EC8D8 54 19 FF FE */ rlwinm r25, r0, 0x1f, 0x1f, 0x1f /* 801F0C7C 001EC8DC 48 04 5B FD */ bl func_80236878 /* 801F0C80 001EC8E0 38 73 01 24 */ addi r3, r19, 0x124 /* 801F0C84 001EC8E4 48 01 1B 79 */ bl func_802027FC /* 801F0C88 001EC8E8 80 ED A3 D8 */ lwz r7, render_context_ptr-_SDA_BASE_(r13) /* 801F0C8C 001EC8EC 3D 20 80 49 */ lis r9, lbl_80492090@ha /* 801F0C90 001EC8F0 89 0D A1 AC */ lbz r8, lbl_8063F46C-_SDA_BASE_(r13) /* 801F0C94 001EC8F4 38 00 00 02 */ li r0, 2 /* 801F0C98 001EC8F8 80 67 16 38 */ lwz r3, 0x1638(r7) /* 801F0C9C 001EC8FC 39 29 20 90 */ addi r9, r9, lbl_80492090@l /* 801F0CA0 001EC900 38 C0 00 00 */ li r6, 0 /* 801F0CA4 001EC904 38 80 00 00 */ li r4, 0 /* 801F0CA8 001EC908 99 03 15 14 */ stb r8, 0x1514(r3) /* 801F0CAC 001EC90C 7C 09 03 A6 */ mtctr r0 lbl_801F0CB0: /* 801F0CB0 001EC910 54 C0 06 3E */ clrlwi r0, r6, 0x18 /* 801F0CB4 001EC914 7C 00 40 40 */ cmplw r0, r8 /* 801F0CB8 001EC918 40 80 00 1C */ bge lbl_801F0CD4 /* 801F0CBC 001EC91C 54 C3 15 BA */ rlwinm r3, r6, 2, 0x16, 0x1d /* 801F0CC0 001EC920 80 07 16 38 */ lwz r0, 0x1638(r7) /* 801F0CC4 001EC924 7C A9 18 2E */ lwzx r5, r9, r3 /* 801F0CC8 001EC928 7C 60 1A 14 */ add r3, r0, r3 /* 801F0CCC 001EC92C 90 A3 15 18 */ stw r5, 0x1518(r3) /* 801F0CD0 001EC930 48 00 00 14 */ b lbl_801F0CE4 lbl_801F0CD4: /* 801F0CD4 001EC934 80 67 16 38 */ lwz r3, 0x1638(r7) /* 801F0CD8 001EC938 54 C0 15 BA */ rlwinm r0, r6, 2, 0x16, 0x1d /* 801F0CDC 001EC93C 7C 63 02 14 */ add r3, r3, r0 /* 801F0CE0 001EC940 90 83 15 18 */ stw r4, 0x1518(r3) lbl_801F0CE4: /* 801F0CE4 001EC944 38 C6 00 01 */ addi r6, r6, 1 /* 801F0CE8 001EC948 54 C0 06 3E */ clrlwi r0, r6, 0x18 /* 801F0CEC 001EC94C 7C 00 40 40 */ cmplw r0, r8 /* 801F0CF0 001EC950 40 80 00 1C */ bge lbl_801F0D0C /* 801F0CF4 001EC954 54 C3 15 BA */ rlwinm r3, r6, 2, 0x16, 0x1d /* 801F0CF8 001EC958 80 07 16 38 */ lwz r0, 0x1638(r7) /* 801F0CFC 001EC95C 7C A9 18 2E */ lwzx r5, r9, r3 /* 801F0D00 001EC960 7C 60 1A 14 */ add r3, r0, r3 /* 801F0D04 001EC964 90 A3 15 18 */ stw r5, 0x1518(r3) /* 801F0D08 001EC968 48 00 00 14 */ b lbl_801F0D1C lbl_801F0D0C: /* 801F0D0C 001EC96C 80 67 16 38 */ lwz r3, 0x1638(r7) /* 801F0D10 001EC970 54 C0 15 BA */ rlwinm r0, r6, 2, 0x16, 0x1d /* 801F0D14 001EC974 7C 63 02 14 */ add r3, r3, r0 /* 801F0D18 001EC978 90 83 15 18 */ stw r4, 0x1518(r3) lbl_801F0D1C: /* 801F0D1C 001EC97C 38 C6 00 01 */ addi r6, r6, 1 /* 801F0D20 001EC980 54 C0 06 3E */ clrlwi r0, r6, 0x18 /* 801F0D24 001EC984 7C 00 40 40 */ cmplw r0, r8 /* 801F0D28 001EC988 40 80 00 1C */ bge lbl_801F0D44 /* 801F0D2C 001EC98C 54 C3 15 BA */ rlwinm r3, r6, 2, 0x16, 0x1d /* 801F0D30 001EC990 80 07 16 38 */ lwz r0, 0x1638(r7) /* 801F0D34 001EC994 7C A9 18 2E */ lwzx r5, r9, r3 /* 801F0D38 001EC998 7C 60 1A 14 */ add r3, r0, r3 /* 801F0D3C 001EC99C 90 A3 15 18 */ stw r5, 0x1518(r3) /* 801F0D40 001EC9A0 48 00 00 14 */ b lbl_801F0D54 lbl_801F0D44: /* 801F0D44 001EC9A4 80 67 16 38 */ lwz r3, 0x1638(r7) /* 801F0D48 001EC9A8 54 C0 15 BA */ rlwinm r0, r6, 2, 0x16, 0x1d /* 801F0D4C 001EC9AC 7C 63 02 14 */ add r3, r3, r0 /* 801F0D50 001EC9B0 90 83 15 18 */ stw r4, 0x1518(r3) lbl_801F0D54: /* 801F0D54 001EC9B4 38 C6 00 01 */ addi r6, r6, 1 /* 801F0D58 001EC9B8 54 C0 06 3E */ clrlwi r0, r6, 0x18 /* 801F0D5C 001EC9BC 7C 00 40 40 */ cmplw r0, r8 /* 801F0D60 001EC9C0 40 80 00 1C */ bge lbl_801F0D7C /* 801F0D64 001EC9C4 54 C3 15 BA */ rlwinm r3, r6, 2, 0x16, 0x1d /* 801F0D68 001EC9C8 80 07 16 38 */ lwz r0, 0x1638(r7) /* 801F0D6C 001EC9CC 7C A9 18 2E */ lwzx r5, r9, r3 /* 801F0D70 001EC9D0 7C 60 1A 14 */ add r3, r0, r3 /* 801F0D74 001EC9D4 90 A3 15 18 */ stw r5, 0x1518(r3) /* 801F0D78 001EC9D8 48 00 00 14 */ b lbl_801F0D8C lbl_801F0D7C: /* 801F0D7C 001EC9DC 80 67 16 38 */ lwz r3, 0x1638(r7) /* 801F0D80 001EC9E0 54 C0 15 BA */ rlwinm r0, r6, 2, 0x16, 0x1d /* 801F0D84 001EC9E4 7C 63 02 14 */ add r3, r3, r0 /* 801F0D88 001EC9E8 90 83 15 18 */ stw r4, 0x1518(r3) lbl_801F0D8C: /* 801F0D8C 001EC9EC 38 C6 00 01 */ addi r6, r6, 1 /* 801F0D90 001EC9F0 42 00 FF 20 */ bdnz lbl_801F0CB0 /* 801F0D94 001EC9F4 80 67 16 38 */ lwz r3, 0x1638(r7) /* 801F0D98 001EC9F8 80 03 00 14 */ lwz r0, 0x14(r3) /* 801F0D9C 001EC9FC 60 00 00 10 */ ori r0, r0, 0x10 /* 801F0DA0 001ECA00 90 03 00 14 */ stw r0, 0x14(r3) /* 801F0DA4 001ECA04 80 67 16 38 */ lwz r3, 0x1638(r7) /* 801F0DA8 001ECA08 80 03 00 00 */ lwz r0, 0(r3) /* 801F0DAC 001ECA0C 60 00 00 04 */ ori r0, r0, 4 /* 801F0DB0 001ECA10 90 03 00 00 */ stw r0, 0(r3) /* 801F0DB4 001ECA14 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 801F0DB8 001ECA18 82 C3 16 E8 */ lwz r22, 0x16e8(r3) /* 801F0DBC 001ECA1C 80 76 00 04 */ lwz r3, 4(r22) /* 801F0DC0 001ECA20 80 03 00 00 */ lwz r0, 0(r3) /* 801F0DC4 001ECA24 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e /* 801F0DC8 001ECA28 41 82 00 30 */ beq lbl_801F0DF8 /* 801F0DCC 001ECA2C 38 63 00 04 */ addi r3, r3, 4 /* 801F0DD0 001ECA30 38 81 00 08 */ addi r4, r1, 8 /* 801F0DD4 001ECA34 48 08 B3 CD */ bl PSMTXInvXpose /* 801F0DD8 001ECA38 80 96 00 04 */ lwz r4, 4(r22) /* 801F0DDC 001ECA3C 38 61 00 08 */ addi r3, r1, 8 /* 801F0DE0 001ECA40 38 84 00 64 */ addi r4, r4, 0x64 /* 801F0DE4 001ECA44 48 08 B1 75 */ bl PSMTXCopy /* 801F0DE8 001ECA48 80 76 00 04 */ lwz r3, 4(r22) /* 801F0DEC 001ECA4C 80 03 00 00 */ lwz r0, 0(r3) /* 801F0DF0 001ECA50 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 801F0DF4 001ECA54 90 03 00 00 */ stw r0, 0(r3) lbl_801F0DF8: /* 801F0DF8 001ECA58 80 B6 00 04 */ lwz r5, 4(r22) /* 801F0DFC 001ECA5C 38 80 00 0A */ li r4, 0xa /* 801F0E00 001ECA60 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 801F0E04 001ECA64 38 C0 00 01 */ li r6, 1 /* 801F0E08 001ECA68 38 A5 00 64 */ addi r5, r5, 0x64 /* 801F0E0C 001ECA6C 48 04 37 ED */ bl func_802345F8 /* 801F0E10 001ECA70 80 13 01 04 */ lwz r0, 0x104(r19) /* 801F0E14 001ECA74 3B 00 00 00 */ li r24, 0 /* 801F0E18 001ECA78 80 73 01 64 */ lwz r3, 0x164(r19) /* 801F0E1C 001ECA7C 3B 80 00 00 */ li r28, 0 /* 801F0E20 001ECA80 54 00 06 F6 */ rlwinm r0, r0, 0, 0x1b, 0x1b /* 801F0E24 001ECA84 A0 63 00 00 */ lhz r3, 0(r3) /* 801F0E28 001ECA88 28 00 00 10 */ cmplwi r0, 0x10 /* 801F0E2C 001ECA8C 54 77 DF FE */ rlwinm r23, r3, 0x1b, 0x1f, 0x1f /* 801F0E30 001ECA90 40 82 00 10 */ bne lbl_801F0E40 /* 801F0E34 001ECA94 2C 15 00 00 */ cmpwi r21, 0 /* 801F0E38 001ECA98 40 82 00 08 */ bne lbl_801F0E40 /* 801F0E3C 001ECA9C 3B 80 00 01 */ li r28, 1 lbl_801F0E40: /* 801F0E40 001ECAA0 82 D3 01 88 */ lwz r22, 0x188(r19) /* 801F0E44 001ECAA4 3B BF 00 B8 */ addi r29, r31, 0xb8 /* 801F0E48 001ECAA8 3B DF 00 00 */ addi r30, r31, 0 /* 801F0E4C 001ECAAC 3B FF 00 8C */ addi r31, r31, 0x8c /* 801F0E50 001ECAB0 48 00 01 24 */ b lbl_801F0F74 lbl_801F0E54: /* 801F0E54 001ECAB4 80 16 00 00 */ lwz r0, 0(r22) /* 801F0E58 001ECAB8 54 00 07 FE */ clrlwi r0, r0, 0x1f /* 801F0E5C 001ECABC 28 00 00 01 */ cmplwi r0, 1 /* 801F0E60 001ECAC0 40 82 01 10 */ bne lbl_801F0F70 /* 801F0E64 001ECAC4 2C 1C 00 00 */ cmpwi r28, 0 /* 801F0E68 001ECAC8 41 82 00 B4 */ beq lbl_801F0F1C /* 801F0E6C 001ECACC 83 76 00 18 */ lwz r27, 0x18(r22) /* 801F0E70 001ECAD0 2C 1B 00 00 */ cmpwi r27, 0 /* 801F0E74 001ECAD4 41 82 00 A8 */ beq lbl_801F0F1C /* 801F0E78 001ECAD8 83 56 00 14 */ lwz r26, 0x14(r22) /* 801F0E7C 001ECADC 7F 64 DB 78 */ mr r4, r27 /* 801F0E80 001ECAE0 38 73 01 6C */ addi r3, r19, 0x16c /* 801F0E84 001ECAE4 38 A0 00 01 */ li r5, 1 /* 801F0E88 001ECAE8 4B FF ED 5D */ bl func_801EFBE4 /* 801F0E8C 001ECAEC 93 B6 00 14 */ stw r29, 0x14(r22) /* 801F0E90 001ECAF0 7E C3 B3 78 */ mr r3, r22 /* 801F0E94 001ECAF4 7E 84 A3 78 */ mr r4, r20 /* 801F0E98 001ECAF8 7F 26 CB 78 */ mr r6, r25 /* 801F0E9C 001ECAFC 88 13 01 34 */ lbz r0, 0x134(r19) /* 801F0EA0 001ECB00 38 B3 00 D0 */ addi r5, r19, 0xd0 /* 801F0EA4 001ECB04 38 E0 00 00 */ li r7, 0 /* 801F0EA8 001ECB08 98 1E 00 60 */ stb r0, 0x60(r30) /* 801F0EAC 001ECB0C 88 13 01 35 */ lbz r0, 0x135(r19) /* 801F0EB0 001ECB10 98 1E 00 61 */ stb r0, 0x61(r30) /* 801F0EB4 001ECB14 88 13 01 36 */ lbz r0, 0x136(r19) /* 801F0EB8 001ECB18 98 1E 00 62 */ stb r0, 0x62(r30) /* 801F0EBC 001ECB1C 88 13 01 37 */ lbz r0, 0x137(r19) /* 801F0EC0 001ECB20 98 1E 00 63 */ stb r0, 0x63(r30) /* 801F0EC4 001ECB24 88 13 01 34 */ lbz r0, 0x134(r19) /* 801F0EC8 001ECB28 98 1E 00 64 */ stb r0, 0x64(r30) /* 801F0ECC 001ECB2C 88 13 01 35 */ lbz r0, 0x135(r19) /* 801F0ED0 001ECB30 98 1E 00 65 */ stb r0, 0x65(r30) /* 801F0ED4 001ECB34 88 13 01 36 */ lbz r0, 0x136(r19) /* 801F0ED8 001ECB38 98 1E 00 66 */ stb r0, 0x66(r30) /* 801F0EDC 001ECB3C 88 13 01 37 */ lbz r0, 0x137(r19) /* 801F0EE0 001ECB40 98 1E 00 67 */ stb r0, 0x67(r30) /* 801F0EE4 001ECB44 89 13 01 37 */ lbz r8, 0x137(r19) /* 801F0EE8 001ECB48 38 08 FF 01 */ addi r0, r8, -255 /* 801F0EEC 001ECB4C 7C 00 00 34 */ cntlzw r0, r0 /* 801F0EF0 001ECB50 54 00 D9 7E */ srwi r0, r0, 5 /* 801F0EF4 001ECB54 98 1F 00 07 */ stb r0, 7(r31) /* 801F0EF8 001ECB58 4B FF C7 35 */ bl func_801ED62C /* 801F0EFC 001ECB5C 2C 03 00 00 */ cmpwi r3, 0 /* 801F0F00 001ECB60 41 82 00 08 */ beq lbl_801F0F08 /* 801F0F04 001ECB64 3B 00 00 01 */ li r24, 1 lbl_801F0F08: /* 801F0F08 001ECB68 93 56 00 14 */ stw r26, 0x14(r22) /* 801F0F0C 001ECB6C 7F 64 DB 78 */ mr r4, r27 /* 801F0F10 001ECB70 38 73 01 6C */ addi r3, r19, 0x16c /* 801F0F14 001ECB74 38 A0 00 00 */ li r5, 0 /* 801F0F18 001ECB78 4B FF EC CD */ bl func_801EFBE4 lbl_801F0F1C: /* 801F0F1C 001ECB7C 80 16 00 00 */ lwz r0, 0(r22) /* 801F0F20 001ECB80 38 80 00 00 */ li r4, 0 /* 801F0F24 001ECB84 54 00 07 BC */ rlwinm r0, r0, 0, 0x1e, 0x1e /* 801F0F28 001ECB88 28 00 00 02 */ cmplwi r0, 2 /* 801F0F2C 001ECB8C 41 82 00 14 */ beq lbl_801F0F40 /* 801F0F30 001ECB90 80 76 00 14 */ lwz r3, 0x14(r22) /* 801F0F34 001ECB94 88 03 00 33 */ lbz r0, 0x33(r3) /* 801F0F38 001ECB98 28 00 00 FF */ cmplwi r0, 0xff /* 801F0F3C 001ECB9C 41 82 00 08 */ beq lbl_801F0F44 lbl_801F0F40: /* 801F0F40 001ECBA0 38 80 00 01 */ li r4, 1 lbl_801F0F44: /* 801F0F44 001ECBA4 7C 15 20 40 */ cmplw r21, r4 /* 801F0F48 001ECBA8 41 82 00 28 */ beq lbl_801F0F70 /* 801F0F4C 001ECBAC 7E C3 B3 78 */ mr r3, r22 /* 801F0F50 001ECBB0 7E 84 A3 78 */ mr r4, r20 /* 801F0F54 001ECBB4 7F 26 CB 78 */ mr r6, r25 /* 801F0F58 001ECBB8 7E E7 BB 78 */ mr r7, r23 /* 801F0F5C 001ECBBC 38 B3 00 D0 */ addi r5, r19, 0xd0 /* 801F0F60 001ECBC0 4B FF C6 CD */ bl func_801ED62C /* 801F0F64 001ECBC4 2C 03 00 00 */ cmpwi r3, 0 /* 801F0F68 001ECBC8 41 82 00 08 */ beq lbl_801F0F70 /* 801F0F6C 001ECBCC 3B 00 00 01 */ li r24, 1 lbl_801F0F70: /* 801F0F70 001ECBD0 82 D6 00 20 */ lwz r22, 0x20(r22) lbl_801F0F74: /* 801F0F74 001ECBD4 2C 16 00 00 */ cmpwi r22, 0 /* 801F0F78 001ECBD8 40 82 FE DC */ bne lbl_801F0E54 /* 801F0F7C 001ECBDC 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 801F0F80 001ECBE0 2C 18 00 00 */ cmpwi r24, 0 /* 801F0F84 001ECBE4 80 83 16 E8 */ lwz r4, 0x16e8(r3) /* 801F0F88 001ECBE8 80 64 00 04 */ lwz r3, 4(r4) /* 801F0F8C 001ECBEC 38 03 FF 6C */ addi r0, r3, -148 /* 801F0F90 001ECBF0 90 04 00 04 */ stw r0, 4(r4) /* 801F0F94 001ECBF4 41 82 00 28 */ beq lbl_801F0FBC /* 801F0F98 001ECBF8 88 13 01 87 */ lbz r0, 0x187(r19) /* 801F0F9C 001ECBFC 2C 00 00 00 */ cmpwi r0, 0 /* 801F0FA0 001ECC00 41 82 00 14 */ beq lbl_801F0FB4 /* 801F0FA4 001ECC04 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 801F0FA8 001ECC08 38 93 01 6C */ addi r4, r19, 0x16c /* 801F0FAC 001ECC0C 48 04 A9 9D */ bl func_8023B948 /* 801F0FB0 001ECC10 90 73 01 80 */ stw r3, 0x180(r19) lbl_801F0FB4: /* 801F0FB4 001ECC14 38 60 00 01 */ li r3, 1 /* 801F0FB8 001ECC18 48 00 00 08 */ b lbl_801F0FC0 lbl_801F0FBC: /* 801F0FBC 001ECC1C 38 60 00 00 */ li r3, 0 lbl_801F0FC0: /* 801F0FC0 001ECC20 39 61 00 70 */ addi r11, r1, 0x70 /* 801F0FC4 001ECC24 4B FD 61 91 */ bl _restgpr_19 /* 801F0FC8 001ECC28 80 01 00 74 */ lwz r0, 0x74(r1) /* 801F0FCC 001ECC2C 7C 08 03 A6 */ mtlr r0 /* 801F0FD0 001ECC30 38 21 00 70 */ addi r1, r1, 0x70 /* 801F0FD4 001ECC34 4E 80 00 20 */ blr .global func_801F0FD8 func_801F0FD8: /* 801F0FD8 001ECC38 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801F0FDC 001ECC3C 7C 08 02 A6 */ mflr r0 /* 801F0FE0 001ECC40 90 01 00 24 */ stw r0, 0x24(r1) /* 801F0FE4 001ECC44 39 61 00 20 */ addi r11, r1, 0x20 /* 801F0FE8 001ECC48 4B FD 61 3D */ bl _savegpr_26 /* 801F0FEC 001ECC4C 7C 7D 1B 78 */ mr r29, r3 /* 801F0FF0 001ECC50 7C 9E 23 78 */ mr r30, r4 /* 801F0FF4 001ECC54 7C BF 2B 78 */ mr r31, r5 /* 801F0FF8 001ECC58 48 00 2C E9 */ bl func_801F3CE0 /* 801F0FFC 001ECC5C 2C 03 00 00 */ cmpwi r3, 0 /* 801F1000 001ECC60 41 82 00 18 */ beq lbl_801F1018 /* 801F1004 001ECC64 80 7D 01 64 */ lwz r3, 0x164(r29) /* 801F1008 001ECC68 A0 03 00 00 */ lhz r0, 0(r3) /* 801F100C 001ECC6C 54 00 05 AC */ rlwinm r0, r0, 0, 0x16, 0x16 /* 801F1010 001ECC70 2C 00 02 00 */ cmpwi r0, 0x200 /* 801F1014 001ECC74 41 82 00 0C */ beq lbl_801F1020 lbl_801F1018: /* 801F1018 001ECC78 38 60 00 00 */ li r3, 0 /* 801F101C 001ECC7C 48 00 01 08 */ b lbl_801F1124 lbl_801F1020: /* 801F1020 001ECC80 7F A3 EB 78 */ mr r3, r29 /* 801F1024 001ECC84 7F C4 F3 78 */ mr r4, r30 /* 801F1028 001ECC88 4B FF F6 BD */ bl func_801F06E4 /* 801F102C 001ECC8C 2C 03 00 00 */ cmpwi r3, 0 /* 801F1030 001ECC90 40 82 00 0C */ bne lbl_801F103C /* 801F1034 001ECC94 38 60 00 00 */ li r3, 0 /* 801F1038 001ECC98 48 00 00 EC */ b lbl_801F1124 lbl_801F103C: /* 801F103C 001ECC9C 80 CD A3 D8 */ lwz r6, render_context_ptr-_SDA_BASE_(r13) /* 801F1040 001ECCA0 38 00 00 01 */ li r0, 1 /* 801F1044 001ECCA4 80 BD 01 04 */ lwz r5, 0x104(r29) /* 801F1048 001ECCA8 38 9D 00 D0 */ addi r4, r29, 0xd0 /* 801F104C 001ECCAC 80 66 16 38 */ lwz r3, 0x1638(r6) /* 801F1050 001ECCB0 54 A5 FF FE */ rlwinm r5, r5, 0x1f, 0x1f, 0x1f /* 801F1054 001ECCB4 90 03 01 88 */ stw r0, 0x188(r3) /* 801F1058 001ECCB8 68 BC 00 01 */ xori r28, r5, 1 /* 801F105C 001ECCBC 80 66 16 38 */ lwz r3, 0x1638(r6) /* 801F1060 001ECCC0 80 03 00 10 */ lwz r0, 0x10(r3) /* 801F1064 001ECCC4 60 00 00 04 */ ori r0, r0, 4 /* 801F1068 001ECCC8 90 03 00 10 */ stw r0, 0x10(r3) /* 801F106C 001ECCCC 80 66 16 38 */ lwz r3, 0x1638(r6) /* 801F1070 001ECCD0 80 03 00 00 */ lwz r0, 0(r3) /* 801F1074 001ECCD4 60 00 00 02 */ ori r0, r0, 2 /* 801F1078 001ECCD8 90 03 00 00 */ stw r0, 0(r3) /* 801F107C 001ECCDC 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 801F1080 001ECCE0 80 63 16 E8 */ lwz r3, 0x16e8(r3) /* 801F1084 001ECCE4 48 04 57 F5 */ bl func_80236878 /* 801F1088 001ECCE8 83 5D 01 88 */ lwz r26, 0x188(r29) /* 801F108C 001ECCEC 3B 60 00 00 */ li r27, 0 /* 801F1090 001ECCF0 48 00 00 48 */ b lbl_801F10D8 lbl_801F1094: /* 801F1094 001ECCF4 80 7A 00 00 */ lwz r3, 0(r26) /* 801F1098 001ECCF8 54 60 07 FE */ clrlwi r0, r3, 0x1f /* 801F109C 001ECCFC 28 00 00 01 */ cmplwi r0, 1 /* 801F10A0 001ECD00 40 82 00 34 */ bne lbl_801F10D4 /* 801F10A4 001ECD04 54 60 FF FE */ rlwinm r0, r3, 0x1f, 0x1f, 0x1f /* 801F10A8 001ECD08 68 00 00 01 */ xori r0, r0, 1 /* 801F10AC 001ECD0C 7C 1F 00 40 */ cmplw r31, r0 /* 801F10B0 001ECD10 40 82 00 24 */ bne lbl_801F10D4 /* 801F10B4 001ECD14 7F 43 D3 78 */ mr r3, r26 /* 801F10B8 001ECD18 7F C4 F3 78 */ mr r4, r30 /* 801F10BC 001ECD1C 7F 86 E3 78 */ mr r6, r28 /* 801F10C0 001ECD20 38 BD 00 D0 */ addi r5, r29, 0xd0 /* 801F10C4 001ECD24 4B FF CD 39 */ bl func_801EDDFC /* 801F10C8 001ECD28 2C 03 00 00 */ cmpwi r3, 0 /* 801F10CC 001ECD2C 41 82 00 08 */ beq lbl_801F10D4 /* 801F10D0 001ECD30 3B 60 00 01 */ li r27, 1 lbl_801F10D4: /* 801F10D4 001ECD34 83 5A 00 20 */ lwz r26, 0x20(r26) lbl_801F10D8: /* 801F10D8 001ECD38 2C 1A 00 00 */ cmpwi r26, 0 /* 801F10DC 001ECD3C 40 82 FF B8 */ bne lbl_801F1094 /* 801F10E0 001ECD40 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 801F10E4 001ECD44 2C 1B 00 00 */ cmpwi r27, 0 /* 801F10E8 001ECD48 80 83 16 E8 */ lwz r4, 0x16e8(r3) /* 801F10EC 001ECD4C 80 64 00 04 */ lwz r3, 4(r4) /* 801F10F0 001ECD50 38 03 FF 6C */ addi r0, r3, -148 /* 801F10F4 001ECD54 90 04 00 04 */ stw r0, 4(r4) /* 801F10F8 001ECD58 41 82 00 28 */ beq lbl_801F1120 /* 801F10FC 001ECD5C 88 1D 01 87 */ lbz r0, 0x187(r29) /* 801F1100 001ECD60 2C 00 00 00 */ cmpwi r0, 0 /* 801F1104 001ECD64 41 82 00 14 */ beq lbl_801F1118 /* 801F1108 001ECD68 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 801F110C 001ECD6C 38 9D 01 6C */ addi r4, r29, 0x16c /* 801F1110 001ECD70 48 04 A8 39 */ bl func_8023B948 /* 801F1114 001ECD74 90 7D 01 80 */ stw r3, 0x180(r29) lbl_801F1118: /* 801F1118 001ECD78 38 60 00 01 */ li r3, 1 /* 801F111C 001ECD7C 48 00 00 08 */ b lbl_801F1124 lbl_801F1120: /* 801F1120 001ECD80 38 60 00 00 */ li r3, 0 lbl_801F1124: /* 801F1124 001ECD84 39 61 00 20 */ addi r11, r1, 0x20 /* 801F1128 001ECD88 4B FD 60 49 */ bl _restgpr_26 /* 801F112C 001ECD8C 80 01 00 24 */ lwz r0, 0x24(r1) /* 801F1130 001ECD90 7C 08 03 A6 */ mtlr r0 /* 801F1134 001ECD94 38 21 00 20 */ addi r1, r1, 0x20 /* 801F1138 001ECD98 4E 80 00 20 */ blr .global func_801F113C func_801F113C: /* 801F113C 001ECD9C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801F1140 001ECDA0 7C 08 02 A6 */ mflr r0 /* 801F1144 001ECDA4 90 01 00 24 */ stw r0, 0x24(r1) /* 801F1148 001ECDA8 39 61 00 20 */ addi r11, r1, 0x20 /* 801F114C 001ECDAC 4B FD 5F DD */ bl _savegpr_27 /* 801F1150 001ECDB0 7C 7D 1B 78 */ mr r29, r3 /* 801F1154 001ECDB4 7C 9E 23 78 */ mr r30, r4 /* 801F1158 001ECDB8 48 00 2B 89 */ bl func_801F3CE0 /* 801F115C 001ECDBC 2C 03 00 00 */ cmpwi r3, 0 /* 801F1160 001ECDC0 41 82 00 18 */ beq lbl_801F1178 /* 801F1164 001ECDC4 80 7D 01 64 */ lwz r3, 0x164(r29) /* 801F1168 001ECDC8 A0 03 00 00 */ lhz r0, 0(r3) /* 801F116C 001ECDCC 54 00 05 6A */ rlwinm r0, r0, 0, 0x15, 0x15 /* 801F1170 001ECDD0 2C 00 04 00 */ cmpwi r0, 0x400 /* 801F1174 001ECDD4 41 82 00 0C */ beq lbl_801F1180 lbl_801F1178: /* 801F1178 001ECDD8 38 60 00 00 */ li r3, 0 /* 801F117C 001ECDDC 48 00 01 B8 */ b lbl_801F1334 lbl_801F1180: /* 801F1180 001ECDE0 80 6D A4 48 */ lwz r3, lbl_8063F708-_SDA_BASE_(r13) /* 801F1184 001ECDE4 2C 03 00 00 */ cmpwi r3, 0 /* 801F1188 001ECDE8 41 82 00 0C */ beq lbl_801F1194 /* 801F118C 001ECDEC 80 83 00 00 */ lwz r4, 0(r3) /* 801F1190 001ECDF0 48 00 00 08 */ b lbl_801F1198 lbl_801F1194: /* 801F1194 001ECDF4 38 80 00 00 */ li r4, 0 lbl_801F1198: /* 801F1198 001ECDF8 20 64 00 08 */ subfic r3, r4, 8 /* 801F119C 001ECDFC 38 04 FF F8 */ addi r0, r4, -8 /* 801F11A0 001ECE00 7C 60 03 78 */ or r0, r3, r0 /* 801F11A4 001ECE04 38 7D 01 08 */ addi r3, r29, 0x108 /* 801F11A8 001ECE08 54 1F 0F FE */ srwi r31, r0, 0x1f /* 801F11AC 001ECE0C 48 02 F9 6D */ bl func_80220B18 /* 801F11B0 001ECE10 2C 03 00 01 */ cmpwi r3, 1 /* 801F11B4 001ECE14 41 82 00 58 */ beq lbl_801F120C /* 801F11B8 001ECE18 40 80 00 10 */ bge lbl_801F11C8 /* 801F11BC 001ECE1C 2C 03 00 00 */ cmpwi r3, 0 /* 801F11C0 001ECE20 40 80 00 44 */ bge lbl_801F1204 /* 801F11C4 001ECE24 48 00 00 48 */ b lbl_801F120C lbl_801F11C8: /* 801F11C8 001ECE28 2C 03 00 03 */ cmpwi r3, 3 /* 801F11CC 001ECE2C 40 80 00 40 */ bge lbl_801F120C /* 801F11D0 001ECE30 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13) /* 801F11D4 001ECE34 38 00 00 01 */ li r0, 1 /* 801F11D8 001ECE38 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F11DC 001ECE3C 90 03 01 88 */ stw r0, 0x188(r3) /* 801F11E0 001ECE40 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F11E4 001ECE44 80 03 00 10 */ lwz r0, 0x10(r3) /* 801F11E8 001ECE48 60 00 00 04 */ ori r0, r0, 4 /* 801F11EC 001ECE4C 90 03 00 10 */ stw r0, 0x10(r3) /* 801F11F0 001ECE50 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F11F4 001ECE54 80 03 00 00 */ lwz r0, 0(r3) /* 801F11F8 001ECE58 60 00 00 02 */ ori r0, r0, 2 /* 801F11FC 001ECE5C 90 03 00 00 */ stw r0, 0(r3) /* 801F1200 001ECE60 48 00 00 3C */ b lbl_801F123C lbl_801F1204: /* 801F1204 001ECE64 38 60 00 00 */ li r3, 0 /* 801F1208 001ECE68 48 00 01 2C */ b lbl_801F1334 lbl_801F120C: /* 801F120C 001ECE6C 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13) /* 801F1210 001ECE70 38 00 00 00 */ li r0, 0 /* 801F1214 001ECE74 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F1218 001ECE78 90 03 01 88 */ stw r0, 0x188(r3) /* 801F121C 001ECE7C 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F1220 001ECE80 80 03 00 10 */ lwz r0, 0x10(r3) /* 801F1224 001ECE84 60 00 00 04 */ ori r0, r0, 4 /* 801F1228 001ECE88 90 03 00 10 */ stw r0, 0x10(r3) /* 801F122C 001ECE8C 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F1230 001ECE90 80 03 00 00 */ lwz r0, 0(r3) /* 801F1234 001ECE94 60 00 00 02 */ ori r0, r0, 2 /* 801F1238 001ECE98 90 03 00 00 */ stw r0, 0(r3) lbl_801F123C: /* 801F123C 001ECE9C 7F A3 EB 78 */ mr r3, r29 /* 801F1240 001ECEA0 7F C4 F3 78 */ mr r4, r30 /* 801F1244 001ECEA4 4B FF F4 A1 */ bl func_801F06E4 /* 801F1248 001ECEA8 2C 03 00 00 */ cmpwi r3, 0 /* 801F124C 001ECEAC 40 82 00 0C */ bne lbl_801F1258 /* 801F1250 001ECEB0 38 60 00 00 */ li r3, 0 /* 801F1254 001ECEB4 48 00 00 E0 */ b lbl_801F1334 lbl_801F1258: /* 801F1258 001ECEB8 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 801F125C 001ECEBC 38 9D 00 D0 */ addi r4, r29, 0xd0 /* 801F1260 001ECEC0 80 1D 01 04 */ lwz r0, 0x104(r29) /* 801F1264 001ECEC4 80 63 16 E8 */ lwz r3, 0x16e8(r3) /* 801F1268 001ECEC8 54 1E FF FE */ rlwinm r30, r0, 0x1f, 0x1f, 0x1f /* 801F126C 001ECECC 48 04 56 0D */ bl func_80236878 /* 801F1270 001ECED0 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 801F1274 001ECED4 38 BD 00 D0 */ addi r5, r29, 0xd0 /* 801F1278 001ECED8 38 80 00 00 */ li r4, 0 /* 801F127C 001ECEDC 38 C0 00 00 */ li r6, 0 /* 801F1280 001ECEE0 48 04 33 79 */ bl func_802345F8 /* 801F1284 001ECEE4 83 7D 01 88 */ lwz r27, 0x188(r29) /* 801F1288 001ECEE8 3B 80 00 00 */ li r28, 0 /* 801F128C 001ECEEC 48 00 00 5C */ b lbl_801F12E8 lbl_801F1290: /* 801F1290 001ECEF0 80 7B 00 00 */ lwz r3, 0(r27) /* 801F1294 001ECEF4 54 60 07 FE */ clrlwi r0, r3, 0x1f /* 801F1298 001ECEF8 28 00 00 01 */ cmplwi r0, 1 /* 801F129C 001ECEFC 40 82 00 48 */ bne lbl_801F12E4 /* 801F12A0 001ECF00 54 60 07 BC */ rlwinm r0, r3, 0, 0x1e, 0x1e /* 801F12A4 001ECF04 38 80 00 00 */ li r4, 0 /* 801F12A8 001ECF08 28 00 00 02 */ cmplwi r0, 2 /* 801F12AC 001ECF0C 41 82 00 18 */ beq lbl_801F12C4 /* 801F12B0 001ECF10 80 7B 00 14 */ lwz r3, 0x14(r27) /* 801F12B4 001ECF14 88 03 00 33 */ lbz r0, 0x33(r3) /* 801F12B8 001ECF18 28 00 00 FF */ cmplwi r0, 0xff /* 801F12BC 001ECF1C 40 82 00 08 */ bne lbl_801F12C4 /* 801F12C0 001ECF20 38 80 00 01 */ li r4, 1 lbl_801F12C4: /* 801F12C4 001ECF24 7C 1F 20 40 */ cmplw r31, r4 /* 801F12C8 001ECF28 40 82 00 1C */ bne lbl_801F12E4 /* 801F12CC 001ECF2C 7F 63 DB 78 */ mr r3, r27 /* 801F12D0 001ECF30 7F C4 F3 78 */ mr r4, r30 /* 801F12D4 001ECF34 4B FF CC 09 */ bl func_801EDEDC /* 801F12D8 001ECF38 2C 03 00 00 */ cmpwi r3, 0 /* 801F12DC 001ECF3C 41 82 00 08 */ beq lbl_801F12E4 /* 801F12E0 001ECF40 3B 80 00 01 */ li r28, 1 lbl_801F12E4: /* 801F12E4 001ECF44 83 7B 00 20 */ lwz r27, 0x20(r27) lbl_801F12E8: /* 801F12E8 001ECF48 2C 1B 00 00 */ cmpwi r27, 0 /* 801F12EC 001ECF4C 40 82 FF A4 */ bne lbl_801F1290 /* 801F12F0 001ECF50 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 801F12F4 001ECF54 2C 1C 00 00 */ cmpwi r28, 0 /* 801F12F8 001ECF58 80 83 16 E8 */ lwz r4, 0x16e8(r3) /* 801F12FC 001ECF5C 80 64 00 04 */ lwz r3, 4(r4) /* 801F1300 001ECF60 38 03 FF 6C */ addi r0, r3, -148 /* 801F1304 001ECF64 90 04 00 04 */ stw r0, 4(r4) /* 801F1308 001ECF68 41 82 00 28 */ beq lbl_801F1330 /* 801F130C 001ECF6C 88 1D 01 87 */ lbz r0, 0x187(r29) /* 801F1310 001ECF70 2C 00 00 00 */ cmpwi r0, 0 /* 801F1314 001ECF74 41 82 00 14 */ beq lbl_801F1328 /* 801F1318 001ECF78 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 801F131C 001ECF7C 38 9D 01 6C */ addi r4, r29, 0x16c /* 801F1320 001ECF80 48 04 A6 29 */ bl func_8023B948 /* 801F1324 001ECF84 90 7D 01 80 */ stw r3, 0x180(r29) lbl_801F1328: /* 801F1328 001ECF88 38 60 00 01 */ li r3, 1 /* 801F132C 001ECF8C 48 00 00 08 */ b lbl_801F1334 lbl_801F1330: /* 801F1330 001ECF90 38 60 00 00 */ li r3, 0 lbl_801F1334: /* 801F1334 001ECF94 39 61 00 20 */ addi r11, r1, 0x20 /* 801F1338 001ECF98 4B FD 5E 3D */ bl _restgpr_27 /* 801F133C 001ECF9C 80 01 00 24 */ lwz r0, 0x24(r1) /* 801F1340 001ECFA0 7C 08 03 A6 */ mtlr r0 /* 801F1344 001ECFA4 38 21 00 20 */ addi r1, r1, 0x20 /* 801F1348 001ECFA8 4E 80 00 20 */ blr .global func_801F134C func_801F134C: /* 801F134C 001ECFAC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801F1350 001ECFB0 7C 08 02 A6 */ mflr r0 /* 801F1354 001ECFB4 90 01 00 24 */ stw r0, 0x24(r1) /* 801F1358 001ECFB8 39 61 00 20 */ addi r11, r1, 0x20 /* 801F135C 001ECFBC 4B FD 5D CD */ bl _savegpr_27 /* 801F1360 001ECFC0 7C 7D 1B 78 */ mr r29, r3 /* 801F1364 001ECFC4 7C 9E 23 78 */ mr r30, r4 /* 801F1368 001ECFC8 48 00 29 79 */ bl func_801F3CE0 /* 801F136C 001ECFCC 2C 03 00 00 */ cmpwi r3, 0 /* 801F1370 001ECFD0 41 82 00 18 */ beq lbl_801F1388 /* 801F1374 001ECFD4 80 7D 01 64 */ lwz r3, 0x164(r29) /* 801F1378 001ECFD8 A0 03 00 00 */ lhz r0, 0(r3) /* 801F137C 001ECFDC 54 00 05 28 */ rlwinm r0, r0, 0, 0x14, 0x14 /* 801F1380 001ECFE0 2C 00 08 00 */ cmpwi r0, 0x800 /* 801F1384 001ECFE4 41 82 00 0C */ beq lbl_801F1390 lbl_801F1388: /* 801F1388 001ECFE8 38 60 00 00 */ li r3, 0 /* 801F138C 001ECFEC 48 00 01 B0 */ b lbl_801F153C lbl_801F1390: /* 801F1390 001ECFF0 80 6D A4 48 */ lwz r3, lbl_8063F708-_SDA_BASE_(r13) /* 801F1394 001ECFF4 2C 03 00 00 */ cmpwi r3, 0 /* 801F1398 001ECFF8 41 82 00 0C */ beq lbl_801F13A4 /* 801F139C 001ECFFC 80 83 00 00 */ lwz r4, 0(r3) /* 801F13A0 001ED000 48 00 00 08 */ b lbl_801F13A8 lbl_801F13A4: /* 801F13A4 001ED004 38 80 00 00 */ li r4, 0 lbl_801F13A8: /* 801F13A8 001ED008 20 64 00 08 */ subfic r3, r4, 8 /* 801F13AC 001ED00C 38 04 FF F8 */ addi r0, r4, -8 /* 801F13B0 001ED010 7C 60 03 78 */ or r0, r3, r0 /* 801F13B4 001ED014 38 7D 01 08 */ addi r3, r29, 0x108 /* 801F13B8 001ED018 54 1F 0F FE */ srwi r31, r0, 0x1f /* 801F13BC 001ED01C 48 02 F7 5D */ bl func_80220B18 /* 801F13C0 001ED020 2C 03 00 01 */ cmpwi r3, 1 /* 801F13C4 001ED024 41 82 00 58 */ beq lbl_801F141C /* 801F13C8 001ED028 40 80 00 10 */ bge lbl_801F13D8 /* 801F13CC 001ED02C 2C 03 00 00 */ cmpwi r3, 0 /* 801F13D0 001ED030 40 80 00 44 */ bge lbl_801F1414 /* 801F13D4 001ED034 48 00 00 48 */ b lbl_801F141C lbl_801F13D8: /* 801F13D8 001ED038 2C 03 00 03 */ cmpwi r3, 3 /* 801F13DC 001ED03C 40 80 00 40 */ bge lbl_801F141C /* 801F13E0 001ED040 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13) /* 801F13E4 001ED044 38 00 00 01 */ li r0, 1 /* 801F13E8 001ED048 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F13EC 001ED04C 90 03 01 88 */ stw r0, 0x188(r3) /* 801F13F0 001ED050 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F13F4 001ED054 80 03 00 10 */ lwz r0, 0x10(r3) /* 801F13F8 001ED058 60 00 00 04 */ ori r0, r0, 4 /* 801F13FC 001ED05C 90 03 00 10 */ stw r0, 0x10(r3) /* 801F1400 001ED060 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F1404 001ED064 80 03 00 00 */ lwz r0, 0(r3) /* 801F1408 001ED068 60 00 00 02 */ ori r0, r0, 2 /* 801F140C 001ED06C 90 03 00 00 */ stw r0, 0(r3) /* 801F1410 001ED070 48 00 00 3C */ b lbl_801F144C lbl_801F1414: /* 801F1414 001ED074 38 60 00 00 */ li r3, 0 /* 801F1418 001ED078 48 00 01 24 */ b lbl_801F153C lbl_801F141C: /* 801F141C 001ED07C 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13) /* 801F1420 001ED080 38 00 00 00 */ li r0, 0 /* 801F1424 001ED084 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F1428 001ED088 90 03 01 88 */ stw r0, 0x188(r3) /* 801F142C 001ED08C 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F1430 001ED090 80 03 00 10 */ lwz r0, 0x10(r3) /* 801F1434 001ED094 60 00 00 04 */ ori r0, r0, 4 /* 801F1438 001ED098 90 03 00 10 */ stw r0, 0x10(r3) /* 801F143C 001ED09C 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F1440 001ED0A0 80 03 00 00 */ lwz r0, 0(r3) /* 801F1444 001ED0A4 60 00 00 02 */ ori r0, r0, 2 /* 801F1448 001ED0A8 90 03 00 00 */ stw r0, 0(r3) lbl_801F144C: /* 801F144C 001ED0AC 7F A3 EB 78 */ mr r3, r29 /* 801F1450 001ED0B0 7F C4 F3 78 */ mr r4, r30 /* 801F1454 001ED0B4 4B FF F2 91 */ bl func_801F06E4 /* 801F1458 001ED0B8 2C 03 00 00 */ cmpwi r3, 0 /* 801F145C 001ED0BC 40 82 00 0C */ bne lbl_801F1468 /* 801F1460 001ED0C0 38 60 00 00 */ li r3, 0 /* 801F1464 001ED0C4 48 00 00 D8 */ b lbl_801F153C lbl_801F1468: /* 801F1468 001ED0C8 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 801F146C 001ED0CC 38 9D 00 D0 */ addi r4, r29, 0xd0 /* 801F1470 001ED0D0 80 1D 01 04 */ lwz r0, 0x104(r29) /* 801F1474 001ED0D4 80 63 16 E8 */ lwz r3, 0x16e8(r3) /* 801F1478 001ED0D8 54 1E FF FE */ rlwinm r30, r0, 0x1f, 0x1f, 0x1f /* 801F147C 001ED0DC 48 04 53 FD */ bl func_80236878 /* 801F1480 001ED0E0 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 801F1484 001ED0E4 38 BD 00 D0 */ addi r5, r29, 0xd0 /* 801F1488 001ED0E8 38 80 00 00 */ li r4, 0 /* 801F148C 001ED0EC 38 C0 00 00 */ li r6, 0 /* 801F1490 001ED0F0 48 04 31 69 */ bl func_802345F8 /* 801F1494 001ED0F4 83 7D 01 88 */ lwz r27, 0x188(r29) /* 801F1498 001ED0F8 3B 80 00 00 */ li r28, 0 /* 801F149C 001ED0FC 48 00 00 54 */ b lbl_801F14F0 lbl_801F14A0: /* 801F14A0 001ED100 80 7B 00 00 */ lwz r3, 0(r27) /* 801F14A4 001ED104 54 60 07 FE */ clrlwi r0, r3, 0x1f /* 801F14A8 001ED108 28 00 00 01 */ cmplwi r0, 1 /* 801F14AC 001ED10C 40 82 00 40 */ bne lbl_801F14EC /* 801F14B0 001ED110 54 60 07 BC */ rlwinm r0, r3, 0, 0x1e, 0x1e /* 801F14B4 001ED114 38 80 00 00 */ li r4, 0 /* 801F14B8 001ED118 28 00 00 02 */ cmplwi r0, 2 /* 801F14BC 001ED11C 41 82 00 18 */ beq lbl_801F14D4 /* 801F14C0 001ED120 80 7B 00 14 */ lwz r3, 0x14(r27) /* 801F14C4 001ED124 88 03 00 33 */ lbz r0, 0x33(r3) /* 801F14C8 001ED128 28 00 00 FF */ cmplwi r0, 0xff /* 801F14CC 001ED12C 40 82 00 08 */ bne lbl_801F14D4 /* 801F14D0 001ED130 38 80 00 01 */ li r4, 1 lbl_801F14D4: /* 801F14D4 001ED134 7C 1F 20 40 */ cmplw r31, r4 /* 801F14D8 001ED138 40 82 00 14 */ bne lbl_801F14EC /* 801F14DC 001ED13C 7F 63 DB 78 */ mr r3, r27 /* 801F14E0 001ED140 7F C4 F3 78 */ mr r4, r30 /* 801F14E4 001ED144 3B 80 00 01 */ li r28, 1 /* 801F14E8 001ED148 4B FF CA 9D */ bl func_801EDF84 lbl_801F14EC: /* 801F14EC 001ED14C 83 7B 00 20 */ lwz r27, 0x20(r27) lbl_801F14F0: /* 801F14F0 001ED150 2C 1B 00 00 */ cmpwi r27, 0 /* 801F14F4 001ED154 40 82 FF AC */ bne lbl_801F14A0 /* 801F14F8 001ED158 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 801F14FC 001ED15C 2C 1C 00 00 */ cmpwi r28, 0 /* 801F1500 001ED160 80 83 16 E8 */ lwz r4, 0x16e8(r3) /* 801F1504 001ED164 80 64 00 04 */ lwz r3, 4(r4) /* 801F1508 001ED168 38 03 FF 6C */ addi r0, r3, -148 /* 801F150C 001ED16C 90 04 00 04 */ stw r0, 4(r4) /* 801F1510 001ED170 41 82 00 28 */ beq lbl_801F1538 /* 801F1514 001ED174 88 1D 01 87 */ lbz r0, 0x187(r29) /* 801F1518 001ED178 2C 00 00 00 */ cmpwi r0, 0 /* 801F151C 001ED17C 41 82 00 14 */ beq lbl_801F1530 /* 801F1520 001ED180 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 801F1524 001ED184 38 9D 01 6C */ addi r4, r29, 0x16c /* 801F1528 001ED188 48 04 A4 21 */ bl func_8023B948 /* 801F152C 001ED18C 90 7D 01 80 */ stw r3, 0x180(r29) lbl_801F1530: /* 801F1530 001ED190 38 60 00 01 */ li r3, 1 /* 801F1534 001ED194 48 00 00 08 */ b lbl_801F153C lbl_801F1538: /* 801F1538 001ED198 38 60 00 00 */ li r3, 0 lbl_801F153C: /* 801F153C 001ED19C 39 61 00 20 */ addi r11, r1, 0x20 /* 801F1540 001ED1A0 4B FD 5C 35 */ bl _restgpr_27 /* 801F1544 001ED1A4 80 01 00 24 */ lwz r0, 0x24(r1) /* 801F1548 001ED1A8 7C 08 03 A6 */ mtlr r0 /* 801F154C 001ED1AC 38 21 00 20 */ addi r1, r1, 0x20 /* 801F1550 001ED1B0 4E 80 00 20 */ blr .global lbl_801F1554 lbl_801F1554: /* 801F1554 001ED1B4 2C 05 00 00 */ cmpwi r5, 0 /* 801F1558 001ED1B8 4C 82 00 20 */ bnelr /* 801F155C 001ED1BC 88 04 00 01 */ lbz r0, 1(r4) /* 801F1560 001ED1C0 80 C3 01 64 */ lwz r6, 0x164(r3) /* 801F1564 001ED1C4 2C 00 00 12 */ cmpwi r0, 0x12 /* 801F1568 001ED1C8 41 82 00 3C */ beq lbl_801F15A4 /* 801F156C 001ED1CC 4C 80 00 20 */ bgelr /* 801F1570 001ED1D0 2C 00 00 11 */ cmpwi r0, 0x11 /* 801F1574 001ED1D4 4D 80 00 20 */ bltlr /* 801F1578 001ED1D8 80 A3 01 78 */ lwz r5, 0x178(r3) /* 801F157C 001ED1DC 2C 05 00 00 */ cmpwi r5, 0 /* 801F1580 001ED1E0 4D 82 00 20 */ beqlr /* 801F1584 001ED1E4 80 06 00 10 */ lwz r0, 0x10(r6) /* 801F1588 001ED1E8 7C 05 00 40 */ cmplw r5, r0 /* 801F158C 001ED1EC 4D 82 00 20 */ beqlr /* 801F1590 001ED1F0 A0 04 00 04 */ lhz r0, 4(r4) /* 801F1594 001ED1F4 7C 83 23 78 */ mr r3, r4 /* 801F1598 001ED1F8 54 00 10 3A */ slwi r0, r0, 2 /* 801F159C 001ED1FC 7C 85 02 14 */ add r4, r5, r0 /* 801F15A0 001ED200 4B FE FE A0 */ b func_801E1440 lbl_801F15A4: /* 801F15A4 001ED204 80 63 01 7C */ lwz r3, 0x17c(r3) /* 801F15A8 001ED208 2C 03 00 00 */ cmpwi r3, 0 /* 801F15AC 001ED20C 4D 82 00 20 */ beqlr /* 801F15B0 001ED210 80 A6 00 14 */ lwz r5, 0x14(r6) /* 801F15B4 001ED214 7C 03 28 40 */ cmplw r3, r5 /* 801F15B8 001ED218 4D 82 00 20 */ beqlr /* 801F15BC 001ED21C 88 04 00 03 */ lbz r0, 3(r4) /* 801F15C0 001ED220 54 00 18 38 */ slwi r0, r0, 3 /* 801F15C4 001ED224 7C C3 00 2E */ lwzx r6, r3, r0 /* 801F15C8 001ED228 7C 05 00 2E */ lwzx r0, r5, r0 /* 801F15CC 001ED22C 7C 06 00 40 */ cmplw r6, r0 /* 801F15D0 001ED230 4D 82 00 20 */ beqlr /* 801F15D4 001ED234 A0 04 00 04 */ lhz r0, 4(r4) /* 801F15D8 001ED238 7C 83 23 78 */ mr r3, r4 /* 801F15DC 001ED23C 54 00 18 38 */ slwi r0, r0, 3 /* 801F15E0 001ED240 7C 86 02 14 */ add r4, r6, r0 /* 801F15E4 001ED244 4B FE FD D4 */ b func_801E13B8 /* 801F15E8 001ED248 4E 80 00 20 */ blr .global func_801F15EC func_801F15EC: /* 801F15EC 001ED24C 94 21 FF B0 */ stwu r1, -0x50(r1) /* 801F15F0 001ED250 7C 08 02 A6 */ mflr r0 /* 801F15F4 001ED254 90 01 00 54 */ stw r0, 0x54(r1) /* 801F15F8 001ED258 3C 00 43 30 */ lis r0, 0x4330 /* 801F15FC 001ED25C 93 E1 00 4C */ stw r31, 0x4c(r1) /* 801F1600 001ED260 7C 7F 1B 78 */ mr r31, r3 /* 801F1604 001ED264 80 C3 01 64 */ lwz r6, 0x164(r3) /* 801F1608 001ED268 90 01 00 28 */ stw r0, 0x28(r1) /* 801F160C 001ED26C 80 C6 00 1C */ lwz r6, 0x1c(r6) /* 801F1610 001ED270 90 01 00 30 */ stw r0, 0x30(r1) /* 801F1614 001ED274 A0 06 00 18 */ lhz r0, 0x18(r6) /* 801F1618 001ED278 2C 00 00 00 */ cmpwi r0, 0 /* 801F161C 001ED27C 41 82 03 78 */ beq lbl_801F1994 /* 801F1620 001ED280 7C 04 00 00 */ cmpw r4, r0 /* 801F1624 001ED284 41 80 00 08 */ blt lbl_801F162C /* 801F1628 001ED288 38 80 00 00 */ li r4, 0 lbl_801F162C: /* 801F162C 001ED28C 80 C6 00 1C */ lwz r6, 0x1c(r6) /* 801F1630 001ED290 54 80 18 38 */ slwi r0, r4, 3 /* 801F1634 001ED294 7C 86 02 2E */ lhzx r4, r6, r0 /* 801F1638 001ED298 7D 06 02 14 */ add r8, r6, r0 /* 801F163C 001ED29C 2C 04 00 00 */ cmpwi r4, 0 /* 801F1640 001ED2A0 41 82 03 54 */ beq lbl_801F1994 /* 801F1644 001ED2A4 88 08 00 02 */ lbz r0, 2(r8) /* 801F1648 001ED2A8 C8 42 97 C8 */ lfd f2, lbl_80641DC8-_SDA2_BASE_(r2) /* 801F164C 001ED2AC 90 01 00 2C */ stw r0, 0x2c(r1) /* 801F1650 001ED2B0 C8 01 00 28 */ lfd f0, 0x28(r1) /* 801F1654 001ED2B4 EC 00 10 28 */ fsubs f0, f0, f2 /* 801F1658 001ED2B8 EC 00 00 72 */ fmuls f0, f0, f1 /* 801F165C 001ED2BC FC 00 00 1E */ fctiwz f0, f0 /* 801F1660 001ED2C0 D8 01 00 38 */ stfd f0, 0x38(r1) /* 801F1664 001ED2C4 81 21 00 3C */ lwz r9, 0x3c(r1) /* 801F1668 001ED2C8 2C 09 00 00 */ cmpwi r9, 0 /* 801F166C 001ED2CC 40 80 00 0C */ bge lbl_801F1678 /* 801F1670 001ED2D0 39 20 00 00 */ li r9, 0 /* 801F1674 001ED2D4 48 00 00 10 */ b lbl_801F1684 lbl_801F1678: /* 801F1678 001ED2D8 7C 09 20 00 */ cmpw r9, r4 /* 801F167C 001ED2DC 41 80 00 08 */ blt lbl_801F1684 /* 801F1680 001ED2E0 39 24 FF FF */ addi r9, r4, -1 lbl_801F1684: /* 801F1684 001ED2E4 C0 22 97 D8 */ lfs f1, lbl_80641DD8-_SDA2_BASE_(r2) /* 801F1688 001ED2E8 38 E0 00 00 */ li r7, 0 /* 801F168C 001ED2EC C0 02 97 DC */ lfs f0, lbl_80641DDC-_SDA2_BASE_(r2) /* 801F1690 001ED2F0 D0 21 00 08 */ stfs f1, 8(r1) /* 801F1694 001ED2F4 D0 21 00 0C */ stfs f1, 0xc(r1) /* 801F1698 001ED2F8 D0 21 00 10 */ stfs f1, 0x10(r1) /* 801F169C 001ED2FC D0 01 00 14 */ stfs f0, 0x14(r1) /* 801F16A0 001ED300 D0 01 00 18 */ stfs f0, 0x18(r1) /* 801F16A4 001ED304 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 801F16A8 001ED308 90 E1 00 20 */ stw r7, 0x20(r1) /* 801F16AC 001ED30C 88 C8 00 03 */ lbz r6, 3(r8) /* 801F16B0 001ED310 54 C0 07 3E */ clrlwi r0, r6, 0x1c /* 801F16B4 001ED314 2C 00 00 08 */ cmpwi r0, 8 /* 801F16B8 001ED318 41 82 00 A8 */ beq lbl_801F1760 /* 801F16BC 001ED31C 40 80 02 D8 */ bge lbl_801F1994 /* 801F16C0 001ED320 2C 00 00 00 */ cmpwi r0, 0 /* 801F16C4 001ED324 41 82 00 08 */ beq lbl_801F16CC /* 801F16C8 001ED328 48 00 02 CC */ b lbl_801F1994 lbl_801F16CC: /* 801F16CC 001ED32C 1C 09 00 18 */ mulli r0, r9, 0x18 /* 801F16D0 001ED330 80 88 00 04 */ lwz r4, 4(r8) /* 801F16D4 001ED334 2C 05 00 00 */ cmpwi r5, 0 /* 801F16D8 001ED338 7C A4 02 14 */ add r5, r4, r0 /* 801F16DC 001ED33C 41 82 00 50 */ beq lbl_801F172C /* 801F16E0 001ED340 C0 05 00 00 */ lfs f0, 0(r5) /* 801F16E4 001ED344 38 81 00 08 */ addi r4, r1, 8 /* 801F16E8 001ED348 D0 01 00 08 */ stfs f0, 8(r1) /* 801F16EC 001ED34C C0 05 00 04 */ lfs f0, 4(r5) /* 801F16F0 001ED350 D0 01 00 0C */ stfs f0, 0xc(r1) /* 801F16F4 001ED354 C0 05 00 08 */ lfs f0, 8(r5) /* 801F16F8 001ED358 D0 01 00 10 */ stfs f0, 0x10(r1) /* 801F16FC 001ED35C C0 05 00 0C */ lfs f0, 0xc(r5) /* 801F1700 001ED360 D0 01 00 14 */ stfs f0, 0x14(r1) /* 801F1704 001ED364 C0 05 00 10 */ lfs f0, 0x10(r5) /* 801F1708 001ED368 D0 01 00 18 */ stfs f0, 0x18(r1) /* 801F170C 001ED36C C0 05 00 14 */ lfs f0, 0x14(r5) /* 801F1710 001ED370 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 801F1714 001ED374 90 E3 01 20 */ stw r7, 0x120(r3) /* 801F1718 001ED378 38 63 01 08 */ addi r3, r3, 0x108 /* 801F171C 001ED37C 48 02 F5 5D */ bl func_80220C78 /* 801F1720 001ED380 38 1F 00 D0 */ addi r0, r31, 0xd0 /* 801F1724 001ED384 90 1F 01 20 */ stw r0, 0x120(r31) /* 801F1728 001ED388 48 00 02 6C */ b lbl_801F1994 lbl_801F172C: /* 801F172C 001ED38C C0 05 00 00 */ lfs f0, 0(r5) /* 801F1730 001ED390 D0 03 01 08 */ stfs f0, 0x108(r3) /* 801F1734 001ED394 C0 05 00 04 */ lfs f0, 4(r5) /* 801F1738 001ED398 D0 03 01 0C */ stfs f0, 0x10c(r3) /* 801F173C 001ED39C C0 05 00 08 */ lfs f0, 8(r5) /* 801F1740 001ED3A0 D0 03 01 10 */ stfs f0, 0x110(r3) /* 801F1744 001ED3A4 C0 05 00 0C */ lfs f0, 0xc(r5) /* 801F1748 001ED3A8 D0 03 01 14 */ stfs f0, 0x114(r3) /* 801F174C 001ED3AC C0 05 00 10 */ lfs f0, 0x10(r5) /* 801F1750 001ED3B0 D0 03 01 18 */ stfs f0, 0x118(r3) /* 801F1754 001ED3B4 C0 05 00 14 */ lfs f0, 0x14(r5) /* 801F1758 001ED3B8 D0 03 01 1C */ stfs f0, 0x11c(r3) /* 801F175C 001ED3BC 48 00 02 38 */ b lbl_801F1994 lbl_801F1760: /* 801F1760 001ED3C0 1C 09 00 0C */ mulli r0, r9, 0xc /* 801F1764 001ED3C4 80 88 00 04 */ lwz r4, 4(r8) /* 801F1768 001ED3C8 2C 05 00 00 */ cmpwi r5, 0 /* 801F176C 001ED3CC 54 C6 E7 3E */ rlwinm r6, r6, 0x1c, 0x1c, 0x1f /* 801F1770 001ED3D0 7C A4 02 14 */ add r5, r4, r0 /* 801F1774 001ED3D4 41 82 01 20 */ beq lbl_801F1894 /* 801F1778 001ED3D8 A8 05 00 00 */ lha r0, 0(r5) /* 801F177C 001ED3DC 38 80 00 01 */ li r4, 1 /* 801F1780 001ED3E0 7C 84 30 30 */ slw r4, r4, r6 /* 801F1784 001ED3E4 C8 C2 97 E8 */ lfd f6, lbl_80641DE8-_SDA2_BASE_(r2) /* 801F1788 001ED3E8 6C 86 80 00 */ xoris r6, r4, 0x8000 /* 801F178C 001ED3EC 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801F1790 001ED3F0 90 01 00 34 */ stw r0, 0x34(r1) /* 801F1794 001ED3F4 38 81 00 08 */ addi r4, r1, 8 /* 801F1798 001ED3F8 90 C1 00 2C */ stw r6, 0x2c(r1) /* 801F179C 001ED3FC C8 21 00 30 */ lfd f1, 0x30(r1) /* 801F17A0 001ED400 C8 01 00 28 */ lfd f0, 0x28(r1) /* 801F17A4 001ED404 EC 41 30 28 */ fsubs f2, f1, f6 /* 801F17A8 001ED408 EC 20 30 28 */ fsubs f1, f0, f6 /* 801F17AC 001ED40C 90 C1 00 2C */ stw r6, 0x2c(r1) /* 801F17B0 001ED410 C8 01 00 28 */ lfd f0, 0x28(r1) /* 801F17B4 001ED414 EC 62 08 24 */ fdivs f3, f2, f1 /* 801F17B8 001ED418 90 C1 00 2C */ stw r6, 0x2c(r1) /* 801F17BC 001ED41C C8 41 00 28 */ lfd f2, 0x28(r1) /* 801F17C0 001ED420 90 C1 00 2C */ stw r6, 0x2c(r1) /* 801F17C4 001ED424 C8 21 00 28 */ lfd f1, 0x28(r1) /* 801F17C8 001ED428 90 C1 00 2C */ stw r6, 0x2c(r1) /* 801F17CC 001ED42C D0 61 00 08 */ stfs f3, 8(r1) /* 801F17D0 001ED430 EC 80 30 28 */ fsubs f4, f0, f6 /* 801F17D4 001ED434 EC 62 30 28 */ fsubs f3, f2, f6 /* 801F17D8 001ED438 C8 01 00 28 */ lfd f0, 0x28(r1) /* 801F17DC 001ED43C A8 05 00 02 */ lha r0, 2(r5) /* 801F17E0 001ED440 EC 41 30 28 */ fsubs f2, f1, f6 /* 801F17E4 001ED444 EC 20 30 28 */ fsubs f1, f0, f6 /* 801F17E8 001ED448 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801F17EC 001ED44C 90 01 00 34 */ stw r0, 0x34(r1) /* 801F17F0 001ED450 C8 A1 00 30 */ lfd f5, 0x30(r1) /* 801F17F4 001ED454 90 C1 00 2C */ stw r6, 0x2c(r1) /* 801F17F8 001ED458 EC A5 30 28 */ fsubs f5, f5, f6 /* 801F17FC 001ED45C C8 01 00 28 */ lfd f0, 0x28(r1) /* 801F1800 001ED460 EC 85 20 24 */ fdivs f4, f5, f4 /* 801F1804 001ED464 D0 81 00 0C */ stfs f4, 0xc(r1) /* 801F1808 001ED468 EC 00 30 28 */ fsubs f0, f0, f6 /* 801F180C 001ED46C A8 05 00 04 */ lha r0, 4(r5) /* 801F1810 001ED470 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801F1814 001ED474 90 01 00 34 */ stw r0, 0x34(r1) /* 801F1818 001ED478 C8 81 00 30 */ lfd f4, 0x30(r1) /* 801F181C 001ED47C EC 84 30 28 */ fsubs f4, f4, f6 /* 801F1820 001ED480 EC 64 18 24 */ fdivs f3, f4, f3 /* 801F1824 001ED484 D0 61 00 10 */ stfs f3, 0x10(r1) /* 801F1828 001ED488 A8 05 00 06 */ lha r0, 6(r5) /* 801F182C 001ED48C 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801F1830 001ED490 90 01 00 34 */ stw r0, 0x34(r1) /* 801F1834 001ED494 C8 61 00 30 */ lfd f3, 0x30(r1) /* 801F1838 001ED498 EC 63 30 28 */ fsubs f3, f3, f6 /* 801F183C 001ED49C EC 43 10 24 */ fdivs f2, f3, f2 /* 801F1840 001ED4A0 D0 41 00 14 */ stfs f2, 0x14(r1) /* 801F1844 001ED4A4 A8 05 00 08 */ lha r0, 8(r5) /* 801F1848 001ED4A8 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801F184C 001ED4AC 90 01 00 34 */ stw r0, 0x34(r1) /* 801F1850 001ED4B0 C8 41 00 30 */ lfd f2, 0x30(r1) /* 801F1854 001ED4B4 EC 42 30 28 */ fsubs f2, f2, f6 /* 801F1858 001ED4B8 EC 22 08 24 */ fdivs f1, f2, f1 /* 801F185C 001ED4BC D0 21 00 18 */ stfs f1, 0x18(r1) /* 801F1860 001ED4C0 A8 05 00 0A */ lha r0, 0xa(r5) /* 801F1864 001ED4C4 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801F1868 001ED4C8 90 01 00 34 */ stw r0, 0x34(r1) /* 801F186C 001ED4CC C8 21 00 30 */ lfd f1, 0x30(r1) /* 801F1870 001ED4D0 EC 21 30 28 */ fsubs f1, f1, f6 /* 801F1874 001ED4D4 EC 01 00 24 */ fdivs f0, f1, f0 /* 801F1878 001ED4D8 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 801F187C 001ED4DC 90 E3 01 20 */ stw r7, 0x120(r3) /* 801F1880 001ED4E0 38 63 01 08 */ addi r3, r3, 0x108 /* 801F1884 001ED4E4 48 02 F3 F5 */ bl func_80220C78 /* 801F1888 001ED4E8 38 1F 00 D0 */ addi r0, r31, 0xd0 /* 801F188C 001ED4EC 90 1F 01 20 */ stw r0, 0x120(r31) /* 801F1890 001ED4F0 48 00 01 04 */ b lbl_801F1994 lbl_801F1894: /* 801F1894 001ED4F4 A8 05 00 00 */ lha r0, 0(r5) /* 801F1898 001ED4F8 38 80 00 01 */ li r4, 1 /* 801F189C 001ED4FC 7C 84 30 30 */ slw r4, r4, r6 /* 801F18A0 001ED500 C8 C2 97 E8 */ lfd f6, lbl_80641DE8-_SDA2_BASE_(r2) /* 801F18A4 001ED504 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801F18A8 001ED508 6C 84 80 00 */ xoris r4, r4, 0x8000 /* 801F18AC 001ED50C 90 01 00 34 */ stw r0, 0x34(r1) /* 801F18B0 001ED510 90 81 00 2C */ stw r4, 0x2c(r1) /* 801F18B4 001ED514 C8 21 00 30 */ lfd f1, 0x30(r1) /* 801F18B8 001ED518 C8 01 00 28 */ lfd f0, 0x28(r1) /* 801F18BC 001ED51C EC 41 30 28 */ fsubs f2, f1, f6 /* 801F18C0 001ED520 EC 20 30 28 */ fsubs f1, f0, f6 /* 801F18C4 001ED524 90 81 00 2C */ stw r4, 0x2c(r1) /* 801F18C8 001ED528 C8 01 00 28 */ lfd f0, 0x28(r1) /* 801F18CC 001ED52C EC 62 08 24 */ fdivs f3, f2, f1 /* 801F18D0 001ED530 90 81 00 2C */ stw r4, 0x2c(r1) /* 801F18D4 001ED534 C8 41 00 28 */ lfd f2, 0x28(r1) /* 801F18D8 001ED538 90 81 00 2C */ stw r4, 0x2c(r1) /* 801F18DC 001ED53C C8 21 00 28 */ lfd f1, 0x28(r1) /* 801F18E0 001ED540 90 81 00 2C */ stw r4, 0x2c(r1) /* 801F18E4 001ED544 D0 63 01 08 */ stfs f3, 0x108(r3) /* 801F18E8 001ED548 EC 80 30 28 */ fsubs f4, f0, f6 /* 801F18EC 001ED54C EC 62 30 28 */ fsubs f3, f2, f6 /* 801F18F0 001ED550 C8 01 00 28 */ lfd f0, 0x28(r1) /* 801F18F4 001ED554 A8 05 00 02 */ lha r0, 2(r5) /* 801F18F8 001ED558 EC 41 30 28 */ fsubs f2, f1, f6 /* 801F18FC 001ED55C EC 20 30 28 */ fsubs f1, f0, f6 /* 801F1900 001ED560 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801F1904 001ED564 90 01 00 34 */ stw r0, 0x34(r1) /* 801F1908 001ED568 C8 A1 00 30 */ lfd f5, 0x30(r1) /* 801F190C 001ED56C 90 81 00 2C */ stw r4, 0x2c(r1) /* 801F1910 001ED570 EC A5 30 28 */ fsubs f5, f5, f6 /* 801F1914 001ED574 C8 01 00 28 */ lfd f0, 0x28(r1) /* 801F1918 001ED578 EC 85 20 24 */ fdivs f4, f5, f4 /* 801F191C 001ED57C D0 83 01 0C */ stfs f4, 0x10c(r3) /* 801F1920 001ED580 EC 00 30 28 */ fsubs f0, f0, f6 /* 801F1924 001ED584 A8 05 00 04 */ lha r0, 4(r5) /* 801F1928 001ED588 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801F192C 001ED58C 90 01 00 34 */ stw r0, 0x34(r1) /* 801F1930 001ED590 C8 81 00 30 */ lfd f4, 0x30(r1) /* 801F1934 001ED594 EC 84 30 28 */ fsubs f4, f4, f6 /* 801F1938 001ED598 EC 64 18 24 */ fdivs f3, f4, f3 /* 801F193C 001ED59C D0 63 01 10 */ stfs f3, 0x110(r3) /* 801F1940 001ED5A0 A8 05 00 06 */ lha r0, 6(r5) /* 801F1944 001ED5A4 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801F1948 001ED5A8 90 01 00 34 */ stw r0, 0x34(r1) /* 801F194C 001ED5AC C8 61 00 30 */ lfd f3, 0x30(r1) /* 801F1950 001ED5B0 EC 63 30 28 */ fsubs f3, f3, f6 /* 801F1954 001ED5B4 EC 43 10 24 */ fdivs f2, f3, f2 /* 801F1958 001ED5B8 D0 43 01 14 */ stfs f2, 0x114(r3) /* 801F195C 001ED5BC A8 05 00 08 */ lha r0, 8(r5) /* 801F1960 001ED5C0 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801F1964 001ED5C4 90 01 00 34 */ stw r0, 0x34(r1) /* 801F1968 001ED5C8 C8 41 00 30 */ lfd f2, 0x30(r1) /* 801F196C 001ED5CC EC 42 30 28 */ fsubs f2, f2, f6 /* 801F1970 001ED5D0 EC 22 08 24 */ fdivs f1, f2, f1 /* 801F1974 001ED5D4 D0 23 01 18 */ stfs f1, 0x118(r3) /* 801F1978 001ED5D8 A8 05 00 0A */ lha r0, 0xa(r5) /* 801F197C 001ED5DC 6C 00 80 00 */ xoris r0, r0, 0x8000 /* 801F1980 001ED5E0 90 01 00 34 */ stw r0, 0x34(r1) /* 801F1984 001ED5E4 C8 21 00 30 */ lfd f1, 0x30(r1) /* 801F1988 001ED5E8 EC 21 30 28 */ fsubs f1, f1, f6 /* 801F198C 001ED5EC EC 01 00 24 */ fdivs f0, f1, f0 /* 801F1990 001ED5F0 D0 03 01 1C */ stfs f0, 0x11c(r3) lbl_801F1994: /* 801F1994 001ED5F4 80 01 00 54 */ lwz r0, 0x54(r1) /* 801F1998 001ED5F8 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 801F199C 001ED5FC 7C 08 03 A6 */ mtlr r0 /* 801F19A0 001ED600 38 21 00 50 */ addi r1, r1, 0x50 /* 801F19A4 001ED604 4E 80 00 20 */ blr .global func_801F19A8 func_801F19A8: /* 801F19A8 001ED608 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801F19AC 001ED60C 7C 08 02 A6 */ mflr r0 /* 801F19B0 001ED610 80 C3 01 64 */ lwz r6, 0x164(r3) /* 801F19B4 001ED614 90 01 00 34 */ stw r0, 0x34(r1) /* 801F19B8 001ED618 93 E1 00 2C */ stw r31, 0x2c(r1) /* 801F19BC 001ED61C 7C BF 2B 78 */ mr r31, r5 /* 801F19C0 001ED620 93 C1 00 28 */ stw r30, 0x28(r1) /* 801F19C4 001ED624 7C 9E 23 78 */ mr r30, r4 /* 801F19C8 001ED628 93 A1 00 24 */ stw r29, 0x24(r1) /* 801F19CC 001ED62C 7C 7D 1B 78 */ mr r29, r3 /* 801F19D0 001ED630 80 86 00 20 */ lwz r4, 0x20(r6) /* 801F19D4 001ED634 80 84 00 00 */ lwz r4, 0(r4) /* 801F19D8 001ED638 2C 04 00 00 */ cmpwi r4, 0 /* 801F19DC 001ED63C 41 82 00 2C */ beq lbl_801F1A08 /* 801F19E0 001ED640 38 A1 00 08 */ addi r5, r1, 8 /* 801F19E4 001ED644 38 63 00 D0 */ addi r3, r3, 0xd0 /* 801F19E8 001ED648 48 08 B0 15 */ bl PSMTXMultVec /* 801F19EC 001ED64C C0 41 00 08 */ lfs f2, 8(r1) /* 801F19F0 001ED650 C0 21 00 0C */ lfs f1, 0xc(r1) /* 801F19F4 001ED654 C0 01 00 10 */ lfs f0, 0x10(r1) /* 801F19F8 001ED658 D0 41 00 14 */ stfs f2, 0x14(r1) /* 801F19FC 001ED65C D0 21 00 18 */ stfs f1, 0x18(r1) /* 801F1A00 001ED660 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 801F1A04 001ED664 48 00 00 1C */ b lbl_801F1A20 lbl_801F1A08: /* 801F1A08 001ED668 C0 43 01 24 */ lfs f2, 0x124(r3) /* 801F1A0C 001ED66C C0 23 01 28 */ lfs f1, 0x128(r3) /* 801F1A10 001ED670 C0 03 01 2C */ lfs f0, 0x12c(r3) /* 801F1A14 001ED674 D0 41 00 14 */ stfs f2, 0x14(r1) /* 801F1A18 001ED678 D0 21 00 18 */ stfs f1, 0x18(r1) /* 801F1A1C 001ED67C D0 01 00 1C */ stfs f0, 0x1c(r1) lbl_801F1A20: /* 801F1A20 001ED680 38 61 00 14 */ addi r3, r1, 0x14 /* 801F1A24 001ED684 7F C4 F3 78 */ mr r4, r30 /* 801F1A28 001ED688 7C 65 1B 78 */ mr r5, r3 /* 801F1A2C 001ED68C 48 08 B2 BD */ bl PSVECSubtract /* 801F1A30 001ED690 7F E4 FB 78 */ mr r4, r31 /* 801F1A34 001ED694 38 61 00 14 */ addi r3, r1, 0x14 /* 801F1A38 001ED698 48 08 B3 91 */ bl PSVECDotProduct /* 801F1A3C 001ED69C 80 7D 01 64 */ lwz r3, 0x164(r29) /* 801F1A40 001ED6A0 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 801F1A44 001ED6A4 80 63 00 20 */ lwz r3, 0x20(r3) /* 801F1A48 001ED6A8 83 C1 00 28 */ lwz r30, 0x28(r1) /* 801F1A4C 001ED6AC C0 03 00 04 */ lfs f0, 4(r3) /* 801F1A50 001ED6B0 83 A1 00 24 */ lwz r29, 0x24(r1) /* 801F1A54 001ED6B4 80 01 00 34 */ lwz r0, 0x34(r1) /* 801F1A58 001ED6B8 EC 20 08 2A */ fadds f1, f0, f1 /* 801F1A5C 001ED6BC 7C 08 03 A6 */ mtlr r0 /* 801F1A60 001ED6C0 38 21 00 30 */ addi r1, r1, 0x30 /* 801F1A64 001ED6C4 4E 80 00 20 */ blr .global func_801F1A68 func_801F1A68: /* 801F1A68 001ED6C8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801F1A6C 001ED6CC 7C 08 02 A6 */ mflr r0 /* 801F1A70 001ED6D0 38 60 00 01 */ li r3, 1 /* 801F1A74 001ED6D4 38 8D A1 00 */ addi r4, r13, lbl_8063F3C0-_SDA_BASE_ /* 801F1A78 001ED6D8 90 01 00 14 */ stw r0, 0x14(r1) /* 801F1A7C 001ED6DC 38 A0 00 04 */ li r5, 4 /* 801F1A80 001ED6E0 38 00 00 00 */ li r0, 0 /* 801F1A84 001ED6E4 93 E1 00 0C */ stw r31, 0xc(r1) /* 801F1A88 001ED6E8 3F E0 80 49 */ lis r31, lbl_804919B0@ha /* 801F1A8C 001ED6EC 3B FF 19 B0 */ addi r31, r31, lbl_804919B0@l /* 801F1A90 001ED6F0 98 6D A1 00 */ stb r3, lbl_8063F3C0-_SDA_BASE_(r13) /* 801F1A94 001ED6F4 38 7F 00 00 */ addi r3, r31, 0 /* 801F1A98 001ED6F8 B0 A4 00 02 */ sth r5, 2(r4) /* 801F1A9C 001ED6FC 98 04 00 04 */ stb r0, 4(r4) /* 801F1AA0 001ED700 4B FE FC A5 */ bl func_801E1744 /* 801F1AA4 001ED704 38 7F 00 8C */ addi r3, r31, 0x8c /* 801F1AA8 001ED708 38 80 00 00 */ li r4, 0 /* 801F1AAC 001ED70C 4B FE FB E1 */ bl func_801E168C /* 801F1AB0 001ED710 38 7F 00 B8 */ addi r3, r31, 0xb8 /* 801F1AB4 001ED714 38 9F 00 00 */ addi r4, r31, 0 /* 801F1AB8 001ED718 38 BF 00 8C */ addi r5, r31, 0x8c /* 801F1ABC 001ED71C 4B FF 51 3D */ bl func_801E6BF8 /* 801F1AC0 001ED720 3C 80 80 1E */ lis r4, lbl_801E6E44@ha /* 801F1AC4 001ED724 38 7F 00 B8 */ addi r3, r31, 0xb8 /* 801F1AC8 001ED728 38 84 6E 44 */ addi r4, r4, lbl_801E6E44@l /* 801F1ACC 001ED72C 38 BF 00 A8 */ addi r5, r31, 0xa8 /* 801F1AD0 001ED730 4B FD 51 79 */ bl __register_global_object_tmp /* 801F1AD4 001ED734 80 01 00 14 */ lwz r0, 0x14(r1) /* 801F1AD8 001ED738 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801F1ADC 001ED73C 7C 08 03 A6 */ mtlr r0 /* 801F1AE0 001ED740 38 21 00 10 */ addi r1, r1, 0x10 /* 801F1AE4 001ED744 4E 80 00 20 */ blr