summaryrefslogtreecommitdiff
path: root/asm/code_801E5F7C.s
blob: 5acbe6259694bd9212f67ff698f708b5cb540648 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
.include "macros.inc"

.section .text, "ax"  # 0x80006980 - 0x803E1E60

.global func_801E5F7C
func_801E5F7C:
/* 801E5F7C 001E1BDC  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 801E5F80 001E1BE0  7C 08 02 A6 */	mflr r0
/* 801E5F84 001E1BE4  90 01 00 34 */	stw r0, 0x34(r1)
/* 801E5F88 001E1BE8  39 61 00 30 */	addi r11, r1, 0x30
/* 801E5F8C 001E1BEC  4B FE 11 9D */	bl _savegpr_27
/* 801E5F90 001E1BF0  7C 9C 23 78 */	mr r28, r4
/* 801E5F94 001E1BF4  7C 7B 1B 78 */	mr r27, r3
/* 801E5F98 001E1BF8  7C BD 2B 78 */	mr r29, r5
/* 801E5F9C 001E1BFC  7C DE 33 78 */	mr r30, r6
/* 801E5FA0 001E1C00  7C FF 3B 78 */	mr r31, r7
/* 801E5FA4 001E1C04  38 80 00 05 */	li r4, 5
/* 801E5FA8 001E1C08  48 00 BB 41 */	bl __ct__6GSnullFUc
/* 801E5FAC 001E1C0C  88 BF 00 03 */	lbz r5, 3(r31)
/* 801E5FB0 001E1C10  3C E0 80 42 */	lis r7, lbl_80423590@ha
/* 801E5FB4 001E1C14  38 C0 00 00 */	li r6, 0
/* 801E5FB8 001E1C18  88 9F 00 02 */	lbz r4, 2(r31)
/* 801E5FBC 001E1C1C  88 7F 00 01 */	lbz r3, 1(r31)
/* 801E5FC0 001E1C20  38 E7 35 90 */	addi r7, r7, lbl_80423590@l
/* 801E5FC4 001E1C24  88 1F 00 00 */	lbz r0, 0(r31)
/* 801E5FC8 001E1C28  C0 42 97 40 */	lfs f2, lbl_80641D40-_SDA2_BASE_(r2)
/* 801E5FCC 001E1C2C  C0 22 97 44 */	lfs f1, lbl_80641D44-_SDA2_BASE_(r2)
/* 801E5FD0 001E1C30  C0 82 97 48 */	lfs f4, lbl_80641D48-_SDA2_BASE_(r2)
/* 801E5FD4 001E1C34  C0 02 97 4C */	lfs f0, lbl_80641D4C-_SDA2_BASE_(r2)
/* 801E5FD8 001E1C38  90 FB 01 00 */	stw r7, 0x100(r27)
/* 801E5FDC 001E1C3C  90 DB 01 04 */	stw r6, 0x104(r27)
/* 801E5FE0 001E1C40  93 9B 01 08 */	stw r28, 0x108(r27)
/* 801E5FE4 001E1C44  90 DB 01 0C */	stw r6, 0x10c(r27)
/* 801E5FE8 001E1C48  98 1B 01 10 */	stb r0, 0x110(r27)
/* 801E5FEC 001E1C4C  98 7B 01 11 */	stb r3, 0x111(r27)
/* 801E5FF0 001E1C50  98 9B 01 12 */	stb r4, 0x112(r27)
/* 801E5FF4 001E1C54  98 BB 01 13 */	stb r5, 0x113(r27)
/* 801E5FF8 001E1C58  D0 5B 01 18 */	stfs f2, 0x118(r27)
/* 801E5FFC 001E1C5C  90 DB 01 1C */	stw r6, 0x11c(r27)
/* 801E6000 001E1C60  D0 3B 01 20 */	stfs f1, 0x120(r27)
/* 801E6004 001E1C64  D0 9B 01 24 */	stfs f4, 0x124(r27)
/* 801E6008 001E1C68  90 DB 01 28 */	stw r6, 0x128(r27)
/* 801E600C 001E1C6C  D0 1B 01 2C */	stfs f0, 0x12c(r27)
/* 801E6010 001E1C70  90 DB 01 30 */	stw r6, 0x130(r27)
/* 801E6014 001E1C74  90 DB 01 34 */	stw r6, 0x134(r27)
/* 801E6018 001E1C78  98 81 00 0A */	stb r4, 0xa(r1)
/* 801E601C 001E1C7C  E0 A1 A0 0A */	psq_l f5, 10(r1), 1, qr2
/* 801E6020 001E1C80  98 01 00 09 */	stb r0, 9(r1)
/* 801E6024 001E1C84  E0 41 A0 09 */	psq_l f2, 9(r1), 1, qr2
/* 801E6028 001E1C88  98 61 00 08 */	stb r3, 8(r1)
/* 801E602C 001E1C8C  E0 C1 A0 08 */	psq_l f6, 8(r1), 1, qr2
/* 801E6030 001E1C90  C0 22 97 54 */	lfs f1, lbl_80641D54-_SDA2_BASE_(r2)
/* 801E6034 001E1C94  C0 62 97 50 */	lfs f3, lbl_80641D50-_SDA2_BASE_(r2)
/* 801E6038 001E1C98  C0 02 97 58 */	lfs f0, lbl_80641D58-_SDA2_BASE_(r2)
/* 801E603C 001E1C9C  EC 41 00 B2 */	fmuls f2, f1, f2
/* 801E6040 001E1CA0  EC 63 01 72 */	fmuls f3, f3, f5
/* 801E6044 001E1CA4  EC 20 01 B2 */	fmuls f1, f0, f6
/* 801E6048 001E1CA8  C0 02 97 5C */	lfs f0, lbl_80641D5C-_SDA2_BASE_(r2)
/* 801E604C 001E1CAC  EC 22 08 2A */	fadds f1, f2, f1
/* 801E6050 001E1CB0  EC 23 08 2A */	fadds f1, f3, f1
/* 801E6054 001E1CB4  EC 21 01 32 */	fmuls f1, f1, f4
/* 801E6058 001E1CB8  EC 00 08 28 */	fsubs f0, f0, f1
/* 801E605C 001E1CBC  F0 01 A0 0C */	psq_st f0, 12(r1), 1, qr2
/* 801E6060 001E1CC0  38 60 00 FF */	li r3, 0xff
/* 801E6064 001E1CC4  88 81 00 0C */	lbz r4, 0xc(r1)
/* 801E6068 001E1CC8  80 1B 01 08 */	lwz r0, 0x108(r27)
/* 801E606C 001E1CCC  98 9B 01 14 */	stb r4, 0x114(r27)
/* 801E6070 001E1CD0  2C 00 00 00 */	cmpwi r0, 0
/* 801E6074 001E1CD4  98 9B 01 15 */	stb r4, 0x115(r27)
/* 801E6078 001E1CD8  98 9B 01 16 */	stb r4, 0x116(r27)
/* 801E607C 001E1CDC  98 7B 01 17 */	stb r3, 0x117(r27)
/* 801E6080 001E1CE0  41 82 00 14 */	beq lbl_801E6094
/* 801E6084 001E1CE4  41 80 00 A8 */	blt lbl_801E612C
/* 801E6088 001E1CE8  2C 00 00 03 */	cmpwi r0, 3
/* 801E608C 001E1CEC  40 80 00 A0 */	bge lbl_801E612C
/* 801E6090 001E1CF0  48 00 00 5C */	b lbl_801E60EC
lbl_801E6094:
/* 801E6094 001E1CF4  2C 1E 00 00 */	cmpwi r30, 0
/* 801E6098 001E1CF8  41 82 00 1C */	beq lbl_801E60B4
/* 801E609C 001E1CFC  38 60 00 80 */	li r3, 0x80
/* 801E60A0 001E1D00  4B FF 49 91 */	bl __nw__FUl
/* 801E60A4 001E1D04  2C 03 00 00 */	cmpwi r3, 0
/* 801E60A8 001E1D08  41 82 00 08 */	beq lbl_801E60B0
/* 801E60AC 001E1D0C  48 04 F3 C9 */	bl func_80235474
lbl_801E60B0:
/* 801E60B0 001E1D10  90 7B 01 34 */	stw r3, 0x134(r27)
lbl_801E60B4:
/* 801E60B4 001E1D14  2C 1D 00 00 */	cmpwi r29, 0
/* 801E60B8 001E1D18  41 82 00 74 */	beq lbl_801E612C
/* 801E60BC 001E1D1C  80 1B 01 34 */	lwz r0, 0x134(r27)
/* 801E60C0 001E1D20  2C 00 00 00 */	cmpwi r0, 0
/* 801E60C4 001E1D24  41 82 00 0C */	beq lbl_801E60D0
/* 801E60C8 001E1D28  90 1B 01 30 */	stw r0, 0x130(r27)
/* 801E60CC 001E1D2C  48 00 00 60 */	b lbl_801E612C
lbl_801E60D0:
/* 801E60D0 001E1D30  38 60 00 80 */	li r3, 0x80
/* 801E60D4 001E1D34  4B FF 49 5D */	bl __nw__FUl
/* 801E60D8 001E1D38  2C 03 00 00 */	cmpwi r3, 0
/* 801E60DC 001E1D3C  41 82 00 08 */	beq lbl_801E60E4
/* 801E60E0 001E1D40  48 04 F3 95 */	bl func_80235474
lbl_801E60E4:
/* 801E60E4 001E1D44  90 7B 01 30 */	stw r3, 0x130(r27)
/* 801E60E8 001E1D48  48 00 00 44 */	b lbl_801E612C
lbl_801E60EC:
/* 801E60EC 001E1D4C  2C 1D 00 00 */	cmpwi r29, 0
/* 801E60F0 001E1D50  41 82 00 1C */	beq lbl_801E610C
/* 801E60F4 001E1D54  38 60 00 80 */	li r3, 0x80
/* 801E60F8 001E1D58  4B FF 49 39 */	bl __nw__FUl
/* 801E60FC 001E1D5C  2C 03 00 00 */	cmpwi r3, 0
/* 801E6100 001E1D60  41 82 00 08 */	beq lbl_801E6108
/* 801E6104 001E1D64  48 04 F3 71 */	bl func_80235474
lbl_801E6108:
/* 801E6108 001E1D68  90 7B 01 30 */	stw r3, 0x130(r27)
lbl_801E610C:
/* 801E610C 001E1D6C  2C 1E 00 00 */	cmpwi r30, 0
/* 801E6110 001E1D70  41 82 00 1C */	beq lbl_801E612C
/* 801E6114 001E1D74  38 60 00 80 */	li r3, 0x80
/* 801E6118 001E1D78  4B FF 49 19 */	bl __nw__FUl
/* 801E611C 001E1D7C  2C 03 00 00 */	cmpwi r3, 0
/* 801E6120 001E1D80  41 82 00 08 */	beq lbl_801E6128
/* 801E6124 001E1D84  48 04 F3 51 */	bl func_80235474
lbl_801E6128:
/* 801E6128 001E1D88  90 7B 01 34 */	stw r3, 0x134(r27)
lbl_801E612C:
/* 801E612C 001E1D8C  39 61 00 30 */	addi r11, r1, 0x30
/* 801E6130 001E1D90  7F 63 DB 78 */	mr r3, r27
/* 801E6134 001E1D94  4B FE 10 41 */	bl _restgpr_27
/* 801E6138 001E1D98  80 01 00 34 */	lwz r0, 0x34(r1)
/* 801E613C 001E1D9C  7C 08 03 A6 */	mtlr r0
/* 801E6140 001E1DA0  38 21 00 30 */	addi r1, r1, 0x30
/* 801E6144 001E1DA4  4E 80 00 20 */	blr

