.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global func_801F40E0 func_801F40E0: /* 801F40E0 001EFD40 94 21 FF C0 */ stwu r1, -0x40(r1) /* 801F40E4 001EFD44 7C 08 02 A6 */ mflr r0 /* 801F40E8 001EFD48 90 01 00 44 */ stw r0, 0x44(r1) /* 801F40EC 001EFD4C 39 61 00 40 */ addi r11, r1, 0x40 /* 801F40F0 001EFD50 4B FD 30 19 */ bl _savegpr_19 /* 801F40F4 001EFD54 7C 75 1B 78 */ mr r21, r3 /* 801F40F8 001EFD58 7C 9E 23 78 */ mr r30, r4 /* 801F40FC 001EFD5C 48 00 01 6C */ b lbl_801F4268 lbl_801F4100: /* 801F4100 001EFD60 80 9E 00 1C */ lwz r4, 0x1c(r30) /* 801F4104 001EFD64 80 75 00 08 */ lwz r3, 8(r21) /* 801F4108 001EFD68 2C 04 00 00 */ cmpwi r4, 0 /* 801F410C 001EFD6C 41 82 00 0C */ beq lbl_801F4118 /* 801F4110 001EFD70 A0 04 00 08 */ lhz r0, 8(r4) /* 801F4114 001EFD74 48 00 00 08 */ b lbl_801F411C lbl_801F4118: /* 801F4118 001EFD78 38 00 00 00 */ li r0, 0 lbl_801F411C: /* 801F411C 001EFD7C 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d /* 801F4120 001EFD80 7F C3 01 2E */ stwx r30, r3, r0 /* 801F4124 001EFD84 88 1E 00 12 */ lbz r0, 0x12(r30) /* 801F4128 001EFD88 2C 00 00 05 */ cmpwi r0, 5 /* 801F412C 001EFD8C 41 82 00 50 */ beq lbl_801F417C /* 801F4130 001EFD90 40 80 00 1C */ bge lbl_801F414C /* 801F4134 001EFD94 2C 00 00 03 */ cmpwi r0, 3 /* 801F4138 001EFD98 41 82 00 54 */ beq lbl_801F418C /* 801F413C 001EFD9C 40 80 00 20 */ bge lbl_801F415C /* 801F4140 001EFDA0 2C 00 00 02 */ cmpwi r0, 2 /* 801F4144 001EFDA4 40 80 00 28 */ bge lbl_801F416C /* 801F4148 001EFDA8 48 00 01 14 */ b lbl_801F425C lbl_801F414C: /* 801F414C 001EFDAC 2C 00 00 07 */ cmpwi r0, 7 /* 801F4150 001EFDB0 41 82 00 F0 */ beq lbl_801F4240 /* 801F4154 001EFDB4 40 80 01 08 */ bge lbl_801F425C /* 801F4158 001EFDB8 48 00 00 F8 */ b lbl_801F4250 lbl_801F415C: /* 801F415C 001EFDBC A0 75 00 E0 */ lhz r3, 0xe0(r21) /* 801F4160 001EFDC0 38 03 00 01 */ addi r0, r3, 1 /* 801F4164 001EFDC4 B0 15 00 E0 */ sth r0, 0xe0(r21) /* 801F4168 001EFDC8 48 00 00 F4 */ b lbl_801F425C lbl_801F416C: /* 801F416C 001EFDCC A0 75 00 E2 */ lhz r3, 0xe2(r21) /* 801F4170 001EFDD0 38 03 00 01 */ addi r0, r3, 1 /* 801F4174 001EFDD4 B0 15 00 E2 */ sth r0, 0xe2(r21) /* 801F4178 001EFDD8 48 00 00 E4 */ b lbl_801F425C lbl_801F417C: /* 801F417C 001EFDDC A0 75 00 E4 */ lhz r3, 0xe4(r21) /* 801F4180 001EFDE0 38 03 00 01 */ addi r0, r3, 1 /* 801F4184 001EFDE4 B0 15 00 E4 */ sth r0, 0xe4(r21) /* 801F4188 001EFDE8 48 00 00 D4 */ b lbl_801F425C lbl_801F418C: /* 801F418C 001EFDEC 7F C3 F3 78 */ mr r3, r30 /* 801F4190 001EFDF0 4B FF C1 91 */ bl func_801F0320 /* 801F4194 001EFDF4 54 74 04 3E */ clrlwi r20, r3, 0x10 /* 801F4198 001EFDF8 3A 60 00 00 */ li r19, 0 /* 801F419C 001EFDFC 48 00 00 28 */ b lbl_801F41C4 lbl_801F41A0: /* 801F41A0 001EFE00 7F C3 F3 78 */ mr r3, r30 /* 801F41A4 001EFE04 56 64 04 3E */ clrlwi r4, r19, 0x10 /* 801F41A8 001EFE08 4B FF C1 49 */ bl func_801F02F0 /* 801F41AC 001EFE0C 2C 03 00 00 */ cmpwi r3, 0 /* 801F41B0 001EFE10 41 82 00 10 */ beq lbl_801F41C0 /* 801F41B4 001EFE14 A0 75 00 E6 */ lhz r3, 0xe6(r21) /* 801F41B8 001EFE18 38 03 00 01 */ addi r0, r3, 1 /* 801F41BC 001EFE1C B0 15 00 E6 */ sth r0, 0xe6(r21) lbl_801F41C0: /* 801F41C0 001EFE20 3A 73 00 01 */ addi r19, r19, 1 lbl_801F41C4: /* 801F41C4 001EFE24 56 60 04 3E */ clrlwi r0, r19, 0x10 /* 801F41C8 001EFE28 7C 00 A0 40 */ cmplw r0, r20 /* 801F41CC 001EFE2C 41 80 FF D4 */ blt lbl_801F41A0 /* 801F41D0 001EFE30 80 7E 01 64 */ lwz r3, 0x164(r30) /* 801F41D4 001EFE34 A0 03 00 00 */ lhz r0, 0(r3) /* 801F41D8 001EFE38 54 00 05 AC */ rlwinm r0, r0, 0, 0x16, 0x16 /* 801F41DC 001EFE3C 2C 00 02 00 */ cmpwi r0, 0x200 /* 801F41E0 001EFE40 40 82 00 10 */ bne lbl_801F41F0 /* 801F41E4 001EFE44 A0 15 00 DC */ lhz r0, 0xdc(r21) /* 801F41E8 001EFE48 60 00 00 02 */ ori r0, r0, 2 /* 801F41EC 001EFE4C B0 15 00 DC */ sth r0, 0xdc(r21) lbl_801F41F0: /* 801F41F0 001EFE50 80 7E 01 64 */ lwz r3, 0x164(r30) /* 801F41F4 001EFE54 A0 03 00 00 */ lhz r0, 0(r3) /* 801F41F8 001EFE58 54 00 05 6A */ rlwinm r0, r0, 0, 0x15, 0x15 /* 801F41FC 001EFE5C 2C 00 04 00 */ cmpwi r0, 0x400 /* 801F4200 001EFE60 40 82 00 10 */ bne lbl_801F4210 /* 801F4204 001EFE64 A0 15 00 DC */ lhz r0, 0xdc(r21) /* 801F4208 001EFE68 60 00 00 04 */ ori r0, r0, 4 /* 801F420C 001EFE6C B0 15 00 DC */ sth r0, 0xdc(r21) lbl_801F4210: /* 801F4210 001EFE70 80 7E 01 64 */ lwz r3, 0x164(r30) /* 801F4214 001EFE74 A0 03 00 00 */ lhz r0, 0(r3) /* 801F4218 001EFE78 54 00 05 28 */ rlwinm r0, r0, 0, 0x14, 0x14 /* 801F421C 001EFE7C 2C 00 08 00 */ cmpwi r0, 0x800 /* 801F4220 001EFE80 40 82 00 10 */ bne lbl_801F4230 /* 801F4224 001EFE84 A0 15 00 DC */ lhz r0, 0xdc(r21) /* 801F4228 001EFE88 60 00 00 08 */ ori r0, r0, 8 /* 801F422C 001EFE8C B0 15 00 DC */ sth r0, 0xdc(r21) lbl_801F4230: /* 801F4230 001EFE90 A0 75 00 E8 */ lhz r3, 0xe8(r21) /* 801F4234 001EFE94 38 03 00 01 */ addi r0, r3, 1 /* 801F4238 001EFE98 B0 15 00 E8 */ sth r0, 0xe8(r21) /* 801F423C 001EFE9C 48 00 00 20 */ b lbl_801F425C lbl_801F4240: /* 801F4240 001EFEA0 A0 75 00 EA */ lhz r3, 0xea(r21) /* 801F4244 001EFEA4 38 03 00 01 */ addi r0, r3, 1 /* 801F4248 001EFEA8 B0 15 00 EA */ sth r0, 0xea(r21) /* 801F424C 001EFEAC 48 00 00 10 */ b lbl_801F425C lbl_801F4250: /* 801F4250 001EFEB0 A0 75 00 EC */ lhz r3, 0xec(r21) /* 801F4254 001EFEB4 38 03 00 01 */ addi r0, r3, 1 /* 801F4258 001EFEB8 B0 15 00 EC */ sth r0, 0xec(r21) lbl_801F425C: /* 801F425C 001EFEBC 7F C3 F3 78 */ mr r3, r30 /* 801F4260 001EFEC0 4B FF DD E5 */ bl func_801F2044 /* 801F4264 001EFEC4 7C 7E 1B 78 */ mr r30, r3 lbl_801F4268: /* 801F4268 001EFEC8 2C 1E 00 00 */ cmpwi r30, 0 /* 801F426C 001EFECC 40 82 FE 94 */ bne lbl_801F4100 /* 801F4270 001EFED0 A0 95 00 E6 */ lhz r4, 0xe6(r21) /* 801F4274 001EFED4 A0 75 00 E2 */ lhz r3, 0xe2(r21) /* 801F4278 001EFED8 A0 15 00 E0 */ lhz r0, 0xe0(r21) /* 801F427C 001EFEDC 54 87 10 3A */ slwi r7, r4, 2 /* 801F4280 001EFEE0 54 66 08 3C */ slwi r6, r3, 1 /* 801F4284 001EFEE4 A0 B5 00 E8 */ lhz r5, 0xe8(r21) /* 801F4288 001EFEE8 54 04 08 3C */ slwi r4, r0, 1 /* 801F428C 001EFEEC A0 15 00 E4 */ lhz r0, 0xe4(r21) /* 801F4290 001EFEF0 7C E7 22 14 */ add r7, r7, r4 /* 801F4294 001EFEF4 A0 95 00 EA */ lhz r4, 0xea(r21) /* 801F4298 001EFEF8 7C E7 32 14 */ add r7, r7, r6 /* 801F429C 001EFEFC 54 06 08 3C */ slwi r6, r0, 1 /* 801F42A0 001EFF00 A0 15 00 DC */ lhz r0, 0xdc(r21) /* 801F42A4 001EFF04 7C E7 32 14 */ add r7, r7, r6 /* 801F42A8 001EFF08 54 A5 08 3C */ slwi r5, r5, 1 /* 801F42AC 001EFF0C A0 75 00 EC */ lhz r3, 0xec(r21) /* 801F42B0 001EFF10 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c /* 801F42B4 001EFF14 54 84 08 3C */ slwi r4, r4, 1 /* 801F42B8 001EFF18 7C E7 2A 14 */ add r7, r7, r5 /* 801F42BC 001EFF1C 54 60 08 3C */ slwi r0, r3, 1 /* 801F42C0 001EFF20 7C E7 22 14 */ add r7, r7, r4 /* 801F42C4 001EFF24 7C E7 02 14 */ add r7, r7, r0 /* 801F42C8 001EFF28 38 07 00 0F */ addi r0, r7, 0xf /* 801F42CC 001EFF2C 54 04 00 36 */ rlwinm r4, r0, 0, 0, 0x1b /* 801F42D0 001EFF30 41 82 00 08 */ beq lbl_801F42D8 /* 801F42D4 001EFF34 38 84 03 80 */ addi r4, r4, 0x380 lbl_801F42D8: /* 801F42D8 001EFF38 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 801F42DC 001EFF3C 38 A0 00 20 */ li r5, 0x20 /* 801F42E0 001EFF40 4B FE 6A 29 */ bl func_801DAD08 /* 801F42E4 001EFF44 2C 03 00 00 */ cmpwi r3, 0 /* 801F42E8 001EFF48 40 82 00 0C */ bne lbl_801F42F4 /* 801F42EC 001EFF4C 38 60 00 00 */ li r3, 0 /* 801F42F0 001EFF50 48 00 03 14 */ b lbl_801F4604 lbl_801F42F4: /* 801F42F4 001EFF54 A0 15 00 E6 */ lhz r0, 0xe6(r21) /* 801F42F8 001EFF58 90 75 00 0C */ stw r3, 0xc(r21) /* 801F42FC 001EFF5C 2C 00 00 00 */ cmpwi r0, 0 /* 801F4300 001EFF60 41 82 00 10 */ beq lbl_801F4310 /* 801F4304 001EFF64 54 00 10 3A */ slwi r0, r0, 2 /* 801F4308 001EFF68 90 75 00 1C */ stw r3, 0x1c(r21) /* 801F430C 001EFF6C 7C 63 02 14 */ add r3, r3, r0 lbl_801F4310: /* 801F4310 001EFF70 A0 15 00 E0 */ lhz r0, 0xe0(r21) /* 801F4314 001EFF74 2C 00 00 00 */ cmpwi r0, 0 /* 801F4318 001EFF78 41 82 00 10 */ beq lbl_801F4328 /* 801F431C 001EFF7C 90 75 00 10 */ stw r3, 0x10(r21) /* 801F4320 001EFF80 54 00 08 3C */ slwi r0, r0, 1 /* 801F4324 001EFF84 7C 63 02 14 */ add r3, r3, r0 lbl_801F4328: /* 801F4328 001EFF88 A0 15 00 E2 */ lhz r0, 0xe2(r21) /* 801F432C 001EFF8C 2C 00 00 00 */ cmpwi r0, 0 /* 801F4330 001EFF90 41 82 00 10 */ beq lbl_801F4340 /* 801F4334 001EFF94 90 75 00 14 */ stw r3, 0x14(r21) /* 801F4338 001EFF98 54 00 08 3C */ slwi r0, r0, 1 /* 801F433C 001EFF9C 7C 63 02 14 */ add r3, r3, r0 lbl_801F4340: /* 801F4340 001EFFA0 A0 15 00 E4 */ lhz r0, 0xe4(r21) /* 801F4344 001EFFA4 2C 00 00 00 */ cmpwi r0, 0 /* 801F4348 001EFFA8 41 82 00 10 */ beq lbl_801F4358 /* 801F434C 001EFFAC 90 75 00 18 */ stw r3, 0x18(r21) /* 801F4350 001EFFB0 54 00 08 3C */ slwi r0, r0, 1 /* 801F4354 001EFFB4 7C 63 02 14 */ add r3, r3, r0 lbl_801F4358: /* 801F4358 001EFFB8 A0 15 00 E8 */ lhz r0, 0xe8(r21) /* 801F435C 001EFFBC 2C 00 00 00 */ cmpwi r0, 0 /* 801F4360 001EFFC0 41 82 00 10 */ beq lbl_801F4370 /* 801F4364 001EFFC4 90 75 00 20 */ stw r3, 0x20(r21) /* 801F4368 001EFFC8 54 00 08 3C */ slwi r0, r0, 1 /* 801F436C 001EFFCC 7C 63 02 14 */ add r3, r3, r0 lbl_801F4370: /* 801F4370 001EFFD0 A0 15 00 EA */ lhz r0, 0xea(r21) /* 801F4374 001EFFD4 2C 00 00 00 */ cmpwi r0, 0 /* 801F4378 001EFFD8 41 82 00 10 */ beq lbl_801F4388 /* 801F437C 001EFFDC 90 75 00 24 */ stw r3, 0x24(r21) /* 801F4380 001EFFE0 54 00 08 3C */ slwi r0, r0, 1 /* 801F4384 001EFFE4 7C 63 02 14 */ add r3, r3, r0 lbl_801F4388: /* 801F4388 001EFFE8 A0 15 00 EC */ lhz r0, 0xec(r21) /* 801F438C 001EFFEC 2C 00 00 00 */ cmpwi r0, 0 /* 801F4390 001EFFF0 41 82 00 10 */ beq lbl_801F43A0 /* 801F4394 001EFFF4 90 75 00 28 */ stw r3, 0x28(r21) /* 801F4398 001EFFF8 54 00 08 3C */ slwi r0, r0, 1 /* 801F439C 001EFFFC 7C 63 02 14 */ add r3, r3, r0 lbl_801F43A0: /* 801F43A0 001F0000 A0 15 00 DC */ lhz r0, 0xdc(r21) /* 801F43A4 001F0004 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c /* 801F43A8 001F0008 41 82 00 AC */ beq lbl_801F4454 /* 801F43AC 001F000C 38 03 00 0F */ addi r0, r3, 0xf /* 801F43B0 001F0010 39 40 00 00 */ li r10, 0 /* 801F43B4 001F0014 54 03 00 36 */ rlwinm r3, r0, 0, 0, 0x1b /* 801F43B8 001F0018 39 20 00 01 */ li r9, 1 /* 801F43BC 001F001C 90 75 00 2C */ stw r3, 0x2c(r21) /* 801F43C0 001F0020 39 00 00 02 */ li r8, 2 /* 801F43C4 001F0024 38 E0 00 03 */ li r7, 3 /* 801F43C8 001F0028 38 C0 00 04 */ li r6, 4 /* 801F43CC 001F002C 91 43 00 00 */ stw r10, 0(r3) /* 801F43D0 001F0030 38 A0 00 05 */ li r5, 5 /* 801F43D4 001F0034 38 80 00 06 */ li r4, 6 /* 801F43D8 001F0038 38 00 00 07 */ li r0, 7 /* 801F43DC 001F003C 80 75 00 2C */ lwz r3, 0x2c(r21) /* 801F43E0 001F0040 99 43 00 3F */ stb r10, 0x3f(r3) /* 801F43E4 001F0044 80 75 00 2C */ lwz r3, 0x2c(r21) /* 801F43E8 001F0048 91 43 00 70 */ stw r10, 0x70(r3) /* 801F43EC 001F004C 80 75 00 2C */ lwz r3, 0x2c(r21) /* 801F43F0 001F0050 99 23 00 AF */ stb r9, 0xaf(r3) /* 801F43F4 001F0054 80 75 00 2C */ lwz r3, 0x2c(r21) /* 801F43F8 001F0058 91 43 00 E0 */ stw r10, 0xe0(r3) /* 801F43FC 001F005C 80 75 00 2C */ lwz r3, 0x2c(r21) /* 801F4400 001F0060 99 03 01 1F */ stb r8, 0x11f(r3) /* 801F4404 001F0064 80 75 00 2C */ lwz r3, 0x2c(r21) /* 801F4408 001F0068 91 43 01 50 */ stw r10, 0x150(r3) /* 801F440C 001F006C 80 75 00 2C */ lwz r3, 0x2c(r21) /* 801F4410 001F0070 98 E3 01 8F */ stb r7, 0x18f(r3) /* 801F4414 001F0074 80 75 00 2C */ lwz r3, 0x2c(r21) /* 801F4418 001F0078 91 43 01 C0 */ stw r10, 0x1c0(r3) /* 801F441C 001F007C 80 75 00 2C */ lwz r3, 0x2c(r21) /* 801F4420 001F0080 98 C3 01 FF */ stb r6, 0x1ff(r3) /* 801F4424 001F0084 80 75 00 2C */ lwz r3, 0x2c(r21) /* 801F4428 001F0088 91 43 02 30 */ stw r10, 0x230(r3) /* 801F442C 001F008C 80 75 00 2C */ lwz r3, 0x2c(r21) /* 801F4430 001F0090 98 A3 02 6F */ stb r5, 0x26f(r3) /* 801F4434 001F0094 80 75 00 2C */ lwz r3, 0x2c(r21) /* 801F4438 001F0098 91 43 02 A0 */ stw r10, 0x2a0(r3) /* 801F443C 001F009C 80 75 00 2C */ lwz r3, 0x2c(r21) /* 801F4440 001F00A0 98 83 02 DF */ stb r4, 0x2df(r3) /* 801F4444 001F00A4 80 75 00 2C */ lwz r3, 0x2c(r21) /* 801F4448 001F00A8 91 43 03 10 */ stw r10, 0x310(r3) /* 801F444C 001F00AC 80 75 00 2C */ lwz r3, 0x2c(r21) /* 801F4450 001F00B0 98 03 03 4F */ stb r0, 0x34f(r3) lbl_801F4454: /* 801F4454 001F00B4 3B A0 00 00 */ li r29, 0 /* 801F4458 001F00B8 3B 80 00 00 */ li r28, 0 /* 801F445C 001F00BC 3B 60 00 00 */ li r27, 0 /* 801F4460 001F00C0 3B 40 00 00 */ li r26, 0 /* 801F4464 001F00C4 3B 20 00 00 */ li r25, 0 /* 801F4468 001F00C8 3B 00 00 00 */ li r24, 0 /* 801F446C 001F00CC 3A E0 00 00 */ li r23, 0 /* 801F4470 001F00D0 3A C0 00 00 */ li r22, 0 /* 801F4474 001F00D4 3B E0 00 00 */ li r31, 0 /* 801F4478 001F00D8 48 00 01 78 */ b lbl_801F45F0 lbl_801F447C: /* 801F447C 001F00DC 80 75 00 08 */ lwz r3, 8(r21) /* 801F4480 001F00E0 56 C0 13 BA */ rlwinm r0, r22, 2, 0xe, 0x1d /* 801F4484 001F00E4 7F C3 00 2E */ lwzx r30, r3, r0 /* 801F4488 001F00E8 2C 1E 00 00 */ cmpwi r30, 0 /* 801F448C 001F00EC 41 82 01 60 */ beq lbl_801F45EC /* 801F4490 001F00F0 88 1E 00 12 */ lbz r0, 0x12(r30) /* 801F4494 001F00F4 2C 00 00 05 */ cmpwi r0, 5 /* 801F4498 001F00F8 41 82 00 58 */ beq lbl_801F44F0 /* 801F449C 001F00FC 40 80 00 1C */ bge lbl_801F44B8 /* 801F44A0 001F0100 2C 00 00 03 */ cmpwi r0, 3 /* 801F44A4 001F0104 41 82 00 60 */ beq lbl_801F4504 /* 801F44A8 001F0108 40 80 00 20 */ bge lbl_801F44C8 /* 801F44AC 001F010C 2C 00 00 02 */ cmpwi r0, 2 /* 801F44B0 001F0110 40 80 00 2C */ bge lbl_801F44DC /* 801F44B4 001F0114 48 00 01 38 */ b lbl_801F45EC lbl_801F44B8: /* 801F44B8 001F0118 2C 00 00 07 */ cmpwi r0, 7 /* 801F44BC 001F011C 41 82 01 0C */ beq lbl_801F45C8 /* 801F44C0 001F0120 40 80 01 2C */ bge lbl_801F45EC /* 801F44C4 001F0124 48 00 01 18 */ b lbl_801F45DC lbl_801F44C8: /* 801F44C8 001F0128 80 75 00 10 */ lwz r3, 0x10(r21) /* 801F44CC 001F012C 57 A0 0B FC */ rlwinm r0, r29, 1, 0xf, 0x1e /* 801F44D0 001F0130 3B BD 00 01 */ addi r29, r29, 1 /* 801F44D4 001F0134 7E C3 03 2E */ sthx r22, r3, r0 /* 801F44D8 001F0138 48 00 01 14 */ b lbl_801F45EC lbl_801F44DC: /* 801F44DC 001F013C 80 75 00 14 */ lwz r3, 0x14(r21) /* 801F44E0 001F0140 57 80 0B FC */ rlwinm r0, r28, 1, 0xf, 0x1e /* 801F44E4 001F0144 3B 9C 00 01 */ addi r28, r28, 1 /* 801F44E8 001F0148 7E C3 03 2E */ sthx r22, r3, r0 /* 801F44EC 001F014C 48 00 01 00 */ b lbl_801F45EC lbl_801F44F0: /* 801F44F0 001F0150 80 75 00 18 */ lwz r3, 0x18(r21) /* 801F44F4 001F0154 57 60 0B FC */ rlwinm r0, r27, 1, 0xf, 0x1e /* 801F44F8 001F0158 3B 7B 00 01 */ addi r27, r27, 1 /* 801F44FC 001F015C 7E C3 03 2E */ sthx r22, r3, r0 /* 801F4500 001F0160 48 00 00 EC */ b lbl_801F45EC lbl_801F4504: /* 801F4504 001F0164 7F C3 F3 78 */ mr r3, r30 /* 801F4508 001F0168 4B FF BE 19 */ bl func_801F0320 /* 801F450C 001F016C 54 74 04 3E */ clrlwi r20, r3, 0x10 /* 801F4510 001F0170 3A 60 00 00 */ li r19, 0 /* 801F4514 001F0174 48 00 00 2C */ b lbl_801F4540 lbl_801F4518: /* 801F4518 001F0178 7F C3 F3 78 */ mr r3, r30 /* 801F451C 001F017C 56 64 04 3E */ clrlwi r4, r19, 0x10 /* 801F4520 001F0180 4B FF BD D1 */ bl func_801F02F0 /* 801F4524 001F0184 2C 03 00 00 */ cmpwi r3, 0 /* 801F4528 001F0188 41 82 00 14 */ beq lbl_801F453C /* 801F452C 001F018C 80 95 00 1C */ lwz r4, 0x1c(r21) /* 801F4530 001F0190 56 E0 13 BA */ rlwinm r0, r23, 2, 0xe, 0x1d /* 801F4534 001F0194 3A F7 00 01 */ addi r23, r23, 1 /* 801F4538 001F0198 7C 64 01 2E */ stwx r3, r4, r0 lbl_801F453C: /* 801F453C 001F019C 3A 73 00 01 */ addi r19, r19, 1 lbl_801F4540: /* 801F4540 001F01A0 56 60 04 3E */ clrlwi r0, r19, 0x10 /* 801F4544 001F01A4 7C 00 A0 40 */ cmplw r0, r20 /* 801F4548 001F01A8 41 80 FF D0 */ blt lbl_801F4518 /* 801F454C 001F01AC 80 75 00 20 */ lwz r3, 0x20(r21) /* 801F4550 001F01B0 57 40 0B FC */ rlwinm r0, r26, 1, 0xf, 0x1e /* 801F4554 001F01B4 2C 1E 00 00 */ cmpwi r30, 0 /* 801F4558 001F01B8 3B 5A 00 01 */ addi r26, r26, 1 /* 801F455C 001F01BC 7E C3 03 2E */ sthx r22, r3, r0 /* 801F4560 001F01C0 41 82 00 8C */ beq lbl_801F45EC /* 801F4564 001F01C4 80 75 00 30 */ lwz r3, 0x30(r21) /* 801F4568 001F01C8 48 00 00 14 */ b lbl_801F457C lbl_801F456C: /* 801F456C 001F01CC 80 03 00 00 */ lwz r0, 0(r3) /* 801F4570 001F01D0 7C 00 F0 40 */ cmplw r0, r30 /* 801F4574 001F01D4 41 82 00 78 */ beq lbl_801F45EC /* 801F4578 001F01D8 80 63 00 08 */ lwz r3, 8(r3) lbl_801F457C: /* 801F457C 001F01DC 2C 03 00 00 */ cmpwi r3, 0 /* 801F4580 001F01E0 40 82 FF EC */ bne lbl_801F456C /* 801F4584 001F01E4 48 05 57 75 */ bl func_80249CF8 /* 801F4588 001F01E8 2C 03 00 00 */ cmpwi r3, 0 /* 801F458C 001F01EC 41 82 00 10 */ beq lbl_801F459C /* 801F4590 001F01F0 93 C3 00 00 */ stw r30, 0(r3) /* 801F4594 001F01F4 93 E3 00 04 */ stw r31, 4(r3) /* 801F4598 001F01F8 93 E3 00 08 */ stw r31, 8(r3) lbl_801F459C: /* 801F459C 001F01FC 80 95 00 34 */ lwz r4, 0x34(r21) /* 801F45A0 001F0200 2C 04 00 00 */ cmpwi r4, 0 /* 801F45A4 001F0204 41 82 00 18 */ beq lbl_801F45BC /* 801F45A8 001F0208 90 64 00 08 */ stw r3, 8(r4) /* 801F45AC 001F020C 80 15 00 34 */ lwz r0, 0x34(r21) /* 801F45B0 001F0210 90 03 00 04 */ stw r0, 4(r3) /* 801F45B4 001F0214 90 75 00 34 */ stw r3, 0x34(r21) /* 801F45B8 001F0218 48 00 00 34 */ b lbl_801F45EC lbl_801F45BC: /* 801F45BC 001F021C 90 75 00 30 */ stw r3, 0x30(r21) /* 801F45C0 001F0220 90 75 00 34 */ stw r3, 0x34(r21) /* 801F45C4 001F0224 48 00 00 28 */ b lbl_801F45EC lbl_801F45C8: /* 801F45C8 001F0228 80 75 00 24 */ lwz r3, 0x24(r21) /* 801F45CC 001F022C 57 20 0B FC */ rlwinm r0, r25, 1, 0xf, 0x1e /* 801F45D0 001F0230 3B 39 00 01 */ addi r25, r25, 1 /* 801F45D4 001F0234 7E C3 03 2E */ sthx r22, r3, r0 /* 801F45D8 001F0238 48 00 00 14 */ b lbl_801F45EC lbl_801F45DC: /* 801F45DC 001F023C 80 75 00 28 */ lwz r3, 0x28(r21) /* 801F45E0 001F0240 57 00 0B FC */ rlwinm r0, r24, 1, 0xf, 0x1e /* 801F45E4 001F0244 3B 18 00 01 */ addi r24, r24, 1 /* 801F45E8 001F0248 7E C3 03 2E */ sthx r22, r3, r0 lbl_801F45EC: /* 801F45EC 001F024C 3A D6 00 01 */ addi r22, r22, 1 lbl_801F45F0: /* 801F45F0 001F0250 A0 15 00 DE */ lhz r0, 0xde(r21) /* 801F45F4 001F0254 56 C3 04 3E */ clrlwi r3, r22, 0x10 /* 801F45F8 001F0258 7C 03 00 40 */ cmplw r3, r0 /* 801F45FC 001F025C 41 80 FE 80 */ blt lbl_801F447C /* 801F4600 001F0260 38 60 00 01 */ li r3, 1 lbl_801F4604: /* 801F4604 001F0264 39 61 00 40 */ addi r11, r1, 0x40 /* 801F4608 001F0268 4B FD 2B 4D */ bl _restgpr_19 /* 801F460C 001F026C 80 01 00 44 */ lwz r0, 0x44(r1) /* 801F4610 001F0270 7C 08 03 A6 */ mtlr r0 /* 801F4614 001F0274 38 21 00 40 */ addi r1, r1, 0x40 /* 801F4618 001F0278 4E 80 00 20 */ blr .global func_801F461C func_801F461C: /* 801F461C 001F027C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801F4620 001F0280 7C 08 02 A6 */ mflr r0 /* 801F4624 001F0284 C0 62 98 00 */ lfs f3, lbl_80641E00-_SDA2_BASE_(r2) /* 801F4628 001F0288 38 C0 00 80 */ li r6, 0x80 /* 801F462C 001F028C 90 01 00 24 */ stw r0, 0x24(r1) /* 801F4630 001F0290 38 E0 00 01 */ li r7, 1 /* 801F4634 001F0294 C0 22 98 08 */ lfs f1, lbl_80641E08-_SDA2_BASE_(r2) /* 801F4638 001F0298 38 00 00 FF */ li r0, 0xff /* 801F463C 001F029C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801F4640 001F02A0 7C BF 2B 78 */ mr r31, r5 /* 801F4644 001F02A4 C0 02 98 0C */ lfs f0, lbl_80641E0C-_SDA2_BASE_(r2) /* 801F4648 001F02A8 93 C1 00 18 */ stw r30, 0x18(r1) /* 801F464C 001F02AC 7C 7E 1B 78 */ mr r30, r3 /* 801F4650 001F02B0 C0 42 98 04 */ lfs f2, lbl_80641E04-_SDA2_BASE_(r2) /* 801F4654 001F02B4 93 A1 00 14 */ stw r29, 0x14(r1) /* 801F4658 001F02B8 3B A0 00 00 */ li r29, 0 /* 801F465C 001F02BC 90 83 00 00 */ stw r4, 0(r3) /* 801F4660 001F02C0 90 A3 00 04 */ stw r5, 4(r3) /* 801F4664 001F02C4 93 A3 00 08 */ stw r29, 8(r3) /* 801F4668 001F02C8 93 A3 00 0C */ stw r29, 0xc(r3) /* 801F466C 001F02CC 93 A3 00 10 */ stw r29, 0x10(r3) /* 801F4670 001F02D0 93 A3 00 14 */ stw r29, 0x14(r3) /* 801F4674 001F02D4 93 A3 00 18 */ stw r29, 0x18(r3) /* 801F4678 001F02D8 93 A3 00 1C */ stw r29, 0x1c(r3) /* 801F467C 001F02DC 93 A3 00 20 */ stw r29, 0x20(r3) /* 801F4680 001F02E0 93 A3 00 24 */ stw r29, 0x24(r3) /* 801F4684 001F02E4 93 A3 00 28 */ stw r29, 0x28(r3) /* 801F4688 001F02E8 93 A3 00 2C */ stw r29, 0x2c(r3) /* 801F468C 001F02EC 93 A3 00 30 */ stw r29, 0x30(r3) /* 801F4690 001F02F0 93 A3 00 34 */ stw r29, 0x34(r3) /* 801F4694 001F02F4 93 A3 00 38 */ stw r29, 0x38(r3) /* 801F4698 001F02F8 93 A3 00 3C */ stw r29, 0x3c(r3) /* 801F469C 001F02FC 93 A3 00 40 */ stw r29, 0x40(r3) /* 801F46A0 001F0300 B0 E3 00 DC */ sth r7, 0xdc(r3) /* 801F46A4 001F0304 B3 A3 00 DE */ sth r29, 0xde(r3) /* 801F46A8 001F0308 B3 A3 00 E0 */ sth r29, 0xe0(r3) /* 801F46AC 001F030C B3 A3 00 E2 */ sth r29, 0xe2(r3) /* 801F46B0 001F0310 B3 A3 00 E4 */ sth r29, 0xe4(r3) /* 801F46B4 001F0314 B3 A3 00 E6 */ sth r29, 0xe6(r3) /* 801F46B8 001F0318 B3 A3 00 E8 */ sth r29, 0xe8(r3) /* 801F46BC 001F031C B3 A3 00 EA */ sth r29, 0xea(r3) /* 801F46C0 001F0320 B3 A3 00 EC */ sth r29, 0xec(r3) /* 801F46C4 001F0324 B3 A3 00 EE */ sth r29, 0xee(r3) /* 801F46C8 001F0328 D0 63 01 18 */ stfs f3, 0x118(r3) /* 801F46CC 001F032C D0 43 01 1C */ stfs f2, 0x11c(r3) /* 801F46D0 001F0330 D0 23 01 20 */ stfs f1, 0x120(r3) /* 801F46D4 001F0334 D0 23 01 24 */ stfs f1, 0x124(r3) /* 801F46D8 001F0338 D0 23 01 28 */ stfs f1, 0x128(r3) /* 801F46DC 001F033C D0 03 01 2C */ stfs f0, 0x12c(r3) /* 801F46E0 001F0340 D0 03 01 30 */ stfs f0, 0x130(r3) /* 801F46E4 001F0344 D0 03 01 34 */ stfs f0, 0x134(r3) /* 801F46E8 001F0348 93 A3 01 38 */ stw r29, 0x138(r3) /* 801F46EC 001F034C D0 63 01 3C */ stfs f3, 0x13c(r3) /* 801F46F0 001F0350 D0 63 01 40 */ stfs f3, 0x140(r3) /* 801F46F4 001F0354 D0 63 01 44 */ stfs f3, 0x144(r3) /* 801F46F8 001F0358 98 C3 01 48 */ stb r6, 0x148(r3) /* 801F46FC 001F035C 98 C3 01 49 */ stb r6, 0x149(r3) /* 801F4700 001F0360 98 C3 01 4A */ stb r6, 0x14a(r3) /* 801F4704 001F0364 98 03 01 4B */ stb r0, 0x14b(r3) /* 801F4708 001F0368 93 A3 01 4C */ stw r29, 0x14c(r3) /* 801F470C 001F036C 93 A3 01 50 */ stw r29, 0x150(r3) /* 801F4710 001F0370 93 A3 00 44 */ stw r29, 0x44(r3) /* 801F4714 001F0374 93 A3 00 48 */ stw r29, 0x48(r3) /* 801F4718 001F0378 38 63 00 4C */ addi r3, r3, 0x4c /* 801F471C 001F037C 48 08 78 11 */ bl PSMTXIdentity /* 801F4720 001F0380 38 7E 00 7C */ addi r3, r30, 0x7c /* 801F4724 001F0384 48 08 78 09 */ bl PSMTXIdentity /* 801F4728 001F0388 3C A0 80 49 */ lis r5, lbl_8049362C@ha /* 801F472C 001F038C 38 7E 00 AC */ addi r3, r30, 0xac /* 801F4730 001F0390 38 85 36 2C */ addi r4, r5, lbl_8049362C@l /* 801F4734 001F0394 C0 25 36 2C */ lfs f1, 0x362c(r5) /* 801F4738 001F0398 C0 44 00 04 */ lfs f2, 4(r4) /* 801F473C 001F039C C0 64 00 08 */ lfs f3, 8(r4) /* 801F4740 001F03A0 48 08 7E 01 */ bl PSMTXScale /* 801F4744 001F03A4 C0 22 98 00 */ lfs f1, lbl_80641E00-_SDA2_BASE_(r2) /* 801F4748 001F03A8 3C 60 00 01 */ lis r3, 0x0000FFFF@ha /* 801F474C 001F03AC C0 02 98 04 */ lfs f0, lbl_80641E04-_SDA2_BASE_(r2) /* 801F4750 001F03B0 38 63 FF FF */ addi r3, r3, 0x0000FFFF@l /* 801F4754 001F03B4 B0 7E 00 F0 */ sth r3, 0xf0(r30) /* 801F4758 001F03B8 34 1E 01 50 */ addic. r0, r30, 0x150 /* 801F475C 001F03BC 93 BE 00 F4 */ stw r29, 0xf4(r30) /* 801F4760 001F03C0 D0 3E 00 F8 */ stfs f1, 0xf8(r30) /* 801F4764 001F03C4 D0 3E 00 FC */ stfs f1, 0xfc(r30) /* 801F4768 001F03C8 D0 1E 01 00 */ stfs f0, 0x100(r30) /* 801F476C 001F03CC B0 7E 01 04 */ sth r3, 0x104(r30) /* 801F4770 001F03D0 93 BE 01 08 */ stw r29, 0x108(r30) /* 801F4774 001F03D4 D0 3E 01 0C */ stfs f1, 0x10c(r30) /* 801F4778 001F03D8 D0 3E 01 10 */ stfs f1, 0x110(r30) /* 801F477C 001F03DC D0 1E 01 14 */ stfs f0, 0x114(r30) /* 801F4780 001F03E0 B3 BE 01 4C */ sth r29, 0x14c(r30) /* 801F4784 001F03E4 B3 BE 01 4E */ sth r29, 0x14e(r30) /* 801F4788 001F03E8 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13) /* 801F478C 001F03EC 41 82 00 0C */ beq lbl_801F4798 /* 801F4790 001F03F0 A0 03 00 04 */ lhz r0, 4(r3) /* 801F4794 001F03F4 B0 1E 01 50 */ sth r0, 0x150(r30) lbl_801F4798: /* 801F4798 001F03F8 34 1E 01 52 */ addic. r0, r30, 0x152 /* 801F479C 001F03FC 41 82 00 0C */ beq lbl_801F47A8 /* 801F47A0 001F0400 A0 03 00 06 */ lhz r0, 6(r3) /* 801F47A4 001F0404 B0 1E 01 52 */ sth r0, 0x152(r30) lbl_801F47A8: /* 801F47A8 001F0408 80 7E 00 00 */ lwz r3, 0(r30) /* 801F47AC 001F040C 2C 03 00 00 */ cmpwi r3, 0 /* 801F47B0 001F0410 41 82 00 20 */ beq lbl_801F47D0 /* 801F47B4 001F0414 80 63 00 00 */ lwz r3, 0(r3) /* 801F47B8 001F0418 80 03 00 24 */ lwz r0, 0x24(r3) /* 801F47BC 001F041C 2C 00 00 00 */ cmpwi r0, 0 /* 801F47C0 001F0420 41 82 00 10 */ beq lbl_801F47D0 /* 801F47C4 001F0424 A0 1E 00 DC */ lhz r0, 0xdc(r30) /* 801F47C8 001F0428 60 00 00 80 */ ori r0, r0, 0x80 /* 801F47CC 001F042C B0 1E 00 DC */ sth r0, 0xdc(r30) lbl_801F47D0: /* 801F47D0 001F0430 A0 7F 00 06 */ lhz r3, 6(r31) /* 801F47D4 001F0434 2C 03 00 00 */ cmpwi r3, 0 /* 801F47D8 001F0438 B0 7E 00 DE */ sth r3, 0xde(r30) /* 801F47DC 001F043C 40 82 00 0C */ bne lbl_801F47E8 /* 801F47E0 001F0440 7F C3 F3 78 */ mr r3, r30 /* 801F47E4 001F0444 48 00 02 F0 */ b lbl_801F4AD4 lbl_801F47E8: /* 801F47E8 001F0448 80 1F 00 10 */ lwz r0, 0x10(r31) /* 801F47EC 001F044C 2C 00 00 00 */ cmpwi r0, 0 /* 801F47F0 001F0450 40 82 00 0C */ bne lbl_801F47FC /* 801F47F4 001F0454 7F C3 F3 78 */ mr r3, r30 /* 801F47F8 001F0458 48 00 02 DC */ b lbl_801F4AD4 lbl_801F47FC: /* 801F47FC 001F045C 1C 83 01 04 */ mulli r4, r3, 0x104 /* 801F4800 001F0460 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 801F4804 001F0464 4B FE 64 91 */ bl func_801DAC94 /* 801F4808 001F0468 2C 03 00 00 */ cmpwi r3, 0 /* 801F480C 001F046C 90 7E 00 08 */ stw r3, 8(r30) /* 801F4810 001F0470 40 82 00 0C */ bne lbl_801F481C /* 801F4814 001F0474 7F C3 F3 78 */ mr r3, r30 /* 801F4818 001F0478 48 00 02 BC */ b lbl_801F4AD4 lbl_801F481C: /* 801F481C 001F047C A0 1E 00 DE */ lhz r0, 0xde(r30) /* 801F4820 001F0480 38 80 00 00 */ li r4, 0 /* 801F4824 001F0484 54 05 10 3A */ slwi r5, r0, 2 /* 801F4828 001F0488 4B E0 F8 DD */ bl memset /* 801F482C 001F048C 80 7F 00 10 */ lwz r3, 0x10(r31) /* 801F4830 001F0490 80 03 00 00 */ lwz r0, 0(r3) /* 801F4834 001F0494 28 00 00 07 */ cmplwi r0, 7 /* 801F4838 001F0498 41 81 01 84 */ bgt lbl_801F49BC /* 801F483C 001F049C 3C 60 80 42 */ lis r3, lbl_804236E0@ha /* 801F4840 001F04A0 54 00 10 3A */ slwi r0, r0, 2 /* 801F4844 001F04A4 38 63 36 E0 */ addi r3, r3, lbl_804236E0@l /* 801F4848 001F04A8 7C 63 00 2E */ lwzx r3, r3, r0 /* 801F484C 001F04AC 7C 69 03 A6 */ mtctr r3 /* 801F4850 001F04B0 4E 80 04 20 */ bctr /* 801F4854 001F04B4 4B FE 62 D5 */ bl func_801DAB28 /* 801F4858 001F04B8 2C 03 00 00 */ cmpwi r3, 0 /* 801F485C 001F04BC 41 82 00 14 */ beq lbl_801F4870 /* 801F4860 001F04C0 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 801F4864 001F04C4 38 80 01 8C */ li r4, 0x18c /* 801F4868 001F04C8 4B FE 64 2D */ bl func_801DAC94 /* 801F486C 001F04CC 48 00 00 08 */ b lbl_801F4874 lbl_801F4870: /* 801F4870 001F04D0 38 60 00 00 */ li r3, 0 lbl_801F4874: /* 801F4874 001F04D4 2C 03 00 00 */ cmpwi r3, 0 /* 801F4878 001F04D8 41 82 00 10 */ beq lbl_801F4888 /* 801F487C 001F04DC 80 BF 00 10 */ lwz r5, 0x10(r31) /* 801F4880 001F04E0 7F C4 F3 78 */ mr r4, r30 /* 801F4884 001F04E4 4B FF B6 8D */ bl func_801EFF10 lbl_801F4888: /* 801F4888 001F04E8 7C 64 1B 78 */ mr r4, r3 /* 801F488C 001F04EC 48 00 01 68 */ b lbl_801F49F4 /* 801F4890 001F04F0 4B FE 62 99 */ bl func_801DAB28 /* 801F4894 001F04F4 2C 03 00 00 */ cmpwi r3, 0 /* 801F4898 001F04F8 41 82 00 14 */ beq lbl_801F48AC /* 801F489C 001F04FC 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 801F48A0 001F0500 38 80 02 64 */ li r4, 0x264 /* 801F48A4 001F0504 4B FE 63 F1 */ bl func_801DAC94 /* 801F48A8 001F0508 48 00 00 08 */ b lbl_801F48B0 lbl_801F48AC: /* 801F48AC 001F050C 38 60 00 00 */ li r3, 0 lbl_801F48B0: /* 801F48B0 001F0510 2C 03 00 00 */ cmpwi r3, 0 /* 801F48B4 001F0514 41 82 00 10 */ beq lbl_801F48C4 /* 801F48B8 001F0518 80 BF 00 10 */ lwz r5, 0x10(r31) /* 801F48BC 001F051C 7F C4 F3 78 */ mr r4, r30 /* 801F48C0 001F0520 4B FE 97 C5 */ bl __ct__8GScameraFPvP11gUnkClass10 lbl_801F48C4: /* 801F48C4 001F0524 7C 64 1B 78 */ mr r4, r3 /* 801F48C8 001F0528 48 00 01 2C */ b lbl_801F49F4 /* 801F48CC 001F052C 4B FE 62 5D */ bl func_801DAB28 /* 801F48D0 001F0530 2C 03 00 00 */ cmpwi r3, 0 /* 801F48D4 001F0534 41 82 00 14 */ beq lbl_801F48E8 /* 801F48D8 001F0538 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 801F48DC 001F053C 38 80 01 88 */ li r4, 0x188 /* 801F48E0 001F0540 4B FE 63 B5 */ bl func_801DAC94 /* 801F48E4 001F0544 48 00 00 08 */ b lbl_801F48EC lbl_801F48E8: /* 801F48E8 001F0548 38 60 00 00 */ li r3, 0 lbl_801F48EC: /* 801F48EC 001F054C 2C 03 00 00 */ cmpwi r3, 0 /* 801F48F0 001F0550 41 82 00 10 */ beq lbl_801F4900 /* 801F48F4 001F0554 80 BF 00 10 */ lwz r5, 0x10(r31) /* 801F48F8 001F0558 7F C4 F3 78 */ mr r4, r30 /* 801F48FC 001F055C 4B FE FA 65 */ bl func_801E4360 lbl_801F4900: /* 801F4900 001F0560 7C 64 1B 78 */ mr r4, r3 /* 801F4904 001F0564 48 00 00 F0 */ b lbl_801F49F4 /* 801F4908 001F0568 4B FE 62 21 */ bl func_801DAB28 /* 801F490C 001F056C 2C 03 00 00 */ cmpwi r3, 0 /* 801F4910 001F0570 41 82 00 14 */ beq lbl_801F4924 /* 801F4914 001F0574 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 801F4918 001F0578 38 80 01 38 */ li r4, 0x138 /* 801F491C 001F057C 4B FE 63 79 */ bl func_801DAC94 /* 801F4920 001F0580 48 00 00 08 */ b lbl_801F4928 lbl_801F4924: /* 801F4924 001F0584 38 60 00 00 */ li r3, 0 lbl_801F4928: /* 801F4928 001F0588 2C 03 00 00 */ cmpwi r3, 0 /* 801F492C 001F058C 41 82 00 10 */ beq lbl_801F493C /* 801F4930 001F0590 80 BF 00 10 */ lwz r5, 0x10(r31) /* 801F4934 001F0594 7F C4 F3 78 */ mr r4, r30 /* 801F4938 001F0598 4B FF 18 11 */ bl func_801E6148 lbl_801F493C: /* 801F493C 001F059C 7C 64 1B 78 */ mr r4, r3 /* 801F4940 001F05A0 48 00 00 B4 */ b lbl_801F49F4 /* 801F4944 001F05A4 4B FE 61 E5 */ bl func_801DAB28 /* 801F4948 001F05A8 2C 03 00 00 */ cmpwi r3, 0 /* 801F494C 001F05AC 41 82 00 14 */ beq lbl_801F4960 /* 801F4950 001F05B0 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 801F4954 001F05B4 38 80 01 48 */ li r4, 0x148 /* 801F4958 001F05B8 4B FE 63 3D */ bl func_801DAC94 /* 801F495C 001F05BC 48 00 00 08 */ b lbl_801F4964 lbl_801F4960: /* 801F4960 001F05C0 38 60 00 00 */ li r3, 0 lbl_801F4964: /* 801F4964 001F05C4 2C 03 00 00 */ cmpwi r3, 0 /* 801F4968 001F05C8 41 82 00 10 */ beq lbl_801F4978 /* 801F496C 001F05CC 80 BF 00 10 */ lwz r5, 0x10(r31) /* 801F4970 001F05D0 7F C4 F3 78 */ mr r4, r30 /* 801F4974 001F05D4 4B FE A6 CD */ bl func_801DF040 lbl_801F4978: /* 801F4978 001F05D8 7C 64 1B 78 */ mr r4, r3 /* 801F497C 001F05DC 48 00 00 78 */ b lbl_801F49F4 /* 801F4980 001F05E0 4B FE 61 A9 */ bl func_801DAB28 /* 801F4984 001F05E4 2C 03 00 00 */ cmpwi r3, 0 /* 801F4988 001F05E8 41 82 00 14 */ beq lbl_801F499C /* 801F498C 001F05EC 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 801F4990 001F05F0 38 80 01 40 */ li r4, 0x140 /* 801F4994 001F05F4 4B FE 63 01 */ bl func_801DAC94 /* 801F4998 001F05F8 48 00 00 08 */ b lbl_801F49A0 lbl_801F499C: /* 801F499C 001F05FC 38 60 00 00 */ li r3, 0 lbl_801F49A0: /* 801F49A0 001F0600 2C 03 00 00 */ cmpwi r3, 0 /* 801F49A4 001F0604 41 82 00 10 */ beq lbl_801F49B4 /* 801F49A8 001F0608 80 BF 00 10 */ lwz r5, 0x10(r31) /* 801F49AC 001F060C 7F C4 F3 78 */ mr r4, r30 /* 801F49B0 001F0610 48 00 4F E5 */ bl func_801F9994 lbl_801F49B4: /* 801F49B4 001F0614 7C 64 1B 78 */ mr r4, r3 /* 801F49B8 001F0618 48 00 00 3C */ b lbl_801F49F4 lbl_801F49BC: /* 801F49BC 001F061C 4B FE 61 6D */ bl func_801DAB28 /* 801F49C0 001F0620 2C 03 00 00 */ cmpwi r3, 0 /* 801F49C4 001F0624 41 82 00 14 */ beq lbl_801F49D8 /* 801F49C8 001F0628 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 801F49CC 001F062C 38 80 01 04 */ li r4, 0x104 /* 801F49D0 001F0630 4B FE 62 C5 */ bl func_801DAC94 /* 801F49D4 001F0634 48 00 00 08 */ b lbl_801F49DC lbl_801F49D8: /* 801F49D8 001F0638 38 60 00 00 */ li r3, 0 lbl_801F49DC: /* 801F49DC 001F063C 2C 03 00 00 */ cmpwi r3, 0 /* 801F49E0 001F0640 41 82 00 10 */ beq lbl_801F49F0 /* 801F49E4 001F0644 80 BF 00 10 */ lwz r5, 0x10(r31) /* 801F49E8 001F0648 7F C4 F3 78 */ mr r4, r30 /* 801F49EC 001F064C 4B FF D1 DD */ bl __ct__6GSnullFPvP11gUnkClass10 lbl_801F49F0: /* 801F49F0 001F0650 7C 64 1B 78 */ mr r4, r3 lbl_801F49F4: /* 801F49F4 001F0654 2C 04 00 00 */ cmpwi r4, 0 /* 801F49F8 001F0658 40 82 00 0C */ bne lbl_801F4A04 /* 801F49FC 001F065C 7F C3 F3 78 */ mr r3, r30 /* 801F4A00 001F0660 48 00 00 D4 */ b lbl_801F4AD4 lbl_801F4A04: /* 801F4A04 001F0664 38 04 00 D0 */ addi r0, r4, 0xd0 /* 801F4A08 001F0668 7F C3 F3 78 */ mr r3, r30 /* 801F4A0C 001F066C 90 1E 01 38 */ stw r0, 0x138(r30) /* 801F4A10 001F0670 4B FF F6 D1 */ bl func_801F40E0 /* 801F4A14 001F0674 7F C3 F3 78 */ mr r3, r30 /* 801F4A18 001F0678 48 00 1C 01 */ bl func_801F6618 /* 801F4A1C 001F067C A0 9E 00 DC */ lhz r4, 0xdc(r30) /* 801F4A20 001F0680 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e /* 801F4A24 001F0684 41 82 00 10 */ beq lbl_801F4A34 /* 801F4A28 001F0688 7F C3 F3 78 */ mr r3, r30 /* 801F4A2C 001F068C 54 84 F7 FE */ rlwinm r4, r4, 0x1e, 0x1f, 0x1f /* 801F4A30 001F0690 48 00 02 69 */ bl func_801F4C98 lbl_801F4A34: /* 801F4A34 001F0694 7F C3 F3 78 */ mr r3, r30 /* 801F4A38 001F0698 48 00 BB 5D */ bl func_80200594 /* 801F4A3C 001F069C 2C 1E 00 00 */ cmpwi r30, 0 /* 801F4A40 001F06A0 83 ED A1 A8 */ lwz r31, lbl_8063F468-_SDA_BASE_(r13) /* 801F4A44 001F06A4 41 82 00 68 */ beq lbl_801F4AAC /* 801F4A48 001F06A8 83 BF 00 10 */ lwz r29, 0x10(r31) /* 801F4A4C 001F06AC 2C 1D 00 00 */ cmpwi r29, 0 /* 801F4A50 001F06B0 41 82 00 30 */ beq lbl_801F4A80 /* 801F4A54 001F06B4 80 1D 00 00 */ lwz r0, 0(r29) /* 801F4A58 001F06B8 7C 00 F0 40 */ cmplw r0, r30 /* 801F4A5C 001F06BC 41 82 00 50 */ beq lbl_801F4AAC /* 801F4A60 001F06C0 48 00 00 14 */ b lbl_801F4A74 lbl_801F4A64: /* 801F4A64 001F06C4 80 03 00 00 */ lwz r0, 0(r3) /* 801F4A68 001F06C8 7C 00 F0 40 */ cmplw r0, r30 /* 801F4A6C 001F06CC 41 82 00 40 */ beq lbl_801F4AAC /* 801F4A70 001F06D0 7C 7D 1B 78 */ mr r29, r3 lbl_801F4A74: /* 801F4A74 001F06D4 80 7D 00 04 */ lwz r3, 4(r29) /* 801F4A78 001F06D8 2C 03 00 00 */ cmpwi r3, 0 /* 801F4A7C 001F06DC 40 82 FF E8 */ bne lbl_801F4A64 lbl_801F4A80: /* 801F4A80 001F06E0 48 05 52 79 */ bl func_80249CF8 /* 801F4A84 001F06E4 2C 03 00 00 */ cmpwi r3, 0 /* 801F4A88 001F06E8 41 82 00 10 */ beq lbl_801F4A98 /* 801F4A8C 001F06EC 93 C3 00 00 */ stw r30, 0(r3) /* 801F4A90 001F06F0 38 00 00 00 */ li r0, 0 /* 801F4A94 001F06F4 90 03 00 04 */ stw r0, 4(r3) lbl_801F4A98: /* 801F4A98 001F06F8 2C 1D 00 00 */ cmpwi r29, 0 /* 801F4A9C 001F06FC 41 82 00 0C */ beq lbl_801F4AA8 /* 801F4AA0 001F0700 90 7D 00 04 */ stw r3, 4(r29) /* 801F4AA4 001F0704 48 00 00 08 */ b lbl_801F4AAC lbl_801F4AA8: /* 801F4AA8 001F0708 90 7F 00 10 */ stw r3, 0x10(r31) lbl_801F4AAC: /* 801F4AAC 001F070C C0 22 98 00 */ lfs f1, lbl_80641E00-_SDA2_BASE_(r2) /* 801F4AB0 001F0710 7F C3 F3 78 */ mr r3, r30 /* 801F4AB4 001F0714 C0 42 98 04 */ lfs f2, lbl_80641E04-_SDA2_BASE_(r2) /* 801F4AB8 001F0718 38 80 00 00 */ li r4, 0 /* 801F4ABC 001F071C 38 A0 00 01 */ li r5, 1 /* 801F4AC0 001F0720 38 C0 00 00 */ li r6, 0 /* 801F4AC4 001F0724 38 E0 00 00 */ li r7, 0 /* 801F4AC8 001F0728 39 00 00 00 */ li r8, 0 /* 801F4ACC 001F072C 48 00 03 29 */ bl func_801F4DF4 /* 801F4AD0 001F0730 7F C3 F3 78 */ mr r3, r30 lbl_801F4AD4: /* 801F4AD4 001F0734 80 01 00 24 */ lwz r0, 0x24(r1) /* 801F4AD8 001F0738 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801F4ADC 001F073C 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801F4AE0 001F0740 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801F4AE4 001F0744 7C 08 03 A6 */ mtlr r0 /* 801F4AE8 001F0748 38 21 00 20 */ addi r1, r1, 0x20 /* 801F4AEC 001F074C 4E 80 00 20 */ blr .global func_801F4AF0 func_801F4AF0: /* 801F4AF0 001F0750 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801F4AF4 001F0754 7C 08 02 A6 */ mflr r0 /* 801F4AF8 001F0758 2C 03 00 00 */ cmpwi r3, 0 /* 801F4AFC 001F075C 90 01 00 24 */ stw r0, 0x24(r1) /* 801F4B00 001F0760 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801F4B04 001F0764 93 C1 00 18 */ stw r30, 0x18(r1) /* 801F4B08 001F0768 7C 9E 23 78 */ mr r30, r4 /* 801F4B0C 001F076C 93 A1 00 14 */ stw r29, 0x14(r1) /* 801F4B10 001F0770 7C 7D 1B 78 */ mr r29, r3 /* 801F4B14 001F0774 41 82 01 64 */ beq lbl_801F4C78 /* 801F4B18 001F0778 80 8D A1 A8 */ lwz r4, lbl_8063F468-_SDA_BASE_(r13) /* 801F4B1C 001F077C 41 82 00 5C */ beq lbl_801F4B78 /* 801F4B20 001F0780 80 C4 00 10 */ lwz r6, 0x10(r4) /* 801F4B24 001F0784 38 A0 00 00 */ li r5, 0 /* 801F4B28 001F0788 2C 06 00 00 */ cmpwi r6, 0 /* 801F4B2C 001F078C 41 82 00 4C */ beq lbl_801F4B78 /* 801F4B30 001F0790 48 00 00 18 */ b lbl_801F4B48 lbl_801F4B34: /* 801F4B34 001F0794 80 06 00 00 */ lwz r0, 0(r6) /* 801F4B38 001F0798 7C 00 18 40 */ cmplw r0, r3 /* 801F4B3C 001F079C 41 82 00 14 */ beq lbl_801F4B50 /* 801F4B40 001F07A0 7C C5 33 78 */ mr r5, r6 /* 801F4B44 001F07A4 80 C6 00 04 */ lwz r6, 4(r6) lbl_801F4B48: /* 801F4B48 001F07A8 2C 06 00 00 */ cmpwi r6, 0 /* 801F4B4C 001F07AC 40 82 FF E8 */ bne lbl_801F4B34 lbl_801F4B50: /* 801F4B50 001F07B0 2C 06 00 00 */ cmpwi r6, 0 /* 801F4B54 001F07B4 41 82 00 24 */ beq lbl_801F4B78 /* 801F4B58 001F07B8 2C 05 00 00 */ cmpwi r5, 0 /* 801F4B5C 001F07BC 80 06 00 04 */ lwz r0, 4(r6) /* 801F4B60 001F07C0 41 82 00 0C */ beq lbl_801F4B6C /* 801F4B64 001F07C4 90 05 00 04 */ stw r0, 4(r5) /* 801F4B68 001F07C8 48 00 00 08 */ b lbl_801F4B70 lbl_801F4B6C: /* 801F4B6C 001F07CC 90 04 00 10 */ stw r0, 0x10(r4) lbl_801F4B70: /* 801F4B70 001F07D0 7C C3 33 78 */ mr r3, r6 /* 801F4B74 001F07D4 48 05 51 95 */ bl func_80249D08 lbl_801F4B78: /* 801F4B78 001F07D8 7F A3 EB 78 */ mr r3, r29 /* 801F4B7C 001F07DC 48 00 BC DD */ bl func_80200858 /* 801F4B80 001F07E0 7F A3 EB 78 */ mr r3, r29 /* 801F4B84 001F07E4 48 00 ED CD */ bl func_80203950 /* 801F4B88 001F07E8 80 7D 00 44 */ lwz r3, 0x44(r29) /* 801F4B8C 001F07EC 2C 03 00 00 */ cmpwi r3, 0 /* 801F4B90 001F07F0 41 82 00 08 */ beq lbl_801F4B98 /* 801F4B94 001F07F4 48 04 97 3D */ bl func_8023E2D0 lbl_801F4B98: /* 801F4B98 001F07F8 80 7D 00 48 */ lwz r3, 0x48(r29) /* 801F4B9C 001F07FC 2C 03 00 00 */ cmpwi r3, 0 /* 801F4BA0 001F0800 41 82 00 08 */ beq lbl_801F4BA8 /* 801F4BA4 001F0804 48 04 97 2D */ bl func_8023E2D0 lbl_801F4BA8: /* 801F4BA8 001F0808 80 9D 00 0C */ lwz r4, 0xc(r29) /* 801F4BAC 001F080C 2C 04 00 00 */ cmpwi r4, 0 /* 801F4BB0 001F0810 41 82 00 14 */ beq lbl_801F4BC4 /* 801F4BB4 001F0814 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 801F4BB8 001F0818 4B FE 61 91 */ bl func_801DAD48 /* 801F4BBC 001F081C 38 00 00 00 */ li r0, 0 /* 801F4BC0 001F0820 90 1D 00 0C */ stw r0, 0xc(r29) lbl_801F4BC4: /* 801F4BC4 001F0824 80 7D 00 08 */ lwz r3, 8(r29) /* 801F4BC8 001F0828 80 63 00 00 */ lwz r3, 0(r3) /* 801F4BCC 001F082C 2C 03 00 00 */ cmpwi r3, 0 /* 801F4BD0 001F0830 41 82 00 28 */ beq lbl_801F4BF8 /* 801F4BD4 001F0834 41 82 00 18 */ beq lbl_801F4BEC /* 801F4BD8 001F0838 81 83 01 00 */ lwz r12, 0x100(r3) /* 801F4BDC 001F083C 38 80 00 01 */ li r4, 1 /* 801F4BE0 001F0840 81 8C 00 08 */ lwz r12, 8(r12) /* 801F4BE4 001F0844 7D 89 03 A6 */ mtctr r12 /* 801F4BE8 001F0848 4E 80 04 21 */ bctrl lbl_801F4BEC: /* 801F4BEC 001F084C 80 7D 00 08 */ lwz r3, 8(r29) /* 801F4BF0 001F0850 38 00 00 00 */ li r0, 0 /* 801F4BF4 001F0854 90 03 00 00 */ stw r0, 0(r3) lbl_801F4BF8: /* 801F4BF8 001F0858 80 9D 00 08 */ lwz r4, 8(r29) /* 801F4BFC 001F085C 2C 04 00 00 */ cmpwi r4, 0 /* 801F4C00 001F0860 41 82 00 14 */ beq lbl_801F4C14 /* 801F4C04 001F0864 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 801F4C08 001F0868 4B FE 61 41 */ bl func_801DAD48 /* 801F4C0C 001F086C 38 00 00 00 */ li r0, 0 /* 801F4C10 001F0870 90 1D 00 08 */ stw r0, 8(r29) lbl_801F4C14: /* 801F4C14 001F0874 34 1D 00 38 */ addic. r0, r29, 0x38 /* 801F4C18 001F0878 41 82 00 28 */ beq lbl_801F4C40 /* 801F4C1C 001F087C 80 7D 00 38 */ lwz r3, 0x38(r29) /* 801F4C20 001F0880 48 00 00 10 */ b lbl_801F4C30 lbl_801F4C24: /* 801F4C24 001F0884 83 E3 00 04 */ lwz r31, 4(r3) /* 801F4C28 001F0888 48 05 50 E1 */ bl func_80249D08 /* 801F4C2C 001F088C 7F E3 FB 78 */ mr r3, r31 lbl_801F4C30: /* 801F4C30 001F0890 2C 03 00 00 */ cmpwi r3, 0 /* 801F4C34 001F0894 40 82 FF F0 */ bne lbl_801F4C24 /* 801F4C38 001F0898 38 00 00 00 */ li r0, 0 /* 801F4C3C 001F089C 90 1D 00 38 */ stw r0, 0x38(r29) lbl_801F4C40: /* 801F4C40 001F08A0 34 1D 00 30 */ addic. r0, r29, 0x30 /* 801F4C44 001F08A4 41 82 00 20 */ beq lbl_801F4C64 /* 801F4C48 001F08A8 80 7D 00 30 */ lwz r3, 0x30(r29) /* 801F4C4C 001F08AC 48 00 00 10 */ b lbl_801F4C5C lbl_801F4C50: /* 801F4C50 001F08B0 83 E3 00 08 */ lwz r31, 8(r3) /* 801F4C54 001F08B4 48 05 50 B5 */ bl func_80249D08 /* 801F4C58 001F08B8 7F E3 FB 78 */ mr r3, r31 lbl_801F4C5C: /* 801F4C5C 001F08BC 2C 03 00 00 */ cmpwi r3, 0 /* 801F4C60 001F08C0 40 82 FF F0 */ bne lbl_801F4C50 lbl_801F4C64: /* 801F4C64 001F08C4 2C 1E 00 00 */ cmpwi r30, 0 /* 801F4C68 001F08C8 40 81 00 10 */ ble lbl_801F4C78 /* 801F4C6C 001F08CC 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 801F4C70 001F08D0 7F A4 EB 78 */ mr r4, r29 /* 801F4C74 001F08D4 4B FE 60 D5 */ bl func_801DAD48 lbl_801F4C78: /* 801F4C78 001F08D8 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801F4C7C 001F08DC 7F A3 EB 78 */ mr r3, r29 /* 801F4C80 001F08E0 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801F4C84 001F08E4 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801F4C88 001F08E8 80 01 00 24 */ lwz r0, 0x24(r1) /* 801F4C8C 001F08EC 7C 08 03 A6 */ mtlr r0 /* 801F4C90 001F08F0 38 21 00 20 */ addi r1, r1, 0x20 /* 801F4C94 001F08F4 4E 80 00 20 */ blr .global func_801F4C98 func_801F4C98: /* 801F4C98 001F08F8 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801F4C9C 001F08FC 7C 08 02 A6 */ mflr r0 /* 801F4CA0 001F0900 90 01 00 34 */ stw r0, 0x34(r1) /* 801F4CA4 001F0904 93 E1 00 2C */ stw r31, 0x2c(r1) /* 801F4CA8 001F0908 93 C1 00 28 */ stw r30, 0x28(r1) /* 801F4CAC 001F090C 7C 9E 23 78 */ mr r30, r4 /* 801F4CB0 001F0910 93 A1 00 24 */ stw r29, 0x24(r1) /* 801F4CB4 001F0914 7C 7D 1B 78 */ mr r29, r3 /* 801F4CB8 001F0918 80 03 00 00 */ lwz r0, 0(r3) /* 801F4CBC 001F091C 2C 00 00 00 */ cmpwi r0, 0 /* 801F4CC0 001F0920 41 82 01 18 */ beq lbl_801F4DD8 /* 801F4CC4 001F0924 38 63 01 2C */ addi r3, r3, 0x12c /* 801F4CC8 001F0928 38 9D 01 20 */ addi r4, r29, 0x120 /* 801F4CCC 001F092C 38 A1 00 0C */ addi r5, r1, 0xc /* 801F4CD0 001F0930 48 08 80 19 */ bl PSVECSubtract /* 801F4CD4 001F0934 C0 21 00 0C */ lfs f1, 0xc(r1) /* 801F4CD8 001F0938 C0 02 98 00 */ lfs f0, lbl_80641E00-_SDA2_BASE_(r2) /* 801F4CDC 001F093C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801F4CE0 001F0940 40 80 00 0C */ bge lbl_801F4CEC /* 801F4CE4 001F0944 FC 00 08 50 */ fneg f0, f1 /* 801F4CE8 001F0948 D0 01 00 0C */ stfs f0, 0xc(r1) lbl_801F4CEC: /* 801F4CEC 001F094C C0 21 00 10 */ lfs f1, 0x10(r1) /* 801F4CF0 001F0950 C0 02 98 00 */ lfs f0, lbl_80641E00-_SDA2_BASE_(r2) /* 801F4CF4 001F0954 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801F4CF8 001F0958 40 80 00 0C */ bge lbl_801F4D04 /* 801F4CFC 001F095C FC 00 08 50 */ fneg f0, f1 /* 801F4D00 001F0960 D0 01 00 10 */ stfs f0, 0x10(r1) lbl_801F4D04: /* 801F4D04 001F0964 C0 21 00 14 */ lfs f1, 0x14(r1) /* 801F4D08 001F0968 C0 02 98 00 */ lfs f0, lbl_80641E00-_SDA2_BASE_(r2) /* 801F4D0C 001F096C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801F4D10 001F0970 40 80 00 0C */ bge lbl_801F4D1C /* 801F4D14 001F0974 FC 00 08 50 */ fneg f0, f1 /* 801F4D18 001F0978 D0 01 00 14 */ stfs f0, 0x14(r1) lbl_801F4D1C: /* 801F4D1C 001F097C C0 21 00 0C */ lfs f1, 0xc(r1) /* 801F4D20 001F0980 C0 01 00 14 */ lfs f0, 0x14(r1) /* 801F4D24 001F0984 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801F4D28 001F0988 40 81 00 08 */ ble lbl_801F4D30 /* 801F4D2C 001F098C 48 00 00 08 */ b lbl_801F4D34 lbl_801F4D30: /* 801F4D30 001F0990 FC 20 00 90 */ fmr f1, f0 lbl_801F4D34: /* 801F4D34 001F0994 EC 41 00 72 */ fmuls f2, f1, f1 /* 801F4D38 001F0998 C0 02 98 10 */ lfs f0, lbl_80641E10-_SDA2_BASE_(r2) /* 801F4D3C 001F099C C0 21 00 10 */ lfs f1, 0x10(r1) /* 801F4D40 001F09A0 C0 62 98 00 */ lfs f3, lbl_80641E00-_SDA2_BASE_(r2) /* 801F4D44 001F09A4 EC 00 00 72 */ fmuls f0, f0, f1 /* 801F4D48 001F09A8 EC 00 00 72 */ fmuls f0, f0, f1 /* 801F4D4C 001F09AC EC 22 00 2A */ fadds f1, f2, f0 /* 801F4D50 001F09B0 FC 01 18 40 */ fcmpo cr0, f1, f3 /* 801F4D54 001F09B4 4C 40 13 82 */ cror 2, 0, 2 /* 801F4D58 001F09B8 40 82 00 08 */ bne lbl_801F4D60 /* 801F4D5C 001F09BC 48 00 00 0C */ b lbl_801F4D68 lbl_801F4D60: /* 801F4D60 001F09C0 4B FD FA D5 */ bl sqrt /* 801F4D64 001F09C4 FC 60 08 18 */ frsp f3, f1 lbl_801F4D68: /* 801F4D68 001F09C8 C0 02 98 14 */ lfs f0, lbl_80641E14-_SDA2_BASE_(r2) /* 801F4D6C 001F09CC EC 00 18 2A */ fadds f0, f0, f3 /* 801F4D70 001F09D0 F0 01 B0 08 */ psq_st f0, 8(r1), 1, qr3 /* 801F4D74 001F09D4 A0 01 00 08 */ lhz r0, 8(r1) /* 801F4D78 001F09D8 54 03 2C 34 */ rlwinm r3, r0, 5, 0x10, 0x1a /* 801F4D7C 001F09DC 38 03 00 07 */ addi r0, r3, 7 /* 801F4D80 001F09E0 54 1F 04 38 */ rlwinm r31, r0, 0, 0x10, 0x1c /* 801F4D84 001F09E4 28 1F 02 10 */ cmplwi r31, 0x210 /* 801F4D88 001F09E8 40 81 00 08 */ ble lbl_801F4D90 /* 801F4D8C 001F09EC 3B E0 02 10 */ li r31, 0x210 lbl_801F4D90: /* 801F4D90 001F09F0 7F E3 FB 78 */ mr r3, r31 /* 801F4D94 001F09F4 38 A0 00 A8 */ li r5, 0xa8 /* 801F4D98 001F09F8 7C 64 1B 78 */ mr r4, r3 /* 801F4D9C 001F09FC 38 C0 00 00 */ li r6, 0 /* 801F4DA0 001F0A00 38 E0 00 00 */ li r7, 0 /* 801F4DA4 001F0A04 39 00 00 01 */ li r8, 1 /* 801F4DA8 001F0A08 48 04 8B CD */ bl func_8023D974 /* 801F4DAC 001F0A0C 2C 1E 00 00 */ cmpwi r30, 0 /* 801F4DB0 001F0A10 90 7D 00 44 */ stw r3, 0x44(r29) /* 801F4DB4 001F0A14 41 82 00 24 */ beq lbl_801F4DD8 /* 801F4DB8 001F0A18 7F E3 FB 78 */ mr r3, r31 /* 801F4DBC 001F0A1C 38 A0 00 A4 */ li r5, 0xa4 /* 801F4DC0 001F0A20 7C 64 1B 78 */ mr r4, r3 /* 801F4DC4 001F0A24 38 C0 00 00 */ li r6, 0 /* 801F4DC8 001F0A28 38 E0 00 00 */ li r7, 0 /* 801F4DCC 001F0A2C 39 00 00 01 */ li r8, 1 /* 801F4DD0 001F0A30 48 04 8B A5 */ bl func_8023D974 /* 801F4DD4 001F0A34 90 7D 00 48 */ stw r3, 0x48(r29) lbl_801F4DD8: /* 801F4DD8 001F0A38 80 01 00 34 */ lwz r0, 0x34(r1) /* 801F4DDC 001F0A3C 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 801F4DE0 001F0A40 83 C1 00 28 */ lwz r30, 0x28(r1) /* 801F4DE4 001F0A44 83 A1 00 24 */ lwz r29, 0x24(r1) /* 801F4DE8 001F0A48 7C 08 03 A6 */ mtlr r0 /* 801F4DEC 001F0A4C 38 21 00 30 */ addi r1, r1, 0x30 /* 801F4DF0 001F0A50 4E 80 00 20 */ blr .global func_801F4DF4 func_801F4DF4: /* 801F4DF4 001F0A54 94 21 FF 90 */ stwu r1, -0x70(r1) /* 801F4DF8 001F0A58 7C 08 02 A6 */ mflr r0 /* 801F4DFC 001F0A5C 90 01 00 74 */ stw r0, 0x74(r1) /* 801F4E00 001F0A60 DB E1 00 60 */ stfd f31, 0x60(r1) /* 801F4E04 001F0A64 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0 /* 801F4E08 001F0A68 DB C1 00 50 */ stfd f30, 0x50(r1) /* 801F4E0C 001F0A6C F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0 /* 801F4E10 001F0A70 39 61 00 50 */ addi r11, r1, 0x50 /* 801F4E14 001F0A74 4B FD 22 ED */ bl _savegpr_17 /* 801F4E18 001F0A78 81 23 00 04 */ lwz r9, 4(r3) /* 801F4E1C 001F0A7C FF C0 08 90 */ fmr f30, f1 /* 801F4E20 001F0A80 FF E0 10 90 */ fmr f31, f2 /* 801F4E24 001F0A84 7C 7F 1B 78 */ mr r31, r3 /* 801F4E28 001F0A88 2C 09 00 00 */ cmpwi r9, 0 /* 801F4E2C 001F0A8C 7C 93 23 78 */ mr r19, r4 /* 801F4E30 001F0A90 7C B4 2B 78 */ mr r20, r5 /* 801F4E34 001F0A94 7C D5 33 78 */ mr r21, r6 /* 801F4E38 001F0A98 7C F6 3B 78 */ mr r22, r7 /* 801F4E3C 001F0A9C 7D 17 43 78 */ mr r23, r8 /* 801F4E40 001F0AA0 40 82 00 0C */ bne lbl_801F4E4C /* 801F4E44 001F0AA4 3B C0 00 00 */ li r30, 0 /* 801F4E48 001F0AA8 48 00 00 24 */ b lbl_801F4E6C lbl_801F4E4C: /* 801F4E4C 001F0AAC A0 09 00 08 */ lhz r0, 8(r9) /* 801F4E50 001F0AB0 7C 04 00 40 */ cmplw r4, r0 /* 801F4E54 001F0AB4 41 80 00 0C */ blt lbl_801F4E60 /* 801F4E58 001F0AB8 3B C0 00 00 */ li r30, 0 /* 801F4E5C 001F0ABC 48 00 00 10 */ b lbl_801F4E6C lbl_801F4E60: /* 801F4E60 001F0AC0 1C 04 00 30 */ mulli r0, r4, 0x30 /* 801F4E64 001F0AC4 80 69 00 0C */ lwz r3, 0xc(r9) /* 801F4E68 001F0AC8 7F C3 02 14 */ add r30, r3, r0 lbl_801F4E6C: /* 801F4E6C 001F0ACC 2C 1E 00 00 */ cmpwi r30, 0 /* 801F4E70 001F0AD0 41 82 04 CC */ beq lbl_801F533C /* 801F4E74 001F0AD4 88 1E 00 29 */ lbz r0, 0x29(r30) /* 801F4E78 001F0AD8 2C 00 00 00 */ cmpwi r0, 0 /* 801F4E7C 001F0ADC 41 82 01 FC */ beq lbl_801F5078 /* 801F4E80 001F0AE0 A3 BE 00 18 */ lhz r29, 0x18(r30) /* 801F4E84 001F0AE4 83 5E 00 10 */ lwz r26, 0x10(r30) /* 801F4E88 001F0AE8 2C 1D 00 00 */ cmpwi r29, 0 /* 801F4E8C 001F0AEC 41 82 00 0C */ beq lbl_801F4E98 /* 801F4E90 001F0AF0 2C 1A 00 00 */ cmpwi r26, 0 /* 801F4E94 001F0AF4 40 82 00 BC */ bne lbl_801F4F50 lbl_801F4E98: /* 801F4E98 001F0AF8 3B 60 00 00 */ li r27, 0 /* 801F4E9C 001F0AFC 48 00 00 6C */ b lbl_801F4F08 lbl_801F4EA0: /* 801F4EA0 001F0B00 80 7F 00 08 */ lwz r3, 8(r31) /* 801F4EA4 001F0B04 57 60 13 BA */ rlwinm r0, r27, 2, 0xe, 0x1d /* 801F4EA8 001F0B08 7E 23 00 2E */ lwzx r17, r3, r0 /* 801F4EAC 001F0B0C 2C 11 00 00 */ cmpwi r17, 0 /* 801F4EB0 001F0B10 41 82 00 54 */ beq lbl_801F4F04 /* 801F4EB4 001F0B14 FC 20 F0 90 */ fmr f1, f30 /* 801F4EB8 001F0B18 7E 23 8B 78 */ mr r3, r17 /* 801F4EBC 001F0B1C FC 40 F8 90 */ fmr f2, f31 /* 801F4EC0 001F0B20 7E 64 9B 78 */ mr r4, r19 /* 801F4EC4 001F0B24 7E 85 A3 78 */ mr r5, r20 /* 801F4EC8 001F0B28 4B FE 8F 85 */ bl func_801DDE4C__13GSblendObjectFUsUsff /* 801F4ECC 001F0B2C 2C 15 00 00 */ cmpwi r21, 0 /* 801F4ED0 001F0B30 41 82 00 34 */ beq lbl_801F4F04 /* 801F4ED4 001F0B34 80 71 00 04 */ lwz r3, 4(r17) /* 801F4ED8 001F0B38 2C 03 00 00 */ cmpwi r3, 0 /* 801F4EDC 001F0B3C 41 82 00 10 */ beq lbl_801F4EEC /* 801F4EE0 001F0B40 A0 03 00 06 */ lhz r0, 6(r3) /* 801F4EE4 001F0B44 60 00 00 10 */ ori r0, r0, 0x10 /* 801F4EE8 001F0B48 B0 03 00 06 */ sth r0, 6(r3) lbl_801F4EEC: /* 801F4EEC 001F0B4C 80 71 00 08 */ lwz r3, 8(r17) /* 801F4EF0 001F0B50 2C 03 00 00 */ cmpwi r3, 0 /* 801F4EF4 001F0B54 41 82 00 10 */ beq lbl_801F4F04 /* 801F4EF8 001F0B58 A0 03 00 06 */ lhz r0, 6(r3) /* 801F4EFC 001F0B5C 60 00 00 10 */ ori r0, r0, 0x10 /* 801F4F00 001F0B60 B0 03 00 06 */ sth r0, 6(r3) lbl_801F4F04: /* 801F4F04 001F0B64 3B 7B 00 01 */ addi r27, r27, 1 lbl_801F4F08: /* 801F4F08 001F0B68 A0 1F 00 DE */ lhz r0, 0xde(r31) /* 801F4F0C 001F0B6C 57 63 04 3E */ clrlwi r3, r27, 0x10 /* 801F4F10 001F0B70 7C 03 00 40 */ cmplw r3, r0 /* 801F4F14 001F0B74 41 80 FF 8C */ blt lbl_801F4EA0 /* 801F4F18 001F0B78 B2 7F 00 F0 */ sth r19, 0xf0(r31) /* 801F4F1C 001F0B7C 3C 60 00 01 */ lis r3, 0x0000FFFF@ha /* 801F4F20 001F0B80 C0 22 98 00 */ lfs f1, lbl_80641E00-_SDA2_BASE_(r2) /* 801F4F24 001F0B84 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l /* 801F4F28 001F0B88 92 9F 00 F4 */ stw r20, 0xf4(r31) /* 801F4F2C 001F0B8C C0 02 98 04 */ lfs f0, lbl_80641E04-_SDA2_BASE_(r2) /* 801F4F30 001F0B90 D3 DF 00 F8 */ stfs f30, 0xf8(r31) /* 801F4F34 001F0B94 C0 5E 00 0C */ lfs f2, 0xc(r30) /* 801F4F38 001F0B98 D0 5F 00 FC */ stfs f2, 0xfc(r31) /* 801F4F3C 001F0B9C D3 FF 01 00 */ stfs f31, 0x100(r31) /* 801F4F40 001F0BA0 B0 1F 01 04 */ sth r0, 0x104(r31) /* 801F4F44 001F0BA4 D0 3F 01 18 */ stfs f1, 0x118(r31) /* 801F4F48 001F0BA8 D0 1F 01 1C */ stfs f0, 0x11c(r31) /* 801F4F4C 001F0BAC 48 00 01 2C */ b lbl_801F5078 lbl_801F4F50: /* 801F4F50 001F0BB0 8B 3E 00 2B */ lbz r25, 0x2b(r30) /* 801F4F54 001F0BB4 3B 60 00 00 */ li r27, 0 /* 801F4F58 001F0BB8 48 00 01 14 */ b lbl_801F506C lbl_801F4F5C: /* 801F4F5C 001F0BBC 57 60 0B FC */ rlwinm r0, r27, 1, 0xf, 0x1e /* 801F4F60 001F0BC0 80 7F 00 08 */ lwz r3, 8(r31) /* 801F4F64 001F0BC4 7C 1A 02 2E */ lhzx r0, r26, r0 /* 801F4F68 001F0BC8 54 00 10 3A */ slwi r0, r0, 2 /* 801F4F6C 001F0BCC 7F 83 00 2E */ lwzx r28, r3, r0 /* 801F4F70 001F0BD0 2C 1C 00 00 */ cmpwi r28, 0 /* 801F4F74 001F0BD4 41 82 00 F4 */ beq lbl_801F5068 /* 801F4F78 001F0BD8 FC 20 F0 90 */ fmr f1, f30 /* 801F4F7C 001F0BDC 7F 83 E3 78 */ mr r3, r28 /* 801F4F80 001F0BE0 FC 40 F8 90 */ fmr f2, f31 /* 801F4F84 001F0BE4 7E 64 9B 78 */ mr r4, r19 /* 801F4F88 001F0BE8 7E 85 A3 78 */ mr r5, r20 /* 801F4F8C 001F0BEC 4B FE 8E C1 */ bl func_801DDE4C__13GSblendObjectFUsUsff /* 801F4F90 001F0BF0 2C 15 00 00 */ cmpwi r21, 0 /* 801F4F94 001F0BF4 41 82 00 34 */ beq lbl_801F4FC8 /* 801F4F98 001F0BF8 80 7C 00 04 */ lwz r3, 4(r28) /* 801F4F9C 001F0BFC 2C 03 00 00 */ cmpwi r3, 0 /* 801F4FA0 001F0C00 41 82 00 10 */ beq lbl_801F4FB0 /* 801F4FA4 001F0C04 A0 03 00 06 */ lhz r0, 6(r3) /* 801F4FA8 001F0C08 60 00 00 10 */ ori r0, r0, 0x10 /* 801F4FAC 001F0C0C B0 03 00 06 */ sth r0, 6(r3) lbl_801F4FB0: /* 801F4FB0 001F0C10 80 7C 00 08 */ lwz r3, 8(r28) /* 801F4FB4 001F0C14 2C 03 00 00 */ cmpwi r3, 0 /* 801F4FB8 001F0C18 41 82 00 10 */ beq lbl_801F4FC8 /* 801F4FBC 001F0C1C A0 03 00 06 */ lhz r0, 6(r3) /* 801F4FC0 001F0C20 60 00 00 10 */ ori r0, r0, 0x10 /* 801F4FC4 001F0C24 B0 03 00 06 */ sth r0, 6(r3) lbl_801F4FC8: /* 801F4FC8 001F0C28 2C 19 00 00 */ cmpwi r25, 0 /* 801F4FCC 001F0C2C 41 82 00 9C */ beq lbl_801F5068 /* 801F4FD0 001F0C30 88 1C 00 12 */ lbz r0, 0x12(r28) /* 801F4FD4 001F0C34 2C 00 00 03 */ cmpwi r0, 3 /* 801F4FD8 001F0C38 40 82 00 08 */ bne lbl_801F4FE0 /* 801F4FDC 001F0C3C 48 00 00 08 */ b lbl_801F4FE4 lbl_801F4FE0: /* 801F4FE0 001F0C40 3B 80 00 00 */ li r28, 0 lbl_801F4FE4: /* 801F4FE4 001F0C44 2C 1C 00 00 */ cmpwi r28, 0 /* 801F4FE8 001F0C48 41 82 00 80 */ beq lbl_801F5068 /* 801F4FEC 001F0C4C 7F 83 E3 78 */ mr r3, r28 /* 801F4FF0 001F0C50 4B FF B3 31 */ bl func_801F0320 /* 801F4FF4 001F0C54 54 72 04 3E */ clrlwi r18, r3, 0x10 /* 801F4FF8 001F0C58 3B 00 00 00 */ li r24, 0 /* 801F4FFC 001F0C5C 48 00 00 60 */ b lbl_801F505C lbl_801F5000: /* 801F5000 001F0C60 7F 83 E3 78 */ mr r3, r28 /* 801F5004 001F0C64 57 04 04 3E */ clrlwi r4, r24, 0x10 /* 801F5008 001F0C68 4B FF B2 E9 */ bl func_801F02F0 /* 801F500C 001F0C6C 2C 03 00 00 */ cmpwi r3, 0 /* 801F5010 001F0C70 41 82 00 48 */ beq lbl_801F5058 /* 801F5014 001F0C74 82 23 00 14 */ lwz r17, 0x14(r3) /* 801F5018 001F0C78 2C 11 00 00 */ cmpwi r17, 0 /* 801F501C 001F0C7C 41 82 00 3C */ beq lbl_801F5058 /* 801F5020 001F0C80 FC 20 F0 90 */ fmr f1, f30 /* 801F5024 001F0C84 7E 23 8B 78 */ mr r3, r17 /* 801F5028 001F0C88 FC 40 F8 90 */ fmr f2, f31 /* 801F502C 001F0C8C 7E 64 9B 78 */ mr r4, r19 /* 801F5030 001F0C90 7E 85 A3 78 */ mr r5, r20 /* 801F5034 001F0C94 4B FE 8A 89 */ bl func_801DDABC__17GSanimationObjectFUsUsff /* 801F5038 001F0C98 2C 16 00 00 */ cmpwi r22, 0 /* 801F503C 001F0C9C 41 82 00 1C */ beq lbl_801F5058 /* 801F5040 001F0CA0 80 71 00 04 */ lwz r3, 4(r17) /* 801F5044 001F0CA4 2C 03 00 00 */ cmpwi r3, 0 /* 801F5048 001F0CA8 41 82 00 10 */ beq lbl_801F5058 /* 801F504C 001F0CAC A0 03 00 06 */ lhz r0, 6(r3) /* 801F5050 001F0CB0 60 00 00 10 */ ori r0, r0, 0x10 /* 801F5054 001F0CB4 B0 03 00 06 */ sth r0, 6(r3) lbl_801F5058: /* 801F5058 001F0CB8 3B 18 00 01 */ addi r24, r24, 1 lbl_801F505C: /* 801F505C 001F0CBC 57 00 04 3E */ clrlwi r0, r24, 0x10 /* 801F5060 001F0CC0 7C 00 90 40 */ cmplw r0, r18 /* 801F5064 001F0CC4 41 80 FF 9C */ blt lbl_801F5000 lbl_801F5068: /* 801F5068 001F0CC8 3B 7B 00 01 */ addi r27, r27, 1 lbl_801F506C: /* 801F506C 001F0CCC 57 60 04 3E */ clrlwi r0, r27, 0x10 /* 801F5070 001F0CD0 7C 00 E8 40 */ cmplw r0, r29 /* 801F5074 001F0CD4 41 80 FE E8 */ blt lbl_801F4F5C lbl_801F5078: /* 801F5078 001F0CD8 88 1E 00 2A */ lbz r0, 0x2a(r30) /* 801F507C 001F0CDC 2C 00 00 00 */ cmpwi r0, 0 /* 801F5080 001F0CE0 41 82 00 FC */ beq lbl_801F517C /* 801F5084 001F0CE4 A3 BE 00 1A */ lhz r29, 0x1a(r30) /* 801F5088 001F0CE8 83 9E 00 14 */ lwz r28, 0x14(r30) /* 801F508C 001F0CEC 2C 1D 00 00 */ cmpwi r29, 0 /* 801F5090 001F0CF0 41 82 00 0C */ beq lbl_801F509C /* 801F5094 001F0CF4 2C 1C 00 00 */ cmpwi r28, 0 /* 801F5098 001F0CF8 40 82 00 74 */ bne lbl_801F510C lbl_801F509C: /* 801F509C 001F0CFC 3A 40 00 00 */ li r18, 0 /* 801F50A0 001F0D00 48 00 00 58 */ b lbl_801F50F8 lbl_801F50A4: /* 801F50A4 001F0D04 80 7F 00 1C */ lwz r3, 0x1c(r31) /* 801F50A8 001F0D08 56 40 13 BA */ rlwinm r0, r18, 2, 0xe, 0x1d /* 801F50AC 001F0D0C 7C 63 00 2E */ lwzx r3, r3, r0 /* 801F50B0 001F0D10 82 23 00 14 */ lwz r17, 0x14(r3) /* 801F50B4 001F0D14 2C 11 00 00 */ cmpwi r17, 0 /* 801F50B8 001F0D18 41 82 00 3C */ beq lbl_801F50F4 /* 801F50BC 001F0D1C FC 20 F0 90 */ fmr f1, f30 /* 801F50C0 001F0D20 7E 23 8B 78 */ mr r3, r17 /* 801F50C4 001F0D24 FC 40 F8 90 */ fmr f2, f31 /* 801F50C8 001F0D28 7E 64 9B 78 */ mr r4, r19 /* 801F50CC 001F0D2C 7E 85 A3 78 */ mr r5, r20 /* 801F50D0 001F0D30 4B FE 89 ED */ bl func_801DDABC__17GSanimationObjectFUsUsff /* 801F50D4 001F0D34 2C 16 00 00 */ cmpwi r22, 0 /* 801F50D8 001F0D38 41 82 00 1C */ beq lbl_801F50F4 /* 801F50DC 001F0D3C 80 71 00 04 */ lwz r3, 4(r17) /* 801F50E0 001F0D40 2C 03 00 00 */ cmpwi r3, 0 /* 801F50E4 001F0D44 41 82 00 10 */ beq lbl_801F50F4 /* 801F50E8 001F0D48 A0 03 00 06 */ lhz r0, 6(r3) /* 801F50EC 001F0D4C 60 00 00 10 */ ori r0, r0, 0x10 /* 801F50F0 001F0D50 B0 03 00 06 */ sth r0, 6(r3) lbl_801F50F4: /* 801F50F4 001F0D54 3A 52 00 01 */ addi r18, r18, 1 lbl_801F50F8: /* 801F50F8 001F0D58 A0 1F 00 E6 */ lhz r0, 0xe6(r31) /* 801F50FC 001F0D5C 56 43 04 3E */ clrlwi r3, r18, 0x10 /* 801F5100 001F0D60 7C 03 00 40 */ cmplw r3, r0 /* 801F5104 001F0D64 41 80 FF A0 */ blt lbl_801F50A4 /* 801F5108 001F0D68 48 00 00 74 */ b lbl_801F517C lbl_801F510C: /* 801F510C 001F0D6C 3B 60 00 00 */ li r27, 0 /* 801F5110 001F0D70 48 00 00 60 */ b lbl_801F5170 lbl_801F5114: /* 801F5114 001F0D74 57 60 0B FC */ rlwinm r0, r27, 1, 0xf, 0x1e /* 801F5118 001F0D78 80 7F 00 1C */ lwz r3, 0x1c(r31) /* 801F511C 001F0D7C 7C 1C 02 2E */ lhzx r0, r28, r0 /* 801F5120 001F0D80 54 00 10 3A */ slwi r0, r0, 2 /* 801F5124 001F0D84 7C 63 00 2E */ lwzx r3, r3, r0 /* 801F5128 001F0D88 82 23 00 14 */ lwz r17, 0x14(r3) /* 801F512C 001F0D8C 2C 11 00 00 */ cmpwi r17, 0 /* 801F5130 001F0D90 41 82 00 3C */ beq lbl_801F516C /* 801F5134 001F0D94 FC 20 F0 90 */ fmr f1, f30 /* 801F5138 001F0D98 7E 23 8B 78 */ mr r3, r17 /* 801F513C 001F0D9C FC 40 F8 90 */ fmr f2, f31 /* 801F5140 001F0DA0 7E 64 9B 78 */ mr r4, r19 /* 801F5144 001F0DA4 7E 85 A3 78 */ mr r5, r20 /* 801F5148 001F0DA8 4B FE 89 75 */ bl func_801DDABC__17GSanimationObjectFUsUsff /* 801F514C 001F0DAC 2C 16 00 00 */ cmpwi r22, 0 /* 801F5150 001F0DB0 41 82 00 1C */ beq lbl_801F516C /* 801F5154 001F0DB4 80 71 00 04 */ lwz r3, 4(r17) /* 801F5158 001F0DB8 2C 03 00 00 */ cmpwi r3, 0 /* 801F515C 001F0DBC 41 82 00 10 */ beq lbl_801F516C /* 801F5160 001F0DC0 A0 03 00 06 */ lhz r0, 6(r3) /* 801F5164 001F0DC4 60 00 00 10 */ ori r0, r0, 0x10 /* 801F5168 001F0DC8 B0 03 00 06 */ sth r0, 6(r3) lbl_801F516C: /* 801F516C 001F0DCC 3B 7B 00 01 */ addi r27, r27, 1 lbl_801F5170: /* 801F5170 001F0DD0 57 60 04 3E */ clrlwi r0, r27, 0x10 /* 801F5174 001F0DD4 7C 00 E8 40 */ cmplw r0, r29 /* 801F5178 001F0DD8 41 80 FF 9C */ blt lbl_801F5114 lbl_801F517C: /* 801F517C 001F0DDC 2C 17 00 00 */ cmpwi r23, 0 /* 801F5180 001F0DE0 40 82 01 BC */ bne lbl_801F533C /* 801F5184 001F0DE4 83 1E 00 1C */ lwz r24, 0x1c(r30) /* 801F5188 001F0DE8 2C 18 00 00 */ cmpwi r24, 0 /* 801F518C 001F0DEC 41 82 00 D0 */ beq lbl_801F525C /* 801F5190 001F0DF0 A3 BE 00 24 */ lhz r29, 0x24(r30) /* 801F5194 001F0DF4 3B 80 00 00 */ li r28, 0 /* 801F5198 001F0DF8 48 00 00 B8 */ b lbl_801F5250 lbl_801F519C: /* 801F519C 001F0DFC A0 18 00 04 */ lhz r0, 4(r24) /* 801F51A0 001F0E00 80 7F 00 08 */ lwz r3, 8(r31) /* 801F51A4 001F0E04 54 00 10 3A */ slwi r0, r0, 2 /* 801F51A8 001F0E08 7F 63 00 2E */ lwzx r27, r3, r0 /* 801F51AC 001F0E0C 2C 1B 00 00 */ cmpwi r27, 0 /* 801F51B0 001F0E10 41 82 00 98 */ beq lbl_801F5248 /* 801F51B4 001F0E14 88 1B 00 12 */ lbz r0, 0x12(r27) /* 801F51B8 001F0E18 2C 00 00 07 */ cmpwi r0, 7 /* 801F51BC 001F0E1C 40 82 00 08 */ bne lbl_801F51C4 /* 801F51C0 001F0E20 48 00 00 08 */ b lbl_801F51C8 lbl_801F51C4: /* 801F51C4 001F0E24 3B 60 00 00 */ li r27, 0 lbl_801F51C8: /* 801F51C8 001F0E28 2C 1B 00 00 */ cmpwi r27, 0 /* 801F51CC 001F0E2C 41 82 00 7C */ beq lbl_801F5248 /* 801F51D0 001F0E30 80 7B 01 38 */ lwz r3, 0x138(r27) /* 801F51D4 001F0E34 48 01 26 91 */ bl func_80207864 /* 801F51D8 001F0E38 2C 03 00 00 */ cmpwi r3, 0 /* 801F51DC 001F0E3C 41 82 00 54 */ beq lbl_801F5230 /* 801F51E0 001F0E40 80 1B 01 04 */ lwz r0, 0x104(r27) /* 801F51E4 001F0E44 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 801F51E8 001F0E48 41 82 00 0C */ beq lbl_801F51F4 /* 801F51EC 001F0E4C 38 00 00 01 */ li r0, 1 /* 801F51F0 001F0E50 48 00 00 28 */ b lbl_801F5218 lbl_801F51F4: /* 801F51F4 001F0E54 80 7B 01 38 */ lwz r3, 0x138(r27) /* 801F51F8 001F0E58 2C 03 00 00 */ cmpwi r3, 0 /* 801F51FC 001F0E5C 41 82 00 18 */ beq lbl_801F5214 /* 801F5200 001F0E60 A0 03 01 48 */ lhz r0, 0x148(r3) /* 801F5204 001F0E64 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 801F5208 001F0E68 41 82 00 0C */ beq lbl_801F5214 /* 801F520C 001F0E6C 38 00 00 01 */ li r0, 1 /* 801F5210 001F0E70 48 00 00 08 */ b lbl_801F5218 lbl_801F5214: /* 801F5214 001F0E74 38 00 00 00 */ li r0, 0 lbl_801F5218: /* 801F5218 001F0E78 2C 00 00 00 */ cmpwi r0, 0 /* 801F521C 001F0E7C 41 82 00 14 */ beq lbl_801F5230 /* 801F5220 001F0E80 80 1B 01 04 */ lwz r0, 0x104(r27) /* 801F5224 001F0E84 54 00 07 F8 */ rlwinm r0, r0, 0, 0x1f, 0x1c /* 801F5228 001F0E88 90 1B 01 04 */ stw r0, 0x104(r27) /* 801F522C 001F0E8C 48 00 00 1C */ b lbl_801F5248 lbl_801F5230: /* 801F5230 001F0E90 80 1B 01 04 */ lwz r0, 0x104(r27) /* 801F5234 001F0E94 C0 18 00 00 */ lfs f0, 0(r24) /* 801F5238 001F0E98 60 00 00 01 */ ori r0, r0, 1 /* 801F523C 001F0E9C 54 00 07 F8 */ rlwinm r0, r0, 0, 0x1f, 0x1c /* 801F5240 001F0EA0 90 1B 01 04 */ stw r0, 0x104(r27) /* 801F5244 001F0EA4 D0 1B 01 08 */ stfs f0, 0x108(r27) lbl_801F5248: /* 801F5248 001F0EA8 3B 9C 00 01 */ addi r28, r28, 1 /* 801F524C 001F0EAC 3B 18 00 08 */ addi r24, r24, 8 lbl_801F5250: /* 801F5250 001F0EB0 57 80 04 3E */ clrlwi r0, r28, 0x10 /* 801F5254 001F0EB4 7C 00 E8 40 */ cmplw r0, r29 /* 801F5258 001F0EB8 41 80 FF 44 */ blt lbl_801F519C lbl_801F525C: /* 801F525C 001F0EBC 83 7E 00 20 */ lwz r27, 0x20(r30) /* 801F5260 001F0EC0 2C 1B 00 00 */ cmpwi r27, 0 /* 801F5264 001F0EC4 41 82 00 D8 */ beq lbl_801F533C /* 801F5268 001F0EC8 A3 DE 00 26 */ lhz r30, 0x26(r30) /* 801F526C 001F0ECC 3B 80 00 00 */ li r28, 0 /* 801F5270 001F0ED0 48 00 00 C0 */ b lbl_801F5330 lbl_801F5274: /* 801F5274 001F0ED4 A0 1B 00 04 */ lhz r0, 4(r27) /* 801F5278 001F0ED8 80 7F 00 08 */ lwz r3, 8(r31) /* 801F527C 001F0EDC 54 00 10 3A */ slwi r0, r0, 2 /* 801F5280 001F0EE0 7E 23 00 2E */ lwzx r17, r3, r0 /* 801F5284 001F0EE4 2C 11 00 00 */ cmpwi r17, 0 /* 801F5288 001F0EE8 41 82 00 A0 */ beq lbl_801F5328 /* 801F528C 001F0EEC 88 11 00 12 */ lbz r0, 0x12(r17) /* 801F5290 001F0EF0 2C 00 00 07 */ cmpwi r0, 7 /* 801F5294 001F0EF4 40 82 00 08 */ bne lbl_801F529C /* 801F5298 001F0EF8 48 00 00 08 */ b lbl_801F52A0 lbl_801F529C: /* 801F529C 001F0EFC 3A 20 00 00 */ li r17, 0 lbl_801F52A0: /* 801F52A0 001F0F00 2C 11 00 00 */ cmpwi r17, 0 /* 801F52A4 001F0F04 41 82 00 84 */ beq lbl_801F5328 /* 801F52A8 001F0F08 80 11 01 04 */ lwz r0, 0x104(r17) /* 801F52AC 001F0F0C 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 801F52B0 001F0F10 41 82 00 0C */ beq lbl_801F52BC /* 801F52B4 001F0F14 38 00 00 01 */ li r0, 1 /* 801F52B8 001F0F18 48 00 00 28 */ b lbl_801F52E0 lbl_801F52BC: /* 801F52BC 001F0F1C 80 71 01 38 */ lwz r3, 0x138(r17) /* 801F52C0 001F0F20 2C 03 00 00 */ cmpwi r3, 0 /* 801F52C4 001F0F24 41 82 00 18 */ beq lbl_801F52DC /* 801F52C8 001F0F28 A0 03 01 48 */ lhz r0, 0x148(r3) /* 801F52CC 001F0F2C 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 801F52D0 001F0F30 41 82 00 0C */ beq lbl_801F52DC /* 801F52D4 001F0F34 38 00 00 01 */ li r0, 1 /* 801F52D8 001F0F38 48 00 00 08 */ b lbl_801F52E0 lbl_801F52DC: /* 801F52DC 001F0F3C 38 00 00 00 */ li r0, 0 lbl_801F52E0: /* 801F52E0 001F0F40 2C 00 00 00 */ cmpwi r0, 0 /* 801F52E4 001F0F44 41 82 00 44 */ beq lbl_801F5328 /* 801F52E8 001F0F48 80 71 01 38 */ lwz r3, 0x138(r17) /* 801F52EC 001F0F4C 48 01 25 79 */ bl func_80207864 /* 801F52F0 001F0F50 2C 03 00 00 */ cmpwi r3, 0 /* 801F52F4 001F0F54 41 82 00 20 */ beq lbl_801F5314 /* 801F52F8 001F0F58 80 11 01 04 */ lwz r0, 0x104(r17) /* 801F52FC 001F0F5C C0 1B 00 00 */ lfs f0, 0(r27) /* 801F5300 001F0F60 60 00 00 02 */ ori r0, r0, 2 /* 801F5304 001F0F64 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c /* 801F5308 001F0F68 90 11 01 04 */ stw r0, 0x104(r17) /* 801F530C 001F0F6C D0 11 01 0C */ stfs f0, 0x10c(r17) /* 801F5310 001F0F70 48 00 00 18 */ b lbl_801F5328 lbl_801F5314: /* 801F5314 001F0F74 80 11 01 04 */ lwz r0, 0x104(r17) /* 801F5318 001F0F78 C0 1B 00 00 */ lfs f0, 0(r27) /* 801F531C 001F0F7C 60 00 00 04 */ ori r0, r0, 4 /* 801F5320 001F0F80 90 11 01 04 */ stw r0, 0x104(r17) /* 801F5324 001F0F84 D0 11 01 10 */ stfs f0, 0x110(r17) lbl_801F5328: /* 801F5328 001F0F88 3B 9C 00 01 */ addi r28, r28, 1 /* 801F532C 001F0F8C 3B 7B 00 08 */ addi r27, r27, 8 lbl_801F5330: /* 801F5330 001F0F90 57 80 04 3E */ clrlwi r0, r28, 0x10 /* 801F5334 001F0F94 7C 00 F0 40 */ cmplw r0, r30 /* 801F5338 001F0F98 41 80 FF 3C */ blt lbl_801F5274 lbl_801F533C: /* 801F533C 001F0F9C E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0 /* 801F5340 001F0FA0 CB E1 00 60 */ lfd f31, 0x60(r1) /* 801F5344 001F0FA4 E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0 /* 801F5348 001F0FA8 39 61 00 50 */ addi r11, r1, 0x50 /* 801F534C 001F0FAC CB C1 00 50 */ lfd f30, 0x50(r1) /* 801F5350 001F0FB0 4B FD 1D FD */ bl _restgpr_17 /* 801F5354 001F0FB4 80 01 00 74 */ lwz r0, 0x74(r1) /* 801F5358 001F0FB8 7C 08 03 A6 */ mtlr r0 /* 801F535C 001F0FBC 38 21 00 70 */ addi r1, r1, 0x70 /* 801F5360 001F0FC0 4E 80 00 20 */ blr .global func_801F5364 func_801F5364: /* 801F5364 001F0FC4 94 21 FF A0 */ stwu r1, -0x60(r1) /* 801F5368 001F0FC8 7C 08 02 A6 */ mflr r0 /* 801F536C 001F0FCC 90 01 00 64 */ stw r0, 0x64(r1) /* 801F5370 001F0FD0 DB E1 00 50 */ stfd f31, 0x50(r1) /* 801F5374 001F0FD4 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0 /* 801F5378 001F0FD8 DB C1 00 40 */ stfd f30, 0x40(r1) /* 801F537C 001F0FDC F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0 /* 801F5380 001F0FE0 39 61 00 40 */ addi r11, r1, 0x40 /* 801F5384 001F0FE4 4B FD 1D 8D */ bl _savegpr_21 /* 801F5388 001F0FE8 81 63 00 04 */ lwz r11, 4(r3) /* 801F538C 001F0FEC FF C0 08 90 */ fmr f30, f1 /* 801F5390 001F0FF0 FF E0 10 90 */ fmr f31, f2 /* 801F5394 001F0FF4 7C 7F 1B 78 */ mr r31, r3 /* 801F5398 001F0FF8 2C 0B 00 00 */ cmpwi r11, 0 /* 801F539C 001F0FFC 7C 95 23 78 */ mr r21, r4 /* 801F53A0 001F1000 7C B6 2B 78 */ mr r22, r5 /* 801F53A4 001F1004 7D 17 43 78 */ mr r23, r8 /* 801F53A8 001F1008 7D 38 4B 78 */ mr r24, r9 /* 801F53AC 001F100C 7D 59 53 78 */ mr r25, r10 /* 801F53B0 001F1010 40 82 00 0C */ bne lbl_801F53BC /* 801F53B4 001F1014 3B C0 00 00 */ li r30, 0 /* 801F53B8 001F1018 48 00 00 24 */ b lbl_801F53DC lbl_801F53BC: /* 801F53BC 001F101C A0 0B 00 08 */ lhz r0, 8(r11) /* 801F53C0 001F1020 7C 04 00 40 */ cmplw r4, r0 /* 801F53C4 001F1024 41 80 00 0C */ blt lbl_801F53D0 /* 801F53C8 001F1028 3B C0 00 00 */ li r30, 0 /* 801F53CC 001F102C 48 00 00 10 */ b lbl_801F53DC lbl_801F53D0: /* 801F53D0 001F1030 1C 04 00 30 */ mulli r0, r4, 0x30 /* 801F53D4 001F1034 81 0B 00 0C */ lwz r8, 0xc(r11) /* 801F53D8 001F1038 7F C8 02 14 */ add r30, r8, r0 lbl_801F53DC: /* 801F53DC 001F103C 2C 1E 00 00 */ cmpwi r30, 0 /* 801F53E0 001F1040 41 82 04 0C */ beq lbl_801F57EC /* 801F53E4 001F1044 88 1E 00 29 */ lbz r0, 0x29(r30) /* 801F53E8 001F1048 2C 00 00 00 */ cmpwi r0, 0 /* 801F53EC 001F104C 41 82 04 00 */ beq lbl_801F57EC /* 801F53F0 001F1050 B0 83 01 04 */ sth r4, 0x104(r3) /* 801F53F4 001F1054 2C 06 00 00 */ cmpwi r6, 0 /* 801F53F8 001F1058 90 A3 01 08 */ stw r5, 0x108(r3) /* 801F53FC 001F105C D0 23 01 0C */ stfs f1, 0x10c(r3) /* 801F5400 001F1060 C0 3E 00 0C */ lfs f1, 0xc(r30) /* 801F5404 001F1064 D0 23 01 10 */ stfs f1, 0x110(r3) /* 801F5408 001F1068 D0 43 01 14 */ stfs f2, 0x114(r3) /* 801F540C 001F106C 41 82 00 58 */ beq lbl_801F5464 /* 801F5410 001F1070 2C 05 00 00 */ cmpwi r5, 0 /* 801F5414 001F1074 40 82 00 18 */ bne lbl_801F542C /* 801F5418 001F1078 C0 02 98 18 */ lfs f0, lbl_80641E18-_SDA2_BASE_(r2) /* 801F541C 001F107C EC 01 00 28 */ fsubs f0, f1, f0 /* 801F5420 001F1080 FC 03 00 40 */ fcmpo cr0, f3, f0 /* 801F5424 001F1084 40 81 00 08 */ ble lbl_801F542C /* 801F5428 001F1088 FC 60 00 90 */ fmr f3, f0 lbl_801F542C: /* 801F542C 001F108C A0 03 00 DC */ lhz r0, 0xdc(r3) /* 801F5430 001F1090 2C 07 00 00 */ cmpwi r7, 0 /* 801F5434 001F1094 60 00 00 20 */ ori r0, r0, 0x20 /* 801F5438 001F1098 B0 03 00 DC */ sth r0, 0xdc(r3) /* 801F543C 001F109C 41 82 00 10 */ beq lbl_801F544C /* 801F5440 001F10A0 60 00 00 40 */ ori r0, r0, 0x40 /* 801F5444 001F10A4 B0 03 00 DC */ sth r0, 0xdc(r3) /* 801F5448 001F10A8 48 00 00 0C */ b lbl_801F5454 lbl_801F544C: /* 801F544C 001F10AC 54 00 06 B0 */ rlwinm r0, r0, 0, 0x1a, 0x18 /* 801F5450 001F10B0 B0 03 00 DC */ sth r0, 0xdc(r3) lbl_801F5454: /* 801F5454 001F10B4 C0 02 98 00 */ lfs f0, lbl_80641E00-_SDA2_BASE_(r2) /* 801F5458 001F10B8 D0 63 01 1C */ stfs f3, 0x11c(r3) /* 801F545C 001F10BC D0 03 01 18 */ stfs f0, 0x118(r3) /* 801F5460 001F10C0 48 00 00 1C */ b lbl_801F547C lbl_801F5464: /* 801F5464 001F10C4 A0 03 00 DC */ lhz r0, 0xdc(r3) /* 801F5468 001F10C8 C0 02 98 00 */ lfs f0, lbl_80641E00-_SDA2_BASE_(r2) /* 801F546C 001F10CC 54 00 06 F0 */ rlwinm r0, r0, 0, 0x1b, 0x18 /* 801F5470 001F10D0 D0 63 01 18 */ stfs f3, 0x118(r3) /* 801F5474 001F10D4 B0 03 00 DC */ sth r0, 0xdc(r3) /* 801F5478 001F10D8 D0 03 01 1C */ stfs f0, 0x11c(r3) lbl_801F547C: /* 801F547C 001F10DC A3 BE 00 18 */ lhz r29, 0x18(r30) /* 801F5480 001F10E0 83 5E 00 10 */ lwz r26, 0x10(r30) /* 801F5484 001F10E4 2C 1D 00 00 */ cmpwi r29, 0 /* 801F5488 001F10E8 41 82 00 0C */ beq lbl_801F5494 /* 801F548C 001F10EC 2C 1A 00 00 */ cmpwi r26, 0 /* 801F5490 001F10F0 40 82 00 D4 */ bne lbl_801F5564 lbl_801F5494: /* 801F5494 001F10F4 3B 80 00 00 */ li r28, 0 /* 801F5498 001F10F8 48 00 00 B8 */ b lbl_801F5550 lbl_801F549C: /* 801F549C 001F10FC 80 7F 00 08 */ lwz r3, 8(r31) /* 801F54A0 001F1100 57 80 13 BA */ rlwinm r0, r28, 2, 0xe, 0x1d /* 801F54A4 001F1104 7F 63 00 2E */ lwzx r27, r3, r0 /* 801F54A8 001F1108 2C 1B 00 00 */ cmpwi r27, 0 /* 801F54AC 001F110C 41 82 00 A0 */ beq lbl_801F554C /* 801F54B0 001F1110 FC 20 F0 90 */ fmr f1, f30 /* 801F54B4 001F1114 C0 7F 01 18 */ lfs f3, 0x118(r31) /* 801F54B8 001F1118 FC 40 F8 90 */ fmr f2, f31 /* 801F54BC 001F111C 7F 63 DB 78 */ mr r3, r27 /* 801F54C0 001F1120 7E A4 AB 78 */ mr r4, r21 /* 801F54C4 001F1124 7E C5 B3 78 */ mr r5, r22 /* 801F54C8 001F1128 4B FE 89 D9 */ bl func_801DDEA0__13GSblendObjectFUsUsfff /* 801F54CC 001F112C 2C 18 00 00 */ cmpwi r24, 0 /* 801F54D0 001F1130 41 82 00 14 */ beq lbl_801F54E4 /* 801F54D4 001F1134 A0 1B 00 10 */ lhz r0, 0x10(r27) /* 801F54D8 001F1138 60 00 00 80 */ ori r0, r0, 0x80 /* 801F54DC 001F113C B0 1B 00 10 */ sth r0, 0x10(r27) /* 801F54E0 001F1140 48 00 00 10 */ b lbl_801F54F0 lbl_801F54E4: /* 801F54E4 001F1144 A0 1B 00 10 */ lhz r0, 0x10(r27) /* 801F54E8 001F1148 54 00 06 6E */ rlwinm r0, r0, 0, 0x19, 0x17 /* 801F54EC 001F114C B0 1B 00 10 */ sth r0, 0x10(r27) lbl_801F54F0: /* 801F54F0 001F1150 2C 19 00 00 */ cmpwi r25, 0 /* 801F54F4 001F1154 41 82 00 14 */ beq lbl_801F5508 /* 801F54F8 001F1158 A0 1B 00 10 */ lhz r0, 0x10(r27) /* 801F54FC 001F115C 60 00 01 00 */ ori r0, r0, 0x100 /* 801F5500 001F1160 B0 1B 00 10 */ sth r0, 0x10(r27) /* 801F5504 001F1164 48 00 00 10 */ b lbl_801F5514 lbl_801F5508: /* 801F5508 001F1168 A0 1B 00 10 */ lhz r0, 0x10(r27) /* 801F550C 001F116C 54 00 06 2C */ rlwinm r0, r0, 0, 0x18, 0x16 /* 801F5510 001F1170 B0 1B 00 10 */ sth r0, 0x10(r27) lbl_801F5514: /* 801F5514 001F1174 2C 17 00 00 */ cmpwi r23, 0 /* 801F5518 001F1178 41 82 00 34 */ beq lbl_801F554C /* 801F551C 001F117C 80 7B 00 04 */ lwz r3, 4(r27) /* 801F5520 001F1180 2C 03 00 00 */ cmpwi r3, 0 /* 801F5524 001F1184 41 82 00 10 */ beq lbl_801F5534 /* 801F5528 001F1188 A0 03 00 06 */ lhz r0, 6(r3) /* 801F552C 001F118C 60 00 00 10 */ ori r0, r0, 0x10 /* 801F5530 001F1190 B0 03 00 06 */ sth r0, 6(r3) lbl_801F5534: /* 801F5534 001F1194 80 7B 00 08 */ lwz r3, 8(r27) /* 801F5538 001F1198 2C 03 00 00 */ cmpwi r3, 0 /* 801F553C 001F119C 41 82 00 10 */ beq lbl_801F554C /* 801F5540 001F11A0 A0 03 00 06 */ lhz r0, 6(r3) /* 801F5544 001F11A4 60 00 00 10 */ ori r0, r0, 0x10 /* 801F5548 001F11A8 B0 03 00 06 */ sth r0, 6(r3) lbl_801F554C: /* 801F554C 001F11AC 3B 9C 00 01 */ addi r28, r28, 1 lbl_801F5550: /* 801F5550 001F11B0 A0 1F 00 DE */ lhz r0, 0xde(r31) /* 801F5554 001F11B4 57 83 04 3E */ clrlwi r3, r28, 0x10 /* 801F5558 001F11B8 7C 03 00 40 */ cmplw r3, r0 /* 801F555C 001F11BC 41 80 FF 40 */ blt lbl_801F549C /* 801F5560 001F11C0 48 00 00 D4 */ b lbl_801F5634 lbl_801F5564: /* 801F5564 001F11C4 3B 80 00 00 */ li r28, 0 /* 801F5568 001F11C8 48 00 00 C0 */ b lbl_801F5628 lbl_801F556C: /* 801F556C 001F11CC 57 80 0B FC */ rlwinm r0, r28, 1, 0xf, 0x1e /* 801F5570 001F11D0 80 7F 00 08 */ lwz r3, 8(r31) /* 801F5574 001F11D4 7C 1A 02 2E */ lhzx r0, r26, r0 /* 801F5578 001F11D8 54 00 10 3A */ slwi r0, r0, 2 /* 801F557C 001F11DC 7F 63 00 2E */ lwzx r27, r3, r0 /* 801F5580 001F11E0 2C 1B 00 00 */ cmpwi r27, 0 /* 801F5584 001F11E4 41 82 00 A0 */ beq lbl_801F5624 /* 801F5588 001F11E8 FC 20 F0 90 */ fmr f1, f30 /* 801F558C 001F11EC C0 7F 01 18 */ lfs f3, 0x118(r31) /* 801F5590 001F11F0 FC 40 F8 90 */ fmr f2, f31 /* 801F5594 001F11F4 7F 63 DB 78 */ mr r3, r27 /* 801F5598 001F11F8 7E A4 AB 78 */ mr r4, r21 /* 801F559C 001F11FC 7E C5 B3 78 */ mr r5, r22 /* 801F55A0 001F1200 4B FE 89 01 */ bl func_801DDEA0__13GSblendObjectFUsUsfff /* 801F55A4 001F1204 2C 18 00 00 */ cmpwi r24, 0 /* 801F55A8 001F1208 41 82 00 14 */ beq lbl_801F55BC /* 801F55AC 001F120C A0 1B 00 10 */ lhz r0, 0x10(r27) /* 801F55B0 001F1210 60 00 00 80 */ ori r0, r0, 0x80 /* 801F55B4 001F1214 B0 1B 00 10 */ sth r0, 0x10(r27) /* 801F55B8 001F1218 48 00 00 10 */ b lbl_801F55C8 lbl_801F55BC: /* 801F55BC 001F121C A0 1B 00 10 */ lhz r0, 0x10(r27) /* 801F55C0 001F1220 54 00 06 6E */ rlwinm r0, r0, 0, 0x19, 0x17 /* 801F55C4 001F1224 B0 1B 00 10 */ sth r0, 0x10(r27) lbl_801F55C8: /* 801F55C8 001F1228 2C 19 00 00 */ cmpwi r25, 0 /* 801F55CC 001F122C 41 82 00 14 */ beq lbl_801F55E0 /* 801F55D0 001F1230 A0 1B 00 10 */ lhz r0, 0x10(r27) /* 801F55D4 001F1234 60 00 01 00 */ ori r0, r0, 0x100 /* 801F55D8 001F1238 B0 1B 00 10 */ sth r0, 0x10(r27) /* 801F55DC 001F123C 48 00 00 10 */ b lbl_801F55EC lbl_801F55E0: /* 801F55E0 001F1240 A0 1B 00 10 */ lhz r0, 0x10(r27) /* 801F55E4 001F1244 54 00 06 2C */ rlwinm r0, r0, 0, 0x18, 0x16 /* 801F55E8 001F1248 B0 1B 00 10 */ sth r0, 0x10(r27) lbl_801F55EC: /* 801F55EC 001F124C 2C 17 00 00 */ cmpwi r23, 0 /* 801F55F0 001F1250 41 82 00 34 */ beq lbl_801F5624 /* 801F55F4 001F1254 80 7B 00 04 */ lwz r3, 4(r27) /* 801F55F8 001F1258 2C 03 00 00 */ cmpwi r3, 0 /* 801F55FC 001F125C 41 82 00 10 */ beq lbl_801F560C /* 801F5600 001F1260 A0 03 00 06 */ lhz r0, 6(r3) /* 801F5604 001F1264 60 00 00 10 */ ori r0, r0, 0x10 /* 801F5608 001F1268 B0 03 00 06 */ sth r0, 6(r3) lbl_801F560C: /* 801F560C 001F126C 80 7B 00 08 */ lwz r3, 8(r27) /* 801F5610 001F1270 2C 03 00 00 */ cmpwi r3, 0 /* 801F5614 001F1274 41 82 00 10 */ beq lbl_801F5624 /* 801F5618 001F1278 A0 03 00 06 */ lhz r0, 6(r3) /* 801F561C 001F127C 60 00 00 10 */ ori r0, r0, 0x10 /* 801F5620 001F1280 B0 03 00 06 */ sth r0, 6(r3) lbl_801F5624: /* 801F5624 001F1284 3B 9C 00 01 */ addi r28, r28, 1 lbl_801F5628: /* 801F5628 001F1288 57 80 04 3E */ clrlwi r0, r28, 0x10 /* 801F562C 001F128C 7C 00 E8 40 */ cmplw r0, r29 /* 801F5630 001F1290 41 80 FF 3C */ blt lbl_801F556C lbl_801F5634: /* 801F5634 001F1294 83 5E 00 1C */ lwz r26, 0x1c(r30) /* 801F5638 001F1298 2C 1A 00 00 */ cmpwi r26, 0 /* 801F563C 001F129C 41 82 00 D0 */ beq lbl_801F570C /* 801F5640 001F12A0 A3 BE 00 24 */ lhz r29, 0x24(r30) /* 801F5644 001F12A4 3B 80 00 00 */ li r28, 0 /* 801F5648 001F12A8 48 00 00 B8 */ b lbl_801F5700 lbl_801F564C: /* 801F564C 001F12AC A0 1A 00 04 */ lhz r0, 4(r26) /* 801F5650 001F12B0 80 7F 00 08 */ lwz r3, 8(r31) /* 801F5654 001F12B4 54 00 10 3A */ slwi r0, r0, 2 /* 801F5658 001F12B8 7F 63 00 2E */ lwzx r27, r3, r0 /* 801F565C 001F12BC 2C 1B 00 00 */ cmpwi r27, 0 /* 801F5660 001F12C0 41 82 00 98 */ beq lbl_801F56F8 /* 801F5664 001F12C4 88 1B 00 12 */ lbz r0, 0x12(r27) /* 801F5668 001F12C8 2C 00 00 07 */ cmpwi r0, 7 /* 801F566C 001F12CC 40 82 00 08 */ bne lbl_801F5674 /* 801F5670 001F12D0 48 00 00 08 */ b lbl_801F5678 lbl_801F5674: /* 801F5674 001F12D4 3B 60 00 00 */ li r27, 0 lbl_801F5678: /* 801F5678 001F12D8 2C 1B 00 00 */ cmpwi r27, 0 /* 801F567C 001F12DC 41 82 00 7C */ beq lbl_801F56F8 /* 801F5680 001F12E0 80 7B 01 38 */ lwz r3, 0x138(r27) /* 801F5684 001F12E4 48 01 21 E1 */ bl func_80207864 /* 801F5688 001F12E8 2C 03 00 00 */ cmpwi r3, 0 /* 801F568C 001F12EC 41 82 00 54 */ beq lbl_801F56E0 /* 801F5690 001F12F0 80 1B 01 04 */ lwz r0, 0x104(r27) /* 801F5694 001F12F4 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 801F5698 001F12F8 41 82 00 0C */ beq lbl_801F56A4 /* 801F569C 001F12FC 38 00 00 01 */ li r0, 1 /* 801F56A0 001F1300 48 00 00 28 */ b lbl_801F56C8 lbl_801F56A4: /* 801F56A4 001F1304 80 7B 01 38 */ lwz r3, 0x138(r27) /* 801F56A8 001F1308 2C 03 00 00 */ cmpwi r3, 0 /* 801F56AC 001F130C 41 82 00 18 */ beq lbl_801F56C4 /* 801F56B0 001F1310 A0 03 01 48 */ lhz r0, 0x148(r3) /* 801F56B4 001F1314 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 801F56B8 001F1318 41 82 00 0C */ beq lbl_801F56C4 /* 801F56BC 001F131C 38 00 00 01 */ li r0, 1 /* 801F56C0 001F1320 48 00 00 08 */ b lbl_801F56C8 lbl_801F56C4: /* 801F56C4 001F1324 38 00 00 00 */ li r0, 0 lbl_801F56C8: /* 801F56C8 001F1328 2C 00 00 00 */ cmpwi r0, 0 /* 801F56CC 001F132C 41 82 00 14 */ beq lbl_801F56E0 /* 801F56D0 001F1330 80 1B 01 04 */ lwz r0, 0x104(r27) /* 801F56D4 001F1334 54 00 07 F8 */ rlwinm r0, r0, 0, 0x1f, 0x1c /* 801F56D8 001F1338 90 1B 01 04 */ stw r0, 0x104(r27) /* 801F56DC 001F133C 48 00 00 1C */ b lbl_801F56F8 lbl_801F56E0: /* 801F56E0 001F1340 80 1B 01 04 */ lwz r0, 0x104(r27) /* 801F56E4 001F1344 C0 1A 00 00 */ lfs f0, 0(r26) /* 801F56E8 001F1348 60 00 00 01 */ ori r0, r0, 1 /* 801F56EC 001F134C 54 00 07 F8 */ rlwinm r0, r0, 0, 0x1f, 0x1c /* 801F56F0 001F1350 90 1B 01 04 */ stw r0, 0x104(r27) /* 801F56F4 001F1354 D0 1B 01 08 */ stfs f0, 0x108(r27) lbl_801F56F8: /* 801F56F8 001F1358 3B 9C 00 01 */ addi r28, r28, 1 /* 801F56FC 001F135C 3B 5A 00 08 */ addi r26, r26, 8 lbl_801F5700: /* 801F5700 001F1360 57 80 04 3E */ clrlwi r0, r28, 0x10 /* 801F5704 001F1364 7C 00 E8 40 */ cmplw r0, r29 /* 801F5708 001F1368 41 80 FF 44 */ blt lbl_801F564C lbl_801F570C: /* 801F570C 001F136C 83 7E 00 20 */ lwz r27, 0x20(r30) /* 801F5710 001F1370 2C 1B 00 00 */ cmpwi r27, 0 /* 801F5714 001F1374 41 82 00 D8 */ beq lbl_801F57EC /* 801F5718 001F1378 A3 DE 00 26 */ lhz r30, 0x26(r30) /* 801F571C 001F137C 3B A0 00 00 */ li r29, 0 /* 801F5720 001F1380 48 00 00 C0 */ b lbl_801F57E0 lbl_801F5724: /* 801F5724 001F1384 A0 1B 00 04 */ lhz r0, 4(r27) /* 801F5728 001F1388 80 7F 00 08 */ lwz r3, 8(r31) /* 801F572C 001F138C 54 00 10 3A */ slwi r0, r0, 2 /* 801F5730 001F1390 7E A3 00 2E */ lwzx r21, r3, r0 /* 801F5734 001F1394 2C 15 00 00 */ cmpwi r21, 0 /* 801F5738 001F1398 41 82 00 A0 */ beq lbl_801F57D8 /* 801F573C 001F139C 88 15 00 12 */ lbz r0, 0x12(r21) /* 801F5740 001F13A0 2C 00 00 07 */ cmpwi r0, 7 /* 801F5744 001F13A4 40 82 00 08 */ bne lbl_801F574C /* 801F5748 001F13A8 48 00 00 08 */ b lbl_801F5750 lbl_801F574C: /* 801F574C 001F13AC 3A A0 00 00 */ li r21, 0 lbl_801F5750: /* 801F5750 001F13B0 2C 15 00 00 */ cmpwi r21, 0 /* 801F5754 001F13B4 41 82 00 84 */ beq lbl_801F57D8 /* 801F5758 001F13B8 80 15 01 04 */ lwz r0, 0x104(r21) /* 801F575C 001F13BC 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 801F5760 001F13C0 41 82 00 0C */ beq lbl_801F576C /* 801F5764 001F13C4 38 00 00 01 */ li r0, 1 /* 801F5768 001F13C8 48 00 00 28 */ b lbl_801F5790 lbl_801F576C: /* 801F576C 001F13CC 80 75 01 38 */ lwz r3, 0x138(r21) /* 801F5770 001F13D0 2C 03 00 00 */ cmpwi r3, 0 /* 801F5774 001F13D4 41 82 00 18 */ beq lbl_801F578C /* 801F5778 001F13D8 A0 03 01 48 */ lhz r0, 0x148(r3) /* 801F577C 001F13DC 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 801F5780 001F13E0 41 82 00 0C */ beq lbl_801F578C /* 801F5784 001F13E4 38 00 00 01 */ li r0, 1 /* 801F5788 001F13E8 48 00 00 08 */ b lbl_801F5790 lbl_801F578C: /* 801F578C 001F13EC 38 00 00 00 */ li r0, 0 lbl_801F5790: /* 801F5790 001F13F0 2C 00 00 00 */ cmpwi r0, 0 /* 801F5794 001F13F4 41 82 00 44 */ beq lbl_801F57D8 /* 801F5798 001F13F8 80 75 01 38 */ lwz r3, 0x138(r21) /* 801F579C 001F13FC 48 01 20 C9 */ bl func_80207864 /* 801F57A0 001F1400 2C 03 00 00 */ cmpwi r3, 0 /* 801F57A4 001F1404 41 82 00 20 */ beq lbl_801F57C4 /* 801F57A8 001F1408 80 15 01 04 */ lwz r0, 0x104(r21) /* 801F57AC 001F140C C0 1B 00 00 */ lfs f0, 0(r27) /* 801F57B0 001F1410 60 00 00 02 */ ori r0, r0, 2 /* 801F57B4 001F1414 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c /* 801F57B8 001F1418 90 15 01 04 */ stw r0, 0x104(r21) /* 801F57BC 001F141C D0 15 01 0C */ stfs f0, 0x10c(r21) /* 801F57C0 001F1420 48 00 00 18 */ b lbl_801F57D8 lbl_801F57C4: /* 801F57C4 001F1424 80 15 01 04 */ lwz r0, 0x104(r21) /* 801F57C8 001F1428 C0 1B 00 00 */ lfs f0, 0(r27) /* 801F57CC 001F142C 60 00 00 04 */ ori r0, r0, 4 /* 801F57D0 001F1430 90 15 01 04 */ stw r0, 0x104(r21) /* 801F57D4 001F1434 D0 15 01 10 */ stfs f0, 0x110(r21) lbl_801F57D8: /* 801F57D8 001F1438 3B BD 00 01 */ addi r29, r29, 1 /* 801F57DC 001F143C 3B 7B 00 08 */ addi r27, r27, 8 lbl_801F57E0: /* 801F57E0 001F1440 57 A0 04 3E */ clrlwi r0, r29, 0x10 /* 801F57E4 001F1444 7C 00 F0 40 */ cmplw r0, r30 /* 801F57E8 001F1448 41 80 FF 3C */ blt lbl_801F5724 lbl_801F57EC: /* 801F57EC 001F144C E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0 /* 801F57F0 001F1450 CB E1 00 50 */ lfd f31, 0x50(r1) /* 801F57F4 001F1454 E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0 /* 801F57F8 001F1458 39 61 00 40 */ addi r11, r1, 0x40 /* 801F57FC 001F145C CB C1 00 40 */ lfd f30, 0x40(r1) /* 801F5800 001F1460 4B FD 19 5D */ bl _restgpr_21 /* 801F5804 001F1464 80 01 00 64 */ lwz r0, 0x64(r1) /* 801F5808 001F1468 7C 08 03 A6 */ mtlr r0 /* 801F580C 001F146C 38 21 00 60 */ addi r1, r1, 0x60 /* 801F5810 001F1470 4E 80 00 20 */ blr .global func_801F5814 func_801F5814: /* 801F5814 001F1474 38 E0 00 00 */ li r7, 0 /* 801F5818 001F1478 48 00 00 5C */ b lbl_801F5874 lbl_801F581C: /* 801F581C 001F147C 80 83 00 08 */ lwz r4, 8(r3) /* 801F5820 001F1480 54 E0 13 BA */ rlwinm r0, r7, 2, 0xe, 0x1d /* 801F5824 001F1484 7C A4 00 2E */ lwzx r5, r4, r0 /* 801F5828 001F1488 2C 05 00 00 */ cmpwi r5, 0 /* 801F582C 001F148C 41 82 00 44 */ beq lbl_801F5870 /* 801F5830 001F1490 80 C5 00 04 */ lwz r6, 4(r5) /* 801F5834 001F1494 2C 06 00 00 */ cmpwi r6, 0 /* 801F5838 001F1498 41 82 00 18 */ beq lbl_801F5850 /* 801F583C 001F149C A0 86 00 06 */ lhz r4, 6(r6) /* 801F5840 001F14A0 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b /* 801F5844 001F14A4 40 82 00 0C */ bne lbl_801F5850 /* 801F5848 001F14A8 54 80 04 3C */ rlwinm r0, r4, 0, 0x10, 0x1e /* 801F584C 001F14AC B0 06 00 06 */ sth r0, 6(r6) lbl_801F5850: /* 801F5850 001F14B0 80 A5 00 08 */ lwz r5, 8(r5) /* 801F5854 001F14B4 2C 05 00 00 */ cmpwi r5, 0 /* 801F5858 001F14B8 41 82 00 18 */ beq lbl_801F5870 /* 801F585C 001F14BC A0 85 00 06 */ lhz r4, 6(r5) /* 801F5860 001F14C0 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b /* 801F5864 001F14C4 40 82 00 0C */ bne lbl_801F5870 /* 801F5868 001F14C8 54 80 04 3C */ rlwinm r0, r4, 0, 0x10, 0x1e /* 801F586C 001F14CC B0 05 00 06 */ sth r0, 6(r5) lbl_801F5870: /* 801F5870 001F14D0 38 E7 00 01 */ addi r7, r7, 1 lbl_801F5874: /* 801F5874 001F14D4 A0 03 00 DE */ lhz r0, 0xde(r3) /* 801F5878 001F14D8 54 E4 04 3E */ clrlwi r4, r7, 0x10 /* 801F587C 001F14DC 7C 04 00 40 */ cmplw r4, r0 /* 801F5880 001F14E0 41 80 FF 9C */ blt lbl_801F581C /* 801F5884 001F14E4 38 C0 00 00 */ li r6, 0 /* 801F5888 001F14E8 48 00 00 40 */ b lbl_801F58C8 lbl_801F588C: /* 801F588C 001F14EC 80 83 00 1C */ lwz r4, 0x1c(r3) /* 801F5890 001F14F0 54 C0 13 BA */ rlwinm r0, r6, 2, 0xe, 0x1d /* 801F5894 001F14F4 7C 84 00 2E */ lwzx r4, r4, r0 /* 801F5898 001F14F8 80 84 00 14 */ lwz r4, 0x14(r4) /* 801F589C 001F14FC 2C 04 00 00 */ cmpwi r4, 0 /* 801F58A0 001F1500 41 82 00 24 */ beq lbl_801F58C4 /* 801F58A4 001F1504 80 A4 00 04 */ lwz r5, 4(r4) /* 801F58A8 001F1508 2C 05 00 00 */ cmpwi r5, 0 /* 801F58AC 001F150C 41 82 00 18 */ beq lbl_801F58C4 /* 801F58B0 001F1510 A0 85 00 06 */ lhz r4, 6(r5) /* 801F58B4 001F1514 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b /* 801F58B8 001F1518 40 82 00 0C */ bne lbl_801F58C4 /* 801F58BC 001F151C 54 80 04 3C */ rlwinm r0, r4, 0, 0x10, 0x1e /* 801F58C0 001F1520 B0 05 00 06 */ sth r0, 6(r5) lbl_801F58C4: /* 801F58C4 001F1524 38 C6 00 01 */ addi r6, r6, 1 lbl_801F58C8: /* 801F58C8 001F1528 A0 03 00 E6 */ lhz r0, 0xe6(r3) /* 801F58CC 001F152C 54 C4 04 3E */ clrlwi r4, r6, 0x10 /* 801F58D0 001F1530 7C 04 00 40 */ cmplw r4, r0 /* 801F58D4 001F1534 41 80 FF B8 */ blt lbl_801F588C /* 801F58D8 001F1538 C0 22 98 00 */ lfs f1, lbl_80641E00-_SDA2_BASE_(r2) /* 801F58DC 001F153C 3C 80 00 01 */ lis r4, 0x0000FFFF@ha /* 801F58E0 001F1540 38 04 FF FF */ addi r0, r4, 0x0000FFFF@l /* 801F58E4 001F1544 C0 02 98 04 */ lfs f0, lbl_80641E04-_SDA2_BASE_(r2) /* 801F58E8 001F1548 B0 03 00 F0 */ sth r0, 0xf0(r3) /* 801F58EC 001F154C B0 03 01 04 */ sth r0, 0x104(r3) /* 801F58F0 001F1550 D0 23 01 18 */ stfs f1, 0x118(r3) /* 801F58F4 001F1554 D0 03 01 1C */ stfs f0, 0x11c(r3) /* 801F58F8 001F1558 4E 80 00 20 */ blr .global func_801F58FC func_801F58FC: /* 801F58FC 001F155C 38 C0 00 00 */ li r6, 0 /* 801F5900 001F1560 48 00 00 4C */ b lbl_801F594C lbl_801F5904: /* 801F5904 001F1564 80 83 00 08 */ lwz r4, 8(r3) /* 801F5908 001F1568 54 C0 13 BA */ rlwinm r0, r6, 2, 0xe, 0x1d /* 801F590C 001F156C 7C 84 00 2E */ lwzx r4, r4, r0 /* 801F5910 001F1570 2C 04 00 00 */ cmpwi r4, 0 /* 801F5914 001F1574 41 82 00 34 */ beq lbl_801F5948 /* 801F5918 001F1578 80 A4 00 04 */ lwz r5, 4(r4) /* 801F591C 001F157C 2C 05 00 00 */ cmpwi r5, 0 /* 801F5920 001F1580 41 82 00 10 */ beq lbl_801F5930 /* 801F5924 001F1584 A0 05 00 06 */ lhz r0, 6(r5) /* 801F5928 001F1588 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a /* 801F592C 001F158C B0 05 00 06 */ sth r0, 6(r5) lbl_801F5930: /* 801F5930 001F1590 80 84 00 08 */ lwz r4, 8(r4) /* 801F5934 001F1594 2C 04 00 00 */ cmpwi r4, 0 /* 801F5938 001F1598 41 82 00 10 */ beq lbl_801F5948 /* 801F593C 001F159C A0 04 00 06 */ lhz r0, 6(r4) /* 801F5940 001F15A0 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a /* 801F5944 001F15A4 B0 04 00 06 */ sth r0, 6(r4) lbl_801F5948: /* 801F5948 001F15A8 38 C6 00 01 */ addi r6, r6, 1 lbl_801F594C: /* 801F594C 001F15AC A0 03 00 DE */ lhz r0, 0xde(r3) /* 801F5950 001F15B0 54 C4 04 3E */ clrlwi r4, r6, 0x10 /* 801F5954 001F15B4 7C 04 00 40 */ cmplw r4, r0 /* 801F5958 001F15B8 41 80 FF AC */ blt lbl_801F5904 /* 801F595C 001F15BC 38 A0 00 00 */ li r5, 0 /* 801F5960 001F15C0 48 00 00 38 */ b lbl_801F5998 lbl_801F5964: /* 801F5964 001F15C4 80 83 00 1C */ lwz r4, 0x1c(r3) /* 801F5968 001F15C8 54 A0 13 BA */ rlwinm r0, r5, 2, 0xe, 0x1d /* 801F596C 001F15CC 7C 84 00 2E */ lwzx r4, r4, r0 /* 801F5970 001F15D0 80 84 00 14 */ lwz r4, 0x14(r4) /* 801F5974 001F15D4 2C 04 00 00 */ cmpwi r4, 0 /* 801F5978 001F15D8 41 82 00 1C */ beq lbl_801F5994 /* 801F597C 001F15DC 80 84 00 04 */ lwz r4, 4(r4) /* 801F5980 001F15E0 2C 04 00 00 */ cmpwi r4, 0 /* 801F5984 001F15E4 41 82 00 10 */ beq lbl_801F5994 /* 801F5988 001F15E8 A0 04 00 06 */ lhz r0, 6(r4) /* 801F598C 001F15EC 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a /* 801F5990 001F15F0 B0 04 00 06 */ sth r0, 6(r4) lbl_801F5994: /* 801F5994 001F15F4 38 A5 00 01 */ addi r5, r5, 1 lbl_801F5998: /* 801F5998 001F15F8 A0 03 00 E6 */ lhz r0, 0xe6(r3) /* 801F599C 001F15FC 54 A4 04 3E */ clrlwi r4, r5, 0x10 /* 801F59A0 001F1600 7C 04 00 40 */ cmplw r4, r0 /* 801F59A4 001F1604 41 80 FF C0 */ blt lbl_801F5964 /* 801F59A8 001F1608 4E 80 00 20 */ blr .global func_801F59AC func_801F59AC: /* 801F59AC 001F160C C0 02 98 00 */ lfs f0, lbl_80641E00-_SDA2_BASE_(r2) /* 801F59B0 001F1610 38 C0 00 00 */ li r6, 0 /* 801F59B4 001F1614 48 00 00 5C */ b lbl_801F5A10 lbl_801F59B8: /* 801F59B8 001F1618 80 83 00 08 */ lwz r4, 8(r3) /* 801F59BC 001F161C 54 C0 13 BA */ rlwinm r0, r6, 2, 0xe, 0x1d /* 801F59C0 001F1620 7C 84 00 2E */ lwzx r4, r4, r0 /* 801F59C4 001F1624 2C 04 00 00 */ cmpwi r4, 0 /* 801F59C8 001F1628 41 82 00 44 */ beq lbl_801F5A0C /* 801F59CC 001F162C 80 A4 00 04 */ lwz r5, 4(r4) /* 801F59D0 001F1630 2C 05 00 00 */ cmpwi r5, 0 /* 801F59D4 001F1634 41 82 00 18 */ beq lbl_801F59EC /* 801F59D8 001F1638 A0 05 00 06 */ lhz r0, 6(r5) /* 801F59DC 001F163C 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a /* 801F59E0 001F1640 60 00 00 0E */ ori r0, r0, 0xe /* 801F59E4 001F1644 B0 05 00 06 */ sth r0, 6(r5) /* 801F59E8 001F1648 D0 05 00 0C */ stfs f0, 0xc(r5) lbl_801F59EC: /* 801F59EC 001F164C 80 84 00 08 */ lwz r4, 8(r4) /* 801F59F0 001F1650 2C 04 00 00 */ cmpwi r4, 0 /* 801F59F4 001F1654 41 82 00 18 */ beq lbl_801F5A0C /* 801F59F8 001F1658 A0 04 00 06 */ lhz r0, 6(r4) /* 801F59FC 001F165C 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a /* 801F5A00 001F1660 60 00 00 0E */ ori r0, r0, 0xe /* 801F5A04 001F1664 B0 04 00 06 */ sth r0, 6(r4) /* 801F5A08 001F1668 D0 04 00 0C */ stfs f0, 0xc(r4) lbl_801F5A0C: /* 801F5A0C 001F166C 38 C6 00 01 */ addi r6, r6, 1 lbl_801F5A10: /* 801F5A10 001F1670 A0 03 00 DE */ lhz r0, 0xde(r3) /* 801F5A14 001F1674 54 C4 04 3E */ clrlwi r4, r6, 0x10 /* 801F5A18 001F1678 7C 04 00 40 */ cmplw r4, r0 /* 801F5A1C 001F167C 41 80 FF 9C */ blt lbl_801F59B8 /* 801F5A20 001F1680 C0 02 98 00 */ lfs f0, lbl_80641E00-_SDA2_BASE_(r2) /* 801F5A24 001F1684 38 A0 00 00 */ li r5, 0 /* 801F5A28 001F1688 48 00 00 40 */ b lbl_801F5A68 lbl_801F5A2C: /* 801F5A2C 001F168C 80 83 00 1C */ lwz r4, 0x1c(r3) /* 801F5A30 001F1690 54 A0 13 BA */ rlwinm r0, r5, 2, 0xe, 0x1d /* 801F5A34 001F1694 7C 84 00 2E */ lwzx r4, r4, r0 /* 801F5A38 001F1698 80 84 00 14 */ lwz r4, 0x14(r4) /* 801F5A3C 001F169C 2C 04 00 00 */ cmpwi r4, 0 /* 801F5A40 001F16A0 41 82 00 24 */ beq lbl_801F5A64 /* 801F5A44 001F16A4 80 84 00 04 */ lwz r4, 4(r4) /* 801F5A48 001F16A8 2C 04 00 00 */ cmpwi r4, 0 /* 801F5A4C 001F16AC 41 82 00 18 */ beq lbl_801F5A64 /* 801F5A50 001F16B0 A0 04 00 06 */ lhz r0, 6(r4) /* 801F5A54 001F16B4 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a /* 801F5A58 001F16B8 60 00 00 0E */ ori r0, r0, 0xe /* 801F5A5C 001F16BC B0 04 00 06 */ sth r0, 6(r4) /* 801F5A60 001F16C0 D0 04 00 0C */ stfs f0, 0xc(r4) lbl_801F5A64: /* 801F5A64 001F16C4 38 A5 00 01 */ addi r5, r5, 1 lbl_801F5A68: /* 801F5A68 001F16C8 A0 03 00 E6 */ lhz r0, 0xe6(r3) /* 801F5A6C 001F16CC 54 A4 04 3E */ clrlwi r4, r5, 0x10 /* 801F5A70 001F16D0 7C 04 00 40 */ cmplw r4, r0 /* 801F5A74 001F16D4 41 80 FF B8 */ blt lbl_801F5A2C /* 801F5A78 001F16D8 C0 22 98 00 */ lfs f1, lbl_80641E00-_SDA2_BASE_(r2) /* 801F5A7C 001F16DC 3C 80 00 01 */ lis r4, 0x0000FFFF@ha /* 801F5A80 001F16E0 38 04 FF FF */ addi r0, r4, 0x0000FFFF@l /* 801F5A84 001F16E4 C0 02 98 04 */ lfs f0, lbl_80641E04-_SDA2_BASE_(r2) /* 801F5A88 001F16E8 B0 03 00 F0 */ sth r0, 0xf0(r3) /* 801F5A8C 001F16EC B0 03 01 04 */ sth r0, 0x104(r3) /* 801F5A90 001F16F0 D0 23 01 18 */ stfs f1, 0x118(r3) /* 801F5A94 001F16F4 D0 03 01 1C */ stfs f0, 0x11c(r3) /* 801F5A98 001F16F8 4E 80 00 20 */ blr .global func_801F5A9C func_801F5A9C: /* 801F5A9C 001F16FC C0 02 98 00 */ lfs f0, lbl_80641E00-_SDA2_BASE_(r2) /* 801F5AA0 001F1700 38 E0 00 00 */ li r7, 0 /* 801F5AA4 001F1704 48 00 00 8C */ b lbl_801F5B30 lbl_801F5AA8: /* 801F5AA8 001F1708 80 A3 00 24 */ lwz r5, 0x24(r3) /* 801F5AAC 001F170C 2C 05 00 00 */ cmpwi r5, 0 /* 801F5AB0 001F1710 40 82 00 0C */ bne lbl_801F5ABC /* 801F5AB4 001F1714 38 80 00 00 */ li r4, 0 /* 801F5AB8 001F1718 48 00 00 54 */ b lbl_801F5B0C lbl_801F5ABC: /* 801F5ABC 001F171C A0 03 00 EA */ lhz r0, 0xea(r3) /* 801F5AC0 001F1720 54 E4 04 3E */ clrlwi r4, r7, 0x10 /* 801F5AC4 001F1724 7C 04 00 40 */ cmplw r4, r0 /* 801F5AC8 001F1728 41 80 00 0C */ blt lbl_801F5AD4 /* 801F5ACC 001F172C 38 80 00 00 */ li r4, 0 /* 801F5AD0 001F1730 48 00 00 3C */ b lbl_801F5B0C lbl_801F5AD4: /* 801F5AD4 001F1734 80 C3 00 08 */ lwz r6, 8(r3) /* 801F5AD8 001F1738 54 E0 0B FC */ rlwinm r0, r7, 1, 0xf, 0x1e /* 801F5ADC 001F173C 7C 85 02 2E */ lhzx r4, r5, r0 /* 801F5AE0 001F1740 2C 06 00 00 */ cmpwi r6, 0 /* 801F5AE4 001F1744 40 82 00 0C */ bne lbl_801F5AF0 /* 801F5AE8 001F1748 38 80 00 00 */ li r4, 0 /* 801F5AEC 001F174C 48 00 00 20 */ b lbl_801F5B0C lbl_801F5AF0: /* 801F5AF0 001F1750 A0 03 00 DE */ lhz r0, 0xde(r3) /* 801F5AF4 001F1754 7C 04 00 40 */ cmplw r4, r0 /* 801F5AF8 001F1758 41 80 00 0C */ blt lbl_801F5B04 /* 801F5AFC 001F175C 38 80 00 00 */ li r4, 0 /* 801F5B00 001F1760 48 00 00 0C */ b lbl_801F5B0C lbl_801F5B04: /* 801F5B04 001F1764 54 80 13 BA */ rlwinm r0, r4, 2, 0xe, 0x1d /* 801F5B08 001F1768 7C 86 00 2E */ lwzx r4, r6, r0 lbl_801F5B0C: /* 801F5B0C 001F176C 2C 04 00 00 */ cmpwi r4, 0 /* 801F5B10 001F1770 41 82 00 1C */ beq lbl_801F5B2C /* 801F5B14 001F1774 80 04 01 04 */ lwz r0, 0x104(r4) /* 801F5B18 001F1778 60 00 00 05 */ ori r0, r0, 5 /* 801F5B1C 001F177C D0 04 01 10 */ stfs f0, 0x110(r4) /* 801F5B20 001F1780 54 00 07 F8 */ rlwinm r0, r0, 0, 0x1f, 0x1c /* 801F5B24 001F1784 90 04 01 04 */ stw r0, 0x104(r4) /* 801F5B28 001F1788 D0 04 01 08 */ stfs f0, 0x108(r4) lbl_801F5B2C: /* 801F5B2C 001F178C 38 E7 00 01 */ addi r7, r7, 1 lbl_801F5B30: /* 801F5B30 001F1790 A0 03 00 EA */ lhz r0, 0xea(r3) /* 801F5B34 001F1794 54 E4 04 3E */ clrlwi r4, r7, 0x10 /* 801F5B38 001F1798 7C 04 00 40 */ cmplw r4, r0 /* 801F5B3C 001F179C 41 80 FF 6C */ blt lbl_801F5AA8 /* 801F5B40 001F17A0 4E 80 00 20 */ blr .global func_801F5B44 func_801F5B44: /* 801F5B44 001F17A4 C0 22 98 00 */ lfs f1, lbl_80641E00-_SDA2_BASE_(r2) /* 801F5B48 001F17A8 38 E0 00 00 */ li r7, 0 /* 801F5B4C 001F17AC A0 A3 00 DE */ lhz r5, 0xde(r3) /* 801F5B50 001F17B0 FC 60 08 90 */ fmr f3, f1 /* 801F5B54 001F17B4 48 00 00 70 */ b lbl_801F5BC4 lbl_801F5B58: /* 801F5B58 001F17B8 80 83 00 08 */ lwz r4, 8(r3) /* 801F5B5C 001F17BC 54 E0 13 BA */ rlwinm r0, r7, 2, 0xe, 0x1d /* 801F5B60 001F17C0 7C 84 00 2E */ lwzx r4, r4, r0 /* 801F5B64 001F17C4 2C 04 00 00 */ cmpwi r4, 0 /* 801F5B68 001F17C8 41 82 00 58 */ beq lbl_801F5BC0 /* 801F5B6C 001F17CC 80 84 00 04 */ lwz r4, 4(r4) /* 801F5B70 001F17D0 2C 04 00 00 */ cmpwi r4, 0 /* 801F5B74 001F17D4 41 82 00 3C */ beq lbl_801F5BB0 /* 801F5B78 001F17D8 80 C4 00 00 */ lwz r6, 0(r4) /* 801F5B7C 001F17DC 2C 06 00 00 */ cmpwi r6, 0 /* 801F5B80 001F17E0 40 82 00 0C */ bne lbl_801F5B8C /* 801F5B84 001F17E4 C0 02 98 00 */ lfs f0, lbl_80641E00-_SDA2_BASE_(r2) /* 801F5B88 001F17E8 48 00 00 2C */ b lbl_801F5BB4 lbl_801F5B8C: /* 801F5B8C 001F17EC C0 04 00 08 */ lfs f0, 8(r4) /* 801F5B90 001F17F0 FC 00 18 40 */ fcmpo cr0, f0, f3 /* 801F5B94 001F17F4 40 80 00 14 */ bge lbl_801F5BA8 /* 801F5B98 001F17F8 C0 46 00 08 */ lfs f2, 8(r6) /* 801F5B9C 001F17FC C0 04 00 0C */ lfs f0, 0xc(r4) /* 801F5BA0 001F1800 EC 02 00 28 */ fsubs f0, f2, f0 /* 801F5BA4 001F1804 48 00 00 10 */ b lbl_801F5BB4 lbl_801F5BA8: /* 801F5BA8 001F1808 C0 04 00 0C */ lfs f0, 0xc(r4) /* 801F5BAC 001F180C 48 00 00 08 */ b lbl_801F5BB4 lbl_801F5BB0: /* 801F5BB0 001F1810 C0 02 98 00 */ lfs f0, lbl_80641E00-_SDA2_BASE_(r2) lbl_801F5BB4: /* 801F5BB4 001F1814 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801F5BB8 001F1818 40 81 00 08 */ ble lbl_801F5BC0 /* 801F5BBC 001F181C FC 20 00 90 */ fmr f1, f0 lbl_801F5BC0: /* 801F5BC0 001F1820 38 E7 00 01 */ addi r7, r7, 1 lbl_801F5BC4: /* 801F5BC4 001F1824 54 E0 04 3E */ clrlwi r0, r7, 0x10 /* 801F5BC8 001F1828 7C 00 28 40 */ cmplw r0, r5 /* 801F5BCC 001F182C 41 80 FF 8C */ blt lbl_801F5B58 /* 801F5BD0 001F1830 A0 A3 00 E6 */ lhz r5, 0xe6(r3) /* 801F5BD4 001F1834 38 E0 00 00 */ li r7, 0 /* 801F5BD8 001F1838 C0 62 98 00 */ lfs f3, lbl_80641E00-_SDA2_BASE_(r2) /* 801F5BDC 001F183C 48 00 00 74 */ b lbl_801F5C50 lbl_801F5BE0: /* 801F5BE0 001F1840 80 83 00 1C */ lwz r4, 0x1c(r3) /* 801F5BE4 001F1844 54 E0 13 BA */ rlwinm r0, r7, 2, 0xe, 0x1d /* 801F5BE8 001F1848 7C 84 00 2E */ lwzx r4, r4, r0 /* 801F5BEC 001F184C 80 84 00 14 */ lwz r4, 0x14(r4) /* 801F5BF0 001F1850 2C 04 00 00 */ cmpwi r4, 0 /* 801F5BF4 001F1854 41 82 00 58 */ beq lbl_801F5C4C /* 801F5BF8 001F1858 80 84 00 04 */ lwz r4, 4(r4) /* 801F5BFC 001F185C 2C 04 00 00 */ cmpwi r4, 0 /* 801F5C00 001F1860 41 82 00 3C */ beq lbl_801F5C3C /* 801F5C04 001F1864 80 C4 00 00 */ lwz r6, 0(r4) /* 801F5C08 001F1868 2C 06 00 00 */ cmpwi r6, 0 /* 801F5C0C 001F186C 40 82 00 0C */ bne lbl_801F5C18 /* 801F5C10 001F1870 C0 02 98 00 */ lfs f0, lbl_80641E00-_SDA2_BASE_(r2) /* 801F5C14 001F1874 48 00 00 2C */ b lbl_801F5C40 lbl_801F5C18: /* 801F5C18 001F1878 C0 04 00 08 */ lfs f0, 8(r4) /* 801F5C1C 001F187C FC 00 18 40 */ fcmpo cr0, f0, f3 /* 801F5C20 001F1880 40 80 00 14 */ bge lbl_801F5C34 /* 801F5C24 001F1884 C0 46 00 08 */ lfs f2, 8(r6) /* 801F5C28 001F1888 C0 04 00 0C */ lfs f0, 0xc(r4) /* 801F5C2C 001F188C EC 02 00 28 */ fsubs f0, f2, f0 /* 801F5C30 001F1890 48 00 00 10 */ b lbl_801F5C40 lbl_801F5C34: /* 801F5C34 001F1894 C0 04 00 0C */ lfs f0, 0xc(r4) /* 801F5C38 001F1898 48 00 00 08 */ b lbl_801F5C40 lbl_801F5C3C: /* 801F5C3C 001F189C C0 02 98 00 */ lfs f0, lbl_80641E00-_SDA2_BASE_(r2) lbl_801F5C40: /* 801F5C40 001F18A0 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801F5C44 001F18A4 40 81 00 08 */ ble lbl_801F5C4C /* 801F5C48 001F18A8 FC 20 00 90 */ fmr f1, f0 lbl_801F5C4C: /* 801F5C4C 001F18AC 38 E7 00 01 */ addi r7, r7, 1 lbl_801F5C50: /* 801F5C50 001F18B0 54 E0 04 3E */ clrlwi r0, r7, 0x10 /* 801F5C54 001F18B4 7C 00 28 40 */ cmplw r0, r5 /* 801F5C58 001F18B8 41 80 FF 88 */ blt lbl_801F5BE0 /* 801F5C5C 001F18BC 4E 80 00 20 */ blr .global func_801F5C60 func_801F5C60: /* 801F5C60 001F18C0 C0 22 98 00 */ lfs f1, lbl_80641E00-_SDA2_BASE_(r2) /* 801F5C64 001F18C4 38 E0 00 00 */ li r7, 0 /* 801F5C68 001F18C8 A0 A3 00 DE */ lhz r5, 0xde(r3) /* 801F5C6C 001F18CC FC 60 08 90 */ fmr f3, f1 /* 801F5C70 001F18D0 48 00 00 70 */ b lbl_801F5CE0 lbl_801F5C74: /* 801F5C74 001F18D4 80 83 00 08 */ lwz r4, 8(r3) /* 801F5C78 001F18D8 54 E0 13 BA */ rlwinm r0, r7, 2, 0xe, 0x1d /* 801F5C7C 001F18DC 7C 84 00 2E */ lwzx r4, r4, r0 /* 801F5C80 001F18E0 2C 04 00 00 */ cmpwi r4, 0 /* 801F5C84 001F18E4 41 82 00 58 */ beq lbl_801F5CDC /* 801F5C88 001F18E8 80 84 00 08 */ lwz r4, 8(r4) /* 801F5C8C 001F18EC 2C 04 00 00 */ cmpwi r4, 0 /* 801F5C90 001F18F0 41 82 00 3C */ beq lbl_801F5CCC /* 801F5C94 001F18F4 80 C4 00 00 */ lwz r6, 0(r4) /* 801F5C98 001F18F8 2C 06 00 00 */ cmpwi r6, 0 /* 801F5C9C 001F18FC 40 82 00 0C */ bne lbl_801F5CA8 /* 801F5CA0 001F1900 C0 02 98 00 */ lfs f0, lbl_80641E00-_SDA2_BASE_(r2) /* 801F5CA4 001F1904 48 00 00 2C */ b lbl_801F5CD0 lbl_801F5CA8: /* 801F5CA8 001F1908 C0 04 00 08 */ lfs f0, 8(r4) /* 801F5CAC 001F190C FC 00 18 40 */ fcmpo cr0, f0, f3 /* 801F5CB0 001F1910 40 80 00 14 */ bge lbl_801F5CC4 /* 801F5CB4 001F1914 C0 46 00 08 */ lfs f2, 8(r6) /* 801F5CB8 001F1918 C0 04 00 0C */ lfs f0, 0xc(r4) /* 801F5CBC 001F191C EC 02 00 28 */ fsubs f0, f2, f0 /* 801F5CC0 001F1920 48 00 00 10 */ b lbl_801F5CD0 lbl_801F5CC4: /* 801F5CC4 001F1924 C0 04 00 0C */ lfs f0, 0xc(r4) /* 801F5CC8 001F1928 48 00 00 08 */ b lbl_801F5CD0 lbl_801F5CCC: /* 801F5CCC 001F192C C0 02 98 00 */ lfs f0, lbl_80641E00-_SDA2_BASE_(r2) lbl_801F5CD0: /* 801F5CD0 001F1930 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801F5CD4 001F1934 40 81 00 08 */ ble lbl_801F5CDC /* 801F5CD8 001F1938 FC 20 00 90 */ fmr f1, f0 lbl_801F5CDC: /* 801F5CDC 001F193C 38 E7 00 01 */ addi r7, r7, 1 lbl_801F5CE0: /* 801F5CE0 001F1940 54 E0 04 3E */ clrlwi r0, r7, 0x10 /* 801F5CE4 001F1944 7C 00 28 40 */ cmplw r0, r5 /* 801F5CE8 001F1948 41 80 FF 8C */ blt lbl_801F5C74 /* 801F5CEC 001F194C 4E 80 00 20 */ blr .global func_801F5CF0 func_801F5CF0: /* 801F5CF0 001F1950 A0 03 00 F0 */ lhz r0, 0xf0(r3) /* 801F5CF4 001F1954 28 00 FF FF */ cmplwi r0, 0xffff /* 801F5CF8 001F1958 41 82 00 10 */ beq lbl_801F5D08 /* 801F5CFC 001F195C C0 03 00 F8 */ lfs f0, 0xf8(r3) /* 801F5D00 001F1960 EC 00 08 2A */ fadds f0, f0, f1 /* 801F5D04 001F1964 D0 03 00 F8 */ stfs f0, 0xf8(r3) lbl_801F5D08: /* 801F5D08 001F1968 A0 83 01 04 */ lhz r4, 0x104(r3) /* 801F5D0C 001F196C 28 04 FF FF */ cmplwi r4, 0xffff /* 801F5D10 001F1970 4D 82 00 20 */ beqlr /* 801F5D14 001F1974 C0 03 01 0C */ lfs f0, 0x10c(r3) /* 801F5D18 001F1978 A0 A3 00 DC */ lhz r5, 0xdc(r3) /* 801F5D1C 001F197C EC 20 08 2A */ fadds f1, f0, f1 /* 801F5D20 001F1980 54 A0 06 B5 */ rlwinm. r0, r5, 0, 0x1a, 0x1a /* 801F5D24 001F1984 D0 23 01 0C */ stfs f1, 0x10c(r3) /* 801F5D28 001F1988 41 82 00 50 */ beq lbl_801F5D78 /* 801F5D2C 001F198C C0 43 01 1C */ lfs f2, 0x11c(r3) /* 801F5D30 001F1990 C0 02 98 18 */ lfs f0, lbl_80641E18-_SDA2_BASE_(r2) /* 801F5D34 001F1994 EC 02 00 28 */ fsubs f0, f2, f0 /* 801F5D38 001F1998 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801F5D3C 001F199C 40 80 00 10 */ bge lbl_801F5D4C /* 801F5D40 001F19A0 EC 01 10 24 */ fdivs f0, f1, f2 /* 801F5D44 001F19A4 D0 03 01 18 */ stfs f0, 0x118(r3) /* 801F5D48 001F19A8 48 00 00 30 */ b lbl_801F5D78 lbl_801F5D4C: /* 801F5D4C 001F19AC C0 02 98 04 */ lfs f0, lbl_80641E04-_SDA2_BASE_(r2) /* 801F5D50 001F19B0 54 A0 06 73 */ rlwinm. r0, r5, 0, 0x19, 0x19 /* 801F5D54 001F19B4 D0 03 01 18 */ stfs f0, 0x118(r3) /* 801F5D58 001F19B8 4D 82 00 20 */ beqlr /* 801F5D5C 001F19BC 80 A3 01 08 */ lwz r5, 0x108(r3) /* 801F5D60 001F19C0 38 C0 00 00 */ li r6, 0 /* 801F5D64 001F19C4 C0 43 01 14 */ lfs f2, 0x114(r3) /* 801F5D68 001F19C8 38 E0 00 00 */ li r7, 0 /* 801F5D6C 001F19CC 39 00 00 01 */ li r8, 1 /* 801F5D70 001F19D0 4B FF F0 84 */ b func_801F4DF4 /* 801F5D74 001F19D4 4E 80 00 20 */ blr lbl_801F5D78: /* 801F5D78 001F19D8 38 A0 00 00 */ li r5, 0 /* 801F5D7C 001F19DC 48 00 00 24 */ b lbl_801F5DA0 lbl_801F5D80: /* 801F5D80 001F19E0 80 83 00 08 */ lwz r4, 8(r3) /* 801F5D84 001F19E4 54 A0 13 BA */ rlwinm r0, r5, 2, 0xe, 0x1d /* 801F5D88 001F19E8 7C 84 00 2E */ lwzx r4, r4, r0 /* 801F5D8C 001F19EC 2C 04 00 00 */ cmpwi r4, 0 /* 801F5D90 001F19F0 41 82 00 0C */ beq lbl_801F5D9C /* 801F5D94 001F19F4 C0 03 01 18 */ lfs f0, 0x118(r3) /* 801F5D98 001F19F8 D0 04 00 0C */ stfs f0, 0xc(r4) lbl_801F5D9C: /* 801F5D9C 001F19FC 38 A5 00 01 */ addi r5, r5, 1 lbl_801F5DA0: /* 801F5DA0 001F1A00 A0 03 00 DE */ lhz r0, 0xde(r3) /* 801F5DA4 001F1A04 54 A4 04 3E */ clrlwi r4, r5, 0x10 /* 801F5DA8 001F1A08 7C 04 00 40 */ cmplw r4, r0 /* 801F5DAC 001F1A0C 41 80 FF D4 */ blt lbl_801F5D80 /* 801F5DB0 001F1A10 4E 80 00 20 */ blr .global func_801F5DB4 func_801F5DB4: /* 801F5DB4 001F1A14 A0 03 00 F0 */ lhz r0, 0xf0(r3) /* 801F5DB8 001F1A18 28 00 FF FF */ cmplwi r0, 0xffff /* 801F5DBC 001F1A1C 40 82 00 0C */ bne lbl_801F5DC8 /* 801F5DC0 001F1A20 38 60 00 00 */ li r3, 0 /* 801F5DC4 001F1A24 4E 80 00 20 */ blr lbl_801F5DC8: /* 801F5DC8 001F1A28 A0 A3 00 DE */ lhz r5, 0xde(r3) /* 801F5DCC 001F1A2C 38 E0 00 00 */ li r7, 0 /* 801F5DD0 001F1A30 48 00 00 60 */ b lbl_801F5E30 lbl_801F5DD4: /* 801F5DD4 001F1A34 80 83 00 08 */ lwz r4, 8(r3) /* 801F5DD8 001F1A38 54 E0 13 BA */ rlwinm r0, r7, 2, 0xe, 0x1d /* 801F5DDC 001F1A3C 7C 84 00 2E */ lwzx r4, r4, r0 /* 801F5DE0 001F1A40 2C 04 00 00 */ cmpwi r4, 0 /* 801F5DE4 001F1A44 41 82 00 48 */ beq lbl_801F5E2C /* 801F5DE8 001F1A48 80 C4 00 04 */ lwz r6, 4(r4) /* 801F5DEC 001F1A4C 2C 06 00 00 */ cmpwi r6, 0 /* 801F5DF0 001F1A50 41 82 00 28 */ beq lbl_801F5E18 /* 801F5DF4 001F1A54 80 06 00 00 */ lwz r0, 0(r6) /* 801F5DF8 001F1A58 38 80 00 00 */ li r4, 0 /* 801F5DFC 001F1A5C 2C 00 00 00 */ cmpwi r0, 0 /* 801F5E00 001F1A60 41 82 00 1C */ beq lbl_801F5E1C /* 801F5E04 001F1A64 A0 06 00 06 */ lhz r0, 6(r6) /* 801F5E08 001F1A68 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 801F5E0C 001F1A6C 41 82 00 10 */ beq lbl_801F5E1C /* 801F5E10 001F1A70 38 80 00 01 */ li r4, 1 /* 801F5E14 001F1A74 48 00 00 08 */ b lbl_801F5E1C lbl_801F5E18: /* 801F5E18 001F1A78 38 80 00 00 */ li r4, 0 lbl_801F5E1C: /* 801F5E1C 001F1A7C 2C 04 00 00 */ cmpwi r4, 0 /* 801F5E20 001F1A80 41 82 00 0C */ beq lbl_801F5E2C /* 801F5E24 001F1A84 38 60 00 01 */ li r3, 1 /* 801F5E28 001F1A88 4E 80 00 20 */ blr lbl_801F5E2C: /* 801F5E2C 001F1A8C 38 E7 00 01 */ addi r7, r7, 1 lbl_801F5E30: /* 801F5E30 001F1A90 54 E0 04 3E */ clrlwi r0, r7, 0x10 /* 801F5E34 001F1A94 7C 00 28 40 */ cmplw r0, r5 /* 801F5E38 001F1A98 41 80 FF 9C */ blt lbl_801F5DD4 /* 801F5E3C 001F1A9C A0 A3 00 E6 */ lhz r5, 0xe6(r3) /* 801F5E40 001F1AA0 38 E0 00 00 */ li r7, 0 /* 801F5E44 001F1AA4 48 00 00 64 */ b lbl_801F5EA8 lbl_801F5E48: /* 801F5E48 001F1AA8 80 83 00 1C */ lwz r4, 0x1c(r3) /* 801F5E4C 001F1AAC 54 E0 13 BA */ rlwinm r0, r7, 2, 0xe, 0x1d /* 801F5E50 001F1AB0 7C 84 00 2E */ lwzx r4, r4, r0 /* 801F5E54 001F1AB4 80 84 00 14 */ lwz r4, 0x14(r4) /* 801F5E58 001F1AB8 2C 04 00 00 */ cmpwi r4, 0 /* 801F5E5C 001F1ABC 41 82 00 48 */ beq lbl_801F5EA4 /* 801F5E60 001F1AC0 80 C4 00 04 */ lwz r6, 4(r4) /* 801F5E64 001F1AC4 2C 06 00 00 */ cmpwi r6, 0 /* 801F5E68 001F1AC8 41 82 00 28 */ beq lbl_801F5E90 /* 801F5E6C 001F1ACC 80 06 00 00 */ lwz r0, 0(r6) /* 801F5E70 001F1AD0 38 80 00 00 */ li r4, 0 /* 801F5E74 001F1AD4 2C 00 00 00 */ cmpwi r0, 0 /* 801F5E78 001F1AD8 41 82 00 1C */ beq lbl_801F5E94 /* 801F5E7C 001F1ADC A0 06 00 06 */ lhz r0, 6(r6) /* 801F5E80 001F1AE0 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 801F5E84 001F1AE4 41 82 00 10 */ beq lbl_801F5E94 /* 801F5E88 001F1AE8 38 80 00 01 */ li r4, 1 /* 801F5E8C 001F1AEC 48 00 00 08 */ b lbl_801F5E94 lbl_801F5E90: /* 801F5E90 001F1AF0 38 80 00 00 */ li r4, 0 lbl_801F5E94: /* 801F5E94 001F1AF4 2C 04 00 00 */ cmpwi r4, 0 /* 801F5E98 001F1AF8 41 82 00 0C */ beq lbl_801F5EA4 /* 801F5E9C 001F1AFC 38 60 00 01 */ li r3, 1 /* 801F5EA0 001F1B00 4E 80 00 20 */ blr lbl_801F5EA4: /* 801F5EA4 001F1B04 38 E7 00 01 */ addi r7, r7, 1 lbl_801F5EA8: /* 801F5EA8 001F1B08 54 E0 04 3E */ clrlwi r0, r7, 0x10 /* 801F5EAC 001F1B0C 7C 00 28 40 */ cmplw r0, r5 /* 801F5EB0 001F1B10 41 80 FF 98 */ blt lbl_801F5E48 /* 801F5EB4 001F1B14 38 60 00 00 */ li r3, 0 /* 801F5EB8 001F1B18 4E 80 00 20 */ blr .global func_801F5EBC func_801F5EBC: /* 801F5EBC 001F1B1C A0 03 01 04 */ lhz r0, 0x104(r3) /* 801F5EC0 001F1B20 28 00 FF FF */ cmplwi r0, 0xffff /* 801F5EC4 001F1B24 40 82 00 0C */ bne lbl_801F5ED0 /* 801F5EC8 001F1B28 38 60 00 00 */ li r3, 0 /* 801F5ECC 001F1B2C 4E 80 00 20 */ blr lbl_801F5ED0: /* 801F5ED0 001F1B30 A0 A3 00 DE */ lhz r5, 0xde(r3) /* 801F5ED4 001F1B34 38 E0 00 00 */ li r7, 0 /* 801F5ED8 001F1B38 48 00 00 60 */ b lbl_801F5F38 lbl_801F5EDC: /* 801F5EDC 001F1B3C 80 83 00 08 */ lwz r4, 8(r3) /* 801F5EE0 001F1B40 54 E0 13 BA */ rlwinm r0, r7, 2, 0xe, 0x1d /* 801F5EE4 001F1B44 7C 84 00 2E */ lwzx r4, r4, r0 /* 801F5EE8 001F1B48 2C 04 00 00 */ cmpwi r4, 0 /* 801F5EEC 001F1B4C 41 82 00 48 */ beq lbl_801F5F34 /* 801F5EF0 001F1B50 80 C4 00 08 */ lwz r6, 8(r4) /* 801F5EF4 001F1B54 2C 06 00 00 */ cmpwi r6, 0 /* 801F5EF8 001F1B58 41 82 00 28 */ beq lbl_801F5F20 /* 801F5EFC 001F1B5C 80 06 00 00 */ lwz r0, 0(r6) /* 801F5F00 001F1B60 38 80 00 00 */ li r4, 0 /* 801F5F04 001F1B64 2C 00 00 00 */ cmpwi r0, 0 /* 801F5F08 001F1B68 41 82 00 1C */ beq lbl_801F5F24 /* 801F5F0C 001F1B6C A0 06 00 06 */ lhz r0, 6(r6) /* 801F5F10 001F1B70 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 801F5F14 001F1B74 41 82 00 10 */ beq lbl_801F5F24 /* 801F5F18 001F1B78 38 80 00 01 */ li r4, 1 /* 801F5F1C 001F1B7C 48 00 00 08 */ b lbl_801F5F24 lbl_801F5F20: /* 801F5F20 001F1B80 38 80 00 00 */ li r4, 0 lbl_801F5F24: /* 801F5F24 001F1B84 2C 04 00 00 */ cmpwi r4, 0 /* 801F5F28 001F1B88 41 82 00 0C */ beq lbl_801F5F34 /* 801F5F2C 001F1B8C 38 60 00 01 */ li r3, 1 /* 801F5F30 001F1B90 4E 80 00 20 */ blr lbl_801F5F34: /* 801F5F34 001F1B94 38 E7 00 01 */ addi r7, r7, 1 lbl_801F5F38: /* 801F5F38 001F1B98 54 E0 04 3E */ clrlwi r0, r7, 0x10 /* 801F5F3C 001F1B9C 7C 00 28 40 */ cmplw r0, r5 /* 801F5F40 001F1BA0 41 80 FF 9C */ blt lbl_801F5EDC /* 801F5F44 001F1BA4 38 60 00 00 */ li r3, 0 /* 801F5F48 001F1BA8 4E 80 00 20 */ blr .global func_801F5F4C func_801F5F4C: /* 801F5F4C 001F1BAC A0 C3 00 DE */ lhz r6, 0xde(r3) /* 801F5F50 001F1BB0 39 00 00 00 */ li r8, 0 /* 801F5F54 001F1BB4 48 00 00 78 */ b lbl_801F5FCC lbl_801F5F58: /* 801F5F58 001F1BB8 80 83 00 08 */ lwz r4, 8(r3) /* 801F5F5C 001F1BBC 55 00 13 BA */ rlwinm r0, r8, 2, 0xe, 0x1d /* 801F5F60 001F1BC0 7C 84 00 2E */ lwzx r4, r4, r0 /* 801F5F64 001F1BC4 2C 04 00 00 */ cmpwi r4, 0 /* 801F5F68 001F1BC8 41 82 00 60 */ beq lbl_801F5FC8 /* 801F5F6C 001F1BCC 80 84 00 04 */ lwz r4, 4(r4) /* 801F5F70 001F1BD0 2C 04 00 00 */ cmpwi r4, 0 /* 801F5F74 001F1BD4 41 82 00 40 */ beq lbl_801F5FB4 /* 801F5F78 001F1BD8 A0 E4 00 06 */ lhz r7, 6(r4) /* 801F5F7C 001F1BDC 38 A0 00 01 */ li r5, 1 /* 801F5F80 001F1BE0 54 E0 07 39 */ rlwinm. r0, r7, 0, 0x1c, 0x1c /* 801F5F84 001F1BE4 40 82 00 34 */ bne lbl_801F5FB8 /* 801F5F88 001F1BE8 80 04 00 00 */ lwz r0, 0(r4) /* 801F5F8C 001F1BEC 38 80 00 00 */ li r4, 0 /* 801F5F90 001F1BF0 2C 00 00 00 */ cmpwi r0, 0 /* 801F5F94 001F1BF4 41 82 00 10 */ beq lbl_801F5FA4 /* 801F5F98 001F1BF8 54 E0 07 FF */ clrlwi. r0, r7, 0x1f /* 801F5F9C 001F1BFC 41 82 00 08 */ beq lbl_801F5FA4 /* 801F5FA0 001F1C00 38 80 00 01 */ li r4, 1 lbl_801F5FA4: /* 801F5FA4 001F1C04 2C 04 00 00 */ cmpwi r4, 0 /* 801F5FA8 001F1C08 41 82 00 10 */ beq lbl_801F5FB8 /* 801F5FAC 001F1C0C 38 A0 00 00 */ li r5, 0 /* 801F5FB0 001F1C10 48 00 00 08 */ b lbl_801F5FB8 lbl_801F5FB4: /* 801F5FB4 001F1C14 38 A0 00 01 */ li r5, 1 lbl_801F5FB8: /* 801F5FB8 001F1C18 2C 05 00 00 */ cmpwi r5, 0 /* 801F5FBC 001F1C1C 40 82 00 0C */ bne lbl_801F5FC8 /* 801F5FC0 001F1C20 38 60 00 00 */ li r3, 0 /* 801F5FC4 001F1C24 4E 80 00 20 */ blr lbl_801F5FC8: /* 801F5FC8 001F1C28 39 08 00 01 */ addi r8, r8, 1 lbl_801F5FCC: /* 801F5FCC 001F1C2C 55 00 04 3E */ clrlwi r0, r8, 0x10 /* 801F5FD0 001F1C30 7C 00 30 40 */ cmplw r0, r6 /* 801F5FD4 001F1C34 41 80 FF 84 */ blt lbl_801F5F58 /* 801F5FD8 001F1C38 A0 C3 00 E6 */ lhz r6, 0xe6(r3) /* 801F5FDC 001F1C3C 39 00 00 00 */ li r8, 0 /* 801F5FE0 001F1C40 48 00 00 7C */ b lbl_801F605C lbl_801F5FE4: /* 801F5FE4 001F1C44 80 83 00 1C */ lwz r4, 0x1c(r3) /* 801F5FE8 001F1C48 55 00 13 BA */ rlwinm r0, r8, 2, 0xe, 0x1d /* 801F5FEC 001F1C4C 7C 84 00 2E */ lwzx r4, r4, r0 /* 801F5FF0 001F1C50 80 84 00 14 */ lwz r4, 0x14(r4) /* 801F5FF4 001F1C54 2C 04 00 00 */ cmpwi r4, 0 /* 801F5FF8 001F1C58 41 82 00 60 */ beq lbl_801F6058 /* 801F5FFC 001F1C5C 80 84 00 04 */ lwz r4, 4(r4) /* 801F6000 001F1C60 2C 04 00 00 */ cmpwi r4, 0 /* 801F6004 001F1C64 41 82 00 40 */ beq lbl_801F6044 /* 801F6008 001F1C68 A0 E4 00 06 */ lhz r7, 6(r4) /* 801F600C 001F1C6C 38 A0 00 01 */ li r5, 1 /* 801F6010 001F1C70 54 E0 07 39 */ rlwinm. r0, r7, 0, 0x1c, 0x1c /* 801F6014 001F1C74 40 82 00 34 */ bne lbl_801F6048 /* 801F6018 001F1C78 80 04 00 00 */ lwz r0, 0(r4) /* 801F601C 001F1C7C 38 80 00 00 */ li r4, 0 /* 801F6020 001F1C80 2C 00 00 00 */ cmpwi r0, 0 /* 801F6024 001F1C84 41 82 00 10 */ beq lbl_801F6034 /* 801F6028 001F1C88 54 E0 07 FF */ clrlwi. r0, r7, 0x1f /* 801F602C 001F1C8C 41 82 00 08 */ beq lbl_801F6034 /* 801F6030 001F1C90 38 80 00 01 */ li r4, 1 lbl_801F6034: /* 801F6034 001F1C94 2C 04 00 00 */ cmpwi r4, 0 /* 801F6038 001F1C98 41 82 00 10 */ beq lbl_801F6048 /* 801F603C 001F1C9C 38 A0 00 00 */ li r5, 0 /* 801F6040 001F1CA0 48 00 00 08 */ b lbl_801F6048 lbl_801F6044: /* 801F6044 001F1CA4 38 A0 00 01 */ li r5, 1 lbl_801F6048: /* 801F6048 001F1CA8 2C 05 00 00 */ cmpwi r5, 0 /* 801F604C 001F1CAC 40 82 00 0C */ bne lbl_801F6058 /* 801F6050 001F1CB0 38 60 00 00 */ li r3, 0 /* 801F6054 001F1CB4 4E 80 00 20 */ blr lbl_801F6058: /* 801F6058 001F1CB8 39 08 00 01 */ addi r8, r8, 1 lbl_801F605C: /* 801F605C 001F1CBC 55 00 04 3E */ clrlwi r0, r8, 0x10 /* 801F6060 001F1CC0 7C 00 30 40 */ cmplw r0, r6 /* 801F6064 001F1CC4 41 80 FF 80 */ blt lbl_801F5FE4 /* 801F6068 001F1CC8 38 60 00 01 */ li r3, 1 /* 801F606C 001F1CCC 4E 80 00 20 */ blr .global func_801F6070 func_801F6070: /* 801F6070 001F1CD0 54 86 06 3E */ clrlwi r6, r4, 0x18 /* 801F6074 001F1CD4 38 E0 00 00 */ li r7, 0 /* 801F6078 001F1CD8 48 00 00 38 */ b lbl_801F60B0 lbl_801F607C: /* 801F607C 001F1CDC 80 A3 00 08 */ lwz r5, 8(r3) /* 801F6080 001F1CE0 54 E0 13 BA */ rlwinm r0, r7, 2, 0xe, 0x1d /* 801F6084 001F1CE4 7C A5 00 2E */ lwzx r5, r5, r0 /* 801F6088 001F1CE8 2C 05 00 00 */ cmpwi r5, 0 /* 801F608C 001F1CEC 41 82 00 20 */ beq lbl_801F60AC /* 801F6090 001F1CF0 80 A5 00 04 */ lwz r5, 4(r5) /* 801F6094 001F1CF4 2C 05 00 00 */ cmpwi r5, 0 /* 801F6098 001F1CF8 41 82 00 14 */ beq lbl_801F60AC /* 801F609C 001F1CFC A0 05 00 06 */ lhz r0, 6(r5) /* 801F60A0 001F1D00 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 801F60A4 001F1D04 40 82 00 08 */ bne lbl_801F60AC /* 801F60A8 001F1D08 B0 C5 00 04 */ sth r6, 4(r5) lbl_801F60AC: /* 801F60AC 001F1D0C 38 E7 00 01 */ addi r7, r7, 1 lbl_801F60B0: /* 801F60B0 001F1D10 A0 03 00 DE */ lhz r0, 0xde(r3) /* 801F60B4 001F1D14 54 E5 04 3E */ clrlwi r5, r7, 0x10 /* 801F60B8 001F1D18 7C 05 00 40 */ cmplw r5, r0 /* 801F60BC 001F1D1C 41 80 FF C0 */ blt lbl_801F607C /* 801F60C0 001F1D20 54 86 06 3E */ clrlwi r6, r4, 0x18 /* 801F60C4 001F1D24 38 E0 00 00 */ li r7, 0 /* 801F60C8 001F1D28 48 00 00 3C */ b lbl_801F6104 lbl_801F60CC: /* 801F60CC 001F1D2C 80 A3 00 1C */ lwz r5, 0x1c(r3) /* 801F60D0 001F1D30 54 E0 13 BA */ rlwinm r0, r7, 2, 0xe, 0x1d /* 801F60D4 001F1D34 7C A5 00 2E */ lwzx r5, r5, r0 /* 801F60D8 001F1D38 80 A5 00 14 */ lwz r5, 0x14(r5) /* 801F60DC 001F1D3C 2C 05 00 00 */ cmpwi r5, 0 /* 801F60E0 001F1D40 41 82 00 20 */ beq lbl_801F6100 /* 801F60E4 001F1D44 80 A5 00 04 */ lwz r5, 4(r5) /* 801F60E8 001F1D48 2C 05 00 00 */ cmpwi r5, 0 /* 801F60EC 001F1D4C 41 82 00 14 */ beq lbl_801F6100 /* 801F60F0 001F1D50 A0 05 00 06 */ lhz r0, 6(r5) /* 801F60F4 001F1D54 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 801F60F8 001F1D58 40 82 00 08 */ bne lbl_801F6100 /* 801F60FC 001F1D5C B0 C5 00 04 */ sth r6, 4(r5) lbl_801F6100: /* 801F6100 001F1D60 38 E7 00 01 */ addi r7, r7, 1 lbl_801F6104: /* 801F6104 001F1D64 A0 03 00 E6 */ lhz r0, 0xe6(r3) /* 801F6108 001F1D68 54 E5 04 3E */ clrlwi r5, r7, 0x10 /* 801F610C 001F1D6C 7C 05 00 40 */ cmplw r5, r0 /* 801F6110 001F1D70 41 80 FF BC */ blt lbl_801F60CC /* 801F6114 001F1D74 90 83 00 F4 */ stw r4, 0xf4(r3) /* 801F6118 001F1D78 4E 80 00 20 */ blr .global func_801F611C func_801F611C: /* 801F611C 001F1D7C 38 E0 00 00 */ li r7, 0 /* 801F6120 001F1D80 38 C0 00 00 */ li r6, 0 /* 801F6124 001F1D84 48 00 00 24 */ b lbl_801F6148 lbl_801F6128: /* 801F6128 001F1D88 80 A3 00 1C */ lwz r5, 0x1c(r3) /* 801F612C 001F1D8C 7C A5 30 2E */ lwzx r5, r5, r6 /* 801F6130 001F1D90 80 A5 00 14 */ lwz r5, 0x14(r5) /* 801F6134 001F1D94 2C 05 00 00 */ cmpwi r5, 0 /* 801F6138 001F1D98 41 82 00 08 */ beq lbl_801F6140 /* 801F613C 001F1D9C 98 85 00 26 */ stb r4, 0x26(r5) lbl_801F6140: /* 801F6140 001F1DA0 38 C6 00 04 */ addi r6, r6, 4 /* 801F6144 001F1DA4 38 E7 00 01 */ addi r7, r7, 1 lbl_801F6148: /* 801F6148 001F1DA8 A0 03 00 E6 */ lhz r0, 0xe6(r3) /* 801F614C 001F1DAC 7C 07 00 00 */ cmpw r7, r0 /* 801F6150 001F1DB0 41 80 FF D8 */ blt lbl_801F6128 /* 801F6154 001F1DB4 4E 80 00 20 */ blr .global func_801F6158 func_801F6158: /* 801F6158 001F1DB8 38 E0 00 00 */ li r7, 0 /* 801F615C 001F1DBC 38 C0 00 00 */ li r6, 0 /* 801F6160 001F1DC0 48 00 00 24 */ b lbl_801F6184 lbl_801F6164: /* 801F6164 001F1DC4 80 A3 00 1C */ lwz r5, 0x1c(r3) /* 801F6168 001F1DC8 7C A5 30 2E */ lwzx r5, r5, r6 /* 801F616C 001F1DCC 80 A5 00 14 */ lwz r5, 0x14(r5) /* 801F6170 001F1DD0 2C 05 00 00 */ cmpwi r5, 0 /* 801F6174 001F1DD4 41 82 00 08 */ beq lbl_801F617C /* 801F6178 001F1DD8 98 85 00 27 */ stb r4, 0x27(r5) lbl_801F617C: /* 801F617C 001F1DDC 38 C6 00 04 */ addi r6, r6, 4 /* 801F6180 001F1DE0 38 E7 00 01 */ addi r7, r7, 1 lbl_801F6184: /* 801F6184 001F1DE4 A0 03 00 E6 */ lhz r0, 0xe6(r3) /* 801F6188 001F1DE8 7C 07 00 00 */ cmpw r7, r0 /* 801F618C 001F1DEC 41 80 FF D8 */ blt lbl_801F6164 /* 801F6190 001F1DF0 4E 80 00 20 */ blr .global func_801F6194 func_801F6194: /* 801F6194 001F1DF4 88 E4 00 00 */ lbz r7, 0(r4) /* 801F6198 001F1DF8 39 20 00 00 */ li r9, 0 /* 801F619C 001F1DFC 88 C4 00 01 */ lbz r6, 1(r4) /* 801F61A0 001F1E00 39 00 00 00 */ li r8, 0 /* 801F61A4 001F1E04 88 A4 00 02 */ lbz r5, 2(r4) /* 801F61A8 001F1E08 88 04 00 03 */ lbz r0, 3(r4) /* 801F61AC 001F1E0C 98 E3 01 48 */ stb r7, 0x148(r3) /* 801F61B0 001F1E10 98 C3 01 49 */ stb r6, 0x149(r3) /* 801F61B4 001F1E14 98 A3 01 4A */ stb r5, 0x14a(r3) /* 801F61B8 001F1E18 98 03 01 4B */ stb r0, 0x14b(r3) /* 801F61BC 001F1E1C 48 00 00 40 */ b lbl_801F61FC lbl_801F61C0: /* 801F61C0 001F1E20 80 A3 00 1C */ lwz r5, 0x1c(r3) /* 801F61C4 001F1E24 7C A5 40 2E */ lwzx r5, r5, r8 /* 801F61C8 001F1E28 80 C5 00 14 */ lwz r6, 0x14(r5) /* 801F61CC 001F1E2C 2C 06 00 00 */ cmpwi r6, 0 /* 801F61D0 001F1E30 41 82 00 24 */ beq lbl_801F61F4 /* 801F61D4 001F1E34 88 A4 00 00 */ lbz r5, 0(r4) /* 801F61D8 001F1E38 88 04 00 01 */ lbz r0, 1(r4) /* 801F61DC 001F1E3C 98 A6 00 30 */ stb r5, 0x30(r6) /* 801F61E0 001F1E40 88 A4 00 02 */ lbz r5, 2(r4) /* 801F61E4 001F1E44 98 06 00 31 */ stb r0, 0x31(r6) /* 801F61E8 001F1E48 88 04 00 03 */ lbz r0, 3(r4) /* 801F61EC 001F1E4C 98 A6 00 32 */ stb r5, 0x32(r6) /* 801F61F0 001F1E50 98 06 00 33 */ stb r0, 0x33(r6) lbl_801F61F4: /* 801F61F4 001F1E54 39 08 00 04 */ addi r8, r8, 4 /* 801F61F8 001F1E58 39 29 00 01 */ addi r9, r9, 1 lbl_801F61FC: /* 801F61FC 001F1E5C A0 03 00 E6 */ lhz r0, 0xe6(r3) /* 801F6200 001F1E60 7C 09 00 00 */ cmpw r9, r0 /* 801F6204 001F1E64 41 80 FF BC */ blt lbl_801F61C0 /* 801F6208 001F1E68 4E 80 00 20 */ blr .global func_801F620C func_801F620C: /* 801F620C 001F1E6C 39 00 00 00 */ li r8, 0 /* 801F6210 001F1E70 38 E0 00 00 */ li r7, 0 /* 801F6214 001F1E74 48 00 00 40 */ b lbl_801F6254 lbl_801F6218: /* 801F6218 001F1E78 80 A3 00 1C */ lwz r5, 0x1c(r3) /* 801F621C 001F1E7C 7C A5 38 2E */ lwzx r5, r5, r7 /* 801F6220 001F1E80 80 C5 00 14 */ lwz r6, 0x14(r5) /* 801F6224 001F1E84 2C 06 00 00 */ cmpwi r6, 0 /* 801F6228 001F1E88 41 82 00 24 */ beq lbl_801F624C /* 801F622C 001F1E8C 88 A4 00 00 */ lbz r5, 0(r4) /* 801F6230 001F1E90 88 04 00 01 */ lbz r0, 1(r4) /* 801F6234 001F1E94 98 A6 00 2C */ stb r5, 0x2c(r6) /* 801F6238 001F1E98 88 A4 00 02 */ lbz r5, 2(r4) /* 801F623C 001F1E9C 98 06 00 2D */ stb r0, 0x2d(r6) /* 801F6240 001F1EA0 88 04 00 03 */ lbz r0, 3(r4) /* 801F6244 001F1EA4 98 A6 00 2E */ stb r5, 0x2e(r6) /* 801F6248 001F1EA8 98 06 00 2F */ stb r0, 0x2f(r6) lbl_801F624C: /* 801F624C 001F1EAC 38 E7 00 04 */ addi r7, r7, 4 /* 801F6250 001F1EB0 39 08 00 01 */ addi r8, r8, 1 lbl_801F6254: /* 801F6254 001F1EB4 A0 03 00 E6 */ lhz r0, 0xe6(r3) /* 801F6258 001F1EB8 7C 08 00 00 */ cmpw r8, r0 /* 801F625C 001F1EBC 41 80 FF BC */ blt lbl_801F6218 /* 801F6260 001F1EC0 4E 80 00 20 */ blr .global func_801F6264 func_801F6264: /* 801F6264 001F1EC4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801F6268 001F1EC8 7C 08 02 A6 */ mflr r0 /* 801F626C 001F1ECC 90 01 00 24 */ stw r0, 0x24(r1) /* 801F6270 001F1ED0 39 61 00 20 */ addi r11, r1, 0x20 /* 801F6274 001F1ED4 4B FD 0E B1 */ bl _savegpr_26 /* 801F6278 001F1ED8 7C 7A 1B 78 */ mr r26, r3 /* 801F627C 001F1EDC 7C 9B 23 78 */ mr r27, r4 /* 801F6280 001F1EE0 7C BC 2B 78 */ mr r28, r5 /* 801F6284 001F1EE4 3B A0 00 00 */ li r29, 0 /* 801F6288 001F1EE8 3B E0 00 00 */ li r31, 0 /* 801F628C 001F1EEC 48 00 00 54 */ b lbl_801F62E0 lbl_801F6290: /* 801F6290 001F1EF0 80 7A 00 1C */ lwz r3, 0x1c(r26) /* 801F6294 001F1EF4 7F C3 F8 2E */ lwzx r30, r3, r31 /* 801F6298 001F1EF8 80 7E 00 0C */ lwz r3, 0xc(r30) /* 801F629C 001F1EFC 2C 03 00 00 */ cmpwi r3, 0 /* 801F62A0 001F1F00 41 82 00 38 */ beq lbl_801F62D8 /* 801F62A4 001F1F04 80 63 00 0C */ lwz r3, 0xc(r3) /* 801F62A8 001F1F08 80 83 00 00 */ lwz r4, 0(r3) /* 801F62AC 001F1F0C 2C 04 00 00 */ cmpwi r4, 0 /* 801F62B0 001F1F10 41 82 00 28 */ beq lbl_801F62D8 /* 801F62B4 001F1F14 7F 63 DB 78 */ mr r3, r27 /* 801F62B8 001F1F18 4B FD 81 95 */ bl strcmp /* 801F62BC 001F1F1C 2C 03 00 00 */ cmpwi r3, 0 /* 801F62C0 001F1F20 40 82 00 18 */ bne lbl_801F62D8 /* 801F62C4 001F1F24 2C 1C 00 00 */ cmpwi r28, 0 /* 801F62C8 001F1F28 93 9E 00 14 */ stw r28, 0x14(r30) /* 801F62CC 001F1F2C 41 82 00 0C */ beq lbl_801F62D8 /* 801F62D0 001F1F30 7F 83 E3 78 */ mr r3, r28 /* 801F62D4 001F1F34 4B FF 68 D5 */ bl func_801ECBA8 lbl_801F62D8: /* 801F62D8 001F1F38 3B FF 00 04 */ addi r31, r31, 4 /* 801F62DC 001F1F3C 3B BD 00 01 */ addi r29, r29, 1 lbl_801F62E0: /* 801F62E0 001F1F40 A0 1A 00 E6 */ lhz r0, 0xe6(r26) /* 801F62E4 001F1F44 7C 1D 00 00 */ cmpw r29, r0 /* 801F62E8 001F1F48 41 80 FF A8 */ blt lbl_801F6290 /* 801F62EC 001F1F4C 39 61 00 20 */ addi r11, r1, 0x20 /* 801F62F0 001F1F50 4B FD 0E 81 */ bl _restgpr_26 /* 801F62F4 001F1F54 80 01 00 24 */ lwz r0, 0x24(r1) /* 801F62F8 001F1F58 7C 08 03 A6 */ mtlr r0 /* 801F62FC 001F1F5C 38 21 00 20 */ addi r1, r1, 0x20 /* 801F6300 001F1F60 4E 80 00 20 */ blr .global func_801F6304 func_801F6304: /* 801F6304 001F1F64 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801F6308 001F1F68 7C 08 02 A6 */ mflr r0 /* 801F630C 001F1F6C 90 01 00 24 */ stw r0, 0x24(r1) /* 801F6310 001F1F70 39 61 00 20 */ addi r11, r1, 0x20 /* 801F6314 001F1F74 4B FD 0E 11 */ bl _savegpr_26 /* 801F6318 001F1F78 7C 7A 1B 78 */ mr r26, r3 /* 801F631C 001F1F7C 7C 9B 23 78 */ mr r27, r4 /* 801F6320 001F1F80 3B 80 00 00 */ li r28, 0 /* 801F6324 001F1F84 3B E0 00 00 */ li r31, 0 /* 801F6328 001F1F88 48 00 00 44 */ b lbl_801F636C lbl_801F632C: /* 801F632C 001F1F8C 80 7A 00 1C */ lwz r3, 0x1c(r26) /* 801F6330 001F1F90 7F C3 F8 2E */ lwzx r30, r3, r31 /* 801F6334 001F1F94 83 BE 00 0C */ lwz r29, 0xc(r30) /* 801F6338 001F1F98 2C 1D 00 00 */ cmpwi r29, 0 /* 801F633C 001F1F9C 41 82 00 28 */ beq lbl_801F6364 /* 801F6340 001F1FA0 80 7D 00 0C */ lwz r3, 0xc(r29) /* 801F6344 001F1FA4 80 83 00 00 */ lwz r4, 0(r3) /* 801F6348 001F1FA8 2C 04 00 00 */ cmpwi r4, 0 /* 801F634C 001F1FAC 41 82 00 18 */ beq lbl_801F6364 /* 801F6350 001F1FB0 7F 63 DB 78 */ mr r3, r27 /* 801F6354 001F1FB4 4B FD 80 F9 */ bl strcmp /* 801F6358 001F1FB8 2C 03 00 00 */ cmpwi r3, 0 /* 801F635C 001F1FBC 40 82 00 08 */ bne lbl_801F6364 /* 801F6360 001F1FC0 93 BE 00 14 */ stw r29, 0x14(r30) lbl_801F6364: /* 801F6364 001F1FC4 3B FF 00 04 */ addi r31, r31, 4 /* 801F6368 001F1FC8 3B 9C 00 01 */ addi r28, r28, 1 lbl_801F636C: /* 801F636C 001F1FCC A0 1A 00 E6 */ lhz r0, 0xe6(r26) /* 801F6370 001F1FD0 7C 1C 00 00 */ cmpw r28, r0 /* 801F6374 001F1FD4 41 80 FF B8 */ blt lbl_801F632C /* 801F6378 001F1FD8 39 61 00 20 */ addi r11, r1, 0x20 /* 801F637C 001F1FDC 4B FD 0D F5 */ bl _restgpr_26 /* 801F6380 001F1FE0 80 01 00 24 */ lwz r0, 0x24(r1) /* 801F6384 001F1FE4 7C 08 03 A6 */ mtlr r0 /* 801F6388 001F1FE8 38 21 00 20 */ addi r1, r1, 0x20 /* 801F638C 001F1FEC 4E 80 00 20 */ blr .global func_801F6390 func_801F6390: /* 801F6390 001F1FF0 38 C0 00 00 */ li r6, 0 /* 801F6394 001F1FF4 38 A0 00 00 */ li r5, 0 /* 801F6398 001F1FF8 48 00 00 1C */ b lbl_801F63B4 lbl_801F639C: /* 801F639C 001F1FFC 80 83 00 1C */ lwz r4, 0x1c(r3) /* 801F63A0 001F2000 38 C6 00 01 */ addi r6, r6, 1 /* 801F63A4 001F2004 7C 84 28 2E */ lwzx r4, r4, r5 /* 801F63A8 001F2008 38 A5 00 04 */ addi r5, r5, 4 /* 801F63AC 001F200C 80 04 00 0C */ lwz r0, 0xc(r4) /* 801F63B0 001F2010 90 04 00 14 */ stw r0, 0x14(r4) lbl_801F63B4: /* 801F63B4 001F2014 A0 03 00 E6 */ lhz r0, 0xe6(r3) /* 801F63B8 001F2018 7C 06 00 00 */ cmpw r6, r0 /* 801F63BC 001F201C 41 80 FF E0 */ blt lbl_801F639C /* 801F63C0 001F2020 4E 80 00 20 */ blr .global func_801F63C4 func_801F63C4: /* 801F63C4 001F2024 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801F63C8 001F2028 7C 08 02 A6 */ mflr r0 /* 801F63CC 001F202C 90 01 00 24 */ stw r0, 0x24(r1) /* 801F63D0 001F2030 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801F63D4 001F2034 3B E0 00 00 */ li r31, 0 /* 801F63D8 001F2038 93 C1 00 18 */ stw r30, 0x18(r1) /* 801F63DC 001F203C 7C 9E 23 78 */ mr r30, r4 /* 801F63E0 001F2040 93 A1 00 14 */ stw r29, 0x14(r1) /* 801F63E4 001F2044 7C 7D 1B 78 */ mr r29, r3 /* 801F63E8 001F2048 93 81 00 10 */ stw r28, 0x10(r1) /* 801F63EC 001F204C 48 00 00 C0 */ b lbl_801F64AC lbl_801F63F0: /* 801F63F0 001F2050 80 9D 00 20 */ lwz r4, 0x20(r29) /* 801F63F4 001F2054 2C 04 00 00 */ cmpwi r4, 0 /* 801F63F8 001F2058 40 82 00 0C */ bne lbl_801F6404 /* 801F63FC 001F205C 3B 80 00 00 */ li r28, 0 /* 801F6400 001F2060 48 00 00 54 */ b lbl_801F6454 lbl_801F6404: /* 801F6404 001F2064 A0 1D 00 E8 */ lhz r0, 0xe8(r29) /* 801F6408 001F2068 57 E3 04 3E */ clrlwi r3, r31, 0x10 /* 801F640C 001F206C 7C 03 00 40 */ cmplw r3, r0 /* 801F6410 001F2070 41 80 00 0C */ blt lbl_801F641C /* 801F6414 001F2074 3B 80 00 00 */ li r28, 0 /* 801F6418 001F2078 48 00 00 3C */ b lbl_801F6454 lbl_801F641C: /* 801F641C 001F207C 80 BD 00 08 */ lwz r5, 8(r29) /* 801F6420 001F2080 57 E0 0B FC */ rlwinm r0, r31, 1, 0xf, 0x1e /* 801F6424 001F2084 7C 64 02 2E */ lhzx r3, r4, r0 /* 801F6428 001F2088 2C 05 00 00 */ cmpwi r5, 0 /* 801F642C 001F208C 40 82 00 0C */ bne lbl_801F6438 /* 801F6430 001F2090 3B 80 00 00 */ li r28, 0 /* 801F6434 001F2094 48 00 00 20 */ b lbl_801F6454 lbl_801F6438: /* 801F6438 001F2098 A0 1D 00 DE */ lhz r0, 0xde(r29) /* 801F643C 001F209C 7C 03 00 40 */ cmplw r3, r0 /* 801F6440 001F20A0 41 80 00 0C */ blt lbl_801F644C /* 801F6444 001F20A4 3B 80 00 00 */ li r28, 0 /* 801F6448 001F20A8 48 00 00 0C */ b lbl_801F6454 lbl_801F644C: /* 801F644C 001F20AC 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 801F6450 001F20B0 7F 85 00 2E */ lwzx r28, r5, r0 lbl_801F6454: /* 801F6454 001F20B4 2C 1C 00 00 */ cmpwi r28, 0 /* 801F6458 001F20B8 41 82 00 50 */ beq lbl_801F64A8 /* 801F645C 001F20BC 2C 1E 00 00 */ cmpwi r30, 0 /* 801F6460 001F20C0 41 82 00 28 */ beq lbl_801F6488 /* 801F6464 001F20C4 80 1C 01 04 */ lwz r0, 0x104(r28) /* 801F6468 001F20C8 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 801F646C 001F20CC 40 82 00 3C */ bne lbl_801F64A8 /* 801F6470 001F20D0 38 7C 01 6C */ addi r3, r28, 0x16c /* 801F6474 001F20D4 4B FF 92 E9 */ bl func_801EF75C /* 801F6478 001F20D8 80 1C 01 04 */ lwz r0, 0x104(r28) /* 801F647C 001F20DC 60 00 00 10 */ ori r0, r0, 0x10 /* 801F6480 001F20E0 90 1C 01 04 */ stw r0, 0x104(r28) /* 801F6484 001F20E4 48 00 00 24 */ b lbl_801F64A8 lbl_801F6488: /* 801F6488 001F20E8 80 1C 01 04 */ lwz r0, 0x104(r28) /* 801F648C 001F20EC 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 801F6490 001F20F0 41 82 00 18 */ beq lbl_801F64A8 /* 801F6494 001F20F4 38 7C 01 6C */ addi r3, r28, 0x16c /* 801F6498 001F20F8 4B FF 93 8D */ bl func_801EF824 /* 801F649C 001F20FC 80 1C 01 04 */ lwz r0, 0x104(r28) /* 801F64A0 001F2100 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a /* 801F64A4 001F2104 90 1C 01 04 */ stw r0, 0x104(r28) lbl_801F64A8: /* 801F64A8 001F2108 3B FF 00 01 */ addi r31, r31, 1 lbl_801F64AC: /* 801F64AC 001F210C A0 1D 00 E8 */ lhz r0, 0xe8(r29) /* 801F64B0 001F2110 57 E3 04 3E */ clrlwi r3, r31, 0x10 /* 801F64B4 001F2114 7C 03 00 40 */ cmplw r3, r0 /* 801F64B8 001F2118 41 80 FF 38 */ blt lbl_801F63F0 /* 801F64BC 001F211C 80 01 00 24 */ lwz r0, 0x24(r1) /* 801F64C0 001F2120 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801F64C4 001F2124 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801F64C8 001F2128 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801F64CC 001F212C 83 81 00 10 */ lwz r28, 0x10(r1) /* 801F64D0 001F2130 7C 08 03 A6 */ mtlr r0 /* 801F64D4 001F2134 38 21 00 20 */ addi r1, r1, 0x20 /* 801F64D8 001F2138 4E 80 00 20 */ blr .global func_801F64DC func_801F64DC: /* 801F64DC 001F213C 39 00 00 00 */ li r8, 0 /* 801F64E0 001F2140 48 00 00 94 */ b lbl_801F6574 lbl_801F64E4: /* 801F64E4 001F2144 80 C3 00 20 */ lwz r6, 0x20(r3) /* 801F64E8 001F2148 2C 06 00 00 */ cmpwi r6, 0 /* 801F64EC 001F214C 40 82 00 0C */ bne lbl_801F64F8 /* 801F64F0 001F2150 38 C0 00 00 */ li r6, 0 /* 801F64F4 001F2154 48 00 00 54 */ b lbl_801F6548 lbl_801F64F8: /* 801F64F8 001F2158 A0 03 00 E8 */ lhz r0, 0xe8(r3) /* 801F64FC 001F215C 55 05 04 3E */ clrlwi r5, r8, 0x10 /* 801F6500 001F2160 7C 05 00 40 */ cmplw r5, r0 /* 801F6504 001F2164 41 80 00 0C */ blt lbl_801F6510 /* 801F6508 001F2168 38 C0 00 00 */ li r6, 0 /* 801F650C 001F216C 48 00 00 3C */ b lbl_801F6548 lbl_801F6510: /* 801F6510 001F2170 80 E3 00 08 */ lwz r7, 8(r3) /* 801F6514 001F2174 55 00 0B FC */ rlwinm r0, r8, 1, 0xf, 0x1e /* 801F6518 001F2178 7C A6 02 2E */ lhzx r5, r6, r0 /* 801F651C 001F217C 2C 07 00 00 */ cmpwi r7, 0 /* 801F6520 001F2180 40 82 00 0C */ bne lbl_801F652C /* 801F6524 001F2184 38 C0 00 00 */ li r6, 0 /* 801F6528 001F2188 48 00 00 20 */ b lbl_801F6548 lbl_801F652C: /* 801F652C 001F218C A0 03 00 DE */ lhz r0, 0xde(r3) /* 801F6530 001F2190 7C 05 00 40 */ cmplw r5, r0 /* 801F6534 001F2194 41 80 00 0C */ blt lbl_801F6540 /* 801F6538 001F2198 38 C0 00 00 */ li r6, 0 /* 801F653C 001F219C 48 00 00 0C */ b lbl_801F6548 lbl_801F6540: /* 801F6540 001F21A0 54 A0 13 BA */ rlwinm r0, r5, 2, 0xe, 0x1d /* 801F6544 001F21A4 7C C7 00 2E */ lwzx r6, r7, r0 lbl_801F6548: /* 801F6548 001F21A8 2C 06 00 00 */ cmpwi r6, 0 /* 801F654C 001F21AC 41 82 00 24 */ beq lbl_801F6570 /* 801F6550 001F21B0 88 A4 00 00 */ lbz r5, 0(r4) /* 801F6554 001F21B4 88 04 00 01 */ lbz r0, 1(r4) /* 801F6558 001F21B8 98 A6 01 34 */ stb r5, 0x134(r6) /* 801F655C 001F21BC 88 A4 00 02 */ lbz r5, 2(r4) /* 801F6560 001F21C0 98 06 01 35 */ stb r0, 0x135(r6) /* 801F6564 001F21C4 88 04 00 03 */ lbz r0, 3(r4) /* 801F6568 001F21C8 98 A6 01 36 */ stb r5, 0x136(r6) /* 801F656C 001F21CC 98 06 01 37 */ stb r0, 0x137(r6) lbl_801F6570: /* 801F6570 001F21D0 39 08 00 01 */ addi r8, r8, 1 lbl_801F6574: /* 801F6574 001F21D4 A0 03 00 E8 */ lhz r0, 0xe8(r3) /* 801F6578 001F21D8 55 05 04 3E */ clrlwi r5, r8, 0x10 /* 801F657C 001F21DC 7C 05 00 40 */ cmplw r5, r0 /* 801F6580 001F21E0 41 80 FF 64 */ blt lbl_801F64E4 /* 801F6584 001F21E4 4E 80 00 20 */ blr .global func_801F6588 func_801F6588: /* 801F6588 001F21E8 38 E0 00 00 */ li r7, 0 /* 801F658C 001F21EC 48 00 00 78 */ b lbl_801F6604 lbl_801F6590: /* 801F6590 001F21F0 80 A3 00 20 */ lwz r5, 0x20(r3) /* 801F6594 001F21F4 2C 05 00 00 */ cmpwi r5, 0 /* 801F6598 001F21F8 40 82 00 0C */ bne lbl_801F65A4 /* 801F659C 001F21FC 38 80 00 00 */ li r4, 0 /* 801F65A0 001F2200 48 00 00 54 */ b lbl_801F65F4 lbl_801F65A4: /* 801F65A4 001F2204 A0 03 00 E8 */ lhz r0, 0xe8(r3) /* 801F65A8 001F2208 54 E4 04 3E */ clrlwi r4, r7, 0x10 /* 801F65AC 001F220C 7C 04 00 40 */ cmplw r4, r0 /* 801F65B0 001F2210 41 80 00 0C */ blt lbl_801F65BC /* 801F65B4 001F2214 38 80 00 00 */ li r4, 0 /* 801F65B8 001F2218 48 00 00 3C */ b lbl_801F65F4 lbl_801F65BC: /* 801F65BC 001F221C 80 C3 00 08 */ lwz r6, 8(r3) /* 801F65C0 001F2220 54 E0 0B FC */ rlwinm r0, r7, 1, 0xf, 0x1e /* 801F65C4 001F2224 7C 85 02 2E */ lhzx r4, r5, r0 /* 801F65C8 001F2228 2C 06 00 00 */ cmpwi r6, 0 /* 801F65CC 001F222C 40 82 00 0C */ bne lbl_801F65D8 /* 801F65D0 001F2230 38 80 00 00 */ li r4, 0 /* 801F65D4 001F2234 48 00 00 20 */ b lbl_801F65F4 lbl_801F65D8: /* 801F65D8 001F2238 A0 03 00 DE */ lhz r0, 0xde(r3) /* 801F65DC 001F223C 7C 04 00 40 */ cmplw r4, r0 /* 801F65E0 001F2240 41 80 00 0C */ blt lbl_801F65EC /* 801F65E4 001F2244 38 80 00 00 */ li r4, 0 /* 801F65E8 001F2248 48 00 00 0C */ b lbl_801F65F4 lbl_801F65EC: /* 801F65EC 001F224C 54 80 13 BA */ rlwinm r0, r4, 2, 0xe, 0x1d /* 801F65F0 001F2250 7C 86 00 2E */ lwzx r4, r6, r0 lbl_801F65F4: /* 801F65F4 001F2254 2C 04 00 00 */ cmpwi r4, 0 /* 801F65F8 001F2258 41 82 00 08 */ beq lbl_801F6600 /* 801F65FC 001F225C D0 24 01 30 */ stfs f1, 0x130(r4) lbl_801F6600: /* 801F6600 001F2260 38 E7 00 01 */ addi r7, r7, 1 lbl_801F6604: /* 801F6604 001F2264 A0 03 00 E8 */ lhz r0, 0xe8(r3) /* 801F6608 001F2268 54 E4 04 3E */ clrlwi r4, r7, 0x10 /* 801F660C 001F226C 7C 04 00 40 */ cmplw r4, r0 /* 801F6610 001F2270 41 80 FF 80 */ blt lbl_801F6590 /* 801F6614 001F2274 4E 80 00 20 */ blr .global func_801F6618 func_801F6618: /* 801F6618 001F2278 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801F661C 001F227C 7C 08 02 A6 */ mflr r0 /* 801F6620 001F2280 90 01 00 34 */ stw r0, 0x34(r1) /* 801F6624 001F2284 93 E1 00 2C */ stw r31, 0x2c(r1) /* 801F6628 001F2288 7C 7F 1B 78 */ mr r31, r3 /* 801F662C 001F228C 93 C1 00 28 */ stw r30, 0x28(r1) /* 801F6630 001F2290 93 A1 00 24 */ stw r29, 0x24(r1) /* 801F6634 001F2294 4B FF F3 79 */ bl func_801F59AC /* 801F6638 001F2298 7F E3 FB 78 */ mr r3, r31 /* 801F663C 001F229C 4B FF FD 55 */ bl func_801F6390 /* 801F6640 001F22A0 80 7F 00 08 */ lwz r3, 8(r31) /* 801F6644 001F22A4 2C 03 00 00 */ cmpwi r3, 0 /* 801F6648 001F22A8 40 82 00 0C */ bne lbl_801F6654 /* 801F664C 001F22AC 38 60 00 00 */ li r3, 0 /* 801F6650 001F22B0 48 00 00 1C */ b lbl_801F666C lbl_801F6654: /* 801F6654 001F22B4 A0 1F 00 DE */ lhz r0, 0xde(r31) /* 801F6658 001F22B8 2C 00 00 00 */ cmpwi r0, 0 /* 801F665C 001F22BC 40 82 00 0C */ bne lbl_801F6668 /* 801F6660 001F22C0 38 60 00 00 */ li r3, 0 /* 801F6664 001F22C4 48 00 00 08 */ b lbl_801F666C lbl_801F6668: /* 801F6668 001F22C8 80 63 00 00 */ lwz r3, 0(r3) lbl_801F666C: /* 801F666C 001F22CC 2C 03 00 00 */ cmpwi r3, 0 /* 801F6670 001F22D0 41 82 00 18 */ beq lbl_801F6688 /* 801F6674 001F22D4 81 83 01 00 */ lwz r12, 0x100(r3) /* 801F6678 001F22D8 38 80 00 01 */ li r4, 1 /* 801F667C 001F22DC 81 8C 00 10 */ lwz r12, 0x10(r12) /* 801F6680 001F22E0 7D 89 03 A6 */ mtctr r12 /* 801F6684 001F22E4 4E 80 04 21 */ bctrl lbl_801F6688: /* 801F6688 001F22E8 80 BF 00 04 */ lwz r5, 4(r31) /* 801F668C 001F22EC 80 C5 00 14 */ lwz r6, 0x14(r5) /* 801F6690 001F22F0 2C 06 00 00 */ cmpwi r6, 0 /* 801F6694 001F22F4 41 82 00 60 */ beq lbl_801F66F4 /* 801F6698 001F22F8 C0 06 00 00 */ lfs f0, 0(r6) /* 801F669C 001F22FC 38 61 00 08 */ addi r3, r1, 8 /* 801F66A0 001F2300 38 9F 01 20 */ addi r4, r31, 0x120 /* 801F66A4 001F2304 D0 1F 01 20 */ stfs f0, 0x120(r31) /* 801F66A8 001F2308 C0 06 00 04 */ lfs f0, 4(r6) /* 801F66AC 001F230C D0 1F 01 24 */ stfs f0, 0x124(r31) /* 801F66B0 001F2310 C0 06 00 08 */ lfs f0, 8(r6) /* 801F66B4 001F2314 D0 1F 01 28 */ stfs f0, 0x128(r31) /* 801F66B8 001F2318 80 A5 00 14 */ lwz r5, 0x14(r5) /* 801F66BC 001F231C C0 05 00 0C */ lfs f0, 0xc(r5) /* 801F66C0 001F2320 D0 1F 01 2C */ stfs f0, 0x12c(r31) /* 801F66C4 001F2324 C0 05 00 10 */ lfs f0, 0x10(r5) /* 801F66C8 001F2328 D0 1F 01 30 */ stfs f0, 0x130(r31) /* 801F66CC 001F232C C0 05 00 14 */ lfs f0, 0x14(r5) /* 801F66D0 001F2330 D0 1F 01 34 */ stfs f0, 0x134(r31) /* 801F66D4 001F2334 48 02 A2 49 */ bl func_8022091C /* 801F66D8 001F2338 C0 01 00 08 */ lfs f0, 8(r1) /* 801F66DC 001F233C D0 1F 01 3C */ stfs f0, 0x13c(r31) /* 801F66E0 001F2340 C0 01 00 0C */ lfs f0, 0xc(r1) /* 801F66E4 001F2344 D0 1F 01 40 */ stfs f0, 0x140(r31) /* 801F66E8 001F2348 C0 01 00 10 */ lfs f0, 0x10(r1) /* 801F66EC 001F234C D0 1F 01 44 */ stfs f0, 0x144(r31) /* 801F66F0 001F2350 48 00 01 3C */ b lbl_801F682C lbl_801F66F4: /* 801F66F4 001F2354 C0 22 98 08 */ lfs f1, lbl_80641E08-_SDA2_BASE_(r2) /* 801F66F8 001F2358 3B A0 00 00 */ li r29, 0 /* 801F66FC 001F235C C0 02 98 0C */ lfs f0, lbl_80641E0C-_SDA2_BASE_(r2) /* 801F6700 001F2360 D0 3F 01 28 */ stfs f1, 0x128(r31) /* 801F6704 001F2364 D0 3F 01 24 */ stfs f1, 0x124(r31) /* 801F6708 001F2368 D0 3F 01 20 */ stfs f1, 0x120(r31) /* 801F670C 001F236C D0 1F 01 34 */ stfs f0, 0x134(r31) /* 801F6710 001F2370 D0 1F 01 30 */ stfs f0, 0x130(r31) /* 801F6714 001F2374 D0 1F 01 2C */ stfs f0, 0x12c(r31) /* 801F6718 001F2378 48 00 00 90 */ b lbl_801F67A8 lbl_801F671C: /* 801F671C 001F237C 80 9F 00 20 */ lwz r4, 0x20(r31) /* 801F6720 001F2380 2C 04 00 00 */ cmpwi r4, 0 /* 801F6724 001F2384 40 82 00 0C */ bne lbl_801F6730 /* 801F6728 001F2388 3B C0 00 00 */ li r30, 0 /* 801F672C 001F238C 48 00 00 54 */ b lbl_801F6780 lbl_801F6730: /* 801F6730 001F2390 A0 1F 00 E8 */ lhz r0, 0xe8(r31) /* 801F6734 001F2394 57 A3 04 3E */ clrlwi r3, r29, 0x10 /* 801F6738 001F2398 7C 03 00 40 */ cmplw r3, r0 /* 801F673C 001F239C 41 80 00 0C */ blt lbl_801F6748 /* 801F6740 001F23A0 3B C0 00 00 */ li r30, 0 /* 801F6744 001F23A4 48 00 00 3C */ b lbl_801F6780 lbl_801F6748: /* 801F6748 001F23A8 80 BF 00 08 */ lwz r5, 8(r31) /* 801F674C 001F23AC 57 A0 0B FC */ rlwinm r0, r29, 1, 0xf, 0x1e /* 801F6750 001F23B0 7C 64 02 2E */ lhzx r3, r4, r0 /* 801F6754 001F23B4 2C 05 00 00 */ cmpwi r5, 0 /* 801F6758 001F23B8 40 82 00 0C */ bne lbl_801F6764 /* 801F675C 001F23BC 3B C0 00 00 */ li r30, 0 /* 801F6760 001F23C0 48 00 00 20 */ b lbl_801F6780 lbl_801F6764: /* 801F6764 001F23C4 A0 1F 00 DE */ lhz r0, 0xde(r31) /* 801F6768 001F23C8 7C 03 00 40 */ cmplw r3, r0 /* 801F676C 001F23CC 41 80 00 0C */ blt lbl_801F6778 /* 801F6770 001F23D0 3B C0 00 00 */ li r30, 0 /* 801F6774 001F23D4 48 00 00 0C */ b lbl_801F6780 lbl_801F6778: /* 801F6778 001F23D8 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 801F677C 001F23DC 7F C5 00 2E */ lwzx r30, r5, r0 lbl_801F6780: /* 801F6780 001F23E0 2C 1E 00 00 */ cmpwi r30, 0 /* 801F6784 001F23E4 41 82 00 20 */ beq lbl_801F67A4 /* 801F6788 001F23E8 7F C3 F3 78 */ mr r3, r30 /* 801F678C 001F23EC 4B FF D5 55 */ bl func_801F3CE0 /* 801F6790 001F23F0 2C 03 00 00 */ cmpwi r3, 0 /* 801F6794 001F23F4 41 82 00 10 */ beq lbl_801F67A4 /* 801F6798 001F23F8 38 7F 01 20 */ addi r3, r31, 0x120 /* 801F679C 001F23FC 38 9E 01 08 */ addi r4, r30, 0x108 /* 801F67A0 001F2400 48 02 A4 D9 */ bl func_80220C78 lbl_801F67A4: /* 801F67A4 001F2404 3B BD 00 01 */ addi r29, r29, 1 lbl_801F67A8: /* 801F67A8 001F2408 A0 1F 00 E8 */ lhz r0, 0xe8(r31) /* 801F67AC 001F240C 57 A3 04 3E */ clrlwi r3, r29, 0x10 /* 801F67B0 001F2410 7C 03 00 40 */ cmplw r3, r0 /* 801F67B4 001F2414 41 80 FF 68 */ blt lbl_801F671C /* 801F67B8 001F2418 C0 1F 01 20 */ lfs f0, 0x120(r31) /* 801F67BC 001F241C C0 22 98 00 */ lfs f1, lbl_80641E00-_SDA2_BASE_(r2) /* 801F67C0 001F2420 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801F67C4 001F2424 40 81 00 10 */ ble lbl_801F67D4 /* 801F67C8 001F2428 C0 1F 01 2C */ lfs f0, 0x12c(r31) /* 801F67CC 001F242C FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801F67D0 001F2430 41 80 00 3C */ blt lbl_801F680C lbl_801F67D4: /* 801F67D4 001F2434 C0 1F 01 24 */ lfs f0, 0x124(r31) /* 801F67D8 001F2438 C0 22 98 00 */ lfs f1, lbl_80641E00-_SDA2_BASE_(r2) /* 801F67DC 001F243C FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801F67E0 001F2440 40 81 00 10 */ ble lbl_801F67F0 /* 801F67E4 001F2444 C0 1F 01 30 */ lfs f0, 0x130(r31) /* 801F67E8 001F2448 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801F67EC 001F244C 41 80 00 20 */ blt lbl_801F680C lbl_801F67F0: /* 801F67F0 001F2450 C0 1F 01 28 */ lfs f0, 0x128(r31) /* 801F67F4 001F2454 C0 22 98 00 */ lfs f1, lbl_80641E00-_SDA2_BASE_(r2) /* 801F67F8 001F2458 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801F67FC 001F245C 40 81 00 30 */ ble lbl_801F682C /* 801F6800 001F2460 C0 1F 01 34 */ lfs f0, 0x134(r31) /* 801F6804 001F2464 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801F6808 001F2468 40 80 00 24 */ bge lbl_801F682C lbl_801F680C: /* 801F680C 001F246C C0 22 98 1C */ lfs f1, lbl_80641E1C-_SDA2_BASE_(r2) /* 801F6810 001F2470 C0 02 98 18 */ lfs f0, lbl_80641E18-_SDA2_BASE_(r2) /* 801F6814 001F2474 D0 3F 01 20 */ stfs f1, 0x120(r31) /* 801F6818 001F2478 D0 3F 01 24 */ stfs f1, 0x124(r31) /* 801F681C 001F247C D0 3F 01 28 */ stfs f1, 0x128(r31) /* 801F6820 001F2480 D0 1F 01 2C */ stfs f0, 0x12c(r31) /* 801F6824 001F2484 D0 1F 01 30 */ stfs f0, 0x130(r31) /* 801F6828 001F2488 D0 1F 01 34 */ stfs f0, 0x134(r31) lbl_801F682C: /* 801F682C 001F248C 80 01 00 34 */ lwz r0, 0x34(r1) /* 801F6830 001F2490 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 801F6834 001F2494 83 C1 00 28 */ lwz r30, 0x28(r1) /* 801F6838 001F2498 83 A1 00 24 */ lwz r29, 0x24(r1) /* 801F683C 001F249C 7C 08 03 A6 */ mtlr r0 /* 801F6840 001F24A0 38 21 00 30 */ addi r1, r1, 0x30 /* 801F6844 001F24A4 4E 80 00 20 */ blr .global func_801F6848 func_801F6848: /* 801F6848 001F24A8 94 21 FF 90 */ stwu r1, -0x70(r1) /* 801F684C 001F24AC 7C 08 02 A6 */ mflr r0 /* 801F6850 001F24B0 90 01 00 74 */ stw r0, 0x74(r1) /* 801F6854 001F24B4 DB E1 00 60 */ stfd f31, 0x60(r1) /* 801F6858 001F24B8 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0 /* 801F685C 001F24BC FF E0 08 90 */ fmr f31, f1 /* 801F6860 001F24C0 93 E1 00 5C */ stw r31, 0x5c(r1) /* 801F6864 001F24C4 7C 7F 1B 78 */ mr r31, r3 /* 801F6868 001F24C8 93 C1 00 58 */ stw r30, 0x58(r1) /* 801F686C 001F24CC 93 A1 00 54 */ stw r29, 0x54(r1) /* 801F6870 001F24D0 7C 9D 23 78 */ mr r29, r4 /* 801F6874 001F24D4 A0 03 00 DC */ lhz r0, 0xdc(r3) /* 801F6878 001F24D8 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 801F687C 001F24DC 41 82 00 08 */ beq lbl_801F6884 /* 801F6880 001F24E0 C3 E2 98 00 */ lfs f31, lbl_80641E00-_SDA2_BASE_(r2) lbl_801F6884: /* 801F6884 001F24E4 FC 20 F8 90 */ fmr f1, f31 /* 801F6888 001F24E8 7F E3 FB 78 */ mr r3, r31 /* 801F688C 001F24EC 4B FF F4 65 */ bl func_801F5CF0 /* 801F6890 001F24F0 2C 1D 00 00 */ cmpwi r29, 0 /* 801F6894 001F24F4 41 82 00 4C */ beq lbl_801F68E0 /* 801F6898 001F24F8 80 7F 00 08 */ lwz r3, 8(r31) /* 801F689C 001F24FC 2C 03 00 00 */ cmpwi r3, 0 /* 801F68A0 001F2500 40 82 00 0C */ bne lbl_801F68AC /* 801F68A4 001F2504 38 60 00 00 */ li r3, 0 /* 801F68A8 001F2508 48 00 00 1C */ b lbl_801F68C4 lbl_801F68AC: /* 801F68AC 001F250C A0 1F 00 DE */ lhz r0, 0xde(r31) /* 801F68B0 001F2510 2C 00 00 00 */ cmpwi r0, 0 /* 801F68B4 001F2514 40 82 00 0C */ bne lbl_801F68C0 /* 801F68B8 001F2518 38 60 00 00 */ li r3, 0 /* 801F68BC 001F251C 48 00 00 08 */ b lbl_801F68C4 lbl_801F68C0: /* 801F68C0 001F2520 80 63 00 00 */ lwz r3, 0(r3) lbl_801F68C4: /* 801F68C4 001F2524 2C 03 00 00 */ cmpwi r3, 0 /* 801F68C8 001F2528 41 82 00 18 */ beq lbl_801F68E0 /* 801F68CC 001F252C 81 83 01 00 */ lwz r12, 0x100(r3) /* 801F68D0 001F2530 FC 20 F8 90 */ fmr f1, f31 /* 801F68D4 001F2534 81 8C 00 0C */ lwz r12, 0xc(r12) /* 801F68D8 001F2538 7D 89 03 A6 */ mtctr r12 /* 801F68DC 001F253C 4E 80 04 21 */ bctrl lbl_801F68E0: /* 801F68E0 001F2540 80 7F 00 04 */ lwz r3, 4(r31) /* 801F68E4 001F2544 80 03 00 14 */ lwz r0, 0x14(r3) /* 801F68E8 001F2548 2C 00 00 00 */ cmpwi r0, 0 /* 801F68EC 001F254C 40 82 01 3C */ bne lbl_801F6A28 /* 801F68F0 001F2550 C0 22 98 08 */ lfs f1, lbl_80641E08-_SDA2_BASE_(r2) /* 801F68F4 001F2554 3B A0 00 00 */ li r29, 0 /* 801F68F8 001F2558 C0 02 98 0C */ lfs f0, lbl_80641E0C-_SDA2_BASE_(r2) /* 801F68FC 001F255C D0 3F 01 28 */ stfs f1, 0x128(r31) /* 801F6900 001F2560 D0 3F 01 24 */ stfs f1, 0x124(r31) /* 801F6904 001F2564 D0 3F 01 20 */ stfs f1, 0x120(r31) /* 801F6908 001F2568 D0 1F 01 34 */ stfs f0, 0x134(r31) /* 801F690C 001F256C D0 1F 01 30 */ stfs f0, 0x130(r31) /* 801F6910 001F2570 D0 1F 01 2C */ stfs f0, 0x12c(r31) /* 801F6914 001F2574 48 00 00 90 */ b lbl_801F69A4 lbl_801F6918: /* 801F6918 001F2578 80 9F 00 20 */ lwz r4, 0x20(r31) /* 801F691C 001F257C 2C 04 00 00 */ cmpwi r4, 0 /* 801F6920 001F2580 40 82 00 0C */ bne lbl_801F692C /* 801F6924 001F2584 3B C0 00 00 */ li r30, 0 /* 801F6928 001F2588 48 00 00 54 */ b lbl_801F697C lbl_801F692C: /* 801F692C 001F258C A0 1F 00 E8 */ lhz r0, 0xe8(r31) /* 801F6930 001F2590 57 A3 04 3E */ clrlwi r3, r29, 0x10 /* 801F6934 001F2594 7C 03 00 40 */ cmplw r3, r0 /* 801F6938 001F2598 41 80 00 0C */ blt lbl_801F6944 /* 801F693C 001F259C 3B C0 00 00 */ li r30, 0 /* 801F6940 001F25A0 48 00 00 3C */ b lbl_801F697C lbl_801F6944: /* 801F6944 001F25A4 80 BF 00 08 */ lwz r5, 8(r31) /* 801F6948 001F25A8 57 A0 0B FC */ rlwinm r0, r29, 1, 0xf, 0x1e /* 801F694C 001F25AC 7C 64 02 2E */ lhzx r3, r4, r0 /* 801F6950 001F25B0 2C 05 00 00 */ cmpwi r5, 0 /* 801F6954 001F25B4 40 82 00 0C */ bne lbl_801F6960 /* 801F6958 001F25B8 3B C0 00 00 */ li r30, 0 /* 801F695C 001F25BC 48 00 00 20 */ b lbl_801F697C lbl_801F6960: /* 801F6960 001F25C0 A0 1F 00 DE */ lhz r0, 0xde(r31) /* 801F6964 001F25C4 7C 03 00 40 */ cmplw r3, r0 /* 801F6968 001F25C8 41 80 00 0C */ blt lbl_801F6974 /* 801F696C 001F25CC 3B C0 00 00 */ li r30, 0 /* 801F6970 001F25D0 48 00 00 0C */ b lbl_801F697C lbl_801F6974: /* 801F6974 001F25D4 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 801F6978 001F25D8 7F C5 00 2E */ lwzx r30, r5, r0 lbl_801F697C: /* 801F697C 001F25DC 2C 1E 00 00 */ cmpwi r30, 0 /* 801F6980 001F25E0 41 82 00 20 */ beq lbl_801F69A0 /* 801F6984 001F25E4 7F C3 F3 78 */ mr r3, r30 /* 801F6988 001F25E8 4B FF D3 59 */ bl func_801F3CE0 /* 801F698C 001F25EC 2C 03 00 00 */ cmpwi r3, 0 /* 801F6990 001F25F0 41 82 00 10 */ beq lbl_801F69A0 /* 801F6994 001F25F4 38 7F 01 20 */ addi r3, r31, 0x120 /* 801F6998 001F25F8 38 9E 01 08 */ addi r4, r30, 0x108 /* 801F699C 001F25FC 48 02 A2 DD */ bl func_80220C78 lbl_801F69A0: /* 801F69A0 001F2600 3B BD 00 01 */ addi r29, r29, 1 lbl_801F69A4: /* 801F69A4 001F2604 A0 1F 00 E8 */ lhz r0, 0xe8(r31) /* 801F69A8 001F2608 57 A3 04 3E */ clrlwi r3, r29, 0x10 /* 801F69AC 001F260C 7C 03 00 40 */ cmplw r3, r0 /* 801F69B0 001F2610 41 80 FF 68 */ blt lbl_801F6918 /* 801F69B4 001F2614 C0 1F 01 20 */ lfs f0, 0x120(r31) /* 801F69B8 001F2618 C0 22 98 00 */ lfs f1, lbl_80641E00-_SDA2_BASE_(r2) /* 801F69BC 001F261C FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801F69C0 001F2620 40 81 00 10 */ ble lbl_801F69D0 /* 801F69C4 001F2624 C0 1F 01 2C */ lfs f0, 0x12c(r31) /* 801F69C8 001F2628 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801F69CC 001F262C 41 80 00 3C */ blt lbl_801F6A08 lbl_801F69D0: /* 801F69D0 001F2630 C0 1F 01 24 */ lfs f0, 0x124(r31) /* 801F69D4 001F2634 C0 22 98 00 */ lfs f1, lbl_80641E00-_SDA2_BASE_(r2) /* 801F69D8 001F2638 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801F69DC 001F263C 40 81 00 10 */ ble lbl_801F69EC /* 801F69E0 001F2640 C0 1F 01 30 */ lfs f0, 0x130(r31) /* 801F69E4 001F2644 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801F69E8 001F2648 41 80 00 20 */ blt lbl_801F6A08 lbl_801F69EC: /* 801F69EC 001F264C C0 1F 01 28 */ lfs f0, 0x128(r31) /* 801F69F0 001F2650 C0 22 98 00 */ lfs f1, lbl_80641E00-_SDA2_BASE_(r2) /* 801F69F4 001F2654 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801F69F8 001F2658 40 81 00 30 */ ble lbl_801F6A28 /* 801F69FC 001F265C C0 1F 01 34 */ lfs f0, 0x134(r31) /* 801F6A00 001F2660 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 801F6A04 001F2664 40 80 00 24 */ bge lbl_801F6A28 lbl_801F6A08: /* 801F6A08 001F2668 C0 22 98 1C */ lfs f1, lbl_80641E1C-_SDA2_BASE_(r2) /* 801F6A0C 001F266C C0 02 98 18 */ lfs f0, lbl_80641E18-_SDA2_BASE_(r2) /* 801F6A10 001F2670 D0 3F 01 20 */ stfs f1, 0x120(r31) /* 801F6A14 001F2674 D0 3F 01 24 */ stfs f1, 0x124(r31) /* 801F6A18 001F2678 D0 3F 01 28 */ stfs f1, 0x128(r31) /* 801F6A1C 001F267C D0 1F 01 2C */ stfs f0, 0x12c(r31) /* 801F6A20 001F2680 D0 1F 01 30 */ stfs f0, 0x130(r31) /* 801F6A24 001F2684 D0 1F 01 34 */ stfs f0, 0x134(r31) lbl_801F6A28: /* 801F6A28 001F2688 38 61 00 08 */ addi r3, r1, 8 /* 801F6A2C 001F268C 38 9F 01 20 */ addi r4, r31, 0x120 /* 801F6A30 001F2690 48 02 9E ED */ bl func_8022091C /* 801F6A34 001F2694 C0 01 00 08 */ lfs f0, 8(r1) /* 801F6A38 001F2698 80 7F 00 08 */ lwz r3, 8(r31) /* 801F6A3C 001F269C D0 1F 01 3C */ stfs f0, 0x13c(r31) /* 801F6A40 001F26A0 2C 03 00 00 */ cmpwi r3, 0 /* 801F6A44 001F26A4 C0 01 00 0C */ lfs f0, 0xc(r1) /* 801F6A48 001F26A8 D0 1F 01 40 */ stfs f0, 0x140(r31) /* 801F6A4C 001F26AC C0 01 00 10 */ lfs f0, 0x10(r1) /* 801F6A50 001F26B0 D0 1F 01 44 */ stfs f0, 0x144(r31) /* 801F6A54 001F26B4 41 82 00 18 */ beq lbl_801F6A6C /* 801F6A58 001F26B8 80 63 00 00 */ lwz r3, 0(r3) /* 801F6A5C 001F26BC 2C 03 00 00 */ cmpwi r3, 0 /* 801F6A60 001F26C0 41 82 00 0C */ beq lbl_801F6A6C /* 801F6A64 001F26C4 38 63 00 D0 */ addi r3, r3, 0xd0 /* 801F6A68 001F26C8 48 00 00 0C */ b lbl_801F6A74 lbl_801F6A6C: /* 801F6A6C 001F26CC 3C 60 80 49 */ lis r3, lbl_804932B0@ha /* 801F6A70 001F26D0 38 63 32 B0 */ addi r3, r3, lbl_804932B0@l lbl_801F6A74: /* 801F6A74 001F26D4 38 81 00 18 */ addi r4, r1, 0x18 /* 801F6A78 001F26D8 48 08 56 31 */ bl PSMTXInverse /* 801F6A7C 001F26DC 83 BF 00 2C */ lwz r29, 0x2c(r31) /* 801F6A80 001F26E0 2C 1D 00 00 */ cmpwi r29, 0 /* 801F6A84 001F26E4 41 82 00 54 */ beq lbl_801F6AD8 /* 801F6A88 001F26E8 A0 1F 00 EE */ lhz r0, 0xee(r31) /* 801F6A8C 001F26EC 2C 00 00 00 */ cmpwi r0, 0 /* 801F6A90 001F26F0 41 82 00 48 */ beq lbl_801F6AD8 /* 801F6A94 001F26F4 3B C0 00 00 */ li r30, 0 lbl_801F6A98: /* 801F6A98 001F26F8 80 1D 00 00 */ lwz r0, 0(r29) /* 801F6A9C 001F26FC 2C 00 00 00 */ cmpwi r0, 0 /* 801F6AA0 001F2700 41 82 00 28 */ beq lbl_801F6AC8 /* 801F6AA4 001F2704 FC 20 F8 90 */ fmr f1, f31 /* 801F6AA8 001F2708 7F A3 EB 78 */ mr r3, r29 /* 801F6AAC 001F270C 38 81 00 18 */ addi r4, r1, 0x18 /* 801F6AB0 001F2710 48 00 18 B9 */ bl func_801F8368 /* 801F6AB4 001F2714 2C 03 00 00 */ cmpwi r3, 0 /* 801F6AB8 001F2718 40 82 00 10 */ bne lbl_801F6AC8 /* 801F6ABC 001F271C A0 7F 00 EE */ lhz r3, 0xee(r31) /* 801F6AC0 001F2720 38 03 FF FF */ addi r0, r3, -1 /* 801F6AC4 001F2724 B0 1F 00 EE */ sth r0, 0xee(r31) lbl_801F6AC8: /* 801F6AC8 001F2728 3B DE 00 01 */ addi r30, r30, 1 /* 801F6ACC 001F272C 3B BD 00 70 */ addi r29, r29, 0x70 /* 801F6AD0 001F2730 28 1E 00 08 */ cmplwi r30, 8 /* 801F6AD4 001F2734 41 80 FF C4 */ blt lbl_801F6A98 lbl_801F6AD8: /* 801F6AD8 001F2738 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0 /* 801F6ADC 001F273C 80 01 00 74 */ lwz r0, 0x74(r1) /* 801F6AE0 001F2740 CB E1 00 60 */ lfd f31, 0x60(r1) /* 801F6AE4 001F2744 83 E1 00 5C */ lwz r31, 0x5c(r1) /* 801F6AE8 001F2748 83 C1 00 58 */ lwz r30, 0x58(r1) /* 801F6AEC 001F274C 83 A1 00 54 */ lwz r29, 0x54(r1) /* 801F6AF0 001F2750 7C 08 03 A6 */ mtlr r0 /* 801F6AF4 001F2754 38 21 00 70 */ addi r1, r1, 0x70 /* 801F6AF8 001F2758 4E 80 00 20 */ blr .global func_801F6AFC func_801F6AFC: /* 801F6AFC 001F275C 94 21 FC A0 */ stwu r1, -0x360(r1) /* 801F6B00 001F2760 7C 08 02 A6 */ mflr r0 /* 801F6B04 001F2764 90 01 03 64 */ stw r0, 0x364(r1) /* 801F6B08 001F2768 DB E1 03 50 */ stfd f31, 0x350(r1) /* 801F6B0C 001F276C F3 E1 03 58 */ psq_st f31, 856(r1), 0, qr0 /* 801F6B10 001F2770 DB C1 03 40 */ stfd f30, 0x340(r1) /* 801F6B14 001F2774 F3 C1 03 48 */ psq_st f30, 840(r1), 0, qr0 /* 801F6B18 001F2778 DB A1 03 30 */ stfd f29, 0x330(r1) /* 801F6B1C 001F277C F3 A1 03 38 */ psq_st f29, 824(r1), 0, qr0 /* 801F6B20 001F2780 DB 81 03 20 */ stfd f28, 0x320(r1) /* 801F6B24 001F2784 F3 81 03 28 */ psq_st f28, 808(r1), 0, qr0 /* 801F6B28 001F2788 DB 61 03 10 */ stfd f27, 0x310(r1) /* 801F6B2C 001F278C F3 61 03 18 */ psq_st f27, 792(r1), 0, qr0 /* 801F6B30 001F2790 39 61 03 10 */ addi r11, r1, 0x310 /* 801F6B34 001F2794 4B FD 05 ED */ bl _savegpr_25 /* 801F6B38 001F2798 A0 03 00 DC */ lhz r0, 0xdc(r3) /* 801F6B3C 001F279C 7C 7C 1B 78 */ mr r28, r3 /* 801F6B40 001F27A0 7C 9D 23 78 */ mr r29, r4 /* 801F6B44 001F27A4 7C BE 2B 78 */ mr r30, r5 /* 801F6B48 001F27A8 54 00 07 FE */ clrlwi r0, r0, 0x1f /* 801F6B4C 001F27AC 2C 00 00 01 */ cmpwi r0, 1 /* 801F6B50 001F27B0 41 82 00 0C */ beq lbl_801F6B5C /* 801F6B54 001F27B4 38 60 00 00 */ li r3, 0 /* 801F6B58 001F27B8 48 00 0E 34 */ b lbl_801F798C lbl_801F6B5C: /* 801F6B5C 001F27BC 80 03 00 44 */ lwz r0, 0x44(r3) /* 801F6B60 001F27C0 2C 00 00 00 */ cmpwi r0, 0 /* 801F6B64 001F27C4 40 82 00 0C */ bne lbl_801F6B70 /* 801F6B68 001F27C8 38 60 00 00 */ li r3, 0 /* 801F6B6C 001F27CC 48 00 0E 20 */ b lbl_801F798C lbl_801F6B70: /* 801F6B70 001F27D0 7F C4 F3 78 */ mr r4, r30 /* 801F6B74 001F27D4 38 61 00 B0 */ addi r3, r1, 0xb0 /* 801F6B78 001F27D8 38 BC 01 3C */ addi r5, r28, 0x13c /* 801F6B7C 001F27DC 4B FE FF 19 */ bl func_801E6A94 /* 801F6B80 001F27E0 C0 41 00 B0 */ lfs f2, 0xb0(r1) /* 801F6B84 001F27E4 38 61 01 10 */ addi r3, r1, 0x110 /* 801F6B88 001F27E8 C0 21 00 B4 */ lfs f1, 0xb4(r1) /* 801F6B8C 001F27EC 7C 64 1B 78 */ mr r4, r3 /* 801F6B90 001F27F0 C0 01 00 B8 */ lfs f0, 0xb8(r1) /* 801F6B94 001F27F4 D0 41 01 10 */ stfs f2, 0x110(r1) /* 801F6B98 001F27F8 D0 21 01 14 */ stfs f1, 0x114(r1) /* 801F6B9C 001F27FC D0 01 01 18 */ stfs f0, 0x118(r1) /* 801F6BA0 001F2800 48 08 61 89 */ bl PSVECNormalize /* 801F6BA4 001F2804 3C 80 80 49 */ lis r4, lbl_80493614@ha /* 801F6BA8 001F2808 38 61 01 10 */ addi r3, r1, 0x110 /* 801F6BAC 001F280C 38 84 36 14 */ addi r4, r4, lbl_80493614@l /* 801F6BB0 001F2810 38 A1 00 A4 */ addi r5, r1, 0xa4 /* 801F6BB4 001F2814 48 08 62 35 */ bl PSVECCrossProduct /* 801F6BB8 001F2818 C0 81 00 A4 */ lfs f4, 0xa4(r1) /* 801F6BBC 001F281C C0 22 98 18 */ lfs f1, lbl_80641E18-_SDA2_BASE_(r2) /* 801F6BC0 001F2820 C0 61 00 A8 */ lfs f3, 0xa8(r1) /* 801F6BC4 001F2824 C0 41 00 AC */ lfs f2, 0xac(r1) /* 801F6BC8 001F2828 FC 04 08 40 */ fcmpo cr0, f4, f1 /* 801F6BCC 001F282C D0 81 01 04 */ stfs f4, 0x104(r1) /* 801F6BD0 001F2830 D0 61 01 08 */ stfs f3, 0x108(r1) /* 801F6BD4 001F2834 D0 41 01 0C */ stfs f2, 0x10c(r1) /* 801F6BD8 001F2838 40 80 00 30 */ bge lbl_801F6C08 /* 801F6BDC 001F283C C0 02 98 1C */ lfs f0, lbl_80641E1C-_SDA2_BASE_(r2) /* 801F6BE0 001F2840 FC 04 00 40 */ fcmpo cr0, f4, f0 /* 801F6BE4 001F2844 40 81 00 24 */ ble lbl_801F6C08 /* 801F6BE8 001F2848 FC 03 08 40 */ fcmpo cr0, f3, f1 /* 801F6BEC 001F284C 40 80 00 1C */ bge lbl_801F6C08 /* 801F6BF0 001F2850 FC 03 00 40 */ fcmpo cr0, f3, f0 /* 801F6BF4 001F2854 40 81 00 14 */ ble lbl_801F6C08 /* 801F6BF8 001F2858 FC 02 08 40 */ fcmpo cr0, f2, f1 /* 801F6BFC 001F285C 40 80 00 0C */ bge lbl_801F6C08 /* 801F6C00 001F2860 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 801F6C04 001F2864 41 81 00 0C */ bgt lbl_801F6C10 lbl_801F6C08: /* 801F6C08 001F2868 38 00 00 00 */ li r0, 0 /* 801F6C0C 001F286C 48 00 00 08 */ b lbl_801F6C14 lbl_801F6C10: /* 801F6C10 001F2870 38 00 00 01 */ li r0, 1 lbl_801F6C14: /* 801F6C14 001F2874 2C 00 00 00 */ cmpwi r0, 0 /* 801F6C18 001F2878 41 82 00 30 */ beq lbl_801F6C48 /* 801F6C1C 001F287C 3C 80 80 49 */ lis r4, lbl_80493620@ha /* 801F6C20 001F2880 38 61 01 10 */ addi r3, r1, 0x110 /* 801F6C24 001F2884 38 84 36 20 */ addi r4, r4, lbl_80493620@l /* 801F6C28 001F2888 38 A1 00 98 */ addi r5, r1, 0x98 /* 801F6C2C 001F288C 48 08 61 BD */ bl PSVECCrossProduct /* 801F6C30 001F2890 C0 41 00 98 */ lfs f2, 0x98(r1) /* 801F6C34 001F2894 C0 21 00 9C */ lfs f1, 0x9c(r1) /* 801F6C38 001F2898 C0 01 00 A0 */ lfs f0, 0xa0(r1) /* 801F6C3C 001F289C D0 41 01 04 */ stfs f2, 0x104(r1) /* 801F6C40 001F28A0 D0 21 01 08 */ stfs f1, 0x108(r1) /* 801F6C44 001F28A4 D0 01 01 0C */ stfs f0, 0x10c(r1) lbl_801F6C48: /* 801F6C48 001F28A8 38 61 01 04 */ addi r3, r1, 0x104 /* 801F6C4C 001F28AC 7C 64 1B 78 */ mr r4, r3 /* 801F6C50 001F28B0 48 08 60 D9 */ bl PSVECNormalize /* 801F6C54 001F28B4 38 61 01 04 */ addi r3, r1, 0x104 /* 801F6C58 001F28B8 38 81 01 10 */ addi r4, r1, 0x110 /* 801F6C5C 001F28BC 38 A1 00 8C */ addi r5, r1, 0x8c /* 801F6C60 001F28C0 48 08 61 89 */ bl PSVECCrossProduct /* 801F6C64 001F28C4 C0 41 00 8C */ lfs f2, 0x8c(r1) /* 801F6C68 001F28C8 C0 21 00 90 */ lfs f1, 0x90(r1) /* 801F6C6C 001F28CC C0 01 00 94 */ lfs f0, 0x94(r1) /* 801F6C70 001F28D0 D0 41 00 F8 */ stfs f2, 0xf8(r1) /* 801F6C74 001F28D4 D0 21 00 FC */ stfs f1, 0xfc(r1) /* 801F6C78 001F28D8 D0 01 01 00 */ stfs f0, 0x100(r1) /* 801F6C7C 001F28DC C0 1C 01 20 */ lfs f0, 0x120(r28) /* 801F6C80 001F28E0 D0 01 01 50 */ stfs f0, 0x150(r1) /* 801F6C84 001F28E4 C0 1C 01 24 */ lfs f0, 0x124(r28) /* 801F6C88 001F28E8 D0 01 01 54 */ stfs f0, 0x154(r1) /* 801F6C8C 001F28EC C0 1C 01 28 */ lfs f0, 0x128(r28) /* 801F6C90 001F28F0 D0 01 01 58 */ stfs f0, 0x158(r1) /* 801F6C94 001F28F4 C0 1C 01 2C */ lfs f0, 0x12c(r28) /* 801F6C98 001F28F8 D0 01 01 5C */ stfs f0, 0x15c(r1) /* 801F6C9C 001F28FC C0 1C 01 30 */ lfs f0, 0x130(r28) /* 801F6CA0 001F2900 D0 01 01 60 */ stfs f0, 0x160(r1) /* 801F6CA4 001F2904 C0 1C 01 34 */ lfs f0, 0x134(r28) /* 801F6CA8 001F2908 D0 01 01 64 */ stfs f0, 0x164(r1) /* 801F6CAC 001F290C 80 1C 01 38 */ lwz r0, 0x138(r28) /* 801F6CB0 001F2910 90 01 01 68 */ stw r0, 0x168(r1) /* 801F6CB4 001F2914 83 3C 00 38 */ lwz r25, 0x38(r28) /* 801F6CB8 001F2918 48 00 00 18 */ b lbl_801F6CD0 lbl_801F6CBC: /* 801F6CBC 001F291C 80 99 00 00 */ lwz r4, 0(r25) /* 801F6CC0 001F2920 38 61 01 50 */ addi r3, r1, 0x150 /* 801F6CC4 001F2924 38 84 01 20 */ addi r4, r4, 0x120 /* 801F6CC8 001F2928 48 02 9F B1 */ bl func_80220C78 /* 801F6CCC 001F292C 83 39 00 04 */ lwz r25, 4(r25) lbl_801F6CD0: /* 801F6CD0 001F2930 2C 19 00 00 */ cmpwi r25, 0 /* 801F6CD4 001F2934 40 82 FF E8 */ bne lbl_801F6CBC /* 801F6CD8 001F2938 7F C4 F3 78 */ mr r4, r30 /* 801F6CDC 001F293C 38 61 00 80 */ addi r3, r1, 0x80 /* 801F6CE0 001F2940 4B FE FC 65 */ bl func_801E6944 /* 801F6CE4 001F2944 C0 41 00 80 */ lfs f2, 0x80(r1) /* 801F6CE8 001F2948 38 61 01 50 */ addi r3, r1, 0x150 /* 801F6CEC 001F294C C0 21 00 84 */ lfs f1, 0x84(r1) /* 801F6CF0 001F2950 C0 01 00 88 */ lfs f0, 0x88(r1) /* 801F6CF4 001F2954 D0 41 01 1C */ stfs f2, 0x11c(r1) /* 801F6CF8 001F2958 D0 21 01 20 */ stfs f1, 0x120(r1) /* 801F6CFC 001F295C D0 01 01 24 */ stfs f0, 0x124(r1) /* 801F6D00 001F2960 48 02 9D F1 */ bl func_80220AF0 /* 801F6D04 001F2964 C0 22 98 20 */ lfs f1, lbl_80641E20-_SDA2_BASE_(r2) /* 801F6D08 001F2968 7C 7A 1B 78 */ mr r26, r3 /* 801F6D0C 001F296C C0 02 98 24 */ lfs f0, lbl_80641E24-_SDA2_BASE_(r2) /* 801F6D10 001F2970 3B 20 00 00 */ li r25, 0 /* 801F6D14 001F2974 D0 21 00 C8 */ stfs f1, 0xc8(r1) /* 801F6D18 001F2978 C3 62 98 00 */ lfs f27, lbl_80641E00-_SDA2_BASE_(r2) /* 801F6D1C 001F297C D0 21 00 CC */ stfs f1, 0xcc(r1) /* 801F6D20 001F2980 C3 A2 98 1C */ lfs f29, lbl_80641E1C-_SDA2_BASE_(r2) /* 801F6D24 001F2984 D0 21 00 D0 */ stfs f1, 0xd0(r1) /* 801F6D28 001F2988 C3 82 98 18 */ lfs f28, lbl_80641E18-_SDA2_BASE_(r2) /* 801F6D2C 001F298C D0 01 00 BC */ stfs f0, 0xbc(r1) /* 801F6D30 001F2990 C3 C2 98 04 */ lfs f30, lbl_80641E04-_SDA2_BASE_(r2) /* 801F6D34 001F2994 D0 01 00 C0 */ stfs f0, 0xc0(r1) /* 801F6D38 001F2998 C3 E2 98 28 */ lfs f31, lbl_80641E28-_SDA2_BASE_(r2) /* 801F6D3C 001F299C D0 01 00 C4 */ stfs f0, 0xc4(r1) lbl_801F6D40: /* 801F6D40 001F29A0 7F 43 D3 78 */ mr r3, r26 /* 801F6D44 001F29A4 38 81 01 04 */ addi r4, r1, 0x104 /* 801F6D48 001F29A8 48 08 60 81 */ bl PSQUATDotProduct /* 801F6D4C 001F29AC D0 21 00 EC */ stfs f1, 0xec(r1) /* 801F6D50 001F29B0 7F 43 D3 78 */ mr r3, r26 /* 801F6D54 001F29B4 38 81 00 F8 */ addi r4, r1, 0xf8 /* 801F6D58 001F29B8 48 08 60 71 */ bl PSQUATDotProduct /* 801F6D5C 001F29BC D0 21 00 F0 */ stfs f1, 0xf0(r1) /* 801F6D60 001F29C0 7F 43 D3 78 */ mr r3, r26 /* 801F6D64 001F29C4 38 81 01 10 */ addi r4, r1, 0x110 /* 801F6D68 001F29C8 48 08 60 61 */ bl PSQUATDotProduct /* 801F6D6C 001F29CC C0 41 00 EC */ lfs f2, 0xec(r1) /* 801F6D70 001F29D0 C0 01 00 C8 */ lfs f0, 0xc8(r1) /* 801F6D74 001F29D4 D0 21 00 F4 */ stfs f1, 0xf4(r1) /* 801F6D78 001F29D8 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 801F6D7C 001F29DC 40 80 00 08 */ bge lbl_801F6D84 /* 801F6D80 001F29E0 D0 41 00 C8 */ stfs f2, 0xc8(r1) lbl_801F6D84: /* 801F6D84 001F29E4 C0 21 00 EC */ lfs f1, 0xec(r1) /* 801F6D88 001F29E8 C0 01 00 BC */ lfs f0, 0xbc(r1) /* 801F6D8C 001F29EC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801F6D90 001F29F0 40 81 00 08 */ ble lbl_801F6D98 /* 801F6D94 001F29F4 D0 21 00 BC */ stfs f1, 0xbc(r1) lbl_801F6D98: /* 801F6D98 001F29F8 C0 21 00 F0 */ lfs f1, 0xf0(r1) /* 801F6D9C 001F29FC C0 01 00 CC */ lfs f0, 0xcc(r1) /* 801F6DA0 001F2A00 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801F6DA4 001F2A04 40 80 00 08 */ bge lbl_801F6DAC /* 801F6DA8 001F2A08 D0 21 00 CC */ stfs f1, 0xcc(r1) lbl_801F6DAC: /* 801F6DAC 001F2A0C C0 21 00 F0 */ lfs f1, 0xf0(r1) /* 801F6DB0 001F2A10 C0 01 00 C0 */ lfs f0, 0xc0(r1) /* 801F6DB4 001F2A14 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801F6DB8 001F2A18 40 81 00 08 */ ble lbl_801F6DC0 /* 801F6DBC 001F2A1C D0 21 00 C0 */ stfs f1, 0xc0(r1) lbl_801F6DC0: /* 801F6DC0 001F2A20 C0 21 00 F4 */ lfs f1, 0xf4(r1) /* 801F6DC4 001F2A24 C0 01 00 D0 */ lfs f0, 0xd0(r1) /* 801F6DC8 001F2A28 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801F6DCC 001F2A2C 40 80 00 08 */ bge lbl_801F6DD4 /* 801F6DD0 001F2A30 D0 21 00 D0 */ stfs f1, 0xd0(r1) lbl_801F6DD4: /* 801F6DD4 001F2A34 C0 21 00 F4 */ lfs f1, 0xf4(r1) /* 801F6DD8 001F2A38 C0 01 00 C4 */ lfs f0, 0xc4(r1) /* 801F6DDC 001F2A3C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801F6DE0 001F2A40 40 81 00 08 */ ble lbl_801F6DE8 /* 801F6DE4 001F2A44 D0 21 00 C4 */ stfs f1, 0xc4(r1) lbl_801F6DE8: /* 801F6DE8 001F2A48 57 3B 0B FC */ rlwinm r27, r25, 1, 0xf, 0x1e /* 801F6DEC 001F2A4C C0 1A 00 00 */ lfs f0, 0(r26) /* 801F6DF0 001F2A50 1C 1B 00 0C */ mulli r0, r27, 0xc /* 801F6DF4 001F2A54 38 C1 02 30 */ addi r6, r1, 0x230 /* 801F6DF8 001F2A58 7F 43 D3 78 */ mr r3, r26 /* 801F6DFC 001F2A5C 38 81 01 1C */ addi r4, r1, 0x11c /* 801F6E00 001F2A60 7C 06 05 6E */ stfsux f0, r6, r0 /* 801F6E04 001F2A64 38 A1 00 74 */ addi r5, r1, 0x74 /* 801F6E08 001F2A68 C0 1A 00 04 */ lfs f0, 4(r26) /* 801F6E0C 001F2A6C D0 06 00 04 */ stfs f0, 4(r6) /* 801F6E10 001F2A70 C0 1A 00 08 */ lfs f0, 8(r26) /* 801F6E14 001F2A74 D0 06 00 08 */ stfs f0, 8(r6) /* 801F6E18 001F2A78 48 08 5E D1 */ bl PSVECSubtract /* 801F6E1C 001F2A7C C0 41 00 78 */ lfs f2, 0x78(r1) /* 801F6E20 001F2A80 C0 21 00 74 */ lfs f1, 0x74(r1) /* 801F6E24 001F2A84 C0 01 00 7C */ lfs f0, 0x7c(r1) /* 801F6E28 001F2A88 FC 02 D8 40 */ fcmpo cr0, f2, f27 /* 801F6E2C 001F2A8C D0 21 00 D4 */ stfs f1, 0xd4(r1) /* 801F6E30 001F2A90 D0 41 00 D8 */ stfs f2, 0xd8(r1) /* 801F6E34 001F2A94 D0 01 00 DC */ stfs f0, 0xdc(r1) /* 801F6E38 001F2A98 40 81 00 08 */ ble lbl_801F6E40 /* 801F6E3C 001F2A9C 48 00 00 08 */ b lbl_801F6E44 lbl_801F6E40: /* 801F6E40 001F2AA0 FC 40 10 50 */ fneg f2, f2 lbl_801F6E44: /* 801F6E44 001F2AA4 FC 02 E0 40 */ fcmpo cr0, f2, f28 /* 801F6E48 001F2AA8 40 80 00 20 */ bge lbl_801F6E68 /* 801F6E4C 001F2AAC FC 02 E8 40 */ fcmpo cr0, f2, f29 /* 801F6E50 001F2AB0 40 81 00 18 */ ble lbl_801F6E68 /* 801F6E54 001F2AB4 FC 02 D8 40 */ fcmpo cr0, f2, f27 /* 801F6E58 001F2AB8 40 80 00 0C */ bge lbl_801F6E64 /* 801F6E5C 001F2ABC FC 40 E8 90 */ fmr f2, f29 /* 801F6E60 001F2AC0 48 00 00 08 */ b lbl_801F6E68 lbl_801F6E64: /* 801F6E64 001F2AC4 FC 40 E0 90 */ fmr f2, f28 lbl_801F6E68: /* 801F6E68 001F2AC8 EC 3E 10 24 */ fdivs f1, f30, f2 /* 801F6E6C 001F2ACC 38 61 00 D4 */ addi r3, r1, 0xd4 /* 801F6E70 001F2AD0 7C 64 1B 78 */ mr r4, r3 /* 801F6E74 001F2AD4 48 08 5E 99 */ bl PSVECScale /* 801F6E78 001F2AD8 C0 1A 00 04 */ lfs f0, 4(r26) /* 801F6E7C 001F2ADC FC 00 D8 40 */ fcmpo cr0, f0, f27 /* 801F6E80 001F2AE0 40 81 00 08 */ ble lbl_801F6E88 /* 801F6E84 001F2AE4 48 00 00 08 */ b lbl_801F6E8C lbl_801F6E88: /* 801F6E88 001F2AE8 FC 00 00 50 */ fneg f0, f0 lbl_801F6E8C: /* 801F6E8C 001F2AEC EC 3F 00 32 */ fmuls f1, f31, f0 /* 801F6E90 001F2AF0 38 61 00 D4 */ addi r3, r1, 0xd4 /* 801F6E94 001F2AF4 7C 64 1B 78 */ mr r4, r3 /* 801F6E98 001F2AF8 48 08 5E 75 */ bl PSVECScale /* 801F6E9C 001F2AFC 7F 43 D3 78 */ mr r3, r26 /* 801F6EA0 001F2B00 38 81 00 D4 */ addi r4, r1, 0xd4 /* 801F6EA4 001F2B04 38 A1 00 68 */ addi r5, r1, 0x68 /* 801F6EA8 001F2B08 48 08 5E 1D */ bl PSVECAdd /* 801F6EAC 001F2B0C 1C 9B 00 0C */ mulli r4, r27, 0xc /* 801F6EB0 001F2B10 38 A1 02 30 */ addi r5, r1, 0x230 /* 801F6EB4 001F2B14 38 1B 00 01 */ addi r0, r27, 1 /* 801F6EB8 001F2B18 C0 41 00 68 */ lfs f2, 0x68(r1) /* 801F6EBC 001F2B1C 7C A3 2B 78 */ mr r3, r5 /* 801F6EC0 001F2B20 C0 21 00 6C */ lfs f1, 0x6c(r1) /* 801F6EC4 001F2B24 7C A5 22 14 */ add r5, r5, r4 /* 801F6EC8 001F2B28 C0 01 00 70 */ lfs f0, 0x70(r1) /* 801F6ECC 001F2B2C D0 45 00 0C */ stfs f2, 0xc(r5) /* 801F6ED0 001F2B30 1C 00 00 0C */ mulli r0, r0, 0xc /* 801F6ED4 001F2B34 38 81 00 D4 */ addi r4, r1, 0xd4 /* 801F6ED8 001F2B38 D0 25 00 10 */ stfs f1, 0x10(r5) /* 801F6EDC 001F2B3C 7C 63 02 14 */ add r3, r3, r0 /* 801F6EE0 001F2B40 D0 05 00 14 */ stfs f0, 0x14(r5) /* 801F6EE4 001F2B44 7C 65 1B 78 */ mr r5, r3 /* 801F6EE8 001F2B48 48 08 5D DD */ bl PSVECAdd /* 801F6EEC 001F2B4C 3B 39 00 01 */ addi r25, r25, 1 /* 801F6EF0 001F2B50 3B 5A 00 0C */ addi r26, r26, 0xc /* 801F6EF4 001F2B54 28 19 00 08 */ cmplwi r25, 8 /* 801F6EF8 001F2B58 41 80 FE 48 */ blt lbl_801F6D40 /* 801F6EFC 001F2B5C 3B 20 00 00 */ li r25, 0 /* 801F6F00 001F2B60 38 60 00 02 */ li r3, 2 /* 801F6F04 001F2B64 48 04 41 55 */ bl func_8023B058 /* 801F6F08 001F2B68 2C 03 00 00 */ cmpwi r3, 0 /* 801F6F0C 001F2B6C 7C 7A 1B 78 */ mr r26, r3 /* 801F6F10 001F2B70 41 82 01 58 */ beq lbl_801F7068 /* 801F6F14 001F2B74 C0 22 98 00 */ lfs f1, lbl_80641E00-_SDA2_BASE_(r2) /* 801F6F18 001F2B78 C0 02 98 04 */ lfs f0, lbl_80641E04-_SDA2_BASE_(r2) /* 801F6F1C 001F2B7C D0 21 01 48 */ stfs f1, 0x148(r1) /* 801F6F20 001F2B80 D0 01 01 4C */ stfs f0, 0x14c(r1) /* 801F6F24 001F2B84 80 03 00 20 */ lwz r0, 0x20(r3) /* 801F6F28 001F2B88 2C 00 00 00 */ cmpwi r0, 0 /* 801F6F2C 001F2B8C 40 82 00 0C */ bne lbl_801F6F38 /* 801F6F30 001F2B90 83 E3 00 0C */ lwz r31, 0xc(r3) /* 801F6F34 001F2B94 48 00 00 08 */ b lbl_801F6F3C lbl_801F6F38: /* 801F6F38 001F2B98 83 E3 00 24 */ lwz r31, 0x24(r3) lbl_801F6F3C: /* 801F6F3C 001F2B9C 2C 1F 00 00 */ cmpwi r31, 0 /* 801F6F40 001F2BA0 41 82 01 28 */ beq lbl_801F7068 /* 801F6F44 001F2BA4 7F 43 D3 78 */ mr r3, r26 /* 801F6F48 001F2BA8 38 A1 01 38 */ addi r5, r1, 0x138 /* 801F6F4C 001F2BAC 38 C1 01 3C */ addi r6, r1, 0x13c /* 801F6F50 001F2BB0 38 E1 01 40 */ addi r7, r1, 0x140 /* 801F6F54 001F2BB4 39 01 01 44 */ addi r8, r1, 0x144 /* 801F6F58 001F2BB8 38 80 00 00 */ li r4, 0 /* 801F6F5C 001F2BBC 48 04 BC 99 */ bl func_80242BF4 /* 801F6F60 001F2BC0 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13) /* 801F6F64 001F2BC4 7F E5 FB 78 */ mr r5, r31 /* 801F6F68 001F2BC8 38 81 01 38 */ addi r4, r1, 0x138 /* 801F6F6C 001F2BCC 38 C1 01 70 */ addi r6, r1, 0x170 /* 801F6F70 001F2BD0 38 E1 02 30 */ addi r7, r1, 0x230 /* 801F6F74 001F2BD4 39 00 00 10 */ li r8, 0x10 /* 801F6F78 001F2BD8 48 03 C0 41 */ bl func_80232FB8 /* 801F6F7C 001F2BDC 2C 03 00 00 */ cmpwi r3, 0 /* 801F6F80 001F2BE0 41 82 00 34 */ beq lbl_801F6FB4 /* 801F6F84 001F2BE4 41 80 00 38 */ blt lbl_801F6FBC /* 801F6F88 001F2BE8 2C 03 00 03 */ cmpwi r3, 3 /* 801F6F8C 001F2BEC 40 80 00 30 */ bge lbl_801F6FBC /* 801F6F90 001F2BF0 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13) /* 801F6F94 001F2BF4 38 81 01 38 */ addi r4, r1, 0x138 /* 801F6F98 001F2BF8 38 A1 01 70 */ addi r5, r1, 0x170 /* 801F6F9C 001F2BFC 38 C0 00 10 */ li r6, 0x10 /* 801F6FA0 001F2C00 48 03 C2 81 */ bl func_80233220 /* 801F6FA4 001F2C04 7C 03 00 D0 */ neg r0, r3 /* 801F6FA8 001F2C08 7C 00 1B 78 */ or r0, r0, r3 /* 801F6FAC 001F2C0C 54 19 0F FE */ srwi r25, r0, 0x1f /* 801F6FB0 001F2C10 48 00 00 10 */ b lbl_801F6FC0 lbl_801F6FB4: /* 801F6FB4 001F2C14 3B 20 00 00 */ li r25, 0 /* 801F6FB8 001F2C18 48 00 00 08 */ b lbl_801F6FC0 lbl_801F6FBC: /* 801F6FBC 001F2C1C 3B 20 00 01 */ li r25, 1 lbl_801F6FC0: /* 801F6FC0 001F2C20 2C 19 00 00 */ cmpwi r25, 0 /* 801F6FC4 001F2C24 40 82 00 A4 */ bne lbl_801F7068 /* 801F6FC8 001F2C28 80 1A 00 20 */ lwz r0, 0x20(r26) /* 801F6FCC 001F2C2C 2C 00 00 00 */ cmpwi r0, 0 /* 801F6FD0 001F2C30 41 82 00 98 */ beq lbl_801F7068 /* 801F6FD4 001F2C34 40 82 00 0C */ bne lbl_801F6FE0 /* 801F6FD8 001F2C38 83 FA 00 0C */ lwz r31, 0xc(r26) /* 801F6FDC 001F2C3C 48 00 00 08 */ b lbl_801F6FE4 lbl_801F6FE0: /* 801F6FE0 001F2C40 83 FA 00 64 */ lwz r31, 0x64(r26) lbl_801F6FE4: /* 801F6FE4 001F2C44 2C 1F 00 00 */ cmpwi r31, 0 /* 801F6FE8 001F2C48 41 82 00 80 */ beq lbl_801F7068 /* 801F6FEC 001F2C4C 7F 43 D3 78 */ mr r3, r26 /* 801F6FF0 001F2C50 38 A1 01 38 */ addi r5, r1, 0x138 /* 801F6FF4 001F2C54 38 C1 01 3C */ addi r6, r1, 0x13c /* 801F6FF8 001F2C58 38 E1 01 40 */ addi r7, r1, 0x140 /* 801F6FFC 001F2C5C 39 01 01 44 */ addi r8, r1, 0x144 /* 801F7000 001F2C60 38 80 00 01 */ li r4, 1 /* 801F7004 001F2C64 48 04 BB F1 */ bl func_80242BF4 /* 801F7008 001F2C68 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13) /* 801F700C 001F2C6C 7F E5 FB 78 */ mr r5, r31 /* 801F7010 001F2C70 38 81 01 38 */ addi r4, r1, 0x138 /* 801F7014 001F2C74 38 C1 01 70 */ addi r6, r1, 0x170 /* 801F7018 001F2C78 38 E1 02 30 */ addi r7, r1, 0x230 /* 801F701C 001F2C7C 39 00 00 10 */ li r8, 0x10 /* 801F7020 001F2C80 48 03 BF 99 */ bl func_80232FB8 /* 801F7024 001F2C84 2C 03 00 00 */ cmpwi r3, 0 /* 801F7028 001F2C88 41 82 00 34 */ beq lbl_801F705C /* 801F702C 001F2C8C 41 80 00 38 */ blt lbl_801F7064 /* 801F7030 001F2C90 2C 03 00 03 */ cmpwi r3, 3 /* 801F7034 001F2C94 40 80 00 30 */ bge lbl_801F7064 /* 801F7038 001F2C98 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13) /* 801F703C 001F2C9C 38 81 01 38 */ addi r4, r1, 0x138 /* 801F7040 001F2CA0 38 A1 01 70 */ addi r5, r1, 0x170 /* 801F7044 001F2CA4 38 C0 00 10 */ li r6, 0x10 /* 801F7048 001F2CA8 48 03 C1 D9 */ bl func_80233220 /* 801F704C 001F2CAC 7C 03 00 D0 */ neg r0, r3 /* 801F7050 001F2CB0 7C 00 1B 78 */ or r0, r0, r3 /* 801F7054 001F2CB4 54 19 0F FE */ srwi r25, r0, 0x1f /* 801F7058 001F2CB8 48 00 00 10 */ b lbl_801F7068 lbl_801F705C: /* 801F705C 001F2CBC 3B 20 00 00 */ li r25, 0 /* 801F7060 001F2CC0 48 00 00 08 */ b lbl_801F7068 lbl_801F7064: /* 801F7064 001F2CC4 3B 20 00 01 */ li r25, 1 lbl_801F7068: /* 801F7068 001F2CC8 2C 19 00 00 */ cmpwi r25, 0 /* 801F706C 001F2CCC 40 82 00 0C */ bne lbl_801F7078 /* 801F7070 001F2CD0 38 60 00 00 */ li r3, 0 /* 801F7074 001F2CD4 48 00 09 18 */ b lbl_801F798C lbl_801F7078: /* 801F7078 001F2CD8 38 61 00 5C */ addi r3, r1, 0x5c /* 801F707C 001F2CDC 38 81 01 50 */ addi r4, r1, 0x150 /* 801F7080 001F2CE0 48 02 98 9D */ bl func_8022091C /* 801F7084 001F2CE4 C0 41 00 5C */ lfs f2, 0x5c(r1) /* 801F7088 001F2CE8 38 61 00 BC */ addi r3, r1, 0xbc /* 801F708C 001F2CEC C0 21 00 60 */ lfs f1, 0x60(r1) /* 801F7090 001F2CF0 38 81 00 C8 */ addi r4, r1, 0xc8 /* 801F7094 001F2CF4 C0 01 00 64 */ lfs f0, 0x64(r1) /* 801F7098 001F2CF8 38 A1 00 50 */ addi r5, r1, 0x50 /* 801F709C 001F2CFC D0 41 00 E0 */ stfs f2, 0xe0(r1) /* 801F70A0 001F2D00 D0 21 00 E4 */ stfs f1, 0xe4(r1) /* 801F70A4 001F2D04 D0 01 00 E8 */ stfs f0, 0xe8(r1) /* 801F70A8 001F2D08 48 08 5C 41 */ bl PSVECSubtract /* 801F70AC 001F2D0C C0 41 00 50 */ lfs f2, 0x50(r1) /* 801F70B0 001F2D10 C0 01 00 54 */ lfs f0, 0x54(r1) /* 801F70B4 001F2D14 C3 E1 00 58 */ lfs f31, 0x58(r1) /* 801F70B8 001F2D18 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 801F70BC 001F2D1C D0 41 01 28 */ stfs f2, 0x128(r1) /* 801F70C0 001F2D20 D0 01 01 2C */ stfs f0, 0x12c(r1) /* 801F70C4 001F2D24 D3 E1 01 30 */ stfs f31, 0x130(r1) /* 801F70C8 001F2D28 40 81 00 08 */ ble lbl_801F70D0 /* 801F70CC 001F2D2C 48 00 00 08 */ b lbl_801F70D4 lbl_801F70D0: /* 801F70D0 001F2D30 FC 40 00 90 */ fmr f2, f0 lbl_801F70D4: /* 801F70D4 001F2D34 C0 22 98 14 */ lfs f1, lbl_80641E14-_SDA2_BASE_(r2) /* 801F70D8 001F2D38 C0 02 98 18 */ lfs f0, lbl_80641E18-_SDA2_BASE_(r2) /* 801F70DC 001F2D3C EF 61 00 B2 */ fmuls f27, f1, f2 /* 801F70E0 001F2D40 FC 1B 00 40 */ fcmpo cr0, f27, f0 /* 801F70E4 001F2D44 40 80 00 10 */ bge lbl_801F70F4 /* 801F70E8 001F2D48 C0 02 98 1C */ lfs f0, lbl_80641E1C-_SDA2_BASE_(r2) /* 801F70EC 001F2D4C FC 1B 00 40 */ fcmpo cr0, f27, f0 /* 801F70F0 001F2D50 41 81 00 1C */ bgt lbl_801F710C lbl_801F70F4: /* 801F70F4 001F2D54 C0 02 98 18 */ lfs f0, lbl_80641E18-_SDA2_BASE_(r2) /* 801F70F8 001F2D58 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 801F70FC 001F2D5C 40 80 00 18 */ bge lbl_801F7114 /* 801F7100 001F2D60 C0 02 98 1C */ lfs f0, lbl_80641E1C-_SDA2_BASE_(r2) /* 801F7104 001F2D64 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 801F7108 001F2D68 40 81 00 0C */ ble lbl_801F7114 lbl_801F710C: /* 801F710C 001F2D6C 38 60 00 00 */ li r3, 0 /* 801F7110 001F2D70 48 00 08 7C */ b lbl_801F798C lbl_801F7114: /* 801F7114 001F2D74 C0 02 98 14 */ lfs f0, lbl_80641E14-_SDA2_BASE_(r2) /* 801F7118 001F2D78 80 1E 01 08 */ lwz r0, 0x108(r30) /* 801F711C 001F2D7C EF 80 07 F2 */ fmuls f28, f0, f31 /* 801F7120 001F2D80 2C 00 00 00 */ cmpwi r0, 0 /* 801F7124 001F2D84 41 82 00 08 */ beq lbl_801F712C /* 801F7128 001F2D88 48 00 00 DC */ b lbl_801F7204 lbl_801F712C: /* 801F712C 001F2D8C FC 20 E0 90 */ fmr f1, f28 /* 801F7130 001F2D90 38 61 01 10 */ addi r3, r1, 0x110 /* 801F7134 001F2D94 38 81 00 38 */ addi r4, r1, 0x38 /* 801F7138 001F2D98 48 08 5B D5 */ bl PSVECScale /* 801F713C 001F2D9C 38 61 00 E0 */ addi r3, r1, 0xe0 /* 801F7140 001F2DA0 38 81 00 38 */ addi r4, r1, 0x38 /* 801F7144 001F2DA4 38 A1 00 44 */ addi r5, r1, 0x44 /* 801F7148 001F2DA8 48 08 5B A1 */ bl PSVECSubtract /* 801F714C 001F2DAC C0 61 00 44 */ lfs f3, 0x44(r1) /* 801F7150 001F2DB0 FC 40 D8 50 */ fneg f2, f27 /* 801F7154 001F2DB4 C0 01 00 48 */ lfs f0, 0x48(r1) /* 801F7158 001F2DB8 FC 20 D8 90 */ fmr f1, f27 /* 801F715C 001F2DBC C0 E1 00 4C */ lfs f7, 0x4c(r1) /* 801F7160 001F2DC0 FC 80 D8 90 */ fmr f4, f27 /* 801F7164 001F2DC4 D0 61 01 1C */ stfs f3, 0x11c(r1) /* 801F7168 001F2DC8 C0 A2 98 14 */ lfs f5, lbl_80641E14-_SDA2_BASE_(r2) /* 801F716C 001F2DCC FC 60 10 90 */ fmr f3, f2 /* 801F7170 001F2DD0 D0 01 01 20 */ stfs f0, 0x120(r1) /* 801F7174 001F2DD4 38 7C 00 7C */ addi r3, r28, 0x7c /* 801F7178 001F2DD8 C0 02 98 00 */ lfs f0, lbl_80641E00-_SDA2_BASE_(r2) /* 801F717C 001F2DDC FC C0 28 90 */ fmr f6, f5 /* 801F7180 001F2DE0 D0 E1 01 24 */ stfs f7, 0x124(r1) /* 801F7184 001F2DE4 FC E0 28 90 */ fmr f7, f5 /* 801F7188 001F2DE8 80 1D 01 04 */ lwz r0, 0x104(r29) /* 801F718C 001F2DEC FD 00 28 90 */ fmr f8, f5 /* 801F7190 001F2DF0 D0 5D 01 68 */ stfs f2, 0x168(r29) /* 801F7194 001F2DF4 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d /* 801F7198 001F2DF8 60 00 00 0A */ ori r0, r0, 0xa /* 801F719C 001F2DFC D3 7D 01 6C */ stfs f27, 0x16c(r29) /* 801F71A0 001F2E00 D0 5D 01 70 */ stfs f2, 0x170(r29) /* 801F71A4 001F2E04 D3 7D 01 74 */ stfs f27, 0x174(r29) /* 801F71A8 001F2E08 D0 1D 01 7C */ stfs f0, 0x17c(r29) /* 801F71AC 001F2E0C D3 FD 01 80 */ stfs f31, 0x180(r29) /* 801F71B0 001F2E10 90 1D 01 04 */ stw r0, 0x104(r29) /* 801F71B4 001F2E14 48 08 57 C1 */ bl C_MTXLightOrtho /* 801F71B8 001F2E18 A0 1C 00 DC */ lhz r0, 0xdc(r28) /* 801F71BC 001F2E1C 54 00 07 7A */ rlwinm r0, r0, 0, 0x1d, 0x1d /* 801F71C0 001F2E20 2C 00 00 04 */ cmpwi r0, 4 /* 801F71C4 001F2E24 40 82 01 3C */ bne lbl_801F7300 /* 801F71C8 001F2E28 C0 02 98 2C */ lfs f0, lbl_80641E2C-_SDA2_BASE_(r2) /* 801F71CC 001F2E2C C0 82 98 30 */ lfs f4, lbl_80641E30-_SDA2_BASE_(r2) /* 801F71D0 001F2E30 EC A0 F8 24 */ fdivs f5, f0, f31 /* 801F71D4 001F2E34 C0 62 98 34 */ lfs f3, lbl_80641E34-_SDA2_BASE_(r2) /* 801F71D8 001F2E38 C0 22 98 00 */ lfs f1, lbl_80641E00-_SDA2_BASE_(r2) /* 801F71DC 001F2E3C C0 02 98 04 */ lfs f0, lbl_80641E04-_SDA2_BASE_(r2) /* 801F71E0 001F2E40 D0 3C 00 D4 */ stfs f1, 0xd4(r28) /* 801F71E4 001F2E44 D0 9C 00 B8 */ stfs f4, 0xb8(r28) /* 801F71E8 001F2E48 EC 45 00 F2 */ fmuls f2, f5, f3 /* 801F71EC 001F2E4C D0 BC 00 B4 */ stfs f5, 0xb4(r28) /* 801F71F0 001F2E50 EC 24 00 F2 */ fmuls f1, f4, f3 /* 801F71F4 001F2E54 D0 1C 00 D8 */ stfs f0, 0xd8(r28) /* 801F71F8 001F2E58 D0 5C 00 C4 */ stfs f2, 0xc4(r28) /* 801F71FC 001F2E5C D0 3C 00 C8 */ stfs f1, 0xc8(r28) /* 801F7200 001F2E60 48 00 01 00 */ b lbl_801F7300 lbl_801F7204: /* 801F7204 001F2E64 7F C4 F3 78 */ mr r4, r30 /* 801F7208 001F2E68 38 61 00 2C */ addi r3, r1, 0x2c /* 801F720C 001F2E6C 4B FE F7 39 */ bl func_801E6944 /* 801F7210 001F2E70 C0 41 00 2C */ lfs f2, 0x2c(r1) /* 801F7214 001F2E74 38 61 00 E0 */ addi r3, r1, 0xe0 /* 801F7218 001F2E78 C0 21 00 30 */ lfs f1, 0x30(r1) /* 801F721C 001F2E7C 38 81 01 1C */ addi r4, r1, 0x11c /* 801F7220 001F2E80 C0 01 00 34 */ lfs f0, 0x34(r1) /* 801F7224 001F2E84 38 A1 00 20 */ addi r5, r1, 0x20 /* 801F7228 001F2E88 D0 41 01 1C */ stfs f2, 0x11c(r1) /* 801F722C 001F2E8C D0 21 01 20 */ stfs f1, 0x120(r1) /* 801F7230 001F2E90 D0 01 01 24 */ stfs f0, 0x124(r1) /* 801F7234 001F2E94 48 08 5A B5 */ bl PSVECSubtract /* 801F7238 001F2E98 38 61 00 20 */ addi r3, r1, 0x20 /* 801F723C 001F2E9C 38 81 01 10 */ addi r4, r1, 0x110 /* 801F7240 001F2EA0 48 08 5B 89 */ bl PSQUATDotProduct /* 801F7244 001F2EA4 EF 81 E0 28 */ fsubs f28, f1, f28 /* 801F7248 001F2EA8 C0 02 98 00 */ lfs f0, lbl_80641E00-_SDA2_BASE_(r2) /* 801F724C 001F2EAC FC 1C 00 40 */ fcmpo cr0, f28, f0 /* 801F7250 001F2EB0 40 80 00 0C */ bge lbl_801F725C /* 801F7254 001F2EB4 38 60 00 00 */ li r3, 0 /* 801F7258 001F2EB8 48 00 07 34 */ b lbl_801F798C lbl_801F725C: /* 801F725C 001F2EBC 80 1D 01 04 */ lwz r0, 0x104(r29) /* 801F7260 001F2EC0 FC 40 D8 50 */ fneg f2, f27 /* 801F7264 001F2EC4 EC 1C F8 2A */ fadds f0, f28, f31 /* 801F7268 001F2EC8 C0 C2 98 14 */ lfs f6, lbl_80641E14-_SDA2_BASE_(r2) /* 801F726C 001F2ECC 54 00 00 3A */ rlwinm r0, r0, 0, 0, 0x1d /* 801F7270 001F2ED0 D3 7D 01 6C */ stfs f27, 0x16c(r29) /* 801F7274 001F2ED4 60 00 00 0B */ ori r0, r0, 0xb /* 801F7278 001F2ED8 D0 5D 01 68 */ stfs f2, 0x168(r29) /* 801F727C 001F2EDC FC 20 D8 90 */ fmr f1, f27 /* 801F7280 001F2EE0 38 7C 00 7C */ addi r3, r28, 0x7c /* 801F7284 001F2EE4 D0 5D 01 70 */ stfs f2, 0x170(r29) /* 801F7288 001F2EE8 FC 60 10 90 */ fmr f3, f2 /* 801F728C 001F2EEC FC 80 D8 90 */ fmr f4, f27 /* 801F7290 001F2EF0 D3 7D 01 74 */ stfs f27, 0x174(r29) /* 801F7294 001F2EF4 FC A0 E0 90 */ fmr f5, f28 /* 801F7298 001F2EF8 D3 9D 01 7C */ stfs f28, 0x17c(r29) /* 801F729C 001F2EFC FC E0 30 90 */ fmr f7, f6 /* 801F72A0 001F2F00 FD 00 30 90 */ fmr f8, f6 /* 801F72A4 001F2F04 D0 1D 01 80 */ stfs f0, 0x180(r29) /* 801F72A8 001F2F08 90 1D 01 04 */ stw r0, 0x104(r29) /* 801F72AC 001F2F0C D0 C1 00 08 */ stfs f6, 8(r1) /* 801F72B0 001F2F10 48 08 55 29 */ bl C_MTXLightFrustum /* 801F72B4 001F2F14 A0 1C 00 DC */ lhz r0, 0xdc(r28) /* 801F72B8 001F2F18 54 00 07 7A */ rlwinm r0, r0, 0, 0x1d, 0x1d /* 801F72BC 001F2F1C 2C 00 00 04 */ cmpwi r0, 4 /* 801F72C0 001F2F20 40 82 00 40 */ bne lbl_801F7300 /* 801F72C4 001F2F24 EC 9C F8 2A */ fadds f4, f28, f31 /* 801F72C8 001F2F28 C0 22 98 04 */ lfs f1, lbl_80641E04-_SDA2_BASE_(r2) /* 801F72CC 001F2F2C C0 02 98 00 */ lfs f0, lbl_80641E00-_SDA2_BASE_(r2) /* 801F72D0 001F2F30 D0 3C 00 D4 */ stfs f1, 0xd4(r28) /* 801F72D4 001F2F34 EC 7C 01 32 */ fmuls f3, f28, f4 /* 801F72D8 001F2F38 C0 42 98 34 */ lfs f2, lbl_80641E34-_SDA2_BASE_(r2) /* 801F72DC 001F2F3C EC 24 F8 24 */ fdivs f1, f4, f31 /* 801F72E0 001F2F40 D0 1C 00 D8 */ stfs f0, 0xd8(r28) /* 801F72E4 001F2F44 EC 03 F8 24 */ fdivs f0, f3, f31 /* 801F72E8 001F2F48 D0 3C 00 B4 */ stfs f1, 0xb4(r28) /* 801F72EC 001F2F4C EC 21 00 B2 */ fmuls f1, f1, f2 /* 801F72F0 001F2F50 D0 1C 00 B8 */ stfs f0, 0xb8(r28) /* 801F72F4 001F2F54 EC 00 00 B2 */ fmuls f0, f0, f2 /* 801F72F8 001F2F58 D0 3C 00 C4 */ stfs f1, 0xc4(r28) /* 801F72FC 001F2F5C D0 1C 00 C8 */ stfs f0, 0xc8(r28) lbl_801F7300: /* 801F7300 001F2F60 80 7C 00 44 */ lwz r3, 0x44(r28) /* 801F7304 001F2F64 48 04 72 3D */ bl func_8023E540 /* 801F7308 001F2F68 7C 7F 1B 78 */ mr r31, r3 /* 801F730C 001F2F6C 80 7C 00 44 */ lwz r3, 0x44(r28) /* 801F7310 001F2F70 48 04 72 39 */ bl func_8023E548 /* 801F7314 001F2F74 B3 E1 00 12 */ sth r31, 0x12(r1) /* 801F7318 001F2F78 7C 7E 1B 78 */ mr r30, r3 /* 801F731C 001F2F7C E0 41 B0 12 */ psq_l f2, 18(r1), 1, qr3 /* 801F7320 001F2F80 B0 61 00 10 */ sth r3, 0x10(r1) /* 801F7324 001F2F84 E0 81 B0 10 */ psq_l f4, 16(r1), 1, qr3 /* 801F7328 001F2F88 38 80 00 01 */ li r4, 1 /* 801F732C 001F2F8C C0 02 98 10 */ lfs f0, lbl_80641E10-_SDA2_BASE_(r2) /* 801F7330 001F2F90 C0 22 98 04 */ lfs f1, lbl_80641E04-_SDA2_BASE_(r2) /* 801F7334 001F2F94 EC 62 00 28 */ fsubs f3, f2, f0 /* 801F7338 001F2F98 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13) /* 801F733C 001F2F9C FC 40 08 90 */ fmr f2, f1 /* 801F7340 001F2FA0 EC 84 00 28 */ fsubs f4, f4, f0 /* 801F7344 001F2FA4 48 03 DE C1 */ bl func_80235204 /* 801F7348 001F2FA8 38 9F FF FE */ addi r4, r31, -2 /* 801F734C 001F2FAC 38 1E FF FE */ addi r0, r30, -2 /* 801F7350 001F2FB0 54 87 04 3E */ clrlwi r7, r4, 0x10 /* 801F7354 001F2FB4 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13) /* 801F7358 001F2FB8 54 08 04 3E */ clrlwi r8, r0, 0x10 /* 801F735C 001F2FBC 38 80 00 01 */ li r4, 1 /* 801F7360 001F2FC0 38 A0 00 01 */ li r5, 1 /* 801F7364 001F2FC4 38 C0 00 01 */ li r6, 1 /* 801F7368 001F2FC8 48 03 DE 11 */ bl func_80235178 /* 801F736C 001F2FCC 38 61 01 1C */ addi r3, r1, 0x11c /* 801F7370 001F2FD0 38 81 01 10 */ addi r4, r1, 0x110 /* 801F7374 001F2FD4 38 A1 00 14 */ addi r5, r1, 0x14 /* 801F7378 001F2FD8 48 08 59 4D */ bl PSVECAdd /* 801F737C 001F2FDC C0 01 01 1C */ lfs f0, 0x11c(r1) /* 801F7380 001F2FE0 7F A4 EB 78 */ mr r4, r29 /* 801F7384 001F2FE4 80 1D 01 04 */ lwz r0, 0x104(r29) /* 801F7388 001F2FE8 D0 1D 01 AC */ stfs f0, 0x1ac(r29) /* 801F738C 001F2FEC 60 00 00 30 */ ori r0, r0, 0x30 /* 801F7390 001F2FF0 C0 01 01 20 */ lfs f0, 0x120(r1) /* 801F7394 001F2FF4 54 00 06 2C */ rlwinm r0, r0, 0, 0x18, 0x16 /* 801F7398 001F2FF8 D0 1D 01 B0 */ stfs f0, 0x1b0(r29) /* 801F739C 001F2FFC C0 01 01 24 */ lfs f0, 0x124(r1) /* 801F73A0 001F3000 D0 1D 01 B4 */ stfs f0, 0x1b4(r29) /* 801F73A4 001F3004 C0 01 00 F8 */ lfs f0, 0xf8(r1) /* 801F73A8 001F3008 D0 1D 01 B8 */ stfs f0, 0x1b8(r29) /* 801F73AC 001F300C C0 01 00 FC */ lfs f0, 0xfc(r1) /* 801F73B0 001F3010 D0 1D 01 BC */ stfs f0, 0x1bc(r29) /* 801F73B4 001F3014 C0 01 01 00 */ lfs f0, 0x100(r1) /* 801F73B8 001F3018 D0 1D 01 C0 */ stfs f0, 0x1c0(r29) /* 801F73BC 001F301C C0 01 00 14 */ lfs f0, 0x14(r1) /* 801F73C0 001F3020 D0 1D 01 C4 */ stfs f0, 0x1c4(r29) /* 801F73C4 001F3024 C0 01 00 18 */ lfs f0, 0x18(r1) /* 801F73C8 001F3028 D0 1D 01 C8 */ stfs f0, 0x1c8(r29) /* 801F73CC 001F302C C0 01 00 1C */ lfs f0, 0x1c(r1) /* 801F73D0 001F3030 D0 1D 01 CC */ stfs f0, 0x1cc(r29) /* 801F73D4 001F3034 90 1D 01 04 */ stw r0, 0x104(r29) /* 801F73D8 001F3038 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13) /* 801F73DC 001F303C 48 03 BF 01 */ bl func_802332DC /* 801F73E0 001F3040 38 7D 01 D4 */ addi r3, r29, 0x1d4 /* 801F73E4 001F3044 38 9C 00 4C */ addi r4, r28, 0x4c /* 801F73E8 001F3048 48 08 4B 71 */ bl PSMTXCopy /* 801F73EC 001F304C 38 00 00 00 */ li r0, 0 /* 801F73F0 001F3050 3B C0 00 00 */ li r30, 0 /* 801F73F4 001F3054 90 0D A0 E8 */ stw r0, lbl_8063F3A8-_SDA_BASE_(r13) /* 801F73F8 001F3058 3B 20 00 00 */ li r25, 0 /* 801F73FC 001F305C 90 0D A0 EC */ stw r0, lbl_8063F3AC-_SDA_BASE_(r13) /* 801F7400 001F3060 98 0D A0 F0 */ stb r0, lbl_8063F3B0-_SDA_BASE_(r13) /* 801F7404 001F3064 A3 5C 00 E8 */ lhz r26, 0xe8(r28) /* 801F7408 001F3068 48 00 00 8C */ b lbl_801F7494 lbl_801F740C: /* 801F740C 001F306C 80 9C 00 20 */ lwz r4, 0x20(r28) /* 801F7410 001F3070 2C 04 00 00 */ cmpwi r4, 0 /* 801F7414 001F3074 40 82 00 0C */ bne lbl_801F7420 /* 801F7418 001F3078 38 60 00 00 */ li r3, 0 /* 801F741C 001F307C 48 00 00 54 */ b lbl_801F7470 lbl_801F7420: /* 801F7420 001F3080 A0 1C 00 E8 */ lhz r0, 0xe8(r28) /* 801F7424 001F3084 57 23 04 3E */ clrlwi r3, r25, 0x10 /* 801F7428 001F3088 7C 03 00 40 */ cmplw r3, r0 /* 801F742C 001F308C 41 80 00 0C */ blt lbl_801F7438 /* 801F7430 001F3090 38 60 00 00 */ li r3, 0 /* 801F7434 001F3094 48 00 00 3C */ b lbl_801F7470 lbl_801F7438: /* 801F7438 001F3098 80 BC 00 08 */ lwz r5, 8(r28) /* 801F743C 001F309C 57 20 0B FC */ rlwinm r0, r25, 1, 0xf, 0x1e /* 801F7440 001F30A0 7C 64 02 2E */ lhzx r3, r4, r0 /* 801F7444 001F30A4 2C 05 00 00 */ cmpwi r5, 0 /* 801F7448 001F30A8 40 82 00 0C */ bne lbl_801F7454 /* 801F744C 001F30AC 38 60 00 00 */ li r3, 0 /* 801F7450 001F30B0 48 00 00 20 */ b lbl_801F7470 lbl_801F7454: /* 801F7454 001F30B4 A0 1C 00 DE */ lhz r0, 0xde(r28) /* 801F7458 001F30B8 7C 03 00 40 */ cmplw r3, r0 /* 801F745C 001F30BC 41 80 00 0C */ blt lbl_801F7468 /* 801F7460 001F30C0 38 60 00 00 */ li r3, 0 /* 801F7464 001F30C4 48 00 00 0C */ b lbl_801F7470 lbl_801F7468: /* 801F7468 001F30C8 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 801F746C 001F30CC 7C 65 00 2E */ lwzx r3, r5, r0 lbl_801F7470: /* 801F7470 001F30D0 2C 03 00 00 */ cmpwi r3, 0 /* 801F7474 001F30D4 41 82 00 2C */ beq lbl_801F74A0 /* 801F7478 001F30D8 7F A4 EB 78 */ mr r4, r29 /* 801F747C 001F30DC 38 A0 00 00 */ li r5, 0 /* 801F7480 001F30E0 4B FF 9B 59 */ bl func_801F0FD8 /* 801F7484 001F30E4 2C 03 00 00 */ cmpwi r3, 0 /* 801F7488 001F30E8 41 82 00 08 */ beq lbl_801F7490 /* 801F748C 001F30EC 3B C0 00 01 */ li r30, 1 lbl_801F7490: /* 801F7490 001F30F0 3B 39 00 01 */ addi r25, r25, 1 lbl_801F7494: /* 801F7494 001F30F4 57 20 04 3E */ clrlwi r0, r25, 0x10 /* 801F7498 001F30F8 7C 00 D0 40 */ cmplw r0, r26 /* 801F749C 001F30FC 41 80 FF 70 */ blt lbl_801F740C lbl_801F74A0: /* 801F74A0 001F3100 83 5C 00 38 */ lwz r26, 0x38(r28) /* 801F74A4 001F3104 48 00 00 BC */ b lbl_801F7560 lbl_801F74A8: /* 801F74A8 001F3108 83 7A 00 00 */ lwz r27, 0(r26) /* 801F74AC 001F310C A0 1B 00 DC */ lhz r0, 0xdc(r27) /* 801F74B0 001F3110 54 00 07 FE */ clrlwi r0, r0, 0x1f /* 801F74B4 001F3114 2C 00 00 01 */ cmpwi r0, 1 /* 801F74B8 001F3118 40 82 00 A4 */ bne lbl_801F755C /* 801F74BC 001F311C A3 FB 00 E8 */ lhz r31, 0xe8(r27) /* 801F74C0 001F3120 3B 20 00 00 */ li r25, 0 /* 801F74C4 001F3124 48 00 00 8C */ b lbl_801F7550 lbl_801F74C8: /* 801F74C8 001F3128 80 9B 00 20 */ lwz r4, 0x20(r27) /* 801F74CC 001F312C 2C 04 00 00 */ cmpwi r4, 0 /* 801F74D0 001F3130 40 82 00 0C */ bne lbl_801F74DC /* 801F74D4 001F3134 38 60 00 00 */ li r3, 0 /* 801F74D8 001F3138 48 00 00 54 */ b lbl_801F752C lbl_801F74DC: /* 801F74DC 001F313C A0 1B 00 E8 */ lhz r0, 0xe8(r27) /* 801F74E0 001F3140 57 23 04 3E */ clrlwi r3, r25, 0x10 /* 801F74E4 001F3144 7C 03 00 40 */ cmplw r3, r0 /* 801F74E8 001F3148 41 80 00 0C */ blt lbl_801F74F4 /* 801F74EC 001F314C 38 60 00 00 */ li r3, 0 /* 801F74F0 001F3150 48 00 00 3C */ b lbl_801F752C lbl_801F74F4: /* 801F74F4 001F3154 80 BB 00 08 */ lwz r5, 8(r27) /* 801F74F8 001F3158 57 20 0B FC */ rlwinm r0, r25, 1, 0xf, 0x1e /* 801F74FC 001F315C 7C 64 02 2E */ lhzx r3, r4, r0 /* 801F7500 001F3160 2C 05 00 00 */ cmpwi r5, 0 /* 801F7504 001F3164 40 82 00 0C */ bne lbl_801F7510 /* 801F7508 001F3168 38 60 00 00 */ li r3, 0 /* 801F750C 001F316C 48 00 00 20 */ b lbl_801F752C lbl_801F7510: /* 801F7510 001F3170 A0 1B 00 DE */ lhz r0, 0xde(r27) /* 801F7514 001F3174 7C 03 00 40 */ cmplw r3, r0 /* 801F7518 001F3178 41 80 00 0C */ blt lbl_801F7524 /* 801F751C 001F317C 38 60 00 00 */ li r3, 0 /* 801F7520 001F3180 48 00 00 0C */ b lbl_801F752C lbl_801F7524: /* 801F7524 001F3184 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 801F7528 001F3188 7C 65 00 2E */ lwzx r3, r5, r0 lbl_801F752C: /* 801F752C 001F318C 2C 03 00 00 */ cmpwi r3, 0 /* 801F7530 001F3190 41 82 00 2C */ beq lbl_801F755C /* 801F7534 001F3194 7F A4 EB 78 */ mr r4, r29 /* 801F7538 001F3198 38 A0 00 00 */ li r5, 0 /* 801F753C 001F319C 4B FF 9A 9D */ bl func_801F0FD8 /* 801F7540 001F31A0 2C 03 00 00 */ cmpwi r3, 0 /* 801F7544 001F31A4 41 82 00 08 */ beq lbl_801F754C /* 801F7548 001F31A8 3B C0 00 01 */ li r30, 1 lbl_801F754C: /* 801F754C 001F31AC 3B 39 00 01 */ addi r25, r25, 1 lbl_801F7550: /* 801F7550 001F31B0 57 20 04 3E */ clrlwi r0, r25, 0x10 /* 801F7554 001F31B4 7C 00 F8 40 */ cmplw r0, r31 /* 801F7558 001F31B8 41 80 FF 70 */ blt lbl_801F74C8 lbl_801F755C: /* 801F755C 001F31BC 83 5A 00 04 */ lwz r26, 4(r26) lbl_801F7560: /* 801F7560 001F31C0 2C 1A 00 00 */ cmpwi r26, 0 /* 801F7564 001F31C4 40 82 FF 44 */ bne lbl_801F74A8 /* 801F7568 001F31C8 81 8D A3 D8 */ lwz r12, lbl_8063F698-_SDA_BASE_(r13) /* 801F756C 001F31CC 39 60 00 01 */ li r11, 1 /* 801F7570 001F31D0 3B E0 00 00 */ li r31, 0 /* 801F7574 001F31D4 38 80 00 00 */ li r4, 0 /* 801F7578 001F31D8 80 6C 16 38 */ lwz r3, 0x1638(r12) /* 801F757C 001F31DC 38 A0 00 03 */ li r5, 3 /* 801F7580 001F31E0 38 C0 00 00 */ li r6, 0 /* 801F7584 001F31E4 38 E0 00 00 */ li r7, 0 /* 801F7588 001F31E8 99 63 02 80 */ stb r11, 0x280(r3) /* 801F758C 001F31EC 39 00 00 00 */ li r8, 0 /* 801F7590 001F31F0 39 20 00 00 */ li r9, 0 /* 801F7594 001F31F4 39 40 00 02 */ li r10, 2 /* 801F7598 001F31F8 80 6C 16 38 */ lwz r3, 0x1638(r12) /* 801F759C 001F31FC 80 03 00 24 */ lwz r0, 0x24(r3) /* 801F75A0 001F3200 60 00 00 01 */ ori r0, r0, 1 /* 801F75A4 001F3204 90 03 00 24 */ stw r0, 0x24(r3) /* 801F75A8 001F3208 80 6C 16 38 */ lwz r3, 0x1638(r12) /* 801F75AC 001F320C 80 03 00 00 */ lwz r0, 0(r3) /* 801F75B0 001F3210 60 00 00 08 */ ori r0, r0, 8 /* 801F75B4 001F3214 90 03 00 00 */ stw r0, 0(r3) /* 801F75B8 001F3218 81 8D A3 D8 */ lwz r12, lbl_8063F698-_SDA_BASE_(r13) /* 801F75BC 001F321C 80 6C 16 38 */ lwz r3, 0x1638(r12) /* 801F75C0 001F3220 99 63 01 8C */ stb r11, 0x18c(r3) /* 801F75C4 001F3224 80 6C 16 38 */ lwz r3, 0x1638(r12) /* 801F75C8 001F3228 80 03 00 14 */ lwz r0, 0x14(r3) /* 801F75CC 001F322C 60 00 00 01 */ ori r0, r0, 1 /* 801F75D0 001F3230 90 03 00 14 */ stw r0, 0x14(r3) /* 801F75D4 001F3234 80 6C 16 38 */ lwz r3, 0x1638(r12) /* 801F75D8 001F3238 80 03 00 00 */ lwz r0, 0(r3) /* 801F75DC 001F323C 60 00 00 04 */ ori r0, r0, 4 /* 801F75E0 001F3240 90 03 00 00 */ stw r0, 0(r3) /* 801F75E4 001F3244 81 6D A3 D8 */ lwz r11, lbl_8063F698-_SDA_BASE_(r13) /* 801F75E8 001F3248 80 6B 16 38 */ lwz r3, 0x1638(r11) /* 801F75EC 001F324C 9B E3 00 68 */ stb r31, 0x68(r3) /* 801F75F0 001F3250 80 6B 16 38 */ lwz r3, 0x1638(r11) /* 801F75F4 001F3254 80 03 00 04 */ lwz r0, 4(r3) /* 801F75F8 001F3258 60 00 00 01 */ ori r0, r0, 1 /* 801F75FC 001F325C 90 03 00 04 */ stw r0, 4(r3) /* 801F7600 001F3260 80 6B 16 38 */ lwz r3, 0x1638(r11) /* 801F7604 001F3264 80 03 00 00 */ lwz r0, 0(r3) /* 801F7608 001F3268 60 00 00 01 */ ori r0, r0, 1 /* 801F760C 001F326C 90 03 00 00 */ stw r0, 0(r3) /* 801F7610 001F3270 93 E1 00 08 */ stw r31, 8(r1) /* 801F7614 001F3274 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13) /* 801F7618 001F3278 48 03 C1 75 */ bl func_8023378C /* 801F761C 001F327C 81 4D A3 D8 */ lwz r10, lbl_8063F698-_SDA_BASE_(r13) /* 801F7620 001F3280 80 6A 16 38 */ lwz r3, 0x1638(r10) /* 801F7624 001F3284 80 03 07 F4 */ lwz r0, 0x7f4(r3) /* 801F7628 001F3288 2C 00 00 07 */ cmpwi r0, 7 /* 801F762C 001F328C 41 82 00 08 */ beq lbl_801F7634 /* 801F7630 001F3290 93 E3 07 F4 */ stw r31, 0x7f4(r3) lbl_801F7634: /* 801F7634 001F3294 81 2A 16 38 */ lwz r9, 0x1638(r10) /* 801F7638 001F3298 38 00 00 00 */ li r0, 0 /* 801F763C 001F329C 38 C0 00 FF */ li r6, 0xff /* 801F7640 001F32A0 38 A0 00 04 */ li r5, 4 /* 801F7644 001F32A4 81 09 00 40 */ lwz r8, 0x40(r9) /* 801F7648 001F32A8 38 E0 00 01 */ li r7, 1 /* 801F764C 001F32AC 38 80 00 0F */ li r4, 0xf /* 801F7650 001F32B0 38 60 00 0B */ li r3, 0xb /* 801F7654 001F32B4 61 08 00 01 */ ori r8, r8, 1 /* 801F7658 001F32B8 91 09 00 40 */ stw r8, 0x40(r9) /* 801F765C 001F32BC 81 2A 16 38 */ lwz r9, 0x1638(r10) /* 801F7660 001F32C0 81 09 00 00 */ lwz r8, 0(r9) /* 801F7664 001F32C4 61 08 00 08 */ ori r8, r8, 8 /* 801F7668 001F32C8 91 09 00 00 */ stw r8, 0(r9) /* 801F766C 001F32CC 81 4D A3 D8 */ lwz r10, lbl_8063F698-_SDA_BASE_(r13) /* 801F7670 001F32D0 81 0A 16 38 */ lwz r8, 0x1638(r10) /* 801F7674 001F32D4 90 08 09 64 */ stw r0, 0x964(r8) /* 801F7678 001F32D8 90 08 09 68 */ stw r0, 0x968(r8) /* 801F767C 001F32DC 81 2A 16 38 */ lwz r9, 0x1638(r10) /* 801F7680 001F32E0 81 09 00 5C */ lwz r8, 0x5c(r9) /* 801F7684 001F32E4 61 08 00 01 */ ori r8, r8, 1 /* 801F7688 001F32E8 91 09 00 5C */ stw r8, 0x5c(r9) /* 801F768C 001F32EC 81 2A 16 38 */ lwz r9, 0x1638(r10) /* 801F7690 001F32F0 81 09 00 00 */ lwz r8, 0(r9) /* 801F7694 001F32F4 61 08 00 20 */ ori r8, r8, 0x20 /* 801F7698 001F32F8 91 09 00 00 */ stw r8, 0(r9) /* 801F769C 001F32FC 81 2D A3 D8 */ lwz r9, lbl_8063F698-_SDA_BASE_(r13) /* 801F76A0 001F3300 81 09 16 38 */ lwz r8, 0x1638(r9) /* 801F76A4 001F3304 90 C8 02 84 */ stw r6, 0x284(r8) /* 801F76A8 001F3308 90 C8 02 88 */ stw r6, 0x288(r8) /* 801F76AC 001F330C 90 A8 02 8C */ stw r5, 0x28c(r8) /* 801F76B0 001F3310 80 C9 16 38 */ lwz r6, 0x1638(r9) /* 801F76B4 001F3314 80 A6 00 28 */ lwz r5, 0x28(r6) /* 801F76B8 001F3318 60 A5 00 01 */ ori r5, r5, 1 /* 801F76BC 001F331C 90 A6 00 28 */ stw r5, 0x28(r6) /* 801F76C0 001F3320 80 C9 16 38 */ lwz r6, 0x1638(r9) /* 801F76C4 001F3324 80 A6 00 00 */ lwz r5, 0(r6) /* 801F76C8 001F3328 60 A5 00 08 */ ori r5, r5, 8 /* 801F76CC 001F332C 90 A6 00 00 */ stw r5, 0(r6) /* 801F76D0 001F3330 81 0D A3 D8 */ lwz r8, lbl_8063F698-_SDA_BASE_(r13) /* 801F76D4 001F3334 80 A8 16 38 */ lwz r5, 0x1638(r8) /* 801F76D8 001F3338 90 05 05 44 */ stw r0, 0x544(r5) /* 801F76DC 001F333C 90 05 05 48 */ stw r0, 0x548(r5) /* 801F76E0 001F3340 90 05 05 4C */ stw r0, 0x54c(r5) /* 801F76E4 001F3344 98 E5 05 50 */ stb r7, 0x550(r5) /* 801F76E8 001F3348 90 05 05 54 */ stw r0, 0x554(r5) /* 801F76EC 001F334C 80 C8 16 38 */ lwz r6, 0x1638(r8) /* 801F76F0 001F3350 80 A6 00 34 */ lwz r5, 0x34(r6) /* 801F76F4 001F3354 60 A5 00 01 */ ori r5, r5, 1 /* 801F76F8 001F3358 90 A6 00 34 */ stw r5, 0x34(r6) /* 801F76FC 001F335C 80 C8 16 38 */ lwz r6, 0x1638(r8) /* 801F7700 001F3360 80 A6 00 00 */ lwz r5, 0(r6) /* 801F7704 001F3364 60 A5 00 08 */ ori r5, r5, 8 /* 801F7708 001F3368 90 A6 00 00 */ stw r5, 0(r6) /* 801F770C 001F336C 80 CD A3 D8 */ lwz r6, lbl_8063F698-_SDA_BASE_(r13) /* 801F7710 001F3370 80 A6 16 38 */ lwz r5, 0x1638(r6) /* 801F7714 001F3374 90 85 03 44 */ stw r4, 0x344(r5) /* 801F7718 001F3378 90 85 03 48 */ stw r4, 0x348(r5) /* 801F771C 001F337C 90 85 03 4C */ stw r4, 0x34c(r5) /* 801F7720 001F3380 90 65 03 50 */ stw r3, 0x350(r5) /* 801F7724 001F3384 80 86 16 38 */ lwz r4, 0x1638(r6) /* 801F7728 001F3388 80 64 00 2C */ lwz r3, 0x2c(r4) /* 801F772C 001F338C 60 63 00 01 */ ori r3, r3, 1 /* 801F7730 001F3390 90 64 00 2C */ stw r3, 0x2c(r4) /* 801F7734 001F3394 80 86 16 38 */ lwz r4, 0x1638(r6) /* 801F7738 001F3398 80 64 00 00 */ lwz r3, 0(r4) /* 801F773C 001F339C 60 63 00 08 */ ori r3, r3, 8 /* 801F7740 001F33A0 90 64 00 00 */ stw r3, 0(r4) /* 801F7744 001F33A4 80 8D A3 D8 */ lwz r4, lbl_8063F698-_SDA_BASE_(r13) /* 801F7748 001F33A8 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F774C 001F33AC 90 03 06 84 */ stw r0, 0x684(r3) /* 801F7750 001F33B0 90 03 06 88 */ stw r0, 0x688(r3) /* 801F7754 001F33B4 90 03 06 8C */ stw r0, 0x68c(r3) /* 801F7758 001F33B8 98 E3 06 90 */ stb r7, 0x690(r3) /* 801F775C 001F33BC 90 03 06 94 */ stw r0, 0x694(r3) /* 801F7760 001F33C0 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F7764 001F33C4 80 03 00 38 */ lwz r0, 0x38(r3) /* 801F7768 001F33C8 60 00 00 01 */ ori r0, r0, 1 /* 801F776C 001F33CC 90 03 00 38 */ stw r0, 0x38(r3) /* 801F7770 001F33D0 80 84 16 38 */ lwz r4, 0x1638(r4) /* 801F7774 001F33D4 38 00 00 07 */ li r0, 7 /* 801F7778 001F33D8 3B E0 00 00 */ li r31, 0 /* 801F777C 001F33DC 80 64 00 00 */ lwz r3, 0(r4) /* 801F7780 001F33E0 60 63 00 08 */ ori r3, r3, 8 /* 801F7784 001F33E4 90 64 00 00 */ stw r3, 0(r4) /* 801F7788 001F33E8 80 8D A3 D8 */ lwz r4, lbl_8063F698-_SDA_BASE_(r13) /* 801F778C 001F33EC 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F7790 001F33F0 90 03 04 44 */ stw r0, 0x444(r3) /* 801F7794 001F33F4 90 03 04 48 */ stw r0, 0x448(r3) /* 801F7798 001F33F8 90 03 04 4C */ stw r0, 0x44c(r3) /* 801F779C 001F33FC 90 03 04 50 */ stw r0, 0x450(r3) /* 801F77A0 001F3400 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F77A4 001F3404 80 03 00 30 */ lwz r0, 0x30(r3) /* 801F77A8 001F3408 60 00 00 01 */ ori r0, r0, 1 /* 801F77AC 001F340C 90 03 00 30 */ stw r0, 0x30(r3) /* 801F77B0 001F3410 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F77B4 001F3414 80 03 00 00 */ lwz r0, 0(r3) /* 801F77B8 001F3418 60 00 00 08 */ ori r0, r0, 8 /* 801F77BC 001F341C 90 03 00 00 */ stw r0, 0(r3) /* 801F77C0 001F3420 A3 3C 00 E8 */ lhz r25, 0xe8(r28) /* 801F77C4 001F3424 48 00 00 8C */ b lbl_801F7850 lbl_801F77C8: /* 801F77C8 001F3428 80 9C 00 20 */ lwz r4, 0x20(r28) /* 801F77CC 001F342C 2C 04 00 00 */ cmpwi r4, 0 /* 801F77D0 001F3430 40 82 00 0C */ bne lbl_801F77DC /* 801F77D4 001F3434 38 60 00 00 */ li r3, 0 /* 801F77D8 001F3438 48 00 00 54 */ b lbl_801F782C lbl_801F77DC: /* 801F77DC 001F343C A0 1C 00 E8 */ lhz r0, 0xe8(r28) /* 801F77E0 001F3440 57 E3 04 3E */ clrlwi r3, r31, 0x10 /* 801F77E4 001F3444 7C 03 00 40 */ cmplw r3, r0 /* 801F77E8 001F3448 41 80 00 0C */ blt lbl_801F77F4 /* 801F77EC 001F344C 38 60 00 00 */ li r3, 0 /* 801F77F0 001F3450 48 00 00 3C */ b lbl_801F782C lbl_801F77F4: /* 801F77F4 001F3454 80 BC 00 08 */ lwz r5, 8(r28) /* 801F77F8 001F3458 57 E0 0B FC */ rlwinm r0, r31, 1, 0xf, 0x1e /* 801F77FC 001F345C 7C 64 02 2E */ lhzx r3, r4, r0 /* 801F7800 001F3460 2C 05 00 00 */ cmpwi r5, 0 /* 801F7804 001F3464 40 82 00 0C */ bne lbl_801F7810 /* 801F7808 001F3468 38 60 00 00 */ li r3, 0 /* 801F780C 001F346C 48 00 00 20 */ b lbl_801F782C lbl_801F7810: /* 801F7810 001F3470 A0 1C 00 DE */ lhz r0, 0xde(r28) /* 801F7814 001F3474 7C 03 00 40 */ cmplw r3, r0 /* 801F7818 001F3478 41 80 00 0C */ blt lbl_801F7824 /* 801F781C 001F347C 38 60 00 00 */ li r3, 0 /* 801F7820 001F3480 48 00 00 0C */ b lbl_801F782C lbl_801F7824: /* 801F7824 001F3484 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 801F7828 001F3488 7C 65 00 2E */ lwzx r3, r5, r0 lbl_801F782C: /* 801F782C 001F348C 2C 03 00 00 */ cmpwi r3, 0 /* 801F7830 001F3490 41 82 00 2C */ beq lbl_801F785C /* 801F7834 001F3494 7F A4 EB 78 */ mr r4, r29 /* 801F7838 001F3498 38 A0 00 01 */ li r5, 1 /* 801F783C 001F349C 4B FF 97 9D */ bl func_801F0FD8 /* 801F7840 001F34A0 2C 03 00 00 */ cmpwi r3, 0 /* 801F7844 001F34A4 41 82 00 08 */ beq lbl_801F784C /* 801F7848 001F34A8 3B C0 00 01 */ li r30, 1 lbl_801F784C: /* 801F784C 001F34AC 3B FF 00 01 */ addi r31, r31, 1 lbl_801F7850: /* 801F7850 001F34B0 57 E0 04 3E */ clrlwi r0, r31, 0x10 /* 801F7854 001F34B4 7C 00 C8 40 */ cmplw r0, r25 /* 801F7858 001F34B8 41 80 FF 70 */ blt lbl_801F77C8 lbl_801F785C: /* 801F785C 001F34BC 83 5C 00 38 */ lwz r26, 0x38(r28) /* 801F7860 001F34C0 48 00 00 BC */ b lbl_801F791C lbl_801F7864: /* 801F7864 001F34C4 83 7A 00 00 */ lwz r27, 0(r26) /* 801F7868 001F34C8 A0 1B 00 DC */ lhz r0, 0xdc(r27) /* 801F786C 001F34CC 54 00 07 FE */ clrlwi r0, r0, 0x1f /* 801F7870 001F34D0 2C 00 00 01 */ cmpwi r0, 1 /* 801F7874 001F34D4 40 82 00 A4 */ bne lbl_801F7918 /* 801F7878 001F34D8 A3 FB 00 E8 */ lhz r31, 0xe8(r27) /* 801F787C 001F34DC 3B 20 00 00 */ li r25, 0 /* 801F7880 001F34E0 48 00 00 8C */ b lbl_801F790C lbl_801F7884: /* 801F7884 001F34E4 80 9B 00 20 */ lwz r4, 0x20(r27) /* 801F7888 001F34E8 2C 04 00 00 */ cmpwi r4, 0 /* 801F788C 001F34EC 40 82 00 0C */ bne lbl_801F7898 /* 801F7890 001F34F0 38 60 00 00 */ li r3, 0 /* 801F7894 001F34F4 48 00 00 54 */ b lbl_801F78E8 lbl_801F7898: /* 801F7898 001F34F8 A0 1B 00 E8 */ lhz r0, 0xe8(r27) /* 801F789C 001F34FC 57 23 04 3E */ clrlwi r3, r25, 0x10 /* 801F78A0 001F3500 7C 03 00 40 */ cmplw r3, r0 /* 801F78A4 001F3504 41 80 00 0C */ blt lbl_801F78B0 /* 801F78A8 001F3508 38 60 00 00 */ li r3, 0 /* 801F78AC 001F350C 48 00 00 3C */ b lbl_801F78E8 lbl_801F78B0: /* 801F78B0 001F3510 80 BB 00 08 */ lwz r5, 8(r27) /* 801F78B4 001F3514 57 20 0B FC */ rlwinm r0, r25, 1, 0xf, 0x1e /* 801F78B8 001F3518 7C 64 02 2E */ lhzx r3, r4, r0 /* 801F78BC 001F351C 2C 05 00 00 */ cmpwi r5, 0 /* 801F78C0 001F3520 40 82 00 0C */ bne lbl_801F78CC /* 801F78C4 001F3524 38 60 00 00 */ li r3, 0 /* 801F78C8 001F3528 48 00 00 20 */ b lbl_801F78E8 lbl_801F78CC: /* 801F78CC 001F352C A0 1B 00 DE */ lhz r0, 0xde(r27) /* 801F78D0 001F3530 7C 03 00 40 */ cmplw r3, r0 /* 801F78D4 001F3534 41 80 00 0C */ blt lbl_801F78E0 /* 801F78D8 001F3538 38 60 00 00 */ li r3, 0 /* 801F78DC 001F353C 48 00 00 0C */ b lbl_801F78E8 lbl_801F78E0: /* 801F78E0 001F3540 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 801F78E4 001F3544 7C 65 00 2E */ lwzx r3, r5, r0 lbl_801F78E8: /* 801F78E8 001F3548 2C 03 00 00 */ cmpwi r3, 0 /* 801F78EC 001F354C 41 82 00 2C */ beq lbl_801F7918 /* 801F78F0 001F3550 7F A4 EB 78 */ mr r4, r29 /* 801F78F4 001F3554 38 A0 00 01 */ li r5, 1 /* 801F78F8 001F3558 4B FF 96 E1 */ bl func_801F0FD8 /* 801F78FC 001F355C 2C 03 00 00 */ cmpwi r3, 0 /* 801F7900 001F3560 41 82 00 08 */ beq lbl_801F7908 /* 801F7904 001F3564 3B C0 00 01 */ li r30, 1 lbl_801F7908: /* 801F7908 001F3568 3B 39 00 01 */ addi r25, r25, 1 lbl_801F790C: /* 801F790C 001F356C 57 20 04 3E */ clrlwi r0, r25, 0x10 /* 801F7910 001F3570 7C 00 F8 40 */ cmplw r0, r31 /* 801F7914 001F3574 41 80 FF 70 */ blt lbl_801F7884 lbl_801F7918: /* 801F7918 001F3578 83 5A 00 04 */ lwz r26, 4(r26) lbl_801F791C: /* 801F791C 001F357C 2C 1A 00 00 */ cmpwi r26, 0 /* 801F7920 001F3580 40 82 FF 44 */ bne lbl_801F7864 /* 801F7924 001F3584 80 1D 01 04 */ lwz r0, 0x104(r29) /* 801F7928 001F3588 2C 1E 00 00 */ cmpwi r30, 0 /* 801F792C 001F358C 60 00 01 00 */ ori r0, r0, 0x100 /* 801F7930 001F3590 90 1D 01 04 */ stw r0, 0x104(r29) /* 801F7934 001F3594 41 82 00 54 */ beq lbl_801F7988 /* 801F7938 001F3598 80 7C 00 48 */ lwz r3, 0x48(r28) /* 801F793C 001F359C 2C 03 00 00 */ cmpwi r3, 0 /* 801F7940 001F35A0 41 82 00 20 */ beq lbl_801F7960 /* 801F7944 001F35A4 48 04 6D 95 */ bl func_8023E6D8 /* 801F7948 001F35A8 7C 65 1B 78 */ mr r5, r3 /* 801F794C 001F35AC 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13) /* 801F7950 001F35B0 80 9C 00 48 */ lwz r4, 0x48(r28) /* 801F7954 001F35B4 38 C0 00 00 */ li r6, 0 /* 801F7958 001F35B8 38 E0 00 00 */ li r7, 0 /* 801F795C 001F35BC 48 04 7C 8D */ bl func_8023F5E8 lbl_801F7960: /* 801F7960 001F35C0 80 7C 00 44 */ lwz r3, 0x44(r28) /* 801F7964 001F35C4 48 04 6D 75 */ bl func_8023E6D8 /* 801F7968 001F35C8 7C 65 1B 78 */ mr r5, r3 /* 801F796C 001F35CC 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13) /* 801F7970 001F35D0 80 9C 00 44 */ lwz r4, 0x44(r28) /* 801F7974 001F35D4 38 C0 00 00 */ li r6, 0 /* 801F7978 001F35D8 38 E0 00 01 */ li r7, 1 /* 801F797C 001F35DC 48 04 7C 6D */ bl func_8023F5E8 /* 801F7980 001F35E0 38 60 00 01 */ li r3, 1 /* 801F7984 001F35E4 48 00 00 08 */ b lbl_801F798C lbl_801F7988: /* 801F7988 001F35E8 38 60 00 00 */ li r3, 0 lbl_801F798C: /* 801F798C 001F35EC E3 E1 03 58 */ psq_l f31, 856(r1), 0, qr0 /* 801F7990 001F35F0 CB E1 03 50 */ lfd f31, 0x350(r1) /* 801F7994 001F35F4 E3 C1 03 48 */ psq_l f30, 840(r1), 0, qr0 /* 801F7998 001F35F8 CB C1 03 40 */ lfd f30, 0x340(r1) /* 801F799C 001F35FC E3 A1 03 38 */ psq_l f29, 824(r1), 0, qr0 /* 801F79A0 001F3600 CB A1 03 30 */ lfd f29, 0x330(r1) /* 801F79A4 001F3604 E3 81 03 28 */ psq_l f28, 808(r1), 0, qr0 /* 801F79A8 001F3608 CB 81 03 20 */ lfd f28, 0x320(r1) /* 801F79AC 001F360C E3 61 03 18 */ psq_l f27, 792(r1), 0, qr0 /* 801F79B0 001F3610 39 61 03 10 */ addi r11, r1, 0x310 /* 801F79B4 001F3614 CB 61 03 10 */ lfd f27, 0x310(r1) /* 801F79B8 001F3618 4B FC F7 B5 */ bl _restgpr_25 /* 801F79BC 001F361C 80 01 03 64 */ lwz r0, 0x364(r1) /* 801F79C0 001F3620 7C 08 03 A6 */ mtlr r0 /* 801F79C4 001F3624 38 21 03 60 */ addi r1, r1, 0x360 /* 801F79C8 001F3628 4E 80 00 20 */ blr .global func_801F79CC func_801F79CC: /* 801F79CC 001F362C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801F79D0 001F3630 7C 08 02 A6 */ mflr r0 /* 801F79D4 001F3634 90 01 00 34 */ stw r0, 0x34(r1) /* 801F79D8 001F3638 39 61 00 30 */ addi r11, r1, 0x30 /* 801F79DC 001F363C 4B FC F7 45 */ bl _savegpr_25 /* 801F79E0 001F3640 80 83 00 00 */ lwz r4, 0(r3) /* 801F79E4 001F3644 7C 7E 1B 78 */ mr r30, r3 /* 801F79E8 001F3648 2C 04 00 00 */ cmpwi r4, 0 /* 801F79EC 001F364C 41 82 00 14 */ beq lbl_801F7A00 /* 801F79F0 001F3650 80 84 00 00 */ lwz r4, 0(r4) /* 801F79F4 001F3654 80 04 00 24 */ lwz r0, 0x24(r4) /* 801F79F8 001F3658 2C 00 00 00 */ cmpwi r0, 0 /* 801F79FC 001F365C 40 82 01 9C */ bne lbl_801F7B98 lbl_801F7A00: /* 801F7A00 001F3660 A3 83 00 E4 */ lhz r28, 0xe4(r3) /* 801F7A04 001F3664 38 C0 00 00 */ li r6, 0 /* 801F7A08 001F3668 3B E0 00 00 */ li r31, 0 /* 801F7A0C 001F366C 3B A0 00 00 */ li r29, 0 /* 801F7A10 001F3670 48 00 00 F0 */ b lbl_801F7B00 lbl_801F7A14: /* 801F7A14 001F3674 80 9E 00 18 */ lwz r4, 0x18(r30) /* 801F7A18 001F3678 2C 04 00 00 */ cmpwi r4, 0 /* 801F7A1C 001F367C 40 82 00 0C */ bne lbl_801F7A28 /* 801F7A20 001F3680 3B 60 00 00 */ li r27, 0 /* 801F7A24 001F3684 48 00 00 54 */ b lbl_801F7A78 lbl_801F7A28: /* 801F7A28 001F3688 A0 1E 00 E4 */ lhz r0, 0xe4(r30) /* 801F7A2C 001F368C 57 E3 04 3E */ clrlwi r3, r31, 0x10 /* 801F7A30 001F3690 7C 03 00 40 */ cmplw r3, r0 /* 801F7A34 001F3694 41 80 00 0C */ blt lbl_801F7A40 /* 801F7A38 001F3698 3B 60 00 00 */ li r27, 0 /* 801F7A3C 001F369C 48 00 00 3C */ b lbl_801F7A78 lbl_801F7A40: /* 801F7A40 001F36A0 80 BE 00 08 */ lwz r5, 8(r30) /* 801F7A44 001F36A4 57 E0 0B FC */ rlwinm r0, r31, 1, 0xf, 0x1e /* 801F7A48 001F36A8 7C 64 02 2E */ lhzx r3, r4, r0 /* 801F7A4C 001F36AC 2C 05 00 00 */ cmpwi r5, 0 /* 801F7A50 001F36B0 40 82 00 0C */ bne lbl_801F7A5C /* 801F7A54 001F36B4 3B 60 00 00 */ li r27, 0 /* 801F7A58 001F36B8 48 00 00 20 */ b lbl_801F7A78 lbl_801F7A5C: /* 801F7A5C 001F36BC A0 1E 00 DE */ lhz r0, 0xde(r30) /* 801F7A60 001F36C0 7C 03 00 40 */ cmplw r3, r0 /* 801F7A64 001F36C4 41 80 00 0C */ blt lbl_801F7A70 /* 801F7A68 001F36C8 3B 60 00 00 */ li r27, 0 /* 801F7A6C 001F36CC 48 00 00 0C */ b lbl_801F7A78 lbl_801F7A70: /* 801F7A70 001F36D0 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 801F7A74 001F36D4 7F 65 00 2E */ lwzx r27, r5, r0 lbl_801F7A78: /* 801F7A78 001F36D8 2C 9B 00 00 */ cmpwi cr1, r27, 0 /* 801F7A7C 001F36DC 41 86 00 80 */ beq cr1, lbl_801F7AFC /* 801F7A80 001F36E0 80 1B 01 04 */ lwz r0, 0x104(r27) /* 801F7A84 001F36E4 54 00 07 FE */ clrlwi r0, r0, 0x1f /* 801F7A88 001F36E8 28 00 00 01 */ cmplwi r0, 1 /* 801F7A8C 001F36EC 40 82 00 70 */ bne lbl_801F7AFC /* 801F7A90 001F36F0 83 4D A1 A8 */ lwz r26, lbl_8063F468-_SDA_BASE_(r13) /* 801F7A94 001F36F4 41 86 00 64 */ beq cr1, lbl_801F7AF8 /* 801F7A98 001F36F8 83 3A 01 0C */ lwz r25, 0x10c(r26) /* 801F7A9C 001F36FC 2C 19 00 00 */ cmpwi r25, 0 /* 801F7AA0 001F3700 41 82 00 30 */ beq lbl_801F7AD0 /* 801F7AA4 001F3704 80 19 00 00 */ lwz r0, 0(r25) /* 801F7AA8 001F3708 7C 00 D8 40 */ cmplw r0, r27 /* 801F7AAC 001F370C 41 82 00 4C */ beq lbl_801F7AF8 /* 801F7AB0 001F3710 48 00 00 14 */ b lbl_801F7AC4 lbl_801F7AB4: /* 801F7AB4 001F3714 80 03 00 00 */ lwz r0, 0(r3) /* 801F7AB8 001F3718 7C 00 D8 40 */ cmplw r0, r27 /* 801F7ABC 001F371C 41 82 00 3C */ beq lbl_801F7AF8 /* 801F7AC0 001F3720 7C 79 1B 78 */ mr r25, r3 lbl_801F7AC4: /* 801F7AC4 001F3724 80 79 00 04 */ lwz r3, 4(r25) /* 801F7AC8 001F3728 2C 03 00 00 */ cmpwi r3, 0 /* 801F7ACC 001F372C 40 82 FF E8 */ bne lbl_801F7AB4 lbl_801F7AD0: /* 801F7AD0 001F3730 48 05 22 29 */ bl func_80249CF8 /* 801F7AD4 001F3734 2C 03 00 00 */ cmpwi r3, 0 /* 801F7AD8 001F3738 41 82 00 0C */ beq lbl_801F7AE4 /* 801F7ADC 001F373C 93 63 00 00 */ stw r27, 0(r3) /* 801F7AE0 001F3740 93 A3 00 04 */ stw r29, 4(r3) lbl_801F7AE4: /* 801F7AE4 001F3744 2C 19 00 00 */ cmpwi r25, 0 /* 801F7AE8 001F3748 41 82 00 0C */ beq lbl_801F7AF4 /* 801F7AEC 001F374C 90 79 00 04 */ stw r3, 4(r25) /* 801F7AF0 001F3750 48 00 00 08 */ b lbl_801F7AF8 lbl_801F7AF4: /* 801F7AF4 001F3754 90 7A 01 0C */ stw r3, 0x10c(r26) lbl_801F7AF8: /* 801F7AF8 001F3758 38 C0 00 01 */ li r6, 1 lbl_801F7AFC: /* 801F7AFC 001F375C 3B FF 00 01 */ addi r31, r31, 1 lbl_801F7B00: /* 801F7B00 001F3760 57 E0 04 3E */ clrlwi r0, r31, 0x10 /* 801F7B04 001F3764 7C 00 E0 40 */ cmplw r0, r28 /* 801F7B08 001F3768 41 80 FF 0C */ blt lbl_801F7A14 /* 801F7B0C 001F376C 83 7E 00 40 */ lwz r27, 0x40(r30) /* 801F7B10 001F3770 2C 1B 00 00 */ cmpwi r27, 0 /* 801F7B14 001F3774 41 82 00 74 */ beq lbl_801F7B88 /* 801F7B18 001F3778 83 2D A1 A8 */ lwz r25, lbl_8063F468-_SDA_BASE_(r13) /* 801F7B1C 001F377C 41 82 00 68 */ beq lbl_801F7B84 /* 801F7B20 001F3780 83 59 01 0C */ lwz r26, 0x10c(r25) /* 801F7B24 001F3784 2C 1A 00 00 */ cmpwi r26, 0 /* 801F7B28 001F3788 41 82 00 30 */ beq lbl_801F7B58 /* 801F7B2C 001F378C 80 1A 00 00 */ lwz r0, 0(r26) /* 801F7B30 001F3790 7C 00 D8 40 */ cmplw r0, r27 /* 801F7B34 001F3794 41 82 00 50 */ beq lbl_801F7B84 /* 801F7B38 001F3798 48 00 00 14 */ b lbl_801F7B4C lbl_801F7B3C: /* 801F7B3C 001F379C 80 03 00 00 */ lwz r0, 0(r3) /* 801F7B40 001F37A0 7C 00 D8 40 */ cmplw r0, r27 /* 801F7B44 001F37A4 41 82 00 40 */ beq lbl_801F7B84 /* 801F7B48 001F37A8 7C 7A 1B 78 */ mr r26, r3 lbl_801F7B4C: /* 801F7B4C 001F37AC 80 7A 00 04 */ lwz r3, 4(r26) /* 801F7B50 001F37B0 2C 03 00 00 */ cmpwi r3, 0 /* 801F7B54 001F37B4 40 82 FF E8 */ bne lbl_801F7B3C lbl_801F7B58: /* 801F7B58 001F37B8 48 05 21 A1 */ bl func_80249CF8 /* 801F7B5C 001F37BC 2C 03 00 00 */ cmpwi r3, 0 /* 801F7B60 001F37C0 41 82 00 10 */ beq lbl_801F7B70 /* 801F7B64 001F37C4 93 63 00 00 */ stw r27, 0(r3) /* 801F7B68 001F37C8 38 00 00 00 */ li r0, 0 /* 801F7B6C 001F37CC 90 03 00 04 */ stw r0, 4(r3) lbl_801F7B70: /* 801F7B70 001F37D0 2C 1A 00 00 */ cmpwi r26, 0 /* 801F7B74 001F37D4 41 82 00 0C */ beq lbl_801F7B80 /* 801F7B78 001F37D8 90 7A 00 04 */ stw r3, 4(r26) /* 801F7B7C 001F37DC 48 00 00 08 */ b lbl_801F7B84 lbl_801F7B80: /* 801F7B80 001F37E0 90 79 01 0C */ stw r3, 0x10c(r25) lbl_801F7B84: /* 801F7B84 001F37E4 38 C0 00 01 */ li r6, 1 lbl_801F7B88: /* 801F7B88 001F37E8 2C 06 00 00 */ cmpwi r6, 0 /* 801F7B8C 001F37EC 41 82 00 0C */ beq lbl_801F7B98 /* 801F7B90 001F37F0 80 6D A1 A8 */ lwz r3, lbl_8063F468-_SDA_BASE_(r13) /* 801F7B94 001F37F4 48 00 95 4D */ bl func_802010E0 lbl_801F7B98: /* 801F7B98 001F37F8 39 61 00 30 */ addi r11, r1, 0x30 /* 801F7B9C 001F37FC 4B FC F5 D1 */ bl _restgpr_25 /* 801F7BA0 001F3800 80 01 00 34 */ lwz r0, 0x34(r1) /* 801F7BA4 001F3804 7C 08 03 A6 */ mtlr r0 /* 801F7BA8 001F3808 38 21 00 30 */ addi r1, r1, 0x30 /* 801F7BAC 001F380C 4E 80 00 20 */ blr .global func_801F7BB0 func_801F7BB0: /* 801F7BB0 001F3810 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801F7BB4 001F3814 7C 08 02 A6 */ mflr r0 /* 801F7BB8 001F3818 90 01 00 24 */ stw r0, 0x24(r1) /* 801F7BBC 001F381C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801F7BC0 001F3820 93 C1 00 18 */ stw r30, 0x18(r1) /* 801F7BC4 001F3824 7C 7E 1B 78 */ mr r30, r3 /* 801F7BC8 001F3828 93 A1 00 14 */ stw r29, 0x14(r1) /* 801F7BCC 001F382C 93 81 00 10 */ stw r28, 0x10(r1) /* 801F7BD0 001F3830 80 83 00 00 */ lwz r4, 0(r3) /* 801F7BD4 001F3834 2C 04 00 00 */ cmpwi r4, 0 /* 801F7BD8 001F3838 41 82 00 14 */ beq lbl_801F7BEC /* 801F7BDC 001F383C 80 84 00 00 */ lwz r4, 0(r4) /* 801F7BE0 001F3840 80 04 00 24 */ lwz r0, 0x24(r4) /* 801F7BE4 001F3844 2C 00 00 00 */ cmpwi r0, 0 /* 801F7BE8 001F3848 40 82 01 E4 */ bne lbl_801F7DCC lbl_801F7BEC: /* 801F7BEC 001F384C A3 83 00 E4 */ lhz r28, 0xe4(r3) /* 801F7BF0 001F3850 38 C0 00 00 */ li r6, 0 /* 801F7BF4 001F3854 3B E0 00 00 */ li r31, 0 /* 801F7BF8 001F3858 3B A0 00 00 */ li r29, 0 /* 801F7BFC 001F385C 48 00 01 08 */ b lbl_801F7D04 lbl_801F7C00: /* 801F7C00 001F3860 80 9E 00 18 */ lwz r4, 0x18(r30) /* 801F7C04 001F3864 2C 04 00 00 */ cmpwi r4, 0 /* 801F7C08 001F3868 40 82 00 0C */ bne lbl_801F7C14 /* 801F7C0C 001F386C 38 80 00 00 */ li r4, 0 /* 801F7C10 001F3870 48 00 00 54 */ b lbl_801F7C64 lbl_801F7C14: /* 801F7C14 001F3874 A0 1E 00 E4 */ lhz r0, 0xe4(r30) /* 801F7C18 001F3878 57 E3 04 3E */ clrlwi r3, r31, 0x10 /* 801F7C1C 001F387C 7C 03 00 40 */ cmplw r3, r0 /* 801F7C20 001F3880 41 80 00 0C */ blt lbl_801F7C2C /* 801F7C24 001F3884 38 80 00 00 */ li r4, 0 /* 801F7C28 001F3888 48 00 00 3C */ b lbl_801F7C64 lbl_801F7C2C: /* 801F7C2C 001F388C 80 BE 00 08 */ lwz r5, 8(r30) /* 801F7C30 001F3890 57 E0 0B FC */ rlwinm r0, r31, 1, 0xf, 0x1e /* 801F7C34 001F3894 7C 64 02 2E */ lhzx r3, r4, r0 /* 801F7C38 001F3898 2C 05 00 00 */ cmpwi r5, 0 /* 801F7C3C 001F389C 40 82 00 0C */ bne lbl_801F7C48 /* 801F7C40 001F38A0 38 80 00 00 */ li r4, 0 /* 801F7C44 001F38A4 48 00 00 20 */ b lbl_801F7C64 lbl_801F7C48: /* 801F7C48 001F38A8 A0 1E 00 DE */ lhz r0, 0xde(r30) /* 801F7C4C 001F38AC 7C 03 00 40 */ cmplw r3, r0 /* 801F7C50 001F38B0 41 80 00 0C */ blt lbl_801F7C5C /* 801F7C54 001F38B4 38 80 00 00 */ li r4, 0 /* 801F7C58 001F38B8 48 00 00 0C */ b lbl_801F7C64 lbl_801F7C5C: /* 801F7C5C 001F38BC 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 801F7C60 001F38C0 7C 85 00 2E */ lwzx r4, r5, r0 lbl_801F7C64: /* 801F7C64 001F38C4 2C 04 00 00 */ cmpwi r4, 0 /* 801F7C68 001F38C8 41 82 00 98 */ beq lbl_801F7D00 /* 801F7C6C 001F38CC 80 CD A1 A8 */ lwz r6, lbl_8063F468-_SDA_BASE_(r13) /* 801F7C70 001F38D0 80 06 01 18 */ lwz r0, 0x118(r6) /* 801F7C74 001F38D4 7C 04 00 40 */ cmplw r4, r0 /* 801F7C78 001F38D8 40 82 00 08 */ bne lbl_801F7C80 /* 801F7C7C 001F38DC 93 A6 01 18 */ stw r29, 0x118(r6) lbl_801F7C80: /* 801F7C80 001F38E0 80 06 01 1C */ lwz r0, 0x11c(r6) /* 801F7C84 001F38E4 7C 04 00 40 */ cmplw r4, r0 /* 801F7C88 001F38E8 40 82 00 08 */ bne lbl_801F7C90 /* 801F7C8C 001F38EC 93 A6 01 1C */ stw r29, 0x11c(r6) lbl_801F7C90: /* 801F7C90 001F38F0 80 06 01 20 */ lwz r0, 0x120(r6) /* 801F7C94 001F38F4 7C 04 00 40 */ cmplw r4, r0 /* 801F7C98 001F38F8 40 82 00 08 */ bne lbl_801F7CA0 /* 801F7C9C 001F38FC 93 A6 01 20 */ stw r29, 0x120(r6) lbl_801F7CA0: /* 801F7CA0 001F3900 2C 04 00 00 */ cmpwi r4, 0 /* 801F7CA4 001F3904 41 82 00 58 */ beq lbl_801F7CFC /* 801F7CA8 001F3908 80 66 01 0C */ lwz r3, 0x10c(r6) /* 801F7CAC 001F390C 38 A0 00 00 */ li r5, 0 /* 801F7CB0 001F3910 2C 03 00 00 */ cmpwi r3, 0 /* 801F7CB4 001F3914 41 82 00 48 */ beq lbl_801F7CFC /* 801F7CB8 001F3918 48 00 00 18 */ b lbl_801F7CD0 lbl_801F7CBC: /* 801F7CBC 001F391C 80 03 00 00 */ lwz r0, 0(r3) /* 801F7CC0 001F3920 7C 00 20 40 */ cmplw r0, r4 /* 801F7CC4 001F3924 41 82 00 14 */ beq lbl_801F7CD8 /* 801F7CC8 001F3928 7C 65 1B 78 */ mr r5, r3 /* 801F7CCC 001F392C 80 63 00 04 */ lwz r3, 4(r3) lbl_801F7CD0: /* 801F7CD0 001F3930 2C 03 00 00 */ cmpwi r3, 0 /* 801F7CD4 001F3934 40 82 FF E8 */ bne lbl_801F7CBC lbl_801F7CD8: /* 801F7CD8 001F3938 2C 03 00 00 */ cmpwi r3, 0 /* 801F7CDC 001F393C 41 82 00 20 */ beq lbl_801F7CFC /* 801F7CE0 001F3940 2C 05 00 00 */ cmpwi r5, 0 /* 801F7CE4 001F3944 80 03 00 04 */ lwz r0, 4(r3) /* 801F7CE8 001F3948 41 82 00 0C */ beq lbl_801F7CF4 /* 801F7CEC 001F394C 90 05 00 04 */ stw r0, 4(r5) /* 801F7CF0 001F3950 48 00 00 08 */ b lbl_801F7CF8 lbl_801F7CF4: /* 801F7CF4 001F3954 90 06 01 0C */ stw r0, 0x10c(r6) lbl_801F7CF8: /* 801F7CF8 001F3958 48 05 20 11 */ bl func_80249D08 lbl_801F7CFC: /* 801F7CFC 001F395C 38 C0 00 01 */ li r6, 1 lbl_801F7D00: /* 801F7D00 001F3960 3B FF 00 01 */ addi r31, r31, 1 lbl_801F7D04: /* 801F7D04 001F3964 57 E0 04 3E */ clrlwi r0, r31, 0x10 /* 801F7D08 001F3968 7C 00 E0 40 */ cmplw r0, r28 /* 801F7D0C 001F396C 41 80 FE F4 */ blt lbl_801F7C00 /* 801F7D10 001F3970 80 BE 00 40 */ lwz r5, 0x40(r30) /* 801F7D14 001F3974 2C 05 00 00 */ cmpwi r5, 0 /* 801F7D18 001F3978 41 82 00 A4 */ beq lbl_801F7DBC /* 801F7D1C 001F397C 80 CD A1 A8 */ lwz r6, lbl_8063F468-_SDA_BASE_(r13) /* 801F7D20 001F3980 80 06 01 18 */ lwz r0, 0x118(r6) /* 801F7D24 001F3984 7C 05 00 40 */ cmplw r5, r0 /* 801F7D28 001F3988 40 82 00 0C */ bne lbl_801F7D34 /* 801F7D2C 001F398C 38 00 00 00 */ li r0, 0 /* 801F7D30 001F3990 90 06 01 18 */ stw r0, 0x118(r6) lbl_801F7D34: /* 801F7D34 001F3994 80 06 01 1C */ lwz r0, 0x11c(r6) /* 801F7D38 001F3998 7C 05 00 40 */ cmplw r5, r0 /* 801F7D3C 001F399C 40 82 00 0C */ bne lbl_801F7D48 /* 801F7D40 001F39A0 38 00 00 00 */ li r0, 0 /* 801F7D44 001F39A4 90 06 01 1C */ stw r0, 0x11c(r6) lbl_801F7D48: /* 801F7D48 001F39A8 80 06 01 20 */ lwz r0, 0x120(r6) /* 801F7D4C 001F39AC 7C 05 00 40 */ cmplw r5, r0 /* 801F7D50 001F39B0 40 82 00 0C */ bne lbl_801F7D5C /* 801F7D54 001F39B4 38 00 00 00 */ li r0, 0 /* 801F7D58 001F39B8 90 06 01 20 */ stw r0, 0x120(r6) lbl_801F7D5C: /* 801F7D5C 001F39BC 2C 05 00 00 */ cmpwi r5, 0 /* 801F7D60 001F39C0 41 82 00 58 */ beq lbl_801F7DB8 /* 801F7D64 001F39C4 80 66 01 0C */ lwz r3, 0x10c(r6) /* 801F7D68 001F39C8 38 80 00 00 */ li r4, 0 /* 801F7D6C 001F39CC 2C 03 00 00 */ cmpwi r3, 0 /* 801F7D70 001F39D0 41 82 00 48 */ beq lbl_801F7DB8 /* 801F7D74 001F39D4 48 00 00 18 */ b lbl_801F7D8C lbl_801F7D78: /* 801F7D78 001F39D8 80 03 00 00 */ lwz r0, 0(r3) /* 801F7D7C 001F39DC 7C 00 28 40 */ cmplw r0, r5 /* 801F7D80 001F39E0 41 82 00 14 */ beq lbl_801F7D94 /* 801F7D84 001F39E4 7C 64 1B 78 */ mr r4, r3 /* 801F7D88 001F39E8 80 63 00 04 */ lwz r3, 4(r3) lbl_801F7D8C: /* 801F7D8C 001F39EC 2C 03 00 00 */ cmpwi r3, 0 /* 801F7D90 001F39F0 40 82 FF E8 */ bne lbl_801F7D78 lbl_801F7D94: /* 801F7D94 001F39F4 2C 03 00 00 */ cmpwi r3, 0 /* 801F7D98 001F39F8 41 82 00 20 */ beq lbl_801F7DB8 /* 801F7D9C 001F39FC 2C 04 00 00 */ cmpwi r4, 0 /* 801F7DA0 001F3A00 80 03 00 04 */ lwz r0, 4(r3) /* 801F7DA4 001F3A04 41 82 00 0C */ beq lbl_801F7DB0 /* 801F7DA8 001F3A08 90 04 00 04 */ stw r0, 4(r4) /* 801F7DAC 001F3A0C 48 00 00 08 */ b lbl_801F7DB4 lbl_801F7DB0: /* 801F7DB0 001F3A10 90 06 01 0C */ stw r0, 0x10c(r6) lbl_801F7DB4: /* 801F7DB4 001F3A14 48 05 1F 55 */ bl func_80249D08 lbl_801F7DB8: /* 801F7DB8 001F3A18 38 C0 00 01 */ li r6, 1 lbl_801F7DBC: /* 801F7DBC 001F3A1C 2C 06 00 00 */ cmpwi r6, 0 /* 801F7DC0 001F3A20 41 82 00 0C */ beq lbl_801F7DCC /* 801F7DC4 001F3A24 80 6D A1 A8 */ lwz r3, lbl_8063F468-_SDA_BASE_(r13) /* 801F7DC8 001F3A28 48 00 93 19 */ bl func_802010E0 lbl_801F7DCC: /* 801F7DCC 001F3A2C 80 01 00 24 */ lwz r0, 0x24(r1) /* 801F7DD0 001F3A30 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801F7DD4 001F3A34 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801F7DD8 001F3A38 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801F7DDC 001F3A3C 83 81 00 10 */ lwz r28, 0x10(r1) /* 801F7DE0 001F3A40 7C 08 03 A6 */ mtlr r0 /* 801F7DE4 001F3A44 38 21 00 20 */ addi r1, r1, 0x20 /* 801F7DE8 001F3A48 4E 80 00 20 */ blr .global func_801F7DEC func_801F7DEC: /* 801F7DEC 001F3A4C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801F7DF0 001F3A50 7C 08 02 A6 */ mflr r0 /* 801F7DF4 001F3A54 90 01 00 24 */ stw r0, 0x24(r1) /* 801F7DF8 001F3A58 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801F7DFC 001F3A5C 7C BF 2B 78 */ mr r31, r5 /* 801F7E00 001F3A60 93 C1 00 18 */ stw r30, 0x18(r1) /* 801F7E04 001F3A64 7C 9E 23 78 */ mr r30, r4 /* 801F7E08 001F3A68 93 A1 00 14 */ stw r29, 0x14(r1) /* 801F7E0C 001F3A6C 7C 7D 1B 78 */ mr r29, r3 /* 801F7E10 001F3A70 A0 03 00 DC */ lhz r0, 0xdc(r3) /* 801F7E14 001F3A74 54 00 07 FE */ clrlwi r0, r0, 0x1f /* 801F7E18 001F3A78 2C 00 00 01 */ cmpwi r0, 1 /* 801F7E1C 001F3A7C 40 82 01 B4 */ bne lbl_801F7FD0 /* 801F7E20 001F3A80 80 03 00 30 */ lwz r0, 0x30(r3) /* 801F7E24 001F3A84 2C 00 00 00 */ cmpwi r0, 0 /* 801F7E28 001F3A88 41 82 01 A8 */ beq lbl_801F7FD0 /* 801F7E2C 001F3A8C 80 03 00 3C */ lwz r0, 0x3c(r3) /* 801F7E30 001F3A90 2C 00 00 00 */ cmpwi r0, 0 /* 801F7E34 001F3A94 41 82 00 0C */ beq lbl_801F7E40 /* 801F7E38 001F3A98 7C 00 20 40 */ cmplw r0, r4 /* 801F7E3C 001F3A9C 40 82 01 94 */ bne lbl_801F7FD0 lbl_801F7E40: /* 801F7E40 001F3AA0 80 8D A4 48 */ lwz r4, lbl_8063F708-_SDA_BASE_(r13) /* 801F7E44 001F3AA4 2C 04 00 00 */ cmpwi r4, 0 /* 801F7E48 001F3AA8 41 82 00 0C */ beq lbl_801F7E54 /* 801F7E4C 001F3AAC 80 04 00 00 */ lwz r0, 0(r4) /* 801F7E50 001F3AB0 48 00 00 08 */ b lbl_801F7E58 lbl_801F7E54: /* 801F7E54 001F3AB4 38 00 00 00 */ li r0, 0 lbl_801F7E58: /* 801F7E58 001F3AB8 2C 00 00 07 */ cmpwi r0, 7 /* 801F7E5C 001F3ABC 41 82 00 30 */ beq lbl_801F7E8C /* 801F7E60 001F3AC0 40 80 00 10 */ bge lbl_801F7E70 /* 801F7E64 001F3AC4 2C 00 00 05 */ cmpwi r0, 5 /* 801F7E68 001F3AC8 41 82 00 14 */ beq lbl_801F7E7C /* 801F7E6C 001F3ACC 48 00 01 64 */ b lbl_801F7FD0 lbl_801F7E70: /* 801F7E70 001F3AD0 2C 00 00 09 */ cmpwi r0, 9 /* 801F7E74 001F3AD4 40 80 01 5C */ bge lbl_801F7FD0 /* 801F7E78 001F3AD8 48 00 00 28 */ b lbl_801F7EA0 lbl_801F7E7C: /* 801F7E7C 001F3ADC A0 03 00 DC */ lhz r0, 0xdc(r3) /* 801F7E80 001F3AE0 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 801F7E84 001F3AE4 40 82 00 1C */ bne lbl_801F7EA0 /* 801F7E88 001F3AE8 48 00 01 48 */ b lbl_801F7FD0 lbl_801F7E8C: /* 801F7E8C 001F3AEC A0 03 00 DC */ lhz r0, 0xdc(r3) /* 801F7E90 001F3AF0 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 801F7E94 001F3AF4 41 82 00 0C */ beq lbl_801F7EA0 /* 801F7E98 001F3AF8 48 00 01 38 */ b lbl_801F7FD0 /* 801F7E9C 001F3AFC 48 00 01 34 */ b lbl_801F7FD0 lbl_801F7EA0: /* 801F7EA0 001F3B00 38 63 01 20 */ addi r3, r3, 0x120 /* 801F7EA4 001F3B04 48 02 8C 75 */ bl func_80220B18 /* 801F7EA8 001F3B08 2C 03 00 00 */ cmpwi r3, 0 /* 801F7EAC 001F3B0C 41 82 01 24 */ beq lbl_801F7FD0 /* 801F7EB0 001F3B10 7F A3 EB 78 */ mr r3, r29 /* 801F7EB4 001F3B14 4B FF FB 19 */ bl func_801F79CC /* 801F7EB8 001F3B18 A0 1D 00 DC */ lhz r0, 0xdc(r29) /* 801F7EBC 001F3B1C 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 /* 801F7EC0 001F3B20 41 82 00 68 */ beq lbl_801F7F28 /* 801F7EC4 001F3B24 80 ED A3 D8 */ lwz r7, lbl_8063F698-_SDA_BASE_(r13) /* 801F7EC8 001F3B28 38 80 00 01 */ li r4, 1 /* 801F7ECC 001F3B2C 80 C7 16 38 */ lwz r6, 0x1638(r7) /* 801F7ED0 001F3B30 A0 A6 14 AA */ lhz r5, 0x14aa(r6) /* 801F7ED4 001F3B34 38 65 00 01 */ addi r3, r5, 1 /* 801F7ED8 001F3B38 54 A0 18 38 */ slwi r0, r5, 3 /* 801F7EDC 001F3B3C B0 66 14 AA */ sth r3, 0x14aa(r6) /* 801F7EE0 001F3B40 54 63 18 38 */ slwi r3, r3, 3 /* 801F7EE4 001F3B44 80 A7 16 38 */ lwz r5, 0x1638(r7) /* 801F7EE8 001F3B48 38 C5 14 CC */ addi r6, r5, 0x14cc /* 801F7EEC 001F3B4C 7C A6 02 14 */ add r5, r6, r0 /* 801F7EF0 001F3B50 7C 06 02 2E */ lhzx r0, r6, r0 /* 801F7EF4 001F3B54 7C 03 33 6E */ sthux r0, r3, r6 /* 801F7EF8 001F3B58 A0 05 00 02 */ lhz r0, 2(r5) /* 801F7EFC 001F3B5C B0 03 00 02 */ sth r0, 2(r3) /* 801F7F00 001F3B60 A0 05 00 04 */ lhz r0, 4(r5) /* 801F7F04 001F3B64 B0 03 00 04 */ sth r0, 4(r3) /* 801F7F08 001F3B68 A0 05 00 06 */ lhz r0, 6(r5) /* 801F7F0C 001F3B6C B0 03 00 06 */ sth r0, 6(r3) /* 801F7F10 001F3B70 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13) /* 801F7F14 001F3B74 A0 BD 01 4C */ lhz r5, 0x14c(r29) /* 801F7F18 001F3B78 A0 DD 01 4E */ lhz r6, 0x14e(r29) /* 801F7F1C 001F3B7C A0 FD 01 50 */ lhz r7, 0x150(r29) /* 801F7F20 001F3B80 A1 1D 01 52 */ lhz r8, 0x152(r29) /* 801F7F24 001F3B84 48 03 D2 55 */ bl func_80235178 lbl_801F7F28: /* 801F7F28 001F3B88 2C 1F 00 00 */ cmpwi r31, 0 /* 801F7F2C 001F3B8C 40 82 00 14 */ bne lbl_801F7F40 /* 801F7F30 001F3B90 80 7D 00 04 */ lwz r3, 4(r29) /* 801F7F34 001F3B94 A0 03 00 0A */ lhz r0, 0xa(r3) /* 801F7F38 001F3B98 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 801F7F3C 001F3B9C 40 82 00 28 */ bne lbl_801F7F64 lbl_801F7F40: /* 801F7F40 001F3BA0 83 FD 00 30 */ lwz r31, 0x30(r29) /* 801F7F44 001F3BA4 48 00 00 14 */ b lbl_801F7F58 lbl_801F7F48: /* 801F7F48 001F3BA8 80 7F 00 00 */ lwz r3, 0(r31) /* 801F7F4C 001F3BAC 7F C4 F3 78 */ mr r4, r30 /* 801F7F50 001F3BB0 4B FF 8C 01 */ bl func_801F0B50 /* 801F7F54 001F3BB4 83 FF 00 08 */ lwz r31, 8(r31) lbl_801F7F58: /* 801F7F58 001F3BB8 2C 1F 00 00 */ cmpwi r31, 0 /* 801F7F5C 001F3BBC 40 82 FF EC */ bne lbl_801F7F48 /* 801F7F60 001F3BC0 48 00 00 24 */ b lbl_801F7F84 lbl_801F7F64: /* 801F7F64 001F3BC4 83 FD 00 34 */ lwz r31, 0x34(r29) /* 801F7F68 001F3BC8 48 00 00 14 */ b lbl_801F7F7C lbl_801F7F6C: /* 801F7F6C 001F3BCC 80 7F 00 00 */ lwz r3, 0(r31) /* 801F7F70 001F3BD0 7F C4 F3 78 */ mr r4, r30 /* 801F7F74 001F3BD4 4B FF 8B DD */ bl func_801F0B50 /* 801F7F78 001F3BD8 83 FF 00 04 */ lwz r31, 4(r31) lbl_801F7F7C: /* 801F7F7C 001F3BDC 2C 1F 00 00 */ cmpwi r31, 0 /* 801F7F80 001F3BE0 40 82 FF EC */ bne lbl_801F7F6C lbl_801F7F84: /* 801F7F84 001F3BE4 A0 1D 00 DC */ lhz r0, 0xdc(r29) /* 801F7F88 001F3BE8 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 /* 801F7F8C 001F3BEC 41 82 00 3C */ beq lbl_801F7FC8 /* 801F7F90 001F3BF0 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13) /* 801F7F94 001F3BF4 38 80 00 01 */ li r4, 1 /* 801F7F98 001F3BF8 80 C3 16 38 */ lwz r6, 0x1638(r3) /* 801F7F9C 001F3BFC A0 A6 14 AA */ lhz r5, 0x14aa(r6) /* 801F7FA0 001F3C00 38 05 FF FF */ addi r0, r5, -1 /* 801F7FA4 001F3C04 B0 06 14 AA */ sth r0, 0x14aa(r6) /* 801F7FA8 001F3C08 54 00 1B 78 */ rlwinm r0, r0, 3, 0xd, 0x1c /* 801F7FAC 001F3C0C 80 A3 16 38 */ lwz r5, 0x1638(r3) /* 801F7FB0 001F3C10 7D 05 02 14 */ add r8, r5, r0 /* 801F7FB4 001F3C14 A0 A8 14 CC */ lhz r5, 0x14cc(r8) /* 801F7FB8 001F3C18 A0 C8 14 CE */ lhz r6, 0x14ce(r8) /* 801F7FBC 001F3C1C A0 E8 14 D0 */ lhz r7, 0x14d0(r8) /* 801F7FC0 001F3C20 A1 08 14 D2 */ lhz r8, 0x14d2(r8) /* 801F7FC4 001F3C24 48 03 D1 B5 */ bl func_80235178 lbl_801F7FC8: /* 801F7FC8 001F3C28 7F A3 EB 78 */ mr r3, r29 /* 801F7FCC 001F3C2C 4B FF FB E5 */ bl func_801F7BB0 lbl_801F7FD0: /* 801F7FD0 001F3C30 80 01 00 24 */ lwz r0, 0x24(r1) /* 801F7FD4 001F3C34 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801F7FD8 001F3C38 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801F7FDC 001F3C3C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801F7FE0 001F3C40 7C 08 03 A6 */ mtlr r0 /* 801F7FE4 001F3C44 38 21 00 20 */ addi r1, r1, 0x20 /* 801F7FE8 001F3C48 4E 80 00 20 */ blr .global func_801F7FEC func_801F7FEC: /* 801F7FEC 001F3C4C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801F7FF0 001F3C50 7C 08 02 A6 */ mflr r0 /* 801F7FF4 001F3C54 90 01 00 24 */ stw r0, 0x24(r1) /* 801F7FF8 001F3C58 39 61 00 20 */ addi r11, r1, 0x20 /* 801F7FFC 001F3C5C 4B FC F1 2D */ bl _savegpr_27 /* 801F8000 001F3C60 80 03 00 30 */ lwz r0, 0x30(r3) /* 801F8004 001F3C64 7C 7D 1B 78 */ mr r29, r3 /* 801F8008 001F3C68 7C 9E 23 78 */ mr r30, r4 /* 801F800C 001F3C6C 7C BF 2B 78 */ mr r31, r5 /* 801F8010 001F3C70 2C 00 00 00 */ cmpwi r0, 0 /* 801F8014 001F3C74 41 82 01 88 */ beq lbl_801F819C /* 801F8018 001F3C78 80 03 00 3C */ lwz r0, 0x3c(r3) /* 801F801C 001F3C7C 2C 00 00 00 */ cmpwi r0, 0 /* 801F8020 001F3C80 41 82 00 0C */ beq lbl_801F802C /* 801F8024 001F3C84 7C 00 20 40 */ cmplw r0, r4 /* 801F8028 001F3C88 40 82 01 74 */ bne lbl_801F819C lbl_801F802C: /* 801F802C 001F3C8C 38 63 01 20 */ addi r3, r3, 0x120 /* 801F8030 001F3C90 48 02 8A E9 */ bl func_80220B18 /* 801F8034 001F3C94 2C 03 00 00 */ cmpwi r3, 0 /* 801F8038 001F3C98 41 82 01 64 */ beq lbl_801F819C /* 801F803C 001F3C9C 7F A3 EB 78 */ mr r3, r29 /* 801F8040 001F3CA0 4B FF F9 8D */ bl func_801F79CC /* 801F8044 001F3CA4 A0 1D 00 DC */ lhz r0, 0xdc(r29) /* 801F8048 001F3CA8 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 /* 801F804C 001F3CAC 41 82 00 68 */ beq lbl_801F80B4 /* 801F8050 001F3CB0 80 ED A3 D8 */ lwz r7, lbl_8063F698-_SDA_BASE_(r13) /* 801F8054 001F3CB4 38 80 00 01 */ li r4, 1 /* 801F8058 001F3CB8 80 C7 16 38 */ lwz r6, 0x1638(r7) /* 801F805C 001F3CBC A0 A6 14 AA */ lhz r5, 0x14aa(r6) /* 801F8060 001F3CC0 38 65 00 01 */ addi r3, r5, 1 /* 801F8064 001F3CC4 54 A0 18 38 */ slwi r0, r5, 3 /* 801F8068 001F3CC8 B0 66 14 AA */ sth r3, 0x14aa(r6) /* 801F806C 001F3CCC 54 63 18 38 */ slwi r3, r3, 3 /* 801F8070 001F3CD0 80 A7 16 38 */ lwz r5, 0x1638(r7) /* 801F8074 001F3CD4 38 C5 14 CC */ addi r6, r5, 0x14cc /* 801F8078 001F3CD8 7C A6 02 14 */ add r5, r6, r0 /* 801F807C 001F3CDC 7C 06 02 2E */ lhzx r0, r6, r0 /* 801F8080 001F3CE0 7C 03 33 6E */ sthux r0, r3, r6 /* 801F8084 001F3CE4 A0 05 00 02 */ lhz r0, 2(r5) /* 801F8088 001F3CE8 B0 03 00 02 */ sth r0, 2(r3) /* 801F808C 001F3CEC A0 05 00 04 */ lhz r0, 4(r5) /* 801F8090 001F3CF0 B0 03 00 04 */ sth r0, 4(r3) /* 801F8094 001F3CF4 A0 05 00 06 */ lhz r0, 6(r5) /* 801F8098 001F3CF8 B0 03 00 06 */ sth r0, 6(r3) /* 801F809C 001F3CFC 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13) /* 801F80A0 001F3D00 A0 BD 01 4C */ lhz r5, 0x14c(r29) /* 801F80A4 001F3D04 A0 DD 01 4E */ lhz r6, 0x14e(r29) /* 801F80A8 001F3D08 A0 FD 01 50 */ lhz r7, 0x150(r29) /* 801F80AC 001F3D0C A1 1D 01 52 */ lhz r8, 0x152(r29) /* 801F80B0 001F3D10 48 03 D0 C9 */ bl func_80235178 lbl_801F80B4: /* 801F80B4 001F3D14 A0 1D 00 DC */ lhz r0, 0xdc(r29) /* 801F80B8 001F3D18 2C 1F 00 00 */ cmpwi r31, 0 /* 801F80BC 001F3D1C A0 7D 00 DC */ lhz r3, 0xdc(r29) /* 801F80C0 001F3D20 60 00 00 01 */ ori r0, r0, 1 /* 801F80C4 001F3D24 B0 1D 00 DC */ sth r0, 0xdc(r29) /* 801F80C8 001F3D28 54 7C 07 FE */ clrlwi r28, r3, 0x1f /* 801F80CC 001F3D2C 40 82 00 14 */ bne lbl_801F80E0 /* 801F80D0 001F3D30 80 7D 00 04 */ lwz r3, 4(r29) /* 801F80D4 001F3D34 A0 03 00 0A */ lhz r0, 0xa(r3) /* 801F80D8 001F3D38 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 801F80DC 001F3D3C 40 82 00 2C */ bne lbl_801F8108 lbl_801F80E0: /* 801F80E0 001F3D40 83 7D 00 30 */ lwz r27, 0x30(r29) /* 801F80E4 001F3D44 48 00 00 18 */ b lbl_801F80FC lbl_801F80E8: /* 801F80E8 001F3D48 80 7B 00 00 */ lwz r3, 0(r27) /* 801F80EC 001F3D4C 7F C4 F3 78 */ mr r4, r30 /* 801F80F0 001F3D50 7F E5 FB 78 */ mr r5, r31 /* 801F80F4 001F3D54 4B FF 8A 89 */ bl func_801F0B7C /* 801F80F8 001F3D58 83 7B 00 08 */ lwz r27, 8(r27) lbl_801F80FC: /* 801F80FC 001F3D5C 2C 1B 00 00 */ cmpwi r27, 0 /* 801F8100 001F3D60 40 82 FF E8 */ bne lbl_801F80E8 /* 801F8104 001F3D64 48 00 00 28 */ b lbl_801F812C lbl_801F8108: /* 801F8108 001F3D68 83 7D 00 34 */ lwz r27, 0x34(r29) /* 801F810C 001F3D6C 48 00 00 18 */ b lbl_801F8124 lbl_801F8110: /* 801F8110 001F3D70 80 7B 00 00 */ lwz r3, 0(r27) /* 801F8114 001F3D74 7F C4 F3 78 */ mr r4, r30 /* 801F8118 001F3D78 7F E5 FB 78 */ mr r5, r31 /* 801F811C 001F3D7C 4B FF 8A 61 */ bl func_801F0B7C /* 801F8120 001F3D80 83 7B 00 04 */ lwz r27, 4(r27) lbl_801F8124: /* 801F8124 001F3D84 2C 1B 00 00 */ cmpwi r27, 0 /* 801F8128 001F3D88 40 82 FF E8 */ bne lbl_801F8110 lbl_801F812C: /* 801F812C 001F3D8C 2C 1C 00 00 */ cmpwi r28, 0 /* 801F8130 001F3D90 41 82 00 14 */ beq lbl_801F8144 /* 801F8134 001F3D94 A0 1D 00 DC */ lhz r0, 0xdc(r29) /* 801F8138 001F3D98 60 00 00 01 */ ori r0, r0, 1 /* 801F813C 001F3D9C B0 1D 00 DC */ sth r0, 0xdc(r29) /* 801F8140 001F3DA0 48 00 00 10 */ b lbl_801F8150 lbl_801F8144: /* 801F8144 001F3DA4 A0 1D 00 DC */ lhz r0, 0xdc(r29) /* 801F8148 001F3DA8 54 00 04 3C */ rlwinm r0, r0, 0, 0x10, 0x1e /* 801F814C 001F3DAC B0 1D 00 DC */ sth r0, 0xdc(r29) lbl_801F8150: /* 801F8150 001F3DB0 A0 1D 00 DC */ lhz r0, 0xdc(r29) /* 801F8154 001F3DB4 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 /* 801F8158 001F3DB8 41 82 00 3C */ beq lbl_801F8194 /* 801F815C 001F3DBC 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13) /* 801F8160 001F3DC0 38 80 00 01 */ li r4, 1 /* 801F8164 001F3DC4 80 C3 16 38 */ lwz r6, 0x1638(r3) /* 801F8168 001F3DC8 A0 A6 14 AA */ lhz r5, 0x14aa(r6) /* 801F816C 001F3DCC 38 05 FF FF */ addi r0, r5, -1 /* 801F8170 001F3DD0 B0 06 14 AA */ sth r0, 0x14aa(r6) /* 801F8174 001F3DD4 54 00 1B 78 */ rlwinm r0, r0, 3, 0xd, 0x1c /* 801F8178 001F3DD8 80 A3 16 38 */ lwz r5, 0x1638(r3) /* 801F817C 001F3DDC 7D 05 02 14 */ add r8, r5, r0 /* 801F8180 001F3DE0 A0 A8 14 CC */ lhz r5, 0x14cc(r8) /* 801F8184 001F3DE4 A0 C8 14 CE */ lhz r6, 0x14ce(r8) /* 801F8188 001F3DE8 A0 E8 14 D0 */ lhz r7, 0x14d0(r8) /* 801F818C 001F3DEC A1 08 14 D2 */ lhz r8, 0x14d2(r8) /* 801F8190 001F3DF0 48 03 CF E9 */ bl func_80235178 lbl_801F8194: /* 801F8194 001F3DF4 7F A3 EB 78 */ mr r3, r29 /* 801F8198 001F3DF8 4B FF FA 19 */ bl func_801F7BB0 lbl_801F819C: /* 801F819C 001F3DFC 39 61 00 20 */ addi r11, r1, 0x20 /* 801F81A0 001F3E00 4B FC EF D5 */ bl _restgpr_27 /* 801F81A4 001F3E04 80 01 00 24 */ lwz r0, 0x24(r1) /* 801F81A8 001F3E08 7C 08 03 A6 */ mtlr r0 /* 801F81AC 001F3E0C 38 21 00 20 */ addi r1, r1, 0x20 /* 801F81B0 001F3E10 4E 80 00 20 */ blr .global func_801F81B4 func_801F81B4: /* 801F81B4 001F3E14 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801F81B8 001F3E18 7C 08 02 A6 */ mflr r0 /* 801F81BC 001F3E1C 90 01 00 24 */ stw r0, 0x24(r1) /* 801F81C0 001F3E20 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801F81C4 001F3E24 7C 9F 23 78 */ mr r31, r4 /* 801F81C8 001F3E28 93 C1 00 18 */ stw r30, 0x18(r1) /* 801F81CC 001F3E2C 7C 7E 1B 78 */ mr r30, r3 /* 801F81D0 001F3E30 93 A1 00 14 */ stw r29, 0x14(r1) /* 801F81D4 001F3E34 A0 03 00 DC */ lhz r0, 0xdc(r3) /* 801F81D8 001F3E38 54 00 07 FE */ clrlwi r0, r0, 0x1f /* 801F81DC 001F3E3C 2C 00 00 01 */ cmpwi r0, 1 /* 801F81E0 001F3E40 40 82 01 6C */ bne lbl_801F834C /* 801F81E4 001F3E44 80 03 00 30 */ lwz r0, 0x30(r3) /* 801F81E8 001F3E48 2C 00 00 00 */ cmpwi r0, 0 /* 801F81EC 001F3E4C 41 82 01 60 */ beq lbl_801F834C /* 801F81F0 001F3E50 A0 A3 00 DC */ lhz r5, 0xdc(r3) /* 801F81F4 001F3E54 54 A0 07 7B */ rlwinm. r0, r5, 0, 0x1d, 0x1d /* 801F81F8 001F3E58 41 82 01 54 */ beq lbl_801F834C /* 801F81FC 001F3E5C 80 03 00 3C */ lwz r0, 0x3c(r3) /* 801F8200 001F3E60 2C 00 00 00 */ cmpwi r0, 0 /* 801F8204 001F3E64 41 82 00 0C */ beq lbl_801F8210 /* 801F8208 001F3E68 7C 00 20 40 */ cmplw r0, r4 /* 801F820C 001F3E6C 40 82 01 40 */ bne lbl_801F834C lbl_801F8210: /* 801F8210 001F3E70 80 8D A4 48 */ lwz r4, lbl_8063F708-_SDA_BASE_(r13) /* 801F8214 001F3E74 2C 04 00 00 */ cmpwi r4, 0 /* 801F8218 001F3E78 41 82 00 0C */ beq lbl_801F8224 /* 801F821C 001F3E7C 80 04 00 00 */ lwz r0, 0(r4) /* 801F8220 001F3E80 48 00 00 08 */ b lbl_801F8228 lbl_801F8224: /* 801F8224 001F3E84 38 00 00 00 */ li r0, 0 lbl_801F8228: /* 801F8228 001F3E88 2C 00 00 07 */ cmpwi r0, 7 /* 801F822C 001F3E8C 41 82 00 2C */ beq lbl_801F8258 /* 801F8230 001F3E90 40 80 00 10 */ bge lbl_801F8240 /* 801F8234 001F3E94 2C 00 00 05 */ cmpwi r0, 5 /* 801F8238 001F3E98 41 82 00 14 */ beq lbl_801F824C /* 801F823C 001F3E9C 48 00 01 10 */ b lbl_801F834C lbl_801F8240: /* 801F8240 001F3EA0 2C 00 00 09 */ cmpwi r0, 9 /* 801F8244 001F3EA4 40 80 01 08 */ bge lbl_801F834C /* 801F8248 001F3EA8 48 00 00 20 */ b lbl_801F8268 lbl_801F824C: /* 801F824C 001F3EAC 54 A0 06 31 */ rlwinm. r0, r5, 0, 0x18, 0x18 /* 801F8250 001F3EB0 40 82 00 18 */ bne lbl_801F8268 /* 801F8254 001F3EB4 48 00 00 F8 */ b lbl_801F834C lbl_801F8258: /* 801F8258 001F3EB8 54 A0 06 31 */ rlwinm. r0, r5, 0, 0x18, 0x18 /* 801F825C 001F3EBC 41 82 00 0C */ beq lbl_801F8268 /* 801F8260 001F3EC0 48 00 00 EC */ b lbl_801F834C /* 801F8264 001F3EC4 48 00 00 E8 */ b lbl_801F834C lbl_801F8268: /* 801F8268 001F3EC8 38 63 01 20 */ addi r3, r3, 0x120 /* 801F826C 001F3ECC 48 02 88 AD */ bl func_80220B18 /* 801F8270 001F3ED0 2C 03 00 00 */ cmpwi r3, 0 /* 801F8274 001F3ED4 41 82 00 D8 */ beq lbl_801F834C /* 801F8278 001F3ED8 A0 1E 00 DC */ lhz r0, 0xdc(r30) /* 801F827C 001F3EDC 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 /* 801F8280 001F3EE0 41 82 00 68 */ beq lbl_801F82E8 /* 801F8284 001F3EE4 80 ED A3 D8 */ lwz r7, lbl_8063F698-_SDA_BASE_(r13) /* 801F8288 001F3EE8 38 80 00 01 */ li r4, 1 /* 801F828C 001F3EEC 80 C7 16 38 */ lwz r6, 0x1638(r7) /* 801F8290 001F3EF0 A0 A6 14 AA */ lhz r5, 0x14aa(r6) /* 801F8294 001F3EF4 38 65 00 01 */ addi r3, r5, 1 /* 801F8298 001F3EF8 54 A0 18 38 */ slwi r0, r5, 3 /* 801F829C 001F3EFC B0 66 14 AA */ sth r3, 0x14aa(r6) /* 801F82A0 001F3F00 54 63 18 38 */ slwi r3, r3, 3 /* 801F82A4 001F3F04 80 A7 16 38 */ lwz r5, 0x1638(r7) /* 801F82A8 001F3F08 38 C5 14 CC */ addi r6, r5, 0x14cc /* 801F82AC 001F3F0C 7C A6 02 14 */ add r5, r6, r0 /* 801F82B0 001F3F10 7C 06 02 2E */ lhzx r0, r6, r0 /* 801F82B4 001F3F14 7C 03 33 6E */ sthux r0, r3, r6 /* 801F82B8 001F3F18 A0 05 00 02 */ lhz r0, 2(r5) /* 801F82BC 001F3F1C B0 03 00 02 */ sth r0, 2(r3) /* 801F82C0 001F3F20 A0 05 00 04 */ lhz r0, 4(r5) /* 801F82C4 001F3F24 B0 03 00 04 */ sth r0, 4(r3) /* 801F82C8 001F3F28 A0 05 00 06 */ lhz r0, 6(r5) /* 801F82CC 001F3F2C B0 03 00 06 */ sth r0, 6(r3) /* 801F82D0 001F3F30 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13) /* 801F82D4 001F3F34 A0 BE 01 4C */ lhz r5, 0x14c(r30) /* 801F82D8 001F3F38 A0 DE 01 4E */ lhz r6, 0x14e(r30) /* 801F82DC 001F3F3C A0 FE 01 50 */ lhz r7, 0x150(r30) /* 801F82E0 001F3F40 A1 1E 01 52 */ lhz r8, 0x152(r30) /* 801F82E4 001F3F44 48 03 CE 95 */ bl func_80235178 lbl_801F82E8: /* 801F82E8 001F3F48 83 BE 00 30 */ lwz r29, 0x30(r30) /* 801F82EC 001F3F4C 48 00 00 14 */ b lbl_801F8300 lbl_801F82F0: /* 801F82F0 001F3F50 80 7D 00 00 */ lwz r3, 0(r29) /* 801F82F4 001F3F54 7F E4 FB 78 */ mr r4, r31 /* 801F82F8 001F3F58 4B FF 8E 45 */ bl func_801F113C /* 801F82FC 001F3F5C 83 BD 00 08 */ lwz r29, 8(r29) lbl_801F8300: /* 801F8300 001F3F60 2C 1D 00 00 */ cmpwi r29, 0 /* 801F8304 001F3F64 40 82 FF EC */ bne lbl_801F82F0 /* 801F8308 001F3F68 A0 1E 00 DC */ lhz r0, 0xdc(r30) /* 801F830C 001F3F6C 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 /* 801F8310 001F3F70 41 82 00 3C */ beq lbl_801F834C /* 801F8314 001F3F74 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13) /* 801F8318 001F3F78 38 80 00 01 */ li r4, 1 /* 801F831C 001F3F7C 80 C3 16 38 */ lwz r6, 0x1638(r3) /* 801F8320 001F3F80 A0 A6 14 AA */ lhz r5, 0x14aa(r6) /* 801F8324 001F3F84 38 05 FF FF */ addi r0, r5, -1 /* 801F8328 001F3F88 B0 06 14 AA */ sth r0, 0x14aa(r6) /* 801F832C 001F3F8C 54 00 1B 78 */ rlwinm r0, r0, 3, 0xd, 0x1c /* 801F8330 001F3F90 80 A3 16 38 */ lwz r5, 0x1638(r3) /* 801F8334 001F3F94 7D 05 02 14 */ add r8, r5, r0 /* 801F8338 001F3F98 A0 A8 14 CC */ lhz r5, 0x14cc(r8) /* 801F833C 001F3F9C A0 C8 14 CE */ lhz r6, 0x14ce(r8) /* 801F8340 001F3FA0 A0 E8 14 D0 */ lhz r7, 0x14d0(r8) /* 801F8344 001F3FA4 A1 08 14 D2 */ lhz r8, 0x14d2(r8) /* 801F8348 001F3FA8 48 03 CE 31 */ bl func_80235178 lbl_801F834C: /* 801F834C 001F3FAC 80 01 00 24 */ lwz r0, 0x24(r1) /* 801F8350 001F3FB0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801F8354 001F3FB4 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801F8358 001F3FB8 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801F835C 001F3FBC 7C 08 03 A6 */ mtlr r0 /* 801F8360 001F3FC0 38 21 00 20 */ addi r1, r1, 0x20 /* 801F8364 001F3FC4 4E 80 00 20 */ blr .global func_801F8368 func_801F8368: /* 801F8368 001F3FC8 94 21 FE C0 */ stwu r1, -0x140(r1) /* 801F836C 001F3FCC 7C 08 02 A6 */ mflr r0 /* 801F8370 001F3FD0 90 01 01 44 */ stw r0, 0x144(r1) /* 801F8374 001F3FD4 93 E1 01 3C */ stw r31, 0x13c(r1) /* 801F8378 001F3FD8 93 C1 01 38 */ stw r30, 0x138(r1) /* 801F837C 001F3FDC 7C 9E 23 78 */ mr r30, r4 /* 801F8380 001F3FE0 93 A1 01 34 */ stw r29, 0x134(r1) /* 801F8384 001F3FE4 7C 7D 1B 78 */ mr r29, r3 /* 801F8388 001F3FE8 88 03 00 3E */ lbz r0, 0x3e(r3) /* 801F838C 001F3FEC 2C 00 00 00 */ cmpwi r0, 0 /* 801F8390 001F3FF0 41 82 00 2C */ beq lbl_801F83BC /* 801F8394 001F3FF4 C0 43 00 34 */ lfs f2, 0x34(r3) /* 801F8398 001F3FF8 C0 02 98 18 */ lfs f0, lbl_80641E18-_SDA2_BASE_(r2) /* 801F839C 001F3FFC EC 22 08 28 */ fsubs f1, f2, f1 /* 801F83A0 001F4000 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801F83A4 001F4004 D0 23 00 34 */ stfs f1, 0x34(r3) /* 801F83A8 001F4008 40 80 00 14 */ bge lbl_801F83BC /* 801F83AC 001F400C 38 00 00 00 */ li r0, 0 /* 801F83B0 001F4010 90 03 00 00 */ stw r0, 0(r3) /* 801F83B4 001F4014 38 60 00 00 */ li r3, 0 /* 801F83B8 001F4018 48 00 02 A0 */ b lbl_801F8658 lbl_801F83BC: /* 801F83BC 001F401C C0 43 00 30 */ lfs f2, 0x30(r3) /* 801F83C0 001F4020 C0 22 98 14 */ lfs f1, lbl_80641E14-_SDA2_BASE_(r2) /* 801F83C4 001F4024 C0 03 00 2C */ lfs f0, 0x2c(r3) /* 801F83C8 001F4028 EC 42 00 72 */ fmuls f2, f2, f1 /* 801F83CC 001F402C 83 E3 00 04 */ lwz r31, 4(r3) /* 801F83D0 001F4030 EC 00 00 72 */ fmuls f0, f0, f1 /* 801F83D4 001F4034 2C 1F 00 00 */ cmpwi r31, 0 /* 801F83D8 001F4038 D0 41 00 0C */ stfs f2, 0xc(r1) /* 801F83DC 001F403C 80 01 00 0C */ lwz r0, 0xc(r1) /* 801F83E0 001F4040 D0 01 00 08 */ stfs f0, 8(r1) /* 801F83E4 001F4044 80 81 00 08 */ lwz r4, 8(r1) /* 801F83E8 001F4048 90 01 00 14 */ stw r0, 0x14(r1) /* 801F83EC 001F404C 90 81 00 10 */ stw r4, 0x10(r1) /* 801F83F0 001F4050 90 81 00 18 */ stw r4, 0x18(r1) /* 801F83F4 001F4054 90 01 00 1C */ stw r0, 0x1c(r1) /* 801F83F8 001F4058 41 82 00 6C */ beq lbl_801F8464 /* 801F83FC 001F405C C0 5F 00 DC */ lfs f2, 0xdc(r31) /* 801F8400 001F4060 38 9D 00 08 */ addi r4, r29, 8 /* 801F8404 001F4064 C0 3F 00 EC */ lfs f1, 0xec(r31) /* 801F8408 001F4068 7C 85 23 78 */ mr r5, r4 /* 801F840C 001F406C C0 1F 00 FC */ lfs f0, 0xfc(r31) /* 801F8410 001F4070 D0 41 00 8C */ stfs f2, 0x8c(r1) /* 801F8414 001F4074 D0 21 00 90 */ stfs f1, 0x90(r1) /* 801F8418 001F4078 D0 01 00 94 */ stfs f0, 0x94(r1) /* 801F841C 001F407C D0 43 00 08 */ stfs f2, 8(r3) /* 801F8420 001F4080 D0 23 00 0C */ stfs f1, 0xc(r3) /* 801F8424 001F4084 D0 03 00 10 */ stfs f0, 0x10(r3) /* 801F8428 001F4088 7F C3 F3 78 */ mr r3, r30 /* 801F842C 001F408C 48 08 45 D1 */ bl PSMTXMultVec /* 801F8430 001F4090 C0 5F 00 D8 */ lfs f2, 0xd8(r31) /* 801F8434 001F4094 38 9D 00 14 */ addi r4, r29, 0x14 /* 801F8438 001F4098 C0 3F 00 E8 */ lfs f1, 0xe8(r31) /* 801F843C 001F409C 7F C3 F3 78 */ mr r3, r30 /* 801F8440 001F40A0 C0 1F 00 F8 */ lfs f0, 0xf8(r31) /* 801F8444 001F40A4 7C 85 23 78 */ mr r5, r4 /* 801F8448 001F40A8 D0 41 00 80 */ stfs f2, 0x80(r1) /* 801F844C 001F40AC D0 21 00 84 */ stfs f1, 0x84(r1) /* 801F8450 001F40B0 D0 01 00 88 */ stfs f0, 0x88(r1) /* 801F8454 001F40B4 D0 5D 00 14 */ stfs f2, 0x14(r29) /* 801F8458 001F40B8 D0 3D 00 18 */ stfs f1, 0x18(r29) /* 801F845C 001F40BC D0 1D 00 1C */ stfs f0, 0x1c(r29) /* 801F8460 001F40C0 48 08 45 F1 */ bl PSMTXMultVecSR lbl_801F8464: /* 801F8464 001F40C4 3C 80 80 49 */ lis r4, lbl_80493614@ha /* 801F8468 001F40C8 38 7D 00 14 */ addi r3, r29, 0x14 /* 801F846C 001F40CC 38 84 36 14 */ addi r4, r4, lbl_80493614@l /* 801F8470 001F40D0 38 A1 00 74 */ addi r5, r1, 0x74 /* 801F8474 001F40D4 48 08 49 75 */ bl PSVECCrossProduct /* 801F8478 001F40D8 C0 81 00 74 */ lfs f4, 0x74(r1) /* 801F847C 001F40DC C0 22 98 18 */ lfs f1, lbl_80641E18-_SDA2_BASE_(r2) /* 801F8480 001F40E0 C0 61 00 78 */ lfs f3, 0x78(r1) /* 801F8484 001F40E4 C0 41 00 7C */ lfs f2, 0x7c(r1) /* 801F8488 001F40E8 FC 04 08 40 */ fcmpo cr0, f4, f1 /* 801F848C 001F40EC D0 81 00 B4 */ stfs f4, 0xb4(r1) /* 801F8490 001F40F0 D0 61 00 B8 */ stfs f3, 0xb8(r1) /* 801F8494 001F40F4 D0 41 00 BC */ stfs f2, 0xbc(r1) /* 801F8498 001F40F8 40 80 00 30 */ bge lbl_801F84C8 /* 801F849C 001F40FC C0 02 98 1C */ lfs f0, lbl_80641E1C-_SDA2_BASE_(r2) /* 801F84A0 001F4100 FC 04 00 40 */ fcmpo cr0, f4, f0 /* 801F84A4 001F4104 40 81 00 24 */ ble lbl_801F84C8 /* 801F84A8 001F4108 FC 03 08 40 */ fcmpo cr0, f3, f1 /* 801F84AC 001F410C 40 80 00 1C */ bge lbl_801F84C8 /* 801F84B0 001F4110 FC 03 00 40 */ fcmpo cr0, f3, f0 /* 801F84B4 001F4114 40 81 00 14 */ ble lbl_801F84C8 /* 801F84B8 001F4118 FC 02 08 40 */ fcmpo cr0, f2, f1 /* 801F84BC 001F411C 40 80 00 0C */ bge lbl_801F84C8 /* 801F84C0 001F4120 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 801F84C4 001F4124 41 81 00 0C */ bgt lbl_801F84D0 lbl_801F84C8: /* 801F84C8 001F4128 38 00 00 00 */ li r0, 0 /* 801F84CC 001F412C 48 00 00 08 */ b lbl_801F84D4 lbl_801F84D0: /* 801F84D0 001F4130 38 00 00 01 */ li r0, 1 lbl_801F84D4: /* 801F84D4 001F4134 2C 00 00 00 */ cmpwi r0, 0 /* 801F84D8 001F4138 41 82 00 30 */ beq lbl_801F8508 /* 801F84DC 001F413C 3C 80 80 49 */ lis r4, lbl_80493620@ha /* 801F84E0 001F4140 38 7D 00 14 */ addi r3, r29, 0x14 /* 801F84E4 001F4144 38 84 36 20 */ addi r4, r4, lbl_80493620@l /* 801F84E8 001F4148 38 A1 00 68 */ addi r5, r1, 0x68 /* 801F84EC 001F414C 48 08 48 FD */ bl PSVECCrossProduct /* 801F84F0 001F4150 C0 41 00 68 */ lfs f2, 0x68(r1) /* 801F84F4 001F4154 C0 21 00 6C */ lfs f1, 0x6c(r1) /* 801F84F8 001F4158 C0 01 00 70 */ lfs f0, 0x70(r1) /* 801F84FC 001F415C D0 41 00 B4 */ stfs f2, 0xb4(r1) /* 801F8500 001F4160 D0 21 00 B8 */ stfs f1, 0xb8(r1) /* 801F8504 001F4164 D0 01 00 BC */ stfs f0, 0xbc(r1) lbl_801F8508: /* 801F8508 001F4168 38 61 00 B4 */ addi r3, r1, 0xb4 /* 801F850C 001F416C 7C 64 1B 78 */ mr r4, r3 /* 801F8510 001F4170 48 08 48 19 */ bl PSVECNormalize /* 801F8514 001F4174 38 61 00 B4 */ addi r3, r1, 0xb4 /* 801F8518 001F4178 38 9D 00 14 */ addi r4, r29, 0x14 /* 801F851C 001F417C 38 A1 00 5C */ addi r5, r1, 0x5c /* 801F8520 001F4180 48 08 48 C9 */ bl PSVECCrossProduct /* 801F8524 001F4184 C0 01 00 5C */ lfs f0, 0x5c(r1) /* 801F8528 001F4188 C0 41 00 60 */ lfs f2, 0x60(r1) /* 801F852C 001F418C C0 21 00 64 */ lfs f1, 0x64(r1) /* 801F8530 001F4190 D0 01 00 C0 */ stfs f0, 0xc0(r1) /* 801F8534 001F4194 C0 02 98 18 */ lfs f0, lbl_80641E18-_SDA2_BASE_(r2) /* 801F8538 001F4198 D0 41 00 C4 */ stfs f2, 0xc4(r1) /* 801F853C 001F419C D0 21 00 C8 */ stfs f1, 0xc8(r1) /* 801F8540 001F41A0 C0 3D 00 28 */ lfs f1, 0x28(r29) /* 801F8544 001F41A4 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801F8548 001F41A8 40 80 00 10 */ bge lbl_801F8558 /* 801F854C 001F41AC C0 02 98 1C */ lfs f0, lbl_80641E1C-_SDA2_BASE_(r2) /* 801F8550 001F41B0 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 801F8554 001F41B4 41 81 00 20 */ bgt lbl_801F8574 lbl_801F8558: /* 801F8558 001F41B8 C0 3D 00 28 */ lfs f1, 0x28(r29) /* 801F855C 001F41BC 38 61 00 98 */ addi r3, r1, 0x98 /* 801F8560 001F41C0 38 9D 00 14 */ addi r4, r29, 0x14 /* 801F8564 001F41C4 48 08 4B C1 */ bl C_QUATRotAxisRad /* 801F8568 001F41C8 38 61 00 C0 */ addi r3, r1, 0xc0 /* 801F856C 001F41CC 38 81 00 98 */ addi r4, r1, 0x98 /* 801F8570 001F41D0 48 02 B4 9D */ bl func_80223A0C lbl_801F8574: /* 801F8574 001F41D4 C0 3D 00 20 */ lfs f1, 0x20(r29) /* 801F8578 001F41D8 38 61 00 B4 */ addi r3, r1, 0xb4 /* 801F857C 001F41DC 38 81 00 50 */ addi r4, r1, 0x50 /* 801F8580 001F41E0 48 08 47 8D */ bl PSVECScale /* 801F8584 001F41E4 C0 41 00 50 */ lfs f2, 0x50(r1) /* 801F8588 001F41E8 38 61 00 C0 */ addi r3, r1, 0xc0 /* 801F858C 001F41EC C0 21 00 54 */ lfs f1, 0x54(r1) /* 801F8590 001F41F0 38 81 00 44 */ addi r4, r1, 0x44 /* 801F8594 001F41F4 C0 01 00 58 */ lfs f0, 0x58(r1) /* 801F8598 001F41F8 D0 41 00 A8 */ stfs f2, 0xa8(r1) /* 801F859C 001F41FC D0 21 00 AC */ stfs f1, 0xac(r1) /* 801F85A0 001F4200 D0 01 00 B0 */ stfs f0, 0xb0(r1) /* 801F85A4 001F4204 C0 3D 00 24 */ lfs f1, 0x24(r29) /* 801F85A8 001F4208 48 08 47 65 */ bl PSVECScale /* 801F85AC 001F420C 38 61 00 A8 */ addi r3, r1, 0xa8 /* 801F85B0 001F4210 38 81 00 44 */ addi r4, r1, 0x44 /* 801F85B4 001F4214 7C 65 1B 78 */ mr r5, r3 /* 801F85B8 001F4218 48 08 47 0D */ bl PSVECAdd /* 801F85BC 001F421C 38 7D 00 08 */ addi r3, r29, 8 /* 801F85C0 001F4220 38 9D 00 14 */ addi r4, r29, 0x14 /* 801F85C4 001F4224 38 A1 00 20 */ addi r5, r1, 0x20 /* 801F85C8 001F4228 48 08 46 FD */ bl PSVECAdd /* 801F85CC 001F422C 38 61 00 20 */ addi r3, r1, 0x20 /* 801F85D0 001F4230 38 81 00 A8 */ addi r4, r1, 0xa8 /* 801F85D4 001F4234 38 A1 00 2C */ addi r5, r1, 0x2c /* 801F85D8 001F4238 48 08 46 ED */ bl PSVECAdd /* 801F85DC 001F423C 38 7D 00 08 */ addi r3, r29, 8 /* 801F85E0 001F4240 38 81 00 A8 */ addi r4, r1, 0xa8 /* 801F85E4 001F4244 38 A1 00 38 */ addi r5, r1, 0x38 /* 801F85E8 001F4248 48 08 46 DD */ bl PSVECAdd /* 801F85EC 001F424C 38 7D 00 40 */ addi r3, r29, 0x40 /* 801F85F0 001F4250 38 81 00 38 */ addi r4, r1, 0x38 /* 801F85F4 001F4254 38 A1 00 C0 */ addi r5, r1, 0xc0 /* 801F85F8 001F4258 38 C1 00 2C */ addi r6, r1, 0x2c /* 801F85FC 001F425C 48 08 40 69 */ bl C_MTXLookAt /* 801F8600 001F4260 C0 A2 98 14 */ lfs f5, lbl_80641E14-_SDA2_BASE_(r2) /* 801F8604 001F4264 38 61 01 00 */ addi r3, r1, 0x100 /* 801F8608 001F4268 C0 61 00 18 */ lfs f3, 0x18(r1) /* 801F860C 001F426C C0 41 00 1C */ lfs f2, 0x1c(r1) /* 801F8610 001F4270 FC C0 28 90 */ fmr f6, f5 /* 801F8614 001F4274 FC 80 18 50 */ fneg f4, f3 /* 801F8618 001F4278 FC 20 10 50 */ fneg f1, f2 /* 801F861C 001F427C FC E0 28 90 */ fmr f7, f5 /* 801F8620 001F4280 FD 00 28 90 */ fmr f8, f5 /* 801F8624 001F4284 48 08 43 51 */ bl C_MTXLightOrtho /* 801F8628 001F4288 7F C4 F3 78 */ mr r4, r30 /* 801F862C 001F428C 38 7D 00 40 */ addi r3, r29, 0x40 /* 801F8630 001F4290 38 A1 00 D0 */ addi r5, r1, 0xd0 /* 801F8634 001F4294 48 08 39 59 */ bl PSMTXConcat /* 801F8638 001F4298 38 61 00 D0 */ addi r3, r1, 0xd0 /* 801F863C 001F429C 38 9D 00 40 */ addi r4, r29, 0x40 /* 801F8640 001F42A0 48 08 39 19 */ bl PSMTXCopy /* 801F8644 001F42A4 38 9D 00 40 */ addi r4, r29, 0x40 /* 801F8648 001F42A8 38 61 01 00 */ addi r3, r1, 0x100 /* 801F864C 001F42AC 7C 85 23 78 */ mr r5, r4 /* 801F8650 001F42B0 48 08 39 3D */ bl PSMTXConcat /* 801F8654 001F42B4 38 60 00 01 */ li r3, 1 lbl_801F8658: /* 801F8658 001F42B8 80 01 01 44 */ lwz r0, 0x144(r1) /* 801F865C 001F42BC 83 E1 01 3C */ lwz r31, 0x13c(r1) /* 801F8660 001F42C0 83 C1 01 38 */ lwz r30, 0x138(r1) /* 801F8664 001F42C4 83 A1 01 34 */ lwz r29, 0x134(r1) /* 801F8668 001F42C8 7C 08 03 A6 */ mtlr r0 /* 801F866C 001F42CC 38 21 01 40 */ addi r1, r1, 0x140 /* 801F8670 001F42D0 4E 80 00 20 */ blr .global func_801F8674 func_801F8674: /* 801F8674 001F42D4 94 21 FF A0 */ stwu r1, -0x60(r1) /* 801F8678 001F42D8 7C 08 02 A6 */ mflr r0 /* 801F867C 001F42DC 90 01 00 64 */ stw r0, 0x64(r1) /* 801F8680 001F42E0 93 E1 00 5C */ stw r31, 0x5c(r1) /* 801F8684 001F42E4 93 C1 00 58 */ stw r30, 0x58(r1) /* 801F8688 001F42E8 7C DE 33 78 */ mr r30, r6 /* 801F868C 001F42EC 93 A1 00 54 */ stw r29, 0x54(r1) /* 801F8690 001F42F0 7C BD 2B 78 */ mr r29, r5 /* 801F8694 001F42F4 93 81 00 50 */ stw r28, 0x50(r1) /* 801F8698 001F42F8 7C 9C 23 78 */ mr r28, r4 /* 801F869C 001F42FC 80 E3 00 2C */ lwz r7, 0x2c(r3) /* 801F86A0 001F4300 2C 07 00 00 */ cmpwi r7, 0 /* 801F86A4 001F4304 40 82 00 0C */ bne lbl_801F86B0 /* 801F86A8 001F4308 38 60 00 FF */ li r3, 0xff /* 801F86AC 001F430C 48 00 02 20 */ b lbl_801F88CC lbl_801F86B0: /* 801F86B0 001F4310 2C 04 00 00 */ cmpwi r4, 0 /* 801F86B4 001F4314 40 82 00 0C */ bne lbl_801F86C0 /* 801F86B8 001F4318 38 60 00 FF */ li r3, 0xff /* 801F86BC 001F431C 48 00 02 10 */ b lbl_801F88CC lbl_801F86C0: /* 801F86C0 001F4320 38 00 00 02 */ li r0, 2 /* 801F86C4 001F4324 7C FF 3B 78 */ mr r31, r7 /* 801F86C8 001F4328 38 80 00 00 */ li r4, 0 /* 801F86CC 001F432C 7C 09 03 A6 */ mtctr r0 lbl_801F86D0: /* 801F86D0 001F4330 80 07 00 00 */ lwz r0, 0(r7) /* 801F86D4 001F4334 2C 00 00 00 */ cmpwi r0, 0 /* 801F86D8 001F4338 40 82 00 18 */ bne lbl_801F86F0 /* 801F86DC 001F433C A0 83 00 EE */ lhz r4, 0xee(r3) /* 801F86E0 001F4340 7C FF 3B 78 */ mr r31, r7 /* 801F86E4 001F4344 38 04 00 01 */ addi r0, r4, 1 /* 801F86E8 001F4348 B0 03 00 EE */ sth r0, 0xee(r3) /* 801F86EC 001F434C 48 00 01 00 */ b lbl_801F87EC lbl_801F86F0: /* 801F86F0 001F4350 C0 67 00 34 */ lfs f3, 0x34(r7) /* 801F86F4 001F4354 C0 47 00 38 */ lfs f2, 0x38(r7) /* 801F86F8 001F4358 C0 3F 00 34 */ lfs f1, 0x34(r31) /* 801F86FC 001F435C C0 1F 00 38 */ lfs f0, 0x38(r31) /* 801F8700 001F4360 EC 43 10 24 */ fdivs f2, f3, f2 /* 801F8704 001F4364 EC 01 00 24 */ fdivs f0, f1, f0 /* 801F8708 001F4368 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 801F870C 001F436C 40 80 00 08 */ bge lbl_801F8714 /* 801F8710 001F4370 7C FF 3B 78 */ mr r31, r7 lbl_801F8714: /* 801F8714 001F4374 84 07 00 70 */ lwzu r0, 0x70(r7) /* 801F8718 001F4378 2C 00 00 00 */ cmpwi r0, 0 /* 801F871C 001F437C 40 82 00 18 */ bne lbl_801F8734 /* 801F8720 001F4380 A0 83 00 EE */ lhz r4, 0xee(r3) /* 801F8724 001F4384 7C FF 3B 78 */ mr r31, r7 /* 801F8728 001F4388 38 04 00 01 */ addi r0, r4, 1 /* 801F872C 001F438C B0 03 00 EE */ sth r0, 0xee(r3) /* 801F8730 001F4390 48 00 00 BC */ b lbl_801F87EC lbl_801F8734: /* 801F8734 001F4394 C0 67 00 34 */ lfs f3, 0x34(r7) /* 801F8738 001F4398 C0 47 00 38 */ lfs f2, 0x38(r7) /* 801F873C 001F439C C0 3F 00 34 */ lfs f1, 0x34(r31) /* 801F8740 001F43A0 C0 1F 00 38 */ lfs f0, 0x38(r31) /* 801F8744 001F43A4 EC 43 10 24 */ fdivs f2, f3, f2 /* 801F8748 001F43A8 EC 01 00 24 */ fdivs f0, f1, f0 /* 801F874C 001F43AC FC 02 00 40 */ fcmpo cr0, f2, f0 /* 801F8750 001F43B0 40 80 00 08 */ bge lbl_801F8758 /* 801F8754 001F43B4 7C FF 3B 78 */ mr r31, r7 lbl_801F8758: /* 801F8758 001F43B8 84 07 00 70 */ lwzu r0, 0x70(r7) /* 801F875C 001F43BC 2C 00 00 00 */ cmpwi r0, 0 /* 801F8760 001F43C0 40 82 00 18 */ bne lbl_801F8778 /* 801F8764 001F43C4 A0 83 00 EE */ lhz r4, 0xee(r3) /* 801F8768 001F43C8 7C FF 3B 78 */ mr r31, r7 /* 801F876C 001F43CC 38 04 00 01 */ addi r0, r4, 1 /* 801F8770 001F43D0 B0 03 00 EE */ sth r0, 0xee(r3) /* 801F8774 001F43D4 48 00 00 78 */ b lbl_801F87EC lbl_801F8778: /* 801F8778 001F43D8 C0 67 00 34 */ lfs f3, 0x34(r7) /* 801F877C 001F43DC C0 47 00 38 */ lfs f2, 0x38(r7) /* 801F8780 001F43E0 C0 3F 00 34 */ lfs f1, 0x34(r31) /* 801F8784 001F43E4 C0 1F 00 38 */ lfs f0, 0x38(r31) /* 801F8788 001F43E8 EC 43 10 24 */ fdivs f2, f3, f2 /* 801F878C 001F43EC EC 01 00 24 */ fdivs f0, f1, f0 /* 801F8790 001F43F0 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 801F8794 001F43F4 40 80 00 08 */ bge lbl_801F879C /* 801F8798 001F43F8 7C FF 3B 78 */ mr r31, r7 lbl_801F879C: /* 801F879C 001F43FC 84 07 00 70 */ lwzu r0, 0x70(r7) /* 801F87A0 001F4400 2C 00 00 00 */ cmpwi r0, 0 /* 801F87A4 001F4404 40 82 00 18 */ bne lbl_801F87BC /* 801F87A8 001F4408 A0 83 00 EE */ lhz r4, 0xee(r3) /* 801F87AC 001F440C 7C FF 3B 78 */ mr r31, r7 /* 801F87B0 001F4410 38 04 00 01 */ addi r0, r4, 1 /* 801F87B4 001F4414 B0 03 00 EE */ sth r0, 0xee(r3) /* 801F87B8 001F4418 48 00 00 34 */ b lbl_801F87EC lbl_801F87BC: /* 801F87BC 001F441C C0 67 00 34 */ lfs f3, 0x34(r7) /* 801F87C0 001F4420 C0 47 00 38 */ lfs f2, 0x38(r7) /* 801F87C4 001F4424 C0 3F 00 34 */ lfs f1, 0x34(r31) /* 801F87C8 001F4428 C0 1F 00 38 */ lfs f0, 0x38(r31) /* 801F87CC 001F442C EC 43 10 24 */ fdivs f2, f3, f2 /* 801F87D0 001F4430 EC 01 00 24 */ fdivs f0, f1, f0 /* 801F87D4 001F4434 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 801F87D8 001F4438 40 80 00 08 */ bge lbl_801F87E0 /* 801F87DC 001F443C 7C FF 3B 78 */ mr r31, r7 lbl_801F87E0: /* 801F87E0 001F4440 38 84 00 03 */ addi r4, r4, 3 /* 801F87E4 001F4444 38 E7 00 70 */ addi r7, r7, 0x70 /* 801F87E8 001F4448 42 00 FE E8 */ bdnz lbl_801F86D0 lbl_801F87EC: /* 801F87EC 001F444C 80 63 00 08 */ lwz r3, 8(r3) /* 801F87F0 001F4450 2C 03 00 00 */ cmpwi r3, 0 /* 801F87F4 001F4454 41 82 00 18 */ beq lbl_801F880C /* 801F87F8 001F4458 80 63 00 00 */ lwz r3, 0(r3) /* 801F87FC 001F445C 2C 03 00 00 */ cmpwi r3, 0 /* 801F8800 001F4460 41 82 00 0C */ beq lbl_801F880C /* 801F8804 001F4464 38 63 00 D0 */ addi r3, r3, 0xd0 /* 801F8808 001F4468 48 00 00 0C */ b lbl_801F8814 lbl_801F880C: /* 801F880C 001F446C 3C 60 80 49 */ lis r3, lbl_804932B0@ha /* 801F8810 001F4470 38 63 32 B0 */ addi r3, r3, lbl_804932B0@l lbl_801F8814: /* 801F8814 001F4474 38 81 00 20 */ addi r4, r1, 0x20 /* 801F8818 001F4478 48 08 38 91 */ bl PSMTXInverse /* 801F881C 001F447C 93 9F 00 00 */ stw r28, 0(r31) /* 801F8820 001F4480 38 9F 00 08 */ addi r4, r31, 8 /* 801F8824 001F4484 C0 5D 00 DC */ lfs f2, 0xdc(r29) /* 801F8828 001F4488 7C 85 23 78 */ mr r5, r4 /* 801F882C 001F448C 93 BF 00 04 */ stw r29, 4(r31) /* 801F8830 001F4490 38 61 00 20 */ addi r3, r1, 0x20 /* 801F8834 001F4494 C0 3D 00 EC */ lfs f1, 0xec(r29) /* 801F8838 001F4498 D0 5F 00 08 */ stfs f2, 8(r31) /* 801F883C 001F449C C0 1D 00 FC */ lfs f0, 0xfc(r29) /* 801F8840 001F44A0 D0 3F 00 0C */ stfs f1, 0xc(r31) /* 801F8844 001F44A4 D0 41 00 14 */ stfs f2, 0x14(r1) /* 801F8848 001F44A8 D0 21 00 18 */ stfs f1, 0x18(r1) /* 801F884C 001F44AC D0 01 00 1C */ stfs f0, 0x1c(r1) /* 801F8850 001F44B0 D0 1F 00 10 */ stfs f0, 0x10(r31) /* 801F8854 001F44B4 48 08 41 A9 */ bl PSMTXMultVec /* 801F8858 001F44B8 C0 5D 00 D8 */ lfs f2, 0xd8(r29) /* 801F885C 001F44BC 38 9F 00 14 */ addi r4, r31, 0x14 /* 801F8860 001F44C0 C0 3D 00 E8 */ lfs f1, 0xe8(r29) /* 801F8864 001F44C4 7C 85 23 78 */ mr r5, r4 /* 801F8868 001F44C8 D0 5F 00 14 */ stfs f2, 0x14(r31) /* 801F886C 001F44CC 38 61 00 20 */ addi r3, r1, 0x20 /* 801F8870 001F44D0 C0 1D 00 F8 */ lfs f0, 0xf8(r29) /* 801F8874 001F44D4 D0 3F 00 18 */ stfs f1, 0x18(r31) /* 801F8878 001F44D8 D0 41 00 08 */ stfs f2, 8(r1) /* 801F887C 001F44DC D0 21 00 0C */ stfs f1, 0xc(r1) /* 801F8880 001F44E0 D0 01 00 10 */ stfs f0, 0x10(r1) /* 801F8884 001F44E4 D0 1F 00 1C */ stfs f0, 0x1c(r31) /* 801F8888 001F44E8 48 08 41 C9 */ bl PSMTXMultVecSR /* 801F888C 001F44EC C0 42 98 00 */ lfs f2, lbl_80641E00-_SDA2_BASE_(r2) /* 801F8890 001F44F0 38 60 00 FF */ li r3, 0xff /* 801F8894 001F44F4 C0 22 98 04 */ lfs f1, lbl_80641E04-_SDA2_BASE_(r2) /* 801F8898 001F44F8 38 00 00 00 */ li r0, 0 /* 801F889C 001F44FC D0 5F 00 20 */ stfs f2, 0x20(r31) /* 801F88A0 001F4500 C0 02 98 38 */ lfs f0, lbl_80641E38-_SDA2_BASE_(r2) /* 801F88A4 001F4504 D0 5F 00 24 */ stfs f2, 0x24(r31) /* 801F88A8 001F4508 D0 5F 00 28 */ stfs f2, 0x28(r31) /* 801F88AC 001F450C D0 3F 00 2C */ stfs f1, 0x2c(r31) /* 801F88B0 001F4510 D0 3F 00 30 */ stfs f1, 0x30(r31) /* 801F88B4 001F4514 98 7F 00 3C */ stb r3, 0x3c(r31) /* 801F88B8 001F4518 9B DF 00 3D */ stb r30, 0x3d(r31) /* 801F88BC 001F451C D0 1F 00 38 */ stfs f0, 0x38(r31) /* 801F88C0 001F4520 D0 1F 00 34 */ stfs f0, 0x34(r31) /* 801F88C4 001F4524 98 1F 00 3E */ stb r0, 0x3e(r31) /* 801F88C8 001F4528 88 7F 00 3F */ lbz r3, 0x3f(r31) lbl_801F88CC: /* 801F88CC 001F452C 80 01 00 64 */ lwz r0, 0x64(r1) /* 801F88D0 001F4530 83 E1 00 5C */ lwz r31, 0x5c(r1) /* 801F88D4 001F4534 83 C1 00 58 */ lwz r30, 0x58(r1) /* 801F88D8 001F4538 83 A1 00 54 */ lwz r29, 0x54(r1) /* 801F88DC 001F453C 83 81 00 50 */ lwz r28, 0x50(r1) /* 801F88E0 001F4540 7C 08 03 A6 */ mtlr r0 /* 801F88E4 001F4544 38 21 00 60 */ addi r1, r1, 0x60 /* 801F88E8 001F4548 4E 80 00 20 */ blr .global func_801F88EC func_801F88EC: /* 801F88EC 001F454C 94 21 FF 90 */ stwu r1, -0x70(r1) /* 801F88F0 001F4550 7C 08 02 A6 */ mflr r0 /* 801F88F4 001F4554 90 01 00 74 */ stw r0, 0x74(r1) /* 801F88F8 001F4558 39 61 00 70 */ addi r11, r1, 0x70 /* 801F88FC 001F455C 4B FC E8 2D */ bl _savegpr_27 /* 801F8900 001F4560 81 03 00 2C */ lwz r8, 0x2c(r3) /* 801F8904 001F4564 7C 9F 23 78 */ mr r31, r4 /* 801F8908 001F4568 7C BB 2B 78 */ mr r27, r5 /* 801F890C 001F456C 7C DC 33 78 */ mr r28, r6 /* 801F8910 001F4570 2C 08 00 00 */ cmpwi r8, 0 /* 801F8914 001F4574 7C FD 3B 78 */ mr r29, r7 /* 801F8918 001F4578 40 82 00 0C */ bne lbl_801F8924 /* 801F891C 001F457C 38 60 00 FF */ li r3, 0xff /* 801F8920 001F4580 48 00 02 08 */ b lbl_801F8B28 lbl_801F8924: /* 801F8924 001F4584 2C 04 00 00 */ cmpwi r4, 0 /* 801F8928 001F4588 40 82 00 0C */ bne lbl_801F8934 /* 801F892C 001F458C 38 60 00 FF */ li r3, 0xff /* 801F8930 001F4590 48 00 01 F8 */ b lbl_801F8B28 lbl_801F8934: /* 801F8934 001F4594 38 00 00 02 */ li r0, 2 /* 801F8938 001F4598 7D 1E 43 78 */ mr r30, r8 /* 801F893C 001F459C 38 80 00 00 */ li r4, 0 /* 801F8940 001F45A0 7C 09 03 A6 */ mtctr r0 lbl_801F8944: /* 801F8944 001F45A4 80 08 00 00 */ lwz r0, 0(r8) /* 801F8948 001F45A8 2C 00 00 00 */ cmpwi r0, 0 /* 801F894C 001F45AC 40 82 00 18 */ bne lbl_801F8964 /* 801F8950 001F45B0 A0 83 00 EE */ lhz r4, 0xee(r3) /* 801F8954 001F45B4 7D 1E 43 78 */ mr r30, r8 /* 801F8958 001F45B8 38 04 00 01 */ addi r0, r4, 1 /* 801F895C 001F45BC B0 03 00 EE */ sth r0, 0xee(r3) /* 801F8960 001F45C0 48 00 01 00 */ b lbl_801F8A60 lbl_801F8964: /* 801F8964 001F45C4 C0 68 00 34 */ lfs f3, 0x34(r8) /* 801F8968 001F45C8 C0 48 00 38 */ lfs f2, 0x38(r8) /* 801F896C 001F45CC C0 3E 00 34 */ lfs f1, 0x34(r30) /* 801F8970 001F45D0 C0 1E 00 38 */ lfs f0, 0x38(r30) /* 801F8974 001F45D4 EC 43 10 24 */ fdivs f2, f3, f2 /* 801F8978 001F45D8 EC 01 00 24 */ fdivs f0, f1, f0 /* 801F897C 001F45DC FC 02 00 40 */ fcmpo cr0, f2, f0 /* 801F8980 001F45E0 40 80 00 08 */ bge lbl_801F8988 /* 801F8984 001F45E4 7D 1E 43 78 */ mr r30, r8 lbl_801F8988: /* 801F8988 001F45E8 84 08 00 70 */ lwzu r0, 0x70(r8) /* 801F898C 001F45EC 2C 00 00 00 */ cmpwi r0, 0 /* 801F8990 001F45F0 40 82 00 18 */ bne lbl_801F89A8 /* 801F8994 001F45F4 A0 83 00 EE */ lhz r4, 0xee(r3) /* 801F8998 001F45F8 7D 1E 43 78 */ mr r30, r8 /* 801F899C 001F45FC 38 04 00 01 */ addi r0, r4, 1 /* 801F89A0 001F4600 B0 03 00 EE */ sth r0, 0xee(r3) /* 801F89A4 001F4604 48 00 00 BC */ b lbl_801F8A60 lbl_801F89A8: /* 801F89A8 001F4608 C0 68 00 34 */ lfs f3, 0x34(r8) /* 801F89AC 001F460C C0 48 00 38 */ lfs f2, 0x38(r8) /* 801F89B0 001F4610 C0 3E 00 34 */ lfs f1, 0x34(r30) /* 801F89B4 001F4614 C0 1E 00 38 */ lfs f0, 0x38(r30) /* 801F89B8 001F4618 EC 43 10 24 */ fdivs f2, f3, f2 /* 801F89BC 001F461C EC 01 00 24 */ fdivs f0, f1, f0 /* 801F89C0 001F4620 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 801F89C4 001F4624 40 80 00 08 */ bge lbl_801F89CC /* 801F89C8 001F4628 7D 1E 43 78 */ mr r30, r8 lbl_801F89CC: /* 801F89CC 001F462C 84 08 00 70 */ lwzu r0, 0x70(r8) /* 801F89D0 001F4630 2C 00 00 00 */ cmpwi r0, 0 /* 801F89D4 001F4634 40 82 00 18 */ bne lbl_801F89EC /* 801F89D8 001F4638 A0 83 00 EE */ lhz r4, 0xee(r3) /* 801F89DC 001F463C 7D 1E 43 78 */ mr r30, r8 /* 801F89E0 001F4640 38 04 00 01 */ addi r0, r4, 1 /* 801F89E4 001F4644 B0 03 00 EE */ sth r0, 0xee(r3) /* 801F89E8 001F4648 48 00 00 78 */ b lbl_801F8A60 lbl_801F89EC: /* 801F89EC 001F464C C0 68 00 34 */ lfs f3, 0x34(r8) /* 801F89F0 001F4650 C0 48 00 38 */ lfs f2, 0x38(r8) /* 801F89F4 001F4654 C0 3E 00 34 */ lfs f1, 0x34(r30) /* 801F89F8 001F4658 C0 1E 00 38 */ lfs f0, 0x38(r30) /* 801F89FC 001F465C EC 43 10 24 */ fdivs f2, f3, f2 /* 801F8A00 001F4660 EC 01 00 24 */ fdivs f0, f1, f0 /* 801F8A04 001F4664 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 801F8A08 001F4668 40 80 00 08 */ bge lbl_801F8A10 /* 801F8A0C 001F466C 7D 1E 43 78 */ mr r30, r8 lbl_801F8A10: /* 801F8A10 001F4670 84 08 00 70 */ lwzu r0, 0x70(r8) /* 801F8A14 001F4674 2C 00 00 00 */ cmpwi r0, 0 /* 801F8A18 001F4678 40 82 00 18 */ bne lbl_801F8A30 /* 801F8A1C 001F467C A0 83 00 EE */ lhz r4, 0xee(r3) /* 801F8A20 001F4680 7D 1E 43 78 */ mr r30, r8 /* 801F8A24 001F4684 38 04 00 01 */ addi r0, r4, 1 /* 801F8A28 001F4688 B0 03 00 EE */ sth r0, 0xee(r3) /* 801F8A2C 001F468C 48 00 00 34 */ b lbl_801F8A60 lbl_801F8A30: /* 801F8A30 001F4690 C0 68 00 34 */ lfs f3, 0x34(r8) /* 801F8A34 001F4694 C0 48 00 38 */ lfs f2, 0x38(r8) /* 801F8A38 001F4698 C0 3E 00 34 */ lfs f1, 0x34(r30) /* 801F8A3C 001F469C C0 1E 00 38 */ lfs f0, 0x38(r30) /* 801F8A40 001F46A0 EC 43 10 24 */ fdivs f2, f3, f2 /* 801F8A44 001F46A4 EC 01 00 24 */ fdivs f0, f1, f0 /* 801F8A48 001F46A8 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 801F8A4C 001F46AC 40 80 00 08 */ bge lbl_801F8A54 /* 801F8A50 001F46B0 7D 1E 43 78 */ mr r30, r8 lbl_801F8A54: /* 801F8A54 001F46B4 38 84 00 03 */ addi r4, r4, 3 /* 801F8A58 001F46B8 39 08 00 70 */ addi r8, r8, 0x70 /* 801F8A5C 001F46BC 42 00 FE E8 */ bdnz lbl_801F8944 lbl_801F8A60: /* 801F8A60 001F46C0 80 63 00 08 */ lwz r3, 8(r3) /* 801F8A64 001F46C4 2C 03 00 00 */ cmpwi r3, 0 /* 801F8A68 001F46C8 41 82 00 18 */ beq lbl_801F8A80 /* 801F8A6C 001F46CC 80 63 00 00 */ lwz r3, 0(r3) /* 801F8A70 001F46D0 2C 03 00 00 */ cmpwi r3, 0 /* 801F8A74 001F46D4 41 82 00 0C */ beq lbl_801F8A80 /* 801F8A78 001F46D8 38 63 00 D0 */ addi r3, r3, 0xd0 /* 801F8A7C 001F46DC 48 00 00 0C */ b lbl_801F8A88 lbl_801F8A80: /* 801F8A80 001F46E0 3C 60 80 49 */ lis r3, lbl_804932B0@ha /* 801F8A84 001F46E4 38 63 32 B0 */ addi r3, r3, lbl_804932B0@l lbl_801F8A88: /* 801F8A88 001F46E8 38 81 00 20 */ addi r4, r1, 0x20 /* 801F8A8C 001F46EC 48 08 36 1D */ bl PSMTXInverse /* 801F8A90 001F46F0 93 FE 00 00 */ stw r31, 0(r30) /* 801F8A94 001F46F4 3B E0 00 00 */ li r31, 0 /* 801F8A98 001F46F8 7F 64 DB 78 */ mr r4, r27 /* 801F8A9C 001F46FC 38 61 00 20 */ addi r3, r1, 0x20 /* 801F8AA0 001F4700 93 FE 00 04 */ stw r31, 4(r30) /* 801F8AA4 001F4704 38 A1 00 14 */ addi r5, r1, 0x14 /* 801F8AA8 001F4708 48 08 3F 55 */ bl PSMTXMultVec /* 801F8AAC 001F470C C0 01 00 14 */ lfs f0, 0x14(r1) /* 801F8AB0 001F4710 7F 84 E3 78 */ mr r4, r28 /* 801F8AB4 001F4714 38 61 00 20 */ addi r3, r1, 0x20 /* 801F8AB8 001F4718 38 A1 00 08 */ addi r5, r1, 8 /* 801F8ABC 001F471C D0 1E 00 08 */ stfs f0, 8(r30) /* 801F8AC0 001F4720 C0 01 00 18 */ lfs f0, 0x18(r1) /* 801F8AC4 001F4724 D0 1E 00 0C */ stfs f0, 0xc(r30) /* 801F8AC8 001F4728 C0 01 00 1C */ lfs f0, 0x1c(r1) /* 801F8ACC 001F472C D0 1E 00 10 */ stfs f0, 0x10(r30) /* 801F8AD0 001F4730 48 08 3F 81 */ bl PSMTXMultVecSR /* 801F8AD4 001F4734 C0 01 00 08 */ lfs f0, 8(r1) /* 801F8AD8 001F4738 38 00 00 FF */ li r0, 0xff /* 801F8ADC 001F473C C0 42 98 00 */ lfs f2, lbl_80641E00-_SDA2_BASE_(r2) /* 801F8AE0 001F4740 D0 1E 00 14 */ stfs f0, 0x14(r30) /* 801F8AE4 001F4744 C0 22 98 04 */ lfs f1, lbl_80641E04-_SDA2_BASE_(r2) /* 801F8AE8 001F4748 C0 61 00 0C */ lfs f3, 0xc(r1) /* 801F8AEC 001F474C C0 02 98 38 */ lfs f0, lbl_80641E38-_SDA2_BASE_(r2) /* 801F8AF0 001F4750 D0 7E 00 18 */ stfs f3, 0x18(r30) /* 801F8AF4 001F4754 C0 61 00 10 */ lfs f3, 0x10(r1) /* 801F8AF8 001F4758 D0 7E 00 1C */ stfs f3, 0x1c(r30) /* 801F8AFC 001F475C D0 5E 00 20 */ stfs f2, 0x20(r30) /* 801F8B00 001F4760 D0 5E 00 24 */ stfs f2, 0x24(r30) /* 801F8B04 001F4764 D0 5E 00 28 */ stfs f2, 0x28(r30) /* 801F8B08 001F4768 D0 3E 00 2C */ stfs f1, 0x2c(r30) /* 801F8B0C 001F476C D0 3E 00 30 */ stfs f1, 0x30(r30) /* 801F8B10 001F4770 98 1E 00 3C */ stb r0, 0x3c(r30) /* 801F8B14 001F4774 9B BE 00 3D */ stb r29, 0x3d(r30) /* 801F8B18 001F4778 D0 1E 00 38 */ stfs f0, 0x38(r30) /* 801F8B1C 001F477C D0 1E 00 34 */ stfs f0, 0x34(r30) /* 801F8B20 001F4780 9B FE 00 3E */ stb r31, 0x3e(r30) /* 801F8B24 001F4784 88 7E 00 3F */ lbz r3, 0x3f(r30) lbl_801F8B28: /* 801F8B28 001F4788 39 61 00 70 */ addi r11, r1, 0x70 /* 801F8B2C 001F478C 4B FC E6 49 */ bl _restgpr_27 /* 801F8B30 001F4790 80 01 00 74 */ lwz r0, 0x74(r1) /* 801F8B34 001F4794 7C 08 03 A6 */ mtlr r0 /* 801F8B38 001F4798 38 21 00 70 */ addi r1, r1, 0x70 /* 801F8B3C 001F479C 4E 80 00 20 */ blr .global func_801F8B40 func_801F8B40: /* 801F8B40 001F47A0 80 63 00 2C */ lwz r3, 0x2c(r3) /* 801F8B44 001F47A4 2C 03 00 00 */ cmpwi r3, 0 /* 801F8B48 001F47A8 4D 82 00 20 */ beqlr /* 801F8B4C 001F47AC 28 04 00 08 */ cmplwi r4, 8 /* 801F8B50 001F47B0 4C 80 00 20 */ bgelr /* 801F8B54 001F47B4 1C 04 00 70 */ mulli r0, r4, 0x70 /* 801F8B58 001F47B8 C0 25 00 00 */ lfs f1, 0(r5) /* 801F8B5C 001F47BC C0 05 00 04 */ lfs f0, 4(r5) /* 801F8B60 001F47C0 7C 63 02 14 */ add r3, r3, r0 /* 801F8B64 001F47C4 D0 23 00 20 */ stfs f1, 0x20(r3) /* 801F8B68 001F47C8 D0 03 00 24 */ stfs f0, 0x24(r3) /* 801F8B6C 001F47CC 4E 80 00 20 */ blr .global func_801F8B70 func_801F8B70: /* 801F8B70 001F47D0 80 63 00 2C */ lwz r3, 0x2c(r3) /* 801F8B74 001F47D4 2C 03 00 00 */ cmpwi r3, 0 /* 801F8B78 001F47D8 4D 82 00 20 */ beqlr /* 801F8B7C 001F47DC 28 04 00 08 */ cmplwi r4, 8 /* 801F8B80 001F47E0 4C 80 00 20 */ bgelr /* 801F8B84 001F47E4 1C 04 00 70 */ mulli r0, r4, 0x70 /* 801F8B88 001F47E8 C0 25 00 00 */ lfs f1, 0(r5) /* 801F8B8C 001F47EC C0 05 00 04 */ lfs f0, 4(r5) /* 801F8B90 001F47F0 7C 63 02 14 */ add r3, r3, r0 /* 801F8B94 001F47F4 D0 23 00 2C */ stfs f1, 0x2c(r3) /* 801F8B98 001F47F8 D0 03 00 30 */ stfs f0, 0x30(r3) /* 801F8B9C 001F47FC 4E 80 00 20 */ blr .global func_801F8BA0 func_801F8BA0: /* 801F8BA0 001F4800 80 63 00 2C */ lwz r3, 0x2c(r3) /* 801F8BA4 001F4804 2C 03 00 00 */ cmpwi r3, 0 /* 801F8BA8 001F4808 4D 82 00 20 */ beqlr /* 801F8BAC 001F480C 28 04 00 08 */ cmplwi r4, 8 /* 801F8BB0 001F4810 4C 80 00 20 */ bgelr /* 801F8BB4 001F4814 1C 04 00 70 */ mulli r0, r4, 0x70 /* 801F8BB8 001F4818 7C 63 02 14 */ add r3, r3, r0 /* 801F8BBC 001F481C 98 A3 00 3C */ stb r5, 0x3c(r3) /* 801F8BC0 001F4820 4E 80 00 20 */ blr .global func_801F8BC4 func_801F8BC4: /* 801F8BC4 001F4824 80 A3 00 2C */ lwz r5, 0x2c(r3) /* 801F8BC8 001F4828 2C 05 00 00 */ cmpwi r5, 0 /* 801F8BCC 001F482C 4D 82 00 20 */ beqlr /* 801F8BD0 001F4830 28 04 00 08 */ cmplwi r4, 8 /* 801F8BD4 001F4834 4C 80 00 20 */ bgelr /* 801F8BD8 001F4838 1C 04 00 70 */ mulli r0, r4, 0x70 /* 801F8BDC 001F483C 38 60 00 00 */ li r3, 0 /* 801F8BE0 001F4840 7C 65 01 2E */ stwx r3, r5, r0 /* 801F8BE4 001F4844 4E 80 00 20 */ blr .global func_801F8BE8 func_801F8BE8: /* 801F8BE8 001F4848 94 21 FF 40 */ stwu r1, -0xc0(r1) /* 801F8BEC 001F484C 7C 08 02 A6 */ mflr r0 /* 801F8BF0 001F4850 90 01 00 C4 */ stw r0, 0xc4(r1) /* 801F8BF4 001F4854 DB E1 00 B0 */ stfd f31, 0xb0(r1) /* 801F8BF8 001F4858 F3 E1 00 B8 */ psq_st f31, 184(r1), 0, qr0 /* 801F8BFC 001F485C DB C1 00 A0 */ stfd f30, 0xa0(r1) /* 801F8C00 001F4860 F3 C1 00 A8 */ psq_st f30, 168(r1), 0, qr0 /* 801F8C04 001F4864 39 61 00 A0 */ addi r11, r1, 0xa0 /* 801F8C08 001F4868 4B FC E4 ED */ bl __save_gpr /* 801F8C0C 001F486C A0 03 00 DC */ lhz r0, 0xdc(r3) /* 801F8C10 001F4870 7C 9F 23 78 */ mr r31, r4 /* 801F8C14 001F4874 90 61 00 10 */ stw r3, 0x10(r1) /* 801F8C18 001F4878 54 00 07 FE */ clrlwi r0, r0, 0x1f /* 801F8C1C 001F487C 2C 00 00 01 */ cmpwi r0, 1 /* 801F8C20 001F4880 40 82 08 80 */ bne lbl_801F94A0 /* 801F8C24 001F4884 80 03 00 30 */ lwz r0, 0x30(r3) /* 801F8C28 001F4888 2C 00 00 00 */ cmpwi r0, 0 /* 801F8C2C 001F488C 41 82 08 74 */ beq lbl_801F94A0 /* 801F8C30 001F4890 80 03 00 2C */ lwz r0, 0x2c(r3) /* 801F8C34 001F4894 2C 00 00 00 */ cmpwi r0, 0 /* 801F8C38 001F4898 41 82 08 68 */ beq lbl_801F94A0 /* 801F8C3C 001F489C A0 03 00 EE */ lhz r0, 0xee(r3) /* 801F8C40 001F48A0 2C 00 00 00 */ cmpwi r0, 0 /* 801F8C44 001F48A4 40 82 00 08 */ bne lbl_801F8C4C /* 801F8C48 001F48A8 48 00 08 58 */ b lbl_801F94A0 lbl_801F8C4C: /* 801F8C4C 001F48AC 80 03 00 3C */ lwz r0, 0x3c(r3) /* 801F8C50 001F48B0 2C 00 00 00 */ cmpwi r0, 0 /* 801F8C54 001F48B4 41 82 00 0C */ beq lbl_801F8C60 /* 801F8C58 001F48B8 7C 00 20 40 */ cmplw r0, r4 /* 801F8C5C 001F48BC 40 82 08 44 */ bne lbl_801F94A0 lbl_801F8C60: /* 801F8C60 001F48C0 80 8D A4 48 */ lwz r4, lbl_8063F708-_SDA_BASE_(r13) /* 801F8C64 001F48C4 2C 04 00 00 */ cmpwi r4, 0 /* 801F8C68 001F48C8 41 82 00 0C */ beq lbl_801F8C74 /* 801F8C6C 001F48CC 80 04 00 00 */ lwz r0, 0(r4) /* 801F8C70 001F48D0 48 00 00 08 */ b lbl_801F8C78 lbl_801F8C74: /* 801F8C74 001F48D4 38 00 00 00 */ li r0, 0 lbl_801F8C78: /* 801F8C78 001F48D8 2C 00 00 07 */ cmpwi r0, 7 /* 801F8C7C 001F48DC 41 82 00 30 */ beq lbl_801F8CAC /* 801F8C80 001F48E0 40 80 00 10 */ bge lbl_801F8C90 /* 801F8C84 001F48E4 2C 00 00 05 */ cmpwi r0, 5 /* 801F8C88 001F48E8 41 82 00 14 */ beq lbl_801F8C9C /* 801F8C8C 001F48EC 48 00 08 14 */ b lbl_801F94A0 lbl_801F8C90: /* 801F8C90 001F48F0 2C 00 00 09 */ cmpwi r0, 9 /* 801F8C94 001F48F4 40 80 08 0C */ bge lbl_801F94A0 /* 801F8C98 001F48F8 48 00 00 28 */ b lbl_801F8CC0 lbl_801F8C9C: /* 801F8C9C 001F48FC A0 03 00 DC */ lhz r0, 0xdc(r3) /* 801F8CA0 001F4900 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 801F8CA4 001F4904 40 82 00 1C */ bne lbl_801F8CC0 /* 801F8CA8 001F4908 48 00 07 F8 */ b lbl_801F94A0 lbl_801F8CAC: /* 801F8CAC 001F490C A0 03 00 DC */ lhz r0, 0xdc(r3) /* 801F8CB0 001F4910 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 801F8CB4 001F4914 41 82 00 0C */ beq lbl_801F8CC0 /* 801F8CB8 001F4918 48 00 07 E8 */ b lbl_801F94A0 /* 801F8CBC 001F491C 48 00 07 E4 */ b lbl_801F94A0 lbl_801F8CC0: /* 801F8CC0 001F4920 38 63 01 20 */ addi r3, r3, 0x120 /* 801F8CC4 001F4924 48 02 7E 55 */ bl func_80220B18 /* 801F8CC8 001F4928 2C 03 00 00 */ cmpwi r3, 0 /* 801F8CCC 001F492C 41 82 07 D4 */ beq lbl_801F94A0 /* 801F8CD0 001F4930 80 61 00 10 */ lwz r3, 0x10(r1) /* 801F8CD4 001F4934 A0 03 00 DC */ lhz r0, 0xdc(r3) /* 801F8CD8 001F4938 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 /* 801F8CDC 001F493C 41 82 00 78 */ beq lbl_801F8D54 /* 801F8CE0 001F4940 80 ED A3 D8 */ lwz r7, lbl_8063F698-_SDA_BASE_(r13) /* 801F8CE4 001F4944 38 80 00 01 */ li r4, 1 /* 801F8CE8 001F4948 81 01 00 10 */ lwz r8, 0x10(r1) /* 801F8CEC 001F494C 80 C7 16 38 */ lwz r6, 0x1638(r7) /* 801F8CF0 001F4950 A0 A6 14 AA */ lhz r5, 0x14aa(r6) /* 801F8CF4 001F4954 38 65 00 01 */ addi r3, r5, 1 /* 801F8CF8 001F4958 54 A0 18 38 */ slwi r0, r5, 3 /* 801F8CFC 001F495C B0 66 14 AA */ sth r3, 0x14aa(r6) /* 801F8D00 001F4960 54 63 18 38 */ slwi r3, r3, 3 /* 801F8D04 001F4964 80 A7 16 38 */ lwz r5, 0x1638(r7) /* 801F8D08 001F4968 80 E1 00 10 */ lwz r7, 0x10(r1) /* 801F8D0C 001F496C 38 C5 14 CC */ addi r6, r5, 0x14cc /* 801F8D10 001F4970 7C A6 02 14 */ add r5, r6, r0 /* 801F8D14 001F4974 7C 06 02 2E */ lhzx r0, r6, r0 /* 801F8D18 001F4978 7C 03 33 6E */ sthux r0, r3, r6 /* 801F8D1C 001F497C 80 C1 00 10 */ lwz r6, 0x10(r1) /* 801F8D20 001F4980 A0 05 00 02 */ lhz r0, 2(r5) /* 801F8D24 001F4984 B0 03 00 02 */ sth r0, 2(r3) /* 801F8D28 001F4988 A0 05 00 04 */ lhz r0, 4(r5) /* 801F8D2C 001F498C B0 03 00 04 */ sth r0, 4(r3) /* 801F8D30 001F4990 A0 05 00 06 */ lhz r0, 6(r5) /* 801F8D34 001F4994 80 A1 00 10 */ lwz r5, 0x10(r1) /* 801F8D38 001F4998 B0 03 00 06 */ sth r0, 6(r3) /* 801F8D3C 001F499C 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13) /* 801F8D40 001F49A0 A0 A5 01 4C */ lhz r5, 0x14c(r5) /* 801F8D44 001F49A4 A0 C6 01 4E */ lhz r6, 0x14e(r6) /* 801F8D48 001F49A8 A0 E7 01 50 */ lhz r7, 0x150(r7) /* 801F8D4C 001F49AC A1 08 01 52 */ lhz r8, 0x152(r8) /* 801F8D50 001F49B0 48 03 C4 29 */ bl func_80235178 lbl_801F8D54: /* 801F8D54 001F49B4 38 00 00 00 */ li r0, 0 /* 801F8D58 001F49B8 3F 60 80 42 */ lis r27, lbl_80423700@ha /* 801F8D5C 001F49BC 90 01 00 54 */ stw r0, 0x54(r1) /* 801F8D60 001F49C0 38 00 00 03 */ li r0, 3 /* 801F8D64 001F49C4 C3 E2 98 14 */ lfs f31, lbl_80641E14-_SDA2_BASE_(r2) /* 801F8D68 001F49C8 3A E1 00 30 */ addi r23, r1, 0x30 /* 801F8D6C 001F49CC C3 C2 98 18 */ lfs f30, lbl_80641E18-_SDA2_BASE_(r2) /* 801F8D70 001F49D0 3B 21 00 28 */ addi r25, r1, 0x28 /* 801F8D74 001F49D4 90 01 00 50 */ stw r0, 0x50(r1) /* 801F8D78 001F49D8 3B 7B 37 00 */ addi r27, r27, lbl_80423700@l /* 801F8D7C 001F49DC 3A A0 00 01 */ li r21, 1 /* 801F8D80 001F49E0 3B 00 00 01 */ li r24, 1 /* 801F8D84 001F49E4 3B 40 00 00 */ li r26, 0 /* 801F8D88 001F49E8 3B 80 00 FF */ li r28, 0xff /* 801F8D8C 001F49EC 3B A0 00 0F */ li r29, 0xf /* 801F8D90 001F49F0 39 C0 00 08 */ li r14, 8 /* 801F8D94 001F49F4 3B C0 00 07 */ li r30, 7 lbl_801F8D98: /* 801F8D98 001F49F8 80 61 00 10 */ lwz r3, 0x10(r1) /* 801F8D9C 001F49FC 3A 60 00 00 */ li r19, 0 /* 801F8DA0 001F4A00 3A 40 00 0F */ li r18, 0xf /* 801F8DA4 001F4A04 3A 20 00 00 */ li r17, 0 /* 801F8DA8 001F4A08 82 83 00 2C */ lwz r20, 0x2c(r3) /* 801F8DAC 001F4A0C 3A 00 00 00 */ li r16, 0 lbl_801F8DB0: /* 801F8DB0 001F4A10 80 94 00 00 */ lwz r4, 0(r20) /* 801F8DB4 001F4A14 2C 04 00 00 */ cmpwi r4, 0 /* 801F8DB8 001F4A18 41 82 03 20 */ beq lbl_801F90D8 /* 801F8DBC 001F4A1C C0 14 00 34 */ lfs f0, 0x34(r20) /* 801F8DC0 001F4A20 FC 00 F0 40 */ fcmpo cr0, f0, f30 /* 801F8DC4 001F4A24 41 80 03 14 */ blt lbl_801F90D8 /* 801F8DC8 001F4A28 88 14 00 3D */ lbz r0, 0x3d(r20) /* 801F8DCC 001F4A2C 7C 00 A8 40 */ cmplw r0, r21 /* 801F8DD0 001F4A30 40 82 03 08 */ bne lbl_801F90D8 /* 801F8DD4 001F4A34 56 20 06 3E */ clrlwi r0, r17, 0x18 /* 801F8DD8 001F4A38 39 E0 00 FF */ li r15, 0xff /* 801F8DDC 001F4A3C 38 60 00 00 */ li r3, 0 /* 801F8DE0 001F4A40 7C 09 03 A6 */ mtctr r0 /* 801F8DE4 001F4A44 28 00 00 00 */ cmplwi r0, 0 /* 801F8DE8 001F4A48 40 81 00 24 */ ble lbl_801F8E0C lbl_801F8DEC: /* 801F8DEC 001F4A4C 54 60 15 BA */ rlwinm r0, r3, 2, 0x16, 0x1d /* 801F8DF0 001F4A50 7C 17 00 2E */ lwzx r0, r23, r0 /* 801F8DF4 001F4A54 7C 00 20 40 */ cmplw r0, r4 /* 801F8DF8 001F4A58 40 82 00 0C */ bne lbl_801F8E04 /* 801F8DFC 001F4A5C 7C 6F 1B 78 */ mr r15, r3 /* 801F8E00 001F4A60 48 00 00 0C */ b lbl_801F8E0C lbl_801F8E04: /* 801F8E04 001F4A64 38 63 00 01 */ addi r3, r3, 1 /* 801F8E08 001F4A68 42 00 FF E4 */ bdnz lbl_801F8DEC lbl_801F8E0C: /* 801F8E0C 001F4A6C 55 E0 06 3E */ clrlwi r0, r15, 0x18 /* 801F8E10 001F4A70 28 00 00 FF */ cmplwi r0, 0xff /* 801F8E14 001F4A74 40 82 00 60 */ bne lbl_801F8E74 /* 801F8E18 001F4A78 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13) /* 801F8E1C 001F4A7C 56 20 15 BA */ rlwinm r0, r17, 2, 0x16, 0x1d /* 801F8E20 001F4A80 80 A3 16 38 */ lwz r5, 0x1638(r3) /* 801F8E24 001F4A84 7C A5 02 14 */ add r5, r5, r0 /* 801F8E28 001F4A88 80 A5 15 3C */ lwz r5, 0x153c(r5) /* 801F8E2C 001F4A8C 7C 05 20 40 */ cmplw r5, r4 /* 801F8E30 001F4A90 40 82 00 14 */ bne lbl_801F8E44 /* 801F8E34 001F4A94 88 A4 00 07 */ lbz r5, 7(r4) /* 801F8E38 001F4A98 54 A5 07 FE */ clrlwi r5, r5, 0x1f /* 801F8E3C 001F4A9C 2C 05 00 01 */ cmpwi r5, 1 /* 801F8E40 001F4AA0 40 82 00 28 */ bne lbl_801F8E68 lbl_801F8E44: /* 801F8E44 001F4AA4 80 C3 16 38 */ lwz r6, 0x1638(r3) /* 801F8E48 001F4AA8 56 25 06 3E */ clrlwi r5, r17, 0x18 /* 801F8E4C 001F4AAC 7F 05 28 30 */ slw r5, r24, r5 /* 801F8E50 001F4AB0 7C C6 02 14 */ add r6, r6, r0 /* 801F8E54 001F4AB4 90 86 15 3C */ stw r4, 0x153c(r6) /* 801F8E58 001F4AB8 80 C3 16 38 */ lwz r6, 0x1638(r3) /* 801F8E5C 001F4ABC 80 66 15 38 */ lwz r3, 0x1538(r6) /* 801F8E60 001F4AC0 7C 63 2B 78 */ or r3, r3, r5 /* 801F8E64 001F4AC4 90 66 15 38 */ stw r3, 0x1538(r6) lbl_801F8E68: /* 801F8E68 001F4AC8 7C 97 01 2E */ stwx r4, r23, r0 /* 801F8E6C 001F4ACC 7E 2F 8B 78 */ mr r15, r17 /* 801F8E70 001F4AD0 3A 31 00 01 */ addi r17, r17, 1 lbl_801F8E74: /* 801F8E74 001F4AD4 88 14 00 3C */ lbz r0, 0x3c(r20) /* 801F8E78 001F4AD8 98 01 00 14 */ stb r0, 0x14(r1) /* 801F8E7C 001F4ADC E0 41 A0 14 */ psq_l f2, 20(r1), 1, qr2 /* 801F8E80 001F4AE0 C0 34 00 38 */ lfs f1, 0x38(r20) /* 801F8E84 001F4AE4 C0 14 00 34 */ lfs f0, 0x34(r20) /* 801F8E88 001F4AE8 EC 22 08 24 */ fdivs f1, f2, f1 /* 801F8E8C 001F4AEC EC 00 00 72 */ fmuls f0, f0, f1 /* 801F8E90 001F4AF0 EC 1F 00 2A */ fadds f0, f31, f0 /* 801F8E94 001F4AF4 F0 01 A0 18 */ psq_st f0, 24(r1), 1, qr2 /* 801F8E98 001F4AF8 56 67 06 3E */ clrlwi r7, r19, 0x18 /* 801F8E9C 001F4AFC 3A C7 00 0D */ addi r22, r7, 0xd /* 801F8EA0 001F4B00 38 B4 00 40 */ addi r5, r20, 0x40 /* 801F8EA4 001F4B04 88 01 00 18 */ lbz r0, 0x18(r1) /* 801F8EA8 001F4B08 7E C4 B3 78 */ mr r4, r22 /* 801F8EAC 001F4B0C 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13) /* 801F8EB0 001F4B10 38 C0 00 01 */ li r6, 1 /* 801F8EB4 001F4B14 7C 19 39 AE */ stbx r0, r25, r7 /* 801F8EB8 001F4B18 48 03 B7 41 */ bl func_802345F8 /* 801F8EBC 001F4B1C 81 4D A3 D8 */ lwz r10, lbl_8063F698-_SDA_BASE_(r13) /* 801F8EC0 001F4B20 56 60 0D FC */ rlwinm r0, r19, 1, 0x17, 0x1e /* 801F8EC4 001F4B24 56 64 06 3E */ clrlwi r4, r19, 0x18 /* 801F8EC8 001F4B28 7E C9 B3 78 */ mr r9, r22 /* 801F8ECC 001F4B2C 80 6A 16 38 */ lwz r3, 0x1638(r10) /* 801F8ED0 001F4B30 7F 16 20 30 */ slw r22, r24, r4 /* 801F8ED4 001F4B34 38 A0 00 00 */ li r5, 0 /* 801F8ED8 001F4B38 38 C0 00 00 */ li r6, 0 /* 801F8EDC 001F4B3C 7C 63 02 14 */ add r3, r3, r0 /* 801F8EE0 001F4B40 38 E0 00 00 */ li r7, 0 /* 801F8EE4 001F4B44 9B 43 01 3C */ stb r26, 0x13c(r3) /* 801F8EE8 001F4B48 39 00 00 00 */ li r8, 0 /* 801F8EEC 001F4B4C 9B 43 01 3D */ stb r26, 0x13d(r3) /* 801F8EF0 001F4B50 80 6A 16 38 */ lwz r3, 0x1638(r10) /* 801F8EF4 001F4B54 80 03 00 0C */ lwz r0, 0xc(r3) /* 801F8EF8 001F4B58 7C 00 B3 78 */ or r0, r0, r22 /* 801F8EFC 001F4B5C 90 03 00 0C */ stw r0, 0xc(r3) /* 801F8F00 001F4B60 80 6A 16 38 */ lwz r3, 0x1638(r10) /* 801F8F04 001F4B64 80 03 00 00 */ lwz r0, 0(r3) /* 801F8F08 001F4B68 60 00 00 01 */ ori r0, r0, 1 /* 801F8F0C 001F4B6C 90 03 00 00 */ stw r0, 0(r3) /* 801F8F10 001F4B70 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13) /* 801F8F14 001F4B74 48 03 B7 E9 */ bl func_802346FC /* 801F8F18 001F4B78 81 2D A3 D8 */ lwz r9, lbl_8063F698-_SDA_BASE_(r13) /* 801F8F1C 001F4B7C 56 66 15 BA */ rlwinm r6, r19, 2, 0x16, 0x1d /* 801F8F20 001F4B80 56 63 06 3E */ clrlwi r3, r19, 0x18 /* 801F8F24 001F4B84 56 64 1D 78 */ rlwinm r4, r19, 3, 0x15, 0x1c /* 801F8F28 001F4B88 80 E9 16 38 */ lwz r7, 0x1638(r9) /* 801F8F2C 001F4B8C 1C 03 00 0C */ mulli r0, r3, 0xc /* 801F8F30 001F4B90 7C BB 30 2E */ lwzx r5, r27, r6 /* 801F8F34 001F4B94 55 EA 06 3E */ clrlwi r10, r15, 0x18 /* 801F8F38 001F4B98 7C 87 22 14 */ add r4, r7, r4 /* 801F8F3C 001F4B9C 93 44 09 64 */ stw r26, 0x964(r4) /* 801F8F40 001F4BA0 1C E3 00 14 */ mulli r7, r3, 0x14 /* 801F8F44 001F4BA4 56 68 25 36 */ rlwinm r8, r19, 4, 0x14, 0x1b /* 801F8F48 001F4BA8 93 44 09 68 */ stw r26, 0x968(r4) /* 801F8F4C 001F4BAC 80 89 16 38 */ lwz r4, 0x1638(r9) /* 801F8F50 001F4BB0 81 64 00 5C */ lwz r11, 0x5c(r4) /* 801F8F54 001F4BB4 7D 6B B3 78 */ or r11, r11, r22 /* 801F8F58 001F4BB8 91 64 00 5C */ stw r11, 0x5c(r4) /* 801F8F5C 001F4BBC 81 29 16 38 */ lwz r9, 0x1638(r9) /* 801F8F60 001F4BC0 80 89 00 00 */ lwz r4, 0(r9) /* 801F8F64 001F4BC4 60 84 00 20 */ ori r4, r4, 0x20 /* 801F8F68 001F4BC8 90 89 00 00 */ stw r4, 0(r9) /* 801F8F6C 001F4BCC 80 8D A3 D8 */ lwz r4, lbl_8063F698-_SDA_BASE_(r13) /* 801F8F70 001F4BD0 81 24 16 38 */ lwz r9, 0x1638(r4) /* 801F8F74 001F4BD4 7C C9 32 14 */ add r6, r9, r6 /* 801F8F78 001F4BD8 90 A6 08 E4 */ stw r5, 0x8e4(r6) /* 801F8F7C 001F4BDC 80 C4 16 38 */ lwz r6, 0x1638(r4) /* 801F8F80 001F4BE0 80 A6 00 54 */ lwz r5, 0x54(r6) /* 801F8F84 001F4BE4 7C A5 B3 78 */ or r5, r5, r22 /* 801F8F88 001F4BE8 90 A6 00 54 */ stw r5, 0x54(r6) /* 801F8F8C 001F4BEC 80 A4 16 38 */ lwz r5, 0x1638(r4) /* 801F8F90 001F4BF0 80 85 00 00 */ lwz r4, 0(r5) /* 801F8F94 001F4BF4 60 84 00 10 */ ori r4, r4, 0x10 /* 801F8F98 001F4BF8 90 85 00 00 */ stw r4, 0(r5) /* 801F8F9C 001F4BFC 80 8D A3 D8 */ lwz r4, lbl_8063F698-_SDA_BASE_(r13) /* 801F8FA0 001F4C00 80 A4 16 38 */ lwz r5, 0x1638(r4) /* 801F8FA4 001F4C04 7C A5 02 14 */ add r5, r5, r0 /* 801F8FA8 001F4C08 90 65 02 84 */ stw r3, 0x284(r5) /* 801F8FAC 001F4C0C 91 45 02 88 */ stw r10, 0x288(r5) /* 801F8FB0 001F4C10 93 85 02 8C */ stw r28, 0x28c(r5) /* 801F8FB4 001F4C14 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F8FB8 001F4C18 80 03 00 28 */ lwz r0, 0x28(r3) /* 801F8FBC 001F4C1C 7C 00 B3 78 */ or r0, r0, r22 /* 801F8FC0 001F4C20 90 03 00 28 */ stw r0, 0x28(r3) /* 801F8FC4 001F4C24 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F8FC8 001F4C28 80 03 00 00 */ lwz r0, 0(r3) /* 801F8FCC 001F4C2C 60 00 00 08 */ ori r0, r0, 8 /* 801F8FD0 001F4C30 90 03 00 00 */ stw r0, 0(r3) /* 801F8FD4 001F4C34 80 8D A3 D8 */ lwz r4, lbl_8063F698-_SDA_BASE_(r13) /* 801F8FD8 001F4C38 80 04 16 38 */ lwz r0, 0x1638(r4) /* 801F8FDC 001F4C3C 7C 60 3A 14 */ add r3, r0, r7 /* 801F8FE0 001F4C40 93 43 05 44 */ stw r26, 0x544(r3) /* 801F8FE4 001F4C44 93 43 05 48 */ stw r26, 0x548(r3) /* 801F8FE8 001F4C48 93 43 05 4C */ stw r26, 0x54c(r3) /* 801F8FEC 001F4C4C 9B 03 05 50 */ stb r24, 0x550(r3) /* 801F8FF0 001F4C50 93 43 05 54 */ stw r26, 0x554(r3) /* 801F8FF4 001F4C54 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F8FF8 001F4C58 80 03 00 34 */ lwz r0, 0x34(r3) /* 801F8FFC 001F4C5C 7C 00 B3 78 */ or r0, r0, r22 /* 801F9000 001F4C60 90 03 00 34 */ stw r0, 0x34(r3) /* 801F9004 001F4C64 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F9008 001F4C68 80 03 00 00 */ lwz r0, 0(r3) /* 801F900C 001F4C6C 60 00 00 08 */ ori r0, r0, 8 /* 801F9010 001F4C70 90 03 00 00 */ stw r0, 0(r3) /* 801F9014 001F4C74 80 8D A3 D8 */ lwz r4, lbl_8063F698-_SDA_BASE_(r13) /* 801F9018 001F4C78 80 04 16 38 */ lwz r0, 0x1638(r4) /* 801F901C 001F4C7C 7C 60 42 14 */ add r3, r0, r8 /* 801F9020 001F4C80 38 00 00 0E */ li r0, 0xe /* 801F9024 001F4C84 93 A3 03 44 */ stw r29, 0x344(r3) /* 801F9028 001F4C88 91 C3 03 48 */ stw r14, 0x348(r3) /* 801F902C 001F4C8C 90 03 03 4C */ stw r0, 0x34c(r3) /* 801F9030 001F4C90 92 43 03 50 */ stw r18, 0x350(r3) /* 801F9034 001F4C94 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F9038 001F4C98 80 03 00 2C */ lwz r0, 0x2c(r3) /* 801F903C 001F4C9C 7C 00 B3 78 */ or r0, r0, r22 /* 801F9040 001F4CA0 90 03 00 2C */ stw r0, 0x2c(r3) /* 801F9044 001F4CA4 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F9048 001F4CA8 80 03 00 00 */ lwz r0, 0(r3) /* 801F904C 001F4CAC 60 00 00 08 */ ori r0, r0, 8 /* 801F9050 001F4CB0 90 03 00 00 */ stw r0, 0(r3) /* 801F9054 001F4CB4 80 8D A3 D8 */ lwz r4, lbl_8063F698-_SDA_BASE_(r13) /* 801F9058 001F4CB8 3A 40 00 00 */ li r18, 0 /* 801F905C 001F4CBC 3A 73 00 01 */ addi r19, r19, 1 /* 801F9060 001F4CC0 80 04 16 38 */ lwz r0, 0x1638(r4) /* 801F9064 001F4CC4 7C 60 3A 14 */ add r3, r0, r7 /* 801F9068 001F4CC8 93 43 06 84 */ stw r26, 0x684(r3) /* 801F906C 001F4CCC 93 43 06 88 */ stw r26, 0x688(r3) /* 801F9070 001F4CD0 93 43 06 8C */ stw r26, 0x68c(r3) /* 801F9074 001F4CD4 9B 43 06 90 */ stb r26, 0x690(r3) /* 801F9078 001F4CD8 93 43 06 94 */ stw r26, 0x694(r3) /* 801F907C 001F4CDC 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F9080 001F4CE0 80 03 00 38 */ lwz r0, 0x38(r3) /* 801F9084 001F4CE4 7C 00 B3 78 */ or r0, r0, r22 /* 801F9088 001F4CE8 90 03 00 38 */ stw r0, 0x38(r3) /* 801F908C 001F4CEC 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F9090 001F4CF0 80 03 00 00 */ lwz r0, 0(r3) /* 801F9094 001F4CF4 60 00 00 08 */ ori r0, r0, 8 /* 801F9098 001F4CF8 90 03 00 00 */ stw r0, 0(r3) /* 801F909C 001F4CFC 80 8D A3 D8 */ lwz r4, lbl_8063F698-_SDA_BASE_(r13) /* 801F90A0 001F4D00 80 04 16 38 */ lwz r0, 0x1638(r4) /* 801F90A4 001F4D04 7C 60 42 14 */ add r3, r0, r8 /* 801F90A8 001F4D08 93 C3 04 44 */ stw r30, 0x444(r3) /* 801F90AC 001F4D0C 93 C3 04 48 */ stw r30, 0x448(r3) /* 801F90B0 001F4D10 93 C3 04 4C */ stw r30, 0x44c(r3) /* 801F90B4 001F4D14 93 C3 04 50 */ stw r30, 0x450(r3) /* 801F90B8 001F4D18 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F90BC 001F4D1C 80 03 00 30 */ lwz r0, 0x30(r3) /* 801F90C0 001F4D20 7C 00 B3 78 */ or r0, r0, r22 /* 801F90C4 001F4D24 90 03 00 30 */ stw r0, 0x30(r3) /* 801F90C8 001F4D28 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F90CC 001F4D2C 80 03 00 00 */ lwz r0, 0(r3) /* 801F90D0 001F4D30 60 00 00 08 */ ori r0, r0, 8 /* 801F90D4 001F4D34 90 03 00 00 */ stw r0, 0(r3) lbl_801F90D8: /* 801F90D8 001F4D38 3A 10 00 01 */ addi r16, r16, 1 /* 801F90DC 001F4D3C 3A 94 00 70 */ addi r20, r20, 0x70 /* 801F90E0 001F4D40 2C 10 00 08 */ cmpwi r16, 8 /* 801F90E4 001F4D44 41 80 FC CC */ blt lbl_801F8DB0 /* 801F90E8 001F4D48 56 60 06 3F */ clrlwi. r0, r19, 0x18 /* 801F90EC 001F4D4C 41 82 03 50 */ beq lbl_801F943C /* 801F90F0 001F4D50 81 2D A3 D8 */ lwz r9, lbl_8063F698-_SDA_BASE_(r13) /* 801F90F4 001F4D54 56 64 1D 78 */ rlwinm r4, r19, 3, 0x15, 0x1c /* 801F90F8 001F4D58 7F 03 00 30 */ slw r3, r24, r0 /* 801F90FC 001F4D5C 56 65 25 36 */ rlwinm r5, r19, 4, 0x14, 0x1b /* 801F9100 001F4D60 80 E9 16 38 */ lwz r7, 0x1638(r9) /* 801F9104 001F4D64 1C C0 00 0C */ mulli r6, r0, 0xc /* 801F9108 001F4D68 7C E7 22 14 */ add r7, r7, r4 /* 801F910C 001F4D6C 93 47 09 64 */ stw r26, 0x964(r7) /* 801F9110 001F4D70 1C 80 00 14 */ mulli r4, r0, 0x14 /* 801F9114 001F4D74 93 47 09 68 */ stw r26, 0x968(r7) /* 801F9118 001F4D78 81 09 16 38 */ lwz r8, 0x1638(r9) /* 801F911C 001F4D7C 80 E8 00 5C */ lwz r7, 0x5c(r8) /* 801F9120 001F4D80 7C E7 1B 78 */ or r7, r7, r3 /* 801F9124 001F4D84 90 E8 00 5C */ stw r7, 0x5c(r8) /* 801F9128 001F4D88 81 09 16 38 */ lwz r8, 0x1638(r9) /* 801F912C 001F4D8C 80 E8 00 00 */ lwz r7, 0(r8) /* 801F9130 001F4D90 60 E7 00 20 */ ori r7, r7, 0x20 /* 801F9134 001F4D94 90 E8 00 00 */ stw r7, 0(r8) /* 801F9138 001F4D98 81 0D A3 D8 */ lwz r8, lbl_8063F698-_SDA_BASE_(r13) /* 801F913C 001F4D9C 80 E8 16 38 */ lwz r7, 0x1638(r8) /* 801F9140 001F4DA0 7C E7 32 14 */ add r7, r7, r6 /* 801F9144 001F4DA4 38 C0 00 04 */ li r6, 4 /* 801F9148 001F4DA8 93 87 02 84 */ stw r28, 0x284(r7) /* 801F914C 001F4DAC 93 87 02 88 */ stw r28, 0x288(r7) /* 801F9150 001F4DB0 90 C7 02 8C */ stw r6, 0x28c(r7) /* 801F9154 001F4DB4 80 E8 16 38 */ lwz r7, 0x1638(r8) /* 801F9158 001F4DB8 80 C7 00 28 */ lwz r6, 0x28(r7) /* 801F915C 001F4DBC 7C C6 1B 78 */ or r6, r6, r3 /* 801F9160 001F4DC0 90 C7 00 28 */ stw r6, 0x28(r7) /* 801F9164 001F4DC4 80 E8 16 38 */ lwz r7, 0x1638(r8) /* 801F9168 001F4DC8 80 C7 00 00 */ lwz r6, 0(r7) /* 801F916C 001F4DCC 60 C6 00 08 */ ori r6, r6, 8 /* 801F9170 001F4DD0 90 C7 00 00 */ stw r6, 0(r7) /* 801F9174 001F4DD4 81 0D A3 D8 */ lwz r8, lbl_8063F698-_SDA_BASE_(r13) /* 801F9178 001F4DD8 80 C8 16 38 */ lwz r6, 0x1638(r8) /* 801F917C 001F4DDC 7C C6 22 14 */ add r6, r6, r4 /* 801F9180 001F4DE0 93 46 05 44 */ stw r26, 0x544(r6) /* 801F9184 001F4DE4 93 46 05 48 */ stw r26, 0x548(r6) /* 801F9188 001F4DE8 93 46 05 4C */ stw r26, 0x54c(r6) /* 801F918C 001F4DEC 9B 06 05 50 */ stb r24, 0x550(r6) /* 801F9190 001F4DF0 93 46 05 54 */ stw r26, 0x554(r6) /* 801F9194 001F4DF4 80 E8 16 38 */ lwz r7, 0x1638(r8) /* 801F9198 001F4DF8 80 C7 00 34 */ lwz r6, 0x34(r7) /* 801F919C 001F4DFC 7C C6 1B 78 */ or r6, r6, r3 /* 801F91A0 001F4E00 90 C7 00 34 */ stw r6, 0x34(r7) /* 801F91A4 001F4E04 80 E8 16 38 */ lwz r7, 0x1638(r8) /* 801F91A8 001F4E08 80 C7 00 00 */ lwz r6, 0(r7) /* 801F91AC 001F4E0C 60 C6 00 08 */ ori r6, r6, 8 /* 801F91B0 001F4E10 90 C7 00 00 */ stw r6, 0(r7) /* 801F91B4 001F4E14 81 0D A3 D8 */ lwz r8, lbl_8063F698-_SDA_BASE_(r13) /* 801F91B8 001F4E18 80 C8 16 38 */ lwz r6, 0x1638(r8) /* 801F91BC 001F4E1C 7C E6 2A 14 */ add r7, r6, r5 /* 801F91C0 001F4E20 38 C0 00 0A */ li r6, 0xa /* 801F91C4 001F4E24 93 A7 03 44 */ stw r29, 0x344(r7) /* 801F91C8 001F4E28 93 47 03 48 */ stw r26, 0x348(r7) /* 801F91CC 001F4E2C 90 C7 03 4C */ stw r6, 0x34c(r7) /* 801F91D0 001F4E30 93 A7 03 50 */ stw r29, 0x350(r7) /* 801F91D4 001F4E34 80 E8 16 38 */ lwz r7, 0x1638(r8) /* 801F91D8 001F4E38 80 C7 00 2C */ lwz r6, 0x2c(r7) /* 801F91DC 001F4E3C 7C C6 1B 78 */ or r6, r6, r3 /* 801F91E0 001F4E40 90 C7 00 2C */ stw r6, 0x2c(r7) /* 801F91E4 001F4E44 80 E8 16 38 */ lwz r7, 0x1638(r8) /* 801F91E8 001F4E48 80 C7 00 00 */ lwz r6, 0(r7) /* 801F91EC 001F4E4C 60 C6 00 08 */ ori r6, r6, 8 /* 801F91F0 001F4E50 90 C7 00 00 */ stw r6, 0(r7) /* 801F91F4 001F4E54 81 4D A3 D8 */ lwz r10, lbl_8063F698-_SDA_BASE_(r13) /* 801F91F8 001F4E58 80 CA 16 38 */ lwz r6, 0x1638(r10) /* 801F91FC 001F4E5C 7C 86 22 14 */ add r4, r6, r4 /* 801F9200 001F4E60 93 44 06 84 */ stw r26, 0x684(r4) /* 801F9204 001F4E64 93 44 06 88 */ stw r26, 0x688(r4) /* 801F9208 001F4E68 93 44 06 8C */ stw r26, 0x68c(r4) /* 801F920C 001F4E6C 9B 04 06 90 */ stb r24, 0x690(r4) /* 801F9210 001F4E70 28 00 00 04 */ cmplwi r0, 4 /* 801F9214 001F4E74 88 E1 00 28 */ lbz r7, 0x28(r1) /* 801F9218 001F4E78 93 44 06 94 */ stw r26, 0x694(r4) /* 801F921C 001F4E7C 88 C1 00 29 */ lbz r6, 0x29(r1) /* 801F9220 001F4E80 81 2A 16 38 */ lwz r9, 0x1638(r10) /* 801F9224 001F4E84 88 81 00 2A */ lbz r4, 0x2a(r1) /* 801F9228 001F4E88 81 09 00 38 */ lwz r8, 0x38(r9) /* 801F922C 001F4E8C 88 01 00 2B */ lbz r0, 0x2b(r1) /* 801F9230 001F4E90 7D 08 1B 78 */ or r8, r8, r3 /* 801F9234 001F4E94 98 E1 00 20 */ stb r7, 0x20(r1) /* 801F9238 001F4E98 91 09 00 38 */ stw r8, 0x38(r9) /* 801F923C 001F4E9C 80 EA 16 38 */ lwz r7, 0x1638(r10) /* 801F9240 001F4EA0 98 C1 00 21 */ stb r6, 0x21(r1) /* 801F9244 001F4EA4 80 C7 00 00 */ lwz r6, 0(r7) /* 801F9248 001F4EA8 98 81 00 22 */ stb r4, 0x22(r1) /* 801F924C 001F4EAC 60 C4 00 08 */ ori r4, r6, 8 /* 801F9250 001F4EB0 90 87 00 00 */ stw r4, 0(r7) /* 801F9254 001F4EB4 80 CD A3 D8 */ lwz r6, lbl_8063F698-_SDA_BASE_(r13) /* 801F9258 001F4EB8 98 01 00 23 */ stb r0, 0x23(r1) /* 801F925C 001F4EBC 80 06 16 38 */ lwz r0, 0x1638(r6) /* 801F9260 001F4EC0 80 81 00 20 */ lwz r4, 0x20(r1) /* 801F9264 001F4EC4 7C A0 2A 14 */ add r5, r0, r5 /* 801F9268 001F4EC8 93 C5 04 44 */ stw r30, 0x444(r5) /* 801F926C 001F4ECC 93 C5 04 48 */ stw r30, 0x448(r5) /* 801F9270 001F4ED0 93 C5 04 4C */ stw r30, 0x44c(r5) /* 801F9274 001F4ED4 93 C5 04 50 */ stw r30, 0x450(r5) /* 801F9278 001F4ED8 80 A6 16 38 */ lwz r5, 0x1638(r6) /* 801F927C 001F4EDC 80 05 00 30 */ lwz r0, 0x30(r5) /* 801F9280 001F4EE0 7C 00 1B 78 */ or r0, r0, r3 /* 801F9284 001F4EE4 90 05 00 30 */ stw r0, 0x30(r5) /* 801F9288 001F4EE8 80 66 16 38 */ lwz r3, 0x1638(r6) /* 801F928C 001F4EEC 80 03 00 00 */ lwz r0, 0(r3) /* 801F9290 001F4EF0 60 00 00 08 */ ori r0, r0, 8 /* 801F9294 001F4EF4 90 03 00 00 */ stw r0, 0(r3) /* 801F9298 001F4EF8 80 01 00 54 */ lwz r0, 0x54(r1) /* 801F929C 001F4EFC 80 AD A3 D8 */ lwz r5, lbl_8063F698-_SDA_BASE_(r13) /* 801F92A0 001F4F00 80 65 16 38 */ lwz r3, 0x1638(r5) /* 801F92A4 001F4F04 93 03 0A 24 */ stw r24, 0xa24(r3) /* 801F92A8 001F4F08 80 65 16 38 */ lwz r3, 0x1638(r5) /* 801F92AC 001F4F0C 90 03 0A 28 */ stw r0, 0xa28(r3) /* 801F92B0 001F4F10 80 01 00 50 */ lwz r0, 0x50(r1) /* 801F92B4 001F4F14 80 65 16 38 */ lwz r3, 0x1638(r5) /* 801F92B8 001F4F18 90 03 0A 2C */ stw r0, 0xa2c(r3) /* 801F92BC 001F4F1C 38 00 00 05 */ li r0, 5 /* 801F92C0 001F4F20 80 65 16 38 */ lwz r3, 0x1638(r5) /* 801F92C4 001F4F24 90 03 0A 30 */ stw r0, 0xa30(r3) /* 801F92C8 001F4F28 80 65 16 38 */ lwz r3, 0x1638(r5) /* 801F92CC 001F4F2C 80 03 00 64 */ lwz r0, 0x64(r3) /* 801F92D0 001F4F30 60 00 00 01 */ ori r0, r0, 1 /* 801F92D4 001F4F34 90 03 00 64 */ stw r0, 0x64(r3) /* 801F92D8 001F4F38 80 65 16 38 */ lwz r3, 0x1638(r5) /* 801F92DC 001F4F3C 80 03 00 00 */ lwz r0, 0(r3) /* 801F92E0 001F4F40 60 00 00 40 */ ori r0, r0, 0x40 /* 801F92E4 001F4F44 90 03 00 00 */ stw r0, 0(r3) /* 801F92E8 001F4F48 80 AD A3 D8 */ lwz r5, lbl_8063F698-_SDA_BASE_(r13) /* 801F92EC 001F4F4C 80 65 16 38 */ lwz r3, 0x1638(r5) /* 801F92F0 001F4F50 90 83 08 DC */ stw r4, 0x8dc(r3) /* 801F92F4 001F4F54 80 65 16 38 */ lwz r3, 0x1638(r5) /* 801F92F8 001F4F58 80 03 00 50 */ lwz r0, 0x50(r3) /* 801F92FC 001F4F5C 60 00 00 04 */ ori r0, r0, 4 /* 801F9300 001F4F60 90 03 00 50 */ stw r0, 0x50(r3) /* 801F9304 001F4F64 80 65 16 38 */ lwz r3, 0x1638(r5) /* 801F9308 001F4F68 80 03 00 00 */ lwz r0, 0(r3) /* 801F930C 001F4F6C 60 00 00 10 */ ori r0, r0, 0x10 /* 801F9310 001F4F70 90 03 00 00 */ stw r0, 0(r3) /* 801F9314 001F4F74 40 81 00 54 */ ble lbl_801F9368 /* 801F9318 001F4F78 88 61 00 2C */ lbz r3, 0x2c(r1) /* 801F931C 001F4F7C 88 A1 00 2D */ lbz r5, 0x2d(r1) /* 801F9320 001F4F80 88 81 00 2E */ lbz r4, 0x2e(r1) /* 801F9324 001F4F84 88 01 00 2F */ lbz r0, 0x2f(r1) /* 801F9328 001F4F88 80 CD A3 D8 */ lwz r6, lbl_8063F698-_SDA_BASE_(r13) /* 801F932C 001F4F8C 98 61 00 1C */ stb r3, 0x1c(r1) /* 801F9330 001F4F90 80 66 16 38 */ lwz r3, 0x1638(r6) /* 801F9334 001F4F94 98 A1 00 1D */ stb r5, 0x1d(r1) /* 801F9338 001F4F98 98 81 00 1E */ stb r4, 0x1e(r1) /* 801F933C 001F4F9C 98 01 00 1F */ stb r0, 0x1f(r1) /* 801F9340 001F4FA0 80 01 00 1C */ lwz r0, 0x1c(r1) /* 801F9344 001F4FA4 90 03 08 E0 */ stw r0, 0x8e0(r3) /* 801F9348 001F4FA8 80 66 16 38 */ lwz r3, 0x1638(r6) /* 801F934C 001F4FAC 80 03 00 50 */ lwz r0, 0x50(r3) /* 801F9350 001F4FB0 60 00 00 08 */ ori r0, r0, 8 /* 801F9354 001F4FB4 90 03 00 50 */ stw r0, 0x50(r3) /* 801F9358 001F4FB8 80 66 16 38 */ lwz r3, 0x1638(r6) /* 801F935C 001F4FBC 80 03 00 00 */ lwz r0, 0(r3) /* 801F9360 001F4FC0 60 00 00 10 */ ori r0, r0, 0x10 /* 801F9364 001F4FC4 90 03 00 00 */ stw r0, 0(r3) lbl_801F9368: /* 801F9368 001F4FC8 81 8D A3 D8 */ lwz r12, lbl_8063F698-_SDA_BASE_(r13) /* 801F936C 001F4FCC 38 13 00 01 */ addi r0, r19, 1 /* 801F9370 001F4FD0 38 80 00 00 */ li r4, 0 /* 801F9374 001F4FD4 38 A0 00 03 */ li r5, 3 /* 801F9378 001F4FD8 80 6C 16 38 */ lwz r3, 0x1638(r12) /* 801F937C 001F4FDC 38 C0 00 00 */ li r6, 0 /* 801F9380 001F4FE0 38 E0 00 00 */ li r7, 0 /* 801F9384 001F4FE4 39 00 00 00 */ li r8, 0 /* 801F9388 001F4FE8 9A 63 00 68 */ stb r19, 0x68(r3) /* 801F938C 001F4FEC 39 20 00 00 */ li r9, 0 /* 801F9390 001F4FF0 39 40 00 02 */ li r10, 2 /* 801F9394 001F4FF4 81 6C 16 38 */ lwz r11, 0x1638(r12) /* 801F9398 001F4FF8 80 6B 00 04 */ lwz r3, 4(r11) /* 801F939C 001F4FFC 60 63 00 01 */ ori r3, r3, 1 /* 801F93A0 001F5000 90 6B 00 04 */ stw r3, 4(r11) /* 801F93A4 001F5004 81 6C 16 38 */ lwz r11, 0x1638(r12) /* 801F93A8 001F5008 80 6B 00 00 */ lwz r3, 0(r11) /* 801F93AC 001F500C 60 63 00 01 */ ori r3, r3, 1 /* 801F93B0 001F5010 90 6B 00 00 */ stw r3, 0(r11) /* 801F93B4 001F5014 81 6D A3 D8 */ lwz r11, lbl_8063F698-_SDA_BASE_(r13) /* 801F93B8 001F5018 80 6B 16 38 */ lwz r3, 0x1638(r11) /* 801F93BC 001F501C 98 03 02 80 */ stb r0, 0x280(r3) /* 801F93C0 001F5020 80 6B 16 38 */ lwz r3, 0x1638(r11) /* 801F93C4 001F5024 80 03 00 24 */ lwz r0, 0x24(r3) /* 801F93C8 001F5028 60 00 00 01 */ ori r0, r0, 1 /* 801F93CC 001F502C 90 03 00 24 */ stw r0, 0x24(r3) /* 801F93D0 001F5030 80 6B 16 38 */ lwz r3, 0x1638(r11) /* 801F93D4 001F5034 80 03 00 00 */ lwz r0, 0(r3) /* 801F93D8 001F5038 60 00 00 08 */ ori r0, r0, 8 /* 801F93DC 001F503C 90 03 00 00 */ stw r0, 0(r3) /* 801F93E0 001F5040 93 41 00 08 */ stw r26, 8(r1) /* 801F93E4 001F5044 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13) /* 801F93E8 001F5048 48 03 A3 A5 */ bl func_8023378C /* 801F93EC 001F504C 80 8D A3 D8 */ lwz r4, lbl_8063F698-_SDA_BASE_(r13) /* 801F93F0 001F5050 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F93F4 001F5054 9B 03 01 8C */ stb r24, 0x18c(r3) /* 801F93F8 001F5058 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F93FC 001F505C 80 03 00 14 */ lwz r0, 0x14(r3) /* 801F9400 001F5060 60 00 00 01 */ ori r0, r0, 1 /* 801F9404 001F5064 90 03 00 14 */ stw r0, 0x14(r3) /* 801F9408 001F5068 80 64 16 38 */ lwz r3, 0x1638(r4) /* 801F940C 001F506C 80 03 00 00 */ lwz r0, 0(r3) /* 801F9410 001F5070 60 00 00 04 */ ori r0, r0, 4 /* 801F9414 001F5074 90 03 00 00 */ stw r0, 0(r3) /* 801F9418 001F5078 80 61 00 10 */ lwz r3, 0x10(r1) /* 801F941C 001F507C 81 E3 00 30 */ lwz r15, 0x30(r3) /* 801F9420 001F5080 48 00 00 14 */ b lbl_801F9434 lbl_801F9424: /* 801F9424 001F5084 80 6F 00 00 */ lwz r3, 0(r15) /* 801F9428 001F5088 7F E4 FB 78 */ mr r4, r31 /* 801F942C 001F508C 4B FF 7F 21 */ bl func_801F134C /* 801F9430 001F5090 81 EF 00 08 */ lwz r15, 8(r15) lbl_801F9434: /* 801F9434 001F5094 2C 0F 00 00 */ cmpwi r15, 0 /* 801F9438 001F5098 40 82 FF EC */ bne lbl_801F9424 lbl_801F943C: /* 801F943C 001F509C 7E A3 00 34 */ cntlzw r3, r21 /* 801F9440 001F50A0 38 00 00 01 */ li r0, 1 /* 801F9444 001F50A4 90 01 00 54 */ stw r0, 0x54(r1) /* 801F9448 001F50A8 38 00 00 01 */ li r0, 1 /* 801F944C 001F50AC 54 75 D9 7F */ rlwinm. r21, r3, 0x1b, 5, 0x1f /* 801F9450 001F50B0 90 01 00 50 */ stw r0, 0x50(r1) /* 801F9454 001F50B4 41 82 F9 44 */ beq lbl_801F8D98 /* 801F9458 001F50B8 80 61 00 10 */ lwz r3, 0x10(r1) /* 801F945C 001F50BC A0 03 00 DC */ lhz r0, 0xdc(r3) /* 801F9460 001F50C0 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 /* 801F9464 001F50C4 41 82 00 3C */ beq lbl_801F94A0 /* 801F9468 001F50C8 80 6D A3 D8 */ lwz r3, lbl_8063F698-_SDA_BASE_(r13) /* 801F946C 001F50CC 38 80 00 01 */ li r4, 1 /* 801F9470 001F50D0 80 C3 16 38 */ lwz r6, 0x1638(r3) /* 801F9474 001F50D4 A0 A6 14 AA */ lhz r5, 0x14aa(r6) /* 801F9478 001F50D8 38 05 FF FF */ addi r0, r5, -1 /* 801F947C 001F50DC B0 06 14 AA */ sth r0, 0x14aa(r6) /* 801F9480 001F50E0 54 00 1B 78 */ rlwinm r0, r0, 3, 0xd, 0x1c /* 801F9484 001F50E4 80 A3 16 38 */ lwz r5, 0x1638(r3) /* 801F9488 001F50E8 7D 05 02 14 */ add r8, r5, r0 /* 801F948C 001F50EC A0 A8 14 CC */ lhz r5, 0x14cc(r8) /* 801F9490 001F50F0 A0 C8 14 CE */ lhz r6, 0x14ce(r8) /* 801F9494 001F50F4 A0 E8 14 D0 */ lhz r7, 0x14d0(r8) /* 801F9498 001F50F8 A1 08 14 D2 */ lhz r8, 0x14d2(r8) /* 801F949C 001F50FC 48 03 BC DD */ bl func_80235178 lbl_801F94A0: /* 801F94A0 001F5100 E3 E1 00 B8 */ psq_l f31, 184(r1), 0, qr0 /* 801F94A4 001F5104 CB E1 00 B0 */ lfd f31, 0xb0(r1) /* 801F94A8 001F5108 E3 C1 00 A8 */ psq_l f30, 168(r1), 0, qr0 /* 801F94AC 001F510C 39 61 00 A0 */ addi r11, r1, 0xa0 /* 801F94B0 001F5110 CB C1 00 A0 */ lfd f30, 0xa0(r1) /* 801F94B4 001F5114 4B FC DC 8D */ bl __restore_gpr /* 801F94B8 001F5118 80 01 00 C4 */ lwz r0, 0xc4(r1) /* 801F94BC 001F511C 7C 08 03 A6 */ mtlr r0 /* 801F94C0 001F5120 38 21 00 C0 */ addi r1, r1, 0xc0 /* 801F94C4 001F5124 4E 80 00 20 */ blr .global func_801F94C8 func_801F94C8: /* 801F94C8 001F5128 94 21 FF D0 */ stwu r1, -0x30(r1) /* 801F94CC 001F512C 7C 08 02 A6 */ mflr r0 /* 801F94D0 001F5130 80 C3 00 04 */ lwz r6, 4(r3) /* 801F94D4 001F5134 90 01 00 34 */ stw r0, 0x34(r1) /* 801F94D8 001F5138 93 E1 00 2C */ stw r31, 0x2c(r1) /* 801F94DC 001F513C 7C BF 2B 78 */ mr r31, r5 /* 801F94E0 001F5140 93 C1 00 28 */ stw r30, 0x28(r1) /* 801F94E4 001F5144 7C 9E 23 78 */ mr r30, r4 /* 801F94E8 001F5148 93 A1 00 24 */ stw r29, 0x24(r1) /* 801F94EC 001F514C 7C 7D 1B 78 */ mr r29, r3 /* 801F94F0 001F5150 80 86 00 18 */ lwz r4, 0x18(r6) /* 801F94F4 001F5154 80 84 00 00 */ lwz r4, 0(r4) /* 801F94F8 001F5158 2C 04 00 00 */ cmpwi r4, 0 /* 801F94FC 001F515C 41 82 00 7C */ beq lbl_801F9578 /* 801F9500 001F5160 80 A3 00 08 */ lwz r5, 8(r3) /* 801F9504 001F5164 2C 05 00 00 */ cmpwi r5, 0 /* 801F9508 001F5168 40 82 00 0C */ bne lbl_801F9514 /* 801F950C 001F516C 38 A0 00 00 */ li r5, 0 /* 801F9510 001F5170 48 00 00 1C */ b lbl_801F952C lbl_801F9514: /* 801F9514 001F5174 A0 03 00 DE */ lhz r0, 0xde(r3) /* 801F9518 001F5178 2C 00 00 00 */ cmpwi r0, 0 /* 801F951C 001F517C 40 82 00 0C */ bne lbl_801F9528 /* 801F9520 001F5180 38 A0 00 00 */ li r5, 0 /* 801F9524 001F5184 48 00 00 08 */ b lbl_801F952C lbl_801F9528: /* 801F9528 001F5188 80 A5 00 00 */ lwz r5, 0(r5) lbl_801F952C: /* 801F952C 001F518C 2C 05 00 00 */ cmpwi r5, 0 /* 801F9530 001F5190 41 82 00 2C */ beq lbl_801F955C /* 801F9534 001F5194 38 65 00 D0 */ addi r3, r5, 0xd0 /* 801F9538 001F5198 38 A1 00 08 */ addi r5, r1, 8 /* 801F953C 001F519C 48 08 34 C1 */ bl PSMTXMultVec /* 801F9540 001F51A0 C0 41 00 08 */ lfs f2, 8(r1) /* 801F9544 001F51A4 C0 21 00 0C */ lfs f1, 0xc(r1) /* 801F9548 001F51A8 C0 01 00 10 */ lfs f0, 0x10(r1) /* 801F954C 001F51AC D0 41 00 14 */ stfs f2, 0x14(r1) /* 801F9550 001F51B0 D0 21 00 18 */ stfs f1, 0x18(r1) /* 801F9554 001F51B4 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 801F9558 001F51B8 48 00 00 38 */ b lbl_801F9590 lbl_801F955C: /* 801F955C 001F51BC C0 43 01 3C */ lfs f2, 0x13c(r3) /* 801F9560 001F51C0 C0 23 01 40 */ lfs f1, 0x140(r3) /* 801F9564 001F51C4 C0 03 01 44 */ lfs f0, 0x144(r3) /* 801F9568 001F51C8 D0 41 00 14 */ stfs f2, 0x14(r1) /* 801F956C 001F51CC D0 21 00 18 */ stfs f1, 0x18(r1) /* 801F9570 001F51D0 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 801F9574 001F51D4 48 00 00 1C */ b lbl_801F9590 lbl_801F9578: /* 801F9578 001F51D8 C0 43 01 3C */ lfs f2, 0x13c(r3) /* 801F957C 001F51DC C0 23 01 40 */ lfs f1, 0x140(r3) /* 801F9580 001F51E0 C0 03 01 44 */ lfs f0, 0x144(r3) /* 801F9584 001F51E4 D0 41 00 14 */ stfs f2, 0x14(r1) /* 801F9588 001F51E8 D0 21 00 18 */ stfs f1, 0x18(r1) /* 801F958C 001F51EC D0 01 00 1C */ stfs f0, 0x1c(r1) lbl_801F9590: /* 801F9590 001F51F0 38 61 00 14 */ addi r3, r1, 0x14 /* 801F9594 001F51F4 7F C4 F3 78 */ mr r4, r30 /* 801F9598 001F51F8 7C 65 1B 78 */ mr r5, r3 /* 801F959C 001F51FC 48 08 37 4D */ bl PSVECSubtract /* 801F95A0 001F5200 7F E4 FB 78 */ mr r4, r31 /* 801F95A4 001F5204 38 61 00 14 */ addi r3, r1, 0x14 /* 801F95A8 001F5208 48 08 38 21 */ bl PSQUATDotProduct /* 801F95AC 001F520C 80 7D 00 04 */ lwz r3, 4(r29) /* 801F95B0 001F5210 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 801F95B4 001F5214 80 63 00 18 */ lwz r3, 0x18(r3) /* 801F95B8 001F5218 83 C1 00 28 */ lwz r30, 0x28(r1) /* 801F95BC 001F521C C0 03 00 04 */ lfs f0, 4(r3) /* 801F95C0 001F5220 83 A1 00 24 */ lwz r29, 0x24(r1) /* 801F95C4 001F5224 80 01 00 34 */ lwz r0, 0x34(r1) /* 801F95C8 001F5228 EC 20 08 2A */ fadds f1, f0, f1 /* 801F95CC 001F522C 7C 08 03 A6 */ mtlr r0 /* 801F95D0 001F5230 38 21 00 30 */ addi r1, r1, 0x30 /* 801F95D4 001F5234 4E 80 00 20 */ blr .global func_801F95D8 func_801F95D8: /* 801F95D8 001F5238 94 21 FF A0 */ stwu r1, -0x60(r1) /* 801F95DC 001F523C 7C 08 02 A6 */ mflr r0 /* 801F95E0 001F5240 90 01 00 64 */ stw r0, 0x64(r1) /* 801F95E4 001F5244 DB E1 00 50 */ stfd f31, 0x50(r1) /* 801F95E8 001F5248 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0 /* 801F95EC 001F524C DB C1 00 40 */ stfd f30, 0x40(r1) /* 801F95F0 001F5250 F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0 /* 801F95F4 001F5254 39 61 00 40 */ addi r11, r1, 0x40 /* 801F95F8 001F5258 4B FC DB 31 */ bl _savegpr_27 /* 801F95FC 001F525C 80 A3 00 04 */ lwz r5, 4(r3) /* 801F9600 001F5260 7C 7B 1B 78 */ mr r27, r3 /* 801F9604 001F5264 A0 05 00 0A */ lhz r0, 0xa(r5) /* 801F9608 001F5268 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 801F960C 001F526C 41 82 01 10 */ beq lbl_801F971C /* 801F9610 001F5270 80 A3 00 30 */ lwz r5, 0x30(r3) /* 801F9614 001F5274 2C 05 00 00 */ cmpwi r5, 0 /* 801F9618 001F5278 40 82 00 08 */ bne lbl_801F9620 /* 801F961C 001F527C 48 00 01 00 */ b lbl_801F971C lbl_801F9620: /* 801F9620 001F5280 80 03 00 34 */ lwz r0, 0x34(r3) /* 801F9624 001F5284 7C 05 00 40 */ cmplw r5, r0 /* 801F9628 001F5288 41 82 00 F4 */ beq lbl_801F971C /* 801F962C 001F528C C0 04 01 AC */ lfs f0, 0x1ac(r4) /* 801F9630 001F5290 38 64 01 C4 */ addi r3, r4, 0x1c4 /* 801F9634 001F5294 38 A1 00 08 */ addi r5, r1, 8 /* 801F9638 001F5298 D0 01 00 14 */ stfs f0, 0x14(r1) /* 801F963C 001F529C C0 04 01 B0 */ lfs f0, 0x1b0(r4) /* 801F9640 001F52A0 D0 01 00 18 */ stfs f0, 0x18(r1) /* 801F9644 001F52A4 C0 04 01 B4 */ lfs f0, 0x1b4(r4) /* 801F9648 001F52A8 38 81 00 14 */ addi r4, r1, 0x14 /* 801F964C 001F52AC D0 01 00 1C */ stfs f0, 0x1c(r1) /* 801F9650 001F52B0 48 08 36 99 */ bl PSVECSubtract /* 801F9654 001F52B4 83 DB 00 30 */ lwz r30, 0x30(r27) /* 801F9658 001F52B8 2C 1E 00 00 */ cmpwi r30, 0 /* 801F965C 001F52BC 41 82 00 C0 */ beq lbl_801F971C /* 801F9660 001F52C0 C3 C2 98 18 */ lfs f30, lbl_80641E18-_SDA2_BASE_(r2) /* 801F9664 001F52C4 48 00 00 B0 */ b lbl_801F9714 lbl_801F9668: /* 801F9668 001F52C8 83 FE 00 08 */ lwz r31, 8(r30) /* 801F966C 001F52CC 38 81 00 14 */ addi r4, r1, 0x14 /* 801F9670 001F52D0 80 7E 00 00 */ lwz r3, 0(r30) /* 801F9674 001F52D4 38 A1 00 08 */ addi r5, r1, 8 /* 801F9678 001F52D8 4B FF 83 31 */ bl func_801F19A8 /* 801F967C 001F52DC EF FE 08 2A */ fadds f31, f30, f1 /* 801F9680 001F52E0 83 BE 00 04 */ lwz r29, 4(r30) /* 801F9684 001F52E4 7F DC F3 78 */ mr r28, r30 /* 801F9688 001F52E8 48 00 00 24 */ b lbl_801F96AC lbl_801F968C: /* 801F968C 001F52EC 80 7D 00 00 */ lwz r3, 0(r29) /* 801F9690 001F52F0 38 81 00 14 */ addi r4, r1, 0x14 /* 801F9694 001F52F4 38 A1 00 08 */ addi r5, r1, 8 /* 801F9698 001F52F8 4B FF 83 11 */ bl func_801F19A8 /* 801F969C 001F52FC FC 01 F8 40 */ fcmpo cr0, f1, f31 /* 801F96A0 001F5300 41 80 00 14 */ blt lbl_801F96B4 /* 801F96A4 001F5304 7F BC EB 78 */ mr r28, r29 /* 801F96A8 001F5308 83 BD 00 04 */ lwz r29, 4(r29) lbl_801F96AC: /* 801F96AC 001F530C 2C 1D 00 00 */ cmpwi r29, 0 /* 801F96B0 001F5310 40 82 FF DC */ bne lbl_801F968C lbl_801F96B4: /* 801F96B4 001F5314 7C 1C F0 40 */ cmplw r28, r30 /* 801F96B8 001F5318 41 82 00 58 */ beq lbl_801F9710 /* 801F96BC 001F531C 80 9E 00 08 */ lwz r4, 8(r30) /* 801F96C0 001F5320 80 7E 00 04 */ lwz r3, 4(r30) /* 801F96C4 001F5324 2C 04 00 00 */ cmpwi r4, 0 /* 801F96C8 001F5328 41 82 00 0C */ beq lbl_801F96D4 /* 801F96CC 001F532C 90 64 00 04 */ stw r3, 4(r4) /* 801F96D0 001F5330 48 00 00 08 */ b lbl_801F96D8 lbl_801F96D4: /* 801F96D4 001F5334 90 7B 00 34 */ stw r3, 0x34(r27) lbl_801F96D8: /* 801F96D8 001F5338 2C 03 00 00 */ cmpwi r3, 0 /* 801F96DC 001F533C 41 82 00 0C */ beq lbl_801F96E8 /* 801F96E0 001F5340 90 83 00 08 */ stw r4, 8(r3) /* 801F96E4 001F5344 48 00 00 08 */ b lbl_801F96EC lbl_801F96E8: /* 801F96E8 001F5348 90 9B 00 30 */ stw r4, 0x30(r27) lbl_801F96EC: /* 801F96EC 001F534C 80 7C 00 04 */ lwz r3, 4(r28) /* 801F96F0 001F5350 93 DC 00 04 */ stw r30, 4(r28) /* 801F96F4 001F5354 2C 03 00 00 */ cmpwi r3, 0 /* 801F96F8 001F5358 93 9E 00 08 */ stw r28, 8(r30) /* 801F96FC 001F535C 90 7E 00 04 */ stw r3, 4(r30) /* 801F9700 001F5360 41 82 00 0C */ beq lbl_801F970C /* 801F9704 001F5364 93 C3 00 08 */ stw r30, 8(r3) /* 801F9708 001F5368 48 00 00 08 */ b lbl_801F9710 lbl_801F970C: /* 801F970C 001F536C 93 DB 00 30 */ stw r30, 0x30(r27) lbl_801F9710: /* 801F9710 001F5370 7F FE FB 78 */ mr r30, r31 lbl_801F9714: /* 801F9714 001F5374 2C 1E 00 00 */ cmpwi r30, 0 /* 801F9718 001F5378 40 82 FF 50 */ bne lbl_801F9668 lbl_801F971C: /* 801F971C 001F537C E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0 /* 801F9720 001F5380 CB E1 00 50 */ lfd f31, 0x50(r1) /* 801F9724 001F5384 E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0 /* 801F9728 001F5388 39 61 00 40 */ addi r11, r1, 0x40 /* 801F972C 001F538C CB C1 00 40 */ lfd f30, 0x40(r1) /* 801F9730 001F5390 4B FC DA 45 */ bl _restgpr_27 /* 801F9734 001F5394 80 01 00 64 */ lwz r0, 0x64(r1) /* 801F9738 001F5398 7C 08 03 A6 */ mtlr r0 /* 801F973C 001F539C 38 21 00 60 */ addi r1, r1, 0x60 /* 801F9740 001F53A0 4E 80 00 20 */ blr .global func_801F9744 func_801F9744: /* 801F9744 001F53A4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801F9748 001F53A8 7C 08 02 A6 */ mflr r0 /* 801F974C 001F53AC 90 01 00 24 */ stw r0, 0x24(r1) /* 801F9750 001F53B0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801F9754 001F53B4 93 C1 00 18 */ stw r30, 0x18(r1) /* 801F9758 001F53B8 3B C0 00 00 */ li r30, 0 /* 801F975C 001F53BC 93 A1 00 14 */ stw r29, 0x14(r1) /* 801F9760 001F53C0 7C 7D 1B 78 */ mr r29, r3 /* 801F9764 001F53C4 A3 E3 00 EC */ lhz r31, 0xec(r3) /* 801F9768 001F53C8 48 00 00 78 */ b lbl_801F97E0 lbl_801F976C: /* 801F976C 001F53CC 80 9D 00 28 */ lwz r4, 0x28(r29) /* 801F9770 001F53D0 2C 04 00 00 */ cmpwi r4, 0 /* 801F9774 001F53D4 40 82 00 0C */ bne lbl_801F9780 /* 801F9778 001F53D8 38 60 00 00 */ li r3, 0 /* 801F977C 001F53DC 48 00 00 54 */ b lbl_801F97D0 lbl_801F9780: /* 801F9780 001F53E0 A0 1D 00 EC */ lhz r0, 0xec(r29) /* 801F9784 001F53E4 57 C3 04 3E */ clrlwi r3, r30, 0x10 /* 801F9788 001F53E8 7C 03 00 40 */ cmplw r3, r0 /* 801F978C 001F53EC 41 80 00 0C */ blt lbl_801F9798 /* 801F9790 001F53F0 38 60 00 00 */ li r3, 0 /* 801F9794 001F53F4 48 00 00 3C */ b lbl_801F97D0 lbl_801F9798: /* 801F9798 001F53F8 80 BD 00 08 */ lwz r5, 8(r29) /* 801F979C 001F53FC 57 C0 0B FC */ rlwinm r0, r30, 1, 0xf, 0x1e /* 801F97A0 001F5400 7C 64 02 2E */ lhzx r3, r4, r0 /* 801F97A4 001F5404 2C 05 00 00 */ cmpwi r5, 0 /* 801F97A8 001F5408 40 82 00 0C */ bne lbl_801F97B4 /* 801F97AC 001F540C 38 60 00 00 */ li r3, 0 /* 801F97B0 001F5410 48 00 00 20 */ b lbl_801F97D0 lbl_801F97B4: /* 801F97B4 001F5414 A0 1D 00 DE */ lhz r0, 0xde(r29) /* 801F97B8 001F5418 7C 03 00 40 */ cmplw r3, r0 /* 801F97BC 001F541C 41 80 00 0C */ blt lbl_801F97C8 /* 801F97C0 001F5420 38 60 00 00 */ li r3, 0 /* 801F97C4 001F5424 48 00 00 0C */ b lbl_801F97D0 lbl_801F97C8: /* 801F97C8 001F5428 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 801F97CC 001F542C 7C 65 00 2E */ lwzx r3, r5, r0 lbl_801F97D0: /* 801F97D0 001F5430 2C 03 00 00 */ cmpwi r3, 0 /* 801F97D4 001F5434 41 82 00 08 */ beq lbl_801F97DC /* 801F97D8 001F5438 48 00 0C C9 */ bl func_801FA4A0 lbl_801F97DC: /* 801F97DC 001F543C 3B DE 00 01 */ addi r30, r30, 1 lbl_801F97E0: /* 801F97E0 001F5440 57 C0 04 3E */ clrlwi r0, r30, 0x10 /* 801F97E4 001F5444 7C 00 F8 40 */ cmplw r0, r31 /* 801F97E8 001F5448 41 80 FF 84 */ blt lbl_801F976C /* 801F97EC 001F544C 80 01 00 24 */ lwz r0, 0x24(r1) /* 801F97F0 001F5450 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801F97F4 001F5454 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801F97F8 001F5458 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801F97FC 001F545C 7C 08 03 A6 */ mtlr r0 /* 801F9800 001F5460 38 21 00 20 */ addi r1, r1, 0x20 /* 801F9804 001F5464 4E 80 00 20 */ blr .global func_801F9808 func_801F9808: /* 801F9808 001F5468 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801F980C 001F546C 7C 08 02 A6 */ mflr r0 /* 801F9810 001F5470 90 01 00 24 */ stw r0, 0x24(r1) /* 801F9814 001F5474 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801F9818 001F5478 93 C1 00 18 */ stw r30, 0x18(r1) /* 801F981C 001F547C 3B C0 00 00 */ li r30, 0 /* 801F9820 001F5480 93 A1 00 14 */ stw r29, 0x14(r1) /* 801F9824 001F5484 7C 7D 1B 78 */ mr r29, r3 /* 801F9828 001F5488 A3 E3 00 EC */ lhz r31, 0xec(r3) /* 801F982C 001F548C 48 00 00 78 */ b lbl_801F98A4 lbl_801F9830: /* 801F9830 001F5490 80 9D 00 28 */ lwz r4, 0x28(r29) /* 801F9834 001F5494 2C 04 00 00 */ cmpwi r4, 0 /* 801F9838 001F5498 40 82 00 0C */ bne lbl_801F9844 /* 801F983C 001F549C 38 60 00 00 */ li r3, 0 /* 801F9840 001F54A0 48 00 00 54 */ b lbl_801F9894 lbl_801F9844: /* 801F9844 001F54A4 A0 1D 00 EC */ lhz r0, 0xec(r29) /* 801F9848 001F54A8 57 C3 04 3E */ clrlwi r3, r30, 0x10 /* 801F984C 001F54AC 7C 03 00 40 */ cmplw r3, r0 /* 801F9850 001F54B0 41 80 00 0C */ blt lbl_801F985C /* 801F9854 001F54B4 38 60 00 00 */ li r3, 0 /* 801F9858 001F54B8 48 00 00 3C */ b lbl_801F9894 lbl_801F985C: /* 801F985C 001F54BC 80 BD 00 08 */ lwz r5, 8(r29) /* 801F9860 001F54C0 57 C0 0B FC */ rlwinm r0, r30, 1, 0xf, 0x1e /* 801F9864 001F54C4 7C 64 02 2E */ lhzx r3, r4, r0 /* 801F9868 001F54C8 2C 05 00 00 */ cmpwi r5, 0 /* 801F986C 001F54CC 40 82 00 0C */ bne lbl_801F9878 /* 801F9870 001F54D0 38 60 00 00 */ li r3, 0 /* 801F9874 001F54D4 48 00 00 20 */ b lbl_801F9894 lbl_801F9878: /* 801F9878 001F54D8 A0 1D 00 DE */ lhz r0, 0xde(r29) /* 801F987C 001F54DC 7C 03 00 40 */ cmplw r3, r0 /* 801F9880 001F54E0 41 80 00 0C */ blt lbl_801F988C /* 801F9884 001F54E4 38 60 00 00 */ li r3, 0 /* 801F9888 001F54E8 48 00 00 0C */ b lbl_801F9894 lbl_801F988C: /* 801F988C 001F54EC 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 801F9890 001F54F0 7C 65 00 2E */ lwzx r3, r5, r0 lbl_801F9894: /* 801F9894 001F54F4 2C 03 00 00 */ cmpwi r3, 0 /* 801F9898 001F54F8 41 82 00 08 */ beq lbl_801F98A0 /* 801F989C 001F54FC 48 00 0D 41 */ bl func_801FA5DC lbl_801F98A0: /* 801F98A0 001F5500 3B DE 00 01 */ addi r30, r30, 1 lbl_801F98A4: /* 801F98A4 001F5504 57 C0 04 3E */ clrlwi r0, r30, 0x10 /* 801F98A8 001F5508 7C 00 F8 40 */ cmplw r0, r31 /* 801F98AC 001F550C 41 80 FF 84 */ blt lbl_801F9830 /* 801F98B0 001F5510 80 01 00 24 */ lwz r0, 0x24(r1) /* 801F98B4 001F5514 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801F98B8 001F5518 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801F98BC 001F551C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801F98C0 001F5520 7C 08 03 A6 */ mtlr r0 /* 801F98C4 001F5524 38 21 00 20 */ addi r1, r1, 0x20 /* 801F98C8 001F5528 4E 80 00 20 */ blr .global func_801F98CC func_801F98CC: /* 801F98CC 001F552C 38 A0 00 01 */ li r5, 1 /* 801F98D0 001F5530 38 6D A1 20 */ addi r3, r13, lbl_8063F3E0-_SDA_BASE_ /* 801F98D4 001F5534 38 80 00 04 */ li r4, 4 /* 801F98D8 001F5538 38 00 00 00 */ li r0, 0 /* 801F98DC 001F553C 98 AD A1 20 */ stb r5, lbl_8063F3E0-_SDA_BASE_(r13) /* 801F98E0 001F5540 B0 83 00 02 */ sth r4, 2(r3) /* 801F98E4 001F5544 98 03 00 04 */ stb r0, 4(r3) /* 801F98E8 001F5548 4E 80 00 20 */ blr