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
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global func_8020EB1C
func_8020EB1C:
/* 8020EB1C 0020A77C 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 8020EB20 0020A780 7C 08 02 A6 */ mflr r0
/* 8020EB24 0020A784 90 01 00 94 */ stw r0, 0x94(r1)
/* 8020EB28 0020A788 DB E1 00 80 */ stfd f31, 0x80(r1)
/* 8020EB2C 0020A78C F3 E1 00 88 */ psq_st f31, 136(r1), 0, qr0
/* 8020EB30 0020A790 FF E0 08 90 */ fmr f31, f1
/* 8020EB34 0020A794 93 E1 00 7C */ stw r31, 0x7c(r1)
/* 8020EB38 0020A798 93 C1 00 78 */ stw r30, 0x78(r1)
/* 8020EB3C 0020A79C 7C BE 2B 78 */ mr r30, r5
/* 8020EB40 0020A7A0 93 A1 00 74 */ stw r29, 0x74(r1)
/* 8020EB44 0020A7A4 7C 9D 23 78 */ mr r29, r4
/* 8020EB48 0020A7A8 93 81 00 70 */ stw r28, 0x70(r1)
/* 8020EB4C 0020A7AC 7C 7C 1B 78 */ mr r28, r3
/* 8020EB50 0020A7B0 80 C3 00 20 */ lwz r6, 0x20(r3)
/* 8020EB54 0020A7B4 C0 83 00 10 */ lfs f4, 0x10(r3)
/* 8020EB58 0020A7B8 C0 06 00 24 */ lfs f0, 0x24(r6)
/* 8020EB5C 0020A7BC C0 63 00 0C */ lfs f3, 0xc(r3)
/* 8020EB60 0020A7C0 EC 84 00 32 */ fmuls f4, f4, f0
/* 8020EB64 0020A7C4 C0 46 00 20 */ lfs f2, 0x20(r6)
/* 8020EB68 0020A7C8 C0 23 00 08 */ lfs f1, 8(r3)
/* 8020EB6C 0020A7CC 38 61 00 5C */ addi r3, r1, 0x5c
/* 8020EB70 0020A7D0 C0 06 00 1C */ lfs f0, 0x1c(r6)
/* 8020EB74 0020A7D4 EC 43 00 B2 */ fmuls f2, f3, f2
/* 8020EB78 0020A7D8 83 E5 00 00 */ lwz r31, 0(r5)
/* 8020EB7C 0020A7DC EC 01 00 32 */ fmuls f0, f1, f0
/* 8020EB80 0020A7E0 D0 41 00 48 */ stfs f2, 0x48(r1)
/* 8020EB84 0020A7E4 D0 41 00 60 */ stfs f2, 0x60(r1)
/* 8020EB88 0020A7E8 D0 01 00 5C */ stfs f0, 0x5c(r1)
/* 8020EB8C 0020A7EC D0 81 00 64 */ stfs f4, 0x64(r1)
/* 8020EB90 0020A7F0 80 9C 00 20 */ lwz r4, 0x20(r28)
/* 8020EB94 0020A7F4 D0 01 00 44 */ stfs f0, 0x44(r1)
/* 8020EB98 0020A7F8 38 84 00 0C */ addi r4, r4, 0xc
/* 8020EB9C 0020A7FC D0 81 00 4C */ stfs f4, 0x4c(r1)
/* 8020EBA0 0020A800 48 01 4E 6D */ bl func_80223A0C
/* 8020EBA4 0020A804 38 61 00 5C */ addi r3, r1, 0x5c
/* 8020EBA8 0020A808 80 9C 00 20 */ lwz r4, 0x20(r28)
/* 8020EBAC 0020A80C 7C 65 1B 78 */ mr r5, r3
/* 8020EBB0 0020A810 48 06 E1 15 */ bl PSVECAdd
/* 8020EBB4 0020A814 80 9C 00 20 */ lwz r4, 0x20(r28)
/* 8020EBB8 0020A818 38 61 00 50 */ addi r3, r1, 0x50
/* 8020EBBC 0020A81C C0 3C 00 38 */ lfs f1, 0x38(r28)
/* 8020EBC0 0020A820 C0 04 00 24 */ lfs f0, 0x24(r4)
/* 8020EBC4 0020A824 C0 7C 00 34 */ lfs f3, 0x34(r28)
/* 8020EBC8 0020A828 EC 81 00 32 */ fmuls f4, f1, f0
/* 8020EBCC 0020A82C C0 44 00 20 */ lfs f2, 0x20(r4)
/* 8020EBD0 0020A830 C0 3C 00 30 */ lfs f1, 0x30(r28)
/* 8020EBD4 0020A834 C0 04 00 1C */ lfs f0, 0x1c(r4)
/* 8020EBD8 0020A838 EC 43 00 B2 */ fmuls f2, f3, f2
/* 8020EBDC 0020A83C D0 81 00 40 */ stfs f4, 0x40(r1)
/* 8020EBE0 0020A840 EC 01 00 32 */ fmuls f0, f1, f0
/* 8020EBE4 0020A844 D0 41 00 54 */ stfs f2, 0x54(r1)
/* 8020EBE8 0020A848 D0 01 00 50 */ stfs f0, 0x50(r1)
/* 8020EBEC 0020A84C D0 81 00 58 */ stfs f4, 0x58(r1)
/* 8020EBF0 0020A850 80 9C 00 20 */ lwz r4, 0x20(r28)
/* 8020EBF4 0020A854 D0 01 00 38 */ stfs f0, 0x38(r1)
/* 8020EBF8 0020A858 38 84 00 0C */ addi r4, r4, 0xc
/* 8020EBFC 0020A85C D0 41 00 3C */ stfs f2, 0x3c(r1)
/* 8020EC00 0020A860 48 01 4E 0D */ bl func_80223A0C
/* 8020EC04 0020A864 57 E0 04 63 */ rlwinm. r0, r31, 0, 0x11, 0x11
/* 8020EC08 0020A868 41 82 00 24 */ beq lbl_8020EC2C
/* 8020EC0C 0020A86C C0 22 9A 40 */ lfs f1, lbl_80642040-_SDA2_BASE_(r2)
/* 8020EC10 0020A870 38 61 00 50 */ addi r3, r1, 0x50
/* 8020EC14 0020A874 38 81 00 2C */ addi r4, r1, 0x2c
/* 8020EC18 0020A878 48 06 E0 F5 */ bl PSVECScale
/* 8020EC1C 0020A87C 38 61 00 5C */ addi r3, r1, 0x5c
/* 8020EC20 0020A880 38 81 00 2C */ addi r4, r1, 0x2c
/* 8020EC24 0020A884 7C 65 1B 78 */ mr r5, r3
/* 8020EC28 0020A888 48 06 E0 C1 */ bl PSVECSubtract
lbl_8020EC2C:
/* 8020EC2C 0020A88C C0 01 00 5C */ lfs f0, 0x5c(r1)
/* 8020EC30 0020A890 38 61 00 5C */ addi r3, r1, 0x5c
/* 8020EC34 0020A894 7C 65 1B 78 */ mr r5, r3
/* 8020EC38 0020A898 38 81 00 50 */ addi r4, r1, 0x50
/* 8020EC3C 0020A89C D0 1C 00 3C */ stfs f0, 0x3c(r28)
/* 8020EC40 0020A8A0 C0 01 00 60 */ lfs f0, 0x60(r1)
/* 8020EC44 0020A8A4 D0 1C 00 40 */ stfs f0, 0x40(r28)
/* 8020EC48 0020A8A8 C0 01 00 64 */ lfs f0, 0x64(r1)
/* 8020EC4C 0020A8AC D0 1C 00 44 */ stfs f0, 0x44(r28)
/* 8020EC50 0020A8B0 48 06 E0 75 */ bl PSVECAdd
/* 8020EC54 0020A8B4 C0 01 00 5C */ lfs f0, 0x5c(r1)
/* 8020EC58 0020A8B8 FC 20 F8 90 */ fmr f1, f31
/* 8020EC5C 0020A8BC 38 7C 00 54 */ addi r3, r28, 0x54
/* 8020EC60 0020A8C0 D0 1C 00 48 */ stfs f0, 0x48(r28)
/* 8020EC64 0020A8C4 C0 01 00 60 */ lfs f0, 0x60(r1)
/* 8020EC68 0020A8C8 D0 1C 00 4C */ stfs f0, 0x4c(r28)
/* 8020EC6C 0020A8CC C0 01 00 64 */ lfs f0, 0x64(r1)
/* 8020EC70 0020A8D0 D0 1C 00 50 */ stfs f0, 0x50(r28)
/* 8020EC74 0020A8D4 80 9E 00 08 */ lwz r4, 8(r30)
/* 8020EC78 0020A8D8 48 00 2A E9 */ bl func_80211760
/* 8020EC7C 0020A8DC 88 1C 00 54 */ lbz r0, 0x54(r28)
/* 8020EC80 0020A8E0 20 00 00 FF */ subfic r0, r0, 0xff
/* 8020EC84 0020A8E4 98 01 00 0D */ stb r0, 0xd(r1)
/* 8020EC88 0020A8E8 E0 41 A0 0D */ psq_l f2, 13(r1), 1, qr2
/* 8020EC8C 0020A8EC C0 1D 00 3C */ lfs f0, 0x3c(r29)
/* 8020EC90 0020A8F0 C0 22 9A 40 */ lfs f1, lbl_80642040-_SDA2_BASE_(r2)
/* 8020EC94 0020A8F4 EC 02 00 32 */ fmuls f0, f2, f0
/* 8020EC98 0020A8F8 EC 01 00 2A */ fadds f0, f1, f0
/* 8020EC9C 0020A8FC F0 01 A0 28 */ psq_st f0, 40(r1), 1, qr2
/* 8020ECA0 0020A900 88 81 00 28 */ lbz r4, 0x28(r1)
/* 8020ECA4 0020A904 88 7C 00 54 */ lbz r3, 0x54(r28)
/* 8020ECA8 0020A908 88 1C 00 55 */ lbz r0, 0x55(r28)
/* 8020ECAC 0020A90C 7C 63 22 14 */ add r3, r3, r4
/* 8020ECB0 0020A910 98 7C 00 54 */ stb r3, 0x54(r28)
/* 8020ECB4 0020A914 20 00 00 FF */ subfic r0, r0, 0xff
/* 8020ECB8 0020A918 98 01 00 0C */ stb r0, 0xc(r1)
/* 8020ECBC 0020A91C E0 41 A0 0C */ psq_l f2, 12(r1), 1, qr2
/* 8020ECC0 0020A920 C0 1D 00 40 */ lfs f0, 0x40(r29)
/* 8020ECC4 0020A924 EC 02 00 32 */ fmuls f0, f2, f0
/* 8020ECC8 0020A928 EC 01 00 2A */ fadds f0, f1, f0
/* 8020ECCC 0020A92C F0 01 A0 24 */ psq_st f0, 36(r1), 1, qr2
/* 8020ECD0 0020A930 88 1C 00 56 */ lbz r0, 0x56(r28)
/* 8020ECD4 0020A934 88 81 00 24 */ lbz r4, 0x24(r1)
/* 8020ECD8 0020A938 88 7C 00 55 */ lbz r3, 0x55(r28)
/* 8020ECDC 0020A93C 20 00 00 FF */ subfic r0, r0, 0xff
/* 8020ECE0 0020A940 7C 63 22 14 */ add r3, r3, r4
/* 8020ECE4 0020A944 98 7C 00 55 */ stb r3, 0x55(r28)
/* 8020ECE8 0020A948 98 01 00 0B */ stb r0, 0xb(r1)
/* 8020ECEC 0020A94C E0 41 A0 0B */ psq_l f2, 11(r1), 1, qr2
/* 8020ECF0 0020A950 C0 1D 00 44 */ lfs f0, 0x44(r29)
/* 8020ECF4 0020A954 EC 02 00 32 */ fmuls f0, f2, f0
/* 8020ECF8 0020A958 EC 01 00 2A */ fadds f0, f1, f0
/* 8020ECFC 0020A95C F0 01 A0 20 */ psq_st f0, 32(r1), 1, qr2
/* 8020ED00 0020A960 88 61 00 20 */ lbz r3, 0x20(r1)
/* 8020ED04 0020A964 88 1C 00 56 */ lbz r0, 0x56(r28)
/* 8020ED08 0020A968 7C 00 1A 14 */ add r0, r0, r3
/* 8020ED0C 0020A96C 98 1C 00 56 */ stb r0, 0x56(r28)
/* 8020ED10 0020A970 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 8020ED14 0020A974 2C 03 00 00 */ cmpwi r3, 0
/* 8020ED18 0020A978 41 82 00 10 */ beq lbl_8020ED28
/* 8020ED1C 0020A97C 88 03 00 00 */ lbz r0, 0(r3)
/* 8020ED20 0020A980 54 00 07 BF */ clrlwi. r0, r0, 0x1e
/* 8020ED24 0020A984 40 82 00 0C */ bne lbl_8020ED30
lbl_8020ED28:
/* 8020ED28 0020A988 C0 22 9A 44 */ lfs f1, lbl_80642044-_SDA2_BASE_(r2)
/* 8020ED2C 0020A98C 48 00 00 40 */ b lbl_8020ED6C
lbl_8020ED30:
/* 8020ED30 0020A990 C0 23 00 08 */ lfs f1, 8(r3)
/* 8020ED34 0020A994 C0 02 9A 48 */ lfs f0, lbl_80642048-_SDA2_BASE_(r2)
/* 8020ED38 0020A998 EC 21 F8 28 */ fsubs f1, f1, f31
/* 8020ED3C 0020A99C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8020ED40 0020A9A0 40 81 00 08 */ ble lbl_8020ED48
/* 8020ED44 0020A9A4 48 00 00 08 */ b lbl_8020ED4C
lbl_8020ED48:
/* 8020ED48 0020A9A8 FC 20 08 50 */ fneg f1, f1
lbl_8020ED4C:
/* 8020ED4C 0020A9AC C0 02 9A 4C */ lfs f0, lbl_8064204C-_SDA2_BASE_(r2)
/* 8020ED50 0020A9B0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8020ED54 0020A9B4 4C 40 13 82 */ cror 2, 0, 2
/* 8020ED58 0020A9B8 40 82 00 0C */ bne lbl_8020ED64
/* 8020ED5C 0020A9BC C0 23 00 04 */ lfs f1, 4(r3)
/* 8020ED60 0020A9C0 48 00 00 0C */ b lbl_8020ED6C
lbl_8020ED64:
/* 8020ED64 0020A9C4 FC 20 F8 90 */ fmr f1, f31
/* 8020ED68 0020A9C8 48 00 27 FD */ bl func_80211564
lbl_8020ED6C:
/* 8020ED6C 0020A9CC C0 1D 00 48 */ lfs f0, 0x48(r29)
/* 8020ED70 0020A9D0 C0 42 9A 50 */ lfs f2, lbl_80642050-_SDA2_BASE_(r2)
/* 8020ED74 0020A9D4 EC 21 00 32 */ fmuls f1, f1, f0
/* 8020ED78 0020A9D8 C0 02 9A 40 */ lfs f0, lbl_80642040-_SDA2_BASE_(r2)
/* 8020ED7C 0020A9DC EC 22 00 72 */ fmuls f1, f2, f1
/* 8020ED80 0020A9E0 EC 00 08 2A */ fadds f0, f0, f1
/* 8020ED84 0020A9E4 F0 01 A0 1C */ psq_st f0, 28(r1), 1, qr2
/* 8020ED88 0020A9E8 57 E0 03 5B */ rlwinm. r0, r31, 0, 0xd, 0xd
/* 8020ED8C 0020A9EC 88 01 00 1C */ lbz r0, 0x1c(r1)
/* 8020ED90 0020A9F0 98 1C 00 57 */ stb r0, 0x57(r28)
/* 8020ED94 0020A9F4 41 82 00 B0 */ beq lbl_8020EE44
/* 8020ED98 0020A9F8 FC 20 F8 90 */ fmr f1, f31
/* 8020ED9C 0020A9FC 80 9E 00 0C */ lwz r4, 0xc(r30)
/* 8020EDA0 0020AA00 38 7C 00 58 */ addi r3, r28, 0x58
/* 8020EDA4 0020AA04 48 00 29 BD */ bl func_80211760
/* 8020EDA8 0020AA08 88 1C 00 58 */ lbz r0, 0x58(r28)
/* 8020EDAC 0020AA0C 20 00 00 FF */ subfic r0, r0, 0xff
/* 8020EDB0 0020AA10 98 01 00 0A */ stb r0, 0xa(r1)
/* 8020EDB4 0020AA14 E0 41 A0 0A */ psq_l f2, 10(r1), 1, qr2
/* 8020EDB8 0020AA18 C0 1D 00 3C */ lfs f0, 0x3c(r29)
/* 8020EDBC 0020AA1C C0 22 9A 40 */ lfs f1, lbl_80642040-_SDA2_BASE_(r2)
/* 8020EDC0 0020AA20 EC 02 00 32 */ fmuls f0, f2, f0
/* 8020EDC4 0020AA24 EC 01 00 2A */ fadds f0, f1, f0
/* 8020EDC8 0020AA28 F0 01 A0 18 */ psq_st f0, 24(r1), 1, qr2
/* 8020EDCC 0020AA2C 88 81 00 18 */ lbz r4, 0x18(r1)
/* 8020EDD0 0020AA30 88 7C 00 58 */ lbz r3, 0x58(r28)
/* 8020EDD4 0020AA34 88 1C 00 59 */ lbz r0, 0x59(r28)
/* 8020EDD8 0020AA38 7C 63 22 14 */ add r3, r3, r4
/* 8020EDDC 0020AA3C 98 7C 00 58 */ stb r3, 0x58(r28)
/* 8020EDE0 0020AA40 20 00 00 FF */ subfic r0, r0, 0xff
/* 8020EDE4 0020AA44 98 01 00 09 */ stb r0, 9(r1)
/* 8020EDE8 0020AA48 E0 41 A0 09 */ psq_l f2, 9(r1), 1, qr2
/* 8020EDEC 0020AA4C C0 1D 00 40 */ lfs f0, 0x40(r29)
/* 8020EDF0 0020AA50 EC 02 00 32 */ fmuls f0, f2, f0
/* 8020EDF4 0020AA54 EC 01 00 2A */ fadds f0, f1, f0
/* 8020EDF8 0020AA58 F0 01 A0 14 */ psq_st f0, 20(r1), 1, qr2
/* 8020EDFC 0020AA5C 88 1C 00 5A */ lbz r0, 0x5a(r28)
/* 8020EE00 0020AA60 88 81 00 14 */ lbz r4, 0x14(r1)
/* 8020EE04 0020AA64 88 7C 00 59 */ lbz r3, 0x59(r28)
/* 8020EE08 0020AA68 20 00 00 FF */ subfic r0, r0, 0xff
/* 8020EE0C 0020AA6C 7C 63 22 14 */ add r3, r3, r4
/* 8020EE10 0020AA70 98 7C 00 59 */ stb r3, 0x59(r28)
/* 8020EE14 0020AA74 98 01 00 08 */ stb r0, 8(r1)
/* 8020EE18 0020AA78 E0 41 A0 08 */ psq_l f2, 8(r1), 1, qr2
/* 8020EE1C 0020AA7C C0 1D 00 44 */ lfs f0, 0x44(r29)
/* 8020EE20 0020AA80 EC 02 00 32 */ fmuls f0, f2, f0
/* 8020EE24 0020AA84 EC 01 00 2A */ fadds f0, f1, f0
/* 8020EE28 0020AA88 F0 01 A0 10 */ psq_st f0, 16(r1), 1, qr2
/* 8020EE2C 0020AA8C 88 81 00 10 */ lbz r4, 0x10(r1)
/* 8020EE30 0020AA90 88 7C 00 5A */ lbz r3, 0x5a(r28)
/* 8020EE34 0020AA94 88 1C 00 57 */ lbz r0, 0x57(r28)
/* 8020EE38 0020AA98 7C 63 22 14 */ add r3, r3, r4
/* 8020EE3C 0020AA9C 98 7C 00 5A */ stb r3, 0x5a(r28)
/* 8020EE40 0020AAA0 98 1C 00 5B */ stb r0, 0x5b(r28)
lbl_8020EE44:
/* 8020EE44 0020AAA4 E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0
/* 8020EE48 0020AAA8 80 01 00 94 */ lwz r0, 0x94(r1)
/* 8020EE4C 0020AAAC CB E1 00 80 */ lfd f31, 0x80(r1)
/* 8020EE50 0020AAB0 83 E1 00 7C */ lwz r31, 0x7c(r1)
/* 8020EE54 0020AAB4 83 C1 00 78 */ lwz r30, 0x78(r1)
/* 8020EE58 0020AAB8 83 A1 00 74 */ lwz r29, 0x74(r1)
/* 8020EE5C 0020AABC 83 81 00 70 */ lwz r28, 0x70(r1)
/* 8020EE60 0020AAC0 7C 08 03 A6 */ mtlr r0
/* 8020EE64 0020AAC4 38 21 00 90 */ addi r1, r1, 0x90
/* 8020EE68 0020AAC8 4E 80 00 20 */ blr
.global func_8020EE6C
func_8020EE6C:
/* 8020EE6C 0020AACC 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8020EE70 0020AAD0 7C 08 02 A6 */ mflr r0
/* 8020EE74 0020AAD4 90 01 00 54 */ stw r0, 0x54(r1)
/* 8020EE78 0020AAD8 DB E1 00 40 */ stfd f31, 0x40(r1)
/* 8020EE7C 0020AADC F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0
/* 8020EE80 0020AAE0 DB C1 00 30 */ stfd f30, 0x30(r1)
/* 8020EE84 0020AAE4 F3 C1 00 38 */ psq_st f30, 56(r1), 0, qr0
/* 8020EE88 0020AAE8 FF C0 08 90 */ fmr f30, f1
/* 8020EE8C 0020AAEC 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8020EE90 0020AAF0 7C BF 2B 78 */ mr r31, r5
/* 8020EE94 0020AAF4 7C C5 33 78 */ mr r5, r6
/* 8020EE98 0020AAF8 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8020EE9C 0020AAFC 7C 7E 1B 78 */ mr r30, r3
/* 8020EEA0 0020AB00 4B FF DB 99 */ bl func_8020CA38
/* 8020EEA4 0020AB04 80 1F 00 00 */ lwz r0, 0(r31)
/* 8020EEA8 0020AB08 C3 FF 00 30 */ lfs f31, 0x30(r31)
/* 8020EEAC 0020AB0C 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6
/* 8020EEB0 0020AB10 41 82 00 0C */ beq lbl_8020EEBC
/* 8020EEB4 0020AB14 EF FF 07 B2 */ fmuls f31, f31, f30
/* 8020EEB8 0020AB18 48 00 00 4C */ b lbl_8020EF04
lbl_8020EEBC:
/* 8020EEBC 0020AB1C 48 01 49 75 */ bl func_80223830
/* 8020EEC0 0020AB20 3C 80 00 03 */ lis r4, 0x000343FD@ha
/* 8020EEC4 0020AB24 80 A3 00 00 */ lwz r5, 0(r3)
/* 8020EEC8 0020AB28 38 84 43 FD */ addi r4, r4, 0x000343FD@l
/* 8020EECC 0020AB2C 3C 00 43 30 */ lis r0, 0x4330
/* 8020EED0 0020AB30 7C 85 21 D6 */ mullw r4, r5, r4
/* 8020EED4 0020AB34 90 01 00 18 */ stw r0, 0x18(r1)
/* 8020EED8 0020AB38 C8 42 9A 58 */ lfd f2, lbl_80642058-_SDA2_BASE_(r2)
/* 8020EEDC 0020AB3C C0 02 9A 54 */ lfs f0, lbl_80642054-_SDA2_BASE_(r2)
/* 8020EEE0 0020AB40 3C 84 00 27 */ addis r4, r4, 0x27
/* 8020EEE4 0020AB44 38 84 9E C3 */ addi r4, r4, -24893
/* 8020EEE8 0020AB48 54 80 84 3E */ srwi r0, r4, 0x10
/* 8020EEEC 0020AB4C 90 83 00 00 */ stw r4, 0(r3)
/* 8020EEF0 0020AB50 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8020EEF4 0020AB54 C8 21 00 18 */ lfd f1, 0x18(r1)
/* 8020EEF8 0020AB58 EC 21 10 28 */ fsubs f1, f1, f2
/* 8020EEFC 0020AB5C EC 01 00 24 */ fdivs f0, f1, f0
/* 8020EF00 0020AB60 EF FF 00 32 */ fmuls f31, f31, f0
lbl_8020EF04:
/* 8020EF04 0020AB64 C0 1F 00 2C */ lfs f0, 0x2c(r31)
/* 8020EF08 0020AB68 38 7F 00 20 */ addi r3, r31, 0x20
/* 8020EF0C 0020AB6C 38 81 00 08 */ addi r4, r1, 8
/* 8020EF10 0020AB70 EF FF 00 2A */ fadds f31, f31, f0
/* 8020EF14 0020AB74 FC 20 F8 90 */ fmr f1, f31
/* 8020EF18 0020AB78 48 06 DD F5 */ bl PSVECScale
/* 8020EF1C 0020AB7C C0 01 00 08 */ lfs f0, 8(r1)
/* 8020EF20 0020AB80 D0 1E 00 30 */ stfs f0, 0x30(r30)
/* 8020EF24 0020AB84 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 8020EF28 0020AB88 D0 1E 00 34 */ stfs f0, 0x34(r30)
/* 8020EF2C 0020AB8C C0 01 00 10 */ lfs f0, 0x10(r1)
/* 8020EF30 0020AB90 D0 1E 00 38 */ stfs f0, 0x38(r30)
/* 8020EF34 0020AB94 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0
/* 8020EF38 0020AB98 CB E1 00 40 */ lfd f31, 0x40(r1)
/* 8020EF3C 0020AB9C E3 C1 00 38 */ psq_l f30, 56(r1), 0, qr0
/* 8020EF40 0020ABA0 CB C1 00 30 */ lfd f30, 0x30(r1)
/* 8020EF44 0020ABA4 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8020EF48 0020ABA8 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8020EF4C 0020ABAC 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8020EF50 0020ABB0 7C 08 03 A6 */ mtlr r0
/* 8020EF54 0020ABB4 38 21 00 50 */ addi r1, r1, 0x50
/* 8020EF58 0020ABB8 4E 80 00 20 */ blr
.global func_8020EF5C
func_8020EF5C:
/* 8020EF5C 0020ABBC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8020EF60 0020ABC0 7C 08 02 A6 */ mflr r0
/* 8020EF64 0020ABC4 90 01 00 24 */ stw r0, 0x24(r1)
/* 8020EF68 0020ABC8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8020EF6C 0020ABCC 7C BF 2B 78 */ mr r31, r5
/* 8020EF70 0020ABD0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8020EF74 0020ABD4 7C 9E 23 78 */ mr r30, r4
/* 8020EF78 0020ABD8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8020EF7C 0020ABDC 7C 7D 1B 78 */ mr r29, r3
/* 8020EF80 0020ABE0 4B FF DB A9 */ bl func_8020CB28
/* 8020EF84 0020ABE4 2C 03 00 00 */ cmpwi r3, 0
/* 8020EF88 0020ABE8 41 81 00 0C */ bgt lbl_8020EF94
/* 8020EF8C 0020ABEC 38 60 00 00 */ li r3, 0
/* 8020EF90 0020ABF0 48 00 00 2C */ b lbl_8020EFBC
lbl_8020EF94:
/* 8020EF94 0020ABF4 C0 5D 00 04 */ lfs f2, 4(r29)
/* 8020EF98 0020ABF8 7F A3 EB 78 */ mr r3, r29
/* 8020EF9C 0020ABFC C0 3D 00 00 */ lfs f1, 0(r29)
/* 8020EFA0 0020AC00 7F C4 F3 78 */ mr r4, r30
/* 8020EFA4 0020AC04 C0 02 9A 44 */ lfs f0, lbl_80642044-_SDA2_BASE_(r2)
/* 8020EFA8 0020AC08 7F E5 FB 78 */ mr r5, r31
/* 8020EFAC 0020AC0C EC 22 08 24 */ fdivs f1, f2, f1
/* 8020EFB0 0020AC10 EC 20 08 28 */ fsubs f1, f0, f1
/* 8020EFB4 0020AC14 4B FF FB 69 */ bl func_8020EB1C
/* 8020EFB8 0020AC18 38 60 00 01 */ li r3, 1
lbl_8020EFBC:
/* 8020EFBC 0020AC1C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8020EFC0 0020AC20 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8020EFC4 0020AC24 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8020EFC8 0020AC28 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8020EFCC 0020AC2C 7C 08 03 A6 */ mtlr r0
/* 8020EFD0 0020AC30 38 21 00 20 */ addi r1, r1, 0x20
/* 8020EFD4 0020AC34 4E 80 00 20 */ blr
.global func_8020EFD8
func_8020EFD8:
/* 8020EFD8 0020AC38 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8020EFDC 0020AC3C 7C 08 02 A6 */ mflr r0
/* 8020EFE0 0020AC40 90 01 00 14 */ stw r0, 0x14(r1)
/* 8020EFE4 0020AC44 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8020EFE8 0020AC48 7C BF 2B 78 */ mr r31, r5
/* 8020EFEC 0020AC4C 38 A0 00 5C */ li r5, 0x5c
/* 8020EFF0 0020AC50 93 C1 00 08 */ stw r30, 8(r1)
/* 8020EFF4 0020AC54 7C 7E 1B 78 */ mr r30, r3
/* 8020EFF8 0020AC58 4B FF 88 C1 */ bl func_802078B8
/* 8020EFFC 0020AC5C 3C 80 80 42 */ lis r4, lbl_804239D8@ha
/* 8020F000 0020AC60 38 00 00 FF */ li r0, 0xff
/* 8020F004 0020AC64 38 84 39 D8 */ addi r4, r4, lbl_804239D8@l
/* 8020F008 0020AC68 93 FE 00 20 */ stw r31, 0x20(r30)
/* 8020F00C 0020AC6C 7F C3 F3 78 */ mr r3, r30
/* 8020F010 0020AC70 90 9E 00 1C */ stw r4, 0x1c(r30)
/* 8020F014 0020AC74 98 1E 00 28 */ stb r0, 0x28(r30)
/* 8020F018 0020AC78 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8020F01C 0020AC7C 83 C1 00 08 */ lwz r30, 8(r1)
/* 8020F020 0020AC80 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8020F024 0020AC84 7C 08 03 A6 */ mtlr r0
/* 8020F028 0020AC88 38 21 00 10 */ addi r1, r1, 0x10
/* 8020F02C 0020AC8C 4E 80 00 20 */ blr
/* 8020F030 0020AC90 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8020F034 0020AC94 7C 08 02 A6 */ mflr r0
/* 8020F038 0020AC98 90 01 00 34 */ stw r0, 0x34(r1)
/* 8020F03C 0020AC9C DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8020F040 0020ACA0 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 8020F044 0020ACA4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8020F048 0020ACA8 7C 7F 1B 78 */ mr r31, r3
/* 8020F04C 0020ACAC 88 03 00 18 */ lbz r0, 0x18(r3)
/* 8020F050 0020ACB0 2C 00 00 00 */ cmpwi r0, 0
/* 8020F054 0020ACB4 40 82 01 0C */ bne lbl_8020F160
/* 8020F058 0020ACB8 38 00 00 00 */ li r0, 0
/* 8020F05C 0020ACBC 38 80 00 01 */ li r4, 1
/* 8020F060 0020ACC0 98 83 00 18 */ stb r4, 0x18(r3)
/* 8020F064 0020ACC4 80 83 00 20 */ lwz r4, 0x20(r3)
/* 8020F068 0020ACC8 98 03 00 29 */ stb r0, 0x29(r3)
/* 8020F06C 0020ACCC 98 03 00 28 */ stb r0, 0x28(r3)
/* 8020F070 0020ACD0 80 04 00 00 */ lwz r0, 0(r4)
/* 8020F074 0020ACD4 54 00 05 6B */ rlwinm. r0, r0, 0, 0x15, 0x15
/* 8020F078 0020ACD8 41 82 00 D8 */ beq lbl_8020F150
/* 8020F07C 0020ACDC 48 01 47 B5 */ bl func_80223830
/* 8020F080 0020ACE0 3C 80 00 03 */ lis r4, 0x000343FD@ha
/* 8020F084 0020ACE4 80 A3 00 00 */ lwz r5, 0(r3)
/* 8020F088 0020ACE8 38 84 43 FD */ addi r4, r4, 0x000343FD@l
/* 8020F08C 0020ACEC 3C 00 43 30 */ lis r0, 0x4330
/* 8020F090 0020ACF0 7C 85 21 D6 */ mullw r4, r5, r4
/* 8020F094 0020ACF4 90 01 00 10 */ stw r0, 0x10(r1)
/* 8020F098 0020ACF8 C8 62 9A 58 */ lfd f3, lbl_80642058-_SDA2_BASE_(r2)
/* 8020F09C 0020ACFC C0 22 9A 54 */ lfs f1, lbl_80642054-_SDA2_BASE_(r2)
/* 8020F0A0 0020AD00 3C 84 00 27 */ addis r4, r4, 0x27
/* 8020F0A4 0020AD04 38 84 9E C3 */ addi r4, r4, -24893
/* 8020F0A8 0020AD08 54 80 84 3E */ srwi r0, r4, 0x10
/* 8020F0AC 0020AD0C 90 83 00 00 */ stw r4, 0(r3)
/* 8020F0B0 0020AD10 90 01 00 14 */ stw r0, 0x14(r1)
/* 8020F0B4 0020AD14 80 7F 00 20 */ lwz r3, 0x20(r31)
/* 8020F0B8 0020AD18 C8 41 00 10 */ lfd f2, 0x10(r1)
/* 8020F0BC 0020AD1C C0 03 00 34 */ lfs f0, 0x34(r3)
/* 8020F0C0 0020AD20 EC 42 18 28 */ fsubs f2, f2, f3
/* 8020F0C4 0020AD24 EC 22 08 24 */ fdivs f1, f2, f1
/* 8020F0C8 0020AD28 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8020F0CC 0020AD2C 40 81 00 10 */ ble lbl_8020F0DC
/* 8020F0D0 0020AD30 88 1F 00 29 */ lbz r0, 0x29(r31)
/* 8020F0D4 0020AD34 60 00 00 01 */ ori r0, r0, 1
/* 8020F0D8 0020AD38 98 1F 00 29 */ stb r0, 0x29(r31)
lbl_8020F0DC:
/* 8020F0DC 0020AD3C 80 7F 00 20 */ lwz r3, 0x20(r31)
/* 8020F0E0 0020AD40 80 03 00 00 */ lwz r0, 0(r3)
/* 8020F0E4 0020AD44 54 00 05 29 */ rlwinm. r0, r0, 0, 0x14, 0x14
/* 8020F0E8 0020AD48 41 82 00 68 */ beq lbl_8020F150
/* 8020F0EC 0020AD4C 80 63 00 1C */ lwz r3, 0x1c(r3)
/* 8020F0F0 0020AD50 80 03 00 00 */ lwz r0, 0(r3)
/* 8020F0F4 0020AD54 B0 01 00 08 */ sth r0, 8(r1)
/* 8020F0F8 0020AD58 E3 E1 B0 08 */ psq_l f31, 8(r1), 1, qr3
/* 8020F0FC 0020AD5C 48 01 47 35 */ bl func_80223830
/* 8020F100 0020AD60 3C 80 00 03 */ lis r4, 0x000343FD@ha
/* 8020F104 0020AD64 80 A3 00 00 */ lwz r5, 0(r3)
/* 8020F108 0020AD68 38 84 43 FD */ addi r4, r4, 0x000343FD@l
/* 8020F10C 0020AD6C 3C 00 43 30 */ lis r0, 0x4330
/* 8020F110 0020AD70 7C 85 21 D6 */ mullw r4, r5, r4
/* 8020F114 0020AD74 90 01 00 10 */ stw r0, 0x10(r1)
/* 8020F118 0020AD78 C8 42 9A 58 */ lfd f2, lbl_80642058-_SDA2_BASE_(r2)
/* 8020F11C 0020AD7C C0 02 9A 54 */ lfs f0, lbl_80642054-_SDA2_BASE_(r2)
/* 8020F120 0020AD80 3C 84 00 27 */ addis r4, r4, 0x27
/* 8020F124 0020AD84 38 84 9E C3 */ addi r4, r4, -24893
/* 8020F128 0020AD88 54 80 84 3E */ srwi r0, r4, 0x10
/* 8020F12C 0020AD8C 90 83 00 00 */ stw r4, 0(r3)
/* 8020F130 0020AD90 90 01 00 14 */ stw r0, 0x14(r1)
/* 8020F134 0020AD94 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 8020F138 0020AD98 EC 21 10 28 */ fsubs f1, f1, f2
/* 8020F13C 0020AD9C EC 01 00 24 */ fdivs f0, f1, f0
/* 8020F140 0020ADA0 EC 1F 00 32 */ fmuls f0, f31, f0
/* 8020F144 0020ADA4 F0 01 A0 0C */ psq_st f0, 12(r1), 1, qr2
/* 8020F148 0020ADA8 88 01 00 0C */ lbz r0, 0xc(r1)
/* 8020F14C 0020ADAC 98 1F 00 28 */ stb r0, 0x28(r31)
lbl_8020F150:
/* 8020F150 0020ADB0 80 7F 00 00 */ lwz r3, 0(r31)
/* 8020F154 0020ADB4 80 63 00 FC */ lwz r3, 0xfc(r3)
/* 8020F158 0020ADB8 C0 03 00 2C */ lfs f0, 0x2c(r3)
/* 8020F15C 0020ADBC D0 1F 00 24 */ stfs f0, 0x24(r31)
lbl_8020F160:
/* 8020F160 0020ADC0 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 8020F164 0020ADC4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8020F168 0020ADC8 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 8020F16C 0020ADCC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8020F170 0020ADD0 7C 08 03 A6 */ mtlr r0
/* 8020F174 0020ADD4 38 21 00 30 */ addi r1, r1, 0x30
/* 8020F178 0020ADD8 4E 80 00 20 */ blr
/* 8020F17C 0020ADDC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8020F180 0020ADE0 7C 08 02 A6 */ mflr r0
/* 8020F184 0020ADE4 90 01 00 34 */ stw r0, 0x34(r1)
/* 8020F188 0020ADE8 39 61 00 30 */ addi r11, r1, 0x30
/* 8020F18C 0020ADEC 4B FB 7F 9D */ bl _savegpr_27
/* 8020F190 0020ADF0 88 03 00 18 */ lbz r0, 0x18(r3)
/* 8020F194 0020ADF4 7C 7B 1B 78 */ mr r27, r3
/* 8020F198 0020ADF8 2C 00 00 00 */ cmpwi r0, 0
/* 8020F19C 0020ADFC 40 82 00 0C */ bne lbl_8020F1A8
/* 8020F1A0 0020AE00 38 60 00 00 */ li r3, 0
/* 8020F1A4 0020AE04 48 00 00 74 */ b lbl_8020F218
lbl_8020F1A8:
/* 8020F1A8 0020AE08 4B FF 89 01 */ bl func_80207AA8
/* 8020F1AC 0020AE0C 54 60 04 3F */ clrlwi. r0, r3, 0x10
/* 8020F1B0 0020AE10 7C 7F 1B 78 */ mr r31, r3
/* 8020F1B4 0020AE14 83 CD A1 F8 */ lwz r30, lbl_8063F4B8-_SDA_BASE_(r13)
/* 8020F1B8 0020AE18 7F FC FB 78 */ mr r28, r31
/* 8020F1BC 0020AE1C 80 7B 00 10 */ lwz r3, 0x10(r27)
/* 8020F1C0 0020AE20 41 82 00 54 */ beq lbl_8020F214
/* 8020F1C4 0020AE24 48 00 00 48 */ b lbl_8020F20C
lbl_8020F1C8:
/* 8020F1C8 0020AE28 80 9B 00 00 */ lwz r4, 0(r27)
/* 8020F1CC 0020AE2C 83 A3 00 28 */ lwz r29, 0x28(r3)
/* 8020F1D0 0020AE30 A0 04 00 4E */ lhz r0, 0x4e(r4)
/* 8020F1D4 0020AE34 7C 00 E2 14 */ add r0, r0, r28
/* 8020F1D8 0020AE38 7C 1F 00 50 */ subf r0, r31, r0
/* 8020F1DC 0020AE3C B0 01 00 08 */ sth r0, 8(r1)
/* 8020F1E0 0020AE40 E0 21 B0 08 */ psq_l f1, 8(r1), 1, qr3
/* 8020F1E4 0020AE44 7F C6 F3 78 */ mr r6, r30
/* 8020F1E8 0020AE48 80 9B 00 00 */ lwz r4, 0(r27)
/* 8020F1EC 0020AE4C 80 BB 00 20 */ lwz r5, 0x20(r27)
/* 8020F1F0 0020AE50 80 E4 00 FC */ lwz r7, 0xfc(r4)
/* 8020F1F4 0020AE54 C0 07 00 08 */ lfs f0, 8(r7)
/* 8020F1F8 0020AE58 EC 20 00 72 */ fmuls f1, f0, f1
/* 8020F1FC 0020AE5C 4B FF FC 71 */ bl func_8020EE6C
/* 8020F200 0020AE60 7F A3 EB 78 */ mr r3, r29
/* 8020F204 0020AE64 3B FF FF FF */ addi r31, r31, -1
/* 8020F208 0020AE68 3B DE 00 48 */ addi r30, r30, 0x48
lbl_8020F20C:
/* 8020F20C 0020AE6C 57 E0 04 3F */ clrlwi. r0, r31, 0x10
/* 8020F210 0020AE70 40 82 FF B8 */ bne lbl_8020F1C8
lbl_8020F214:
/* 8020F214 0020AE74 7F 83 E3 78 */ mr r3, r28
lbl_8020F218:
/* 8020F218 0020AE78 39 61 00 30 */ addi r11, r1, 0x30
/* 8020F21C 0020AE7C 4B FB 7F 59 */ bl _restgpr_27
/* 8020F220 0020AE80 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8020F224 0020AE84 7C 08 03 A6 */ mtlr r0
/* 8020F228 0020AE88 38 21 00 30 */ addi r1, r1, 0x30
/* 8020F22C 0020AE8C 4E 80 00 20 */ blr
/* 8020F230 0020AE90 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8020F234 0020AE94 7C 08 02 A6 */ mflr r0
/* 8020F238 0020AE98 90 01 00 34 */ stw r0, 0x34(r1)
/* 8020F23C 0020AE9C DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8020F240 0020AEA0 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 8020F244 0020AEA4 FF E0 08 90 */ fmr f31, f1
/* 8020F248 0020AEA8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8020F24C 0020AEAC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8020F250 0020AEB0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8020F254 0020AEB4 7C 7D 1B 78 */ mr r29, r3
/* 8020F258 0020AEB8 88 03 00 18 */ lbz r0, 0x18(r3)
/* 8020F25C 0020AEBC 2C 00 00 00 */ cmpwi r0, 0
/* 8020F260 0020AEC0 41 82 00 50 */ beq lbl_8020F2B0
/* 8020F264 0020AEC4 83 E3 00 10 */ lwz r31, 0x10(r3)
/* 8020F268 0020AEC8 48 00 00 34 */ b lbl_8020F29C
lbl_8020F26C:
/* 8020F26C 0020AECC FC 20 F8 90 */ fmr f1, f31
/* 8020F270 0020AED0 83 DF 00 28 */ lwz r30, 0x28(r31)
/* 8020F274 0020AED4 80 9D 00 00 */ lwz r4, 0(r29)
/* 8020F278 0020AED8 7F E3 FB 78 */ mr r3, r31
/* 8020F27C 0020AEDC 80 BD 00 20 */ lwz r5, 0x20(r29)
/* 8020F280 0020AEE0 4B FF FC DD */ bl func_8020EF5C
/* 8020F284 0020AEE4 2C 03 00 00 */ cmpwi r3, 0
/* 8020F288 0020AEE8 40 82 00 10 */ bne lbl_8020F298
/* 8020F28C 0020AEEC 7F A3 EB 78 */ mr r3, r29
/* 8020F290 0020AEF0 7F E4 FB 78 */ mr r4, r31
/* 8020F294 0020AEF4 4B FF 88 A1 */ bl func_80207B34
lbl_8020F298:
/* 8020F298 0020AEF8 7F DF F3 78 */ mr r31, r30
lbl_8020F29C:
/* 8020F29C 0020AEFC 2C 1F 00 00 */ cmpwi r31, 0
/* 8020F2A0 0020AF00 40 82 FF CC */ bne lbl_8020F26C
/* 8020F2A4 0020AF04 C0 1D 00 24 */ lfs f0, 0x24(r29)
/* 8020F2A8 0020AF08 EC 00 F8 28 */ fsubs f0, f0, f31
/* 8020F2AC 0020AF0C D0 1D 00 24 */ stfs f0, 0x24(r29)
lbl_8020F2B0:
/* 8020F2B0 0020AF10 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 8020F2B4 0020AF14 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8020F2B8 0020AF18 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 8020F2BC 0020AF1C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8020F2C0 0020AF20 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8020F2C4 0020AF24 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8020F2C8 0020AF28 7C 08 03 A6 */ mtlr r0
/* 8020F2CC 0020AF2C 38 21 00 30 */ addi r1, r1, 0x30
/* 8020F2D0 0020AF30 4E 80 00 20 */ blr
.global func_8020F2D4
func_8020F2D4:
/* 8020F2D4 0020AF34 88 03 00 18 */ lbz r0, 0x18(r3)
/* 8020F2D8 0020AF38 2C 00 00 00 */ cmpwi r0, 0
/* 8020F2DC 0020AF3C 40 82 00 0C */ bne lbl_8020F2E8
/* 8020F2E0 0020AF40 38 60 00 00 */ li r3, 0
/* 8020F2E4 0020AF44 4E 80 00 20 */ blr
lbl_8020F2E8:
/* 8020F2E8 0020AF48 A0 03 00 14 */ lhz r0, 0x14(r3)
/* 8020F2EC 0020AF4C 28 00 00 02 */ cmplwi r0, 2
/* 8020F2F0 0020AF50 40 80 00 0C */ bge lbl_8020F2FC
/* 8020F2F4 0020AF54 38 60 00 00 */ li r3, 0
/* 8020F2F8 0020AF58 4E 80 00 20 */ blr
lbl_8020F2FC:
/* 8020F2FC 0020AF5C 80 0D A1 D8 */ lwz r0, lbl_8063F498-_SDA_BASE_(r13)
/* 8020F300 0020AF60 80 63 00 20 */ lwz r3, 0x20(r3)
/* 8020F304 0020AF64 2C 00 00 05 */ cmpwi r0, 5
/* 8020F308 0020AF68 80 63 00 00 */ lwz r3, 0(r3)
/* 8020F30C 0020AF6C 40 82 00 14 */ bne lbl_8020F320
/* 8020F310 0020AF70 54 60 02 D7 */ rlwinm. r0, r3, 0, 0xb, 0xb
/* 8020F314 0020AF74 41 82 00 6C */ beq lbl_8020F380
/* 8020F318 0020AF78 38 60 00 01 */ li r3, 1
/* 8020F31C 0020AF7C 4E 80 00 20 */ blr
lbl_8020F320:
/* 8020F320 0020AF80 2C 00 00 06 */ cmpwi r0, 6
/* 8020F324 0020AF84 40 82 00 14 */ bne lbl_8020F338
/* 8020F328 0020AF88 54 60 02 53 */ rlwinm. r0, r3, 0, 9, 9
/* 8020F32C 0020AF8C 41 82 00 54 */ beq lbl_8020F380
/* 8020F330 0020AF90 38 60 00 01 */ li r3, 1
/* 8020F334 0020AF94 4E 80 00 20 */ blr
lbl_8020F338:
/* 8020F338 0020AF98 2C 00 00 08 */ cmpwi r0, 8
/* 8020F33C 0020AF9C 40 82 00 14 */ bne lbl_8020F350
/* 8020F340 0020AFA0 54 60 02 95 */ rlwinm. r0, r3, 0, 0xa, 0xa
/* 8020F344 0020AFA4 41 82 00 3C */ beq lbl_8020F380
/* 8020F348 0020AFA8 38 60 00 01 */ li r3, 1
/* 8020F34C 0020AFAC 4E 80 00 20 */ blr
lbl_8020F350:
/* 8020F350 0020AFB0 2C 00 00 09 */ cmpwi r0, 9
/* 8020F354 0020AFB4 40 82 00 14 */ bne lbl_8020F368
/* 8020F358 0020AFB8 54 60 02 11 */ rlwinm. r0, r3, 0, 8, 8
/* 8020F35C 0020AFBC 41 82 00 24 */ beq lbl_8020F380
/* 8020F360 0020AFC0 38 60 00 01 */ li r3, 1
/* 8020F364 0020AFC4 4E 80 00 20 */ blr
lbl_8020F368:
/* 8020F368 0020AFC8 2C 00 00 0A */ cmpwi r0, 0xa
/* 8020F36C 0020AFCC 40 82 00 14 */ bne lbl_8020F380
/* 8020F370 0020AFD0 54 60 06 73 */ rlwinm. r0, r3, 0, 0x19, 0x19
/* 8020F374 0020AFD4 41 82 00 0C */ beq lbl_8020F380
/* 8020F378 0020AFD8 38 60 00 01 */ li r3, 1
/* 8020F37C 0020AFDC 4E 80 00 20 */ blr
lbl_8020F380:
/* 8020F380 0020AFE0 38 60 00 00 */ li r3, 0
/* 8020F384 0020AFE4 4E 80 00 20 */ blr
/* 8020F388 0020AFE8 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8020F38C 0020AFEC 7C 08 02 A6 */ mflr r0
/* 8020F390 0020AFF0 90 01 00 54 */ stw r0, 0x54(r1)
/* 8020F394 0020AFF4 DB E1 00 40 */ stfd f31, 0x40(r1)
/* 8020F398 0020AFF8 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0
/* 8020F39C 0020AFFC 39 61 00 40 */ addi r11, r1, 0x40
/* 8020F3A0 0020B000 4B FB 7D 81 */ bl _savegpr_25
/* 8020F3A4 0020B004 7C 7A 1B 78 */ mr r26, r3
/* 8020F3A8 0020B008 4B FF FF 2D */ bl func_8020F2D4
/* 8020F3AC 0020B00C 2C 03 00 00 */ cmpwi r3, 0
/* 8020F3B0 0020B010 41 82 04 A8 */ beq lbl_8020F858
/* 8020F3B4 0020B014 80 7A 00 20 */ lwz r3, 0x20(r26)
/* 8020F3B8 0020B018 38 80 00 00 */ li r4, 0
/* 8020F3BC 0020B01C 80 AD A3 D8 */ lwz r5, render_context_ptr-_SDA_BASE_(r13)
/* 8020F3C0 0020B020 83 E3 00 00 */ lwz r31, 0(r3)
/* 8020F3C4 0020B024 80 65 16 38 */ lwz r3, 0x1638(r5)
/* 8020F3C8 0020B028 57 E0 01 CF */ rlwinm. r0, r31, 0, 7, 7
/* 8020F3CC 0020B02C 57 FE 77 FE */ rlwinm r30, r31, 0xe, 0x1f, 0x1f
/* 8020F3D0 0020B030 90 83 01 84 */ stw r4, 0x184(r3)
/* 8020F3D4 0020B034 80 65 16 38 */ lwz r3, 0x1638(r5)
/* 8020F3D8 0020B038 80 03 00 10 */ lwz r0, 0x10(r3)
/* 8020F3DC 0020B03C 60 00 00 02 */ ori r0, r0, 2
/* 8020F3E0 0020B040 90 03 00 10 */ stw r0, 0x10(r3)
/* 8020F3E4 0020B044 80 65 16 38 */ lwz r3, 0x1638(r5)
/* 8020F3E8 0020B048 80 03 00 00 */ lwz r0, 0(r3)
/* 8020F3EC 0020B04C 60 00 00 02 */ ori r0, r0, 2
/* 8020F3F0 0020B050 90 03 00 00 */ stw r0, 0(r3)
/* 8020F3F4 0020B054 80 AD A3 D8 */ lwz r5, render_context_ptr-_SDA_BASE_(r13)
/* 8020F3F8 0020B058 80 65 16 38 */ lwz r3, 0x1638(r5)
/* 8020F3FC 0020B05C 90 83 01 88 */ stw r4, 0x188(r3)
/* 8020F400 0020B060 80 65 16 38 */ lwz r3, 0x1638(r5)
/* 8020F404 0020B064 80 03 00 10 */ lwz r0, 0x10(r3)
/* 8020F408 0020B068 60 00 00 04 */ ori r0, r0, 4
/* 8020F40C 0020B06C 90 03 00 10 */ stw r0, 0x10(r3)
/* 8020F410 0020B070 80 65 16 38 */ lwz r3, 0x1638(r5)
/* 8020F414 0020B074 80 03 00 00 */ lwz r0, 0(r3)
/* 8020F418 0020B078 60 00 00 02 */ ori r0, r0, 2
/* 8020F41C 0020B07C 90 03 00 00 */ stw r0, 0(r3)
/* 8020F420 0020B080 41 82 00 40 */ beq lbl_8020F460
/* 8020F424 0020B084 80 AD A3 D8 */ lwz r5, render_context_ptr-_SDA_BASE_(r13)
/* 8020F428 0020B088 38 00 00 03 */ li r0, 3
/* 8020F42C 0020B08C 80 65 16 38 */ lwz r3, 0x1638(r5)
/* 8020F430 0020B090 98 83 0A 3C */ stb r4, 0xa3c(r3)
/* 8020F434 0020B094 80 65 16 38 */ lwz r3, 0x1638(r5)
/* 8020F438 0020B098 90 03 0A 40 */ stw r0, 0xa40(r3)
/* 8020F43C 0020B09C 80 65 16 38 */ lwz r3, 0x1638(r5)
/* 8020F440 0020B0A0 80 03 00 64 */ lwz r0, 0x64(r3)
/* 8020F444 0020B0A4 60 00 00 08 */ ori r0, r0, 8
/* 8020F448 0020B0A8 90 03 00 64 */ stw r0, 0x64(r3)
/* 8020F44C 0020B0AC 80 65 16 38 */ lwz r3, 0x1638(r5)
/* 8020F450 0020B0B0 80 03 00 00 */ lwz r0, 0(r3)
/* 8020F454 0020B0B4 60 00 00 40 */ ori r0, r0, 0x40
/* 8020F458 0020B0B8 90 03 00 00 */ stw r0, 0(r3)
/* 8020F45C 0020B0BC 48 00 00 3C */ b lbl_8020F498
lbl_8020F460:
/* 8020F460 0020B0C0 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8020F464 0020B0C4 38 00 00 01 */ li r0, 1
/* 8020F468 0020B0C8 80 64 16 38 */ lwz r3, 0x1638(r4)
/* 8020F46C 0020B0CC 98 03 0A 3C */ stb r0, 0xa3c(r3)
/* 8020F470 0020B0D0 80 64 16 38 */ lwz r3, 0x1638(r4)
/* 8020F474 0020B0D4 90 03 0A 40 */ stw r0, 0xa40(r3)
/* 8020F478 0020B0D8 80 64 16 38 */ lwz r3, 0x1638(r4)
/* 8020F47C 0020B0DC 80 03 00 64 */ lwz r0, 0x64(r3)
/* 8020F480 0020B0E0 60 00 00 08 */ ori r0, r0, 8
/* 8020F484 0020B0E4 90 03 00 64 */ stw r0, 0x64(r3)
/* 8020F488 0020B0E8 80 64 16 38 */ lwz r3, 0x1638(r4)
/* 8020F48C 0020B0EC 80 03 00 00 */ lwz r0, 0(r3)
/* 8020F490 0020B0F0 60 00 00 40 */ ori r0, r0, 0x40
/* 8020F494 0020B0F4 90 03 00 00 */ stw r0, 0(r3)
lbl_8020F498:
/* 8020F498 0020B0F8 57 E3 07 7E */ clrlwi r3, r31, 0x1d
/* 8020F49C 0020B0FC 4B FF 5B 1D */ bl func_80204FB8
/* 8020F4A0 0020B100 2C 1E 00 00 */ cmpwi r30, 0
/* 8020F4A4 0020B104 3C 80 80 49 */ lis r4, lbl_80492A9C@ha
/* 8020F4A8 0020B108 38 84 2A 9C */ addi r4, r4, lbl_80492A9C@l
/* 8020F4AC 0020B10C 41 82 00 0C */ beq lbl_8020F4B8
/* 8020F4B0 0020B110 3C 80 80 49 */ lis r4, lbl_80492E7C@ha
/* 8020F4B4 0020B114 38 84 2E 7C */ addi r4, r4, lbl_80492E7C@l
lbl_8020F4B8:
/* 8020F4B8 0020B118 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8020F4BC 0020B11C 57 E0 05 6B */ rlwinm. r0, r31, 0, 0x15, 0x15
/* 8020F4C0 0020B120 90 83 17 3C */ stw r4, 0x173c(r3)
/* 8020F4C4 0020B124 41 82 02 04 */ beq lbl_8020F6C8
/* 8020F4C8 0020B128 80 7A 00 20 */ lwz r3, 0x20(r26)
/* 8020F4CC 0020B12C 57 E0 04 E7 */ rlwinm. r0, r31, 0, 0x13, 0x13
/* 8020F4D0 0020B130 8B 7A 00 28 */ lbz r27, 0x28(r26)
/* 8020F4D4 0020B134 83 A3 00 1C */ lwz r29, 0x1c(r3)
/* 8020F4D8 0020B138 80 1D 00 00 */ lwz r0, 0(r29)
/* 8020F4DC 0020B13C 54 1C 04 3E */ clrlwi r28, r0, 0x10
/* 8020F4E0 0020B140 41 82 01 94 */ beq lbl_8020F674
/* 8020F4E4 0020B144 B3 81 00 12 */ sth r28, 0x12(r1)
/* 8020F4E8 0020B148 E3 E1 B0 12 */ psq_l f31, 18(r1), 1, qr3
/* 8020F4EC 0020B14C 57 F9 9F FE */ rlwinm r25, r31, 0x13, 0x1f, 0x1f
/* 8020F4F0 0020B150 7F C4 F3 78 */ mr r4, r30
/* 8020F4F4 0020B154 38 60 00 00 */ li r3, 0
/* 8020F4F8 0020B158 7F 25 CB 78 */ mr r5, r25
/* 8020F4FC 0020B15C 38 C0 00 00 */ li r6, 0
/* 8020F500 0020B160 4B FF 53 15 */ bl func_80204814
/* 8020F504 0020B164 2C 19 00 00 */ cmpwi r25, 0
/* 8020F508 0020B168 41 82 00 0C */ beq lbl_8020F514
/* 8020F50C 0020B16C C0 02 9A 44 */ lfs f0, lbl_80642044-_SDA2_BASE_(r2)
/* 8020F510 0020B170 EF FF 00 28 */ fsubs f31, f31, f0
lbl_8020F514:
/* 8020F514 0020B174 57 E0 01 4B */ rlwinm. r0, r31, 0, 5, 5
/* 8020F518 0020B178 41 82 00 2C */ beq lbl_8020F544
/* 8020F51C 0020B17C 80 9A 00 00 */ lwz r4, 0(r26)
/* 8020F520 0020B180 80 7A 00 20 */ lwz r3, 0x20(r26)
/* 8020F524 0020B184 80 84 00 FC */ lwz r4, 0xfc(r4)
/* 8020F528 0020B188 C0 3A 00 24 */ lfs f1, 0x24(r26)
/* 8020F52C 0020B18C C0 44 00 2C */ lfs f2, 0x2c(r4)
/* 8020F530 0020B190 C0 03 00 04 */ lfs f0, 4(r3)
/* 8020F534 0020B194 EC 22 08 28 */ fsubs f1, f2, f1
/* 8020F538 0020B198 EC 3F 00 72 */ fmuls f1, f31, f1
/* 8020F53C 0020B19C EC 21 00 24 */ fdivs f1, f1, f0
/* 8020F540 0020B1A0 48 00 00 30 */ b lbl_8020F570
lbl_8020F544:
/* 8020F544 0020B1A4 80 7A 00 00 */ lwz r3, 0(r26)
/* 8020F548 0020B1A8 C0 5A 00 24 */ lfs f2, 0x24(r26)
/* 8020F54C 0020B1AC 80 63 00 FC */ lwz r3, 0xfc(r3)
/* 8020F550 0020B1B0 C0 22 9A 44 */ lfs f1, lbl_80642044-_SDA2_BASE_(r2)
/* 8020F554 0020B1B4 C0 03 00 2C */ lfs f0, 0x2c(r3)
/* 8020F558 0020B1B8 80 9A 00 20 */ lwz r4, 0x20(r26)
/* 8020F55C 0020B1BC EC 42 00 24 */ fdivs f2, f2, f0
/* 8020F560 0020B1C0 C0 04 00 04 */ lfs f0, 4(r4)
/* 8020F564 0020B1C4 EC 21 10 28 */ fsubs f1, f1, f2
/* 8020F568 0020B1C8 EC 3F 00 72 */ fmuls f1, f31, f1
/* 8020F56C 0020B1CC EC 20 00 72 */ fmuls f1, f0, f1
lbl_8020F570:
/* 8020F570 0020B1D0 B3 61 00 10 */ sth r27, 0x10(r1)
/* 8020F574 0020B1D4 E0 01 B0 10 */ psq_l f0, 16(r1), 1, qr3
/* 8020F578 0020B1D8 FC 40 F8 90 */ fmr f2, f31
/* 8020F57C 0020B1DC EC 21 00 2A */ fadds f1, f1, f0
/* 8020F580 0020B1E0 4B FC 50 61 */ bl fmod
/* 8020F584 0020B1E4 FC 40 08 18 */ frsp f2, f1
/* 8020F588 0020B1E8 F0 41 B0 18 */ psq_st f2, 24(r1), 1, qr3
/* 8020F58C 0020B1EC 2C 19 00 00 */ cmpwi r25, 0
/* 8020F590 0020B1F0 A3 61 00 18 */ lhz r27, 0x18(r1)
/* 8020F594 0020B1F4 7C 1B E3 D6 */ divw r0, r27, r28
/* 8020F598 0020B1F8 7C 00 E1 D6 */ mullw r0, r0, r28
/* 8020F59C 0020B1FC 7C 00 D8 50 */ subf r0, r0, r27
/* 8020F5A0 0020B200 54 1B 04 3E */ clrlwi r27, r0, 0x10
/* 8020F5A4 0020B204 41 82 00 E4 */ beq lbl_8020F688
/* 8020F5A8 0020B208 B3 61 00 0E */ sth r27, 0xe(r1)
/* 8020F5AC 0020B20C E0 21 B0 0E */ psq_l f1, 14(r1), 1, qr3
/* 8020F5B0 0020B210 C0 02 9A 50 */ lfs f0, lbl_80642050-_SDA2_BASE_(r2)
/* 8020F5B4 0020B214 EC 22 08 28 */ fsubs f1, f2, f1
/* 8020F5B8 0020B218 EC 00 00 72 */ fmuls f0, f0, f1
/* 8020F5BC 0020B21C F0 01 A0 14 */ psq_st f0, 20(r1), 1, qr2
/* 8020F5C0 0020B220 88 01 00 14 */ lbz r0, 0x14(r1)
/* 8020F5C4 0020B224 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8020F5C8 0020B228 98 01 00 1F */ stb r0, 0x1f(r1)
/* 8020F5CC 0020B22C 80 64 16 38 */ lwz r3, 0x1638(r4)
/* 8020F5D0 0020B230 98 01 00 1E */ stb r0, 0x1e(r1)
/* 8020F5D4 0020B234 98 01 00 1D */ stb r0, 0x1d(r1)
/* 8020F5D8 0020B238 98 01 00 1C */ stb r0, 0x1c(r1)
/* 8020F5DC 0020B23C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8020F5E0 0020B240 90 03 08 D4 */ stw r0, 0x8d4(r3)
/* 8020F5E4 0020B244 80 64 16 38 */ lwz r3, 0x1638(r4)
/* 8020F5E8 0020B248 80 03 00 50 */ lwz r0, 0x50(r3)
/* 8020F5EC 0020B24C 60 00 00 01 */ ori r0, r0, 1
/* 8020F5F0 0020B250 90 03 00 50 */ stw r0, 0x50(r3)
/* 8020F5F4 0020B254 80 64 16 38 */ lwz r3, 0x1638(r4)
/* 8020F5F8 0020B258 80 03 00 00 */ lwz r0, 0(r3)
/* 8020F5FC 0020B25C 60 00 00 10 */ ori r0, r0, 0x10
/* 8020F600 0020B260 90 03 00 00 */ stw r0, 0(r3)
/* 8020F604 0020B264 88 1A 00 29 */ lbz r0, 0x29(r26)
/* 8020F608 0020B268 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8020F60C 0020B26C 41 82 00 24 */ beq lbl_8020F630
/* 8020F610 0020B270 7C 9B E0 50 */ subf r4, r27, r28
/* 8020F614 0020B274 38 04 FF FE */ addi r0, r4, -2
/* 8020F618 0020B278 54 03 10 3A */ slwi r3, r0, 2
/* 8020F61C 0020B27C 7C 7D 1A 14 */ add r3, r29, r3
/* 8020F620 0020B280 38 04 FF FF */ addi r0, r4, -1
/* 8020F624 0020B284 80 83 00 04 */ lwz r4, 4(r3)
/* 8020F628 0020B288 54 1B 04 3E */ clrlwi r27, r0, 0x10
/* 8020F62C 0020B28C 48 00 00 14 */ b lbl_8020F640
lbl_8020F630:
/* 8020F630 0020B290 38 1B 00 01 */ addi r0, r27, 1
/* 8020F634 0020B294 54 00 10 3A */ slwi r0, r0, 2
/* 8020F638 0020B298 7C 7D 02 14 */ add r3, r29, r0
/* 8020F63C 0020B29C 80 83 00 04 */ lwz r4, 4(r3)
lbl_8020F640:
/* 8020F640 0020B2A0 57 E0 06 B5 */ rlwinm. r0, r31, 0, 0x1a, 0x1a
/* 8020F644 0020B2A4 39 00 00 00 */ li r8, 0
/* 8020F648 0020B2A8 41 82 00 08 */ beq lbl_8020F650
/* 8020F64C 0020B2AC 39 00 00 02 */ li r8, 2
lbl_8020F650:
/* 8020F650 0020B2B0 57 E0 06 F7 */ rlwinm. r0, r31, 0, 0x1b, 0x1b
/* 8020F654 0020B2B4 57 E6 C7 BE */ rlwinm r6, r31, 0x18, 0x1e, 0x1f
/* 8020F658 0020B2B8 38 60 00 01 */ li r3, 1
/* 8020F65C 0020B2BC 38 A0 00 00 */ li r5, 0
/* 8020F660 0020B2C0 38 E0 00 00 */ li r7, 0
/* 8020F664 0020B2C4 41 82 00 08 */ beq lbl_8020F66C
/* 8020F668 0020B2C8 38 E0 00 02 */ li r7, 2
lbl_8020F66C:
/* 8020F66C 0020B2CC 4B FF 5D B5 */ bl func_80205420
/* 8020F670 0020B2D0 48 00 00 18 */ b lbl_8020F688
lbl_8020F674:
/* 8020F674 0020B2D4 7F C4 F3 78 */ mr r4, r30
/* 8020F678 0020B2D8 38 60 00 00 */ li r3, 0
/* 8020F67C 0020B2DC 38 A0 00 00 */ li r5, 0
/* 8020F680 0020B2E0 38 C0 00 00 */ li r6, 0
/* 8020F684 0020B2E4 4B FF 51 91 */ bl func_80204814
lbl_8020F688:
/* 8020F688 0020B2E8 57 63 13 BA */ rlwinm r3, r27, 2, 0xe, 0x1d
/* 8020F68C 0020B2EC 57 E0 06 B5 */ rlwinm. r0, r31, 0, 0x1a, 0x1a
/* 8020F690 0020B2F0 7C 7D 1A 14 */ add r3, r29, r3
/* 8020F694 0020B2F4 39 00 00 00 */ li r8, 0
/* 8020F698 0020B2F8 80 83 00 04 */ lwz r4, 4(r3)
/* 8020F69C 0020B2FC 41 82 00 08 */ beq lbl_8020F6A4
/* 8020F6A0 0020B300 39 00 00 02 */ li r8, 2
lbl_8020F6A4:
/* 8020F6A4 0020B304 57 E0 06 F7 */ rlwinm. r0, r31, 0, 0x1b, 0x1b
/* 8020F6A8 0020B308 57 E6 C7 BE */ rlwinm r6, r31, 0x18, 0x1e, 0x1f
/* 8020F6AC 0020B30C 38 60 00 00 */ li r3, 0
/* 8020F6B0 0020B310 38 A0 00 00 */ li r5, 0
/* 8020F6B4 0020B314 38 E0 00 00 */ li r7, 0
/* 8020F6B8 0020B318 41 82 00 08 */ beq lbl_8020F6C0
/* 8020F6BC 0020B31C 38 E0 00 02 */ li r7, 2
lbl_8020F6C0:
/* 8020F6C0 0020B320 4B FF 5D 61 */ bl func_80205420
/* 8020F6C4 0020B324 48 00 00 50 */ b lbl_8020F714
lbl_8020F6C8:
/* 8020F6C8 0020B328 7F C4 F3 78 */ mr r4, r30
/* 8020F6CC 0020B32C 38 60 00 00 */ li r3, 0
/* 8020F6D0 0020B330 38 A0 00 00 */ li r5, 0
/* 8020F6D4 0020B334 38 C0 00 00 */ li r6, 0
/* 8020F6D8 0020B338 4B FF 51 3D */ bl func_80204814
/* 8020F6DC 0020B33C 57 E0 06 B5 */ rlwinm. r0, r31, 0, 0x1a, 0x1a
/* 8020F6E0 0020B340 39 00 00 00 */ li r8, 0
/* 8020F6E4 0020B344 41 82 00 08 */ beq lbl_8020F6EC
/* 8020F6E8 0020B348 39 00 00 02 */ li r8, 2
lbl_8020F6EC:
/* 8020F6EC 0020B34C 80 7A 00 20 */ lwz r3, 0x20(r26)
/* 8020F6F0 0020B350 57 E0 06 F7 */ rlwinm. r0, r31, 0, 0x1b, 0x1b
/* 8020F6F4 0020B354 57 E6 C7 BE */ rlwinm r6, r31, 0x18, 0x1e, 0x1f
/* 8020F6F8 0020B358 38 A0 00 00 */ li r5, 0
/* 8020F6FC 0020B35C 80 83 00 1C */ lwz r4, 0x1c(r3)
/* 8020F700 0020B360 38 60 00 00 */ li r3, 0
/* 8020F704 0020B364 38 E0 00 00 */ li r7, 0
/* 8020F708 0020B368 41 82 00 08 */ beq lbl_8020F710
/* 8020F70C 0020B36C 38 E0 00 02 */ li r7, 2
lbl_8020F710:
/* 8020F710 0020B370 4B FF 5D 11 */ bl func_80205420
lbl_8020F714:
/* 8020F714 0020B374 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8020F718 0020B378 38 00 00 98 */ li r0, 0x98
/* 8020F71C 0020B37C 90 03 17 38 */ stw r0, 0x1738(r3)
/* 8020F720 0020B380 A0 1A 00 14 */ lhz r0, 0x14(r26)
/* 8020F724 0020B384 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8020F728 0020B388 54 04 0C 3C */ rlwinm r4, r0, 1, 0x10, 0x1e
/* 8020F72C 0020B38C 48 02 3E 01 */ bl begin_drawing
/* 8020F730 0020B390 80 7A 00 00 */ lwz r3, 0(r26)
/* 8020F734 0020B394 57 E0 03 DF */ rlwinm. r0, r31, 0, 0xf, 0xf
/* 8020F738 0020B398 80 BA 00 20 */ lwz r5, 0x20(r26)
/* 8020F73C 0020B39C 57 E7 8F FE */ rlwinm r7, r31, 0x11, 0x1f, 0x1f
/* 8020F740 0020B3A0 80 63 00 FC */ lwz r3, 0xfc(r3)
/* 8020F744 0020B3A4 57 E8 7F FE */ rlwinm r8, r31, 0xf, 0x1f, 0x1f
/* 8020F748 0020B3A8 38 C0 00 00 */ li r6, 0
/* 8020F74C 0020B3AC 41 82 00 20 */ beq lbl_8020F76C
/* 8020F750 0020B3B0 A0 7A 00 14 */ lhz r3, 0x14(r26)
/* 8020F754 0020B3B4 38 03 FF FF */ addi r0, r3, -1
/* 8020F758 0020B3B8 B0 01 00 0C */ sth r0, 0xc(r1)
/* 8020F75C 0020B3BC E0 21 B0 0C */ psq_l f1, 12(r1), 1, qr3
/* 8020F760 0020B3C0 C0 02 9A 44 */ lfs f0, lbl_80642044-_SDA2_BASE_(r2)
/* 8020F764 0020B3C4 EC 80 08 24 */ fdivs f4, f0, f1
/* 8020F768 0020B3C8 48 00 00 08 */ b lbl_8020F770
lbl_8020F76C:
/* 8020F76C 0020B3CC C0 83 00 08 */ lfs f4, 8(r3)
lbl_8020F770:
/* 8020F770 0020B3D0 81 3A 00 10 */ lwz r9, 0x10(r26)
/* 8020F774 0020B3D4 3C 60 CC 01 */ lis r3, 0xcc01
/* 8020F778 0020B3D8 C0 02 9A 44 */ lfs f0, lbl_80642044-_SDA2_BASE_(r2)
/* 8020F77C 0020B3DC 48 00 00 C4 */ b lbl_8020F840
lbl_8020F780:
/* 8020F780 0020B3E0 2C 08 00 00 */ cmpwi r8, 0
/* 8020F784 0020B3E4 41 82 00 1C */ beq lbl_8020F7A0
/* 8020F788 0020B3E8 A0 1A 00 14 */ lhz r0, 0x14(r26)
/* 8020F78C 0020B3EC 7C 86 00 50 */ subf r4, r6, r0
/* 8020F790 0020B3F0 38 04 FF FF */ addi r0, r4, -1
/* 8020F794 0020B3F4 B0 01 00 0A */ sth r0, 0xa(r1)
/* 8020F798 0020B3F8 E0 21 B0 0A */ psq_l f1, 10(r1), 1, qr3
/* 8020F79C 0020B3FC 48 00 00 0C */ b lbl_8020F7A8
lbl_8020F7A0:
/* 8020F7A0 0020B400 B0 C1 00 08 */ sth r6, 8(r1)
/* 8020F7A4 0020B404 E0 21 B0 08 */ psq_l f1, 8(r1), 1, qr3
lbl_8020F7A8:
/* 8020F7A8 0020B408 2C 07 00 00 */ cmpwi r7, 0
/* 8020F7AC 0020B40C 41 82 00 10 */ beq lbl_8020F7BC
/* 8020F7B0 0020B410 EC 21 01 32 */ fmuls f1, f1, f4
/* 8020F7B4 0020B414 EC A0 08 28 */ fsubs f5, f0, f1
/* 8020F7B8 0020B418 48 00 00 08 */ b lbl_8020F7C0
lbl_8020F7BC:
/* 8020F7BC 0020B41C EC A1 01 32 */ fmuls f5, f1, f4
lbl_8020F7C0:
/* 8020F7C0 0020B420 C0 29 00 44 */ lfs f1, 0x44(r9)
/* 8020F7C4 0020B424 2C 1E 00 00 */ cmpwi r30, 0
/* 8020F7C8 0020B428 C0 49 00 40 */ lfs f2, 0x40(r9)
/* 8020F7CC 0020B42C C0 69 00 3C */ lfs f3, 0x3c(r9)
/* 8020F7D0 0020B430 D0 63 80 00 */ stfs f3, -0x8000(r3)
/* 8020F7D4 0020B434 D0 43 80 00 */ stfs f2, -0x8000(r3)
/* 8020F7D8 0020B438 D0 23 80 00 */ stfs f1, -0x8000(r3)
/* 8020F7DC 0020B43C 80 09 00 54 */ lwz r0, 0x54(r9)
/* 8020F7E0 0020B440 90 03 80 00 */ stw r0, -0x8000(r3)
/* 8020F7E4 0020B444 41 82 00 0C */ beq lbl_8020F7F0
/* 8020F7E8 0020B448 80 09 00 58 */ lwz r0, 0x58(r9)
/* 8020F7EC 0020B44C 90 03 80 00 */ stw r0, -0x8000(r3)
lbl_8020F7F0:
/* 8020F7F0 0020B450 C0 25 00 18 */ lfs f1, 0x18(r5)
/* 8020F7F4 0020B454 2C 1E 00 00 */ cmpwi r30, 0
/* 8020F7F8 0020B458 D0 A3 80 00 */ stfs f5, -0x8000(r3)
/* 8020F7FC 0020B45C D0 23 80 00 */ stfs f1, -0x8000(r3)
/* 8020F800 0020B460 C0 29 00 50 */ lfs f1, 0x50(r9)
/* 8020F804 0020B464 C0 49 00 4C */ lfs f2, 0x4c(r9)
/* 8020F808 0020B468 C0 69 00 48 */ lfs f3, 0x48(r9)
/* 8020F80C 0020B46C D0 63 80 00 */ stfs f3, -0x8000(r3)
/* 8020F810 0020B470 D0 43 80 00 */ stfs f2, -0x8000(r3)
/* 8020F814 0020B474 D0 23 80 00 */ stfs f1, -0x8000(r3)
/* 8020F818 0020B478 80 09 00 54 */ lwz r0, 0x54(r9)
/* 8020F81C 0020B47C 90 03 80 00 */ stw r0, -0x8000(r3)
/* 8020F820 0020B480 41 82 00 0C */ beq lbl_8020F82C
/* 8020F824 0020B484 80 09 00 58 */ lwz r0, 0x58(r9)
/* 8020F828 0020B488 90 03 80 00 */ stw r0, -0x8000(r3)
lbl_8020F82C:
/* 8020F82C 0020B48C C0 25 00 14 */ lfs f1, 0x14(r5)
/* 8020F830 0020B490 38 C6 00 01 */ addi r6, r6, 1
/* 8020F834 0020B494 D0 A3 80 00 */ stfs f5, -0x8000(r3)
/* 8020F838 0020B498 D0 23 80 00 */ stfs f1, -0x8000(r3)
/* 8020F83C 0020B49C 81 29 00 28 */ lwz r9, 0x28(r9)
lbl_8020F840:
/* 8020F840 0020B4A0 2C 09 00 00 */ cmpwi r9, 0
/* 8020F844 0020B4A4 40 82 FF 3C */ bne lbl_8020F780
/* 8020F848 0020B4A8 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8020F84C 0020B4AC 48 02 3D 35 */ bl end_drawing
/* 8020F850 0020B4B0 38 00 00 01 */ li r0, 1
/* 8020F854 0020B4B4 98 0D A1 F4 */ stb r0, lbl_8063F4B4-_SDA_BASE_(r13)
lbl_8020F858:
/* 8020F858 0020B4B8 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0
/* 8020F85C 0020B4BC 39 61 00 40 */ addi r11, r1, 0x40
/* 8020F860 0020B4C0 CB E1 00 40 */ lfd f31, 0x40(r1)
/* 8020F864 0020B4C4 4B FB 79 09 */ bl _restgpr_25
/* 8020F868 0020B4C8 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8020F86C 0020B4CC 7C 08 03 A6 */ mtlr r0
/* 8020F870 0020B4D0 38 21 00 50 */ addi r1, r1, 0x50
/* 8020F874 0020B4D4 4E 80 00 20 */ blr
/* 8020F878 0020B4D8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8020F87C 0020B4DC 7C 08 02 A6 */ mflr r0
/* 8020F880 0020B4E0 2C 03 00 00 */ cmpwi r3, 0
/* 8020F884 0020B4E4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8020F888 0020B4E8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8020F88C 0020B4EC 7C 9F 23 78 */ mr r31, r4
/* 8020F890 0020B4F0 93 C1 00 08 */ stw r30, 8(r1)
/* 8020F894 0020B4F4 7C 7E 1B 78 */ mr r30, r3
/* 8020F898 0020B4F8 41 82 00 20 */ beq lbl_8020F8B8
/* 8020F89C 0020B4FC 38 80 00 00 */ li r4, 0
/* 8020F8A0 0020B500 4B FF 81 15 */ bl func_802079B4
/* 8020F8A4 0020B504 2C 1F 00 00 */ cmpwi r31, 0
/* 8020F8A8 0020B508 40 81 00 10 */ ble lbl_8020F8B8
/* 8020F8AC 0020B50C 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8020F8B0 0020B510 7F C4 F3 78 */ mr r4, r30
/* 8020F8B4 0020B514 4B FC B4 95 */ bl func_801DAD48
lbl_8020F8B8:
/* 8020F8B8 0020B518 7F C3 F3 78 */ mr r3, r30
/* 8020F8BC 0020B51C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8020F8C0 0020B520 83 C1 00 08 */ lwz r30, 8(r1)
/* 8020F8C4 0020B524 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8020F8C8 0020B528 7C 08 03 A6 */ mtlr r0
/* 8020F8CC 0020B52C 38 21 00 10 */ addi r1, r1, 0x10
/* 8020F8D0 0020B530 4E 80 00 20 */ blr
.global func_8020F8D4
func_8020F8D4:
/* 8020F8D4 0020B534 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8020F8D8 0020B538 7C 08 02 A6 */ mflr r0
/* 8020F8DC 0020B53C 38 60 00 01 */ li r3, 1
/* 8020F8E0 0020B540 38 8D A2 30 */ addi r4, r13, lbl_8063F4F0-_SDA_BASE_
/* 8020F8E4 0020B544 90 01 00 24 */ stw r0, 0x24(r1)
/* 8020F8E8 0020B548 38 00 00 04 */ li r0, 4
/* 8020F8EC 0020B54C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8020F8F0 0020B550 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8020F8F4 0020B554 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8020F8F8 0020B558 3B A0 00 00 */ li r29, 0
/* 8020F8FC 0020B55C 93 81 00 10 */ stw r28, 0x10(r1)
/* 8020F900 0020B560 3F 80 80 49 */ lis r28, lbl_80492A90@ha
/* 8020F904 0020B564 3B 9C 2A 90 */ addi r28, r28, lbl_80492A90@l
/* 8020F908 0020B568 3B FC 00 0C */ addi r31, r28, 0xc
/* 8020F90C 0020B56C 98 6D A2 30 */ stb r3, lbl_8063F4F0-_SDA_BASE_(r13)
/* 8020F910 0020B570 7F E3 FB 78 */ mr r3, r31
/* 8020F914 0020B574 B0 04 00 02 */ sth r0, 2(r4)
/* 8020F918 0020B578 9B A4 00 04 */ stb r29, 4(r4)
/* 8020F91C 0020B57C 9B BC 00 0C */ stb r29, 0xc(r28)
/* 8020F920 0020B580 9B BF 00 01 */ stb r29, 1(r31)
/* 8020F924 0020B584 9B BF 00 02 */ stb r29, 2(r31)
/* 8020F928 0020B588 9B BF 00 03 */ stb r29, 3(r31)
/* 8020F92C 0020B58C 93 BF 00 04 */ stw r29, 4(r31)
/* 8020F930 0020B590 48 02 CF 85 */ bl func_8023C8B4
/* 8020F934 0020B594 3F C0 80 1E */ lis r30, func_801E42B4@ha
/* 8020F938 0020B598 7F E3 FB 78 */ mr r3, r31
/* 8020F93C 0020B59C 38 9E 42 B4 */ addi r4, r30, func_801E42B4@l
/* 8020F940 0020B5A0 38 BC 00 00 */ addi r5, r28, 0
/* 8020F944 0020B5A4 4B FB 73 05 */ bl __register_global_object_tmp
/* 8020F948 0020B5A8 3B FC 03 EC */ addi r31, r28, 0x3ec
/* 8020F94C 0020B5AC 9B BC 03 EC */ stb r29, 0x3ec(r28)
/* 8020F950 0020B5B0 7F E3 FB 78 */ mr r3, r31
/* 8020F954 0020B5B4 9B BF 00 01 */ stb r29, 1(r31)
/* 8020F958 0020B5B8 9B BF 00 02 */ stb r29, 2(r31)
/* 8020F95C 0020B5BC 9B BF 00 03 */ stb r29, 3(r31)
/* 8020F960 0020B5C0 93 BF 00 04 */ stw r29, 4(r31)
/* 8020F964 0020B5C4 48 02 CF 51 */ bl func_8023C8B4
/* 8020F968 0020B5C8 7F E3 FB 78 */ mr r3, r31
/* 8020F96C 0020B5CC 38 9E 42 B4 */ addi r4, r30, 0x42b4
/* 8020F970 0020B5D0 38 BC 03 E0 */ addi r5, r28, 0x3e0
/* 8020F974 0020B5D4 4B FB 72 D5 */ bl __register_global_object_tmp
/* 8020F978 0020B5D8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8020F97C 0020B5DC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8020F980 0020B5E0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8020F984 0020B5E4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8020F988 0020B5E8 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8020F98C 0020B5EC 7C 08 03 A6 */ mtlr r0
/* 8020F990 0020B5F0 38 21 00 20 */ addi r1, r1, 0x20
/* 8020F994 0020B5F4 4E 80 00 20 */ blr
|