summaryrefslogtreecommitdiff
path: root/asm/code_8023B9F4.s
blob: da1f5d53291da94e30ffc77b2ac04ab76ed0e669 (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
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
.include "macros.inc"

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

.global func_8023B9F4
func_8023B9F4:
/* 8023B9F4 00237654  80 6D A4 98 */	lwz r3, lbl_8063F758-_SDA_BASE_(r13)
/* 8023B9F8 00237658  38 03 00 01 */	addi r0, r3, 1
/* 8023B9FC 0023765C  28 00 00 08 */	cmplwi r0, 8
/* 8023BA00 00237660  41 80 00 08 */	blt lbl_8023BA08
/* 8023BA04 00237664  38 00 00 00 */	li r0, 0
lbl_8023BA08:
/* 8023BA08 00237668  90 0D A4 98 */	stw r0, lbl_8063F758-_SDA_BASE_(r13)
/* 8023BA0C 0023766C  4E 80 00 20 */	blr

.global func_8023BA10
func_8023BA10:
/* 8023BA10 00237670  48 00 00 10 */	b lbl_8023BA20
lbl_8023BA14:
/* 8023BA14 00237674  7C 00 20 00 */	cmpw r0, r4
/* 8023BA18 00237678  4D 82 00 20 */	beqlr
/* 8023BA1C 0023767C  38 63 00 10 */	addi r3, r3, 0x10
lbl_8023BA20:
/* 8023BA20 00237680  80 03 00 00 */	lwz r0, 0(r3)
/* 8023BA24 00237684  2C 00 00 FF */	cmpwi r0, 0xff
/* 8023BA28 00237688  40 82 FF EC */	bne lbl_8023BA14
/* 8023BA2C 0023768C  38 60 00 00 */	li r3, 0
/* 8023BA30 00237690  4E 80 00 20 */	blr

.global func_8023BA34
func_8023BA34:
/* 8023BA34 00237694  48 00 00 10 */	b lbl_8023BA44
lbl_8023BA38:
/* 8023BA38 00237698  7C 00 20 00 */	cmpw r0, r4
/* 8023BA3C 0023769C  4D 82 00 20 */	beqlr
/* 8023BA40 002376A0  38 63 00 08 */	addi r3, r3, 8
lbl_8023BA44:
/* 8023BA44 002376A4  80 03 00 00 */	lwz r0, 0(r3)
/* 8023BA48 002376A8  2C 00 00 FF */	cmpwi r0, 0xff
/* 8023BA4C 002376AC  40 82 FF EC */	bne lbl_8023BA38
/* 8023BA50 002376B0  38 60 00 00 */	li r3, 0
/* 8023BA54 002376B4  4E 80 00 20 */	blr

.global func_8023BA58
func_8023BA58:
/* 8023BA58 002376B8  48 00 00 10 */	b lbl_8023BA68
lbl_8023BA5C:
/* 8023BA5C 002376BC  7C 00 20 00 */	cmpw r0, r4
/* 8023BA60 002376C0  4D 82 00 20 */	beqlr
/* 8023BA64 002376C4  38 63 00 0C */	addi r3, r3, 0xc
lbl_8023BA68:
/* 8023BA68 002376C8  88 03 00 03 */	lbz r0, 3(r3)
/* 8023BA6C 002376CC  28 00 00 FF */	cmplwi r0, 0xff
/* 8023BA70 002376D0  40 82 FF EC */	bne lbl_8023BA5C
/* 8023BA74 002376D4  38 60 00 00 */	li r3, 0
/* 8023BA78 002376D8  4E 80 00 20 */	blr

.global func_8023BA7C
func_8023BA7C:
/* 8023BA7C 002376DC  3C 80 80 42 */	lis r4, lbl_80424740@ha
/* 8023BA80 002376E0  38 A0 00 00 */	li r5, 0
/* 8023BA84 002376E4  38 84 47 40 */	addi r4, r4, lbl_80424740@l
/* 8023BA88 002376E8  48 00 00 1C */	b lbl_8023BAA4
lbl_8023BA8C:
/* 8023BA8C 002376EC  7C 03 00 00 */	cmpw r3, r0
/* 8023BA90 002376F0  40 82 00 0C */	bne lbl_8023BA9C
/* 8023BA94 002376F4  7C A3 2B 78 */	mr r3, r5
/* 8023BA98 002376F8  4E 80 00 20 */	blr
lbl_8023BA9C:
/* 8023BA9C 002376FC  38 84 00 04 */	addi r4, r4, 4
/* 8023BAA0 00237700  38 A5 00 01 */	addi r5, r5, 1
lbl_8023BAA4:
/* 8023BAA4 00237704  80 04 00 00 */	lwz r0, 0(r4)
/* 8023BAA8 00237708  2C 00 00 FF */	cmpwi r0, 0xff
/* 8023BAAC 0023770C  40 82 FF E0 */	bne lbl_8023BA8C
/* 8023BAB0 00237710  38 60 00 00 */	li r3, 0
/* 8023BAB4 00237714  4E 80 00 20 */	blr

.global func_8023BAB8
func_8023BAB8:
/* 8023BAB8 00237718  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8023BABC 0023771C  7C 08 02 A6 */	mflr r0
/* 8023BAC0 00237720  90 01 00 24 */	stw r0, 0x24(r1)
/* 8023BAC4 00237724  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8023BAC8 00237728  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8023BACC 0023772C  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8023BAD0 00237730  7C 7D 1B 78 */	mr r29, r3
/* 8023BAD4 00237734  7C 83 23 78 */	mr r3, r4
/* 8023BAD8 00237738  4B FF FF A5 */	bl func_8023BA7C
/* 8023BADC 0023773C  3C 80 80 42 */	lis r4, lbl_80424740@ha
/* 8023BAE0 00237740  54 60 10 3A */	slwi r0, r3, 2
/* 8023BAE4 00237744  38 84 47 40 */	addi r4, r4, lbl_80424740@l
/* 8023BAE8 00237748  7C 7E 1B 78 */	mr r30, r3
/* 8023BAEC 0023774C  7F E4 02 14 */	add r31, r4, r0
/* 8023BAF0 00237750  48 00 00 24 */	b lbl_8023BB14
lbl_8023BAF4:
/* 8023BAF4 00237754  84 9F FF FC */	lwzu r4, -4(r31)
/* 8023BAF8 00237758  7F A3 EB 78 */	mr r3, r29
/* 8023BAFC 0023775C  3B DE FF FF */	addi r30, r30, -1
/* 8023BB00 00237760  4B FF FF 11 */	bl func_8023BA10
/* 8023BB04 00237764  2C 03 00 00 */	cmpwi r3, 0
/* 8023BB08 00237768  41 82 00 0C */	beq lbl_8023BB14
/* 8023BB0C 0023776C  38 63 00 10 */	addi r3, r3, 0x10
/* 8023BB10 00237770  48 00 00 10 */	b lbl_8023BB20
lbl_8023BB14:
/* 8023BB14 00237774  2C 1E 00 00 */	cmpwi r30, 0
/* 8023BB18 00237778  40 82 FF DC */	bne lbl_8023BAF4
/* 8023BB1C 0023777C  38 60 00 00 */	li r3, 0
lbl_8023BB20:
/* 8023BB20 00237780  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8023BB24 00237784  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8023BB28 00237788  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8023BB2C 0023778C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8023BB30 00237790  7C 08 03 A6 */	mtlr r0
/* 8023BB34 00237794  38 21 00 20 */	addi r1, r1, 0x20
/* 8023BB38 00237798  4E 80 00 20 */	blr

.global func_8023BB3C
func_8023BB3C:
/* 8023BB3C 0023779C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8023BB40 002377A0  7C 08 02 A6 */	mflr r0
/* 8023BB44 002377A4  90 01 00 24 */	stw r0, 0x24(r1)
/* 8023BB48 002377A8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8023BB4C 002377AC  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8023BB50 002377B0  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8023BB54 002377B4  7C 7D 1B 78 */	mr r29, r3
/* 8023BB58 002377B8  7C 83 23 78 */	mr r3, r4
/* 8023BB5C 002377BC  4B FF FF 21 */	bl func_8023BA7C
/* 8023BB60 002377C0  3C 80 80 42 */	lis r4, lbl_80424740@ha
/* 8023BB64 002377C4  54 60 10 3A */	slwi r0, r3, 2
/* 8023BB68 002377C8  38 84 47 40 */	addi r4, r4, lbl_80424740@l
/* 8023BB6C 002377CC  7C 7E 1B 78 */	mr r30, r3
/* 8023BB70 002377D0  7F E4 02 14 */	add r31, r4, r0
/* 8023BB74 002377D4  48 00 00 24 */	b lbl_8023BB98
lbl_8023BB78:
/* 8023BB78 002377D8  84 9F FF FC */	lwzu r4, -4(r31)
/* 8023BB7C 002377DC  7F A3 EB 78 */	mr r3, r29
/* 8023BB80 002377E0  3B DE FF FF */	addi r30, r30, -1
/* 8023BB84 002377E4  4B FF FE B1 */	bl func_8023BA34
/* 8023BB88 002377E8  2C 03 00 00 */	cmpwi r3, 0
/* 8023BB8C 002377EC  41 82 00 0C */	beq lbl_8023BB98
/* 8023BB90 002377F0  38 63 00 08 */	addi r3, r3, 8
/* 8023BB94 002377F4  48 00 00 10 */	b lbl_8023BBA4
lbl_8023BB98:
/* 8023BB98 002377F8  2C 1E 00 00 */	cmpwi r30, 0
/* 8023BB9C 002377FC  40 82 FF DC */	bne lbl_8023BB78
/* 8023BBA0 00237800  38 60 00 00 */	li r3, 0
lbl_8023BBA4:
/* 8023BBA4 00237804  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8023BBA8 00237808  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8023BBAC 0023780C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8023BBB0 00237810  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8023BBB4 00237814  7C 08 03 A6 */	mtlr r0
/* 8023BBB8 00237818  38 21 00 20 */	addi r1, r1, 0x20
/* 8023BBBC 0023781C  4E 80 00 20 */	blr

.global func_8023BBC0
func_8023BBC0:
/* 8023BBC0 00237820  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8023BBC4 00237824  7C 08 02 A6 */	mflr r0
/* 8023BBC8 00237828  90 01 00 24 */	stw r0, 0x24(r1)
/* 8023BBCC 0023782C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8023BBD0 00237830  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8023BBD4 00237834  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8023BBD8 00237838  7C 7D 1B 78 */	mr r29, r3
/* 8023BBDC 0023783C  7C 83 23 78 */	mr r3, r4
/* 8023BBE0 00237840  4B FF FE 9D */	bl func_8023BA7C
/* 8023BBE4 00237844  3C 80 80 42 */	lis r4, lbl_80424740@ha
/* 8023BBE8 00237848  54 60 10 3A */	slwi r0, r3, 2
/* 8023BBEC 0023784C  38 84 47 40 */	addi r4, r4, lbl_80424740@l
/* 8023BBF0 00237850  7C 7E 1B 78 */	mr r30, r3
/* 8023BBF4 00237854  7F E4 02 14 */	add r31, r4, r0
/* 8023BBF8 00237858  48 00 00 24 */	b lbl_8023BC1C
lbl_8023BBFC:
/* 8023BBFC 0023785C  84 9F FF FC */	lwzu r4, -4(r31)
/* 8023BC00 00237860  7F A3 EB 78 */	mr r3, r29
/* 8023BC04 00237864  3B DE FF FF */	addi r30, r30, -1
/* 8023BC08 00237868  4B FF FE 51 */	bl func_8023BA58
/* 8023BC0C 0023786C  2C 03 00 00 */	cmpwi r3, 0
/* 8023BC10 00237870  41 82 00 0C */	beq lbl_8023BC1C
/* 8023BC14 00237874  38 63 00 0C */	addi r3, r3, 0xc
/* 8023BC18 00237878  48 00 00 10 */	b lbl_8023BC28
lbl_8023BC1C:
/* 8023BC1C 0023787C  2C 1E 00 00 */	cmpwi r30, 0
/* 8023BC20 00237880  40 82 FF DC */	bne lbl_8023BBFC
/* 8023BC24 00237884  38 60 00 00 */	li r3, 0
lbl_8023BC28:
/* 8023BC28 00237888  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8023BC2C 0023788C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8023BC30 00237890  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8023BC34 00237894  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8023BC38 00237898  7C 08 03 A6 */	mtlr r0
/* 8023BC3C 0023789C  38 21 00 20 */	addi r1, r1, 0x20
/* 8023BC40 002378A0  4E 80 00 20 */	blr

.global func_8023BC44
func_8023BC44:
/* 8023BC44 002378A4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8023BC48 002378A8  7C 08 02 A6 */	mflr r0
/* 8023BC4C 002378AC  90 01 00 14 */	stw r0, 0x14(r1)
/* 8023BC50 002378B0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8023BC54 002378B4  7C 7F 1B 78 */	mr r31, r3
/* 8023BC58 002378B8  4B FF FE 61 */	bl func_8023BAB8
/* 8023BC5C 002378BC  2C 03 00 00 */	cmpwi r3, 0
/* 8023BC60 002378C0  40 82 00 08 */	bne lbl_8023BC68
/* 8023BC64 002378C4  7F E3 FB 78 */	mr r3, r31
lbl_8023BC68:
/* 8023BC68 002378C8  7C 65 1B 78 */	mr r5, r3
/* 8023BC6C 002378CC  48 00 00 08 */	b lbl_8023BC74
lbl_8023BC70:
/* 8023BC70 002378D0  38 A5 00 10 */	addi r5, r5, 0x10
lbl_8023BC74:
/* 8023BC74 002378D4  80 05 00 00 */	lwz r0, 0(r5)
/* 8023BC78 002378D8  2C 00 00 FF */	cmpwi r0, 0xff
/* 8023BC7C 002378DC  40 82 FF F4 */	bne lbl_8023BC70
/* 8023BC80 002378E0  38 85 00 10 */	addi r4, r5, 0x10
/* 8023BC84 002378E4  7C 05 18 40 */	cmplw r5, r3
/* 8023BC88 002378E8  7C 83 20 50 */	subf r4, r3, r4
/* 8023BC8C 002378EC  54 84 E1 3E */	srwi r4, r4, 4
/* 8023BC90 002378F0  41 80 00 CC */	blt lbl_8023BD5C
/* 8023BC94 002378F4  54 80 F0 BF */	rlwinm. r0, r4, 0x1e, 2, 0x1f
/* 8023BC98 002378F8  7C 09 03 A6 */	mtctr r0
/* 8023BC9C 002378FC  41 82 00 94 */	beq lbl_8023BD30
lbl_8023BCA0:
/* 8023BCA0 00237900  80 05 00 00 */	lwz r0, 0(r5)
/* 8023BCA4 00237904  90 05 00 10 */	stw r0, 0x10(r5)
/* 8023BCA8 00237908  80 05 00 04 */	lwz r0, 4(r5)
/* 8023BCAC 0023790C  90 05 00 14 */	stw r0, 0x14(r5)
/* 8023BCB0 00237910  80 05 00 08 */	lwz r0, 8(r5)
/* 8023BCB4 00237914  90 05 00 18 */	stw r0, 0x18(r5)
/* 8023BCB8 00237918  88 05 00 0C */	lbz r0, 0xc(r5)
/* 8023BCBC 0023791C  98 05 00 1C */	stb r0, 0x1c(r5)
/* 8023BCC0 00237920  80 05 FF F0 */	lwz r0, -0x10(r5)
/* 8023BCC4 00237924  90 05 00 00 */	stw r0, 0(r5)
/* 8023BCC8 00237928  80 05 FF F4 */	lwz r0, -0xc(r5)
/* 8023BCCC 0023792C  90 05 00 04 */	stw r0, 4(r5)
/* 8023BCD0 00237930  80 05 FF F8 */	lwz r0, -8(r5)
/* 8023BCD4 00237934  90 05 00 08 */	stw r0, 8(r5)
/* 8023BCD8 00237938  88 05 FF FC */	lbz r0, -4(r5)
/* 8023BCDC 0023793C  98 05 00 0C */	stb r0, 0xc(r5)
/* 8023BCE0 00237940  80 05 FF E0 */	lwz r0, -0x20(r5)
/* 8023BCE4 00237944  90 05 FF F0 */	stw r0, -0x10(r5)
/* 8023BCE8 00237948  80 05 FF E4 */	lwz r0, -0x1c(r5)
/* 8023BCEC 0023794C  90 05 FF F4 */	stw r0, -0xc(r5)
/* 8023BCF0 00237950  80 05 FF E8 */	lwz r0, -0x18(r5)
/* 8023BCF4 00237954  90 05 FF F8 */	stw r0, -8(r5)
/* 8023BCF8 00237958  88 05 FF EC */	lbz r0, -0x14(r5)
/* 8023BCFC 0023795C  98 05 FF FC */	stb r0, -4(r5)
/* 8023BD00 00237960  80 05 FF D0 */	lwz r0, -0x30(r5)
/* 8023BD04 00237964  90 05 FF E0 */	stw r0, -0x20(r5)
/* 8023BD08 00237968  80 05 FF D4 */	lwz r0, -0x2c(r5)
/* 8023BD0C 0023796C  90 05 FF E4 */	stw r0, -0x1c(r5)
/* 8023BD10 00237970  80 05 FF D8 */	lwz r0, -0x28(r5)
/* 8023BD14 00237974  90 05 FF E8 */	stw r0, -0x18(r5)
/* 8023BD18 00237978  88 05 FF DC */	lbz r0, -0x24(r5)
/* 8023BD1C 0023797C  98 05 FF EC */	stb r0, -0x14(r5)
/* 8023BD20 00237980  38 A5 FF C0 */	addi r5, r5, -64
/* 8023BD24 00237984  42 00 FF 7C */	bdnz lbl_8023BCA0
/* 8023BD28 00237988  70 84 00 03 */	andi. r4, r4, 3
/* 8023BD2C 0023798C  41 82 00 30 */	beq lbl_8023BD5C
lbl_8023BD30:
/* 8023BD30 00237990  7C 89 03 A6 */	mtctr r4
lbl_8023BD34:
/* 8023BD34 00237994  80 05 00 00 */	lwz r0, 0(r5)
/* 8023BD38 00237998  90 05 00 10 */	stw r0, 0x10(r5)
/* 8023BD3C 0023799C  80 05 00 04 */	lwz r0, 4(r5)
/* 8023BD40 002379A0  90 05 00 14 */	stw r0, 0x14(r5)
/* 8023BD44 002379A4  80 05 00 08 */	lwz r0, 8(r5)
/* 8023BD48 002379A8  90 05 00 18 */	stw r0, 0x18(r5)
/* 8023BD4C 002379AC  88 05 00 0C */	lbz r0, 0xc(r5)
/* 8023BD50 002379B0  98 05 00 1C */	stb r0, 0x1c(r5)
/* 8023BD54 002379B4  38 A5 FF F0 */	addi r5, r5, -16
/* 8023BD58 002379B8  42 00 FF DC */	bdnz lbl_8023BD34
lbl_8023BD5C:
/* 8023BD5C 002379BC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8023BD60 002379C0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8023BD64 002379C4  7C 08 03 A6 */	mtlr r0
/* 8023BD68 002379C8  38 21 00 10 */	addi r1, r1, 0x10
/* 8023BD6C 002379CC  4E 80 00 20 */	blr

.global func_8023BD70
func_8023BD70:
/* 8023BD70 002379D0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8023BD74 002379D4  7C 08 02 A6 */	mflr r0
/* 8023BD78 002379D8  90 01 00 14 */	stw r0, 0x14(r1)
/* 8023BD7C 002379DC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8023BD80 002379E0  7C 7F 1B 78 */	mr r31, r3
/* 8023BD84 002379E4  4B FF FD B9 */	bl func_8023BB3C
/* 8023BD88 002379E8  2C 03 00 00 */	cmpwi r3, 0
/* 8023BD8C 002379EC  40 82 00 08 */	bne lbl_8023BD94
/* 8023BD90 002379F0  7F E3 FB 78 */	mr r3, r31
lbl_8023BD94:
/* 8023BD94 002379F4  7C 65 1B 78 */	mr r5, r3
/* 8023BD98 002379F8  48 00 00 08 */	b lbl_8023BDA0
lbl_8023BD9C:
/* 8023BD9C 002379FC  38 A5 00 08 */	addi r5, r5, 8
lbl_8023BDA0:
/* 8023BDA0 00237A00  80 05 00 00 */	lwz r0, 0(r5)
/* 8023BDA4 00237A04  2C 00 00 FF */	cmpwi r0, 0xff
/* 8023BDA8 00237A08  40 82 FF F4 */	bne lbl_8023BD9C
/* 8023BDAC 00237A0C  38 85 00 08 */	addi r4, r5, 8
/* 8023BDB0 00237A10  7C 05 18 40 */	cmplw r5, r3
/* 8023BDB4 00237A14  7C 83 20 50 */	subf r4, r3, r4
/* 8023BDB8 00237A18  54 84 E8 FE */	srwi r4, r4, 3
/* 8023BDBC 00237A1C  41 80 00 BC */	blt lbl_8023BE78
/* 8023BDC0 00237A20  54 80 E8 FF */	rlwinm. r0, r4, 0x1d, 3, 0x1f
/* 8023BDC4 00237A24  7C 09 03 A6 */	mtctr r0
/* 8023BDC8 00237A28  41 82 00 94 */	beq lbl_8023BE5C
lbl_8023BDCC:
/* 8023BDCC 00237A2C  80 05 00 00 */	lwz r0, 0(r5)
/* 8023BDD0 00237A30  90 05 00 08 */	stw r0, 8(r5)
/* 8023BDD4 00237A34  80 05 00 04 */	lwz r0, 4(r5)
/* 8023BDD8 00237A38  90 05 00 0C */	stw r0, 0xc(r5)
/* 8023BDDC 00237A3C  80 05 FF F8 */	lwz r0, -8(r5)
/* 8023BDE0 00237A40  90 05 00 00 */	stw r0, 0(r5)
/* 8023BDE4 00237A44  80 05 FF FC */	lwz r0, -4(r5)
/* 8023BDE8 00237A48  90 05 00 04 */	stw r0, 4(r5)
/* 8023BDEC 00237A4C  80 05 FF F0 */	lwz r0, -0x10(r5)
/* 8023BDF0 00237A50  90 05 FF F8 */	stw r0, -8(r5)
/* 8023BDF4 00237A54  80 05 FF F4 */	lwz r0, -0xc(r5)
/* 8023BDF8 00237A58  90 05 FF FC */	stw r0, -4(r5)
/* 8023BDFC 00237A5C  80 05 FF E8 */	lwz r0, -0x18(r5)
/* 8023BE00 00237A60  90 05 FF F0 */	stw r0, -0x10(r5)
/* 8023BE04 00237A64  80 05 FF EC */	lwz r0, -0x14(r5)
/* 8023BE08 00237A68  90 05 FF F4 */	stw r0, -0xc(r5)
/* 8023BE0C 00237A6C  80 05 FF E0 */	lwz r0, -0x20(r5)
/* 8023BE10 00237A70  90 05 FF E8 */	stw r0, -0x18(r5)
/* 8023BE14 00237A74  80 05 FF E4 */	lwz r0, -0x1c(r5)
/* 8023BE18 00237A78  90 05 FF EC */	stw r0, -0x14(r5)
/* 8023BE1C 00237A7C  80 05 FF D8 */	lwz r0, -0x28(r5)
/* 8023BE20 00237A80  90 05 FF E0 */	stw r0, -0x20(r5)
/* 8023BE24 00237A84  80 05 FF DC */	lwz r0, -0x24(r5)
/* 8023BE28 00237A88  90 05 FF E4 */	stw r0, -0x1c(r5)
/* 8023BE2C 00237A8C  80 05 FF D0 */	lwz r0, -0x30(r5)
/* 8023BE30 00237A90  90 05 FF D8 */	stw r0, -0x28(r5)
/* 8023BE34 00237A94  80 05 FF D4 */	lwz r0, -0x2c(r5)
/* 8023BE38 00237A98  90 05 FF DC */	stw r0, -0x24(r5)
/* 8023BE3C 00237A9C  80 05 FF C8 */	lwz r0, -0x38(r5)
/* 8023BE40 00237AA0  90 05 FF D0 */	stw r0, -0x30(r5)
/* 8023BE44 00237AA4  80 05 FF CC */	lwz r0, -0x34(r5)
/* 8023BE48 00237AA8  90 05 FF D4 */	stw r0, -0x2c(r5)
/* 8023BE4C 00237AAC  38 A5 FF C0 */	addi r5, r5, -64
/* 8023BE50 00237AB0  42 00 FF 7C */	bdnz lbl_8023BDCC
/* 8023BE54 00237AB4  70 84 00 07 */	andi. r4, r4, 7
/* 8023BE58 00237AB8  41 82 00 20 */	beq lbl_8023BE78
lbl_8023BE5C:
/* 8023BE5C 00237ABC  7C 89 03 A6 */	mtctr r4
lbl_8023BE60:
/* 8023BE60 00237AC0  80 05 00 00 */	lwz r0, 0(r5)
/* 8023BE64 00237AC4  90 05 00 08 */	stw r0, 8(r5)
/* 8023BE68 00237AC8  80 05 00 04 */	lwz r0, 4(r5)
/* 8023BE6C 00237ACC  90 05 00 0C */	stw r0, 0xc(r5)
/* 8023BE70 00237AD0  38 A5 FF F8 */	addi r5, r5, -8
/* 8023BE74 00237AD4  42 00 FF EC */	bdnz lbl_8023BE60
lbl_8023BE78:
/* 8023BE78 00237AD8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8023BE7C 00237ADC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8023BE80 00237AE0  7C 08 03 A6 */	mtlr r0
/* 8023BE84 00237AE4  38 21 00 10 */	addi r1, r1, 0x10
/* 8023BE88 00237AE8  4E 80 00 20 */	blr

.global func_8023BE8C
func_8023BE8C:
/* 8023BE8C 00237AEC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8023BE90 00237AF0  7C 08 02 A6 */	mflr r0
/* 8023BE94 00237AF4  90 01 00 14 */	stw r0, 0x14(r1)
/* 8023BE98 00237AF8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8023BE9C 00237AFC  7C 7F 1B 78 */	mr r31, r3
/* 8023BEA0 00237B00  4B FF FD 21 */	bl func_8023BBC0
/* 8023BEA4 00237B04  2C 03 00 00 */	cmpwi r3, 0
/* 8023BEA8 00237B08  40 82 00 08 */	bne lbl_8023BEB0
/* 8023BEAC 00237B0C  7F E3 FB 78 */	mr r3, r31
lbl_8023BEB0:
/* 8023BEB0 00237B10  7C 65 1B 78 */	mr r5, r3
/* 8023BEB4 00237B14  48 00 00 08 */	b lbl_8023BEBC
lbl_8023BEB8:
/* 8023BEB8 00237B18  38 A5 00 0C */	addi r5, r5, 0xc
lbl_8023BEBC:
/* 8023BEBC 00237B1C  88 05 00 03 */	lbz r0, 3(r5)
/* 8023BEC0 00237B20  28 00 00 FF */	cmplwi r0, 0xff
/* 8023BEC4 00237B24  40 82 FF F4 */	bne lbl_8023BEB8
/* 8023BEC8 00237B28  38 85 00 0C */	addi r4, r5, 0xc
/* 8023BECC 00237B2C  38 00 00 0C */	li r0, 0xc
/* 8023BED0 00237B30  7C 83 20 50 */	subf r4, r3, r4
/* 8023BED4 00237B34  7C 05 18 40 */	cmplw r5, r3
/* 8023BED8 00237B38  7C 84 03 96 */	divwu r4, r4, r0
/* 8023BEDC 00237B3C  41 80 00 F4 */	blt lbl_8023BFD0
/* 8023BEE0 00237B40  54 80 F0 BF */	rlwinm. r0, r4, 0x1e, 2, 0x1f
/* 8023BEE4 00237B44  7C 09 03 A6 */	mtctr r0
/* 8023BEE8 00237B48  41 82 00 B4 */	beq lbl_8023BF9C
lbl_8023BEEC:
/* 8023BEEC 00237B4C  88 05 00 00 */	lbz r0, 0(r5)
/* 8023BEF0 00237B50  98 05 00 0C */	stb r0, 0xc(r5)
/* 8023BEF4 00237B54  88 05 00 02 */	lbz r0, 2(r5)
/* 8023BEF8 00237B58  98 05 00 0E */	stb r0, 0xe(r5)
/* 8023BEFC 00237B5C  88 05 00 03 */	lbz r0, 3(r5)
/* 8023BF00 00237B60  98 05 00 0F */	stb r0, 0xf(r5)
/* 8023BF04 00237B64  80 05 00 04 */	lwz r0, 4(r5)
/* 8023BF08 00237B68  90 05 00 10 */	stw r0, 0x10(r5)
/* 8023BF0C 00237B6C  80 05 00 08 */	lwz r0, 8(r5)
/* 8023BF10 00237B70  90 05 00 14 */	stw r0, 0x14(r5)
/* 8023BF14 00237B74  88 05 FF F4 */	lbz r0, -0xc(r5)
/* 8023BF18 00237B78  98 05 00 00 */	stb r0, 0(r5)
/* 8023BF1C 00237B7C  88 05 FF F6 */	lbz r0, -0xa(r5)
/* 8023BF20 00237B80  98 05 00 02 */	stb r0, 2(r5)
/* 8023BF24 00237B84  88 05 FF F7 */	lbz r0, -9(r5)
/* 8023BF28 00237B88  98 05 00 03 */	stb r0, 3(r5)
/* 8023BF2C 00237B8C  80 05 FF F8 */	lwz r0, -8(r5)
/* 8023BF30 00237B90  90 05 00 04 */	stw r0, 4(r5)
/* 8023BF34 00237B94  80 05 FF FC */	lwz r0, -4(r5)
/* 8023BF38 00237B98  90 05 00 08 */	stw r0, 8(r5)
/* 8023BF3C 00237B9C  88 05 FF E8 */	lbz r0, -0x18(r5)
/* 8023BF40 00237BA0  98 05 FF F4 */	stb r0, -0xc(r5)
/* 8023BF44 00237BA4  88 05 FF EA */	lbz r0, -0x16(r5)
/* 8023BF48 00237BA8  98 05 FF F6 */	stb r0, -0xa(r5)
/* 8023BF4C 00237BAC  88 05 FF EB */	lbz r0, -0x15(r5)
/* 8023BF50 00237BB0  98 05 FF F7 */	stb r0, -9(r5)
/* 8023BF54 00237BB4  80 05 FF EC */	lwz r0, -0x14(r5)
/* 8023BF58 00237BB8  90 05 FF F8 */	stw r0, -8(r5)
/* 8023BF5C 00237BBC  80 05 FF F0 */	lwz r0, -0x10(r5)
/* 8023BF60 00237BC0  90 05 FF FC */	stw r0, -4(r5)
/* 8023BF64 00237BC4  88 05 FF DC */	lbz r0, -0x24(r5)
/* 8023BF68 00237BC8  98 05 FF E8 */	stb r0, -0x18(r5)
/* 8023BF6C 00237BCC  88 05 FF DE */	lbz r0, -0x22(r5)
/* 8023BF70 00237BD0  98 05 FF EA */	stb r0, -0x16(r5)
/* 8023BF74 00237BD4  88 05 FF DF */	lbz r0, -0x21(r5)
/* 8023BF78 00237BD8  98 05 FF EB */	stb r0, -0x15(r5)
/* 8023BF7C 00237BDC  80 05 FF E0 */	lwz r0, -0x20(r5)
/* 8023BF80 00237BE0  90 05 FF EC */	stw r0, -0x14(r5)
/* 8023BF84 00237BE4  80 05 FF E4 */	lwz r0, -0x1c(r5)
/* 8023BF88 00237BE8  90 05 FF F0 */	stw r0, -0x10(r5)
/* 8023BF8C 00237BEC  38 A5 FF D0 */	addi r5, r5, -48
/* 8023BF90 00237BF0  42 00 FF 5C */	bdnz lbl_8023BEEC
/* 8023BF94 00237BF4  70 84 00 03 */	andi. r4, r4, 3
/* 8023BF98 00237BF8  41 82 00 38 */	beq lbl_8023BFD0
lbl_8023BF9C:
/* 8023BF9C 00237BFC  7C 89 03 A6 */	mtctr r4
lbl_8023BFA0:
/* 8023BFA0 00237C00  88 05 00 00 */	lbz r0, 0(r5)
/* 8023BFA4 00237C04  98 05 00 0C */	stb r0, 0xc(r5)
/* 8023BFA8 00237C08  88 05 00 02 */	lbz r0, 2(r5)
/* 8023BFAC 00237C0C  98 05 00 0E */	stb r0, 0xe(r5)
/* 8023BFB0 00237C10  88 05 00 03 */	lbz r0, 3(r5)
/* 8023BFB4 00237C14  98 05 00 0F */	stb r0, 0xf(r5)
/* 8023BFB8 00237C18  80 05 00 04 */	lwz r0, 4(r5)
/* 8023BFBC 00237C1C  90 05 00 10 */	stw r0, 0x10(r5)
/* 8023BFC0 00237C20  80 05 00 08 */	lwz r0, 8(r5)
/* 8023BFC4 00237C24  90 05 00 14 */	stw r0, 0x14(r5)
/* 8023BFC8 00237C28  38 A5 FF F4 */	addi r5, r5, -12
/* 8023BFCC 00237C2C  42 00 FF D4 */	bdnz lbl_8023BFA0
lbl_8023BFD0:
/* 8023BFD0 00237C30  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8023BFD4 00237C34  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8023BFD8 00237C38  7C 08 03 A6 */	mtlr r0
/* 8023BFDC 00237C3C  38 21 00 10 */	addi r1, r1, 0x10
/* 8023BFE0 00237C40  4E 80 00 20 */	blr

.global func_8023BFE4
func_8023BFE4:
/* 8023BFE4 00237C44  38 83 00 10 */	addi r4, r3, 0x10
/* 8023BFE8 00237C48  48 00 00 2C */	b lbl_8023C014
lbl_8023BFEC:
/* 8023BFEC 00237C4C  80 04 00 00 */	lwz r0, 0(r4)
/* 8023BFF0 00237C50  90 03 00 00 */	stw r0, 0(r3)
/* 8023BFF4 00237C54  80 04 00 04 */	lwz r0, 4(r4)
/* 8023BFF8 00237C58  90 03 00 04 */	stw r0, 4(r3)
/* 8023BFFC 00237C5C  80 04 00 08 */	lwz r0, 8(r4)
/* 8023C000 00237C60  90 03 00 08 */	stw r0, 8(r3)
/* 8023C004 00237C64  88 04 00 0C */	lbz r0, 0xc(r4)
/* 8023C008 00237C68  38 84 00 10 */	addi r4, r4, 0x10
/* 8023C00C 00237C6C  98 03 00 0C */	stb r0, 0xc(r3)
/* 8023C010 00237C70  38 63 00 10 */	addi r3, r3, 0x10
lbl_8023C014:
/* 8023C014 00237C74  80 03 00 00 */	lwz r0, 0(r3)
/* 8023C018 00237C78  2C 00 00 FF */	cmpwi r0, 0xff
/* 8023C01C 00237C7C  40 82 FF D0 */	bne lbl_8023BFEC
/* 8023C020 00237C80  4E 80 00 20 */	blr

.global func_8023C024
func_8023C024:
/* 8023C024 00237C84  38 83 00 08 */	addi r4, r3, 8
/* 8023C028 00237C88  48 00 00 1C */	b lbl_8023C044
lbl_8023C02C:
/* 8023C02C 00237C8C  80 04 00 00 */	lwz r0, 0(r4)
/* 8023C030 00237C90  90 03 00 00 */	stw r0, 0(r3)
/* 8023C034 00237C94  80 04 00 04 */	lwz r0, 4(r4)
/* 8023C038 00237C98  38 84 00 08 */	addi r4, r4, 8
/* 8023C03C 00237C9C  90 03 00 04 */	stw r0, 4(r3)
/* 8023C040 00237CA0  38 63 00 08 */	addi r3, r3, 8
lbl_8023C044:
/* 8023C044 00237CA4  80 03 00 00 */	lwz r0, 0(r3)
/* 8023C048 00237CA8  2C 00 00 FF */	cmpwi r0, 0xff
/* 8023C04C 00237CAC  40 82 FF E0 */	bne lbl_8023C02C
/* 8023C050 00237CB0  4E 80 00 20 */	blr

.global func_8023C054
func_8023C054:
/* 8023C054 00237CB4  38 83 00 0C */	addi r4, r3, 0xc
/* 8023C058 00237CB8  48 00 00 34 */	b lbl_8023C08C
lbl_8023C05C:
/* 8023C05C 00237CBC  88 04 00 00 */	lbz r0, 0(r4)
/* 8023C060 00237CC0  98 03 00 00 */	stb r0, 0(r3)
/* 8023C064 00237CC4  88 04 00 02 */	lbz r0, 2(r4)
/* 8023C068 00237CC8  98 03 00 02 */	stb r0, 2(r3)
/* 8023C06C 00237CCC  88 04 00 03 */	lbz r0, 3(r4)
/* 8023C070 00237CD0  98 03 00 03 */	stb r0, 3(r3)
/* 8023C074 00237CD4  80 04 00 04 */	lwz r0, 4(r4)
/* 8023C078 00237CD8  90 03 00 04 */	stw r0, 4(r3)
/* 8023C07C 00237CDC  80 04 00 08 */	lwz r0, 8(r4)
/* 8023C080 00237CE0  38 84 00 0C */	addi r4, r4, 0xc
/* 8023C084 00237CE4  90 03 00 08 */	stw r0, 8(r3)
/* 8023C088 00237CE8  38 63 00 0C */	addi r3, r3, 0xc
lbl_8023C08C:
/* 8023C08C 00237CEC  88 03 00 03 */	lbz r0, 3(r3)
/* 8023C090 00237CF0  28 00 00 FF */	cmplwi r0, 0xff
/* 8023C094 00237CF4  40 82 FF C8 */	bne lbl_8023C05C
/* 8023C098 00237CF8  4E 80 00 20 */	blr

.global func_8023C09C
func_8023C09C:
/* 8023C09C 00237CFC  38 00 00 03 */	li r0, 3
/* 8023C0A0 00237D00  90 83 00 00 */	stw r4, 0(r3)
/* 8023C0A4 00237D04  38 A3 00 04 */	addi r5, r3, 4
/* 8023C0A8 00237D08  38 C4 02 90 */	addi r6, r4, 0x290
/* 8023C0AC 00237D0C  7C 09 03 A6 */	mtctr r0
lbl_8023C0B0:
/* 8023C0B0 00237D10  88 06 00 00 */	lbz r0, 0(r6)
/* 8023C0B4 00237D14  98 05 00 00 */	stb r0, 0(r5)
/* 8023C0B8 00237D18  88 06 00 02 */	lbz r0, 2(r6)
/* 8023C0BC 00237D1C  98 05 00 02 */	stb r0, 2(r5)
/* 8023C0C0 00237D20  88 06 00 03 */	lbz r0, 3(r6)
/* 8023C0C4 00237D24  98 05 00 03 */	stb r0, 3(r5)
/* 8023C0C8 00237D28  80 06 00 04 */	lwz r0, 4(r6)
/* 8023C0CC 00237D2C  90 05 00 04 */	stw r0, 4(r5)
/* 8023C0D0 00237D30  80 06 00 08 */	lwz r0, 8(r6)
/* 8023C0D4 00237D34  90 05 00 08 */	stw r0, 8(r5)
/* 8023C0D8 00237D38  88 06 00 0C */	lbz r0, 0xc(r6)
/* 8023C0DC 00237D3C  98 05 00 0C */	stb r0, 0xc(r5)
/* 8023C0E0 00237D40  88 06 00 0E */	lbz r0, 0xe(r6)
/* 8023C0E4 00237D44  98 05 00 0E */	stb r0, 0xe(r5)
/* 8023C0E8 00237D48  88 06 00 0F */	lbz r0, 0xf(r6)
/* 8023C0EC 00237D4C  98 05 00 0F */	stb r0, 0xf(r5)
/* 8023C0F0 00237D50  80 06 00 10 */	lwz r0, 0x10(r6)
/* 8023C0F4 00237D54  90 05 00 10 */	stw r0, 0x10(r5)
/* 8023C0F8 00237D58  80 06 00 14 */	lwz r0, 0x14(r6)
/* 8023C0FC 00237D5C  90 05 00 14 */	stw r0, 0x14(r5)
/* 8023C100 00237D60  88 06 00 18 */	lbz r0, 0x18(r6)
/* 8023C104 00237D64  98 05 00 18 */	stb r0, 0x18(r5)
/* 8023C108 00237D68  88 06 00 1A */	lbz r0, 0x1a(r6)
/* 8023C10C 00237D6C  98 05 00 1A */	stb r0, 0x1a(r5)
/* 8023C110 00237D70  88 06 00 1B */	lbz r0, 0x1b(r6)
/* 8023C114 00237D74  98 05 00 1B */	stb r0, 0x1b(r5)
/* 8023C118 00237D78  80 06 00 1C */	lwz r0, 0x1c(r6)
/* 8023C11C 00237D7C  90 05 00 1C */	stw r0, 0x1c(r5)
/* 8023C120 00237D80  80 06 00 20 */	lwz r0, 0x20(r6)
/* 8023C124 00237D84  90 05 00 20 */	stw r0, 0x20(r5)
/* 8023C128 00237D88  88 06 00 24 */	lbz r0, 0x24(r6)
/* 8023C12C 00237D8C  98 05 00 24 */	stb r0, 0x24(r5)
/* 8023C130 00237D90  88 06 00 26 */	lbz r0, 0x26(r6)
/* 8023C134 00237D94  98 05 00 26 */	stb r0, 0x26(r5)
/* 8023C138 00237D98  88 06 00 27 */	lbz r0, 0x27(r6)
/* 8023C13C 00237D9C  98 05 00 27 */	stb r0, 0x27(r5)
/* 8023C140 00237DA0  80 06 00 28 */	lwz r0, 0x28(r6)
/* 8023C144 00237DA4  90 05 00 28 */	stw r0, 0x28(r5)
/* 8023C148 00237DA8  80 06 00 2C */	lwz r0, 0x2c(r6)
/* 8023C14C 00237DAC  90 05 00 2C */	stw r0, 0x2c(r5)
/* 8023C150 00237DB0  88 06 00 30 */	lbz r0, 0x30(r6)
/* 8023C154 00237DB4  98 05 00 30 */	stb r0, 0x30(r5)
/* 8023C158 00237DB8  88 06 00 32 */	lbz r0, 0x32(r6)
/* 8023C15C 00237DBC  98 05 00 32 */	stb r0, 0x32(r5)
/* 8023C160 00237DC0  88 06 00 33 */	lbz r0, 0x33(r6)
/* 8023C164 00237DC4  98 05 00 33 */	stb r0, 0x33(r5)
/* 8023C168 00237DC8  80 06 00 34 */	lwz r0, 0x34(r6)
/* 8023C16C 00237DCC  90 05 00 34 */	stw r0, 0x34(r5)
/* 8023C170 00237DD0  80 06 00 38 */	lwz r0, 0x38(r6)
/* 8023C174 00237DD4  90 05 00 38 */	stw r0, 0x38(r5)
/* 8023C178 00237DD8  88 06 00 3C */	lbz r0, 0x3c(r6)
/* 8023C17C 00237DDC  98 05 00 3C */	stb r0, 0x3c(r5)
/* 8023C180 00237DE0  88 06 00 3E */	lbz r0, 0x3e(r6)
/* 8023C184 00237DE4  98 05 00 3E */	stb r0, 0x3e(r5)
/* 8023C188 00237DE8  88 06 00 3F */	lbz r0, 0x3f(r6)
/* 8023C18C 00237DEC  98 05 00 3F */	stb r0, 0x3f(r5)
/* 8023C190 00237DF0  80 06 00 40 */	lwz r0, 0x40(r6)
/* 8023C194 00237DF4  90 05 00 40 */	stw r0, 0x40(r5)
/* 8023C198 00237DF8  80 06 00 44 */	lwz r0, 0x44(r6)
/* 8023C19C 00237DFC  90 05 00 44 */	stw r0, 0x44(r5)
/* 8023C1A0 00237E00  88 06 00 48 */	lbz r0, 0x48(r6)
/* 8023C1A4 00237E04  98 05 00 48 */	stb r0, 0x48(r5)
/* 8023C1A8 00237E08  88 06 00 4A */	lbz r0, 0x4a(r6)
/* 8023C1AC 00237E0C  98 05 00 4A */	stb r0, 0x4a(r5)
/* 8023C1B0 00237E10  88 06 00 4B */	lbz r0, 0x4b(r6)
/* 8023C1B4 00237E14  98 05 00 4B */	stb r0, 0x4b(r5)
/* 8023C1B8 00237E18  80 06 00 4C */	lwz r0, 0x4c(r6)
/* 8023C1BC 00237E1C  90 05 00 4C */	stw r0, 0x4c(r5)
/* 8023C1C0 00237E20  80 06 00 50 */	lwz r0, 0x50(r6)
/* 8023C1C4 00237E24  90 05 00 50 */	stw r0, 0x50(r5)
/* 8023C1C8 00237E28  88 06 00 54 */	lbz r0, 0x54(r6)
/* 8023C1CC 00237E2C  98 05 00 54 */	stb r0, 0x54(r5)
/* 8023C1D0 00237E30  88 06 00 56 */	lbz r0, 0x56(r6)
/* 8023C1D4 00237E34  98 05 00 56 */	stb r0, 0x56(r5)
/* 8023C1D8 00237E38  88 06 00 57 */	lbz r0, 0x57(r6)
/* 8023C1DC 00237E3C  98 05 00 57 */	stb r0, 0x57(r5)
/* 8023C1E0 00237E40  80 06 00 58 */	lwz r0, 0x58(r6)
/* 8023C1E4 00237E44  90 05 00 58 */	stw r0, 0x58(r5)
/* 8023C1E8 00237E48  80 06 00 5C */	lwz r0, 0x5c(r6)
/* 8023C1EC 00237E4C  38 C6 00 60 */	addi r6, r6, 0x60
/* 8023C1F0 00237E50  90 05 00 5C */	stw r0, 0x5c(r5)
/* 8023C1F4 00237E54  38 A5 00 60 */	addi r5, r5, 0x60
/* 8023C1F8 00237E58  42 00 FE B8 */	bdnz lbl_8023C0B0
/* 8023C1FC 00237E5C  88 06 00 00 */	lbz r0, 0(r6)
/* 8023C200 00237E60  98 05 00 00 */	stb r0, 0(r5)
/* 8023C204 00237E64  88 06 00 02 */	lbz r0, 2(r6)
/* 8023C208 00237E68  98 05 00 02 */	stb r0, 2(r5)
/* 8023C20C 00237E6C  88 06 00 03 */	lbz r0, 3(r6)
/* 8023C210 00237E70  98 05 00 03 */	stb r0, 3(r5)
/* 8023C214 00237E74  80 06 00 04 */	lwz r0, 4(r6)
/* 8023C218 00237E78  90 05 00 04 */	stw r0, 4(r5)
/* 8023C21C 00237E7C  80 06 00 08 */	lwz r0, 8(r6)
/* 8023C220 00237E80  90 05 00 08 */	stw r0, 8(r5)
/* 8023C224 00237E84  88 06 00 0C */	lbz r0, 0xc(r6)
/* 8023C228 00237E88  98 05 00 0C */	stb r0, 0xc(r5)
/* 8023C22C 00237E8C  88 06 00 0E */	lbz r0, 0xe(r6)
/* 8023C230 00237E90  98 05 00 0E */	stb r0, 0xe(r5)
/* 8023C234 00237E94  88 06 00 0F */	lbz r0, 0xf(r6)
/* 8023C238 00237E98  98 05 00 0F */	stb r0, 0xf(r5)
/* 8023C23C 00237E9C  80 06 00 10 */	lwz r0, 0x10(r6)
/* 8023C240 00237EA0  90 05 00 10 */	stw r0, 0x10(r5)
/* 8023C244 00237EA4  80 06 00 14 */	lwz r0, 0x14(r6)
/* 8023C248 00237EA8  90 05 00 14 */	stw r0, 0x14(r5)
/* 8023C24C 00237EAC  88 06 00 18 */	lbz r0, 0x18(r6)
/* 8023C250 00237EB0  98 05 00 18 */	stb r0, 0x18(r5)
/* 8023C254 00237EB4  88 06 00 1A */	lbz r0, 0x1a(r6)
/* 8023C258 00237EB8  98 05 00 1A */	stb r0, 0x1a(r5)
/* 8023C25C 00237EBC  88 06 00 1B */	lbz r0, 0x1b(r6)
/* 8023C260 00237EC0  98 05 00 1B */	stb r0, 0x1b(r5)
/* 8023C264 00237EC4  80 06 00 1C */	lwz r0, 0x1c(r6)
/* 8023C268 00237EC8  90 05 00 1C */	stw r0, 0x1c(r5)
/* 8023C26C 00237ECC  80 06 00 20 */	lwz r0, 0x20(r6)
/* 8023C270 00237ED0  90 05 00 20 */	stw r0, 0x20(r5)
/* 8023C274 00237ED4  88 04 00 00 */	lbz r0, 0(r4)
/* 8023C278 00237ED8  88 A4 00 01 */	lbz r5, 1(r4)
/* 8023C27C 00237EDC  60 06 00 30 */	ori r6, r0, 0x30
/* 8023C280 00237EE0  38 05 00 01 */	addi r0, r5, 1
/* 8023C284 00237EE4  98 C4 00 00 */	stb r6, 0(r4)
/* 8023C288 00237EE8  98 04 00 01 */	stb r0, 1(r4)
/* 8023C28C 00237EEC  4E 80 00 20 */	blr

.global func_8023C290
func_8023C290:
/* 8023C290 00237EF0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8023C294 00237EF4  7C 08 02 A6 */	mflr r0
/* 8023C298 00237EF8  38 63 00 04 */	addi r3, r3, 4
/* 8023C29C 00237EFC  90 01 00 14 */	stw r0, 0x14(r1)
/* 8023C2A0 00237F00  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8023C2A4 00237F04  7C BF 2B 78 */	mr r31, r5
/* 8023C2A8 00237F08  4B FF F7 B1 */	bl func_8023BA58
/* 8023C2AC 00237F0C  2C 03 00 00 */	cmpwi r3, 0
/* 8023C2B0 00237F10  41 82 00 24 */	beq lbl_8023C2D4
/* 8023C2B4 00237F14  57 E5 00 02 */	rlwinm r5, r31, 0, 0, 1
/* 8023C2B8 00237F18  3C 00 C0 00 */	lis r0, 0xc000
/* 8023C2BC 00237F1C  7C 85 00 50 */	subf r4, r5, r0
/* 8023C2C0 00237F20  93 E3 00 04 */	stw r31, 4(r3)
/* 8023C2C4 00237F24  7C 00 28 50 */	subf r0, r0, r5
/* 8023C2C8 00237F28  7C 80 03 78 */	or r0, r4, r0
/* 8023C2CC 00237F2C  54 00 0F FE */	srwi r0, r0, 0x1f
/* 8023C2D0 00237F30  98 03 00 00 */	stb r0, 0(r3)
lbl_8023C2D4:
/* 8023C2D4 00237F34  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8023C2D8 00237F38  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8023C2DC 00237F3C  7C 08 03 A6 */	mtlr r0
/* 8023C2E0 00237F40  38 21 00 10 */	addi r1, r1, 0x10
/* 8023C2E4 00237F44  4E 80 00 20 */	blr

.global func_8023C2E8
func_8023C2E8:
/* 8023C2E8 00237F48  80 83 00 00 */	lwz r4, 0(r3)
/* 8023C2EC 00237F4C  38 A3 00 04 */	addi r5, r3, 4
/* 8023C2F0 00237F50  38 84 02 90 */	addi r4, r4, 0x290
/* 8023C2F4 00237F54  48 00 00 2C */	b lbl_8023C320
lbl_8023C2F8:
/* 8023C2F8 00237F58  80 05 00 04 */	lwz r0, 4(r5)
/* 8023C2FC 00237F5C  90 04 00 04 */	stw r0, 4(r4)
/* 8023C300 00237F60  80 05 00 08 */	lwz r0, 8(r5)
/* 8023C304 00237F64  90 04 00 08 */	stw r0, 8(r4)
/* 8023C308 00237F68  88 05 00 02 */	lbz r0, 2(r5)
/* 8023C30C 00237F6C  98 04 00 02 */	stb r0, 2(r4)
/* 8023C310 00237F70  88 05 00 00 */	lbz r0, 0(r5)
/* 8023C314 00237F74  38 A5 00 0C */	addi r5, r5, 0xc
/* 8023C318 00237F78  98 04 00 00 */	stb r0, 0(r4)
/* 8023C31C 00237F7C  38 84 00 0C */	addi r4, r4, 0xc
lbl_8023C320:
/* 8023C320 00237F80  88 04 00 03 */	lbz r0, 3(r4)
/* 8023C324 00237F84  28 00 00 FF */	cmplwi r0, 0xff
/* 8023C328 00237F88  40 82 FF D0 */	bne lbl_8023C2F8
/* 8023C32C 00237F8C  80 63 00 00 */	lwz r3, 0(r3)
/* 8023C330 00237F90  88 03 00 00 */	lbz r0, 0(r3)
/* 8023C334 00237F94  60 00 00 04 */	ori r0, r0, 4
/* 8023C338 00237F98  98 03 00 00 */	stb r0, 0(r3)
/* 8023C33C 00237F9C  4E 80 00 20 */	blr

.global func_8023C340
func_8023C340:
/* 8023C340 00237FA0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8023C344 00237FA4  7C 08 02 A6 */	mflr r0
/* 8023C348 00237FA8  2C 03 00 00 */	cmpwi r3, 0
/* 8023C34C 00237FAC  90 01 00 14 */	stw r0, 0x14(r1)
/* 8023C350 00237FB0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8023C354 00237FB4  7C 7F 1B 78 */	mr r31, r3
/* 8023C358 00237FB8  41 82 00 50 */	beq lbl_8023C3A8
/* 8023C35C 00237FBC  80 C3 00 00 */	lwz r6, 0(r3)
/* 8023C360 00237FC0  88 A6 00 01 */	lbz r5, 1(r6)
/* 8023C364 00237FC4  38 05 FF FF */	addi r0, r5, -1
/* 8023C368 00237FC8  98 06 00 01 */	stb r0, 1(r6)
/* 8023C36C 00237FCC  80 A3 00 00 */	lwz r5, 0(r3)
/* 8023C370 00237FD0  88 05 00 01 */	lbz r0, 1(r5)
/* 8023C374 00237FD4  2C 00 00 00 */	cmpwi r0, 0
/* 8023C378 00237FD8  40 82 00 20 */	bne lbl_8023C398
/* 8023C37C 00237FDC  88 05 00 00 */	lbz r0, 0(r5)
/* 8023C380 00237FE0  54 00 06 F2 */	rlwinm r0, r0, 0, 0x1b, 0x19
/* 8023C384 00237FE4  98 05 00 00 */	stb r0, 0(r5)
/* 8023C388 00237FE8  80 63 00 00 */	lwz r3, 0(r3)
/* 8023C38C 00237FEC  88 03 00 00 */	lbz r0, 0(r3)
/* 8023C390 00237FF0  54 00 07 34 */	rlwinm r0, r0, 0, 0x1c, 0x1a
/* 8023C394 00237FF4  98 03 00 00 */	stb r0, 0(r3)
lbl_8023C398:
/* 8023C398 00237FF8  2C 04 00 00 */	cmpwi r4, 0
/* 8023C39C 00237FFC  40 81 00 0C */	ble lbl_8023C3A8
/* 8023C3A0 00238000  7F E3 FB 78 */	mr r3, r31
/* 8023C3A4 00238004  4B F9 E7 15 */	bl __dl__FPv
lbl_8023C3A8:
/* 8023C3A8 00238008  7F E3 FB 78 */	mr r3, r31
/* 8023C3AC 0023800C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8023C3B0 00238010  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8023C3B4 00238014  7C 08 03 A6 */	mtlr r0
/* 8023C3B8 00238018  38 21 00 10 */	addi r1, r1, 0x10
/* 8023C3BC 0023801C  4E 80 00 20 */	blr

.global func_8023C3C0
func_8023C3C0:
/* 8023C3C0 00238020  38 00 00 09 */	li r0, 9
/* 8023C3C4 00238024  38 A0 00 00 */	li r5, 0
/* 8023C3C8 00238028  7C 09 03 A6 */	mtctr r0
lbl_8023C3CC:
/* 8023C3CC 0023802C  54 A0 1D 78 */	rlwinm r0, r5, 3, 0x15, 0x1c
/* 8023C3D0 00238030  7C 83 02 14 */	add r4, r3, r0
/* 8023C3D4 00238034  80 04 01 B8 */	lwz r0, 0x1b8(r4)
/* 8023C3D8 00238038  2C 00 00 FF */	cmpwi r0, 0xff
/* 8023C3DC 0023803C  4D 82 00 20 */	beqlr
/* 8023C3E0 00238040  80 84 01 BC */	lwz r4, 0x1bc(r4)
/* 8023C3E4 00238044  38 04 FF FE */	addi r0, r4, -2
/* 8023C3E8 00238048  28 00 00 01 */	cmplwi r0, 1
/* 8023C3EC 0023804C  41 81 00 14 */	bgt lbl_8023C400
/* 8023C3F0 00238050  88 03 00 00 */	lbz r0, 0(r3)
/* 8023C3F4 00238054  60 00 00 08 */	ori r0, r0, 8
/* 8023C3F8 00238058  98 03 00 00 */	stb r0, 0(r3)
/* 8023C3FC 0023805C  4E 80 00 20 */	blr
lbl_8023C400:
/* 8023C400 00238060  38 A5 00 01 */	addi r5, r5, 1
/* 8023C404 00238064  54 A0 1D 78 */	rlwinm r0, r5, 3, 0x15, 0x1c
/* 8023C408 00238068  7C 83 02 14 */	add r4, r3, r0
/* 8023C40C 0023806C  80 04 01 B8 */	lwz r0, 0x1b8(r4)
/* 8023C410 00238070  2C 00 00 FF */	cmpwi r0, 0xff
/* 8023C414 00238074  4D 82 00 20 */	beqlr
/* 8023C418 00238078  80 84 01 BC */	lwz r4, 0x1bc(r4)
/* 8023C41C 0023807C  38 04 FF FE */	addi r0, r4, -2
/* 8023C420 00238080  28 00 00 01 */	cmplwi r0, 1
/* 8023C424 00238084  41 81 00 14 */	bgt lbl_8023C438
/* 8023C428 00238088  88 03 00 00 */	lbz r0, 0(r3)
/* 8023C42C 0023808C  60 00 00 08 */	ori r0, r0, 8
/* 8023C430 00238090  98 03 00 00 */	stb r0, 0(r3)
/* 8023C434 00238094  4E 80 00 20 */	blr
lbl_8023C438:
/* 8023C438 00238098  38 A5 00 01 */	addi r5, r5, 1
/* 8023C43C 0023809C  54 A0 1D 78 */	rlwinm r0, r5, 3, 0x15, 0x1c
/* 8023C440 002380A0  7C 83 02 14 */	add r4, r3, r0
/* 8023C444 002380A4  80 04 01 B8 */	lwz r0, 0x1b8(r4)
/* 8023C448 002380A8  2C 00 00 FF */	cmpwi r0, 0xff
/* 8023C44C 002380AC  4D 82 00 20 */	beqlr
/* 8023C450 002380B0  80 84 01 BC */	lwz r4, 0x1bc(r4)
/* 8023C454 002380B4  38 04 FF FE */	addi r0, r4, -2
/* 8023C458 002380B8  28 00 00 01 */	cmplwi r0, 1
/* 8023C45C 002380BC  41 81 00 14 */	bgt lbl_8023C470
/* 8023C460 002380C0  88 03 00 00 */	lbz r0, 0(r3)
/* 8023C464 002380C4  60 00 00 08 */	ori r0, r0, 8
/* 8023C468 002380C8  98 03 00 00 */	stb r0, 0(r3)
/* 8023C46C 002380CC  4E 80 00 20 */	blr
lbl_8023C470:
/* 8023C470 002380D0  38 A5 00 01 */	addi r5, r5, 1
/* 8023C474 002380D4  42 00 FF 58 */	bdnz lbl_8023C3CC
/* 8023C478 002380D8  4E 80 00 20 */	blr

.global func_8023C47C
func_8023C47C:
/* 8023C47C 002380DC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8023C480 002380E0  7C 08 02 A6 */	mflr r0
/* 8023C484 002380E4  38 80 00 00 */	li r4, 0
/* 8023C488 002380E8  90 01 00 14 */	stw r0, 0x14(r1)
/* 8023C48C 002380EC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8023C490 002380F0  3B E0 00 00 */	li r31, 0
/* 8023C494 002380F4  93 C1 00 08 */	stw r30, 8(r1)
/* 8023C498 002380F8  7C 7E 1B 78 */	mr r30, r3
/* 8023C49C 002380FC  88 03 00 00 */	lbz r0, 0(r3)
/* 8023C4A0 00238100  98 83 00 02 */	stb r4, 2(r3)
/* 8023C4A4 00238104  54 00 07 76 */	rlwinm r0, r0, 0, 0x1d, 0x1b
/* 8023C4A8 00238108  98 83 00 03 */	stb r4, 3(r3)
/* 8023C4AC 0023810C  98 03 00 00 */	stb r0, 0(r3)
lbl_8023C4B0:
/* 8023C4B0 00238110  57 E4 06 3E */	clrlwi r4, r31, 0x18
/* 8023C4B4 00238114  38 7E 00 08 */	addi r3, r30, 8
/* 8023C4B8 00238118  38 84 00 0B */	addi r4, r4, 0xb
/* 8023C4BC 0023811C  4B FF F5 55 */	bl func_8023BA10
/* 8023C4C0 00238120  2C 03 00 00 */	cmpwi r3, 0
/* 8023C4C4 00238124  41 82 00 1C */	beq lbl_8023C4E0
/* 8023C4C8 00238128  88 7E 00 02 */	lbz r3, 2(r30)
/* 8023C4CC 0023812C  3B FF 00 01 */	addi r31, r31, 1
/* 8023C4D0 00238130  28 1F 00 02 */	cmplwi r31, 2
/* 8023C4D4 00238134  38 03 00 01 */	addi r0, r3, 1
/* 8023C4D8 00238138  98 1E 00 02 */	stb r0, 2(r30)
/* 8023C4DC 0023813C  41 80 FF D4 */	blt lbl_8023C4B0
lbl_8023C4E0:
/* 8023C4E0 00238140  3B E0 00 00 */	li r31, 0
lbl_8023C4E4:
/* 8023C4E4 00238144  57 E4 06 3E */	clrlwi r4, r31, 0x18
/* 8023C4E8 00238148  38 7E 00 08 */	addi r3, r30, 8
/* 8023C4EC 0023814C  38 84 00 0D */	addi r4, r4, 0xd
/* 8023C4F0 00238150  4B FF F5 21 */	bl func_8023BA10
/* 8023C4F4 00238154  2C 03 00 00 */	cmpwi r3, 0
/* 8023C4F8 00238158  41 82 00 1C */	beq lbl_8023C514
/* 8023C4FC 0023815C  88 7E 00 03 */	lbz r3, 3(r30)
/* 8023C500 00238160  3B FF 00 01 */	addi r31, r31, 1
/* 8023C504 00238164  28 1F 00 08 */	cmplwi r31, 8
/* 8023C508 00238168  38 03 00 01 */	addi r0, r3, 1
/* 8023C50C 0023816C  98 1E 00 03 */	stb r0, 3(r30)
/* 8023C510 00238170  41 80 FF D4 */	blt lbl_8023C4E4
lbl_8023C514:
/* 8023C514 00238174  7F C3 F3 78 */	mr r3, r30
/* 8023C518 00238178  4B FF FE A9 */	bl func_8023C3C0
/* 8023C51C 0023817C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8023C520 00238180  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8023C524 00238184  83 C1 00 08 */	lwz r30, 8(r1)
/* 8023C528 00238188  7C 08 03 A6 */	mtlr r0
/* 8023C52C 0023818C  38 21 00 10 */	addi r1, r1, 0x10
/* 8023C530 00238190  4E 80 00 20 */	blr

.global func_8023C534
func_8023C534:
/* 8023C534 00238194  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8023C538 00238198  7C 08 02 A6 */	mflr r0
/* 8023C53C 0023819C  90 01 00 34 */	stw r0, 0x34(r1)
/* 8023C540 002381A0  39 61 00 30 */	addi r11, r1, 0x30
/* 8023C544 002381A4  4B F8 AB DD */	bl _savegpr_25
/* 8023C548 002381A8  3B 80 00 09 */	li r28, 9
/* 8023C54C 002381AC  3B 60 00 00 */	li r27, 0
/* 8023C550 002381B0  3B 40 00 01 */	li r26, 1
/* 8023C554 002381B4  28 06 00 01 */	cmplwi r6, 1
/* 8023C558 002381B8  93 83 00 08 */	stw r28, 8(r3)
/* 8023C55C 002381BC  38 C3 00 18 */	addi r6, r3, 0x18
/* 8023C560 002381C0  81 81 00 38 */	lwz r12, 0x38(r1)
/* 8023C564 002381C4  39 63 01 C0 */	addi r11, r3, 0x1c0
/* 8023C568 002381C8  90 83 00 0C */	stw r4, 0xc(r3)
/* 8023C56C 002381CC  80 01 00 3C */	lwz r0, 0x3c(r1)
/* 8023C570 002381D0  90 A3 00 10 */	stw r5, 0x10(r3)
/* 8023C574 002381D4  9B 63 00 14 */	stb r27, 0x14(r3)
/* 8023C578 002381D8  93 83 01 B8 */	stw r28, 0x1b8(r3)
/* 8023C57C 002381DC  93 43 01 BC */	stw r26, 0x1bc(r3)
/* 8023C580 002381E0  40 82 00 60 */	bne lbl_8023C5E0
/* 8023C584 002381E4  2C 07 00 01 */	cmpwi r7, 1
/* 8023C588 002381E8  41 82 00 28 */	beq lbl_8023C5B0
/* 8023C58C 002381EC  40 80 00 34 */	bge lbl_8023C5C0
/* 8023C590 002381F0  2C 07 00 00 */	cmpwi r7, 0
/* 8023C594 002381F4  40 80 00 08 */	bge lbl_8023C59C
/* 8023C598 002381F8  48 00 00 28 */	b lbl_8023C5C0
lbl_8023C59C:
/* 8023C59C 002381FC  38 80 00 0A */	li r4, 0xa
/* 8023C5A0 00238200  93 66 00 04 */	stw r27, 4(r6)
/* 8023C5A4 00238204  90 86 00 00 */	stw r4, 0(r6)
/* 8023C5A8 00238208  90 8B 00 00 */	stw r4, 0(r11)
/* 8023C5AC 0023820C  48 00 00 14 */	b lbl_8023C5C0
lbl_8023C5B0:
/* 8023C5B0 00238210  38 80 00 19 */	li r4, 0x19
/* 8023C5B4 00238214  93 46 00 04 */	stw r26, 4(r6)
/* 8023C5B8 00238218  90 86 00 00 */	stw r4, 0(r6)
/* 8023C5BC 0023821C  90 8B 00 00 */	stw r4, 0(r11)
lbl_8023C5C0:
/* 8023C5C0 00238220  38 E0 00 04 */	li r7, 4
/* 8023C5C4 00238224  38 A0 00 00 */	li r5, 0
/* 8023C5C8 00238228  38 80 00 01 */	li r4, 1
/* 8023C5CC 0023822C  90 E6 00 08 */	stw r7, 8(r6)
/* 8023C5D0 00238230  98 A6 00 0C */	stb r5, 0xc(r6)
/* 8023C5D4 00238234  38 C6 00 10 */	addi r6, r6, 0x10
/* 8023C5D8 00238238  90 8B 00 04 */	stw r4, 4(r11)
/* 8023C5DC 0023823C  39 6B 00 08 */	addi r11, r11, 8
lbl_8023C5E0:
/* 8023C5E0 00238240  3B 20 00 00 */	li r25, 0
/* 8023C5E4 00238244  38 A0 00 01 */	li r5, 1
/* 8023C5E8 00238248  38 E0 00 00 */	li r7, 0
/* 8023C5EC 0023824C  7D 09 03 A6 */	mtctr r8
/* 8023C5F0 00238250  2C 08 00 00 */	cmpwi r8, 0
/* 8023C5F4 00238254  40 81 00 58 */	ble lbl_8023C64C
lbl_8023C5F8:
/* 8023C5F8 00238258  2C 09 00 02 */	cmpwi r9, 2
/* 8023C5FC 0023825C  40 80 00 10 */	bge lbl_8023C60C
/* 8023C600 00238260  2C 09 00 00 */	cmpwi r9, 0
/* 8023C604 00238264  40 80 00 14 */	bge lbl_8023C618
/* 8023C608 00238268  48 00 00 1C */	b lbl_8023C624
lbl_8023C60C:
/* 8023C60C 0023826C  2C 09 00 06 */	cmpwi r9, 6
/* 8023C610 00238270  40 80 00 14 */	bge lbl_8023C624
/* 8023C614 00238274  48 00 00 0C */	b lbl_8023C620
lbl_8023C618:
/* 8023C618 00238278  90 E6 00 04 */	stw r7, 4(r6)
/* 8023C61C 0023827C  48 00 00 08 */	b lbl_8023C624
lbl_8023C620:
/* 8023C620 00238280  90 A6 00 04 */	stw r5, 4(r6)
lbl_8023C624:
/* 8023C624 00238284  38 99 00 0B */	addi r4, r25, 0xb
/* 8023C628 00238288  3B 39 00 01 */	addi r25, r25, 1
/* 8023C62C 0023828C  90 86 00 00 */	stw r4, 0(r6)
/* 8023C630 00238290  91 26 00 08 */	stw r9, 8(r6)
/* 8023C634 00238294  98 E6 00 0C */	stb r7, 0xc(r6)
/* 8023C638 00238298  38 C6 00 10 */	addi r6, r6, 0x10
/* 8023C63C 0023829C  90 8B 00 00 */	stw r4, 0(r11)
/* 8023C640 002382A0  90 AB 00 04 */	stw r5, 4(r11)
/* 8023C644 002382A4  39 6B 00 08 */	addi r11, r11, 8
/* 8023C648 002382A8  42 00 FF B0 */	bdnz lbl_8023C5F8
lbl_8023C64C:
/* 8023C64C 002382AC  2C 8A 00 00 */	cmpwi cr1, r10, 0
/* 8023C650 002382B0  3B 20 00 00 */	li r25, 0
/* 8023C654 002382B4  40 85 01 84 */	ble cr1, lbl_8023C7D8
/* 8023C658 002382B8  2C 0A 00 08 */	cmpwi r10, 8
/* 8023C65C 002382BC  38 AA FF F8 */	addi r5, r10, -8
/* 8023C660 002382C0  40 81 01 34 */	ble lbl_8023C794
/* 8023C664 002382C4  38 E0 00 00 */	li r7, 0
/* 8023C668 002382C8  41 84 00 18 */	blt cr1, lbl_8023C680
/* 8023C66C 002382CC  3C 80 80 00 */	lis r4, 0x7FFFFFFE@ha
/* 8023C670 002382D0  38 84 FF FE */	addi r4, r4, 0x7FFFFFFE@l
/* 8023C674 002382D4  7C 0A 20 00 */	cmpw r10, r4
/* 8023C678 002382D8  41 81 00 08 */	bgt lbl_8023C680
/* 8023C67C 002382DC  38 E0 00 01 */	li r7, 1
lbl_8023C680:
/* 8023C680 002382E0  2C 07 00 00 */	cmpwi r7, 0
/* 8023C684 002382E4  41 82 01 10 */	beq lbl_8023C794
/* 8023C688 002382E8  38 85 00 07 */	addi r4, r5, 7
/* 8023C68C 002382EC  3B 60 00 00 */	li r27, 0
/* 8023C690 002382F0  54 84 E8 FE */	srwi r4, r4, 3
/* 8023C694 002382F4  3B 80 00 01 */	li r28, 1
/* 8023C698 002382F8  7C 89 03 A6 */	mtctr r4
/* 8023C69C 002382FC  2C 05 00 00 */	cmpwi r5, 0
/* 8023C6A0 00238300  40 81 00 F4 */	ble lbl_8023C794
lbl_8023C6A4:
/* 8023C6A4 00238304  3B 59 00 0D */	addi r26, r25, 0xd
/* 8023C6A8 00238308  3B B9 00 0E */	addi r29, r25, 0xe
/* 8023C6AC 0023830C  93 46 00 00 */	stw r26, 0(r6)
/* 8023C6B0 00238310  3B D9 00 0F */	addi r30, r25, 0xf
/* 8023C6B4 00238314  3B F9 00 10 */	addi r31, r25, 0x10
/* 8023C6B8 00238318  39 39 00 11 */	addi r9, r25, 0x11
/* 8023C6BC 0023831C  91 86 00 04 */	stw r12, 4(r6)
/* 8023C6C0 00238320  38 F9 00 12 */	addi r7, r25, 0x12
/* 8023C6C4 00238324  38 B9 00 13 */	addi r5, r25, 0x13
/* 8023C6C8 00238328  38 99 00 14 */	addi r4, r25, 0x14
/* 8023C6CC 0023832C  90 06 00 08 */	stw r0, 8(r6)
/* 8023C6D0 00238330  3B 39 00 08 */	addi r25, r25, 8
/* 8023C6D4 00238334  9B 66 00 0C */	stb r27, 0xc(r6)
/* 8023C6D8 00238338  93 4B 00 00 */	stw r26, 0(r11)
/* 8023C6DC 0023833C  93 8B 00 04 */	stw r28, 4(r11)
/* 8023C6E0 00238340  93 A6 00 10 */	stw r29, 0x10(r6)
/* 8023C6E4 00238344  91 86 00 14 */	stw r12, 0x14(r6)
/* 8023C6E8 00238348  90 06 00 18 */	stw r0, 0x18(r6)
/* 8023C6EC 0023834C  9B 66 00 1C */	stb r27, 0x1c(r6)
/* 8023C6F0 00238350  93 AB 00 08 */	stw r29, 8(r11)
/* 8023C6F4 00238354  93 8B 00 0C */	stw r28, 0xc(r11)
/* 8023C6F8 00238358  93 C6 00 20 */	stw r30, 0x20(r6)
/* 8023C6FC 0023835C  91 86 00 24 */	stw r12, 0x24(r6)
/* 8023C700 00238360  90 06 00 28 */	stw r0, 0x28(r6)
/* 8023C704 00238364  9B 66 00 2C */	stb r27, 0x2c(r6)
/* 8023C708 00238368  93 CB 00 10 */	stw r30, 0x10(r11)
/* 8023C70C 0023836C  93 8B 00 14 */	stw r28, 0x14(r11)
/* 8023C710 00238370  93 E6 00 30 */	stw r31, 0x30(r6)
/* 8023C714 00238374  91 86 00 34 */	stw r12, 0x34(r6)
/* 8023C718 00238378  90 06 00 38 */	stw r0, 0x38(r6)
/* 8023C71C 0023837C  9B 66 00 3C */	stb r27, 0x3c(r6)
/* 8023C720 00238380  93 EB 00 18 */	stw r31, 0x18(r11)
/* 8023C724 00238384  93 8B 00 1C */	stw r28, 0x1c(r11)
/* 8023C728 00238388  91 26 00 40 */	stw r9, 0x40(r6)
/* 8023C72C 0023838C  91 86 00 44 */	stw r12, 0x44(r6)
/* 8023C730 00238390  90 06 00 48 */	stw r0, 0x48(r6)
/* 8023C734 00238394  9B 66 00 4C */	stb r27, 0x4c(r6)
/* 8023C738 00238398  91 2B 00 20 */	stw r9, 0x20(r11)
/* 8023C73C 0023839C  93 8B 00 24 */	stw r28, 0x24(r11)
/* 8023C740 002383A0  90 E6 00 50 */	stw r7, 0x50(r6)
/* 8023C744 002383A4  91 86 00 54 */	stw r12, 0x54(r6)
/* 8023C748 002383A8  90 06 00 58 */	stw r0, 0x58(r6)
/* 8023C74C 002383AC  9B 66 00 5C */	stb r27, 0x5c(r6)
/* 8023C750 002383B0  90 EB 00 28 */	stw r7, 0x28(r11)
/* 8023C754 002383B4  93 8B 00 2C */	stw r28, 0x2c(r11)
/* 8023C758 002383B8  90 A6 00 60 */	stw r5, 0x60(r6)
/* 8023C75C 002383BC  91 86 00 64 */	stw r12, 0x64(r6)
/* 8023C760 002383C0  90 06 00 68 */	stw r0, 0x68(r6)
/* 8023C764 002383C4  9B 66 00 6C */	stb r27, 0x6c(r6)
/* 8023C768 002383C8  90 AB 00 30 */	stw r5, 0x30(r11)
/* 8023C76C 002383CC  93 8B 00 34 */	stw r28, 0x34(r11)
/* 8023C770 002383D0  90 86 00 70 */	stw r4, 0x70(r6)
/* 8023C774 002383D4  91 86 00 74 */	stw r12, 0x74(r6)
/* 8023C778 002383D8  90 06 00 78 */	stw r0, 0x78(r6)
/* 8023C77C 002383DC  9B 66 00 7C */	stb r27, 0x7c(r6)
/* 8023C780 002383E0  38 C6 00 80 */	addi r6, r6, 0x80
/* 8023C784 002383E4  90 8B 00 38 */	stw r4, 0x38(r11)
/* 8023C788 002383E8  93 8B 00 3C */	stw r28, 0x3c(r11)
/* 8023C78C 002383EC  39 6B 00 40 */	addi r11, r11, 0x40
/* 8023C790 002383F0  42 00 FF 14 */	bdnz lbl_8023C6A4
lbl_8023C794:
/* 8023C794 002383F4  7C 99 50 50 */	subf r4, r25, r10
/* 8023C798 002383F8  38 E0 00 00 */	li r7, 0
/* 8023C79C 002383FC  38 A0 00 01 */	li r5, 1
/* 8023C7A0 00238400  7C 89 03 A6 */	mtctr r4
/* 8023C7A4 00238404  7C 19 50 00 */	cmpw r25, r10
/* 8023C7A8 00238408  40 80 00 30 */	bge lbl_8023C7D8
lbl_8023C7AC:
/* 8023C7AC 0023840C  38 99 00 0D */	addi r4, r25, 0xd
/* 8023C7B0 00238410  3B 39 00 01 */	addi r25, r25, 1
/* 8023C7B4 00238414  90 86 00 00 */	stw r4, 0(r6)
/* 8023C7B8 00238418  91 86 00 04 */	stw r12, 4(r6)
/* 8023C7BC 0023841C  90 06 00 08 */	stw r0, 8(r6)
/* 8023C7C0 00238420  98 E6 00 0C */	stb r7, 0xc(r6)
/* 8023C7C4 00238424  38 C6 00 10 */	addi r6, r6, 0x10
/* 8023C7C8 00238428  90 8B 00 00 */	stw r4, 0(r11)
/* 8023C7CC 0023842C  90 AB 00 04 */	stw r5, 4(r11)
/* 8023C7D0 00238430  39 6B 00 08 */	addi r11, r11, 8
/* 8023C7D4 00238434  42 00 FF D8 */	bdnz lbl_8023C7AC
lbl_8023C7D8:
/* 8023C7D8 00238438  38 80 00 FF */	li r4, 0xff
/* 8023C7DC 0023843C  90 86 00 00 */	stw r4, 0(r6)
/* 8023C7E0 00238440  90 8B 00 00 */	stw r4, 0(r11)
/* 8023C7E4 00238444  39 61 00 30 */	addi r11, r1, 0x30
/* 8023C7E8 00238448  88 03 00 00 */	lbz r0, 0(r3)
/* 8023C7EC 0023844C  98 83 02 93 */	stb r4, 0x293(r3)
/* 8023C7F0 00238450  60 00 00 06 */	ori r0, r0, 6
/* 8023C7F4 00238454  99 03 00 02 */	stb r8, 2(r3)
/* 8023C7F8 00238458  99 43 00 03 */	stb r10, 3(r3)
/* 8023C7FC 0023845C  98 03 00 00 */	stb r0, 0(r3)
/* 8023C800 00238460  4B F8 A9 6D */	bl _restgpr_25
/* 8023C804 00238464  80 01 00 34 */	lwz r0, 0x34(r1)
/* 8023C808 00238468  7C 08 03 A6 */	mtlr r0
/* 8023C80C 0023846C  38 21 00 30 */	addi r1, r1, 0x30
/* 8023C810 00238470  4E 80 00 20 */	blr

.global func_8023C814
func_8023C814:
/* 8023C814 00238474  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 8023C818 00238478  7C 08 02 A6 */	mflr r0
/* 8023C81C 0023847C  90 01 00 44 */	stw r0, 0x44(r1)
/* 8023C820 00238480  39 61 00 40 */	addi r11, r1, 0x40
/* 8023C824 00238484  4B F8 A8 F1 */	bl _savegpr_22
/* 8023C828 00238488  38 00 00 00 */	li r0, 0
/* 8023C82C 0023848C  83 C1 00 48 */	lwz r30, 0x48(r1)
/* 8023C830 00238490  98 03 00 00 */	stb r0, 0(r3)
/* 8023C834 00238494  7C 76 1B 78 */	mr r22, r3
/* 8023C838 00238498  83 E1 00 4C */	lwz r31, 0x4c(r1)
/* 8023C83C 0023849C  7C 97 23 78 */	mr r23, r4
/* 8023C840 002384A0  98 03 00 01 */	stb r0, 1(r3)
/* 8023C844 002384A4  7C B8 2B 78 */	mr r24, r5
/* 8023C848 002384A8  7C D9 33 78 */	mr r25, r6
/* 8023C84C 002384AC  7C FA 3B 78 */	mr r26, r7
/* 8023C850 002384B0  98 03 00 02 */	stb r0, 2(r3)
/* 8023C854 002384B4  7D 1B 43 78 */	mr r27, r8
/* 8023C858 002384B8  7D 3C 4B 78 */	mr r28, r9
/* 8023C85C 002384BC  7D 5D 53 78 */	mr r29, r10
/* 8023C860 002384C0  98 03 00 03 */	stb r0, 3(r3)
/* 8023C864 002384C4  90 03 00 04 */	stw r0, 4(r3)
/* 8023C868 002384C8  48 00 00 4D */	bl func_8023C8B4
/* 8023C86C 002384CC  93 C1 00 08 */	stw r30, 8(r1)
/* 8023C870 002384D0  7E C3 B3 78 */	mr r3, r22
/* 8023C874 002384D4  7E E4 BB 78 */	mr r4, r23
/* 8023C878 002384D8  7F 05 C3 78 */	mr r5, r24
/* 8023C87C 002384DC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8023C880 002384E0  7F 26 CB 78 */	mr r6, r25
/* 8023C884 002384E4  7F 47 D3 78 */	mr r7, r26
/* 8023C888 002384E8  7F 68 DB 78 */	mr r8, r27
/* 8023C88C 002384EC  7F 89 E3 78 */	mr r9, r28
/* 8023C890 002384F0  7F AA EB 78 */	mr r10, r29
/* 8023C894 002384F4  4B FF FC A1 */	bl func_8023C534
/* 8023C898 002384F8  39 61 00 40 */	addi r11, r1, 0x40
/* 8023C89C 002384FC  7E C3 B3 78 */	mr r3, r22
/* 8023C8A0 00238500  4B F8 A8 C1 */	bl _restgpr_22
/* 8023C8A4 00238504  80 01 00 44 */	lwz r0, 0x44(r1)
/* 8023C8A8 00238508  7C 08 03 A6 */	mtlr r0
/* 8023C8AC 0023850C  38 21 00 40 */	addi r1, r1, 0x40
/* 8023C8B0 00238510  4E 80 00 20 */	blr

.global func_8023C8B4
func_8023C8B4:
/* 8023C8B4 00238514  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8023C8B8 00238518  7C 08 02 A6 */	mflr r0
/* 8023C8BC 0023851C  90 01 00 14 */	stw r0, 0x14(r1)
/* 8023C8C0 00238520  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8023C8C4 00238524  7C 7F 1B 78 */	mr r31, r3
/* 8023C8C8 00238528  88 03 00 00 */	lbz r0, 0(r3)
/* 8023C8CC 0023852C  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 8023C8D0 00238530  41 82 00 08 */	beq lbl_8023C8D8
/* 8023C8D4 00238534  48 00 01 99 */	bl func_8023CA6C
lbl_8023C8D8:
/* 8023C8D8 00238538  4B FF F1 1D */	bl func_8023B9F4
/* 8023C8DC 0023853C  88 1F 00 00 */	lbz r0, 0(r31)
/* 8023C8E0 00238540  90 7F 00 04 */	stw r3, 4(r31)
/* 8023C8E4 00238544  7F E3 FB 78 */	mr r3, r31
/* 8023C8E8 00238548  60 00 00 01 */	ori r0, r0, 1
/* 8023C8EC 0023854C  98 1F 00 00 */	stb r0, 0(r31)
/* 8023C8F0 00238550  48 00 00 19 */	bl func_8023C908
/* 8023C8F4 00238554  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8023C8F8 00238558  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8023C8FC 0023855C  7C 08 03 A6 */	mtlr r0
/* 8023C900 00238560  38 21 00 10 */	addi r1, r1, 0x10
/* 8023C904 00238564  4E 80 00 20 */	blr

.global func_8023C908
func_8023C908:
/* 8023C908 00238568  38 A0 00 FF */	li r5, 0xff
/* 8023C90C 0023856C  38 00 00 18 */	li r0, 0x18
/* 8023C910 00238570  90 A3 00 08 */	stw r5, 8(r3)
/* 8023C914 00238574  1C 00 00 0C */	mulli r0, r0, 0xc
/* 8023C918 00238578  90 A3 00 18 */	stw r5, 0x18(r3)
/* 8023C91C 0023857C  7C 83 02 14 */	add r4, r3, r0
/* 8023C920 00238580  90 A3 00 28 */	stw r5, 0x28(r3)
/* 8023C924 00238584  90 A3 00 38 */	stw r5, 0x38(r3)
/* 8023C928 00238588  90 A3 00 48 */	stw r5, 0x48(r3)
/* 8023C92C 0023858C  90 A3 00 58 */	stw r5, 0x58(r3)
/* 8023C930 00238590  90 A3 00 68 */	stw r5, 0x68(r3)
/* 8023C934 00238594  90 A3 00 78 */	stw r5, 0x78(r3)
/* 8023C938 00238598  90 A3 00 88 */	stw r5, 0x88(r3)
/* 8023C93C 0023859C  90 A3 00 98 */	stw r5, 0x98(r3)
/* 8023C940 002385A0  90 A3 00 A8 */	stw r5, 0xa8(r3)
/* 8023C944 002385A4  90 A3 00 B8 */	stw r5, 0xb8(r3)
/* 8023C948 002385A8  90 A3 00 C8 */	stw r5, 0xc8(r3)
/* 8023C94C 002385AC  90 A3 00 D8 */	stw r5, 0xd8(r3)
/* 8023C950 002385B0  90 A3 00 E8 */	stw r5, 0xe8(r3)
/* 8023C954 002385B4  90 A3 00 F8 */	stw r5, 0xf8(r3)
/* 8023C958 002385B8  90 A3 01 08 */	stw r5, 0x108(r3)
/* 8023C95C 002385BC  90 A3 01 18 */	stw r5, 0x118(r3)
/* 8023C960 002385C0  90 A3 01 28 */	stw r5, 0x128(r3)
/* 8023C964 002385C4  90 A3 01 38 */	stw r5, 0x138(r3)
/* 8023C968 002385C8  90 A3 01 48 */	stw r5, 0x148(r3)
/* 8023C96C 002385CC  90 A3 01 58 */	stw r5, 0x158(r3)
/* 8023C970 002385D0  90 A3 01 68 */	stw r5, 0x168(r3)
/* 8023C974 002385D4  90 A3 01 78 */	stw r5, 0x178(r3)
/* 8023C978 002385D8  90 A3 01 88 */	stw r5, 0x188(r3)
/* 8023C97C 002385DC  90 A3 01 98 */	stw r5, 0x198(r3)
/* 8023C980 002385E0  90 A3 01 A8 */	stw r5, 0x1a8(r3)
/* 8023C984 002385E4  90 A3 01 B8 */	stw r5, 0x1b8(r3)
/* 8023C988 002385E8  90 A3 01 C0 */	stw r5, 0x1c0(r3)
/* 8023C98C 002385EC  90 A3 01 C8 */	stw r5, 0x1c8(r3)
/* 8023C990 002385F0  90 A3 01 D0 */	stw r5, 0x1d0(r3)
/* 8023C994 002385F4  90 A3 01 D8 */	stw r5, 0x1d8(r3)
/* 8023C998 002385F8  90 A3 01 E0 */	stw r5, 0x1e0(r3)
/* 8023C99C 002385FC  90 A3 01 E8 */	stw r5, 0x1e8(r3)
/* 8023C9A0 00238600  90 A3 01 F0 */	stw r5, 0x1f0(r3)
/* 8023C9A4 00238604  90 A3 01 F8 */	stw r5, 0x1f8(r3)
/* 8023C9A8 00238608  90 A3 02 00 */	stw r5, 0x200(r3)
/* 8023C9AC 0023860C  90 A3 02 08 */	stw r5, 0x208(r3)
/* 8023C9B0 00238610  90 A3 02 10 */	stw r5, 0x210(r3)
/* 8023C9B4 00238614  90 A3 02 18 */	stw r5, 0x218(r3)
/* 8023C9B8 00238618  90 A3 02 20 */	stw r5, 0x220(r3)
/* 8023C9BC 0023861C  90 A3 02 28 */	stw r5, 0x228(r3)
/* 8023C9C0 00238620  90 A3 02 30 */	stw r5, 0x230(r3)
/* 8023C9C4 00238624  90 A3 02 38 */	stw r5, 0x238(r3)
/* 8023C9C8 00238628  90 A3 02 40 */	stw r5, 0x240(r3)
/* 8023C9CC 0023862C  90 A3 02 48 */	stw r5, 0x248(r3)
/* 8023C9D0 00238630  90 A3 02 50 */	stw r5, 0x250(r3)
/* 8023C9D4 00238634  90 A3 02 58 */	stw r5, 0x258(r3)
/* 8023C9D8 00238638  90 A3 02 60 */	stw r5, 0x260(r3)
/* 8023C9DC 0023863C  90 A3 02 68 */	stw r5, 0x268(r3)
/* 8023C9E0 00238640  90 A3 02 70 */	stw r5, 0x270(r3)
/* 8023C9E4 00238644  90 A3 02 78 */	stw r5, 0x278(r3)
/* 8023C9E8 00238648  90 A3 02 80 */	stw r5, 0x280(r3)
/* 8023C9EC 0023864C  90 A3 02 88 */	stw r5, 0x288(r3)
/* 8023C9F0 00238650  98 A3 02 93 */	stb r5, 0x293(r3)
/* 8023C9F4 00238654  98 A3 02 9F */	stb r5, 0x29f(r3)
/* 8023C9F8 00238658  98 A3 02 AB */	stb r5, 0x2ab(r3)
/* 8023C9FC 0023865C  98 A3 02 B7 */	stb r5, 0x2b7(r3)
/* 8023CA00 00238660  98 A3 02 C3 */	stb r5, 0x2c3(r3)
/* 8023CA04 00238664  98 A3 02 CF */	stb r5, 0x2cf(r3)
/* 8023CA08 00238668  98 A3 02 DB */	stb r5, 0x2db(r3)
/* 8023CA0C 0023866C  98 A3 02 E7 */	stb r5, 0x2e7(r3)
/* 8023CA10 00238670  98 A3 02 F3 */	stb r5, 0x2f3(r3)
/* 8023CA14 00238674  98 A3 02 FF */	stb r5, 0x2ff(r3)
/* 8023CA18 00238678  98 A3 03 0B */	stb r5, 0x30b(r3)
/* 8023CA1C 0023867C  98 A3 03 17 */	stb r5, 0x317(r3)
/* 8023CA20 00238680  98 A3 03 23 */	stb r5, 0x323(r3)
/* 8023CA24 00238684  98 A3 03 2F */	stb r5, 0x32f(r3)
/* 8023CA28 00238688  98 A3 03 3B */	stb r5, 0x33b(r3)
/* 8023CA2C 0023868C  98 A3 03 47 */	stb r5, 0x347(r3)
/* 8023CA30 00238690  98 A3 03 53 */	stb r5, 0x353(r3)
/* 8023CA34 00238694  98 A3 03 5F */	stb r5, 0x35f(r3)
/* 8023CA38 00238698  98 A3 03 6B */	stb r5, 0x36b(r3)
/* 8023CA3C 0023869C  98 A3 03 77 */	stb r5, 0x377(r3)
/* 8023CA40 002386A0  98 A3 03 83 */	stb r5, 0x383(r3)
/* 8023CA44 002386A4  98 A3 03 8F */	stb r5, 0x38f(r3)
/* 8023CA48 002386A8  98 A3 03 9B */	stb r5, 0x39b(r3)
/* 8023CA4C 002386AC  98 A3 03 A7 */	stb r5, 0x3a7(r3)
/* 8023CA50 002386B0  98 A4 02 93 */	stb r5, 0x293(r4)
/* 8023CA54 002386B4  98 A4 02 9F */	stb r5, 0x29f(r4)
/* 8023CA58 002386B8  98 A4 02 AB */	stb r5, 0x2ab(r4)
/* 8023CA5C 002386BC  88 03 00 00 */	lbz r0, 0(r3)
/* 8023CA60 002386C0  60 00 00 06 */	ori r0, r0, 6
/* 8023CA64 002386C4  98 03 00 00 */	stb r0, 0(r3)
/* 8023CA68 002386C8  4E 80 00 20 */	blr

.global func_8023CA6C
func_8023CA6C:
/* 8023CA6C 002386CC  3C A0 80 49 */	lis r5, lbl_804967CC@ha
/* 8023CA70 002386D0  7C 64 1B 78 */	mr r4, r3
/* 8023CA74 002386D4  38 A5 67 CC */	addi r5, r5, lbl_804967CC@l
/* 8023CA78 002386D8  7C 03 28 40 */	cmplw r3, r5
/* 8023CA7C 002386DC  4D 82 00 20 */	beqlr
/* 8023CA80 002386E0  88 03 00 00 */	lbz r0, 0(r3)
/* 8023CA84 002386E4  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 8023CA88 002386E8  4D 82 00 20 */	beqlr
/* 8023CA8C 002386EC  38 00 00 00 */	li r0, 0
/* 8023CA90 002386F0  98 03 00 00 */	stb r0, 0(r3)
/* 8023CA94 002386F4  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8023CA98 002386F8  2C 03 00 00 */	cmpwi r3, 0
/* 8023CA9C 002386FC  4D 82 00 20 */	beqlr
/* 8023CAA0 00238700  4B FF D2 E4 */	b lbl_80239D84
/* 8023CAA4 00238704  4E 80 00 20 */	blr

.global func_8023CAA8
func_8023CAA8:
/* 8023CAA8 00238708  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8023CAAC 0023870C  7C 08 02 A6 */	mflr r0
/* 8023CAB0 00238710  38 63 01 B8 */	addi r3, r3, 0x1b8
/* 8023CAB4 00238714  90 01 00 14 */	stw r0, 0x14(r1)
/* 8023CAB8 00238718  4B FF EF 7D */	bl func_8023BA34
/* 8023CABC 0023871C  7C 03 00 D0 */	neg r0, r3
/* 8023CAC0 00238720  7C 00 1B 78 */	or r0, r0, r3
/* 8023CAC4 00238724  54 03 0F FE */	srwi r3, r0, 0x1f
/* 8023CAC8 00238728  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8023CACC 0023872C  7C 08 03 A6 */	mtlr r0
/* 8023CAD0 00238730  38 21 00 10 */	addi r1, r1, 0x10
/* 8023CAD4 00238734  4E 80 00 20 */	blr

.global func_8023CAD8
func_8023CAD8:
/* 8023CAD8 00238738  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8023CADC 0023873C  7C 08 02 A6 */	mflr r0
/* 8023CAE0 00238740  90 01 00 24 */	stw r0, 0x24(r1)
/* 8023CAE4 00238744  39 61 00 20 */	addi r11, r1, 0x20
/* 8023CAE8 00238748  4B F8 A6 41 */	bl _savegpr_27
/* 8023CAEC 0023874C  7C 7B 1B 78 */	mr r27, r3
/* 8023CAF0 00238750  7C 9C 23 78 */	mr r28, r4
/* 8023CAF4 00238754  7C BD 2B 78 */	mr r29, r5
/* 8023CAF8 00238758  7C DE 33 78 */	mr r30, r6
/* 8023CAFC 0023875C  7C FF 3B 78 */	mr r31, r7
/* 8023CB00 00238760  48 00 00 75 */	bl func_8023CB74
/* 8023CB04 00238764  7F 84 E3 78 */	mr r4, r28
/* 8023CB08 00238768  38 7B 01 B8 */	addi r3, r27, 0x1b8
/* 8023CB0C 0023876C  4B FF F2 65 */	bl func_8023BD70
/* 8023CB10 00238770  93 83 00 00 */	stw r28, 0(r3)
/* 8023CB14 00238774  38 00 00 01 */	li r0, 1
/* 8023CB18 00238778  2C 1C 00 09 */	cmpwi r28, 9
/* 8023CB1C 0023877C  90 03 00 04 */	stw r0, 4(r3)
/* 8023CB20 00238780  40 80 00 0C */	bge lbl_8023CB2C
/* 8023CB24 00238784  2C 1C 00 00 */	cmpwi r28, 0
/* 8023CB28 00238788  40 80 00 20 */	bge lbl_8023CB48
lbl_8023CB2C:
/* 8023CB2C 0023878C  7F 84 E3 78 */	mr r4, r28
/* 8023CB30 00238790  38 7B 00 08 */	addi r3, r27, 8
/* 8023CB34 00238794  4B FF F1 11 */	bl func_8023BC44
/* 8023CB38 00238798  93 83 00 00 */	stw r28, 0(r3)
/* 8023CB3C 0023879C  93 A3 00 04 */	stw r29, 4(r3)
/* 8023CB40 002387A0  93 C3 00 08 */	stw r30, 8(r3)
/* 8023CB44 002387A4  9B E3 00 0C */	stb r31, 0xc(r3)
lbl_8023CB48:
/* 8023CB48 002387A8  7F 63 DB 78 */	mr r3, r27
/* 8023CB4C 002387AC  4B FF F9 31 */	bl func_8023C47C
/* 8023CB50 002387B0  88 1B 00 00 */	lbz r0, 0(r27)
/* 8023CB54 002387B4  39 61 00 20 */	addi r11, r1, 0x20
/* 8023CB58 002387B8  60 00 00 06 */	ori r0, r0, 6
/* 8023CB5C 002387BC  98 1B 00 00 */	stb r0, 0(r27)
/* 8023CB60 002387C0  4B F8 A6 15 */	bl _restgpr_27
/* 8023CB64 002387C4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8023CB68 002387C8  7C 08 03 A6 */	mtlr r0
/* 8023CB6C 002387CC  38 21 00 20 */	addi r1, r1, 0x20
/* 8023CB70 002387D0  4E 80 00 20 */	blr

.global func_8023CB74
func_8023CB74:
/* 8023CB74 002387D4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8023CB78 002387D8  7C 08 02 A6 */	mflr r0
/* 8023CB7C 002387DC  90 01 00 24 */	stw r0, 0x24(r1)
/* 8023CB80 002387E0  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8023CB84 002387E4  3B E0 00 00 */	li r31, 0
/* 8023CB88 002387E8  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8023CB8C 002387EC  7C 9E 23 78 */	mr r30, r4
/* 8023CB90 002387F0  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8023CB94 002387F4  7C 7D 1B 78 */	mr r29, r3
/* 8023CB98 002387F8  38 63 01 B8 */	addi r3, r3, 0x1b8
/* 8023CB9C 002387FC  4B FF EE 99 */	bl func_8023BA34
/* 8023CBA0 00238800  2C 03 00 00 */	cmpwi r3, 0
/* 8023CBA4 00238804  41 82 00 0C */	beq lbl_8023CBB0
/* 8023CBA8 00238808  4B FF F4 7D */	bl func_8023C024
/* 8023CBAC 0023880C  3B E0 00 01 */	li r31, 1
lbl_8023CBB0:
/* 8023CBB0 00238810  2C 1E 00 09 */	cmpwi r30, 9
/* 8023CBB4 00238814  40 80 00 0C */	bge lbl_8023CBC0
/* 8023CBB8 00238818  2C 1E 00 00 */	cmpwi r30, 0
/* 8023CBBC 0023881C  40 80 00 3C */	bge lbl_8023CBF8
lbl_8023CBC0:
/* 8023CBC0 00238820  7F C4 F3 78 */	mr r4, r30
/* 8023CBC4 00238824  38 7D 00 08 */	addi r3, r29, 8
/* 8023CBC8 00238828  4B FF EE 49 */	bl func_8023BA10
/* 8023CBCC 0023882C  2C 03 00 00 */	cmpwi r3, 0
/* 8023CBD0 00238830  41 82 00 0C */	beq lbl_8023CBDC
/* 8023CBD4 00238834  4B FF F4 11 */	bl func_8023BFE4
/* 8023CBD8 00238838  3B E0 00 01 */	li r31, 1
lbl_8023CBDC:
/* 8023CBDC 0023883C  7F C4 F3 78 */	mr r4, r30
/* 8023CBE0 00238840  38 7D 02 90 */	addi r3, r29, 0x290
/* 8023CBE4 00238844  4B FF EE 75 */	bl func_8023BA58
/* 8023CBE8 00238848  2C 03 00 00 */	cmpwi r3, 0
/* 8023CBEC 0023884C  41 82 00 0C */	beq lbl_8023CBF8
/* 8023CBF0 00238850  4B FF F4 65 */	bl func_8023C054
/* 8023CBF4 00238854  3B E0 00 01 */	li r31, 1
lbl_8023CBF8:
/* 8023CBF8 00238858  28 1F 00 01 */	cmplwi r31, 1
/* 8023CBFC 0023885C  40 82 00 18 */	bne lbl_8023CC14
/* 8023CC00 00238860  7F A3 EB 78 */	mr r3, r29
/* 8023CC04 00238864  4B FF F8 79 */	bl func_8023C47C
/* 8023CC08 00238868  88 1D 00 00 */	lbz r0, 0(r29)
/* 8023CC0C 0023886C  60 00 00 06 */	ori r0, r0, 6
/* 8023CC10 00238870  98 1D 00 00 */	stb r0, 0(r29)
lbl_8023CC14:
/* 8023CC14 00238874  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8023CC18 00238878  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8023CC1C 0023887C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8023CC20 00238880  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8023CC24 00238884  7C 08 03 A6 */	mtlr r0
/* 8023CC28 00238888  38 21 00 20 */	addi r1, r1, 0x20
/* 8023CC2C 0023888C  4E 80 00 20 */	blr

.global func_8023CC30
func_8023CC30:
/* 8023CC30 00238890  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8023CC34 00238894  7C 08 02 A6 */	mflr r0
/* 8023CC38 00238898  90 01 00 24 */	stw r0, 0x24(r1)
/* 8023CC3C 0023889C  39 61 00 20 */	addi r11, r1, 0x20
/* 8023CC40 002388A0  4B F8 A4 E5 */	bl _savegpr_26
/* 8023CC44 002388A4  7C 7A 1B 78 */	mr r26, r3
/* 8023CC48 002388A8  7C 9B 23 78 */	mr r27, r4
/* 8023CC4C 002388AC  7C BC 2B 78 */	mr r28, r5
/* 8023CC50 002388B0  7C DD 33 78 */	mr r29, r6
/* 8023CC54 002388B4  7C FE 3B 78 */	mr r30, r7
/* 8023CC58 002388B8  7D 1F 43 78 */	mr r31, r8
/* 8023CC5C 002388BC  38 63 01 B8 */	addi r3, r3, 0x1b8
/* 8023CC60 002388C0  4B FF ED D5 */	bl func_8023BA34
/* 8023CC64 002388C4  93 83 00 04 */	stw r28, 4(r3)
/* 8023CC68 002388C8  7F 64 DB 78 */	mr r4, r27
/* 8023CC6C 002388CC  38 7A 02 90 */	addi r3, r26, 0x290
/* 8023CC70 002388D0  4B FF ED E9 */	bl func_8023BA58
/* 8023CC74 002388D4  2C 03 00 00 */	cmpwi r3, 0
/* 8023CC78 002388D8  40 82 00 10 */	bne lbl_8023CC88
/* 8023CC7C 002388DC  7F 64 DB 78 */	mr r4, r27
/* 8023CC80 002388E0  38 7A 02 90 */	addi r3, r26, 0x290
/* 8023CC84 002388E4  4B FF F2 09 */	bl func_8023BE8C
lbl_8023CC88:
/* 8023CC88 002388E8  3C 1D 00 01 */	addis r0, r29, 1
/* 8023CC8C 002388EC  9B 63 00 03 */	stb r27, 3(r3)
/* 8023CC90 002388F0  28 00 FF FF */	cmplwi r0, 0xffff
/* 8023CC94 002388F4  40 82 00 08 */	bne lbl_8023CC9C
/* 8023CC98 002388F8  3B A0 00 00 */	li r29, 0
lbl_8023CC9C:
/* 8023CC9C 002388FC  93 A3 00 04 */	stw r29, 4(r3)
/* 8023CCA0 00238900  2C 1D 00 00 */	cmpwi r29, 0
/* 8023CCA4 00238904  9B C3 00 02 */	stb r30, 2(r3)
/* 8023CCA8 00238908  93 E3 00 08 */	stw r31, 8(r3)
/* 8023CCAC 0023890C  41 82 00 24 */	beq lbl_8023CCD0
/* 8023CCB0 00238910  57 A5 00 02 */	rlwinm r5, r29, 0, 0, 1
/* 8023CCB4 00238914  3C 00 C0 00 */	lis r0, 0xc000
/* 8023CCB8 00238918  7C 85 00 50 */	subf r4, r5, r0
/* 8023CCBC 0023891C  7C 00 28 50 */	subf r0, r0, r5
/* 8023CCC0 00238920  7C 80 03 78 */	or r0, r4, r0
/* 8023CCC4 00238924  54 00 0F FE */	srwi r0, r0, 0x1f
/* 8023CCC8 00238928  98 03 00 00 */	stb r0, 0(r3)
/* 8023CCCC 0023892C  48 00 00 0C */	b lbl_8023CCD8
lbl_8023CCD0:
/* 8023CCD0 00238930  38 00 00 00 */	li r0, 0
/* 8023CCD4 00238934  98 03 00 00 */	stb r0, 0(r3)
lbl_8023CCD8:
/* 8023CCD8 00238938  88 1A 00 00 */	lbz r0, 0(r26)
/* 8023CCDC 0023893C  39 61 00 20 */	addi r11, r1, 0x20
/* 8023CCE0 00238940  60 00 00 0C */	ori r0, r0, 0xc
/* 8023CCE4 00238944  98 1A 00 00 */	stb r0, 0(r26)
/* 8023CCE8 00238948  4B F8 A4 89 */	bl _restgpr_26
/* 8023CCEC 0023894C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8023CCF0 00238950  7C 08 03 A6 */	mtlr r0
/* 8023CCF4 00238954  38 21 00 20 */	addi r1, r1, 0x20
/* 8023CCF8 00238958  4E 80 00 20 */	blr

.global func_8023CCFC
func_8023CCFC:
/* 8023CCFC 0023895C  38 A3 00 08 */	addi r5, r3, 8
/* 8023CD00 00238960  38 C3 01 B8 */	addi r6, r3, 0x1b8
/* 8023CD04 00238964  38 60 00 00 */	li r3, 0
/* 8023CD08 00238968  3C 80 80 42 */	lis r4, 0x8042
/* 8023CD0C 0023896C  48 00 02 00 */	b lbl_8023CF0C
lbl_8023CD10:
/* 8023CD10 00238970  80 E6 00 04 */	lwz r7, 4(r6)
/* 8023CD14 00238974  2C 07 00 02 */	cmpwi r7, 2
/* 8023CD18 00238978  41 82 01 DC */	beq lbl_8023CEF4
/* 8023CD1C 0023897C  40 80 00 10 */	bge lbl_8023CD2C
/* 8023CD20 00238980  2C 07 00 01 */	cmpwi r7, 1
/* 8023CD24 00238984  40 80 00 14 */	bge lbl_8023CD38
/* 8023CD28 00238988  48 00 01 DC */	b lbl_8023CF04
lbl_8023CD2C:
/* 8023CD2C 0023898C  2C 07 00 04 */	cmpwi r7, 4
/* 8023CD30 00238990  40 80 01 D4 */	bge lbl_8023CF04
/* 8023CD34 00238994  48 00 01 C8 */	b lbl_8023CEFC
lbl_8023CD38:
/* 8023CD38 00238998  80 E5 00 00 */	lwz r7, 0(r5)
/* 8023CD3C 0023899C  28 07 00 19 */	cmplwi r7, 0x19
/* 8023CD40 002389A0  41 81 01 C4 */	bgt lbl_8023CF04
/* 8023CD44 002389A4  39 04 47 9C */	addi r8, r4, 0x479c
/* 8023CD48 002389A8  54 E7 10 3A */	slwi r7, r7, 2
/* 8023CD4C 002389AC  7D 08 38 2E */	lwzx r8, r8, r7
/* 8023CD50 002389B0  7D 09 03 A6 */	mtctr r8
/* 8023CD54 002389B4  4E 80 04 20 */	bctr
/* 8023CD58 002389B8  38 63 00 01 */	addi r3, r3, 1
/* 8023CD5C 002389BC  48 00 01 A8 */	b lbl_8023CF04
/* 8023CD60 002389C0  80 E5 00 04 */	lwz r7, 4(r5)
/* 8023CD64 002389C4  2C 07 00 00 */	cmpwi r7, 0
/* 8023CD68 002389C8  40 82 00 0C */	bne lbl_8023CD74
/* 8023CD6C 002389CC  38 00 00 02 */	li r0, 2
/* 8023CD70 002389D0  48 00 00 10 */	b lbl_8023CD80
lbl_8023CD74:
/* 8023CD74 002389D4  2C 07 00 01 */	cmpwi r7, 1
/* 8023CD78 002389D8  40 82 00 08 */	bne lbl_8023CD80
/* 8023CD7C 002389DC  38 00 00 03 */	li r0, 3
lbl_8023CD80:
/* 8023CD80 002389E0  80 E5 00 08 */	lwz r7, 8(r5)
/* 8023CD84 002389E4  2C 07 00 04 */	cmpwi r7, 4
/* 8023CD88 002389E8  41 82 00 34 */	beq lbl_8023CDBC
/* 8023CD8C 002389EC  40 80 01 78 */	bge lbl_8023CF04
/* 8023CD90 002389F0  2C 07 00 02 */	cmpwi r7, 2
/* 8023CD94 002389F4  40 80 00 18 */	bge lbl_8023CDAC
/* 8023CD98 002389F8  2C 07 00 00 */	cmpwi r7, 0
/* 8023CD9C 002389FC  40 80 00 08 */	bge lbl_8023CDA4
/* 8023CDA0 00238A00  48 00 01 64 */	b lbl_8023CF04
lbl_8023CDA4:
/* 8023CDA4 00238A04  7C 63 02 14 */	add r3, r3, r0
/* 8023CDA8 00238A08  48 00 01 5C */	b lbl_8023CF04
lbl_8023CDAC:
/* 8023CDAC 00238A0C  54 07 0B FC */	rlwinm r7, r0, 1, 0xf, 0x1e
/* 8023CDB0 00238A10  7C 63 3A 14 */	add r3, r3, r7
/* 8023CDB4 00238A14  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 8023CDB8 00238A18  48 00 01 4C */	b lbl_8023CF04
lbl_8023CDBC:
/* 8023CDBC 00238A1C  54 07 13 BA */	rlwinm r7, r0, 2, 0xe, 0x1d
/* 8023CDC0 00238A20  7C 63 3A 14 */	add r3, r3, r7
/* 8023CDC4 00238A24  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 8023CDC8 00238A28  48 00 01 3C */	b lbl_8023CF04
/* 8023CDCC 00238A2C  80 E5 00 04 */	lwz r7, 4(r5)
/* 8023CDD0 00238A30  2C 07 00 00 */	cmpwi r7, 0
/* 8023CDD4 00238A34  40 82 00 08 */	bne lbl_8023CDDC
/* 8023CDD8 00238A38  38 00 00 03 */	li r0, 3
lbl_8023CDDC:
/* 8023CDDC 00238A3C  80 E5 00 08 */	lwz r7, 8(r5)
/* 8023CDE0 00238A40  2C 07 00 03 */	cmpwi r7, 3
/* 8023CDE4 00238A44  41 82 00 28 */	beq lbl_8023CE0C
/* 8023CDE8 00238A48  40 80 00 10 */	bge lbl_8023CDF8
/* 8023CDEC 00238A4C  2C 07 00 01 */	cmpwi r7, 1
/* 8023CDF0 00238A50  41 82 00 14 */	beq lbl_8023CE04
/* 8023CDF4 00238A54  48 00 01 10 */	b lbl_8023CF04
lbl_8023CDF8:
/* 8023CDF8 00238A58  2C 07 00 05 */	cmpwi r7, 5
/* 8023CDFC 00238A5C  40 80 01 08 */	bge lbl_8023CF04
/* 8023CE00 00238A60  48 00 00 1C */	b lbl_8023CE1C
lbl_8023CE04:
/* 8023CE04 00238A64  7C 63 02 14 */	add r3, r3, r0
/* 8023CE08 00238A68  48 00 00 FC */	b lbl_8023CF04
lbl_8023CE0C:
/* 8023CE0C 00238A6C  54 07 0B FC */	rlwinm r7, r0, 1, 0xf, 0x1e
/* 8023CE10 00238A70  7C 63 3A 14 */	add r3, r3, r7
/* 8023CE14 00238A74  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 8023CE18 00238A78  48 00 00 EC */	b lbl_8023CF04
lbl_8023CE1C:
/* 8023CE1C 00238A7C  54 07 13 BA */	rlwinm r7, r0, 2, 0xe, 0x1d
/* 8023CE20 00238A80  7C 63 3A 14 */	add r3, r3, r7
/* 8023CE24 00238A84  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 8023CE28 00238A88  48 00 00 DC */	b lbl_8023CF04
/* 8023CE2C 00238A8C  80 E5 00 08 */	lwz r7, 8(r5)
/* 8023CE30 00238A90  2C 07 00 03 */	cmpwi r7, 3
/* 8023CE34 00238A94  41 82 00 30 */	beq lbl_8023CE64
/* 8023CE38 00238A98  40 80 00 1C */	bge lbl_8023CE54
/* 8023CE3C 00238A9C  2C 07 00 01 */	cmpwi r7, 1
/* 8023CE40 00238AA0  41 82 00 30 */	beq lbl_8023CE70
/* 8023CE44 00238AA4  40 80 00 38 */	bge lbl_8023CE7C
/* 8023CE48 00238AA8  2C 07 00 00 */	cmpwi r7, 0
/* 8023CE4C 00238AAC  40 80 00 18 */	bge lbl_8023CE64
/* 8023CE50 00238AB0  48 00 00 B4 */	b lbl_8023CF04
lbl_8023CE54:
/* 8023CE54 00238AB4  2C 07 00 05 */	cmpwi r7, 5
/* 8023CE58 00238AB8  41 82 00 24 */	beq lbl_8023CE7C
/* 8023CE5C 00238ABC  40 80 00 A8 */	bge lbl_8023CF04
/* 8023CE60 00238AC0  48 00 00 10 */	b lbl_8023CE70
lbl_8023CE64:
/* 8023CE64 00238AC4  38 63 00 02 */	addi r3, r3, 2
/* 8023CE68 00238AC8  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 8023CE6C 00238ACC  48 00 00 98 */	b lbl_8023CF04
lbl_8023CE70:
/* 8023CE70 00238AD0  38 63 00 03 */	addi r3, r3, 3
/* 8023CE74 00238AD4  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 8023CE78 00238AD8  48 00 00 8C */	b lbl_8023CF04
lbl_8023CE7C:
/* 8023CE7C 00238ADC  38 63 00 04 */	addi r3, r3, 4
/* 8023CE80 00238AE0  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 8023CE84 00238AE4  48 00 00 80 */	b lbl_8023CF04
/* 8023CE88 00238AE8  80 E5 00 04 */	lwz r7, 4(r5)
/* 8023CE8C 00238AEC  2C 07 00 00 */	cmpwi r7, 0
/* 8023CE90 00238AF0  40 82 00 0C */	bne lbl_8023CE9C
/* 8023CE94 00238AF4  38 00 00 01 */	li r0, 1
/* 8023CE98 00238AF8  48 00 00 10 */	b lbl_8023CEA8
lbl_8023CE9C:
/* 8023CE9C 00238AFC  2C 07 00 01 */	cmpwi r7, 1
/* 8023CEA0 00238B00  40 82 00 08 */	bne lbl_8023CEA8
/* 8023CEA4 00238B04  38 00 00 02 */	li r0, 2
lbl_8023CEA8:
/* 8023CEA8 00238B08  80 E5 00 08 */	lwz r7, 8(r5)
/* 8023CEAC 00238B0C  2C 07 00 04 */	cmpwi r7, 4
/* 8023CEB0 00238B10  41 82 00 34 */	beq lbl_8023CEE4
/* 8023CEB4 00238B14  40 80 00 50 */	bge lbl_8023CF04
/* 8023CEB8 00238B18  2C 07 00 02 */	cmpwi r7, 2
/* 8023CEBC 00238B1C  40 80 00 18 */	bge lbl_8023CED4
/* 8023CEC0 00238B20  2C 07 00 00 */	cmpwi r7, 0
/* 8023CEC4 00238B24  40 80 00 08 */	bge lbl_8023CECC
/* 8023CEC8 00238B28  48 00 00 3C */	b lbl_8023CF04
lbl_8023CECC:
/* 8023CECC 00238B2C  7C 63 02 14 */	add r3, r3, r0
/* 8023CED0 00238B30  48 00 00 34 */	b lbl_8023CF04
lbl_8023CED4:
/* 8023CED4 00238B34  54 07 0B FC */	rlwinm r7, r0, 1, 0xf, 0x1e
/* 8023CED8 00238B38  7C 63 3A 14 */	add r3, r3, r7
/* 8023CEDC 00238B3C  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 8023CEE0 00238B40  48 00 00 24 */	b lbl_8023CF04
lbl_8023CEE4:
/* 8023CEE4 00238B44  54 07 13 BA */	rlwinm r7, r0, 2, 0xe, 0x1d
/* 8023CEE8 00238B48  7C 63 3A 14 */	add r3, r3, r7
/* 8023CEEC 00238B4C  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 8023CEF0 00238B50  48 00 00 14 */	b lbl_8023CF04
lbl_8023CEF4:
/* 8023CEF4 00238B54  38 63 00 01 */	addi r3, r3, 1
/* 8023CEF8 00238B58  48 00 00 0C */	b lbl_8023CF04
lbl_8023CEFC:
/* 8023CEFC 00238B5C  38 63 00 02 */	addi r3, r3, 2
/* 8023CF00 00238B60  54 63 04 3E */	clrlwi r3, r3, 0x10
lbl_8023CF04:
/* 8023CF04 00238B64  38 A5 00 10 */	addi r5, r5, 0x10
/* 8023CF08 00238B68  38 C6 00 08 */	addi r6, r6, 8
lbl_8023CF0C:
/* 8023CF0C 00238B6C  80 E6 00 00 */	lwz r7, 0(r6)
/* 8023CF10 00238B70  2C 07 00 FF */	cmpwi r7, 0xff
/* 8023CF14 00238B74  40 82 FD FC */	bne lbl_8023CD10
/* 8023CF18 00238B78  4E 80 00 20 */	blr

.global func_8023CF1C
func_8023CF1C:
/* 8023CF1C 00238B7C  1C 03 03 D4 */	mulli r0, r3, 0x3d4
/* 8023CF20 00238B80  3C 60 80 49 */	lis r3, lbl_804944D4@ha
/* 8023CF24 00238B84  38 63 44 D4 */	addi r3, r3, lbl_804944D4@l
/* 8023CF28 00238B88  7C 63 02 14 */	add r3, r3, r0
/* 8023CF2C 00238B8C  4E 80 00 20 */	blr

.global func_8023CF30
func_8023CF30:
/* 8023CF30 00238B90  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8023CF34 00238B94  7C 08 02 A6 */	mflr r0
/* 8023CF38 00238B98  90 01 00 24 */	stw r0, 0x24(r1)
/* 8023CF3C 00238B9C  80 01 00 28 */	lwz r0, 0x28(r1)
/* 8023CF40 00238BA0  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8023CF44 00238BA4  3F E0 80 49 */	lis r31, lbl_804967CC@ha
/* 8023CF48 00238BA8  91 41 00 08 */	stw r10, 8(r1)
/* 8023CF4C 00238BAC  7D 2A 4B 78 */	mr r10, r9
/* 8023CF50 00238BB0  7D 09 43 78 */	mr r9, r8
/* 8023CF54 00238BB4  7C E8 3B 78 */	mr r8, r7
/* 8023CF58 00238BB8  90 01 00 0C */	stw r0, 0xc(r1)
/* 8023CF5C 00238BBC  7C C7 33 78 */	mr r7, r6
/* 8023CF60 00238BC0  7C A6 2B 78 */	mr r6, r5
/* 8023CF64 00238BC4  7C 85 23 78 */	mr r5, r4
/* 8023CF68 00238BC8  7C 64 1B 78 */	mr r4, r3
/* 8023CF6C 00238BCC  38 7F 67 CC */	addi r3, r31, lbl_804967CC@l
/* 8023CF70 00238BD0  4B FF F5 C5 */	bl func_8023C534
/* 8023CF74 00238BD4  38 7F 67 CC */	addi r3, r31, 0x67cc
/* 8023CF78 00238BD8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8023CF7C 00238BDC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8023CF80 00238BE0  7C 08 03 A6 */	mtlr r0
/* 8023CF84 00238BE4  38 21 00 20 */	addi r1, r1, 0x20
/* 8023CF88 00238BE8  4E 80 00 20 */	blr

.global func_8023CF8C
func_8023CF8C:
/* 8023CF8C 00238BEC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8023CF90 00238BF0  7C 08 02 A6 */	mflr r0
/* 8023CF94 00238BF4  3C 80 80 49 */	lis r4, lbl_804967CC@ha
/* 8023CF98 00238BF8  38 60 00 01 */	li r3, 1
/* 8023CF9C 00238BFC  90 01 00 14 */	stw r0, 0x14(r1)
/* 8023CFA0 00238C00  38 00 00 00 */	li r0, 0
/* 8023CFA4 00238C04  38 AD A4 90 */	addi r5, r13, lbl_8063F750-_SDA_BASE_
/* 8023CFA8 00238C08  38 C0 00 04 */	li r6, 4
/* 8023CFAC 00238C0C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8023CFB0 00238C10  3B E4 67 CC */	addi r31, r4, lbl_804967CC@l
/* 8023CFB4 00238C14  98 6D A4 90 */	stb r3, lbl_8063F750-_SDA_BASE_(r13)
/* 8023CFB8 00238C18  7F E3 FB 78 */	mr r3, r31
/* 8023CFBC 00238C1C  B0 C5 00 02 */	sth r6, 2(r5)
/* 8023CFC0 00238C20  98 05 00 04 */	stb r0, 4(r5)
/* 8023CFC4 00238C24  98 04 67 CC */	stb r0, 0x67cc(r4)
/* 8023CFC8 00238C28  98 1F 00 01 */	stb r0, 1(r31)
/* 8023CFCC 00238C2C  98 1F 00 02 */	stb r0, 2(r31)
/* 8023CFD0 00238C30  98 1F 00 03 */	stb r0, 3(r31)
/* 8023CFD4 00238C34  90 1F 00 04 */	stw r0, 4(r31)
/* 8023CFD8 00238C38  4B FF F8 DD */	bl func_8023C8B4
/* 8023CFDC 00238C3C  3C 80 80 1E */	lis r4, func_801E42B4@ha
/* 8023CFE0 00238C40  3C A0 80 49 */	lis r5, lbl_804967C0@ha
/* 8023CFE4 00238C44  7F E3 FB 78 */	mr r3, r31
/* 8023CFE8 00238C48  38 84 42 B4 */	addi r4, r4, func_801E42B4@l
/* 8023CFEC 00238C4C  38 A5 67 C0 */	addi r5, r5, lbl_804967C0@l
/* 8023CFF0 00238C50  4B F8 9C 59 */	bl __register_global_object_tmp
/* 8023CFF4 00238C54  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8023CFF8 00238C58  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8023CFFC 00238C5C  7C 08 03 A6 */	mtlr r0
/* 8023D000 00238C60  38 21 00 10 */	addi r1, r1, 0x10
/* 8023D004 00238C64  4E 80 00 20 */	blr