.global func_801E6148
func_801E6148:
/* 801E6148 001E1DA8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801E614C 001E1DAC  7C 08 02 A6 */	mflr r0
/* 801E6150 001E1DB0  90 01 00 14 */	stw r0, 0x14(r1)
/* 801E6154 001E1DB4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801E6158 001E1DB8  7C BF 2B 78 */	mr r31, r5
/* 801E615C 001E1DBC  93 C1 00 08 */	stw r30, 8(r1)
/* 801E6160 001E1DC0  7C 7E 1B 78 */	mr r30, r3
/* 801E6164 001E1DC4  48 00 BA 65 */	bl __ct__6GSnullFPvP11gUnkClass10
/* 801E6168 001E1DC8  C0 62 97 40 */	lfs f3, lbl_80641D40-_SDA2_BASE_(r2)
/* 801E616C 001E1DCC  3C 80 80 42 */	lis r4, lbl_80423590@ha
/* 801E6170 001E1DD0  38 60 00 00 */	li r3, 0
/* 801E6174 001E1DD4  38 00 00 FF */	li r0, 0xff
/* 801E6178 001E1DD8  C0 42 97 44 */	lfs f2, lbl_80641D44-_SDA2_BASE_(r2)
/* 801E617C 001E1DDC  38 84 35 90 */	addi r4, r4, lbl_80423590@l
/* 801E6180 001E1DE0  C0 22 97 48 */	lfs f1, lbl_80641D48-_SDA2_BASE_(r2)
/* 801E6184 001E1DE4  C0 02 97 4C */	lfs f0, lbl_80641D4C-_SDA2_BASE_(r2)
/* 801E6188 001E1DE8  90 9E 01 00 */	stw r4, 0x100(r30)
/* 801E618C 001E1DEC  90 7E 01 04 */	stw r3, 0x104(r30)
/* 801E6190 001E1DF0  93 FE 01 0C */	stw r31, 0x10c(r30)
/* 801E6194 001E1DF4  98 1E 01 10 */	stb r0, 0x110(r30)
/* 801E6198 001E1DF8  98 1E 01 11 */	stb r0, 0x111(r30)
/* 801E619C 001E1DFC  98 1E 01 12 */	stb r0, 0x112(r30)
/* 801E61A0 001E1E00  98 1E 01 13 */	stb r0, 0x113(r30)
/* 801E61A4 001E1E04  98 7E 01 14 */	stb r3, 0x114(r30)
/* 801E61A8 001E1E08  98 7E 01 15 */	stb r3, 0x115(r30)
/* 801E61AC 001E1E0C  98 7E 01 16 */	stb r3, 0x116(r30)
/* 801E61B0 001E1E10  98 1E 01 17 */	stb r0, 0x117(r30)
/* 801E61B4 001E1E14  D0 7E 01 18 */	stfs f3, 0x118(r30)
/* 801E61B8 001E1E18  90 7E 01 1C */	stw r3, 0x11c(r30)
/* 801E61BC 001E1E1C  D0 5E 01 20 */	stfs f2, 0x120(r30)
/* 801E61C0 001E1E20  D0 3E 01 24 */	stfs f1, 0x124(r30)
/* 801E61C4 001E1E24  90 7E 01 28 */	stw r3, 0x128(r30)
/* 801E61C8 001E1E28  D0 1E 01 2C */	stfs f0, 0x12c(r30)
/* 801E61CC 001E1E2C  90 7E 01 30 */	stw r3, 0x130(r30)
/* 801E61D0 001E1E30  90 7E 01 34 */	stw r3, 0x134(r30)
/* 801E61D4 001E1E34  80 1F 00 30 */	lwz r0, 0x30(r31)
/* 801E61D8 001E1E38  54 00 07 BF */	clrlwi. r0, r0, 0x1e
/* 801E61DC 001E1E3C  90 1E 01 08 */	stw r0, 0x108(r30)
/* 801E61E0 001E1E40  41 82 00 14 */	beq lbl_801E61F4
/* 801E61E4 001E1E44  41 80 00 B8 */	blt lbl_801E629C
/* 801E61E8 001E1E48  2C 00 00 03 */	cmpwi r0, 3
/* 801E61EC 001E1E4C  40 80 00 B0 */	bge lbl_801E629C
/* 801E61F0 001E1E50  48 00 00 64 */	b lbl_801E6254
lbl_801E61F4:
/* 801E61F4 001E1E54  80 1F 00 30 */	lwz r0, 0x30(r31)
/* 801E61F8 001E1E58  54 00 07 39 */	rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 801E61FC 001E1E5C  41 82 00 1C */	beq lbl_801E6218
/* 801E6200 001E1E60  38 60 00 80 */	li r3, 0x80
/* 801E6204 001E1E64  4B FF 48 2D */	bl __nw__FUl
/* 801E6208 001E1E68  2C 03 00 00 */	cmpwi r3, 0
/* 801E620C 001E1E6C  41 82 00 08 */	beq lbl_801E6214
/* 801E6210 001E1E70  48 04 F2 65 */	bl func_80235474
lbl_801E6214:
/* 801E6214 001E1E74  90 7E 01 34 */	stw r3, 0x134(r30)
lbl_801E6218:
/* 801E6218 001E1E78  80 1F 00 30 */	lwz r0, 0x30(r31)
/* 801E621C 001E1E7C  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 801E6220 001E1E80  41 82 00 7C */	beq lbl_801E629C
/* 801E6224 001E1E84  80 1E 01 34 */	lwz r0, 0x134(r30)
/* 801E6228 001E1E88  2C 00 00 00 */	cmpwi r0, 0
/* 801E622C 001E1E8C  41 82 00 0C */	beq lbl_801E6238
/* 801E6230 001E1E90  90 1E 01 30 */	stw r0, 0x130(r30)
/* 801E6234 001E1E94  48 00 00 68 */	b lbl_801E629C
lbl_801E6238:
/* 801E6238 001E1E98  38 60 00 80 */	li r3, 0x80
/* 801E623C 001E1E9C  4B FF 47 F5 */	bl __nw__FUl
/* 801E6240 001E1EA0  2C 03 00 00 */	cmpwi r3, 0
/* 801E6244 001E1EA4  41 82 00 08 */	beq lbl_801E624C
/* 801E6248 001E1EA8  48 04 F2 2D */	bl func_80235474
lbl_801E624C:
/* 801E624C 001E1EAC  90 7E 01 30 */	stw r3, 0x130(r30)
/* 801E6250 001E1EB0  48 00 00 4C */	b lbl_801E629C
lbl_801E6254:
/* 801E6254 001E1EB4  80 1F 00 30 */	lwz r0, 0x30(r31)
/* 801E6258 001E1EB8  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 801E625C 001E1EBC  41 82 00 1C */	beq lbl_801E6278
/* 801E6260 001E1EC0  38 60 00 80 */	li r3, 0x80
/* 801E6264 001E1EC4  4B FF 47 CD */	bl __nw__FUl
/* 801E6268 001E1EC8  2C 03 00 00 */	cmpwi r3, 0
/* 801E626C 001E1ECC  41 82 00 08 */	beq lbl_801E6274
/* 801E6270 001E1ED0  48 04 F2 05 */	bl func_80235474
lbl_801E6274:
/* 801E6274 001E1ED4  90 7E 01 30 */	stw r3, 0x130(r30)
lbl_801E6278:
/* 801E6278 001E1ED8  80 1F 00 30 */	lwz r0, 0x30(r31)
/* 801E627C 001E1EDC  54 00 07 39 */	rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 801E6280 001E1EE0  41 82 00 1C */	beq lbl_801E629C
/* 801E6284 001E1EE4  38 60 00 80 */	li r3, 0x80
/* 801E6288 001E1EE8  4B FF 47 A9 */	bl __nw__FUl
/* 801E628C 001E1EEC  2C 03 00 00 */	cmpwi r3, 0
/* 801E6290 001E1EF0  41 82 00 08 */	beq lbl_801E6298
/* 801E6294 001E1EF4  48 04 F1 E1 */	bl func_80235474
lbl_801E6298:
/* 801E6298 001E1EF8  90 7E 01 34 */	stw r3, 0x134(r30)
lbl_801E629C:
/* 801E629C 001E1EFC  7F C3 F3 78 */	mr r3, r30
/* 801E62A0 001E1F00  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801E62A4 001E1F04  83 C1 00 08 */	lwz r30, 8(r1)
/* 801E62A8 001E1F08  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801E62AC 001E1F0C  7C 08 03 A6 */	mtlr r0
/* 801E62B0 001E1F10  38 21 00 10 */	addi r1, r1, 0x10
/* 801E62B4 001E1F14  4E 80 00 20 */	blr
/* 801E62B8 001E1F18  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801E62BC 001E1F1C  7C 08 02 A6 */	mflr r0
/* 801E62C0 001E1F20  90 01 00 14 */	stw r0, 0x14(r1)
/* 801E62C4 001E1F24  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801E62C8 001E1F28  7C 7F 1B 78 */	mr r31, r3
/* 801E62CC 001E1F2C  48 00 D7 1D */	bl func2__6GSnullFi
/* 801E62D0 001E1F30  80 7F 01 0C */	lwz r3, 0x10c(r31)
/* 801E62D4 001E1F34  2C 03 00 00 */	cmpwi r3, 0
/* 801E62D8 001E1F38  41 82 00 A0 */	beq lbl_801E6378
/* 801E62DC 001E1F3C  80 03 00 30 */	lwz r0, 0x30(r3)
/* 801E62E0 001E1F40  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 801E62E4 001E1F44  41 82 00 14 */	beq lbl_801E62F8
/* 801E62E8 001E1F48  80 1F 01 04 */	lwz r0, 0x104(r31)
/* 801E62EC 001E1F4C  60 00 00 01 */	ori r0, r0, 1
/* 801E62F0 001E1F50  90 1F 01 04 */	stw r0, 0x104(r31)
/* 801E62F4 001E1F54  48 00 00 10 */	b lbl_801E6304
lbl_801E62F8:
/* 801E62F8 001E1F58  80 1F 01 04 */	lwz r0, 0x104(r31)
/* 801E62FC 001E1F5C  54 00 00 3C */	rlwinm r0, r0, 0, 0, 0x1e
/* 801E6300 001E1F60  90 1F 01 04 */	stw r0, 0x104(r31)
lbl_801E6304:
/* 801E6304 001E1F64  80 7F 01 0C */	lwz r3, 0x10c(r31)
/* 801E6308 001E1F68  88 03 00 34 */	lbz r0, 0x34(r3)
/* 801E630C 001E1F6C  98 1F 01 10 */	stb r0, 0x110(r31)
/* 801E6310 001E1F70  88 03 00 35 */	lbz r0, 0x35(r3)
/* 801E6314 001E1F74  98 1F 01 11 */	stb r0, 0x111(r31)
/* 801E6318 001E1F78  88 03 00 36 */	lbz r0, 0x36(r3)
/* 801E631C 001E1F7C  98 1F 01 12 */	stb r0, 0x112(r31)
/* 801E6320 001E1F80  88 03 00 37 */	lbz r0, 0x37(r3)
/* 801E6324 001E1F84  98 1F 01 13 */	stb r0, 0x113(r31)
/* 801E6328 001E1F88  88 03 00 38 */	lbz r0, 0x38(r3)
/* 801E632C 001E1F8C  98 1F 01 14 */	stb r0, 0x114(r31)
/* 801E6330 001E1F90  88 03 00 39 */	lbz r0, 0x39(r3)
/* 801E6334 001E1F94  98 1F 01 15 */	stb r0, 0x115(r31)
/* 801E6338 001E1F98  88 03 00 3A */	lbz r0, 0x3a(r3)
/* 801E633C 001E1F9C  98 1F 01 16 */	stb r0, 0x116(r31)
/* 801E6340 001E1FA0  88 03 00 3B */	lbz r0, 0x3b(r3)
/* 801E6344 001E1FA4  98 1F 01 17 */	stb r0, 0x117(r31)
/* 801E6348 001E1FA8  C0 03 00 3C */	lfs f0, 0x3c(r3)
/* 801E634C 001E1FAC  D0 1F 01 18 */	stfs f0, 0x118(r31)
/* 801E6350 001E1FB0  80 03 00 40 */	lwz r0, 0x40(r3)
/* 801E6354 001E1FB4  90 1F 01 1C */	stw r0, 0x11c(r31)
/* 801E6358 001E1FB8  C0 03 00 44 */	lfs f0, 0x44(r3)
/* 801E635C 001E1FBC  D0 1F 01 20 */	stfs f0, 0x120(r31)
/* 801E6360 001E1FC0  C0 03 00 48 */	lfs f0, 0x48(r3)
/* 801E6364 001E1FC4  D0 1F 01 24 */	stfs f0, 0x124(r31)
/* 801E6368 001E1FC8  80 03 00 4C */	lwz r0, 0x4c(r3)
/* 801E636C 001E1FCC  90 1F 01 28 */	stw r0, 0x128(r31)
/* 801E6370 001E1FD0  C0 03 00 50 */	lfs f0, 0x50(r3)
/* 801E6374 001E1FD4  D0 1F 01 2C */	stfs f0, 0x12c(r31)
lbl_801E6378:
/* 801E6378 001E1FD8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801E637C 001E1FDC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801E6380 001E1FE0  7C 08 03 A6 */	mtlr r0
/* 801E6384 001E1FE4  38 21 00 10 */	addi r1, r1, 0x10
/* 801E6388 001E1FE8  4E 80 00 20 */	blr
/* 801E638C 001E1FEC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801E6390 001E1FF0  7C 08 02 A6 */	mflr r0
/* 801E6394 001E1FF4  2C 03 00 00 */	cmpwi r3, 0
/* 801E6398 001E1FF8  90 01 00 14 */	stw r0, 0x14(r1)
/* 801E639C 001E1FFC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801E63A0 001E2000  7C 9F 23 78 */	mr r31, r4
/* 801E63A4 001E2004  93 C1 00 08 */	stw r30, 8(r1)
/* 801E63A8 001E2008  7C 7E 1B 78 */	mr r30, r3
/* 801E63AC 001E200C  41 82 01 14 */	beq lbl_801E64C0
/* 801E63B0 001E2010  3C 80 80 42 */	lis r4, lbl_80423590@ha
/* 801E63B4 001E2014  38 84 35 90 */	addi r4, r4, lbl_80423590@l
/* 801E63B8 001E2018  90 83 01 00 */	stw r4, 0x100(r3)
/* 801E63BC 001E201C  80 CD A1 A8 */	lwz r6, lbl_8063F468-_SDA_BASE_(r13)
/* 801E63C0 001E2020  80 06 01 18 */	lwz r0, 0x118(r6)
/* 801E63C4 001E2024  7C 03 00 40 */	cmplw r3, r0
/* 801E63C8 001E2028  40 82 00 0C */	bne lbl_801E63D4
/* 801E63CC 001E202C  38 00 00 00 */	li r0, 0
/* 801E63D0 001E2030  90 06 01 18 */	stw r0, 0x118(r6)
lbl_801E63D4:
/* 801E63D4 001E2034  80 06 01 1C */	lwz r0, 0x11c(r6)
/* 801E63D8 001E2038  7C 03 00 40 */	cmplw r3, r0
/* 801E63DC 001E203C  40 82 00 0C */	bne lbl_801E63E8
/* 801E63E0 001E2040  38 00 00 00 */	li r0, 0
/* 801E63E4 001E2044  90 06 01 1C */	stw r0, 0x11c(r6)
lbl_801E63E8:
/* 801E63E8 001E2048  80 06 01 20 */	lwz r0, 0x120(r6)
/* 801E63EC 001E204C  7C 03 00 40 */	cmplw r3, r0
/* 801E63F0 001E2050  40 82 00 0C */	bne lbl_801E63FC
/* 801E63F4 001E2054  38 00 00 00 */	li r0, 0
/* 801E63F8 001E2058  90 06 01 20 */	stw r0, 0x120(r6)
lbl_801E63FC:
/* 801E63FC 001E205C  2C 03 00 00 */	cmpwi r3, 0
/* 801E6400 001E2060  41 82 00 5C */	beq lbl_801E645C
/* 801E6404 001E2064  80 86 01 0C */	lwz r4, 0x10c(r6)
/* 801E6408 001E2068  38 A0 00 00 */	li r5, 0
/* 801E640C 001E206C  2C 04 00 00 */	cmpwi r4, 0
/* 801E6410 001E2070  41 82 00 4C */	beq lbl_801E645C
/* 801E6414 001E2074  48 00 00 18 */	b lbl_801E642C
lbl_801E6418:
/* 801E6418 001E2078  80 04 00 00 */	lwz r0, 0(r4)
/* 801E641C 001E207C  7C 00 18 40 */	cmplw r0, r3
/* 801E6420 001E2080  41 82 00 14 */	beq lbl_801E6434
/* 801E6424 001E2084  7C 85 23 78 */	mr r5, r4
/* 801E6428 001E2088  80 84 00 04 */	lwz r4, 4(r4)
lbl_801E642C:
/* 801E642C 001E208C  2C 04 00 00 */	cmpwi r4, 0
/* 801E6430 001E2090  40 82 FF E8 */	bne lbl_801E6418
lbl_801E6434:
/* 801E6434 001E2094  2C 04 00 00 */	cmpwi r4, 0
/* 801E6438 001E2098  41 82 00 24 */	beq lbl_801E645C
/* 801E643C 001E209C  2C 05 00 00 */	cmpwi r5, 0
/* 801E6440 001E20A0  80 04 00 04 */	lwz r0, 4(r4)
/* 801E6444 001E20A4  41 82 00 0C */	beq lbl_801E6450
/* 801E6448 001E20A8  90 05 00 04 */	stw r0, 4(r5)
/* 801E644C 001E20AC  48 00 00 08 */	b lbl_801E6454
lbl_801E6450:
/* 801E6450 001E20B0  90 06 01 0C */	stw r0, 0x10c(r6)
lbl_801E6454:
/* 801E6454 001E20B4  7C 83 23 78 */	mr r3, r4
/* 801E6458 001E20B8  48 06 38 B1 */	bl func_80249D08
lbl_801E645C:
/* 801E645C 001E20BC  80 7E 01 30 */	lwz r3, 0x130(r30)
/* 801E6460 001E20C0  2C 83 00 00 */	cmpwi cr1, r3, 0
/* 801E6464 001E20C4  41 86 00 20 */	beq cr1, lbl_801E6484
/* 801E6468 001E20C8  80 1E 01 34 */	lwz r0, 0x134(r30)
/* 801E646C 001E20CC  7C 03 00 40 */	cmplw r3, r0
/* 801E6470 001E20D0  41 82 00 14 */	beq lbl_801E6484
/* 801E6474 001E20D4  41 86 00 10 */	beq cr1, lbl_801E6484
/* 801E6478 001E20D8  38 00 00 00 */	li r0, 0
/* 801E647C 001E20DC  98 03 00 01 */	stb r0, 1(r3)
/* 801E6480 001E20E0  4B FF 46 39 */	bl __dl__FPv
lbl_801E6484:
/* 801E6484 001E20E4  80 7E 01 34 */	lwz r3, 0x134(r30)
/* 801E6488 001E20E8  2C 03 00 00 */	cmpwi r3, 0
/* 801E648C 001E20EC  41 82 00 14 */	beq lbl_801E64A0
/* 801E6490 001E20F0  41 82 00 10 */	beq lbl_801E64A0
/* 801E6494 001E20F4  38 00 00 00 */	li r0, 0
/* 801E6498 001E20F8  98 03 00 01 */	stb r0, 1(r3)
/* 801E649C 001E20FC  4B FF 46 1D */	bl __dl__FPv
lbl_801E64A0:
/* 801E64A0 001E2100  7F C3 F3 78 */	mr r3, r30
/* 801E64A4 001E2104  38 80 00 00 */	li r4, 0
/* 801E64A8 001E2108  48 00 BA 7D */	bl __dt__6GSnullFv
/* 801E64AC 001E210C  2C 1F 00 00 */	cmpwi r31, 0
/* 801E64B0 001E2110  40 81 00 10 */	ble lbl_801E64C0
/* 801E64B4 001E2114  80 6D 96 38 */	lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 801E64B8 001E2118  7F C4 F3 78 */	mr r4, r30
/* 801E64BC 001E211C  4B FF 48 8D */	bl func_801DAD48
lbl_801E64C0:
/* 801E64C0 001E2120  7F C3 F3 78 */	mr r3, r30
/* 801E64C4 001E2124  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801E64C8 001E2128  83 C1 00 08 */	lwz r30, 8(r1)
/* 801E64CC 001E212C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801E64D0 001E2130  7C 08 03 A6 */	mtlr r0
/* 801E64D4 001E2134  38 21 00 10 */	addi r1, r1, 0x10
/* 801E64D8 001E2138  4E 80 00 20 */	blr

