summaryrefslogtreecommitdiff
path: root/asm/code_8014FEA8.s
blob: 7a87f77033a3ca797ddb9c7b8519fcb8372d8eb6 (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
.include "macros.inc"

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

.global func_8014FEA8
func_8014FEA8:
/* 8014FEA8 0014BB08  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8014FEAC 0014BB0C  7C 08 02 A6 */	mflr r0
/* 8014FEB0 0014BB10  90 01 00 34 */	stw r0, 0x34(r1)
/* 8014FEB4 0014BB14  39 61 00 30 */	addi r11, r1, 0x30
/* 8014FEB8 0014BB18  48 07 72 6D */	bl _savegpr_26
/* 8014FEBC 0014BB1C  7C 7A 1B 78 */	mr r26, r3
/* 8014FEC0 0014BB20  4B F0 6D 15 */	bl func_80056BD4
/* 8014FEC4 0014BB24  2C 03 00 00 */	cmpwi r3, 0
/* 8014FEC8 0014BB28  41 82 03 BC */	beq lbl_80150284
/* 8014FECC 0014BB2C  4B FC CA A9 */	bl func_8011C974
/* 8014FED0 0014BB30  7C 7C 1B 78 */	mr r28, r3
/* 8014FED4 0014BB34  7F 43 D3 78 */	mr r3, r26
/* 8014FED8 0014BB38  3B 60 00 00 */	li r27, 0
/* 8014FEDC 0014BB3C  38 80 00 36 */	li r4, 0x36
/* 8014FEE0 0014BB40  38 A0 00 00 */	li r5, 0
/* 8014FEE4 0014BB44  48 28 B0 19 */	bl func_803DAEFC
/* 8014FEE8 0014BB48  7C 7D 1B 78 */	mr r29, r3
/* 8014FEEC 0014BB4C  7F 43 D3 78 */	mr r3, r26
/* 8014FEF0 0014BB50  38 80 00 37 */	li r4, 0x37
/* 8014FEF4 0014BB54  38 A0 00 00 */	li r5, 0
/* 8014FEF8 0014BB58  48 28 B0 05 */	bl func_803DAEFC
/* 8014FEFC 0014BB5C  7C 7E 1B 78 */	mr r30, r3
/* 8014FF00 0014BB60  7F 43 D3 78 */	mr r3, r26
/* 8014FF04 0014BB64  38 80 00 38 */	li r4, 0x38
/* 8014FF08 0014BB68  38 A0 00 00 */	li r5, 0
/* 8014FF0C 0014BB6C  48 28 AF F1 */	bl func_803DAEFC
/* 8014FF10 0014BB70  7C 7F 1B 78 */	mr r31, r3
/* 8014FF14 0014BB74  7F 43 D3 78 */	mr r3, r26
/* 8014FF18 0014BB78  38 80 00 39 */	li r4, 0x39
/* 8014FF1C 0014BB7C  38 A0 00 00 */	li r5, 0
/* 8014FF20 0014BB80  48 28 AF DD */	bl func_803DAEFC
/* 8014FF24 0014BB84  28 1D 01 D3 */	cmplwi r29, 0x1d3
/* 8014FF28 0014BB88  41 81 00 1C */	bgt lbl_8014FF44
/* 8014FF2C 0014BB8C  28 1E 01 D3 */	cmplwi r30, 0x1d3
/* 8014FF30 0014BB90  41 81 00 14 */	bgt lbl_8014FF44
/* 8014FF34 0014BB94  28 1F 01 D3 */	cmplwi r31, 0x1d3
/* 8014FF38 0014BB98  41 81 00 0C */	bgt lbl_8014FF44
/* 8014FF3C 0014BB9C  28 03 01 D3 */	cmplwi r3, 0x1d3
/* 8014FF40 0014BBA0  40 81 00 08 */	ble lbl_8014FF48
lbl_8014FF44:
/* 8014FF44 0014BBA4  63 7B 00 22 */	ori r27, r27, 0x22
lbl_8014FF48:
/* 8014FF48 0014BBA8  7C 1D F0 40 */	cmplw r29, r30
/* 8014FF4C 0014BBAC  40 82 00 10 */	bne lbl_8014FF5C
/* 8014FF50 0014BBB0  2C 1D 00 00 */	cmpwi r29, 0
/* 8014FF54 0014BBB4  41 82 00 08 */	beq lbl_8014FF5C
/* 8014FF58 0014BBB8  63 7B 00 02 */	ori r27, r27, 2
lbl_8014FF5C:
/* 8014FF5C 0014BBBC  7C 1D F8 40 */	cmplw r29, r31
/* 8014FF60 0014BBC0  40 82 00 10 */	bne lbl_8014FF70
/* 8014FF64 0014BBC4  2C 1D 00 00 */	cmpwi r29, 0
/* 8014FF68 0014BBC8  41 82 00 08 */	beq lbl_8014FF70
/* 8014FF6C 0014BBCC  63 7B 00 02 */	ori r27, r27, 2
lbl_8014FF70:
/* 8014FF70 0014BBD0  7C 1D 18 40 */	cmplw r29, r3
/* 8014FF74 0014BBD4  40 82 00 10 */	bne lbl_8014FF84
/* 8014FF78 0014BBD8  2C 1D 00 00 */	cmpwi r29, 0
/* 8014FF7C 0014BBDC  41 82 00 08 */	beq lbl_8014FF84
/* 8014FF80 0014BBE0  63 7B 00 02 */	ori r27, r27, 2
lbl_8014FF84:
/* 8014FF84 0014BBE4  7C 1E F8 40 */	cmplw r30, r31
/* 8014FF88 0014BBE8  40 82 00 10 */	bne lbl_8014FF98
/* 8014FF8C 0014BBEC  2C 1E 00 00 */	cmpwi r30, 0
/* 8014FF90 0014BBF0  41 82 00 08 */	beq lbl_8014FF98
/* 8014FF94 0014BBF4  63 7B 00 02 */	ori r27, r27, 2
lbl_8014FF98:
/* 8014FF98 0014BBF8  7C 1E 18 40 */	cmplw r30, r3
/* 8014FF9C 0014BBFC  40 82 00 10 */	bne lbl_8014FFAC
/* 8014FFA0 0014BC00  2C 1E 00 00 */	cmpwi r30, 0
/* 8014FFA4 0014BC04  41 82 00 08 */	beq lbl_8014FFAC
/* 8014FFA8 0014BC08  63 7B 00 02 */	ori r27, r27, 2
lbl_8014FFAC:
/* 8014FFAC 0014BC0C  7C 1F 18 40 */	cmplw r31, r3
/* 8014FFB0 0014BC10  40 82 00 10 */	bne lbl_8014FFC0
/* 8014FFB4 0014BC14  2C 1F 00 00 */	cmpwi r31, 0
/* 8014FFB8 0014BC18  41 82 00 08 */	beq lbl_8014FFC0
/* 8014FFBC 0014BC1C  63 7B 00 02 */	ori r27, r27, 2
lbl_8014FFC0:
/* 8014FFC0 0014BC20  A0 1C 00 96 */	lhz r0, 0x96(r28)
/* 8014FFC4 0014BC24  54 00 CF BE */	rlwinm r0, r0, 0x19, 0x1e, 0x1f
/* 8014FFC8 0014BC28  28 00 00 03 */	cmplwi r0, 3
/* 8014FFCC 0014BC2C  40 82 00 44 */	bne lbl_80150010
/* 8014FFD0 0014BC30  7F 43 D3 78 */	mr r3, r26
/* 8014FFD4 0014BC34  38 80 00 A0 */	li r4, 0xa0
/* 8014FFD8 0014BC38  38 A0 00 00 */	li r5, 0
/* 8014FFDC 0014BC3C  48 28 AF 21 */	bl func_803DAEFC
/* 8014FFE0 0014BC40  A0 1C 00 8A */	lhz r0, 0x8a(r28)
/* 8014FFE4 0014BC44  7C 00 18 40 */	cmplw r0, r3
/* 8014FFE8 0014BC48  40 81 00 08 */	ble lbl_8014FFF0
/* 8014FFEC 0014BC4C  63 7B 00 0C */	ori r27, r27, 0xc
lbl_8014FFF0:
/* 8014FFF0 0014BC50  7F 43 D3 78 */	mr r3, r26
/* 8014FFF4 0014BC54  38 80 00 A0 */	li r4, 0xa0
/* 8014FFF8 0014BC58  38 A0 00 00 */	li r5, 0
/* 8014FFFC 0014BC5C  48 28 AF 01 */	bl func_803DAEFC
/* 80150000 0014BC60  A0 1C 00 8C */	lhz r0, 0x8c(r28)
/* 80150004 0014BC64  7C 00 18 40 */	cmplw r0, r3
/* 80150008 0014BC68  40 80 00 08 */	bge lbl_80150010
/* 8015000C 0014BC6C  63 7B 00 14 */	ori r27, r27, 0x14
lbl_80150010:
/* 80150010 0014BC70  7F 43 D3 78 */	mr r3, r26
/* 80150014 0014BC74  38 80 00 0D */	li r4, 0xd
/* 80150018 0014BC78  38 A0 00 00 */	li r5, 0
/* 8015001C 0014BC7C  48 28 AE E1 */	bl func_803DAEFC
/* 80150020 0014BC80  7C 7F 1B 78 */	mr r31, r3
/* 80150024 0014BC84  7F 43 D3 78 */	mr r3, r26
/* 80150028 0014BC88  38 80 00 0E */	li r4, 0xe
/* 8015002C 0014BC8C  38 A0 00 00 */	li r5, 0
/* 80150030 0014BC90  48 28 AE CD */	bl func_803DAEFC
/* 80150034 0014BC94  7F 9F 1A 14 */	add r28, r31, r3
/* 80150038 0014BC98  7F 43 D3 78 */	mr r3, r26
/* 8015003C 0014BC9C  38 80 00 0F */	li r4, 0xf
/* 80150040 0014BCA0  38 A0 00 00 */	li r5, 0
/* 80150044 0014BCA4  48 28 AE B9 */	bl func_803DAEFC
/* 80150048 0014BCA8  7F 9C 1A 14 */	add r28, r28, r3
/* 8015004C 0014BCAC  7F 43 D3 78 */	mr r3, r26
/* 80150050 0014BCB0  38 80 00 10 */	li r4, 0x10
/* 80150054 0014BCB4  38 A0 00 00 */	li r5, 0
/* 80150058 0014BCB8  48 28 AE A5 */	bl func_803DAEFC
/* 8015005C 0014BCBC  7F 9C 1A 14 */	add r28, r28, r3
/* 80150060 0014BCC0  7F 43 D3 78 */	mr r3, r26
/* 80150064 0014BCC4  38 80 00 11 */	li r4, 0x11
/* 80150068 0014BCC8  38 A0 00 00 */	li r5, 0
/* 8015006C 0014BCCC  48 28 AE 91 */	bl func_803DAEFC
/* 80150070 0014BCD0  7F 9C 1A 14 */	add r28, r28, r3
/* 80150074 0014BCD4  7F 43 D3 78 */	mr r3, r26
/* 80150078 0014BCD8  38 80 00 12 */	li r4, 0x12
/* 8015007C 0014BCDC  38 A0 00 00 */	li r5, 0
/* 80150080 0014BCE0  48 28 AE 7D */	bl func_803DAEFC
/* 80150084 0014BCE4  7F 9C 1A 14 */	add r28, r28, r3
/* 80150088 0014BCE8  28 1C 01 FE */	cmplwi r28, 0x1fe
/* 8015008C 0014BCEC  40 81 00 08 */	ble lbl_80150094
/* 80150090 0014BCF0  63 7B 00 02 */	ori r27, r27, 2
lbl_80150094:
/* 80150094 0014BCF4  7F 43 D3 78 */	mr r3, r26
/* 80150098 0014BCF8  48 28 BE CD */	bl func_803DBF64
/* 8015009C 0014BCFC  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 801500A0 0014BD00  7F 43 D3 78 */	mr r3, r26
/* 801500A4 0014BD04  90 01 00 0C */	stw r0, 0xc(r1)
/* 801500A8 0014BD08  38 A1 00 0C */	addi r5, r1, 0xc
/* 801500AC 0014BD0C  38 80 00 6F */	li r4, 0x6f
/* 801500B0 0014BD10  48 28 B5 C9 */	bl func_803DB678
/* 801500B4 0014BD14  7F 43 D3 78 */	mr r3, r26
/* 801500B8 0014BD18  38 80 00 AC */	li r4, 0xac
/* 801500BC 0014BD1C  38 A0 00 00 */	li r5, 0
/* 801500C0 0014BD20  48 28 AE 3D */	bl func_803DAEFC
/* 801500C4 0014BD24  2C 03 00 00 */	cmpwi r3, 0
/* 801500C8 0014BD28  41 82 00 28 */	beq lbl_801500F0
/* 801500CC 0014BD2C  7F 43 D3 78 */	mr r3, r26
/* 801500D0 0014BD30  63 7B 00 40 */	ori r27, r27, 0x40
/* 801500D4 0014BD34  38 80 00 03 */	li r4, 3
/* 801500D8 0014BD38  38 A0 00 00 */	li r5, 0
/* 801500DC 0014BD3C  48 28 AE 21 */	bl func_803DAEFC
/* 801500E0 0014BD40  2C 03 00 00 */	cmpwi r3, 0
/* 801500E4 0014BD44  41 82 00 0C */	beq lbl_801500F0
/* 801500E8 0014BD48  67 7B 80 00 */	oris r27, r27, 0x8000
/* 801500EC 0014BD4C  63 7B 00 02 */	ori r27, r27, 2
lbl_801500F0:
/* 801500F0 0014BD50  7F 43 D3 78 */	mr r3, r26
/* 801500F4 0014BD54  38 80 00 9A */	li r4, 0x9a
/* 801500F8 0014BD58  38 A0 00 00 */	li r5, 0
/* 801500FC 0014BD5C  48 28 AE 01 */	bl func_803DAEFC
/* 80150100 0014BD60  28 03 00 10 */	cmplwi r3, 0x10
/* 80150104 0014BD64  41 81 00 1C */	bgt lbl_80150120
/* 80150108 0014BD68  7F 43 D3 78 */	mr r3, r26
/* 8015010C 0014BD6C  38 80 00 9A */	li r4, 0x9a
/* 80150110 0014BD70  38 A0 00 00 */	li r5, 0
/* 80150114 0014BD74  48 28 AD E9 */	bl func_803DAEFC
/* 80150118 0014BD78  2C 03 00 00 */	cmpwi r3, 0
/* 8015011C 0014BD7C  40 82 00 08 */	bne lbl_80150124
lbl_80150120:
/* 80150120 0014BD80  63 7B 00 02 */	ori r27, r27, 2
lbl_80150124:
/* 80150124 0014BD84  7F 43 D3 78 */	mr r3, r26
/* 80150128 0014BD88  38 80 00 05 */	li r4, 5
/* 8015012C 0014BD8C  38 A0 00 00 */	li r5, 0
/* 80150130 0014BD90  48 28 AD CD */	bl func_803DAEFC
/* 80150134 0014BD94  2C 03 01 9E */	cmpwi r3, 0x19e
/* 80150138 0014BD98  41 82 00 6C */	beq lbl_801501A4
/* 8015013C 0014BD9C  40 80 00 28 */	bge lbl_80150164
/* 80150140 0014BDA0  2C 03 01 82 */	cmpwi r3, 0x182
/* 80150144 0014BDA4  41 82 00 BC */	beq lbl_80150200
/* 80150148 0014BDA8  40 80 00 10 */	bge lbl_80150158
/* 8015014C 0014BDAC  2C 03 00 C9 */	cmpwi r3, 0xc9
/* 80150150 0014BDB0  41 82 00 90 */	beq lbl_801501E0
/* 80150154 0014BDB4  48 00 01 0C */	b lbl_80150260
lbl_80150158:
/* 80150158 0014BDB8  2C 03 01 9C */	cmpwi r3, 0x19c
/* 8015015C 0014BDBC  40 80 00 28 */	bge lbl_80150184
/* 80150160 0014BDC0  48 00 01 00 */	b lbl_80150260
lbl_80150164:
/* 80150164 0014BDC4  2C 03 01 ED */	cmpwi r3, 0x1ed
/* 80150168 0014BDC8  41 82 00 D8 */	beq lbl_80150240
/* 8015016C 0014BDCC  40 80 00 F4 */	bge lbl_80150260
/* 80150170 0014BDD0  2C 03 01 A8 */	cmpwi r3, 0x1a8
/* 80150174 0014BDD4  40 80 00 EC */	bge lbl_80150260
/* 80150178 0014BDD8  2C 03 01 A6 */	cmpwi r3, 0x1a6
/* 8015017C 0014BDDC  40 80 00 A4 */	bge lbl_80150220
/* 80150180 0014BDE0  48 00 00 E0 */	b lbl_80150260
lbl_80150184:
/* 80150184 0014BDE4  7F 43 D3 78 */	mr r3, r26
/* 80150188 0014BDE8  38 80 00 70 */	li r4, 0x70
/* 8015018C 0014BDEC  38 A0 00 00 */	li r5, 0
/* 80150190 0014BDF0  48 28 AD 6D */	bl func_803DAEFC
/* 80150194 0014BDF4  28 03 00 02 */	cmplwi r3, 2
/* 80150198 0014BDF8  40 81 00 E4 */	ble lbl_8015027C
/* 8015019C 0014BDFC  63 7B 00 02 */	ori r27, r27, 2
/* 801501A0 0014BE00  48 00 00 DC */	b lbl_8015027C
lbl_801501A4:
/* 801501A4 0014BE04  7F 43 D3 78 */	mr r3, r26
/* 801501A8 0014BE08  38 80 00 70 */	li r4, 0x70
/* 801501AC 0014BE0C  38 A0 00 00 */	li r5, 0
/* 801501B0 0014BE10  48 28 AD 4D */	bl func_803DAEFC
/* 801501B4 0014BE14  28 03 00 02 */	cmplwi r3, 2
/* 801501B8 0014BE18  40 81 00 0C */	ble lbl_801501C4
/* 801501BC 0014BE1C  63 7B 00 02 */	ori r27, r27, 2
/* 801501C0 0014BE20  48 00 00 BC */	b lbl_8015027C
lbl_801501C4:
/* 801501C4 0014BE24  38 00 00 00 */	li r0, 0
/* 801501C8 0014BE28  7F 43 D3 78 */	mr r3, r26
/* 801501CC 0014BE2C  90 01 00 08 */	stw r0, 8(r1)
/* 801501D0 0014BE30  38 A1 00 08 */	addi r5, r1, 8
/* 801501D4 0014BE34  38 80 00 70 */	li r4, 0x70
/* 801501D8 0014BE38  48 28 B4 A1 */	bl func_803DB678
/* 801501DC 0014BE3C  48 00 00 A0 */	b lbl_8015027C
lbl_801501E0:
/* 801501E0 0014BE40  7F 43 D3 78 */	mr r3, r26
/* 801501E4 0014BE44  38 80 00 70 */	li r4, 0x70
/* 801501E8 0014BE48  38 A0 00 00 */	li r5, 0
/* 801501EC 0014BE4C  48 28 AD 11 */	bl func_803DAEFC
/* 801501F0 0014BE50  28 03 00 1B */	cmplwi r3, 0x1b
/* 801501F4 0014BE54  40 81 00 88 */	ble lbl_8015027C
/* 801501F8 0014BE58  63 7B 00 02 */	ori r27, r27, 2
/* 801501FC 0014BE5C  48 00 00 80 */	b lbl_8015027C
lbl_80150200:
/* 80150200 0014BE60  7F 43 D3 78 */	mr r3, r26
/* 80150204 0014BE64  38 80 00 70 */	li r4, 0x70
/* 80150208 0014BE68  38 A0 00 00 */	li r5, 0
/* 8015020C 0014BE6C  48 28 AC F1 */	bl func_803DAEFC
/* 80150210 0014BE70  28 03 00 03 */	cmplwi r3, 3
/* 80150214 0014BE74  40 81 00 68 */	ble lbl_8015027C
/* 80150218 0014BE78  63 7B 00 02 */	ori r27, r27, 2
/* 8015021C 0014BE7C  48 00 00 60 */	b lbl_8015027C
lbl_80150220:
/* 80150220 0014BE80  7F 43 D3 78 */	mr r3, r26
/* 80150224 0014BE84  38 80 00 70 */	li r4, 0x70
/* 80150228 0014BE88  38 A0 00 00 */	li r5, 0
/* 8015022C 0014BE8C  48 28 AC D1 */	bl func_803DAEFC
/* 80150230 0014BE90  28 03 00 01 */	cmplwi r3, 1
/* 80150234 0014BE94  40 81 00 48 */	ble lbl_8015027C
/* 80150238 0014BE98  63 7B 00 02 */	ori r27, r27, 2
/* 8015023C 0014BE9C  48 00 00 40 */	b lbl_8015027C
lbl_80150240:
/* 80150240 0014BEA0  7F 43 D3 78 */	mr r3, r26
/* 80150244 0014BEA4  38 80 00 70 */	li r4, 0x70
/* 80150248 0014BEA8  38 A0 00 00 */	li r5, 0
/* 8015024C 0014BEAC  48 28 AC B1 */	bl func_803DAEFC
/* 80150250 0014BEB0  28 03 00 11 */	cmplwi r3, 0x11
/* 80150254 0014BEB4  40 81 00 28 */	ble lbl_8015027C
/* 80150258 0014BEB8  63 7B 00 02 */	ori r27, r27, 2
/* 8015025C 0014BEBC  48 00 00 20 */	b lbl_8015027C
lbl_80150260:
/* 80150260 0014BEC0  7F 43 D3 78 */	mr r3, r26
/* 80150264 0014BEC4  38 80 00 70 */	li r4, 0x70
/* 80150268 0014BEC8  38 A0 00 00 */	li r5, 0
/* 8015026C 0014BECC  48 28 AC 91 */	bl func_803DAEFC
/* 80150270 0014BED0  2C 03 00 00 */	cmpwi r3, 0
/* 80150274 0014BED4  41 82 00 08 */	beq lbl_8015027C
/* 80150278 0014BED8  63 7B 00 02 */	ori r27, r27, 2
lbl_8015027C:
/* 8015027C 0014BEDC  7F 63 DB 78 */	mr r3, r27
/* 80150280 0014BEE0  48 00 00 08 */	b lbl_80150288
lbl_80150284:
/* 80150284 0014BEE4  38 60 00 01 */	li r3, 1
lbl_80150288:
/* 80150288 0014BEE8  39 61 00 30 */	addi r11, r1, 0x30
/* 8015028C 0014BEEC  48 07 6E E5 */	bl _restgpr_26
/* 80150290 0014BEF0  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80150294 0014BEF4  7C 08 03 A6 */	mtlr r0
/* 80150298 0014BEF8  38 21 00 30 */	addi r1, r1, 0x30
/* 8015029C 0014BEFC  4E 80 00 20 */	blr

.global func_801502A0
func_801502A0:
/* 801502A0 0014BF00  94 21 FF 80 */	stwu r1, -0x80(r1)
/* 801502A4 0014BF04  7C 08 02 A6 */	mflr r0
/* 801502A8 0014BF08  90 01 00 84 */	stw r0, 0x84(r1)
/* 801502AC 0014BF0C  39 61 00 80 */	addi r11, r1, 0x80
/* 801502B0 0014BF10  48 07 6E 4D */	bl _savegpr_16
/* 801502B4 0014BF14  7C 70 1B 78 */	mr r16, r3
/* 801502B8 0014BF18  7C 9C 23 78 */	mr r28, r4
/* 801502BC 0014BF1C  7C BD 2B 78 */	mr r29, r5
/* 801502C0 0014BF20  3B E0 00 00 */	li r31, 0
/* 801502C4 0014BF24  4B FC C6 B1 */	bl func_8011C974
/* 801502C8 0014BF28  3F 60 80 40 */	lis r27, lbl_803FC3D0@ha
/* 801502CC 0014BF2C  7C 78 1B 78 */	mr r24, r3
/* 801502D0 0014BF30  3A E1 00 20 */	addi r23, r1, 0x20
/* 801502D4 0014BF34  3A A1 00 14 */	addi r21, r1, 0x14
/* 801502D8 0014BF38  3B 7B C3 D0 */	addi r27, r27, lbl_803FC3D0@l
/* 801502DC 0014BF3C  3A 81 00 08 */	addi r20, r1, 8
/* 801502E0 0014BF40  3A 40 00 00 */	li r18, 0
/* 801502E4 0014BF44  3B C0 00 00 */	li r30, 0
/* 801502E8 0014BF48  3A 20 00 00 */	li r17, 0
/* 801502EC 0014BF4C  3B 40 00 00 */	li r26, 0
/* 801502F0 0014BF50  3B 22 8E 80 */	addi r25, r2, lbl_80641480-_SDA2_BASE_
lbl_801502F4:
/* 801502F4 0014BF54  56 20 06 3E */	clrlwi r0, r17, 0x18
/* 801502F8 0014BF58  56 33 15 BA */	rlwinm r19, r17, 2, 0x16, 0x1d
/* 801502FC 0014BF5C  1C 00 00 8C */	mulli r0, r0, 0x8c
/* 80150300 0014BF60  7C 70 02 14 */	add r3, r16, r0
/* 80150304 0014BF64  88 03 02 86 */	lbz r0, 0x286(r3)
/* 80150308 0014BF68  38 63 01 FC */	addi r3, r3, 0x1fc
/* 8015030C 0014BF6C  7C 77 99 2E */	stwx r3, r23, r19
/* 80150310 0014BF70  54 00 CF FF */	rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80150314 0014BF74  41 82 00 10 */	beq lbl_80150324
/* 80150318 0014BF78  7C 77 98 2E */	lwzx r3, r23, r19
/* 8015031C 0014BF7C  4B FF FB 8D */	bl func_8014FEA8
/* 80150320 0014BF80  48 00 00 08 */	b lbl_80150328
lbl_80150324:
/* 80150324 0014BF84  38 60 00 01 */	li r3, 1
lbl_80150328:
/* 80150328 0014BF88  2C 03 00 00 */	cmpwi r3, 0
/* 8015032C 0014BF8C  41 82 00 20 */	beq lbl_8015034C
/* 80150330 0014BF90  56 20 06 3E */	clrlwi r0, r17, 0x18
/* 80150334 0014BF94  7C 7B 98 2E */	lwzx r3, r27, r19
/* 80150338 0014BF98  7C 1D 00 40 */	cmplw r29, r0
/* 8015033C 0014BF9C  7F FF 1B 78 */	or r31, r31, r3
/* 80150340 0014BFA0  40 82 00 10 */	bne lbl_80150350
/* 80150344 0014BFA4  63 FF 00 10 */	ori r31, r31, 0x10
/* 80150348 0014BFA8  48 00 00 08 */	b lbl_80150350
lbl_8015034C:
/* 8015034C 0014BFAC  3A 52 00 01 */	addi r18, r18, 1
lbl_80150350:
/* 80150350 0014BFB0  56 20 06 3E */	clrlwi r0, r17, 0x18
/* 80150354 0014BFB4  56 36 0D FC */	rlwinm r22, r17, 1, 0x17, 0x1e
/* 80150358 0014BFB8  7C 19 00 AE */	lbzx r0, r25, r0
/* 8015035C 0014BFBC  7F 55 B3 2E */	sthx r26, r21, r22
/* 80150360 0014BFC0  7F 80 00 39 */	and. r0, r28, r0
/* 80150364 0014BFC4  7F 54 B3 2E */	sthx r26, r20, r22
/* 80150368 0014BFC8  41 82 00 48 */	beq lbl_801503B0
/* 8015036C 0014BFCC  7E 77 98 2E */	lwzx r19, r23, r19
/* 80150370 0014BFD0  38 80 00 05 */	li r4, 5
/* 80150374 0014BFD4  38 A0 00 00 */	li r5, 0
/* 80150378 0014BFD8  7E 63 9B 78 */	mr r3, r19
/* 8015037C 0014BFDC  48 28 AB 81 */	bl func_803DAEFC
/* 80150380 0014BFE0  7C 75 B3 2E */	sthx r3, r21, r22
/* 80150384 0014BFE4  7E 63 9B 78 */	mr r3, r19
/* 80150388 0014BFE8  38 80 00 06 */	li r4, 6
/* 8015038C 0014BFEC  38 A0 00 00 */	li r5, 0
/* 80150390 0014BFF0  48 28 AB 6D */	bl func_803DAEFC
/* 80150394 0014BFF4  7C 74 B3 2E */	sthx r3, r20, r22
/* 80150398 0014BFF8  7E 63 9B 78 */	mr r3, r19
/* 8015039C 0014BFFC  38 80 00 A0 */	li r4, 0xa0
/* 801503A0 0014C000  38 A0 00 00 */	li r5, 0
/* 801503A4 0014C004  48 28 AB 59 */	bl func_803DAEFC
/* 801503A8 0014C008  7C 1E 1A 14 */	add r0, r30, r3
/* 801503AC 0014C00C  54 1E 04 3E */	clrlwi r30, r0, 0x10
lbl_801503B0:
/* 801503B0 0014C010  3A 31 00 01 */	addi r17, r17, 1
/* 801503B4 0014C014  28 11 00 06 */	cmplwi r17, 6
/* 801503B8 0014C018  41 80 FF 3C */	blt lbl_801502F4
/* 801503BC 0014C01C  57 80 07 FF */	clrlwi. r0, r28, 0x1f
/* 801503C0 0014C020  41 82 00 98 */	beq lbl_80150458
/* 801503C4 0014C024  2C 12 00 00 */	cmpwi r18, 0
/* 801503C8 0014C028  38 60 00 00 */	li r3, 0
/* 801503CC 0014C02C  40 82 00 08 */	bne lbl_801503D4
/* 801503D0 0014C030  60 63 00 01 */	ori r3, r3, 1
lbl_801503D4:
/* 801503D4 0014C034  A0 18 00 90 */	lhz r0, 0x90(r24)
/* 801503D8 0014C038  2C 00 00 07 */	cmpwi r0, 7
/* 801503DC 0014C03C  41 82 00 40 */	beq lbl_8015041C
/* 801503E0 0014C040  40 80 00 68 */	bge lbl_80150448
/* 801503E4 0014C044  2C 00 00 00 */	cmpwi r0, 0
/* 801503E8 0014C048  41 82 00 08 */	beq lbl_801503F0
/* 801503EC 0014C04C  48 00 00 5C */	b lbl_80150448
lbl_801503F0:
/* 801503F0 0014C050  80 18 00 08 */	lwz r0, 8(r24)
/* 801503F4 0014C054  2C 00 00 01 */	cmpwi r0, 1
/* 801503F8 0014C058  40 82 00 14 */	bne lbl_8015040C
/* 801503FC 0014C05C  28 12 00 02 */	cmplwi r18, 2
/* 80150400 0014C060  40 80 04 F8 */	bge lbl_801508F8
/* 80150404 0014C064  60 63 00 01 */	ori r3, r3, 1
/* 80150408 0014C068  48 00 04 F0 */	b lbl_801508F8
lbl_8015040C:
/* 8015040C 0014C06C  28 12 00 01 */	cmplwi r18, 1
/* 80150410 0014C070  40 80 04 E8 */	bge lbl_801508F8
/* 80150414 0014C074  60 63 00 01 */	ori r3, r3, 1
/* 80150418 0014C078  48 00 04 E0 */	b lbl_801508F8
lbl_8015041C:
/* 8015041C 0014C07C  80 18 00 08 */	lwz r0, 8(r24)
/* 80150420 0014C080  2C 00 00 01 */	cmpwi r0, 1
/* 80150424 0014C084  40 82 00 14 */	bne lbl_80150438
/* 80150428 0014C088  28 12 00 04 */	cmplwi r18, 4
/* 8015042C 0014C08C  40 80 04 CC */	bge lbl_801508F8
/* 80150430 0014C090  60 63 00 01 */	ori r3, r3, 1
/* 80150434 0014C094  48 00 04 C4 */	b lbl_801508F8
lbl_80150438:
/* 80150438 0014C098  28 12 00 03 */	cmplwi r18, 3
/* 8015043C 0014C09C  40 80 04 BC */	bge lbl_801508F8
/* 80150440 0014C0A0  60 63 00 01 */	ori r3, r3, 1
/* 80150444 0014C0A4  48 00 04 B4 */	b lbl_801508F8
lbl_80150448:
/* 80150448 0014C0A8  7C 12 00 40 */	cmplw r18, r0
/* 8015044C 0014C0AC  40 80 04 AC */	bge lbl_801508F8
/* 80150450 0014C0B0  60 63 00 01 */	ori r3, r3, 1
/* 80150454 0014C0B4  48 00 04 A4 */	b lbl_801508F8
lbl_80150458:
/* 80150458 0014C0B8  A0 18 00 96 */	lhz r0, 0x96(r24)
/* 8015045C 0014C0BC  3A 40 00 00 */	li r18, 0
/* 80150460 0014C0C0  54 00 8F FF */	rlwinm. r0, r0, 0x11, 0x1f, 0x1f
/* 80150464 0014C0C4  40 82 01 30 */	bne lbl_80150594
/* 80150468 0014C0C8  3F 20 80 40 */	lis r25, lbl_803FC3D0@ha
/* 8015046C 0014C0CC  57 97 05 28 */	rlwinm r23, r28, 0, 0x14, 0x14
/* 80150470 0014C0D0  3A A1 00 14 */	addi r21, r1, 0x14
/* 80150474 0014C0D4  3B 61 00 20 */	addi r27, r1, 0x20
/* 80150478 0014C0D8  3B 39 C3 D0 */	addi r25, r25, lbl_803FC3D0@l
/* 8015047C 0014C0DC  3A 20 00 00 */	li r17, 0
/* 80150480 0014C0E0  3B 42 8E 80 */	addi r26, r2, lbl_80641480-_SDA2_BASE_
/* 80150484 0014C0E4  3A 00 00 02 */	li r16, 2
lbl_80150488:
/* 80150488 0014C0E8  28 1D 00 FF */	cmplwi r29, 0xff
/* 8015048C 0014C0EC  41 82 00 10 */	beq lbl_8015049C
/* 80150490 0014C0F0  56 20 06 3E */	clrlwi r0, r17, 0x18
/* 80150494 0014C0F4  7C 1D 00 40 */	cmplw r29, r0
/* 80150498 0014C0F8  40 82 00 EC */	bne lbl_80150584
lbl_8015049C:
/* 8015049C 0014C0FC  56 33 15 BA */	rlwinm r19, r17, 2, 0x16, 0x1d
/* 801504A0 0014C100  7E 9B 98 2E */	lwzx r20, r27, r19
/* 801504A4 0014C104  7E 83 A3 78 */	mr r3, r20
/* 801504A8 0014C108  4B F0 67 2D */	bl func_80056BD4
/* 801504AC 0014C10C  2C 03 00 00 */	cmpwi r3, 0
/* 801504B0 0014C110  41 82 00 D4 */	beq lbl_80150584
/* 801504B4 0014C114  56 20 06 3E */	clrlwi r0, r17, 0x18
/* 801504B8 0014C118  7C 1A 00 AE */	lbzx r0, r26, r0
/* 801504BC 0014C11C  7F 80 00 39 */	and. r0, r28, r0
/* 801504C0 0014C120  40 82 00 C4 */	bne lbl_80150584
/* 801504C4 0014C124  7E 83 A3 78 */	mr r3, r20
/* 801504C8 0014C128  38 80 00 05 */	li r4, 5
/* 801504CC 0014C12C  38 A0 00 00 */	li r5, 0
/* 801504D0 0014C130  48 28 AA 2D */	bl func_803DAEFC
/* 801504D4 0014C134  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 801504D8 0014C138  7C 19 98 2E */	lwzx r0, r25, r19
/* 801504DC 0014C13C  38 A0 00 00 */	li r5, 0
/* 801504E0 0014C140  7E 09 03 A6 */	mtctr r16
lbl_801504E4:
/* 801504E4 0014C144  54 A3 0D FC */	rlwinm r3, r5, 1, 0x17, 0x1e
/* 801504E8 0014C148  7C 75 1A 2E */	lhzx r3, r21, r3
/* 801504EC 0014C14C  7C 04 18 40 */	cmplw r4, r3
/* 801504F0 0014C150  40 82 00 24 */	bne lbl_80150514
/* 801504F4 0014C154  28 1D 00 FF */	cmplwi r29, 0xff
/* 801504F8 0014C158  7E 52 03 78 */	or r18, r18, r0
/* 801504FC 0014C15C  41 82 00 08 */	beq lbl_80150504
/* 80150500 0014C160  62 52 00 02 */	ori r18, r18, 2
lbl_80150504:
/* 80150504 0014C164  2C 17 00 00 */	cmpwi r23, 0
/* 80150508 0014C168  41 82 00 0C */	beq lbl_80150514
/* 8015050C 0014C16C  38 60 00 02 */	li r3, 2
/* 80150510 0014C170  48 00 03 E8 */	b lbl_801508F8
lbl_80150514:
/* 80150514 0014C174  38 A5 00 01 */	addi r5, r5, 1
/* 80150518 0014C178  54 A3 0D FC */	rlwinm r3, r5, 1, 0x17, 0x1e
/* 8015051C 0014C17C  7C 75 1A 2E */	lhzx r3, r21, r3
/* 80150520 0014C180  7C 04 18 40 */	cmplw r4, r3
/* 80150524 0014C184  40 82 00 24 */	bne lbl_80150548
/* 80150528 0014C188  28 1D 00 FF */	cmplwi r29, 0xff
/* 8015052C 0014C18C  7E 52 03 78 */	or r18, r18, r0
/* 80150530 0014C190  41 82 00 08 */	beq lbl_80150538
/* 80150534 0014C194  62 52 00 02 */	ori r18, r18, 2
lbl_80150538:
/* 80150538 0014C198  2C 17 00 00 */	cmpwi r23, 0
/* 8015053C 0014C19C  41 82 00 0C */	beq lbl_80150548
/* 80150540 0014C1A0  38 60 00 02 */	li r3, 2
/* 80150544 0014C1A4  48 00 03 B4 */	b lbl_801508F8
lbl_80150548:
/* 80150548 0014C1A8  38 A5 00 01 */	addi r5, r5, 1
/* 8015054C 0014C1AC  54 A3 0D FC */	rlwinm r3, r5, 1, 0x17, 0x1e
/* 80150550 0014C1B0  7C 75 1A 2E */	lhzx r3, r21, r3
/* 80150554 0014C1B4  7C 04 18 40 */	cmplw r4, r3
/* 80150558 0014C1B8  40 82 00 24 */	bne lbl_8015057C
/* 8015055C 0014C1BC  28 1D 00 FF */	cmplwi r29, 0xff
/* 80150560 0014C1C0  7E 52 03 78 */	or r18, r18, r0
/* 80150564 0014C1C4  41 82 00 08 */	beq lbl_8015056C
/* 80150568 0014C1C8  62 52 00 02 */	ori r18, r18, 2
lbl_8015056C:
/* 8015056C 0014C1CC  2C 17 00 00 */	cmpwi r23, 0
/* 80150570 0014C1D0  41 82 00 0C */	beq lbl_8015057C
/* 80150574 0014C1D4  38 60 00 02 */	li r3, 2
/* 80150578 0014C1D8  48 00 03 80 */	b lbl_801508F8
lbl_8015057C:
/* 8015057C 0014C1DC  38 A5 00 01 */	addi r5, r5, 1
/* 80150580 0014C1E0  42 00 FF 64 */	bdnz lbl_801504E4
lbl_80150584:
/* 80150584 0014C1E4  3A 31 00 01 */	addi r17, r17, 1
/* 80150588 0014C1E8  28 11 00 06 */	cmplwi r17, 6
/* 8015058C 0014C1EC  41 80 FE FC */	blt lbl_80150488
/* 80150590 0014C1F0  7F FF 93 78 */	or r31, r31, r18
lbl_80150594:
/* 80150594 0014C1F4  A0 18 00 96 */	lhz r0, 0x96(r24)
/* 80150598 0014C1F8  3A 60 00 00 */	li r19, 0
/* 8015059C 0014C1FC  54 00 97 FF */	rlwinm. r0, r0, 0x12, 0x1f, 0x1f
/* 801505A0 0014C200  40 82 01 34 */	bne lbl_801506D4
/* 801505A4 0014C204  3F 60 80 40 */	lis r27, lbl_803FC3D0@ha
/* 801505A8 0014C208  57 97 04 E6 */	rlwinm r23, r28, 0, 0x13, 0x13
/* 801505AC 0014C20C  3A 41 00 08 */	addi r18, r1, 8
/* 801505B0 0014C210  3B 21 00 20 */	addi r25, r1, 0x20
/* 801505B4 0014C214  3B 7B C3 D0 */	addi r27, r27, lbl_803FC3D0@l
/* 801505B8 0014C218  3A 20 00 00 */	li r17, 0
/* 801505BC 0014C21C  3B 42 8E 80 */	addi r26, r2, lbl_80641480-_SDA2_BASE_
/* 801505C0 0014C220  3A 00 00 02 */	li r16, 2
lbl_801505C4:
/* 801505C4 0014C224  28 1D 00 FF */	cmplwi r29, 0xff
/* 801505C8 0014C228  41 82 00 10 */	beq lbl_801505D8
/* 801505CC 0014C22C  56 20 06 3E */	clrlwi r0, r17, 0x18
/* 801505D0 0014C230  7C 1D 00 40 */	cmplw r29, r0
/* 801505D4 0014C234  40 82 00 F0 */	bne lbl_801506C4
lbl_801505D8:
/* 801505D8 0014C238  56 34 15 BA */	rlwinm r20, r17, 2, 0x16, 0x1d
/* 801505DC 0014C23C  7E B9 A0 2E */	lwzx r21, r25, r20
/* 801505E0 0014C240  7E A3 AB 78 */	mr r3, r21
/* 801505E4 0014C244  4B F0 65 F1 */	bl func_80056BD4
/* 801505E8 0014C248  2C 03 00 00 */	cmpwi r3, 0
/* 801505EC 0014C24C  41 82 00 D8 */	beq lbl_801506C4
/* 801505F0 0014C250  56 20 06 3E */	clrlwi r0, r17, 0x18
/* 801505F4 0014C254  7C 1A 00 AE */	lbzx r0, r26, r0
/* 801505F8 0014C258  7F 80 00 39 */	and. r0, r28, r0
/* 801505FC 0014C25C  40 82 00 C8 */	bne lbl_801506C4
/* 80150600 0014C260  7E A3 AB 78 */	mr r3, r21
/* 80150604 0014C264  38 80 00 06 */	li r4, 6
/* 80150608 0014C268  38 A0 00 00 */	li r5, 0
/* 8015060C 0014C26C  48 28 A8 F1 */	bl func_803DAEFC
/* 80150610 0014C270  54 64 04 3F */	clrlwi. r4, r3, 0x10
/* 80150614 0014C274  41 82 00 B0 */	beq lbl_801506C4
/* 80150618 0014C278  7C 1B A0 2E */	lwzx r0, r27, r20
/* 8015061C 0014C27C  38 A0 00 00 */	li r5, 0
/* 80150620 0014C280  7E 09 03 A6 */	mtctr r16
lbl_80150624:
/* 80150624 0014C284  54 A3 0D FC */	rlwinm r3, r5, 1, 0x17, 0x1e
/* 80150628 0014C288  7C 72 1A 2E */	lhzx r3, r18, r3
/* 8015062C 0014C28C  7C 04 18 40 */	cmplw r4, r3
/* 80150630 0014C290  40 82 00 24 */	bne lbl_80150654
/* 80150634 0014C294  28 1D 00 FF */	cmplwi r29, 0xff
/* 80150638 0014C298  7E 73 03 78 */	or r19, r19, r0
/* 8015063C 0014C29C  41 82 00 08 */	beq lbl_80150644
/* 80150640 0014C2A0  62 73 00 04 */	ori r19, r19, 4
lbl_80150644:
/* 80150644 0014C2A4  2C 17 00 00 */	cmpwi r23, 0
/* 80150648 0014C2A8  41 82 00 0C */	beq lbl_80150654
/* 8015064C 0014C2AC  38 60 00 04 */	li r3, 4
/* 80150650 0014C2B0  48 00 02 A8 */	b lbl_801508F8
lbl_80150654:
/* 80150654 0014C2B4  38 A5 00 01 */	addi r5, r5, 1
/* 80150658 0014C2B8  54 A3 0D FC */	rlwinm r3, r5, 1, 0x17, 0x1e
/* 8015065C 0014C2BC  7C 72 1A 2E */	lhzx r3, r18, r3
/* 80150660 0014C2C0  7C 04 18 40 */	cmplw r4, r3
/* 80150664 0014C2C4  40 82 00 24 */	bne lbl_80150688
/* 80150668 0014C2C8  28 1D 00 FF */	cmplwi r29, 0xff
/* 8015066C 0014C2CC  7E 73 03 78 */	or r19, r19, r0
/* 80150670 0014C2D0  41 82 00 08 */	beq lbl_80150678
/* 80150674 0014C2D4  62 73 00 04 */	ori r19, r19, 4
lbl_80150678:
/* 80150678 0014C2D8  2C 17 00 00 */	cmpwi r23, 0
/* 8015067C 0014C2DC  41 82 00 0C */	beq lbl_80150688
/* 80150680 0014C2E0  38 60 00 04 */	li r3, 4
/* 80150684 0014C2E4  48 00 02 74 */	b lbl_801508F8
lbl_80150688:
/* 80150688 0014C2E8  38 A5 00 01 */	addi r5, r5, 1
/* 8015068C 0014C2EC  54 A3 0D FC */	rlwinm r3, r5, 1, 0x17, 0x1e
/* 80150690 0014C2F0  7C 72 1A 2E */	lhzx r3, r18, r3
/* 80150694 0014C2F4  7C 04 18 40 */	cmplw r4, r3
/* 80150698 0014C2F8  40 82 00 24 */	bne lbl_801506BC
/* 8015069C 0014C2FC  28 1D 00 FF */	cmplwi r29, 0xff
/* 801506A0 0014C300  7E 73 03 78 */	or r19, r19, r0
/* 801506A4 0014C304  41 82 00 08 */	beq lbl_801506AC
/* 801506A8 0014C308  62 73 00 04 */	ori r19, r19, 4
lbl_801506AC:
/* 801506AC 0014C30C  2C 17 00 00 */	cmpwi r23, 0
/* 801506B0 0014C310  41 82 00 0C */	beq lbl_801506BC
/* 801506B4 0014C314  38 60 00 04 */	li r3, 4
/* 801506B8 0014C318  48 00 02 40 */	b lbl_801508F8
lbl_801506BC:
/* 801506BC 0014C31C  38 A5 00 01 */	addi r5, r5, 1
/* 801506C0 0014C320  42 00 FF 64 */	bdnz lbl_80150624
lbl_801506C4:
/* 801506C4 0014C324  3A 31 00 01 */	addi r17, r17, 1
/* 801506C8 0014C328  28 11 00 06 */	cmplwi r17, 6
/* 801506CC 0014C32C  41 80 FE F8 */	blt lbl_801505C4
/* 801506D0 0014C330  7F FF 9B 78 */	or r31, r31, r19
lbl_801506D4:
/* 801506D4 0014C334  A0 18 00 96 */	lhz r0, 0x96(r24)
/* 801506D8 0014C338  3A 60 00 00 */	li r19, 0
/* 801506DC 0014C33C  54 00 CF BE */	rlwinm r0, r0, 0x19, 0x1e, 0x1f
/* 801506E0 0014C340  28 00 00 03 */	cmplwi r0, 3
/* 801506E4 0014C344  40 82 00 AC */	bne lbl_80150790
/* 801506E8 0014C348  3E 00 80 40 */	lis r16, lbl_803FC3D0@ha
/* 801506EC 0014C34C  57 99 05 6A */	rlwinm r25, r28, 0, 0x15, 0x15
/* 801506F0 0014C350  3A 81 00 20 */	addi r20, r1, 0x20
/* 801506F4 0014C354  3A 20 00 00 */	li r17, 0
/* 801506F8 0014C358  3A 10 C3 D0 */	addi r16, r16, lbl_803FC3D0@l
/* 801506FC 0014C35C  3A 42 8E 80 */	addi r18, r2, lbl_80641480-_SDA2_BASE_
lbl_80150700:
/* 80150700 0014C360  28 1D 00 FF */	cmplwi r29, 0xff
/* 80150704 0014C364  41 82 00 10 */	beq lbl_80150714
/* 80150708 0014C368  56 20 06 3E */	clrlwi r0, r17, 0x18
/* 8015070C 0014C36C  7C 1D 00 40 */	cmplw r29, r0
/* 80150710 0014C370  40 82 00 70 */	bne lbl_80150780
lbl_80150714:
/* 80150714 0014C374  56 35 15 BA */	rlwinm r21, r17, 2, 0x16, 0x1d
/* 80150718 0014C378  7E D4 A8 2E */	lwzx r22, r20, r21
/* 8015071C 0014C37C  7E C3 B3 78 */	mr r3, r22
/* 80150720 0014C380  4B F0 64 B5 */	bl func_80056BD4
/* 80150724 0014C384  2C 03 00 00 */	cmpwi r3, 0
/* 80150728 0014C388  41 82 00 58 */	beq lbl_80150780
/* 8015072C 0014C38C  56 20 06 3E */	clrlwi r0, r17, 0x18
/* 80150730 0014C390  7C 12 00 AE */	lbzx r0, r18, r0
/* 80150734 0014C394  7F 80 00 39 */	and. r0, r28, r0
/* 80150738 0014C398  40 82 00 48 */	bne lbl_80150780
/* 8015073C 0014C39C  7E C3 B3 78 */	mr r3, r22
/* 80150740 0014C3A0  38 80 00 A0 */	li r4, 0xa0
/* 80150744 0014C3A4  38 A0 00 00 */	li r5, 0
/* 80150748 0014C3A8  48 28 A7 B5 */	bl func_803DAEFC
/* 8015074C 0014C3AC  A0 18 00 8E */	lhz r0, 0x8e(r24)
/* 80150750 0014C3B0  7C 7E 1A 14 */	add r3, r30, r3
/* 80150754 0014C3B4  7C 00 18 40 */	cmplw r0, r3
/* 80150758 0014C3B8  40 80 00 28 */	bge lbl_80150780
/* 8015075C 0014C3BC  7C 10 A8 2E */	lwzx r0, r16, r21
/* 80150760 0014C3C0  28 1D 00 FF */	cmplwi r29, 0xff
/* 80150764 0014C3C4  7E 73 03 78 */	or r19, r19, r0
/* 80150768 0014C3C8  41 82 00 08 */	beq lbl_80150770
/* 8015076C 0014C3CC  62 73 00 08 */	ori r19, r19, 8
lbl_80150770:
/* 80150770 0014C3D0  2C 19 00 00 */	cmpwi r25, 0
/* 80150774 0014C3D4  41 82 00 0C */	beq lbl_80150780
/* 80150778 0014C3D8  38 60 00 08 */	li r3, 8
/* 8015077C 0014C3DC  48 00 01 7C */	b lbl_801508F8
lbl_80150780:
/* 80150780 0014C3E0  3A 31 00 01 */	addi r17, r17, 1
/* 80150784 0014C3E4  28 11 00 06 */	cmplwi r17, 6
/* 80150788 0014C3E8  41 80 FF 78 */	blt lbl_80150700
/* 8015078C 0014C3EC  7F FF 9B 78 */	or r31, r31, r19
lbl_80150790:
/* 80150790 0014C3F0  3C 60 80 40 */	lis r3, lbl_803FC3D0@ha
/* 80150794 0014C3F4  38 00 00 02 */	li r0, 2
/* 80150798 0014C3F8  38 63 C3 D0 */	addi r3, r3, lbl_803FC3D0@l
/* 8015079C 0014C3FC  38 A0 00 00 */	li r5, 0
/* 801507A0 0014C400  38 C0 00 00 */	li r6, 0
/* 801507A4 0014C404  38 E0 00 00 */	li r7, 0
/* 801507A8 0014C408  38 82 8E 80 */	addi r4, r2, lbl_80641480-_SDA2_BASE_
/* 801507AC 0014C40C  7C 09 03 A6 */	mtctr r0
lbl_801507B0:
/* 801507B0 0014C410  54 E0 06 3E */	clrlwi r0, r7, 0x18
/* 801507B4 0014C414  7C 04 00 AE */	lbzx r0, r4, r0
/* 801507B8 0014C418  7F 80 00 39 */	and. r0, r28, r0
/* 801507BC 0014C41C  41 82 00 08 */	beq lbl_801507C4
/* 801507C0 0014C420  38 A5 00 01 */	addi r5, r5, 1
lbl_801507C4:
/* 801507C4 0014C424  2C 00 00 00 */	cmpwi r0, 0
/* 801507C8 0014C428  40 82 00 10 */	bne lbl_801507D8
/* 801507CC 0014C42C  54 E0 15 BA */	rlwinm r0, r7, 2, 0x16, 0x1d
/* 801507D0 0014C430  7C 03 00 2E */	lwzx r0, r3, r0
/* 801507D4 0014C434  7C C6 03 78 */	or r6, r6, r0
lbl_801507D8:
/* 801507D8 0014C438  38 E7 00 01 */	addi r7, r7, 1
/* 801507DC 0014C43C  54 E0 06 3E */	clrlwi r0, r7, 0x18
/* 801507E0 0014C440  7C 04 00 AE */	lbzx r0, r4, r0
/* 801507E4 0014C444  7F 80 00 39 */	and. r0, r28, r0
/* 801507E8 0014C448  41 82 00 08 */	beq lbl_801507F0
/* 801507EC 0014C44C  38 A5 00 01 */	addi r5, r5, 1
lbl_801507F0:
/* 801507F0 0014C450  2C 00 00 00 */	cmpwi r0, 0
/* 801507F4 0014C454  40 82 00 10 */	bne lbl_80150804
/* 801507F8 0014C458  54 E0 15 BA */	rlwinm r0, r7, 2, 0x16, 0x1d
/* 801507FC 0014C45C  7C 03 00 2E */	lwzx r0, r3, r0
/* 80150800 0014C460  7C C6 03 78 */	or r6, r6, r0
lbl_80150804:
/* 80150804 0014C464  38 E7 00 01 */	addi r7, r7, 1
/* 80150808 0014C468  54 E0 06 3E */	clrlwi r0, r7, 0x18
/* 8015080C 0014C46C  7C 04 00 AE */	lbzx r0, r4, r0
/* 80150810 0014C470  7F 80 00 39 */	and. r0, r28, r0
/* 80150814 0014C474  41 82 00 08 */	beq lbl_8015081C
/* 80150818 0014C478  38 A5 00 01 */	addi r5, r5, 1
lbl_8015081C:
/* 8015081C 0014C47C  2C 00 00 00 */	cmpwi r0, 0
/* 80150820 0014C480  40 82 00 10 */	bne lbl_80150830
/* 80150824 0014C484  54 E0 15 BA */	rlwinm r0, r7, 2, 0x16, 0x1d
/* 80150828 0014C488  7C 03 00 2E */	lwzx r0, r3, r0
/* 8015082C 0014C48C  7C C6 03 78 */	or r6, r6, r0
lbl_80150830:
/* 80150830 0014C490  38 E7 00 01 */	addi r7, r7, 1
/* 80150834 0014C494  42 00 FF 7C */	bdnz lbl_801507B0
/* 80150838 0014C498  57 80 04 21 */	rlwinm. r0, r28, 0, 0x10, 0x10
/* 8015083C 0014C49C  41 82 00 18 */	beq lbl_80150854
/* 80150840 0014C4A0  2C 05 00 00 */	cmpwi r5, 0
/* 80150844 0014C4A4  41 82 00 10 */	beq lbl_80150854
/* 80150848 0014C4A8  63 FF 04 00 */	ori r31, r31, 0x400
/* 8015084C 0014C4AC  7F E3 33 78 */	or r3, r31, r6
/* 80150850 0014C4B0  48 00 00 A8 */	b lbl_801508F8
lbl_80150854:
/* 80150854 0014C4B4  A0 18 00 90 */	lhz r0, 0x90(r24)
/* 80150858 0014C4B8  2C 00 00 07 */	cmpwi r0, 7
/* 8015085C 0014C4BC  41 82 00 40 */	beq lbl_8015089C
/* 80150860 0014C4C0  40 80 00 70 */	bge lbl_801508D0
/* 80150864 0014C4C4  2C 00 00 00 */	cmpwi r0, 0
/* 80150868 0014C4C8  41 82 00 08 */	beq lbl_80150870
/* 8015086C 0014C4CC  48 00 00 64 */	b lbl_801508D0
lbl_80150870:
/* 80150870 0014C4D0  80 18 00 08 */	lwz r0, 8(r24)
/* 80150874 0014C4D4  2C 00 00 01 */	cmpwi r0, 1
/* 80150878 0014C4D8  40 82 00 14 */	bne lbl_8015088C
/* 8015087C 0014C4DC  28 05 00 01 */	cmplwi r5, 1
/* 80150880 0014C4E0  40 81 00 74 */	ble lbl_801508F4
/* 80150884 0014C4E4  63 FF 04 00 */	ori r31, r31, 0x400
/* 80150888 0014C4E8  48 00 00 6C */	b lbl_801508F4
lbl_8015088C:
/* 8015088C 0014C4EC  2C 05 00 00 */	cmpwi r5, 0
/* 80150890 0014C4F0  41 82 00 64 */	beq lbl_801508F4
/* 80150894 0014C4F4  63 FF 04 00 */	ori r31, r31, 0x400
/* 80150898 0014C4F8  48 00 00 5C */	b lbl_801508F4
lbl_8015089C:
/* 8015089C 0014C4FC  80 18 00 08 */	lwz r0, 8(r24)
/* 801508A0 0014C500  2C 00 00 01 */	cmpwi r0, 1
/* 801508A4 0014C504  40 82 00 18 */	bne lbl_801508BC
/* 801508A8 0014C508  28 05 00 04 */	cmplwi r5, 4
/* 801508AC 0014C50C  40 82 00 48 */	bne lbl_801508F4
/* 801508B0 0014C510  63 FF 04 00 */	ori r31, r31, 0x400
/* 801508B4 0014C514  7F FF 33 78 */	or r31, r31, r6
/* 801508B8 0014C518  48 00 00 3C */	b lbl_801508F4
lbl_801508BC:
/* 801508BC 0014C51C  28 05 00 03 */	cmplwi r5, 3
/* 801508C0 0014C520  40 82 00 34 */	bne lbl_801508F4
/* 801508C4 0014C524  63 FF 04 00 */	ori r31, r31, 0x400
/* 801508C8 0014C528  7F FF 33 78 */	or r31, r31, r6
/* 801508CC 0014C52C  48 00 00 28 */	b lbl_801508F4
lbl_801508D0:
/* 801508D0 0014C530  28 00 00 01 */	cmplwi r0, 1
/* 801508D4 0014C534  40 82 00 0C */	bne lbl_801508E0
/* 801508D8 0014C538  38 00 00 02 */	li r0, 2
/* 801508DC 0014C53C  90 18 00 08 */	stw r0, 8(r24)
lbl_801508E0:
/* 801508E0 0014C540  A0 18 00 90 */	lhz r0, 0x90(r24)
/* 801508E4 0014C544  7C 05 00 40 */	cmplw r5, r0
/* 801508E8 0014C548  40 82 00 0C */	bne lbl_801508F4
/* 801508EC 0014C54C  63 FF 04 00 */	ori r31, r31, 0x400
/* 801508F0 0014C550  7F FF 33 78 */	or r31, r31, r6
lbl_801508F4:
/* 801508F4 0014C554  7F E3 FB 78 */	mr r3, r31
lbl_801508F8:
/* 801508F8 0014C558  39 61 00 80 */	addi r11, r1, 0x80
/* 801508FC 0014C55C  48 07 68 4D */	bl _restgpr_16
/* 80150900 0014C560  80 01 00 84 */	lwz r0, 0x84(r1)
/* 80150904 0014C564  7C 08 03 A6 */	mtlr r0
/* 80150908 0014C568  38 21 00 80 */	addi r1, r1, 0x80
/* 8015090C 0014C56C  4E 80 00 20 */	blr

.global func_80150910
func_80150910:
/* 80150910 0014C570  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80150914 0014C574  7C 08 02 A6 */	mflr r0
/* 80150918 0014C578  90 01 00 24 */	stw r0, 0x24(r1)
/* 8015091C 0014C57C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80150920 0014C580  3B E0 00 00 */	li r31, 0
/* 80150924 0014C584  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80150928 0014C588  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8015092C 0014C58C  7C 7D 1B 78 */	mr r29, r3
lbl_80150930:
/* 80150930 0014C590  7F A3 EB 78 */	mr r3, r29
/* 80150934 0014C594  7F E4 FB 78 */	mr r4, r31
/* 80150938 0014C598  48 28 E0 15 */	bl func_803DE94C
/* 8015093C 0014C59C  7C 7E 1B 78 */	mr r30, r3
/* 80150940 0014C5A0  4B F0 63 0D */	bl func_80056C4C
/* 80150944 0014C5A4  2C 03 00 00 */	cmpwi r3, 0
/* 80150948 0014C5A8  41 82 00 0C */	beq lbl_80150954
/* 8015094C 0014C5AC  7F C3 F3 78 */	mr r3, r30
/* 80150950 0014C5B0  48 00 03 D5 */	bl func_80150D24
lbl_80150954:
/* 80150954 0014C5B4  3B FF 00 01 */	addi r31, r31, 1
/* 80150958 0014C5B8  2C 1F 00 06 */	cmpwi r31, 6
/* 8015095C 0014C5BC  41 80 FF D4 */	blt lbl_80150930
/* 80150960 0014C5C0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80150964 0014C5C4  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80150968 0014C5C8  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8015096C 0014C5CC  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80150970 0014C5D0  7C 08 03 A6 */	mtlr r0
/* 80150974 0014C5D4  38 21 00 20 */	addi r1, r1, 0x20
/* 80150978 0014C5D8  4E 80 00 20 */	blr

.global func_8015097C
func_8015097C:
/* 8015097C 0014C5DC  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 80150980 0014C5E0  7C 08 02 A6 */	mflr r0
/* 80150984 0014C5E4  90 01 00 64 */	stw r0, 0x64(r1)
/* 80150988 0014C5E8  39 61 00 60 */	addi r11, r1, 0x60
/* 8015098C 0014C5EC  48 07 67 85 */	bl _savegpr_21
/* 80150990 0014C5F0  7C 75 1B 78 */	mr r21, r3
/* 80150994 0014C5F4  4B FC BF E1 */	bl func_8011C974
/* 80150998 0014C5F8  7C 78 1B 78 */	mr r24, r3
/* 8015099C 0014C5FC  7E A3 AB 78 */	mr r3, r21
/* 801509A0 0014C600  38 80 00 05 */	li r4, 5
/* 801509A4 0014C604  38 A0 00 00 */	li r5, 0
/* 801509A8 0014C608  48 28 D0 35 */	bl func_803DD9DC
/* 801509AC 0014C60C  7C 79 1B 78 */	mr r25, r3
/* 801509B0 0014C610  7E A3 AB 78 */	mr r3, r21
/* 801509B4 0014C614  38 80 00 00 */	li r4, 0
/* 801509B8 0014C618  38 A0 00 00 */	li r5, 0
/* 801509BC 0014C61C  48 28 D0 21 */	bl func_803DD9DC
/* 801509C0 0014C620  7C 7A 1B 78 */	mr r26, r3
/* 801509C4 0014C624  7E A3 AB 78 */	mr r3, r21
/* 801509C8 0014C628  38 80 00 A4 */	li r4, 0xa4
/* 801509CC 0014C62C  38 A0 00 00 */	li r5, 0
/* 801509D0 0014C630  48 28 D0 0D */	bl func_803DD9DC
/* 801509D4 0014C634  7C 7B 1B 78 */	mr r27, r3
/* 801509D8 0014C638  7E A3 AB 78 */	mr r3, r21
/* 801509DC 0014C63C  38 80 00 A5 */	li r4, 0xa5
/* 801509E0 0014C640  38 A0 00 00 */	li r5, 0
/* 801509E4 0014C644  48 28 CF F9 */	bl func_803DD9DC
/* 801509E8 0014C648  7C 7C 1B 78 */	mr r28, r3
/* 801509EC 0014C64C  7E A3 AB 78 */	mr r3, r21
/* 801509F0 0014C650  38 80 00 A6 */	li r4, 0xa6
/* 801509F4 0014C654  38 A0 00 00 */	li r5, 0
/* 801509F8 0014C658  48 28 CF E5 */	bl func_803DD9DC
/* 801509FC 0014C65C  7C 7D 1B 78 */	mr r29, r3
/* 80150A00 0014C660  7E A3 AB 78 */	mr r3, r21
/* 80150A04 0014C664  38 80 00 A7 */	li r4, 0xa7
/* 80150A08 0014C668  38 A0 00 00 */	li r5, 0
/* 80150A0C 0014C66C  48 28 CF D1 */	bl func_803DD9DC
/* 80150A10 0014C670  7C 7E 1B 78 */	mr r30, r3
/* 80150A14 0014C674  7E A3 AB 78 */	mr r3, r21
/* 80150A18 0014C678  38 80 00 A8 */	li r4, 0xa8
/* 80150A1C 0014C67C  38 A0 00 00 */	li r5, 0
/* 80150A20 0014C680  48 28 CF BD */	bl func_803DD9DC
/* 80150A24 0014C684  7C 7F 1B 78 */	mr r31, r3
/* 80150A28 0014C688  3A F8 57 60 */	addi r23, r24, 0x5760
/* 80150A2C 0014C68C  3A C0 00 00 */	li r22, 0
lbl_80150A30:
/* 80150A30 0014C690  7E E3 BB 78 */	mr r3, r23
/* 80150A34 0014C694  38 80 00 05 */	li r4, 5
/* 80150A38 0014C698  38 A0 00 00 */	li r5, 0
/* 80150A3C 0014C69C  48 28 CF A1 */	bl func_803DD9DC
/* 80150A40 0014C6A0  7C 19 18 40 */	cmplw r25, r3
/* 80150A44 0014C6A4  40 82 02 74 */	bne lbl_80150CB8
/* 80150A48 0014C6A8  7E E3 BB 78 */	mr r3, r23
/* 80150A4C 0014C6AC  38 80 00 00 */	li r4, 0
/* 80150A50 0014C6B0  38 A0 00 00 */	li r5, 0
/* 80150A54 0014C6B4  48 28 CF 89 */	bl func_803DD9DC
/* 80150A58 0014C6B8  7C 1A 18 40 */	cmplw r26, r3
/* 80150A5C 0014C6BC  40 82 02 5C */	bne lbl_80150CB8
/* 80150A60 0014C6C0  7E E3 BB 78 */	mr r3, r23
/* 80150A64 0014C6C4  38 80 00 A4 */	li r4, 0xa4
/* 80150A68 0014C6C8  38 A0 00 00 */	li r5, 0
/* 80150A6C 0014C6CC  48 28 CF 71 */	bl func_803DD9DC
/* 80150A70 0014C6D0  7C 1B 18 40 */	cmplw r27, r3
/* 80150A74 0014C6D4  40 82 02 44 */	bne lbl_80150CB8
/* 80150A78 0014C6D8  7E E3 BB 78 */	mr r3, r23
/* 80150A7C 0014C6DC  38 80 00 A5 */	li r4, 0xa5
/* 80150A80 0014C6E0  38 A0 00 00 */	li r5, 0
/* 80150A84 0014C6E4  48 28 CF 59 */	bl func_803DD9DC
/* 80150A88 0014C6E8  7C 1C 18 40 */	cmplw r28, r3
/* 80150A8C 0014C6EC  40 82 02 2C */	bne lbl_80150CB8
/* 80150A90 0014C6F0  7E E3 BB 78 */	mr r3, r23
/* 80150A94 0014C6F4  38 80 00 A6 */	li r4, 0xa6
/* 80150A98 0014C6F8  38 A0 00 00 */	li r5, 0
/* 80150A9C 0014C6FC  48 28 CF 41 */	bl func_803DD9DC
/* 80150AA0 0014C700  7C 1D 18 40 */	cmplw r29, r3
/* 80150AA4 0014C704  40 82 02 14 */	bne lbl_80150CB8
/* 80150AA8 0014C708  7E E3 BB 78 */	mr r3, r23
/* 80150AAC 0014C70C  38 80 00 A7 */	li r4, 0xa7
/* 80150AB0 0014C710  38 A0 00 00 */	li r5, 0
/* 80150AB4 0014C714  48 28 CF 29 */	bl func_803DD9DC
/* 80150AB8 0014C718  7C 1E 18 40 */	cmplw r30, r3
/* 80150ABC 0014C71C  40 82 01 FC */	bne lbl_80150CB8
/* 80150AC0 0014C720  7E E3 BB 78 */	mr r3, r23
/* 80150AC4 0014C724  38 80 00 A8 */	li r4, 0xa8
/* 80150AC8 0014C728  38 A0 00 00 */	li r5, 0
/* 80150ACC 0014C72C  48 28 CF 11 */	bl func_803DD9DC
/* 80150AD0 0014C730  7C 1F 18 40 */	cmplw r31, r3
/* 80150AD4 0014C734  40 82 01 E4 */	bne lbl_80150CB8
/* 80150AD8 0014C738  7E A3 AB 78 */	mr r3, r21
/* 80150ADC 0014C73C  38 80 00 A2 */	li r4, 0xa2
/* 80150AE0 0014C740  38 A0 00 00 */	li r5, 0
/* 80150AE4 0014C744  48 28 CE F9 */	bl func_803DD9DC
/* 80150AE8 0014C748  90 61 00 20 */	stw r3, 0x20(r1)
/* 80150AEC 0014C74C  7E A3 AB 78 */	mr r3, r21
/* 80150AF0 0014C750  38 80 00 3A */	li r4, 0x3a
/* 80150AF4 0014C754  38 A0 00 00 */	li r5, 0
/* 80150AF8 0014C758  48 28 CE E5 */	bl func_803DD9DC
/* 80150AFC 0014C75C  90 61 00 1C */	stw r3, 0x1c(r1)
/* 80150B00 0014C760  7E A3 AB 78 */	mr r3, r21
/* 80150B04 0014C764  38 80 00 3B */	li r4, 0x3b
/* 80150B08 0014C768  38 A0 00 00 */	li r5, 0
/* 80150B0C 0014C76C  48 28 CE D1 */	bl func_803DD9DC
/* 80150B10 0014C770  90 61 00 18 */	stw r3, 0x18(r1)
/* 80150B14 0014C774  7E A3 AB 78 */	mr r3, r21
/* 80150B18 0014C778  38 80 00 3C */	li r4, 0x3c
/* 80150B1C 0014C77C  38 A0 00 00 */	li r5, 0
/* 80150B20 0014C780  48 28 CE BD */	bl func_803DD9DC
/* 80150B24 0014C784  90 61 00 14 */	stw r3, 0x14(r1)
/* 80150B28 0014C788  7E A3 AB 78 */	mr r3, r21
/* 80150B2C 0014C78C  38 80 00 3D */	li r4, 0x3d
/* 80150B30 0014C790  38 A0 00 00 */	li r5, 0
/* 80150B34 0014C794  48 28 CE A9 */	bl func_803DD9DC
/* 80150B38 0014C798  90 61 00 10 */	stw r3, 0x10(r1)
/* 80150B3C 0014C79C  7E A3 AB 78 */	mr r3, r21
/* 80150B40 0014C7A0  38 80 00 9F */	li r4, 0x9f
/* 80150B44 0014C7A4  38 A0 00 00 */	li r5, 0
/* 80150B48 0014C7A8  48 28 CE 95 */	bl func_803DD9DC
/* 80150B4C 0014C7AC  90 61 00 0C */	stw r3, 0xc(r1)
/* 80150B50 0014C7B0  7E A3 AB 78 */	mr r3, r21
/* 80150B54 0014C7B4  38 80 00 06 */	li r4, 6
/* 80150B58 0014C7B8  38 A0 00 00 */	li r5, 0
/* 80150B5C 0014C7BC  48 28 CE 81 */	bl func_803DD9DC
/* 80150B60 0014C7C0  90 61 00 08 */	stw r3, 8(r1)
/* 80150B64 0014C7C4  7E E3 BB 78 */	mr r3, r23
/* 80150B68 0014C7C8  38 80 00 36 */	li r4, 0x36
/* 80150B6C 0014C7CC  38 A0 00 00 */	li r5, 0
/* 80150B70 0014C7D0  48 28 CE 6D */	bl func_803DD9DC
/* 80150B74 0014C7D4  28 03 00 A6 */	cmplwi r3, 0xa6
/* 80150B78 0014C7D8  40 82 00 24 */	bne lbl_80150B9C
/* 80150B7C 0014C7DC  7E A3 AB 78 */	mr r3, r21
/* 80150B80 0014C7E0  38 80 00 36 */	li r4, 0x36
/* 80150B84 0014C7E4  38 A0 00 00 */	li r5, 0
/* 80150B88 0014C7E8  48 28 CE 55 */	bl func_803DD9DC
/* 80150B8C 0014C7EC  28 03 00 A6 */	cmplwi r3, 0xa6
/* 80150B90 0014C7F0  41 82 00 0C */	beq lbl_80150B9C
/* 80150B94 0014C7F4  38 00 00 00 */	li r0, 0
/* 80150B98 0014C7F8  90 01 00 1C */	stw r0, 0x1c(r1)
lbl_80150B9C:
/* 80150B9C 0014C7FC  7E E3 BB 78 */	mr r3, r23
/* 80150BA0 0014C800  38 80 00 37 */	li r4, 0x37
/* 80150BA4 0014C804  38 A0 00 00 */	li r5, 0
/* 80150BA8 0014C808  48 28 CE 35 */	bl func_803DD9DC
/* 80150BAC 0014C80C  28 03 00 A6 */	cmplwi r3, 0xa6
/* 80150BB0 0014C810  40 82 00 24 */	bne lbl_80150BD4
/* 80150BB4 0014C814  7E A3 AB 78 */	mr r3, r21
/* 80150BB8 0014C818  38 80 00 37 */	li r4, 0x37
/* 80150BBC 0014C81C  38 A0 00 00 */	li r5, 0
/* 80150BC0 0014C820  48 28 CE 1D */	bl func_803DD9DC
/* 80150BC4 0014C824  28 03 00 A6 */	cmplwi r3, 0xa6
/* 80150BC8 0014C828  41 82 00 0C */	beq lbl_80150BD4
/* 80150BCC 0014C82C  38 00 00 00 */	li r0, 0
/* 80150BD0 0014C830  90 01 00 18 */	stw r0, 0x18(r1)
lbl_80150BD4:
/* 80150BD4 0014C834  7E E3 BB 78 */	mr r3, r23
/* 80150BD8 0014C838  38 80 00 38 */	li r4, 0x38
/* 80150BDC 0014C83C  38 A0 00 00 */	li r5, 0
/* 80150BE0 0014C840  48 28 CD FD */	bl func_803DD9DC
/* 80150BE4 0014C844  28 03 00 A6 */	cmplwi r3, 0xa6
/* 80150BE8 0014C848  40 82 00 24 */	bne lbl_80150C0C
/* 80150BEC 0014C84C  7E A3 AB 78 */	mr r3, r21
/* 80150BF0 0014C850  38 80 00 38 */	li r4, 0x38
/* 80150BF4 0014C854  38 A0 00 00 */	li r5, 0
/* 80150BF8 0014C858  48 28 CD E5 */	bl func_803DD9DC
/* 80150BFC 0014C85C  28 03 00 A6 */	cmplwi r3, 0xa6
/* 80150C00 0014C860  41 82 00 0C */	beq lbl_80150C0C
/* 80150C04 0014C864  38 00 00 00 */	li r0, 0
/* 80150C08 0014C868  90 01 00 14 */	stw r0, 0x14(r1)
lbl_80150C0C:
/* 80150C0C 0014C86C  7E E3 BB 78 */	mr r3, r23
/* 80150C10 0014C870  38 80 00 39 */	li r4, 0x39
/* 80150C14 0014C874  38 A0 00 00 */	li r5, 0
/* 80150C18 0014C878  48 28 CD C5 */	bl func_803DD9DC
/* 80150C1C 0014C87C  28 03 00 A6 */	cmplwi r3, 0xa6
/* 80150C20 0014C880  40 82 00 24 */	bne lbl_80150C44
/* 80150C24 0014C884  7E A3 AB 78 */	mr r3, r21
/* 80150C28 0014C888  38 80 00 39 */	li r4, 0x39
/* 80150C2C 0014C88C  38 A0 00 00 */	li r5, 0
/* 80150C30 0014C890  48 28 CD AD */	bl func_803DD9DC
/* 80150C34 0014C894  28 03 00 A6 */	cmplwi r3, 0xa6
/* 80150C38 0014C898  41 82 00 0C */	beq lbl_80150C44
/* 80150C3C 0014C89C  38 00 00 00 */	li r0, 0
/* 80150C40 0014C8A0  90 01 00 10 */	stw r0, 0x10(r1)
lbl_80150C44:
/* 80150C44 0014C8A4  7E E3 BB 78 */	mr r3, r23
/* 80150C48 0014C8A8  38 A1 00 20 */	addi r5, r1, 0x20
/* 80150C4C 0014C8AC  38 80 00 A2 */	li r4, 0xa2
/* 80150C50 0014C8B0  48 28 A8 D5 */	bl func_803DB524
/* 80150C54 0014C8B4  7E E3 BB 78 */	mr r3, r23
/* 80150C58 0014C8B8  38 A1 00 1C */	addi r5, r1, 0x1c
/* 80150C5C 0014C8BC  38 80 00 3A */	li r4, 0x3a
/* 80150C60 0014C8C0  48 28 A8 C5 */	bl func_803DB524
/* 80150C64 0014C8C4  7E E3 BB 78 */	mr r3, r23
/* 80150C68 0014C8C8  38 A1 00 18 */	addi r5, r1, 0x18
/* 80150C6C 0014C8CC  38 80 00 3B */	li r4, 0x3b
/* 80150C70 0014C8D0  48 28 A8 B5 */	bl func_803DB524
/* 80150C74 0014C8D4  7E E3 BB 78 */	mr r3, r23
/* 80150C78 0014C8D8  38 A1 00 14 */	addi r5, r1, 0x14
/* 80150C7C 0014C8DC  38 80 00 3C */	li r4, 0x3c
/* 80150C80 0014C8E0  48 28 A8 A5 */	bl func_803DB524
/* 80150C84 0014C8E4  7E E3 BB 78 */	mr r3, r23
/* 80150C88 0014C8E8  38 A1 00 10 */	addi r5, r1, 0x10
/* 80150C8C 0014C8EC  38 80 00 3D */	li r4, 0x3d
/* 80150C90 0014C8F0  48 28 A8 95 */	bl func_803DB524
/* 80150C94 0014C8F4  7E E3 BB 78 */	mr r3, r23
/* 80150C98 0014C8F8  38 A1 00 0C */	addi r5, r1, 0xc
/* 80150C9C 0014C8FC  38 80 00 9F */	li r4, 0x9f
/* 80150CA0 0014C900  48 28 A8 85 */	bl func_803DB524
/* 80150CA4 0014C904  7E E3 BB 78 */	mr r3, r23
/* 80150CA8 0014C908  38 A1 00 08 */	addi r5, r1, 8
/* 80150CAC 0014C90C  38 80 00 06 */	li r4, 6
/* 80150CB0 0014C910  48 28 A8 75 */	bl func_803DB524
/* 80150CB4 0014C914  48 00 00 58 */	b lbl_80150D0C
lbl_80150CB8:
/* 80150CB8 0014C918  3A D6 00 01 */	addi r22, r22, 1
/* 80150CBC 0014C91C  3A F7 00 DC */	addi r23, r23, 0xdc
/* 80150CC0 0014C920  28 16 00 06 */	cmplwi r22, 6
/* 80150CC4 0014C924  41 80 FD 6C */	blt lbl_80150A30
/* 80150CC8 0014C928  3B 18 57 60 */	addi r24, r24, 0x5760
/* 80150CCC 0014C92C  3A C0 00 00 */	li r22, 0
lbl_80150CD0:
/* 80150CD0 0014C930  7F 03 C3 78 */	mr r3, r24
/* 80150CD4 0014C934  4B F0 5F 79 */	bl func_80056C4C
/* 80150CD8 0014C938  2C 03 00 00 */	cmpwi r3, 0
/* 80150CDC 0014C93C  40 82 00 20 */	bne lbl_80150CFC
/* 80150CE0 0014C940  7E A3 AB 78 */	mr r3, r21
/* 80150CE4 0014C944  48 28 B4 B9 */	bl func_803DC19C
/* 80150CE8 0014C948  7F 04 C3 78 */	mr r4, r24
/* 80150CEC 0014C94C  48 28 BA 5D */	bl func_803DC748
/* 80150CF0 0014C950  7E A3 AB 78 */	mr r3, r21
/* 80150CF4 0014C954  4B FF FC 89 */	bl func_8015097C
/* 80150CF8 0014C958  48 00 00 14 */	b lbl_80150D0C
lbl_80150CFC:
/* 80150CFC 0014C95C  3A D6 00 01 */	addi r22, r22, 1
/* 80150D00 0014C960  3B 18 00 DC */	addi r24, r24, 0xdc
/* 80150D04 0014C964  28 16 00 06 */	cmplwi r22, 6
/* 80150D08 0014C968  41 80 FF C8 */	blt lbl_80150CD0
lbl_80150D0C:
/* 80150D0C 0014C96C  39 61 00 60 */	addi r11, r1, 0x60
/* 80150D10 0014C970  48 07 64 4D */	bl _restgpr_21
/* 80150D14 0014C974  80 01 00 64 */	lwz r0, 0x64(r1)
/* 80150D18 0014C978  7C 08 03 A6 */	mtlr r0
/* 80150D1C 0014C97C  38 21 00 60 */	addi r1, r1, 0x60
/* 80150D20 0014C980  4E 80 00 20 */	blr

.global func_80150D24
func_80150D24:
/* 80150D24 0014C984  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 80150D28 0014C988  7C 08 02 A6 */	mflr r0
/* 80150D2C 0014C98C  90 01 00 54 */	stw r0, 0x54(r1)
/* 80150D30 0014C990  39 61 00 50 */	addi r11, r1, 0x50
/* 80150D34 0014C994  48 07 63 E1 */	bl _savegpr_22
/* 80150D38 0014C998  7C 76 1B 78 */	mr r22, r3
/* 80150D3C 0014C99C  4B FC BC 39 */	bl func_8011C974
/* 80150D40 0014C9A0  7C 78 1B 78 */	mr r24, r3
/* 80150D44 0014C9A4  7E C3 B3 78 */	mr r3, r22
/* 80150D48 0014C9A8  38 80 00 05 */	li r4, 5
/* 80150D4C 0014C9AC  38 A0 00 00 */	li r5, 0
/* 80150D50 0014C9B0  48 28 CC 8D */	bl func_803DD9DC
/* 80150D54 0014C9B4  7C 79 1B 78 */	mr r25, r3
/* 80150D58 0014C9B8  7E C3 B3 78 */	mr r3, r22
/* 80150D5C 0014C9BC  38 80 00 00 */	li r4, 0
/* 80150D60 0014C9C0  38 A0 00 00 */	li r5, 0
/* 80150D64 0014C9C4  48 28 CC 79 */	bl func_803DD9DC
/* 80150D68 0014C9C8  7C 7A 1B 78 */	mr r26, r3
/* 80150D6C 0014C9CC  7E C3 B3 78 */	mr r3, r22
/* 80150D70 0014C9D0  38 80 00 A4 */	li r4, 0xa4
/* 80150D74 0014C9D4  38 A0 00 00 */	li r5, 0
/* 80150D78 0014C9D8  48 28 CC 65 */	bl func_803DD9DC
/* 80150D7C 0014C9DC  7C 7B 1B 78 */	mr r27, r3
/* 80150D80 0014C9E0  7E C3 B3 78 */	mr r3, r22
/* 80150D84 0014C9E4  38 80 00 A5 */	li r4, 0xa5
/* 80150D88 0014C9E8  38 A0 00 00 */	li r5, 0
/* 80150D8C 0014C9EC  48 28 CC 51 */	bl func_803DD9DC
/* 80150D90 0014C9F0  7C 7C 1B 78 */	mr r28, r3
/* 80150D94 0014C9F4  7E C3 B3 78 */	mr r3, r22
/* 80150D98 0014C9F8  38 80 00 A6 */	li r4, 0xa6
/* 80150D9C 0014C9FC  38 A0 00 00 */	li r5, 0
/* 80150DA0 0014CA00  48 28 CC 3D */	bl func_803DD9DC
/* 80150DA4 0014CA04  7C 7D 1B 78 */	mr r29, r3
/* 80150DA8 0014CA08  7E C3 B3 78 */	mr r3, r22
/* 80150DAC 0014CA0C  38 80 00 A7 */	li r4, 0xa7
/* 80150DB0 0014CA10  38 A0 00 00 */	li r5, 0
/* 80150DB4 0014CA14  48 28 CC 29 */	bl func_803DD9DC
/* 80150DB8 0014CA18  7C 7E 1B 78 */	mr r30, r3
/* 80150DBC 0014CA1C  7E C3 B3 78 */	mr r3, r22
/* 80150DC0 0014CA20  38 80 00 A8 */	li r4, 0xa8
/* 80150DC4 0014CA24  38 A0 00 00 */	li r5, 0
/* 80150DC8 0014CA28  48 28 CC 15 */	bl func_803DD9DC
/* 80150DCC 0014CA2C  7C 7F 1B 78 */	mr r31, r3
/* 80150DD0 0014CA30  3B 18 57 60 */	addi r24, r24, 0x5760
/* 80150DD4 0014CA34  3A E0 00 00 */	li r23, 0
lbl_80150DD8:
/* 80150DD8 0014CA38  7F 03 C3 78 */	mr r3, r24
/* 80150DDC 0014CA3C  38 80 00 05 */	li r4, 5
/* 80150DE0 0014CA40  38 A0 00 00 */	li r5, 0
/* 80150DE4 0014CA44  48 28 CB F9 */	bl func_803DD9DC
/* 80150DE8 0014CA48  7C 19 18 40 */	cmplw r25, r3
/* 80150DEC 0014CA4C  40 82 01 94 */	bne lbl_80150F80
/* 80150DF0 0014CA50  7F 03 C3 78 */	mr r3, r24
/* 80150DF4 0014CA54  38 80 00 00 */	li r4, 0
/* 80150DF8 0014CA58  38 A0 00 00 */	li r5, 0
/* 80150DFC 0014CA5C  48 28 CB E1 */	bl func_803DD9DC
/* 80150E00 0014CA60  7C 1A 18 40 */	cmplw r26, r3
/* 80150E04 0014CA64  40 82 01 7C */	bne lbl_80150F80
/* 80150E08 0014CA68  7F 03 C3 78 */	mr r3, r24
/* 80150E0C 0014CA6C  38 80 00 A4 */	li r4, 0xa4
/* 80150E10 0014CA70  38 A0 00 00 */	li r5, 0
/* 80150E14 0014CA74  48 28 CB C9 */	bl func_803DD9DC
/* 80150E18 0014CA78  7C 1B 18 40 */	cmplw r27, r3
/* 80150E1C 0014CA7C  40 82 01 64 */	bne lbl_80150F80
/* 80150E20 0014CA80  7F 03 C3 78 */	mr r3, r24
/* 80150E24 0014CA84  38 80 00 A5 */	li r4, 0xa5
/* 80150E28 0014CA88  38 A0 00 00 */	li r5, 0
/* 80150E2C 0014CA8C  48 28 CB B1 */	bl func_803DD9DC
/* 80150E30 0014CA90  7C 1C 18 40 */	cmplw r28, r3
/* 80150E34 0014CA94  40 82 01 4C */	bne lbl_80150F80
/* 80150E38 0014CA98  7F 03 C3 78 */	mr r3, r24
/* 80150E3C 0014CA9C  38 80 00 A6 */	li r4, 0xa6
/* 80150E40 0014CAA0  38 A0 00 00 */	li r5, 0
/* 80150E44 0014CAA4  48 28 CB 99 */	bl func_803DD9DC
/* 80150E48 0014CAA8  7C 1D 18 40 */	cmplw r29, r3
/* 80150E4C 0014CAAC  40 82 01 34 */	bne lbl_80150F80
/* 80150E50 0014CAB0  7F 03 C3 78 */	mr r3, r24
/* 80150E54 0014CAB4  38 80 00 A7 */	li r4, 0xa7
/* 80150E58 0014CAB8  38 A0 00 00 */	li r5, 0
/* 80150E5C 0014CABC  48 28 CB 81 */	bl func_803DD9DC
/* 80150E60 0014CAC0  7C 1E 18 40 */	cmplw r30, r3
/* 80150E64 0014CAC4  40 82 01 1C */	bne lbl_80150F80
/* 80150E68 0014CAC8  7F 03 C3 78 */	mr r3, r24
/* 80150E6C 0014CACC  38 80 00 A8 */	li r4, 0xa8
/* 80150E70 0014CAD0  38 A0 00 00 */	li r5, 0
/* 80150E74 0014CAD4  48 28 CB 69 */	bl func_803DD9DC
/* 80150E78 0014CAD8  7C 1F 18 40 */	cmplw r31, r3
/* 80150E7C 0014CADC  40 82 01 04 */	bne lbl_80150F80
/* 80150E80 0014CAE0  7F 03 C3 78 */	mr r3, r24
/* 80150E84 0014CAE4  38 80 00 A2 */	li r4, 0xa2
/* 80150E88 0014CAE8  38 A0 00 00 */	li r5, 0
/* 80150E8C 0014CAEC  48 28 CB 51 */	bl func_803DD9DC
/* 80150E90 0014CAF0  90 61 00 20 */	stw r3, 0x20(r1)
/* 80150E94 0014CAF4  7F 03 C3 78 */	mr r3, r24
/* 80150E98 0014CAF8  38 80 00 3A */	li r4, 0x3a
/* 80150E9C 0014CAFC  38 A0 00 00 */	li r5, 0
/* 80150EA0 0014CB00  48 28 CB 3D */	bl func_803DD9DC
/* 80150EA4 0014CB04  90 61 00 1C */	stw r3, 0x1c(r1)
/* 80150EA8 0014CB08  7F 03 C3 78 */	mr r3, r24
/* 80150EAC 0014CB0C  38 80 00 3B */	li r4, 0x3b
/* 80150EB0 0014CB10  38 A0 00 00 */	li r5, 0
/* 80150EB4 0014CB14  48 28 CB 29 */	bl func_803DD9DC
/* 80150EB8 0014CB18  90 61 00 18 */	stw r3, 0x18(r1)
/* 80150EBC 0014CB1C  7F 03 C3 78 */	mr r3, r24
/* 80150EC0 0014CB20  38 80 00 3C */	li r4, 0x3c
/* 80150EC4 0014CB24  38 A0 00 00 */	li r5, 0
/* 80150EC8 0014CB28  48 28 CB 15 */	bl func_803DD9DC
/* 80150ECC 0014CB2C  90 61 00 14 */	stw r3, 0x14(r1)
/* 80150ED0 0014CB30  7F 03 C3 78 */	mr r3, r24
/* 80150ED4 0014CB34  38 80 00 3D */	li r4, 0x3d
/* 80150ED8 0014CB38  38 A0 00 00 */	li r5, 0
/* 80150EDC 0014CB3C  48 28 CB 01 */	bl func_803DD9DC
/* 80150EE0 0014CB40  90 61 00 10 */	stw r3, 0x10(r1)
/* 80150EE4 0014CB44  7F 03 C3 78 */	mr r3, r24
/* 80150EE8 0014CB48  38 80 00 9F */	li r4, 0x9f
/* 80150EEC 0014CB4C  38 A0 00 00 */	li r5, 0
/* 80150EF0 0014CB50  48 28 CA ED */	bl func_803DD9DC
/* 80150EF4 0014CB54  90 61 00 0C */	stw r3, 0xc(r1)
/* 80150EF8 0014CB58  7F 03 C3 78 */	mr r3, r24
/* 80150EFC 0014CB5C  38 80 00 06 */	li r4, 6
/* 80150F00 0014CB60  38 A0 00 00 */	li r5, 0
/* 80150F04 0014CB64  48 28 CA D9 */	bl func_803DD9DC
/* 80150F08 0014CB68  90 61 00 08 */	stw r3, 8(r1)
/* 80150F0C 0014CB6C  7E C3 B3 78 */	mr r3, r22
/* 80150F10 0014CB70  38 A1 00 20 */	addi r5, r1, 0x20
/* 80150F14 0014CB74  38 80 00 A2 */	li r4, 0xa2
/* 80150F18 0014CB78  48 28 A6 0D */	bl func_803DB524
/* 80150F1C 0014CB7C  7E C3 B3 78 */	mr r3, r22
/* 80150F20 0014CB80  38 A1 00 1C */	addi r5, r1, 0x1c
/* 80150F24 0014CB84  38 80 00 3A */	li r4, 0x3a
/* 80150F28 0014CB88  48 28 A5 FD */	bl func_803DB524
/* 80150F2C 0014CB8C  7E C3 B3 78 */	mr r3, r22
/* 80150F30 0014CB90  38 A1 00 18 */	addi r5, r1, 0x18
/* 80150F34 0014CB94  38 80 00 3B */	li r4, 0x3b
/* 80150F38 0014CB98  48 28 A5 ED */	bl func_803DB524
/* 80150F3C 0014CB9C  7E C3 B3 78 */	mr r3, r22
/* 80150F40 0014CBA0  38 A1 00 14 */	addi r5, r1, 0x14
/* 80150F44 0014CBA4  38 80 00 3C */	li r4, 0x3c
/* 80150F48 0014CBA8  48 28 A5 DD */	bl func_803DB524
/* 80150F4C 0014CBAC  7E C3 B3 78 */	mr r3, r22
/* 80150F50 0014CBB0  38 A1 00 10 */	addi r5, r1, 0x10
/* 80150F54 0014CBB4  38 80 00 3D */	li r4, 0x3d
/* 80150F58 0014CBB8  48 28 A5 CD */	bl func_803DB524
/* 80150F5C 0014CBBC  7E C3 B3 78 */	mr r3, r22
/* 80150F60 0014CBC0  38 A1 00 0C */	addi r5, r1, 0xc
/* 80150F64 0014CBC4  38 80 00 9F */	li r4, 0x9f
/* 80150F68 0014CBC8  48 28 A5 BD */	bl func_803DB524
/* 80150F6C 0014CBCC  7E C3 B3 78 */	mr r3, r22
/* 80150F70 0014CBD0  38 A1 00 08 */	addi r5, r1, 8
/* 80150F74 0014CBD4  38 80 00 06 */	li r4, 6
/* 80150F78 0014CBD8  48 28 A5 AD */	bl func_803DB524
/* 80150F7C 0014CBDC  48 00 00 14 */	b lbl_80150F90
lbl_80150F80:
/* 80150F80 0014CBE0  3A F7 00 01 */	addi r23, r23, 1
/* 80150F84 0014CBE4  3B 18 00 DC */	addi r24, r24, 0xdc
/* 80150F88 0014CBE8  28 17 00 06 */	cmplwi r23, 6
/* 80150F8C 0014CBEC  41 80 FE 4C */	blt lbl_80150DD8
lbl_80150F90:
/* 80150F90 0014CBF0  39 61 00 50 */	addi r11, r1, 0x50
/* 80150F94 0014CBF4  48 07 61 CD */	bl _restgpr_22
/* 80150F98 0014CBF8  80 01 00 54 */	lwz r0, 0x54(r1)
/* 80150F9C 0014CBFC  7C 08 03 A6 */	mtlr r0
/* 80150FA0 0014CC00  38 21 00 50 */	addi r1, r1, 0x50
/* 80150FA4 0014CC04  4E 80 00 20 */	blr

.global func_80150FA8
func_80150FA8:
/* 80150FA8 0014CC08  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 80150FAC 0014CC0C  7C 08 02 A6 */	mflr r0
/* 80150FB0 0014CC10  90 01 00 44 */	stw r0, 0x44(r1)
/* 80150FB4 0014CC14  39 61 00 40 */	addi r11, r1, 0x40
/* 80150FB8 0014CC18  48 07 61 59 */	bl _savegpr_21
/* 80150FBC 0014CC1C  7C 75 1B 78 */	mr r21, r3
/* 80150FC0 0014CC20  7C 96 23 78 */	mr r22, r4
/* 80150FC4 0014CC24  4B FC B9 B1 */	bl func_8011C974
/* 80150FC8 0014CC28  3F A0 80 42 */	lis r29, lbl_8041E210@ha
/* 80150FCC 0014CC2C  3B E3 4B 80 */	addi r31, r3, 0x4b80
/* 80150FD0 0014CC30  3B C3 21 F8 */	addi r30, r3, 0x21f8
/* 80150FD4 0014CC34  56 BC 05 EE */	rlwinm r28, r21, 0, 0x17, 0x17
/* 80150FD8 0014CC38  3B BD E2 10 */	addi r29, r29, lbl_8041E210@l
/* 80150FDC 0014CC3C  56 BB 05 AC */	rlwinm r27, r21, 0, 0x16, 0x16
/* 80150FE0 0014CC40  56 BA 05 6A */	rlwinm r26, r21, 0, 0x15, 0x15
/* 80150FE4 0014CC44  56 B9 05 28 */	rlwinm r25, r21, 0, 0x14, 0x14
/* 80150FE8 0014CC48  3A E0 00 00 */	li r23, 0
lbl_80150FEC:
/* 80150FEC 0014CC4C  2C 16 00 00 */	cmpwi r22, 0
/* 80150FF0 0014CC50  41 82 00 0C */	beq lbl_80150FFC
/* 80150FF4 0014CC54  7F F8 FB 78 */	mr r24, r31
/* 80150FF8 0014CC58  48 00 00 08 */	b lbl_80151000
lbl_80150FFC:
/* 80150FFC 0014CC5C  7F D8 F3 78 */	mr r24, r30
lbl_80151000:
/* 80151000 0014CC60  7F 03 C3 78 */	mr r3, r24
/* 80151004 0014CC64  4B F0 5B D1 */	bl func_80056BD4
/* 80151008 0014CC68  2C 03 00 00 */	cmpwi r3, 0
/* 8015100C 0014CC6C  41 82 00 7C */	beq lbl_80151088
/* 80151010 0014CC70  80 8D 82 C8 */	lwz r4, lbl_8063D588-_SDA_BASE_(r13)
/* 80151014 0014CC74  7F 03 C3 78 */	mr r3, r24
/* 80151018 0014CC78  48 28 B7 31 */	bl func_803DC748
/* 8015101C 0014CC7C  80 1D 00 00 */	lwz r0, 0(r29)
/* 80151020 0014CC80  7E A0 00 39 */	and. r0, r21, r0
/* 80151024 0014CC84  41 82 00 64 */	beq lbl_80151088
/* 80151028 0014CC88  2C 1C 00 00 */	cmpwi r28, 0
/* 8015102C 0014CC8C  41 82 00 14 */	beq lbl_80151040
/* 80151030 0014CC90  80 6D 82 C8 */	lwz r3, lbl_8063D588-_SDA_BASE_(r13)
/* 80151034 0014CC94  7E C5 B3 78 */	mr r5, r22
/* 80151038 0014CC98  38 80 01 00 */	li r4, 0x100
/* 8015103C 0014CC9C  48 00 00 7D */	bl func_801510B8
lbl_80151040:
/* 80151040 0014CCA0  2C 1B 00 00 */	cmpwi r27, 0
/* 80151044 0014CCA4  41 82 00 14 */	beq lbl_80151058
/* 80151048 0014CCA8  80 6D 82 C8 */	lwz r3, lbl_8063D588-_SDA_BASE_(r13)
/* 8015104C 0014CCAC  7E C5 B3 78 */	mr r5, r22
/* 80151050 0014CCB0  38 80 02 00 */	li r4, 0x200
/* 80151054 0014CCB4  48 00 00 65 */	bl func_801510B8
lbl_80151058:
/* 80151058 0014CCB8  2C 1A 00 00 */	cmpwi r26, 0
/* 8015105C 0014CCBC  41 82 00 14 */	beq lbl_80151070
/* 80151060 0014CCC0  80 6D 82 C8 */	lwz r3, lbl_8063D588-_SDA_BASE_(r13)
/* 80151064 0014CCC4  7E C5 B3 78 */	mr r5, r22
/* 80151068 0014CCC8  38 80 04 00 */	li r4, 0x400
/* 8015106C 0014CCCC  48 00 00 4D */	bl func_801510B8
lbl_80151070:
/* 80151070 0014CCD0  2C 19 00 00 */	cmpwi r25, 0
/* 80151074 0014CCD4  41 82 00 14 */	beq lbl_80151088
/* 80151078 0014CCD8  80 6D 82 C8 */	lwz r3, lbl_8063D588-_SDA_BASE_(r13)
/* 8015107C 0014CCDC  7E C5 B3 78 */	mr r5, r22
/* 80151080 0014CCE0  38 80 08 00 */	li r4, 0x800
/* 80151084 0014CCE4  48 00 00 35 */	bl func_801510B8
lbl_80151088:
/* 80151088 0014CCE8  3A F7 00 01 */	addi r23, r23, 1
/* 8015108C 0014CCEC  3B DE 00 8C */	addi r30, r30, 0x8c
/* 80151090 0014CCF0  28 17 00 06 */	cmplwi r23, 6
/* 80151094 0014CCF4  3B BD 00 04 */	addi r29, r29, 4
/* 80151098 0014CCF8  3B FF 00 8C */	addi r31, r31, 0x8c
/* 8015109C 0014CCFC  41 80 FF 50 */	blt lbl_80150FEC
/* 801510A0 0014CD00  39 61 00 40 */	addi r11, r1, 0x40
/* 801510A4 0014CD04  48 07 60 B9 */	bl _restgpr_21
/* 801510A8 0014CD08  80 01 00 44 */	lwz r0, 0x44(r1)
/* 801510AC 0014CD0C  7C 08 03 A6 */	mtlr r0
/* 801510B0 0014CD10  38 21 00 40 */	addi r1, r1, 0x40
/* 801510B4 0014CD14  4E 80 00 20 */	blr

.global func_801510B8
func_801510B8:
/* 801510B8 0014CD18  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 801510BC 0014CD1C  7C 08 02 A6 */	mflr r0
/* 801510C0 0014CD20  90 01 00 74 */	stw r0, 0x74(r1)
/* 801510C4 0014CD24  39 61 00 70 */	addi r11, r1, 0x70
/* 801510C8 0014CD28  48 07 60 39 */	bl _savegpr_17
/* 801510CC 0014CD2C  7C 71 1B 78 */	mr r17, r3
/* 801510D0 0014CD30  7C 92 23 78 */	mr r18, r4
/* 801510D4 0014CD34  7C B3 2B 78 */	mr r19, r5
/* 801510D8 0014CD38  4B FC B8 9D */	bl func_8011C974
/* 801510DC 0014CD3C  7C 77 1B 78 */	mr r23, r3
/* 801510E0 0014CD40  7E 23 8B 78 */	mr r3, r17
/* 801510E4 0014CD44  38 80 00 05 */	li r4, 5
/* 801510E8 0014CD48  38 A0 00 00 */	li r5, 0
/* 801510EC 0014CD4C  48 28 C8 F1 */	bl func_803DD9DC
/* 801510F0 0014CD50  7C 78 1B 78 */	mr r24, r3
/* 801510F4 0014CD54  7E 23 8B 78 */	mr r3, r17
/* 801510F8 0014CD58  38 80 00 00 */	li r4, 0
/* 801510FC 0014CD5C  38 A0 00 00 */	li r5, 0
/* 80151100 0014CD60  48 28 C8 DD */	bl func_803DD9DC
/* 80151104 0014CD64  7C 79 1B 78 */	mr r25, r3
/* 80151108 0014CD68  7E 23 8B 78 */	mr r3, r17
/* 8015110C 0014CD6C  38 80 00 A4 */	li r4, 0xa4
/* 80151110 0014CD70  38 A0 00 00 */	li r5, 0
/* 80151114 0014CD74  48 28 C8 C9 */	bl func_803DD9DC
/* 80151118 0014CD78  7C 7A 1B 78 */	mr r26, r3
/* 8015111C 0014CD7C  7E 23 8B 78 */	mr r3, r17
/* 80151120 0014CD80  38 80 00 A5 */	li r4, 0xa5
/* 80151124 0014CD84  38 A0 00 00 */	li r5, 0
/* 80151128 0014CD88  48 28 C8 B5 */	bl func_803DD9DC
/* 8015112C 0014CD8C  7C 7B 1B 78 */	mr r27, r3
/* 80151130 0014CD90  7E 23 8B 78 */	mr r3, r17
/* 80151134 0014CD94  38 80 00 A6 */	li r4, 0xa6
/* 80151138 0014CD98  38 A0 00 00 */	li r5, 0
/* 8015113C 0014CD9C  48 28 C8 A1 */	bl func_803DD9DC
/* 80151140 0014CDA0  7C 7C 1B 78 */	mr r28, r3
/* 80151144 0014CDA4  7E 23 8B 78 */	mr r3, r17
/* 80151148 0014CDA8  38 80 00 A7 */	li r4, 0xa7
/* 8015114C 0014CDAC  38 A0 00 00 */	li r5, 0
/* 80151150 0014CDB0  48 28 C8 8D */	bl func_803DD9DC
/* 80151154 0014CDB4  7C 7D 1B 78 */	mr r29, r3
/* 80151158 0014CDB8  7E 23 8B 78 */	mr r3, r17
/* 8015115C 0014CDBC  38 80 00 A8 */	li r4, 0xa8
/* 80151160 0014CDC0  38 A0 00 00 */	li r5, 0
/* 80151164 0014CDC4  48 28 C8 79 */	bl func_803DD9DC
/* 80151168 0014CDC8  7C 7E 1B 78 */	mr r30, r3
/* 8015116C 0014CDCC  7E 23 8B 78 */	mr r3, r17
/* 80151170 0014CDD0  38 80 00 07 */	li r4, 7
/* 80151174 0014CDD4  38 A0 00 00 */	li r5, 0
/* 80151178 0014CDD8  48 28 C8 65 */	bl func_803DD9DC
/* 8015117C 0014CDDC  3A D7 61 B8 */	addi r22, r23, 0x61b8
/* 80151180 0014CDE0  7C 7F 1B 78 */	mr r31, r3
/* 80151184 0014CDE4  3A F7 57 60 */	addi r23, r23, 0x5760
/* 80151188 0014CDE8  3A 80 00 00 */	li r20, 0
lbl_8015118C:
/* 8015118C 0014CDEC  2C 13 00 00 */	cmpwi r19, 0
/* 80151190 0014CDF0  41 82 00 0C */	beq lbl_8015119C
/* 80151194 0014CDF4  7E D5 B3 78 */	mr r21, r22
/* 80151198 0014CDF8  48 00 00 08 */	b lbl_801511A0
lbl_8015119C:
/* 8015119C 0014CDFC  7E F5 BB 78 */	mr r21, r23
lbl_801511A0:
/* 801511A0 0014CE00  7E A3 AB 78 */	mr r3, r21
/* 801511A4 0014CE04  38 80 00 05 */	li r4, 5
/* 801511A8 0014CE08  38 A0 00 00 */	li r5, 0
/* 801511AC 0014CE0C  48 28 C8 31 */	bl func_803DD9DC
/* 801511B0 0014CE10  7C 18 18 40 */	cmplw r24, r3
/* 801511B4 0014CE14  40 82 02 74 */	bne lbl_80151428
/* 801511B8 0014CE18  7E A3 AB 78 */	mr r3, r21
/* 801511BC 0014CE1C  38 80 00 00 */	li r4, 0
/* 801511C0 0014CE20  38 A0 00 00 */	li r5, 0
/* 801511C4 0014CE24  48 28 C8 19 */	bl func_803DD9DC
/* 801511C8 0014CE28  7C 19 18 40 */	cmplw r25, r3
/* 801511CC 0014CE2C  40 82 02 5C */	bne lbl_80151428
/* 801511D0 0014CE30  7E A3 AB 78 */	mr r3, r21
/* 801511D4 0014CE34  38 80 00 A4 */	li r4, 0xa4
/* 801511D8 0014CE38  38 A0 00 00 */	li r5, 0
/* 801511DC 0014CE3C  48 28 C8 01 */	bl func_803DD9DC
/* 801511E0 0014CE40  7C 1A 18 40 */	cmplw r26, r3
/* 801511E4 0014CE44  40 82 02 44 */	bne lbl_80151428
/* 801511E8 0014CE48  7E A3 AB 78 */	mr r3, r21
/* 801511EC 0014CE4C  38 80 00 A5 */	li r4, 0xa5
/* 801511F0 0014CE50  38 A0 00 00 */	li r5, 0
/* 801511F4 0014CE54  48 28 C7 E9 */	bl func_803DD9DC
/* 801511F8 0014CE58  7C 1B 18 40 */	cmplw r27, r3
/* 801511FC 0014CE5C  40 82 02 2C */	bne lbl_80151428
/* 80151200 0014CE60  7E A3 AB 78 */	mr r3, r21
/* 80151204 0014CE64  38 80 00 A6 */	li r4, 0xa6
/* 80151208 0014CE68  38 A0 00 00 */	li r5, 0
/* 8015120C 0014CE6C  48 28 C7 D1 */	bl func_803DD9DC
/* 80151210 0014CE70  7C 1C 18 40 */	cmplw r28, r3
/* 80151214 0014CE74  40 82 02 14 */	bne lbl_80151428
/* 80151218 0014CE78  7E A3 AB 78 */	mr r3, r21
/* 8015121C 0014CE7C  38 80 00 A7 */	li r4, 0xa7
/* 80151220 0014CE80  38 A0 00 00 */	li r5, 0
/* 80151224 0014CE84  48 28 C7 B9 */	bl func_803DD9DC
/* 80151228 0014CE88  7C 1D 18 40 */	cmplw r29, r3
/* 8015122C 0014CE8C  40 82 01 FC */	bne lbl_80151428
/* 80151230 0014CE90  7E A3 AB 78 */	mr r3, r21
/* 80151234 0014CE94  38 80 00 A8 */	li r4, 0xa8
/* 80151238 0014CE98  38 A0 00 00 */	li r5, 0
/* 8015123C 0014CE9C  48 28 C7 A1 */	bl func_803DD9DC
/* 80151240 0014CEA0  7C 1E 18 40 */	cmplw r30, r3
/* 80151244 0014CEA4  40 82 01 E4 */	bne lbl_80151428
/* 80151248 0014CEA8  7E A3 AB 78 */	mr r3, r21
/* 8015124C 0014CEAC  38 80 00 07 */	li r4, 7
/* 80151250 0014CEB0  38 A0 00 00 */	li r5, 0
/* 80151254 0014CEB4  48 28 C7 89 */	bl func_803DD9DC
/* 80151258 0014CEB8  7C 1F 18 40 */	cmplw r31, r3
/* 8015125C 0014CEBC  40 82 01 CC */	bne lbl_80151428
/* 80151260 0014CEC0  7E A3 AB 78 */	mr r3, r21
/* 80151264 0014CEC4  38 80 00 A2 */	li r4, 0xa2
/* 80151268 0014CEC8  38 A0 00 00 */	li r5, 0
/* 8015126C 0014CECC  48 28 C7 71 */	bl func_803DD9DC
/* 80151270 0014CED0  90 61 00 20 */	stw r3, 0x20(r1)
/* 80151274 0014CED4  7E A3 AB 78 */	mr r3, r21
/* 80151278 0014CED8  38 80 00 3A */	li r4, 0x3a
/* 8015127C 0014CEDC  38 A0 00 00 */	li r5, 0
/* 80151280 0014CEE0  48 28 C7 5D */	bl func_803DD9DC
/* 80151284 0014CEE4  90 61 00 1C */	stw r3, 0x1c(r1)
/* 80151288 0014CEE8  7E A3 AB 78 */	mr r3, r21
/* 8015128C 0014CEEC  38 80 00 3B */	li r4, 0x3b
/* 80151290 0014CEF0  38 A0 00 00 */	li r5, 0
/* 80151294 0014CEF4  48 28 C7 49 */	bl func_803DD9DC
/* 80151298 0014CEF8  90 61 00 18 */	stw r3, 0x18(r1)
/* 8015129C 0014CEFC  7E A3 AB 78 */	mr r3, r21
/* 801512A0 0014CF00  38 80 00 3C */	li r4, 0x3c
/* 801512A4 0014CF04  38 A0 00 00 */	li r5, 0
/* 801512A8 0014CF08  48 28 C7 35 */	bl func_803DD9DC
/* 801512AC 0014CF0C  90 61 00 14 */	stw r3, 0x14(r1)
/* 801512B0 0014CF10  7E A3 AB 78 */	mr r3, r21
/* 801512B4 0014CF14  38 80 00 3D */	li r4, 0x3d
/* 801512B8 0014CF18  38 A0 00 00 */	li r5, 0
/* 801512BC 0014CF1C  48 28 C7 21 */	bl func_803DD9DC
/* 801512C0 0014CF20  90 61 00 10 */	stw r3, 0x10(r1)
/* 801512C4 0014CF24  7E A3 AB 78 */	mr r3, r21
/* 801512C8 0014CF28  38 80 00 9F */	li r4, 0x9f
/* 801512CC 0014CF2C  38 A0 00 00 */	li r5, 0
/* 801512D0 0014CF30  48 28 C7 0D */	bl func_803DD9DC
/* 801512D4 0014CF34  90 61 00 0C */	stw r3, 0xc(r1)
/* 801512D8 0014CF38  7E A3 AB 78 */	mr r3, r21
/* 801512DC 0014CF3C  38 80 00 06 */	li r4, 6
/* 801512E0 0014CF40  38 A0 00 00 */	li r5, 0
/* 801512E4 0014CF44  48 28 C6 F9 */	bl func_803DD9DC
/* 801512E8 0014CF48  2C 12 04 00 */	cmpwi r18, 0x400
/* 801512EC 0014CF4C  90 61 00 08 */	stw r3, 8(r1)
/* 801512F0 0014CF50  41 82 00 98 */	beq lbl_80151388
/* 801512F4 0014CF54  40 80 00 1C */	bge lbl_80151310
/* 801512F8 0014CF58  2C 12 02 00 */	cmpwi r18, 0x200
/* 801512FC 0014CF5C  41 82 00 38 */	beq lbl_80151334
/* 80151300 0014CF60  40 80 00 B4 */	bge lbl_801513B4
/* 80151304 0014CF64  2C 12 01 00 */	cmpwi r18, 0x100
/* 80151308 0014CF68  41 82 00 14 */	beq lbl_8015131C
/* 8015130C 0014CF6C  48 00 00 A8 */	b lbl_801513B4
lbl_80151310:
/* 80151310 0014CF70  2C 12 08 00 */	cmpwi r18, 0x800
/* 80151314 0014CF74  41 82 00 8C */	beq lbl_801513A0
/* 80151318 0014CF78  48 00 00 9C */	b lbl_801513B4
lbl_8015131C:
/* 8015131C 0014CF7C  7E 23 8B 78 */	mr r3, r17
/* 80151320 0014CF80  38 80 00 A2 */	li r4, 0xa2
/* 80151324 0014CF84  38 A0 00 00 */	li r5, 0
/* 80151328 0014CF88  48 28 C6 B5 */	bl func_803DD9DC
/* 8015132C 0014CF8C  90 61 00 20 */	stw r3, 0x20(r1)
/* 80151330 0014CF90  48 00 00 84 */	b lbl_801513B4
lbl_80151334:
/* 80151334 0014CF94  7E 23 8B 78 */	mr r3, r17
/* 80151338 0014CF98  38 80 00 3A */	li r4, 0x3a
/* 8015133C 0014CF9C  38 A0 00 00 */	li r5, 0
/* 80151340 0014CFA0  48 28 C6 9D */	bl func_803DD9DC
/* 80151344 0014CFA4  90 61 00 1C */	stw r3, 0x1c(r1)
/* 80151348 0014CFA8  7E 23 8B 78 */	mr r3, r17
/* 8015134C 0014CFAC  38 80 00 3B */	li r4, 0x3b
/* 80151350 0014CFB0  38 A0 00 00 */	li r5, 0
/* 80151354 0014CFB4  48 28 C6 89 */	bl func_803DD9DC
/* 80151358 0014CFB8  90 61 00 18 */	stw r3, 0x18(r1)
/* 8015135C 0014CFBC  7E 23 8B 78 */	mr r3, r17
/* 80151360 0014CFC0  38 80 00 3C */	li r4, 0x3c
/* 80151364 0014CFC4  38 A0 00 00 */	li r5, 0
/* 80151368 0014CFC8  48 28 C6 75 */	bl func_803DD9DC
/* 8015136C 0014CFCC  90 61 00 14 */	stw r3, 0x14(r1)
/* 80151370 0014CFD0  7E 23 8B 78 */	mr r3, r17
/* 80151374 0014CFD4  38 80 00 3D */	li r4, 0x3d
/* 80151378 0014CFD8  38 A0 00 00 */	li r5, 0
/* 8015137C 0014CFDC  48 28 C6 61 */	bl func_803DD9DC
/* 80151380 0014CFE0  90 61 00 10 */	stw r3, 0x10(r1)
/* 80151384 0014CFE4  48 00 00 30 */	b lbl_801513B4
lbl_80151388:
/* 80151388 0014CFE8  7E 23 8B 78 */	mr r3, r17
/* 8015138C 0014CFEC  38 80 00 9F */	li r4, 0x9f
/* 80151390 0014CFF0  38 A0 00 00 */	li r5, 0
/* 80151394 0014CFF4  48 28 C6 49 */	bl func_803DD9DC
/* 80151398 0014CFF8  90 61 00 0C */	stw r3, 0xc(r1)
/* 8015139C 0014CFFC  48 00 00 18 */	b lbl_801513B4
lbl_801513A0:
/* 801513A0 0014D000  7E 23 8B 78 */	mr r3, r17
/* 801513A4 0014D004  38 80 00 06 */	li r4, 6
/* 801513A8 0014D008  38 A0 00 00 */	li r5, 0
/* 801513AC 0014D00C  48 28 C6 31 */	bl func_803DD9DC
/* 801513B0 0014D010  90 61 00 08 */	stw r3, 8(r1)
lbl_801513B4:
/* 801513B4 0014D014  7E A3 AB 78 */	mr r3, r21
/* 801513B8 0014D018  38 A1 00 20 */	addi r5, r1, 0x20
/* 801513BC 0014D01C  38 80 00 A2 */	li r4, 0xa2
/* 801513C0 0014D020  48 28 A1 65 */	bl func_803DB524
/* 801513C4 0014D024  7E A3 AB 78 */	mr r3, r21
/* 801513C8 0014D028  38 A1 00 1C */	addi r5, r1, 0x1c
/* 801513CC 0014D02C  38 80 00 3A */	li r4, 0x3a
/* 801513D0 0014D030  48 28 A1 55 */	bl func_803DB524
/* 801513D4 0014D034  7E A3 AB 78 */	mr r3, r21
/* 801513D8 0014D038  38 A1 00 18 */	addi r5, r1, 0x18
/* 801513DC 0014D03C  38 80 00 3B */	li r4, 0x3b
/* 801513E0 0014D040  48 28 A1 45 */	bl func_803DB524
/* 801513E4 0014D044  7E A3 AB 78 */	mr r3, r21
/* 801513E8 0014D048  38 A1 00 14 */	addi r5, r1, 0x14
/* 801513EC 0014D04C  38 80 00 3C */	li r4, 0x3c
/* 801513F0 0014D050  48 28 A1 35 */	bl func_803DB524
/* 801513F4 0014D054  7E A3 AB 78 */	mr r3, r21
/* 801513F8 0014D058  38 A1 00 10 */	addi r5, r1, 0x10
/* 801513FC 0014D05C  38 80 00 3D */	li r4, 0x3d
/* 80151400 0014D060  48 28 A1 25 */	bl func_803DB524
/* 80151404 0014D064  7E A3 AB 78 */	mr r3, r21
/* 80151408 0014D068  38 A1 00 0C */	addi r5, r1, 0xc
/* 8015140C 0014D06C  38 80 00 9F */	li r4, 0x9f
/* 80151410 0014D070  48 28 A1 15 */	bl func_803DB524
/* 80151414 0014D074  7E A3 AB 78 */	mr r3, r21
/* 80151418 0014D078  38 A1 00 08 */	addi r5, r1, 8
/* 8015141C 0014D07C  38 80 00 06 */	li r4, 6
/* 80151420 0014D080  48 28 A1 05 */	bl func_803DB524
/* 80151424 0014D084  48 00 00 18 */	b lbl_8015143C
lbl_80151428:
/* 80151428 0014D088  3A 94 00 01 */	addi r20, r20, 1
/* 8015142C 0014D08C  3A F7 00 DC */	addi r23, r23, 0xdc
/* 80151430 0014D090  28 14 00 06 */	cmplwi r20, 6
/* 80151434 0014D094  3A D6 00 DC */	addi r22, r22, 0xdc
/* 80151438 0014D098  41 80 FD 54 */	blt lbl_8015118C
lbl_8015143C:
/* 8015143C 0014D09C  39 61 00 70 */	addi r11, r1, 0x70
/* 80151440 0014D0A0  48 07 5D 0D */	bl _restgpr_17
/* 80151444 0014D0A4  80 01 00 74 */	lwz r0, 0x74(r1)
/* 80151448 0014D0A8  7C 08 03 A6 */	mtlr r0
/* 8015144C 0014D0AC  38 21 00 70 */	addi r1, r1, 0x70
/* 80151450 0014D0B0  4E 80 00 20 */	blr

.global func_80151454
func_80151454:
/* 80151454 0014D0B4  38 A0 00 01 */	li r5, 1
/* 80151458 0014D0B8  38 6D 9C F8 */	addi r3, r13, lbl_8063EFB8-_SDA_BASE_
/* 8015145C 0014D0BC  38 80 00 04 */	li r4, 4
/* 80151460 0014D0C0  38 00 00 00 */	li r0, 0
/* 80151464 0014D0C4  98 AD 9C F8 */	stb r5, lbl_8063EFB8-_SDA_BASE_(r13)
/* 80151468 0014D0C8  B0 83 00 02 */	sth r4, 2(r3)
/* 8015146C 0014D0CC  98 03 00 04 */	stb r0, 4(r3)
/* 80151470 0014D0D0  4E 80 00 20 */	blr