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
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global cPlayer_ClearSwapControllerTimer
cPlayer_ClearSwapControllerTimer:
/* 8003E854 0003A4B4 38 00 00 00 */ li r0, 0
/* 8003E858 0003A4B8 90 03 00 08 */ stw r0, 8(r3)
/* 8003E85C 0003A4BC 90 03 00 D4 */ stw r0, 0xd4(r3)
/* 8003E860 0003A4C0 90 03 00 00 */ stw r0, 0(r3)
/* 8003E864 0003A4C4 90 03 00 04 */ stw r0, 4(r3)
/* 8003E868 0003A4C8 4E 80 00 20 */ blr
.global func_8003E86C
func_8003E86C:
/* 8003E86C 0003A4CC 80 C3 00 00 */ lwz r6, 0(r3)
/* 8003E870 0003A4D0 28 06 00 32 */ cmplwi r6, 0x32
/* 8003E874 0003A4D4 4C 80 00 20 */ bgelr
/* 8003E878 0003A4D8 54 C0 10 3A */ slwi r0, r6, 2
/* 8003E87C 0003A4DC 38 E6 00 01 */ addi r7, r6, 1
/* 8003E880 0003A4E0 7C C3 02 14 */ add r6, r3, r0
/* 8003E884 0003A4E4 2C 05 00 00 */ cmpwi r5, 0
/* 8003E888 0003A4E8 90 86 00 08 */ stw r4, 8(r6)
/* 8003E88C 0003A4EC 54 E0 10 3A */ slwi r0, r7, 2
/* 8003E890 0003A4F0 7C A3 02 14 */ add r5, r3, r0
/* 8003E894 0003A4F4 90 E3 00 00 */ stw r7, 0(r3)
/* 8003E898 0003A4F8 38 00 00 00 */ li r0, 0
/* 8003E89C 0003A4FC 90 05 00 08 */ stw r0, 8(r5)
/* 8003E8A0 0003A500 4D 82 00 20 */ beqlr
/* 8003E8A4 0003A504 80 03 00 04 */ lwz r0, 4(r3)
/* 8003E8A8 0003A508 7C 65 1B 78 */ mr r5, r3
/* 8003E8AC 0003A50C 7C 09 03 A6 */ mtctr r0
/* 8003E8B0 0003A510 28 00 00 00 */ cmplwi r0, 0
/* 8003E8B4 0003A514 40 81 00 18 */ ble lbl_8003E8CC
lbl_8003E8B8:
/* 8003E8B8 0003A518 80 05 00 D4 */ lwz r0, 0xd4(r5)
/* 8003E8BC 0003A51C 7C 04 00 40 */ cmplw r4, r0
/* 8003E8C0 0003A520 4D 82 00 20 */ beqlr
/* 8003E8C4 0003A524 38 A5 00 04 */ addi r5, r5, 4
/* 8003E8C8 0003A528 42 00 FF F0 */ bdnz lbl_8003E8B8
lbl_8003E8CC:
/* 8003E8CC 0003A52C 80 C3 00 04 */ lwz r6, 4(r3)
/* 8003E8D0 0003A530 38 A0 00 00 */ li r5, 0
/* 8003E8D4 0003A534 54 C0 10 3A */ slwi r0, r6, 2
/* 8003E8D8 0003A538 38 E6 00 01 */ addi r7, r6, 1
/* 8003E8DC 0003A53C 7C C3 02 14 */ add r6, r3, r0
/* 8003E8E0 0003A540 90 86 00 D4 */ stw r4, 0xd4(r6)
/* 8003E8E4 0003A544 54 E0 10 3A */ slwi r0, r7, 2
/* 8003E8E8 0003A548 7C 83 02 14 */ add r4, r3, r0
/* 8003E8EC 0003A54C 90 E3 00 04 */ stw r7, 4(r3)
/* 8003E8F0 0003A550 90 A4 00 D4 */ stw r5, 0xd4(r4)
/* 8003E8F4 0003A554 4E 80 00 20 */ blr
.global func_8003E8F8
func_8003E8F8:
/* 8003E8F8 0003A558 80 63 00 04 */ lwz r3, 4(r3)
/* 8003E8FC 0003A55C 4E 80 00 20 */ blr
.global func_8003E900
func_8003E900:
/* 8003E900 0003A560 38 63 00 D4 */ addi r3, r3, 0xd4
/* 8003E904 0003A564 4E 80 00 20 */ blr
.global func_8003E908
func_8003E908:
/* 8003E908 0003A568 38 63 00 08 */ addi r3, r3, 8
/* 8003E90C 0003A56C 4E 80 00 20 */ blr
.global func_8003E910
func_8003E910:
/* 8003E910 0003A570 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003E914 0003A574 7C 08 02 A6 */ mflr r0
/* 8003E918 0003A578 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003E91C 0003A57C 38 00 00 00 */ li r0, 0
/* 8003E920 0003A580 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003E924 0003A584 7C 7F 1B 78 */ mr r31, r3
/* 8003E928 0003A588 90 03 00 04 */ stw r0, 4(r3)
/* 8003E92C 0003A58C 98 03 00 01 */ stb r0, 1(r3)
/* 8003E930 0003A590 48 00 00 71 */ bl func_8003E9A0
/* 8003E934 0003A594 7F E3 FB 78 */ mr r3, r31
/* 8003E938 0003A598 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003E93C 0003A59C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003E940 0003A5A0 7C 08 03 A6 */ mtlr r0
/* 8003E944 0003A5A4 38 21 00 10 */ addi r1, r1, 0x10
/* 8003E948 0003A5A8 4E 80 00 20 */ blr
.global func_8003E94C
func_8003E94C:
/* 8003E94C 0003A5AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003E950 0003A5B0 7C 08 02 A6 */ mflr r0
/* 8003E954 0003A5B4 2C 03 00 00 */ cmpwi r3, 0
/* 8003E958 0003A5B8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003E95C 0003A5BC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003E960 0003A5C0 7C 9F 23 78 */ mr r31, r4
/* 8003E964 0003A5C4 93 C1 00 08 */ stw r30, 8(r1)
/* 8003E968 0003A5C8 7C 7E 1B 78 */ mr r30, r3
/* 8003E96C 0003A5CC 41 82 00 18 */ beq lbl_8003E984
/* 8003E970 0003A5D0 48 00 01 41 */ bl func_8003EAB0
/* 8003E974 0003A5D4 2C 1F 00 00 */ cmpwi r31, 0
/* 8003E978 0003A5D8 40 81 00 0C */ ble lbl_8003E984
/* 8003E97C 0003A5DC 7F C3 F3 78 */ mr r3, r30
/* 8003E980 0003A5E0 48 19 C1 39 */ bl __dl__FPv
lbl_8003E984:
/* 8003E984 0003A5E4 7F C3 F3 78 */ mr r3, r30
/* 8003E988 0003A5E8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003E98C 0003A5EC 83 C1 00 08 */ lwz r30, 8(r1)
/* 8003E990 0003A5F0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003E994 0003A5F4 7C 08 03 A6 */ mtlr r0
/* 8003E998 0003A5F8 38 21 00 10 */ addi r1, r1, 0x10
/* 8003E99C 0003A5FC 4E 80 00 20 */ blr
.global func_8003E9A0
func_8003E9A0:
/* 8003E9A0 0003A600 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003E9A4 0003A604 7C 08 02 A6 */ mflr r0
/* 8003E9A8 0003A608 38 80 00 00 */ li r4, 0
/* 8003E9AC 0003A60C 38 A0 00 0C */ li r5, 0xc
/* 8003E9B0 0003A610 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003E9B4 0003A614 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003E9B8 0003A618 3B E0 00 00 */ li r31, 0
/* 8003E9BC 0003A61C 93 C1 00 08 */ stw r30, 8(r1)
/* 8003E9C0 0003A620 7C 7E 1B 78 */ mr r30, r3
/* 8003E9C4 0003A624 93 E3 00 04 */ stw r31, 4(r3)
/* 8003E9C8 0003A628 93 E3 00 08 */ stw r31, 8(r3)
/* 8003E9CC 0003A62C 38 63 00 0C */ addi r3, r3, 0xc
/* 8003E9D0 0003A630 4B FC 57 35 */ bl memset
/* 8003E9D4 0003A634 38 00 00 0A */ li r0, 0xa
/* 8003E9D8 0003A638 38 9E 00 18 */ addi r4, r30, 0x18
/* 8003E9DC 0003A63C 38 60 00 FF */ li r3, 0xff
/* 8003E9E0 0003A640 7C 09 03 A6 */ mtctr r0
lbl_8003E9E4:
/* 8003E9E4 0003A644 9B E4 00 00 */ stb r31, 0(r4)
/* 8003E9E8 0003A648 98 64 00 01 */ stb r3, 1(r4)
/* 8003E9EC 0003A64C 93 E4 00 04 */ stw r31, 4(r4)
/* 8003E9F0 0003A650 93 E4 00 20 */ stw r31, 0x20(r4)
/* 8003E9F4 0003A654 93 E4 00 24 */ stw r31, 0x24(r4)
/* 8003E9F8 0003A658 93 E4 00 28 */ stw r31, 0x28(r4)
/* 8003E9FC 0003A65C 93 E4 00 0C */ stw r31, 0xc(r4)
/* 8003EA00 0003A660 93 E4 00 18 */ stw r31, 0x18(r4)
/* 8003EA04 0003A664 93 E4 00 10 */ stw r31, 0x10(r4)
/* 8003EA08 0003A668 93 E4 00 1C */ stw r31, 0x1c(r4)
/* 8003EA0C 0003A66C 9B E4 00 14 */ stb r31, 0x14(r4)
/* 8003EA10 0003A670 93 E4 00 40 */ stw r31, 0x40(r4)
/* 8003EA14 0003A674 93 E4 00 44 */ stw r31, 0x44(r4)
/* 8003EA18 0003A678 93 E4 00 48 */ stw r31, 0x48(r4)
/* 8003EA1C 0003A67C 93 E4 00 2C */ stw r31, 0x2c(r4)
/* 8003EA20 0003A680 93 E4 00 38 */ stw r31, 0x38(r4)
/* 8003EA24 0003A684 93 E4 00 30 */ stw r31, 0x30(r4)
/* 8003EA28 0003A688 93 E4 00 3C */ stw r31, 0x3c(r4)
/* 8003EA2C 0003A68C 9B E4 00 34 */ stb r31, 0x34(r4)
/* 8003EA30 0003A690 93 E4 00 60 */ stw r31, 0x60(r4)
/* 8003EA34 0003A694 93 E4 00 64 */ stw r31, 0x64(r4)
/* 8003EA38 0003A698 93 E4 00 68 */ stw r31, 0x68(r4)
/* 8003EA3C 0003A69C 93 E4 00 4C */ stw r31, 0x4c(r4)
/* 8003EA40 0003A6A0 93 E4 00 58 */ stw r31, 0x58(r4)
/* 8003EA44 0003A6A4 93 E4 00 50 */ stw r31, 0x50(r4)
/* 8003EA48 0003A6A8 93 E4 00 5C */ stw r31, 0x5c(r4)
/* 8003EA4C 0003A6AC 9B E4 00 54 */ stb r31, 0x54(r4)
/* 8003EA50 0003A6B0 93 E4 00 80 */ stw r31, 0x80(r4)
/* 8003EA54 0003A6B4 93 E4 00 84 */ stw r31, 0x84(r4)
/* 8003EA58 0003A6B8 93 E4 00 88 */ stw r31, 0x88(r4)
/* 8003EA5C 0003A6BC 93 E4 00 6C */ stw r31, 0x6c(r4)
/* 8003EA60 0003A6C0 93 E4 00 78 */ stw r31, 0x78(r4)
/* 8003EA64 0003A6C4 93 E4 00 70 */ stw r31, 0x70(r4)
/* 8003EA68 0003A6C8 93 E4 00 7C */ stw r31, 0x7c(r4)
/* 8003EA6C 0003A6CC 9B E4 00 74 */ stb r31, 0x74(r4)
/* 8003EA70 0003A6D0 93 E4 00 A0 */ stw r31, 0xa0(r4)
/* 8003EA74 0003A6D4 93 E4 00 A4 */ stw r31, 0xa4(r4)
/* 8003EA78 0003A6D8 93 E4 00 A8 */ stw r31, 0xa8(r4)
/* 8003EA7C 0003A6DC 93 E4 00 8C */ stw r31, 0x8c(r4)
/* 8003EA80 0003A6E0 93 E4 00 98 */ stw r31, 0x98(r4)
/* 8003EA84 0003A6E4 93 E4 00 90 */ stw r31, 0x90(r4)
/* 8003EA88 0003A6E8 93 E4 00 9C */ stw r31, 0x9c(r4)
/* 8003EA8C 0003A6EC 9B E4 00 94 */ stb r31, 0x94(r4)
/* 8003EA90 0003A6F0 38 84 00 AC */ addi r4, r4, 0xac
/* 8003EA94 0003A6F4 42 00 FF 50 */ bdnz lbl_8003E9E4
/* 8003EA98 0003A6F8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003EA9C 0003A6FC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003EAA0 0003A700 83 C1 00 08 */ lwz r30, 8(r1)
/* 8003EAA4 0003A704 7C 08 03 A6 */ mtlr r0
/* 8003EAA8 0003A708 38 21 00 10 */ addi r1, r1, 0x10
/* 8003EAAC 0003A70C 4E 80 00 20 */ blr
.global func_8003EAB0
func_8003EAB0:
/* 8003EAB0 0003A710 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8003EAB4 0003A714 7C 08 02 A6 */ mflr r0
/* 8003EAB8 0003A718 90 01 00 34 */ stw r0, 0x34(r1)
/* 8003EABC 0003A71C 39 61 00 30 */ addi r11, r1, 0x30
/* 8003EAC0 0003A720 48 18 86 61 */ bl _savegpr_25
/* 8003EAC4 0003A724 3B C0 00 00 */ li r30, 0
/* 8003EAC8 0003A728 7C 79 1B 78 */ mr r25, r3
/* 8003EACC 0003A72C 93 C3 00 08 */ stw r30, 8(r3)
/* 8003EAD0 0003A730 3B A3 00 18 */ addi r29, r3, 0x18
/* 8003EAD4 0003A734 3B 60 00 00 */ li r27, 0
/* 8003EAD8 0003A738 3B E0 00 FF */ li r31, 0xff
lbl_8003EADC:
/* 8003EADC 0003A73C 9B DD 00 00 */ stb r30, 0(r29)
/* 8003EAE0 0003A740 3B 9D 00 0C */ addi r28, r29, 0xc
/* 8003EAE4 0003A744 3B 40 00 00 */ li r26, 0
/* 8003EAE8 0003A748 9B FD 00 01 */ stb r31, 1(r29)
lbl_8003EAEC:
/* 8003EAEC 0003A74C 80 7C 00 14 */ lwz r3, 0x14(r28)
/* 8003EAF0 0003A750 2C 03 00 00 */ cmpwi r3, 0
/* 8003EAF4 0003A754 41 82 00 10 */ beq lbl_8003EB04
/* 8003EAF8 0003A758 38 80 00 01 */ li r4, 1
/* 8003EAFC 0003A75C 48 1B 5F F5 */ bl func_801F4AF0
/* 8003EB00 0003A760 93 DC 00 14 */ stw r30, 0x14(r28)
lbl_8003EB04:
/* 8003EB04 0003A764 80 7C 00 18 */ lwz r3, 0x18(r28)
/* 8003EB08 0003A768 2C 83 00 00 */ cmpwi cr1, r3, 0
/* 8003EB0C 0003A76C 41 86 00 28 */ beq cr1, lbl_8003EB34
/* 8003EB10 0003A770 80 1C 00 00 */ lwz r0, 0(r28)
/* 8003EB14 0003A774 28 00 00 64 */ cmplwi r0, 0x64
/* 8003EB18 0003A778 41 82 00 1C */ beq lbl_8003EB34
/* 8003EB1C 0003A77C 41 86 00 18 */ beq cr1, lbl_8003EB34
/* 8003EB20 0003A780 81 83 00 34 */ lwz r12, 0x34(r3)
/* 8003EB24 0003A784 38 80 00 01 */ li r4, 1
/* 8003EB28 0003A788 81 8C 00 08 */ lwz r12, 8(r12)
/* 8003EB2C 0003A78C 7D 89 03 A6 */ mtctr r12
/* 8003EB30 0003A790 4E 80 04 21 */ bctrl
lbl_8003EB34:
/* 8003EB34 0003A794 93 DC 00 18 */ stw r30, 0x18(r28)
/* 8003EB38 0003A798 80 9C 00 00 */ lwz r4, 0(r28)
/* 8003EB3C 0003A79C 2C 04 00 00 */ cmpwi r4, 0
/* 8003EB40 0003A7A0 41 82 00 18 */ beq lbl_8003EB58
/* 8003EB44 0003A7A4 28 04 00 64 */ cmplwi r4, 0x64
/* 8003EB48 0003A7A8 41 82 00 10 */ beq lbl_8003EB58
/* 8003EB4C 0003A7AC 80 7D 00 04 */ lwz r3, 4(r29)
/* 8003EB50 0003A7B0 48 19 C9 F9 */ bl func_801DB548
/* 8003EB54 0003A7B4 93 DC 00 00 */ stw r30, 0(r28)
lbl_8003EB58:
/* 8003EB58 0003A7B8 80 9C 00 04 */ lwz r4, 4(r28)
/* 8003EB5C 0003A7BC 2C 04 00 00 */ cmpwi r4, 0
/* 8003EB60 0003A7C0 41 82 00 10 */ beq lbl_8003EB70
/* 8003EB64 0003A7C4 80 7D 00 04 */ lwz r3, 4(r29)
/* 8003EB68 0003A7C8 48 19 C9 E1 */ bl func_801DB548
/* 8003EB6C 0003A7CC 93 DC 00 04 */ stw r30, 4(r28)
lbl_8003EB70:
/* 8003EB70 0003A7D0 3B 5A 00 01 */ addi r26, r26, 1
/* 8003EB74 0003A7D4 3B 9C 00 20 */ addi r28, r28, 0x20
/* 8003EB78 0003A7D8 2C 1A 00 05 */ cmpwi r26, 5
/* 8003EB7C 0003A7DC 41 80 FF 70 */ blt lbl_8003EAEC
/* 8003EB80 0003A7E0 3B 7B 00 01 */ addi r27, r27, 1
/* 8003EB84 0003A7E4 3B BD 00 AC */ addi r29, r29, 0xac
/* 8003EB88 0003A7E8 2C 1B 00 0A */ cmpwi r27, 0xa
/* 8003EB8C 0003A7EC 41 80 FF 50 */ blt lbl_8003EADC
/* 8003EB90 0003A7F0 80 99 00 14 */ lwz r4, 0x14(r25)
/* 8003EB94 0003A7F4 2C 04 00 00 */ cmpwi r4, 0
/* 8003EB98 0003A7F8 41 82 00 0C */ beq lbl_8003EBA4
/* 8003EB9C 0003A7FC 80 79 00 10 */ lwz r3, 0x10(r25)
/* 8003EBA0 0003A800 48 19 C9 A9 */ bl func_801DB548
lbl_8003EBA4:
/* 8003EBA4 0003A804 38 79 00 0C */ addi r3, r25, 0xc
/* 8003EBA8 0003A808 38 80 00 00 */ li r4, 0
/* 8003EBAC 0003A80C 38 A0 00 0C */ li r5, 0xc
/* 8003EBB0 0003A810 4B FC 55 55 */ bl memset
/* 8003EBB4 0003A814 39 61 00 30 */ addi r11, r1, 0x30
/* 8003EBB8 0003A818 48 18 85 B5 */ bl _restgpr_25
/* 8003EBBC 0003A81C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8003EBC0 0003A820 7C 08 03 A6 */ mtlr r0
/* 8003EBC4 0003A824 38 21 00 30 */ addi r1, r1, 0x30
/* 8003EBC8 0003A828 4E 80 00 20 */ blr
.global func_8003EBCC
func_8003EBCC:
/* 8003EBCC 0003A82C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003EBD0 0003A830 7C 08 02 A6 */ mflr r0
/* 8003EBD4 0003A834 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003EBD8 0003A838 39 61 00 20 */ addi r11, r1, 0x20
/* 8003EBDC 0003A83C 48 18 85 49 */ bl _savegpr_26
/* 8003EBE0 0003A840 2C 04 00 00 */ cmpwi r4, 0
/* 8003EBE4 0003A844 8B A3 00 01 */ lbz r29, 1(r3)
/* 8003EBE8 0003A848 7C 7A 1B 78 */ mr r26, r3
/* 8003EBEC 0003A84C 7C 9B 23 78 */ mr r27, r4
/* 8003EBF0 0003A850 41 82 00 10 */ beq lbl_8003EC00
/* 8003EBF4 0003A854 88 03 00 03 */ lbz r0, 3(r3)
/* 8003EBF8 0003A858 7C 00 07 75 */ extsb. r0, r0
/* 8003EBFC 0003A85C 40 82 00 0C */ bne lbl_8003EC08
lbl_8003EC00:
/* 8003EC00 0003A860 38 60 00 00 */ li r3, 0
/* 8003EC04 0003A864 48 00 00 88 */ b lbl_8003EC8C
lbl_8003EC08:
/* 8003EC08 0003A868 3C 60 80 64 */ lis r3, lbl_8063CE34@ha
/* 8003EC0C 0003A86C 3B C3 CE 34 */ addi r30, r3, lbl_8063CE34@l
/* 8003EC10 0003A870 38 7E 00 80 */ addi r3, r30, 0x80
/* 8003EC14 0003A874 48 35 B3 01 */ bl func_80399F14
/* 8003EC18 0003A878 7C 7F 1B 78 */ mr r31, r3
/* 8003EC1C 0003A87C 3B 80 00 00 */ li r28, 0
/* 8003EC20 0003A880 48 00 00 60 */ b lbl_8003EC80
lbl_8003EC24:
/* 8003EC24 0003A884 7F 84 E3 78 */ mr r4, r28
/* 8003EC28 0003A888 7F A5 EB 78 */ mr r5, r29
/* 8003EC2C 0003A88C 38 7E 00 80 */ addi r3, r30, 0x80
/* 8003EC30 0003A890 48 35 B3 35 */ bl func_80399F64
/* 8003EC34 0003A894 7C 1B 18 40 */ cmplw r27, r3
/* 8003EC38 0003A898 40 82 00 44 */ bne lbl_8003EC7C
/* 8003EC3C 0003A89C 88 1A 00 03 */ lbz r0, 3(r26)
/* 8003EC40 0003A8A0 7C 00 07 74 */ extsb r0, r0
/* 8003EC44 0003A8A4 2C 00 00 01 */ cmpwi r0, 1
/* 8003EC48 0003A8A8 40 82 00 18 */ bne lbl_8003EC60
/* 8003EC4C 0003A8AC 7F 84 E3 78 */ mr r4, r28
/* 8003EC50 0003A8B0 7F A5 EB 78 */ mr r5, r29
/* 8003EC54 0003A8B4 38 7E 00 80 */ addi r3, r30, 0x80
/* 8003EC58 0003A8B8 48 35 B3 61 */ bl func_80399FB8
/* 8003EC5C 0003A8BC 48 00 00 30 */ b lbl_8003EC8C
lbl_8003EC60:
/* 8003EC60 0003A8C0 2C 00 00 02 */ cmpwi r0, 2
/* 8003EC64 0003A8C4 40 82 00 18 */ bne lbl_8003EC7C
/* 8003EC68 0003A8C8 7F 84 E3 78 */ mr r4, r28
/* 8003EC6C 0003A8CC 7F A5 EB 78 */ mr r5, r29
/* 8003EC70 0003A8D0 38 7E 00 80 */ addi r3, r30, 0x80
/* 8003EC74 0003A8D4 48 35 B3 9D */ bl func_8039A010
/* 8003EC78 0003A8D8 48 00 00 14 */ b lbl_8003EC8C
lbl_8003EC7C:
/* 8003EC7C 0003A8DC 3B 9C 00 01 */ addi r28, r28, 1
lbl_8003EC80:
/* 8003EC80 0003A8E0 7C 1C F8 00 */ cmpw r28, r31
/* 8003EC84 0003A8E4 41 80 FF A0 */ blt lbl_8003EC24
/* 8003EC88 0003A8E8 38 60 00 00 */ li r3, 0
lbl_8003EC8C:
/* 8003EC8C 0003A8EC 39 61 00 20 */ addi r11, r1, 0x20
/* 8003EC90 0003A8F0 48 18 84 E1 */ bl _restgpr_26
/* 8003EC94 0003A8F4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003EC98 0003A8F8 7C 08 03 A6 */ mtlr r0
/* 8003EC9C 0003A8FC 38 21 00 20 */ addi r1, r1, 0x20
/* 8003ECA0 0003A900 4E 80 00 20 */ blr
.global func_8003ECA4
func_8003ECA4:
/* 8003ECA4 0003A904 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8003ECA8 0003A908 7C 08 02 A6 */ mflr r0
/* 8003ECAC 0003A90C 90 01 00 34 */ stw r0, 0x34(r1)
/* 8003ECB0 0003A910 39 61 00 30 */ addi r11, r1, 0x30
/* 8003ECB4 0003A914 48 18 84 61 */ bl _savegpr_22
/* 8003ECB8 0003A918 88 03 00 03 */ lbz r0, 3(r3)
/* 8003ECBC 0003A91C 7C 76 1B 78 */ mr r22, r3
/* 8003ECC0 0003A920 8B 83 00 01 */ lbz r28, 1(r3)
/* 8003ECC4 0003A924 7C 97 23 78 */ mr r23, r4
/* 8003ECC8 0003A928 7C 00 07 75 */ extsb. r0, r0
/* 8003ECCC 0003A92C 7C B8 2B 78 */ mr r24, r5
/* 8003ECD0 0003A930 7C D9 33 78 */ mr r25, r6
/* 8003ECD4 0003A934 40 82 00 0C */ bne lbl_8003ECE0
/* 8003ECD8 0003A938 38 60 00 00 */ li r3, 0
/* 8003ECDC 0003A93C 48 00 00 F8 */ b lbl_8003EDD4
lbl_8003ECE0:
/* 8003ECE0 0003A940 3C 60 80 64 */ lis r3, lbl_8063CE34@ha
/* 8003ECE4 0003A944 3B A3 CE 34 */ addi r29, r3, lbl_8063CE34@l
/* 8003ECE8 0003A948 38 7D 00 80 */ addi r3, r29, 0x80
/* 8003ECEC 0003A94C 48 35 B2 29 */ bl func_80399F14
/* 8003ECF0 0003A950 7C 7E 1B 78 */ mr r30, r3
/* 8003ECF4 0003A954 38 76 00 0C */ addi r3, r22, 0xc
/* 8003ECF8 0003A958 38 80 00 00 */ li r4, 0
/* 8003ECFC 0003A95C 38 A0 00 0C */ li r5, 0xc
/* 8003ED00 0003A960 4B FC 54 05 */ bl memset
/* 8003ED04 0003A964 3B 40 00 00 */ li r26, 0
/* 8003ED08 0003A968 48 00 00 C0 */ b lbl_8003EDC8
lbl_8003ED0C:
/* 8003ED0C 0003A96C 7F 44 D3 78 */ mr r4, r26
/* 8003ED10 0003A970 38 7D 00 80 */ addi r3, r29, 0x80
/* 8003ED14 0003A974 48 35 B2 1D */ bl func_80399F30
/* 8003ED18 0003A978 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8003ED1C 0003A97C 7C 17 00 00 */ cmpw r23, r0
/* 8003ED20 0003A980 40 82 00 A4 */ bne lbl_8003EDC4
/* 8003ED24 0003A984 7F 44 D3 78 */ mr r4, r26
/* 8003ED28 0003A988 7F 85 E3 78 */ mr r5, r28
/* 8003ED2C 0003A98C 38 7D 00 80 */ addi r3, r29, 0x80
/* 8003ED30 0003A990 48 35 B2 35 */ bl func_80399F64
/* 8003ED34 0003A994 28 03 01 00 */ cmplwi r3, 0x100
/* 8003ED38 0003A998 7C 7F 1B 78 */ mr r31, r3
/* 8003ED3C 0003A99C 40 80 00 88 */ bge lbl_8003EDC4
/* 8003ED40 0003A9A0 88 16 00 03 */ lbz r0, 3(r22)
/* 8003ED44 0003A9A4 3B 60 00 00 */ li r27, 0
/* 8003ED48 0003A9A8 7C 00 07 74 */ extsb r0, r0
/* 8003ED4C 0003A9AC 2C 00 00 01 */ cmpwi r0, 1
/* 8003ED50 0003A9B0 40 82 00 1C */ bne lbl_8003ED6C
/* 8003ED54 0003A9B4 7F 44 D3 78 */ mr r4, r26
/* 8003ED58 0003A9B8 7F 85 E3 78 */ mr r5, r28
/* 8003ED5C 0003A9BC 38 7D 00 80 */ addi r3, r29, 0x80
/* 8003ED60 0003A9C0 48 35 B2 59 */ bl func_80399FB8
/* 8003ED64 0003A9C4 7C 7B 1B 78 */ mr r27, r3
/* 8003ED68 0003A9C8 48 00 00 20 */ b lbl_8003ED88
lbl_8003ED6C:
/* 8003ED6C 0003A9CC 2C 00 00 02 */ cmpwi r0, 2
/* 8003ED70 0003A9D0 40 82 00 18 */ bne lbl_8003ED88
/* 8003ED74 0003A9D4 7F 44 D3 78 */ mr r4, r26
/* 8003ED78 0003A9D8 7F 85 E3 78 */ mr r5, r28
/* 8003ED7C 0003A9DC 38 7D 00 80 */ addi r3, r29, 0x80
/* 8003ED80 0003A9E0 48 35 B2 91 */ bl func_8039A010
/* 8003ED84 0003A9E4 7C 7B 1B 78 */ mr r27, r3
lbl_8003ED88:
/* 8003ED88 0003A9E8 2C 1B 00 00 */ cmpwi r27, 0
/* 8003ED8C 0003A9EC 41 82 00 38 */ beq lbl_8003EDC4
/* 8003ED90 0003A9F0 7F 03 C3 78 */ mr r3, r24
/* 8003ED94 0003A9F4 7F 64 DB 78 */ mr r4, r27
/* 8003ED98 0003A9F8 48 19 C7 25 */ bl func_801DB4BC
/* 8003ED9C 0003A9FC 7C 60 00 34 */ cntlzw r0, r3
/* 8003EDA0 0003AA00 7F 23 CB 78 */ mr r3, r25
/* 8003EDA4 0003AA04 7F 64 DB 78 */ mr r4, r27
/* 8003EDA8 0003AA08 54 05 D9 7E */ srwi r5, r0, 5
/* 8003EDAC 0003AA0C 4B FF FA C1 */ bl func_8003E86C
/* 8003EDB0 0003AA10 B3 F6 00 0C */ sth r31, 0xc(r22)
/* 8003EDB4 0003AA14 7F 63 DB 78 */ mr r3, r27
/* 8003EDB8 0003AA18 93 16 00 10 */ stw r24, 0x10(r22)
/* 8003EDBC 0003AA1C 93 76 00 14 */ stw r27, 0x14(r22)
/* 8003EDC0 0003AA20 48 00 00 14 */ b lbl_8003EDD4
lbl_8003EDC4:
/* 8003EDC4 0003AA24 3B 5A 00 01 */ addi r26, r26, 1
lbl_8003EDC8:
/* 8003EDC8 0003AA28 7C 1A F0 00 */ cmpw r26, r30
/* 8003EDCC 0003AA2C 41 80 FF 40 */ blt lbl_8003ED0C
/* 8003EDD0 0003AA30 38 60 00 00 */ li r3, 0
lbl_8003EDD4:
/* 8003EDD4 0003AA34 39 61 00 30 */ addi r11, r1, 0x30
/* 8003EDD8 0003AA38 48 18 83 89 */ bl _restgpr_22
/* 8003EDDC 0003AA3C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8003EDE0 0003AA40 7C 08 03 A6 */ mtlr r0
/* 8003EDE4 0003AA44 38 21 00 30 */ addi r1, r1, 0x30
/* 8003EDE8 0003AA48 4E 80 00 20 */ blr
.global func_8003EDEC
func_8003EDEC:
/* 8003EDEC 0003AA4C 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8003EDF0 0003AA50 7C 08 02 A6 */ mflr r0
/* 8003EDF4 0003AA54 90 01 00 54 */ stw r0, 0x54(r1)
/* 8003EDF8 0003AA58 39 61 00 50 */ addi r11, r1, 0x50
/* 8003EDFC 0003AA5C 48 18 83 21 */ bl _savegpr_24
/* 8003EE00 0003AA60 3C C0 80 64 */ lis r6, lbl_8063CE34@ha
/* 8003EE04 0003AA64 7C 7C 1B 78 */ mr r28, r3
/* 8003EE08 0003AA68 3B E6 CE 34 */ addi r31, r6, lbl_8063CE34@l
/* 8003EE0C 0003AA6C 7C 98 23 78 */ mr r24, r4
/* 8003EE10 0003AA70 7C BD 2B 78 */ mr r29, r5
/* 8003EE14 0003AA74 7C FE 3B 78 */ mr r30, r7
/* 8003EE18 0003AA78 38 7F 00 2C */ addi r3, r31, 0x2c
/* 8003EE1C 0003AA7C 48 35 66 75 */ bl func_80395490
/* 8003EE20 0003AA80 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8003EE24 0003AA84 7F 04 C3 78 */ mr r4, r24
/* 8003EE28 0003AA88 90 01 00 18 */ stw r0, 0x18(r1)
/* 8003EE2C 0003AA8C 38 7F 00 2C */ addi r3, r31, 0x2c
/* 8003EE30 0003AA90 48 35 67 01 */ bl func_80395530
/* 8003EE34 0003AA94 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8003EE38 0003AA98 7F 04 C3 78 */ mr r4, r24
/* 8003EE3C 0003AA9C 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8003EE40 0003AAA0 38 7F 00 2C */ addi r3, r31, 0x2c
/* 8003EE44 0003AAA4 48 35 67 8D */ bl func_803955D0
/* 8003EE48 0003AAA8 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8003EE4C 0003AAAC 7F 04 C3 78 */ mr r4, r24
/* 8003EE50 0003AAB0 90 01 00 20 */ stw r0, 0x20(r1)
/* 8003EE54 0003AAB4 38 7F 00 2C */ addi r3, r31, 0x2c
/* 8003EE58 0003AAB8 48 35 68 19 */ bl func_80395670
/* 8003EE5C 0003AABC 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8003EE60 0003AAC0 7F 04 C3 78 */ mr r4, r24
/* 8003EE64 0003AAC4 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003EE68 0003AAC8 38 7F 00 2C */ addi r3, r31, 0x2c
/* 8003EE6C 0003AACC 48 35 68 A5 */ bl func_80395710
/* 8003EE70 0003AAD0 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8003EE74 0003AAD4 7F 04 C3 78 */ mr r4, r24
/* 8003EE78 0003AAD8 90 01 00 28 */ stw r0, 0x28(r1)
/* 8003EE7C 0003AADC 38 7F 00 2C */ addi r3, r31, 0x2c
/* 8003EE80 0003AAE0 48 35 63 E9 */ bl func_80395268
/* 8003EE84 0003AAE4 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8003EE88 0003AAE8 7F 04 C3 78 */ mr r4, r24
/* 8003EE8C 0003AAEC 90 01 00 08 */ stw r0, 8(r1)
/* 8003EE90 0003AAF0 38 7F 00 2C */ addi r3, r31, 0x2c
/* 8003EE94 0003AAF4 48 35 64 0D */ bl func_803952A0
/* 8003EE98 0003AAF8 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8003EE9C 0003AAFC 7F 04 C3 78 */ mr r4, r24
/* 8003EEA0 0003AB00 90 01 00 0C */ stw r0, 0xc(r1)
/* 8003EEA4 0003AB04 38 7F 00 2C */ addi r3, r31, 0x2c
/* 8003EEA8 0003AB08 48 35 64 31 */ bl func_803952D8
/* 8003EEAC 0003AB0C 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8003EEB0 0003AB10 7F 04 C3 78 */ mr r4, r24
/* 8003EEB4 0003AB14 90 01 00 10 */ stw r0, 0x10(r1)
/* 8003EEB8 0003AB18 38 7F 00 2C */ addi r3, r31, 0x2c
/* 8003EEBC 0003AB1C 48 35 64 55 */ bl func_80395310
/* 8003EEC0 0003AB20 88 1C 00 01 */ lbz r0, 1(r28)
/* 8003EEC4 0003AB24 54 63 06 3E */ clrlwi r3, r3, 0x18
/* 8003EEC8 0003AB28 90 61 00 14 */ stw r3, 0x14(r1)
/* 8003EECC 0003AB2C 2C 00 00 00 */ cmpwi r0, 0
/* 8003EED0 0003AB30 41 82 01 50 */ beq lbl_8003F020
/* 8003EED4 0003AB34 7F 04 C3 78 */ mr r4, r24
/* 8003EED8 0003AB38 38 7F 00 2C */ addi r3, r31, 0x2c
/* 8003EEDC 0003AB3C 48 35 65 81 */ bl func_8039545C
/* 8003EEE0 0003AB40 90 7D 00 18 */ stw r3, 0x18(r29)
/* 8003EEE4 0003AB44 7F 04 C3 78 */ mr r4, r24
/* 8003EEE8 0003AB48 38 7F 00 2C */ addi r3, r31, 0x2c
/* 8003EEEC 0003AB4C 48 35 66 11 */ bl func_803954FC
/* 8003EEF0 0003AB50 90 7D 00 38 */ stw r3, 0x38(r29)
/* 8003EEF4 0003AB54 7F 04 C3 78 */ mr r4, r24
/* 8003EEF8 0003AB58 38 7F 00 2C */ addi r3, r31, 0x2c
/* 8003EEFC 0003AB5C 48 35 66 A1 */ bl func_8039559C
/* 8003EF00 0003AB60 90 7D 00 58 */ stw r3, 0x58(r29)
/* 8003EF04 0003AB64 7F 04 C3 78 */ mr r4, r24
/* 8003EF08 0003AB68 38 7F 00 2C */ addi r3, r31, 0x2c
/* 8003EF0C 0003AB6C 48 35 67 31 */ bl func_8039563C
/* 8003EF10 0003AB70 90 7D 00 78 */ stw r3, 0x78(r29)
/* 8003EF14 0003AB74 7F 04 C3 78 */ mr r4, r24
/* 8003EF18 0003AB78 38 7F 00 2C */ addi r3, r31, 0x2c
/* 8003EF1C 0003AB7C 48 35 67 C1 */ bl func_803956DC
/* 8003EF20 0003AB80 90 7D 00 98 */ stw r3, 0x98(r29)
/* 8003EF24 0003AB84 3B 1D 00 0C */ addi r24, r29, 0xc
/* 8003EF28 0003AB88 3B 21 00 18 */ addi r25, r1, 0x18
/* 8003EF2C 0003AB8C 3B 5D 00 AC */ addi r26, r29, 0xac
/* 8003EF30 0003AB90 3B 60 00 00 */ li r27, 0
/* 8003EF34 0003AB94 48 00 00 90 */ b lbl_8003EFC4
lbl_8003EF38:
/* 8003EF38 0003AB98 80 78 00 0C */ lwz r3, 0xc(r24)
/* 8003EF3C 0003AB9C 54 60 BE BE */ rlwinm r0, r3, 0x17, 0x1a, 0x1f
/* 8003EF40 0003ABA0 2C 00 00 04 */ cmpwi r0, 4
/* 8003EF44 0003ABA4 41 82 00 2C */ beq lbl_8003EF70
/* 8003EF48 0003ABA8 40 80 00 50 */ bge lbl_8003EF98
/* 8003EF4C 0003ABAC 2C 00 00 03 */ cmpwi r0, 3
/* 8003EF50 0003ABB0 40 80 00 08 */ bge lbl_8003EF58
/* 8003EF54 0003ABB4 48 00 00 44 */ b lbl_8003EF98
lbl_8003EF58:
/* 8003EF58 0003ABB8 80 9C 00 04 */ lwz r4, 4(r28)
/* 8003EF5C 0003ABBC 38 7F 00 28 */ addi r3, r31, 0x28
/* 8003EF60 0003ABC0 80 B9 00 00 */ lwz r5, 0(r25)
/* 8003EF64 0003ABC4 48 35 70 D9 */ bl func_8039603C
/* 8003EF68 0003ABC8 98 78 00 08 */ stb r3, 8(r24)
/* 8003EF6C 0003ABCC 48 00 00 50 */ b lbl_8003EFBC
lbl_8003EF70:
/* 8003EF70 0003ABD0 80 9C 00 04 */ lwz r4, 4(r28)
/* 8003EF74 0003ABD4 38 7F 00 28 */ addi r3, r31, 0x28
/* 8003EF78 0003ABD8 80 B9 00 00 */ lwz r5, 0(r25)
/* 8003EF7C 0003ABDC 48 35 71 69 */ bl func_803960E4
/* 8003EF80 0003ABE0 98 78 00 08 */ stb r3, 8(r24)
/* 8003EF84 0003ABE4 7F 83 E3 78 */ mr r3, r28
/* 8003EF88 0003ABE8 80 98 00 0C */ lwz r4, 0xc(r24)
/* 8003EF8C 0003ABEC 4B FF FC 41 */ bl func_8003EBCC
/* 8003EF90 0003ABF0 90 78 00 10 */ stw r3, 0x10(r24)
/* 8003EF94 0003ABF4 48 00 00 28 */ b lbl_8003EFBC
lbl_8003EF98:
/* 8003EF98 0003ABF8 28 03 00 64 */ cmplwi r3, 0x64
/* 8003EF9C 0003ABFC 40 82 00 1C */ bne lbl_8003EFB8
/* 8003EFA0 0003AC00 80 9C 00 04 */ lwz r4, 4(r28)
/* 8003EFA4 0003AC04 38 7F 00 28 */ addi r3, r31, 0x28
/* 8003EFA8 0003AC08 80 B9 00 00 */ lwz r5, 0(r25)
/* 8003EFAC 0003AC0C 48 35 71 39 */ bl func_803960E4
/* 8003EFB0 0003AC10 98 78 00 08 */ stb r3, 8(r24)
/* 8003EFB4 0003AC14 48 00 00 08 */ b lbl_8003EFBC
lbl_8003EFB8:
/* 8003EFB8 0003AC18 9B 78 00 08 */ stb r27, 8(r24)
lbl_8003EFBC:
/* 8003EFBC 0003AC1C 3B 18 00 20 */ addi r24, r24, 0x20
/* 8003EFC0 0003AC20 3B 39 00 04 */ addi r25, r25, 4
lbl_8003EFC4:
/* 8003EFC4 0003AC24 7C 18 D0 40 */ cmplw r24, r26
/* 8003EFC8 0003AC28 40 82 FF 70 */ bne lbl_8003EF38
/* 8003EFCC 0003AC2C 3F 40 80 64 */ lis r26, lbl_8063CE34@ha
/* 8003EFD0 0003AC30 3B 21 00 08 */ addi r25, r1, 8
/* 8003EFD4 0003AC34 3B 5A CE 34 */ addi r26, r26, lbl_8063CE34@l
/* 8003EFD8 0003AC38 3B E0 00 00 */ li r31, 0
/* 8003EFDC 0003AC3C 3B 60 00 FF */ li r27, 0xff
lbl_8003EFE0:
/* 8003EFE0 0003AC40 80 B9 00 00 */ lwz r5, 0(r25)
/* 8003EFE4 0003AC44 28 05 00 07 */ cmplwi r5, 7
/* 8003EFE8 0003AC48 40 82 00 10 */ bne lbl_8003EFF8
/* 8003EFEC 0003AC4C 7C 7D FA 14 */ add r3, r29, r31
/* 8003EFF0 0003AC50 9B 63 00 08 */ stb r27, 8(r3)
/* 8003EFF4 0003AC54 48 00 00 18 */ b lbl_8003F00C
lbl_8003EFF8:
/* 8003EFF8 0003AC58 80 9C 00 04 */ lwz r4, 4(r28)
/* 8003EFFC 0003AC5C 38 7A 00 28 */ addi r3, r26, 0x28
/* 8003F000 0003AC60 48 35 70 91 */ bl func_80396090
/* 8003F004 0003AC64 7C 9D FA 14 */ add r4, r29, r31
/* 8003F008 0003AC68 98 64 00 08 */ stb r3, 8(r4)
lbl_8003F00C:
/* 8003F00C 0003AC6C 3B FF 00 01 */ addi r31, r31, 1
/* 8003F010 0003AC70 3B 39 00 04 */ addi r25, r25, 4
/* 8003F014 0003AC74 2C 1F 00 04 */ cmpwi r31, 4
/* 8003F018 0003AC78 41 80 FF C8 */ blt lbl_8003EFE0
/* 8003F01C 0003AC7C 48 00 01 4C */ b lbl_8003F168
lbl_8003F020:
/* 8003F020 0003AC80 7F 04 C3 78 */ mr r4, r24
/* 8003F024 0003AC84 38 7F 00 2C */ addi r3, r31, 0x2c
/* 8003F028 0003AC88 48 35 64 01 */ bl func_80395428
/* 8003F02C 0003AC8C 90 7D 00 18 */ stw r3, 0x18(r29)
/* 8003F030 0003AC90 7F 04 C3 78 */ mr r4, r24
/* 8003F034 0003AC94 38 7F 00 2C */ addi r3, r31, 0x2c
/* 8003F038 0003AC98 48 35 64 91 */ bl func_803954C8
/* 8003F03C 0003AC9C 90 7D 00 38 */ stw r3, 0x38(r29)
/* 8003F040 0003ACA0 7F 04 C3 78 */ mr r4, r24
/* 8003F044 0003ACA4 38 7F 00 2C */ addi r3, r31, 0x2c
/* 8003F048 0003ACA8 48 35 65 21 */ bl func_80395568
/* 8003F04C 0003ACAC 90 7D 00 58 */ stw r3, 0x58(r29)
/* 8003F050 0003ACB0 7F 04 C3 78 */ mr r4, r24
/* 8003F054 0003ACB4 38 7F 00 2C */ addi r3, r31, 0x2c
/* 8003F058 0003ACB8 48 35 65 B1 */ bl func_80395608
/* 8003F05C 0003ACBC 90 7D 00 78 */ stw r3, 0x78(r29)
/* 8003F060 0003ACC0 7F 04 C3 78 */ mr r4, r24
/* 8003F064 0003ACC4 38 7F 00 2C */ addi r3, r31, 0x2c
/* 8003F068 0003ACC8 48 35 66 41 */ bl func_803956A8
/* 8003F06C 0003ACCC 90 7D 00 98 */ stw r3, 0x98(r29)
/* 8003F070 0003ACD0 3B 1D 00 0C */ addi r24, r29, 0xc
/* 8003F074 0003ACD4 3B 21 00 18 */ addi r25, r1, 0x18
/* 8003F078 0003ACD8 3B 7D 00 AC */ addi r27, r29, 0xac
/* 8003F07C 0003ACDC 3B 40 00 00 */ li r26, 0
/* 8003F080 0003ACE0 48 00 00 90 */ b lbl_8003F110
lbl_8003F084:
/* 8003F084 0003ACE4 80 78 00 0C */ lwz r3, 0xc(r24)
/* 8003F088 0003ACE8 54 60 BE BE */ rlwinm r0, r3, 0x17, 0x1a, 0x1f
/* 8003F08C 0003ACEC 2C 00 00 04 */ cmpwi r0, 4
/* 8003F090 0003ACF0 41 82 00 2C */ beq lbl_8003F0BC
/* 8003F094 0003ACF4 40 80 00 50 */ bge lbl_8003F0E4
/* 8003F098 0003ACF8 2C 00 00 03 */ cmpwi r0, 3
/* 8003F09C 0003ACFC 40 80 00 08 */ bge lbl_8003F0A4
/* 8003F0A0 0003AD00 48 00 00 44 */ b lbl_8003F0E4
lbl_8003F0A4:
/* 8003F0A4 0003AD04 80 9C 00 04 */ lwz r4, 4(r28)
/* 8003F0A8 0003AD08 38 7F 00 28 */ addi r3, r31, 0x28
/* 8003F0AC 0003AD0C 80 B9 00 00 */ lwz r5, 0(r25)
/* 8003F0B0 0003AD10 48 35 6E 91 */ bl func_80395F40
/* 8003F0B4 0003AD14 98 78 00 08 */ stb r3, 8(r24)
/* 8003F0B8 0003AD18 48 00 00 50 */ b lbl_8003F108
lbl_8003F0BC:
/* 8003F0BC 0003AD1C 80 9C 00 04 */ lwz r4, 4(r28)
/* 8003F0C0 0003AD20 38 7F 00 28 */ addi r3, r31, 0x28
/* 8003F0C4 0003AD24 80 B9 00 00 */ lwz r5, 0(r25)
/* 8003F0C8 0003AD28 48 35 6F 21 */ bl func_80395FE8
/* 8003F0CC 0003AD2C 98 78 00 08 */ stb r3, 8(r24)
/* 8003F0D0 0003AD30 7F 83 E3 78 */ mr r3, r28
/* 8003F0D4 0003AD34 80 98 00 0C */ lwz r4, 0xc(r24)
/* 8003F0D8 0003AD38 4B FF FA F5 */ bl func_8003EBCC
/* 8003F0DC 0003AD3C 90 78 00 10 */ stw r3, 0x10(r24)
/* 8003F0E0 0003AD40 48 00 00 28 */ b lbl_8003F108
lbl_8003F0E4:
/* 8003F0E4 0003AD44 28 03 00 64 */ cmplwi r3, 0x64
/* 8003F0E8 0003AD48 40 82 00 1C */ bne lbl_8003F104
/* 8003F0EC 0003AD4C 80 9C 00 04 */ lwz r4, 4(r28)
/* 8003F0F0 0003AD50 38 7F 00 28 */ addi r3, r31, 0x28
/* 8003F0F4 0003AD54 80 B9 00 00 */ lwz r5, 0(r25)
/* 8003F0F8 0003AD58 48 35 6E F1 */ bl func_80395FE8
/* 8003F0FC 0003AD5C 98 78 00 08 */ stb r3, 8(r24)
/* 8003F100 0003AD60 48 00 00 08 */ b lbl_8003F108
lbl_8003F104:
/* 8003F104 0003AD64 9B 58 00 08 */ stb r26, 8(r24)
lbl_8003F108:
/* 8003F108 0003AD68 3B 18 00 20 */ addi r24, r24, 0x20
/* 8003F10C 0003AD6C 3B 39 00 04 */ addi r25, r25, 4
lbl_8003F110:
/* 8003F110 0003AD70 7C 18 D8 40 */ cmplw r24, r27
/* 8003F114 0003AD74 40 82 FF 70 */ bne lbl_8003F084
/* 8003F118 0003AD78 3F E0 80 64 */ lis r31, lbl_8063CE34@ha
/* 8003F11C 0003AD7C 3B 41 00 08 */ addi r26, r1, 8
/* 8003F120 0003AD80 3B FF CE 34 */ addi r31, r31, lbl_8063CE34@l
/* 8003F124 0003AD84 3B 20 00 00 */ li r25, 0
/* 8003F128 0003AD88 3B 60 00 FF */ li r27, 0xff
lbl_8003F12C:
/* 8003F12C 0003AD8C 80 BA 00 00 */ lwz r5, 0(r26)
/* 8003F130 0003AD90 28 05 00 07 */ cmplwi r5, 7
/* 8003F134 0003AD94 40 82 00 10 */ bne lbl_8003F144
/* 8003F138 0003AD98 7C 7D CA 14 */ add r3, r29, r25
/* 8003F13C 0003AD9C 9B 63 00 08 */ stb r27, 8(r3)
/* 8003F140 0003ADA0 48 00 00 18 */ b lbl_8003F158
lbl_8003F144:
/* 8003F144 0003ADA4 80 9C 00 04 */ lwz r4, 4(r28)
/* 8003F148 0003ADA8 38 7F 00 28 */ addi r3, r31, 0x28
/* 8003F14C 0003ADAC 48 35 6E 49 */ bl func_80395F94
/* 8003F150 0003ADB0 7C 9D CA 14 */ add r4, r29, r25
/* 8003F154 0003ADB4 98 64 00 08 */ stb r3, 8(r4)
lbl_8003F158:
/* 8003F158 0003ADB8 3B 39 00 01 */ addi r25, r25, 1
/* 8003F15C 0003ADBC 3B 5A 00 04 */ addi r26, r26, 4
/* 8003F160 0003ADC0 2C 19 00 04 */ cmpwi r25, 4
/* 8003F164 0003ADC4 41 80 FF C8 */ blt lbl_8003F12C
lbl_8003F168:
/* 8003F168 0003ADC8 38 00 00 01 */ li r0, 1
/* 8003F16C 0003ADCC 3B 3D 00 0C */ addi r25, r29, 0xc
/* 8003F170 0003ADD0 98 1D 00 00 */ stb r0, 0(r29)
/* 8003F174 0003ADD4 3B 9D 00 AC */ addi r28, r29, 0xac
/* 8003F178 0003ADD8 48 00 01 04 */ b lbl_8003F27C
lbl_8003F17C:
/* 8003F17C 0003ADDC 80 99 00 0C */ lwz r4, 0xc(r25)
/* 8003F180 0003ADE0 2C 04 00 00 */ cmpwi r4, 0
/* 8003F184 0003ADE4 41 82 00 F4 */ beq lbl_8003F278
/* 8003F188 0003ADE8 28 04 00 64 */ cmplwi r4, 0x64
/* 8003F18C 0003ADEC 41 82 00 EC */ beq lbl_8003F278
/* 8003F190 0003ADF0 80 19 00 00 */ lwz r0, 0(r25)
/* 8003F194 0003ADF4 7C 04 00 40 */ cmplw r4, r0
/* 8003F198 0003ADF8 41 82 00 E0 */ beq lbl_8003F278
/* 8003F19C 0003ADFC 80 7D 00 04 */ lwz r3, 4(r29)
/* 8003F1A0 0003AE00 48 19 C3 1D */ bl func_801DB4BC
/* 8003F1A4 0003AE04 2C 1E 00 00 */ cmpwi r30, 0
/* 8003F1A8 0003AE08 41 82 00 1C */ beq lbl_8003F1C4
/* 8003F1AC 0003AE0C 7C 60 00 34 */ cntlzw r0, r3
/* 8003F1B0 0003AE10 80 99 00 0C */ lwz r4, 0xc(r25)
/* 8003F1B4 0003AE14 7F C3 F3 78 */ mr r3, r30
/* 8003F1B8 0003AE18 54 05 D9 7E */ srwi r5, r0, 5
/* 8003F1BC 0003AE1C 4B FF F6 B1 */ bl func_8003E86C
/* 8003F1C0 0003AE20 48 00 00 44 */ b lbl_8003F204
lbl_8003F1C4:
/* 8003F1C4 0003AE24 2C 03 00 00 */ cmpwi r3, 0
/* 8003F1C8 0003AE28 40 82 00 30 */ bne lbl_8003F1F8
/* 8003F1CC 0003AE2C 80 7D 00 04 */ lwz r3, 4(r29)
/* 8003F1D0 0003AE30 80 99 00 0C */ lwz r4, 0xc(r25)
/* 8003F1D4 0003AE34 48 20 A6 49 */ bl func_8024981C
/* 8003F1D8 0003AE38 48 00 00 0C */ b lbl_8003F1E4
lbl_8003F1DC:
/* 8003F1DC 0003AE3C 80 6D A3 40 */ lwz r3, lbl_8063F600-_SDA_BASE_(r13)
/* 8003F1E0 0003AE40 48 1E 53 A9 */ bl func_80224588
lbl_8003F1E4:
/* 8003F1E4 0003AE44 80 7D 00 04 */ lwz r3, 4(r29)
/* 8003F1E8 0003AE48 80 99 00 0C */ lwz r4, 0xc(r25)
/* 8003F1EC 0003AE4C 48 19 C2 D1 */ bl func_801DB4BC
/* 8003F1F0 0003AE50 2C 03 00 00 */ cmpwi r3, 0
/* 8003F1F4 0003AE54 41 82 FF E8 */ beq lbl_8003F1DC
lbl_8003F1F8:
/* 8003F1F8 0003AE58 80 7D 00 04 */ lwz r3, 4(r29)
/* 8003F1FC 0003AE5C 80 99 00 0C */ lwz r4, 0xc(r25)
/* 8003F200 0003AE60 48 19 C2 FD */ bl func_801DB4FC
lbl_8003F204:
/* 8003F204 0003AE64 80 99 00 10 */ lwz r4, 0x10(r25)
/* 8003F208 0003AE68 2C 04 00 00 */ cmpwi r4, 0
/* 8003F20C 0003AE6C 41 82 00 6C */ beq lbl_8003F278
/* 8003F210 0003AE70 80 7D 00 04 */ lwz r3, 4(r29)
/* 8003F214 0003AE74 48 19 C2 A9 */ bl func_801DB4BC
/* 8003F218 0003AE78 2C 1E 00 00 */ cmpwi r30, 0
/* 8003F21C 0003AE7C 41 82 00 1C */ beq lbl_8003F238
/* 8003F220 0003AE80 7C 60 00 34 */ cntlzw r0, r3
/* 8003F224 0003AE84 80 99 00 10 */ lwz r4, 0x10(r25)
/* 8003F228 0003AE88 7F C3 F3 78 */ mr r3, r30
/* 8003F22C 0003AE8C 54 05 D9 7E */ srwi r5, r0, 5
/* 8003F230 0003AE90 4B FF F6 3D */ bl func_8003E86C
/* 8003F234 0003AE94 48 00 00 44 */ b lbl_8003F278
lbl_8003F238:
/* 8003F238 0003AE98 2C 03 00 00 */ cmpwi r3, 0
/* 8003F23C 0003AE9C 40 82 00 30 */ bne lbl_8003F26C
/* 8003F240 0003AEA0 80 7D 00 04 */ lwz r3, 4(r29)
/* 8003F244 0003AEA4 80 99 00 10 */ lwz r4, 0x10(r25)
/* 8003F248 0003AEA8 48 20 A5 D5 */ bl func_8024981C
/* 8003F24C 0003AEAC 48 00 00 0C */ b lbl_8003F258
lbl_8003F250:
/* 8003F250 0003AEB0 80 6D A3 40 */ lwz r3, lbl_8063F600-_SDA_BASE_(r13)
/* 8003F254 0003AEB4 48 1E 53 35 */ bl func_80224588
lbl_8003F258:
/* 8003F258 0003AEB8 80 7D 00 04 */ lwz r3, 4(r29)
/* 8003F25C 0003AEBC 80 99 00 10 */ lwz r4, 0x10(r25)
/* 8003F260 0003AEC0 48 19 C2 5D */ bl func_801DB4BC
/* 8003F264 0003AEC4 2C 03 00 00 */ cmpwi r3, 0
/* 8003F268 0003AEC8 41 82 FF E8 */ beq lbl_8003F250
lbl_8003F26C:
/* 8003F26C 0003AECC 80 7D 00 04 */ lwz r3, 4(r29)
/* 8003F270 0003AED0 80 99 00 10 */ lwz r4, 0x10(r25)
/* 8003F274 0003AED4 48 19 C2 89 */ bl func_801DB4FC
lbl_8003F278:
/* 8003F278 0003AED8 3B 39 00 20 */ addi r25, r25, 0x20
lbl_8003F27C:
/* 8003F27C 0003AEDC 7C 19 E0 40 */ cmplw r25, r28
/* 8003F280 0003AEE0 40 82 FE FC */ bne lbl_8003F17C
/* 8003F284 0003AEE4 39 61 00 50 */ addi r11, r1, 0x50
/* 8003F288 0003AEE8 48 18 7E E1 */ bl _restgpr_24
/* 8003F28C 0003AEEC 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8003F290 0003AEF0 7C 08 03 A6 */ mtlr r0
/* 8003F294 0003AEF4 38 21 00 50 */ addi r1, r1, 0x50
/* 8003F298 0003AEF8 4E 80 00 20 */ blr
.global func_8003F29C
func_8003F29C:
/* 8003F29C 0003AEFC 94 21 FE 20 */ stwu r1, -0x1e0(r1)
/* 8003F2A0 0003AF00 7C 08 02 A6 */ mflr r0
/* 8003F2A4 0003AF04 90 01 01 E4 */ stw r0, 0x1e4(r1)
/* 8003F2A8 0003AF08 39 61 01 E0 */ addi r11, r1, 0x1e0
/* 8003F2AC 0003AF0C 48 18 7E 71 */ bl _savegpr_24
/* 8003F2B0 0003AF10 3D 20 80 64 */ lis r9, lbl_8063CE34@ha
/* 8003F2B4 0003AF14 7C 7D 1B 78 */ mr r29, r3
/* 8003F2B8 0003AF18 39 29 CE 34 */ addi r9, r9, lbl_8063CE34@l
/* 8003F2BC 0003AF1C 7C 9C 23 78 */ mr r28, r4
/* 8003F2C0 0003AF20 7C BA 2B 78 */ mr r26, r5
/* 8003F2C4 0003AF24 7C D9 33 78 */ mr r25, r6
/* 8003F2C8 0003AF28 7C FE 3B 78 */ mr r30, r7
/* 8003F2CC 0003AF2C 7D 18 43 78 */ mr r24, r8
/* 8003F2D0 0003AF30 38 69 00 28 */ addi r3, r9, 0x28
/* 8003F2D4 0003AF34 48 35 6B 11 */ bl func_80395DE4
/* 8003F2D8 0003AF38 7C 1C 18 40 */ cmplw r28, r3
/* 8003F2DC 0003AF3C 41 80 00 0C */ blt lbl_8003F2E8
/* 8003F2E0 0003AF40 38 60 00 00 */ li r3, 0
/* 8003F2E4 0003AF44 48 00 02 20 */ b lbl_8003F504
lbl_8003F2E8:
/* 8003F2E8 0003AF48 2C 1E 00 00 */ cmpwi r30, 0
/* 8003F2EC 0003AF4C 40 82 00 18 */ bne lbl_8003F304
/* 8003F2F0 0003AF50 38 61 00 08 */ addi r3, r1, 8
/* 8003F2F4 0003AF54 38 80 00 00 */ li r4, 0
/* 8003F2F8 0003AF58 38 A0 00 0A */ li r5, 0xa
/* 8003F2FC 0003AF5C 4B FC 4E 09 */ bl memset
/* 8003F300 0003AF60 3B C1 00 08 */ addi r30, r1, 8
lbl_8003F304:
/* 8003F304 0003AF64 7F 20 07 75 */ extsb. r0, r25
/* 8003F308 0003AF68 93 9D 00 04 */ stw r28, 4(r29)
/* 8003F30C 0003AF6C 9B 5D 00 01 */ stb r26, 1(r29)
/* 8003F310 0003AF70 41 80 00 08 */ blt lbl_8003F318
/* 8003F314 0003AF74 9B 3D 00 03 */ stb r25, 3(r29)
lbl_8003F318:
/* 8003F318 0003AF78 2C 1A 00 00 */ cmpwi r26, 0
/* 8003F31C 0003AF7C 41 82 00 30 */ beq lbl_8003F34C
/* 8003F320 0003AF80 3F 60 80 64 */ lis r27, lbl_8063CE34@ha
/* 8003F324 0003AF84 7F 84 E3 78 */ mr r4, r28
/* 8003F328 0003AF88 3B 7B CE 34 */ addi r27, r27, lbl_8063CE34@l
/* 8003F32C 0003AF8C 38 7B 00 28 */ addi r3, r27, 0x28
/* 8003F330 0003AF90 48 35 6B A9 */ bl func_80395ED8
/* 8003F334 0003AF94 7C 7F 1B 78 */ mr r31, r3
/* 8003F338 0003AF98 7F 84 E3 78 */ mr r4, r28
/* 8003F33C 0003AF9C 38 7B 00 28 */ addi r3, r27, 0x28
/* 8003F340 0003AFA0 48 35 6B CD */ bl func_80395F0C
/* 8003F344 0003AFA4 7C 79 1B 78 */ mr r25, r3
/* 8003F348 0003AFA8 48 00 00 2C */ b lbl_8003F374
lbl_8003F34C:
/* 8003F34C 0003AFAC 3F 60 80 64 */ lis r27, lbl_8063CE34@ha
/* 8003F350 0003AFB0 7F 84 E3 78 */ mr r4, r28
/* 8003F354 0003AFB4 3B 7B CE 34 */ addi r27, r27, lbl_8063CE34@l
/* 8003F358 0003AFB8 38 7B 00 28 */ addi r3, r27, 0x28
/* 8003F35C 0003AFBC 48 35 6B 15 */ bl func_80395E70
/* 8003F360 0003AFC0 7C 7F 1B 78 */ mr r31, r3
/* 8003F364 0003AFC4 7F 84 E3 78 */ mr r4, r28
/* 8003F368 0003AFC8 38 7B 00 28 */ addi r3, r27, 0x28
/* 8003F36C 0003AFCC 48 35 6B 39 */ bl func_80395EA4
/* 8003F370 0003AFD0 7C 79 1B 78 */ mr r25, r3
lbl_8003F374:
/* 8003F374 0003AFD4 2C 1F 00 00 */ cmpwi r31, 0
/* 8003F378 0003AFD8 41 82 00 0C */ beq lbl_8003F384
/* 8003F37C 0003AFDC 2C 19 00 00 */ cmpwi r25, 0
/* 8003F380 0003AFE0 40 82 00 0C */ bne lbl_8003F38C
lbl_8003F384:
/* 8003F384 0003AFE4 38 60 00 00 */ li r3, 0
/* 8003F388 0003AFE8 48 00 01 7C */ b lbl_8003F504
lbl_8003F38C:
/* 8003F38C 0003AFEC 38 61 00 18 */ addi r3, r1, 0x18
/* 8003F390 0003AFF0 4B FF F4 C5 */ bl cPlayer_ClearSwapControllerTimer
/* 8003F394 0003AFF4 3C 60 80 64 */ lis r3, lbl_8063CE34@ha
/* 8003F398 0003AFF8 7F 84 E3 78 */ mr r4, r28
/* 8003F39C 0003AFFC 38 63 CE 34 */ addi r3, r3, lbl_8063CE34@l
/* 8003F3A0 0003B000 38 63 00 28 */ addi r3, r3, 0x28
/* 8003F3A4 0003B004 48 35 6A 5D */ bl func_80395E00
/* 8003F3A8 0003B008 2C 03 00 00 */ cmpwi r3, 0
/* 8003F3AC 0003B00C 41 82 00 D8 */ beq lbl_8003F484
/* 8003F3B0 0003B010 2C 18 00 00 */ cmpwi r24, 0
/* 8003F3B4 0003B014 41 82 00 38 */ beq lbl_8003F3EC
/* 8003F3B8 0003B018 7F E3 FB 78 */ mr r3, r31
/* 8003F3BC 0003B01C 7F 24 CB 78 */ mr r4, r25
/* 8003F3C0 0003B020 48 19 C0 FD */ bl func_801DB4BC
/* 8003F3C4 0003B024 7C 60 00 34 */ cntlzw r0, r3
/* 8003F3C8 0003B028 7F 24 CB 78 */ mr r4, r25
/* 8003F3CC 0003B02C 54 05 D9 7E */ srwi r5, r0, 5
/* 8003F3D0 0003B030 38 61 00 18 */ addi r3, r1, 0x18
/* 8003F3D4 0003B034 4B FF F4 99 */ bl func_8003E86C
/* 8003F3D8 0003B038 7F A3 EB 78 */ mr r3, r29
/* 8003F3DC 0003B03C 7F 84 E3 78 */ mr r4, r28
/* 8003F3E0 0003B040 7F E5 FB 78 */ mr r5, r31
/* 8003F3E4 0003B044 38 C1 00 18 */ addi r6, r1, 0x18
/* 8003F3E8 0003B048 4B FF F8 BD */ bl func_8003ECA4
lbl_8003F3EC:
/* 8003F3EC 0003B04C 3C 60 80 64 */ lis r3, lbl_8063CE34@ha
/* 8003F3F0 0003B050 7F 84 E3 78 */ mr r4, r28
/* 8003F3F4 0003B054 3B 63 CE 34 */ addi r27, r3, lbl_8063CE34@l
/* 8003F3F8 0003B058 38 7B 00 28 */ addi r3, r27, 0x28
/* 8003F3FC 0003B05C 48 35 6A 3D */ bl func_80395E38
/* 8003F400 0003B060 1F 23 00 0A */ mulli r25, r3, 0xa
/* 8003F404 0003B064 3B 5D 00 18 */ addi r26, r29, 0x18
/* 8003F408 0003B068 3B 00 00 00 */ li r24, 0
lbl_8003F40C:
/* 8003F40C 0003B06C 88 7E 00 00 */ lbz r3, 0(r30)
/* 8003F410 0003B070 88 1A 00 01 */ lbz r0, 1(r26)
/* 8003F414 0003B074 7C 00 18 40 */ cmplw r0, r3
/* 8003F418 0003B078 41 82 00 54 */ beq lbl_8003F46C
/* 8003F41C 0003B07C 98 7A 00 01 */ stb r3, 1(r26)
/* 8003F420 0003B080 7F 24 CB 78 */ mr r4, r25
/* 8003F424 0003B084 38 7B 00 30 */ addi r3, r27, 0x30
/* 8003F428 0003B088 48 35 66 E5 */ bl func_80395B0C
/* 8003F42C 0003B08C 7C 7C 1B 78 */ mr r28, r3
/* 8003F430 0003B090 7F 24 CB 78 */ mr r4, r25
/* 8003F434 0003B094 38 7B 00 30 */ addi r3, r27, 0x30
/* 8003F438 0003B098 48 35 66 6D */ bl func_80395AA4
/* 8003F43C 0003B09C 88 9A 00 01 */ lbz r4, 1(r26)
/* 8003F440 0003B0A0 57 80 04 3E */ clrlwi r0, r28, 0x10
/* 8003F444 0003B0A4 7C 00 20 00 */ cmpw r0, r4
/* 8003F448 0003B0A8 40 81 00 24 */ ble lbl_8003F46C
/* 8003F44C 0003B0AC 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 8003F450 0003B0B0 93 FA 00 04 */ stw r31, 4(r26)
/* 8003F454 0003B0B4 7F A3 EB 78 */ mr r3, r29
/* 8003F458 0003B0B8 7F 45 D3 78 */ mr r5, r26
/* 8003F45C 0003B0BC 7C 80 22 14 */ add r4, r0, r4
/* 8003F460 0003B0C0 38 E1 00 18 */ addi r7, r1, 0x18
/* 8003F464 0003B0C4 38 C0 00 00 */ li r6, 0
/* 8003F468 0003B0C8 4B FF F9 85 */ bl func_8003EDEC
lbl_8003F46C:
/* 8003F46C 0003B0CC 3B 18 00 01 */ addi r24, r24, 1
/* 8003F470 0003B0D0 3B 39 00 01 */ addi r25, r25, 1
/* 8003F474 0003B0D4 2C 18 00 0A */ cmpwi r24, 0xa
/* 8003F478 0003B0D8 3B DE 00 01 */ addi r30, r30, 1
/* 8003F47C 0003B0DC 3B 5A 00 AC */ addi r26, r26, 0xac
/* 8003F480 0003B0E0 41 80 FF 8C */ blt lbl_8003F40C
lbl_8003F484:
/* 8003F484 0003B0E4 38 61 00 18 */ addi r3, r1, 0x18
/* 8003F488 0003B0E8 4B FF F4 71 */ bl func_8003E8F8
/* 8003F48C 0003B0EC 2C 03 00 00 */ cmpwi r3, 0
/* 8003F490 0003B0F0 41 82 00 48 */ beq lbl_8003F4D8
/* 8003F494 0003B0F4 38 00 00 01 */ li r0, 1
/* 8003F498 0003B0F8 38 61 00 18 */ addi r3, r1, 0x18
/* 8003F49C 0003B0FC 98 1D 00 02 */ stb r0, 2(r29)
/* 8003F4A0 0003B100 4B FF F4 61 */ bl func_8003E900
/* 8003F4A4 0003B104 3C A0 80 04 */ lis r5, lbl_8003F51C@ha
/* 8003F4A8 0003B108 7C 64 1B 78 */ mr r4, r3
/* 8003F4AC 0003B10C 7F E3 FB 78 */ mr r3, r31
/* 8003F4B0 0003B110 7F A6 EB 78 */ mr r6, r29
/* 8003F4B4 0003B114 38 A5 F5 1C */ addi r5, r5, lbl_8003F51C@l
/* 8003F4B8 0003B118 38 E0 00 00 */ li r7, 0
/* 8003F4BC 0003B11C 48 20 A3 01 */ bl func_802497BC
/* 8003F4C0 0003B120 48 00 00 0C */ b lbl_8003F4CC
lbl_8003F4C4:
/* 8003F4C4 0003B124 80 6D A3 40 */ lwz r3, lbl_8063F600-_SDA_BASE_(r13)
/* 8003F4C8 0003B128 48 1E 50 C1 */ bl func_80224588
lbl_8003F4CC:
/* 8003F4CC 0003B12C 88 1D 00 02 */ lbz r0, 2(r29)
/* 8003F4D0 0003B130 2C 00 00 00 */ cmpwi r0, 0
/* 8003F4D4 0003B134 40 82 FF F0 */ bne lbl_8003F4C4
lbl_8003F4D8:
/* 8003F4D8 0003B138 38 61 00 18 */ addi r3, r1, 0x18
/* 8003F4DC 0003B13C 4B FF F4 2D */ bl func_8003E908
/* 8003F4E0 0003B140 7C 78 1B 78 */ mr r24, r3
/* 8003F4E4 0003B144 48 00 00 10 */ b lbl_8003F4F4
lbl_8003F4E8:
/* 8003F4E8 0003B148 7F E3 FB 78 */ mr r3, r31
/* 8003F4EC 0003B14C 48 19 C0 11 */ bl func_801DB4FC
/* 8003F4F0 0003B150 3B 18 00 04 */ addi r24, r24, 4
lbl_8003F4F4:
/* 8003F4F4 0003B154 80 98 00 00 */ lwz r4, 0(r24)
/* 8003F4F8 0003B158 2C 04 00 00 */ cmpwi r4, 0
/* 8003F4FC 0003B15C 40 82 FF EC */ bne lbl_8003F4E8
/* 8003F500 0003B160 38 60 00 01 */ li r3, 1
lbl_8003F504:
/* 8003F504 0003B164 39 61 01 E0 */ addi r11, r1, 0x1e0
/* 8003F508 0003B168 48 18 7C 61 */ bl _restgpr_24
/* 8003F50C 0003B16C 80 01 01 E4 */ lwz r0, 0x1e4(r1)
/* 8003F510 0003B170 7C 08 03 A6 */ mtlr r0
/* 8003F514 0003B174 38 21 01 E0 */ addi r1, r1, 0x1e0
/* 8003F518 0003B178 4E 80 00 20 */ blr
lbl_8003F51C:
/* 8003F51C 0003B17C 38 00 00 00 */ li r0, 0
/* 8003F520 0003B180 98 04 00 02 */ stb r0, 2(r4)
/* 8003F524 0003B184 4E 80 00 20 */ blr
.global func_8003F528
func_8003F528:
/* 8003F528 0003B188 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003F52C 0003B18C 7C 08 02 A6 */ mflr r0
/* 8003F530 0003B190 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003F534 0003B194 39 61 00 20 */ addi r11, r1, 0x20
/* 8003F538 0003B198 48 18 7B ED */ bl _savegpr_26
/* 8003F53C 0003B19C 3F C0 80 64 */ lis r30, lbl_8063CE34@ha
/* 8003F540 0003B1A0 7C 9D 23 78 */ mr r29, r4
/* 8003F544 0003B1A4 80 83 00 04 */ lwz r4, 4(r3)
/* 8003F548 0003B1A8 3B DE CE 34 */ addi r30, r30, lbl_8063CE34@l
/* 8003F54C 0003B1AC 7C 7A 1B 78 */ mr r26, r3
/* 8003F550 0003B1B0 7C BB 2B 78 */ mr r27, r5
/* 8003F554 0003B1B4 38 7E 00 28 */ addi r3, r30, 0x28
/* 8003F558 0003B1B8 48 35 68 A9 */ bl func_80395E00
/* 8003F55C 0003B1BC 2C 03 00 00 */ cmpwi r3, 0
/* 8003F560 0003B1C0 40 82 00 0C */ bne lbl_8003F56C
/* 8003F564 0003B1C4 38 60 00 00 */ li r3, 0
/* 8003F568 0003B1C8 48 00 00 84 */ b lbl_8003F5EC
lbl_8003F56C:
/* 8003F56C 0003B1CC 80 9A 00 04 */ lwz r4, 4(r26)
/* 8003F570 0003B1D0 38 7E 00 28 */ addi r3, r30, 0x28
/* 8003F574 0003B1D4 48 35 68 C5 */ bl func_80395E38
/* 8003F578 0003B1D8 1C 1D 00 AC */ mulli r0, r29, 0xac
/* 8003F57C 0003B1DC 7C 9A 02 14 */ add r4, r26, r0
/* 8003F580 0003B1E0 88 04 00 19 */ lbz r0, 0x19(r4)
/* 8003F584 0003B1E4 3B 84 00 18 */ addi r28, r4, 0x18
/* 8003F588 0003B1E8 7C 00 D8 40 */ cmplw r0, r27
/* 8003F58C 0003B1EC 41 82 00 5C */ beq lbl_8003F5E8
/* 8003F590 0003B1F0 1C 03 00 0A */ mulli r0, r3, 0xa
/* 8003F594 0003B1F4 38 7E 00 30 */ addi r3, r30, 0x30
/* 8003F598 0003B1F8 7F BD 02 14 */ add r29, r29, r0
/* 8003F59C 0003B1FC 7F A4 EB 78 */ mr r4, r29
/* 8003F5A0 0003B200 48 35 65 6D */ bl func_80395B0C
/* 8003F5A4 0003B204 7C 7F 1B 78 */ mr r31, r3
/* 8003F5A8 0003B208 7F A4 EB 78 */ mr r4, r29
/* 8003F5AC 0003B20C 38 7E 00 30 */ addi r3, r30, 0x30
/* 8003F5B0 0003B210 48 35 64 F5 */ bl func_80395AA4
/* 8003F5B4 0003B214 57 E0 04 3E */ clrlwi r0, r31, 0x10
/* 8003F5B8 0003B218 7C 00 D8 00 */ cmpw r0, r27
/* 8003F5BC 0003B21C 40 81 00 2C */ ble lbl_8003F5E8
/* 8003F5C0 0003B220 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 8003F5C4 0003B224 9B 7C 00 01 */ stb r27, 1(r28)
/* 8003F5C8 0003B228 7F 43 D3 78 */ mr r3, r26
/* 8003F5CC 0003B22C 7F 85 E3 78 */ mr r5, r28
/* 8003F5D0 0003B230 7C 80 DA 14 */ add r4, r0, r27
/* 8003F5D4 0003B234 38 C0 00 01 */ li r6, 1
/* 8003F5D8 0003B238 38 E0 00 00 */ li r7, 0
/* 8003F5DC 0003B23C 4B FF F8 11 */ bl func_8003EDEC
/* 8003F5E0 0003B240 38 60 00 01 */ li r3, 1
/* 8003F5E4 0003B244 48 00 00 08 */ b lbl_8003F5EC
lbl_8003F5E8:
/* 8003F5E8 0003B248 38 60 00 00 */ li r3, 0
lbl_8003F5EC:
/* 8003F5EC 0003B24C 39 61 00 20 */ addi r11, r1, 0x20
/* 8003F5F0 0003B250 48 18 7B 81 */ bl _restgpr_26
/* 8003F5F4 0003B254 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003F5F8 0003B258 7C 08 03 A6 */ mtlr r0
/* 8003F5FC 0003B25C 38 21 00 20 */ addi r1, r1, 0x20
/* 8003F600 0003B260 4E 80 00 20 */ blr
.global func_8003F604
func_8003F604:
/* 8003F604 0003B264 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8003F608 0003B268 7C 08 02 A6 */ mflr r0
/* 8003F60C 0003B26C 90 01 00 34 */ stw r0, 0x34(r1)
/* 8003F610 0003B270 39 61 00 30 */ addi r11, r1, 0x30
/* 8003F614 0003B274 48 18 7B 09 */ bl _savegpr_24
/* 8003F618 0003B278 3C A0 80 64 */ lis r5, lbl_8063CE34@ha
/* 8003F61C 0003B27C 7C 99 23 78 */ mr r25, r4
/* 8003F620 0003B280 80 83 00 04 */ lwz r4, 4(r3)
/* 8003F624 0003B284 3B C5 CE 34 */ addi r30, r5, lbl_8063CE34@l
/* 8003F628 0003B288 7C 78 1B 78 */ mr r24, r3
/* 8003F62C 0003B28C 3B 60 00 00 */ li r27, 0
/* 8003F630 0003B290 38 7E 00 28 */ addi r3, r30, 0x28
/* 8003F634 0003B294 48 35 67 CD */ bl func_80395E00
/* 8003F638 0003B298 2C 03 00 00 */ cmpwi r3, 0
/* 8003F63C 0003B29C 40 82 00 0C */ bne lbl_8003F648
/* 8003F640 0003B2A0 38 60 00 00 */ li r3, 0
/* 8003F644 0003B2A4 48 00 00 98 */ b lbl_8003F6DC
lbl_8003F648:
/* 8003F648 0003B2A8 80 98 00 04 */ lwz r4, 4(r24)
/* 8003F64C 0003B2AC 38 7E 00 28 */ addi r3, r30, 0x28
/* 8003F650 0003B2B0 48 35 67 E9 */ bl func_80395E38
/* 8003F654 0003B2B4 1F 83 00 0A */ mulli r28, r3, 0xa
/* 8003F658 0003B2B8 3B B8 00 18 */ addi r29, r24, 0x18
/* 8003F65C 0003B2BC 3B 40 00 00 */ li r26, 0
lbl_8003F660:
/* 8003F660 0003B2C0 88 7D 00 01 */ lbz r3, 1(r29)
/* 8003F664 0003B2C4 88 19 00 00 */ lbz r0, 0(r25)
/* 8003F668 0003B2C8 7C 03 00 40 */ cmplw r3, r0
/* 8003F66C 0003B2CC 41 82 00 54 */ beq lbl_8003F6C0
/* 8003F670 0003B2D0 7F 84 E3 78 */ mr r4, r28
/* 8003F674 0003B2D4 38 7E 00 30 */ addi r3, r30, 0x30
/* 8003F678 0003B2D8 48 35 64 95 */ bl func_80395B0C
/* 8003F67C 0003B2DC 7C 7F 1B 78 */ mr r31, r3
/* 8003F680 0003B2E0 7F 84 E3 78 */ mr r4, r28
/* 8003F684 0003B2E4 38 7E 00 30 */ addi r3, r30, 0x30
/* 8003F688 0003B2E8 48 35 64 1D */ bl func_80395AA4
/* 8003F68C 0003B2EC 88 99 00 00 */ lbz r4, 0(r25)
/* 8003F690 0003B2F0 57 E0 04 3E */ clrlwi r0, r31, 0x10
/* 8003F694 0003B2F4 7C 00 20 00 */ cmpw r0, r4
/* 8003F698 0003B2F8 40 81 00 28 */ ble lbl_8003F6C0
/* 8003F69C 0003B2FC 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 8003F6A0 0003B300 98 9D 00 01 */ stb r4, 1(r29)
/* 8003F6A4 0003B304 7F 03 C3 78 */ mr r3, r24
/* 8003F6A8 0003B308 7F A5 EB 78 */ mr r5, r29
/* 8003F6AC 0003B30C 7C 80 22 14 */ add r4, r0, r4
/* 8003F6B0 0003B310 38 C0 00 01 */ li r6, 1
/* 8003F6B4 0003B314 38 E0 00 00 */ li r7, 0
/* 8003F6B8 0003B318 4B FF F7 35 */ bl func_8003EDEC
/* 8003F6BC 0003B31C 3B 60 00 01 */ li r27, 1
lbl_8003F6C0:
/* 8003F6C0 0003B320 3B 5A 00 01 */ addi r26, r26, 1
/* 8003F6C4 0003B324 3B 9C 00 01 */ addi r28, r28, 1
/* 8003F6C8 0003B328 2C 1A 00 0A */ cmpwi r26, 0xa
/* 8003F6CC 0003B32C 3B 39 00 01 */ addi r25, r25, 1
/* 8003F6D0 0003B330 3B BD 00 AC */ addi r29, r29, 0xac
/* 8003F6D4 0003B334 41 80 FF 8C */ blt lbl_8003F660
/* 8003F6D8 0003B338 7F 63 DB 78 */ mr r3, r27
lbl_8003F6DC:
/* 8003F6DC 0003B33C 39 61 00 30 */ addi r11, r1, 0x30
/* 8003F6E0 0003B340 48 18 7A 89 */ bl _restgpr_24
/* 8003F6E4 0003B344 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8003F6E8 0003B348 7C 08 03 A6 */ mtlr r0
/* 8003F6EC 0003B34C 38 21 00 30 */ addi r1, r1, 0x30
/* 8003F6F0 0003B350 4E 80 00 20 */ blr
.global func_8003F6F4
func_8003F6F4:
/* 8003F6F4 0003B354 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8003F6F8 0003B358 7C 08 02 A6 */ mflr r0
/* 8003F6FC 0003B35C 90 01 00 54 */ stw r0, 0x54(r1)
/* 8003F700 0003B360 39 61 00 50 */ addi r11, r1, 0x50
/* 8003F704 0003B364 48 18 79 F9 */ bl _savegpr_16
/* 8003F708 0003B368 2C 04 00 00 */ cmpwi r4, 0
/* 8003F70C 0003B36C 98 A3 00 00 */ stb r5, 0(r3)
/* 8003F710 0003B370 7C 71 1B 78 */ mr r17, r3
/* 8003F714 0003B374 7C 92 23 78 */ mr r18, r4
/* 8003F718 0003B378 40 82 00 0C */ bne lbl_8003F724
/* 8003F71C 0003B37C 38 60 00 00 */ li r3, 0
/* 8003F720 0003B380 48 00 06 40 */ b lbl_8003FD60
lbl_8003F724:
/* 8003F724 0003B384 80 83 00 14 */ lwz r4, 0x14(r3)
/* 8003F728 0003B388 2C 04 00 00 */ cmpwi r4, 0
/* 8003F72C 0003B38C 41 82 00 C0 */ beq lbl_8003F7EC
/* 8003F730 0003B390 80 63 00 10 */ lwz r3, 0x10(r3)
/* 8003F734 0003B394 48 19 BD 89 */ bl func_801DB4BC
/* 8003F738 0003B398 2C 03 00 00 */ cmpwi r3, 0
/* 8003F73C 0003B39C 7C 73 1B 78 */ mr r19, r3
/* 8003F740 0003B3A0 41 82 00 AC */ beq lbl_8003F7EC
/* 8003F744 0003B3A4 80 A3 00 1C */ lwz r5, 0x1c(r3)
/* 8003F748 0003B3A8 2C 05 00 02 */ cmpwi r5, 2
/* 8003F74C 0003B3AC 40 80 00 08 */ bge lbl_8003F754
/* 8003F750 0003B3B0 38 A0 00 02 */ li r5, 2
lbl_8003F754:
/* 8003F754 0003B3B4 80 93 00 18 */ lwz r4, 0x18(r19)
/* 8003F758 0003B3B8 7E 63 9B 78 */ mr r3, r19
/* 8003F75C 0003B3BC 2C 04 00 02 */ cmpwi r4, 2
/* 8003F760 0003B3C0 40 80 00 08 */ bge lbl_8003F768
/* 8003F764 0003B3C4 38 80 00 02 */ li r4, 2
lbl_8003F768:
/* 8003F768 0003B3C8 80 D3 00 20 */ lwz r6, 0x20(r19)
/* 8003F76C 0003B3CC 48 1F EC 5D */ bl func_8023E3C8
/* 8003F770 0003B3D0 80 92 00 1C */ lwz r4, 0x1c(r18)
/* 8003F774 0003B3D4 A0 71 00 0C */ lhz r3, 0xc(r17)
/* 8003F778 0003B3D8 2C 04 00 00 */ cmpwi r4, 0
/* 8003F77C 0003B3DC 40 82 00 0C */ bne lbl_8003F788
/* 8003F780 0003B3E0 3A 00 00 00 */ li r16, 0
/* 8003F784 0003B3E4 48 00 00 24 */ b lbl_8003F7A8
lbl_8003F788:
/* 8003F788 0003B3E8 A0 12 00 E6 */ lhz r0, 0xe6(r18)
/* 8003F78C 0003B3EC 7C 03 00 40 */ cmplw r3, r0
/* 8003F790 0003B3F0 41 80 00 0C */ blt lbl_8003F79C
/* 8003F794 0003B3F4 3A 00 00 00 */ li r16, 0
/* 8003F798 0003B3F8 48 00 00 10 */ b lbl_8003F7A8
lbl_8003F79C:
/* 8003F79C 0003B3FC 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d
/* 8003F7A0 0003B400 7C 64 00 2E */ lwzx r3, r4, r0
/* 8003F7A4 0003B404 82 03 00 14 */ lwz r16, 0x14(r3)
lbl_8003F7A8:
/* 8003F7A8 0003B408 2C 10 00 00 */ cmpwi r16, 0
/* 8003F7AC 0003B40C 41 82 00 40 */ beq lbl_8003F7EC
/* 8003F7B0 0003B410 80 70 00 08 */ lwz r3, 8(r16)
/* 8003F7B4 0003B414 80 03 00 50 */ lwz r0, 0x50(r3)
/* 8003F7B8 0003B418 2C 00 00 00 */ cmpwi r0, 0
/* 8003F7BC 0003B41C 41 82 00 30 */ beq lbl_8003F7EC
/* 8003F7C0 0003B420 80 70 00 14 */ lwz r3, 0x14(r16)
/* 8003F7C4 0003B424 2C 03 00 00 */ cmpwi r3, 0
/* 8003F7C8 0003B428 41 82 00 20 */ beq lbl_8003F7E8
/* 8003F7CC 0003B42C 80 10 00 28 */ lwz r0, 0x28(r16)
/* 8003F7D0 0003B430 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8003F7D4 0003B434 41 82 00 14 */ beq lbl_8003F7E8
/* 8003F7D8 0003B438 48 1F EA F9 */ bl func_8023E2D0
/* 8003F7DC 0003B43C 80 10 00 28 */ lwz r0, 0x28(r16)
/* 8003F7E0 0003B440 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 8003F7E4 0003B444 90 10 00 28 */ stw r0, 0x28(r16)
lbl_8003F7E8:
/* 8003F7E8 0003B448 92 70 00 14 */ stw r19, 0x14(r16)
lbl_8003F7EC:
/* 8003F7EC 0003B44C 3B 51 00 18 */ addi r26, r17, 0x18
/* 8003F7F0 0003B450 3B 20 00 00 */ li r25, 0
/* 8003F7F4 0003B454 7F 5D D3 78 */ mr r29, r26
/* 8003F7F8 0003B458 3B E0 00 00 */ li r31, 0
lbl_8003F7FC:
/* 8003F7FC 0003B45C 88 1D 00 00 */ lbz r0, 0(r29)
/* 8003F800 0003B460 2C 00 00 00 */ cmpwi r0, 0
/* 8003F804 0003B464 41 82 03 D8 */ beq lbl_8003FBDC
/* 8003F808 0003B468 9B FD 00 00 */ stb r31, 0(r29)
/* 8003F80C 0003B46C 3A DD 00 0C */ addi r22, r29, 0xc
/* 8003F810 0003B470 3A 1D 00 AC */ addi r16, r29, 0xac
/* 8003F814 0003B474 3A A0 00 00 */ li r21, 0
/* 8003F818 0003B478 48 00 03 BC */ b lbl_8003FBD4
lbl_8003F81C:
/* 8003F81C 0003B47C 83 96 00 00 */ lwz r28, 0(r22)
/* 8003F820 0003B480 83 1D 00 04 */ lwz r24, 4(r29)
/* 8003F824 0003B484 28 1C 00 64 */ cmplwi r28, 0x64
/* 8003F828 0003B488 82 F6 00 04 */ lwz r23, 4(r22)
/* 8003F82C 0003B48C 41 82 00 10 */ beq lbl_8003F83C
/* 8003F830 0003B490 80 16 00 0C */ lwz r0, 0xc(r22)
/* 8003F834 0003B494 7C 1C 00 40 */ cmplw r28, r0
/* 8003F838 0003B498 41 82 03 94 */ beq lbl_8003FBCC
lbl_8003F83C:
/* 8003F83C 0003B49C 28 1C 00 64 */ cmplwi r28, 0x64
/* 8003F840 0003B4A0 83 76 00 14 */ lwz r27, 0x14(r22)
/* 8003F844 0003B4A4 82 96 00 18 */ lwz r20, 0x18(r22)
/* 8003F848 0003B4A8 40 82 00 08 */ bne lbl_8003F850
/* 8003F84C 0003B4AC 3A 80 00 00 */ li r20, 0
lbl_8003F850:
/* 8003F850 0003B4B0 2C 1B 00 00 */ cmpwi r27, 0
/* 8003F854 0003B4B4 41 82 00 48 */ beq lbl_8003F89C
/* 8003F858 0003B4B8 80 7B 00 08 */ lwz r3, 8(r27)
/* 8003F85C 0003B4BC 2C 03 00 00 */ cmpwi r3, 0
/* 8003F860 0003B4C0 40 82 00 0C */ bne lbl_8003F86C
/* 8003F864 0003B4C4 38 80 00 00 */ li r4, 0
/* 8003F868 0003B4C8 48 00 00 1C */ b lbl_8003F884
lbl_8003F86C:
/* 8003F86C 0003B4CC A0 1B 00 DE */ lhz r0, 0xde(r27)
/* 8003F870 0003B4D0 2C 00 00 00 */ cmpwi r0, 0
/* 8003F874 0003B4D4 40 82 00 0C */ bne lbl_8003F880
/* 8003F878 0003B4D8 38 80 00 00 */ li r4, 0
/* 8003F87C 0003B4DC 48 00 00 08 */ b lbl_8003F884
lbl_8003F880:
/* 8003F880 0003B4E0 80 83 00 00 */ lwz r4, 0(r3)
lbl_8003F884:
/* 8003F884 0003B4E4 2C 04 00 00 */ cmpwi r4, 0
/* 8003F888 0003B4E8 41 82 00 14 */ beq lbl_8003F89C
/* 8003F88C 0003B4EC 80 64 00 C0 */ lwz r3, 0xc0(r4)
/* 8003F890 0003B4F0 2C 03 00 00 */ cmpwi r3, 0
/* 8003F894 0003B4F4 41 82 00 08 */ beq lbl_8003F89C
/* 8003F898 0003B4F8 48 1B 29 91 */ bl func_801F2228
lbl_8003F89C:
/* 8003F89C 0003B4FC 80 16 00 18 */ lwz r0, 0x18(r22)
/* 8003F8A0 0003B500 2C 00 00 00 */ cmpwi r0, 0
/* 8003F8A4 0003B504 41 82 00 18 */ beq lbl_8003F8BC
/* 8003F8A8 0003B508 80 96 00 1C */ lwz r4, 0x1c(r22)
/* 8003F8AC 0003B50C 2C 04 00 00 */ cmpwi r4, 0
/* 8003F8B0 0003B510 41 82 00 0C */ beq lbl_8003F8BC
/* 8003F8B4 0003B514 7E 43 93 78 */ mr r3, r18
/* 8003F8B8 0003B518 48 1B 6A 4D */ bl func_801F6304
lbl_8003F8BC:
/* 8003F8BC 0003B51C 93 F6 00 14 */ stw r31, 0x14(r22)
/* 8003F8C0 0003B520 93 F6 00 18 */ stw r31, 0x18(r22)
/* 8003F8C4 0003B524 80 16 00 0C */ lwz r0, 0xc(r22)
/* 8003F8C8 0003B528 90 16 00 00 */ stw r0, 0(r22)
/* 8003F8CC 0003B52C 80 96 00 0C */ lwz r4, 0xc(r22)
/* 8003F8D0 0003B530 80 16 00 10 */ lwz r0, 0x10(r22)
/* 8003F8D4 0003B534 2C 04 00 00 */ cmpwi r4, 0
/* 8003F8D8 0003B538 90 16 00 04 */ stw r0, 4(r22)
/* 8003F8DC 0003B53C 41 82 02 A0 */ beq lbl_8003FB7C
/* 8003F8E0 0003B540 54 80 BE BE */ rlwinm r0, r4, 0x17, 0x1a, 0x1f
/* 8003F8E4 0003B544 28 00 00 03 */ cmplwi r0, 3
/* 8003F8E8 0003B548 40 82 00 EC */ bne lbl_8003F9D4
/* 8003F8EC 0003B54C 7F 03 C3 78 */ mr r3, r24
/* 8003F8F0 0003B550 48 19 BB CD */ bl func_801DB4BC
/* 8003F8F4 0003B554 7C 73 1B 78 */ mr r19, r3
/* 8003F8F8 0003B558 48 19 B2 31 */ bl func_801DAB28
/* 8003F8FC 0003B55C 2C 03 00 00 */ cmpwi r3, 0
/* 8003F900 0003B560 41 82 00 14 */ beq lbl_8003F914
/* 8003F904 0003B564 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 8003F908 0003B568 38 80 01 54 */ li r4, 0x154
/* 8003F90C 0003B56C 48 19 B3 89 */ bl func_801DAC94
/* 8003F910 0003B570 48 00 00 08 */ b lbl_8003F918
lbl_8003F914:
/* 8003F914 0003B574 38 60 00 00 */ li r3, 0
lbl_8003F918:
/* 8003F918 0003B578 2C 03 00 00 */ cmpwi r3, 0
/* 8003F91C 0003B57C 41 82 00 10 */ beq lbl_8003F92C
/* 8003F920 0003B580 80 B3 00 08 */ lwz r5, 8(r19)
/* 8003F924 0003B584 38 80 00 00 */ li r4, 0
/* 8003F928 0003B588 48 1B 4C F5 */ bl func_801F461C
lbl_8003F92C:
/* 8003F92C 0003B58C 90 76 00 14 */ stw r3, 0x14(r22)
/* 8003F930 0003B590 88 11 00 00 */ lbz r0, 0(r17)
/* 8003F934 0003B594 2C 00 00 00 */ cmpwi r0, 0
/* 8003F938 0003B598 41 82 00 14 */ beq lbl_8003F94C
/* 8003F93C 0003B59C 80 76 00 14 */ lwz r3, 0x14(r22)
/* 8003F940 0003B5A0 48 1C 3E D1 */ bl func_80203810
/* 8003F944 0003B5A4 80 76 00 14 */ lwz r3, 0x14(r22)
/* 8003F948 0003B5A8 48 1C 0F 11 */ bl func_80200858
lbl_8003F94C:
/* 8003F94C 0003B5AC 80 92 00 08 */ lwz r4, 8(r18)
/* 8003F950 0003B5B0 88 76 00 08 */ lbz r3, 8(r22)
/* 8003F954 0003B5B4 2C 04 00 00 */ cmpwi r4, 0
/* 8003F958 0003B5B8 40 82 00 0C */ bne lbl_8003F964
/* 8003F95C 0003B5BC 38 60 00 00 */ li r3, 0
/* 8003F960 0003B5C0 48 00 00 20 */ b lbl_8003F980
lbl_8003F964:
/* 8003F964 0003B5C4 A0 12 00 DE */ lhz r0, 0xde(r18)
/* 8003F968 0003B5C8 7C 03 00 40 */ cmplw r3, r0
/* 8003F96C 0003B5CC 41 80 00 0C */ blt lbl_8003F978
/* 8003F970 0003B5D0 38 60 00 00 */ li r3, 0
/* 8003F974 0003B5D4 48 00 00 0C */ b lbl_8003F980
lbl_8003F978:
/* 8003F978 0003B5D8 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d
/* 8003F97C 0003B5DC 7C 64 00 2E */ lwzx r3, r4, r0
lbl_8003F980:
/* 8003F980 0003B5E0 80 96 00 14 */ lwz r4, 0x14(r22)
/* 8003F984 0003B5E4 80 A4 00 08 */ lwz r5, 8(r4)
/* 8003F988 0003B5E8 2C 05 00 00 */ cmpwi r5, 0
/* 8003F98C 0003B5EC 40 82 00 0C */ bne lbl_8003F998
/* 8003F990 0003B5F0 38 A0 00 00 */ li r5, 0
/* 8003F994 0003B5F4 48 00 00 1C */ b lbl_8003F9B0
lbl_8003F998:
/* 8003F998 0003B5F8 A0 04 00 DE */ lhz r0, 0xde(r4)
/* 8003F99C 0003B5FC 2C 00 00 00 */ cmpwi r0, 0
/* 8003F9A0 0003B600 40 82 00 0C */ bne lbl_8003F9AC
/* 8003F9A4 0003B604 38 A0 00 00 */ li r5, 0
/* 8003F9A8 0003B608 48 00 00 08 */ b lbl_8003F9B0
lbl_8003F9AC:
/* 8003F9AC 0003B60C 80 A5 00 00 */ lwz r5, 0(r5)
lbl_8003F9B0:
/* 8003F9B0 0003B610 2C 03 00 00 */ cmpwi r3, 0
/* 8003F9B4 0003B614 41 82 01 C8 */ beq lbl_8003FB7C
/* 8003F9B8 0003B618 2C 05 00 00 */ cmpwi r5, 0
/* 8003F9BC 0003B61C 41 82 01 C0 */ beq lbl_8003FB7C
/* 8003F9C0 0003B620 38 80 00 07 */ li r4, 7
/* 8003F9C4 0003B624 38 C0 00 00 */ li r6, 0
/* 8003F9C8 0003B628 38 E0 00 03 */ li r7, 3
/* 8003F9CC 0003B62C 48 1B 27 C1 */ bl func_801F218C
/* 8003F9D0 0003B630 48 00 01 AC */ b lbl_8003FB7C
lbl_8003F9D4:
/* 8003F9D4 0003B634 28 00 00 04 */ cmplwi r0, 4
/* 8003F9D8 0003B638 41 82 00 0C */ beq lbl_8003F9E4
/* 8003F9DC 0003B63C 28 04 00 64 */ cmplwi r4, 0x64
/* 8003F9E0 0003B640 40 82 01 9C */ bne lbl_8003FB7C
lbl_8003F9E4:
/* 8003F9E4 0003B644 28 04 00 64 */ cmplwi r4, 0x64
/* 8003F9E8 0003B648 40 82 00 54 */ bne lbl_8003FA3C
/* 8003F9EC 0003B64C 38 15 FF FF */ addi r0, r21, -1
/* 8003F9F0 0003B650 54 00 28 34 */ slwi r0, r0, 5
/* 8003F9F4 0003B654 7C 7D 02 14 */ add r3, r29, r0
/* 8003F9F8 0003B658 80 63 00 20 */ lwz r3, 0x20(r3)
/* 8003F9FC 0003B65C 2C 03 00 00 */ cmpwi r3, 0
/* 8003FA00 0003B660 41 82 01 04 */ beq lbl_8003FB04
/* 8003FA04 0003B664 80 83 00 1C */ lwz r4, 0x1c(r3)
/* 8003FA08 0003B668 2C 04 00 00 */ cmpwi r4, 0
/* 8003FA0C 0003B66C 40 82 00 0C */ bne lbl_8003FA18
/* 8003FA10 0003B670 38 00 00 00 */ li r0, 0
/* 8003FA14 0003B674 48 00 00 20 */ b lbl_8003FA34
lbl_8003FA18:
/* 8003FA18 0003B678 A0 03 00 E6 */ lhz r0, 0xe6(r3)
/* 8003FA1C 0003B67C 2C 00 00 00 */ cmpwi r0, 0
/* 8003FA20 0003B680 40 82 00 0C */ bne lbl_8003FA2C
/* 8003FA24 0003B684 38 00 00 00 */ li r0, 0
/* 8003FA28 0003B688 48 00 00 0C */ b lbl_8003FA34
lbl_8003FA2C:
/* 8003FA2C 0003B68C 80 64 00 00 */ lwz r3, 0(r4)
/* 8003FA30 0003B690 80 03 00 14 */ lwz r0, 0x14(r3)
lbl_8003FA34:
/* 8003FA34 0003B694 90 16 00 18 */ stw r0, 0x18(r22)
/* 8003FA38 0003B698 48 00 00 CC */ b lbl_8003FB04
lbl_8003FA3C:
/* 8003FA3C 0003B69C 7F 03 C3 78 */ mr r3, r24
/* 8003FA40 0003B6A0 48 19 BA 7D */ bl func_801DB4BC
/* 8003FA44 0003B6A4 7C 73 1B 78 */ mr r19, r3
/* 8003FA48 0003B6A8 48 19 B0 E1 */ bl func_801DAB28
/* 8003FA4C 0003B6AC 2C 03 00 00 */ cmpwi r3, 0
/* 8003FA50 0003B6B0 41 82 00 14 */ beq lbl_8003FA64
/* 8003FA54 0003B6B4 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 8003FA58 0003B6B8 38 80 00 38 */ li r4, 0x38
/* 8003FA5C 0003B6BC 48 19 B2 39 */ bl func_801DAC94
/* 8003FA60 0003B6C0 48 00 00 08 */ b lbl_8003FA68
lbl_8003FA64:
/* 8003FA64 0003B6C4 38 60 00 00 */ li r3, 0
lbl_8003FA68:
/* 8003FA68 0003B6C8 2C 03 00 00 */ cmpwi r3, 0
/* 8003FA6C 0003B6CC 41 82 00 10 */ beq lbl_8003FA7C
/* 8003FA70 0003B6D0 80 93 00 18 */ lwz r4, 0x18(r19)
/* 8003FA74 0003B6D4 80 B3 00 14 */ lwz r5, 0x14(r19)
/* 8003FA78 0003B6D8 48 1A 71 81 */ bl func_801E6BF8
lbl_8003FA7C:
/* 8003FA7C 0003B6DC 90 76 00 18 */ stw r3, 0x18(r22)
/* 8003FA80 0003B6E0 80 96 00 10 */ lwz r4, 0x10(r22)
/* 8003FA84 0003B6E4 2C 04 00 00 */ cmpwi r4, 0
/* 8003FA88 0003B6E8 41 82 00 7C */ beq lbl_8003FB04
/* 8003FA8C 0003B6EC 7F 03 C3 78 */ mr r3, r24
/* 8003FA90 0003B6F0 48 19 BA 2D */ bl func_801DB4BC
/* 8003FA94 0003B6F4 80 A3 00 1C */ lwz r5, 0x1c(r3)
/* 8003FA98 0003B6F8 7C 73 1B 78 */ mr r19, r3
/* 8003FA9C 0003B6FC 2C 05 00 02 */ cmpwi r5, 2
/* 8003FAA0 0003B700 40 80 00 08 */ bge lbl_8003FAA8
/* 8003FAA4 0003B704 38 A0 00 02 */ li r5, 2
lbl_8003FAA8:
/* 8003FAA8 0003B708 80 93 00 18 */ lwz r4, 0x18(r19)
/* 8003FAAC 0003B70C 7E 63 9B 78 */ mr r3, r19
/* 8003FAB0 0003B710 2C 04 00 02 */ cmpwi r4, 2
/* 8003FAB4 0003B714 40 80 00 08 */ bge lbl_8003FABC
/* 8003FAB8 0003B718 38 80 00 02 */ li r4, 2
lbl_8003FABC:
/* 8003FABC 0003B71C 80 D3 00 20 */ lwz r6, 0x20(r19)
/* 8003FAC0 0003B720 48 1F E9 09 */ bl func_8023E3C8
/* 8003FAC4 0003B724 83 D6 00 18 */ lwz r30, 0x18(r22)
/* 8003FAC8 0003B728 80 7E 00 08 */ lwz r3, 8(r30)
/* 8003FACC 0003B72C 80 03 00 50 */ lwz r0, 0x50(r3)
/* 8003FAD0 0003B730 2C 00 00 00 */ cmpwi r0, 0
/* 8003FAD4 0003B734 41 82 00 30 */ beq lbl_8003FB04
/* 8003FAD8 0003B738 80 7E 00 14 */ lwz r3, 0x14(r30)
/* 8003FADC 0003B73C 2C 03 00 00 */ cmpwi r3, 0
/* 8003FAE0 0003B740 41 82 00 20 */ beq lbl_8003FB00
/* 8003FAE4 0003B744 80 1E 00 28 */ lwz r0, 0x28(r30)
/* 8003FAE8 0003B748 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8003FAEC 0003B74C 41 82 00 14 */ beq lbl_8003FB00
/* 8003FAF0 0003B750 48 1F E7 E1 */ bl func_8023E2D0
/* 8003FAF4 0003B754 80 1E 00 28 */ lwz r0, 0x28(r30)
/* 8003FAF8 0003B758 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 8003FAFC 0003B75C 90 1E 00 28 */ stw r0, 0x28(r30)
lbl_8003FB00:
/* 8003FB00 0003B760 92 7E 00 14 */ stw r19, 0x14(r30)
lbl_8003FB04:
/* 8003FB04 0003B764 80 92 00 1C */ lwz r4, 0x1c(r18)
/* 8003FB08 0003B768 88 76 00 08 */ lbz r3, 8(r22)
/* 8003FB0C 0003B76C 2C 04 00 00 */ cmpwi r4, 0
/* 8003FB10 0003B770 40 82 00 0C */ bne lbl_8003FB1C
/* 8003FB14 0003B774 38 60 00 00 */ li r3, 0
/* 8003FB18 0003B778 48 00 00 24 */ b lbl_8003FB3C
lbl_8003FB1C:
/* 8003FB1C 0003B77C A0 12 00 E6 */ lhz r0, 0xe6(r18)
/* 8003FB20 0003B780 7C 03 00 40 */ cmplw r3, r0
/* 8003FB24 0003B784 41 80 00 0C */ blt lbl_8003FB30
/* 8003FB28 0003B788 38 60 00 00 */ li r3, 0
/* 8003FB2C 0003B78C 48 00 00 10 */ b lbl_8003FB3C
lbl_8003FB30:
/* 8003FB30 0003B790 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d
/* 8003FB34 0003B794 7C 64 00 2E */ lwzx r3, r4, r0
/* 8003FB38 0003B798 80 63 00 14 */ lwz r3, 0x14(r3)
lbl_8003FB3C:
/* 8003FB3C 0003B79C 2C 03 00 00 */ cmpwi r3, 0
/* 8003FB40 0003B7A0 41 82 00 3C */ beq lbl_8003FB7C
/* 8003FB44 0003B7A4 80 16 00 18 */ lwz r0, 0x18(r22)
/* 8003FB48 0003B7A8 2C 00 00 00 */ cmpwi r0, 0
/* 8003FB4C 0003B7AC 41 82 00 30 */ beq lbl_8003FB7C
/* 8003FB50 0003B7B0 80 83 00 0C */ lwz r4, 0xc(r3)
/* 8003FB54 0003B7B4 2C 04 00 00 */ cmpwi r4, 0
/* 8003FB58 0003B7B8 41 82 00 24 */ beq lbl_8003FB7C
/* 8003FB5C 0003B7BC 80 04 00 00 */ lwz r0, 0(r4)
/* 8003FB60 0003B7C0 2C 00 00 00 */ cmpwi r0, 0
/* 8003FB64 0003B7C4 41 82 00 18 */ beq lbl_8003FB7C
/* 8003FB68 0003B7C8 90 16 00 1C */ stw r0, 0x1c(r22)
/* 8003FB6C 0003B7CC 7E 43 93 78 */ mr r3, r18
/* 8003FB70 0003B7D0 80 84 00 00 */ lwz r4, 0(r4)
/* 8003FB74 0003B7D4 80 B6 00 18 */ lwz r5, 0x18(r22)
/* 8003FB78 0003B7D8 48 1B 66 ED */ bl func_801F6264
lbl_8003FB7C:
/* 8003FB7C 0003B7DC 2C 1B 00 00 */ cmpwi r27, 0
/* 8003FB80 0003B7E0 41 82 00 10 */ beq lbl_8003FB90
/* 8003FB84 0003B7E4 7F 63 DB 78 */ mr r3, r27
/* 8003FB88 0003B7E8 38 80 00 01 */ li r4, 1
/* 8003FB8C 0003B7EC 48 1B 4F 65 */ bl func_801F4AF0
lbl_8003FB90:
/* 8003FB90 0003B7F0 2C 14 00 00 */ cmpwi r20, 0
/* 8003FB94 0003B7F4 41 82 00 20 */ beq lbl_8003FBB4
/* 8003FB98 0003B7F8 41 82 00 1C */ beq lbl_8003FBB4
/* 8003FB9C 0003B7FC 81 94 00 34 */ lwz r12, 0x34(r20)
/* 8003FBA0 0003B800 7E 83 A3 78 */ mr r3, r20
/* 8003FBA4 0003B804 38 80 00 01 */ li r4, 1
/* 8003FBA8 0003B808 81 8C 00 08 */ lwz r12, 8(r12)
/* 8003FBAC 0003B80C 7D 89 03 A6 */ mtctr r12
/* 8003FBB0 0003B810 4E 80 04 21 */ bctrl
lbl_8003FBB4:
/* 8003FBB4 0003B814 7F 03 C3 78 */ mr r3, r24
/* 8003FBB8 0003B818 7F 84 E3 78 */ mr r4, r28
/* 8003FBBC 0003B81C 48 19 B9 8D */ bl func_801DB548
/* 8003FBC0 0003B820 7F 03 C3 78 */ mr r3, r24
/* 8003FBC4 0003B824 7E E4 BB 78 */ mr r4, r23
/* 8003FBC8 0003B828 48 19 B9 81 */ bl func_801DB548
lbl_8003FBCC:
/* 8003FBCC 0003B82C 3A D6 00 20 */ addi r22, r22, 0x20
/* 8003FBD0 0003B830 3A B5 00 01 */ addi r21, r21, 1
lbl_8003FBD4:
/* 8003FBD4 0003B834 7C 16 80 40 */ cmplw r22, r16
/* 8003FBD8 0003B838 40 82 FC 44 */ bne lbl_8003F81C
lbl_8003FBDC:
/* 8003FBDC 0003B83C 3B 39 00 01 */ addi r25, r25, 1
/* 8003FBE0 0003B840 3B BD 00 AC */ addi r29, r29, 0xac
/* 8003FBE4 0003B844 2C 19 00 0A */ cmpwi r25, 0xa
/* 8003FBE8 0003B848 41 80 FC 14 */ blt lbl_8003F7FC
/* 8003FBEC 0003B84C 3C 60 80 64 */ lis r3, lbl_8063CE34@ha
/* 8003FBF0 0003B850 3A 00 00 00 */ li r16, 0
/* 8003FBF4 0003B854 3A 63 CE 34 */ addi r19, r3, lbl_8063CE34@l
lbl_8003FBF8:
/* 8003FBF8 0003B858 88 11 00 01 */ lbz r0, 1(r17)
/* 8003FBFC 0003B85C 2C 00 00 00 */ cmpwi r0, 0
/* 8003FC00 0003B860 41 82 00 1C */ beq lbl_8003FC1C
/* 8003FC04 0003B864 80 91 00 04 */ lwz r4, 4(r17)
/* 8003FC08 0003B868 7E 05 83 78 */ mr r5, r16
/* 8003FC0C 0003B86C 38 73 00 28 */ addi r3, r19, 0x28
/* 8003FC10 0003B870 48 35 64 81 */ bl func_80396090
/* 8003FC14 0003B874 54 63 06 3E */ clrlwi r3, r3, 0x18
/* 8003FC18 0003B878 48 00 00 18 */ b lbl_8003FC30
lbl_8003FC1C:
/* 8003FC1C 0003B87C 80 91 00 04 */ lwz r4, 4(r17)
/* 8003FC20 0003B880 7E 05 83 78 */ mr r5, r16
/* 8003FC24 0003B884 38 73 00 28 */ addi r3, r19, 0x28
/* 8003FC28 0003B888 48 35 63 6D */ bl func_80395F94
/* 8003FC2C 0003B88C 54 63 06 3E */ clrlwi r3, r3, 0x18
lbl_8003FC30:
/* 8003FC30 0003B890 2C 03 00 00 */ cmpwi r3, 0
/* 8003FC34 0003B894 41 82 00 48 */ beq lbl_8003FC7C
/* 8003FC38 0003B898 80 92 00 08 */ lwz r4, 8(r18)
/* 8003FC3C 0003B89C 2C 04 00 00 */ cmpwi r4, 0
/* 8003FC40 0003B8A0 40 82 00 0C */ bne lbl_8003FC4C
/* 8003FC44 0003B8A4 38 60 00 00 */ li r3, 0
/* 8003FC48 0003B8A8 48 00 00 20 */ b lbl_8003FC68
lbl_8003FC4C:
/* 8003FC4C 0003B8AC A0 12 00 DE */ lhz r0, 0xde(r18)
/* 8003FC50 0003B8B0 7C 03 00 40 */ cmplw r3, r0
/* 8003FC54 0003B8B4 41 80 00 0C */ blt lbl_8003FC60
/* 8003FC58 0003B8B8 38 60 00 00 */ li r3, 0
/* 8003FC5C 0003B8BC 48 00 00 0C */ b lbl_8003FC68
lbl_8003FC60:
/* 8003FC60 0003B8C0 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d
/* 8003FC64 0003B8C4 7C 64 00 2E */ lwzx r3, r4, r0
lbl_8003FC68:
/* 8003FC68 0003B8C8 2C 03 00 00 */ cmpwi r3, 0
/* 8003FC6C 0003B8CC 41 82 00 10 */ beq lbl_8003FC7C
/* 8003FC70 0003B8D0 A0 03 00 10 */ lhz r0, 0x10(r3)
/* 8003FC74 0003B8D4 60 00 00 02 */ ori r0, r0, 2
/* 8003FC78 0003B8D8 B0 03 00 10 */ sth r0, 0x10(r3)
lbl_8003FC7C:
/* 8003FC7C 0003B8DC 3A 10 00 01 */ addi r16, r16, 1
/* 8003FC80 0003B8E0 2C 10 00 04 */ cmpwi r16, 4
/* 8003FC84 0003B8E4 41 80 FF 74 */ blt lbl_8003FBF8
/* 8003FC88 0003B8E8 38 C0 00 00 */ li r6, 0
/* 8003FC8C 0003B8EC 38 00 00 02 */ li r0, 2
lbl_8003FC90:
/* 8003FC90 0003B8F0 38 E0 00 00 */ li r7, 0
/* 8003FC94 0003B8F4 7C 09 03 A6 */ mtctr r0
lbl_8003FC98:
/* 8003FC98 0003B8F8 7C 7A 3A 14 */ add r3, r26, r7
/* 8003FC9C 0003B8FC 88 83 00 08 */ lbz r4, 8(r3)
/* 8003FCA0 0003B900 28 04 00 FF */ cmplwi r4, 0xff
/* 8003FCA4 0003B904 41 82 00 48 */ beq lbl_8003FCEC
/* 8003FCA8 0003B908 80 B2 00 08 */ lwz r5, 8(r18)
/* 8003FCAC 0003B90C 2C 05 00 00 */ cmpwi r5, 0
/* 8003FCB0 0003B910 40 82 00 0C */ bne lbl_8003FCBC
/* 8003FCB4 0003B914 38 80 00 00 */ li r4, 0
/* 8003FCB8 0003B918 48 00 00 20 */ b lbl_8003FCD8
lbl_8003FCBC:
/* 8003FCBC 0003B91C A0 72 00 DE */ lhz r3, 0xde(r18)
/* 8003FCC0 0003B920 7C 04 18 40 */ cmplw r4, r3
/* 8003FCC4 0003B924 41 80 00 0C */ blt lbl_8003FCD0
/* 8003FCC8 0003B928 38 80 00 00 */ li r4, 0
/* 8003FCCC 0003B92C 48 00 00 0C */ b lbl_8003FCD8
lbl_8003FCD0:
/* 8003FCD0 0003B930 54 83 13 BA */ rlwinm r3, r4, 2, 0xe, 0x1d
/* 8003FCD4 0003B934 7C 85 18 2E */ lwzx r4, r5, r3
lbl_8003FCD8:
/* 8003FCD8 0003B938 2C 04 00 00 */ cmpwi r4, 0
/* 8003FCDC 0003B93C 41 82 00 10 */ beq lbl_8003FCEC
/* 8003FCE0 0003B940 A0 64 00 10 */ lhz r3, 0x10(r4)
/* 8003FCE4 0003B944 54 63 07 FA */ rlwinm r3, r3, 0, 0x1f, 0x1d
/* 8003FCE8 0003B948 B0 64 00 10 */ sth r3, 0x10(r4)
lbl_8003FCEC:
/* 8003FCEC 0003B94C 38 E7 00 01 */ addi r7, r7, 1
/* 8003FCF0 0003B950 7C 7A 3A 14 */ add r3, r26, r7
/* 8003FCF4 0003B954 88 83 00 08 */ lbz r4, 8(r3)
/* 8003FCF8 0003B958 28 04 00 FF */ cmplwi r4, 0xff
/* 8003FCFC 0003B95C 41 82 00 48 */ beq lbl_8003FD44
/* 8003FD00 0003B960 80 B2 00 08 */ lwz r5, 8(r18)
/* 8003FD04 0003B964 2C 05 00 00 */ cmpwi r5, 0
/* 8003FD08 0003B968 40 82 00 0C */ bne lbl_8003FD14
/* 8003FD0C 0003B96C 38 80 00 00 */ li r4, 0
/* 8003FD10 0003B970 48 00 00 20 */ b lbl_8003FD30
lbl_8003FD14:
/* 8003FD14 0003B974 A0 72 00 DE */ lhz r3, 0xde(r18)
/* 8003FD18 0003B978 7C 04 18 40 */ cmplw r4, r3
/* 8003FD1C 0003B97C 41 80 00 0C */ blt lbl_8003FD28
/* 8003FD20 0003B980 38 80 00 00 */ li r4, 0
/* 8003FD24 0003B984 48 00 00 0C */ b lbl_8003FD30
lbl_8003FD28:
/* 8003FD28 0003B988 54 83 13 BA */ rlwinm r3, r4, 2, 0xe, 0x1d
/* 8003FD2C 0003B98C 7C 85 18 2E */ lwzx r4, r5, r3
lbl_8003FD30:
/* 8003FD30 0003B990 2C 04 00 00 */ cmpwi r4, 0
/* 8003FD34 0003B994 41 82 00 10 */ beq lbl_8003FD44
/* 8003FD38 0003B998 A0 64 00 10 */ lhz r3, 0x10(r4)
/* 8003FD3C 0003B99C 54 63 07 FA */ rlwinm r3, r3, 0, 0x1f, 0x1d
/* 8003FD40 0003B9A0 B0 64 00 10 */ sth r3, 0x10(r4)
lbl_8003FD44:
/* 8003FD44 0003B9A4 38 E7 00 01 */ addi r7, r7, 1
/* 8003FD48 0003B9A8 42 00 FF 50 */ bdnz lbl_8003FC98
/* 8003FD4C 0003B9AC 38 C6 00 01 */ addi r6, r6, 1
/* 8003FD50 0003B9B0 3B 5A 00 AC */ addi r26, r26, 0xac
/* 8003FD54 0003B9B4 2C 06 00 0A */ cmpwi r6, 0xa
/* 8003FD58 0003B9B8 41 80 FF 38 */ blt lbl_8003FC90
/* 8003FD5C 0003B9BC 38 60 00 01 */ li r3, 1
lbl_8003FD60:
/* 8003FD60 0003B9C0 39 61 00 50 */ addi r11, r1, 0x50
/* 8003FD64 0003B9C4 48 18 73 E5 */ bl _restgpr_16
/* 8003FD68 0003B9C8 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8003FD6C 0003B9CC 7C 08 03 A6 */ mtlr r0
/* 8003FD70 0003B9D0 38 21 00 50 */ addi r1, r1, 0x50
/* 8003FD74 0003B9D4 4E 80 00 20 */ blr
.global func_8003FD78
func_8003FD78:
/* 8003FD78 0003B9D8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003FD7C 0003B9DC 7C 08 02 A6 */ mflr r0
/* 8003FD80 0003B9E0 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003FD84 0003B9E4 39 61 00 20 */ addi r11, r1, 0x20
/* 8003FD88 0003B9E8 48 18 73 9D */ bl _savegpr_26
/* 8003FD8C 0003B9EC 7C 7F 1B 78 */ mr r31, r3
/* 8003FD90 0003B9F0 7C 9A 23 78 */ mr r26, r4
/* 8003FD94 0003B9F4 7C BB 2B 78 */ mr r27, r5
/* 8003FD98 0003B9F8 3B A0 00 00 */ li r29, 0
lbl_8003FD9C:
/* 8003FD9C 0003B9FC 7F FE FB 78 */ mr r30, r31
/* 8003FDA0 0003BA00 3B 80 00 00 */ li r28, 0
lbl_8003FDA4:
/* 8003FDA4 0003BA04 80 9E 00 38 */ lwz r4, 0x38(r30)
/* 8003FDA8 0003BA08 2C 04 00 00 */ cmpwi r4, 0
/* 8003FDAC 0003BA0C 41 82 00 20 */ beq lbl_8003FDCC
/* 8003FDB0 0003BA10 2C 1B 00 00 */ cmpwi r27, 0
/* 8003FDB4 0003BA14 41 82 00 10 */ beq lbl_8003FDC4
/* 8003FDB8 0003BA18 7F 43 D3 78 */ mr r3, r26
/* 8003FDBC 0003BA1C 48 1C 0E 99 */ bl func_80200C54
/* 8003FDC0 0003BA20 48 00 00 0C */ b lbl_8003FDCC
lbl_8003FDC4:
/* 8003FDC4 0003BA24 7F 43 D3 78 */ mr r3, r26
/* 8003FDC8 0003BA28 48 1C 0F 41 */ bl func_80200D08
lbl_8003FDCC:
/* 8003FDCC 0003BA2C 3B 9C 00 01 */ addi r28, r28, 1
/* 8003FDD0 0003BA30 3B DE 00 20 */ addi r30, r30, 0x20
/* 8003FDD4 0003BA34 2C 1C 00 05 */ cmpwi r28, 5
/* 8003FDD8 0003BA38 41 80 FF CC */ blt lbl_8003FDA4
/* 8003FDDC 0003BA3C 3B BD 00 01 */ addi r29, r29, 1
/* 8003FDE0 0003BA40 3B FF 00 AC */ addi r31, r31, 0xac
/* 8003FDE4 0003BA44 2C 1D 00 0A */ cmpwi r29, 0xa
/* 8003FDE8 0003BA48 41 80 FF B4 */ blt lbl_8003FD9C
/* 8003FDEC 0003BA4C 39 61 00 20 */ addi r11, r1, 0x20
/* 8003FDF0 0003BA50 48 18 73 81 */ bl _restgpr_26
/* 8003FDF4 0003BA54 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003FDF8 0003BA58 7C 08 03 A6 */ mtlr r0
/* 8003FDFC 0003BA5C 38 21 00 20 */ addi r1, r1, 0x20
/* 8003FE00 0003BA60 4E 80 00 20 */ blr
.global func_8003FE04
func_8003FE04:
/* 8003FE04 0003BA64 38 00 00 0A */ li r0, 0xa
/* 8003FE08 0003BA68 39 20 00 00 */ li r9, 0
/* 8003FE0C 0003BA6C 7C 09 03 A6 */ mtctr r0
lbl_8003FE10:
/* 8003FE10 0003BA70 55 20 04 3E */ clrlwi r0, r9, 0x10
/* 8003FE14 0003BA74 1C 00 00 AC */ mulli r0, r0, 0xac
/* 8003FE18 0003BA78 7D 03 02 14 */ add r8, r3, r0
/* 8003FE1C 0003BA7C 81 48 00 38 */ lwz r10, 0x38(r8)
/* 8003FE20 0003BA80 2C 0A 00 00 */ cmpwi r10, 0
/* 8003FE24 0003BA84 41 82 00 20 */ beq lbl_8003FE44
/* 8003FE28 0003BA88 B0 8A 01 4C */ sth r4, 0x14c(r10)
/* 8003FE2C 0003BA8C B0 AA 01 4E */ sth r5, 0x14e(r10)
/* 8003FE30 0003BA90 B0 CA 01 50 */ sth r6, 0x150(r10)
/* 8003FE34 0003BA94 B0 EA 01 52 */ sth r7, 0x152(r10)
/* 8003FE38 0003BA98 A0 0A 00 DC */ lhz r0, 0xdc(r10)
/* 8003FE3C 0003BA9C 60 00 01 00 */ ori r0, r0, 0x100
/* 8003FE40 0003BAA0 B0 0A 00 DC */ sth r0, 0xdc(r10)
lbl_8003FE44:
/* 8003FE44 0003BAA4 81 48 00 58 */ lwz r10, 0x58(r8)
/* 8003FE48 0003BAA8 2C 0A 00 00 */ cmpwi r10, 0
/* 8003FE4C 0003BAAC 41 82 00 20 */ beq lbl_8003FE6C
/* 8003FE50 0003BAB0 B0 8A 01 4C */ sth r4, 0x14c(r10)
/* 8003FE54 0003BAB4 B0 AA 01 4E */ sth r5, 0x14e(r10)
/* 8003FE58 0003BAB8 B0 CA 01 50 */ sth r6, 0x150(r10)
/* 8003FE5C 0003BABC B0 EA 01 52 */ sth r7, 0x152(r10)
/* 8003FE60 0003BAC0 A0 0A 00 DC */ lhz r0, 0xdc(r10)
/* 8003FE64 0003BAC4 60 00 01 00 */ ori r0, r0, 0x100
/* 8003FE68 0003BAC8 B0 0A 00 DC */ sth r0, 0xdc(r10)
lbl_8003FE6C:
/* 8003FE6C 0003BACC 81 48 00 78 */ lwz r10, 0x78(r8)
/* 8003FE70 0003BAD0 2C 0A 00 00 */ cmpwi r10, 0
/* 8003FE74 0003BAD4 41 82 00 20 */ beq lbl_8003FE94
/* 8003FE78 0003BAD8 B0 8A 01 4C */ sth r4, 0x14c(r10)
/* 8003FE7C 0003BADC B0 AA 01 4E */ sth r5, 0x14e(r10)
/* 8003FE80 0003BAE0 B0 CA 01 50 */ sth r6, 0x150(r10)
/* 8003FE84 0003BAE4 B0 EA 01 52 */ sth r7, 0x152(r10)
/* 8003FE88 0003BAE8 A0 0A 00 DC */ lhz r0, 0xdc(r10)
/* 8003FE8C 0003BAEC 60 00 01 00 */ ori r0, r0, 0x100
/* 8003FE90 0003BAF0 B0 0A 00 DC */ sth r0, 0xdc(r10)
lbl_8003FE94:
/* 8003FE94 0003BAF4 81 48 00 98 */ lwz r10, 0x98(r8)
/* 8003FE98 0003BAF8 2C 0A 00 00 */ cmpwi r10, 0
/* 8003FE9C 0003BAFC 41 82 00 20 */ beq lbl_8003FEBC
/* 8003FEA0 0003BB00 B0 8A 01 4C */ sth r4, 0x14c(r10)
/* 8003FEA4 0003BB04 B0 AA 01 4E */ sth r5, 0x14e(r10)
/* 8003FEA8 0003BB08 B0 CA 01 50 */ sth r6, 0x150(r10)
/* 8003FEAC 0003BB0C B0 EA 01 52 */ sth r7, 0x152(r10)
/* 8003FEB0 0003BB10 A0 0A 00 DC */ lhz r0, 0xdc(r10)
/* 8003FEB4 0003BB14 60 00 01 00 */ ori r0, r0, 0x100
/* 8003FEB8 0003BB18 B0 0A 00 DC */ sth r0, 0xdc(r10)
lbl_8003FEBC:
/* 8003FEBC 0003BB1C 81 48 00 B8 */ lwz r10, 0xb8(r8)
/* 8003FEC0 0003BB20 2C 0A 00 00 */ cmpwi r10, 0
/* 8003FEC4 0003BB24 41 82 00 20 */ beq lbl_8003FEE4
/* 8003FEC8 0003BB28 B0 8A 01 4C */ sth r4, 0x14c(r10)
/* 8003FECC 0003BB2C B0 AA 01 4E */ sth r5, 0x14e(r10)
/* 8003FED0 0003BB30 B0 CA 01 50 */ sth r6, 0x150(r10)
/* 8003FED4 0003BB34 B0 EA 01 52 */ sth r7, 0x152(r10)
/* 8003FED8 0003BB38 A0 0A 00 DC */ lhz r0, 0xdc(r10)
/* 8003FEDC 0003BB3C 60 00 01 00 */ ori r0, r0, 0x100
/* 8003FEE0 0003BB40 B0 0A 00 DC */ sth r0, 0xdc(r10)
lbl_8003FEE4:
/* 8003FEE4 0003BB44 39 29 00 01 */ addi r9, r9, 1
/* 8003FEE8 0003BB48 42 00 FF 28 */ bdnz lbl_8003FE10
/* 8003FEEC 0003BB4C 4E 80 00 20 */ blr
.global func_8003FEF0
func_8003FEF0:
/* 8003FEF0 0003BB50 38 E0 00 00 */ li r7, 0
/* 8003FEF4 0003BB54 38 00 00 05 */ li r0, 5
lbl_8003FEF8:
/* 8003FEF8 0003BB58 54 E5 04 3E */ clrlwi r5, r7, 0x10
/* 8003FEFC 0003BB5C 39 00 00 00 */ li r8, 0
/* 8003FF00 0003BB60 1C A5 00 AC */ mulli r5, r5, 0xac
/* 8003FF04 0003BB64 7C C3 2A 14 */ add r6, r3, r5
/* 8003FF08 0003BB68 7C 09 03 A6 */ mtctr r0
lbl_8003FF0C:
/* 8003FF0C 0003BB6C 55 05 2A F4 */ rlwinm r5, r8, 5, 0xb, 0x1a
/* 8003FF10 0003BB70 7C A6 2A 14 */ add r5, r6, r5
/* 8003FF14 0003BB74 81 25 00 38 */ lwz r9, 0x38(r5)
/* 8003FF18 0003BB78 2C 09 00 00 */ cmpwi r9, 0
/* 8003FF1C 0003BB7C 41 82 00 28 */ beq lbl_8003FF44
/* 8003FF20 0003BB80 2C 04 00 00 */ cmpwi r4, 0
/* 8003FF24 0003BB84 41 82 00 14 */ beq lbl_8003FF38
/* 8003FF28 0003BB88 A0 A9 00 DC */ lhz r5, 0xdc(r9)
/* 8003FF2C 0003BB8C 60 A5 00 01 */ ori r5, r5, 1
/* 8003FF30 0003BB90 B0 A9 00 DC */ sth r5, 0xdc(r9)
/* 8003FF34 0003BB94 48 00 00 10 */ b lbl_8003FF44
lbl_8003FF38:
/* 8003FF38 0003BB98 A0 A9 00 DC */ lhz r5, 0xdc(r9)
/* 8003FF3C 0003BB9C 54 A5 04 3C */ rlwinm r5, r5, 0, 0x10, 0x1e
/* 8003FF40 0003BBA0 B0 A9 00 DC */ sth r5, 0xdc(r9)
lbl_8003FF44:
/* 8003FF44 0003BBA4 39 08 00 01 */ addi r8, r8, 1
/* 8003FF48 0003BBA8 42 00 FF C4 */ bdnz lbl_8003FF0C
/* 8003FF4C 0003BBAC 38 E7 00 01 */ addi r7, r7, 1
/* 8003FF50 0003BBB0 28 07 00 0A */ cmplwi r7, 0xa
/* 8003FF54 0003BBB4 41 80 FF A4 */ blt lbl_8003FEF8
/* 8003FF58 0003BBB8 4E 80 00 20 */ blr
.global func_8003FF5C
func_8003FF5C:
/* 8003FF5C 0003BBBC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003FF60 0003BBC0 7C 08 02 A6 */ mflr r0
/* 8003FF64 0003BBC4 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003FF68 0003BBC8 39 61 00 20 */ addi r11, r1, 0x20
/* 8003FF6C 0003BBCC 48 18 71 BD */ bl _savegpr_27
/* 8003FF70 0003BBD0 7C 7B 1B 78 */ mr r27, r3
/* 8003FF74 0003BBD4 7C 9C 23 78 */ mr r28, r4
/* 8003FF78 0003BBD8 3B C0 00 00 */ li r30, 0
lbl_8003FF7C:
/* 8003FF7C 0003BBDC 57 C0 04 3E */ clrlwi r0, r30, 0x10
/* 8003FF80 0003BBE0 3B A0 00 00 */ li r29, 0
/* 8003FF84 0003BBE4 1C 00 00 AC */ mulli r0, r0, 0xac
/* 8003FF88 0003BBE8 7F FB 02 14 */ add r31, r27, r0
lbl_8003FF8C:
/* 8003FF8C 0003BBEC 57 A0 2A F4 */ rlwinm r0, r29, 5, 0xb, 0x1a
/* 8003FF90 0003BBF0 7C 7F 02 14 */ add r3, r31, r0
/* 8003FF94 0003BBF4 80 63 00 38 */ lwz r3, 0x38(r3)
/* 8003FF98 0003BBF8 2C 03 00 00 */ cmpwi r3, 0
/* 8003FF9C 0003BBFC 41 82 00 0C */ beq lbl_8003FFA8
/* 8003FFA0 0003BC00 7F 84 E3 78 */ mr r4, r28
/* 8003FFA4 0003BC04 48 1B 62 69 */ bl func_801F620C
lbl_8003FFA8:
/* 8003FFA8 0003BC08 3B BD 00 01 */ addi r29, r29, 1
/* 8003FFAC 0003BC0C 28 1D 00 05 */ cmplwi r29, 5
/* 8003FFB0 0003BC10 41 80 FF DC */ blt lbl_8003FF8C
/* 8003FFB4 0003BC14 3B DE 00 01 */ addi r30, r30, 1
/* 8003FFB8 0003BC18 28 1E 00 0A */ cmplwi r30, 0xa
/* 8003FFBC 0003BC1C 41 80 FF C0 */ blt lbl_8003FF7C
/* 8003FFC0 0003BC20 39 61 00 20 */ addi r11, r1, 0x20
/* 8003FFC4 0003BC24 48 18 71 B1 */ bl _restgpr_27
/* 8003FFC8 0003BC28 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003FFCC 0003BC2C 7C 08 03 A6 */ mtlr r0
/* 8003FFD0 0003BC30 38 21 00 20 */ addi r1, r1, 0x20
/* 8003FFD4 0003BC34 4E 80 00 20 */ blr
.global func_8003FFD8
func_8003FFD8:
/* 8003FFD8 0003BC38 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003FFDC 0003BC3C 7C 08 02 A6 */ mflr r0
/* 8003FFE0 0003BC40 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003FFE4 0003BC44 39 61 00 20 */ addi r11, r1, 0x20
/* 8003FFE8 0003BC48 48 18 71 41 */ bl _savegpr_27
/* 8003FFEC 0003BC4C 7C 7B 1B 78 */ mr r27, r3
/* 8003FFF0 0003BC50 7C 9C 23 78 */ mr r28, r4
/* 8003FFF4 0003BC54 3B C0 00 00 */ li r30, 0
lbl_8003FFF8:
/* 8003FFF8 0003BC58 57 C0 04 3E */ clrlwi r0, r30, 0x10
/* 8003FFFC 0003BC5C 3B A0 00 00 */ li r29, 0
/* 80040000 0003BC60 1C 00 00 AC */ mulli r0, r0, 0xac
/* 80040004 0003BC64 7F FB 02 14 */ add r31, r27, r0
lbl_80040008:
/* 80040008 0003BC68 57 A0 2A F4 */ rlwinm r0, r29, 5, 0xb, 0x1a
/* 8004000C 0003BC6C 7C 7F 02 14 */ add r3, r31, r0
/* 80040010 0003BC70 80 63 00 38 */ lwz r3, 0x38(r3)
/* 80040014 0003BC74 2C 03 00 00 */ cmpwi r3, 0
/* 80040018 0003BC78 41 82 00 0C */ beq lbl_80040024
/* 8004001C 0003BC7C 7F 84 E3 78 */ mr r4, r28
/* 80040020 0003BC80 48 1B 61 75 */ bl func_801F6194
lbl_80040024:
/* 80040024 0003BC84 3B BD 00 01 */ addi r29, r29, 1
/* 80040028 0003BC88 28 1D 00 05 */ cmplwi r29, 5
/* 8004002C 0003BC8C 41 80 FF DC */ blt lbl_80040008
/* 80040030 0003BC90 3B DE 00 01 */ addi r30, r30, 1
/* 80040034 0003BC94 28 1E 00 0A */ cmplwi r30, 0xa
/* 80040038 0003BC98 41 80 FF C0 */ blt lbl_8003FFF8
/* 8004003C 0003BC9C 39 61 00 20 */ addi r11, r1, 0x20
/* 80040040 0003BCA0 48 18 71 35 */ bl _restgpr_27
/* 80040044 0003BCA4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80040048 0003BCA8 7C 08 03 A6 */ mtlr r0
/* 8004004C 0003BCAC 38 21 00 20 */ addi r1, r1, 0x20
/* 80040050 0003BCB0 4E 80 00 20 */ blr
.global func_80040054
func_80040054:
/* 80040054 0003BCB4 38 00 00 0A */ li r0, 0xa
/* 80040058 0003BCB8 38 C0 00 00 */ li r6, 0
/* 8004005C 0003BCBC 7C 09 03 A6 */ mtctr r0
lbl_80040060:
/* 80040060 0003BCC0 54 C0 04 3E */ clrlwi r0, r6, 0x10
/* 80040064 0003BCC4 1C 00 00 AC */ mulli r0, r0, 0xac
/* 80040068 0003BCC8 7C A3 02 14 */ add r5, r3, r0
/* 8004006C 0003BCCC 80 E5 00 38 */ lwz r7, 0x38(r5)
/* 80040070 0003BCD0 2C 07 00 00 */ cmpwi r7, 0
/* 80040074 0003BCD4 41 82 00 08 */ beq lbl_8004007C
/* 80040078 0003BCD8 90 87 00 3C */ stw r4, 0x3c(r7)
lbl_8004007C:
/* 8004007C 0003BCDC 80 E5 00 58 */ lwz r7, 0x58(r5)
/* 80040080 0003BCE0 2C 07 00 00 */ cmpwi r7, 0
/* 80040084 0003BCE4 41 82 00 08 */ beq lbl_8004008C
/* 80040088 0003BCE8 90 87 00 3C */ stw r4, 0x3c(r7)
lbl_8004008C:
/* 8004008C 0003BCEC 80 E5 00 78 */ lwz r7, 0x78(r5)
/* 80040090 0003BCF0 2C 07 00 00 */ cmpwi r7, 0
/* 80040094 0003BCF4 41 82 00 08 */ beq lbl_8004009C
/* 80040098 0003BCF8 90 87 00 3C */ stw r4, 0x3c(r7)
lbl_8004009C:
/* 8004009C 0003BCFC 80 E5 00 98 */ lwz r7, 0x98(r5)
/* 800400A0 0003BD00 2C 07 00 00 */ cmpwi r7, 0
/* 800400A4 0003BD04 41 82 00 08 */ beq lbl_800400AC
/* 800400A8 0003BD08 90 87 00 3C */ stw r4, 0x3c(r7)
lbl_800400AC:
/* 800400AC 0003BD0C 80 E5 00 B8 */ lwz r7, 0xb8(r5)
/* 800400B0 0003BD10 2C 07 00 00 */ cmpwi r7, 0
/* 800400B4 0003BD14 41 82 00 08 */ beq lbl_800400BC
/* 800400B8 0003BD18 90 87 00 3C */ stw r4, 0x3c(r7)
lbl_800400BC:
/* 800400BC 0003BD1C 38 C6 00 01 */ addi r6, r6, 1
/* 800400C0 0003BD20 42 00 FF A0 */ bdnz lbl_80040060
/* 800400C4 0003BD24 4E 80 00 20 */ blr
.global func_800400C8
func_800400C8:
/* 800400C8 0003BD28 38 A0 00 01 */ li r5, 1
/* 800400CC 0003BD2C 38 6D 97 C8 */ addi r3, r13, lbl_8063EA88-_SDA_BASE_
/* 800400D0 0003BD30 38 80 00 04 */ li r4, 4
/* 800400D4 0003BD34 38 00 00 00 */ li r0, 0
/* 800400D8 0003BD38 98 AD 97 C8 */ stb r5, lbl_8063EA88-_SDA_BASE_(r13)
/* 800400DC 0003BD3C B0 83 00 02 */ sth r4, 2(r3)
/* 800400E0 0003BD40 98 03 00 04 */ stb r0, 4(r3)
/* 800400E4 0003BD44 4E 80 00 20 */ blr
|