.global func_801E64DC
func_801E64DC:
/* 801E64DC 001E213C  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 801E64E0 001E2140  7C 08 02 A6 */	mflr r0
/* 801E64E4 001E2144  7C 86 23 78 */	mr r6, r4
/* 801E64E8 001E2148  90 01 00 34 */	stw r0, 0x34(r1)
/* 801E64EC 001E214C  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 801E64F0 001E2150  7C 7F 1B 78 */	mr r31, r3
/* 801E64F4 001E2154  80 A3 01 34 */	lwz r5, 0x134(r3)
/* 801E64F8 001E2158  2C 05 00 00 */	cmpwi r5, 0
/* 801E64FC 001E215C  41 82 00 F0 */	beq lbl_801E65EC
/* 801E6500 001E2160  80 03 01 30 */	lwz r0, 0x130(r3)
/* 801E6504 001E2164  7C 05 00 40 */	cmplw r5, r0
/* 801E6508 001E2168  40 82 00 08 */	bne lbl_801E6510
/* 801E650C 001E216C  48 00 00 E0 */	b lbl_801E65EC
lbl_801E6510:
/* 801E6510 001E2170  C0 03 00 DC */	lfs f0, 0xdc(r3)
/* 801E6514 001E2174  38 81 00 08 */	addi r4, r1, 8
/* 801E6518 001E2178  38 A1 00 14 */	addi r5, r1, 0x14
/* 801E651C 001E217C  D0 01 00 08 */	stfs f0, 8(r1)
/* 801E6520 001E2180  C0 03 00 EC */	lfs f0, 0xec(r3)
/* 801E6524 001E2184  D0 01 00 0C */	stfs f0, 0xc(r1)
/* 801E6528 001E2188  C0 03 00 FC */	lfs f0, 0xfc(r3)
/* 801E652C 001E218C  7C C3 33 78 */	mr r3, r6
/* 801E6530 001E2190  D0 01 00 10 */	stfs f0, 0x10(r1)
/* 801E6534 001E2194  48 09 67 B5 */	bl PSVECSubtract
/* 801E6538 001E2198  C0 01 00 14 */	lfs f0, 0x14(r1)
/* 801E653C 001E219C  C0 42 97 60 */	lfs f2, lbl_80641D60-_SDA2_BASE_(r2)
/* 801E6540 001E21A0  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 801E6544 001E21A4  40 80 00 38 */	bge lbl_801E657C
/* 801E6548 001E21A8  C0 22 97 64 */	lfs f1, lbl_80641D64-_SDA2_BASE_(r2)
/* 801E654C 001E21AC  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 801E6550 001E21B0  40 81 00 2C */	ble lbl_801E657C
/* 801E6554 001E21B4  C0 01 00 18 */	lfs f0, 0x18(r1)
/* 801E6558 001E21B8  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 801E655C 001E21BC  40 80 00 20 */	bge lbl_801E657C
/* 801E6560 001E21C0  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 801E6564 001E21C4  40 81 00 18 */	ble lbl_801E657C
/* 801E6568 001E21C8  C0 01 00 1C */	lfs f0, 0x1c(r1)
/* 801E656C 001E21CC  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 801E6570 001E21D0  40 80 00 0C */	bge lbl_801E657C
/* 801E6574 001E21D4  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 801E6578 001E21D8  41 81 00 0C */	bgt lbl_801E6584
lbl_801E657C:
/* 801E657C 001E21DC  38 00 00 00 */	li r0, 0
/* 801E6580 001E21E0  48 00 00 08 */	b lbl_801E6588
lbl_801E6584:
/* 801E6584 001E21E4  38 00 00 01 */	li r0, 1
lbl_801E6588:
/* 801E6588 001E21E8  2C 00 00 00 */	cmpwi r0, 0
/* 801E658C 001E21EC  41 82 00 1C */	beq lbl_801E65A8
/* 801E6590 001E21F0  C0 22 97 40 */	lfs f1, lbl_80641D40-_SDA2_BASE_(r2)
/* 801E6594 001E21F4  C0 02 97 68 */	lfs f0, lbl_80641D68-_SDA2_BASE_(r2)
/* 801E6598 001E21F8  D0 21 00 14 */	stfs f1, 0x14(r1)
/* 801E659C 001E21FC  D0 01 00 18 */	stfs f0, 0x18(r1)
/* 801E65A0 001E2200  D0 21 00 1C */	stfs f1, 0x1c(r1)
/* 801E65A4 001E2204  48 00 00 10 */	b lbl_801E65B4
lbl_801E65A8:
/* 801E65A8 001E2208  38 61 00 14 */	addi r3, r1, 0x14
/* 801E65AC 001E220C  7C 64 1B 78 */	mr r4, r3
/* 801E65B0 001E2210  48 09 67 79 */	bl PSVECNormalize
lbl_801E65B4:
/* 801E65B4 001E2214  80 7F 01 34 */	lwz r3, 0x134(r31)
/* 801E65B8 001E2218  C0 01 00 14 */	lfs f0, 0x14(r1)
/* 801E65BC 001E221C  D0 03 00 18 */	stfs f0, 0x18(r3)
/* 801E65C0 001E2220  C0 01 00 18 */	lfs f0, 0x18(r1)
/* 801E65C4 001E2224  D0 03 00 1C */	stfs f0, 0x1c(r3)
/* 801E65C8 001E2228  C0 01 00 1C */	lfs f0, 0x1c(r1)
/* 801E65CC 001E222C  D0 03 00 20 */	stfs f0, 0x20(r3)
/* 801E65D0 001E2230  88 03 00 01 */	lbz r0, 1(r3)
/* 801E65D4 001E2234  60 00 00 04 */	ori r0, r0, 4
/* 801E65D8 001E2238  54 00 06 B0 */	rlwinm r0, r0, 0, 0x1a, 0x18
/* 801E65DC 001E223C  98 03 00 01 */	stb r0, 1(r3)
/* 801E65E0 001E2240  88 03 00 00 */	lbz r0, 0(r3)
/* 801E65E4 001E2244  60 00 00 02 */	ori r0, r0, 2
/* 801E65E8 001E2248  98 03 00 00 */	stb r0, 0(r3)
lbl_801E65EC:
/* 801E65EC 001E224C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 801E65F0 001E2250  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 801E65F4 001E2254  7C 08 03 A6 */	mtlr r0
/* 801E65F8 001E2258  38 21 00 30 */	addi r1, r1, 0x30
/* 801E65FC 001E225C  4E 80 00 20 */	blr
/* 801E6600 001E2260  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 801E6604 001E2264  7C 08 02 A6 */	mflr r0
/* 801E6608 001E2268  90 01 00 74 */	stw r0, 0x74(r1)
/* 801E660C 001E226C  DB E1 00 60 */	stfd f31, 0x60(r1)
/* 801E6610 001E2270  F3 E1 00 68 */	psq_st f31, 104(r1), 0, qr0
/* 801E6614 001E2274  FF E0 08 90 */	fmr f31, f1
/* 801E6618 001E2278  93 E1 00 5C */	stw r31, 0x5c(r1)
/* 801E661C 001E227C  7C 7F 1B 78 */	mr r31, r3
/* 801E6620 001E2280  48 00 D6 5D */	bl func_801F3C7C
/* 801E6624 001E2284  2C 03 00 00 */	cmpwi r3, 0
/* 801E6628 001E2288  41 82 00 08 */	beq lbl_801E6630
/* 801E662C 001E228C  C3 E2 97 40 */	lfs f31, lbl_80641D40-_SDA2_BASE_(r2)
lbl_801E6630:
/* 801E6630 001E2290  FC 20 F8 90 */	fmr f1, f31
/* 801E6634 001E2294  7F E3 FB 78 */	mr r3, r31
/* 801E6638 001E2298  48 00 D3 29 */	bl func_801F3960
/* 801E663C 001E229C  80 1F 01 04 */	lwz r0, 0x104(r31)
/* 801E6640 001E22A0  54 00 07 FE */	clrlwi r0, r0, 0x1f
/* 801E6644 001E22A4  28 00 00 01 */	cmplwi r0, 1
/* 801E6648 001E22A8  40 82 02 E0 */	bne lbl_801E6928
/* 801E664C 001E22AC  80 1F 01 08 */	lwz r0, 0x108(r31)
/* 801E6650 001E22B0  2C 00 00 01 */	cmpwi r0, 1
/* 801E6654 001E22B4  41 82 00 20 */	beq lbl_801E6674
/* 801E6658 001E22B8  40 80 00 10 */	bge lbl_801E6668
/* 801E665C 001E22BC  2C 00 00 00 */	cmpwi r0, 0
/* 801E6660 001E22C0  40 80 00 60 */	bge lbl_801E66C0
/* 801E6664 001E22C4  48 00 02 3C */	b lbl_801E68A0
lbl_801E6668:
/* 801E6668 001E22C8  2C 00 00 03 */	cmpwi r0, 3
/* 801E666C 001E22CC  40 80 02 34 */	bge lbl_801E68A0
/* 801E6670 001E22D0  48 00 01 18 */	b lbl_801E6788
lbl_801E6674:
/* 801E6674 001E22D4  80 1F 01 30 */	lwz r0, 0x130(r31)
/* 801E6678 001E22D8  2C 00 00 00 */	cmpwi r0, 0
/* 801E667C 001E22DC  41 82 00 44 */	beq lbl_801E66C0
/* 801E6680 001E22E0  C0 5F 00 DC */	lfs f2, 0xdc(r31)
/* 801E6684 001E22E4  38 9F 01 10 */	addi r4, r31, 0x110
/* 801E6688 001E22E8  C0 3F 00 EC */	lfs f1, 0xec(r31)
/* 801E668C 001E22EC  38 A1 00 4C */	addi r5, r1, 0x4c
/* 801E6690 001E22F0  C0 1F 00 FC */	lfs f0, 0xfc(r31)
/* 801E6694 001E22F4  D0 41 00 34 */	stfs f2, 0x34(r1)
/* 801E6698 001E22F8  D0 41 00 4C */	stfs f2, 0x4c(r1)
/* 801E669C 001E22FC  D0 21 00 50 */	stfs f1, 0x50(r1)
/* 801E66A0 001E2300  D0 01 00 54 */	stfs f0, 0x54(r1)
/* 801E66A4 001E2304  D0 21 00 38 */	stfs f1, 0x38(r1)
/* 801E66A8 001E2308  80 7F 01 30 */	lwz r3, 0x130(r31)
/* 801E66AC 001E230C  D0 01 00 3C */	stfs f0, 0x3c(r1)
/* 801E66B0 001E2310  80 DF 01 1C */	lwz r6, 0x11c(r31)
/* 801E66B4 001E2314  C0 3F 01 20 */	lfs f1, 0x120(r31)
/* 801E66B8 001E2318  C0 5F 01 24 */	lfs f2, 0x124(r31)
/* 801E66BC 001E231C  48 04 EE 61 */	bl func_8023551C
lbl_801E66C0:
/* 801E66C0 001E2320  80 1F 01 34 */	lwz r0, 0x134(r31)
/* 801E66C4 001E2324  2C 00 00 00 */	cmpwi r0, 0
/* 801E66C8 001E2328  41 82 01 D8 */	beq lbl_801E68A0
/* 801E66CC 001E232C  C0 1F 00 D8 */	lfs f0, 0xd8(r31)
/* 801E66D0 001E2330  38 61 00 40 */	addi r3, r1, 0x40
/* 801E66D4 001E2334  C0 9F 00 E8 */	lfs f4, 0xe8(r31)
/* 801E66D8 001E2338  C0 7F 00 F8 */	lfs f3, 0xf8(r31)
/* 801E66DC 001E233C  FC 40 00 50 */	fneg f2, f0
/* 801E66E0 001E2340  FC 20 20 50 */	fneg f1, f4
/* 801E66E4 001E2344  D0 01 00 28 */	stfs f0, 0x28(r1)
/* 801E66E8 001E2348  FC 00 18 50 */	fneg f0, f3
/* 801E66EC 001E234C  D0 81 00 2C */	stfs f4, 0x2c(r1)
/* 801E66F0 001E2350  D0 61 00 30 */	stfs f3, 0x30(r1)
/* 801E66F4 001E2354  D0 41 00 40 */	stfs f2, 0x40(r1)
/* 801E66F8 001E2358  D0 21 00 44 */	stfs f1, 0x44(r1)
/* 801E66FC 001E235C  D0 01 00 48 */	stfs f0, 0x48(r1)
/* 801E6700 001E2360  48 09 66 6D */	bl PSVECSquareMag
/* 801E6704 001E2364  C0 02 97 60 */	lfs f0, lbl_80641D60-_SDA2_BASE_(r2)
/* 801E6708 001E2368  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 801E670C 001E236C  40 81 00 64 */	ble lbl_801E6770
/* 801E6710 001E2370  C0 42 97 40 */	lfs f2, lbl_80641D40-_SDA2_BASE_(r2)
/* 801E6714 001E2374  FC 01 10 40 */	fcmpo cr0, f1, f2
/* 801E6718 001E2378  4C 40 13 82 */	cror 2, 0, 2
/* 801E671C 001E237C  40 82 00 08 */	bne lbl_801E6724
/* 801E6720 001E2380  48 00 00 0C */	b lbl_801E672C
lbl_801E6724:
/* 801E6724 001E2384  4B FE E1 11 */	bl sqrt
/* 801E6728 001E2388  FC 40 08 18 */	frsp f2, f1
lbl_801E672C:
/* 801E672C 001E238C  C0 22 97 60 */	lfs f1, lbl_80641D60-_SDA2_BASE_(r2)
/* 801E6730 001E2390  FC 02 08 40 */	fcmpo cr0, f2, f1
/* 801E6734 001E2394  40 80 00 28 */	bge lbl_801E675C
/* 801E6738 001E2398  C0 62 97 64 */	lfs f3, lbl_80641D64-_SDA2_BASE_(r2)
/* 801E673C 001E239C  FC 02 18 40 */	fcmpo cr0, f2, f3
/* 801E6740 001E23A0  40 81 00 1C */	ble lbl_801E675C
/* 801E6744 001E23A4  C0 02 97 40 */	lfs f0, lbl_80641D40-_SDA2_BASE_(r2)
/* 801E6748 001E23A8  FC 02 00 40 */	fcmpo cr0, f2, f0
/* 801E674C 001E23AC  40 80 00 08 */	bge lbl_801E6754
/* 801E6750 001E23B0  48 00 00 08 */	b lbl_801E6758
lbl_801E6754:
/* 801E6754 001E23B4  FC 60 08 90 */	fmr f3, f1
lbl_801E6758:
/* 801E6758 001E23B8  FC 40 18 90 */	fmr f2, f3
lbl_801E675C:
/* 801E675C 001E23BC  C0 02 97 6C */	lfs f0, lbl_80641D6C-_SDA2_BASE_(r2)
/* 801E6760 001E23C0  38 61 00 40 */	addi r3, r1, 0x40
/* 801E6764 001E23C4  7C 64 1B 78 */	mr r4, r3
/* 801E6768 001E23C8  EC 20 10 24 */	fdivs f1, f0, f2
/* 801E676C 001E23CC  48 09 65 A1 */	bl PSVECScale
lbl_801E6770:
/* 801E6770 001E23D0  80 7F 01 34 */	lwz r3, 0x134(r31)
/* 801E6774 001E23D4  38 9F 01 10 */	addi r4, r31, 0x110
/* 801E6778 001E23D8  C0 22 97 70 */	lfs f1, lbl_80641D70-_SDA2_BASE_(r2)
/* 801E677C 001E23DC  38 A1 00 40 */	addi r5, r1, 0x40
/* 801E6780 001E23E0  48 04 EE ED */	bl func_8023566C
/* 801E6784 001E23E4  48 00 01 1C */	b lbl_801E68A0
lbl_801E6788:
/* 801E6788 001E23E8  C0 1F 00 D8 */	lfs f0, 0xd8(r31)
/* 801E678C 001E23EC  38 61 00 40 */	addi r3, r1, 0x40
/* 801E6790 001E23F0  C0 9F 00 E8 */	lfs f4, 0xe8(r31)
/* 801E6794 001E23F4  C0 7F 00 F8 */	lfs f3, 0xf8(r31)
/* 801E6798 001E23F8  FC 40 00 50 */	fneg f2, f0
/* 801E679C 001E23FC  FC 20 20 50 */	fneg f1, f4
/* 801E67A0 001E2400  D0 01 00 1C */	stfs f0, 0x1c(r1)
/* 801E67A4 001E2404  FC 00 18 50 */	fneg f0, f3
/* 801E67A8 001E2408  D0 81 00 20 */	stfs f4, 0x20(r1)
/* 801E67AC 001E240C  D0 61 00 24 */	stfs f3, 0x24(r1)
/* 801E67B0 001E2410  D0 41 00 40 */	stfs f2, 0x40(r1)
/* 801E67B4 001E2414  D0 21 00 44 */	stfs f1, 0x44(r1)
/* 801E67B8 001E2418  D0 01 00 48 */	stfs f0, 0x48(r1)
/* 801E67BC 001E241C  48 09 65 B1 */	bl PSVECSquareMag
/* 801E67C0 001E2420  C0 02 97 60 */	lfs f0, lbl_80641D60-_SDA2_BASE_(r2)
/* 801E67C4 001E2424  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 801E67C8 001E2428  40 81 00 64 */	ble lbl_801E682C
/* 801E67CC 001E242C  C0 42 97 40 */	lfs f2, lbl_80641D40-_SDA2_BASE_(r2)
/* 801E67D0 001E2430  FC 01 10 40 */	fcmpo cr0, f1, f2
/* 801E67D4 001E2434  4C 40 13 82 */	cror 2, 0, 2
/* 801E67D8 001E2438  40 82 00 08 */	bne lbl_801E67E0
/* 801E67DC 001E243C  48 00 00 0C */	b lbl_801E67E8
lbl_801E67E0:
/* 801E67E0 001E2440  4B FE E0 55 */	bl sqrt
/* 801E67E4 001E2444  FC 40 08 18 */	frsp f2, f1
lbl_801E67E8:
/* 801E67E8 001E2448  C0 22 97 60 */	lfs f1, lbl_80641D60-_SDA2_BASE_(r2)
/* 801E67EC 001E244C  FC 02 08 40 */	fcmpo cr0, f2, f1
/* 801E67F0 001E2450  40 80 00 28 */	bge lbl_801E6818
/* 801E67F4 001E2454  C0 62 97 64 */	lfs f3, lbl_80641D64-_SDA2_BASE_(r2)
/* 801E67F8 001E2458  FC 02 18 40 */	fcmpo cr0, f2, f3
/* 801E67FC 001E245C  40 81 00 1C */	ble lbl_801E6818
/* 801E6800 001E2460  C0 02 97 40 */	lfs f0, lbl_80641D40-_SDA2_BASE_(r2)
/* 801E6804 001E2464  FC 02 00 40 */	fcmpo cr0, f2, f0
/* 801E6808 001E2468  40 80 00 08 */	bge lbl_801E6810
/* 801E680C 001E246C  48 00 00 08 */	b lbl_801E6814
lbl_801E6810:
/* 801E6810 001E2470  FC 60 08 90 */	fmr f3, f1
lbl_801E6814:
/* 801E6814 001E2474  FC 40 18 90 */	fmr f2, f3
lbl_801E6818:
/* 801E6818 001E2478  C0 02 97 6C */	lfs f0, lbl_80641D6C-_SDA2_BASE_(r2)
/* 801E681C 001E247C  38 61 00 40 */	addi r3, r1, 0x40
/* 801E6820 001E2480  7C 64 1B 78 */	mr r4, r3
/* 801E6824 001E2484  EC 20 10 24 */	fdivs f1, f0, f2
/* 801E6828 001E2488  48 09 64 E5 */	bl PSVECScale
lbl_801E682C:
/* 801E682C 001E248C  80 1F 01 30 */	lwz r0, 0x130(r31)
/* 801E6830 001E2490  2C 00 00 00 */	cmpwi r0, 0
/* 801E6834 001E2494  41 82 00 50 */	beq lbl_801E6884
/* 801E6838 001E2498  C0 5F 00 DC */	lfs f2, 0xdc(r31)
/* 801E683C 001E249C  38 9F 01 10 */	addi r4, r31, 0x110
/* 801E6840 001E24A0  C0 3F 00 EC */	lfs f1, 0xec(r31)
/* 801E6844 001E24A4  38 A1 00 4C */	addi r5, r1, 0x4c
/* 801E6848 001E24A8  C0 1F 00 FC */	lfs f0, 0xfc(r31)
/* 801E684C 001E24AC  38 C1 00 40 */	addi r6, r1, 0x40
/* 801E6850 001E24B0  D0 41 00 10 */	stfs f2, 0x10(r1)
/* 801E6854 001E24B4  D0 41 00 4C */	stfs f2, 0x4c(r1)
/* 801E6858 001E24B8  D0 21 00 50 */	stfs f1, 0x50(r1)
/* 801E685C 001E24BC  D0 01 00 54 */	stfs f0, 0x54(r1)
/* 801E6860 001E24C0  D0 21 00 14 */	stfs f1, 0x14(r1)
/* 801E6864 001E24C4  80 7F 01 30 */	lwz r3, 0x130(r31)
/* 801E6868 001E24C8  D0 01 00 18 */	stfs f0, 0x18(r1)
/* 801E686C 001E24CC  80 FF 01 1C */	lwz r7, 0x11c(r31)
/* 801E6870 001E24D0  C0 3F 01 20 */	lfs f1, 0x120(r31)
/* 801E6874 001E24D4  C0 5F 01 24 */	lfs f2, 0x124(r31)
/* 801E6878 001E24D8  81 1F 01 28 */	lwz r8, 0x128(r31)
/* 801E687C 001E24DC  C0 7F 01 2C */	lfs f3, 0x12c(r31)
/* 801E6880 001E24E0  48 04 ED 39 */	bl func_802355B8
lbl_801E6884:
/* 801E6884 001E24E4  80 7F 01 34 */	lwz r3, 0x134(r31)
/* 801E6888 001E24E8  2C 03 00 00 */	cmpwi r3, 0
/* 801E688C 001E24EC  41 82 00 14 */	beq lbl_801E68A0
/* 801E6890 001E24F0  C0 22 97 70 */	lfs f1, lbl_80641D70-_SDA2_BASE_(r2)
/* 801E6894 001E24F4  38 9F 01 10 */	addi r4, r31, 0x110
/* 801E6898 001E24F8  38 A1 00 40 */	addi r5, r1, 0x40
/* 801E689C 001E24FC  48 04 ED D1 */	bl func_8023566C
lbl_801E68A0:
/* 801E68A0 001E2500  80 7F 01 0C */	lwz r3, 0x10c(r31)
/* 801E68A4 001E2504  2C 03 00 00 */	cmpwi r3, 0
/* 801E68A8 001E2508  41 82 00 80 */	beq lbl_801E6928
/* 801E68AC 001E250C  80 03 00 30 */	lwz r0, 0x30(r3)
/* 801E68B0 001E2510  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 801E68B4 001E2514  41 82 00 74 */	beq lbl_801E6928
/* 801E68B8 001E2518  88 1F 01 12 */	lbz r0, 0x112(r31)
/* 801E68BC 001E251C  98 01 00 0A */	stb r0, 0xa(r1)
/* 801E68C0 001E2520  E0 A1 A0 0A */	psq_l f5, 10(r1), 1, qr2
/* 801E68C4 001E2524  88 1F 01 10 */	lbz r0, 0x110(r31)
/* 801E68C8 001E2528  98 01 00 09 */	stb r0, 9(r1)
/* 801E68CC 001E252C  E0 41 A0 09 */	psq_l f2, 9(r1), 1, qr2
/* 801E68D0 001E2530  88 1F 01 11 */	lbz r0, 0x111(r31)
/* 801E68D4 001E2534  98 01 00 08 */	stb r0, 8(r1)
/* 801E68D8 001E2538  E0 C1 A0 08 */	psq_l f6, 8(r1), 1, qr2
/* 801E68DC 001E253C  C0 22 97 54 */	lfs f1, lbl_80641D54-_SDA2_BASE_(r2)
/* 801E68E0 001E2540  C0 82 97 50 */	lfs f4, lbl_80641D50-_SDA2_BASE_(r2)
/* 801E68E4 001E2544  EC 61 00 B2 */	fmuls f3, f1, f2
/* 801E68E8 001E2548  C0 02 97 58 */	lfs f0, lbl_80641D58-_SDA2_BASE_(r2)
/* 801E68EC 001E254C  EC 84 01 72 */	fmuls f4, f4, f5
/* 801E68F0 001E2550  C0 22 97 48 */	lfs f1, lbl_80641D48-_SDA2_BASE_(r2)
/* 801E68F4 001E2554  EC 40 01 B2 */	fmuls f2, f0, f6
/* 801E68F8 001E2558  C0 02 97 5C */	lfs f0, lbl_80641D5C-_SDA2_BASE_(r2)
/* 801E68FC 001E255C  EC 43 10 2A */	fadds f2, f3, f2
/* 801E6900 001E2560  EC 44 10 2A */	fadds f2, f4, f2
/* 801E6904 001E2564  EC 42 00 72 */	fmuls f2, f2, f1
/* 801E6908 001E2568  EC 00 10 28 */	fsubs f0, f0, f2
/* 801E690C 001E256C  F0 01 A0 0C */	psq_st f0, 12(r1), 1, qr2
/* 801E6910 001E2570  38 00 00 FF */	li r0, 0xff
/* 801E6914 001E2574  88 61 00 0C */	lbz r3, 0xc(r1)
/* 801E6918 001E2578  98 7F 01 14 */	stb r3, 0x114(r31)
/* 801E691C 001E257C  98 7F 01 15 */	stb r3, 0x115(r31)
/* 801E6920 001E2580  98 7F 01 16 */	stb r3, 0x116(r31)
/* 801E6924 001E2584  98 1F 01 17 */	stb r0, 0x117(r31)
lbl_801E6928:
/* 801E6928 001E2588  E3 E1 00 68 */	psq_l f31, 104(r1), 0, qr0
/* 801E692C 001E258C  80 01 00 74 */	lwz r0, 0x74(r1)
/* 801E6930 001E2590  CB E1 00 60 */	lfd f31, 0x60(r1)
/* 801E6934 001E2594  83 E1 00 5C */	lwz r31, 0x5c(r1)
/* 801E6938 001E2598  7C 08 03 A6 */	mtlr r0
/* 801E693C 001E259C  38 21 00 70 */	addi r1, r1, 0x70
/* 801E6940 001E25A0  4E 80 00 20 */	blr

