summaryrefslogtreecommitdiff
path: root/asm/code_8021EA48.s
blob: d86a42519346f9f81a7cf20ad99d41f355be5ffd (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
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
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
.include "macros.inc"

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

.global func_8021EA48
func_8021EA48:
/* 8021EA48 0021A6A8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8021EA4C 0021A6AC  7C 08 02 A6 */	mflr r0
/* 8021EA50 0021A6B0  90 01 00 24 */	stw r0, 0x24(r1)
/* 8021EA54 0021A6B4  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8021EA58 0021A6B8  7C BF 2B 78 */	mr r31, r5
/* 8021EA5C 0021A6BC  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8021EA60 0021A6C0  7C 9E 23 78 */	mr r30, r4
/* 8021EA64 0021A6C4  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8021EA68 0021A6C8  7C 7D 1B 78 */	mr r29, r3
/* 8021EA6C 0021A6CC  4B FF E6 75 */	bl func_8021D0E0
/* 8021EA70 0021A6D0  C0 02 9B B8 */	lfs f0, lbl_806421B8-_SDA2_BASE_(r2)
/* 8021EA74 0021A6D4  3C A0 80 42 */	lis r5, lbl_80423BB0@ha
/* 8021EA78 0021A6D8  38 80 00 FF */	li r4, 0xff
/* 8021EA7C 0021A6DC  38 00 00 00 */	li r0, 0
/* 8021EA80 0021A6E0  38 A5 3B B0 */	addi r5, r5, lbl_80423BB0@l
/* 8021EA84 0021A6E4  93 DD 00 10 */	stw r30, 0x10(r29)
/* 8021EA88 0021A6E8  7F A3 EB 78 */	mr r3, r29
/* 8021EA8C 0021A6EC  90 BD 00 0C */	stw r5, 0xc(r29)
/* 8021EA90 0021A6F0  93 FD 00 14 */	stw r31, 0x14(r29)
/* 8021EA94 0021A6F4  98 9D 00 18 */	stb r4, 0x18(r29)
/* 8021EA98 0021A6F8  98 9D 00 19 */	stb r4, 0x19(r29)
/* 8021EA9C 0021A6FC  98 9D 00 1A */	stb r4, 0x1a(r29)
/* 8021EAA0 0021A700  98 9D 00 1B */	stb r4, 0x1b(r29)
/* 8021EAA4 0021A704  D0 1D 00 1C */	stfs f0, 0x1c(r29)
/* 8021EAA8 0021A708  D0 1D 00 20 */	stfs f0, 0x20(r29)
/* 8021EAAC 0021A70C  90 1D 00 24 */	stw r0, 0x24(r29)
/* 8021EAB0 0021A710  80 8D A1 A8 */	lwz r4, lbl_8063F468-_SDA_BASE_(r13)
/* 8021EAB4 0021A714  88 04 00 04 */	lbz r0, 4(r4)
/* 8021EAB8 0021A718  64 00 00 02 */	oris r0, r0, 2
/* 8021EABC 0021A71C  60 00 08 00 */	ori r0, r0, 0x800
/* 8021EAC0 0021A720  90 1D 00 04 */	stw r0, 4(r29)
/* 8021EAC4 0021A724  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8021EAC8 0021A728  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8021EACC 0021A72C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8021EAD0 0021A730  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8021EAD4 0021A734  7C 08 03 A6 */	mtlr r0
/* 8021EAD8 0021A738  38 21 00 20 */	addi r1, r1, 0x20
/* 8021EADC 0021A73C  4E 80 00 20 */	blr
/* 8021EAE0 0021A740  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8021EAE4 0021A744  7C 08 02 A6 */	mflr r0
/* 8021EAE8 0021A748  2C 03 00 00 */	cmpwi r3, 0
/* 8021EAEC 0021A74C  90 01 00 24 */	stw r0, 0x24(r1)
/* 8021EAF0 0021A750  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8021EAF4 0021A754  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8021EAF8 0021A758  7C 9E 23 78 */	mr r30, r4
/* 8021EAFC 0021A75C  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8021EB00 0021A760  7C 7D 1B 78 */	mr r29, r3
/* 8021EB04 0021A764  41 82 00 74 */	beq lbl_8021EB78
/* 8021EB08 0021A768  88 03 00 08 */	lbz r0, 8(r3)
/* 8021EB0C 0021A76C  3C 80 80 42 */	lis r4, lbl_80423BB0@ha
/* 8021EB10 0021A770  38 84 3B B0 */	addi r4, r4, lbl_80423BB0@l
/* 8021EB14 0021A774  2C 00 00 00 */	cmpwi r0, 0
/* 8021EB18 0021A778  90 83 00 0C */	stw r4, 0xc(r3)
/* 8021EB1C 0021A77C  41 82 00 3C */	beq lbl_8021EB58
/* 8021EB20 0021A780  83 E3 00 04 */	lwz r31, 4(r3)
/* 8021EB24 0021A784  57 E3 86 3E */	rlwinm r3, r31, 0x10, 0x18, 0x1f
/* 8021EB28 0021A788  48 01 C5 31 */	bl func_8023B058
/* 8021EB2C 0021A78C  2C 03 00 00 */	cmpwi r3, 0
/* 8021EB30 0021A790  41 82 00 0C */	beq lbl_8021EB3C
/* 8021EB34 0021A794  7F E4 FB 78 */	mr r4, r31
/* 8021EB38 0021A798  48 01 C8 E9 */	bl func_8023B420
lbl_8021EB3C:
/* 8021EB3C 0021A79C  81 9D 00 0C */	lwz r12, 0xc(r29)
/* 8021EB40 0021A7A0  7F A3 EB 78 */	mr r3, r29
/* 8021EB44 0021A7A4  81 8C 00 0C */	lwz r12, 0xc(r12)
/* 8021EB48 0021A7A8  7D 89 03 A6 */	mtctr r12
/* 8021EB4C 0021A7AC  4E 80 04 21 */	bctrl
/* 8021EB50 0021A7B0  38 00 00 00 */	li r0, 0
/* 8021EB54 0021A7B4  98 1D 00 08 */	stb r0, 8(r29)
lbl_8021EB58:
/* 8021EB58 0021A7B8  7F A3 EB 78 */	mr r3, r29
/* 8021EB5C 0021A7BC  38 80 00 00 */	li r4, 0
/* 8021EB60 0021A7C0  4B FF E5 E5 */	bl func_8021D144
/* 8021EB64 0021A7C4  2C 1E 00 00 */	cmpwi r30, 0
/* 8021EB68 0021A7C8  40 81 00 10 */	ble lbl_8021EB78
/* 8021EB6C 0021A7CC  80 6D 96 38 */	lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 8021EB70 0021A7D0  7F A4 EB 78 */	mr r4, r29
/* 8021EB74 0021A7D4  4B FB C1 D5 */	bl func_801DAD48
lbl_8021EB78:
/* 8021EB78 0021A7D8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8021EB7C 0021A7DC  7F A3 EB 78 */	mr r3, r29
/* 8021EB80 0021A7E0  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8021EB84 0021A7E4  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8021EB88 0021A7E8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8021EB8C 0021A7EC  7C 08 03 A6 */	mtlr r0
/* 8021EB90 0021A7F0  38 21 00 20 */	addi r1, r1, 0x20
/* 8021EB94 0021A7F4  4E 80 00 20 */	blr

.global func_8021EB98
func_8021EB98:
/* 8021EB98 0021A7F8  94 21 FE B0 */	stwu r1, -0x150(r1)
/* 8021EB9C 0021A7FC  7C 08 02 A6 */	mflr r0
/* 8021EBA0 0021A800  90 01 01 54 */	stw r0, 0x154(r1)
/* 8021EBA4 0021A804  DB E1 01 40 */	stfd f31, 0x140(r1)
/* 8021EBA8 0021A808  F3 E1 01 48 */	psq_st f31, 328(r1), 0, qr0
/* 8021EBAC 0021A80C  DB C1 01 30 */	stfd f30, 0x130(r1)
/* 8021EBB0 0021A810  F3 C1 01 38 */	psq_st f30, 312(r1), 0, qr0
/* 8021EBB4 0021A814  DB A1 01 20 */	stfd f29, 0x120(r1)
/* 8021EBB8 0021A818  F3 A1 01 28 */	psq_st f29, 296(r1), 0, qr0
/* 8021EBBC 0021A81C  DB 81 01 10 */	stfd f28, 0x110(r1)
/* 8021EBC0 0021A820  F3 81 01 18 */	psq_st f28, 280(r1), 0, qr0
/* 8021EBC4 0021A824  DB 61 01 00 */	stfd f27, 0x100(r1)
/* 8021EBC8 0021A828  F3 61 01 08 */	psq_st f27, 264(r1), 0, qr0
/* 8021EBCC 0021A82C  39 61 01 00 */	addi r11, r1, 0x100
/* 8021EBD0 0021A830  4B FA 85 41 */	bl _savegpr_21
/* 8021EBD4 0021A834  80 CD A3 D8 */	lwz r6, render_context_ptr-_SDA_BASE_(r13)
/* 8021EBD8 0021A838  38 A0 00 00 */	li r5, 0
/* 8021EBDC 0021A83C  38 00 00 80 */	li r0, 0x80
/* 8021EBE0 0021A840  7C 77 1B 78 */	mr r23, r3
/* 8021EBE4 0021A844  80 86 16 38 */	lwz r4, 0x1638(r6)
/* 8021EBE8 0021A848  3B 60 00 00 */	li r27, 0
/* 8021EBEC 0021A84C  C3 A2 9B C4 */	lfs f29, lbl_806421C4-_SDA2_BASE_(r2)
/* 8021EBF0 0021A850  3E C0 CC 01 */	lis r22, 0xcc01
/* 8021EBF4 0021A854  90 A4 01 84 */	stw r5, 0x184(r4)
/* 8021EBF8 0021A858  C3 82 9B C0 */	lfs f28, lbl_806421C0-_SDA2_BASE_(r2)
/* 8021EBFC 0021A85C  80 A6 16 38 */	lwz r5, 0x1638(r6)
/* 8021EC00 0021A860  C3 62 9B BC */	lfs f27, lbl_806421BC-_SDA2_BASE_(r2)
/* 8021EC04 0021A864  80 85 00 10 */	lwz r4, 0x10(r5)
/* 8021EC08 0021A868  C3 C2 9B B8 */	lfs f30, lbl_806421B8-_SDA2_BASE_(r2)
/* 8021EC0C 0021A86C  60 84 00 02 */	ori r4, r4, 2
/* 8021EC10 0021A870  C3 E2 9B C8 */	lfs f31, lbl_806421C8-_SDA2_BASE_(r2)
/* 8021EC14 0021A874  90 85 00 10 */	stw r4, 0x10(r5)
/* 8021EC18 0021A878  80 A6 16 38 */	lwz r5, 0x1638(r6)
/* 8021EC1C 0021A87C  80 85 00 00 */	lwz r4, 0(r5)
/* 8021EC20 0021A880  60 84 00 02 */	ori r4, r4, 2
/* 8021EC24 0021A884  90 85 00 00 */	stw r4, 0(r5)
/* 8021EC28 0021A888  80 8D A3 D8 */	lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8021EC2C 0021A88C  90 04 17 38 */	stw r0, 0x1738(r4)
/* 8021EC30 0021A890  80 63 00 10 */	lwz r3, 0x10(r3)
/* 8021EC34 0021A894  A3 E3 00 EC */	lhz r31, 0xec(r3)
/* 8021EC38 0021A898  48 00 04 10 */	b lbl_8021F048
lbl_8021EC3C:
/* 8021EC3C 0021A89C  80 97 00 10 */	lwz r4, 0x10(r23)
/* 8021EC40 0021A8A0  80 A4 00 28 */	lwz r5, 0x28(r4)
/* 8021EC44 0021A8A4  2C 05 00 00 */	cmpwi r5, 0
/* 8021EC48 0021A8A8  40 82 00 0C */	bne lbl_8021EC54
/* 8021EC4C 0021A8AC  3B 00 00 00 */	li r24, 0
/* 8021EC50 0021A8B0  48 00 00 54 */	b lbl_8021ECA4
lbl_8021EC54:
/* 8021EC54 0021A8B4  A0 04 00 EC */	lhz r0, 0xec(r4)
/* 8021EC58 0021A8B8  57 63 04 3E */	clrlwi r3, r27, 0x10
/* 8021EC5C 0021A8BC  7C 03 00 40 */	cmplw r3, r0
/* 8021EC60 0021A8C0  41 80 00 0C */	blt lbl_8021EC6C
/* 8021EC64 0021A8C4  3B 00 00 00 */	li r24, 0
/* 8021EC68 0021A8C8  48 00 00 3C */	b lbl_8021ECA4
lbl_8021EC6C:
/* 8021EC6C 0021A8CC  80 C4 00 08 */	lwz r6, 8(r4)
/* 8021EC70 0021A8D0  57 60 0B FC */	rlwinm r0, r27, 1, 0xf, 0x1e
/* 8021EC74 0021A8D4  7C 65 02 2E */	lhzx r3, r5, r0
/* 8021EC78 0021A8D8  2C 06 00 00 */	cmpwi r6, 0
/* 8021EC7C 0021A8DC  40 82 00 0C */	bne lbl_8021EC88
/* 8021EC80 0021A8E0  3B 00 00 00 */	li r24, 0
/* 8021EC84 0021A8E4  48 00 00 20 */	b lbl_8021ECA4
lbl_8021EC88:
/* 8021EC88 0021A8E8  A0 04 00 DE */	lhz r0, 0xde(r4)
/* 8021EC8C 0021A8EC  7C 03 00 40 */	cmplw r3, r0
/* 8021EC90 0021A8F0  41 80 00 0C */	blt lbl_8021EC9C
/* 8021EC94 0021A8F4  3B 00 00 00 */	li r24, 0
/* 8021EC98 0021A8F8  48 00 00 0C */	b lbl_8021ECA4
lbl_8021EC9C:
/* 8021EC9C 0021A8FC  54 60 13 BA */	rlwinm r0, r3, 2, 0xe, 0x1d
/* 8021ECA0 0021A900  7F 06 00 2E */	lwzx r24, r6, r0
lbl_8021ECA4:
/* 8021ECA4 0021A904  2C 18 00 00 */	cmpwi r24, 0
/* 8021ECA8 0021A908  41 82 03 9C */	beq lbl_8021F044
/* 8021ECAC 0021A90C  7F 03 C3 78 */	mr r3, r24
/* 8021ECB0 0021A910  4B FC 13 4D */	bl func_801DFFFC
/* 8021ECB4 0021A914  83 D8 01 3C */	lwz r30, 0x13c(r24)
/* 8021ECB8 0021A918  7F 03 C3 78 */	mr r3, r24
/* 8021ECBC 0021A91C  4B FC 13 41 */	bl func_801DFFFC
/* 8021ECC0 0021A920  80 78 01 44 */	lwz r3, 0x144(r24)
/* 8021ECC4 0021A924  83 B8 01 40 */	lwz r29, 0x140(r24)
/* 8021ECC8 0021A928  A3 83 00 34 */	lhz r28, 0x34(r3)
/* 8021ECCC 0021A92C  83 43 00 40 */	lwz r26, 0x40(r3)
/* 8021ECD0 0021A930  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8021ECD4 0021A934  57 84 1C 38 */	rlwinm r4, r28, 3, 0x10, 0x1c
/* 8021ECD8 0021A938  48 01 48 55 */	bl begin_drawing
/* 8021ECDC 0021A93C  2C 1C 00 00 */	cmpwi r28, 0
/* 8021ECE0 0021A940  3B 20 00 00 */	li r25, 0
/* 8021ECE4 0021A944  41 82 03 58 */	beq lbl_8021F03C
/* 8021ECE8 0021A948  48 00 03 48 */	b lbl_8021F030
lbl_8021ECEC:
/* 8021ECEC 0021A94C  80 7A 00 04 */	lwz r3, 4(r26)
/* 8021ECF0 0021A950  3B 00 00 01 */	li r24, 1
/* 8021ECF4 0021A954  A0 03 00 00 */	lhz r0, 0(r3)
/* 8021ECF8 0021A958  1C 00 00 0C */	mulli r0, r0, 0xc
/* 8021ECFC 0021A95C  7C 5E 04 2E */	lfsx f2, r30, r0
/* 8021ED00 0021A960  7C 7E 02 14 */	add r3, r30, r0
/* 8021ED04 0021A964  D0 41 00 C0 */	stfs f2, 0xc0(r1)
/* 8021ED08 0021A968  C0 23 00 04 */	lfs f1, 4(r3)
/* 8021ED0C 0021A96C  D0 21 00 C4 */	stfs f1, 0xc4(r1)
/* 8021ED10 0021A970  C0 03 00 08 */	lfs f0, 8(r3)
/* 8021ED14 0021A974  D0 01 00 C8 */	stfs f0, 0xc8(r1)
/* 8021ED18 0021A978  D0 41 00 B4 */	stfs f2, 0xb4(r1)
/* 8021ED1C 0021A97C  D0 21 00 B8 */	stfs f1, 0xb8(r1)
/* 8021ED20 0021A980  D0 01 00 BC */	stfs f0, 0xbc(r1)
/* 8021ED24 0021A984  8A BA 00 03 */	lbz r21, 3(r26)
/* 8021ED28 0021A988  48 00 00 28 */	b lbl_8021ED50
lbl_8021ED2C:
/* 8021ED2C 0021A98C  80 9A 00 04 */	lwz r4, 4(r26)
/* 8021ED30 0021A990  57 00 0B FC */	rlwinm r0, r24, 1, 0xf, 0x1e
/* 8021ED34 0021A994  38 61 00 B4 */	addi r3, r1, 0xb4
/* 8021ED38 0021A998  7C 04 02 2E */	lhzx r0, r4, r0
/* 8021ED3C 0021A99C  7C 65 1B 78 */	mr r5, r3
/* 8021ED40 0021A9A0  1C 00 00 0C */	mulli r0, r0, 0xc
/* 8021ED44 0021A9A4  7C 9E 02 14 */	add r4, r30, r0
/* 8021ED48 0021A9A8  48 05 DF 7D */	bl PSVECAdd
/* 8021ED4C 0021A9AC  3B 18 00 01 */	addi r24, r24, 1
lbl_8021ED50:
/* 8021ED50 0021A9B0  57 00 04 3E */	clrlwi r0, r24, 0x10
/* 8021ED54 0021A9B4  7C 00 A8 40 */	cmplw r0, r21
/* 8021ED58 0021A9B8  41 80 FF D4 */	blt lbl_8021ED2C
/* 8021ED5C 0021A9BC  B2 A1 00 08 */	sth r21, 8(r1)
/* 8021ED60 0021A9C0  E0 01 B0 08 */	psq_l f0, 8(r1), 1, qr3
/* 8021ED64 0021A9C4  FC 00 D8 40 */	fcmpo cr0, f0, f27
/* 8021ED68 0021A9C8  40 80 00 20 */	bge lbl_8021ED88
/* 8021ED6C 0021A9CC  FC 00 E0 40 */	fcmpo cr0, f0, f28
/* 8021ED70 0021A9D0  40 81 00 18 */	ble lbl_8021ED88
/* 8021ED74 0021A9D4  FC 00 E8 40 */	fcmpo cr0, f0, f29
/* 8021ED78 0021A9D8  40 80 00 0C */	bge lbl_8021ED84
/* 8021ED7C 0021A9DC  FC 00 E0 90 */	fmr f0, f28
/* 8021ED80 0021A9E0  48 00 00 08 */	b lbl_8021ED88
lbl_8021ED84:
/* 8021ED84 0021A9E4  FC 00 D8 90 */	fmr f0, f27
lbl_8021ED88:
/* 8021ED88 0021A9E8  EC 3E 00 24 */	fdivs f1, f30, f0
/* 8021ED8C 0021A9EC  38 61 00 B4 */	addi r3, r1, 0xb4
/* 8021ED90 0021A9F0  7C 64 1B 78 */	mr r4, r3
/* 8021ED94 0021A9F4  48 05 DF 79 */	bl PSVECScale
/* 8021ED98 0021A9F8  38 61 00 C0 */	addi r3, r1, 0xc0
/* 8021ED9C 0021A9FC  38 81 00 B4 */	addi r4, r1, 0xb4
/* 8021EDA0 0021AA00  7C 65 1B 78 */	mr r5, r3
/* 8021EDA4 0021AA04  48 05 DF 45 */	bl PSVECSubtract
/* 8021EDA8 0021AA08  38 61 00 C0 */	addi r3, r1, 0xc0
/* 8021EDAC 0021AA0C  7C 64 1B 78 */	mr r4, r3
/* 8021EDB0 0021AA10  48 05 DF 79 */	bl PSVECNormalize
/* 8021EDB4 0021AA14  C0 17 00 1C */	lfs f0, 0x1c(r23)
/* 8021EDB8 0021AA18  38 61 00 C0 */	addi r3, r1, 0xc0
/* 8021EDBC 0021AA1C  7C 64 1B 78 */	mr r4, r3
/* 8021EDC0 0021AA20  EC 3F 00 32 */	fmuls f1, f31, f0
/* 8021EDC4 0021AA24  48 05 DF 49 */	bl PSVECScale
/* 8021EDC8 0021AA28  A0 1A 00 00 */	lhz r0, 0(r26)
/* 8021EDCC 0021AA2C  38 81 00 A8 */	addi r4, r1, 0xa8
/* 8021EDD0 0021AA30  C0 37 00 20 */	lfs f1, 0x20(r23)
/* 8021EDD4 0021AA34  1C 00 00 0C */	mulli r0, r0, 0xc
/* 8021EDD8 0021AA38  7C 7D 02 14 */	add r3, r29, r0
/* 8021EDDC 0021AA3C  48 05 DF 31 */	bl PSVECScale
/* 8021EDE0 0021AA40  38 61 00 B4 */	addi r3, r1, 0xb4
/* 8021EDE4 0021AA44  38 81 00 C0 */	addi r4, r1, 0xc0
/* 8021EDE8 0021AA48  38 A1 00 9C */	addi r5, r1, 0x9c
/* 8021EDEC 0021AA4C  48 05 DE FD */	bl PSVECSubtract
/* 8021EDF0 0021AA50  C0 01 00 A4 */	lfs f0, 0xa4(r1)
/* 8021EDF4 0021AA54  38 61 00 B4 */	addi r3, r1, 0xb4
/* 8021EDF8 0021AA58  C0 21 00 A0 */	lfs f1, 0xa0(r1)
/* 8021EDFC 0021AA5C  38 81 00 C0 */	addi r4, r1, 0xc0
/* 8021EE00 0021AA60  C0 41 00 9C */	lfs f2, 0x9c(r1)
/* 8021EE04 0021AA64  38 A1 00 84 */	addi r5, r1, 0x84
/* 8021EE08 0021AA68  D0 56 80 00 */	stfs f2, -0x8000(r22)
/* 8021EE0C 0021AA6C  D0 36 80 00 */	stfs f1, -0x8000(r22)
/* 8021EE10 0021AA70  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021EE14 0021AA74  C0 02 9B C4 */	lfs f0, lbl_806421C4-_SDA2_BASE_(r2)
/* 8021EE18 0021AA78  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021EE1C 0021AA7C  C0 02 9B C4 */	lfs f0, lbl_806421C4-_SDA2_BASE_(r2)
/* 8021EE20 0021AA80  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021EE24 0021AA84  48 05 DE C5 */	bl PSVECSubtract
/* 8021EE28 0021AA88  38 61 00 84 */	addi r3, r1, 0x84
/* 8021EE2C 0021AA8C  38 81 00 A8 */	addi r4, r1, 0xa8
/* 8021EE30 0021AA90  38 A1 00 90 */	addi r5, r1, 0x90
/* 8021EE34 0021AA94  48 05 DE 91 */	bl PSVECAdd
/* 8021EE38 0021AA98  C0 01 00 98 */	lfs f0, 0x98(r1)
/* 8021EE3C 0021AA9C  38 61 00 B4 */	addi r3, r1, 0xb4
/* 8021EE40 0021AAA0  C0 21 00 94 */	lfs f1, 0x94(r1)
/* 8021EE44 0021AAA4  38 81 00 C0 */	addi r4, r1, 0xc0
/* 8021EE48 0021AAA8  C0 41 00 90 */	lfs f2, 0x90(r1)
/* 8021EE4C 0021AAAC  38 A1 00 6C */	addi r5, r1, 0x6c
/* 8021EE50 0021AAB0  D0 56 80 00 */	stfs f2, -0x8000(r22)
/* 8021EE54 0021AAB4  D0 36 80 00 */	stfs f1, -0x8000(r22)
/* 8021EE58 0021AAB8  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021EE5C 0021AABC  C0 02 9B B8 */	lfs f0, lbl_806421B8-_SDA2_BASE_(r2)
/* 8021EE60 0021AAC0  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021EE64 0021AAC4  C0 02 9B C4 */	lfs f0, lbl_806421C4-_SDA2_BASE_(r2)
/* 8021EE68 0021AAC8  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021EE6C 0021AACC  48 05 DE 59 */	bl PSVECAdd
/* 8021EE70 0021AAD0  38 61 00 6C */	addi r3, r1, 0x6c
/* 8021EE74 0021AAD4  38 81 00 A8 */	addi r4, r1, 0xa8
/* 8021EE78 0021AAD8  38 A1 00 78 */	addi r5, r1, 0x78
/* 8021EE7C 0021AADC  48 05 DE 49 */	bl PSVECAdd
/* 8021EE80 0021AAE0  C0 01 00 80 */	lfs f0, 0x80(r1)
/* 8021EE84 0021AAE4  38 61 00 B4 */	addi r3, r1, 0xb4
/* 8021EE88 0021AAE8  C0 21 00 7C */	lfs f1, 0x7c(r1)
/* 8021EE8C 0021AAEC  38 81 00 C0 */	addi r4, r1, 0xc0
/* 8021EE90 0021AAF0  C0 41 00 78 */	lfs f2, 0x78(r1)
/* 8021EE94 0021AAF4  38 A1 00 60 */	addi r5, r1, 0x60
/* 8021EE98 0021AAF8  D0 56 80 00 */	stfs f2, -0x8000(r22)
/* 8021EE9C 0021AAFC  D0 36 80 00 */	stfs f1, -0x8000(r22)
/* 8021EEA0 0021AB00  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021EEA4 0021AB04  C0 02 9B B8 */	lfs f0, lbl_806421B8-_SDA2_BASE_(r2)
/* 8021EEA8 0021AB08  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021EEAC 0021AB0C  C0 02 9B B8 */	lfs f0, lbl_806421B8-_SDA2_BASE_(r2)
/* 8021EEB0 0021AB10  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021EEB4 0021AB14  48 05 DE 11 */	bl PSVECAdd
/* 8021EEB8 0021AB18  C0 01 00 68 */	lfs f0, 0x68(r1)
/* 8021EEBC 0021AB1C  38 61 00 C0 */	addi r3, r1, 0xc0
/* 8021EEC0 0021AB20  C0 21 00 64 */	lfs f1, 0x64(r1)
/* 8021EEC4 0021AB24  38 81 00 A8 */	addi r4, r1, 0xa8
/* 8021EEC8 0021AB28  C0 41 00 60 */	lfs f2, 0x60(r1)
/* 8021EECC 0021AB2C  38 A1 00 54 */	addi r5, r1, 0x54
/* 8021EED0 0021AB30  D0 56 80 00 */	stfs f2, -0x8000(r22)
/* 8021EED4 0021AB34  D0 36 80 00 */	stfs f1, -0x8000(r22)
/* 8021EED8 0021AB38  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021EEDC 0021AB3C  C0 02 9B C4 */	lfs f0, lbl_806421C4-_SDA2_BASE_(r2)
/* 8021EEE0 0021AB40  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021EEE4 0021AB44  C0 02 9B B8 */	lfs f0, lbl_806421B8-_SDA2_BASE_(r2)
/* 8021EEE8 0021AB48  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021EEEC 0021AB4C  48 05 DE FD */	bl PSVECCrossProduct
/* 8021EEF0 0021AB50  C0 41 00 54 */	lfs f2, 0x54(r1)
/* 8021EEF4 0021AB54  38 61 00 C0 */	addi r3, r1, 0xc0
/* 8021EEF8 0021AB58  C0 21 00 58 */	lfs f1, 0x58(r1)
/* 8021EEFC 0021AB5C  7C 64 1B 78 */	mr r4, r3
/* 8021EF00 0021AB60  C0 01 00 5C */	lfs f0, 0x5c(r1)
/* 8021EF04 0021AB64  D0 41 00 C0 */	stfs f2, 0xc0(r1)
/* 8021EF08 0021AB68  D0 21 00 C4 */	stfs f1, 0xc4(r1)
/* 8021EF0C 0021AB6C  D0 01 00 C8 */	stfs f0, 0xc8(r1)
/* 8021EF10 0021AB70  48 05 DE 19 */	bl PSVECNormalize
/* 8021EF14 0021AB74  C0 17 00 1C */	lfs f0, 0x1c(r23)
/* 8021EF18 0021AB78  38 61 00 C0 */	addi r3, r1, 0xc0
/* 8021EF1C 0021AB7C  7C 64 1B 78 */	mr r4, r3
/* 8021EF20 0021AB80  EC 3F 00 32 */	fmuls f1, f31, f0
/* 8021EF24 0021AB84  48 05 DD E9 */	bl PSVECScale
/* 8021EF28 0021AB88  38 61 00 B4 */	addi r3, r1, 0xb4
/* 8021EF2C 0021AB8C  38 81 00 C0 */	addi r4, r1, 0xc0
/* 8021EF30 0021AB90  38 A1 00 48 */	addi r5, r1, 0x48
/* 8021EF34 0021AB94  48 05 DD B5 */	bl PSVECSubtract
/* 8021EF38 0021AB98  C0 01 00 50 */	lfs f0, 0x50(r1)
/* 8021EF3C 0021AB9C  38 61 00 B4 */	addi r3, r1, 0xb4
/* 8021EF40 0021ABA0  C0 21 00 4C */	lfs f1, 0x4c(r1)
/* 8021EF44 0021ABA4  38 81 00 C0 */	addi r4, r1, 0xc0
/* 8021EF48 0021ABA8  C0 41 00 48 */	lfs f2, 0x48(r1)
/* 8021EF4C 0021ABAC  38 A1 00 30 */	addi r5, r1, 0x30
/* 8021EF50 0021ABB0  D0 56 80 00 */	stfs f2, -0x8000(r22)
/* 8021EF54 0021ABB4  D0 36 80 00 */	stfs f1, -0x8000(r22)
/* 8021EF58 0021ABB8  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021EF5C 0021ABBC  C0 02 9B C4 */	lfs f0, lbl_806421C4-_SDA2_BASE_(r2)
/* 8021EF60 0021ABC0  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021EF64 0021ABC4  C0 02 9B C4 */	lfs f0, lbl_806421C4-_SDA2_BASE_(r2)
/* 8021EF68 0021ABC8  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021EF6C 0021ABCC  48 05 DD 7D */	bl PSVECSubtract
/* 8021EF70 0021ABD0  38 61 00 30 */	addi r3, r1, 0x30
/* 8021EF74 0021ABD4  38 81 00 A8 */	addi r4, r1, 0xa8
/* 8021EF78 0021ABD8  38 A1 00 3C */	addi r5, r1, 0x3c
/* 8021EF7C 0021ABDC  48 05 DD 49 */	bl PSVECAdd
/* 8021EF80 0021ABE0  C0 01 00 44 */	lfs f0, 0x44(r1)
/* 8021EF84 0021ABE4  38 61 00 B4 */	addi r3, r1, 0xb4
/* 8021EF88 0021ABE8  C0 21 00 40 */	lfs f1, 0x40(r1)
/* 8021EF8C 0021ABEC  38 81 00 C0 */	addi r4, r1, 0xc0
/* 8021EF90 0021ABF0  C0 41 00 3C */	lfs f2, 0x3c(r1)
/* 8021EF94 0021ABF4  38 A1 00 18 */	addi r5, r1, 0x18
/* 8021EF98 0021ABF8  D0 56 80 00 */	stfs f2, -0x8000(r22)
/* 8021EF9C 0021ABFC  D0 36 80 00 */	stfs f1, -0x8000(r22)
/* 8021EFA0 0021AC00  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021EFA4 0021AC04  C0 02 9B B8 */	lfs f0, lbl_806421B8-_SDA2_BASE_(r2)
/* 8021EFA8 0021AC08  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021EFAC 0021AC0C  C0 02 9B C4 */	lfs f0, lbl_806421C4-_SDA2_BASE_(r2)
/* 8021EFB0 0021AC10  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021EFB4 0021AC14  48 05 DD 11 */	bl PSVECAdd
/* 8021EFB8 0021AC18  38 61 00 18 */	addi r3, r1, 0x18
/* 8021EFBC 0021AC1C  38 81 00 A8 */	addi r4, r1, 0xa8
/* 8021EFC0 0021AC20  38 A1 00 24 */	addi r5, r1, 0x24
/* 8021EFC4 0021AC24  48 05 DD 01 */	bl PSVECAdd
/* 8021EFC8 0021AC28  C0 01 00 2C */	lfs f0, 0x2c(r1)
/* 8021EFCC 0021AC2C  38 61 00 B4 */	addi r3, r1, 0xb4
/* 8021EFD0 0021AC30  C0 21 00 28 */	lfs f1, 0x28(r1)
/* 8021EFD4 0021AC34  38 81 00 C0 */	addi r4, r1, 0xc0
/* 8021EFD8 0021AC38  C0 41 00 24 */	lfs f2, 0x24(r1)
/* 8021EFDC 0021AC3C  38 A1 00 0C */	addi r5, r1, 0xc
/* 8021EFE0 0021AC40  D0 56 80 00 */	stfs f2, -0x8000(r22)
/* 8021EFE4 0021AC44  D0 36 80 00 */	stfs f1, -0x8000(r22)
/* 8021EFE8 0021AC48  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021EFEC 0021AC4C  C0 02 9B B8 */	lfs f0, lbl_806421B8-_SDA2_BASE_(r2)
/* 8021EFF0 0021AC50  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021EFF4 0021AC54  C0 02 9B B8 */	lfs f0, lbl_806421B8-_SDA2_BASE_(r2)
/* 8021EFF8 0021AC58  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021EFFC 0021AC5C  48 05 DC C9 */	bl PSVECAdd
/* 8021F000 0021AC60  C0 01 00 14 */	lfs f0, 0x14(r1)
/* 8021F004 0021AC64  3B 39 00 01 */	addi r25, r25, 1
/* 8021F008 0021AC68  C0 21 00 10 */	lfs f1, 0x10(r1)
/* 8021F00C 0021AC6C  3B 5A 00 08 */	addi r26, r26, 8
/* 8021F010 0021AC70  C0 41 00 0C */	lfs f2, 0xc(r1)
/* 8021F014 0021AC74  D0 56 80 00 */	stfs f2, -0x8000(r22)
/* 8021F018 0021AC78  D0 36 80 00 */	stfs f1, -0x8000(r22)
/* 8021F01C 0021AC7C  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021F020 0021AC80  C0 02 9B C4 */	lfs f0, lbl_806421C4-_SDA2_BASE_(r2)
/* 8021F024 0021AC84  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021F028 0021AC88  C0 02 9B B8 */	lfs f0, lbl_806421B8-_SDA2_BASE_(r2)
/* 8021F02C 0021AC8C  D0 16 80 00 */	stfs f0, -0x8000(r22)
lbl_8021F030:
/* 8021F030 0021AC90  57 20 04 3E */	clrlwi r0, r25, 0x10
/* 8021F034 0021AC94  7C 00 E0 40 */	cmplw r0, r28
/* 8021F038 0021AC98  41 80 FC B4 */	blt lbl_8021ECEC
lbl_8021F03C:
/* 8021F03C 0021AC9C  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8021F040 0021ACA0  48 01 45 41 */	bl end_drawing
lbl_8021F044:
/* 8021F044 0021ACA4  3B 7B 00 01 */	addi r27, r27, 1
lbl_8021F048:
/* 8021F048 0021ACA8  57 60 04 3E */	clrlwi r0, r27, 0x10
/* 8021F04C 0021ACAC  7C 00 F8 40 */	cmplw r0, r31
/* 8021F050 0021ACB0  41 80 FB EC */	blt lbl_8021EC3C
/* 8021F054 0021ACB4  E3 E1 01 48 */	psq_l f31, 328(r1), 0, qr0
/* 8021F058 0021ACB8  CB E1 01 40 */	lfd f31, 0x140(r1)
/* 8021F05C 0021ACBC  E3 C1 01 38 */	psq_l f30, 312(r1), 0, qr0
/* 8021F060 0021ACC0  CB C1 01 30 */	lfd f30, 0x130(r1)
/* 8021F064 0021ACC4  E3 A1 01 28 */	psq_l f29, 296(r1), 0, qr0
/* 8021F068 0021ACC8  CB A1 01 20 */	lfd f29, 0x120(r1)
/* 8021F06C 0021ACCC  E3 81 01 18 */	psq_l f28, 280(r1), 0, qr0
/* 8021F070 0021ACD0  CB 81 01 10 */	lfd f28, 0x110(r1)
/* 8021F074 0021ACD4  E3 61 01 08 */	psq_l f27, 264(r1), 0, qr0
/* 8021F078 0021ACD8  39 61 01 00 */	addi r11, r1, 0x100
/* 8021F07C 0021ACDC  CB 61 01 00 */	lfd f27, 0x100(r1)
/* 8021F080 0021ACE0  4B FA 80 DD */	bl _restgpr_21
/* 8021F084 0021ACE4  80 01 01 54 */	lwz r0, 0x154(r1)
/* 8021F088 0021ACE8  7C 08 03 A6 */	mtlr r0
/* 8021F08C 0021ACEC  38 21 01 50 */	addi r1, r1, 0x150
/* 8021F090 0021ACF0  4E 80 00 20 */	blr

.global func_8021F094
func_8021F094:
/* 8021F094 0021ACF4  94 21 FE F0 */	stwu r1, -0x110(r1)
/* 8021F098 0021ACF8  7C 08 02 A6 */	mflr r0
/* 8021F09C 0021ACFC  90 01 01 14 */	stw r0, 0x114(r1)
/* 8021F0A0 0021AD00  DB E1 01 00 */	stfd f31, 0x100(r1)
/* 8021F0A4 0021AD04  F3 E1 01 08 */	psq_st f31, 264(r1), 0, qr0
/* 8021F0A8 0021AD08  DB C1 00 F0 */	stfd f30, 0xf0(r1)
/* 8021F0AC 0021AD0C  F3 C1 00 F8 */	psq_st f30, 248(r1), 0, qr0
/* 8021F0B0 0021AD10  DB A1 00 E0 */	stfd f29, 0xe0(r1)
/* 8021F0B4 0021AD14  F3 A1 00 E8 */	psq_st f29, 232(r1), 0, qr0
/* 8021F0B8 0021AD18  DB 81 00 D0 */	stfd f28, 0xd0(r1)
/* 8021F0BC 0021AD1C  F3 81 00 D8 */	psq_st f28, 216(r1), 0, qr0
/* 8021F0C0 0021AD20  DB 61 00 C0 */	stfd f27, 0xc0(r1)
/* 8021F0C4 0021AD24  F3 61 00 C8 */	psq_st f27, 200(r1), 0, qr0
/* 8021F0C8 0021AD28  39 61 00 C0 */	addi r11, r1, 0xc0
/* 8021F0CC 0021AD2C  4B FA 80 45 */	bl _savegpr_21
/* 8021F0D0 0021AD30  80 CD A3 D8 */	lwz r6, render_context_ptr-_SDA_BASE_(r13)
/* 8021F0D4 0021AD34  38 A0 00 02 */	li r5, 2
/* 8021F0D8 0021AD38  38 00 00 A0 */	li r0, 0xa0
/* 8021F0DC 0021AD3C  7C 77 1B 78 */	mr r23, r3
/* 8021F0E0 0021AD40  80 86 16 38 */	lwz r4, 0x1638(r6)
/* 8021F0E4 0021AD44  3B 80 00 00 */	li r28, 0
/* 8021F0E8 0021AD48  C3 A2 9B C4 */	lfs f29, lbl_806421C4-_SDA2_BASE_(r2)
/* 8021F0EC 0021AD4C  3E C0 CC 01 */	lis r22, 0xcc01
/* 8021F0F0 0021AD50  90 A4 01 84 */	stw r5, 0x184(r4)
/* 8021F0F4 0021AD54  C3 82 9B C0 */	lfs f28, lbl_806421C0-_SDA2_BASE_(r2)
/* 8021F0F8 0021AD58  80 A6 16 38 */	lwz r5, 0x1638(r6)
/* 8021F0FC 0021AD5C  C3 62 9B BC */	lfs f27, lbl_806421BC-_SDA2_BASE_(r2)
/* 8021F100 0021AD60  80 85 00 10 */	lwz r4, 0x10(r5)
/* 8021F104 0021AD64  C3 C2 9B B8 */	lfs f30, lbl_806421B8-_SDA2_BASE_(r2)
/* 8021F108 0021AD68  60 84 00 02 */	ori r4, r4, 2
/* 8021F10C 0021AD6C  C3 E2 9B C8 */	lfs f31, lbl_806421C8-_SDA2_BASE_(r2)
/* 8021F110 0021AD70  90 85 00 10 */	stw r4, 0x10(r5)
/* 8021F114 0021AD74  80 A6 16 38 */	lwz r5, 0x1638(r6)
/* 8021F118 0021AD78  80 85 00 00 */	lwz r4, 0(r5)
/* 8021F11C 0021AD7C  60 84 00 02 */	ori r4, r4, 2
/* 8021F120 0021AD80  90 85 00 00 */	stw r4, 0(r5)
/* 8021F124 0021AD84  80 8D A3 D8 */	lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8021F128 0021AD88  90 04 17 38 */	stw r0, 0x1738(r4)
/* 8021F12C 0021AD8C  80 63 00 10 */	lwz r3, 0x10(r3)
/* 8021F130 0021AD90  A3 E3 00 EC */	lhz r31, 0xec(r3)
/* 8021F134 0021AD94  48 00 03 60 */	b lbl_8021F494
lbl_8021F138:
/* 8021F138 0021AD98  80 97 00 10 */	lwz r4, 0x10(r23)
/* 8021F13C 0021AD9C  80 A4 00 28 */	lwz r5, 0x28(r4)
/* 8021F140 0021ADA0  2C 05 00 00 */	cmpwi r5, 0
/* 8021F144 0021ADA4  40 82 00 0C */	bne lbl_8021F150
/* 8021F148 0021ADA8  3B 00 00 00 */	li r24, 0
/* 8021F14C 0021ADAC  48 00 00 54 */	b lbl_8021F1A0
lbl_8021F150:
/* 8021F150 0021ADB0  A0 04 00 EC */	lhz r0, 0xec(r4)
/* 8021F154 0021ADB4  57 83 04 3E */	clrlwi r3, r28, 0x10
/* 8021F158 0021ADB8  7C 03 00 40 */	cmplw r3, r0
/* 8021F15C 0021ADBC  41 80 00 0C */	blt lbl_8021F168
/* 8021F160 0021ADC0  3B 00 00 00 */	li r24, 0
/* 8021F164 0021ADC4  48 00 00 3C */	b lbl_8021F1A0
lbl_8021F168:
/* 8021F168 0021ADC8  80 C4 00 08 */	lwz r6, 8(r4)
/* 8021F16C 0021ADCC  57 80 0B FC */	rlwinm r0, r28, 1, 0xf, 0x1e
/* 8021F170 0021ADD0  7C 65 02 2E */	lhzx r3, r5, r0
/* 8021F174 0021ADD4  2C 06 00 00 */	cmpwi r6, 0
/* 8021F178 0021ADD8  40 82 00 0C */	bne lbl_8021F184
/* 8021F17C 0021ADDC  3B 00 00 00 */	li r24, 0
/* 8021F180 0021ADE0  48 00 00 20 */	b lbl_8021F1A0
lbl_8021F184:
/* 8021F184 0021ADE4  A0 04 00 DE */	lhz r0, 0xde(r4)
/* 8021F188 0021ADE8  7C 03 00 40 */	cmplw r3, r0
/* 8021F18C 0021ADEC  41 80 00 0C */	blt lbl_8021F198
/* 8021F190 0021ADF0  3B 00 00 00 */	li r24, 0
/* 8021F194 0021ADF4  48 00 00 0C */	b lbl_8021F1A0
lbl_8021F198:
/* 8021F198 0021ADF8  54 60 13 BA */	rlwinm r0, r3, 2, 0xe, 0x1d
/* 8021F19C 0021ADFC  7F 06 00 2E */	lwzx r24, r6, r0
lbl_8021F1A0:
/* 8021F1A0 0021AE00  2C 18 00 00 */	cmpwi r24, 0
/* 8021F1A4 0021AE04  41 82 02 EC */	beq lbl_8021F490
/* 8021F1A8 0021AE08  7F 03 C3 78 */	mr r3, r24
/* 8021F1AC 0021AE0C  4B FC 0E 51 */	bl func_801DFFFC
/* 8021F1B0 0021AE10  83 D8 01 3C */	lwz r30, 0x13c(r24)
/* 8021F1B4 0021AE14  7F 03 C3 78 */	mr r3, r24
/* 8021F1B8 0021AE18  4B FC 0E 45 */	bl func_801DFFFC
/* 8021F1BC 0021AE1C  80 78 01 44 */	lwz r3, 0x144(r24)
/* 8021F1C0 0021AE20  3B 20 00 00 */	li r25, 0
/* 8021F1C4 0021AE24  83 B8 01 40 */	lwz r29, 0x140(r24)
/* 8021F1C8 0021AE28  A3 63 00 34 */	lhz r27, 0x34(r3)
/* 8021F1CC 0021AE2C  83 43 00 40 */	lwz r26, 0x40(r3)
/* 8021F1D0 0021AE30  2C 1B 00 00 */	cmpwi r27, 0
/* 8021F1D4 0021AE34  41 82 02 BC */	beq lbl_8021F490
/* 8021F1D8 0021AE38  48 00 02 AC */	b lbl_8021F484
lbl_8021F1DC:
/* 8021F1DC 0021AE3C  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8021F1E0 0021AE40  38 80 00 06 */	li r4, 6
/* 8021F1E4 0021AE44  48 01 43 49 */	bl begin_drawing
/* 8021F1E8 0021AE48  80 7A 00 04 */	lwz r3, 4(r26)
/* 8021F1EC 0021AE4C  3B 00 00 01 */	li r24, 1
/* 8021F1F0 0021AE50  A0 03 00 00 */	lhz r0, 0(r3)
/* 8021F1F4 0021AE54  1C 00 00 0C */	mulli r0, r0, 0xc
/* 8021F1F8 0021AE58  7C 5E 04 2E */	lfsx f2, r30, r0
/* 8021F1FC 0021AE5C  7C 7E 02 14 */	add r3, r30, r0
/* 8021F200 0021AE60  D0 41 00 84 */	stfs f2, 0x84(r1)
/* 8021F204 0021AE64  C0 23 00 04 */	lfs f1, 4(r3)
/* 8021F208 0021AE68  D0 21 00 88 */	stfs f1, 0x88(r1)
/* 8021F20C 0021AE6C  C0 03 00 08 */	lfs f0, 8(r3)
/* 8021F210 0021AE70  D0 01 00 8C */	stfs f0, 0x8c(r1)
/* 8021F214 0021AE74  D0 41 00 6C */	stfs f2, 0x6c(r1)
/* 8021F218 0021AE78  D0 21 00 70 */	stfs f1, 0x70(r1)
/* 8021F21C 0021AE7C  D0 01 00 74 */	stfs f0, 0x74(r1)
/* 8021F220 0021AE80  8A BA 00 03 */	lbz r21, 3(r26)
/* 8021F224 0021AE84  48 00 00 28 */	b lbl_8021F24C
lbl_8021F228:
/* 8021F228 0021AE88  80 9A 00 04 */	lwz r4, 4(r26)
/* 8021F22C 0021AE8C  57 00 0B FC */	rlwinm r0, r24, 1, 0xf, 0x1e
/* 8021F230 0021AE90  38 61 00 6C */	addi r3, r1, 0x6c
/* 8021F234 0021AE94  7C 04 02 2E */	lhzx r0, r4, r0
/* 8021F238 0021AE98  7C 65 1B 78 */	mr r5, r3
/* 8021F23C 0021AE9C  1C 00 00 0C */	mulli r0, r0, 0xc
/* 8021F240 0021AEA0  7C 9E 02 14 */	add r4, r30, r0
/* 8021F244 0021AEA4  48 05 DA 81 */	bl PSVECAdd
/* 8021F248 0021AEA8  3B 18 00 01 */	addi r24, r24, 1
lbl_8021F24C:
/* 8021F24C 0021AEAC  57 00 04 3E */	clrlwi r0, r24, 0x10
/* 8021F250 0021AEB0  7C 00 A8 40 */	cmplw r0, r21
/* 8021F254 0021AEB4  41 80 FF D4 */	blt lbl_8021F228
/* 8021F258 0021AEB8  B2 A1 00 08 */	sth r21, 8(r1)
/* 8021F25C 0021AEBC  E0 01 B0 08 */	psq_l f0, 8(r1), 1, qr3
/* 8021F260 0021AEC0  FC 00 D8 40 */	fcmpo cr0, f0, f27
/* 8021F264 0021AEC4  40 80 00 20 */	bge lbl_8021F284
/* 8021F268 0021AEC8  FC 00 E0 40 */	fcmpo cr0, f0, f28
/* 8021F26C 0021AECC  40 81 00 18 */	ble lbl_8021F284
/* 8021F270 0021AED0  FC 00 E8 40 */	fcmpo cr0, f0, f29
/* 8021F274 0021AED4  40 80 00 0C */	bge lbl_8021F280
/* 8021F278 0021AED8  FC 00 E0 90 */	fmr f0, f28
/* 8021F27C 0021AEDC  48 00 00 08 */	b lbl_8021F284
lbl_8021F280:
/* 8021F280 0021AEE0  FC 00 D8 90 */	fmr f0, f27
lbl_8021F284:
/* 8021F284 0021AEE4  EC 3E 00 24 */	fdivs f1, f30, f0
/* 8021F288 0021AEE8  38 61 00 6C */	addi r3, r1, 0x6c
/* 8021F28C 0021AEEC  7C 64 1B 78 */	mr r4, r3
/* 8021F290 0021AEF0  48 05 DA 7D */	bl PSVECScale
/* 8021F294 0021AEF4  38 61 00 84 */	addi r3, r1, 0x84
/* 8021F298 0021AEF8  38 81 00 6C */	addi r4, r1, 0x6c
/* 8021F29C 0021AEFC  7C 65 1B 78 */	mr r5, r3
/* 8021F2A0 0021AF00  48 05 DA 49 */	bl PSVECSubtract
/* 8021F2A4 0021AF04  38 61 00 84 */	addi r3, r1, 0x84
/* 8021F2A8 0021AF08  7C 64 1B 78 */	mr r4, r3
/* 8021F2AC 0021AF0C  48 05 DA 7D */	bl PSVECNormalize
/* 8021F2B0 0021AF10  C0 17 00 1C */	lfs f0, 0x1c(r23)
/* 8021F2B4 0021AF14  38 61 00 84 */	addi r3, r1, 0x84
/* 8021F2B8 0021AF18  7C 64 1B 78 */	mr r4, r3
/* 8021F2BC 0021AF1C  EC 3F 00 32 */	fmuls f1, f31, f0
/* 8021F2C0 0021AF20  48 05 DA 4D */	bl PSVECScale
/* 8021F2C4 0021AF24  A0 1A 00 00 */	lhz r0, 0(r26)
/* 8021F2C8 0021AF28  38 81 00 60 */	addi r4, r1, 0x60
/* 8021F2CC 0021AF2C  C0 37 00 20 */	lfs f1, 0x20(r23)
/* 8021F2D0 0021AF30  1C 00 00 0C */	mulli r0, r0, 0xc
/* 8021F2D4 0021AF34  7C 7D 02 14 */	add r3, r29, r0
/* 8021F2D8 0021AF38  48 05 DA 35 */	bl PSVECScale
/* 8021F2DC 0021AF3C  38 61 00 84 */	addi r3, r1, 0x84
/* 8021F2E0 0021AF40  38 81 00 60 */	addi r4, r1, 0x60
/* 8021F2E4 0021AF44  38 A1 00 54 */	addi r5, r1, 0x54
/* 8021F2E8 0021AF48  48 05 DB 01 */	bl PSVECCrossProduct
/* 8021F2EC 0021AF4C  C0 41 00 54 */	lfs f2, 0x54(r1)
/* 8021F2F0 0021AF50  38 61 00 78 */	addi r3, r1, 0x78
/* 8021F2F4 0021AF54  C0 21 00 58 */	lfs f1, 0x58(r1)
/* 8021F2F8 0021AF58  7C 64 1B 78 */	mr r4, r3
/* 8021F2FC 0021AF5C  C0 01 00 5C */	lfs f0, 0x5c(r1)
/* 8021F300 0021AF60  D0 41 00 78 */	stfs f2, 0x78(r1)
/* 8021F304 0021AF64  D0 21 00 7C */	stfs f1, 0x7c(r1)
/* 8021F308 0021AF68  D0 01 00 80 */	stfs f0, 0x80(r1)
/* 8021F30C 0021AF6C  48 05 DA 1D */	bl PSVECNormalize
/* 8021F310 0021AF70  C0 17 00 1C */	lfs f0, 0x1c(r23)
/* 8021F314 0021AF74  38 61 00 78 */	addi r3, r1, 0x78
/* 8021F318 0021AF78  7C 64 1B 78 */	mr r4, r3
/* 8021F31C 0021AF7C  EC 3F 00 32 */	fmuls f1, f31, f0
/* 8021F320 0021AF80  48 05 D9 ED */	bl PSVECScale
/* 8021F324 0021AF84  38 61 00 6C */	addi r3, r1, 0x6c
/* 8021F328 0021AF88  38 81 00 60 */	addi r4, r1, 0x60
/* 8021F32C 0021AF8C  38 A1 00 48 */	addi r5, r1, 0x48
/* 8021F330 0021AF90  48 05 D9 95 */	bl PSVECAdd
/* 8021F334 0021AF94  C0 01 00 50 */	lfs f0, 0x50(r1)
/* 8021F338 0021AF98  38 61 00 6C */	addi r3, r1, 0x6c
/* 8021F33C 0021AF9C  C0 21 00 4C */	lfs f1, 0x4c(r1)
/* 8021F340 0021AFA0  38 81 00 84 */	addi r4, r1, 0x84
/* 8021F344 0021AFA4  C0 41 00 48 */	lfs f2, 0x48(r1)
/* 8021F348 0021AFA8  38 A1 00 3C */	addi r5, r1, 0x3c
/* 8021F34C 0021AFAC  D0 56 80 00 */	stfs f2, -0x8000(r22)
/* 8021F350 0021AFB0  D0 36 80 00 */	stfs f1, -0x8000(r22)
/* 8021F354 0021AFB4  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021F358 0021AFB8  C0 02 9B C8 */	lfs f0, lbl_806421C8-_SDA2_BASE_(r2)
/* 8021F35C 0021AFBC  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021F360 0021AFC0  C0 02 9B C8 */	lfs f0, lbl_806421C8-_SDA2_BASE_(r2)
/* 8021F364 0021AFC4  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021F368 0021AFC8  48 05 D9 81 */	bl PSVECSubtract
/* 8021F36C 0021AFCC  C0 01 00 44 */	lfs f0, 0x44(r1)
/* 8021F370 0021AFD0  38 61 00 6C */	addi r3, r1, 0x6c
/* 8021F374 0021AFD4  C0 21 00 40 */	lfs f1, 0x40(r1)
/* 8021F378 0021AFD8  38 81 00 78 */	addi r4, r1, 0x78
/* 8021F37C 0021AFDC  C0 41 00 3C */	lfs f2, 0x3c(r1)
/* 8021F380 0021AFE0  38 A1 00 30 */	addi r5, r1, 0x30
/* 8021F384 0021AFE4  D0 56 80 00 */	stfs f2, -0x8000(r22)
/* 8021F388 0021AFE8  D0 36 80 00 */	stfs f1, -0x8000(r22)
/* 8021F38C 0021AFEC  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021F390 0021AFF0  C0 02 9B C4 */	lfs f0, lbl_806421C4-_SDA2_BASE_(r2)
/* 8021F394 0021AFF4  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021F398 0021AFF8  C0 02 9B C4 */	lfs f0, lbl_806421C4-_SDA2_BASE_(r2)
/* 8021F39C 0021AFFC  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021F3A0 0021B000  48 05 D9 49 */	bl PSVECSubtract
/* 8021F3A4 0021B004  C0 01 00 38 */	lfs f0, 0x38(r1)
/* 8021F3A8 0021B008  38 61 00 6C */	addi r3, r1, 0x6c
/* 8021F3AC 0021B00C  C0 21 00 34 */	lfs f1, 0x34(r1)
/* 8021F3B0 0021B010  38 81 00 84 */	addi r4, r1, 0x84
/* 8021F3B4 0021B014  C0 41 00 30 */	lfs f2, 0x30(r1)
/* 8021F3B8 0021B018  38 A1 00 24 */	addi r5, r1, 0x24
/* 8021F3BC 0021B01C  D0 56 80 00 */	stfs f2, -0x8000(r22)
/* 8021F3C0 0021B020  D0 36 80 00 */	stfs f1, -0x8000(r22)
/* 8021F3C4 0021B024  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021F3C8 0021B028  C0 02 9B B8 */	lfs f0, lbl_806421B8-_SDA2_BASE_(r2)
/* 8021F3CC 0021B02C  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021F3D0 0021B030  C0 02 9B C4 */	lfs f0, lbl_806421C4-_SDA2_BASE_(r2)
/* 8021F3D4 0021B034  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021F3D8 0021B038  48 05 D8 ED */	bl PSVECAdd
/* 8021F3DC 0021B03C  C0 01 00 2C */	lfs f0, 0x2c(r1)
/* 8021F3E0 0021B040  38 61 00 6C */	addi r3, r1, 0x6c
/* 8021F3E4 0021B044  C0 21 00 28 */	lfs f1, 0x28(r1)
/* 8021F3E8 0021B048  38 81 00 78 */	addi r4, r1, 0x78
/* 8021F3EC 0021B04C  C0 41 00 24 */	lfs f2, 0x24(r1)
/* 8021F3F0 0021B050  38 A1 00 18 */	addi r5, r1, 0x18
/* 8021F3F4 0021B054  D0 56 80 00 */	stfs f2, -0x8000(r22)
/* 8021F3F8 0021B058  D0 36 80 00 */	stfs f1, -0x8000(r22)
/* 8021F3FC 0021B05C  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021F400 0021B060  C0 02 9B B8 */	lfs f0, lbl_806421B8-_SDA2_BASE_(r2)
/* 8021F404 0021B064  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021F408 0021B068  C0 02 9B B8 */	lfs f0, lbl_806421B8-_SDA2_BASE_(r2)
/* 8021F40C 0021B06C  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021F410 0021B070  48 05 D8 B5 */	bl PSVECAdd
/* 8021F414 0021B074  C0 01 00 20 */	lfs f0, 0x20(r1)
/* 8021F418 0021B078  38 61 00 6C */	addi r3, r1, 0x6c
/* 8021F41C 0021B07C  C0 21 00 1C */	lfs f1, 0x1c(r1)
/* 8021F420 0021B080  38 81 00 84 */	addi r4, r1, 0x84
/* 8021F424 0021B084  C0 41 00 18 */	lfs f2, 0x18(r1)
/* 8021F428 0021B088  38 A1 00 0C */	addi r5, r1, 0xc
/* 8021F42C 0021B08C  D0 56 80 00 */	stfs f2, -0x8000(r22)
/* 8021F430 0021B090  D0 36 80 00 */	stfs f1, -0x8000(r22)
/* 8021F434 0021B094  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021F438 0021B098  C0 02 9B C4 */	lfs f0, lbl_806421C4-_SDA2_BASE_(r2)
/* 8021F43C 0021B09C  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021F440 0021B0A0  C0 02 9B B8 */	lfs f0, lbl_806421B8-_SDA2_BASE_(r2)
/* 8021F444 0021B0A4  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021F448 0021B0A8  48 05 D8 A1 */	bl PSVECSubtract
/* 8021F44C 0021B0AC  C0 01 00 14 */	lfs f0, 0x14(r1)
/* 8021F450 0021B0B0  C0 21 00 10 */	lfs f1, 0x10(r1)
/* 8021F454 0021B0B4  C0 41 00 0C */	lfs f2, 0xc(r1)
/* 8021F458 0021B0B8  D0 56 80 00 */	stfs f2, -0x8000(r22)
/* 8021F45C 0021B0BC  D0 36 80 00 */	stfs f1, -0x8000(r22)
/* 8021F460 0021B0C0  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021F464 0021B0C4  C0 02 9B C4 */	lfs f0, lbl_806421C4-_SDA2_BASE_(r2)
/* 8021F468 0021B0C8  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021F46C 0021B0CC  C0 02 9B B8 */	lfs f0, lbl_806421B8-_SDA2_BASE_(r2)
/* 8021F470 0021B0D0  D0 16 80 00 */	stfs f0, -0x8000(r22)
/* 8021F474 0021B0D4  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8021F478 0021B0D8  48 01 41 09 */	bl end_drawing
/* 8021F47C 0021B0DC  3B 39 00 01 */	addi r25, r25, 1
/* 8021F480 0021B0E0  3B 5A 00 08 */	addi r26, r26, 8
lbl_8021F484:
/* 8021F484 0021B0E4  57 20 04 3E */	clrlwi r0, r25, 0x10
/* 8021F488 0021B0E8  7C 00 D8 40 */	cmplw r0, r27
/* 8021F48C 0021B0EC  41 80 FD 50 */	blt lbl_8021F1DC
lbl_8021F490:
/* 8021F490 0021B0F0  3B 9C 00 01 */	addi r28, r28, 1
lbl_8021F494:
/* 8021F494 0021B0F4  57 80 04 3E */	clrlwi r0, r28, 0x10
/* 8021F498 0021B0F8  7C 00 F8 40 */	cmplw r0, r31
/* 8021F49C 0021B0FC  41 80 FC 9C */	blt lbl_8021F138
/* 8021F4A0 0021B100  E3 E1 01 08 */	psq_l f31, 264(r1), 0, qr0
/* 8021F4A4 0021B104  CB E1 01 00 */	lfd f31, 0x100(r1)
/* 8021F4A8 0021B108  E3 C1 00 F8 */	psq_l f30, 248(r1), 0, qr0
/* 8021F4AC 0021B10C  CB C1 00 F0 */	lfd f30, 0xf0(r1)
/* 8021F4B0 0021B110  E3 A1 00 E8 */	psq_l f29, 232(r1), 0, qr0
/* 8021F4B4 0021B114  CB A1 00 E0 */	lfd f29, 0xe0(r1)
/* 8021F4B8 0021B118  E3 81 00 D8 */	psq_l f28, 216(r1), 0, qr0
/* 8021F4BC 0021B11C  CB 81 00 D0 */	lfd f28, 0xd0(r1)
/* 8021F4C0 0021B120  E3 61 00 C8 */	psq_l f27, 200(r1), 0, qr0
/* 8021F4C4 0021B124  39 61 00 C0 */	addi r11, r1, 0xc0
/* 8021F4C8 0021B128  CB 61 00 C0 */	lfd f27, 0xc0(r1)
/* 8021F4CC 0021B12C  4B FA 7C 91 */	bl _restgpr_21
/* 8021F4D0 0021B130  80 01 01 14 */	lwz r0, 0x114(r1)
/* 8021F4D4 0021B134  7C 08 03 A6 */	mtlr r0
/* 8021F4D8 0021B138  38 21 01 10 */	addi r1, r1, 0x110
/* 8021F4DC 0021B13C  4E 80 00 20 */	blr
/* 8021F4E0 0021B140  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8021F4E4 0021B144  7C 08 02 A6 */	mflr r0
/* 8021F4E8 0021B148  90 01 00 24 */	stw r0, 0x24(r1)
/* 8021F4EC 0021B14C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8021F4F0 0021B150  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8021F4F4 0021B154  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8021F4F8 0021B158  7C 7D 1B 78 */	mr r29, r3
/* 8021F4FC 0021B15C  93 81 00 10 */	stw r28, 0x10(r1)
/* 8021F500 0021B160  80 AD A3 D8 */	lwz r5, render_context_ptr-_SDA_BASE_(r13)
/* 8021F504 0021B164  80 85 16 38 */	lwz r4, 0x1638(r5)
/* 8021F508 0021B168  88 64 0A 87 */	lbz r3, 0xa87(r4)
/* 8021F50C 0021B16C  7C 03 00 D0 */	neg r0, r3
/* 8021F510 0021B170  7C 00 1B 78 */	or r0, r0, r3
/* 8021F514 0021B174  54 1E 0F FF */	rlwinm. r30, r0, 1, 0x1f, 0x1f
/* 8021F518 0021B178  41 82 00 2C */	beq lbl_8021F544
/* 8021F51C 0021B17C  38 00 00 00 */	li r0, 0
/* 8021F520 0021B180  98 04 0A 87 */	stb r0, 0xa87(r4)
/* 8021F524 0021B184  80 65 16 38 */	lwz r3, 0x1638(r5)
/* 8021F528 0021B188  80 03 00 64 */	lwz r0, 0x64(r3)
/* 8021F52C 0021B18C  60 00 00 40 */	ori r0, r0, 0x40
/* 8021F530 0021B190  90 03 00 64 */	stw r0, 0x64(r3)
/* 8021F534 0021B194  80 65 16 38 */	lwz r3, 0x1638(r5)
/* 8021F538 0021B198  80 03 00 00 */	lwz r0, 0(r3)
/* 8021F53C 0021B19C  60 00 00 40 */	ori r0, r0, 0x40
/* 8021F540 0021B1A0  90 03 00 00 */	stw r0, 0(r3)
lbl_8021F544:
/* 8021F544 0021B1A4  81 8D A3 D8 */	lwz r12, render_context_ptr-_SDA_BASE_(r13)
/* 8021F548 0021B1A8  38 80 00 00 */	li r4, 0
/* 8021F54C 0021B1AC  38 00 00 01 */	li r0, 1
/* 8021F550 0021B1B0  39 40 00 04 */	li r10, 4
/* 8021F554 0021B1B4  80 6C 16 38 */	lwz r3, 0x1638(r12)
/* 8021F558 0021B1B8  39 20 00 05 */	li r9, 5
/* 8021F55C 0021B1BC  39 00 00 03 */	li r8, 3
/* 8021F560 0021B1C0  38 E0 00 07 */	li r7, 7
/* 8021F564 0021B1C4  90 83 01 88 */	stw r4, 0x188(r3)
/* 8021F568 0021B1C8  38 A0 00 FF */	li r5, 0xff
/* 8021F56C 0021B1CC  38 60 00 04 */	li r3, 4
/* 8021F570 0021B1D0  81 6C 16 38 */	lwz r11, 0x1638(r12)
/* 8021F574 0021B1D4  80 CB 00 10 */	lwz r6, 0x10(r11)
/* 8021F578 0021B1D8  60 C6 00 04 */	ori r6, r6, 4
/* 8021F57C 0021B1DC  90 CB 00 10 */	stw r6, 0x10(r11)
/* 8021F580 0021B1E0  81 6C 16 38 */	lwz r11, 0x1638(r12)
/* 8021F584 0021B1E4  80 CB 00 00 */	lwz r6, 0(r11)
/* 8021F588 0021B1E8  60 C6 00 02 */	ori r6, r6, 2
/* 8021F58C 0021B1EC  90 CB 00 00 */	stw r6, 0(r11)
/* 8021F590 0021B1F0  81 8D A3 D8 */	lwz r12, render_context_ptr-_SDA_BASE_(r13)
/* 8021F594 0021B1F4  80 CC 16 38 */	lwz r6, 0x1638(r12)
/* 8021F598 0021B1F8  98 06 0A 36 */	stb r0, 0xa36(r6)
/* 8021F59C 0021B1FC  80 CC 16 38 */	lwz r6, 0x1638(r12)
/* 8021F5A0 0021B200  98 86 0A 37 */	stb r4, 0xa37(r6)
/* 8021F5A4 0021B204  80 CC 16 38 */	lwz r6, 0x1638(r12)
/* 8021F5A8 0021B208  98 86 0A 38 */	stb r4, 0xa38(r6)
/* 8021F5AC 0021B20C  81 6C 16 38 */	lwz r11, 0x1638(r12)
/* 8021F5B0 0021B210  80 CB 00 64 */	lwz r6, 0x64(r11)
/* 8021F5B4 0021B214  60 C6 00 04 */	ori r6, r6, 4
/* 8021F5B8 0021B218  90 CB 00 64 */	stw r6, 0x64(r11)
/* 8021F5BC 0021B21C  81 6C 16 38 */	lwz r11, 0x1638(r12)
/* 8021F5C0 0021B220  80 CB 00 00 */	lwz r6, 0(r11)
/* 8021F5C4 0021B224  60 C6 00 40 */	ori r6, r6, 0x40
/* 8021F5C8 0021B228  90 CB 00 00 */	stw r6, 0(r11)
/* 8021F5CC 0021B22C  81 6D A3 D8 */	lwz r11, render_context_ptr-_SDA_BASE_(r13)
/* 8021F5D0 0021B230  80 CB 16 38 */	lwz r6, 0x1638(r11)
/* 8021F5D4 0021B234  90 06 0A 24 */	stw r0, 0xa24(r6)
/* 8021F5D8 0021B238  80 CB 16 38 */	lwz r6, 0x1638(r11)
/* 8021F5DC 0021B23C  91 46 0A 28 */	stw r10, 0xa28(r6)
/* 8021F5E0 0021B240  80 CB 16 38 */	lwz r6, 0x1638(r11)
/* 8021F5E4 0021B244  90 06 0A 2C */	stw r0, 0xa2c(r6)
/* 8021F5E8 0021B248  80 CB 16 38 */	lwz r6, 0x1638(r11)
/* 8021F5EC 0021B24C  91 26 0A 30 */	stw r9, 0xa30(r6)
/* 8021F5F0 0021B250  81 2B 16 38 */	lwz r9, 0x1638(r11)
/* 8021F5F4 0021B254  80 C9 00 64 */	lwz r6, 0x64(r9)
/* 8021F5F8 0021B258  60 C6 00 01 */	ori r6, r6, 1
/* 8021F5FC 0021B25C  90 C9 00 64 */	stw r6, 0x64(r9)
/* 8021F600 0021B260  81 2B 16 38 */	lwz r9, 0x1638(r11)
/* 8021F604 0021B264  80 C9 00 00 */	lwz r6, 0(r9)
/* 8021F608 0021B268  60 C6 00 40 */	ori r6, r6, 0x40
/* 8021F60C 0021B26C  90 C9 00 00 */	stw r6, 0(r9)
/* 8021F610 0021B270  81 2D A3 D8 */	lwz r9, render_context_ptr-_SDA_BASE_(r13)
/* 8021F614 0021B274  80 C9 16 38 */	lwz r6, 0x1638(r9)
/* 8021F618 0021B278  98 06 0A 3C */	stb r0, 0xa3c(r6)
/* 8021F61C 0021B27C  80 C9 16 38 */	lwz r6, 0x1638(r9)
/* 8021F620 0021B280  91 06 0A 40 */	stw r8, 0xa40(r6)
/* 8021F624 0021B284  81 09 16 38 */	lwz r8, 0x1638(r9)
/* 8021F628 0021B288  80 C8 00 64 */	lwz r6, 0x64(r8)
/* 8021F62C 0021B28C  60 C6 00 08 */	ori r6, r6, 8
/* 8021F630 0021B290  90 C8 00 64 */	stw r6, 0x64(r8)
/* 8021F634 0021B294  81 09 16 38 */	lwz r8, 0x1638(r9)
/* 8021F638 0021B298  80 C8 00 00 */	lwz r6, 0(r8)
/* 8021F63C 0021B29C  60 C6 00 40 */	ori r6, r6, 0x40
/* 8021F640 0021B2A0  90 C8 00 00 */	stw r6, 0(r8)
/* 8021F644 0021B2A4  81 0D A3 D8 */	lwz r8, render_context_ptr-_SDA_BASE_(r13)
/* 8021F648 0021B2A8  80 C8 16 38 */	lwz r6, 0x1638(r8)
/* 8021F64C 0021B2AC  90 E6 0A 44 */	stw r7, 0xa44(r6)
/* 8021F650 0021B2B0  80 C8 16 38 */	lwz r6, 0x1638(r8)
/* 8021F654 0021B2B4  98 86 0A 50 */	stb r4, 0xa50(r6)
/* 8021F658 0021B2B8  80 C8 16 38 */	lwz r6, 0x1638(r8)
/* 8021F65C 0021B2BC  90 86 0A 48 */	stw r4, 0xa48(r6)
/* 8021F660 0021B2C0  80 C8 16 38 */	lwz r6, 0x1638(r8)
/* 8021F664 0021B2C4  90 E6 0A 4C */	stw r7, 0xa4c(r6)
/* 8021F668 0021B2C8  80 C8 16 38 */	lwz r6, 0x1638(r8)
/* 8021F66C 0021B2CC  98 86 0A 51 */	stb r4, 0xa51(r6)
/* 8021F670 0021B2D0  80 C8 16 38 */	lwz r6, 0x1638(r8)
/* 8021F674 0021B2D4  98 06 0A 52 */	stb r0, 0xa52(r6)
/* 8021F678 0021B2D8  80 C8 16 38 */	lwz r6, 0x1638(r8)
/* 8021F67C 0021B2DC  80 06 00 64 */	lwz r0, 0x64(r6)
/* 8021F680 0021B2E0  60 00 00 10 */	ori r0, r0, 0x10
/* 8021F684 0021B2E4  90 06 00 64 */	stw r0, 0x64(r6)
/* 8021F688 0021B2E8  80 C8 16 38 */	lwz r6, 0x1638(r8)
/* 8021F68C 0021B2EC  80 06 00 00 */	lwz r0, 0(r6)
/* 8021F690 0021B2F0  60 00 00 40 */	ori r0, r0, 0x40
/* 8021F694 0021B2F4  90 06 00 00 */	stw r0, 0(r6)
/* 8021F698 0021B2F8  80 ED A3 D8 */	lwz r7, render_context_ptr-_SDA_BASE_(r13)
/* 8021F69C 0021B2FC  80 C7 16 38 */	lwz r6, 0x1638(r7)
/* 8021F6A0 0021B300  98 86 0A 34 */	stb r4, 0xa34(r6)
/* 8021F6A4 0021B304  80 87 16 38 */	lwz r4, 0x1638(r7)
/* 8021F6A8 0021B308  98 A4 0A 35 */	stb r5, 0xa35(r4)
/* 8021F6AC 0021B30C  80 87 16 38 */	lwz r4, 0x1638(r7)
/* 8021F6B0 0021B310  80 04 00 64 */	lwz r0, 0x64(r4)
/* 8021F6B4 0021B314  60 00 00 02 */	ori r0, r0, 2
/* 8021F6B8 0021B318  90 04 00 64 */	stw r0, 0x64(r4)
/* 8021F6BC 0021B31C  80 87 16 38 */	lwz r4, 0x1638(r7)
/* 8021F6C0 0021B320  80 04 00 00 */	lwz r0, 0(r4)
/* 8021F6C4 0021B324  60 00 00 40 */	ori r0, r0, 0x40
/* 8021F6C8 0021B328  90 04 00 00 */	stw r0, 0(r4)
/* 8021F6CC 0021B32C  48 01 D8 51 */	bl func_8023CF1C
/* 8021F6D0 0021B330  80 8D A3 D8 */	lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8021F6D4 0021B334  90 64 17 3C */	stw r3, 0x173c(r4)
/* 8021F6D8 0021B338  80 AD A3 D8 */	lwz r5, render_context_ptr-_SDA_BASE_(r13)
/* 8021F6DC 0021B33C  80 9D 00 14 */	lwz r4, 0x14(r29)
/* 8021F6E0 0021B340  80 65 16 38 */	lwz r3, 0x1638(r5)
/* 8021F6E4 0021B344  80 03 15 3C */	lwz r0, 0x153c(r3)
/* 8021F6E8 0021B348  7C 00 20 40 */	cmplw r0, r4
/* 8021F6EC 0021B34C  40 82 00 14 */	bne lbl_8021F700
/* 8021F6F0 0021B350  88 04 00 07 */	lbz r0, 7(r4)
/* 8021F6F4 0021B354  54 00 07 FE */	clrlwi r0, r0, 0x1f
/* 8021F6F8 0021B358  2C 00 00 01 */	cmpwi r0, 1
/* 8021F6FC 0021B35C  40 82 00 1C */	bne lbl_8021F718
lbl_8021F700:
/* 8021F700 0021B360  80 65 16 38 */	lwz r3, 0x1638(r5)
/* 8021F704 0021B364  90 83 15 3C */	stw r4, 0x153c(r3)
/* 8021F708 0021B368  80 65 16 38 */	lwz r3, 0x1638(r5)
/* 8021F70C 0021B36C  80 03 15 38 */	lwz r0, 0x1538(r3)
/* 8021F710 0021B370  60 00 00 01 */	ori r0, r0, 1
/* 8021F714 0021B374  90 03 15 38 */	stw r0, 0x1538(r3)
lbl_8021F718:
/* 8021F718 0021B378  81 4D A3 D8 */	lwz r10, render_context_ptr-_SDA_BASE_(r13)
/* 8021F71C 0021B37C  3B E0 00 00 */	li r31, 0
/* 8021F720 0021B380  80 1D 00 18 */	lwz r0, 0x18(r29)
/* 8021F724 0021B384  3B 80 00 01 */	li r28, 1
/* 8021F728 0021B388  80 6A 16 38 */	lwz r3, 0x1638(r10)
/* 8021F72C 0021B38C  38 80 00 00 */	li r4, 0
/* 8021F730 0021B390  38 A0 00 01 */	li r5, 1
/* 8021F734 0021B394  38 C0 00 04 */	li r6, 4
/* 8021F738 0021B398  90 03 08 D4 */	stw r0, 0x8d4(r3)
/* 8021F73C 0021B39C  38 E0 00 00 */	li r7, 0
/* 8021F740 0021B3A0  39 00 00 00 */	li r8, 0
/* 8021F744 0021B3A4  39 20 00 00 */	li r9, 0
/* 8021F748 0021B3A8  80 6A 16 38 */	lwz r3, 0x1638(r10)
/* 8021F74C 0021B3AC  80 03 00 50 */	lwz r0, 0x50(r3)
/* 8021F750 0021B3B0  60 00 00 01 */	ori r0, r0, 1
/* 8021F754 0021B3B4  90 03 00 50 */	stw r0, 0x50(r3)
/* 8021F758 0021B3B8  80 6A 16 38 */	lwz r3, 0x1638(r10)
/* 8021F75C 0021B3BC  80 03 00 00 */	lwz r0, 0(r3)
/* 8021F760 0021B3C0  60 00 00 10 */	ori r0, r0, 0x10
/* 8021F764 0021B3C4  90 03 00 00 */	stw r0, 0(r3)
/* 8021F768 0021B3C8  81 4D A3 D8 */	lwz r10, render_context_ptr-_SDA_BASE_(r13)
/* 8021F76C 0021B3CC  80 6A 16 38 */	lwz r3, 0x1638(r10)
/* 8021F770 0021B3D0  9B E3 01 8C */	stb r31, 0x18c(r3)
/* 8021F774 0021B3D4  80 6A 16 38 */	lwz r3, 0x1638(r10)
/* 8021F778 0021B3D8  80 03 00 14 */	lwz r0, 0x14(r3)
/* 8021F77C 0021B3DC  60 00 00 01 */	ori r0, r0, 1
/* 8021F780 0021B3E0  90 03 00 14 */	stw r0, 0x14(r3)
/* 8021F784 0021B3E4  80 6A 16 38 */	lwz r3, 0x1638(r10)
/* 8021F788 0021B3E8  80 03 00 00 */	lwz r0, 0(r3)
/* 8021F78C 0021B3EC  60 00 00 04 */	ori r0, r0, 4
/* 8021F790 0021B3F0  90 03 00 00 */	stw r0, 0(r3)
/* 8021F794 0021B3F4  81 4D A3 D8 */	lwz r10, render_context_ptr-_SDA_BASE_(r13)
/* 8021F798 0021B3F8  80 6A 16 38 */	lwz r3, 0x1638(r10)
/* 8021F79C 0021B3FC  9B 83 00 68 */	stb r28, 0x68(r3)
/* 8021F7A0 0021B400  80 6A 16 38 */	lwz r3, 0x1638(r10)
/* 8021F7A4 0021B404  80 03 00 04 */	lwz r0, 4(r3)
/* 8021F7A8 0021B408  60 00 00 01 */	ori r0, r0, 1
/* 8021F7AC 0021B40C  90 03 00 04 */	stw r0, 4(r3)
/* 8021F7B0 0021B410  80 6A 16 38 */	lwz r3, 0x1638(r10)
/* 8021F7B4 0021B414  80 03 00 00 */	lwz r0, 0(r3)
/* 8021F7B8 0021B418  60 00 00 01 */	ori r0, r0, 1
/* 8021F7BC 0021B41C  90 03 00 00 */	stw r0, 0(r3)
/* 8021F7C0 0021B420  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8021F7C4 0021B424  48 01 4C B1 */	bl func_80234474
/* 8021F7C8 0021B428  80 ED A3 D8 */	lwz r7, render_context_ptr-_SDA_BASE_(r13)
/* 8021F7CC 0021B42C  38 A0 00 0C */	li r5, 0xc
/* 8021F7D0 0021B430  38 80 00 1C */	li r4, 0x1c
/* 8021F7D4 0021B434  38 00 00 FF */	li r0, 0xff
/* 8021F7D8 0021B438  80 67 16 38 */	lwz r3, 0x1638(r7)
/* 8021F7DC 0021B43C  9B 83 02 80 */	stb r28, 0x280(r3)
/* 8021F7E0 0021B440  80 C7 16 38 */	lwz r6, 0x1638(r7)
/* 8021F7E4 0021B444  80 66 00 24 */	lwz r3, 0x24(r6)
/* 8021F7E8 0021B448  60 63 00 01 */	ori r3, r3, 1
/* 8021F7EC 0021B44C  90 66 00 24 */	stw r3, 0x24(r6)
/* 8021F7F0 0021B450  80 C7 16 38 */	lwz r6, 0x1638(r7)
/* 8021F7F4 0021B454  80 66 00 00 */	lwz r3, 0(r6)
/* 8021F7F8 0021B458  60 63 00 08 */	ori r3, r3, 8
/* 8021F7FC 0021B45C  90 66 00 00 */	stw r3, 0(r6)
/* 8021F800 0021B460  80 ED A3 D8 */	lwz r7, render_context_ptr-_SDA_BASE_(r13)
/* 8021F804 0021B464  80 67 16 38 */	lwz r3, 0x1638(r7)
/* 8021F808 0021B468  9B E3 08 90 */	stb r31, 0x890(r3)
/* 8021F80C 0021B46C  80 C7 16 38 */	lwz r6, 0x1638(r7)
/* 8021F810 0021B470  80 66 00 44 */	lwz r3, 0x44(r6)
/* 8021F814 0021B474  60 63 00 01 */	ori r3, r3, 1
/* 8021F818 0021B478  90 66 00 44 */	stw r3, 0x44(r6)
/* 8021F81C 0021B47C  80 C7 16 38 */	lwz r6, 0x1638(r7)
/* 8021F820 0021B480  80 66 00 00 */	lwz r3, 0(r6)
/* 8021F824 0021B484  60 63 00 80 */	ori r3, r3, 0x80
/* 8021F828 0021B488  90 66 00 00 */	stw r3, 0(r6)
/* 8021F82C 0021B48C  80 CD A3 D8 */	lwz r6, render_context_ptr-_SDA_BASE_(r13)
/* 8021F830 0021B490  80 66 16 38 */	lwz r3, 0x1638(r6)
/* 8021F834 0021B494  90 A3 08 E4 */	stw r5, 0x8e4(r3)
/* 8021F838 0021B498  80 A6 16 38 */	lwz r5, 0x1638(r6)
/* 8021F83C 0021B49C  80 65 00 54 */	lwz r3, 0x54(r5)
/* 8021F840 0021B4A0  60 63 00 01 */	ori r3, r3, 1
/* 8021F844 0021B4A4  90 65 00 54 */	stw r3, 0x54(r5)
/* 8021F848 0021B4A8  80 A6 16 38 */	lwz r5, 0x1638(r6)
/* 8021F84C 0021B4AC  80 65 00 00 */	lwz r3, 0(r5)
/* 8021F850 0021B4B0  60 63 00 10 */	ori r3, r3, 0x10
/* 8021F854 0021B4B4  90 65 00 00 */	stw r3, 0(r5)
/* 8021F858 0021B4B8  80 66 16 38 */	lwz r3, 0x1638(r6)
/* 8021F85C 0021B4BC  90 83 09 24 */	stw r4, 0x924(r3)
/* 8021F860 0021B4C0  80 86 16 38 */	lwz r4, 0x1638(r6)
/* 8021F864 0021B4C4  80 64 00 58 */	lwz r3, 0x58(r4)
/* 8021F868 0021B4C8  60 63 00 01 */	ori r3, r3, 1
/* 8021F86C 0021B4CC  90 64 00 58 */	stw r3, 0x58(r4)
/* 8021F870 0021B4D0  80 86 16 38 */	lwz r4, 0x1638(r6)
/* 8021F874 0021B4D4  80 64 00 00 */	lwz r3, 0(r4)
/* 8021F878 0021B4D8  60 63 00 10 */	ori r3, r3, 0x10
/* 8021F87C 0021B4DC  90 64 00 00 */	stw r3, 0(r4)
/* 8021F880 0021B4E0  80 AD A3 D8 */	lwz r5, render_context_ptr-_SDA_BASE_(r13)
/* 8021F884 0021B4E4  80 65 16 38 */	lwz r3, 0x1638(r5)
/* 8021F888 0021B4E8  93 E3 09 64 */	stw r31, 0x964(r3)
/* 8021F88C 0021B4EC  93 E3 09 68 */	stw r31, 0x968(r3)
/* 8021F890 0021B4F0  80 85 16 38 */	lwz r4, 0x1638(r5)
/* 8021F894 0021B4F4  80 64 00 5C */	lwz r3, 0x5c(r4)
/* 8021F898 0021B4F8  60 63 00 01 */	ori r3, r3, 1
/* 8021F89C 0021B4FC  90 64 00 5C */	stw r3, 0x5c(r4)
/* 8021F8A0 0021B500  80 85 16 38 */	lwz r4, 0x1638(r5)
/* 8021F8A4 0021B504  80 64 00 00 */	lwz r3, 0(r4)
/* 8021F8A8 0021B508  60 63 00 20 */	ori r3, r3, 0x20
/* 8021F8AC 0021B50C  90 64 00 00 */	stw r3, 0(r4)
/* 8021F8B0 0021B510  80 8D A3 D8 */	lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8021F8B4 0021B514  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021F8B8 0021B518  93 E3 02 84 */	stw r31, 0x284(r3)
/* 8021F8BC 0021B51C  93 E3 02 88 */	stw r31, 0x288(r3)
/* 8021F8C0 0021B520  90 03 02 8C */	stw r0, 0x28c(r3)
/* 8021F8C4 0021B524  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021F8C8 0021B528  80 03 00 28 */	lwz r0, 0x28(r3)
/* 8021F8CC 0021B52C  60 00 00 01 */	ori r0, r0, 1
/* 8021F8D0 0021B530  90 03 00 28 */	stw r0, 0x28(r3)
/* 8021F8D4 0021B534  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021F8D8 0021B538  80 03 00 00 */	lwz r0, 0(r3)
/* 8021F8DC 0021B53C  60 00 00 08 */	ori r0, r0, 8
/* 8021F8E0 0021B540  90 03 00 00 */	stw r0, 0(r3)
/* 8021F8E4 0021B544  81 2D A3 D8 */	lwz r9, render_context_ptr-_SDA_BASE_(r13)
/* 8021F8E8 0021B548  80 69 16 38 */	lwz r3, 0x1638(r9)
/* 8021F8EC 0021B54C  80 03 07 F4 */	lwz r0, 0x7f4(r3)
/* 8021F8F0 0021B550  2C 00 00 07 */	cmpwi r0, 7
/* 8021F8F4 0021B554  41 82 00 08 */	beq lbl_8021F8FC
/* 8021F8F8 0021B558  93 E3 07 F4 */	stw r31, 0x7f4(r3)
lbl_8021F8FC:
/* 8021F8FC 0021B55C  81 09 16 38 */	lwz r8, 0x1638(r9)
/* 8021F900 0021B560  39 60 00 00 */	li r11, 0
/* 8021F904 0021B564  39 40 00 01 */	li r10, 1
/* 8021F908 0021B568  38 E0 00 0F */	li r7, 0xf
/* 8021F90C 0021B56C  80 08 00 40 */	lwz r0, 0x40(r8)
/* 8021F910 0021B570  38 C0 00 0E */	li r6, 0xe
/* 8021F914 0021B574  38 A0 00 08 */	li r5, 8
/* 8021F918 0021B578  38 80 00 07 */	li r4, 7
/* 8021F91C 0021B57C  60 00 00 01 */	ori r0, r0, 1
/* 8021F920 0021B580  38 60 00 06 */	li r3, 6
/* 8021F924 0021B584  90 08 00 40 */	stw r0, 0x40(r8)
/* 8021F928 0021B588  38 00 00 04 */	li r0, 4
/* 8021F92C 0021B58C  81 29 16 38 */	lwz r9, 0x1638(r9)
/* 8021F930 0021B590  81 09 00 00 */	lwz r8, 0(r9)
/* 8021F934 0021B594  61 08 00 08 */	ori r8, r8, 8
/* 8021F938 0021B598  91 09 00 00 */	stw r8, 0(r9)
/* 8021F93C 0021B59C  81 8D A3 D8 */	lwz r12, render_context_ptr-_SDA_BASE_(r13)
/* 8021F940 0021B5A0  81 0C 16 38 */	lwz r8, 0x1638(r12)
/* 8021F944 0021B5A4  91 68 05 44 */	stw r11, 0x544(r8)
/* 8021F948 0021B5A8  91 68 05 48 */	stw r11, 0x548(r8)
/* 8021F94C 0021B5AC  91 68 05 4C */	stw r11, 0x54c(r8)
/* 8021F950 0021B5B0  99 48 05 50 */	stb r10, 0x550(r8)
/* 8021F954 0021B5B4  91 68 05 54 */	stw r11, 0x554(r8)
/* 8021F958 0021B5B8  81 2C 16 38 */	lwz r9, 0x1638(r12)
/* 8021F95C 0021B5BC  81 09 00 34 */	lwz r8, 0x34(r9)
/* 8021F960 0021B5C0  61 08 00 01 */	ori r8, r8, 1
/* 8021F964 0021B5C4  91 09 00 34 */	stw r8, 0x34(r9)
/* 8021F968 0021B5C8  81 2C 16 38 */	lwz r9, 0x1638(r12)
/* 8021F96C 0021B5CC  81 09 00 00 */	lwz r8, 0(r9)
/* 8021F970 0021B5D0  61 08 00 08 */	ori r8, r8, 8
/* 8021F974 0021B5D4  91 09 00 00 */	stw r8, 0(r9)
/* 8021F978 0021B5D8  81 8D A3 D8 */	lwz r12, render_context_ptr-_SDA_BASE_(r13)
/* 8021F97C 0021B5DC  81 0C 16 38 */	lwz r8, 0x1638(r12)
/* 8021F980 0021B5E0  91 68 06 84 */	stw r11, 0x684(r8)
/* 8021F984 0021B5E4  91 68 06 88 */	stw r11, 0x688(r8)
/* 8021F988 0021B5E8  91 68 06 8C */	stw r11, 0x68c(r8)
/* 8021F98C 0021B5EC  99 48 06 90 */	stb r10, 0x690(r8)
/* 8021F990 0021B5F0  91 68 06 94 */	stw r11, 0x694(r8)
/* 8021F994 0021B5F4  81 2C 16 38 */	lwz r9, 0x1638(r12)
/* 8021F998 0021B5F8  81 09 00 38 */	lwz r8, 0x38(r9)
/* 8021F99C 0021B5FC  61 08 00 01 */	ori r8, r8, 1
/* 8021F9A0 0021B600  91 09 00 38 */	stw r8, 0x38(r9)
/* 8021F9A4 0021B604  81 2C 16 38 */	lwz r9, 0x1638(r12)
/* 8021F9A8 0021B608  81 09 00 00 */	lwz r8, 0(r9)
/* 8021F9AC 0021B60C  61 08 00 08 */	ori r8, r8, 8
/* 8021F9B0 0021B610  91 09 00 00 */	stw r8, 0(r9)
/* 8021F9B4 0021B614  81 2D A3 D8 */	lwz r9, render_context_ptr-_SDA_BASE_(r13)
/* 8021F9B8 0021B618  81 09 16 38 */	lwz r8, 0x1638(r9)
/* 8021F9BC 0021B61C  90 E8 03 44 */	stw r7, 0x344(r8)
/* 8021F9C0 0021B620  90 C8 03 48 */	stw r6, 0x348(r8)
/* 8021F9C4 0021B624  90 A8 03 4C */	stw r5, 0x34c(r8)
/* 8021F9C8 0021B628  90 E8 03 50 */	stw r7, 0x350(r8)
/* 8021F9CC 0021B62C  80 C9 16 38 */	lwz r6, 0x1638(r9)
/* 8021F9D0 0021B630  80 A6 00 2C */	lwz r5, 0x2c(r6)
/* 8021F9D4 0021B634  60 A5 00 01 */	ori r5, r5, 1
/* 8021F9D8 0021B638  90 A6 00 2C */	stw r5, 0x2c(r6)
/* 8021F9DC 0021B63C  80 C9 16 38 */	lwz r6, 0x1638(r9)
/* 8021F9E0 0021B640  80 A6 00 00 */	lwz r5, 0(r6)
/* 8021F9E4 0021B644  60 A5 00 08 */	ori r5, r5, 8
/* 8021F9E8 0021B648  90 A6 00 00 */	stw r5, 0(r6)
/* 8021F9EC 0021B64C  80 CD A3 D8 */	lwz r6, render_context_ptr-_SDA_BASE_(r13)
/* 8021F9F0 0021B650  80 A6 16 38 */	lwz r5, 0x1638(r6)
/* 8021F9F4 0021B654  90 85 04 44 */	stw r4, 0x444(r5)
/* 8021F9F8 0021B658  90 65 04 48 */	stw r3, 0x448(r5)
/* 8021F9FC 0021B65C  90 05 04 4C */	stw r0, 0x44c(r5)
/* 8021FA00 0021B660  90 85 04 50 */	stw r4, 0x450(r5)
/* 8021FA04 0021B664  80 66 16 38 */	lwz r3, 0x1638(r6)
/* 8021FA08 0021B668  80 03 00 30 */	lwz r0, 0x30(r3)
/* 8021FA0C 0021B66C  60 00 00 01 */	ori r0, r0, 1
/* 8021FA10 0021B670  90 03 00 30 */	stw r0, 0x30(r3)
/* 8021FA14 0021B674  80 66 16 38 */	lwz r3, 0x1638(r6)
/* 8021FA18 0021B678  80 03 00 00 */	lwz r0, 0(r3)
/* 8021FA1C 0021B67C  60 00 00 08 */	ori r0, r0, 8
/* 8021FA20 0021B680  90 03 00 00 */	stw r0, 0(r3)
/* 8021FA24 0021B684  80 7D 00 10 */	lwz r3, 0x10(r29)
/* 8021FA28 0021B688  80 63 00 08 */	lwz r3, 8(r3)
/* 8021FA2C 0021B68C  2C 03 00 00 */	cmpwi r3, 0
/* 8021FA30 0021B690  41 82 00 18 */	beq lbl_8021FA48
/* 8021FA34 0021B694  80 63 00 00 */	lwz r3, 0(r3)
/* 8021FA38 0021B698  2C 03 00 00 */	cmpwi r3, 0
/* 8021FA3C 0021B69C  41 82 00 0C */	beq lbl_8021FA48
/* 8021FA40 0021B6A0  38 83 00 D0 */	addi r4, r3, 0xd0
/* 8021FA44 0021B6A4  48 00 00 0C */	b lbl_8021FA50
lbl_8021FA48:
/* 8021FA48 0021B6A8  3C 80 80 49 */	lis r4, lbl_804932B0@ha
/* 8021FA4C 0021B6AC  38 84 32 B0 */	addi r4, r4, lbl_804932B0@l
lbl_8021FA50:
/* 8021FA50 0021B6B0  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8021FA54 0021B6B4  80 63 16 E8 */	lwz r3, 0x16e8(r3)
/* 8021FA58 0021B6B8  48 01 6E 21 */	bl func_80236878
/* 8021FA5C 0021B6BC  80 1D 00 24 */	lwz r0, 0x24(r29)
/* 8021FA60 0021B6C0  2C 00 00 01 */	cmpwi r0, 1
/* 8021FA64 0021B6C4  41 82 00 20 */	beq lbl_8021FA84
/* 8021FA68 0021B6C8  40 80 00 24 */	bge lbl_8021FA8C
/* 8021FA6C 0021B6CC  2C 00 00 00 */	cmpwi r0, 0
/* 8021FA70 0021B6D0  40 80 00 08 */	bge lbl_8021FA78
/* 8021FA74 0021B6D4  48 00 00 18 */	b lbl_8021FA8C
lbl_8021FA78:
/* 8021FA78 0021B6D8  7F A3 EB 78 */	mr r3, r29
/* 8021FA7C 0021B6DC  4B FF F1 1D */	bl func_8021EB98
/* 8021FA80 0021B6E0  48 00 00 0C */	b lbl_8021FA8C
lbl_8021FA84:
/* 8021FA84 0021B6E4  7F A3 EB 78 */	mr r3, r29
/* 8021FA88 0021B6E8  4B FF F6 0D */	bl func_8021F094
lbl_8021FA8C:
/* 8021FA8C 0021B6EC  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8021FA90 0021B6F0  2C 1E 00 00 */	cmpwi r30, 0
/* 8021FA94 0021B6F4  80 83 16 E8 */	lwz r4, 0x16e8(r3)
/* 8021FA98 0021B6F8  80 64 00 04 */	lwz r3, 4(r4)
/* 8021FA9C 0021B6FC  38 03 FF 6C */	addi r0, r3, -148
/* 8021FAA0 0021B700  90 04 00 04 */	stw r0, 4(r4)
/* 8021FAA4 0021B704  41 82 00 60 */	beq lbl_8021FB04
/* 8021FAA8 0021B708  80 8D A3 D8 */	lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8021FAAC 0021B70C  38 00 00 01 */	li r0, 1
/* 8021FAB0 0021B710  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021FAB4 0021B714  98 03 0A 87 */	stb r0, 0xa87(r3)
/* 8021FAB8 0021B718  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021FABC 0021B71C  80 03 00 64 */	lwz r0, 0x64(r3)
/* 8021FAC0 0021B720  60 00 00 40 */	ori r0, r0, 0x40
/* 8021FAC4 0021B724  90 03 00 64 */	stw r0, 0x64(r3)
/* 8021FAC8 0021B728  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021FACC 0021B72C  80 03 00 64 */	lwz r0, 0x64(r3)
/* 8021FAD0 0021B730  60 00 02 00 */	ori r0, r0, 0x200
/* 8021FAD4 0021B734  90 03 00 64 */	stw r0, 0x64(r3)
/* 8021FAD8 0021B738  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021FADC 0021B73C  88 03 0A 86 */	lbz r0, 0xa86(r3)
/* 8021FAE0 0021B740  2C 00 00 00 */	cmpwi r0, 0
/* 8021FAE4 0021B744  41 82 00 10 */	beq lbl_8021FAF4
/* 8021FAE8 0021B748  80 03 00 64 */	lwz r0, 0x64(r3)
/* 8021FAEC 0021B74C  60 00 01 00 */	ori r0, r0, 0x100
/* 8021FAF0 0021B750  90 03 00 64 */	stw r0, 0x64(r3)
lbl_8021FAF4:
/* 8021FAF4 0021B754  80 64 16 38 */	lwz r3, 0x1638(r4)
/* 8021FAF8 0021B758  80 03 00 00 */	lwz r0, 0(r3)
/* 8021FAFC 0021B75C  60 00 00 40 */	ori r0, r0, 0x40
/* 8021FB00 0021B760  90 03 00 00 */	stw r0, 0(r3)
lbl_8021FB04:
/* 8021FB04 0021B764  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8021FB08 0021B768  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8021FB0C 0021B76C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8021FB10 0021B770  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8021FB14 0021B774  83 81 00 10 */	lwz r28, 0x10(r1)
/* 8021FB18 0021B778  7C 08 03 A6 */	mtlr r0
/* 8021FB1C 0021B77C  38 21 00 20 */	addi r1, r1, 0x20
/* 8021FB20 0021B780  4E 80 00 20 */	blr

.global func_8021FB24
func_8021FB24:
/* 8021FB24 0021B784  38 A0 00 01 */	li r5, 1
/* 8021FB28 0021B788  38 6D A2 A0 */	addi r3, r13, lbl_8063F560-_SDA_BASE_
/* 8021FB2C 0021B78C  38 80 00 04 */	li r4, 4
/* 8021FB30 0021B790  38 00 00 00 */	li r0, 0
/* 8021FB34 0021B794  98 AD A2 A0 */	stb r5, lbl_8063F560-_SDA_BASE_(r13)
/* 8021FB38 0021B798  B0 83 00 02 */	sth r4, 2(r3)
/* 8021FB3C 0021B79C  98 03 00 04 */	stb r0, 4(r3)
/* 8021FB40 0021B7A0  4E 80 00 20 */	blr