.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global func_8021D424 func_8021D424: /* 8021D424 00219084 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8021D428 00219088 7C 08 02 A6 */ mflr r0 /* 8021D42C 0021908C 90 01 00 24 */ stw r0, 0x24(r1) /* 8021D430 00219090 39 61 00 20 */ addi r11, r1, 0x20 /* 8021D434 00219094 4B FA 9C F5 */ bl _savegpr_27 /* 8021D438 00219098 7C 7C 1B 78 */ mr r28, r3 /* 8021D43C 0021909C 7C 9D 23 78 */ mr r29, r4 /* 8021D440 002190A0 4B FF FC A1 */ bl func_8021D0E0 /* 8021D444 002190A4 C0 02 9B 84 */ lfs f0, lbl_80642184-_SDA2_BASE_(r2) /* 8021D448 002190A8 3C 60 80 42 */ lis r3, lbl_80423B70@ha /* 8021D44C 002190AC 38 A0 00 00 */ li r5, 0 /* 8021D450 002190B0 C0 22 9B 80 */ lfs f1, lbl_80642180-_SDA2_BASE_(r2) /* 8021D454 002190B4 38 80 00 01 */ li r4, 1 /* 8021D458 002190B8 38 63 3B 70 */ addi r3, r3, lbl_80423B70@l /* 8021D45C 002190BC 38 00 00 FF */ li r0, 0xff /* 8021D460 002190C0 90 7C 00 0C */ stw r3, 0xc(r28) /* 8021D464 002190C4 3B C0 00 00 */ li r30, 0 /* 8021D468 002190C8 38 60 00 00 */ li r3, 0 /* 8021D46C 002190CC 93 BC 00 10 */ stw r29, 0x10(r28) /* 8021D470 002190D0 90 BC 00 14 */ stw r5, 0x14(r28) /* 8021D474 002190D4 90 BC 00 18 */ stw r5, 0x18(r28) /* 8021D478 002190D8 B0 BC 00 1C */ sth r5, 0x1c(r28) /* 8021D47C 002190DC 98 BC 00 1E */ stb r5, 0x1e(r28) /* 8021D480 002190E0 98 9C 00 1F */ stb r4, 0x1f(r28) /* 8021D484 002190E4 98 9C 00 20 */ stb r4, 0x20(r28) /* 8021D488 002190E8 98 9C 00 21 */ stb r4, 0x21(r28) /* 8021D48C 002190EC D0 3C 00 24 */ stfs f1, 0x24(r28) /* 8021D490 002190F0 98 BC 00 28 */ stb r5, 0x28(r28) /* 8021D494 002190F4 98 BC 00 29 */ stb r5, 0x29(r28) /* 8021D498 002190F8 98 BC 00 2A */ stb r5, 0x2a(r28) /* 8021D49C 002190FC 98 1C 00 2B */ stb r0, 0x2b(r28) /* 8021D4A0 00219100 D0 1C 00 2C */ stfs f0, 0x2c(r28) /* 8021D4A4 00219104 D0 1C 00 30 */ stfs f0, 0x30(r28) /* 8021D4A8 00219108 D0 1C 00 34 */ stfs f0, 0x34(r28) /* 8021D4AC 0021910C D0 1C 00 38 */ stfs f0, 0x38(r28) /* 8021D4B0 00219110 D0 1C 00 3C */ stfs f0, 0x3c(r28) /* 8021D4B4 00219114 D0 1C 00 40 */ stfs f0, 0x40(r28) /* 8021D4B8 00219118 D0 1C 00 44 */ stfs f0, 0x44(r28) /* 8021D4BC 0021911C D0 1C 00 48 */ stfs f0, 0x48(r28) /* 8021D4C0 00219120 D0 1C 00 4C */ stfs f0, 0x4c(r28) /* 8021D4C4 00219124 D0 1C 00 50 */ stfs f0, 0x50(r28) /* 8021D4C8 00219128 D0 1C 00 54 */ stfs f0, 0x54(r28) /* 8021D4CC 0021912C D0 3C 00 58 */ stfs f1, 0x58(r28) /* 8021D4D0 00219130 D0 1C 00 5C */ stfs f0, 0x5c(r28) /* 8021D4D4 00219134 D0 1C 00 60 */ stfs f0, 0x60(r28) /* 8021D4D8 00219138 D0 1C 00 64 */ stfs f0, 0x64(r28) /* 8021D4DC 0021913C D0 1C 00 68 */ stfs f0, 0x68(r28) /* 8021D4E0 00219140 D0 3C 00 6C */ stfs f1, 0x6c(r28) /* 8021D4E4 00219144 A3 FD 00 EC */ lhz r31, 0xec(r29) /* 8021D4E8 00219148 48 00 01 2C */ b lbl_8021D614 lbl_8021D4EC: /* 8021D4EC 0021914C 80 BD 00 28 */ lwz r5, 0x28(r29) /* 8021D4F0 00219150 2C 05 00 00 */ cmpwi r5, 0 /* 8021D4F4 00219154 40 82 00 0C */ bne lbl_8021D500 /* 8021D4F8 00219158 38 80 00 00 */ li r4, 0 /* 8021D4FC 0021915C 48 00 00 54 */ b lbl_8021D550 lbl_8021D500: /* 8021D500 00219160 A0 1D 00 EC */ lhz r0, 0xec(r29) /* 8021D504 00219164 54 64 04 3E */ clrlwi r4, r3, 0x10 /* 8021D508 00219168 7C 04 00 40 */ cmplw r4, r0 /* 8021D50C 0021916C 41 80 00 0C */ blt lbl_8021D518 /* 8021D510 00219170 38 80 00 00 */ li r4, 0 /* 8021D514 00219174 48 00 00 3C */ b lbl_8021D550 lbl_8021D518: /* 8021D518 00219178 80 DD 00 08 */ lwz r6, 8(r29) /* 8021D51C 0021917C 54 60 0B FC */ rlwinm r0, r3, 1, 0xf, 0x1e /* 8021D520 00219180 7C 85 02 2E */ lhzx r4, r5, r0 /* 8021D524 00219184 2C 06 00 00 */ cmpwi r6, 0 /* 8021D528 00219188 40 82 00 0C */ bne lbl_8021D534 /* 8021D52C 0021918C 38 80 00 00 */ li r4, 0 /* 8021D530 00219190 48 00 00 20 */ b lbl_8021D550 lbl_8021D534: /* 8021D534 00219194 A0 1D 00 DE */ lhz r0, 0xde(r29) /* 8021D538 00219198 7C 04 00 40 */ cmplw r4, r0 /* 8021D53C 0021919C 41 80 00 0C */ blt lbl_8021D548 /* 8021D540 002191A0 38 80 00 00 */ li r4, 0 /* 8021D544 002191A4 48 00 00 0C */ b lbl_8021D550 lbl_8021D548: /* 8021D548 002191A8 54 80 13 BA */ rlwinm r0, r4, 2, 0xe, 0x1d /* 8021D54C 002191AC 7C 86 00 2E */ lwzx r4, r6, r0 lbl_8021D550: /* 8021D550 002191B0 2C 04 00 00 */ cmpwi r4, 0 /* 8021D554 002191B4 41 82 00 BC */ beq lbl_8021D610 /* 8021D558 002191B8 80 84 01 44 */ lwz r4, 0x144(r4) /* 8021D55C 002191BC 38 E0 00 00 */ li r7, 0 /* 8021D560 002191C0 A0 A4 00 34 */ lhz r5, 0x34(r4) /* 8021D564 002191C4 80 C4 00 40 */ lwz r6, 0x40(r4) /* 8021D568 002191C8 2C 05 00 00 */ cmpwi r5, 0 /* 8021D56C 002191CC 41 82 00 98 */ beq lbl_8021D604 /* 8021D570 002191D0 28 05 00 08 */ cmplwi r5, 8 /* 8021D574 002191D4 3C 85 00 01 */ addis r4, r5, 1 /* 8021D578 002191D8 38 84 FF F8 */ addi r4, r4, -8 /* 8021D57C 002191DC 40 81 00 7C */ ble lbl_8021D5F8 /* 8021D580 002191E0 54 84 04 3E */ clrlwi r4, r4, 0x10 /* 8021D584 002191E4 38 04 00 07 */ addi r0, r4, 7 /* 8021D588 002191E8 54 00 E8 FE */ srwi r0, r0, 3 /* 8021D58C 002191EC 7C 09 03 A6 */ mtctr r0 /* 8021D590 002191F0 28 04 00 00 */ cmplwi r4, 0 /* 8021D594 002191F4 40 81 00 64 */ ble lbl_8021D5F8 lbl_8021D598: /* 8021D598 002191F8 88 86 00 03 */ lbz r4, 3(r6) /* 8021D59C 002191FC 38 E7 00 08 */ addi r7, r7, 8 /* 8021D5A0 00219200 88 06 00 0B */ lbz r0, 0xb(r6) /* 8021D5A4 00219204 7F DE 22 14 */ add r30, r30, r4 /* 8021D5A8 00219208 88 86 00 13 */ lbz r4, 0x13(r6) /* 8021D5AC 0021920C 7F DE 02 14 */ add r30, r30, r0 /* 8021D5B0 00219210 88 06 00 1B */ lbz r0, 0x1b(r6) /* 8021D5B4 00219214 7F DE 22 14 */ add r30, r30, r4 /* 8021D5B8 00219218 88 86 00 23 */ lbz r4, 0x23(r6) /* 8021D5BC 0021921C 7F DE 02 14 */ add r30, r30, r0 /* 8021D5C0 00219220 88 06 00 2B */ lbz r0, 0x2b(r6) /* 8021D5C4 00219224 7F DE 22 14 */ add r30, r30, r4 /* 8021D5C8 00219228 88 86 00 33 */ lbz r4, 0x33(r6) /* 8021D5CC 0021922C 7F DE 02 14 */ add r30, r30, r0 /* 8021D5D0 00219230 88 06 00 3B */ lbz r0, 0x3b(r6) /* 8021D5D4 00219234 7F DE 22 14 */ add r30, r30, r4 /* 8021D5D8 00219238 38 C6 00 40 */ addi r6, r6, 0x40 /* 8021D5DC 0021923C 7F DE 02 14 */ add r30, r30, r0 /* 8021D5E0 00219240 42 00 FF B8 */ bdnz lbl_8021D598 /* 8021D5E4 00219244 48 00 00 14 */ b lbl_8021D5F8 lbl_8021D5E8: /* 8021D5E8 00219248 88 06 00 03 */ lbz r0, 3(r6) /* 8021D5EC 0021924C 38 E7 00 01 */ addi r7, r7, 1 /* 8021D5F0 00219250 38 C6 00 08 */ addi r6, r6, 8 /* 8021D5F4 00219254 7F DE 02 14 */ add r30, r30, r0 lbl_8021D5F8: /* 8021D5F8 00219258 54 E0 04 3E */ clrlwi r0, r7, 0x10 /* 8021D5FC 0021925C 7C 00 28 40 */ cmplw r0, r5 /* 8021D600 00219260 41 80 FF E8 */ blt lbl_8021D5E8 lbl_8021D604: /* 8021D604 00219264 A0 1C 00 1C */ lhz r0, 0x1c(r28) /* 8021D608 00219268 7C 00 2A 14 */ add r0, r0, r5 /* 8021D60C 0021926C B0 1C 00 1C */ sth r0, 0x1c(r28) lbl_8021D610: /* 8021D610 00219270 38 63 00 01 */ addi r3, r3, 1 lbl_8021D614: /* 8021D614 00219274 54 60 04 3E */ clrlwi r0, r3, 0x10 /* 8021D618 00219278 7C 00 F8 40 */ cmplw r0, r31 /* 8021D61C 0021927C 41 80 FE D0 */ blt lbl_8021D4EC /* 8021D620 00219280 A3 7C 00 1C */ lhz r27, 0x1c(r28) /* 8021D624 00219284 2C 1B 00 00 */ cmpwi r27, 0 /* 8021D628 00219288 41 82 02 14 */ beq lbl_8021D83C /* 8021D62C 0021928C 2C 1E 00 00 */ cmpwi r30, 0 /* 8021D630 00219290 41 82 02 0C */ beq lbl_8021D83C /* 8021D634 00219294 1C 7B 00 3C */ mulli r3, r27, 0x3c /* 8021D638 00219298 38 63 00 10 */ addi r3, r3, 0x10 /* 8021D63C 0021929C 4B FB D4 39 */ bl __nwa__FUl /* 8021D640 002192A0 3C 80 80 22 */ lis r4, lbl_8021EA24@ha /* 8021D644 002192A4 7F 67 DB 78 */ mr r7, r27 /* 8021D648 002192A8 38 84 EA 24 */ addi r4, r4, lbl_8021EA24@l /* 8021D64C 002192AC 38 A0 00 00 */ li r5, 0 /* 8021D650 002192B0 38 C0 00 3C */ li r6, 0x3c /* 8021D654 002192B4 4B FA 96 55 */ bl __construct_new_array /* 8021D658 002192B8 2C 03 00 00 */ cmpwi r3, 0 /* 8021D65C 002192BC 90 7C 00 14 */ stw r3, 0x14(r28) /* 8021D660 002192C0 41 82 01 DC */ beq lbl_8021D83C /* 8021D664 002192C4 1C 7E 00 0C */ mulli r3, r30, 0xc /* 8021D668 002192C8 38 63 00 10 */ addi r3, r3, 0x10 /* 8021D66C 002192CC 4B FB D4 09 */ bl __nwa__FUl /* 8021D670 002192D0 3C 80 80 03 */ lis r4, func_8002A294@ha /* 8021D674 002192D4 7F C7 F3 78 */ mr r7, r30 /* 8021D678 002192D8 38 84 A2 94 */ addi r4, r4, func_8002A294@l /* 8021D67C 002192DC 38 A0 00 00 */ li r5, 0 /* 8021D680 002192E0 38 C0 00 0C */ li r6, 0xc /* 8021D684 002192E4 4B FA 96 25 */ bl __construct_new_array /* 8021D688 002192E8 2C 03 00 00 */ cmpwi r3, 0 /* 8021D68C 002192EC 90 7C 00 18 */ stw r3, 0x18(r28) /* 8021D690 002192F0 41 82 01 AC */ beq lbl_8021D83C /* 8021D694 002192F4 81 1C 00 14 */ lwz r8, 0x14(r28) /* 8021D698 002192F8 38 80 00 00 */ li r4, 0 /* 8021D69C 002192FC 48 00 01 94 */ b lbl_8021D830 lbl_8021D6A0: /* 8021D6A0 00219300 80 DD 00 28 */ lwz r6, 0x28(r29) /* 8021D6A4 00219304 2C 06 00 00 */ cmpwi r6, 0 /* 8021D6A8 00219308 40 82 00 0C */ bne lbl_8021D6B4 /* 8021D6AC 0021930C 38 A0 00 00 */ li r5, 0 /* 8021D6B0 00219310 48 00 00 54 */ b lbl_8021D704 lbl_8021D6B4: /* 8021D6B4 00219314 A0 1D 00 EC */ lhz r0, 0xec(r29) /* 8021D6B8 00219318 54 85 04 3E */ clrlwi r5, r4, 0x10 /* 8021D6BC 0021931C 7C 05 00 40 */ cmplw r5, r0 /* 8021D6C0 00219320 41 80 00 0C */ blt lbl_8021D6CC /* 8021D6C4 00219324 38 A0 00 00 */ li r5, 0 /* 8021D6C8 00219328 48 00 00 3C */ b lbl_8021D704 lbl_8021D6CC: /* 8021D6CC 0021932C 80 FD 00 08 */ lwz r7, 8(r29) /* 8021D6D0 00219330 54 80 0B FC */ rlwinm r0, r4, 1, 0xf, 0x1e /* 8021D6D4 00219334 7C A6 02 2E */ lhzx r5, r6, r0 /* 8021D6D8 00219338 2C 07 00 00 */ cmpwi r7, 0 /* 8021D6DC 0021933C 40 82 00 0C */ bne lbl_8021D6E8 /* 8021D6E0 00219340 38 A0 00 00 */ li r5, 0 /* 8021D6E4 00219344 48 00 00 20 */ b lbl_8021D704 lbl_8021D6E8: /* 8021D6E8 00219348 A0 1D 00 DE */ lhz r0, 0xde(r29) /* 8021D6EC 0021934C 7C 05 00 40 */ cmplw r5, r0 /* 8021D6F0 00219350 41 80 00 0C */ blt lbl_8021D6FC /* 8021D6F4 00219354 38 A0 00 00 */ li r5, 0 /* 8021D6F8 00219358 48 00 00 0C */ b lbl_8021D704 lbl_8021D6FC: /* 8021D6FC 0021935C 54 A0 13 BA */ rlwinm r0, r5, 2, 0xe, 0x1d /* 8021D700 00219360 7C A7 00 2E */ lwzx r5, r7, r0 lbl_8021D704: /* 8021D704 00219364 2C 05 00 00 */ cmpwi r5, 0 /* 8021D708 00219368 41 82 01 24 */ beq lbl_8021D82C /* 8021D70C 0021936C 80 A5 01 44 */ lwz r5, 0x144(r5) /* 8021D710 00219370 38 C0 00 00 */ li r6, 0 /* 8021D714 00219374 A0 E5 00 34 */ lhz r7, 0x34(r5) /* 8021D718 00219378 80 A5 00 40 */ lwz r5, 0x40(r5) /* 8021D71C 0021937C 2C 07 00 00 */ cmpwi r7, 0 /* 8021D720 00219380 41 82 01 0C */ beq lbl_8021D82C /* 8021D724 00219384 28 07 00 08 */ cmplwi r7, 8 /* 8021D728 00219388 3D 27 00 01 */ addis r9, r7, 1 /* 8021D72C 0021938C 39 29 FF F8 */ addi r9, r9, -8 /* 8021D730 00219390 40 81 00 F0 */ ble lbl_8021D820 /* 8021D734 00219394 55 29 04 3E */ clrlwi r9, r9, 0x10 /* 8021D738 00219398 38 09 00 07 */ addi r0, r9, 7 /* 8021D73C 0021939C 54 00 E8 FE */ srwi r0, r0, 3 /* 8021D740 002193A0 7C 09 03 A6 */ mtctr r0 /* 8021D744 002193A4 28 09 00 00 */ cmplwi r9, 0 /* 8021D748 002193A8 40 81 00 D8 */ ble lbl_8021D820 lbl_8021D74C: /* 8021D74C 002193AC 88 05 00 03 */ lbz r0, 3(r5) /* 8021D750 002193B0 38 C6 00 08 */ addi r6, r6, 8 /* 8021D754 002193B4 B0 08 00 10 */ sth r0, 0x10(r8) /* 8021D758 002193B8 1C 00 00 0C */ mulli r0, r0, 0xc /* 8021D75C 002193BC 90 68 00 0C */ stw r3, 0xc(r8) /* 8021D760 002193C0 7C 63 02 14 */ add r3, r3, r0 /* 8021D764 002193C4 88 05 00 0B */ lbz r0, 0xb(r5) /* 8021D768 002193C8 B0 08 00 4C */ sth r0, 0x4c(r8) /* 8021D76C 002193CC 1C 00 00 0C */ mulli r0, r0, 0xc /* 8021D770 002193D0 90 68 00 48 */ stw r3, 0x48(r8) /* 8021D774 002193D4 7C 63 02 14 */ add r3, r3, r0 /* 8021D778 002193D8 88 05 00 13 */ lbz r0, 0x13(r5) /* 8021D77C 002193DC B0 08 00 88 */ sth r0, 0x88(r8) /* 8021D780 002193E0 1C 00 00 0C */ mulli r0, r0, 0xc /* 8021D784 002193E4 90 68 00 84 */ stw r3, 0x84(r8) /* 8021D788 002193E8 7C 63 02 14 */ add r3, r3, r0 /* 8021D78C 002193EC 88 05 00 1B */ lbz r0, 0x1b(r5) /* 8021D790 002193F0 B0 08 00 C4 */ sth r0, 0xc4(r8) /* 8021D794 002193F4 1C 00 00 0C */ mulli r0, r0, 0xc /* 8021D798 002193F8 90 68 00 C0 */ stw r3, 0xc0(r8) /* 8021D79C 002193FC 7C 63 02 14 */ add r3, r3, r0 /* 8021D7A0 00219400 88 05 00 23 */ lbz r0, 0x23(r5) /* 8021D7A4 00219404 B0 08 01 00 */ sth r0, 0x100(r8) /* 8021D7A8 00219408 1C 00 00 0C */ mulli r0, r0, 0xc /* 8021D7AC 0021940C 90 68 00 FC */ stw r3, 0xfc(r8) /* 8021D7B0 00219410 7C 63 02 14 */ add r3, r3, r0 /* 8021D7B4 00219414 88 05 00 2B */ lbz r0, 0x2b(r5) /* 8021D7B8 00219418 B0 08 01 3C */ sth r0, 0x13c(r8) /* 8021D7BC 0021941C 1C 00 00 0C */ mulli r0, r0, 0xc /* 8021D7C0 00219420 90 68 01 38 */ stw r3, 0x138(r8) /* 8021D7C4 00219424 7C 63 02 14 */ add r3, r3, r0 /* 8021D7C8 00219428 88 05 00 33 */ lbz r0, 0x33(r5) /* 8021D7CC 0021942C B0 08 01 78 */ sth r0, 0x178(r8) /* 8021D7D0 00219430 1C 00 00 0C */ mulli r0, r0, 0xc /* 8021D7D4 00219434 90 68 01 74 */ stw r3, 0x174(r8) /* 8021D7D8 00219438 7C 63 02 14 */ add r3, r3, r0 /* 8021D7DC 0021943C 88 05 00 3B */ lbz r0, 0x3b(r5) /* 8021D7E0 00219440 38 A5 00 40 */ addi r5, r5, 0x40 /* 8021D7E4 00219444 B0 08 01 B4 */ sth r0, 0x1b4(r8) /* 8021D7E8 00219448 1C 00 00 0C */ mulli r0, r0, 0xc /* 8021D7EC 0021944C 90 68 01 B0 */ stw r3, 0x1b0(r8) /* 8021D7F0 00219450 39 08 01 E0 */ addi r8, r8, 0x1e0 /* 8021D7F4 00219454 7C 63 02 14 */ add r3, r3, r0 /* 8021D7F8 00219458 42 00 FF 54 */ bdnz lbl_8021D74C /* 8021D7FC 0021945C 48 00 00 24 */ b lbl_8021D820 lbl_8021D800: /* 8021D800 00219460 88 05 00 03 */ lbz r0, 3(r5) /* 8021D804 00219464 38 A5 00 08 */ addi r5, r5, 8 /* 8021D808 00219468 38 C6 00 01 */ addi r6, r6, 1 /* 8021D80C 0021946C B0 08 00 10 */ sth r0, 0x10(r8) /* 8021D810 00219470 1C 00 00 0C */ mulli r0, r0, 0xc /* 8021D814 00219474 90 68 00 0C */ stw r3, 0xc(r8) /* 8021D818 00219478 39 08 00 3C */ addi r8, r8, 0x3c /* 8021D81C 0021947C 7C 63 02 14 */ add r3, r3, r0 lbl_8021D820: /* 8021D820 00219480 54 C0 04 3E */ clrlwi r0, r6, 0x10 /* 8021D824 00219484 7C 00 38 40 */ cmplw r0, r7 /* 8021D828 00219488 41 80 FF D8 */ blt lbl_8021D800 lbl_8021D82C: /* 8021D82C 0021948C 38 84 00 01 */ addi r4, r4, 1 lbl_8021D830: /* 8021D830 00219490 54 80 04 3E */ clrlwi r0, r4, 0x10 /* 8021D834 00219494 7C 00 F8 40 */ cmplw r0, r31 /* 8021D838 00219498 41 80 FE 68 */ blt lbl_8021D6A0 lbl_8021D83C: /* 8021D83C 0021949C 80 8D A1 A8 */ lwz r4, lbl_8063F468-_SDA_BASE_(r13) /* 8021D840 002194A0 39 61 00 20 */ addi r11, r1, 0x20 /* 8021D844 002194A4 7F 83 E3 78 */ mr r3, r28 /* 8021D848 002194A8 88 04 00 04 */ lbz r0, 4(r4) /* 8021D84C 002194AC 64 00 00 02 */ oris r0, r0, 2 /* 8021D850 002194B0 60 00 08 00 */ ori r0, r0, 0x800 /* 8021D854 002194B4 90 1C 00 04 */ stw r0, 4(r28) /* 8021D858 002194B8 4B FA 99 1D */ bl _restgpr_27 /* 8021D85C 002194BC 80 01 00 24 */ lwz r0, 0x24(r1) /* 8021D860 002194C0 7C 08 03 A6 */ mtlr r0 /* 8021D864 002194C4 38 21 00 20 */ addi r1, r1, 0x20 /* 8021D868 002194C8 4E 80 00 20 */ blr /* 8021D86C 002194CC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8021D870 002194D0 7C 08 02 A6 */ mflr r0 /* 8021D874 002194D4 2C 03 00 00 */ cmpwi r3, 0 /* 8021D878 002194D8 90 01 00 24 */ stw r0, 0x24(r1) /* 8021D87C 002194DC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8021D880 002194E0 93 C1 00 18 */ stw r30, 0x18(r1) /* 8021D884 002194E4 7C 9E 23 78 */ mr r30, r4 /* 8021D888 002194E8 93 A1 00 14 */ stw r29, 0x14(r1) /* 8021D88C 002194EC 7C 7D 1B 78 */ mr r29, r3 /* 8021D890 002194F0 41 82 00 B4 */ beq lbl_8021D944 /* 8021D894 002194F4 88 03 00 08 */ lbz r0, 8(r3) /* 8021D898 002194F8 3C 80 80 42 */ lis r4, lbl_80423B70@ha /* 8021D89C 002194FC 38 84 3B 70 */ addi r4, r4, lbl_80423B70@l /* 8021D8A0 00219500 2C 00 00 00 */ cmpwi r0, 0 /* 8021D8A4 00219504 90 83 00 0C */ stw r4, 0xc(r3) /* 8021D8A8 00219508 41 82 00 3C */ beq lbl_8021D8E4 /* 8021D8AC 0021950C 83 E3 00 04 */ lwz r31, 4(r3) /* 8021D8B0 00219510 57 E3 86 3E */ rlwinm r3, r31, 0x10, 0x18, 0x1f /* 8021D8B4 00219514 48 01 D7 A5 */ bl func_8023B058 /* 8021D8B8 00219518 2C 03 00 00 */ cmpwi r3, 0 /* 8021D8BC 0021951C 41 82 00 0C */ beq lbl_8021D8C8 /* 8021D8C0 00219520 7F E4 FB 78 */ mr r4, r31 /* 8021D8C4 00219524 48 01 DB 5D */ bl func_8023B420 lbl_8021D8C8: /* 8021D8C8 00219528 81 9D 00 0C */ lwz r12, 0xc(r29) /* 8021D8CC 0021952C 7F A3 EB 78 */ mr r3, r29 /* 8021D8D0 00219530 81 8C 00 0C */ lwz r12, 0xc(r12) /* 8021D8D4 00219534 7D 89 03 A6 */ mtctr r12 /* 8021D8D8 00219538 4E 80 04 21 */ bctrl /* 8021D8DC 0021953C 38 00 00 00 */ li r0, 0 /* 8021D8E0 00219540 98 1D 00 08 */ stb r0, 8(r29) lbl_8021D8E4: /* 8021D8E4 00219544 80 7D 00 18 */ lwz r3, 0x18(r29) /* 8021D8E8 00219548 2C 03 00 00 */ cmpwi r3, 0 /* 8021D8EC 0021954C 41 82 00 10 */ beq lbl_8021D8FC /* 8021D8F0 00219550 41 82 00 0C */ beq lbl_8021D8FC /* 8021D8F4 00219554 38 63 FF F0 */ addi r3, r3, -16 /* 8021D8F8 00219558 4B FB D1 C5 */ bl __dla__FPv lbl_8021D8FC: /* 8021D8FC 0021955C 80 7D 00 14 */ lwz r3, 0x14(r29) /* 8021D900 00219560 2C 03 00 00 */ cmpwi r3, 0 /* 8021D904 00219564 41 82 00 10 */ beq lbl_8021D914 /* 8021D908 00219568 41 82 00 0C */ beq lbl_8021D914 /* 8021D90C 0021956C 38 63 FF F0 */ addi r3, r3, -16 /* 8021D910 00219570 4B FB D1 AD */ bl __dla__FPv lbl_8021D914: /* 8021D914 00219574 38 00 00 00 */ li r0, 0 /* 8021D918 00219578 7F A3 EB 78 */ mr r3, r29 /* 8021D91C 0021957C 90 1D 00 18 */ stw r0, 0x18(r29) /* 8021D920 00219580 38 80 00 00 */ li r4, 0 /* 8021D924 00219584 90 1D 00 14 */ stw r0, 0x14(r29) /* 8021D928 00219588 B0 1D 00 1C */ sth r0, 0x1c(r29) /* 8021D92C 0021958C 4B FF F8 19 */ bl func_8021D144 /* 8021D930 00219590 2C 1E 00 00 */ cmpwi r30, 0 /* 8021D934 00219594 40 81 00 10 */ ble lbl_8021D944 /* 8021D938 00219598 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13) /* 8021D93C 0021959C 7F A4 EB 78 */ mr r4, r29 /* 8021D940 002195A0 4B FB D4 09 */ bl func_801DAD48 lbl_8021D944: /* 8021D944 002195A4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8021D948 002195A8 7F A3 EB 78 */ mr r3, r29 /* 8021D94C 002195AC 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8021D950 002195B0 83 A1 00 14 */ lwz r29, 0x14(r1) /* 8021D954 002195B4 80 01 00 24 */ lwz r0, 0x24(r1) /* 8021D958 002195B8 7C 08 03 A6 */ mtlr r0 /* 8021D95C 002195BC 38 21 00 20 */ addi r1, r1, 0x20 /* 8021D960 002195C0 4E 80 00 20 */ blr /* 8021D964 002195C4 94 21 FE 90 */ stwu r1, -0x170(r1) /* 8021D968 002195C8 7C 08 02 A6 */ mflr r0 /* 8021D96C 002195CC 90 01 01 74 */ stw r0, 0x174(r1) /* 8021D970 002195D0 DB E1 01 60 */ stfd f31, 0x160(r1) /* 8021D974 002195D4 F3 E1 01 68 */ psq_st f31, 360(r1), 0, qr0 /* 8021D978 002195D8 DB C1 01 50 */ stfd f30, 0x150(r1) /* 8021D97C 002195DC F3 C1 01 58 */ psq_st f30, 344(r1), 0, qr0 /* 8021D980 002195E0 DB A1 01 40 */ stfd f29, 0x140(r1) /* 8021D984 002195E4 F3 A1 01 48 */ psq_st f29, 328(r1), 0, qr0 /* 8021D988 002195E8 DB 81 01 30 */ stfd f28, 0x130(r1) /* 8021D98C 002195EC F3 81 01 38 */ psq_st f28, 312(r1), 0, qr0 /* 8021D990 002195F0 DB 61 01 20 */ stfd f27, 0x120(r1) /* 8021D994 002195F4 F3 61 01 28 */ psq_st f27, 296(r1), 0, qr0 /* 8021D998 002195F8 DB 41 01 10 */ stfd f26, 0x110(r1) /* 8021D99C 002195FC F3 41 01 18 */ psq_st f26, 280(r1), 0, qr0 /* 8021D9A0 00219600 DB 21 01 00 */ stfd f25, 0x100(r1) /* 8021D9A4 00219604 F3 21 01 08 */ psq_st f25, 264(r1), 0, qr0 /* 8021D9A8 00219608 DB 01 00 F0 */ stfd f24, 0xf0(r1) /* 8021D9AC 0021960C F3 01 00 F8 */ psq_st f24, 248(r1), 0, qr0 /* 8021D9B0 00219610 DA E1 00 E0 */ stfd f23, 0xe0(r1) /* 8021D9B4 00219614 F2 E1 00 E8 */ psq_st f23, 232(r1), 0, qr0 /* 8021D9B8 00219618 DA C1 00 D0 */ stfd f22, 0xd0(r1) /* 8021D9BC 0021961C F2 C1 00 D8 */ psq_st f22, 216(r1), 0, qr0 /* 8021D9C0 00219620 39 61 00 D0 */ addi r11, r1, 0xd0 /* 8021D9C4 00219624 4B FA 97 41 */ bl _savegpr_18 /* 8021D9C8 00219628 80 03 00 14 */ lwz r0, 0x14(r3) /* 8021D9CC 0021962C 3C 80 43 30 */ lis r4, 0x4330 /* 8021D9D0 00219630 90 81 00 88 */ stw r4, 0x88(r1) /* 8021D9D4 00219634 7C 72 1B 78 */ mr r18, r3 /* 8021D9D8 00219638 2C 00 00 00 */ cmpwi r0, 0 /* 8021D9DC 0021963C 90 81 00 90 */ stw r4, 0x90(r1) /* 8021D9E0 00219640 41 82 00 10 */ beq lbl_8021D9F0 /* 8021D9E4 00219644 80 03 00 18 */ lwz r0, 0x18(r3) /* 8021D9E8 00219648 2C 00 00 00 */ cmpwi r0, 0 /* 8021D9EC 0021964C 40 82 00 0C */ bne lbl_8021D9F8 lbl_8021D9F0: /* 8021D9F0 00219650 38 60 00 00 */ li r3, 0 /* 8021D9F4 00219654 48 00 05 DC */ b lbl_8021DFD0 lbl_8021D9F8: /* 8021D9F8 00219658 C0 02 9B 84 */ lfs f0, lbl_80642184-_SDA2_BASE_(r2) /* 8021D9FC 0021965C 80 83 00 10 */ lwz r4, 0x10(r3) /* 8021DA00 00219660 D0 03 00 68 */ stfs f0, 0x68(r3) /* 8021DA04 00219664 38 61 00 60 */ addi r3, r1, 0x60 /* 8021DA08 00219668 3A 64 01 20 */ addi r19, r4, 0x120 /* 8021DA0C 0021966C 7E 64 9B 78 */ mr r4, r19 /* 8021DA10 00219670 48 00 2F 79 */ bl func_80220988 /* 8021DA14 00219674 88 12 00 21 */ lbz r0, 0x21(r18) /* 8021DA18 00219678 2C 00 00 00 */ cmpwi r0, 0 /* 8021DA1C 0021967C 41 82 00 1C */ beq lbl_8021DA38 /* 8021DA20 00219680 38 61 00 60 */ addi r3, r1, 0x60 /* 8021DA24 00219684 48 05 F3 61 */ bl PSVECMag /* 8021DA28 00219688 C0 02 9B 88 */ lfs f0, lbl_80642188-_SDA2_BASE_(r2) /* 8021DA2C 0021968C EC 00 00 72 */ fmuls f0, f0, f1 /* 8021DA30 00219690 D0 12 00 24 */ stfs f0, 0x24(r18) /* 8021DA34 00219694 48 00 00 0C */ b lbl_8021DA40 lbl_8021DA38: /* 8021DA38 00219698 C0 02 9B 80 */ lfs f0, lbl_80642180-_SDA2_BASE_(r2) /* 8021DA3C 0021969C D0 12 00 24 */ stfs f0, 0x24(r18) lbl_8021DA40: /* 8021DA40 002196A0 38 72 00 4C */ addi r3, r18, 0x4c /* 8021DA44 002196A4 48 05 F3 41 */ bl PSVECMag /* 8021DA48 002196A8 C0 12 00 24 */ lfs f0, 0x24(r18) /* 8021DA4C 002196AC 88 12 00 20 */ lbz r0, 0x20(r18) /* 8021DA50 002196B0 EE C0 00 72 */ fmuls f22, f0, f1 /* 8021DA54 002196B4 2C 00 00 00 */ cmpwi r0, 0 /* 8021DA58 002196B8 41 82 00 1C */ beq lbl_8021DA74 /* 8021DA5C 002196BC C0 02 9B 8C */ lfs f0, lbl_8064218C-_SDA2_BASE_(r2) /* 8021DA60 002196C0 FC 16 00 40 */ fcmpo cr0, f22, f0 /* 8021DA64 002196C4 40 80 00 30 */ bge lbl_8021DA94 /* 8021DA68 002196C8 C0 02 9B 90 */ lfs f0, lbl_80642190-_SDA2_BASE_(r2) /* 8021DA6C 002196CC FC 16 00 40 */ fcmpo cr0, f22, f0 /* 8021DA70 002196D0 40 81 00 24 */ ble lbl_8021DA94 lbl_8021DA74: /* 8021DA74 002196D4 C2 E2 9B 84 */ lfs f23, lbl_80642184-_SDA2_BASE_(r2) /* 8021DA78 002196D8 D2 E1 00 6C */ stfs f23, 0x6c(r1) /* 8021DA7C 002196DC D2 E1 00 70 */ stfs f23, 0x70(r1) /* 8021DA80 002196E0 D2 E1 00 74 */ stfs f23, 0x74(r1) /* 8021DA84 002196E4 D2 E1 00 78 */ stfs f23, 0x78(r1) /* 8021DA88 002196E8 D2 E1 00 7C */ stfs f23, 0x7c(r1) /* 8021DA8C 002196EC D2 E1 00 80 */ stfs f23, 0x80(r1) /* 8021DA90 002196F0 48 00 01 44 */ b lbl_8021DBD4 lbl_8021DA94: /* 8021DA94 002196F4 FE E0 B0 90 */ fmr f23, f22 /* 8021DA98 002196F8 C0 32 00 24 */ lfs f1, 0x24(r18) /* 8021DA9C 002196FC 38 72 00 4C */ addi r3, r18, 0x4c /* 8021DAA0 00219700 38 81 00 48 */ addi r4, r1, 0x48 /* 8021DAA4 00219704 48 05 F2 69 */ bl PSVECScale /* 8021DAA8 00219708 C0 22 9B 8C */ lfs f1, lbl_8064218C-_SDA2_BASE_(r2) /* 8021DAAC 0021970C 38 61 00 48 */ addi r3, r1, 0x48 /* 8021DAB0 00219710 FC 16 08 40 */ fcmpo cr0, f22, f1 /* 8021DAB4 00219714 40 80 00 28 */ bge lbl_8021DADC /* 8021DAB8 00219718 C0 42 9B 90 */ lfs f2, lbl_80642190-_SDA2_BASE_(r2) /* 8021DABC 0021971C FC 16 10 40 */ fcmpo cr0, f22, f2 /* 8021DAC0 00219720 40 81 00 1C */ ble lbl_8021DADC /* 8021DAC4 00219724 C0 02 9B 84 */ lfs f0, lbl_80642184-_SDA2_BASE_(r2) /* 8021DAC8 00219728 FC 16 00 40 */ fcmpo cr0, f22, f0 /* 8021DACC 0021972C 40 80 00 08 */ bge lbl_8021DAD4 /* 8021DAD0 00219730 48 00 00 08 */ b lbl_8021DAD8 lbl_8021DAD4: /* 8021DAD4 00219734 FC 40 08 90 */ fmr f2, f1 lbl_8021DAD8: /* 8021DAD8 00219738 FE E0 10 90 */ fmr f23, f2 lbl_8021DADC: /* 8021DADC 0021973C C0 02 9B 80 */ lfs f0, lbl_80642180-_SDA2_BASE_(r2) /* 8021DAE0 00219740 38 81 00 54 */ addi r4, r1, 0x54 /* 8021DAE4 00219744 EC 20 B8 24 */ fdivs f1, f0, f23 /* 8021DAE8 00219748 48 05 F2 25 */ bl PSVECScale /* 8021DAEC 0021974C C0 41 00 54 */ lfs f2, 0x54(r1) /* 8021DAF0 00219750 7E 63 9B 78 */ mr r3, r19 /* 8021DAF4 00219754 C0 21 00 58 */ lfs f1, 0x58(r1) /* 8021DAF8 00219758 C0 01 00 5C */ lfs f0, 0x5c(r1) /* 8021DAFC 0021975C D0 41 00 6C */ stfs f2, 0x6c(r1) /* 8021DB00 00219760 D0 21 00 70 */ stfs f1, 0x70(r1) /* 8021DB04 00219764 D0 01 00 74 */ stfs f0, 0x74(r1) /* 8021DB08 00219768 48 00 2F E9 */ bl func_80220AF0 /* 8021DB0C 0021976C C2 E2 9B 94 */ lfs f23, lbl_80642194-_SDA2_BASE_(r2) /* 8021DB10 00219770 7C 73 1B 78 */ mr r19, r3 /* 8021DB14 00219774 3A 80 00 00 */ li r20, 0 lbl_8021DB18: /* 8021DB18 00219778 7E 64 9B 78 */ mr r4, r19 /* 8021DB1C 0021977C 38 61 00 6C */ addi r3, r1, 0x6c /* 8021DB20 00219780 48 05 F2 A9 */ bl PSVECDotProduct /* 8021DB24 00219784 FC 17 08 40 */ fcmpo cr0, f23, f1 /* 8021DB28 00219788 FF 00 08 90 */ fmr f24, f1 /* 8021DB2C 0021978C 40 81 00 2C */ ble lbl_8021DB58 /* 8021DB30 00219790 38 61 00 6C */ addi r3, r1, 0x6c /* 8021DB34 00219794 38 81 00 3C */ addi r4, r1, 0x3c /* 8021DB38 00219798 48 05 F1 D5 */ bl PSVECScale /* 8021DB3C 0021979C C0 41 00 3C */ lfs f2, 0x3c(r1) /* 8021DB40 002197A0 FE E0 C0 90 */ fmr f23, f24 /* 8021DB44 002197A4 C0 21 00 40 */ lfs f1, 0x40(r1) /* 8021DB48 002197A8 C0 01 00 44 */ lfs f0, 0x44(r1) /* 8021DB4C 002197AC D0 41 00 78 */ stfs f2, 0x78(r1) /* 8021DB50 002197B0 D0 21 00 7C */ stfs f1, 0x7c(r1) /* 8021DB54 002197B4 D0 01 00 80 */ stfs f0, 0x80(r1) lbl_8021DB58: /* 8021DB58 002197B8 3A 94 00 01 */ addi r20, r20, 1 /* 8021DB5C 002197BC 3A 73 00 0C */ addi r19, r19, 0xc /* 8021DB60 002197C0 2C 14 00 08 */ cmpwi r20, 8 /* 8021DB64 002197C4 41 80 FF B4 */ blt lbl_8021DB18 /* 8021DB68 002197C8 C0 22 9B 8C */ lfs f1, lbl_8064218C-_SDA2_BASE_(r2) /* 8021DB6C 002197CC FC 16 08 40 */ fcmpo cr0, f22, f1 /* 8021DB70 002197D0 40 80 00 28 */ bge lbl_8021DB98 /* 8021DB74 002197D4 C0 42 9B 90 */ lfs f2, lbl_80642190-_SDA2_BASE_(r2) /* 8021DB78 002197D8 FC 16 10 40 */ fcmpo cr0, f22, f2 /* 8021DB7C 002197DC 40 81 00 1C */ ble lbl_8021DB98 /* 8021DB80 002197E0 C0 02 9B 84 */ lfs f0, lbl_80642184-_SDA2_BASE_(r2) /* 8021DB84 002197E4 FC 16 00 40 */ fcmpo cr0, f22, f0 /* 8021DB88 002197E8 40 80 00 08 */ bge lbl_8021DB90 /* 8021DB8C 002197EC 48 00 00 08 */ b lbl_8021DB94 lbl_8021DB90: /* 8021DB90 002197F0 FC 40 08 90 */ fmr f2, f1 lbl_8021DB94: /* 8021DB94 002197F4 FE C0 10 90 */ fmr f22, f2 lbl_8021DB98: /* 8021DB98 002197F8 C0 02 9B 80 */ lfs f0, lbl_80642180-_SDA2_BASE_(r2) /* 8021DB9C 002197FC 38 61 00 6C */ addi r3, r1, 0x6c /* 8021DBA0 00219800 7C 64 1B 78 */ mr r4, r3 /* 8021DBA4 00219804 EC 20 B0 24 */ fdivs f1, f0, f22 /* 8021DBA8 00219808 48 05 F1 65 */ bl PSVECScale /* 8021DBAC 0021980C 38 61 00 60 */ addi r3, r1, 0x60 /* 8021DBB0 00219810 38 81 00 6C */ addi r4, r1, 0x6c /* 8021DBB4 00219814 48 05 F2 15 */ bl PSVECDotProduct /* 8021DBB8 00219818 C0 42 9B 98 */ lfs f2, lbl_80642198-_SDA2_BASE_(r2) /* 8021DBBC 0021981C C0 02 9B 84 */ lfs f0, lbl_80642184-_SDA2_BASE_(r2) /* 8021DBC0 00219820 EE E2 00 72 */ fmuls f23, f2, f1 /* 8021DBC4 00219824 FC 17 00 40 */ fcmpo cr0, f23, f0 /* 8021DBC8 00219828 40 81 00 08 */ ble lbl_8021DBD0 /* 8021DBCC 0021982C 48 00 00 08 */ b lbl_8021DBD4 lbl_8021DBD0: /* 8021DBD0 00219830 FE E0 B8 50 */ fneg f23, f23 lbl_8021DBD4: /* 8021DBD4 00219834 80 72 00 10 */ lwz r3, 0x10(r18) /* 8021DBD8 00219838 3B 20 00 00 */ li r25, 0 /* 8021DBDC 0021983C 83 52 00 14 */ lwz r26, 0x14(r18) /* 8021DBE0 00219840 3F E0 00 03 */ lis r31, 3 /* 8021DBE4 00219844 A3 C3 00 EC */ lhz r30, 0xec(r3) /* 8021DBE8 00219848 C3 22 9B 84 */ lfs f25, lbl_80642184-_SDA2_BASE_(r2) /* 8021DBEC 0021984C C3 62 9B 90 */ lfs f27, lbl_80642190-_SDA2_BASE_(r2) /* 8021DBF0 00219850 C3 42 9B 8C */ lfs f26, lbl_8064218C-_SDA2_BASE_(r2) /* 8021DBF4 00219854 C3 82 9B 80 */ lfs f28, lbl_80642180-_SDA2_BASE_(r2) /* 8021DBF8 00219858 CB A2 9B A8 */ lfd f29, lbl_806421A8-_SDA2_BASE_(r2) /* 8021DBFC 0021985C C3 C2 9B A0 */ lfs f30, lbl_806421A0-_SDA2_BASE_(r2) /* 8021DC00 00219860 C3 E2 9B 98 */ lfs f31, lbl_80642198-_SDA2_BASE_(r2) /* 8021DC04 00219864 48 00 03 BC */ b lbl_8021DFC0 lbl_8021DC08: /* 8021DC08 00219868 80 92 00 10 */ lwz r4, 0x10(r18) /* 8021DC0C 0021986C 80 A4 00 28 */ lwz r5, 0x28(r4) /* 8021DC10 00219870 2C 05 00 00 */ cmpwi r5, 0 /* 8021DC14 00219874 40 82 00 0C */ bne lbl_8021DC20 /* 8021DC18 00219878 3A 60 00 00 */ li r19, 0 /* 8021DC1C 0021987C 48 00 00 54 */ b lbl_8021DC70 lbl_8021DC20: /* 8021DC20 00219880 A0 04 00 EC */ lhz r0, 0xec(r4) /* 8021DC24 00219884 57 23 04 3E */ clrlwi r3, r25, 0x10 /* 8021DC28 00219888 7C 03 00 40 */ cmplw r3, r0 /* 8021DC2C 0021988C 41 80 00 0C */ blt lbl_8021DC38 /* 8021DC30 00219890 3A 60 00 00 */ li r19, 0 /* 8021DC34 00219894 48 00 00 3C */ b lbl_8021DC70 lbl_8021DC38: /* 8021DC38 00219898 80 C4 00 08 */ lwz r6, 8(r4) /* 8021DC3C 0021989C 57 20 0B FC */ rlwinm r0, r25, 1, 0xf, 0x1e /* 8021DC40 002198A0 7C 65 02 2E */ lhzx r3, r5, r0 /* 8021DC44 002198A4 2C 06 00 00 */ cmpwi r6, 0 /* 8021DC48 002198A8 40 82 00 0C */ bne lbl_8021DC54 /* 8021DC4C 002198AC 3A 60 00 00 */ li r19, 0 /* 8021DC50 002198B0 48 00 00 20 */ b lbl_8021DC70 lbl_8021DC54: /* 8021DC54 002198B4 A0 04 00 DE */ lhz r0, 0xde(r4) /* 8021DC58 002198B8 7C 03 00 40 */ cmplw r3, r0 /* 8021DC5C 002198BC 41 80 00 0C */ blt lbl_8021DC68 /* 8021DC60 002198C0 3A 60 00 00 */ li r19, 0 /* 8021DC64 002198C4 48 00 00 0C */ b lbl_8021DC70 lbl_8021DC68: /* 8021DC68 002198C8 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d /* 8021DC6C 002198CC 7E 66 00 2E */ lwzx r19, r6, r0 lbl_8021DC70: /* 8021DC70 002198D0 2C 13 00 00 */ cmpwi r19, 0 /* 8021DC74 002198D4 41 82 03 48 */ beq lbl_8021DFBC /* 8021DC78 002198D8 80 93 01 44 */ lwz r4, 0x144(r19) /* 8021DC7C 002198DC 7E 63 9B 78 */ mr r3, r19 /* 8021DC80 002198E0 3B 13 00 D0 */ addi r24, r19, 0xd0 /* 8021DC84 002198E4 A2 E4 00 34 */ lhz r23, 0x34(r4) /* 8021DC88 002198E8 82 C4 00 40 */ lwz r22, 0x40(r4) /* 8021DC8C 002198EC 4B FC 23 71 */ bl func_801DFFFC /* 8021DC90 002198F0 83 B3 01 3C */ lwz r29, 0x13c(r19) /* 8021DC94 002198F4 7E 63 9B 78 */ mr r3, r19 /* 8021DC98 002198F8 4B FC 23 65 */ bl func_801DFFFC /* 8021DC9C 002198FC 83 93 01 40 */ lwz r28, 0x140(r19) /* 8021DCA0 00219900 3A A0 00 00 */ li r21, 0 /* 8021DCA4 00219904 48 00 03 0C */ b lbl_8021DFB0 lbl_8021DCA8: /* 8021DCA8 00219908 80 1A 00 0C */ lwz r0, 0xc(r26) /* 8021DCAC 0021990C 2C 00 00 00 */ cmpwi r0, 0 /* 8021DCB0 00219910 41 82 02 F0 */ beq lbl_8021DFA0 /* 8021DCB4 00219914 A0 16 00 00 */ lhz r0, 0(r22) /* 8021DCB8 00219918 7F 03 C3 78 */ mr r3, r24 /* 8021DCBC 0021991C 38 A1 00 30 */ addi r5, r1, 0x30 /* 8021DCC0 00219920 1C 00 00 0C */ mulli r0, r0, 0xc /* 8021DCC4 00219924 7C 9C 02 14 */ add r4, r28, r0 /* 8021DCC8 00219928 48 05 ED 89 */ bl PSMTXMultVecSR /* 8021DCCC 0021992C C0 01 00 30 */ lfs f0, 0x30(r1) /* 8021DCD0 00219930 3A 60 00 00 */ li r19, 0 /* 8021DCD4 00219934 D0 1A 00 00 */ stfs f0, 0(r26) /* 8021DCD8 00219938 C0 01 00 34 */ lfs f0, 0x34(r1) /* 8021DCDC 0021993C D0 1A 00 04 */ stfs f0, 4(r26) /* 8021DCE0 00219940 C0 01 00 38 */ lfs f0, 0x38(r1) /* 8021DCE4 00219944 D0 1A 00 08 */ stfs f0, 8(r26) /* 8021DCE8 00219948 D3 3A 00 14 */ stfs f25, 0x14(r26) /* 8021DCEC 0021994C D3 3A 00 18 */ stfs f25, 0x18(r26) /* 8021DCF0 00219950 D3 3A 00 1C */ stfs f25, 0x1c(r26) /* 8021DCF4 00219954 8A 96 00 03 */ lbz r20, 3(r22) /* 8021DCF8 00219958 48 00 00 88 */ b lbl_8021DD80 lbl_8021DCFC: /* 8021DCFC 0021995C 80 96 00 04 */ lwz r4, 4(r22) /* 8021DD00 00219960 56 60 0B FC */ rlwinm r0, r19, 1, 0xf, 0x1e /* 8021DD04 00219964 7F 03 C3 78 */ mr r3, r24 /* 8021DD08 00219968 38 A1 00 24 */ addi r5, r1, 0x24 /* 8021DD0C 0021996C 7C 04 02 2E */ lhzx r0, r4, r0 /* 8021DD10 00219970 1C 00 00 0C */ mulli r0, r0, 0xc /* 8021DD14 00219974 7C 9D 02 14 */ add r4, r29, r0 /* 8021DD18 00219978 48 05 EC E5 */ bl PSMTXMultVec /* 8021DD1C 0021997C 56 63 04 3E */ clrlwi r3, r19, 0x10 /* 8021DD20 00219980 80 1A 00 0C */ lwz r0, 0xc(r26) /* 8021DD24 00219984 1F 63 00 0C */ mulli r27, r3, 0xc /* 8021DD28 00219988 C0 01 00 24 */ lfs f0, 0x24(r1) /* 8021DD2C 0021998C C0 22 9B 9C */ lfs f1, lbl_8064219C-_SDA2_BASE_(r2) /* 8021DD30 00219990 7F 43 D3 78 */ mr r3, r26 /* 8021DD34 00219994 38 81 00 18 */ addi r4, r1, 0x18 /* 8021DD38 00219998 7C 1B 05 2E */ stfsx f0, r27, r0 /* 8021DD3C 0021999C 7C A0 DA 14 */ add r5, r0, r27 /* 8021DD40 002199A0 C0 01 00 28 */ lfs f0, 0x28(r1) /* 8021DD44 002199A4 D0 05 00 04 */ stfs f0, 4(r5) /* 8021DD48 002199A8 C0 01 00 2C */ lfs f0, 0x2c(r1) /* 8021DD4C 002199AC D0 05 00 08 */ stfs f0, 8(r5) /* 8021DD50 002199B0 48 05 EF BD */ bl PSVECScale /* 8021DD54 002199B4 80 1A 00 0C */ lwz r0, 0xc(r26) /* 8021DD58 002199B8 38 81 00 18 */ addi r4, r1, 0x18 /* 8021DD5C 002199BC 7C 60 DA 14 */ add r3, r0, r27 /* 8021DD60 002199C0 7C 65 1B 78 */ mr r5, r3 /* 8021DD64 002199C4 48 05 EF 61 */ bl PSVECAdd /* 8021DD68 002199C8 80 1A 00 0C */ lwz r0, 0xc(r26) /* 8021DD6C 002199CC 38 7A 00 14 */ addi r3, r26, 0x14 /* 8021DD70 002199D0 7C 65 1B 78 */ mr r5, r3 /* 8021DD74 002199D4 7C 80 DA 14 */ add r4, r0, r27 /* 8021DD78 002199D8 48 05 EF 4D */ bl PSVECAdd /* 8021DD7C 002199DC 3A 73 00 01 */ addi r19, r19, 1 lbl_8021DD80: /* 8021DD80 002199E0 56 60 04 3E */ clrlwi r0, r19, 0x10 /* 8021DD84 002199E4 7C 00 A0 40 */ cmplw r0, r20 /* 8021DD88 002199E8 41 80 FF 74 */ blt lbl_8021DCFC /* 8021DD8C 002199EC B2 81 00 08 */ sth r20, 8(r1) /* 8021DD90 002199F0 E0 01 B0 08 */ psq_l f0, 8(r1), 1, qr3 /* 8021DD94 002199F4 FC 00 D0 40 */ fcmpo cr0, f0, f26 /* 8021DD98 002199F8 40 80 00 20 */ bge lbl_8021DDB8 /* 8021DD9C 002199FC FC 00 D8 40 */ fcmpo cr0, f0, f27 /* 8021DDA0 00219A00 40 81 00 18 */ ble lbl_8021DDB8 /* 8021DDA4 00219A04 FC 00 C8 40 */ fcmpo cr0, f0, f25 /* 8021DDA8 00219A08 40 80 00 0C */ bge lbl_8021DDB4 /* 8021DDAC 00219A0C FC 00 D8 90 */ fmr f0, f27 /* 8021DDB0 00219A10 48 00 00 08 */ b lbl_8021DDB8 lbl_8021DDB4: /* 8021DDB4 00219A14 FC 00 D0 90 */ fmr f0, f26 lbl_8021DDB8: /* 8021DDB8 00219A18 EC 3C 00 24 */ fdivs f1, f28, f0 /* 8021DDBC 00219A1C 38 7A 00 14 */ addi r3, r26, 0x14 /* 8021DDC0 00219A20 7C 64 1B 78 */ mr r4, r3 /* 8021DDC4 00219A24 48 05 EF 49 */ bl PSVECScale /* 8021DDC8 00219A28 38 7A 00 14 */ addi r3, r26, 0x14 /* 8021DDCC 00219A2C 38 81 00 78 */ addi r4, r1, 0x78 /* 8021DDD0 00219A30 38 A1 00 0C */ addi r5, r1, 0xc /* 8021DDD4 00219A34 48 05 EF 15 */ bl PSVECSubtract /* 8021DDD8 00219A38 38 61 00 6C */ addi r3, r1, 0x6c /* 8021DDDC 00219A3C 38 81 00 0C */ addi r4, r1, 0xc /* 8021DDE0 00219A40 48 05 EF E9 */ bl PSVECDotProduct /* 8021DDE4 00219A44 EC 17 00 72 */ fmuls f0, f23, f1 /* 8021DDE8 00219A48 D0 1A 00 38 */ stfs f0, 0x38(r26) /* 8021DDEC 00219A4C 48 00 5A 45 */ bl func_80223830 /* 8021DDF0 00219A50 80 83 00 00 */ lwz r4, 0(r3) /* 8021DDF4 00219A54 38 1F 43 FD */ addi r0, r31, 0x43fd /* 8021DDF8 00219A58 7C 84 01 D6 */ mullw r4, r4, r0 /* 8021DDFC 00219A5C 3C 84 00 27 */ addis r4, r4, 0x27 /* 8021DE00 00219A60 38 84 9E C3 */ addi r4, r4, -24893 /* 8021DE04 00219A64 54 80 84 3E */ srwi r0, r4, 0x10 /* 8021DE08 00219A68 90 83 00 00 */ stw r4, 0(r3) /* 8021DE0C 00219A6C 90 01 00 8C */ stw r0, 0x8c(r1) /* 8021DE10 00219A70 C0 32 00 34 */ lfs f1, 0x34(r18) /* 8021DE14 00219A74 C8 41 00 88 */ lfd f2, 0x88(r1) /* 8021DE18 00219A78 C0 12 00 24 */ lfs f0, 0x24(r18) /* 8021DE1C 00219A7C EC 42 E8 28 */ fsubs f2, f2, f29 /* 8021DE20 00219A80 EC 01 00 32 */ fmuls f0, f1, f0 /* 8021DE24 00219A84 EC 22 F0 24 */ fdivs f1, f2, f30 /* 8021DE28 00219A88 EC 3F 00 72 */ fmuls f1, f31, f1 /* 8021DE2C 00219A8C EC 21 E0 28 */ fsubs f1, f1, f28 /* 8021DE30 00219A90 EF 00 00 72 */ fmuls f24, f0, f1 /* 8021DE34 00219A94 48 00 59 FD */ bl func_80223830 /* 8021DE38 00219A98 80 83 00 00 */ lwz r4, 0(r3) /* 8021DE3C 00219A9C 38 1F 43 FD */ addi r0, r31, 0x43fd /* 8021DE40 00219AA0 7C 84 01 D6 */ mullw r4, r4, r0 /* 8021DE44 00219AA4 3C 84 00 27 */ addis r4, r4, 0x27 /* 8021DE48 00219AA8 38 84 9E C3 */ addi r4, r4, -24893 /* 8021DE4C 00219AAC 54 80 84 3E */ srwi r0, r4, 0x10 /* 8021DE50 00219AB0 90 83 00 00 */ stw r4, 0(r3) /* 8021DE54 00219AB4 90 01 00 94 */ stw r0, 0x94(r1) /* 8021DE58 00219AB8 C0 32 00 30 */ lfs f1, 0x30(r18) /* 8021DE5C 00219ABC C8 41 00 90 */ lfd f2, 0x90(r1) /* 8021DE60 00219AC0 C0 12 00 24 */ lfs f0, 0x24(r18) /* 8021DE64 00219AC4 EC 42 E8 28 */ fsubs f2, f2, f29 /* 8021DE68 00219AC8 EC 01 00 32 */ fmuls f0, f1, f0 /* 8021DE6C 00219ACC EC 22 F0 24 */ fdivs f1, f2, f30 /* 8021DE70 00219AD0 EC 3F 00 72 */ fmuls f1, f31, f1 /* 8021DE74 00219AD4 EC 21 E0 28 */ fsubs f1, f1, f28 /* 8021DE78 00219AD8 EE C0 00 72 */ fmuls f22, f0, f1 /* 8021DE7C 00219ADC 48 00 59 B5 */ bl func_80223830 /* 8021DE80 00219AE0 80 83 00 00 */ lwz r4, 0(r3) /* 8021DE84 00219AE4 38 1F 43 FD */ addi r0, r31, 0x43fd /* 8021DE88 00219AE8 7C 84 01 D6 */ mullw r4, r4, r0 /* 8021DE8C 00219AEC 3C 84 00 27 */ addis r4, r4, 0x27 /* 8021DE90 00219AF0 38 84 9E C3 */ addi r4, r4, -24893 /* 8021DE94 00219AF4 54 80 84 3E */ srwi r0, r4, 0x10 /* 8021DE98 00219AF8 90 83 00 00 */ stw r4, 0(r3) /* 8021DE9C 00219AFC 90 01 00 8C */ stw r0, 0x8c(r1) /* 8021DEA0 00219B00 C0 32 00 2C */ lfs f1, 0x2c(r18) /* 8021DEA4 00219B04 C8 41 00 88 */ lfd f2, 0x88(r1) /* 8021DEA8 00219B08 C0 12 00 24 */ lfs f0, 0x24(r18) /* 8021DEAC 00219B0C EC 42 E8 28 */ fsubs f2, f2, f29 /* 8021DEB0 00219B10 EC 01 00 32 */ fmuls f0, f1, f0 /* 8021DEB4 00219B14 EC 22 F0 24 */ fdivs f1, f2, f30 /* 8021DEB8 00219B18 EC 3F 00 72 */ fmuls f1, f31, f1 /* 8021DEBC 00219B1C EC 21 E0 28 */ fsubs f1, f1, f28 /* 8021DEC0 00219B20 EC 00 00 72 */ fmuls f0, f0, f1 /* 8021DEC4 00219B24 D0 1A 00 20 */ stfs f0, 0x20(r26) /* 8021DEC8 00219B28 D2 DA 00 24 */ stfs f22, 0x24(r26) /* 8021DECC 00219B2C D3 1A 00 28 */ stfs f24, 0x28(r26) /* 8021DED0 00219B30 48 00 59 61 */ bl func_80223830 /* 8021DED4 00219B34 80 83 00 00 */ lwz r4, 0(r3) /* 8021DED8 00219B38 38 1F 43 FD */ addi r0, r31, 0x43fd /* 8021DEDC 00219B3C 7C 84 01 D6 */ mullw r4, r4, r0 /* 8021DEE0 00219B40 3C 84 00 27 */ addis r4, r4, 0x27 /* 8021DEE4 00219B44 38 84 9E C3 */ addi r4, r4, -24893 /* 8021DEE8 00219B48 54 80 84 3E */ srwi r0, r4, 0x10 /* 8021DEEC 00219B4C 90 83 00 00 */ stw r4, 0(r3) /* 8021DEF0 00219B50 90 01 00 94 */ stw r0, 0x94(r1) /* 8021DEF4 00219B54 C0 12 00 40 */ lfs f0, 0x40(r18) /* 8021DEF8 00219B58 C8 21 00 90 */ lfd f1, 0x90(r1) /* 8021DEFC 00219B5C EC 21 E8 28 */ fsubs f1, f1, f29 /* 8021DF00 00219B60 EC 21 F0 24 */ fdivs f1, f1, f30 /* 8021DF04 00219B64 EC 3F 00 72 */ fmuls f1, f31, f1 /* 8021DF08 00219B68 EC 21 E0 28 */ fsubs f1, f1, f28 /* 8021DF0C 00219B6C EF 00 00 72 */ fmuls f24, f0, f1 /* 8021DF10 00219B70 48 00 59 21 */ bl func_80223830 /* 8021DF14 00219B74 80 83 00 00 */ lwz r4, 0(r3) /* 8021DF18 00219B78 38 1F 43 FD */ addi r0, r31, 0x43fd /* 8021DF1C 00219B7C 7C 84 01 D6 */ mullw r4, r4, r0 /* 8021DF20 00219B80 3C 84 00 27 */ addis r4, r4, 0x27 /* 8021DF24 00219B84 38 84 9E C3 */ addi r4, r4, -24893 /* 8021DF28 00219B88 54 80 84 3E */ srwi r0, r4, 0x10 /* 8021DF2C 00219B8C 90 83 00 00 */ stw r4, 0(r3) /* 8021DF30 00219B90 90 01 00 8C */ stw r0, 0x8c(r1) /* 8021DF34 00219B94 C0 12 00 3C */ lfs f0, 0x3c(r18) /* 8021DF38 00219B98 C8 21 00 88 */ lfd f1, 0x88(r1) /* 8021DF3C 00219B9C EC 21 E8 28 */ fsubs f1, f1, f29 /* 8021DF40 00219BA0 EC 21 F0 24 */ fdivs f1, f1, f30 /* 8021DF44 00219BA4 EC 3F 00 72 */ fmuls f1, f31, f1 /* 8021DF48 00219BA8 EC 21 E0 28 */ fsubs f1, f1, f28 /* 8021DF4C 00219BAC EE C0 00 72 */ fmuls f22, f0, f1 /* 8021DF50 00219BB0 48 00 58 E1 */ bl func_80223830 /* 8021DF54 00219BB4 80 83 00 00 */ lwz r4, 0(r3) /* 8021DF58 00219BB8 38 1F 43 FD */ addi r0, r31, 0x43fd /* 8021DF5C 00219BBC 7C 84 01 D6 */ mullw r4, r4, r0 /* 8021DF60 00219BC0 3C 84 00 27 */ addis r4, r4, 0x27 /* 8021DF64 00219BC4 38 84 9E C3 */ addi r4, r4, -24893 /* 8021DF68 00219BC8 54 80 84 3E */ srwi r0, r4, 0x10 /* 8021DF6C 00219BCC 90 83 00 00 */ stw r4, 0(r3) /* 8021DF70 00219BD0 90 01 00 94 */ stw r0, 0x94(r1) /* 8021DF74 00219BD4 C0 12 00 38 */ lfs f0, 0x38(r18) /* 8021DF78 00219BD8 C8 21 00 90 */ lfd f1, 0x90(r1) /* 8021DF7C 00219BDC EC 21 E8 28 */ fsubs f1, f1, f29 /* 8021DF80 00219BE0 EC 21 F0 24 */ fdivs f1, f1, f30 /* 8021DF84 00219BE4 EC 3F 00 72 */ fmuls f1, f31, f1 /* 8021DF88 00219BE8 EC 21 E0 28 */ fsubs f1, f1, f28 /* 8021DF8C 00219BEC EC 00 00 72 */ fmuls f0, f0, f1 /* 8021DF90 00219BF0 D0 1A 00 2C */ stfs f0, 0x2c(r26) /* 8021DF94 00219BF4 D2 DA 00 30 */ stfs f22, 0x30(r26) /* 8021DF98 00219BF8 D3 1A 00 34 */ stfs f24, 0x34(r26) /* 8021DF9C 00219BFC 48 00 00 08 */ b lbl_8021DFA4 lbl_8021DFA0: /* 8021DFA0 00219C00 D3 3A 00 38 */ stfs f25, 0x38(r26) lbl_8021DFA4: /* 8021DFA4 00219C04 3B 5A 00 3C */ addi r26, r26, 0x3c /* 8021DFA8 00219C08 3A D6 00 08 */ addi r22, r22, 8 /* 8021DFAC 00219C0C 3A B5 00 01 */ addi r21, r21, 1 lbl_8021DFB0: /* 8021DFB0 00219C10 56 A0 04 3E */ clrlwi r0, r21, 0x10 /* 8021DFB4 00219C14 7C 00 B8 40 */ cmplw r0, r23 /* 8021DFB8 00219C18 41 80 FC F0 */ blt lbl_8021DCA8 lbl_8021DFBC: /* 8021DFBC 00219C1C 3B 39 00 01 */ addi r25, r25, 1 lbl_8021DFC0: /* 8021DFC0 00219C20 57 20 04 3E */ clrlwi r0, r25, 0x10 /* 8021DFC4 00219C24 7C 00 F0 40 */ cmplw r0, r30 /* 8021DFC8 00219C28 41 80 FC 40 */ blt lbl_8021DC08 /* 8021DFCC 00219C2C 38 60 00 01 */ li r3, 1 lbl_8021DFD0: /* 8021DFD0 00219C30 E3 E1 01 68 */ psq_l f31, 360(r1), 0, qr0 /* 8021DFD4 00219C34 CB E1 01 60 */ lfd f31, 0x160(r1) /* 8021DFD8 00219C38 E3 C1 01 58 */ psq_l f30, 344(r1), 0, qr0 /* 8021DFDC 00219C3C CB C1 01 50 */ lfd f30, 0x150(r1) /* 8021DFE0 00219C40 E3 A1 01 48 */ psq_l f29, 328(r1), 0, qr0 /* 8021DFE4 00219C44 CB A1 01 40 */ lfd f29, 0x140(r1) /* 8021DFE8 00219C48 E3 81 01 38 */ psq_l f28, 312(r1), 0, qr0 /* 8021DFEC 00219C4C CB 81 01 30 */ lfd f28, 0x130(r1) /* 8021DFF0 00219C50 E3 61 01 28 */ psq_l f27, 296(r1), 0, qr0 /* 8021DFF4 00219C54 CB 61 01 20 */ lfd f27, 0x120(r1) /* 8021DFF8 00219C58 E3 41 01 18 */ psq_l f26, 280(r1), 0, qr0 /* 8021DFFC 00219C5C CB 41 01 10 */ lfd f26, 0x110(r1) /* 8021E000 00219C60 E3 21 01 08 */ psq_l f25, 264(r1), 0, qr0 /* 8021E004 00219C64 CB 21 01 00 */ lfd f25, 0x100(r1) /* 8021E008 00219C68 E3 01 00 F8 */ psq_l f24, 248(r1), 0, qr0 /* 8021E00C 00219C6C CB 01 00 F0 */ lfd f24, 0xf0(r1) /* 8021E010 00219C70 E2 E1 00 E8 */ psq_l f23, 232(r1), 0, qr0 /* 8021E014 00219C74 CA E1 00 E0 */ lfd f23, 0xe0(r1) /* 8021E018 00219C78 E2 C1 00 D8 */ psq_l f22, 216(r1), 0, qr0 /* 8021E01C 00219C7C 39 61 00 D0 */ addi r11, r1, 0xd0 /* 8021E020 00219C80 CA C1 00 D0 */ lfd f22, 0xd0(r1) /* 8021E024 00219C84 4B FA 91 2D */ bl _restgpr_18 /* 8021E028 00219C88 80 01 01 74 */ lwz r0, 0x174(r1) /* 8021E02C 00219C8C 7C 08 03 A6 */ mtlr r0 /* 8021E030 00219C90 38 21 01 70 */ addi r1, r1, 0x170 /* 8021E034 00219C94 4E 80 00 20 */ blr /* 8021E038 00219C98 94 21 FF 40 */ stwu r1, -0xc0(r1) /* 8021E03C 00219C9C 7C 08 02 A6 */ mflr r0 /* 8021E040 00219CA0 90 01 00 C4 */ stw r0, 0xc4(r1) /* 8021E044 00219CA4 DB E1 00 B0 */ stfd f31, 0xb0(r1) /* 8021E048 00219CA8 F3 E1 00 B8 */ psq_st f31, 184(r1), 0, qr0 /* 8021E04C 00219CAC DB C1 00 A0 */ stfd f30, 0xa0(r1) /* 8021E050 00219CB0 F3 C1 00 A8 */ psq_st f30, 168(r1), 0, qr0 /* 8021E054 00219CB4 39 61 00 A0 */ addi r11, r1, 0xa0 /* 8021E058 00219CB8 4B FA 90 CD */ bl _savegpr_26 /* 8021E05C 00219CBC C0 43 00 68 */ lfs f2, 0x68(r3) /* 8021E060 00219CC0 FF C0 08 90 */ fmr f30, f1 /* 8021E064 00219CC4 C0 03 00 6C */ lfs f0, 0x6c(r3) /* 8021E068 00219CC8 7C 7A 1B 78 */ mr r26, r3 /* 8021E06C 00219CCC EC 22 08 2A */ fadds f1, f2, f1 /* 8021E070 00219CD0 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8021E074 00219CD4 D0 23 00 68 */ stfs f1, 0x68(r3) /* 8021E078 00219CD8 4C 41 13 82 */ cror 2, 1, 2 /* 8021E07C 00219CDC 40 82 00 0C */ bne lbl_8021E088 /* 8021E080 00219CE0 38 60 00 00 */ li r3, 0 /* 8021E084 00219CE4 48 00 02 10 */ b lbl_8021E294 lbl_8021E088: /* 8021E088 00219CE8 83 E3 00 14 */ lwz r31, 0x14(r3) /* 8021E08C 00219CEC 3B C0 00 00 */ li r30, 0 /* 8021E090 00219CF0 C3 E2 9B 84 */ lfs f31, lbl_80642184-_SDA2_BASE_(r2) /* 8021E094 00219CF4 48 00 01 EC */ b lbl_8021E280 lbl_8021E098: /* 8021E098 00219CF8 80 1F 00 0C */ lwz r0, 0xc(r31) /* 8021E09C 00219CFC 2C 00 00 00 */ cmpwi r0, 0 /* 8021E0A0 00219D00 41 82 01 D8 */ beq lbl_8021E278 /* 8021E0A4 00219D04 C0 3F 00 38 */ lfs f1, 0x38(r31) /* 8021E0A8 00219D08 C0 1A 00 68 */ lfs f0, 0x68(r26) /* 8021E0AC 00219D0C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8021E0B0 00219D10 41 81 01 C8 */ bgt lbl_8021E278 /* 8021E0B4 00219D14 C0 3A 00 24 */ lfs f1, 0x24(r26) /* 8021E0B8 00219D18 38 7A 00 4C */ addi r3, r26, 0x4c /* 8021E0BC 00219D1C 38 81 00 44 */ addi r4, r1, 0x44 /* 8021E0C0 00219D20 48 05 EC 4D */ bl PSVECScale /* 8021E0C4 00219D24 38 61 00 44 */ addi r3, r1, 0x44 /* 8021E0C8 00219D28 38 9F 00 20 */ addi r4, r31, 0x20 /* 8021E0CC 00219D2C 38 A1 00 78 */ addi r5, r1, 0x78 /* 8021E0D0 00219D30 48 05 EC 19 */ bl PSVECSubtract /* 8021E0D4 00219D34 C0 21 00 78 */ lfs f1, 0x78(r1) /* 8021E0D8 00219D38 C0 1A 00 4C */ lfs f0, 0x4c(r26) /* 8021E0DC 00219D3C EC 01 00 32 */ fmuls f0, f1, f0 /* 8021E0E0 00219D40 FC 00 F8 40 */ fcmpo cr0, f0, f31 /* 8021E0E4 00219D44 40 80 00 08 */ bge lbl_8021E0EC /* 8021E0E8 00219D48 D3 E1 00 78 */ stfs f31, 0x78(r1) lbl_8021E0EC: /* 8021E0EC 00219D4C C0 21 00 7C */ lfs f1, 0x7c(r1) /* 8021E0F0 00219D50 C0 1A 00 50 */ lfs f0, 0x50(r26) /* 8021E0F4 00219D54 EC 01 00 32 */ fmuls f0, f1, f0 /* 8021E0F8 00219D58 FC 00 F8 40 */ fcmpo cr0, f0, f31 /* 8021E0FC 00219D5C 40 80 00 08 */ bge lbl_8021E104 /* 8021E100 00219D60 D3 E1 00 7C */ stfs f31, 0x7c(r1) lbl_8021E104: /* 8021E104 00219D64 C0 21 00 80 */ lfs f1, 0x80(r1) /* 8021E108 00219D68 C0 1A 00 54 */ lfs f0, 0x54(r26) /* 8021E10C 00219D6C EC 01 00 32 */ fmuls f0, f1, f0 /* 8021E110 00219D70 FC 00 F8 40 */ fcmpo cr0, f0, f31 /* 8021E114 00219D74 40 80 00 08 */ bge lbl_8021E11C /* 8021E118 00219D78 D3 E1 00 80 */ stfs f31, 0x80(r1) lbl_8021E11C: /* 8021E11C 00219D7C 38 61 00 78 */ addi r3, r1, 0x78 /* 8021E120 00219D80 C0 3A 00 58 */ lfs f1, 0x58(r26) /* 8021E124 00219D84 7C 64 1B 78 */ mr r4, r3 /* 8021E128 00219D88 48 05 EB E5 */ bl PSVECScale /* 8021E12C 00219D8C C0 3A 00 24 */ lfs f1, 0x24(r26) /* 8021E130 00219D90 38 7A 00 5C */ addi r3, r26, 0x5c /* 8021E134 00219D94 38 81 00 38 */ addi r4, r1, 0x38 /* 8021E138 00219D98 48 05 EB D5 */ bl PSVECScale /* 8021E13C 00219D9C 38 61 00 78 */ addi r3, r1, 0x78 /* 8021E140 00219DA0 38 81 00 38 */ addi r4, r1, 0x38 /* 8021E144 00219DA4 7C 65 1B 78 */ mr r5, r3 /* 8021E148 00219DA8 48 05 EB 7D */ bl PSVECAdd /* 8021E14C 00219DAC FC 20 F0 90 */ fmr f1, f30 /* 8021E150 00219DB0 38 61 00 78 */ addi r3, r1, 0x78 /* 8021E154 00219DB4 38 81 00 2C */ addi r4, r1, 0x2c /* 8021E158 00219DB8 48 05 EB B5 */ bl PSVECScale /* 8021E15C 00219DBC 38 7F 00 20 */ addi r3, r31, 0x20 /* 8021E160 00219DC0 38 81 00 2C */ addi r4, r1, 0x2c /* 8021E164 00219DC4 7C 65 1B 78 */ mr r5, r3 /* 8021E168 00219DC8 48 05 EB 5D */ bl PSVECAdd /* 8021E16C 00219DCC C0 3A 00 48 */ lfs f1, 0x48(r26) /* 8021E170 00219DD0 7F E3 FB 78 */ mr r3, r31 /* 8021E174 00219DD4 C0 1A 00 24 */ lfs f0, 0x24(r26) /* 8021E178 00219DD8 38 81 00 20 */ addi r4, r1, 0x20 /* 8021E17C 00219DDC EC 21 00 32 */ fmuls f1, f1, f0 /* 8021E180 00219DE0 48 05 EB 8D */ bl PSVECScale /* 8021E184 00219DE4 38 7F 00 20 */ addi r3, r31, 0x20 /* 8021E188 00219DE8 38 81 00 20 */ addi r4, r1, 0x20 /* 8021E18C 00219DEC 38 A1 00 6C */ addi r5, r1, 0x6c /* 8021E190 00219DF0 48 05 EB 35 */ bl PSVECAdd /* 8021E194 00219DF4 C0 1F 00 14 */ lfs f0, 0x14(r31) /* 8021E198 00219DF8 FC 20 F0 90 */ fmr f1, f30 /* 8021E19C 00219DFC 38 61 00 6C */ addi r3, r1, 0x6c /* 8021E1A0 00219E00 38 81 00 14 */ addi r4, r1, 0x14 /* 8021E1A4 00219E04 D0 01 00 60 */ stfs f0, 0x60(r1) /* 8021E1A8 00219E08 C0 1F 00 18 */ lfs f0, 0x18(r31) /* 8021E1AC 00219E0C D0 01 00 64 */ stfs f0, 0x64(r1) /* 8021E1B0 00219E10 C0 1F 00 1C */ lfs f0, 0x1c(r31) /* 8021E1B4 00219E14 D0 01 00 68 */ stfs f0, 0x68(r1) /* 8021E1B8 00219E18 48 05 EB 55 */ bl PSVECScale /* 8021E1BC 00219E1C 38 7F 00 14 */ addi r3, r31, 0x14 /* 8021E1C0 00219E20 38 81 00 14 */ addi r4, r1, 0x14 /* 8021E1C4 00219E24 7C 65 1B 78 */ mr r5, r3 /* 8021E1C8 00219E28 48 05 EA FD */ bl PSVECAdd /* 8021E1CC 00219E2C 88 1A 00 1E */ lbz r0, 0x1e(r26) /* 8021E1D0 00219E30 2C 00 00 00 */ cmpwi r0, 0 /* 8021E1D4 00219E34 41 82 00 38 */ beq lbl_8021E20C /* 8021E1D8 00219E38 C0 3F 00 18 */ lfs f1, 0x18(r31) /* 8021E1DC 00219E3C C0 1A 00 44 */ lfs f0, 0x44(r26) /* 8021E1E0 00219E40 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8021E1E4 00219E44 4C 40 13 82 */ cror 2, 0, 2 /* 8021E1E8 00219E48 40 82 00 24 */ bne lbl_8021E20C /* 8021E1EC 00219E4C EC 00 08 28 */ fsubs f0, f0, f1 /* 8021E1F0 00219E50 D0 1F 00 18 */ stfs f0, 0x18(r31) /* 8021E1F4 00219E54 C0 1F 00 24 */ lfs f0, 0x24(r31) /* 8021E1F8 00219E58 FC 00 00 50 */ fneg f0, f0 /* 8021E1FC 00219E5C D0 1F 00 24 */ stfs f0, 0x24(r31) /* 8021E200 00219E60 C0 1F 00 04 */ lfs f0, 4(r31) /* 8021E204 00219E64 FC 00 00 50 */ fneg f0, f0 /* 8021E208 00219E68 D0 1F 00 04 */ stfs f0, 4(r31) lbl_8021E20C: /* 8021E20C 00219E6C FC 20 F0 90 */ fmr f1, f30 /* 8021E210 00219E70 38 7F 00 2C */ addi r3, r31, 0x2c /* 8021E214 00219E74 38 81 00 08 */ addi r4, r1, 8 /* 8021E218 00219E78 48 05 EA F5 */ bl PSVECScale /* 8021E21C 00219E7C 38 61 00 50 */ addi r3, r1, 0x50 /* 8021E220 00219E80 38 81 00 08 */ addi r4, r1, 8 /* 8021E224 00219E84 48 00 54 9D */ bl func_802236C0 /* 8021E228 00219E88 A3 BF 00 10 */ lhz r29, 0x10(r31) /* 8021E22C 00219E8C 3B 60 00 00 */ li r27, 0 /* 8021E230 00219E90 83 9F 00 0C */ lwz r28, 0xc(r31) /* 8021E234 00219E94 48 00 00 38 */ b lbl_8021E26C lbl_8021E238: /* 8021E238 00219E98 7F 83 E3 78 */ mr r3, r28 /* 8021E23C 00219E9C 7F 85 E3 78 */ mr r5, r28 /* 8021E240 00219EA0 38 81 00 60 */ addi r4, r1, 0x60 /* 8021E244 00219EA4 48 05 EA A5 */ bl PSVECSubtract /* 8021E248 00219EA8 7F 83 E3 78 */ mr r3, r28 /* 8021E24C 00219EAC 38 81 00 50 */ addi r4, r1, 0x50 /* 8021E250 00219EB0 48 00 57 BD */ bl func_80223A0C /* 8021E254 00219EB4 7F 83 E3 78 */ mr r3, r28 /* 8021E258 00219EB8 7F 85 E3 78 */ mr r5, r28 /* 8021E25C 00219EBC 38 9F 00 14 */ addi r4, r31, 0x14 /* 8021E260 00219EC0 48 05 EA 65 */ bl PSVECAdd /* 8021E264 00219EC4 3B 7B 00 01 */ addi r27, r27, 1 /* 8021E268 00219EC8 3B 9C 00 0C */ addi r28, r28, 0xc lbl_8021E26C: /* 8021E26C 00219ECC 57 60 04 3E */ clrlwi r0, r27, 0x10 /* 8021E270 00219ED0 7C 00 E8 40 */ cmplw r0, r29 /* 8021E274 00219ED4 41 80 FF C4 */ blt lbl_8021E238 lbl_8021E278: /* 8021E278 00219ED8 3B DE 00 01 */ addi r30, r30, 1 /* 8021E27C 00219EDC 3B FF 00 3C */ addi r31, r31, 0x3c lbl_8021E280: /* 8021E280 00219EE0 A0 1A 00 1C */ lhz r0, 0x1c(r26) /* 8021E284 00219EE4 57 C3 04 3E */ clrlwi r3, r30, 0x10 /* 8021E288 00219EE8 7C 03 00 40 */ cmplw r3, r0 /* 8021E28C 00219EEC 41 80 FE 0C */ blt lbl_8021E098 /* 8021E290 00219EF0 38 60 00 01 */ li r3, 1 lbl_8021E294: /* 8021E294 00219EF4 E3 E1 00 B8 */ psq_l f31, 184(r1), 0, qr0 /* 8021E298 00219EF8 CB E1 00 B0 */ lfd f31, 0xb0(r1) /* 8021E29C 00219EFC E3 C1 00 A8 */ psq_l f30, 168(r1), 0, qr0 /* 8021E2A0 00219F00 39 61 00 A0 */ addi r11, r1, 0xa0 /* 8021E2A4 00219F04 CB C1 00 A0 */ lfd f30, 0xa0(r1) /* 8021E2A8 00219F08 4B FA 8E C9 */ bl _restgpr_26 /* 8021E2AC 00219F0C 80 01 00 C4 */ lwz r0, 0xc4(r1) /* 8021E2B0 00219F10 7C 08 03 A6 */ mtlr r0 /* 8021E2B4 00219F14 38 21 00 C0 */ addi r1, r1, 0xc0 /* 8021E2B8 00219F18 4E 80 00 20 */ blr /* 8021E2BC 00219F1C 94 21 FF C0 */ stwu r1, -0x40(r1) /* 8021E2C0 00219F20 7C 08 02 A6 */ mflr r0 /* 8021E2C4 00219F24 90 01 00 44 */ stw r0, 0x44(r1) /* 8021E2C8 00219F28 39 61 00 40 */ addi r11, r1, 0x40 /* 8021E2CC 00219F2C 4B FA 8E 55 */ bl _savegpr_25 /* 8021E2D0 00219F30 80 CD A3 D8 */ lwz r6, render_context_ptr-_SDA_BASE_(r13) /* 8021E2D4 00219F34 7C 7A 1B 78 */ mr r26, r3 /* 8021E2D8 00219F38 80 A6 16 38 */ lwz r5, 0x1638(r6) /* 8021E2DC 00219F3C 88 85 0A 87 */ lbz r4, 0xa87(r5) /* 8021E2E0 00219F40 7C 04 00 D0 */ neg r0, r4 /* 8021E2E4 00219F44 7C 00 23 78 */ or r0, r0, r4 /* 8021E2E8 00219F48 54 1B 0F FF */ rlwinm. r27, r0, 1, 0x1f, 0x1f /* 8021E2EC 00219F4C 41 82 00 2C */ beq lbl_8021E318 /* 8021E2F0 00219F50 38 00 00 00 */ li r0, 0 /* 8021E2F4 00219F54 98 05 0A 87 */ stb r0, 0xa87(r5) /* 8021E2F8 00219F58 80 86 16 38 */ lwz r4, 0x1638(r6) /* 8021E2FC 00219F5C 80 04 00 64 */ lwz r0, 0x64(r4) /* 8021E300 00219F60 60 00 00 40 */ ori r0, r0, 0x40 /* 8021E304 00219F64 90 04 00 64 */ stw r0, 0x64(r4) /* 8021E308 00219F68 80 86 16 38 */ lwz r4, 0x1638(r6) /* 8021E30C 00219F6C 80 04 00 00 */ lwz r0, 0(r4) /* 8021E310 00219F70 60 00 00 40 */ ori r0, r0, 0x40 /* 8021E314 00219F74 90 04 00 00 */ stw r0, 0(r4) lbl_8021E318: /* 8021E318 00219F78 88 03 00 1F */ lbz r0, 0x1f(r3) /* 8021E31C 00219F7C 88 C3 00 28 */ lbz r6, 0x28(r3) /* 8021E320 00219F80 88 A3 00 29 */ lbz r5, 0x29(r3) /* 8021E324 00219F84 2C 00 00 00 */ cmpwi r0, 0 /* 8021E328 00219F88 88 83 00 2A */ lbz r4, 0x2a(r3) /* 8021E32C 00219F8C 88 03 00 2B */ lbz r0, 0x2b(r3) /* 8021E330 00219F90 98 C1 00 18 */ stb r6, 0x18(r1) /* 8021E334 00219F94 98 A1 00 19 */ stb r5, 0x19(r1) /* 8021E338 00219F98 98 81 00 1A */ stb r4, 0x1a(r1) /* 8021E33C 00219F9C 98 01 00 1B */ stb r0, 0x1b(r1) /* 8021E340 00219FA0 41 82 00 38 */ beq lbl_8021E378 /* 8021E344 00219FA4 98 01 00 10 */ stb r0, 0x10(r1) /* 8021E348 00219FA8 E0 61 A0 10 */ psq_l f3, 16(r1), 1, qr2 /* 8021E34C 00219FAC C0 43 00 68 */ lfs f2, 0x68(r3) /* 8021E350 00219FB0 C0 03 00 6C */ lfs f0, 0x6c(r3) /* 8021E354 00219FB4 C0 22 9B 80 */ lfs f1, lbl_80642180-_SDA2_BASE_(r2) /* 8021E358 00219FB8 EC 42 00 24 */ fdivs f2, f2, f0 /* 8021E35C 00219FBC C0 02 9B B0 */ lfs f0, lbl_806421B0-_SDA2_BASE_(r2) /* 8021E360 00219FC0 EC 21 10 28 */ fsubs f1, f1, f2 /* 8021E364 00219FC4 EC 23 00 72 */ fmuls f1, f3, f1 /* 8021E368 00219FC8 EC 00 08 2A */ fadds f0, f0, f1 /* 8021E36C 00219FCC F0 01 A0 14 */ psq_st f0, 20(r1), 1, qr2 /* 8021E370 00219FD0 88 01 00 14 */ lbz r0, 0x14(r1) /* 8021E374 00219FD4 98 01 00 1B */ stb r0, 0x1b(r1) lbl_8021E378: /* 8021E378 00219FD8 80 ED A3 D8 */ lwz r7, render_context_ptr-_SDA_BASE_(r13) /* 8021E37C 00219FDC 3B 80 00 00 */ li r28, 0 /* 8021E380 00219FE0 3B A0 00 01 */ li r29, 1 /* 8021E384 00219FE4 3B C0 00 04 */ li r30, 4 /* 8021E388 00219FE8 80 67 16 38 */ lwz r3, 0x1638(r7) /* 8021E38C 00219FEC 38 A0 00 05 */ li r5, 5 /* 8021E390 00219FF0 38 80 00 03 */ li r4, 3 /* 8021E394 00219FF4 38 00 00 07 */ li r0, 7 /* 8021E398 00219FF8 93 83 01 84 */ stw r28, 0x184(r3) /* 8021E39C 00219FFC 80 C7 16 38 */ lwz r6, 0x1638(r7) /* 8021E3A0 0021A000 80 66 00 10 */ lwz r3, 0x10(r6) /* 8021E3A4 0021A004 60 63 00 02 */ ori r3, r3, 2 /* 8021E3A8 0021A008 90 66 00 10 */ stw r3, 0x10(r6) /* 8021E3AC 0021A00C 80 C7 16 38 */ lwz r6, 0x1638(r7) /* 8021E3B0 0021A010 80 66 00 00 */ lwz r3, 0(r6) /* 8021E3B4 0021A014 60 63 00 02 */ ori r3, r3, 2 /* 8021E3B8 0021A018 90 66 00 00 */ stw r3, 0(r6) /* 8021E3BC 0021A01C 80 ED A3 D8 */ lwz r7, render_context_ptr-_SDA_BASE_(r13) /* 8021E3C0 0021A020 80 67 16 38 */ lwz r3, 0x1638(r7) /* 8021E3C4 0021A024 93 83 01 88 */ stw r28, 0x188(r3) /* 8021E3C8 0021A028 80 C7 16 38 */ lwz r6, 0x1638(r7) /* 8021E3CC 0021A02C 80 66 00 10 */ lwz r3, 0x10(r6) /* 8021E3D0 0021A030 60 63 00 04 */ ori r3, r3, 4 /* 8021E3D4 0021A034 90 66 00 10 */ stw r3, 0x10(r6) /* 8021E3D8 0021A038 80 C7 16 38 */ lwz r6, 0x1638(r7) /* 8021E3DC 0021A03C 80 66 00 00 */ lwz r3, 0(r6) /* 8021E3E0 0021A040 60 63 00 02 */ ori r3, r3, 2 /* 8021E3E4 0021A044 90 66 00 00 */ stw r3, 0(r6) /* 8021E3E8 0021A048 80 ED A3 D8 */ lwz r7, render_context_ptr-_SDA_BASE_(r13) /* 8021E3EC 0021A04C 80 67 16 38 */ lwz r3, 0x1638(r7) /* 8021E3F0 0021A050 9B A3 0A 36 */ stb r29, 0xa36(r3) /* 8021E3F4 0021A054 80 67 16 38 */ lwz r3, 0x1638(r7) /* 8021E3F8 0021A058 9B 83 0A 37 */ stb r28, 0xa37(r3) /* 8021E3FC 0021A05C 80 67 16 38 */ lwz r3, 0x1638(r7) /* 8021E400 0021A060 9B 83 0A 38 */ stb r28, 0xa38(r3) /* 8021E404 0021A064 80 C7 16 38 */ lwz r6, 0x1638(r7) /* 8021E408 0021A068 80 66 00 64 */ lwz r3, 0x64(r6) /* 8021E40C 0021A06C 60 63 00 04 */ ori r3, r3, 4 /* 8021E410 0021A070 90 66 00 64 */ stw r3, 0x64(r6) /* 8021E414 0021A074 80 C7 16 38 */ lwz r6, 0x1638(r7) /* 8021E418 0021A078 80 66 00 00 */ lwz r3, 0(r6) /* 8021E41C 0021A07C 60 63 00 40 */ ori r3, r3, 0x40 /* 8021E420 0021A080 90 66 00 00 */ stw r3, 0(r6) /* 8021E424 0021A084 80 CD A3 D8 */ lwz r6, render_context_ptr-_SDA_BASE_(r13) /* 8021E428 0021A088 80 66 16 38 */ lwz r3, 0x1638(r6) /* 8021E42C 0021A08C 93 A3 0A 24 */ stw r29, 0xa24(r3) /* 8021E430 0021A090 80 66 16 38 */ lwz r3, 0x1638(r6) /* 8021E434 0021A094 93 C3 0A 28 */ stw r30, 0xa28(r3) /* 8021E438 0021A098 80 66 16 38 */ lwz r3, 0x1638(r6) /* 8021E43C 0021A09C 90 A3 0A 2C */ stw r5, 0xa2c(r3) /* 8021E440 0021A0A0 80 66 16 38 */ lwz r3, 0x1638(r6) /* 8021E444 0021A0A4 90 A3 0A 30 */ stw r5, 0xa30(r3) /* 8021E448 0021A0A8 80 A6 16 38 */ lwz r5, 0x1638(r6) /* 8021E44C 0021A0AC 80 65 00 64 */ lwz r3, 0x64(r5) /* 8021E450 0021A0B0 60 63 00 01 */ ori r3, r3, 1 /* 8021E454 0021A0B4 90 65 00 64 */ stw r3, 0x64(r5) /* 8021E458 0021A0B8 80 A6 16 38 */ lwz r5, 0x1638(r6) /* 8021E45C 0021A0BC 80 65 00 00 */ lwz r3, 0(r5) /* 8021E460 0021A0C0 60 63 00 40 */ ori r3, r3, 0x40 /* 8021E464 0021A0C4 90 65 00 00 */ stw r3, 0(r5) /* 8021E468 0021A0C8 80 AD A3 D8 */ lwz r5, render_context_ptr-_SDA_BASE_(r13) /* 8021E46C 0021A0CC 80 65 16 38 */ lwz r3, 0x1638(r5) /* 8021E470 0021A0D0 9B A3 0A 3C */ stb r29, 0xa3c(r3) /* 8021E474 0021A0D4 80 65 16 38 */ lwz r3, 0x1638(r5) /* 8021E478 0021A0D8 90 83 0A 40 */ stw r4, 0xa40(r3) /* 8021E47C 0021A0DC 80 85 16 38 */ lwz r4, 0x1638(r5) /* 8021E480 0021A0E0 80 64 00 64 */ lwz r3, 0x64(r4) /* 8021E484 0021A0E4 60 63 00 08 */ ori r3, r3, 8 /* 8021E488 0021A0E8 90 64 00 64 */ stw r3, 0x64(r4) /* 8021E48C 0021A0EC 80 85 16 38 */ lwz r4, 0x1638(r5) /* 8021E490 0021A0F0 80 64 00 00 */ lwz r3, 0(r4) /* 8021E494 0021A0F4 60 63 00 40 */ ori r3, r3, 0x40 /* 8021E498 0021A0F8 90 64 00 00 */ stw r3, 0(r4) /* 8021E49C 0021A0FC 80 AD A3 D8 */ lwz r5, render_context_ptr-_SDA_BASE_(r13) /* 8021E4A0 0021A100 80 65 16 38 */ lwz r3, 0x1638(r5) /* 8021E4A4 0021A104 90 03 0A 44 */ stw r0, 0xa44(r3) /* 8021E4A8 0021A108 80 65 16 38 */ lwz r3, 0x1638(r5) /* 8021E4AC 0021A10C 9B 83 0A 50 */ stb r28, 0xa50(r3) /* 8021E4B0 0021A110 80 65 16 38 */ lwz r3, 0x1638(r5) /* 8021E4B4 0021A114 93 83 0A 48 */ stw r28, 0xa48(r3) /* 8021E4B8 0021A118 80 65 16 38 */ lwz r3, 0x1638(r5) /* 8021E4BC 0021A11C 90 03 0A 4C */ stw r0, 0xa4c(r3) /* 8021E4C0 0021A120 80 65 16 38 */ lwz r3, 0x1638(r5) /* 8021E4C4 0021A124 9B 83 0A 51 */ stb r28, 0xa51(r3) /* 8021E4C8 0021A128 80 65 16 38 */ lwz r3, 0x1638(r5) /* 8021E4CC 0021A12C 9B A3 0A 52 */ stb r29, 0xa52(r3) /* 8021E4D0 0021A130 80 85 16 38 */ lwz r4, 0x1638(r5) /* 8021E4D4 0021A134 3B E0 00 FF */ li r31, 0xff /* 8021E4D8 0021A138 38 60 00 00 */ li r3, 0 /* 8021E4DC 0021A13C 80 04 00 64 */ lwz r0, 0x64(r4) /* 8021E4E0 0021A140 60 00 00 10 */ ori r0, r0, 0x10 /* 8021E4E4 0021A144 90 04 00 64 */ stw r0, 0x64(r4) /* 8021E4E8 0021A148 80 85 16 38 */ lwz r4, 0x1638(r5) /* 8021E4EC 0021A14C 80 04 00 00 */ lwz r0, 0(r4) /* 8021E4F0 0021A150 60 00 00 40 */ ori r0, r0, 0x40 /* 8021E4F4 0021A154 90 04 00 00 */ stw r0, 0(r4) /* 8021E4F8 0021A158 80 AD A3 D8 */ lwz r5, render_context_ptr-_SDA_BASE_(r13) /* 8021E4FC 0021A15C 80 85 16 38 */ lwz r4, 0x1638(r5) /* 8021E500 0021A160 9B 84 0A 34 */ stb r28, 0xa34(r4) /* 8021E504 0021A164 80 85 16 38 */ lwz r4, 0x1638(r5) /* 8021E508 0021A168 9B E4 0A 35 */ stb r31, 0xa35(r4) /* 8021E50C 0021A16C 80 85 16 38 */ lwz r4, 0x1638(r5) /* 8021E510 0021A170 80 04 00 64 */ lwz r0, 0x64(r4) /* 8021E514 0021A174 60 00 00 02 */ ori r0, r0, 2 /* 8021E518 0021A178 90 04 00 64 */ stw r0, 0x64(r4) /* 8021E51C 0021A17C 80 85 16 38 */ lwz r4, 0x1638(r5) /* 8021E520 0021A180 80 04 00 00 */ lwz r0, 0(r4) /* 8021E524 0021A184 60 00 00 40 */ ori r0, r0, 0x40 /* 8021E528 0021A188 90 04 00 00 */ stw r0, 0(r4) /* 8021E52C 0021A18C 48 01 E9 F1 */ bl func_8023CF1C /* 8021E530 0021A190 80 AD A3 D8 */ lwz r5, render_context_ptr-_SDA_BASE_(r13) /* 8021E534 0021A194 38 80 00 00 */ li r4, 0 /* 8021E538 0021A198 80 01 00 18 */ lwz r0, 0x18(r1) /* 8021E53C 0021A19C 38 C0 00 00 */ li r6, 0 /* 8021E540 0021A1A0 90 65 17 3C */ stw r3, 0x173c(r5) /* 8021E544 0021A1A4 38 A0 00 03 */ li r5, 3 /* 8021E548 0021A1A8 38 E0 00 00 */ li r7, 0 /* 8021E54C 0021A1AC 39 00 00 00 */ li r8, 0 /* 8021E550 0021A1B0 81 6D A3 D8 */ lwz r11, render_context_ptr-_SDA_BASE_(r13) /* 8021E554 0021A1B4 39 20 00 00 */ li r9, 0 /* 8021E558 0021A1B8 39 40 00 02 */ li r10, 2 /* 8021E55C 0021A1BC 80 6B 16 38 */ lwz r3, 0x1638(r11) /* 8021E560 0021A1C0 90 03 02 70 */ stw r0, 0x270(r3) /* 8021E564 0021A1C4 80 6B 16 38 */ lwz r3, 0x1638(r11) /* 8021E568 0021A1C8 90 03 02 78 */ stw r0, 0x278(r3) /* 8021E56C 0021A1CC 80 6B 16 38 */ lwz r3, 0x1638(r11) /* 8021E570 0021A1D0 80 03 00 1C */ lwz r0, 0x1c(r3) /* 8021E574 0021A1D4 60 00 00 01 */ ori r0, r0, 1 /* 8021E578 0021A1D8 90 03 00 1C */ stw r0, 0x1c(r3) /* 8021E57C 0021A1DC 80 6B 16 38 */ lwz r3, 0x1638(r11) /* 8021E580 0021A1E0 80 03 00 20 */ lwz r0, 0x20(r3) /* 8021E584 0021A1E4 60 00 00 01 */ ori r0, r0, 1 /* 8021E588 0021A1E8 90 03 00 20 */ stw r0, 0x20(r3) /* 8021E58C 0021A1EC 80 6B 16 38 */ lwz r3, 0x1638(r11) /* 8021E590 0021A1F0 80 03 00 00 */ lwz r0, 0(r3) /* 8021E594 0021A1F4 60 00 00 04 */ ori r0, r0, 4 /* 8021E598 0021A1F8 90 03 00 00 */ stw r0, 0(r3) /* 8021E59C 0021A1FC 93 81 00 08 */ stw r28, 8(r1) /* 8021E5A0 0021A200 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 8021E5A4 0021A204 48 01 51 E9 */ bl func_8023378C /* 8021E5A8 0021A208 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13) /* 8021E5AC 0021A20C 80 64 16 38 */ lwz r3, 0x1638(r4) /* 8021E5B0 0021A210 9B A3 01 8C */ stb r29, 0x18c(r3) /* 8021E5B4 0021A214 80 64 16 38 */ lwz r3, 0x1638(r4) /* 8021E5B8 0021A218 80 03 00 14 */ lwz r0, 0x14(r3) /* 8021E5BC 0021A21C 60 00 00 01 */ ori r0, r0, 1 /* 8021E5C0 0021A220 90 03 00 14 */ stw r0, 0x14(r3) /* 8021E5C4 0021A224 80 64 16 38 */ lwz r3, 0x1638(r4) /* 8021E5C8 0021A228 80 03 00 00 */ lwz r0, 0(r3) /* 8021E5CC 0021A22C 60 00 00 04 */ ori r0, r0, 4 /* 8021E5D0 0021A230 90 03 00 00 */ stw r0, 0(r3) /* 8021E5D4 0021A234 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13) /* 8021E5D8 0021A238 80 64 16 38 */ lwz r3, 0x1638(r4) /* 8021E5DC 0021A23C 9B 83 00 68 */ stb r28, 0x68(r3) /* 8021E5E0 0021A240 80 64 16 38 */ lwz r3, 0x1638(r4) /* 8021E5E4 0021A244 80 03 00 04 */ lwz r0, 4(r3) /* 8021E5E8 0021A248 60 00 00 01 */ ori r0, r0, 1 /* 8021E5EC 0021A24C 90 03 00 04 */ stw r0, 4(r3) /* 8021E5F0 0021A250 80 64 16 38 */ lwz r3, 0x1638(r4) /* 8021E5F4 0021A254 80 03 00 00 */ lwz r0, 0(r3) /* 8021E5F8 0021A258 60 00 00 01 */ ori r0, r0, 1 /* 8021E5FC 0021A25C 90 03 00 00 */ stw r0, 0(r3) /* 8021E600 0021A260 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13) /* 8021E604 0021A264 80 64 16 38 */ lwz r3, 0x1638(r4) /* 8021E608 0021A268 9B A3 02 80 */ stb r29, 0x280(r3) /* 8021E60C 0021A26C 80 64 16 38 */ lwz r3, 0x1638(r4) /* 8021E610 0021A270 80 03 00 24 */ lwz r0, 0x24(r3) /* 8021E614 0021A274 60 00 00 01 */ ori r0, r0, 1 /* 8021E618 0021A278 90 03 00 24 */ stw r0, 0x24(r3) /* 8021E61C 0021A27C 80 64 16 38 */ lwz r3, 0x1638(r4) /* 8021E620 0021A280 80 03 00 00 */ lwz r0, 0(r3) /* 8021E624 0021A284 60 00 00 08 */ ori r0, r0, 8 /* 8021E628 0021A288 90 03 00 00 */ stw r0, 0(r3) /* 8021E62C 0021A28C 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13) /* 8021E630 0021A290 80 64 16 38 */ lwz r3, 0x1638(r4) /* 8021E634 0021A294 9B 83 08 90 */ stb r28, 0x890(r3) /* 8021E638 0021A298 80 64 16 38 */ lwz r3, 0x1638(r4) /* 8021E63C 0021A29C 80 03 00 44 */ lwz r0, 0x44(r3) /* 8021E640 0021A2A0 60 00 00 01 */ ori r0, r0, 1 /* 8021E644 0021A2A4 90 03 00 44 */ stw r0, 0x44(r3) /* 8021E648 0021A2A8 80 64 16 38 */ lwz r3, 0x1638(r4) /* 8021E64C 0021A2AC 80 03 00 00 */ lwz r0, 0(r3) /* 8021E650 0021A2B0 60 00 00 80 */ ori r0, r0, 0x80 /* 8021E654 0021A2B4 90 03 00 00 */ stw r0, 0(r3) /* 8021E658 0021A2B8 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13) /* 8021E65C 0021A2BC 80 64 16 38 */ lwz r3, 0x1638(r4) /* 8021E660 0021A2C0 93 83 09 64 */ stw r28, 0x964(r3) /* 8021E664 0021A2C4 93 83 09 68 */ stw r28, 0x968(r3) /* 8021E668 0021A2C8 80 64 16 38 */ lwz r3, 0x1638(r4) /* 8021E66C 0021A2CC 80 03 00 5C */ lwz r0, 0x5c(r3) /* 8021E670 0021A2D0 60 00 00 01 */ ori r0, r0, 1 /* 8021E674 0021A2D4 90 03 00 5C */ stw r0, 0x5c(r3) /* 8021E678 0021A2D8 80 64 16 38 */ lwz r3, 0x1638(r4) /* 8021E67C 0021A2DC 80 03 00 00 */ lwz r0, 0(r3) /* 8021E680 0021A2E0 60 00 00 20 */ ori r0, r0, 0x20 /* 8021E684 0021A2E4 90 03 00 00 */ stw r0, 0(r3) /* 8021E688 0021A2E8 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13) /* 8021E68C 0021A2EC 80 64 16 38 */ lwz r3, 0x1638(r4) /* 8021E690 0021A2F0 93 E3 02 84 */ stw r31, 0x284(r3) /* 8021E694 0021A2F4 93 E3 02 88 */ stw r31, 0x288(r3) /* 8021E698 0021A2F8 93 C3 02 8C */ stw r30, 0x28c(r3) /* 8021E69C 0021A2FC 80 64 16 38 */ lwz r3, 0x1638(r4) /* 8021E6A0 0021A300 80 03 00 28 */ lwz r0, 0x28(r3) /* 8021E6A4 0021A304 60 00 00 01 */ ori r0, r0, 1 /* 8021E6A8 0021A308 90 03 00 28 */ stw r0, 0x28(r3) /* 8021E6AC 0021A30C 80 64 16 38 */ lwz r3, 0x1638(r4) /* 8021E6B0 0021A310 80 03 00 00 */ lwz r0, 0(r3) /* 8021E6B4 0021A314 60 00 00 08 */ ori r0, r0, 8 /* 8021E6B8 0021A318 90 03 00 00 */ stw r0, 0(r3) /* 8021E6BC 0021A31C 81 6D A3 D8 */ lwz r11, render_context_ptr-_SDA_BASE_(r13) /* 8021E6C0 0021A320 80 6B 16 38 */ lwz r3, 0x1638(r11) /* 8021E6C4 0021A324 80 03 07 F4 */ lwz r0, 0x7f4(r3) /* 8021E6C8 0021A328 2C 00 00 07 */ cmpwi r0, 7 /* 8021E6CC 0021A32C 41 82 00 08 */ beq lbl_8021E6D4 /* 8021E6D0 0021A330 93 83 07 F4 */ stw r28, 0x7f4(r3) lbl_8021E6D4: /* 8021E6D4 0021A334 81 0B 16 38 */ lwz r8, 0x1638(r11) /* 8021E6D8 0021A338 39 40 00 00 */ li r10, 0 /* 8021E6DC 0021A33C 39 20 00 01 */ li r9, 1 /* 8021E6E0 0021A340 38 C0 00 0F */ li r6, 0xf /* 8021E6E4 0021A344 80 08 00 40 */ lwz r0, 0x40(r8) /* 8021E6E8 0021A348 38 A0 00 0A */ li r5, 0xa /* 8021E6EC 0021A34C 38 80 00 07 */ li r4, 7 /* 8021E6F0 0021A350 38 60 00 05 */ li r3, 5 /* 8021E6F4 0021A354 60 07 00 01 */ ori r7, r0, 1 /* 8021E6F8 0021A358 38 00 00 A0 */ li r0, 0xa0 /* 8021E6FC 0021A35C 90 E8 00 40 */ stw r7, 0x40(r8) /* 8021E700 0021A360 3B 80 00 00 */ li r28, 0 /* 8021E704 0021A364 3F C0 CC 01 */ lis r30, 0xcc01 /* 8021E708 0021A368 3B A0 FF FF */ li r29, -1 /* 8021E70C 0021A36C 81 0B 16 38 */ lwz r8, 0x1638(r11) /* 8021E710 0021A370 80 E8 00 00 */ lwz r7, 0(r8) /* 8021E714 0021A374 60 E7 00 08 */ ori r7, r7, 8 /* 8021E718 0021A378 90 E8 00 00 */ stw r7, 0(r8) /* 8021E71C 0021A37C 81 6D A3 D8 */ lwz r11, render_context_ptr-_SDA_BASE_(r13) /* 8021E720 0021A380 80 EB 16 38 */ lwz r7, 0x1638(r11) /* 8021E724 0021A384 91 47 05 44 */ stw r10, 0x544(r7) /* 8021E728 0021A388 91 47 05 48 */ stw r10, 0x548(r7) /* 8021E72C 0021A38C 91 47 05 4C */ stw r10, 0x54c(r7) /* 8021E730 0021A390 99 27 05 50 */ stb r9, 0x550(r7) /* 8021E734 0021A394 91 47 05 54 */ stw r10, 0x554(r7) /* 8021E738 0021A398 81 0B 16 38 */ lwz r8, 0x1638(r11) /* 8021E73C 0021A39C 80 E8 00 34 */ lwz r7, 0x34(r8) /* 8021E740 0021A3A0 60 E7 00 01 */ ori r7, r7, 1 /* 8021E744 0021A3A4 90 E8 00 34 */ stw r7, 0x34(r8) /* 8021E748 0021A3A8 81 0B 16 38 */ lwz r8, 0x1638(r11) /* 8021E74C 0021A3AC 80 E8 00 00 */ lwz r7, 0(r8) /* 8021E750 0021A3B0 60 E7 00 08 */ ori r7, r7, 8 /* 8021E754 0021A3B4 90 E8 00 00 */ stw r7, 0(r8) /* 8021E758 0021A3B8 81 0D A3 D8 */ lwz r8, render_context_ptr-_SDA_BASE_(r13) /* 8021E75C 0021A3BC 80 E8 16 38 */ lwz r7, 0x1638(r8) /* 8021E760 0021A3C0 90 C7 03 44 */ stw r6, 0x344(r7) /* 8021E764 0021A3C4 90 C7 03 48 */ stw r6, 0x348(r7) /* 8021E768 0021A3C8 90 C7 03 4C */ stw r6, 0x34c(r7) /* 8021E76C 0021A3CC 90 A7 03 50 */ stw r5, 0x350(r7) /* 8021E770 0021A3D0 80 C8 16 38 */ lwz r6, 0x1638(r8) /* 8021E774 0021A3D4 80 A6 00 2C */ lwz r5, 0x2c(r6) /* 8021E778 0021A3D8 60 A5 00 01 */ ori r5, r5, 1 /* 8021E77C 0021A3DC 90 A6 00 2C */ stw r5, 0x2c(r6) /* 8021E780 0021A3E0 80 C8 16 38 */ lwz r6, 0x1638(r8) /* 8021E784 0021A3E4 80 A6 00 00 */ lwz r5, 0(r6) /* 8021E788 0021A3E8 60 A5 00 08 */ ori r5, r5, 8 /* 8021E78C 0021A3EC 90 A6 00 00 */ stw r5, 0(r6) /* 8021E790 0021A3F0 80 ED A3 D8 */ lwz r7, render_context_ptr-_SDA_BASE_(r13) /* 8021E794 0021A3F4 80 A7 16 38 */ lwz r5, 0x1638(r7) /* 8021E798 0021A3F8 91 45 06 84 */ stw r10, 0x684(r5) /* 8021E79C 0021A3FC 91 45 06 88 */ stw r10, 0x688(r5) /* 8021E7A0 0021A400 91 45 06 8C */ stw r10, 0x68c(r5) /* 8021E7A4 0021A404 99 25 06 90 */ stb r9, 0x690(r5) /* 8021E7A8 0021A408 91 45 06 94 */ stw r10, 0x694(r5) /* 8021E7AC 0021A40C 80 C7 16 38 */ lwz r6, 0x1638(r7) /* 8021E7B0 0021A410 80 A6 00 38 */ lwz r5, 0x38(r6) /* 8021E7B4 0021A414 60 A5 00 01 */ ori r5, r5, 1 /* 8021E7B8 0021A418 90 A6 00 38 */ stw r5, 0x38(r6) /* 8021E7BC 0021A41C 80 C7 16 38 */ lwz r6, 0x1638(r7) /* 8021E7C0 0021A420 80 A6 00 00 */ lwz r5, 0(r6) /* 8021E7C4 0021A424 60 A5 00 08 */ ori r5, r5, 8 /* 8021E7C8 0021A428 90 A6 00 00 */ stw r5, 0(r6) /* 8021E7CC 0021A42C 80 CD A3 D8 */ lwz r6, render_context_ptr-_SDA_BASE_(r13) /* 8021E7D0 0021A430 80 A6 16 38 */ lwz r5, 0x1638(r6) /* 8021E7D4 0021A434 90 85 04 44 */ stw r4, 0x444(r5) /* 8021E7D8 0021A438 90 85 04 48 */ stw r4, 0x448(r5) /* 8021E7DC 0021A43C 90 85 04 4C */ stw r4, 0x44c(r5) /* 8021E7E0 0021A440 90 65 04 50 */ stw r3, 0x450(r5) /* 8021E7E4 0021A444 80 86 16 38 */ lwz r4, 0x1638(r6) /* 8021E7E8 0021A448 80 64 00 30 */ lwz r3, 0x30(r4) /* 8021E7EC 0021A44C 60 63 00 01 */ ori r3, r3, 1 /* 8021E7F0 0021A450 90 64 00 30 */ stw r3, 0x30(r4) /* 8021E7F4 0021A454 80 86 16 38 */ lwz r4, 0x1638(r6) /* 8021E7F8 0021A458 80 64 00 00 */ lwz r3, 0(r4) /* 8021E7FC 0021A45C 60 63 00 08 */ ori r3, r3, 8 /* 8021E800 0021A460 90 64 00 00 */ stw r3, 0(r4) /* 8021E804 0021A464 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 8021E808 0021A468 90 03 17 38 */ stw r0, 0x1738(r3) /* 8021E80C 0021A46C 83 FA 00 14 */ lwz r31, 0x14(r26) /* 8021E810 0021A470 48 00 01 88 */ b lbl_8021E998 lbl_8021E814: /* 8021E814 0021A474 80 1F 00 0C */ lwz r0, 0xc(r31) /* 8021E818 0021A478 2C 00 00 00 */ cmpwi r0, 0 /* 8021E81C 0021A47C 41 82 01 74 */ beq lbl_8021E990 /* 8021E820 0021A480 A3 3F 00 10 */ lhz r25, 0x10(r31) /* 8021E824 0021A484 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 8021E828 0021A488 7F 24 CB 78 */ mr r4, r25 /* 8021E82C 0021A48C 48 01 4D 01 */ bl begin_drawing /* 8021E830 0021A490 2C 19 00 00 */ cmpwi r25, 0 /* 8021E834 0021A494 80 9F 00 0C */ lwz r4, 0xc(r31) /* 8021E838 0021A498 38 A0 00 00 */ li r5, 0 /* 8021E83C 0021A49C 41 82 01 4C */ beq lbl_8021E988 /* 8021E840 0021A4A0 28 19 00 08 */ cmplwi r25, 8 /* 8021E844 0021A4A4 3C 79 00 01 */ addis r3, r25, 1 /* 8021E848 0021A4A8 38 63 FF F8 */ addi r3, r3, -8 /* 8021E84C 0021A4AC 40 81 01 30 */ ble lbl_8021E97C /* 8021E850 0021A4B0 54 63 04 3E */ clrlwi r3, r3, 0x10 /* 8021E854 0021A4B4 38 03 00 07 */ addi r0, r3, 7 /* 8021E858 0021A4B8 54 00 E8 FE */ srwi r0, r0, 3 /* 8021E85C 0021A4BC 7C 09 03 A6 */ mtctr r0 /* 8021E860 0021A4C0 28 03 00 00 */ cmplwi r3, 0 /* 8021E864 0021A4C4 40 81 01 18 */ ble lbl_8021E97C lbl_8021E868: /* 8021E868 0021A4C8 C0 04 00 08 */ lfs f0, 8(r4) /* 8021E86C 0021A4CC 38 A5 00 08 */ addi r5, r5, 8 /* 8021E870 0021A4D0 C0 24 00 04 */ lfs f1, 4(r4) /* 8021E874 0021A4D4 C0 44 00 00 */ lfs f2, 0(r4) /* 8021E878 0021A4D8 D0 5E 80 00 */ stfs f2, -0x8000(r30) /* 8021E87C 0021A4DC D0 3E 80 00 */ stfs f1, -0x8000(r30) /* 8021E880 0021A4E0 D0 1E 80 00 */ stfs f0, -0x8000(r30) /* 8021E884 0021A4E4 93 BE 80 00 */ stw r29, -0x8000(r30) /* 8021E888 0021A4E8 C0 04 00 14 */ lfs f0, 0x14(r4) /* 8021E88C 0021A4EC C0 24 00 10 */ lfs f1, 0x10(r4) /* 8021E890 0021A4F0 C0 44 00 0C */ lfs f2, 0xc(r4) /* 8021E894 0021A4F4 D0 5E 80 00 */ stfs f2, -0x8000(r30) /* 8021E898 0021A4F8 D0 3E 80 00 */ stfs f1, -0x8000(r30) /* 8021E89C 0021A4FC D0 1E 80 00 */ stfs f0, -0x8000(r30) /* 8021E8A0 0021A500 93 BE 80 00 */ stw r29, -0x8000(r30) /* 8021E8A4 0021A504 C0 04 00 20 */ lfs f0, 0x20(r4) /* 8021E8A8 0021A508 C0 24 00 1C */ lfs f1, 0x1c(r4) /* 8021E8AC 0021A50C C0 44 00 18 */ lfs f2, 0x18(r4) /* 8021E8B0 0021A510 D0 5E 80 00 */ stfs f2, -0x8000(r30) /* 8021E8B4 0021A514 D0 3E 80 00 */ stfs f1, -0x8000(r30) /* 8021E8B8 0021A518 D0 1E 80 00 */ stfs f0, -0x8000(r30) /* 8021E8BC 0021A51C 93 BE 80 00 */ stw r29, -0x8000(r30) /* 8021E8C0 0021A520 C0 04 00 2C */ lfs f0, 0x2c(r4) /* 8021E8C4 0021A524 C0 24 00 28 */ lfs f1, 0x28(r4) /* 8021E8C8 0021A528 C0 44 00 24 */ lfs f2, 0x24(r4) /* 8021E8CC 0021A52C D0 5E 80 00 */ stfs f2, -0x8000(r30) /* 8021E8D0 0021A530 D0 3E 80 00 */ stfs f1, -0x8000(r30) /* 8021E8D4 0021A534 D0 1E 80 00 */ stfs f0, -0x8000(r30) /* 8021E8D8 0021A538 93 BE 80 00 */ stw r29, -0x8000(r30) /* 8021E8DC 0021A53C C0 04 00 38 */ lfs f0, 0x38(r4) /* 8021E8E0 0021A540 C0 24 00 34 */ lfs f1, 0x34(r4) /* 8021E8E4 0021A544 C0 44 00 30 */ lfs f2, 0x30(r4) /* 8021E8E8 0021A548 D0 5E 80 00 */ stfs f2, -0x8000(r30) /* 8021E8EC 0021A54C D0 3E 80 00 */ stfs f1, -0x8000(r30) /* 8021E8F0 0021A550 D0 1E 80 00 */ stfs f0, -0x8000(r30) /* 8021E8F4 0021A554 93 BE 80 00 */ stw r29, -0x8000(r30) /* 8021E8F8 0021A558 C0 04 00 44 */ lfs f0, 0x44(r4) /* 8021E8FC 0021A55C C0 24 00 40 */ lfs f1, 0x40(r4) /* 8021E900 0021A560 C0 44 00 3C */ lfs f2, 0x3c(r4) /* 8021E904 0021A564 D0 5E 80 00 */ stfs f2, -0x8000(r30) /* 8021E908 0021A568 D0 3E 80 00 */ stfs f1, -0x8000(r30) /* 8021E90C 0021A56C D0 1E 80 00 */ stfs f0, -0x8000(r30) /* 8021E910 0021A570 93 BE 80 00 */ stw r29, -0x8000(r30) /* 8021E914 0021A574 C0 04 00 50 */ lfs f0, 0x50(r4) /* 8021E918 0021A578 C0 24 00 4C */ lfs f1, 0x4c(r4) /* 8021E91C 0021A57C C0 44 00 48 */ lfs f2, 0x48(r4) /* 8021E920 0021A580 D0 5E 80 00 */ stfs f2, -0x8000(r30) /* 8021E924 0021A584 D0 3E 80 00 */ stfs f1, -0x8000(r30) /* 8021E928 0021A588 D0 1E 80 00 */ stfs f0, -0x8000(r30) /* 8021E92C 0021A58C 93 BE 80 00 */ stw r29, -0x8000(r30) /* 8021E930 0021A590 C0 04 00 5C */ lfs f0, 0x5c(r4) /* 8021E934 0021A594 C0 24 00 58 */ lfs f1, 0x58(r4) /* 8021E938 0021A598 C0 44 00 54 */ lfs f2, 0x54(r4) /* 8021E93C 0021A59C 38 84 00 60 */ addi r4, r4, 0x60 /* 8021E940 0021A5A0 D0 5E 80 00 */ stfs f2, -0x8000(r30) /* 8021E944 0021A5A4 D0 3E 80 00 */ stfs f1, -0x8000(r30) /* 8021E948 0021A5A8 D0 1E 80 00 */ stfs f0, -0x8000(r30) /* 8021E94C 0021A5AC 93 BE 80 00 */ stw r29, -0x8000(r30) /* 8021E950 0021A5B0 42 00 FF 18 */ bdnz lbl_8021E868 /* 8021E954 0021A5B4 48 00 00 28 */ b lbl_8021E97C lbl_8021E958: /* 8021E958 0021A5B8 C0 04 00 08 */ lfs f0, 8(r4) /* 8021E95C 0021A5BC 38 A5 00 01 */ addi r5, r5, 1 /* 8021E960 0021A5C0 C0 24 00 04 */ lfs f1, 4(r4) /* 8021E964 0021A5C4 C0 44 00 00 */ lfs f2, 0(r4) /* 8021E968 0021A5C8 38 84 00 0C */ addi r4, r4, 0xc /* 8021E96C 0021A5CC D0 5E 80 00 */ stfs f2, -0x8000(r30) /* 8021E970 0021A5D0 D0 3E 80 00 */ stfs f1, -0x8000(r30) /* 8021E974 0021A5D4 D0 1E 80 00 */ stfs f0, -0x8000(r30) /* 8021E978 0021A5D8 93 BE 80 00 */ stw r29, -0x8000(r30) lbl_8021E97C: /* 8021E97C 0021A5DC 54 A0 04 3E */ clrlwi r0, r5, 0x10 /* 8021E980 0021A5E0 7C 00 C8 40 */ cmplw r0, r25 /* 8021E984 0021A5E4 41 80 FF D4 */ blt lbl_8021E958 lbl_8021E988: /* 8021E988 0021A5E8 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13) /* 8021E98C 0021A5EC 48 01 4B F5 */ bl end_drawing lbl_8021E990: /* 8021E990 0021A5F0 3B 9C 00 01 */ addi r28, r28, 1 /* 8021E994 0021A5F4 3B FF 00 3C */ addi r31, r31, 0x3c lbl_8021E998: /* 8021E998 0021A5F8 A0 1A 00 1C */ lhz r0, 0x1c(r26) /* 8021E99C 0021A5FC 57 83 04 3E */ clrlwi r3, r28, 0x10 /* 8021E9A0 0021A600 7C 03 00 40 */ cmplw r3, r0 /* 8021E9A4 0021A604 41 80 FE 70 */ blt lbl_8021E814 /* 8021E9A8 0021A608 2C 1B 00 00 */ cmpwi r27, 0 /* 8021E9AC 0021A60C 41 82 00 60 */ beq lbl_8021EA0C /* 8021E9B0 0021A610 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13) /* 8021E9B4 0021A614 38 00 00 01 */ li r0, 1 /* 8021E9B8 0021A618 80 64 16 38 */ lwz r3, 0x1638(r4) /* 8021E9BC 0021A61C 98 03 0A 87 */ stb r0, 0xa87(r3) /* 8021E9C0 0021A620 80 64 16 38 */ lwz r3, 0x1638(r4) /* 8021E9C4 0021A624 80 03 00 64 */ lwz r0, 0x64(r3) /* 8021E9C8 0021A628 60 00 00 40 */ ori r0, r0, 0x40 /* 8021E9CC 0021A62C 90 03 00 64 */ stw r0, 0x64(r3) /* 8021E9D0 0021A630 80 64 16 38 */ lwz r3, 0x1638(r4) /* 8021E9D4 0021A634 80 03 00 64 */ lwz r0, 0x64(r3) /* 8021E9D8 0021A638 60 00 02 00 */ ori r0, r0, 0x200 /* 8021E9DC 0021A63C 90 03 00 64 */ stw r0, 0x64(r3) /* 8021E9E0 0021A640 80 64 16 38 */ lwz r3, 0x1638(r4) /* 8021E9E4 0021A644 88 03 0A 86 */ lbz r0, 0xa86(r3) /* 8021E9E8 0021A648 2C 00 00 00 */ cmpwi r0, 0 /* 8021E9EC 0021A64C 41 82 00 10 */ beq lbl_8021E9FC /* 8021E9F0 0021A650 80 03 00 64 */ lwz r0, 0x64(r3) /* 8021E9F4 0021A654 60 00 01 00 */ ori r0, r0, 0x100 /* 8021E9F8 0021A658 90 03 00 64 */ stw r0, 0x64(r3) lbl_8021E9FC: /* 8021E9FC 0021A65C 80 64 16 38 */ lwz r3, 0x1638(r4) /* 8021EA00 0021A660 80 03 00 00 */ lwz r0, 0(r3) /* 8021EA04 0021A664 60 00 00 40 */ ori r0, r0, 0x40 /* 8021EA08 0021A668 90 03 00 00 */ stw r0, 0(r3) lbl_8021EA0C: /* 8021EA0C 0021A66C 39 61 00 40 */ addi r11, r1, 0x40 /* 8021EA10 0021A670 4B FA 87 5D */ bl _restgpr_25 /* 8021EA14 0021A674 80 01 00 44 */ lwz r0, 0x44(r1) /* 8021EA18 0021A678 7C 08 03 A6 */ mtlr r0 /* 8021EA1C 0021A67C 38 21 00 40 */ addi r1, r1, 0x40 /* 8021EA20 0021A680 4E 80 00 20 */ blr lbl_8021EA24: /* 8021EA24 0021A684 4E 80 00 20 */ blr .global func_8021EA28 func_8021EA28: /* 8021EA28 0021A688 38 A0 00 01 */ li r5, 1 /* 8021EA2C 0021A68C 38 6D A2 98 */ addi r3, r13, lbl_8063F558-_SDA_BASE_ /* 8021EA30 0021A690 38 80 00 04 */ li r4, 4 /* 8021EA34 0021A694 38 00 00 00 */ li r0, 0 /* 8021EA38 0021A698 98 AD A2 98 */ stb r5, lbl_8063F558-_SDA_BASE_(r13) /* 8021EA3C 0021A69C B0 83 00 02 */ sth r4, 2(r3) /* 8021EA40 0021A6A0 98 03 00 04 */ stb r0, 4(r3) /* 8021EA44 0021A6A4 4E 80 00 20 */ blr