.global func_801E6944
func_801E6944:
/* 801E6944 001E25A4  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 801E6948 001E25A8  7C 08 02 A6 */	mflr r0
/* 801E694C 001E25AC  90 01 00 44 */	stw r0, 0x44(r1)
/* 801E6950 001E25B0  80 04 01 08 */	lwz r0, 0x108(r4)
/* 801E6954 001E25B4  93 E1 00 3C */	stw r31, 0x3c(r1)
/* 801E6958 001E25B8  7C 7F 1B 78 */	mr r31, r3
/* 801E695C 001E25BC  2C 00 00 00 */	cmpwi r0, 0
/* 801E6960 001E25C0  41 82 00 0C */	beq lbl_801E696C
/* 801E6964 001E25C4  41 80 00 3C */	blt lbl_801E69A0
/* 801E6968 001E25C8  48 00 00 38 */	b lbl_801E69A0
lbl_801E696C:
/* 801E696C 001E25CC  38 61 00 14 */	addi r3, r1, 0x14
/* 801E6970 001E25D0  48 00 00 69 */	bl func_801E69D8
/* 801E6974 001E25D4  C0 22 97 74 */	lfs f1, lbl_80641D74-_SDA2_BASE_(r2)
/* 801E6978 001E25D8  38 61 00 14 */	addi r3, r1, 0x14
/* 801E697C 001E25DC  38 81 00 20 */	addi r4, r1, 0x20
/* 801E6980 001E25E0  48 09 63 8D */	bl PSVECScale
/* 801E6984 001E25E4  C0 01 00 20 */	lfs f0, 0x20(r1)
/* 801E6988 001E25E8  D0 1F 00 00 */	stfs f0, 0(r31)
/* 801E698C 001E25EC  C0 01 00 24 */	lfs f0, 0x24(r1)
/* 801E6990 001E25F0  D0 1F 00 04 */	stfs f0, 4(r31)
/* 801E6994 001E25F4  C0 01 00 28 */	lfs f0, 0x28(r1)
/* 801E6998 001E25F8  D0 1F 00 08 */	stfs f0, 8(r31)
/* 801E699C 001E25FC  48 00 00 28 */	b lbl_801E69C4
lbl_801E69A0:
/* 801E69A0 001E2600  C0 44 00 DC */	lfs f2, 0xdc(r4)
/* 801E69A4 001E2604  C0 24 00 EC */	lfs f1, 0xec(r4)
/* 801E69A8 001E2608  C0 04 00 FC */	lfs f0, 0xfc(r4)
/* 801E69AC 001E260C  D0 41 00 08 */	stfs f2, 8(r1)
/* 801E69B0 001E2610  D0 21 00 0C */	stfs f1, 0xc(r1)
/* 801E69B4 001E2614  D0 01 00 10 */	stfs f0, 0x10(r1)
/* 801E69B8 001E2618  D0 43 00 00 */	stfs f2, 0(r3)
/* 801E69BC 001E261C  D0 23 00 04 */	stfs f1, 4(r3)
/* 801E69C0 001E2620  D0 03 00 08 */	stfs f0, 8(r3)
lbl_801E69C4:
/* 801E69C4 001E2624  80 01 00 44 */	lwz r0, 0x44(r1)
/* 801E69C8 001E2628  83 E1 00 3C */	lwz r31, 0x3c(r1)
/* 801E69CC 001E262C  7C 08 03 A6 */	mtlr r0
/* 801E69D0 001E2630  38 21 00 40 */	addi r1, r1, 0x40
/* 801E69D4 001E2634  4E 80 00 20 */	blr

