summaryrefslogtreecommitdiff
path: root/asm/code_8022773C.s
blob: 2beedce03ba18e253caed6c06a1ec8da1b7944a6 (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
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
.include "macros.inc"

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

.global func_8022773C
func_8022773C:
/* 8022773C 0022339C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80227740 002233A0  7C 08 02 A6 */	mflr r0
/* 80227744 002233A4  28 04 00 08 */	cmplwi r4, 8
/* 80227748 002233A8  90 01 00 14 */	stw r0, 0x14(r1)
/* 8022774C 002233AC  41 81 00 A4 */	bgt lbl_802277F0
/* 80227750 002233B0  3C E0 80 42 */	lis r7, lbl_80423E58@ha
/* 80227754 002233B4  54 80 10 3A */	slwi r0, r4, 2
/* 80227758 002233B8  38 E7 3E 58 */	addi r7, r7, lbl_80423E58@l
/* 8022775C 002233BC  7C E7 00 2E */	lwzx r7, r7, r0
/* 80227760 002233C0  7C E9 03 A6 */	mtctr r7
/* 80227764 002233C4  4E 80 04 20 */	bctr
/* 80227768 002233C8  81 83 00 00 */	lwz r12, 0(r3)
/* 8022776C 002233CC  7C A4 2B 78 */	mr r4, r5
/* 80227770 002233D0  7C C5 33 78 */	mr r5, r6
/* 80227774 002233D4  81 8C 00 0C */	lwz r12, 0xc(r12)
/* 80227778 002233D8  7D 89 03 A6 */	mtctr r12
/* 8022777C 002233DC  4E 80 04 21 */	bctrl
/* 80227780 002233E0  48 00 00 70 */	b lbl_802277F0
/* 80227784 002233E4  81 83 00 00 */	lwz r12, 0(r3)
/* 80227788 002233E8  7C A4 2B 78 */	mr r4, r5
/* 8022778C 002233EC  7C C5 33 78 */	mr r5, r6
/* 80227790 002233F0  81 8C 00 10 */	lwz r12, 0x10(r12)
/* 80227794 002233F4  7D 89 03 A6 */	mtctr r12
/* 80227798 002233F8  4E 80 04 21 */	bctrl
/* 8022779C 002233FC  48 00 00 54 */	b lbl_802277F0
/* 802277A0 00223400  81 83 00 00 */	lwz r12, 0(r3)
/* 802277A4 00223404  7C A4 2B 78 */	mr r4, r5
/* 802277A8 00223408  7C C5 33 78 */	mr r5, r6
/* 802277AC 0022340C  81 8C 00 14 */	lwz r12, 0x14(r12)
/* 802277B0 00223410  7D 89 03 A6 */	mtctr r12
/* 802277B4 00223414  4E 80 04 21 */	bctrl
/* 802277B8 00223418  48 00 00 38 */	b lbl_802277F0
/* 802277BC 0022341C  81 83 00 00 */	lwz r12, 0(r3)
/* 802277C0 00223420  7C A4 2B 78 */	mr r4, r5
/* 802277C4 00223424  7C C5 33 78 */	mr r5, r6
/* 802277C8 00223428  81 8C 00 18 */	lwz r12, 0x18(r12)
/* 802277CC 0022342C  7D 89 03 A6 */	mtctr r12
/* 802277D0 00223430  4E 80 04 21 */	bctrl
/* 802277D4 00223434  48 00 00 1C */	b lbl_802277F0
/* 802277D8 00223438  81 83 00 00 */	lwz r12, 0(r3)
/* 802277DC 0022343C  7C A4 2B 78 */	mr r4, r5
/* 802277E0 00223440  7C C5 33 78 */	mr r5, r6
/* 802277E4 00223444  81 8C 00 1C */	lwz r12, 0x1c(r12)
/* 802277E8 00223448  7D 89 03 A6 */	mtctr r12
/* 802277EC 0022344C  4E 80 04 21 */	bctrl
lbl_802277F0:
/* 802277F0 00223450  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802277F4 00223454  38 60 00 01 */	li r3, 1
/* 802277F8 00223458  7C 08 03 A6 */	mtlr r0
/* 802277FC 0022345C  38 21 00 10 */	addi r1, r1, 0x10
/* 80227800 00223460  4E 80 00 20 */	blr

.global func_80227804
func_80227804:
/* 80227804 00223464  80 03 00 00 */	lwz r0, 0(r3)
/* 80227808 00223468  54 03 00 1E */	rlwinm r3, r0, 0, 0, 0xf
/* 8022780C 0022346C  3C 03 FA 6A */	addis r0, r3, 0xfa6a
/* 80227810 00223470  28 00 00 00 */	cmplwi r0, 0
/* 80227814 00223474  40 82 00 10 */	bne lbl_80227824
/* 80227818 00223478  80 6D A3 80 */	lwz r3, lbl_8063F640-_SDA_BASE_(r13)
/* 8022781C 0022347C  80 63 00 20 */	lwz r3, 0x20(r3)
/* 80227820 00223480  4E 80 00 20 */	blr
lbl_80227824:
/* 80227824 00223484  80 6D A3 80 */	lwz r3, lbl_8063F640-_SDA_BASE_(r13)
/* 80227828 00223488  4B FF F0 E8 */	b func_80226910
/* 8022782C 0022348C  4E 80 00 20 */	blr

.global func_80227830
func_80227830:
/* 80227830 00223490  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80227834 00223494  7C 08 02 A6 */	mflr r0
/* 80227838 00223498  90 01 00 14 */	stw r0, 0x14(r1)
/* 8022783C 0022349C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80227840 002234A0  7C 7F 1B 78 */	mr r31, r3
/* 80227844 002234A4  4B FF FF C1 */	bl func_80227804
/* 80227848 002234A8  2C 03 00 00 */	cmpwi r3, 0
/* 8022784C 002234AC  41 82 00 0C */	beq lbl_80227858
/* 80227850 002234B0  80 9F 00 04 */	lwz r4, 4(r31)
/* 80227854 002234B4  48 00 32 E5 */	bl func_8022AB38
lbl_80227858:
/* 80227858 002234B8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8022785C 002234BC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80227860 002234C0  7C 08 03 A6 */	mtlr r0
/* 80227864 002234C4  38 21 00 10 */	addi r1, r1, 0x10
/* 80227868 002234C8  4E 80 00 20 */	blr

.global func_8022786C
func_8022786C:
/* 8022786C 002234CC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80227870 002234D0  7C 08 02 A6 */	mflr r0
/* 80227874 002234D4  90 01 00 14 */	stw r0, 0x14(r1)
/* 80227878 002234D8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8022787C 002234DC  7C 7F 1B 78 */	mr r31, r3
/* 80227880 002234E0  4B FF FF 85 */	bl func_80227804
/* 80227884 002234E4  2C 03 00 00 */	cmpwi r3, 0
/* 80227888 002234E8  41 82 00 0C */	beq lbl_80227894
/* 8022788C 002234EC  80 9F 00 04 */	lwz r4, 4(r31)
/* 80227890 002234F0  48 00 32 E5 */	bl func_8022AB74
lbl_80227894:
/* 80227894 002234F4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80227898 002234F8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8022789C 002234FC  7C 08 03 A6 */	mtlr r0
/* 802278A0 00223500  38 21 00 10 */	addi r1, r1, 0x10
/* 802278A4 00223504  4E 80 00 20 */	blr

.global func_802278A8
func_802278A8:
/* 802278A8 00223508  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802278AC 0022350C  7C 08 02 A6 */	mflr r0
/* 802278B0 00223510  90 01 00 14 */	stw r0, 0x14(r1)
/* 802278B4 00223514  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802278B8 00223518  7C 7F 1B 78 */	mr r31, r3
/* 802278BC 0022351C  4B FF FF 49 */	bl func_80227804
/* 802278C0 00223520  2C 03 00 00 */	cmpwi r3, 0
/* 802278C4 00223524  41 82 00 0C */	beq lbl_802278D0
/* 802278C8 00223528  80 9F 00 04 */	lwz r4, 4(r31)
/* 802278CC 0022352C  48 00 2F DD */	bl func_8022A8A8
lbl_802278D0:
/* 802278D0 00223530  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802278D4 00223534  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802278D8 00223538  7C 08 03 A6 */	mtlr r0
/* 802278DC 0022353C  38 21 00 10 */	addi r1, r1, 0x10
/* 802278E0 00223540  4E 80 00 20 */	blr

.global func_802278E4
func_802278E4:
/* 802278E4 00223544  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802278E8 00223548  7C 08 02 A6 */	mflr r0
/* 802278EC 0022354C  90 01 00 34 */	stw r0, 0x34(r1)
/* 802278F0 00223550  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 802278F4 00223554  7C DF 33 78 */	mr r31, r6
/* 802278F8 00223558  93 C1 00 28 */	stw r30, 0x28(r1)
/* 802278FC 0022355C  7C 7E 1B 78 */	mr r30, r3
/* 80227900 00223560  4B FF FF 05 */	bl func_80227804
/* 80227904 00223564  2C 03 00 00 */	cmpwi r3, 0
/* 80227908 00223568  40 82 00 44 */	bne lbl_8022794C
/* 8022790C 0022356C  38 80 00 01 */	li r4, 1
/* 80227910 00223570  38 00 00 00 */	li r0, 0
/* 80227914 00223574  B0 81 00 08 */	sth r4, 8(r1)
/* 80227918 00223578  38 A1 00 08 */	addi r5, r1, 8
/* 8022791C 0022357C  38 C0 00 04 */	li r6, 4
/* 80227920 00223580  38 E0 00 01 */	li r7, 1
/* 80227924 00223584  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80227928 00223588  B0 81 00 10 */	sth r4, 0x10(r1)
/* 8022792C 0022358C  90 01 00 14 */	stw r0, 0x14(r1)
/* 80227930 00223590  B0 81 00 18 */	sth r4, 0x18(r1)
/* 80227934 00223594  90 01 00 1C */	stw r0, 0x1c(r1)
/* 80227938 00223598  B0 81 00 20 */	sth r4, 0x20(r1)
/* 8022793C 0022359C  90 01 00 24 */	stw r0, 0x24(r1)
/* 80227940 002235A0  80 9E 00 00 */	lwz r4, 0(r30)
/* 80227944 002235A4  48 00 29 71 */	bl func_8022A2B4
/* 80227948 002235A8  90 7E 00 04 */	stw r3, 4(r30)
lbl_8022794C:
/* 8022794C 002235AC  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80227950 002235B0  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 80227954 002235B4  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 80227958 002235B8  7C 08 03 A6 */	mtlr r0
/* 8022795C 002235BC  38 21 00 30 */	addi r1, r1, 0x30
/* 80227960 002235C0  4E 80 00 20 */	blr

.global func_80227964
func_80227964:
/* 80227964 002235C4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80227968 002235C8  7C 08 02 A6 */	mflr r0
/* 8022796C 002235CC  90 01 00 14 */	stw r0, 0x14(r1)
/* 80227970 002235D0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80227974 002235D4  7C 7F 1B 78 */	mr r31, r3
/* 80227978 002235D8  4B FF FE 8D */	bl func_80227804
/* 8022797C 002235DC  2C 03 00 00 */	cmpwi r3, 0
/* 80227980 002235E0  40 82 00 0C */	bne lbl_8022798C
/* 80227984 002235E4  38 60 00 00 */	li r3, 0
/* 80227988 002235E8  48 00 00 28 */	b lbl_802279B0
lbl_8022798C:
/* 8022798C 002235EC  80 9F 00 04 */	lwz r4, 4(r31)
/* 80227990 002235F0  48 00 2F 71 */	bl func_8022A900
/* 80227994 002235F4  2C 03 00 00 */	cmpwi r3, 0
/* 80227998 002235F8  40 82 00 14 */	bne lbl_802279AC
/* 8022799C 002235FC  38 00 00 00 */	li r0, 0
/* 802279A0 00223600  38 60 00 00 */	li r3, 0
/* 802279A4 00223604  90 1F 00 04 */	stw r0, 4(r31)
/* 802279A8 00223608  48 00 00 08 */	b lbl_802279B0
lbl_802279AC:
/* 802279AC 0022360C  38 60 00 01 */	li r3, 1
lbl_802279B0:
/* 802279B0 00223610  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802279B4 00223614  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802279B8 00223618  7C 08 03 A6 */	mtlr r0
/* 802279BC 0022361C  38 21 00 10 */	addi r1, r1, 0x10
/* 802279C0 00223620  4E 80 00 20 */	blr

.global func_802279C4
func_802279C4:
/* 802279C4 00223624  2C 04 00 04 */	cmpwi r4, 4
/* 802279C8 00223628  41 82 00 24 */	beq lbl_802279EC
/* 802279CC 0022362C  40 80 00 10 */	bge lbl_802279DC
/* 802279D0 00223630  2C 04 00 02 */	cmpwi r4, 2
/* 802279D4 00223634  4D 82 00 20 */	beqlr
/* 802279D8 00223638  48 00 00 24 */	b lbl_802279FC
lbl_802279DC:
/* 802279DC 0022363C  2C 04 00 06 */	cmpwi r4, 6
/* 802279E0 00223640  41 82 00 14 */	beq lbl_802279F4
/* 802279E4 00223644  48 00 00 18 */	b lbl_802279FC
/* 802279E8 00223648  4E 80 00 20 */	blr
lbl_802279EC:
/* 802279EC 0022364C  38 63 00 08 */	addi r3, r3, 8
/* 802279F0 00223650  4E 80 00 20 */	blr
lbl_802279F4:
/* 802279F4 00223654  38 63 00 10 */	addi r3, r3, 0x10
/* 802279F8 00223658  4E 80 00 20 */	blr
lbl_802279FC:
/* 802279FC 0022365C  38 60 00 00 */	li r3, 0
/* 80227A00 00223660  4E 80 00 20 */	blr

.global func_80227A04
func_80227A04:
/* 80227A04 00223664  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80227A08 00223668  7C 08 02 A6 */	mflr r0
/* 80227A0C 0022366C  90 01 00 24 */	stw r0, 0x24(r1)
/* 80227A10 00223670  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80227A14 00223674  7C FF 3B 78 */	mr r31, r7
/* 80227A18 00223678  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80227A1C 0022367C  7C DE 33 78 */	mr r30, r6
/* 80227A20 00223680  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80227A24 00223684  7C BD 2B 78 */	mr r29, r5
/* 80227A28 00223688  4B FF FF 9D */	bl func_802279C4
/* 80227A2C 0022368C  2C 03 00 00 */	cmpwi r3, 0
/* 80227A30 00223690  41 82 00 14 */	beq lbl_80227A44
/* 80227A34 00223694  7F A4 EB 78 */	mr r4, r29
/* 80227A38 00223698  7F C5 F3 78 */	mr r5, r30
/* 80227A3C 0022369C  7F E6 FB 78 */	mr r6, r31
/* 80227A40 002236A0  4B FF FE A5 */	bl func_802278E4
lbl_80227A44:
/* 80227A44 002236A4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80227A48 002236A8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80227A4C 002236AC  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80227A50 002236B0  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80227A54 002236B4  7C 08 03 A6 */	mtlr r0
/* 80227A58 002236B8  38 21 00 20 */	addi r1, r1, 0x20
/* 80227A5C 002236BC  4E 80 00 20 */	blr
lbl_80227A60:
/* 80227A60 002236C0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80227A64 002236C4  7C 08 02 A6 */	mflr r0
/* 80227A68 002236C8  90 01 00 14 */	stw r0, 0x14(r1)
/* 80227A6C 002236CC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80227A70 002236D0  7C 7F 1B 78 */	mr r31, r3
/* 80227A74 002236D4  4B FF FD BD */	bl func_80227830
/* 80227A78 002236D8  38 7F 00 08 */	addi r3, r31, 8
/* 80227A7C 002236DC  4B FF FD B5 */	bl func_80227830
/* 80227A80 002236E0  38 7F 00 10 */	addi r3, r31, 0x10
/* 80227A84 002236E4  4B FF FD AD */	bl func_80227830
/* 80227A88 002236E8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80227A8C 002236EC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80227A90 002236F0  7C 08 03 A6 */	mtlr r0
/* 80227A94 002236F4  38 21 00 10 */	addi r1, r1, 0x10
/* 80227A98 002236F8  4E 80 00 20 */	blr
lbl_80227A9C:
/* 80227A9C 002236FC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80227AA0 00223700  7C 08 02 A6 */	mflr r0
/* 80227AA4 00223704  90 01 00 14 */	stw r0, 0x14(r1)
/* 80227AA8 00223708  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80227AAC 0022370C  7C 7F 1B 78 */	mr r31, r3
/* 80227AB0 00223710  4B FF FD BD */	bl func_8022786C
/* 80227AB4 00223714  38 7F 00 08 */	addi r3, r31, 8
/* 80227AB8 00223718  4B FF FD B5 */	bl func_8022786C
/* 80227ABC 0022371C  38 7F 00 10 */	addi r3, r31, 0x10
/* 80227AC0 00223720  4B FF FD AD */	bl func_8022786C
/* 80227AC4 00223724  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80227AC8 00223728  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80227ACC 0022372C  7C 08 03 A6 */	mtlr r0
/* 80227AD0 00223730  38 21 00 10 */	addi r1, r1, 0x10
/* 80227AD4 00223734  4E 80 00 20 */	blr
lbl_80227AD8:
/* 80227AD8 00223738  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80227ADC 0022373C  7C 08 02 A6 */	mflr r0
/* 80227AE0 00223740  90 01 00 14 */	stw r0, 0x14(r1)
/* 80227AE4 00223744  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80227AE8 00223748  7C 7F 1B 78 */	mr r31, r3
/* 80227AEC 0022374C  4B FF FD BD */	bl func_802278A8
/* 80227AF0 00223750  38 7F 00 08 */	addi r3, r31, 8
/* 80227AF4 00223754  4B FF FD B5 */	bl func_802278A8
/* 80227AF8 00223758  38 7F 00 10 */	addi r3, r31, 0x10
/* 80227AFC 0022375C  4B FF FD AD */	bl func_802278A8
/* 80227B00 00223760  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80227B04 00223764  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80227B08 00223768  7C 08 03 A6 */	mtlr r0
/* 80227B0C 0022376C  38 21 00 10 */	addi r1, r1, 0x10
/* 80227B10 00223770  4E 80 00 20 */	blr
lbl_80227B14:
/* 80227B14 00223774  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80227B18 00223778  7C 08 02 A6 */	mflr r0
/* 80227B1C 0022377C  90 01 00 14 */	stw r0, 0x14(r1)
/* 80227B20 00223780  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80227B24 00223784  7C 7F 1B 78 */	mr r31, r3
/* 80227B28 00223788  4B FF FD 81 */	bl func_802278A8
/* 80227B2C 0022378C  38 7F 00 08 */	addi r3, r31, 8
/* 80227B30 00223790  4B FF FD 79 */	bl func_802278A8
/* 80227B34 00223794  38 7F 00 10 */	addi r3, r31, 0x10
/* 80227B38 00223798  4B FF FD 71 */	bl func_802278A8
/* 80227B3C 0022379C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80227B40 002237A0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80227B44 002237A4  7C 08 03 A6 */	mtlr r0
/* 80227B48 002237A8  38 21 00 10 */	addi r1, r1, 0x10
/* 80227B4C 002237AC  4E 80 00 20 */	blr
lbl_80227B50:
/* 80227B50 002237B0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80227B54 002237B4  7C 08 02 A6 */	mflr r0
/* 80227B58 002237B8  90 01 00 14 */	stw r0, 0x14(r1)
/* 80227B5C 002237BC  4B FF FE 69 */	bl func_802279C4
/* 80227B60 002237C0  2C 03 00 00 */	cmpwi r3, 0
/* 80227B64 002237C4  41 82 00 0C */	beq lbl_80227B70
/* 80227B68 002237C8  4B FF FD FD */	bl func_80227964
/* 80227B6C 002237CC  48 00 00 08 */	b lbl_80227B74
lbl_80227B70:
/* 80227B70 002237D0  38 60 00 00 */	li r3, 0
lbl_80227B74:
/* 80227B74 002237D4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80227B78 002237D8  7C 08 03 A6 */	mtlr r0
/* 80227B7C 002237DC  38 21 00 10 */	addi r1, r1, 0x10
/* 80227B80 002237E0  4E 80 00 20 */	blr
lbl_80227B84:
/* 80227B84 002237E4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80227B88 002237E8  7C 08 02 A6 */	mflr r0
/* 80227B8C 002237EC  90 01 00 14 */	stw r0, 0x14(r1)
/* 80227B90 002237F0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80227B94 002237F4  7C 7F 1B 78 */	mr r31, r3
/* 80227B98 002237F8  48 00 00 1D */	bl func_80227BB4
/* 80227B9C 002237FC  7F E3 FB 78 */	mr r3, r31
/* 80227BA0 00223800  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80227BA4 00223804  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80227BA8 00223808  7C 08 03 A6 */	mtlr r0
/* 80227BAC 0022380C  38 21 00 10 */	addi r1, r1, 0x10
/* 80227BB0 00223810  4E 80 00 20 */	blr

.global func_80227BB4
func_80227BB4:
/* 80227BB4 00223814  38 00 00 00 */	li r0, 0
/* 80227BB8 00223818  90 03 00 00 */	stw r0, 0(r3)
/* 80227BBC 0022381C  90 03 00 04 */	stw r0, 4(r3)
/* 80227BC0 00223820  98 03 00 19 */	stb r0, 0x19(r3)
/* 80227BC4 00223824  98 03 00 1A */	stb r0, 0x1a(r3)
/* 80227BC8 00223828  90 03 00 08 */	stw r0, 8(r3)
/* 80227BCC 0022382C  90 03 00 14 */	stw r0, 0x14(r3)
/* 80227BD0 00223830  98 03 00 18 */	stb r0, 0x18(r3)
/* 80227BD4 00223834  4E 80 00 20 */	blr

.global func_80227BD8
func_80227BD8:
/* 80227BD8 00223838  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80227BDC 0022383C  7C 08 02 A6 */	mflr r0
/* 80227BE0 00223840  90 01 00 24 */	stw r0, 0x24(r1)
/* 80227BE4 00223844  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80227BE8 00223848  7C DF 33 78 */	mr r31, r6
/* 80227BEC 0022384C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80227BF0 00223850  7C BE 2B 78 */	mr r30, r5
/* 80227BF4 00223854  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80227BF8 00223858  7C 9D 23 78 */	mr r29, r4
/* 80227BFC 0022385C  93 81 00 10 */	stw r28, 0x10(r1)
/* 80227C00 00223860  7C 7C 1B 78 */	mr r28, r3
/* 80227C04 00223864  4B FF FF B1 */	bl func_80227BB4
/* 80227C08 00223868  38 00 00 01 */	li r0, 1
/* 80227C0C 0022386C  93 DC 00 14 */	stw r30, 0x14(r28)
/* 80227C10 00223870  90 1C 00 10 */	stw r0, 0x10(r28)
/* 80227C14 00223874  9B BC 00 18 */	stb r29, 0x18(r28)
/* 80227C18 00223878  93 FC 00 1C */	stw r31, 0x1c(r28)
/* 80227C1C 0022387C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80227C20 00223880  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80227C24 00223884  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80227C28 00223888  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80227C2C 0022388C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80227C30 00223890  7C 08 03 A6 */	mtlr r0
/* 80227C34 00223894  38 21 00 20 */	addi r1, r1, 0x20
/* 80227C38 00223898  4E 80 00 20 */	blr

.global func_80227C3C
func_80227C3C:
/* 80227C3C 0022389C  80 03 00 10 */	lwz r0, 0x10(r3)
/* 80227C40 002238A0  38 80 00 01 */	li r4, 1
/* 80227C44 002238A4  98 83 00 19 */	stb r4, 0x19(r3)
/* 80227C48 002238A8  2C 00 00 04 */	cmpwi r0, 4
/* 80227C4C 002238AC  4D 82 00 20 */	beqlr
/* 80227C50 002238B0  40 80 00 10 */	bge lbl_80227C60
/* 80227C54 002238B4  2C 00 00 03 */	cmpwi r0, 3
/* 80227C58 002238B8  40 80 00 14 */	bge lbl_80227C6C
/* 80227C5C 002238BC  4E 80 00 20 */	blr
lbl_80227C60:
/* 80227C60 002238C0  2C 00 00 06 */	cmpwi r0, 6
/* 80227C64 002238C4  4C 80 00 20 */	bgelr
/* 80227C68 002238C8  48 00 00 0C */	b lbl_80227C74
lbl_80227C6C:
/* 80227C6C 002238CC  38 63 00 1C */	addi r3, r3, 0x1c
/* 80227C70 002238D0  4B FF FD F0 */	b lbl_80227A60
lbl_80227C74:
/* 80227C74 002238D4  38 63 00 1C */	addi r3, r3, 0x1c
/* 80227C78 002238D8  4B FF FB B8 */	b func_80227830
/* 80227C7C 002238DC  4E 80 00 20 */	blr

.global func_80227C80
func_80227C80:
/* 80227C80 002238E0  80 03 00 10 */	lwz r0, 0x10(r3)
/* 80227C84 002238E4  38 80 00 00 */	li r4, 0
/* 80227C88 002238E8  98 83 00 19 */	stb r4, 0x19(r3)
/* 80227C8C 002238EC  2C 00 00 04 */	cmpwi r0, 4
/* 80227C90 002238F0  4D 82 00 20 */	beqlr
/* 80227C94 002238F4  40 80 00 10 */	bge lbl_80227CA4
/* 80227C98 002238F8  2C 00 00 03 */	cmpwi r0, 3
/* 80227C9C 002238FC  40 80 00 14 */	bge lbl_80227CB0
/* 80227CA0 00223900  4E 80 00 20 */	blr
lbl_80227CA4:
/* 80227CA4 00223904  2C 00 00 06 */	cmpwi r0, 6
/* 80227CA8 00223908  4C 80 00 20 */	bgelr
/* 80227CAC 0022390C  48 00 00 0C */	b lbl_80227CB8
lbl_80227CB0:
/* 80227CB0 00223910  38 63 00 1C */	addi r3, r3, 0x1c
/* 80227CB4 00223914  4B FF FD E8 */	b lbl_80227A9C
lbl_80227CB8:
/* 80227CB8 00223918  38 63 00 1C */	addi r3, r3, 0x1c
/* 80227CBC 0022391C  4B FF FB B0 */	b func_8022786C
/* 80227CC0 00223920  4E 80 00 20 */	blr

.global func_80227CC4
func_80227CC4:
/* 80227CC4 00223924  80 03 00 10 */	lwz r0, 0x10(r3)
/* 80227CC8 00223928  2C 00 00 03 */	cmpwi r0, 3
/* 80227CCC 0022392C  4C 82 00 20 */	bnelr
/* 80227CD0 00223930  38 63 00 1C */	addi r3, r3, 0x1c
/* 80227CD4 00223934  4B FF FE 40 */	b lbl_80227B14
/* 80227CD8 00223938  4E 80 00 20 */	blr

.global func_80227CDC
func_80227CDC:
/* 80227CDC 0022393C  80 03 00 10 */	lwz r0, 0x10(r3)
/* 80227CE0 00223940  2C 00 00 04 */	cmpwi r0, 4
/* 80227CE4 00223944  4D 82 00 20 */	beqlr
/* 80227CE8 00223948  40 80 00 10 */	bge lbl_80227CF8
/* 80227CEC 0022394C  2C 00 00 03 */	cmpwi r0, 3
/* 80227CF0 00223950  40 80 00 14 */	bge lbl_80227D04
/* 80227CF4 00223954  4E 80 00 20 */	blr
lbl_80227CF8:
/* 80227CF8 00223958  2C 00 00 06 */	cmpwi r0, 6
/* 80227CFC 0022395C  4C 80 00 20 */	bgelr
/* 80227D00 00223960  48 00 00 0C */	b lbl_80227D0C
lbl_80227D04:
/* 80227D04 00223964  38 63 00 1C */	addi r3, r3, 0x1c
/* 80227D08 00223968  4B FF FD D0 */	b lbl_80227AD8
lbl_80227D0C:
/* 80227D0C 0022396C  38 63 00 1C */	addi r3, r3, 0x1c
/* 80227D10 00223970  4B FF FB 98 */	b func_802278A8
/* 80227D14 00223974  4E 80 00 20 */	blr

.global func_80227D18
func_80227D18:
/* 80227D18 00223978  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80227D1C 0022397C  7C 08 02 A6 */	mflr r0
/* 80227D20 00223980  90 01 00 24 */	stw r0, 0x24(r1)
/* 80227D24 00223984  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80227D28 00223988  7C DF 33 78 */	mr r31, r6
/* 80227D2C 0022398C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80227D30 00223990  7C BE 2B 78 */	mr r30, r5
/* 80227D34 00223994  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80227D38 00223998  7C 9D 23 78 */	mr r29, r4
/* 80227D3C 0022399C  93 81 00 10 */	stw r28, 0x10(r1)
/* 80227D40 002239A0  7C 7C 1B 78 */	mr r28, r3
/* 80227D44 002239A4  80 6D A3 80 */	lwz r3, lbl_8063F640-_SDA_BASE_(r13)
/* 80227D48 002239A8  4B FF EB 21 */	bl func_80226868
/* 80227D4C 002239AC  80 1C 00 10 */	lwz r0, 0x10(r28)
/* 80227D50 002239B0  2C 00 00 03 */	cmpwi r0, 3
/* 80227D54 002239B4  41 82 00 54 */	beq lbl_80227DA8
/* 80227D58 002239B8  40 80 00 10 */	bge lbl_80227D68
/* 80227D5C 002239BC  2C 00 00 01 */	cmpwi r0, 1
/* 80227D60 002239C0  41 82 00 14 */	beq lbl_80227D74
/* 80227D64 002239C4  48 00 00 80 */	b lbl_80227DE4
lbl_80227D68:
/* 80227D68 002239C8  2C 00 00 05 */	cmpwi r0, 5
/* 80227D6C 002239CC  41 82 00 58 */	beq lbl_80227DC4
/* 80227D70 002239D0  48 00 00 74 */	b lbl_80227DE4
lbl_80227D74:
/* 80227D74 002239D4  88 1C 00 1A */	lbz r0, 0x1a(r28)
/* 80227D78 002239D8  7F A4 EB 78 */	mr r4, r29
/* 80227D7C 002239DC  80 7C 00 1C */	lwz r3, 0x1c(r28)
/* 80227D80 002239E0  7F C5 F3 78 */	mr r5, r30
/* 80227D84 002239E4  7C 00 00 34 */	cntlzw r0, r0
/* 80227D88 002239E8  7F E6 FB 78 */	mr r6, r31
/* 80227D8C 002239EC  54 07 D9 7E */	srwi r7, r0, 5
/* 80227D90 002239F0  4B FF F9 AD */	bl func_8022773C
/* 80227D94 002239F4  2C 03 00 00 */	cmpwi r3, 0
/* 80227D98 002239F8  41 82 00 4C */	beq lbl_80227DE4
/* 80227D9C 002239FC  38 00 00 01 */	li r0, 1
/* 80227DA0 00223A00  98 1C 00 1A */	stb r0, 0x1a(r28)
/* 80227DA4 00223A04  48 00 00 40 */	b lbl_80227DE4
lbl_80227DA8:
/* 80227DA8 00223A08  88 BC 00 18 */	lbz r5, 0x18(r28)
/* 80227DAC 00223A0C  7C 66 1B 78 */	mr r6, r3
/* 80227DB0 00223A10  7F A4 EB 78 */	mr r4, r29
/* 80227DB4 00223A14  7F E7 FB 78 */	mr r7, r31
/* 80227DB8 00223A18  38 7C 00 1C */	addi r3, r28, 0x1c
/* 80227DBC 00223A1C  4B FF FC 49 */	bl func_80227A04
/* 80227DC0 00223A20  48 00 00 24 */	b lbl_80227DE4
lbl_80227DC4:
/* 80227DC4 00223A24  80 1C 00 0C */	lwz r0, 0xc(r28)
/* 80227DC8 00223A28  7C 1D 00 00 */	cmpw r29, r0
/* 80227DCC 00223A2C  40 82 00 18 */	bne lbl_80227DE4
/* 80227DD0 00223A30  88 9C 00 18 */	lbz r4, 0x18(r28)
/* 80227DD4 00223A34  7C 65 1B 78 */	mr r5, r3
/* 80227DD8 00223A38  7F E6 FB 78 */	mr r6, r31
/* 80227DDC 00223A3C  38 7C 00 1C */	addi r3, r28, 0x1c
/* 80227DE0 00223A40  4B FF FB 05 */	bl func_802278E4
lbl_80227DE4:
/* 80227DE4 00223A44  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80227DE8 00223A48  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80227DEC 00223A4C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80227DF0 00223A50  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80227DF4 00223A54  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80227DF8 00223A58  7C 08 03 A6 */	mtlr r0
/* 80227DFC 00223A5C  38 21 00 20 */	addi r1, r1, 0x20
/* 80227E00 00223A60  4E 80 00 20 */	blr

.global func_80227E04
func_80227E04:
/* 80227E04 00223A64  80 03 00 10 */	lwz r0, 0x10(r3)
/* 80227E08 00223A68  2C 00 00 04 */	cmpwi r0, 4
/* 80227E0C 00223A6C  41 82 00 44 */	beq lbl_80227E50
/* 80227E10 00223A70  40 80 00 10 */	bge lbl_80227E20
/* 80227E14 00223A74  2C 00 00 03 */	cmpwi r0, 3
/* 80227E18 00223A78  40 80 00 14 */	bge lbl_80227E2C
/* 80227E1C 00223A7C  48 00 00 34 */	b lbl_80227E50
lbl_80227E20:
/* 80227E20 00223A80  2C 00 00 06 */	cmpwi r0, 6
/* 80227E24 00223A84  40 80 00 2C */	bge lbl_80227E50
/* 80227E28 00223A88  48 00 00 0C */	b lbl_80227E34
lbl_80227E2C:
/* 80227E2C 00223A8C  38 63 00 1C */	addi r3, r3, 0x1c
/* 80227E30 00223A90  4B FF FD 20 */	b lbl_80227B50
lbl_80227E34:
/* 80227E34 00223A94  80 03 00 0C */	lwz r0, 0xc(r3)
/* 80227E38 00223A98  7C 04 00 00 */	cmpw r4, r0
/* 80227E3C 00223A9C  40 82 00 0C */	bne lbl_80227E48
/* 80227E40 00223AA0  38 63 00 1C */	addi r3, r3, 0x1c
/* 80227E44 00223AA4  4B FF FB 20 */	b func_80227964
lbl_80227E48:
/* 80227E48 00223AA8  38 60 00 00 */	li r3, 0
/* 80227E4C 00223AAC  4E 80 00 20 */	blr
lbl_80227E50:
/* 80227E50 00223AB0  38 60 00 00 */	li r3, 0
/* 80227E54 00223AB4  4E 80 00 20 */	blr

.global func_80227E58
func_80227E58:
/* 80227E58 00223AB8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80227E5C 00223ABC  7C 08 02 A6 */	mflr r0
/* 80227E60 00223AC0  3C C0 80 42 */	lis r6, lbl_80423E7C@ha
/* 80227E64 00223AC4  90 01 00 14 */	stw r0, 0x14(r1)
/* 80227E68 00223AC8  1C A4 00 34 */	mulli r5, r4, 0x34
/* 80227E6C 00223ACC  38 00 00 00 */	li r0, 0
/* 80227E70 00223AD0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80227E74 00223AD4  38 C6 3E 7C */	addi r6, r6, lbl_80423E7C@l
/* 80227E78 00223AD8  7C 9F 23 78 */	mr r31, r4
/* 80227E7C 00223ADC  93 C1 00 08 */	stw r30, 8(r1)
/* 80227E80 00223AE0  7C 7E 1B 78 */	mr r30, r3
/* 80227E84 00223AE4  90 C3 00 14 */	stw r6, 0x14(r3)
/* 80227E88 00223AE8  90 83 00 04 */	stw r4, 4(r3)
/* 80227E8C 00223AEC  90 03 00 0C */	stw r0, 0xc(r3)
/* 80227E90 00223AF0  38 65 00 10 */	addi r3, r5, 0x10
/* 80227E94 00223AF4  4B FB 2B E1 */	bl __nwa__FUl
/* 80227E98 00223AF8  3C 80 80 22 */	lis r4, lbl_80227B84@ha
/* 80227E9C 00223AFC  7F E7 FB 78 */	mr r7, r31
/* 80227EA0 00223B00  38 84 7B 84 */	addi r4, r4, lbl_80227B84@l
/* 80227EA4 00223B04  38 A0 00 00 */	li r5, 0
/* 80227EA8 00223B08  38 C0 00 34 */	li r6, 0x34
/* 80227EAC 00223B0C  4B F9 ED FD */	bl __construct_new_array
/* 80227EB0 00223B10  2C 03 00 00 */	cmpwi r3, 0
/* 80227EB4 00223B14  90 7E 00 00 */	stw r3, 0(r30)
/* 80227EB8 00223B18  40 82 00 0C */	bne lbl_80227EC4
/* 80227EBC 00223B1C  7F C3 F3 78 */	mr r3, r30
/* 80227EC0 00223B20  48 00 00 10 */	b lbl_80227ED0
lbl_80227EC4:
/* 80227EC4 00223B24  38 00 00 01 */	li r0, 1
/* 80227EC8 00223B28  7F C3 F3 78 */	mr r3, r30
/* 80227ECC 00223B2C  90 1E 00 08 */	stw r0, 8(r30)
lbl_80227ED0:
/* 80227ED0 00223B30  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80227ED4 00223B34  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80227ED8 00223B38  83 C1 00 08 */	lwz r30, 8(r1)
/* 80227EDC 00223B3C  7C 08 03 A6 */	mtlr r0
/* 80227EE0 00223B40  38 21 00 10 */	addi r1, r1, 0x10
/* 80227EE4 00223B44  4E 80 00 20 */	blr
/* 80227EE8 00223B48  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80227EEC 00223B4C  7C 08 02 A6 */	mflr r0
/* 80227EF0 00223B50  2C 03 00 00 */	cmpwi r3, 0
/* 80227EF4 00223B54  90 01 00 14 */	stw r0, 0x14(r1)
/* 80227EF8 00223B58  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80227EFC 00223B5C  7C 9F 23 78 */	mr r31, r4
/* 80227F00 00223B60  93 C1 00 08 */	stw r30, 8(r1)
/* 80227F04 00223B64  7C 7E 1B 78 */	mr r30, r3
/* 80227F08 00223B68  41 82 00 34 */	beq lbl_80227F3C
/* 80227F0C 00223B6C  80 A3 00 00 */	lwz r5, 0(r3)
/* 80227F10 00223B70  3C 80 80 42 */	lis r4, lbl_80423E7C@ha
/* 80227F14 00223B74  38 84 3E 7C */	addi r4, r4, lbl_80423E7C@l
/* 80227F18 00223B78  2C 05 00 00 */	cmpwi r5, 0
/* 80227F1C 00223B7C  90 83 00 14 */	stw r4, 0x14(r3)
/* 80227F20 00223B80  41 82 00 0C */	beq lbl_80227F2C
/* 80227F24 00223B84  38 65 FF F0 */	addi r3, r5, -16
/* 80227F28 00223B88  4B FB 2B 95 */	bl __dla__FPv
lbl_80227F2C:
/* 80227F2C 00223B8C  2C 1F 00 00 */	cmpwi r31, 0
/* 80227F30 00223B90  40 81 00 0C */	ble lbl_80227F3C
/* 80227F34 00223B94  7F C3 F3 78 */	mr r3, r30
/* 80227F38 00223B98  4B FB 2B 81 */	bl __dl__FPv
lbl_80227F3C:
/* 80227F3C 00223B9C  7F C3 F3 78 */	mr r3, r30
/* 80227F40 00223BA0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80227F44 00223BA4  83 C1 00 08 */	lwz r30, 8(r1)
/* 80227F48 00223BA8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80227F4C 00223BAC  7C 08 03 A6 */	mtlr r0
/* 80227F50 00223BB0  38 21 00 10 */	addi r1, r1, 0x10
/* 80227F54 00223BB4  4E 80 00 20 */	blr

.global func_80227F58
func_80227F58:
/* 80227F58 00223BB8  80 83 00 0C */	lwz r4, 0xc(r3)
/* 80227F5C 00223BBC  38 60 00 00 */	li r3, 0
/* 80227F60 00223BC0  48 00 00 0C */	b lbl_80227F6C
lbl_80227F64:
/* 80227F64 00223BC4  7C 83 23 78 */	mr r3, r4
/* 80227F68 00223BC8  80 84 00 04 */	lwz r4, 4(r4)
lbl_80227F6C:
/* 80227F6C 00223BCC  2C 04 00 00 */	cmpwi r4, 0
/* 80227F70 00223BD0  40 82 FF F4 */	bne lbl_80227F64
/* 80227F74 00223BD4  4E 80 00 20 */	blr

.global func_80227F78
func_80227F78:
/* 80227F78 00223BD8  80 83 00 00 */	lwz r4, 0(r3)
/* 80227F7C 00223BDC  2C 04 00 00 */	cmpwi r4, 0
/* 80227F80 00223BE0  40 82 00 0C */	bne lbl_80227F8C
/* 80227F84 00223BE4  38 60 00 00 */	li r3, 0
/* 80227F88 00223BE8  4E 80 00 20 */	blr
lbl_80227F8C:
/* 80227F8C 00223BEC  80 03 00 04 */	lwz r0, 4(r3)
/* 80227F90 00223BF0  1C 00 00 34 */	mulli r0, r0, 0x34
/* 80227F94 00223BF4  7C 64 02 14 */	add r3, r4, r0
/* 80227F98 00223BF8  48 00 00 1C */	b lbl_80227FB4
lbl_80227F9C:
/* 80227F9C 00223BFC  80 04 00 08 */	lwz r0, 8(r4)
/* 80227FA0 00223C00  2C 00 00 00 */	cmpwi r0, 0
/* 80227FA4 00223C04  40 82 00 0C */	bne lbl_80227FB0
/* 80227FA8 00223C08  7C 83 23 78 */	mr r3, r4
/* 80227FAC 00223C0C  4E 80 00 20 */	blr
lbl_80227FB0:
/* 80227FB0 00223C10  38 84 00 34 */	addi r4, r4, 0x34
lbl_80227FB4:
/* 80227FB4 00223C14  7C 04 18 40 */	cmplw r4, r3
/* 80227FB8 00223C18  40 82 FF E4 */	bne lbl_80227F9C
/* 80227FBC 00223C1C  38 60 00 00 */	li r3, 0
/* 80227FC0 00223C20  4E 80 00 20 */	blr

.global func_80227FC4
func_80227FC4:
/* 80227FC4 00223C24  80 03 00 04 */	lwz r0, 4(r3)
/* 80227FC8 00223C28  80 63 00 00 */	lwz r3, 0(r3)
/* 80227FCC 00223C2C  1C 00 00 34 */	mulli r0, r0, 0x34
/* 80227FD0 00223C30  7C 03 02 14 */	add r0, r3, r0
/* 80227FD4 00223C34  48 00 00 1C */	b lbl_80227FF0
lbl_80227FD8:
/* 80227FD8 00223C38  80 A3 00 08 */	lwz r5, 8(r3)
/* 80227FDC 00223C3C  2C 05 00 00 */	cmpwi r5, 0
/* 80227FE0 00223C40  41 82 00 0C */	beq lbl_80227FEC
/* 80227FE4 00223C44  7C 04 28 40 */	cmplw r4, r5
/* 80227FE8 00223C48  4D 82 00 20 */	beqlr
lbl_80227FEC:
/* 80227FEC 00223C4C  38 63 00 34 */	addi r3, r3, 0x34
lbl_80227FF0:
/* 80227FF0 00223C50  7C 03 00 40 */	cmplw r3, r0
/* 80227FF4 00223C54  40 82 FF E4 */	bne lbl_80227FD8
/* 80227FF8 00223C58  38 60 00 00 */	li r3, 0
/* 80227FFC 00223C5C  4E 80 00 20 */	blr

.global func_80228000
func_80228000:
/* 80228000 00223C60  80 E3 00 0C */	lwz r7, 0xc(r3)
/* 80228004 00223C64  2C 07 00 00 */	cmpwi r7, 0
/* 80228008 00223C68  40 82 00 24 */	bne lbl_8022802C
/* 8022800C 00223C6C  90 83 00 0C */	stw r4, 0xc(r3)
/* 80228010 00223C70  4E 80 00 20 */	blr
/* 80228014 00223C74  48 00 00 18 */	b lbl_8022802C
lbl_80228018:
/* 80228018 00223C78  88 A7 00 18 */	lbz r5, 0x18(r7)
/* 8022801C 00223C7C  88 04 00 18 */	lbz r0, 0x18(r4)
/* 80228020 00223C80  7C 05 00 40 */	cmplw r5, r0
/* 80228024 00223C84  40 80 00 14 */	bge lbl_80228038
/* 80228028 00223C88  7C C7 33 78 */	mr r7, r6
lbl_8022802C:
/* 8022802C 00223C8C  80 C7 00 04 */	lwz r6, 4(r7)
/* 80228030 00223C90  2C 06 00 00 */	cmpwi r6, 0
/* 80228034 00223C94  40 82 FF E4 */	bne lbl_80228018
lbl_80228038:
/* 80228038 00223C98  80 07 00 04 */	lwz r0, 4(r7)
/* 8022803C 00223C9C  2C 00 00 00 */	cmpwi r0, 0
/* 80228040 00223CA0  40 82 00 28 */	bne lbl_80228068
/* 80228044 00223CA4  88 A7 00 18 */	lbz r5, 0x18(r7)
/* 80228048 00223CA8  88 04 00 18 */	lbz r0, 0x18(r4)
/* 8022804C 00223CAC  7C 05 00 40 */	cmplw r5, r0
/* 80228050 00223CB0  40 80 00 18 */	bge lbl_80228068
/* 80228054 00223CB4  38 00 00 00 */	li r0, 0
/* 80228058 00223CB8  90 E4 00 00 */	stw r7, 0(r4)
/* 8022805C 00223CBC  90 04 00 04 */	stw r0, 4(r4)
/* 80228060 00223CC0  90 87 00 04 */	stw r4, 4(r7)
/* 80228064 00223CC4  4E 80 00 20 */	blr
lbl_80228068:
/* 80228068 00223CC8  80 A7 00 00 */	lwz r5, 0(r7)
/* 8022806C 00223CCC  2C 05 00 00 */	cmpwi r5, 0
/* 80228070 00223CD0  41 82 00 08 */	beq lbl_80228078
/* 80228074 00223CD4  90 85 00 04 */	stw r4, 4(r5)
lbl_80228078:
/* 80228078 00223CD8  80 07 00 00 */	lwz r0, 0(r7)
/* 8022807C 00223CDC  90 04 00 00 */	stw r0, 0(r4)
/* 80228080 00223CE0  90 E4 00 04 */	stw r7, 4(r4)
/* 80228084 00223CE4  90 87 00 00 */	stw r4, 0(r7)
/* 80228088 00223CE8  80 03 00 0C */	lwz r0, 0xc(r3)
/* 8022808C 00223CEC  7C 00 38 40 */	cmplw r0, r7
/* 80228090 00223CF0  4C 82 00 20 */	bnelr
/* 80228094 00223CF4  90 83 00 0C */	stw r4, 0xc(r3)
/* 80228098 00223CF8  4E 80 00 20 */	blr

.global func_8022809C
func_8022809C:
/* 8022809C 00223CFC  80 A4 00 00 */	lwz r5, 0(r4)
/* 802280A0 00223D00  2C 05 00 00 */	cmpwi r5, 0
/* 802280A4 00223D04  41 82 00 0C */	beq lbl_802280B0
/* 802280A8 00223D08  80 04 00 04 */	lwz r0, 4(r4)
/* 802280AC 00223D0C  90 05 00 04 */	stw r0, 4(r5)
lbl_802280B0:
/* 802280B0 00223D10  80 A4 00 04 */	lwz r5, 4(r4)
/* 802280B4 00223D14  2C 05 00 00 */	cmpwi r5, 0
/* 802280B8 00223D18  41 82 00 0C */	beq lbl_802280C4
/* 802280BC 00223D1C  80 04 00 00 */	lwz r0, 0(r4)
/* 802280C0 00223D20  90 05 00 00 */	stw r0, 0(r5)
lbl_802280C4:
/* 802280C4 00223D24  80 03 00 0C */	lwz r0, 0xc(r3)
/* 802280C8 00223D28  7C 00 20 40 */	cmplw r0, r4
/* 802280CC 00223D2C  40 82 00 0C */	bne lbl_802280D8
/* 802280D0 00223D30  80 04 00 04 */	lwz r0, 4(r4)
/* 802280D4 00223D34  90 03 00 0C */	stw r0, 0xc(r3)
lbl_802280D8:
/* 802280D8 00223D38  38 00 00 00 */	li r0, 0
/* 802280DC 00223D3C  90 04 00 00 */	stw r0, 0(r4)
/* 802280E0 00223D40  90 04 00 04 */	stw r0, 4(r4)
/* 802280E4 00223D44  4E 80 00 20 */	blr

.global func_802280E8
func_802280E8:
/* 802280E8 00223D48  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802280EC 00223D4C  7C 08 02 A6 */	mflr r0
/* 802280F0 00223D50  90 01 00 24 */	stw r0, 0x24(r1)
/* 802280F4 00223D54  39 61 00 20 */	addi r11, r1, 0x20
/* 802280F8 00223D58  4B F9 F0 31 */	bl _savegpr_27
/* 802280FC 00223D5C  2C 06 00 00 */	cmpwi r6, 0
/* 80228100 00223D60  7C 7B 1B 78 */	mr r27, r3
/* 80228104 00223D64  7C 9C 23 78 */	mr r28, r4
/* 80228108 00223D68  7C BD 2B 78 */	mr r29, r5
/* 8022810C 00223D6C  7C DE 33 78 */	mr r30, r6
/* 80228110 00223D70  40 82 00 0C */	bne lbl_8022811C
/* 80228114 00223D74  38 60 00 00 */	li r3, 0
/* 80228118 00223D78  48 00 00 60 */	b lbl_80228178
lbl_8022811C:
/* 8022811C 00223D7C  4B FF FE 5D */	bl func_80227F78
/* 80228120 00223D80  2C 03 00 00 */	cmpwi r3, 0
/* 80228124 00223D84  7C 7F 1B 78 */	mr r31, r3
/* 80228128 00223D88  40 82 00 0C */	bne lbl_80228134
/* 8022812C 00223D8C  38 60 00 00 */	li r3, 0
/* 80228130 00223D90  48 00 00 48 */	b lbl_80228178
lbl_80228134:
/* 80228134 00223D94  4B FF FA 81 */	bl func_80227BB4
/* 80228138 00223D98  7F E3 FB 78 */	mr r3, r31
/* 8022813C 00223D9C  7F 84 E3 78 */	mr r4, r28
/* 80228140 00223DA0  7F A5 EB 78 */	mr r5, r29
/* 80228144 00223DA4  7F C6 F3 78 */	mr r6, r30
/* 80228148 00223DA8  4B FF FA 91 */	bl func_80227BD8
/* 8022814C 00223DAC  7F 63 DB 78 */	mr r3, r27
/* 80228150 00223DB0  7F E4 FB 78 */	mr r4, r31
/* 80228154 00223DB4  4B FF FE AD */	bl func_80228000
/* 80228158 00223DB8  80 1B 00 08 */	lwz r0, 8(r27)
/* 8022815C 00223DBC  34 60 00 01 */	addic. r3, r0, 1
/* 80228160 00223DC0  90 7B 00 08 */	stw r3, 8(r27)
/* 80228164 00223DC4  40 82 00 0C */	bne lbl_80228170
/* 80228168 00223DC8  38 03 00 01 */	addi r0, r3, 1
/* 8022816C 00223DCC  90 1B 00 08 */	stw r0, 8(r27)
lbl_80228170:
/* 80228170 00223DD0  80 7B 00 08 */	lwz r3, 8(r27)
/* 80228174 00223DD4  90 7F 00 08 */	stw r3, 8(r31)
lbl_80228178:
/* 80228178 00223DD8  39 61 00 20 */	addi r11, r1, 0x20
/* 8022817C 00223DDC  4B F9 EF F9 */	bl _restgpr_27
/* 80228180 00223DE0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80228184 00223DE4  7C 08 03 A6 */	mtlr r0
/* 80228188 00223DE8  38 21 00 20 */	addi r1, r1, 0x20
/* 8022818C 00223DEC  4E 80 00 20 */	blr

.global func_80228190
func_80228190:
/* 80228190 00223DF0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80228194 00223DF4  7C 08 02 A6 */	mflr r0
/* 80228198 00223DF8  90 01 00 14 */	stw r0, 0x14(r1)
/* 8022819C 00223DFC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802281A0 00223E00  93 C1 00 08 */	stw r30, 8(r1)
/* 802281A4 00223E04  7C 7E 1B 78 */	mr r30, r3
/* 802281A8 00223E08  4B FF FE 1D */	bl func_80227FC4
/* 802281AC 00223E0C  2C 03 00 00 */	cmpwi r3, 0
/* 802281B0 00223E10  7C 7F 1B 78 */	mr r31, r3
/* 802281B4 00223E14  41 82 00 1C */	beq lbl_802281D0
/* 802281B8 00223E18  4B FF FB 25 */	bl func_80227CDC
/* 802281BC 00223E1C  7F C3 F3 78 */	mr r3, r30
/* 802281C0 00223E20  7F E4 FB 78 */	mr r4, r31
/* 802281C4 00223E24  4B FF FE D9 */	bl func_8022809C
/* 802281C8 00223E28  7F E3 FB 78 */	mr r3, r31
/* 802281CC 00223E2C  4B FF F9 E9 */	bl func_80227BB4
lbl_802281D0:
/* 802281D0 00223E30  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802281D4 00223E34  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802281D8 00223E38  83 C1 00 08 */	lwz r30, 8(r1)
/* 802281DC 00223E3C  7C 08 03 A6 */	mtlr r0
/* 802281E0 00223E40  38 21 00 10 */	addi r1, r1, 0x10
/* 802281E4 00223E44  4E 80 00 20 */	blr

.global func_802281E8
func_802281E8:
/* 802281E8 00223E48  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802281EC 00223E4C  7C 08 02 A6 */	mflr r0
/* 802281F0 00223E50  90 01 00 14 */	stw r0, 0x14(r1)
/* 802281F4 00223E54  4B FF FD D1 */	bl func_80227FC4
/* 802281F8 00223E58  2C 03 00 00 */	cmpwi r3, 0
/* 802281FC 00223E5C  41 82 00 08 */	beq lbl_80228204
/* 80228200 00223E60  4B FF FA 3D */	bl func_80227C3C
lbl_80228204:
/* 80228204 00223E64  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80228208 00223E68  7C 08 03 A6 */	mtlr r0
/* 8022820C 00223E6C  38 21 00 10 */	addi r1, r1, 0x10
/* 80228210 00223E70  4E 80 00 20 */	blr

.global func_80228214
func_80228214:
/* 80228214 00223E74  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80228218 00223E78  7C 08 02 A6 */	mflr r0
/* 8022821C 00223E7C  90 01 00 14 */	stw r0, 0x14(r1)
/* 80228220 00223E80  4B FF FD A5 */	bl func_80227FC4
/* 80228224 00223E84  2C 03 00 00 */	cmpwi r3, 0
/* 80228228 00223E88  41 82 00 08 */	beq lbl_80228230
/* 8022822C 00223E8C  4B FF FA 55 */	bl func_80227C80
lbl_80228230:
/* 80228230 00223E90  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80228234 00223E94  7C 08 03 A6 */	mtlr r0
/* 80228238 00223E98  38 21 00 10 */	addi r1, r1, 0x10
/* 8022823C 00223E9C  4E 80 00 20 */	blr

.global func_80228240
func_80228240:
/* 80228240 00223EA0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80228244 00223EA4  7C 08 02 A6 */	mflr r0
/* 80228248 00223EA8  90 01 00 14 */	stw r0, 0x14(r1)
/* 8022824C 00223EAC  4B FF FD 79 */	bl func_80227FC4
/* 80228250 00223EB0  2C 03 00 00 */	cmpwi r3, 0
/* 80228254 00223EB4  41 82 00 08 */	beq lbl_8022825C
/* 80228258 00223EB8  4B FF FA 6D */	bl func_80227CC4
lbl_8022825C:
/* 8022825C 00223EBC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80228260 00223EC0  7C 08 03 A6 */	mtlr r0
/* 80228264 00223EC4  38 21 00 10 */	addi r1, r1, 0x10
/* 80228268 00223EC8  4E 80 00 20 */	blr

.global func_8022826C
func_8022826C:
/* 8022826C 00223ECC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80228270 00223ED0  7C 08 02 A6 */	mflr r0
/* 80228274 00223ED4  90 01 00 24 */	stw r0, 0x24(r1)
/* 80228278 00223ED8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8022827C 00223EDC  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80228280 00223EE0  7C 9E 23 78 */	mr r30, r4
/* 80228284 00223EE4  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80228288 00223EE8  7C 7D 1B 78 */	mr r29, r3
/* 8022828C 00223EEC  83 E3 00 00 */	lwz r31, 0(r3)
/* 80228290 00223EF0  48 00 00 20 */	b lbl_802282B0
lbl_80228294:
/* 80228294 00223EF4  80 1F 00 14 */	lwz r0, 0x14(r31)
/* 80228298 00223EF8  7C 1E 00 40 */	cmplw r30, r0
/* 8022829C 00223EFC  40 82 00 10 */	bne lbl_802282AC
/* 802282A0 00223F00  80 9F 00 08 */	lwz r4, 8(r31)
/* 802282A4 00223F04  7F A3 EB 78 */	mr r3, r29
/* 802282A8 00223F08  4B FF FE E9 */	bl func_80228190
lbl_802282AC:
/* 802282AC 00223F0C  3B FF 00 34 */	addi r31, r31, 0x34
lbl_802282B0:
/* 802282B0 00223F10  80 1D 00 04 */	lwz r0, 4(r29)
/* 802282B4 00223F14  80 7D 00 00 */	lwz r3, 0(r29)
/* 802282B8 00223F18  1C 00 00 34 */	mulli r0, r0, 0x34
/* 802282BC 00223F1C  7C 03 02 14 */	add r0, r3, r0
/* 802282C0 00223F20  7C 1F 00 40 */	cmplw r31, r0
/* 802282C4 00223F24  40 82 FF D0 */	bne lbl_80228294
/* 802282C8 00223F28  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802282CC 00223F2C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802282D0 00223F30  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802282D4 00223F34  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802282D8 00223F38  7C 08 03 A6 */	mtlr r0
/* 802282DC 00223F3C  38 21 00 20 */	addi r1, r1, 0x20
/* 802282E0 00223F40  4E 80 00 20 */	blr

.global func_802282E4
func_802282E4:
/* 802282E4 00223F44  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802282E8 00223F48  7C 08 02 A6 */	mflr r0
/* 802282EC 00223F4C  90 01 00 24 */	stw r0, 0x24(r1)
/* 802282F0 00223F50  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802282F4 00223F54  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802282F8 00223F58  7C 9E 23 78 */	mr r30, r4
/* 802282FC 00223F5C  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80228300 00223F60  7C 7D 1B 78 */	mr r29, r3
/* 80228304 00223F64  83 E3 00 0C */	lwz r31, 0xc(r3)
/* 80228308 00223F68  48 00 00 20 */	b lbl_80228328
lbl_8022830C:
/* 8022830C 00223F6C  80 1F 00 14 */	lwz r0, 0x14(r31)
/* 80228310 00223F70  7C 1E 00 40 */	cmplw r30, r0
/* 80228314 00223F74  40 82 00 10 */	bne lbl_80228324
/* 80228318 00223F78  80 9F 00 08 */	lwz r4, 8(r31)
/* 8022831C 00223F7C  7F A3 EB 78 */	mr r3, r29
/* 80228320 00223F80  4B FF FE C9 */	bl func_802281E8
lbl_80228324:
/* 80228324 00223F84  83 FF 00 04 */	lwz r31, 4(r31)
lbl_80228328:
/* 80228328 00223F88  2C 1F 00 00 */	cmpwi r31, 0
/* 8022832C 00223F8C  40 82 FF E0 */	bne lbl_8022830C
/* 80228330 00223F90  80 6D A3 80 */	lwz r3, lbl_8063F640-_SDA_BASE_(r13)
/* 80228334 00223F94  80 63 00 20 */	lwz r3, 0x20(r3)
/* 80228338 00223F98  2C 03 00 00 */	cmpwi r3, 0
/* 8022833C 00223F9C  41 82 00 0C */	beq lbl_80228348
/* 80228340 00223FA0  7F C4 F3 78 */	mr r4, r30
/* 80228344 00223FA4  48 00 26 ED */	bl func_8022AA30
lbl_80228348:
/* 80228348 00223FA8  80 6D A3 80 */	lwz r3, lbl_8063F640-_SDA_BASE_(r13)
/* 8022834C 00223FAC  4B FF E5 C5 */	bl func_80226910
/* 80228350 00223FB0  2C 03 00 00 */	cmpwi r3, 0
/* 80228354 00223FB4  41 82 00 0C */	beq lbl_80228360
/* 80228358 00223FB8  7F C4 F3 78 */	mr r4, r30
/* 8022835C 00223FBC  48 00 26 D5 */	bl func_8022AA30
lbl_80228360:
/* 80228360 00223FC0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80228364 00223FC4  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80228368 00223FC8  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8022836C 00223FCC  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80228370 00223FD0  7C 08 03 A6 */	mtlr r0
/* 80228374 00223FD4  38 21 00 20 */	addi r1, r1, 0x20
/* 80228378 00223FD8  4E 80 00 20 */	blr

.global func_8022837C
func_8022837C:
/* 8022837C 00223FDC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80228380 00223FE0  7C 08 02 A6 */	mflr r0
/* 80228384 00223FE4  90 01 00 24 */	stw r0, 0x24(r1)
/* 80228388 00223FE8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8022838C 00223FEC  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80228390 00223FF0  7C 9E 23 78 */	mr r30, r4
/* 80228394 00223FF4  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80228398 00223FF8  7C 7D 1B 78 */	mr r29, r3
/* 8022839C 00223FFC  83 E3 00 0C */	lwz r31, 0xc(r3)
/* 802283A0 00224000  48 00 00 20 */	b lbl_802283C0
lbl_802283A4:
/* 802283A4 00224004  80 1F 00 14 */	lwz r0, 0x14(r31)
/* 802283A8 00224008  7C 1E 00 40 */	cmplw r30, r0
/* 802283AC 0022400C  40 82 00 10 */	bne lbl_802283BC
/* 802283B0 00224010  80 9F 00 08 */	lwz r4, 8(r31)
/* 802283B4 00224014  7F A3 EB 78 */	mr r3, r29
/* 802283B8 00224018  4B FF FE 5D */	bl func_80228214
lbl_802283BC:
/* 802283BC 0022401C  83 FF 00 04 */	lwz r31, 4(r31)
lbl_802283C0:
/* 802283C0 00224020  2C 1F 00 00 */	cmpwi r31, 0
/* 802283C4 00224024  40 82 FF E0 */	bne lbl_802283A4
/* 802283C8 00224028  80 6D A3 80 */	lwz r3, lbl_8063F640-_SDA_BASE_(r13)
/* 802283CC 0022402C  80 63 00 20 */	lwz r3, 0x20(r3)
/* 802283D0 00224030  2C 03 00 00 */	cmpwi r3, 0
/* 802283D4 00224034  41 82 00 0C */	beq lbl_802283E0
/* 802283D8 00224038  7F C4 F3 78 */	mr r4, r30
/* 802283DC 0022403C  48 00 26 D9 */	bl func_8022AAB4
lbl_802283E0:
/* 802283E0 00224040  80 6D A3 80 */	lwz r3, lbl_8063F640-_SDA_BASE_(r13)
/* 802283E4 00224044  4B FF E5 2D */	bl func_80226910
/* 802283E8 00224048  2C 03 00 00 */	cmpwi r3, 0
/* 802283EC 0022404C  41 82 00 0C */	beq lbl_802283F8
/* 802283F0 00224050  7F C4 F3 78 */	mr r4, r30
/* 802283F4 00224054  48 00 26 C1 */	bl func_8022AAB4
lbl_802283F8:
/* 802283F8 00224058  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802283FC 0022405C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80228400 00224060  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80228404 00224064  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80228408 00224068  7C 08 03 A6 */	mtlr r0
/* 8022840C 0022406C  38 21 00 20 */	addi r1, r1, 0x20
/* 80228410 00224070  4E 80 00 20 */	blr

.global func_80228414
func_80228414:
/* 80228414 00224074  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80228418 00224078  7C 08 02 A6 */	mflr r0
/* 8022841C 0022407C  90 01 00 24 */	stw r0, 0x24(r1)
/* 80228420 00224080  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80228424 00224084  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80228428 00224088  7C 9E 23 78 */	mr r30, r4
/* 8022842C 0022408C  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80228430 00224090  7C 7D 1B 78 */	mr r29, r3
/* 80228434 00224094  83 E3 00 0C */	lwz r31, 0xc(r3)
/* 80228438 00224098  48 00 00 20 */	b lbl_80228458
lbl_8022843C:
/* 8022843C 0022409C  80 1F 00 14 */	lwz r0, 0x14(r31)
/* 80228440 002240A0  7C 1E 00 40 */	cmplw r30, r0
/* 80228444 002240A4  40 82 00 10 */	bne lbl_80228454
/* 80228448 002240A8  80 9F 00 08 */	lwz r4, 8(r31)
/* 8022844C 002240AC  7F A3 EB 78 */	mr r3, r29
/* 80228450 002240B0  4B FF FD F1 */	bl func_80228240
lbl_80228454:
/* 80228454 002240B4  83 FF 00 04 */	lwz r31, 4(r31)
lbl_80228458:
/* 80228458 002240B8  2C 1F 00 00 */	cmpwi r31, 0
/* 8022845C 002240BC  40 82 FF E0 */	bne lbl_8022843C
/* 80228460 002240C0  80 6D A3 80 */	lwz r3, lbl_8063F640-_SDA_BASE_(r13)
/* 80228464 002240C4  80 63 00 20 */	lwz r3, 0x20(r3)
/* 80228468 002240C8  2C 03 00 00 */	cmpwi r3, 0
/* 8022846C 002240CC  41 82 00 0C */	beq lbl_80228478
/* 80228470 002240D0  7F C4 F3 78 */	mr r4, r30
/* 80228474 002240D4  48 00 25 39 */	bl func_8022A9AC
lbl_80228478:
/* 80228478 002240D8  80 6D A3 80 */	lwz r3, lbl_8063F640-_SDA_BASE_(r13)
/* 8022847C 002240DC  4B FF E4 95 */	bl func_80226910
/* 80228480 002240E0  2C 03 00 00 */	cmpwi r3, 0
/* 80228484 002240E4  41 82 00 0C */	beq lbl_80228490
/* 80228488 002240E8  7F C4 F3 78 */	mr r4, r30
/* 8022848C 002240EC  48 00 25 21 */	bl func_8022A9AC
lbl_80228490:
/* 80228490 002240F0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80228494 002240F4  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80228498 002240F8  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8022849C 002240FC  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802284A0 00224100  7C 08 03 A6 */	mtlr r0
/* 802284A4 00224104  38 21 00 20 */	addi r1, r1, 0x20
/* 802284A8 00224108  4E 80 00 20 */	blr

.global func_802284AC
func_802284AC:
/* 802284AC 0022410C  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802284B0 00224110  7C 08 02 A6 */	mflr r0
/* 802284B4 00224114  90 01 00 34 */	stw r0, 0x34(r1)
/* 802284B8 00224118  39 61 00 30 */	addi r11, r1, 0x30
/* 802284BC 0022411C  4B F9 EC 65 */	bl _savegpr_25
/* 802284C0 00224120  7C 7C 1B 78 */	mr r28, r3
/* 802284C4 00224124  7C 9F 23 78 */	mr r31, r4
/* 802284C8 00224128  48 00 04 85 */	bl func_8022894C
/* 802284CC 0022412C  83 3C 00 0C */	lwz r25, 0xc(r28)
/* 802284D0 00224130  3B 40 00 00 */	li r26, 0
/* 802284D4 00224134  48 00 00 54 */	b lbl_80228528
lbl_802284D8:
/* 802284D8 00224138  80 19 00 10 */	lwz r0, 0x10(r25)
/* 802284DC 0022413C  2C 00 00 01 */	cmpwi r0, 1
/* 802284E0 00224140  40 82 00 0C */	bne lbl_802284EC
/* 802284E4 00224144  80 79 00 1C */	lwz r3, 0x1c(r25)
/* 802284E8 00224148  48 00 00 08 */	b lbl_802284F0
lbl_802284EC:
/* 802284EC 0022414C  38 60 00 00 */	li r3, 0
lbl_802284F0:
/* 802284F0 00224150  2C 03 00 00 */	cmpwi r3, 0
/* 802284F4 00224154  41 82 00 30 */	beq lbl_80228524
/* 802284F8 00224158  81 83 00 00 */	lwz r12, 0(r3)
/* 802284FC 0022415C  7F E4 FB 78 */	mr r4, r31
/* 80228500 00224160  81 8C 00 28 */	lwz r12, 0x28(r12)
/* 80228504 00224164  7D 89 03 A6 */	mtctr r12
/* 80228508 00224168  4E 80 04 21 */	bctrl
/* 8022850C 0022416C  2C 03 00 00 */	cmpwi r3, 0
/* 80228510 00224170  41 82 00 14 */	beq lbl_80228524
/* 80228514 00224174  38 03 00 03 */	addi r0, r3, 3
/* 80228518 00224178  54 00 00 3A */	rlwinm r0, r0, 0, 0, 0x1d
/* 8022851C 0022417C  7C 7A 02 14 */	add r3, r26, r0
/* 80228520 00224180  3B 43 00 08 */	addi r26, r3, 8
lbl_80228524:
/* 80228524 00224184  83 39 00 04 */	lwz r25, 4(r25)
lbl_80228528:
/* 80228528 00224188  2C 19 00 00 */	cmpwi r25, 0
/* 8022852C 0022418C  40 82 FF AC */	bne lbl_802284D8
/* 80228530 00224190  38 7A 00 08 */	addi r3, r26, 8
/* 80228534 00224194  4B FB 28 31 */	bl func_801DAD64
/* 80228538 00224198  2C 03 00 00 */	cmpwi r3, 0
/* 8022853C 0022419C  7C 79 1B 78 */	mr r25, r3
/* 80228540 002241A0  40 82 00 0C */	bne lbl_8022854C
/* 80228544 002241A4  38 60 00 00 */	li r3, 0
/* 80228548 002241A8  48 00 00 F4 */	b lbl_8022863C
lbl_8022854C:
/* 8022854C 002241AC  38 BA 00 08 */	addi r5, r26, 8
/* 80228550 002241B0  3C 80 46 4C */	lis r4, 0x464C4F52@ha
/* 80228554 002241B4  90 BC 00 10 */	stw r5, 0x10(r28)
/* 80228558 002241B8  38 04 4F 52 */	addi r0, r4, 0x464C4F52@l
/* 8022855C 002241BC  3B 63 00 08 */	addi r27, r3, 8
/* 80228560 002241C0  90 03 00 00 */	stw r0, 0(r3)
/* 80228564 002241C4  90 A3 00 04 */	stw r5, 4(r3)
/* 80228568 002241C8  83 BC 00 0C */	lwz r29, 0xc(r28)
/* 8022856C 002241CC  48 00 00 C4 */	b lbl_80228630
lbl_80228570:
/* 80228570 002241D0  80 1D 00 10 */	lwz r0, 0x10(r29)
/* 80228574 002241D4  2C 00 00 01 */	cmpwi r0, 1
/* 80228578 002241D8  40 82 00 0C */	bne lbl_80228584
/* 8022857C 002241DC  83 DD 00 1C */	lwz r30, 0x1c(r29)
/* 80228580 002241E0  48 00 00 08 */	b lbl_80228588
lbl_80228584:
/* 80228584 002241E4  3B C0 00 00 */	li r30, 0
lbl_80228588:
/* 80228588 002241E8  2C 1E 00 00 */	cmpwi r30, 0
/* 8022858C 002241EC  41 82 00 A0 */	beq lbl_8022862C
/* 80228590 002241F0  81 9E 00 00 */	lwz r12, 0(r30)
/* 80228594 002241F4  7F C3 F3 78 */	mr r3, r30
/* 80228598 002241F8  7F E4 FB 78 */	mr r4, r31
/* 8022859C 002241FC  81 8C 00 28 */	lwz r12, 0x28(r12)
/* 802285A0 00224200  7D 89 03 A6 */	mtctr r12
/* 802285A4 00224204  4E 80 04 21 */	bctrl
/* 802285A8 00224208  2C 03 00 00 */	cmpwi r3, 0
/* 802285AC 0022420C  40 82 00 30 */	bne lbl_802285DC
/* 802285B0 00224210  2C 1F 00 03 */	cmpwi r31, 3
/* 802285B4 00224214  40 82 00 78 */	bne lbl_8022862C
/* 802285B8 00224218  81 9E 00 00 */	lwz r12, 0(r30)
/* 802285BC 0022421C  7F C3 F3 78 */	mr r3, r30
/* 802285C0 00224220  7F E4 FB 78 */	mr r4, r31
/* 802285C4 00224224  38 A0 00 00 */	li r5, 0
/* 802285C8 00224228  81 8C 00 20 */	lwz r12, 0x20(r12)
/* 802285CC 0022422C  38 C0 00 00 */	li r6, 0
/* 802285D0 00224230  7D 89 03 A6 */	mtctr r12
/* 802285D4 00224234  4E 80 04 21 */	bctrl
/* 802285D8 00224238  48 00 00 54 */	b lbl_8022862C
lbl_802285DC:
/* 802285DC 0022423C  81 9E 00 00 */	lwz r12, 0(r30)
/* 802285E0 00224240  38 03 00 03 */	addi r0, r3, 3
/* 802285E4 00224244  7F C3 F3 78 */	mr r3, r30
/* 802285E8 00224248  81 8C 00 2C */	lwz r12, 0x2c(r12)
/* 802285EC 0022424C  54 1C 00 3A */	rlwinm r28, r0, 0, 0, 0x1d
/* 802285F0 00224250  7D 89 03 A6 */	mtctr r12
/* 802285F4 00224254  4E 80 04 21 */	bctrl
/* 802285F8 00224258  90 7B 00 00 */	stw r3, 0(r27)
/* 802285FC 0022425C  38 1C 00 08 */	addi r0, r28, 8
/* 80228600 00224260  3B 5B 00 08 */	addi r26, r27, 8
/* 80228604 00224264  7F C3 F3 78 */	mr r3, r30
/* 80228608 00224268  90 1B 00 04 */	stw r0, 4(r27)
/* 8022860C 0022426C  7F E4 FB 78 */	mr r4, r31
/* 80228610 00224270  7F 45 D3 78 */	mr r5, r26
/* 80228614 00224274  7F 86 E3 78 */	mr r6, r28
/* 80228618 00224278  81 9E 00 00 */	lwz r12, 0(r30)
/* 8022861C 0022427C  81 8C 00 20 */	lwz r12, 0x20(r12)
/* 80228620 00224280  7D 89 03 A6 */	mtctr r12
/* 80228624 00224284  4E 80 04 21 */	bctrl
/* 80228628 00224288  7F 7A E2 14 */	add r27, r26, r28
lbl_8022862C:
/* 8022862C 0022428C  83 BD 00 04 */	lwz r29, 4(r29)
lbl_80228630:
/* 80228630 00224290  2C 1D 00 00 */	cmpwi r29, 0
/* 80228634 00224294  40 82 FF 3C */	bne lbl_80228570
/* 80228638 00224298  7F 23 CB 78 */	mr r3, r25
lbl_8022863C:
/* 8022863C 0022429C  39 61 00 30 */	addi r11, r1, 0x30
/* 80228640 002242A0  4B F9 EB 2D */	bl _restgpr_25
/* 80228644 002242A4  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80228648 002242A8  7C 08 03 A6 */	mtlr r0
/* 8022864C 002242AC  38 21 00 30 */	addi r1, r1, 0x30
/* 80228650 002242B0  4E 80 00 20 */	blr

.global func_80228654
func_80228654:
/* 80228654 002242B4  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80228658 002242B8  7C 08 02 A6 */	mflr r0
/* 8022865C 002242BC  90 01 00 34 */	stw r0, 0x34(r1)
/* 80228660 002242C0  39 61 00 30 */	addi r11, r1, 0x30
/* 80228664 002242C4  4B F9 EA B1 */	bl _savegpr_22
/* 80228668 002242C8  2C 04 00 00 */	cmpwi r4, 0
/* 8022866C 002242CC  7C 76 1B 78 */	mr r22, r3
/* 80228670 002242D0  7C 9D 23 78 */	mr r29, r4
/* 80228674 002242D4  7C B7 2B 78 */	mr r23, r5
/* 80228678 002242D8  7C D8 33 78 */	mr r24, r6
/* 8022867C 002242DC  41 82 00 CC */	beq lbl_80228748
/* 80228680 002242E0  48 00 02 CD */	bl func_8022894C
/* 80228684 002242E4  80 7D 00 00 */	lwz r3, 0(r29)
/* 80228688 002242E8  3B DD 00 08 */	addi r30, r29, 8
/* 8022868C 002242EC  80 9D 00 04 */	lwz r4, 4(r29)
/* 80228690 002242F0  3C 03 B9 B4 */	addis r0, r3, 0xb9b4
/* 80228694 002242F4  28 00 4F 52 */	cmplwi r0, 0x4f52
/* 80228698 002242F8  7F 7D 22 14 */	add r27, r29, r4
/* 8022869C 002242FC  41 82 00 94 */	beq lbl_80228730
/* 802286A0 00224300  48 00 00 A8 */	b lbl_80228748
/* 802286A4 00224304  48 00 00 8C */	b lbl_80228730
lbl_802286A8:
/* 802286A8 00224308  83 5E 00 00 */	lwz r26, 0(r30)
/* 802286AC 0022430C  83 3E 00 04 */	lwz r25, 4(r30)
/* 802286B0 00224310  3B DE 00 08 */	addi r30, r30, 8
/* 802286B4 00224314  83 96 00 0C */	lwz r28, 0xc(r22)
/* 802286B8 00224318  48 00 00 70 */	b lbl_80228728
lbl_802286BC:
/* 802286BC 0022431C  80 1C 00 10 */	lwz r0, 0x10(r28)
/* 802286C0 00224320  2C 00 00 01 */	cmpwi r0, 1
/* 802286C4 00224324  40 82 00 0C */	bne lbl_802286D0
/* 802286C8 00224328  83 FC 00 1C */	lwz r31, 0x1c(r28)
/* 802286CC 0022432C  48 00 00 08 */	b lbl_802286D4
lbl_802286D0:
/* 802286D0 00224330  3B E0 00 00 */	li r31, 0
lbl_802286D4:
/* 802286D4 00224334  2C 1F 00 00 */	cmpwi r31, 0
/* 802286D8 00224338  41 82 00 4C */	beq lbl_80228724
/* 802286DC 0022433C  81 9F 00 00 */	lwz r12, 0(r31)
/* 802286E0 00224340  7F E3 FB 78 */	mr r3, r31
/* 802286E4 00224344  81 8C 00 2C */	lwz r12, 0x2c(r12)
/* 802286E8 00224348  7D 89 03 A6 */	mtctr r12
/* 802286EC 0022434C  4E 80 04 21 */	bctrl
/* 802286F0 00224350  7C 1A 18 40 */	cmplw r26, r3
/* 802286F4 00224354  40 82 00 30 */	bne lbl_80228724
/* 802286F8 00224358  81 9F 00 00 */	lwz r12, 0(r31)
/* 802286FC 0022435C  7F E3 FB 78 */	mr r3, r31
/* 80228700 00224360  7E E4 BB 78 */	mr r4, r23
/* 80228704 00224364  7F C5 F3 78 */	mr r5, r30
/* 80228708 00224368  81 8C 00 24 */	lwz r12, 0x24(r12)
/* 8022870C 0022436C  38 D9 FF F8 */	addi r6, r25, -8
/* 80228710 00224370  7D 89 03 A6 */	mtctr r12
/* 80228714 00224374  4E 80 04 21 */	bctrl
/* 80228718 00224378  7C 79 F2 14 */	add r3, r25, r30
/* 8022871C 0022437C  3B C3 FF F8 */	addi r30, r3, -8
/* 80228720 00224380  48 00 00 10 */	b lbl_80228730
lbl_80228724:
/* 80228724 00224384  83 9C 00 04 */	lwz r28, 4(r28)
lbl_80228728:
/* 80228728 00224388  2C 1C 00 00 */	cmpwi r28, 0
/* 8022872C 0022438C  40 82 FF 90 */	bne lbl_802286BC
lbl_80228730:
/* 80228730 00224390  7C 1E D8 40 */	cmplw r30, r27
/* 80228734 00224394  41 80 FF 74 */	blt lbl_802286A8
/* 80228738 00224398  2C 18 00 00 */	cmpwi r24, 0
/* 8022873C 0022439C  41 82 00 0C */	beq lbl_80228748
/* 80228740 002243A0  7F A3 EB 78 */	mr r3, r29
/* 80228744 002243A4  4B FB 27 61 */	bl func_801DAEA4
lbl_80228748:
/* 80228748 002243A8  39 61 00 30 */	addi r11, r1, 0x30
/* 8022874C 002243AC  4B F9 EA 15 */	bl _restgpr_22
/* 80228750 002243B0  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80228754 002243B4  7C 08 03 A6 */	mtlr r0
/* 80228758 002243B8  38 21 00 30 */	addi r1, r1, 0x30
/* 8022875C 002243BC  4E 80 00 20 */	blr

.global func_80228760
func_80228760:
/* 80228760 002243C0  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80228764 002243C4  7C 08 02 A6 */	mflr r0
/* 80228768 002243C8  90 01 00 34 */	stw r0, 0x34(r1)
/* 8022876C 002243CC  39 61 00 30 */	addi r11, r1, 0x30
/* 80228770 002243D0  4B F9 E9 B1 */	bl _savegpr_25
/* 80228774 002243D4  2C 05 00 06 */	cmpwi r5, 6
/* 80228778 002243D8  7C 99 23 78 */	mr r25, r4
/* 8022877C 002243DC  7C BA 2B 78 */	mr r26, r5
/* 80228780 002243E0  7C DB 33 78 */	mr r27, r6
/* 80228784 002243E4  7C FC 3B 78 */	mr r28, r7
/* 80228788 002243E8  7D 1D 43 78 */	mr r29, r8
/* 8022878C 002243EC  41 82 00 0C */	beq lbl_80228798
/* 80228790 002243F0  2C 05 00 08 */	cmpwi r5, 8
/* 80228794 002243F4  40 82 00 74 */	bne lbl_80228808
lbl_80228798:
/* 80228798 002243F8  4B FF F7 C1 */	bl func_80227F58
/* 8022879C 002243FC  7C 7E 1B 78 */	mr r30, r3
/* 802287A0 00224400  48 00 00 5C */	b lbl_802287FC
lbl_802287A4:
/* 802287A4 00224404  80 1E 00 14 */	lwz r0, 0x14(r30)
/* 802287A8 00224408  83 FE 00 00 */	lwz r31, 0(r30)
/* 802287AC 0022440C  7C 1D 00 40 */	cmplw r29, r0
/* 802287B0 00224410  41 82 00 10 */	beq lbl_802287C0
/* 802287B4 00224414  88 1E 00 19 */	lbz r0, 0x19(r30)
/* 802287B8 00224418  2C 00 00 00 */	cmpwi r0, 0
/* 802287BC 0022441C  40 82 00 2C */	bne lbl_802287E8
lbl_802287C0:
/* 802287C0 00224420  2C 1B 00 FF */	cmpwi r27, 0xff
/* 802287C4 00224424  41 82 00 10 */	beq lbl_802287D4
/* 802287C8 00224428  80 1E 00 10 */	lwz r0, 0x10(r30)
/* 802287CC 0022442C  7C 1B 00 00 */	cmpw r27, r0
/* 802287D0 00224430  40 82 00 18 */	bne lbl_802287E8
lbl_802287D4:
/* 802287D4 00224434  7F C3 F3 78 */	mr r3, r30
/* 802287D8 00224438  7F 44 D3 78 */	mr r4, r26
/* 802287DC 0022443C  7F 25 CB 78 */	mr r5, r25
/* 802287E0 00224440  7F 86 E3 78 */	mr r6, r28
/* 802287E4 00224444  4B FF F5 35 */	bl func_80227D18
lbl_802287E8:
/* 802287E8 00224448  83 DE 00 00 */	lwz r30, 0(r30)
/* 802287EC 0022444C  2C 1E 00 00 */	cmpwi r30, 0
/* 802287F0 00224450  41 82 00 08 */	beq lbl_802287F8
/* 802287F4 00224454  48 00 00 08 */	b lbl_802287FC
lbl_802287F8:
/* 802287F8 00224458  7F FE FB 78 */	mr r30, r31
lbl_802287FC:
/* 802287FC 0022445C  2C 1E 00 00 */	cmpwi r30, 0
/* 80228800 00224460  40 82 FF A4 */	bne lbl_802287A4
/* 80228804 00224464  48 00 00 6C */	b lbl_80228870
lbl_80228808:
/* 80228808 00224468  83 C3 00 0C */	lwz r30, 0xc(r3)
/* 8022880C 0022446C  48 00 00 5C */	b lbl_80228868
lbl_80228810:
/* 80228810 00224470  80 1E 00 14 */	lwz r0, 0x14(r30)
/* 80228814 00224474  83 FE 00 04 */	lwz r31, 4(r30)
/* 80228818 00224478  7C 1D 00 40 */	cmplw r29, r0
/* 8022881C 0022447C  41 82 00 10 */	beq lbl_8022882C
/* 80228820 00224480  88 1E 00 19 */	lbz r0, 0x19(r30)
/* 80228824 00224484  2C 00 00 00 */	cmpwi r0, 0
/* 80228828 00224488  40 82 00 2C */	bne lbl_80228854
lbl_8022882C:
/* 8022882C 0022448C  2C 1B 00 FF */	cmpwi r27, 0xff
/* 80228830 00224490  41 82 00 10 */	beq lbl_80228840
/* 80228834 00224494  80 1E 00 10 */	lwz r0, 0x10(r30)
/* 80228838 00224498  7C 1B 00 00 */	cmpw r27, r0
/* 8022883C 0022449C  40 82 00 18 */	bne lbl_80228854
lbl_80228840:
/* 80228840 002244A0  7F C3 F3 78 */	mr r3, r30
/* 80228844 002244A4  7F 44 D3 78 */	mr r4, r26
/* 80228848 002244A8  7F 25 CB 78 */	mr r5, r25
/* 8022884C 002244AC  7F 86 E3 78 */	mr r6, r28
/* 80228850 002244B0  4B FF F4 C9 */	bl func_80227D18
lbl_80228854:
/* 80228854 002244B4  83 DE 00 04 */	lwz r30, 4(r30)
/* 80228858 002244B8  2C 1E 00 00 */	cmpwi r30, 0
/* 8022885C 002244BC  41 82 00 08 */	beq lbl_80228864
/* 80228860 002244C0  48 00 00 08 */	b lbl_80228868
lbl_80228864:
/* 80228864 002244C4  7F FE FB 78 */	mr r30, r31
lbl_80228868:
/* 80228868 002244C8  2C 1E 00 00 */	cmpwi r30, 0
/* 8022886C 002244CC  40 82 FF A4 */	bne lbl_80228810
lbl_80228870:
/* 80228870 002244D0  39 61 00 30 */	addi r11, r1, 0x30
/* 80228874 002244D4  4B F9 E8 F9 */	bl _restgpr_25
/* 80228878 002244D8  80 01 00 34 */	lwz r0, 0x34(r1)
/* 8022887C 002244DC  7C 08 03 A6 */	mtlr r0
/* 80228880 002244E0  38 21 00 30 */	addi r1, r1, 0x30
/* 80228884 002244E4  4E 80 00 20 */	blr

.global func_80228888
func_80228888:
/* 80228888 002244E8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8022888C 002244EC  7C 08 02 A6 */	mflr r0
/* 80228890 002244F0  90 01 00 14 */	stw r0, 0x14(r1)
/* 80228894 002244F4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80228898 002244F8  93 C1 00 08 */	stw r30, 8(r1)
/* 8022889C 002244FC  7C 9E 23 78 */	mr r30, r4
/* 802288A0 00224500  83 E3 00 0C */	lwz r31, 0xc(r3)
/* 802288A4 00224504  48 00 00 30 */	b lbl_802288D4
lbl_802288A8:
/* 802288A8 00224508  88 1F 00 19 */	lbz r0, 0x19(r31)
/* 802288AC 0022450C  2C 00 00 00 */	cmpwi r0, 0
/* 802288B0 00224510  40 82 00 20 */	bne lbl_802288D0
/* 802288B4 00224514  7F E3 FB 78 */	mr r3, r31
/* 802288B8 00224518  7F C4 F3 78 */	mr r4, r30
/* 802288BC 0022451C  4B FF F5 49 */	bl func_80227E04
/* 802288C0 00224520  2C 03 00 00 */	cmpwi r3, 0
/* 802288C4 00224524  41 82 00 0C */	beq lbl_802288D0
/* 802288C8 00224528  38 60 00 00 */	li r3, 0
/* 802288CC 0022452C  48 00 00 14 */	b lbl_802288E0
lbl_802288D0:
/* 802288D0 00224530  83 FF 00 04 */	lwz r31, 4(r31)
lbl_802288D4:
/* 802288D4 00224534  2C 1F 00 00 */	cmpwi r31, 0
/* 802288D8 00224538  40 82 FF D0 */	bne lbl_802288A8
/* 802288DC 0022453C  38 60 00 01 */	li r3, 1
lbl_802288E0:
/* 802288E0 00224540  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802288E4 00224544  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802288E8 00224548  83 C1 00 08 */	lwz r30, 8(r1)
/* 802288EC 0022454C  7C 08 03 A6 */	mtlr r0
/* 802288F0 00224550  38 21 00 10 */	addi r1, r1, 0x10
/* 802288F4 00224554  4E 80 00 20 */	blr

.global func_802288F8
func_802288F8:
/* 802288F8 00224558  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802288FC 0022455C  7C 08 02 A6 */	mflr r0
/* 80228900 00224560  90 01 00 14 */	stw r0, 0x14(r1)
/* 80228904 00224564  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80228908 00224568  7C 9F 23 78 */	mr r31, r4
/* 8022890C 0022456C  93 C1 00 08 */	stw r30, 8(r1)
/* 80228910 00224570  7C 7E 1B 78 */	mr r30, r3
/* 80228914 00224574  48 00 00 0C */	b lbl_80228920
lbl_80228918:
/* 80228918 00224578  80 6D A3 40 */	lwz r3, lbl_8063F600-_SDA_BASE_(r13)
/* 8022891C 0022457C  4B FF BC 6D */	bl func_80224588
lbl_80228920:
/* 80228920 00224580  7F C3 F3 78 */	mr r3, r30
/* 80228924 00224584  7F E4 FB 78 */	mr r4, r31
/* 80228928 00224588  4B FF FF 61 */	bl func_80228888
/* 8022892C 0022458C  2C 03 00 00 */	cmpwi r3, 0
/* 80228930 00224590  41 82 FF E8 */	beq lbl_80228918
/* 80228934 00224594  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80228938 00224598  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8022893C 0022459C  83 C1 00 08 */	lwz r30, 8(r1)
/* 80228940 002245A0  7C 08 03 A6 */	mtlr r0
/* 80228944 002245A4  38 21 00 10 */	addi r1, r1, 0x10
/* 80228948 002245A8  4E 80 00 20 */	blr

.global func_8022894C
func_8022894C:
/* 8022894C 002245AC  4E 80 00 20 */	blr

.global func_80228950
func_80228950:
/* 80228950 002245B0  38 A0 00 01 */	li r5, 1
/* 80228954 002245B4  38 6D A3 88 */	addi r3, r13, lbl_8063F648-_SDA_BASE_
/* 80228958 002245B8  38 80 00 04 */	li r4, 4
/* 8022895C 002245BC  38 00 00 00 */	li r0, 0
/* 80228960 002245C0  98 AD A3 88 */	stb r5, lbl_8063F648-_SDA_BASE_(r13)
/* 80228964 002245C4  B0 83 00 02 */	sth r4, 2(r3)
/* 80228968 002245C8  98 03 00 04 */	stb r0, 4(r3)
/* 8022896C 002245CC  4E 80 00 20 */	blr