summaryrefslogtreecommitdiff
path: root/asm/code_80224B10.s
blob: 78c156d1529edfda43d56ea6c303a1db9592dbed (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
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
.include "macros.inc"

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

.global func_80224B10
func_80224B10:
/* 80224B10 00220770  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80224B14 00220774  7C 08 02 A6 */	mflr r0
/* 80224B18 00220778  90 01 00 34 */	stw r0, 0x34(r1)
/* 80224B1C 0022077C  38 04 FF F0 */	addi r0, r4, -16
/* 80224B20 00220780  38 80 00 00 */	li r4, 0
/* 80224B24 00220784  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 80224B28 00220788  28 00 00 08 */	cmplwi r0, 8
/* 80224B2C 0022078C  7C DF 33 78 */	mr r31, r6
/* 80224B30 00220790  93 C1 00 28 */	stw r30, 0x28(r1)
/* 80224B34 00220794  7C BE 2B 78 */	mr r30, r5
/* 80224B38 00220798  93 A1 00 24 */	stw r29, 0x24(r1)
/* 80224B3C 0022079C  7C 7D 1B 78 */	mr r29, r3
/* 80224B40 002207A0  90 81 00 0C */	stw r4, 0xc(r1)
/* 80224B44 002207A4  41 81 04 88 */	bgt lbl_80224FCC
/* 80224B48 002207A8  3C 80 80 42 */	lis r4, lbl_80423C48@ha
/* 80224B4C 002207AC  54 00 10 3A */	slwi r0, r0, 2
/* 80224B50 002207B0  38 84 3C 48 */	addi r4, r4, lbl_80423C48@l
/* 80224B54 002207B4  7C 84 00 2E */	lwzx r4, r4, r0
/* 80224B58 002207B8  7C 89 03 A6 */	mtctr r4
/* 80224B5C 002207BC  4E 80 04 20 */	bctr
/* 80224B60 002207C0  A8 05 00 08 */	lha r0, 8(r5)
/* 80224B64 002207C4  2C 00 00 01 */	cmpwi r0, 1
/* 80224B68 002207C8  40 82 00 0C */	bne lbl_80224B74
/* 80224B6C 002207CC  80 65 00 0C */	lwz r3, 0xc(r5)
/* 80224B70 002207D0  48 00 00 28 */	b lbl_80224B98
lbl_80224B74:
/* 80224B74 002207D4  2C 00 00 02 */	cmpwi r0, 2
/* 80224B78 002207D8  40 82 00 18 */	bne lbl_80224B90
/* 80224B7C 002207DC  C0 05 00 0C */	lfs f0, 0xc(r5)
/* 80224B80 002207E0  FC 00 00 1E */	fctiwz f0, f0
/* 80224B84 002207E4  D8 01 00 10 */	stfd f0, 0x10(r1)
/* 80224B88 002207E8  80 61 00 14 */	lwz r3, 0x14(r1)
/* 80224B8C 002207EC  48 00 00 0C */	b lbl_80224B98
lbl_80224B90:
/* 80224B90 002207F0  38 65 00 08 */	addi r3, r5, 8
/* 80224B94 002207F4  48 00 91 A1 */	bl func_8022DD34
lbl_80224B98:
/* 80224B98 002207F8  80 9D 09 48 */	lwz r4, 0x948(r29)
/* 80224B9C 002207FC  54 60 10 3A */	slwi r0, r3, 2
/* 80224BA0 00220800  7F A3 EB 78 */	mr r3, r29
/* 80224BA4 00220804  38 A1 00 0C */	addi r5, r1, 0xc
/* 80224BA8 00220808  7C 84 02 14 */	add r4, r4, r0
/* 80224BAC 0022080C  38 C1 00 08 */	addi r6, r1, 8
/* 80224BB0 00220810  48 00 5B B9 */	bl func_8022A768
/* 80224BB4 00220814  2C 03 00 00 */	cmpwi r3, 0
/* 80224BB8 00220818  41 82 04 14 */	beq lbl_80224FCC
/* 80224BBC 0022081C  80 61 00 08 */	lwz r3, 8(r1)
/* 80224BC0 00220820  38 00 00 01 */	li r0, 1
/* 80224BC4 00220824  B0 1F 00 00 */	sth r0, 0(r31)
/* 80224BC8 00220828  90 7F 00 04 */	stw r3, 4(r31)
/* 80224BCC 0022082C  48 00 04 00 */	b lbl_80224FCC
/* 80224BD0 00220830  A8 05 00 08 */	lha r0, 8(r5)
/* 80224BD4 00220834  2C 00 00 01 */	cmpwi r0, 1
/* 80224BD8 00220838  40 82 00 0C */	bne lbl_80224BE4
/* 80224BDC 0022083C  80 85 00 0C */	lwz r4, 0xc(r5)
/* 80224BE0 00220840  48 00 00 2C */	b lbl_80224C0C
lbl_80224BE4:
/* 80224BE4 00220844  2C 00 00 02 */	cmpwi r0, 2
/* 80224BE8 00220848  40 82 00 18 */	bne lbl_80224C00
/* 80224BEC 0022084C  C0 05 00 0C */	lfs f0, 0xc(r5)
/* 80224BF0 00220850  FC 00 00 1E */	fctiwz f0, f0
/* 80224BF4 00220854  D8 01 00 10 */	stfd f0, 0x10(r1)
/* 80224BF8 00220858  80 61 00 14 */	lwz r3, 0x14(r1)
/* 80224BFC 0022085C  48 00 00 0C */	b lbl_80224C08
lbl_80224C00:
/* 80224C00 00220860  38 65 00 08 */	addi r3, r5, 8
/* 80224C04 00220864  48 00 91 31 */	bl func_8022DD34
lbl_80224C08:
/* 80224C08 00220868  7C 64 1B 78 */	mr r4, r3
lbl_80224C0C:
/* 80224C0C 0022086C  7F A3 EB 78 */	mr r3, r29
/* 80224C10 00220870  48 00 5C F1 */	bl func_8022A900
/* 80224C14 00220874  38 03 FF FF */	addi r0, r3, -1
/* 80224C18 00220878  38 60 00 01 */	li r3, 1
/* 80224C1C 0022087C  7C 00 00 34 */	cntlzw r0, r0
/* 80224C20 00220880  B0 7F 00 00 */	sth r3, 0(r31)
/* 80224C24 00220884  54 00 D9 7E */	srwi r0, r0, 5
/* 80224C28 00220888  90 1F 00 04 */	stw r0, 4(r31)
/* 80224C2C 0022088C  48 00 03 A0 */	b lbl_80224FCC
/* 80224C30 00220890  80 63 08 DC */	lwz r3, 0x8dc(r3)
/* 80224C34 00220894  38 00 00 01 */	li r0, 1
/* 80224C38 00220898  B0 06 00 00 */	sth r0, 0(r6)
/* 80224C3C 0022089C  90 66 00 04 */	stw r3, 4(r6)
/* 80224C40 002208A0  48 00 03 8C */	b lbl_80224FCC
/* 80224C44 002208A4  A8 05 00 08 */	lha r0, 8(r5)
/* 80224C48 002208A8  2C 00 00 01 */	cmpwi r0, 1
/* 80224C4C 002208AC  40 82 00 0C */	bne lbl_80224C58
/* 80224C50 002208B0  80 85 00 0C */	lwz r4, 0xc(r5)
/* 80224C54 002208B4  48 00 00 2C */	b lbl_80224C80
lbl_80224C58:
/* 80224C58 002208B8  2C 00 00 02 */	cmpwi r0, 2
/* 80224C5C 002208BC  40 82 00 18 */	bne lbl_80224C74
/* 80224C60 002208C0  C0 05 00 0C */	lfs f0, 0xc(r5)
/* 80224C64 002208C4  FC 00 00 1E */	fctiwz f0, f0
/* 80224C68 002208C8  D8 01 00 10 */	stfd f0, 0x10(r1)
/* 80224C6C 002208CC  80 61 00 14 */	lwz r3, 0x14(r1)
/* 80224C70 002208D0  48 00 00 0C */	b lbl_80224C7C
lbl_80224C74:
/* 80224C74 002208D4  38 65 00 08 */	addi r3, r5, 8
/* 80224C78 002208D8  48 00 90 BD */	bl func_8022DD34
lbl_80224C7C:
/* 80224C7C 002208DC  7C 64 1B 78 */	mr r4, r3
lbl_80224C80:
/* 80224C80 002208E0  7F A3 EB 78 */	mr r3, r29
/* 80224C84 002208E4  48 00 5C 25 */	bl func_8022A8A8
/* 80224C88 002208E8  48 00 03 44 */	b lbl_80224FCC
/* 80224C8C 002208EC  A8 05 00 08 */	lha r0, 8(r5)
/* 80224C90 002208F0  2C 00 00 01 */	cmpwi r0, 1
/* 80224C94 002208F4  40 82 00 0C */	bne lbl_80224CA0
/* 80224C98 002208F8  83 E5 00 0C */	lwz r31, 0xc(r5)
/* 80224C9C 002208FC  48 00 00 2C */	b lbl_80224CC8
lbl_80224CA0:
/* 80224CA0 00220900  2C 00 00 02 */	cmpwi r0, 2
/* 80224CA4 00220904  40 82 00 18 */	bne lbl_80224CBC
/* 80224CA8 00220908  C0 05 00 0C */	lfs f0, 0xc(r5)
/* 80224CAC 0022090C  FC 00 00 1E */	fctiwz f0, f0
/* 80224CB0 00220910  D8 01 00 10 */	stfd f0, 0x10(r1)
/* 80224CB4 00220914  80 61 00 14 */	lwz r3, 0x14(r1)
/* 80224CB8 00220918  48 00 00 0C */	b lbl_80224CC4
lbl_80224CBC:
/* 80224CBC 0022091C  38 65 00 08 */	addi r3, r5, 8
/* 80224CC0 00220920  48 00 90 75 */	bl func_8022DD34
lbl_80224CC4:
/* 80224CC4 00220924  7C 7F 1B 78 */	mr r31, r3
lbl_80224CC8:
/* 80224CC8 00220928  A8 1E 00 10 */	lha r0, 0x10(r30)
/* 80224CCC 0022092C  2C 00 00 01 */	cmpwi r0, 1
/* 80224CD0 00220930  40 82 00 0C */	bne lbl_80224CDC
/* 80224CD4 00220934  80 7E 00 14 */	lwz r3, 0x14(r30)
/* 80224CD8 00220938  48 00 00 28 */	b lbl_80224D00
lbl_80224CDC:
/* 80224CDC 0022093C  2C 00 00 02 */	cmpwi r0, 2
/* 80224CE0 00220940  40 82 00 18 */	bne lbl_80224CF8
/* 80224CE4 00220944  C0 1E 00 14 */	lfs f0, 0x14(r30)
/* 80224CE8 00220948  FC 00 00 1E */	fctiwz f0, f0
/* 80224CEC 0022094C  D8 01 00 10 */	stfd f0, 0x10(r1)
/* 80224CF0 00220950  80 61 00 14 */	lwz r3, 0x14(r1)
/* 80224CF4 00220954  48 00 00 0C */	b lbl_80224D00
lbl_80224CF8:
/* 80224CF8 00220958  38 7E 00 10 */	addi r3, r30, 0x10
/* 80224CFC 0022095C  48 00 90 39 */	bl func_8022DD34
lbl_80224D00:
/* 80224D00 00220960  2C 1F 00 10 */	cmpwi r31, 0x10
/* 80224D04 00220964  40 80 00 14 */	bge lbl_80224D18
/* 80224D08 00220968  2C 1F 00 00 */	cmpwi r31, 0
/* 80224D0C 0022096C  41 80 00 0C */	blt lbl_80224D18
/* 80224D10 00220970  38 00 00 01 */	li r0, 1
/* 80224D14 00220974  48 00 00 08 */	b lbl_80224D1C
lbl_80224D18:
/* 80224D18 00220978  38 00 00 00 */	li r0, 0
lbl_80224D1C:
/* 80224D1C 0022097C  2C 00 00 00 */	cmpwi r0, 0
/* 80224D20 00220980  41 82 02 AC */	beq lbl_80224FCC
/* 80224D24 00220984  7C 9D FA 14 */	add r4, r29, r31
/* 80224D28 00220988  98 64 09 18 */	stb r3, 0x918(r4)
/* 80224D2C 0022098C  48 00 02 A0 */	b lbl_80224FCC
/* 80224D30 00220990  A8 05 00 08 */	lha r0, 8(r5)
/* 80224D34 00220994  2C 00 00 01 */	cmpwi r0, 1
/* 80224D38 00220998  40 82 00 0C */	bne lbl_80224D44
/* 80224D3C 0022099C  80 65 00 0C */	lwz r3, 0xc(r5)
/* 80224D40 002209A0  48 00 00 28 */	b lbl_80224D68
lbl_80224D44:
/* 80224D44 002209A4  2C 00 00 02 */	cmpwi r0, 2
/* 80224D48 002209A8  40 82 00 18 */	bne lbl_80224D60
/* 80224D4C 002209AC  C0 05 00 0C */	lfs f0, 0xc(r5)
/* 80224D50 002209B0  FC 00 00 1E */	fctiwz f0, f0
/* 80224D54 002209B4  D8 01 00 10 */	stfd f0, 0x10(r1)
/* 80224D58 002209B8  80 61 00 14 */	lwz r3, 0x14(r1)
/* 80224D5C 002209BC  48 00 00 0C */	b lbl_80224D68
lbl_80224D60:
/* 80224D60 002209C0  38 65 00 08 */	addi r3, r5, 8
/* 80224D64 002209C4  48 00 8F D1 */	bl func_8022DD34
lbl_80224D68:
/* 80224D68 002209C8  2C 03 00 10 */	cmpwi r3, 0x10
/* 80224D6C 002209CC  40 80 00 14 */	bge lbl_80224D80
/* 80224D70 002209D0  2C 03 00 00 */	cmpwi r3, 0
/* 80224D74 002209D4  41 80 00 0C */	blt lbl_80224D80
/* 80224D78 002209D8  38 00 00 01 */	li r0, 1
/* 80224D7C 002209DC  48 00 00 08 */	b lbl_80224D84
lbl_80224D80:
/* 80224D80 002209E0  38 00 00 00 */	li r0, 0
lbl_80224D84:
/* 80224D84 002209E4  2C 00 00 00 */	cmpwi r0, 0
/* 80224D88 002209E8  41 82 00 10 */	beq lbl_80224D98
/* 80224D8C 002209EC  7C 7D 1A 14 */	add r3, r29, r3
/* 80224D90 002209F0  88 63 09 18 */	lbz r3, 0x918(r3)
/* 80224D94 002209F4  48 00 00 08 */	b lbl_80224D9C
lbl_80224D98:
/* 80224D98 002209F8  38 60 00 00 */	li r3, 0
lbl_80224D9C:
/* 80224D9C 002209FC  38 00 00 01 */	li r0, 1
/* 80224DA0 00220A00  90 7F 00 04 */	stw r3, 4(r31)
/* 80224DA4 00220A04  B0 1F 00 00 */	sth r0, 0(r31)
/* 80224DA8 00220A08  48 00 02 24 */	b lbl_80224FCC
/* 80224DAC 00220A0C  A8 05 00 08 */	lha r0, 8(r5)
/* 80224DB0 00220A10  2C 00 00 01 */	cmpwi r0, 1
/* 80224DB4 00220A14  40 82 00 0C */	bne lbl_80224DC0
/* 80224DB8 00220A18  80 65 00 0C */	lwz r3, 0xc(r5)
/* 80224DBC 00220A1C  48 00 00 28 */	b lbl_80224DE4
lbl_80224DC0:
/* 80224DC0 00220A20  2C 00 00 02 */	cmpwi r0, 2
/* 80224DC4 00220A24  40 82 00 18 */	bne lbl_80224DDC
/* 80224DC8 00220A28  C0 05 00 0C */	lfs f0, 0xc(r5)
/* 80224DCC 00220A2C  FC 00 00 1E */	fctiwz f0, f0
/* 80224DD0 00220A30  D8 01 00 10 */	stfd f0, 0x10(r1)
/* 80224DD4 00220A34  80 61 00 14 */	lwz r3, 0x14(r1)
/* 80224DD8 00220A38  48 00 00 0C */	b lbl_80224DE4
lbl_80224DDC:
/* 80224DDC 00220A3C  38 65 00 08 */	addi r3, r5, 8
/* 80224DE0 00220A40  48 00 8F 55 */	bl func_8022DD34
lbl_80224DE4:
/* 80224DE4 00220A44  2C 03 00 10 */	cmpwi r3, 0x10
/* 80224DE8 00220A48  40 80 00 14 */	bge lbl_80224DFC
/* 80224DEC 00220A4C  2C 03 00 00 */	cmpwi r3, 0
/* 80224DF0 00220A50  41 80 00 0C */	blt lbl_80224DFC
/* 80224DF4 00220A54  38 00 00 01 */	li r0, 1
/* 80224DF8 00220A58  48 00 00 08 */	b lbl_80224E00
lbl_80224DFC:
/* 80224DFC 00220A5C  38 00 00 00 */	li r0, 0
lbl_80224E00:
/* 80224E00 00220A60  2C 00 00 00 */	cmpwi r0, 0
/* 80224E04 00220A64  41 82 01 C8 */	beq lbl_80224FCC
/* 80224E08 00220A68  A8 1E 00 08 */	lha r0, 8(r30)
/* 80224E0C 00220A6C  2C 00 00 01 */	cmpwi r0, 1
/* 80224E10 00220A70  40 82 00 0C */	bne lbl_80224E1C
/* 80224E14 00220A74  80 7E 00 0C */	lwz r3, 0xc(r30)
/* 80224E18 00220A78  48 00 00 28 */	b lbl_80224E40
lbl_80224E1C:
/* 80224E1C 00220A7C  2C 00 00 02 */	cmpwi r0, 2
/* 80224E20 00220A80  40 82 00 18 */	bne lbl_80224E38
/* 80224E24 00220A84  C0 1E 00 0C */	lfs f0, 0xc(r30)
/* 80224E28 00220A88  FC 00 00 1E */	fctiwz f0, f0
/* 80224E2C 00220A8C  D8 01 00 10 */	stfd f0, 0x10(r1)
/* 80224E30 00220A90  80 61 00 14 */	lwz r3, 0x14(r1)
/* 80224E34 00220A94  48 00 00 0C */	b lbl_80224E40
lbl_80224E38:
/* 80224E38 00220A98  38 7E 00 08 */	addi r3, r30, 8
/* 80224E3C 00220A9C  48 00 8E F9 */	bl func_8022DD34
lbl_80224E40:
/* 80224E40 00220AA0  2C 03 00 10 */	cmpwi r3, 0x10
/* 80224E44 00220AA4  40 80 00 14 */	bge lbl_80224E58
/* 80224E48 00220AA8  2C 03 00 00 */	cmpwi r3, 0
/* 80224E4C 00220AAC  41 80 00 0C */	blt lbl_80224E58
/* 80224E50 00220AB0  38 00 00 01 */	li r0, 1
/* 80224E54 00220AB4  48 00 00 08 */	b lbl_80224E5C
lbl_80224E58:
/* 80224E58 00220AB8  38 00 00 00 */	li r0, 0
lbl_80224E5C:
/* 80224E5C 00220ABC  2C 00 00 00 */	cmpwi r0, 0
/* 80224E60 00220AC0  41 82 00 10 */	beq lbl_80224E70
/* 80224E64 00220AC4  7C 7D 1A 14 */	add r3, r29, r3
/* 80224E68 00220AC8  8B A3 09 18 */	lbz r29, 0x918(r3)
/* 80224E6C 00220ACC  48 00 00 08 */	b lbl_80224E74
lbl_80224E70:
/* 80224E70 00220AD0  3B A0 00 00 */	li r29, 0
lbl_80224E74:
/* 80224E74 00220AD4  A8 1E 00 10 */	lha r0, 0x10(r30)
/* 80224E78 00220AD8  2C 00 00 01 */	cmpwi r0, 1
/* 80224E7C 00220ADC  40 82 00 0C */	bne lbl_80224E88
/* 80224E80 00220AE0  80 7E 00 14 */	lwz r3, 0x14(r30)
/* 80224E84 00220AE4  48 00 00 28 */	b lbl_80224EAC
lbl_80224E88:
/* 80224E88 00220AE8  2C 00 00 02 */	cmpwi r0, 2
/* 80224E8C 00220AEC  40 82 00 18 */	bne lbl_80224EA4
/* 80224E90 00220AF0  C0 1E 00 14 */	lfs f0, 0x14(r30)
/* 80224E94 00220AF4  FC 00 00 1E */	fctiwz f0, f0
/* 80224E98 00220AF8  D8 01 00 10 */	stfd f0, 0x10(r1)
/* 80224E9C 00220AFC  80 61 00 14 */	lwz r3, 0x14(r1)
/* 80224EA0 00220B00  48 00 00 0C */	b lbl_80224EAC
lbl_80224EA4:
/* 80224EA4 00220B04  38 7E 00 10 */	addi r3, r30, 0x10
/* 80224EA8 00220B08  48 00 8E 8D */	bl func_8022DD34
lbl_80224EAC:
/* 80224EAC 00220B0C  7C 1D 18 00 */	cmpw r29, r3
/* 80224EB0 00220B10  40 80 01 1C */	bge lbl_80224FCC
/* 80224EB4 00220B14  38 60 00 02 */	li r3, 2
/* 80224EB8 00220B18  48 00 01 18 */	b lbl_80224FD0
/* 80224EBC 00220B1C  A8 05 00 08 */	lha r0, 8(r5)
/* 80224EC0 00220B20  2C 00 00 01 */	cmpwi r0, 1
/* 80224EC4 00220B24  40 82 00 0C */	bne lbl_80224ED0
/* 80224EC8 00220B28  80 65 00 0C */	lwz r3, 0xc(r5)
/* 80224ECC 00220B2C  48 00 00 28 */	b lbl_80224EF4
lbl_80224ED0:
/* 80224ED0 00220B30  2C 00 00 02 */	cmpwi r0, 2
/* 80224ED4 00220B34  40 82 00 18 */	bne lbl_80224EEC
/* 80224ED8 00220B38  C0 05 00 0C */	lfs f0, 0xc(r5)
/* 80224EDC 00220B3C  FC 00 00 1E */	fctiwz f0, f0
/* 80224EE0 00220B40  D8 01 00 10 */	stfd f0, 0x10(r1)
/* 80224EE4 00220B44  80 61 00 14 */	lwz r3, 0x14(r1)
/* 80224EE8 00220B48  48 00 00 0C */	b lbl_80224EF4
lbl_80224EEC:
/* 80224EEC 00220B4C  38 65 00 08 */	addi r3, r5, 8
/* 80224EF0 00220B50  48 00 8E 45 */	bl func_8022DD34
lbl_80224EF4:
/* 80224EF4 00220B54  2C 03 00 10 */	cmpwi r3, 0x10
/* 80224EF8 00220B58  40 80 00 14 */	bge lbl_80224F0C
/* 80224EFC 00220B5C  2C 03 00 00 */	cmpwi r3, 0
/* 80224F00 00220B60  41 80 00 0C */	blt lbl_80224F0C
/* 80224F04 00220B64  38 00 00 01 */	li r0, 1
/* 80224F08 00220B68  48 00 00 08 */	b lbl_80224F10
lbl_80224F0C:
/* 80224F0C 00220B6C  38 00 00 00 */	li r0, 0
lbl_80224F10:
/* 80224F10 00220B70  2C 00 00 00 */	cmpwi r0, 0
/* 80224F14 00220B74  41 82 00 B8 */	beq lbl_80224FCC
/* 80224F18 00220B78  A8 1E 00 08 */	lha r0, 8(r30)
/* 80224F1C 00220B7C  2C 00 00 01 */	cmpwi r0, 1
/* 80224F20 00220B80  40 82 00 0C */	bne lbl_80224F2C
/* 80224F24 00220B84  80 7E 00 0C */	lwz r3, 0xc(r30)
/* 80224F28 00220B88  48 00 00 28 */	b lbl_80224F50
lbl_80224F2C:
/* 80224F2C 00220B8C  2C 00 00 02 */	cmpwi r0, 2
/* 80224F30 00220B90  40 82 00 18 */	bne lbl_80224F48
/* 80224F34 00220B94  C0 1E 00 0C */	lfs f0, 0xc(r30)
/* 80224F38 00220B98  FC 00 00 1E */	fctiwz f0, f0
/* 80224F3C 00220B9C  D8 01 00 10 */	stfd f0, 0x10(r1)
/* 80224F40 00220BA0  80 61 00 14 */	lwz r3, 0x14(r1)
/* 80224F44 00220BA4  48 00 00 0C */	b lbl_80224F50
lbl_80224F48:
/* 80224F48 00220BA8  38 7E 00 08 */	addi r3, r30, 8
/* 80224F4C 00220BAC  48 00 8D E9 */	bl func_8022DD34
lbl_80224F50:
/* 80224F50 00220BB0  2C 03 00 10 */	cmpwi r3, 0x10
/* 80224F54 00220BB4  40 80 00 14 */	bge lbl_80224F68
/* 80224F58 00220BB8  2C 03 00 00 */	cmpwi r3, 0
/* 80224F5C 00220BBC  41 80 00 0C */	blt lbl_80224F68
/* 80224F60 00220BC0  38 00 00 01 */	li r0, 1
/* 80224F64 00220BC4  48 00 00 08 */	b lbl_80224F6C
lbl_80224F68:
/* 80224F68 00220BC8  38 00 00 00 */	li r0, 0
lbl_80224F6C:
/* 80224F6C 00220BCC  2C 00 00 00 */	cmpwi r0, 0
/* 80224F70 00220BD0  41 82 00 10 */	beq lbl_80224F80
/* 80224F74 00220BD4  7C 7D 1A 14 */	add r3, r29, r3
/* 80224F78 00220BD8  8B A3 09 18 */	lbz r29, 0x918(r3)
/* 80224F7C 00220BDC  48 00 00 08 */	b lbl_80224F84
lbl_80224F80:
/* 80224F80 00220BE0  3B A0 00 00 */	li r29, 0
lbl_80224F84:
/* 80224F84 00220BE4  A8 1E 00 10 */	lha r0, 0x10(r30)
/* 80224F88 00220BE8  2C 00 00 01 */	cmpwi r0, 1
/* 80224F8C 00220BEC  40 82 00 0C */	bne lbl_80224F98
/* 80224F90 00220BF0  80 7E 00 14 */	lwz r3, 0x14(r30)
/* 80224F94 00220BF4  48 00 00 28 */	b lbl_80224FBC
lbl_80224F98:
/* 80224F98 00220BF8  2C 00 00 02 */	cmpwi r0, 2
/* 80224F9C 00220BFC  40 82 00 18 */	bne lbl_80224FB4
/* 80224FA0 00220C00  C0 1E 00 14 */	lfs f0, 0x14(r30)
/* 80224FA4 00220C04  FC 00 00 1E */	fctiwz f0, f0
/* 80224FA8 00220C08  D8 01 00 10 */	stfd f0, 0x10(r1)
/* 80224FAC 00220C0C  80 61 00 14 */	lwz r3, 0x14(r1)
/* 80224FB0 00220C10  48 00 00 0C */	b lbl_80224FBC
lbl_80224FB4:
/* 80224FB4 00220C14  38 7E 00 10 */	addi r3, r30, 0x10
/* 80224FB8 00220C18  48 00 8D 7D */	bl func_8022DD34
lbl_80224FBC:
/* 80224FBC 00220C1C  7C 1D 18 00 */	cmpw r29, r3
/* 80224FC0 00220C20  41 82 00 0C */	beq lbl_80224FCC
/* 80224FC4 00220C24  38 60 00 02 */	li r3, 2
/* 80224FC8 00220C28  48 00 00 08 */	b lbl_80224FD0
lbl_80224FCC:
/* 80224FCC 00220C2C  38 60 00 01 */	li r3, 1
lbl_80224FD0:
/* 80224FD0 00220C30  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80224FD4 00220C34  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 80224FD8 00220C38  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 80224FDC 00220C3C  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 80224FE0 00220C40  7C 08 03 A6 */	mtlr r0
/* 80224FE4 00220C44  38 21 00 30 */	addi r1, r1, 0x30
/* 80224FE8 00220C48  4E 80 00 20 */	blr

.global func_80224FEC
func_80224FEC:
/* 80224FEC 00220C4C  94 21 FE 50 */	stwu r1, -0x1b0(r1)
/* 80224FF0 00220C50  7C 08 02 A6 */	mflr r0
/* 80224FF4 00220C54  90 01 01 B4 */	stw r0, 0x1b4(r1)
/* 80224FF8 00220C58  39 61 01 B0 */	addi r11, r1, 0x1b0
/* 80224FFC 00220C5C  4B FA 21 2D */	bl _savegpr_27
/* 80225000 00220C60  C0 02 9C 80 */	lfs f0, lbl_80642280-_SDA2_BASE_(r2)
/* 80225004 00220C64  3C 00 43 30 */	lis r0, 0x4330
/* 80225008 00220C68  2C 04 00 01 */	cmpwi r4, 1
/* 8022500C 00220C6C  90 01 01 88 */	stw r0, 0x188(r1)
/* 80225010 00220C70  7C 7C 1B 78 */	mr r28, r3
/* 80225014 00220C74  7C 9B 23 78 */	mr r27, r4
/* 80225018 00220C78  90 01 01 90 */	stw r0, 0x190(r1)
/* 8022501C 00220C7C  7C BD 2B 78 */	mr r29, r5
/* 80225020 00220C80  7C DE 33 78 */	mr r30, r6
/* 80225024 00220C84  3B E0 00 00 */	li r31, 0
/* 80225028 00220C88  D0 01 00 78 */	stfs f0, 0x78(r1)
/* 8022502C 00220C8C  D0 01 00 7C */	stfs f0, 0x7c(r1)
/* 80225030 00220C90  D0 01 00 80 */	stfs f0, 0x80(r1)
/* 80225034 00220C94  41 82 00 74 */	beq lbl_802250A8
/* 80225038 00220C98  A8 65 00 00 */	lha r3, 0(r5)
/* 8022503C 00220C9C  2C 03 00 04 */	cmpwi r3, 4
/* 80225040 00220CA0  41 82 00 64 */	beq lbl_802250A4
/* 80225044 00220CA4  38 03 FF FF */	addi r0, r3, -1
/* 80225048 00220CA8  54 00 04 3E */	clrlwi r0, r0, 0x10
/* 8022504C 00220CAC  28 00 00 01 */	cmplwi r0, 1
/* 80225050 00220CB0  41 81 00 10 */	bgt lbl_80225060
/* 80225054 00220CB4  38 00 00 00 */	li r0, 0
/* 80225058 00220CB8  B0 05 00 00 */	sth r0, 0(r5)
/* 8022505C 00220CBC  48 00 00 20 */	b lbl_8022507C
lbl_80225060:
/* 80225060 00220CC0  80 6D A3 B0 */	lwz r3, lbl_8063F670-_SDA_BASE_(r13)
/* 80225064 00220CC4  7F A4 EB 78 */	mr r4, r29
/* 80225068 00220CC8  80 63 09 10 */	lwz r3, 0x910(r3)
/* 8022506C 00220CCC  48 00 89 41 */	bl func_8022D9AC
/* 80225070 00220CD0  38 00 00 00 */	li r0, 0
/* 80225074 00220CD4  B0 1D 00 00 */	sth r0, 0(r29)
/* 80225078 00220CD8  B0 1D 00 02 */	sth r0, 2(r29)
lbl_8022507C:
/* 8022507C 00220CDC  38 80 00 04 */	li r4, 4
/* 80225080 00220CE0  38 01 00 78 */	addi r0, r1, 0x78
/* 80225084 00220CE4  38 60 00 00 */	li r3, 0
/* 80225088 00220CE8  B0 9D 00 00 */	sth r4, 0(r29)
/* 8022508C 00220CEC  B0 7D 00 02 */	sth r3, 2(r29)
/* 80225090 00220CF0  90 1D 00 04 */	stw r0, 4(r29)
/* 80225094 00220CF4  80 6D A3 B0 */	lwz r3, lbl_8063F670-_SDA_BASE_(r13)
/* 80225098 00220CF8  7F A4 EB 78 */	mr r4, r29
/* 8022509C 00220CFC  80 63 09 10 */	lwz r3, 0x910(r3)
/* 802250A0 00220D00  48 00 88 41 */	bl func_8022D8E0
lbl_802250A4:
/* 802250A4 00220D04  83 FD 00 04 */	lwz r31, 4(r29)
lbl_802250A8:
/* 802250A8 00220D08  38 1B FF FD */	addi r0, r27, -3
/* 802250AC 00220D0C  28 00 00 1F */	cmplwi r0, 0x1f
/* 802250B0 00220D10  41 81 09 7C */	bgt lbl_80225A2C
/* 802250B4 00220D14  3C 60 80 42 */	lis r3, lbl_80423C80@ha
/* 802250B8 00220D18  54 00 10 3A */	slwi r0, r0, 2
/* 802250BC 00220D1C  38 63 3C 80 */	addi r3, r3, lbl_80423C80@l
/* 802250C0 00220D20  7C 63 00 2E */	lwzx r3, r3, r0
/* 802250C4 00220D24  7C 69 03 A6 */	mtctr r3
/* 802250C8 00220D28  4E 80 04 20 */	bctr
/* 802250CC 00220D2C  3C 80 80 42 */	lis r4, lbl_80423C6C@ha
/* 802250D0 00220D30  C0 3F 00 00 */	lfs f1, 0(r31)
/* 802250D4 00220D34  C0 5F 00 04 */	lfs f2, 4(r31)
/* 802250D8 00220D38  38 61 00 88 */	addi r3, r1, 0x88
/* 802250DC 00220D3C  C0 7F 00 08 */	lfs f3, 8(r31)
/* 802250E0 00220D40  38 84 3C 6C */	addi r4, r4, lbl_80423C6C@l
/* 802250E4 00220D44  4C C6 32 42 */	crset 6
/* 802250E8 00220D48  4B FA 7A 15 */	bl sprintf
/* 802250EC 00220D4C  80 7C 09 14 */	lwz r3, 0x914(r28)
/* 802250F0 00220D50  38 81 00 88 */	addi r4, r1, 0x88
/* 802250F4 00220D54  38 A0 00 FF */	li r5, 0xff
/* 802250F8 00220D58  38 63 00 38 */	addi r3, r3, 0x38
/* 802250FC 00220D5C  4B FA 92 95 */	bl strncpy
/* 80225100 00220D60  80 9C 09 14 */	lwz r4, 0x914(r28)
/* 80225104 00220D64  38 00 00 03 */	li r0, 3
/* 80225108 00220D68  38 64 00 38 */	addi r3, r4, 0x38
/* 8022510C 00220D6C  90 64 00 14 */	stw r3, 0x14(r4)
/* 80225110 00220D70  80 7C 09 14 */	lwz r3, 0x914(r28)
/* 80225114 00220D74  B0 03 00 10 */	sth r0, 0x10(r3)
/* 80225118 00220D78  48 00 09 14 */	b lbl_80225A2C
/* 8022511C 00220D7C  C0 02 9C 80 */	lfs f0, lbl_80642280-_SDA2_BASE_(r2)
/* 80225120 00220D80  D0 1F 00 08 */	stfs f0, 8(r31)
/* 80225124 00220D84  D0 1F 00 04 */	stfs f0, 4(r31)
/* 80225128 00220D88  D0 1F 00 00 */	stfs f0, 0(r31)
/* 8022512C 00220D8C  48 00 09 00 */	b lbl_80225A2C
/* 80225130 00220D90  C0 22 9C 80 */	lfs f1, lbl_80642280-_SDA2_BASE_(r2)
/* 80225134 00220D94  C0 1F 00 00 */	lfs f0, 0(r31)
/* 80225138 00220D98  FC 01 00 00 */	fcmpu cr0, f1, f0
/* 8022513C 00220D9C  40 82 00 1C */	bne lbl_80225158
/* 80225140 00220DA0  C0 1F 00 04 */	lfs f0, 4(r31)
/* 80225144 00220DA4  FC 01 00 00 */	fcmpu cr0, f1, f0
/* 80225148 00220DA8  40 82 00 10 */	bne lbl_80225158
/* 8022514C 00220DAC  C0 1F 00 08 */	lfs f0, 8(r31)
/* 80225150 00220DB0  FC 01 00 00 */	fcmpu cr0, f1, f0
/* 80225154 00220DB4  41 82 08 D8 */	beq lbl_80225A2C
lbl_80225158:
/* 80225158 00220DB8  7F E3 FB 78 */	mr r3, r31
/* 8022515C 00220DBC  7F E4 FB 78 */	mr r4, r31
/* 80225160 00220DC0  48 05 7B C9 */	bl PSVECNormalize
/* 80225164 00220DC4  48 00 08 C8 */	b lbl_80225A2C
/* 80225168 00220DC8  A8 1D 00 08 */	lha r0, 8(r29)
/* 8022516C 00220DCC  2C 00 00 01 */	cmpwi r0, 1
/* 80225170 00220DD0  40 82 00 20 */	bne lbl_80225190
/* 80225174 00220DD4  80 1D 00 0C */	lwz r0, 0xc(r29)
/* 80225178 00220DD8  C8 22 9C A8 */	lfd f1, lbl_806422A8-_SDA2_BASE_(r2)
/* 8022517C 00220DDC  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 80225180 00220DE0  90 01 01 8C */	stw r0, 0x18c(r1)
/* 80225184 00220DE4  C8 01 01 88 */	lfd f0, 0x188(r1)
/* 80225188 00220DE8  EC 20 08 28 */	fsubs f1, f0, f1
/* 8022518C 00220DEC  48 00 00 1C */	b lbl_802251A8
lbl_80225190:
/* 80225190 00220DF0  2C 00 00 02 */	cmpwi r0, 2
/* 80225194 00220DF4  40 82 00 0C */	bne lbl_802251A0
/* 80225198 00220DF8  C0 3D 00 0C */	lfs f1, 0xc(r29)
/* 8022519C 00220DFC  48 00 00 0C */	b lbl_802251A8
lbl_802251A0:
/* 802251A0 00220E00  38 7D 00 08 */	addi r3, r29, 8
/* 802251A4 00220E04  48 00 8B D5 */	bl func_8022DD78
lbl_802251A8:
/* 802251A8 00220E08  D0 3F 00 00 */	stfs f1, 0(r31)
/* 802251AC 00220E0C  A8 1D 00 10 */	lha r0, 0x10(r29)
/* 802251B0 00220E10  2C 00 00 01 */	cmpwi r0, 1
/* 802251B4 00220E14  40 82 00 20 */	bne lbl_802251D4
/* 802251B8 00220E18  80 1D 00 14 */	lwz r0, 0x14(r29)
/* 802251BC 00220E1C  C8 22 9C A8 */	lfd f1, lbl_806422A8-_SDA2_BASE_(r2)
/* 802251C0 00220E20  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 802251C4 00220E24  90 01 01 94 */	stw r0, 0x194(r1)
/* 802251C8 00220E28  C8 01 01 90 */	lfd f0, 0x190(r1)
/* 802251CC 00220E2C  EC 20 08 28 */	fsubs f1, f0, f1
/* 802251D0 00220E30  48 00 00 1C */	b lbl_802251EC
lbl_802251D4:
/* 802251D4 00220E34  2C 00 00 02 */	cmpwi r0, 2
/* 802251D8 00220E38  40 82 00 0C */	bne lbl_802251E4
/* 802251DC 00220E3C  C0 3D 00 14 */	lfs f1, 0x14(r29)
/* 802251E0 00220E40  48 00 00 0C */	b lbl_802251EC
lbl_802251E4:
/* 802251E4 00220E44  38 7D 00 10 */	addi r3, r29, 0x10
/* 802251E8 00220E48  48 00 8B 91 */	bl func_8022DD78
lbl_802251EC:
/* 802251EC 00220E4C  D0 3F 00 04 */	stfs f1, 4(r31)
/* 802251F0 00220E50  A8 1D 00 18 */	lha r0, 0x18(r29)
/* 802251F4 00220E54  2C 00 00 01 */	cmpwi r0, 1
/* 802251F8 00220E58  40 82 00 20 */	bne lbl_80225218
/* 802251FC 00220E5C  80 1D 00 1C */	lwz r0, 0x1c(r29)
/* 80225200 00220E60  C8 22 9C A8 */	lfd f1, lbl_806422A8-_SDA2_BASE_(r2)
/* 80225204 00220E64  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 80225208 00220E68  90 01 01 8C */	stw r0, 0x18c(r1)
/* 8022520C 00220E6C  C8 01 01 88 */	lfd f0, 0x188(r1)
/* 80225210 00220E70  EC 20 08 28 */	fsubs f1, f0, f1
/* 80225214 00220E74  48 00 00 1C */	b lbl_80225230
lbl_80225218:
/* 80225218 00220E78  2C 00 00 02 */	cmpwi r0, 2
/* 8022521C 00220E7C  40 82 00 0C */	bne lbl_80225228
/* 80225220 00220E80  C0 3D 00 1C */	lfs f1, 0x1c(r29)
/* 80225224 00220E84  48 00 00 0C */	b lbl_80225230
lbl_80225228:
/* 80225228 00220E88  38 7D 00 18 */	addi r3, r29, 0x18
/* 8022522C 00220E8C  48 00 8B 4D */	bl func_8022DD78
lbl_80225230:
/* 80225230 00220E90  D0 3F 00 08 */	stfs f1, 8(r31)
/* 80225234 00220E94  48 00 07 F8 */	b lbl_80225A2C
/* 80225238 00220E98  A8 1D 00 08 */	lha r0, 8(r29)
/* 8022523C 00220E9C  2C 00 00 01 */	cmpwi r0, 1
/* 80225240 00220EA0  40 82 00 20 */	bne lbl_80225260
/* 80225244 00220EA4  80 1D 00 0C */	lwz r0, 0xc(r29)
/* 80225248 00220EA8  C8 22 9C A8 */	lfd f1, lbl_806422A8-_SDA2_BASE_(r2)
/* 8022524C 00220EAC  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 80225250 00220EB0  90 01 01 94 */	stw r0, 0x194(r1)
/* 80225254 00220EB4  C8 01 01 90 */	lfd f0, 0x190(r1)
/* 80225258 00220EB8  EC 20 08 28 */	fsubs f1, f0, f1
/* 8022525C 00220EBC  48 00 00 1C */	b lbl_80225278
lbl_80225260:
/* 80225260 00220EC0  2C 00 00 02 */	cmpwi r0, 2
/* 80225264 00220EC4  40 82 00 0C */	bne lbl_80225270
/* 80225268 00220EC8  C0 3D 00 0C */	lfs f1, 0xc(r29)
/* 8022526C 00220ECC  48 00 00 0C */	b lbl_80225278
lbl_80225270:
/* 80225270 00220ED0  38 7D 00 08 */	addi r3, r29, 8
/* 80225274 00220ED4  48 00 8B 05 */	bl func_8022DD78
lbl_80225278:
/* 80225278 00220ED8  D0 3F 00 00 */	stfs f1, 0(r31)
/* 8022527C 00220EDC  A8 1D 00 10 */	lha r0, 0x10(r29)
/* 80225280 00220EE0  2C 00 00 01 */	cmpwi r0, 1
/* 80225284 00220EE4  40 82 00 20 */	bne lbl_802252A4
/* 80225288 00220EE8  80 1D 00 14 */	lwz r0, 0x14(r29)
/* 8022528C 00220EEC  C8 22 9C A8 */	lfd f1, lbl_806422A8-_SDA2_BASE_(r2)
/* 80225290 00220EF0  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 80225294 00220EF4  90 01 01 8C */	stw r0, 0x18c(r1)
/* 80225298 00220EF8  C8 01 01 88 */	lfd f0, 0x188(r1)
/* 8022529C 00220EFC  EC 20 08 28 */	fsubs f1, f0, f1
/* 802252A0 00220F00  48 00 00 1C */	b lbl_802252BC
lbl_802252A4:
/* 802252A4 00220F04  2C 00 00 02 */	cmpwi r0, 2
/* 802252A8 00220F08  40 82 00 0C */	bne lbl_802252B4
/* 802252AC 00220F0C  C0 3D 00 14 */	lfs f1, 0x14(r29)
/* 802252B0 00220F10  48 00 00 0C */	b lbl_802252BC
lbl_802252B4:
/* 802252B4 00220F14  38 7D 00 10 */	addi r3, r29, 0x10
/* 802252B8 00220F18  48 00 8A C1 */	bl func_8022DD78
lbl_802252BC:
/* 802252BC 00220F1C  D0 3F 00 04 */	stfs f1, 4(r31)
/* 802252C0 00220F20  A8 1D 00 18 */	lha r0, 0x18(r29)
/* 802252C4 00220F24  2C 00 00 01 */	cmpwi r0, 1
/* 802252C8 00220F28  40 82 00 20 */	bne lbl_802252E8
/* 802252CC 00220F2C  80 1D 00 1C */	lwz r0, 0x1c(r29)
/* 802252D0 00220F30  C8 22 9C A8 */	lfd f1, lbl_806422A8-_SDA2_BASE_(r2)
/* 802252D4 00220F34  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 802252D8 00220F38  90 01 01 94 */	stw r0, 0x194(r1)
/* 802252DC 00220F3C  C8 01 01 90 */	lfd f0, 0x190(r1)
/* 802252E0 00220F40  EC 20 08 28 */	fsubs f1, f0, f1
/* 802252E4 00220F44  48 00 00 1C */	b lbl_80225300
lbl_802252E8:
/* 802252E8 00220F48  2C 00 00 02 */	cmpwi r0, 2
/* 802252EC 00220F4C  40 82 00 0C */	bne lbl_802252F8
/* 802252F0 00220F50  C0 3D 00 1C */	lfs f1, 0x1c(r29)
/* 802252F4 00220F54  48 00 00 0C */	b lbl_80225300
lbl_802252F8:
/* 802252F8 00220F58  38 7D 00 18 */	addi r3, r29, 0x18
/* 802252FC 00220F5C  48 00 8A 7D */	bl func_8022DD78
lbl_80225300:
/* 80225300 00220F60  D0 3F 00 08 */	stfs f1, 8(r31)
/* 80225304 00220F64  48 00 07 28 */	b lbl_80225A2C
/* 80225308 00220F68  A8 1D 00 08 */	lha r0, 8(r29)
/* 8022530C 00220F6C  2C 00 00 01 */	cmpwi r0, 1
/* 80225310 00220F70  40 82 00 20 */	bne lbl_80225330
/* 80225314 00220F74  80 1D 00 0C */	lwz r0, 0xc(r29)
/* 80225318 00220F78  C8 22 9C A8 */	lfd f1, lbl_806422A8-_SDA2_BASE_(r2)
/* 8022531C 00220F7C  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 80225320 00220F80  90 01 01 8C */	stw r0, 0x18c(r1)
/* 80225324 00220F84  C8 01 01 88 */	lfd f0, 0x188(r1)
/* 80225328 00220F88  EC 20 08 28 */	fsubs f1, f0, f1
/* 8022532C 00220F8C  48 00 00 1C */	b lbl_80225348
lbl_80225330:
/* 80225330 00220F90  2C 00 00 02 */	cmpwi r0, 2
/* 80225334 00220F94  40 82 00 0C */	bne lbl_80225340
/* 80225338 00220F98  C0 3D 00 0C */	lfs f1, 0xc(r29)
/* 8022533C 00220F9C  48 00 00 0C */	b lbl_80225348
lbl_80225340:
/* 80225340 00220FA0  38 7D 00 08 */	addi r3, r29, 8
/* 80225344 00220FA4  48 00 8A 35 */	bl func_8022DD78
lbl_80225348:
/* 80225348 00220FA8  D0 3F 00 08 */	stfs f1, 8(r31)
/* 8022534C 00220FAC  D0 3F 00 04 */	stfs f1, 4(r31)
/* 80225350 00220FB0  D0 3F 00 00 */	stfs f1, 0(r31)
/* 80225354 00220FB4  48 00 06 D8 */	b lbl_80225A2C
/* 80225358 00220FB8  C0 3F 00 00 */	lfs f1, 0(r31)
/* 8022535C 00220FBC  C0 02 9C 80 */	lfs f0, lbl_80642280-_SDA2_BASE_(r2)
/* 80225360 00220FC0  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 80225364 00220FC4  4C 41 13 82 */	cror 2, 1, 2
/* 80225368 00220FC8  40 82 00 08 */	bne lbl_80225370
/* 8022536C 00220FCC  48 00 00 08 */	b lbl_80225374
lbl_80225370:
/* 80225370 00220FD0  FC 20 08 50 */	fneg f1, f1
lbl_80225374:
/* 80225374 00220FD4  D0 3F 00 00 */	stfs f1, 0(r31)
/* 80225378 00220FD8  C0 02 9C 80 */	lfs f0, lbl_80642280-_SDA2_BASE_(r2)
/* 8022537C 00220FDC  C0 3F 00 04 */	lfs f1, 4(r31)
/* 80225380 00220FE0  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 80225384 00220FE4  4C 41 13 82 */	cror 2, 1, 2
/* 80225388 00220FE8  40 82 00 08 */	bne lbl_80225390
/* 8022538C 00220FEC  48 00 00 08 */	b lbl_80225394
lbl_80225390:
/* 80225390 00220FF0  FC 20 08 50 */	fneg f1, f1
lbl_80225394:
/* 80225394 00220FF4  D0 3F 00 04 */	stfs f1, 4(r31)
/* 80225398 00220FF8  C0 02 9C 80 */	lfs f0, lbl_80642280-_SDA2_BASE_(r2)
/* 8022539C 00220FFC  C0 3F 00 08 */	lfs f1, 8(r31)
/* 802253A0 00221000  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 802253A4 00221004  4C 41 13 82 */	cror 2, 1, 2
/* 802253A8 00221008  40 82 00 08 */	bne lbl_802253B0
/* 802253AC 0022100C  48 00 00 08 */	b lbl_802253B4
lbl_802253B0:
/* 802253B0 00221010  FC 20 08 50 */	fneg f1, f1
lbl_802253B4:
/* 802253B4 00221014  D0 3F 00 08 */	stfs f1, 8(r31)
/* 802253B8 00221018  48 00 06 74 */	b lbl_80225A2C
/* 802253BC 0022101C  C0 1F 00 00 */	lfs f0, 0(r31)
/* 802253C0 00221020  FC 00 00 50 */	fneg f0, f0
/* 802253C4 00221024  D0 1F 00 00 */	stfs f0, 0(r31)
/* 802253C8 00221028  C0 1F 00 04 */	lfs f0, 4(r31)
/* 802253CC 0022102C  FC 00 00 50 */	fneg f0, f0
/* 802253D0 00221030  D0 1F 00 04 */	stfs f0, 4(r31)
/* 802253D4 00221034  C0 1F 00 08 */	lfs f0, 8(r31)
/* 802253D8 00221038  FC 00 00 50 */	fneg f0, f0
/* 802253DC 0022103C  D0 1F 00 08 */	stfs f0, 8(r31)
/* 802253E0 00221040  48 00 06 4C */	b lbl_80225A2C
/* 802253E4 00221044  C0 1F 00 00 */	lfs f0, 0(r31)
/* 802253E8 00221048  C0 42 9C 84 */	lfs f2, lbl_80642284-_SDA2_BASE_(r2)
/* 802253EC 0022104C  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 802253F0 00221050  40 80 00 40 */	bge lbl_80225430
/* 802253F4 00221054  C0 22 9C 88 */	lfs f1, lbl_80642288-_SDA2_BASE_(r2)
/* 802253F8 00221058  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 802253FC 0022105C  40 81 00 34 */	ble lbl_80225430
/* 80225400 00221060  C0 1F 00 04 */	lfs f0, 4(r31)
/* 80225404 00221064  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 80225408 00221068  40 80 00 28 */	bge lbl_80225430
/* 8022540C 0022106C  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 80225410 00221070  40 81 00 20 */	ble lbl_80225430
/* 80225414 00221074  C0 1F 00 08 */	lfs f0, 8(r31)
/* 80225418 00221078  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 8022541C 0022107C  40 80 00 14 */	bge lbl_80225430
/* 80225420 00221080  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 80225424 00221084  40 81 00 0C */	ble lbl_80225430
/* 80225428 00221088  38 00 00 01 */	li r0, 1
/* 8022542C 0022108C  48 00 00 08 */	b lbl_80225434
lbl_80225430:
/* 80225430 00221090  38 00 00 00 */	li r0, 0
lbl_80225434:
/* 80225434 00221094  2C 00 00 00 */	cmpwi r0, 0
/* 80225438 00221098  41 82 00 14 */	beq lbl_8022544C
/* 8022543C 0022109C  38 00 00 01 */	li r0, 1
/* 80225440 002210A0  B0 1E 00 00 */	sth r0, 0(r30)
/* 80225444 002210A4  90 1E 00 04 */	stw r0, 4(r30)
/* 80225448 002210A8  48 00 05 E4 */	b lbl_80225A2C
lbl_8022544C:
/* 8022544C 002210AC  38 60 00 01 */	li r3, 1
/* 80225450 002210B0  38 00 00 00 */	li r0, 0
/* 80225454 002210B4  B0 7E 00 00 */	sth r3, 0(r30)
/* 80225458 002210B8  90 1E 00 04 */	stw r0, 4(r30)
/* 8022545C 002210BC  48 00 05 D0 */	b lbl_80225A2C
/* 80225460 002210C0  A8 1D 00 08 */	lha r0, 8(r29)
/* 80225464 002210C4  2C 00 00 04 */	cmpwi r0, 4
/* 80225468 002210C8  40 82 05 C4 */	bne lbl_80225A2C
/* 8022546C 002210CC  40 82 00 0C */	bne lbl_80225478
/* 80225470 002210D0  80 7D 00 0C */	lwz r3, 0xc(r29)
/* 80225474 002210D4  48 00 00 0C */	b lbl_80225480
lbl_80225478:
/* 80225478 002210D8  38 7D 00 08 */	addi r3, r29, 8
/* 8022547C 002210DC  4B E0 2E 65 */	bl func_800282E0
lbl_80225480:
/* 80225480 002210E0  7C 64 1B 78 */	mr r4, r3
/* 80225484 002210E4  7F E3 FB 78 */	mr r3, r31
/* 80225488 002210E8  38 A1 00 78 */	addi r5, r1, 0x78
/* 8022548C 002210EC  48 05 79 5D */	bl PSVECCrossProduct
/* 80225490 002210F0  80 7C 09 14 */	lwz r3, 0x914(r28)
/* 80225494 002210F4  38 00 00 04 */	li r0, 4
/* 80225498 002210F8  C0 01 00 78 */	lfs f0, 0x78(r1)
/* 8022549C 002210FC  D0 03 01 38 */	stfs f0, 0x138(r3)
/* 802254A0 00221100  C0 01 00 7C */	lfs f0, 0x7c(r1)
/* 802254A4 00221104  D0 03 01 3C */	stfs f0, 0x13c(r3)
/* 802254A8 00221108  C0 01 00 80 */	lfs f0, 0x80(r1)
/* 802254AC 0022110C  D0 03 01 40 */	stfs f0, 0x140(r3)
/* 802254B0 00221110  80 9C 09 14 */	lwz r4, 0x914(r28)
/* 802254B4 00221114  38 64 01 38 */	addi r3, r4, 0x138
/* 802254B8 00221118  90 64 00 14 */	stw r3, 0x14(r4)
/* 802254BC 0022111C  80 7C 09 14 */	lwz r3, 0x914(r28)
/* 802254C0 00221120  B0 03 00 10 */	sth r0, 0x10(r3)
/* 802254C4 00221124  48 00 05 68 */	b lbl_80225A2C
/* 802254C8 00221128  A8 1D 00 08 */	lha r0, 8(r29)
/* 802254CC 0022112C  2C 00 00 04 */	cmpwi r0, 4
/* 802254D0 00221130  40 82 00 34 */	bne lbl_80225504
/* 802254D4 00221134  40 82 00 0C */	bne lbl_802254E0
/* 802254D8 00221138  80 7D 00 0C */	lwz r3, 0xc(r29)
/* 802254DC 0022113C  48 00 00 0C */	b lbl_802254E8
lbl_802254E0:
/* 802254E0 00221140  38 7D 00 08 */	addi r3, r29, 8
/* 802254E4 00221144  4B E0 2D FD */	bl func_800282E0
lbl_802254E8:
/* 802254E8 00221148  7C 64 1B 78 */	mr r4, r3
/* 802254EC 0022114C  7F E3 FB 78 */	mr r3, r31
/* 802254F0 00221150  48 05 78 D9 */	bl PSVECDotProduct
/* 802254F4 00221154  38 00 00 02 */	li r0, 2
/* 802254F8 00221158  D0 3E 00 04 */	stfs f1, 4(r30)
/* 802254FC 0022115C  B0 1E 00 00 */	sth r0, 0(r30)
/* 80225500 00221160  48 00 05 2C */	b lbl_80225A2C
lbl_80225504:
/* 80225504 00221164  C0 02 9C 80 */	lfs f0, lbl_80642280-_SDA2_BASE_(r2)
/* 80225508 00221168  38 00 00 02 */	li r0, 2
/* 8022550C 0022116C  B0 1E 00 00 */	sth r0, 0(r30)
/* 80225510 00221170  D0 1E 00 04 */	stfs f0, 4(r30)
/* 80225514 00221174  48 00 05 18 */	b lbl_80225A2C
/* 80225518 00221178  7F E3 FB 78 */	mr r3, r31
/* 8022551C 0022117C  48 05 78 69 */	bl PSVECMag
/* 80225520 00221180  38 00 00 02 */	li r0, 2
/* 80225524 00221184  D0 3E 00 04 */	stfs f1, 4(r30)
/* 80225528 00221188  B0 1E 00 00 */	sth r0, 0(r30)
/* 8022552C 0022118C  48 00 05 00 */	b lbl_80225A2C
/* 80225530 00221190  7F E3 FB 78 */	mr r3, r31
/* 80225534 00221194  48 05 78 39 */	bl PSVECSquareMag
/* 80225538 00221198  38 00 00 02 */	li r0, 2
/* 8022553C 0022119C  D0 3E 00 04 */	stfs f1, 4(r30)
/* 80225540 002211A0  B0 1E 00 00 */	sth r0, 0(r30)
/* 80225544 002211A4  48 00 04 E8 */	b lbl_80225A2C
/* 80225548 002211A8  A8 1D 00 08 */	lha r0, 8(r29)
/* 8022554C 002211AC  2C 00 00 04 */	cmpwi r0, 4
/* 80225550 002211B0  40 82 00 BC */	bne lbl_8022560C
/* 80225554 002211B4  7F E3 FB 78 */	mr r3, r31
/* 80225558 002211B8  38 81 00 6C */	addi r4, r1, 0x6c
/* 8022555C 002211BC  48 05 77 CD */	bl PSVECNormalize
/* 80225560 002211C0  A8 1D 00 08 */	lha r0, 8(r29)
/* 80225564 002211C4  2C 00 00 04 */	cmpwi r0, 4
/* 80225568 002211C8  40 82 00 0C */	bne lbl_80225574
/* 8022556C 002211CC  80 7D 00 0C */	lwz r3, 0xc(r29)
/* 80225570 002211D0  48 00 00 0C */	b lbl_8022557C
lbl_80225574:
/* 80225574 002211D4  38 7D 00 08 */	addi r3, r29, 8
/* 80225578 002211D8  4B E0 2D 69 */	bl func_800282E0
lbl_8022557C:
/* 8022557C 002211DC  38 81 00 60 */	addi r4, r1, 0x60
/* 80225580 002211E0  48 05 77 A9 */	bl PSVECNormalize
/* 80225584 002211E4  38 61 00 6C */	addi r3, r1, 0x6c
/* 80225588 002211E8  38 81 00 60 */	addi r4, r1, 0x60
/* 8022558C 002211EC  48 05 78 3D */	bl PSVECDotProduct
/* 80225590 002211F0  C0 02 9C 8C */	lfs f0, lbl_8064228C-_SDA2_BASE_(r2)
/* 80225594 002211F4  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 80225598 002211F8  4C 41 13 82 */	cror 2, 1, 2
/* 8022559C 002211FC  40 82 00 0C */	bne lbl_802255A8
/* 802255A0 00221200  C0 42 9C 80 */	lfs f2, lbl_80642280-_SDA2_BASE_(r2)
/* 802255A4 00221204  48 00 00 24 */	b lbl_802255C8
lbl_802255A8:
/* 802255A8 00221208  C0 02 9C 90 */	lfs f0, lbl_80642290-_SDA2_BASE_(r2)
/* 802255AC 0022120C  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 802255B0 00221210  4C 40 13 82 */	cror 2, 0, 2
/* 802255B4 00221214  40 82 00 0C */	bne lbl_802255C0
/* 802255B8 00221218  C0 42 9C 94 */	lfs f2, lbl_80642294-_SDA2_BASE_(r2)
/* 802255BC 0022121C  48 00 00 0C */	b lbl_802255C8
lbl_802255C0:
/* 802255C0 00221220  4B FA F0 15 */	bl acos
/* 802255C4 00221224  FC 40 08 18 */	frsp f2, f1
lbl_802255C8:
/* 802255C8 00221228  C0 22 9C 98 */	lfs f1, lbl_80642298-_SDA2_BASE_(r2)
/* 802255CC 0022122C  C0 02 9C 9C */	lfs f0, lbl_8064229C-_SDA2_BASE_(r2)
/* 802255D0 00221230  EC 41 00 B2 */	fmuls f2, f1, f2
/* 802255D4 00221234  48 00 00 08 */	b lbl_802255DC
lbl_802255D8:
/* 802255D8 00221238  EC 42 00 28 */	fsubs f2, f2, f0
lbl_802255DC:
/* 802255DC 0022123C  FC 02 00 40 */	fcmpo cr0, f2, f0
/* 802255E0 00221240  41 81 FF F8 */	bgt lbl_802255D8
/* 802255E4 00221244  C0 22 9C 9C */	lfs f1, lbl_8064229C-_SDA2_BASE_(r2)
/* 802255E8 00221248  C0 02 9C 80 */	lfs f0, lbl_80642280-_SDA2_BASE_(r2)
/* 802255EC 0022124C  48 00 00 08 */	b lbl_802255F4
lbl_802255F0:
/* 802255F0 00221250  EC 42 08 2A */	fadds f2, f2, f1
lbl_802255F4:
/* 802255F4 00221254  FC 02 00 40 */	fcmpo cr0, f2, f0
/* 802255F8 00221258  41 80 FF F8 */	blt lbl_802255F0
/* 802255FC 0022125C  38 00 00 02 */	li r0, 2
/* 80225600 00221260  D0 5E 00 04 */	stfs f2, 4(r30)
/* 80225604 00221264  B0 1E 00 00 */	sth r0, 0(r30)
/* 80225608 00221268  48 00 04 24 */	b lbl_80225A2C
lbl_8022560C:
/* 8022560C 0022126C  C0 02 9C 80 */	lfs f0, lbl_80642280-_SDA2_BASE_(r2)
/* 80225610 00221270  38 00 00 02 */	li r0, 2
/* 80225614 00221274  B0 1E 00 00 */	sth r0, 0(r30)
/* 80225618 00221278  D0 1E 00 04 */	stfs f0, 4(r30)
/* 8022561C 0022127C  48 00 04 10 */	b lbl_80225A2C
/* 80225620 00221280  A8 1D 00 08 */	lha r0, 8(r29)
/* 80225624 00221284  2C 00 00 04 */	cmpwi r0, 4
/* 80225628 00221288  40 82 00 58 */	bne lbl_80225680
/* 8022562C 0022128C  40 82 00 0C */	bne lbl_80225638
/* 80225630 00221290  80 7D 00 0C */	lwz r3, 0xc(r29)
/* 80225634 00221294  48 00 00 0C */	b lbl_80225640
lbl_80225638:
/* 80225638 00221298  38 7D 00 08 */	addi r3, r29, 8
/* 8022563C 0022129C  4B E0 2C A5 */	bl func_800282E0
lbl_80225640:
/* 80225640 002212A0  7C 64 1B 78 */	mr r4, r3
/* 80225644 002212A4  7F E3 FB 78 */	mr r3, r31
/* 80225648 002212A8  38 A1 00 44 */	addi r5, r1, 0x44
/* 8022564C 002212AC  48 05 76 9D */	bl PSVECSubtract
/* 80225650 002212B0  C0 41 00 44 */	lfs f2, 0x44(r1)
/* 80225654 002212B4  38 61 00 6C */	addi r3, r1, 0x6c
/* 80225658 002212B8  C0 21 00 48 */	lfs f1, 0x48(r1)
/* 8022565C 002212BC  C0 01 00 4C */	lfs f0, 0x4c(r1)
/* 80225660 002212C0  D0 41 00 6C */	stfs f2, 0x6c(r1)
/* 80225664 002212C4  D0 21 00 70 */	stfs f1, 0x70(r1)
/* 80225668 002212C8  D0 01 00 74 */	stfs f0, 0x74(r1)
/* 8022566C 002212CC  48 05 77 19 */	bl PSVECMag
/* 80225670 002212D0  38 00 00 02 */	li r0, 2
/* 80225674 002212D4  D0 3E 00 04 */	stfs f1, 4(r30)
/* 80225678 002212D8  B0 1E 00 00 */	sth r0, 0(r30)
/* 8022567C 002212DC  48 00 03 B0 */	b lbl_80225A2C
lbl_80225680:
/* 80225680 002212E0  C0 02 9C 80 */	lfs f0, lbl_80642280-_SDA2_BASE_(r2)
/* 80225684 002212E4  38 00 00 02 */	li r0, 2
/* 80225688 002212E8  B0 1E 00 00 */	sth r0, 0(r30)
/* 8022568C 002212EC  D0 1E 00 04 */	stfs f0, 4(r30)
/* 80225690 002212F0  48 00 03 9C */	b lbl_80225A2C
/* 80225694 002212F4  A8 1D 00 08 */	lha r0, 8(r29)
/* 80225698 002212F8  2C 00 00 04 */	cmpwi r0, 4
/* 8022569C 002212FC  40 82 00 A0 */	bne lbl_8022573C
/* 802256A0 00221300  C0 1F 00 00 */	lfs f0, 0(r31)
/* 802256A4 00221304  D0 01 00 6C */	stfs f0, 0x6c(r1)
/* 802256A8 00221308  C0 1F 00 04 */	lfs f0, 4(r31)
/* 802256AC 0022130C  D0 01 00 70 */	stfs f0, 0x70(r1)
/* 802256B0 00221310  C0 1F 00 08 */	lfs f0, 8(r31)
/* 802256B4 00221314  D0 01 00 74 */	stfs f0, 0x74(r1)
/* 802256B8 00221318  A8 1D 00 08 */	lha r0, 8(r29)
/* 802256BC 0022131C  2C 00 00 04 */	cmpwi r0, 4
/* 802256C0 00221320  40 82 00 0C */	bne lbl_802256CC
/* 802256C4 00221324  80 DD 00 0C */	lwz r6, 0xc(r29)
/* 802256C8 00221328  48 00 00 10 */	b lbl_802256D8
lbl_802256CC:
/* 802256CC 0022132C  38 7D 00 08 */	addi r3, r29, 8
/* 802256D0 00221330  4B E0 2C 11 */	bl func_800282E0
/* 802256D4 00221334  7C 66 1B 78 */	mr r6, r3
lbl_802256D8:
/* 802256D8 00221338  C0 26 00 00 */	lfs f1, 0(r6)
/* 802256DC 0022133C  38 61 00 6C */	addi r3, r1, 0x6c
/* 802256E0 00221340  C0 02 9C 80 */	lfs f0, lbl_80642280-_SDA2_BASE_(r2)
/* 802256E4 00221344  38 81 00 60 */	addi r4, r1, 0x60
/* 802256E8 00221348  D0 21 00 60 */	stfs f1, 0x60(r1)
/* 802256EC 0022134C  38 A1 00 38 */	addi r5, r1, 0x38
/* 802256F0 00221350  C0 26 00 04 */	lfs f1, 4(r6)
/* 802256F4 00221354  D0 21 00 64 */	stfs f1, 0x64(r1)
/* 802256F8 00221358  C0 26 00 08 */	lfs f1, 8(r6)
/* 802256FC 0022135C  D0 21 00 68 */	stfs f1, 0x68(r1)
/* 80225700 00221360  D0 01 00 64 */	stfs f0, 0x64(r1)
/* 80225704 00221364  D0 01 00 70 */	stfs f0, 0x70(r1)
/* 80225708 00221368  48 05 75 E1 */	bl PSVECSubtract
/* 8022570C 0022136C  C0 41 00 38 */	lfs f2, 0x38(r1)
/* 80225710 00221370  38 61 00 6C */	addi r3, r1, 0x6c
/* 80225714 00221374  C0 21 00 3C */	lfs f1, 0x3c(r1)
/* 80225718 00221378  C0 01 00 40 */	lfs f0, 0x40(r1)
/* 8022571C 0022137C  D0 41 00 6C */	stfs f2, 0x6c(r1)
/* 80225720 00221380  D0 21 00 70 */	stfs f1, 0x70(r1)
/* 80225724 00221384  D0 01 00 74 */	stfs f0, 0x74(r1)
/* 80225728 00221388  48 05 76 5D */	bl PSVECMag
/* 8022572C 0022138C  38 00 00 02 */	li r0, 2
/* 80225730 00221390  D0 3E 00 04 */	stfs f1, 4(r30)
/* 80225734 00221394  B0 1E 00 00 */	sth r0, 0(r30)
/* 80225738 00221398  48 00 02 F4 */	b lbl_80225A2C
lbl_8022573C:
/* 8022573C 0022139C  C0 02 9C 80 */	lfs f0, lbl_80642280-_SDA2_BASE_(r2)
/* 80225740 002213A0  38 00 00 02 */	li r0, 2
/* 80225744 002213A4  B0 1E 00 00 */	sth r0, 0(r30)
/* 80225748 002213A8  D0 1E 00 04 */	stfs f0, 4(r30)
/* 8022574C 002213AC  48 00 02 E0 */	b lbl_80225A2C
/* 80225750 002213B0  A8 1D 00 08 */	lha r0, 8(r29)
/* 80225754 002213B4  2C 00 00 01 */	cmpwi r0, 1
/* 80225758 002213B8  40 82 00 20 */	bne lbl_80225778
/* 8022575C 002213BC  80 1D 00 0C */	lwz r0, 0xc(r29)
/* 80225760 002213C0  C8 22 9C A8 */	lfd f1, lbl_806422A8-_SDA2_BASE_(r2)
/* 80225764 002213C4  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 80225768 002213C8  90 01 01 94 */	stw r0, 0x194(r1)
/* 8022576C 002213CC  C8 01 01 90 */	lfd f0, 0x190(r1)
/* 80225770 002213D0  EC 20 08 28 */	fsubs f1, f0, f1
/* 80225774 002213D4  48 00 00 1C */	b lbl_80225790
lbl_80225778:
/* 80225778 002213D8  2C 00 00 02 */	cmpwi r0, 2
/* 8022577C 002213DC  40 82 00 0C */	bne lbl_80225788
/* 80225780 002213E0  C0 3D 00 0C */	lfs f1, 0xc(r29)
/* 80225784 002213E4  48 00 00 0C */	b lbl_80225790
lbl_80225788:
/* 80225788 002213E8  38 7D 00 08 */	addi r3, r29, 8
/* 8022578C 002213EC  48 00 85 ED */	bl func_8022DD78
lbl_80225790:
/* 80225790 002213F0  C0 02 9C A0 */	lfs f0, lbl_806422A0-_SDA2_BASE_(r2)
/* 80225794 002213F4  3C 80 80 49 */	lis r4, lbl_80493608@ha
/* 80225798 002213F8  38 61 00 50 */	addi r3, r1, 0x50
/* 8022579C 002213FC  EC 20 00 72 */	fmuls f1, f0, f1
/* 802257A0 00221400  38 84 36 08 */	addi r4, r4, lbl_80493608@l
/* 802257A4 00221404  48 05 79 81 */	bl C_QUATRotAxisRad
/* 802257A8 00221408  C0 1F 00 00 */	lfs f0, 0(r31)
/* 802257AC 0022140C  38 61 00 2C */	addi r3, r1, 0x2c
/* 802257B0 00221410  38 81 00 50 */	addi r4, r1, 0x50
/* 802257B4 00221414  D0 01 00 2C */	stfs f0, 0x2c(r1)
/* 802257B8 00221418  C0 1F 00 04 */	lfs f0, 4(r31)
/* 802257BC 0022141C  D0 01 00 30 */	stfs f0, 0x30(r1)
/* 802257C0 00221420  C0 1F 00 08 */	lfs f0, 8(r31)
/* 802257C4 00221424  D0 01 00 34 */	stfs f0, 0x34(r1)
/* 802257C8 00221428  4B FF E2 45 */	bl func_80223A0C
/* 802257CC 0022142C  C0 01 00 2C */	lfs f0, 0x2c(r1)
/* 802257D0 00221430  D0 1F 00 00 */	stfs f0, 0(r31)
/* 802257D4 00221434  C0 01 00 30 */	lfs f0, 0x30(r1)
/* 802257D8 00221438  D0 1F 00 04 */	stfs f0, 4(r31)
/* 802257DC 0022143C  C0 01 00 34 */	lfs f0, 0x34(r1)
/* 802257E0 00221440  D0 1F 00 08 */	stfs f0, 8(r31)
/* 802257E4 00221444  48 00 02 48 */	b lbl_80225A2C
/* 802257E8 00221448  A8 1D 00 08 */	lha r0, 8(r29)
/* 802257EC 0022144C  2C 00 00 01 */	cmpwi r0, 1
/* 802257F0 00221450  40 82 00 20 */	bne lbl_80225810
/* 802257F4 00221454  80 1D 00 0C */	lwz r0, 0xc(r29)
/* 802257F8 00221458  C8 22 9C A8 */	lfd f1, lbl_806422A8-_SDA2_BASE_(r2)
/* 802257FC 0022145C  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 80225800 00221460  90 01 01 8C */	stw r0, 0x18c(r1)
/* 80225804 00221464  C8 01 01 88 */	lfd f0, 0x188(r1)
/* 80225808 00221468  EC 20 08 28 */	fsubs f1, f0, f1
/* 8022580C 0022146C  48 00 00 1C */	b lbl_80225828
lbl_80225810:
/* 80225810 00221470  2C 00 00 02 */	cmpwi r0, 2
/* 80225814 00221474  40 82 00 0C */	bne lbl_80225820
/* 80225818 00221478  C0 3D 00 0C */	lfs f1, 0xc(r29)
/* 8022581C 0022147C  48 00 00 0C */	b lbl_80225828
lbl_80225820:
/* 80225820 00221480  38 7D 00 08 */	addi r3, r29, 8
/* 80225824 00221484  48 00 85 55 */	bl func_8022DD78
lbl_80225828:
/* 80225828 00221488  C0 02 9C A0 */	lfs f0, lbl_806422A0-_SDA2_BASE_(r2)
/* 8022582C 0022148C  3C 80 80 49 */	lis r4, lbl_80493614@ha
/* 80225830 00221490  38 61 00 50 */	addi r3, r1, 0x50
/* 80225834 00221494  EC 20 00 72 */	fmuls f1, f0, f1
/* 80225838 00221498  38 84 36 14 */	addi r4, r4, lbl_80493614@l
/* 8022583C 0022149C  48 05 78 E9 */	bl C_QUATRotAxisRad
/* 80225840 002214A0  C0 1F 00 00 */	lfs f0, 0(r31)
/* 80225844 002214A4  38 61 00 20 */	addi r3, r1, 0x20
/* 80225848 002214A8  38 81 00 50 */	addi r4, r1, 0x50
/* 8022584C 002214AC  D0 01 00 20 */	stfs f0, 0x20(r1)
/* 80225850 002214B0  C0 1F 00 04 */	lfs f0, 4(r31)
/* 80225854 002214B4  D0 01 00 24 */	stfs f0, 0x24(r1)
/* 80225858 002214B8  C0 1F 00 08 */	lfs f0, 8(r31)
/* 8022585C 002214BC  D0 01 00 28 */	stfs f0, 0x28(r1)
/* 80225860 002214C0  4B FF E1 AD */	bl func_80223A0C
/* 80225864 002214C4  C0 01 00 20 */	lfs f0, 0x20(r1)
/* 80225868 002214C8  D0 1F 00 00 */	stfs f0, 0(r31)
/* 8022586C 002214CC  C0 01 00 24 */	lfs f0, 0x24(r1)
/* 80225870 002214D0  D0 1F 00 04 */	stfs f0, 4(r31)
/* 80225874 002214D4  C0 01 00 28 */	lfs f0, 0x28(r1)
/* 80225878 002214D8  D0 1F 00 08 */	stfs f0, 8(r31)
/* 8022587C 002214DC  48 00 01 B0 */	b lbl_80225A2C
/* 80225880 002214E0  A8 1D 00 08 */	lha r0, 8(r29)
/* 80225884 002214E4  2C 00 00 01 */	cmpwi r0, 1
/* 80225888 002214E8  40 82 00 20 */	bne lbl_802258A8
/* 8022588C 002214EC  80 1D 00 0C */	lwz r0, 0xc(r29)
/* 80225890 002214F0  C8 22 9C A8 */	lfd f1, lbl_806422A8-_SDA2_BASE_(r2)
/* 80225894 002214F4  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 80225898 002214F8  90 01 01 94 */	stw r0, 0x194(r1)
/* 8022589C 002214FC  C8 01 01 90 */	lfd f0, 0x190(r1)
/* 802258A0 00221500  EC 20 08 28 */	fsubs f1, f0, f1
/* 802258A4 00221504  48 00 00 1C */	b lbl_802258C0
lbl_802258A8:
/* 802258A8 00221508  2C 00 00 02 */	cmpwi r0, 2
/* 802258AC 0022150C  40 82 00 0C */	bne lbl_802258B8
/* 802258B0 00221510  C0 3D 00 0C */	lfs f1, 0xc(r29)
/* 802258B4 00221514  48 00 00 0C */	b lbl_802258C0
lbl_802258B8:
/* 802258B8 00221518  38 7D 00 08 */	addi r3, r29, 8
/* 802258BC 0022151C  48 00 84 BD */	bl func_8022DD78
lbl_802258C0:
/* 802258C0 00221520  C0 02 9C A0 */	lfs f0, lbl_806422A0-_SDA2_BASE_(r2)
/* 802258C4 00221524  3C 80 80 49 */	lis r4, lbl_80493620@ha
/* 802258C8 00221528  38 61 00 50 */	addi r3, r1, 0x50
/* 802258CC 0022152C  EC 20 00 72 */	fmuls f1, f0, f1
/* 802258D0 00221530  38 84 36 20 */	addi r4, r4, lbl_80493620@l
/* 802258D4 00221534  48 05 78 51 */	bl C_QUATRotAxisRad
/* 802258D8 00221538  C0 1F 00 00 */	lfs f0, 0(r31)
/* 802258DC 0022153C  38 61 00 14 */	addi r3, r1, 0x14
/* 802258E0 00221540  38 81 00 50 */	addi r4, r1, 0x50
/* 802258E4 00221544  D0 01 00 14 */	stfs f0, 0x14(r1)
/* 802258E8 00221548  C0 1F 00 04 */	lfs f0, 4(r31)
/* 802258EC 0022154C  D0 01 00 18 */	stfs f0, 0x18(r1)
/* 802258F0 00221550  C0 1F 00 08 */	lfs f0, 8(r31)
/* 802258F4 00221554  D0 01 00 1C */	stfs f0, 0x1c(r1)
/* 802258F8 00221558  4B FF E1 15 */	bl func_80223A0C
/* 802258FC 0022155C  C0 01 00 14 */	lfs f0, 0x14(r1)
/* 80225900 00221560  D0 1F 00 00 */	stfs f0, 0(r31)
/* 80225904 00221564  C0 01 00 18 */	lfs f0, 0x18(r1)
/* 80225908 00221568  D0 1F 00 04 */	stfs f0, 4(r31)
/* 8022590C 0022156C  C0 01 00 1C */	lfs f0, 0x1c(r1)
/* 80225910 00221570  D0 1F 00 08 */	stfs f0, 8(r31)
/* 80225914 00221574  48 00 01 18 */	b lbl_80225A2C
/* 80225918 00221578  A8 1D 00 10 */	lha r0, 0x10(r29)
/* 8022591C 0022157C  2C 00 00 04 */	cmpwi r0, 4
/* 80225920 00221580  40 82 01 0C */	bne lbl_80225A2C
/* 80225924 00221584  40 82 00 0C */	bne lbl_80225930
/* 80225928 00221588  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 8022592C 0022158C  48 00 00 0C */	b lbl_80225938
lbl_80225930:
/* 80225930 00221590  38 7D 00 10 */	addi r3, r29, 0x10
/* 80225934 00221594  4B E0 29 AD */	bl func_800282E0
lbl_80225938:
/* 80225938 00221598  C0 83 00 00 */	lfs f4, 0(r3)
/* 8022593C 0022159C  C0 22 9C 84 */	lfs f1, lbl_80642284-_SDA2_BASE_(r2)
/* 80225940 002215A0  D0 81 00 6C */	stfs f4, 0x6c(r1)
/* 80225944 002215A4  FC 04 08 40 */	fcmpo cr0, f4, f1
/* 80225948 002215A8  C0 63 00 04 */	lfs f3, 4(r3)
/* 8022594C 002215AC  D0 61 00 70 */	stfs f3, 0x70(r1)
/* 80225950 002215B0  C0 43 00 08 */	lfs f2, 8(r3)
/* 80225954 002215B4  D0 41 00 74 */	stfs f2, 0x74(r1)
/* 80225958 002215B8  40 80 00 38 */	bge lbl_80225990
/* 8022595C 002215BC  C0 02 9C 88 */	lfs f0, lbl_80642288-_SDA2_BASE_(r2)
/* 80225960 002215C0  FC 04 00 40 */	fcmpo cr0, f4, f0
/* 80225964 002215C4  40 81 00 2C */	ble lbl_80225990
/* 80225968 002215C8  FC 03 08 40 */	fcmpo cr0, f3, f1
/* 8022596C 002215CC  40 80 00 24 */	bge lbl_80225990
/* 80225970 002215D0  FC 03 00 40 */	fcmpo cr0, f3, f0
/* 80225974 002215D4  40 81 00 1C */	ble lbl_80225990
/* 80225978 002215D8  FC 02 08 40 */	fcmpo cr0, f2, f1
/* 8022597C 002215DC  40 80 00 14 */	bge lbl_80225990
/* 80225980 002215E0  FC 02 00 40 */	fcmpo cr0, f2, f0
/* 80225984 002215E4  40 81 00 0C */	ble lbl_80225990
/* 80225988 002215E8  38 00 00 01 */	li r0, 1
/* 8022598C 002215EC  48 00 00 08 */	b lbl_80225994
lbl_80225990:
/* 80225990 002215F0  38 00 00 00 */	li r0, 0
lbl_80225994:
/* 80225994 002215F4  2C 00 00 00 */	cmpwi r0, 0
/* 80225998 002215F8  40 82 00 94 */	bne lbl_80225A2C
/* 8022599C 002215FC  A8 1D 00 08 */	lha r0, 8(r29)
/* 802259A0 00221600  2C 00 00 01 */	cmpwi r0, 1
/* 802259A4 00221604  40 82 00 20 */	bne lbl_802259C4
/* 802259A8 00221608  80 1D 00 0C */	lwz r0, 0xc(r29)
/* 802259AC 0022160C  C8 22 9C A8 */	lfd f1, lbl_806422A8-_SDA2_BASE_(r2)
/* 802259B0 00221610  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 802259B4 00221614  90 01 01 8C */	stw r0, 0x18c(r1)
/* 802259B8 00221618  C8 01 01 88 */	lfd f0, 0x188(r1)
/* 802259BC 0022161C  EC 20 08 28 */	fsubs f1, f0, f1
/* 802259C0 00221620  48 00 00 1C */	b lbl_802259DC
lbl_802259C4:
/* 802259C4 00221624  2C 00 00 02 */	cmpwi r0, 2
/* 802259C8 00221628  40 82 00 0C */	bne lbl_802259D4
/* 802259CC 0022162C  C0 3D 00 0C */	lfs f1, 0xc(r29)
/* 802259D0 00221630  48 00 00 0C */	b lbl_802259DC
lbl_802259D4:
/* 802259D4 00221634  38 7D 00 08 */	addi r3, r29, 8
/* 802259D8 00221638  48 00 83 A1 */	bl func_8022DD78
lbl_802259DC:
/* 802259DC 0022163C  C0 02 9C A0 */	lfs f0, lbl_806422A0-_SDA2_BASE_(r2)
/* 802259E0 00221640  38 61 00 50 */	addi r3, r1, 0x50
/* 802259E4 00221644  38 81 00 6C */	addi r4, r1, 0x6c
/* 802259E8 00221648  EC 20 00 72 */	fmuls f1, f0, f1
/* 802259EC 0022164C  48 05 77 39 */	bl C_QUATRotAxisRad
/* 802259F0 00221650  C0 1F 00 00 */	lfs f0, 0(r31)
/* 802259F4 00221654  38 61 00 08 */	addi r3, r1, 8
/* 802259F8 00221658  38 81 00 50 */	addi r4, r1, 0x50
/* 802259FC 0022165C  D0 01 00 08 */	stfs f0, 8(r1)
/* 80225A00 00221660  C0 1F 00 04 */	lfs f0, 4(r31)
/* 80225A04 00221664  D0 01 00 0C */	stfs f0, 0xc(r1)
/* 80225A08 00221668  C0 1F 00 08 */	lfs f0, 8(r31)
/* 80225A0C 0022166C  D0 01 00 10 */	stfs f0, 0x10(r1)
/* 80225A10 00221670  4B FF DF FD */	bl func_80223A0C
/* 80225A14 00221674  C0 01 00 08 */	lfs f0, 8(r1)
/* 80225A18 00221678  D0 1F 00 00 */	stfs f0, 0(r31)
/* 80225A1C 0022167C  C0 01 00 0C */	lfs f0, 0xc(r1)
/* 80225A20 00221680  D0 1F 00 04 */	stfs f0, 4(r31)
/* 80225A24 00221684  C0 01 00 10 */	lfs f0, 0x10(r1)
/* 80225A28 00221688  D0 1F 00 08 */	stfs f0, 8(r31)
lbl_80225A2C:
/* 80225A2C 0022168C  39 61 01 B0 */	addi r11, r1, 0x1b0
/* 80225A30 00221690  38 60 00 01 */	li r3, 1
/* 80225A34 00221694  4B FA 17 41 */	bl _restgpr_27
/* 80225A38 00221698  80 01 01 B4 */	lwz r0, 0x1b4(r1)
/* 80225A3C 0022169C  7C 08 03 A6 */	mtlr r0
/* 80225A40 002216A0  38 21 01 B0 */	addi r1, r1, 0x1b0
/* 80225A44 002216A4  4E 80 00 20 */	blr

.global func_80225A48
func_80225A48:
/* 80225A48 002216A8  94 21 FE E0 */	stwu r1, -0x120(r1)
/* 80225A4C 002216AC  7C 08 02 A6 */	mflr r0
/* 80225A50 002216B0  2C 04 00 01 */	cmpwi r4, 1
/* 80225A54 002216B4  90 01 01 24 */	stw r0, 0x124(r1)
/* 80225A58 002216B8  93 E1 01 1C */	stw r31, 0x11c(r1)
/* 80225A5C 002216BC  7C DF 33 78 */	mr r31, r6
/* 80225A60 002216C0  93 C1 01 18 */	stw r30, 0x118(r1)
/* 80225A64 002216C4  7C 7E 1B 78 */	mr r30, r3
/* 80225A68 002216C8  93 A1 01 14 */	stw r29, 0x114(r1)
/* 80225A6C 002216CC  7C BD 2B 78 */	mr r29, r5
/* 80225A70 002216D0  93 81 01 10 */	stw r28, 0x110(r1)
/* 80225A74 002216D4  3B 80 00 00 */	li r28, 0
/* 80225A78 002216D8  41 82 00 24 */	beq lbl_80225A9C
/* 80225A7C 002216DC  A8 05 00 00 */	lha r0, 0(r5)
/* 80225A80 002216E0  83 85 00 04 */	lwz r28, 4(r5)
/* 80225A84 002216E4  2C 00 00 07 */	cmpwi r0, 7
/* 80225A88 002216E8  40 82 00 0C */	bne lbl_80225A94
/* 80225A8C 002216EC  2C 1C 00 00 */	cmpwi r28, 0
/* 80225A90 002216F0  40 82 00 0C */	bne lbl_80225A9C
lbl_80225A94:
/* 80225A94 002216F4  38 60 00 01 */	li r3, 1
/* 80225A98 002216F8  48 00 03 6C */	b lbl_80225E04
lbl_80225A9C:
/* 80225A9C 002216FC  28 04 00 1A */	cmplwi r4, 0x1a
/* 80225AA0 00221700  41 81 03 60 */	bgt lbl_80225E00
/* 80225AA4 00221704  3C 60 80 42 */	lis r3, lbl_80423D10@ha
/* 80225AA8 00221708  54 80 10 3A */	slwi r0, r4, 2
/* 80225AAC 0022170C  38 63 3D 10 */	addi r3, r3, lbl_80423D10@l
/* 80225AB0 00221710  7C 63 00 2E */	lwzx r3, r3, r0
/* 80225AB4 00221714  7C 69 03 A6 */	mtctr r3
/* 80225AB8 00221718  4E 80 04 20 */	bctr
/* 80225ABC 0022171C  3C 80 80 42 */	lis r4, lbl_80423D00@ha
/* 80225AC0 00221720  80 BC 00 00 */	lwz r5, 0(r28)
/* 80225AC4 00221724  38 61 00 08 */	addi r3, r1, 8
/* 80225AC8 00221728  38 84 3D 00 */	addi r4, r4, lbl_80423D00@l
/* 80225ACC 0022172C  4C C6 31 82 */	crclr 6
/* 80225AD0 00221730  4B FA 70 2D */	bl sprintf
/* 80225AD4 00221734  80 7E 09 14 */	lwz r3, 0x914(r30)
/* 80225AD8 00221738  38 81 00 08 */	addi r4, r1, 8
/* 80225ADC 0022173C  38 A0 00 FF */	li r5, 0xff
/* 80225AE0 00221740  38 63 00 38 */	addi r3, r3, 0x38
/* 80225AE4 00221744  4B FA 88 AD */	bl strncpy
/* 80225AE8 00221748  80 9E 09 14 */	lwz r4, 0x914(r30)
/* 80225AEC 0022174C  38 00 00 03 */	li r0, 3
/* 80225AF0 00221750  38 64 00 38 */	addi r3, r4, 0x38
/* 80225AF4 00221754  90 64 00 14 */	stw r3, 0x14(r4)
/* 80225AF8 00221758  80 7E 09 14 */	lwz r3, 0x914(r30)
/* 80225AFC 0022175C  B0 03 00 10 */	sth r0, 0x10(r3)
/* 80225B00 00221760  48 00 03 00 */	b lbl_80225E00
/* 80225B04 00221764  A8 05 00 08 */	lha r0, 8(r5)
/* 80225B08 00221768  83 BC 00 00 */	lwz r29, 0(r28)
/* 80225B0C 0022176C  2C 00 00 01 */	cmpwi r0, 1
/* 80225B10 00221770  40 82 00 0C */	bne lbl_80225B1C
/* 80225B14 00221774  80 85 00 0C */	lwz r4, 0xc(r5)
/* 80225B18 00221778  48 00 00 2C */	b lbl_80225B44
lbl_80225B1C:
/* 80225B1C 0022177C  2C 00 00 02 */	cmpwi r0, 2
/* 80225B20 00221780  40 82 00 18 */	bne lbl_80225B38
/* 80225B24 00221784  C0 05 00 0C */	lfs f0, 0xc(r5)
/* 80225B28 00221788  FC 00 00 1E */	fctiwz f0, f0
/* 80225B2C 0022178C  D8 01 01 08 */	stfd f0, 0x108(r1)
/* 80225B30 00221790  80 61 01 0C */	lwz r3, 0x10c(r1)
/* 80225B34 00221794  48 00 00 0C */	b lbl_80225B40
lbl_80225B38:
/* 80225B38 00221798  38 65 00 08 */	addi r3, r5, 8
/* 80225B3C 0022179C  48 00 81 F9 */	bl func_8022DD34
lbl_80225B40:
/* 80225B40 002217A0  7C 64 1B 78 */	mr r4, r3
lbl_80225B44:
/* 80225B44 002217A4  7C 04 E8 00 */	cmpw r4, r29
/* 80225B48 002217A8  41 80 00 18 */	blt lbl_80225B60
/* 80225B4C 002217AC  38 60 00 01 */	li r3, 1
/* 80225B50 002217B0  38 00 00 00 */	li r0, 0
/* 80225B54 002217B4  B0 7F 00 00 */	sth r3, 0(r31)
/* 80225B58 002217B8  90 1F 00 04 */	stw r0, 4(r31)
/* 80225B5C 002217BC  48 00 02 A4 */	b lbl_80225E00
lbl_80225B60:
/* 80225B60 002217C0  7F 83 E3 78 */	mr r3, r28
/* 80225B64 002217C4  48 00 80 7D */	bl func_8022DBE0
/* 80225B68 002217C8  A8 03 00 00 */	lha r0, 0(r3)
/* 80225B6C 002217CC  2C 00 00 03 */	cmpwi r0, 3
/* 80225B70 002217D0  40 82 00 34 */	bne lbl_80225BA4
/* 80225B74 002217D4  80 DE 09 14 */	lwz r6, 0x914(r30)
/* 80225B78 002217D8  38 A0 00 FF */	li r5, 0xff
/* 80225B7C 002217DC  80 83 00 04 */	lwz r4, 4(r3)
/* 80225B80 002217E0  38 66 00 38 */	addi r3, r6, 0x38
/* 80225B84 002217E4  4B FA 88 0D */	bl strncpy
/* 80225B88 002217E8  80 9E 09 14 */	lwz r4, 0x914(r30)
/* 80225B8C 002217EC  38 00 00 03 */	li r0, 3
/* 80225B90 002217F0  38 64 00 38 */	addi r3, r4, 0x38
/* 80225B94 002217F4  90 64 00 14 */	stw r3, 0x14(r4)
/* 80225B98 002217F8  80 7E 09 14 */	lwz r3, 0x914(r30)
/* 80225B9C 002217FC  B0 03 00 10 */	sth r0, 0x10(r3)
/* 80225BA0 00221800  48 00 02 60 */	b lbl_80225E00
lbl_80225BA4:
/* 80225BA4 00221804  2C 00 00 04 */	cmpwi r0, 4
/* 80225BA8 00221808  40 82 00 40 */	bne lbl_80225BE8
/* 80225BAC 0022180C  80 83 00 04 */	lwz r4, 4(r3)
/* 80225BB0 00221810  38 00 00 04 */	li r0, 4
/* 80225BB4 00221814  80 7E 09 14 */	lwz r3, 0x914(r30)
/* 80225BB8 00221818  C0 04 00 00 */	lfs f0, 0(r4)
/* 80225BBC 0022181C  D0 03 01 38 */	stfs f0, 0x138(r3)
/* 80225BC0 00221820  C0 04 00 04 */	lfs f0, 4(r4)
/* 80225BC4 00221824  D0 03 01 3C */	stfs f0, 0x13c(r3)
/* 80225BC8 00221828  C0 04 00 08 */	lfs f0, 8(r4)
/* 80225BCC 0022182C  D0 03 01 40 */	stfs f0, 0x140(r3)
/* 80225BD0 00221830  80 9E 09 14 */	lwz r4, 0x914(r30)
/* 80225BD4 00221834  38 64 01 38 */	addi r3, r4, 0x138
/* 80225BD8 00221838  90 64 00 14 */	stw r3, 0x14(r4)
/* 80225BDC 0022183C  80 7E 09 14 */	lwz r3, 0x914(r30)
/* 80225BE0 00221840  B0 03 00 10 */	sth r0, 0x10(r3)
/* 80225BE4 00221844  48 00 02 1C */	b lbl_80225E00
lbl_80225BE8:
/* 80225BE8 00221848  A8 03 00 00 */	lha r0, 0(r3)
/* 80225BEC 0022184C  B0 1F 00 00 */	sth r0, 0(r31)
/* 80225BF0 00221850  A0 03 00 02 */	lhz r0, 2(r3)
/* 80225BF4 00221854  B0 1F 00 02 */	sth r0, 2(r31)
/* 80225BF8 00221858  80 03 00 04 */	lwz r0, 4(r3)
/* 80225BFC 0022185C  90 1F 00 04 */	stw r0, 4(r31)
/* 80225C00 00221860  48 00 02 00 */	b lbl_80225E00
/* 80225C04 00221864  A8 05 00 08 */	lha r0, 8(r5)
/* 80225C08 00221868  2C 00 00 01 */	cmpwi r0, 1
/* 80225C0C 0022186C  40 82 00 0C */	bne lbl_80225C18
/* 80225C10 00221870  80 85 00 0C */	lwz r4, 0xc(r5)
/* 80225C14 00221874  48 00 00 2C */	b lbl_80225C40
lbl_80225C18:
/* 80225C18 00221878  2C 00 00 02 */	cmpwi r0, 2
/* 80225C1C 0022187C  40 82 00 18 */	bne lbl_80225C34
/* 80225C20 00221880  C0 05 00 0C */	lfs f0, 0xc(r5)
/* 80225C24 00221884  FC 00 00 1E */	fctiwz f0, f0
/* 80225C28 00221888  D8 01 01 08 */	stfd f0, 0x108(r1)
/* 80225C2C 0022188C  80 61 01 0C */	lwz r3, 0x10c(r1)
/* 80225C30 00221890  48 00 00 0C */	b lbl_80225C3C
lbl_80225C34:
/* 80225C34 00221894  38 65 00 08 */	addi r3, r5, 8
/* 80225C38 00221898  48 00 80 FD */	bl func_8022DD34
lbl_80225C3C:
/* 80225C3C 0022189C  7C 64 1B 78 */	mr r4, r3
lbl_80225C40:
/* 80225C40 002218A0  7F 83 E3 78 */	mr r3, r28
/* 80225C44 002218A4  38 BD 00 10 */	addi r5, r29, 0x10
/* 80225C48 002218A8  48 00 7F D9 */	bl func_8022DC20
/* 80225C4C 002218AC  48 00 01 B4 */	b lbl_80225E00
/* 80225C50 002218B0  80 65 00 04 */	lwz r3, 4(r5)
/* 80225C54 002218B4  38 00 00 01 */	li r0, 1
/* 80225C58 002218B8  80 63 00 00 */	lwz r3, 0(r3)
/* 80225C5C 002218BC  B0 06 00 00 */	sth r0, 0(r6)
/* 80225C60 002218C0  90 66 00 04 */	stw r3, 4(r6)
/* 80225C64 002218C4  48 00 01 9C */	b lbl_80225E00
/* 80225C68 002218C8  A8 05 00 08 */	lha r0, 8(r5)
/* 80225C6C 002218CC  2C 00 00 01 */	cmpwi r0, 1
/* 80225C70 002218D0  40 82 00 0C */	bne lbl_80225C7C
/* 80225C74 002218D4  80 85 00 0C */	lwz r4, 0xc(r5)
/* 80225C78 002218D8  48 00 00 2C */	b lbl_80225CA4
lbl_80225C7C:
/* 80225C7C 002218DC  2C 00 00 02 */	cmpwi r0, 2
/* 80225C80 002218E0  40 82 00 18 */	bne lbl_80225C98
/* 80225C84 002218E4  C0 05 00 0C */	lfs f0, 0xc(r5)
/* 80225C88 002218E8  FC 00 00 1E */	fctiwz f0, f0
/* 80225C8C 002218EC  D8 01 01 08 */	stfd f0, 0x108(r1)
/* 80225C90 002218F0  80 61 01 0C */	lwz r3, 0x10c(r1)
/* 80225C94 002218F4  48 00 00 0C */	b lbl_80225CA0
lbl_80225C98:
/* 80225C98 002218F8  38 65 00 08 */	addi r3, r5, 8
/* 80225C9C 002218FC  48 00 80 99 */	bl func_8022DD34
lbl_80225CA0:
/* 80225CA0 00221900  7C 64 1B 78 */	mr r4, r3
lbl_80225CA4:
/* 80225CA4 00221904  7F 83 E3 78 */	mr r3, r28
/* 80225CA8 00221908  48 00 80 85 */	bl func_8022DD2C
/* 80225CAC 0022190C  48 00 01 54 */	b lbl_80225E00
/* 80225CB0 00221910  A8 05 00 08 */	lha r0, 8(r5)
/* 80225CB4 00221914  2C 00 00 01 */	cmpwi r0, 1
/* 80225CB8 00221918  40 82 00 0C */	bne lbl_80225CC4
/* 80225CBC 0022191C  83 C5 00 0C */	lwz r30, 0xc(r5)
/* 80225CC0 00221920  48 00 00 2C */	b lbl_80225CEC
lbl_80225CC4:
/* 80225CC4 00221924  2C 00 00 02 */	cmpwi r0, 2
/* 80225CC8 00221928  40 82 00 18 */	bne lbl_80225CE0
/* 80225CCC 0022192C  C0 05 00 0C */	lfs f0, 0xc(r5)
/* 80225CD0 00221930  FC 00 00 1E */	fctiwz f0, f0
/* 80225CD4 00221934  D8 01 01 08 */	stfd f0, 0x108(r1)
/* 80225CD8 00221938  80 61 01 0C */	lwz r3, 0x10c(r1)
/* 80225CDC 0022193C  48 00 00 0C */	b lbl_80225CE8
lbl_80225CE0:
/* 80225CE0 00221940  38 65 00 08 */	addi r3, r5, 8
/* 80225CE4 00221944  48 00 80 51 */	bl func_8022DD34
lbl_80225CE8:
/* 80225CE8 00221948  7C 7E 1B 78 */	mr r30, r3
lbl_80225CEC:
/* 80225CEC 0022194C  3B BD 00 10 */	addi r29, r29, 0x10
/* 80225CF0 00221950  3B E0 00 00 */	li r31, 0
/* 80225CF4 00221954  48 00 00 18 */	b lbl_80225D0C
lbl_80225CF8:
/* 80225CF8 00221958  7F 83 E3 78 */	mr r3, r28
/* 80225CFC 0022195C  7F A4 EB 78 */	mr r4, r29
/* 80225D00 00221960  48 00 80 31 */	bl func_8022DD30
/* 80225D04 00221964  3B BD 00 08 */	addi r29, r29, 8
/* 80225D08 00221968  3B FF 00 01 */	addi r31, r31, 1
lbl_80225D0C:
/* 80225D0C 0022196C  7C 1F F0 00 */	cmpw r31, r30
/* 80225D10 00221970  41 80 FF E8 */	blt lbl_80225CF8
/* 80225D14 00221974  48 00 00 EC */	b lbl_80225E00
/* 80225D18 00221978  7F 83 E3 78 */	mr r3, r28
/* 80225D1C 0022197C  38 85 00 08 */	addi r4, r5, 8
/* 80225D20 00221980  48 00 80 11 */	bl func_8022DD30
/* 80225D24 00221984  48 00 00 DC */	b lbl_80225E00
/* 80225D28 00221988  38 00 00 00 */	li r0, 0
/* 80225D2C 0022198C  90 1C 00 04 */	stw r0, 4(r28)
/* 80225D30 00221990  48 00 00 D0 */	b lbl_80225E00
/* 80225D34 00221994  7F 83 E3 78 */	mr r3, r28
/* 80225D38 00221998  48 00 7F B1 */	bl func_8022DCE8
/* 80225D3C 0022199C  A8 03 00 00 */	lha r0, 0(r3)
/* 80225D40 002219A0  2C 00 00 03 */	cmpwi r0, 3
/* 80225D44 002219A4  40 82 00 34 */	bne lbl_80225D78
/* 80225D48 002219A8  80 DE 09 14 */	lwz r6, 0x914(r30)
/* 80225D4C 002219AC  38 A0 00 FF */	li r5, 0xff
/* 80225D50 002219B0  80 83 00 04 */	lwz r4, 4(r3)
/* 80225D54 002219B4  38 66 00 38 */	addi r3, r6, 0x38
/* 80225D58 002219B8  4B FA 86 39 */	bl strncpy
/* 80225D5C 002219BC  80 9E 09 14 */	lwz r4, 0x914(r30)
/* 80225D60 002219C0  38 00 00 03 */	li r0, 3
/* 80225D64 002219C4  38 64 00 38 */	addi r3, r4, 0x38
/* 80225D68 002219C8  90 64 00 14 */	stw r3, 0x14(r4)
/* 80225D6C 002219CC  80 7E 09 14 */	lwz r3, 0x914(r30)
/* 80225D70 002219D0  B0 03 00 10 */	sth r0, 0x10(r3)
/* 80225D74 002219D4  48 00 00 8C */	b lbl_80225E00
lbl_80225D78:
/* 80225D78 002219D8  2C 00 00 04 */	cmpwi r0, 4
/* 80225D7C 002219DC  40 82 00 40 */	bne lbl_80225DBC
/* 80225D80 002219E0  80 83 00 04 */	lwz r4, 4(r3)
/* 80225D84 002219E4  38 00 00 04 */	li r0, 4
/* 80225D88 002219E8  80 7E 09 14 */	lwz r3, 0x914(r30)
/* 80225D8C 002219EC  C0 04 00 00 */	lfs f0, 0(r4)
/* 80225D90 002219F0  D0 03 01 38 */	stfs f0, 0x138(r3)
/* 80225D94 002219F4  C0 04 00 04 */	lfs f0, 4(r4)
/* 80225D98 002219F8  D0 03 01 3C */	stfs f0, 0x13c(r3)
/* 80225D9C 002219FC  C0 04 00 08 */	lfs f0, 8(r4)
/* 80225DA0 00221A00  D0 03 01 40 */	stfs f0, 0x140(r3)
/* 80225DA4 00221A04  80 9E 09 14 */	lwz r4, 0x914(r30)
/* 80225DA8 00221A08  38 64 01 38 */	addi r3, r4, 0x138
/* 80225DAC 00221A0C  90 64 00 14 */	stw r3, 0x14(r4)
/* 80225DB0 00221A10  80 7E 09 14 */	lwz r3, 0x914(r30)
/* 80225DB4 00221A14  B0 03 00 10 */	sth r0, 0x10(r3)
/* 80225DB8 00221A18  48 00 00 48 */	b lbl_80225E00
lbl_80225DBC:
/* 80225DBC 00221A1C  A8 03 00 00 */	lha r0, 0(r3)
/* 80225DC0 00221A20  B0 1F 00 00 */	sth r0, 0(r31)
/* 80225DC4 00221A24  A0 03 00 02 */	lhz r0, 2(r3)
/* 80225DC8 00221A28  B0 1F 00 02 */	sth r0, 2(r31)
/* 80225DCC 00221A2C  80 03 00 04 */	lwz r0, 4(r3)
/* 80225DD0 00221A30  90 1F 00 04 */	stw r0, 4(r31)
/* 80225DD4 00221A34  48 00 00 2C */	b lbl_80225E00
/* 80225DD8 00221A38  38 80 00 01 */	li r4, 1
/* 80225DDC 00221A3C  B0 86 00 00 */	sth r4, 0(r6)
/* 80225DE0 00221A40  80 7C 00 00 */	lwz r3, 0(r28)
/* 80225DE4 00221A44  80 1C 00 04 */	lwz r0, 4(r28)
/* 80225DE8 00221A48  7C 03 00 00 */	cmpw r3, r0
/* 80225DEC 00221A4C  41 81 00 0C */	bgt lbl_80225DF8
/* 80225DF0 00221A50  90 86 00 04 */	stw r4, 4(r6)
/* 80225DF4 00221A54  48 00 00 0C */	b lbl_80225E00
lbl_80225DF8:
/* 80225DF8 00221A58  38 00 00 00 */	li r0, 0
/* 80225DFC 00221A5C  90 06 00 04 */	stw r0, 4(r6)
lbl_80225E00:
/* 80225E00 00221A60  38 60 00 01 */	li r3, 1
lbl_80225E04:
/* 80225E04 00221A64  80 01 01 24 */	lwz r0, 0x124(r1)
/* 80225E08 00221A68  83 E1 01 1C */	lwz r31, 0x11c(r1)
/* 80225E0C 00221A6C  83 C1 01 18 */	lwz r30, 0x118(r1)
/* 80225E10 00221A70  83 A1 01 14 */	lwz r29, 0x114(r1)
/* 80225E14 00221A74  83 81 01 10 */	lwz r28, 0x110(r1)
/* 80225E18 00221A78  7C 08 03 A6 */	mtlr r0
/* 80225E1C 00221A7C  38 21 01 20 */	addi r1, r1, 0x120
/* 80225E20 00221A80  4E 80 00 20 */	blr

.global func_80225E24
func_80225E24:
/* 80225E24 00221A84  38 A0 00 01 */	li r5, 1
/* 80225E28 00221A88  38 6D A3 60 */	addi r3, r13, lbl_8063F620-_SDA_BASE_
/* 80225E2C 00221A8C  38 80 00 04 */	li r4, 4
/* 80225E30 00221A90  38 00 00 00 */	li r0, 0
/* 80225E34 00221A94  98 AD A3 60 */	stb r5, lbl_8063F620-_SDA_BASE_(r13)
/* 80225E38 00221A98  B0 83 00 02 */	sth r4, 2(r3)
/* 80225E3C 00221A9C  98 03 00 04 */	stb r0, 4(r3)
/* 80225E40 00221AA0  4E 80 00 20 */	blr