.global func_801E69D8
func_801E69D8:
/* 801E69D8 001E2638  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801E69DC 001E263C  7C 08 02 A6 */	mflr r0
/* 801E69E0 001E2640  C0 44 00 D8 */	lfs f2, 0xd8(r4)
/* 801E69E4 001E2644  C0 24 00 E8 */	lfs f1, 0xe8(r4)
/* 801E69E8 001E2648  C0 04 00 F8 */	lfs f0, 0xf8(r4)
/* 801E69EC 001E264C  FC 40 10 50 */	fneg f2, f2
/* 801E69F0 001E2650  90 01 00 14 */	stw r0, 0x14(r1)
/* 801E69F4 001E2654  FC 20 08 50 */	fneg f1, f1
/* 801E69F8 001E2658  FC 00 00 50 */	fneg f0, f0
/* 801E69FC 001E265C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801E6A00 001E2660  7C 7F 1B 78 */	mr r31, r3
/* 801E6A04 001E2664  D0 43 00 00 */	stfs f2, 0(r3)
/* 801E6A08 001E2668  D0 23 00 04 */	stfs f1, 4(r3)
/* 801E6A0C 001E266C  D0 03 00 08 */	stfs f0, 8(r3)
/* 801E6A10 001E2670  48 09 63 5D */	bl PSVECSquareMag
/* 801E6A14 001E2674  C0 02 97 60 */	lfs f0, lbl_80641D60-_SDA2_BASE_(r2)
/* 801E6A18 001E2678  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 801E6A1C 001E267C  40 81 00 64 */	ble lbl_801E6A80
/* 801E6A20 001E2680  C0 42 97 40 */	lfs f2, lbl_80641D40-_SDA2_BASE_(r2)
/* 801E6A24 001E2684  FC 01 10 40 */	fcmpo cr0, f1, f2
/* 801E6A28 001E2688  4C 40 13 82 */	cror 2, 0, 2
/* 801E6A2C 001E268C  40 82 00 08 */	bne lbl_801E6A34
/* 801E6A30 001E2690  48 00 00 0C */	b lbl_801E6A3C
lbl_801E6A34:
/* 801E6A34 001E2694  4B FE DE 01 */	bl sqrt
/* 801E6A38 001E2698  FC 40 08 18 */	frsp f2, f1
lbl_801E6A3C:
/* 801E6A3C 001E269C  C0 22 97 60 */	lfs f1, lbl_80641D60-_SDA2_BASE_(r2)
/* 801E6A40 001E26A0  FC 02 08 40 */	fcmpo cr0, f2, f1
/* 801E6A44 001E26A4  40 80 00 28 */	bge lbl_801E6A6C
/* 801E6A48 001E26A8  C0 62 97 64 */	lfs f3, lbl_80641D64-_SDA2_BASE_(r2)
/* 801E6A4C 001E26AC  FC 02 18 40 */	fcmpo cr0, f2, f3
/* 801E6A50 001E26B0  40 81 00 1C */	ble lbl_801E6A6C
/* 801E6A54 001E26B4  C0 02 97 40 */	lfs f0, lbl_80641D40-_SDA2_BASE_(r2)
/* 801E6A58 001E26B8  FC 02 00 40 */	fcmpo cr0, f2, f0
/* 801E6A5C 001E26BC  40 80 00 08 */	bge lbl_801E6A64
/* 801E6A60 001E26C0  48 00 00 08 */	b lbl_801E6A68
lbl_801E6A64:
/* 801E6A64 001E26C4  FC 60 08 90 */	fmr f3, f1
lbl_801E6A68:
/* 801E6A68 001E26C8  FC 40 18 90 */	fmr f2, f3
lbl_801E6A6C:
/* 801E6A6C 001E26CC  C0 02 97 6C */	lfs f0, lbl_80641D6C-_SDA2_BASE_(r2)
/* 801E6A70 001E26D0  7F E3 FB 78 */	mr r3, r31
/* 801E6A74 001E26D4  7F E4 FB 78 */	mr r4, r31
/* 801E6A78 001E26D8  EC 20 10 24 */	fdivs f1, f0, f2
/* 801E6A7C 001E26DC  48 09 62 91 */	bl PSVECScale
lbl_801E6A80:
/* 801E6A80 001E26E0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801E6A84 001E26E4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801E6A88 001E26E8  7C 08 03 A6 */	mtlr r0
/* 801E6A8C 001E26EC  38 21 00 10 */	addi r1, r1, 0x10
/* 801E6A90 001E26F0  4E 80 00 20 */	blr

.global func_801E6A94
func_801E6A94:
/* 801E6A94 001E26F4  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 801E6A98 001E26F8  7C 08 02 A6 */	mflr r0
/* 801E6A9C 001E26FC  90 01 00 44 */	stw r0, 0x44(r1)
/* 801E6AA0 001E2700  80 04 01 08 */	lwz r0, 0x108(r4)
/* 801E6AA4 001E2704  93 E1 00 3C */	stw r31, 0x3c(r1)
/* 801E6AA8 001E2708  7C 7F 1B 78 */	mr r31, r3
/* 801E6AAC 001E270C  2C 00 00 00 */	cmpwi r0, 0
/* 801E6AB0 001E2710  40 82 00 38 */	bne lbl_801E6AE8
/* 801E6AB4 001E2714  C0 04 00 D8 */	lfs f0, 0xd8(r4)
/* 801E6AB8 001E2718  C0 84 00 E8 */	lfs f4, 0xe8(r4)
/* 801E6ABC 001E271C  C0 64 00 F8 */	lfs f3, 0xf8(r4)
/* 801E6AC0 001E2720  FC 40 00 50 */	fneg f2, f0
/* 801E6AC4 001E2724  FC 20 20 50 */	fneg f1, f4
/* 801E6AC8 001E2728  D0 01 00 20 */	stfs f0, 0x20(r1)
/* 801E6ACC 001E272C  FC 00 18 50 */	fneg f0, f3
/* 801E6AD0 001E2730  D0 81 00 24 */	stfs f4, 0x24(r1)
/* 801E6AD4 001E2734  D0 61 00 28 */	stfs f3, 0x28(r1)
/* 801E6AD8 001E2738  D0 43 00 00 */	stfs f2, 0(r3)
/* 801E6ADC 001E273C  D0 23 00 04 */	stfs f1, 4(r3)
/* 801E6AE0 001E2740  D0 03 00 08 */	stfs f0, 8(r3)
/* 801E6AE4 001E2744  48 00 00 44 */	b lbl_801E6B28
lbl_801E6AE8:
/* 801E6AE8 001E2748  C0 44 00 DC */	lfs f2, 0xdc(r4)
/* 801E6AEC 001E274C  7C A3 2B 78 */	mr r3, r5
/* 801E6AF0 001E2750  C0 24 00 EC */	lfs f1, 0xec(r4)
/* 801E6AF4 001E2754  38 A1 00 14 */	addi r5, r1, 0x14
/* 801E6AF8 001E2758  C0 04 00 FC */	lfs f0, 0xfc(r4)
/* 801E6AFC 001E275C  38 81 00 08 */	addi r4, r1, 8
/* 801E6B00 001E2760  D0 41 00 08 */	stfs f2, 8(r1)
/* 801E6B04 001E2764  D0 21 00 0C */	stfs f1, 0xc(r1)
/* 801E6B08 001E2768  D0 01 00 10 */	stfs f0, 0x10(r1)
/* 801E6B0C 001E276C  48 09 61 DD */	bl PSVECSubtract
/* 801E6B10 001E2770  C0 01 00 14 */	lfs f0, 0x14(r1)
/* 801E6B14 001E2774  D0 1F 00 00 */	stfs f0, 0(r31)
/* 801E6B18 001E2778  C0 01 00 18 */	lfs f0, 0x18(r1)
/* 801E6B1C 001E277C  D0 1F 00 04 */	stfs f0, 4(r31)
/* 801E6B20 001E2780  C0 01 00 1C */	lfs f0, 0x1c(r1)
/* 801E6B24 001E2784  D0 1F 00 08 */	stfs f0, 8(r31)
lbl_801E6B28:
/* 801E6B28 001E2788  7F E3 FB 78 */	mr r3, r31
/* 801E6B2C 001E278C  48 09 62 41 */	bl PSVECSquareMag
/* 801E6B30 001E2790  C0 02 97 60 */	lfs f0, lbl_80641D60-_SDA2_BASE_(r2)
/* 801E6B34 001E2794  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 801E6B38 001E2798  40 81 00 64 */	ble lbl_801E6B9C
/* 801E6B3C 001E279C  C0 42 97 40 */	lfs f2, lbl_80641D40-_SDA2_BASE_(r2)
/* 801E6B40 001E27A0  FC 01 10 40 */	fcmpo cr0, f1, f2
/* 801E6B44 001E27A4  4C 40 13 82 */	cror 2, 0, 2
/* 801E6B48 001E27A8  40 82 00 08 */	bne lbl_801E6B50
/* 801E6B4C 001E27AC  48 00 00 0C */	b lbl_801E6B58
lbl_801E6B50:
/* 801E6B50 001E27B0  4B FE DC E5 */	bl sqrt
/* 801E6B54 001E27B4  FC 40 08 18 */	frsp f2, f1
lbl_801E6B58:
/* 801E6B58 001E27B8  C0 22 97 60 */	lfs f1, lbl_80641D60-_SDA2_BASE_(r2)
/* 801E6B5C 001E27BC  FC 02 08 40 */	fcmpo cr0, f2, f1
/* 801E6B60 001E27C0  40 80 00 28 */	bge lbl_801E6B88
/* 801E6B64 001E27C4  C0 62 97 64 */	lfs f3, lbl_80641D64-_SDA2_BASE_(r2)
/* 801E6B68 001E27C8  FC 02 18 40 */	fcmpo cr0, f2, f3
/* 801E6B6C 001E27CC  40 81 00 1C */	ble lbl_801E6B88
/* 801E6B70 001E27D0  C0 02 97 40 */	lfs f0, lbl_80641D40-_SDA2_BASE_(r2)
/* 801E6B74 001E27D4  FC 02 00 40 */	fcmpo cr0, f2, f0
/* 801E6B78 001E27D8  40 80 00 08 */	bge lbl_801E6B80
/* 801E6B7C 001E27DC  48 00 00 08 */	b lbl_801E6B84
lbl_801E6B80:
/* 801E6B80 001E27E0  FC 60 08 90 */	fmr f3, f1
lbl_801E6B84:
/* 801E6B84 001E27E4  FC 40 18 90 */	fmr f2, f3
lbl_801E6B88:
/* 801E6B88 001E27E8  C0 02 97 6C */	lfs f0, lbl_80641D6C-_SDA2_BASE_(r2)
/* 801E6B8C 001E27EC  7F E3 FB 78 */	mr r3, r31
/* 801E6B90 001E27F0  7F E4 FB 78 */	mr r4, r31
/* 801E6B94 001E27F4  EC 20 10 24 */	fdivs f1, f0, f2
/* 801E6B98 001E27F8  48 09 61 75 */	bl PSVECScale
lbl_801E6B9C:
/* 801E6B9C 001E27FC  80 01 00 44 */	lwz r0, 0x44(r1)
/* 801E6BA0 001E2800  83 E1 00 3C */	lwz r31, 0x3c(r1)
/* 801E6BA4 001E2804  7C 08 03 A6 */	mtlr r0
/* 801E6BA8 001E2808  38 21 00 40 */	addi r1, r1, 0x40
/* 801E6BAC 001E280C  4E 80 00 20 */	blr

.global lbl_801E6BB0
lbl_801E6BB0:
/* 801E6BB0 001E2810  2C 05 00 00 */	cmpwi r5, 0
/* 801E6BB4 001E2814  7C 65 1B 78 */	mr r5, r3
/* 801E6BB8 001E2818  4C 82 00 20 */	bnelr
/* 801E6BBC 001E281C  88 04 00 01 */	lbz r0, 1(r4)
/* 801E6BC0 001E2820  2C 00 00 13 */	cmpwi r0, 0x13
/* 801E6BC4 001E2824  4C 82 00 20 */	bnelr
/* 801E6BC8 001E2828  7C 83 23 78 */	mr r3, r4
/* 801E6BCC 001E282C  38 85 01 10 */	addi r4, r5, 0x110
/* 801E6BD0 001E2830  4B FF A8 70 */	b func_801E1440
/* 801E6BD4 001E2834  4E 80 00 20 */	blr

.global func_801E6BD8
func_801E6BD8:
/* 801E6BD8 001E2838  38 A0 00 01 */	li r5, 1
/* 801E6BDC 001E283C  38 6D A0 D8 */	addi r3, r13, lbl_8063F398-_SDA_BASE_
/* 801E6BE0 001E2840  38 80 00 04 */	li r4, 4
/* 801E6BE4 001E2844  38 00 00 00 */	li r0, 0
/* 801E6BE8 001E2848  98 AD A0 D8 */	stb r5, lbl_8063F398-_SDA_BASE_(r13)
/* 801E6BEC 001E284C  B0 83 00 02 */	sth r4, 2(r3)
/* 801E6BF0 001E2850  98 03 00 04 */	stb r0, 4(r3)
/* 801E6BF4 001E2854  4E 80 00 20 */	blr