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
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
lbl_8005B4A4:
/* 8005B4A4 00057104 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8005B4A8 00057108 7C 08 02 A6 */ mflr r0
/* 8005B4AC 0005710C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8005B4B0 00057110 39 61 00 20 */ addi r11, r1, 0x20
/* 8005B4B4 00057114 48 16 BC 75 */ bl _savegpr_27
/* 8005B4B8 00057118 80 03 00 24 */ lwz r0, 0x24(r3)
/* 8005B4BC 0005711C 7C 7B 1B 78 */ mr r27, r3
/* 8005B4C0 00057120 90 83 00 28 */ stw r4, 0x28(r3)
/* 8005B4C4 00057124 7C 9C 23 78 */ mr r28, r4
/* 8005B4C8 00057128 2C 00 00 00 */ cmpwi r0, 0
/* 8005B4CC 0005712C 40 82 00 1C */ bne lbl_8005B4E8
/* 8005B4D0 00057130 1C 84 00 28 */ mulli r4, r4, 0x28
/* 8005B4D4 00057134 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8005B4D8 00057138 38 04 00 1F */ addi r0, r4, 0x1f
/* 8005B4DC 0005713C 54 04 00 34 */ rlwinm r4, r0, 0, 0, 0x1a
/* 8005B4E0 00057140 48 17 F7 B5 */ bl func_801DAC94
/* 8005B4E4 00057144 90 7B 00 24 */ stw r3, 0x24(r27)
lbl_8005B4E8:
/* 8005B4E8 00057148 1C BC 00 28 */ mulli r5, r28, 0x28
/* 8005B4EC 0005714C 80 7B 00 24 */ lwz r3, 0x24(r27)
/* 8005B4F0 00057150 38 80 00 00 */ li r4, 0
/* 8005B4F4 00057154 4B FA 8C 11 */ bl memset
/* 8005B4F8 00057158 1C 9C 26 80 */ mulli r4, r28, 0x2680
/* 8005B4FC 0005715C 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8005B500 00057160 38 A0 00 20 */ li r5, 0x20
/* 8005B504 00057164 48 17 F8 05 */ bl func_801DAD08
/* 8005B508 00057168 7C 7D 1B 78 */ mr r29, r3
/* 8005B50C 0005716C 3B C0 00 00 */ li r30, 0
/* 8005B510 00057170 3B E0 00 00 */ li r31, 0
/* 8005B514 00057174 48 00 00 40 */ b lbl_8005B554
lbl_8005B518:
/* 8005B518 00057178 80 1B 00 24 */ lwz r0, 0x24(r27)
/* 8005B51C 0005717C 7C 60 FA 14 */ add r3, r0, r31
/* 8005B520 00057180 80 03 00 08 */ lwz r0, 8(r3)
/* 8005B524 00057184 2C 00 00 00 */ cmpwi r0, 0
/* 8005B528 00057188 40 82 00 0C */ bne lbl_8005B534
/* 8005B52C 0005718C 93 A3 00 08 */ stw r29, 8(r3)
/* 8005B530 00057190 3B BD 26 80 */ addi r29, r29, 0x2680
lbl_8005B534:
/* 8005B534 00057194 80 1B 00 24 */ lwz r0, 0x24(r27)
/* 8005B538 00057198 38 80 00 00 */ li r4, 0
/* 8005B53C 0005719C 38 A0 26 80 */ li r5, 0x2680
/* 8005B540 000571A0 7C 60 FA 14 */ add r3, r0, r31
/* 8005B544 000571A4 80 63 00 08 */ lwz r3, 8(r3)
/* 8005B548 000571A8 4B FA 8B BD */ bl memset
/* 8005B54C 000571AC 3B FF 00 28 */ addi r31, r31, 0x28
/* 8005B550 000571B0 3B DE 00 01 */ addi r30, r30, 1
lbl_8005B554:
/* 8005B554 000571B4 7C 1E E0 40 */ cmplw r30, r28
/* 8005B558 000571B8 41 80 FF C0 */ blt lbl_8005B518
/* 8005B55C 000571BC 38 7B 00 30 */ addi r3, r27, 0x30
/* 8005B560 000571C0 38 80 00 00 */ li r4, 0
/* 8005B564 000571C4 38 A0 00 44 */ li r5, 0x44
/* 8005B568 000571C8 4B FA 8B 9D */ bl memset
/* 8005B56C 000571CC 38 7B 00 74 */ addi r3, r27, 0x74
/* 8005B570 000571D0 38 80 00 00 */ li r4, 0
/* 8005B574 000571D4 38 A0 00 22 */ li r5, 0x22
/* 8005B578 000571D8 4B FA 8B 8D */ bl memset
/* 8005B57C 000571DC 3C 60 80 64 */ lis r3, lbl_8063CE34@ha
/* 8005B580 000571E0 38 80 00 00 */ li r4, 0
/* 8005B584 000571E4 38 63 CE 34 */ addi r3, r3, lbl_8063CE34@l
/* 8005B588 000571E8 B0 9B 00 96 */ sth r4, 0x96(r27)
/* 8005B58C 000571EC 38 63 00 04 */ addi r3, r3, 4
/* 8005B590 000571F0 38 00 00 01 */ li r0, 1
/* 8005B594 000571F4 98 9B 00 98 */ stb r4, 0x98(r27)
/* 8005B598 000571F8 39 61 00 20 */ addi r11, r1, 0x20
/* 8005B59C 000571FC 90 7B 00 20 */ stw r3, 0x20(r27)
/* 8005B5A0 00057200 90 9B 00 2C */ stw r4, 0x2c(r27)
/* 8005B5A4 00057204 98 0D 99 06 */ stb r0, lbl_8063EBC6-_SDA_BASE_(r13)
/* 8005B5A8 00057208 48 16 BB CD */ bl _restgpr_27
/* 8005B5AC 0005720C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8005B5B0 00057210 7C 08 03 A6 */ mtlr r0
/* 8005B5B4 00057214 38 21 00 20 */ addi r1, r1, 0x20
/* 8005B5B8 00057218 4E 80 00 20 */ blr
lbl_8005B5BC:
/* 8005B5BC 0005721C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8005B5C0 00057220 7C 08 02 A6 */ mflr r0
/* 8005B5C4 00057224 90 01 00 24 */ stw r0, 0x24(r1)
/* 8005B5C8 00057228 39 61 00 20 */ addi r11, r1, 0x20
/* 8005B5CC 0005722C 48 16 BB 5D */ bl _savegpr_27
/* 8005B5D0 00057230 80 03 00 AC */ lwz r0, 0xac(r3)
/* 8005B5D4 00057234 7C 7B 1B 78 */ mr r27, r3
/* 8005B5D8 00057238 90 83 00 B0 */ stw r4, 0xb0(r3)
/* 8005B5DC 0005723C 7C 9C 23 78 */ mr r28, r4
/* 8005B5E0 00057240 2C 00 00 00 */ cmpwi r0, 0
/* 8005B5E4 00057244 40 82 00 1C */ bne lbl_8005B600
/* 8005B5E8 00057248 1C 84 00 28 */ mulli r4, r4, 0x28
/* 8005B5EC 0005724C 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8005B5F0 00057250 38 04 00 1F */ addi r0, r4, 0x1f
/* 8005B5F4 00057254 54 04 00 34 */ rlwinm r4, r0, 0, 0, 0x1a
/* 8005B5F8 00057258 48 17 F6 9D */ bl func_801DAC94
/* 8005B5FC 0005725C 90 7B 00 AC */ stw r3, 0xac(r27)
lbl_8005B600:
/* 8005B600 00057260 1C BC 00 28 */ mulli r5, r28, 0x28
/* 8005B604 00057264 80 7B 00 AC */ lwz r3, 0xac(r27)
/* 8005B608 00057268 38 80 00 00 */ li r4, 0
/* 8005B60C 0005726C 4B FA 8A F9 */ bl memset
/* 8005B610 00057270 1C 9C 31 C0 */ mulli r4, r28, 0x31c0
/* 8005B614 00057274 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8005B618 00057278 38 A0 00 20 */ li r5, 0x20
/* 8005B61C 0005727C 48 17 F6 ED */ bl func_801DAD08
/* 8005B620 00057280 7C 7D 1B 78 */ mr r29, r3
/* 8005B624 00057284 3B C0 00 00 */ li r30, 0
/* 8005B628 00057288 3B E0 00 00 */ li r31, 0
/* 8005B62C 0005728C 48 00 00 40 */ b lbl_8005B66C
lbl_8005B630:
/* 8005B630 00057290 80 1B 00 AC */ lwz r0, 0xac(r27)
/* 8005B634 00057294 7C 60 FA 14 */ add r3, r0, r31
/* 8005B638 00057298 80 03 00 08 */ lwz r0, 8(r3)
/* 8005B63C 0005729C 2C 00 00 00 */ cmpwi r0, 0
/* 8005B640 000572A0 40 82 00 0C */ bne lbl_8005B64C
/* 8005B644 000572A4 93 A3 00 08 */ stw r29, 8(r3)
/* 8005B648 000572A8 3B BD 31 C0 */ addi r29, r29, 0x31c0
lbl_8005B64C:
/* 8005B64C 000572AC 80 1B 00 AC */ lwz r0, 0xac(r27)
/* 8005B650 000572B0 38 80 00 00 */ li r4, 0
/* 8005B654 000572B4 38 A0 31 C0 */ li r5, 0x31c0
/* 8005B658 000572B8 7C 60 FA 14 */ add r3, r0, r31
/* 8005B65C 000572BC 80 63 00 08 */ lwz r3, 8(r3)
/* 8005B660 000572C0 4B FA 8A A5 */ bl memset
/* 8005B664 000572C4 3B FF 00 28 */ addi r31, r31, 0x28
/* 8005B668 000572C8 3B DE 00 01 */ addi r30, r30, 1
lbl_8005B66C:
/* 8005B66C 000572CC 7C 1E E0 40 */ cmplw r30, r28
/* 8005B670 000572D0 41 80 FF C0 */ blt lbl_8005B630
/* 8005B674 000572D4 38 7B 00 B8 */ addi r3, r27, 0xb8
/* 8005B678 000572D8 38 80 00 00 */ li r4, 0
/* 8005B67C 000572DC 38 A0 00 44 */ li r5, 0x44
/* 8005B680 000572E0 4B FA 8A 85 */ bl memset
/* 8005B684 000572E4 38 7B 00 FC */ addi r3, r27, 0xfc
/* 8005B688 000572E8 38 80 00 00 */ li r4, 0
/* 8005B68C 000572EC 38 A0 00 22 */ li r5, 0x22
/* 8005B690 000572F0 4B FA 8A 75 */ bl memset
/* 8005B694 000572F4 3C 60 80 64 */ lis r3, lbl_8063CE34@ha
/* 8005B698 000572F8 38 80 00 00 */ li r4, 0
/* 8005B69C 000572FC 38 63 CE 34 */ addi r3, r3, lbl_8063CE34@l
/* 8005B6A0 00057300 B0 9B 01 1E */ sth r4, 0x11e(r27)
/* 8005B6A4 00057304 38 63 00 4C */ addi r3, r3, 0x4c
/* 8005B6A8 00057308 38 00 00 01 */ li r0, 1
/* 8005B6AC 0005730C 98 9B 01 20 */ stb r4, 0x120(r27)
/* 8005B6B0 00057310 39 61 00 20 */ addi r11, r1, 0x20
/* 8005B6B4 00057314 90 7B 00 A8 */ stw r3, 0xa8(r27)
/* 8005B6B8 00057318 90 9B 00 B4 */ stw r4, 0xb4(r27)
/* 8005B6BC 0005731C 98 0D 99 07 */ stb r0, lbl_8063EBC7-_SDA_BASE_(r13)
/* 8005B6C0 00057320 48 16 BA B5 */ bl _restgpr_27
/* 8005B6C4 00057324 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8005B6C8 00057328 7C 08 03 A6 */ mtlr r0
/* 8005B6CC 0005732C 38 21 00 20 */ addi r1, r1, 0x20
/* 8005B6D0 00057330 4E 80 00 20 */ blr
.global func_8005B6D4
func_8005B6D4:
/* 8005B6D4 00057334 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8005B6D8 00057338 7C 08 02 A6 */ mflr r0
/* 8005B6DC 0005733C 90 01 00 34 */ stw r0, 0x34(r1)
/* 8005B6E0 00057340 39 61 00 30 */ addi r11, r1, 0x30
/* 8005B6E4 00057344 48 16 BA 3D */ bl _savegpr_25
/* 8005B6E8 00057348 2C 04 00 00 */ cmpwi r4, 0
/* 8005B6EC 0005734C 7C 7A 1B 78 */ mr r26, r3
/* 8005B6F0 00057350 7C 9B 23 78 */ mr r27, r4
/* 8005B6F4 00057354 7C BC 2B 78 */ mr r28, r5
/* 8005B6F8 00057358 7C DD 33 78 */ mr r29, r6
/* 8005B6FC 0005735C 3B E0 00 01 */ li r31, 1
/* 8005B700 00057360 41 82 00 0C */ beq lbl_8005B70C
/* 8005B704 00057364 28 04 01 EF */ cmplwi r4, 0x1ef
/* 8005B708 00057368 40 81 00 0C */ ble lbl_8005B714
lbl_8005B70C:
/* 8005B70C 0005736C 38 60 00 01 */ li r3, 1
/* 8005B710 00057370 48 00 02 34 */ b lbl_8005B944
lbl_8005B714:
/* 8005B714 00057374 80 63 00 20 */ lwz r3, 0x20(r3)
/* 8005B718 00057378 48 33 52 05 */ bl func_8039091C
/* 8005B71C 0005737C 3F 20 80 64 */ lis r25, lbl_8063CE34@ha
/* 8005B720 00057380 54 64 04 3E */ clrlwi r4, r3, 0x10
/* 8005B724 00057384 3B 39 CE 34 */ addi r25, r25, lbl_8063CE34@l
/* 8005B728 00057388 38 79 00 64 */ addi r3, r25, 0x64
/* 8005B72C 0005738C 48 33 CE B5 */ bl func_803985E0
/* 8005B730 00057390 7C 7E 1B 78 */ mr r30, r3
/* 8005B734 00057394 80 7A 00 20 */ lwz r3, 0x20(r26)
/* 8005B738 00057398 7F 64 DB 78 */ mr r4, r27
/* 8005B73C 0005739C 48 33 51 E1 */ bl func_8039091C
/* 8005B740 000573A0 54 64 04 3E */ clrlwi r4, r3, 0x10
/* 8005B744 000573A4 38 79 00 64 */ addi r3, r25, 0x64
/* 8005B748 000573A8 48 33 CF 01 */ bl func_80398648
/* 8005B74C 000573AC 7C 03 F0 40 */ cmplw r3, r30
/* 8005B750 000573B0 57 9E 82 1E */ rlwinm r30, r28, 0x10, 8, 0xf
/* 8005B754 000573B4 53 7E 04 3E */ rlwimi r30, r27, 0, 0x10, 0x1f
/* 8005B758 000573B8 40 82 00 08 */ bne lbl_8005B760
/* 8005B75C 000573BC 7F 7E DB 78 */ mr r30, r27
lbl_8005B760:
/* 8005B760 000573C0 2C 1B 01 9E */ cmpwi r27, 0x19e
/* 8005B764 000573C4 40 80 00 28 */ bge lbl_8005B78C
/* 8005B768 000573C8 2C 1B 01 82 */ cmpwi r27, 0x182
/* 8005B76C 000573CC 41 82 00 44 */ beq lbl_8005B7B0
/* 8005B770 000573D0 40 80 00 10 */ bge lbl_8005B780
/* 8005B774 000573D4 2C 1B 00 C9 */ cmpwi r27, 0xc9
/* 8005B778 000573D8 41 82 00 38 */ beq lbl_8005B7B0
/* 8005B77C 000573DC 48 00 00 3C */ b lbl_8005B7B8
lbl_8005B780:
/* 8005B780 000573E0 2C 1B 01 9C */ cmpwi r27, 0x19c
/* 8005B784 000573E4 40 80 00 2C */ bge lbl_8005B7B0
/* 8005B788 000573E8 48 00 00 30 */ b lbl_8005B7B8
lbl_8005B78C:
/* 8005B78C 000573EC 2C 1B 01 ED */ cmpwi r27, 0x1ed
/* 8005B790 000573F0 40 80 00 18 */ bge lbl_8005B7A8
/* 8005B794 000573F4 2C 1B 01 A8 */ cmpwi r27, 0x1a8
/* 8005B798 000573F8 40 80 00 20 */ bge lbl_8005B7B8
/* 8005B79C 000573FC 2C 1B 01 A5 */ cmpwi r27, 0x1a5
/* 8005B7A0 00057400 40 80 00 10 */ bge lbl_8005B7B0
/* 8005B7A4 00057404 48 00 00 14 */ b lbl_8005B7B8
lbl_8005B7A8:
/* 8005B7A8 00057408 2C 1B 01 EF */ cmpwi r27, 0x1ef
/* 8005B7AC 0005740C 40 80 00 0C */ bge lbl_8005B7B8
lbl_8005B7B0:
/* 8005B7B0 00057410 57 A0 90 1A */ slwi r0, r29, 0x12
/* 8005B7B4 00057414 7F DE 03 78 */ or r30, r30, r0
lbl_8005B7B8:
/* 8005B7B8 00057418 80 BA 00 28 */ lwz r5, 0x28(r26)
/* 8005B7BC 0005741C 38 C0 00 00 */ li r6, 0
/* 8005B7C0 00057420 38 60 00 00 */ li r3, 0
/* 8005B7C4 00057424 7C A9 03 A6 */ mtctr r5
/* 8005B7C8 00057428 28 05 00 00 */ cmplwi r5, 0
/* 8005B7CC 0005742C 40 81 00 38 */ ble lbl_8005B804
lbl_8005B7D0:
/* 8005B7D0 00057430 80 9A 00 24 */ lwz r4, 0x24(r26)
/* 8005B7D4 00057434 7C 04 18 2E */ lwzx r0, r4, r3
/* 8005B7D8 00057438 7C 1E 00 40 */ cmplw r30, r0
/* 8005B7DC 0005743C 40 82 00 1C */ bne lbl_8005B7F8
/* 8005B7E0 00057440 1C 06 00 28 */ mulli r0, r6, 0x28
/* 8005B7E4 00057444 38 A0 00 02 */ li r5, 2
/* 8005B7E8 00057448 38 60 00 00 */ li r3, 0
/* 8005B7EC 0005744C 7C 84 02 14 */ add r4, r4, r0
/* 8005B7F0 00057450 98 A4 00 0E */ stb r5, 0xe(r4)
/* 8005B7F4 00057454 48 00 01 50 */ b lbl_8005B944
lbl_8005B7F8:
/* 8005B7F8 00057458 38 63 00 28 */ addi r3, r3, 0x28
/* 8005B7FC 0005745C 38 C6 00 01 */ addi r6, r6, 1
/* 8005B800 00057460 42 00 FF D0 */ bdnz lbl_8005B7D0
lbl_8005B804:
/* 8005B804 00057464 80 DA 00 2C */ lwz r6, 0x2c(r26)
/* 8005B808 00057468 7C 06 28 50 */ subf r0, r6, r5
/* 8005B80C 0005746C 7C C7 33 78 */ mr r7, r6
/* 8005B810 00057470 1C 66 00 28 */ mulli r3, r6, 0x28
/* 8005B814 00057474 7C 09 03 A6 */ mtctr r0
/* 8005B818 00057478 7C 06 28 40 */ cmplw r6, r5
/* 8005B81C 0005747C 40 80 00 38 */ bge lbl_8005B854
lbl_8005B820:
/* 8005B820 00057480 80 1A 00 24 */ lwz r0, 0x24(r26)
/* 8005B824 00057484 7C 80 1A 14 */ add r4, r0, r3
/* 8005B828 00057488 88 04 00 0E */ lbz r0, 0xe(r4)
/* 8005B82C 0005748C 2C 00 00 00 */ cmpwi r0, 0
/* 8005B830 00057490 40 82 00 18 */ bne lbl_8005B848
/* 8005B834 00057494 88 04 00 0D */ lbz r0, 0xd(r4)
/* 8005B838 00057498 28 00 00 02 */ cmplwi r0, 2
/* 8005B83C 0005749C 41 82 00 0C */ beq lbl_8005B848
/* 8005B840 000574A0 3B E0 00 00 */ li r31, 0
/* 8005B844 000574A4 48 00 00 10 */ b lbl_8005B854
lbl_8005B848:
/* 8005B848 000574A8 38 63 00 28 */ addi r3, r3, 0x28
/* 8005B84C 000574AC 38 E7 00 01 */ addi r7, r7, 1
/* 8005B850 000574B0 42 00 FF D0 */ bdnz lbl_8005B820
lbl_8005B854:
/* 8005B854 000574B4 2C 1F 00 00 */ cmpwi r31, 0
/* 8005B858 000574B8 41 82 00 4C */ beq lbl_8005B8A4
/* 8005B85C 000574BC 38 E0 00 00 */ li r7, 0
/* 8005B860 000574C0 38 60 00 00 */ li r3, 0
/* 8005B864 000574C4 7C C9 03 A6 */ mtctr r6
/* 8005B868 000574C8 28 06 00 00 */ cmplwi r6, 0
/* 8005B86C 000574CC 40 81 00 38 */ ble lbl_8005B8A4
lbl_8005B870:
/* 8005B870 000574D0 80 1A 00 24 */ lwz r0, 0x24(r26)
/* 8005B874 000574D4 7C 80 1A 14 */ add r4, r0, r3
/* 8005B878 000574D8 88 04 00 0E */ lbz r0, 0xe(r4)
/* 8005B87C 000574DC 2C 00 00 00 */ cmpwi r0, 0
/* 8005B880 000574E0 40 82 00 18 */ bne lbl_8005B898
/* 8005B884 000574E4 88 04 00 0D */ lbz r0, 0xd(r4)
/* 8005B888 000574E8 28 00 00 02 */ cmplwi r0, 2
/* 8005B88C 000574EC 41 82 00 0C */ beq lbl_8005B898
/* 8005B890 000574F0 3B E0 00 00 */ li r31, 0
/* 8005B894 000574F4 48 00 00 10 */ b lbl_8005B8A4
lbl_8005B898:
/* 8005B898 000574F8 38 63 00 28 */ addi r3, r3, 0x28
/* 8005B89C 000574FC 38 E7 00 01 */ addi r7, r7, 1
/* 8005B8A0 00057500 42 00 FF D0 */ bdnz lbl_8005B870
lbl_8005B8A4:
/* 8005B8A4 00057504 2C 1F 00 00 */ cmpwi r31, 0
/* 8005B8A8 00057508 41 82 00 0C */ beq lbl_8005B8B4
/* 8005B8AC 0005750C 38 60 00 01 */ li r3, 1
/* 8005B8B0 00057510 48 00 00 94 */ b lbl_8005B944
lbl_8005B8B4:
/* 8005B8B4 00057514 1F E7 00 28 */ mulli r31, r7, 0x28
/* 8005B8B8 00057518 80 7A 00 24 */ lwz r3, 0x24(r26)
/* 8005B8BC 0005751C 7C 03 F8 2E */ lwzx r0, r3, r31
/* 8005B8C0 00057520 2C 00 00 00 */ cmpwi r0, 0
/* 8005B8C4 00057524 41 82 00 10 */ beq lbl_8005B8D4
/* 8005B8C8 00057528 7C 63 FA 14 */ add r3, r3, r31
/* 8005B8CC 0005752C 80 63 00 08 */ lwz r3, 8(r3)
/* 8005B8D0 00057530 48 1E 2A 01 */ bl func_8023E2D0
lbl_8005B8D4:
/* 8005B8D4 00057534 80 1A 00 24 */ lwz r0, 0x24(r26)
/* 8005B8D8 00057538 38 A0 00 01 */ li r5, 1
/* 8005B8DC 0005753C 38 80 00 02 */ li r4, 2
/* 8005B8E0 00057540 7C 60 FA 14 */ add r3, r0, r31
/* 8005B8E4 00057544 B3 63 00 04 */ sth r27, 4(r3)
/* 8005B8E8 00057548 80 1A 00 24 */ lwz r0, 0x24(r26)
/* 8005B8EC 0005754C 7C 60 FA 14 */ add r3, r0, r31
/* 8005B8F0 00057550 9B 83 00 06 */ stb r28, 6(r3)
/* 8005B8F4 00057554 80 7A 00 24 */ lwz r3, 0x24(r26)
/* 8005B8F8 00057558 7F C3 F9 2E */ stwx r30, r3, r31
/* 8005B8FC 0005755C 80 1A 00 24 */ lwz r0, 0x24(r26)
/* 8005B900 00057560 7C 60 FA 14 */ add r3, r0, r31
/* 8005B904 00057564 98 A3 00 0D */ stb r5, 0xd(r3)
/* 8005B908 00057568 80 1A 00 24 */ lwz r0, 0x24(r26)
/* 8005B90C 0005756C 7C 60 FA 14 */ add r3, r0, r31
/* 8005B910 00057570 98 83 00 0E */ stb r4, 0xe(r3)
/* 8005B914 00057574 80 1A 00 24 */ lwz r0, 0x24(r26)
/* 8005B918 00057578 7C 60 FA 14 */ add r3, r0, r31
/* 8005B91C 0005757C B3 A3 00 10 */ sth r29, 0x10(r3)
/* 8005B920 00057580 80 7A 00 2C */ lwz r3, 0x2c(r26)
/* 8005B924 00057584 80 1A 00 28 */ lwz r0, 0x28(r26)
/* 8005B928 00057588 38 63 00 01 */ addi r3, r3, 1
/* 8005B92C 0005758C 7C 03 00 40 */ cmplw r3, r0
/* 8005B930 00057590 90 7A 00 2C */ stw r3, 0x2c(r26)
/* 8005B934 00057594 40 82 00 0C */ bne lbl_8005B940
/* 8005B938 00057598 38 00 00 00 */ li r0, 0
/* 8005B93C 0005759C 90 1A 00 2C */ stw r0, 0x2c(r26)
lbl_8005B940:
/* 8005B940 000575A0 38 60 00 00 */ li r3, 0
lbl_8005B944:
/* 8005B944 000575A4 39 61 00 30 */ addi r11, r1, 0x30
/* 8005B948 000575A8 48 16 B8 25 */ bl _restgpr_25
/* 8005B94C 000575AC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8005B950 000575B0 7C 08 03 A6 */ mtlr r0
/* 8005B954 000575B4 38 21 00 30 */ addi r1, r1, 0x30
/* 8005B958 000575B8 4E 80 00 20 */ blr
.global func_8005B95C
func_8005B95C:
/* 8005B95C 000575BC 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 8005B960 000575C0 7C 08 02 A6 */ mflr r0
/* 8005B964 000575C4 90 01 00 74 */ stw r0, 0x74(r1)
/* 8005B968 000575C8 DB E1 00 60 */ stfd f31, 0x60(r1)
/* 8005B96C 000575CC F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0
/* 8005B970 000575D0 DB C1 00 50 */ stfd f30, 0x50(r1)
/* 8005B974 000575D4 F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0
/* 8005B978 000575D8 DB A1 00 40 */ stfd f29, 0x40(r1)
/* 8005B97C 000575DC F3 A1 00 48 */ psq_st f29, 72(r1), 0, qr0
/* 8005B980 000575E0 DB 81 00 30 */ stfd f28, 0x30(r1)
/* 8005B984 000575E4 F3 81 00 38 */ psq_st f28, 56(r1), 0, qr0
/* 8005B988 000575E8 39 61 00 30 */ addi r11, r1, 0x30
/* 8005B98C 000575EC 48 16 B7 8D */ bl _savegpr_23
/* 8005B990 000575F0 2C 04 00 00 */ cmpwi r4, 0
/* 8005B994 000575F4 7C 7B 1B 78 */ mr r27, r3
/* 8005B998 000575F8 7C 97 23 78 */ mr r23, r4
/* 8005B99C 000575FC 7C B8 2B 78 */ mr r24, r5
/* 8005B9A0 00057600 7C DC 33 78 */ mr r28, r6
/* 8005B9A4 00057604 7C FD 3B 78 */ mr r29, r7
/* 8005B9A8 00057608 7D 1E 43 78 */ mr r30, r8
/* 8005B9AC 0005760C 7D 39 4B 78 */ mr r25, r9
/* 8005B9B0 00057610 41 82 00 0C */ beq lbl_8005B9BC
/* 8005B9B4 00057614 28 04 01 EF */ cmplwi r4, 0x1ef
/* 8005B9B8 00057618 40 81 00 38 */ ble lbl_8005B9F0
lbl_8005B9BC:
/* 8005B9BC 0005761C C0 22 85 E0 */ lfs f1, lbl_80640BE0-_SDA2_BASE_(r2)
/* 8005B9C0 00057620 38 60 00 29 */ li r3, 0x29
/* 8005B9C4 00057624 C0 02 85 E4 */ lfs f0, lbl_80640BE4-_SDA2_BASE_(r2)
/* 8005B9C8 00057628 D0 28 00 0C */ stfs f1, 0xc(r8)
/* 8005B9CC 0005762C D0 28 00 04 */ stfs f1, 4(r8)
/* 8005B9D0 00057630 D0 28 00 18 */ stfs f1, 0x18(r8)
/* 8005B9D4 00057634 D0 28 00 00 */ stfs f1, 0(r8)
/* 8005B9D8 00057638 D0 08 00 1C */ stfs f0, 0x1c(r8)
/* 8005B9DC 0005763C D0 08 00 14 */ stfs f0, 0x14(r8)
/* 8005B9E0 00057640 D0 08 00 10 */ stfs f0, 0x10(r8)
/* 8005B9E4 00057644 D0 08 00 08 */ stfs f0, 8(r8)
/* 8005B9E8 00057648 4B FF F0 11 */ bl func_8005A9F8
/* 8005B9EC 0005764C 48 00 02 30 */ b lbl_8005BC1C
lbl_8005B9F0:
/* 8005B9F0 00057650 80 63 00 20 */ lwz r3, 0x20(r3)
/* 8005B9F4 00057654 48 33 4F 29 */ bl func_8039091C
/* 8005B9F8 00057658 3F 40 80 64 */ lis r26, lbl_8063CE34@ha
/* 8005B9FC 0005765C 54 64 04 3E */ clrlwi r4, r3, 0x10
/* 8005BA00 00057660 3B 5A CE 34 */ addi r26, r26, lbl_8063CE34@l
/* 8005BA04 00057664 38 7A 00 64 */ addi r3, r26, 0x64
/* 8005BA08 00057668 48 33 CB D9 */ bl func_803985E0
/* 8005BA0C 0005766C 7C 7F 1B 78 */ mr r31, r3
/* 8005BA10 00057670 80 7B 00 20 */ lwz r3, 0x20(r27)
/* 8005BA14 00057674 7E E4 BB 78 */ mr r4, r23
/* 8005BA18 00057678 48 33 4F 05 */ bl func_8039091C
/* 8005BA1C 0005767C 54 64 04 3E */ clrlwi r4, r3, 0x10
/* 8005BA20 00057680 38 7A 00 64 */ addi r3, r26, 0x64
/* 8005BA24 00057684 48 33 CC 25 */ bl func_80398648
/* 8005BA28 00057688 7C 03 F8 40 */ cmplw r3, r31
/* 8005BA2C 0005768C 57 06 82 1E */ rlwinm r6, r24, 0x10, 8, 0xf
/* 8005BA30 00057690 52 E6 04 3E */ rlwimi r6, r23, 0, 0x10, 0x1f
/* 8005BA34 00057694 40 82 00 08 */ bne lbl_8005BA3C
/* 8005BA38 00057698 7E E6 BB 78 */ mr r6, r23
lbl_8005BA3C:
/* 8005BA3C 0005769C 2C 17 01 9E */ cmpwi r23, 0x19e
/* 8005BA40 000576A0 40 80 00 28 */ bge lbl_8005BA68
/* 8005BA44 000576A4 2C 17 01 82 */ cmpwi r23, 0x182
/* 8005BA48 000576A8 41 82 00 44 */ beq lbl_8005BA8C
/* 8005BA4C 000576AC 40 80 00 10 */ bge lbl_8005BA5C
/* 8005BA50 000576B0 2C 17 00 C9 */ cmpwi r23, 0xc9
/* 8005BA54 000576B4 41 82 00 38 */ beq lbl_8005BA8C
/* 8005BA58 000576B8 48 00 00 3C */ b lbl_8005BA94
lbl_8005BA5C:
/* 8005BA5C 000576BC 2C 17 01 9C */ cmpwi r23, 0x19c
/* 8005BA60 000576C0 40 80 00 2C */ bge lbl_8005BA8C
/* 8005BA64 000576C4 48 00 00 30 */ b lbl_8005BA94
lbl_8005BA68:
/* 8005BA68 000576C8 2C 17 01 ED */ cmpwi r23, 0x1ed
/* 8005BA6C 000576CC 40 80 00 18 */ bge lbl_8005BA84
/* 8005BA70 000576D0 2C 17 01 A8 */ cmpwi r23, 0x1a8
/* 8005BA74 000576D4 40 80 00 20 */ bge lbl_8005BA94
/* 8005BA78 000576D8 2C 17 01 A5 */ cmpwi r23, 0x1a5
/* 8005BA7C 000576DC 40 80 00 10 */ bge lbl_8005BA8C
/* 8005BA80 000576E0 48 00 00 14 */ b lbl_8005BA94
lbl_8005BA84:
/* 8005BA84 000576E4 2C 17 01 EF */ cmpwi r23, 0x1ef
/* 8005BA88 000576E8 40 80 00 0C */ bge lbl_8005BA94
lbl_8005BA8C:
/* 8005BA8C 000576EC 57 20 90 1A */ slwi r0, r25, 0x12
/* 8005BA90 000576F0 7C C6 03 78 */ or r6, r6, r0
lbl_8005BA94:
/* 8005BA94 000576F4 80 1B 00 28 */ lwz r0, 0x28(r27)
/* 8005BA98 000576F8 38 A0 00 00 */ li r5, 0
/* 8005BA9C 000576FC 38 60 00 00 */ li r3, 0
/* 8005BAA0 00057700 7C 09 03 A6 */ mtctr r0
/* 8005BAA4 00057704 28 00 00 00 */ cmplwi r0, 0
/* 8005BAA8 00057708 40 81 01 44 */ ble lbl_8005BBEC
lbl_8005BAAC:
/* 8005BAAC 0005770C 80 9B 00 24 */ lwz r4, 0x24(r27)
/* 8005BAB0 00057710 7C 04 18 2E */ lwzx r0, r4, r3
/* 8005BAB4 00057714 7C 06 00 40 */ cmplw r6, r0
/* 8005BAB8 00057718 40 82 01 28 */ bne lbl_8005BBE0
/* 8005BABC 0005771C 1F E5 00 28 */ mulli r31, r5, 0x28
/* 8005BAC0 00057720 7C 64 FA 14 */ add r3, r4, r31
/* 8005BAC4 00057724 88 03 00 0D */ lbz r0, 0xd(r3)
/* 8005BAC8 00057728 28 00 00 03 */ cmplwi r0, 3
/* 8005BACC 0005772C 40 82 00 D0 */ bne lbl_8005BB9C
/* 8005BAD0 00057730 C3 A2 85 E0 */ lfs f29, lbl_80640BE0-_SDA2_BASE_(r2)
/* 8005BAD4 00057734 C3 82 85 E4 */ lfs f28, lbl_80640BE4-_SDA2_BASE_(r2)
/* 8005BAD8 00057738 FF E0 E8 90 */ fmr f31, f29
/* 8005BADC 0005773C 80 63 00 08 */ lwz r3, 8(r3)
/* 8005BAE0 00057740 FF C0 E0 90 */ fmr f30, f28
/* 8005BAE4 00057744 48 1E 2A 65 */ bl func_8023E548
/* 8005BAE8 00057748 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 8005BAEC 0005774C 28 00 00 30 */ cmplwi r0, 0x30
/* 8005BAF0 00057750 40 81 00 20 */ ble lbl_8005BB10
/* 8005BAF4 00057754 2C 1C 00 00 */ cmpwi r28, 0
/* 8005BAF8 00057758 41 82 00 10 */ beq lbl_8005BB08
/* 8005BAFC 0005775C C3 A2 85 E8 */ lfs f29, lbl_80640BE8-_SDA2_BASE_(r2)
/* 8005BB00 00057760 C3 82 85 E4 */ lfs f28, lbl_80640BE4-_SDA2_BASE_(r2)
/* 8005BB04 00057764 48 00 00 0C */ b lbl_8005BB10
lbl_8005BB08:
/* 8005BB08 00057768 C3 A2 85 E0 */ lfs f29, lbl_80640BE0-_SDA2_BASE_(r2)
/* 8005BB0C 0005776C C3 82 85 E8 */ lfs f28, lbl_80640BE8-_SDA2_BASE_(r2)
lbl_8005BB10:
/* 8005BB10 00057770 80 1B 00 24 */ lwz r0, 0x24(r27)
/* 8005BB14 00057774 7C 60 FA 14 */ add r3, r0, r31
/* 8005BB18 00057778 80 63 00 08 */ lwz r3, 8(r3)
/* 8005BB1C 0005777C 48 1E 2A 25 */ bl func_8023E540
/* 8005BB20 00057780 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 8005BB24 00057784 28 00 00 30 */ cmplwi r0, 0x30
/* 8005BB28 00057788 40 81 00 24 */ ble lbl_8005BB4C
/* 8005BB2C 0005778C 2C 1D 00 00 */ cmpwi r29, 0
/* 8005BB30 00057790 41 82 00 10 */ beq lbl_8005BB40
/* 8005BB34 00057794 C3 E2 85 E8 */ lfs f31, lbl_80640BE8-_SDA2_BASE_(r2)
/* 8005BB38 00057798 C3 C2 85 E4 */ lfs f30, lbl_80640BE4-_SDA2_BASE_(r2)
/* 8005BB3C 0005779C 48 00 00 20 */ b lbl_8005BB5C
lbl_8005BB40:
/* 8005BB40 000577A0 C3 E2 85 E0 */ lfs f31, lbl_80640BE0-_SDA2_BASE_(r2)
/* 8005BB44 000577A4 C3 C2 85 E8 */ lfs f30, lbl_80640BE8-_SDA2_BASE_(r2)
/* 8005BB48 000577A8 48 00 00 14 */ b lbl_8005BB5C
lbl_8005BB4C:
/* 8005BB4C 000577AC 2C 1D 00 00 */ cmpwi r29, 0
/* 8005BB50 000577B0 41 82 00 0C */ beq lbl_8005BB5C
/* 8005BB54 000577B4 C3 E2 85 E4 */ lfs f31, lbl_80640BE4-_SDA2_BASE_(r2)
/* 8005BB58 000577B8 C3 C2 85 E0 */ lfs f30, lbl_80640BE0-_SDA2_BASE_(r2)
lbl_8005BB5C:
/* 8005BB5C 000577BC D3 FE 00 18 */ stfs f31, 0x18(r30)
/* 8005BB60 000577C0 38 80 00 02 */ li r4, 2
/* 8005BB64 000577C4 D3 FE 00 00 */ stfs f31, 0(r30)
/* 8005BB68 000577C8 D3 DE 00 10 */ stfs f30, 0x10(r30)
/* 8005BB6C 000577CC D3 DE 00 08 */ stfs f30, 8(r30)
/* 8005BB70 000577D0 D3 BE 00 0C */ stfs f29, 0xc(r30)
/* 8005BB74 000577D4 D3 BE 00 04 */ stfs f29, 4(r30)
/* 8005BB78 000577D8 D3 9E 00 1C */ stfs f28, 0x1c(r30)
/* 8005BB7C 000577DC D3 9E 00 14 */ stfs f28, 0x14(r30)
/* 8005BB80 000577E0 80 1B 00 24 */ lwz r0, 0x24(r27)
/* 8005BB84 000577E4 7C 60 FA 14 */ add r3, r0, r31
/* 8005BB88 000577E8 98 83 00 0E */ stb r4, 0xe(r3)
/* 8005BB8C 000577EC 80 1B 00 24 */ lwz r0, 0x24(r27)
/* 8005BB90 000577F0 7C 60 FA 14 */ add r3, r0, r31
/* 8005BB94 000577F4 80 63 00 08 */ lwz r3, 8(r3)
/* 8005BB98 000577F8 48 00 00 84 */ b lbl_8005BC1C
lbl_8005BB9C:
/* 8005BB9C 000577FC C0 22 85 E0 */ lfs f1, lbl_80640BE0-_SDA2_BASE_(r2)
/* 8005BBA0 00057800 38 A0 00 02 */ li r5, 2
/* 8005BBA4 00057804 C0 02 85 E4 */ lfs f0, lbl_80640BE4-_SDA2_BASE_(r2)
/* 8005BBA8 00057808 38 60 00 29 */ li r3, 0x29
/* 8005BBAC 0005780C D0 3E 00 0C */ stfs f1, 0xc(r30)
/* 8005BBB0 00057810 D0 3E 00 04 */ stfs f1, 4(r30)
/* 8005BBB4 00057814 D0 3E 00 18 */ stfs f1, 0x18(r30)
/* 8005BBB8 00057818 D0 3E 00 00 */ stfs f1, 0(r30)
/* 8005BBBC 0005781C D0 1E 00 1C */ stfs f0, 0x1c(r30)
/* 8005BBC0 00057820 D0 1E 00 14 */ stfs f0, 0x14(r30)
/* 8005BBC4 00057824 D0 1E 00 10 */ stfs f0, 0x10(r30)
/* 8005BBC8 00057828 D0 1E 00 08 */ stfs f0, 8(r30)
/* 8005BBCC 0005782C 80 1B 00 24 */ lwz r0, 0x24(r27)
/* 8005BBD0 00057830 7C 80 FA 14 */ add r4, r0, r31
/* 8005BBD4 00057834 98 A4 00 0E */ stb r5, 0xe(r4)
/* 8005BBD8 00057838 4B FF EE 21 */ bl func_8005A9F8
/* 8005BBDC 0005783C 48 00 00 40 */ b lbl_8005BC1C
lbl_8005BBE0:
/* 8005BBE0 00057840 38 63 00 28 */ addi r3, r3, 0x28
/* 8005BBE4 00057844 38 A5 00 01 */ addi r5, r5, 1
/* 8005BBE8 00057848 42 00 FE C4 */ bdnz lbl_8005BAAC
lbl_8005BBEC:
/* 8005BBEC 0005784C C0 22 85 E0 */ lfs f1, lbl_80640BE0-_SDA2_BASE_(r2)
/* 8005BBF0 00057850 38 60 00 29 */ li r3, 0x29
/* 8005BBF4 00057854 C0 02 85 E4 */ lfs f0, lbl_80640BE4-_SDA2_BASE_(r2)
/* 8005BBF8 00057858 D0 3E 00 0C */ stfs f1, 0xc(r30)
/* 8005BBFC 0005785C D0 3E 00 04 */ stfs f1, 4(r30)
/* 8005BC00 00057860 D0 3E 00 18 */ stfs f1, 0x18(r30)
/* 8005BC04 00057864 D0 3E 00 00 */ stfs f1, 0(r30)
/* 8005BC08 00057868 D0 1E 00 1C */ stfs f0, 0x1c(r30)
/* 8005BC0C 0005786C D0 1E 00 14 */ stfs f0, 0x14(r30)
/* 8005BC10 00057870 D0 1E 00 10 */ stfs f0, 0x10(r30)
/* 8005BC14 00057874 D0 1E 00 08 */ stfs f0, 8(r30)
/* 8005BC18 00057878 4B FF ED E1 */ bl func_8005A9F8
lbl_8005BC1C:
/* 8005BC1C 0005787C E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0
/* 8005BC20 00057880 CB E1 00 60 */ lfd f31, 0x60(r1)
/* 8005BC24 00057884 E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0
/* 8005BC28 00057888 CB C1 00 50 */ lfd f30, 0x50(r1)
/* 8005BC2C 0005788C E3 A1 00 48 */ psq_l f29, 72(r1), 0, qr0
/* 8005BC30 00057890 CB A1 00 40 */ lfd f29, 0x40(r1)
/* 8005BC34 00057894 E3 81 00 38 */ psq_l f28, 56(r1), 0, qr0
/* 8005BC38 00057898 39 61 00 30 */ addi r11, r1, 0x30
/* 8005BC3C 0005789C CB 81 00 30 */ lfd f28, 0x30(r1)
/* 8005BC40 000578A0 48 16 B5 25 */ bl _restgpr_23
/* 8005BC44 000578A4 80 01 00 74 */ lwz r0, 0x74(r1)
/* 8005BC48 000578A8 7C 08 03 A6 */ mtlr r0
/* 8005BC4C 000578AC 38 21 00 70 */ addi r1, r1, 0x70
/* 8005BC50 000578B0 4E 80 00 20 */ blr
lbl_8005BC54:
/* 8005BC54 000578B4 7C 66 1B 78 */ mr r6, r3
/* 8005BC58 000578B8 38 E0 00 00 */ li r7, 0
/* 8005BC5C 000578BC 38 A0 00 01 */ li r5, 1
/* 8005BC60 000578C0 48 00 00 20 */ b lbl_8005BC80
lbl_8005BC64:
/* 8005BC64 000578C4 A0 06 00 74 */ lhz r0, 0x74(r6)
/* 8005BC68 000578C8 38 C6 00 02 */ addi r6, r6, 2
/* 8005BC6C 000578CC 80 83 00 24 */ lwz r4, 0x24(r3)
/* 8005BC70 000578D0 38 E7 00 01 */ addi r7, r7, 1
/* 8005BC74 000578D4 1C 00 00 28 */ mulli r0, r0, 0x28
/* 8005BC78 000578D8 7C 84 02 14 */ add r4, r4, r0
/* 8005BC7C 000578DC 98 A4 00 0C */ stb r5, 0xc(r4)
lbl_8005BC80:
/* 8005BC80 000578E0 A0 03 00 96 */ lhz r0, 0x96(r3)
/* 8005BC84 000578E4 7C 07 00 40 */ cmplw r7, r0
/* 8005BC88 000578E8 41 80 FF DC */ blt lbl_8005BC64
/* 8005BC8C 000578EC 4E 80 00 20 */ blr
lbl_8005BC90:
/* 8005BC90 000578F0 3C 60 80 48 */ lis r3, lbl_80478178@ha
/* 8005BC94 000578F4 54 A4 04 3E */ clrlwi r4, r5, 0x10
/* 8005BC98 000578F8 38 63 81 78 */ addi r3, r3, lbl_80478178@l
/* 8005BC9C 000578FC 4B FF FF B8 */ b lbl_8005BC54
.global func_8005BCA0
func_8005BCA0:
/* 8005BCA0 00057900 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8005BCA4 00057904 7C 08 02 A6 */ mflr r0
/* 8005BCA8 00057908 90 01 00 34 */ stw r0, 0x34(r1)
/* 8005BCAC 0005790C 39 61 00 30 */ addi r11, r1, 0x30
/* 8005BCB0 00057910 48 16 B4 65 */ bl _savegpr_22
/* 8005BCB4 00057914 88 0D 99 06 */ lbz r0, lbl_8063EBC6-_SDA_BASE_(r13)
/* 8005BCB8 00057918 7C 77 1B 78 */ mr r23, r3
/* 8005BCBC 0005791C 3B 40 00 00 */ li r26, 0
/* 8005BCC0 00057920 2C 00 00 00 */ cmpwi r0, 0
/* 8005BCC4 00057924 41 82 03 90 */ beq lbl_8005C054
/* 8005BCC8 00057928 3C 60 80 64 */ lis r3, lbl_8063CE34@ha
/* 8005BCCC 0005792C 3B 20 00 00 */ li r25, 0
/* 8005BCD0 00057930 3B 60 00 00 */ li r27, 0
/* 8005BCD4 00057934 3B 80 00 00 */ li r28, 0
/* 8005BCD8 00057938 3B A3 CE 34 */ addi r29, r3, lbl_8063CE34@l
/* 8005BCDC 0005793C 3B E0 00 03 */ li r31, 3
/* 8005BCE0 00057940 3B C0 00 02 */ li r30, 2
/* 8005BCE4 00057944 48 00 03 08 */ b lbl_8005BFEC
lbl_8005BCE8:
/* 8005BCE8 00057948 80 17 00 24 */ lwz r0, 0x24(r23)
/* 8005BCEC 0005794C 7C 80 DA 14 */ add r4, r0, r27
/* 8005BCF0 00057950 7C 1B 00 2E */ lwzx r0, r27, r0
/* 8005BCF4 00057954 2C 00 00 00 */ cmpwi r0, 0
/* 8005BCF8 00057958 41 82 02 EC */ beq lbl_8005BFE4
/* 8005BCFC 0005795C 88 64 00 0E */ lbz r3, 0xe(r4)
/* 8005BD00 00057960 2C 03 00 00 */ cmpwi r3, 0
/* 8005BD04 00057964 41 82 00 0C */ beq lbl_8005BD10
/* 8005BD08 00057968 38 03 FF FF */ addi r0, r3, -1
/* 8005BD0C 0005796C 98 04 00 0E */ stb r0, 0xe(r4)
lbl_8005BD10:
/* 8005BD10 00057970 80 17 00 24 */ lwz r0, 0x24(r23)
/* 8005BD14 00057974 7C 60 DA 14 */ add r3, r0, r27
/* 8005BD18 00057978 88 03 00 0D */ lbz r0, 0xd(r3)
/* 8005BD1C 0005797C 2C 00 00 02 */ cmpwi r0, 2
/* 8005BD20 00057980 41 82 01 88 */ beq lbl_8005BEA8
/* 8005BD24 00057984 40 80 02 C0 */ bge lbl_8005BFE4
/* 8005BD28 00057988 2C 00 00 01 */ cmpwi r0, 1
/* 8005BD2C 0005798C 40 80 00 0C */ bge lbl_8005BD38
/* 8005BD30 00057990 48 00 02 B4 */ b lbl_8005BFE4
/* 8005BD34 00057994 48 00 02 B0 */ b lbl_8005BFE4
lbl_8005BD38:
/* 8005BD38 00057998 88 17 00 98 */ lbz r0, 0x98(r23)
/* 8005BD3C 0005799C A2 C3 00 04 */ lhz r22, 4(r3)
/* 8005BD40 000579A0 2C 00 00 00 */ cmpwi r0, 0
/* 8005BD44 000579A4 A3 03 00 10 */ lhz r24, 0x10(r3)
/* 8005BD48 000579A8 40 82 02 9C */ bne lbl_8005BFE4
/* 8005BD4C 000579AC A0 17 00 96 */ lhz r0, 0x96(r23)
/* 8005BD50 000579B0 28 00 00 10 */ cmplwi r0, 0x10
/* 8005BD54 000579B4 40 80 02 90 */ bge lbl_8005BFE4
/* 8005BD58 000579B8 80 77 00 20 */ lwz r3, 0x20(r23)
/* 8005BD5C 000579BC 7E C4 B3 78 */ mr r4, r22
/* 8005BD60 000579C0 48 33 4B BD */ bl func_8039091C
/* 8005BD64 000579C4 80 17 00 24 */ lwz r0, 0x24(r23)
/* 8005BD68 000579C8 7C 64 1B 78 */ mr r4, r3
/* 8005BD6C 000579CC 2C 16 01 9E */ cmpwi r22, 0x19e
/* 8005BD70 000579D0 7C 60 DA 14 */ add r3, r0, r27
/* 8005BD74 000579D4 9B 83 00 0C */ stb r28, 0xc(r3)
/* 8005BD78 000579D8 40 80 00 28 */ bge lbl_8005BDA0
/* 8005BD7C 000579DC 2C 16 01 82 */ cmpwi r22, 0x182
/* 8005BD80 000579E0 41 82 00 44 */ beq lbl_8005BDC4
/* 8005BD84 000579E4 40 80 00 10 */ bge lbl_8005BD94
/* 8005BD88 000579E8 2C 16 00 C9 */ cmpwi r22, 0xc9
/* 8005BD8C 000579EC 41 82 00 38 */ beq lbl_8005BDC4
/* 8005BD90 000579F0 48 00 00 88 */ b lbl_8005BE18
lbl_8005BD94:
/* 8005BD94 000579F4 2C 16 01 9C */ cmpwi r22, 0x19c
/* 8005BD98 000579F8 40 80 00 2C */ bge lbl_8005BDC4
/* 8005BD9C 000579FC 48 00 00 7C */ b lbl_8005BE18
lbl_8005BDA0:
/* 8005BDA0 00057A00 2C 16 01 ED */ cmpwi r22, 0x1ed
/* 8005BDA4 00057A04 40 80 00 18 */ bge lbl_8005BDBC
/* 8005BDA8 00057A08 2C 16 01 A8 */ cmpwi r22, 0x1a8
/* 8005BDAC 00057A0C 40 80 00 6C */ bge lbl_8005BE18
/* 8005BDB0 00057A10 2C 16 01 A5 */ cmpwi r22, 0x1a5
/* 8005BDB4 00057A14 40 80 00 10 */ bge lbl_8005BDC4
/* 8005BDB8 00057A18 48 00 00 60 */ b lbl_8005BE18
lbl_8005BDBC:
/* 8005BDBC 00057A1C 2C 16 01 EF */ cmpwi r22, 0x1ef
/* 8005BDC0 00057A20 40 80 00 58 */ bge lbl_8005BE18
lbl_8005BDC4:
/* 8005BDC4 00057A24 80 17 00 24 */ lwz r0, 0x24(r23)
/* 8005BDC8 00057A28 7C 60 DA 14 */ add r3, r0, r27
/* 8005BDCC 00057A2C 88 03 00 06 */ lbz r0, 6(r3)
/* 8005BDD0 00057A30 28 00 00 01 */ cmplwi r0, 1
/* 8005BDD4 00057A34 40 82 00 24 */ bne lbl_8005BDF8
/* 8005BDD8 00057A38 54 80 04 3E */ clrlwi r0, r4, 0x10
/* 8005BDDC 00057A3C 38 7D 00 64 */ addi r3, r29, 0x64
/* 8005BDE0 00057A40 7C 80 C2 14 */ add r4, r0, r24
/* 8005BDE4 00057A44 48 33 C8 65 */ bl func_80398648
/* 8005BDE8 00057A48 80 17 00 24 */ lwz r0, 0x24(r23)
/* 8005BDEC 00057A4C 7C 80 DA 14 */ add r4, r0, r27
/* 8005BDF0 00057A50 90 64 00 14 */ stw r3, 0x14(r4)
/* 8005BDF4 00057A54 48 00 00 6C */ b lbl_8005BE60
lbl_8005BDF8:
/* 8005BDF8 00057A58 54 80 04 3E */ clrlwi r0, r4, 0x10
/* 8005BDFC 00057A5C 38 7D 00 64 */ addi r3, r29, 0x64
/* 8005BE00 00057A60 7C 80 C2 14 */ add r4, r0, r24
/* 8005BE04 00057A64 48 33 C7 DD */ bl func_803985E0
/* 8005BE08 00057A68 80 17 00 24 */ lwz r0, 0x24(r23)
/* 8005BE0C 00057A6C 7C 80 DA 14 */ add r4, r0, r27
/* 8005BE10 00057A70 90 64 00 14 */ stw r3, 0x14(r4)
/* 8005BE14 00057A74 48 00 00 4C */ b lbl_8005BE60
lbl_8005BE18:
/* 8005BE18 00057A78 80 17 00 24 */ lwz r0, 0x24(r23)
/* 8005BE1C 00057A7C 7C 60 DA 14 */ add r3, r0, r27
/* 8005BE20 00057A80 88 03 00 06 */ lbz r0, 6(r3)
/* 8005BE24 00057A84 28 00 00 01 */ cmplwi r0, 1
/* 8005BE28 00057A88 40 82 00 20 */ bne lbl_8005BE48
/* 8005BE2C 00057A8C 38 7D 00 64 */ addi r3, r29, 0x64
/* 8005BE30 00057A90 54 84 04 3E */ clrlwi r4, r4, 0x10
/* 8005BE34 00057A94 48 33 C8 15 */ bl func_80398648
/* 8005BE38 00057A98 80 17 00 24 */ lwz r0, 0x24(r23)
/* 8005BE3C 00057A9C 7C 80 DA 14 */ add r4, r0, r27
/* 8005BE40 00057AA0 90 64 00 14 */ stw r3, 0x14(r4)
/* 8005BE44 00057AA4 48 00 00 1C */ b lbl_8005BE60
lbl_8005BE48:
/* 8005BE48 00057AA8 38 7D 00 64 */ addi r3, r29, 0x64
/* 8005BE4C 00057AAC 54 84 04 3E */ clrlwi r4, r4, 0x10
/* 8005BE50 00057AB0 48 33 C7 91 */ bl func_803985E0
/* 8005BE54 00057AB4 80 17 00 24 */ lwz r0, 0x24(r23)
/* 8005BE58 00057AB8 7C 80 DA 14 */ add r4, r0, r27
/* 8005BE5C 00057ABC 90 64 00 14 */ stw r3, 0x14(r4)
lbl_8005BE60:
/* 8005BE60 00057AC0 80 77 00 24 */ lwz r3, 0x24(r23)
/* 8005BE64 00057AC4 A0 17 00 96 */ lhz r0, 0x96(r23)
/* 8005BE68 00057AC8 7C 63 DA 14 */ add r3, r3, r27
/* 8005BE6C 00057ACC 54 00 10 3A */ slwi r0, r0, 2
/* 8005BE70 00057AD0 80 83 00 14 */ lwz r4, 0x14(r3)
/* 8005BE74 00057AD4 7C 77 02 14 */ add r3, r23, r0
/* 8005BE78 00057AD8 90 83 00 30 */ stw r4, 0x30(r3)
/* 8005BE7C 00057ADC A0 17 00 96 */ lhz r0, 0x96(r23)
/* 8005BE80 00057AE0 54 00 08 3C */ slwi r0, r0, 1
/* 8005BE84 00057AE4 7C 77 02 14 */ add r3, r23, r0
/* 8005BE88 00057AE8 B3 23 00 74 */ sth r25, 0x74(r3)
/* 8005BE8C 00057AEC A0 77 00 96 */ lhz r3, 0x96(r23)
/* 8005BE90 00057AF0 80 17 00 24 */ lwz r0, 0x24(r23)
/* 8005BE94 00057AF4 38 63 00 01 */ addi r3, r3, 1
/* 8005BE98 00057AF8 B0 77 00 96 */ sth r3, 0x96(r23)
/* 8005BE9C 00057AFC 7C 60 DA 14 */ add r3, r0, r27
/* 8005BEA0 00057B00 9B C3 00 0D */ stb r30, 0xd(r3)
/* 8005BEA4 00057B04 48 00 01 40 */ b lbl_8005BFE4
lbl_8005BEA8:
/* 8005BEA8 00057B08 88 03 00 0C */ lbz r0, 0xc(r3)
/* 8005BEAC 00057B0C 2C 00 00 00 */ cmpwi r0, 0
/* 8005BEB0 00057B10 41 82 01 34 */ beq lbl_8005BFE4
/* 8005BEB4 00057B14 80 83 00 14 */ lwz r4, 0x14(r3)
/* 8005BEB8 00057B18 38 60 03 E9 */ li r3, 0x3e9
/* 8005BEBC 00057B1C 48 17 F6 01 */ bl func_801DB4BC
/* 8005BEC0 00057B20 88 03 00 07 */ lbz r0, 7(r3)
/* 8005BEC4 00057B24 54 00 06 3C */ rlwinm r0, r0, 0, 0x18, 0x1e
/* 8005BEC8 00057B28 98 03 00 07 */ stb r0, 7(r3)
/* 8005BECC 00057B2C 80 83 00 28 */ lwz r4, 0x28(r3)
/* 8005BED0 00057B30 54 80 00 01 */ rlwinm. r0, r4, 0, 0, 0
/* 8005BED4 00057B34 41 82 00 0C */ beq lbl_8005BEE0
/* 8005BED8 00057B38 7C 03 20 50 */ subf r0, r3, r4
/* 8005BEDC 00057B3C 90 03 00 28 */ stw r0, 0x28(r3)
lbl_8005BEE0:
/* 8005BEE0 00057B40 80 03 00 08 */ lwz r0, 8(r3)
/* 8005BEE4 00057B44 2C 00 00 01 */ cmpwi r0, 1
/* 8005BEE8 00057B48 41 81 00 18 */ bgt lbl_8005BF00
/* 8005BEEC 00057B4C 80 83 00 48 */ lwz r4, 0x48(r3)
/* 8005BEF0 00057B50 54 80 00 01 */ rlwinm. r0, r4, 0, 0, 0
/* 8005BEF4 00057B54 41 82 00 0C */ beq lbl_8005BF00
/* 8005BEF8 00057B58 7C 03 20 50 */ subf r0, r3, r4
/* 8005BEFC 00057B5C 90 03 00 48 */ stw r0, 0x48(r3)
lbl_8005BF00:
/* 8005BF00 00057B60 80 17 00 24 */ lwz r0, 0x24(r23)
/* 8005BF04 00057B64 7C 64 1B 78 */ mr r4, r3
/* 8005BF08 00057B68 38 A0 26 80 */ li r5, 0x2680
/* 8005BF0C 00057B6C 7C 60 DA 14 */ add r3, r0, r27
/* 8005BF10 00057B70 80 63 00 08 */ lwz r3, 8(r3)
/* 8005BF14 00057B74 4B FA 80 ED */ bl memcpy
/* 8005BF18 00057B78 80 17 00 24 */ lwz r0, 0x24(r23)
/* 8005BF1C 00057B7C 38 60 03 E9 */ li r3, 0x3e9
/* 8005BF20 00057B80 7C 80 DA 14 */ add r4, r0, r27
/* 8005BF24 00057B84 80 84 00 14 */ lwz r4, 0x14(r4)
/* 8005BF28 00057B88 48 17 F7 1D */ bl func_801DB644
/* 8005BF2C 00057B8C 80 17 00 24 */ lwz r0, 0x24(r23)
/* 8005BF30 00057B90 7C 60 DA 14 */ add r3, r0, r27
/* 8005BF34 00057B94 80 63 00 08 */ lwz r3, 8(r3)
/* 8005BF38 00057B98 48 1E 17 95 */ bl func_8023D6CC
/* 8005BF3C 00057B9C 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8005BF40 00057BA0 7C 78 1B 78 */ mr r24, r3
/* 8005BF44 00057BA4 88 04 00 7A */ lbz r0, 0x7a(r4)
/* 8005BF48 00057BA8 2C 00 00 00 */ cmpwi r0, 0
/* 8005BF4C 00057BAC 41 82 00 38 */ beq lbl_8005BF84
/* 8005BF50 00057BB0 2C 03 00 00 */ cmpwi r3, 0
/* 8005BF54 00057BB4 41 82 00 30 */ beq lbl_8005BF84
/* 8005BF58 00057BB8 80 A3 00 1C */ lwz r5, 0x1c(r3)
/* 8005BF5C 00057BBC 2C 05 00 02 */ cmpwi r5, 2
/* 8005BF60 00057BC0 40 80 00 08 */ bge lbl_8005BF68
/* 8005BF64 00057BC4 38 A0 00 02 */ li r5, 2
lbl_8005BF68:
/* 8005BF68 00057BC8 80 98 00 18 */ lwz r4, 0x18(r24)
/* 8005BF6C 00057BCC 7F 03 C3 78 */ mr r3, r24
/* 8005BF70 00057BD0 2C 04 00 02 */ cmpwi r4, 2
/* 8005BF74 00057BD4 40 80 00 08 */ bge lbl_8005BF7C
/* 8005BF78 00057BD8 38 80 00 02 */ li r4, 2
lbl_8005BF7C:
/* 8005BF7C 00057BDC 80 D8 00 20 */ lwz r6, 0x20(r24)
/* 8005BF80 00057BE0 48 1E 24 49 */ bl func_8023E3C8
lbl_8005BF84:
/* 8005BF84 00057BE4 7F 03 C3 78 */ mr r3, r24
/* 8005BF88 00057BE8 38 80 26 80 */ li r4, 0x2680
/* 8005BF8C 00057BEC 48 20 E6 C9 */ bl DCFlushRange
/* 8005BF90 00057BF0 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8005BF94 00057BF4 A0 03 16 FE */ lhz r0, 0x16fe(r3)
/* 8005BF98 00057BF8 60 00 00 02 */ ori r0, r0, 2
/* 8005BF9C 00057BFC B0 03 16 FE */ sth r0, 0x16fe(r3)
/* 8005BFA0 00057C00 80 17 00 24 */ lwz r0, 0x24(r23)
/* 8005BFA4 00057C04 7C 60 DA 14 */ add r3, r0, r27
/* 8005BFA8 00057C08 9B E3 00 0D */ stb r31, 0xd(r3)
/* 8005BFAC 00057C0C A0 77 00 96 */ lhz r3, 0x96(r23)
/* 8005BFB0 00057C10 38 63 FF FF */ addi r3, r3, -1
/* 8005BFB4 00057C14 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d
/* 8005BFB8 00057C18 B0 77 00 96 */ sth r3, 0x96(r23)
/* 8005BFBC 00057C1C 7C 77 02 14 */ add r3, r23, r0
/* 8005BFC0 00057C20 93 83 00 30 */ stw r28, 0x30(r3)
/* 8005BFC4 00057C24 A0 17 00 96 */ lhz r0, 0x96(r23)
/* 8005BFC8 00057C28 54 00 08 3C */ slwi r0, r0, 1
/* 8005BFCC 00057C2C 7C 77 02 14 */ add r3, r23, r0
/* 8005BFD0 00057C30 B3 83 00 74 */ sth r28, 0x74(r3)
/* 8005BFD4 00057C34 A0 17 00 96 */ lhz r0, 0x96(r23)
/* 8005BFD8 00057C38 2C 00 00 00 */ cmpwi r0, 0
/* 8005BFDC 00057C3C 40 82 00 08 */ bne lbl_8005BFE4
/* 8005BFE0 00057C40 3B 40 00 01 */ li r26, 1
lbl_8005BFE4:
/* 8005BFE4 00057C44 3B 7B 00 28 */ addi r27, r27, 0x28
/* 8005BFE8 00057C48 3B 39 00 01 */ addi r25, r25, 1
lbl_8005BFEC:
/* 8005BFEC 00057C4C 80 17 00 28 */ lwz r0, 0x28(r23)
/* 8005BFF0 00057C50 7C 19 00 40 */ cmplw r25, r0
/* 8005BFF4 00057C54 41 80 FC F4 */ blt lbl_8005BCE8
/* 8005BFF8 00057C58 88 17 00 98 */ lbz r0, 0x98(r23)
/* 8005BFFC 00057C5C 2C 00 00 00 */ cmpwi r0, 0
/* 8005C000 00057C60 40 82 00 3C */ bne lbl_8005C03C
/* 8005C004 00057C64 A0 17 00 96 */ lhz r0, 0x96(r23)
/* 8005C008 00057C68 2C 00 00 00 */ cmpwi r0, 0
/* 8005C00C 00057C6C 41 82 00 30 */ beq lbl_8005C03C
/* 8005C010 00057C70 38 00 00 01 */ li r0, 1
/* 8005C014 00057C74 38 60 03 E9 */ li r3, 0x3e9
/* 8005C018 00057C78 98 17 00 98 */ stb r0, 0x98(r23)
/* 8005C01C 00057C7C 48 1E D9 51 */ bl func_8024996C
/* 8005C020 00057C80 3C A0 80 06 */ lis r5, lbl_8005BC90@ha
/* 8005C024 00057C84 A0 F7 00 96 */ lhz r7, 0x96(r23)
/* 8005C028 00057C88 38 97 00 30 */ addi r4, r23, 0x30
/* 8005C02C 00057C8C 38 60 03 E9 */ li r3, 0x3e9
/* 8005C030 00057C90 38 A5 BC 90 */ addi r5, r5, lbl_8005BC90@l
/* 8005C034 00057C94 38 C0 00 00 */ li r6, 0
/* 8005C038 00057C98 48 1E D7 85 */ bl func_802497BC
lbl_8005C03C:
/* 8005C03C 00057C9C 2C 1A 00 00 */ cmpwi r26, 0
/* 8005C040 00057CA0 41 82 00 14 */ beq lbl_8005C054
/* 8005C044 00057CA4 38 60 03 E9 */ li r3, 0x3e9
/* 8005C048 00057CA8 48 1E D9 25 */ bl func_8024996C
/* 8005C04C 00057CAC 38 00 00 00 */ li r0, 0
/* 8005C050 00057CB0 98 17 00 98 */ stb r0, 0x98(r23)
lbl_8005C054:
/* 8005C054 00057CB4 39 61 00 30 */ addi r11, r1, 0x30
/* 8005C058 00057CB8 48 16 B1 09 */ bl _restgpr_22
/* 8005C05C 00057CBC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8005C060 00057CC0 7C 08 03 A6 */ mtlr r0
/* 8005C064 00057CC4 38 21 00 30 */ addi r1, r1, 0x30
/* 8005C068 00057CC8 4E 80 00 20 */ blr
.global func_8005C06C
func_8005C06C:
/* 8005C06C 00057CCC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8005C070 00057CD0 7C 08 02 A6 */ mflr r0
/* 8005C074 00057CD4 90 01 00 34 */ stw r0, 0x34(r1)
/* 8005C078 00057CD8 39 61 00 30 */ addi r11, r1, 0x30
/* 8005C07C 00057CDC 48 16 B0 A5 */ bl _savegpr_25
/* 8005C080 00057CE0 2C 04 00 00 */ cmpwi r4, 0
/* 8005C084 00057CE4 7C 7A 1B 78 */ mr r26, r3
/* 8005C088 00057CE8 7C 9B 23 78 */ mr r27, r4
/* 8005C08C 00057CEC 7C BC 2B 78 */ mr r28, r5
/* 8005C090 00057CF0 7C DD 33 78 */ mr r29, r6
/* 8005C094 00057CF4 3B E0 00 01 */ li r31, 1
/* 8005C098 00057CF8 41 82 00 0C */ beq lbl_8005C0A4
/* 8005C09C 00057CFC 28 04 01 EF */ cmplwi r4, 0x1ef
/* 8005C0A0 00057D00 40 81 00 0C */ ble lbl_8005C0AC
lbl_8005C0A4:
/* 8005C0A4 00057D04 38 60 00 01 */ li r3, 1
/* 8005C0A8 00057D08 48 00 02 34 */ b lbl_8005C2DC
lbl_8005C0AC:
/* 8005C0AC 00057D0C 80 63 00 A8 */ lwz r3, 0xa8(r3)
/* 8005C0B0 00057D10 48 33 A9 7D */ bl func_80396A2C
/* 8005C0B4 00057D14 3F 20 80 64 */ lis r25, lbl_8063CE34@ha
/* 8005C0B8 00057D18 54 64 04 3E */ clrlwi r4, r3, 0x10
/* 8005C0BC 00057D1C 3B 39 CE 34 */ addi r25, r25, lbl_8063CE34@l
/* 8005C0C0 00057D20 38 79 00 64 */ addi r3, r25, 0x64
/* 8005C0C4 00057D24 48 33 C5 51 */ bl func_80398614
/* 8005C0C8 00057D28 7C 7E 1B 78 */ mr r30, r3
/* 8005C0CC 00057D2C 80 7A 00 A8 */ lwz r3, 0xa8(r26)
/* 8005C0D0 00057D30 7F 64 DB 78 */ mr r4, r27
/* 8005C0D4 00057D34 48 33 A9 59 */ bl func_80396A2C
/* 8005C0D8 00057D38 54 64 04 3E */ clrlwi r4, r3, 0x10
/* 8005C0DC 00057D3C 38 79 00 64 */ addi r3, r25, 0x64
/* 8005C0E0 00057D40 48 33 C5 9D */ bl func_8039867C
/* 8005C0E4 00057D44 7C 03 F0 40 */ cmplw r3, r30
/* 8005C0E8 00057D48 57 9E 82 1E */ rlwinm r30, r28, 0x10, 8, 0xf
/* 8005C0EC 00057D4C 53 7E 04 3E */ rlwimi r30, r27, 0, 0x10, 0x1f
/* 8005C0F0 00057D50 40 82 00 08 */ bne lbl_8005C0F8
/* 8005C0F4 00057D54 7F 7E DB 78 */ mr r30, r27
lbl_8005C0F8:
/* 8005C0F8 00057D58 2C 1B 01 9E */ cmpwi r27, 0x19e
/* 8005C0FC 00057D5C 40 80 00 28 */ bge lbl_8005C124
/* 8005C100 00057D60 2C 1B 01 82 */ cmpwi r27, 0x182
/* 8005C104 00057D64 41 82 00 44 */ beq lbl_8005C148
/* 8005C108 00057D68 40 80 00 10 */ bge lbl_8005C118
/* 8005C10C 00057D6C 2C 1B 00 C9 */ cmpwi r27, 0xc9
/* 8005C110 00057D70 41 82 00 38 */ beq lbl_8005C148
/* 8005C114 00057D74 48 00 00 3C */ b lbl_8005C150
lbl_8005C118:
/* 8005C118 00057D78 2C 1B 01 9C */ cmpwi r27, 0x19c
/* 8005C11C 00057D7C 40 80 00 2C */ bge lbl_8005C148
/* 8005C120 00057D80 48 00 00 30 */ b lbl_8005C150
lbl_8005C124:
/* 8005C124 00057D84 2C 1B 01 ED */ cmpwi r27, 0x1ed
/* 8005C128 00057D88 40 80 00 18 */ bge lbl_8005C140
/* 8005C12C 00057D8C 2C 1B 01 A8 */ cmpwi r27, 0x1a8
/* 8005C130 00057D90 40 80 00 20 */ bge lbl_8005C150
/* 8005C134 00057D94 2C 1B 01 A5 */ cmpwi r27, 0x1a5
/* 8005C138 00057D98 40 80 00 10 */ bge lbl_8005C148
/* 8005C13C 00057D9C 48 00 00 14 */ b lbl_8005C150
lbl_8005C140:
/* 8005C140 00057DA0 2C 1B 01 EF */ cmpwi r27, 0x1ef
/* 8005C144 00057DA4 40 80 00 0C */ bge lbl_8005C150
lbl_8005C148:
/* 8005C148 00057DA8 57 A0 90 1A */ slwi r0, r29, 0x12
/* 8005C14C 00057DAC 7F DE 03 78 */ or r30, r30, r0
lbl_8005C150:
/* 8005C150 00057DB0 80 BA 00 B0 */ lwz r5, 0xb0(r26)
/* 8005C154 00057DB4 38 C0 00 00 */ li r6, 0
/* 8005C158 00057DB8 38 60 00 00 */ li r3, 0
/* 8005C15C 00057DBC 7C A9 03 A6 */ mtctr r5
/* 8005C160 00057DC0 28 05 00 00 */ cmplwi r5, 0
/* 8005C164 00057DC4 40 81 00 38 */ ble lbl_8005C19C
lbl_8005C168:
/* 8005C168 00057DC8 80 9A 00 AC */ lwz r4, 0xac(r26)
/* 8005C16C 00057DCC 7C 04 18 2E */ lwzx r0, r4, r3
/* 8005C170 00057DD0 7C 1E 00 40 */ cmplw r30, r0
/* 8005C174 00057DD4 40 82 00 1C */ bne lbl_8005C190
/* 8005C178 00057DD8 1C 06 00 28 */ mulli r0, r6, 0x28
/* 8005C17C 00057DDC 38 A0 00 02 */ li r5, 2
/* 8005C180 00057DE0 38 60 00 00 */ li r3, 0
/* 8005C184 00057DE4 7C 84 02 14 */ add r4, r4, r0
/* 8005C188 00057DE8 98 A4 00 0E */ stb r5, 0xe(r4)
/* 8005C18C 00057DEC 48 00 01 50 */ b lbl_8005C2DC
lbl_8005C190:
/* 8005C190 00057DF0 38 63 00 28 */ addi r3, r3, 0x28
/* 8005C194 00057DF4 38 C6 00 01 */ addi r6, r6, 1
/* 8005C198 00057DF8 42 00 FF D0 */ bdnz lbl_8005C168
lbl_8005C19C:
/* 8005C19C 00057DFC 80 DA 00 B4 */ lwz r6, 0xb4(r26)
/* 8005C1A0 00057E00 7C 06 28 50 */ subf r0, r6, r5
/* 8005C1A4 00057E04 7C C7 33 78 */ mr r7, r6
/* 8005C1A8 00057E08 1C 66 00 28 */ mulli r3, r6, 0x28
/* 8005C1AC 00057E0C 7C 09 03 A6 */ mtctr r0
/* 8005C1B0 00057E10 7C 06 28 40 */ cmplw r6, r5
/* 8005C1B4 00057E14 40 80 00 38 */ bge lbl_8005C1EC
lbl_8005C1B8:
/* 8005C1B8 00057E18 80 1A 00 AC */ lwz r0, 0xac(r26)
/* 8005C1BC 00057E1C 7C 80 1A 14 */ add r4, r0, r3
/* 8005C1C0 00057E20 88 04 00 0E */ lbz r0, 0xe(r4)
/* 8005C1C4 00057E24 2C 00 00 00 */ cmpwi r0, 0
/* 8005C1C8 00057E28 40 82 00 18 */ bne lbl_8005C1E0
/* 8005C1CC 00057E2C 88 04 00 0D */ lbz r0, 0xd(r4)
/* 8005C1D0 00057E30 28 00 00 02 */ cmplwi r0, 2
/* 8005C1D4 00057E34 41 82 00 0C */ beq lbl_8005C1E0
/* 8005C1D8 00057E38 3B E0 00 00 */ li r31, 0
/* 8005C1DC 00057E3C 48 00 00 10 */ b lbl_8005C1EC
lbl_8005C1E0:
/* 8005C1E0 00057E40 38 63 00 28 */ addi r3, r3, 0x28
/* 8005C1E4 00057E44 38 E7 00 01 */ addi r7, r7, 1
/* 8005C1E8 00057E48 42 00 FF D0 */ bdnz lbl_8005C1B8
lbl_8005C1EC:
/* 8005C1EC 00057E4C 2C 1F 00 00 */ cmpwi r31, 0
/* 8005C1F0 00057E50 41 82 00 4C */ beq lbl_8005C23C
/* 8005C1F4 00057E54 38 E0 00 00 */ li r7, 0
/* 8005C1F8 00057E58 38 60 00 00 */ li r3, 0
/* 8005C1FC 00057E5C 7C C9 03 A6 */ mtctr r6
/* 8005C200 00057E60 28 06 00 00 */ cmplwi r6, 0
/* 8005C204 00057E64 40 81 00 38 */ ble lbl_8005C23C
lbl_8005C208:
/* 8005C208 00057E68 80 1A 00 AC */ lwz r0, 0xac(r26)
/* 8005C20C 00057E6C 7C 80 1A 14 */ add r4, r0, r3
/* 8005C210 00057E70 88 04 00 0E */ lbz r0, 0xe(r4)
/* 8005C214 00057E74 2C 00 00 00 */ cmpwi r0, 0
/* 8005C218 00057E78 40 82 00 18 */ bne lbl_8005C230
/* 8005C21C 00057E7C 88 04 00 0D */ lbz r0, 0xd(r4)
/* 8005C220 00057E80 28 00 00 02 */ cmplwi r0, 2
/* 8005C224 00057E84 41 82 00 0C */ beq lbl_8005C230
/* 8005C228 00057E88 3B E0 00 00 */ li r31, 0
/* 8005C22C 00057E8C 48 00 00 10 */ b lbl_8005C23C
lbl_8005C230:
/* 8005C230 00057E90 38 63 00 28 */ addi r3, r3, 0x28
/* 8005C234 00057E94 38 E7 00 01 */ addi r7, r7, 1
/* 8005C238 00057E98 42 00 FF D0 */ bdnz lbl_8005C208
lbl_8005C23C:
/* 8005C23C 00057E9C 2C 1F 00 00 */ cmpwi r31, 0
/* 8005C240 00057EA0 41 82 00 0C */ beq lbl_8005C24C
/* 8005C244 00057EA4 38 60 00 01 */ li r3, 1
/* 8005C248 00057EA8 48 00 00 94 */ b lbl_8005C2DC
lbl_8005C24C:
/* 8005C24C 00057EAC 1F E7 00 28 */ mulli r31, r7, 0x28
/* 8005C250 00057EB0 80 7A 00 AC */ lwz r3, 0xac(r26)
/* 8005C254 00057EB4 7C 03 F8 2E */ lwzx r0, r3, r31
/* 8005C258 00057EB8 2C 00 00 00 */ cmpwi r0, 0
/* 8005C25C 00057EBC 41 82 00 10 */ beq lbl_8005C26C
/* 8005C260 00057EC0 7C 63 FA 14 */ add r3, r3, r31
/* 8005C264 00057EC4 80 63 00 08 */ lwz r3, 8(r3)
/* 8005C268 00057EC8 48 1E 20 69 */ bl func_8023E2D0
lbl_8005C26C:
/* 8005C26C 00057ECC 80 1A 00 AC */ lwz r0, 0xac(r26)
/* 8005C270 00057ED0 38 A0 00 01 */ li r5, 1
/* 8005C274 00057ED4 38 80 00 02 */ li r4, 2
/* 8005C278 00057ED8 7C 60 FA 14 */ add r3, r0, r31
/* 8005C27C 00057EDC B3 63 00 04 */ sth r27, 4(r3)
/* 8005C280 00057EE0 80 1A 00 AC */ lwz r0, 0xac(r26)
/* 8005C284 00057EE4 7C 60 FA 14 */ add r3, r0, r31
/* 8005C288 00057EE8 9B 83 00 06 */ stb r28, 6(r3)
/* 8005C28C 00057EEC 80 7A 00 AC */ lwz r3, 0xac(r26)
/* 8005C290 00057EF0 7F C3 F9 2E */ stwx r30, r3, r31
/* 8005C294 00057EF4 80 1A 00 AC */ lwz r0, 0xac(r26)
/* 8005C298 00057EF8 7C 60 FA 14 */ add r3, r0, r31
/* 8005C29C 00057EFC 98 A3 00 0D */ stb r5, 0xd(r3)
/* 8005C2A0 00057F00 80 1A 00 AC */ lwz r0, 0xac(r26)
/* 8005C2A4 00057F04 7C 60 FA 14 */ add r3, r0, r31
/* 8005C2A8 00057F08 98 83 00 0E */ stb r4, 0xe(r3)
/* 8005C2AC 00057F0C 80 1A 00 AC */ lwz r0, 0xac(r26)
/* 8005C2B0 00057F10 7C 60 FA 14 */ add r3, r0, r31
/* 8005C2B4 00057F14 B3 A3 00 10 */ sth r29, 0x10(r3)
/* 8005C2B8 00057F18 80 7A 00 B4 */ lwz r3, 0xb4(r26)
/* 8005C2BC 00057F1C 80 1A 00 B0 */ lwz r0, 0xb0(r26)
/* 8005C2C0 00057F20 38 63 00 01 */ addi r3, r3, 1
/* 8005C2C4 00057F24 7C 03 00 40 */ cmplw r3, r0
/* 8005C2C8 00057F28 90 7A 00 B4 */ stw r3, 0xb4(r26)
/* 8005C2CC 00057F2C 40 82 00 0C */ bne lbl_8005C2D8
/* 8005C2D0 00057F30 38 00 00 00 */ li r0, 0
/* 8005C2D4 00057F34 90 1A 00 B4 */ stw r0, 0xb4(r26)
lbl_8005C2D8:
/* 8005C2D8 00057F38 38 60 00 00 */ li r3, 0
lbl_8005C2DC:
/* 8005C2DC 00057F3C 39 61 00 30 */ addi r11, r1, 0x30
/* 8005C2E0 00057F40 48 16 AE 8D */ bl _restgpr_25
/* 8005C2E4 00057F44 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8005C2E8 00057F48 7C 08 03 A6 */ mtlr r0
/* 8005C2EC 00057F4C 38 21 00 30 */ addi r1, r1, 0x30
/* 8005C2F0 00057F50 4E 80 00 20 */ blr
.global func_8005C2F4
func_8005C2F4:
/* 8005C2F4 00057F54 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 8005C2F8 00057F58 7C 08 02 A6 */ mflr r0
/* 8005C2FC 00057F5C 90 01 00 74 */ stw r0, 0x74(r1)
/* 8005C300 00057F60 DB E1 00 60 */ stfd f31, 0x60(r1)
/* 8005C304 00057F64 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0
/* 8005C308 00057F68 DB C1 00 50 */ stfd f30, 0x50(r1)
/* 8005C30C 00057F6C F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0
/* 8005C310 00057F70 DB A1 00 40 */ stfd f29, 0x40(r1)
/* 8005C314 00057F74 F3 A1 00 48 */ psq_st f29, 72(r1), 0, qr0
/* 8005C318 00057F78 DB 81 00 30 */ stfd f28, 0x30(r1)
/* 8005C31C 00057F7C F3 81 00 38 */ psq_st f28, 56(r1), 0, qr0
/* 8005C320 00057F80 39 61 00 30 */ addi r11, r1, 0x30
/* 8005C324 00057F84 48 16 AD F9 */ bl _savegpr_24
/* 8005C328 00057F88 2C 04 00 00 */ cmpwi r4, 0
/* 8005C32C 00057F8C 7C 7E 1B 78 */ mr r30, r3
/* 8005C330 00057F90 7C 98 23 78 */ mr r24, r4
/* 8005C334 00057F94 7C B9 2B 78 */ mr r25, r5
/* 8005C338 00057F98 7C DA 33 78 */ mr r26, r6
/* 8005C33C 00057F9C 7C FF 3B 78 */ mr r31, r7
/* 8005C340 00057FA0 7D 1B 43 78 */ mr r27, r8
/* 8005C344 00057FA4 41 82 00 0C */ beq lbl_8005C350
/* 8005C348 00057FA8 28 04 01 EF */ cmplwi r4, 0x1ef
/* 8005C34C 00057FAC 40 81 00 34 */ ble lbl_8005C380
lbl_8005C350:
/* 8005C350 00057FB0 C0 22 85 E0 */ lfs f1, lbl_80640BE0-_SDA2_BASE_(r2)
/* 8005C354 00057FB4 38 60 00 00 */ li r3, 0
/* 8005C358 00057FB8 C0 02 85 E4 */ lfs f0, lbl_80640BE4-_SDA2_BASE_(r2)
/* 8005C35C 00057FBC D0 27 00 0C */ stfs f1, 0xc(r7)
/* 8005C360 00057FC0 D0 27 00 04 */ stfs f1, 4(r7)
/* 8005C364 00057FC4 D0 27 00 18 */ stfs f1, 0x18(r7)
/* 8005C368 00057FC8 D0 27 00 00 */ stfs f1, 0(r7)
/* 8005C36C 00057FCC D0 07 00 1C */ stfs f0, 0x1c(r7)
/* 8005C370 00057FD0 D0 07 00 14 */ stfs f0, 0x14(r7)
/* 8005C374 00057FD4 D0 07 00 10 */ stfs f0, 0x10(r7)
/* 8005C378 00057FD8 D0 07 00 08 */ stfs f0, 8(r7)
/* 8005C37C 00057FDC 48 00 01 DC */ b lbl_8005C558
lbl_8005C380:
/* 8005C380 00057FE0 80 63 00 A8 */ lwz r3, 0xa8(r3)
/* 8005C384 00057FE4 48 33 A6 A9 */ bl func_80396A2C
/* 8005C388 00057FE8 3F 80 80 64 */ lis r28, lbl_8063CE34@ha
/* 8005C38C 00057FEC 54 64 04 3E */ clrlwi r4, r3, 0x10
/* 8005C390 00057FF0 3B 9C CE 34 */ addi r28, r28, lbl_8063CE34@l
/* 8005C394 00057FF4 38 7C 00 64 */ addi r3, r28, 0x64
/* 8005C398 00057FF8 48 33 C2 7D */ bl func_80398614
/* 8005C39C 00057FFC 7C 7D 1B 78 */ mr r29, r3
/* 8005C3A0 00058000 80 7E 00 A8 */ lwz r3, 0xa8(r30)
/* 8005C3A4 00058004 7F 04 C3 78 */ mr r4, r24
/* 8005C3A8 00058008 48 33 A6 85 */ bl func_80396A2C
/* 8005C3AC 0005800C 54 64 04 3E */ clrlwi r4, r3, 0x10
/* 8005C3B0 00058010 38 7C 00 64 */ addi r3, r28, 0x64
/* 8005C3B4 00058014 48 33 C2 C9 */ bl func_8039867C
/* 8005C3B8 00058018 7C 03 E8 40 */ cmplw r3, r29
/* 8005C3BC 0005801C 57 26 82 1E */ rlwinm r6, r25, 0x10, 8, 0xf
/* 8005C3C0 00058020 53 06 04 3E */ rlwimi r6, r24, 0, 0x10, 0x1f
/* 8005C3C4 00058024 40 82 00 08 */ bne lbl_8005C3CC
/* 8005C3C8 00058028 7F 06 C3 78 */ mr r6, r24
lbl_8005C3CC:
/* 8005C3CC 0005802C 2C 18 01 9E */ cmpwi r24, 0x19e
/* 8005C3D0 00058030 40 80 00 28 */ bge lbl_8005C3F8
/* 8005C3D4 00058034 2C 18 01 82 */ cmpwi r24, 0x182
/* 8005C3D8 00058038 41 82 00 44 */ beq lbl_8005C41C
/* 8005C3DC 0005803C 40 80 00 10 */ bge lbl_8005C3EC
/* 8005C3E0 00058040 2C 18 00 C9 */ cmpwi r24, 0xc9
/* 8005C3E4 00058044 41 82 00 38 */ beq lbl_8005C41C
/* 8005C3E8 00058048 48 00 00 3C */ b lbl_8005C424
lbl_8005C3EC:
/* 8005C3EC 0005804C 2C 18 01 9C */ cmpwi r24, 0x19c
/* 8005C3F0 00058050 40 80 00 2C */ bge lbl_8005C41C
/* 8005C3F4 00058054 48 00 00 30 */ b lbl_8005C424
lbl_8005C3F8:
/* 8005C3F8 00058058 2C 18 01 ED */ cmpwi r24, 0x1ed
/* 8005C3FC 0005805C 40 80 00 18 */ bge lbl_8005C414
/* 8005C400 00058060 2C 18 01 A8 */ cmpwi r24, 0x1a8
/* 8005C404 00058064 40 80 00 20 */ bge lbl_8005C424
/* 8005C408 00058068 2C 18 01 A5 */ cmpwi r24, 0x1a5
/* 8005C40C 0005806C 40 80 00 10 */ bge lbl_8005C41C
/* 8005C410 00058070 48 00 00 14 */ b lbl_8005C424
lbl_8005C414:
/* 8005C414 00058074 2C 18 01 EF */ cmpwi r24, 0x1ef
/* 8005C418 00058078 40 80 00 0C */ bge lbl_8005C424
lbl_8005C41C:
/* 8005C41C 0005807C 57 60 90 1A */ slwi r0, r27, 0x12
/* 8005C420 00058080 7C C6 03 78 */ or r6, r6, r0
lbl_8005C424:
/* 8005C424 00058084 80 1E 00 B0 */ lwz r0, 0xb0(r30)
/* 8005C428 00058088 38 A0 00 00 */ li r5, 0
/* 8005C42C 0005808C 38 60 00 00 */ li r3, 0
/* 8005C430 00058090 7C 09 03 A6 */ mtctr r0
/* 8005C434 00058094 28 00 00 00 */ cmplwi r0, 0
/* 8005C438 00058098 40 81 00 F4 */ ble lbl_8005C52C
lbl_8005C43C:
/* 8005C43C 0005809C 80 9E 00 AC */ lwz r4, 0xac(r30)
/* 8005C440 000580A0 7C 04 18 2E */ lwzx r0, r4, r3
/* 8005C444 000580A4 7C 06 00 40 */ cmplw r6, r0
/* 8005C448 000580A8 40 82 00 D8 */ bne lbl_8005C520
/* 8005C44C 000580AC 1F 85 00 28 */ mulli r28, r5, 0x28
/* 8005C450 000580B0 7C 64 E2 14 */ add r3, r4, r28
/* 8005C454 000580B4 88 03 00 0D */ lbz r0, 0xd(r3)
/* 8005C458 000580B8 28 00 00 03 */ cmplwi r0, 3
/* 8005C45C 000580BC 40 82 00 84 */ bne lbl_8005C4E0
/* 8005C460 000580C0 C3 A2 85 E0 */ lfs f29, lbl_80640BE0-_SDA2_BASE_(r2)
/* 8005C464 000580C4 C3 82 85 E4 */ lfs f28, lbl_80640BE4-_SDA2_BASE_(r2)
/* 8005C468 000580C8 FF E0 E8 90 */ fmr f31, f29
/* 8005C46C 000580CC 80 63 00 08 */ lwz r3, 8(r3)
/* 8005C470 000580D0 FF C0 E0 90 */ fmr f30, f28
/* 8005C474 000580D4 48 1E 20 D5 */ bl func_8023E548
/* 8005C478 000580D8 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 8005C47C 000580DC 28 00 00 36 */ cmplwi r0, 0x36
/* 8005C480 000580E0 40 81 00 20 */ ble lbl_8005C4A0
/* 8005C484 000580E4 2C 1A 00 00 */ cmpwi r26, 0
/* 8005C488 000580E8 41 82 00 10 */ beq lbl_8005C498
/* 8005C48C 000580EC C3 A2 85 E8 */ lfs f29, lbl_80640BE8-_SDA2_BASE_(r2)
/* 8005C490 000580F0 C3 82 85 E4 */ lfs f28, lbl_80640BE4-_SDA2_BASE_(r2)
/* 8005C494 000580F4 48 00 00 0C */ b lbl_8005C4A0
lbl_8005C498:
/* 8005C498 000580F8 C3 A2 85 E0 */ lfs f29, lbl_80640BE0-_SDA2_BASE_(r2)
/* 8005C49C 000580FC C3 82 85 E8 */ lfs f28, lbl_80640BE8-_SDA2_BASE_(r2)
lbl_8005C4A0:
/* 8005C4A0 00058100 D3 FF 00 18 */ stfs f31, 0x18(r31)
/* 8005C4A4 00058104 38 80 00 02 */ li r4, 2
/* 8005C4A8 00058108 D3 FF 00 00 */ stfs f31, 0(r31)
/* 8005C4AC 0005810C D3 DF 00 10 */ stfs f30, 0x10(r31)
/* 8005C4B0 00058110 D3 DF 00 08 */ stfs f30, 8(r31)
/* 8005C4B4 00058114 D3 BF 00 0C */ stfs f29, 0xc(r31)
/* 8005C4B8 00058118 D3 BF 00 04 */ stfs f29, 4(r31)
/* 8005C4BC 0005811C D3 9F 00 1C */ stfs f28, 0x1c(r31)
/* 8005C4C0 00058120 D3 9F 00 14 */ stfs f28, 0x14(r31)
/* 8005C4C4 00058124 80 1E 00 AC */ lwz r0, 0xac(r30)
/* 8005C4C8 00058128 7C 60 E2 14 */ add r3, r0, r28
/* 8005C4CC 0005812C 98 83 00 0E */ stb r4, 0xe(r3)
/* 8005C4D0 00058130 80 1E 00 AC */ lwz r0, 0xac(r30)
/* 8005C4D4 00058134 7C 60 E2 14 */ add r3, r0, r28
/* 8005C4D8 00058138 80 63 00 08 */ lwz r3, 8(r3)
/* 8005C4DC 0005813C 48 00 00 7C */ b lbl_8005C558
lbl_8005C4E0:
/* 8005C4E0 00058140 C0 22 85 E0 */ lfs f1, lbl_80640BE0-_SDA2_BASE_(r2)
/* 8005C4E4 00058144 38 A0 00 02 */ li r5, 2
/* 8005C4E8 00058148 C0 02 85 E4 */ lfs f0, lbl_80640BE4-_SDA2_BASE_(r2)
/* 8005C4EC 0005814C 38 60 00 00 */ li r3, 0
/* 8005C4F0 00058150 D0 3F 00 0C */ stfs f1, 0xc(r31)
/* 8005C4F4 00058154 D0 3F 00 04 */ stfs f1, 4(r31)
/* 8005C4F8 00058158 D0 3F 00 18 */ stfs f1, 0x18(r31)
/* 8005C4FC 0005815C D0 3F 00 00 */ stfs f1, 0(r31)
/* 8005C500 00058160 D0 1F 00 1C */ stfs f0, 0x1c(r31)
/* 8005C504 00058164 D0 1F 00 14 */ stfs f0, 0x14(r31)
/* 8005C508 00058168 D0 1F 00 10 */ stfs f0, 0x10(r31)
/* 8005C50C 0005816C D0 1F 00 08 */ stfs f0, 8(r31)
/* 8005C510 00058170 80 1E 00 AC */ lwz r0, 0xac(r30)
/* 8005C514 00058174 7C 80 E2 14 */ add r4, r0, r28
/* 8005C518 00058178 98 A4 00 0E */ stb r5, 0xe(r4)
/* 8005C51C 0005817C 48 00 00 3C */ b lbl_8005C558
lbl_8005C520:
/* 8005C520 00058180 38 63 00 28 */ addi r3, r3, 0x28
/* 8005C524 00058184 38 A5 00 01 */ addi r5, r5, 1
/* 8005C528 00058188 42 00 FF 14 */ bdnz lbl_8005C43C
lbl_8005C52C:
/* 8005C52C 0005818C C0 22 85 E0 */ lfs f1, lbl_80640BE0-_SDA2_BASE_(r2)
/* 8005C530 00058190 38 60 00 00 */ li r3, 0
/* 8005C534 00058194 C0 02 85 E4 */ lfs f0, lbl_80640BE4-_SDA2_BASE_(r2)
/* 8005C538 00058198 D0 3F 00 0C */ stfs f1, 0xc(r31)
/* 8005C53C 0005819C D0 3F 00 04 */ stfs f1, 4(r31)
/* 8005C540 000581A0 D0 3F 00 18 */ stfs f1, 0x18(r31)
/* 8005C544 000581A4 D0 3F 00 00 */ stfs f1, 0(r31)
/* 8005C548 000581A8 D0 1F 00 1C */ stfs f0, 0x1c(r31)
/* 8005C54C 000581AC D0 1F 00 14 */ stfs f0, 0x14(r31)
/* 8005C550 000581B0 D0 1F 00 10 */ stfs f0, 0x10(r31)
/* 8005C554 000581B4 D0 1F 00 08 */ stfs f0, 8(r31)
lbl_8005C558:
/* 8005C558 000581B8 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0
/* 8005C55C 000581BC CB E1 00 60 */ lfd f31, 0x60(r1)
/* 8005C560 000581C0 E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0
/* 8005C564 000581C4 CB C1 00 50 */ lfd f30, 0x50(r1)
/* 8005C568 000581C8 E3 A1 00 48 */ psq_l f29, 72(r1), 0, qr0
/* 8005C56C 000581CC CB A1 00 40 */ lfd f29, 0x40(r1)
/* 8005C570 000581D0 E3 81 00 38 */ psq_l f28, 56(r1), 0, qr0
/* 8005C574 000581D4 39 61 00 30 */ addi r11, r1, 0x30
/* 8005C578 000581D8 CB 81 00 30 */ lfd f28, 0x30(r1)
/* 8005C57C 000581DC 48 16 AB ED */ bl _restgpr_24
/* 8005C580 000581E0 80 01 00 74 */ lwz r0, 0x74(r1)
/* 8005C584 000581E4 7C 08 03 A6 */ mtlr r0
/* 8005C588 000581E8 38 21 00 70 */ addi r1, r1, 0x70
/* 8005C58C 000581EC 4E 80 00 20 */ blr
lbl_8005C590:
/* 8005C590 000581F0 7C 66 1B 78 */ mr r6, r3
/* 8005C594 000581F4 38 E0 00 00 */ li r7, 0
/* 8005C598 000581F8 38 A0 00 01 */ li r5, 1
/* 8005C59C 000581FC 48 00 00 20 */ b lbl_8005C5BC
lbl_8005C5A0:
/* 8005C5A0 00058200 A0 06 00 FC */ lhz r0, 0xfc(r6)
/* 8005C5A4 00058204 38 C6 00 02 */ addi r6, r6, 2
/* 8005C5A8 00058208 80 83 00 AC */ lwz r4, 0xac(r3)
/* 8005C5AC 0005820C 38 E7 00 01 */ addi r7, r7, 1
/* 8005C5B0 00058210 1C 00 00 28 */ mulli r0, r0, 0x28
/* 8005C5B4 00058214 7C 84 02 14 */ add r4, r4, r0
/* 8005C5B8 00058218 98 A4 00 0C */ stb r5, 0xc(r4)
lbl_8005C5BC:
/* 8005C5BC 0005821C A0 03 01 1E */ lhz r0, 0x11e(r3)
/* 8005C5C0 00058220 7C 07 00 40 */ cmplw r7, r0
/* 8005C5C4 00058224 41 80 FF DC */ blt lbl_8005C5A0
/* 8005C5C8 00058228 4E 80 00 20 */ blr
lbl_8005C5CC:
/* 8005C5CC 0005822C 3C 60 80 48 */ lis r3, lbl_80478178@ha
/* 8005C5D0 00058230 54 A4 04 3E */ clrlwi r4, r5, 0x10
/* 8005C5D4 00058234 38 63 81 78 */ addi r3, r3, lbl_80478178@l
/* 8005C5D8 00058238 4B FF FF B8 */ b lbl_8005C590
.global func_8005C5DC
func_8005C5DC:
/* 8005C5DC 0005823C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8005C5E0 00058240 7C 08 02 A6 */ mflr r0
/* 8005C5E4 00058244 90 01 00 34 */ stw r0, 0x34(r1)
/* 8005C5E8 00058248 39 61 00 30 */ addi r11, r1, 0x30
/* 8005C5EC 0005824C 48 16 AB 29 */ bl _savegpr_22
/* 8005C5F0 00058250 88 0D 99 07 */ lbz r0, lbl_8063EBC7-_SDA_BASE_(r13)
/* 8005C5F4 00058254 7C 77 1B 78 */ mr r23, r3
/* 8005C5F8 00058258 3B 40 00 00 */ li r26, 0
/* 8005C5FC 0005825C 2C 00 00 00 */ cmpwi r0, 0
/* 8005C600 00058260 41 82 03 90 */ beq lbl_8005C990
/* 8005C604 00058264 3C 60 80 64 */ lis r3, lbl_8063CE34@ha
/* 8005C608 00058268 3B 20 00 00 */ li r25, 0
/* 8005C60C 0005826C 3B 60 00 00 */ li r27, 0
/* 8005C610 00058270 3B 80 00 00 */ li r28, 0
/* 8005C614 00058274 3B A3 CE 34 */ addi r29, r3, lbl_8063CE34@l
/* 8005C618 00058278 3B E0 00 03 */ li r31, 3
/* 8005C61C 0005827C 3B C0 00 02 */ li r30, 2
/* 8005C620 00058280 48 00 03 08 */ b lbl_8005C928
lbl_8005C624:
/* 8005C624 00058284 80 17 00 AC */ lwz r0, 0xac(r23)
/* 8005C628 00058288 7C 80 DA 14 */ add r4, r0, r27
/* 8005C62C 0005828C 7C 1B 00 2E */ lwzx r0, r27, r0
/* 8005C630 00058290 2C 00 00 00 */ cmpwi r0, 0
/* 8005C634 00058294 41 82 02 EC */ beq lbl_8005C920
/* 8005C638 00058298 88 64 00 0E */ lbz r3, 0xe(r4)
/* 8005C63C 0005829C 2C 03 00 00 */ cmpwi r3, 0
/* 8005C640 000582A0 41 82 00 0C */ beq lbl_8005C64C
/* 8005C644 000582A4 38 03 FF FF */ addi r0, r3, -1
/* 8005C648 000582A8 98 04 00 0E */ stb r0, 0xe(r4)
lbl_8005C64C:
/* 8005C64C 000582AC 80 17 00 AC */ lwz r0, 0xac(r23)
/* 8005C650 000582B0 7C 60 DA 14 */ add r3, r0, r27
/* 8005C654 000582B4 88 03 00 0D */ lbz r0, 0xd(r3)
/* 8005C658 000582B8 2C 00 00 02 */ cmpwi r0, 2
/* 8005C65C 000582BC 41 82 01 88 */ beq lbl_8005C7E4
/* 8005C660 000582C0 40 80 02 C0 */ bge lbl_8005C920
/* 8005C664 000582C4 2C 00 00 01 */ cmpwi r0, 1
/* 8005C668 000582C8 40 80 00 0C */ bge lbl_8005C674
/* 8005C66C 000582CC 48 00 02 B4 */ b lbl_8005C920
/* 8005C670 000582D0 48 00 02 B0 */ b lbl_8005C920
lbl_8005C674:
/* 8005C674 000582D4 88 17 01 20 */ lbz r0, 0x120(r23)
/* 8005C678 000582D8 A2 C3 00 04 */ lhz r22, 4(r3)
/* 8005C67C 000582DC 2C 00 00 00 */ cmpwi r0, 0
/* 8005C680 000582E0 A3 03 00 10 */ lhz r24, 0x10(r3)
/* 8005C684 000582E4 40 82 02 9C */ bne lbl_8005C920
/* 8005C688 000582E8 A0 17 01 1E */ lhz r0, 0x11e(r23)
/* 8005C68C 000582EC 28 00 00 10 */ cmplwi r0, 0x10
/* 8005C690 000582F0 40 80 02 90 */ bge lbl_8005C920
/* 8005C694 000582F4 80 77 00 A8 */ lwz r3, 0xa8(r23)
/* 8005C698 000582F8 7E C4 B3 78 */ mr r4, r22
/* 8005C69C 000582FC 48 33 A3 91 */ bl func_80396A2C
/* 8005C6A0 00058300 80 17 00 AC */ lwz r0, 0xac(r23)
/* 8005C6A4 00058304 7C 64 1B 78 */ mr r4, r3
/* 8005C6A8 00058308 2C 16 01 9E */ cmpwi r22, 0x19e
/* 8005C6AC 0005830C 7C 60 DA 14 */ add r3, r0, r27
/* 8005C6B0 00058310 9B 83 00 0C */ stb r28, 0xc(r3)
/* 8005C6B4 00058314 40 80 00 28 */ bge lbl_8005C6DC
/* 8005C6B8 00058318 2C 16 01 82 */ cmpwi r22, 0x182
/* 8005C6BC 0005831C 41 82 00 44 */ beq lbl_8005C700
/* 8005C6C0 00058320 40 80 00 10 */ bge lbl_8005C6D0
/* 8005C6C4 00058324 2C 16 00 C9 */ cmpwi r22, 0xc9
/* 8005C6C8 00058328 41 82 00 38 */ beq lbl_8005C700
/* 8005C6CC 0005832C 48 00 00 88 */ b lbl_8005C754
lbl_8005C6D0:
/* 8005C6D0 00058330 2C 16 01 9C */ cmpwi r22, 0x19c
/* 8005C6D4 00058334 40 80 00 2C */ bge lbl_8005C700
/* 8005C6D8 00058338 48 00 00 7C */ b lbl_8005C754
lbl_8005C6DC:
/* 8005C6DC 0005833C 2C 16 01 ED */ cmpwi r22, 0x1ed
/* 8005C6E0 00058340 40 80 00 18 */ bge lbl_8005C6F8
/* 8005C6E4 00058344 2C 16 01 A8 */ cmpwi r22, 0x1a8
/* 8005C6E8 00058348 40 80 00 6C */ bge lbl_8005C754
/* 8005C6EC 0005834C 2C 16 01 A5 */ cmpwi r22, 0x1a5
/* 8005C6F0 00058350 40 80 00 10 */ bge lbl_8005C700
/* 8005C6F4 00058354 48 00 00 60 */ b lbl_8005C754
lbl_8005C6F8:
/* 8005C6F8 00058358 2C 16 01 EF */ cmpwi r22, 0x1ef
/* 8005C6FC 0005835C 40 80 00 58 */ bge lbl_8005C754
lbl_8005C700:
/* 8005C700 00058360 80 17 00 AC */ lwz r0, 0xac(r23)
/* 8005C704 00058364 7C 60 DA 14 */ add r3, r0, r27
/* 8005C708 00058368 88 03 00 06 */ lbz r0, 6(r3)
/* 8005C70C 0005836C 28 00 00 01 */ cmplwi r0, 1
/* 8005C710 00058370 40 82 00 24 */ bne lbl_8005C734
/* 8005C714 00058374 54 80 04 3E */ clrlwi r0, r4, 0x10
/* 8005C718 00058378 38 7D 00 64 */ addi r3, r29, 0x64
/* 8005C71C 0005837C 7C 80 C2 14 */ add r4, r0, r24
/* 8005C720 00058380 48 33 BF 5D */ bl func_8039867C
/* 8005C724 00058384 80 17 00 AC */ lwz r0, 0xac(r23)
/* 8005C728 00058388 7C 80 DA 14 */ add r4, r0, r27
/* 8005C72C 0005838C 90 64 00 14 */ stw r3, 0x14(r4)
/* 8005C730 00058390 48 00 00 6C */ b lbl_8005C79C
lbl_8005C734:
/* 8005C734 00058394 54 80 04 3E */ clrlwi r0, r4, 0x10
/* 8005C738 00058398 38 7D 00 64 */ addi r3, r29, 0x64
/* 8005C73C 0005839C 7C 80 C2 14 */ add r4, r0, r24
/* 8005C740 000583A0 48 33 BE D5 */ bl func_80398614
/* 8005C744 000583A4 80 17 00 AC */ lwz r0, 0xac(r23)
/* 8005C748 000583A8 7C 80 DA 14 */ add r4, r0, r27
/* 8005C74C 000583AC 90 64 00 14 */ stw r3, 0x14(r4)
/* 8005C750 000583B0 48 00 00 4C */ b lbl_8005C79C
lbl_8005C754:
/* 8005C754 000583B4 80 17 00 AC */ lwz r0, 0xac(r23)
/* 8005C758 000583B8 7C 60 DA 14 */ add r3, r0, r27
/* 8005C75C 000583BC 88 03 00 06 */ lbz r0, 6(r3)
/* 8005C760 000583C0 28 00 00 01 */ cmplwi r0, 1
/* 8005C764 000583C4 40 82 00 20 */ bne lbl_8005C784
/* 8005C768 000583C8 38 7D 00 64 */ addi r3, r29, 0x64
/* 8005C76C 000583CC 54 84 04 3E */ clrlwi r4, r4, 0x10
/* 8005C770 000583D0 48 33 BF 0D */ bl func_8039867C
/* 8005C774 000583D4 80 17 00 AC */ lwz r0, 0xac(r23)
/* 8005C778 000583D8 7C 80 DA 14 */ add r4, r0, r27
/* 8005C77C 000583DC 90 64 00 14 */ stw r3, 0x14(r4)
/* 8005C780 000583E0 48 00 00 1C */ b lbl_8005C79C
lbl_8005C784:
/* 8005C784 000583E4 38 7D 00 64 */ addi r3, r29, 0x64
/* 8005C788 000583E8 54 84 04 3E */ clrlwi r4, r4, 0x10
/* 8005C78C 000583EC 48 33 BE 89 */ bl func_80398614
/* 8005C790 000583F0 80 17 00 AC */ lwz r0, 0xac(r23)
/* 8005C794 000583F4 7C 80 DA 14 */ add r4, r0, r27
/* 8005C798 000583F8 90 64 00 14 */ stw r3, 0x14(r4)
lbl_8005C79C:
/* 8005C79C 000583FC 80 77 00 AC */ lwz r3, 0xac(r23)
/* 8005C7A0 00058400 A0 17 01 1E */ lhz r0, 0x11e(r23)
/* 8005C7A4 00058404 7C 63 DA 14 */ add r3, r3, r27
/* 8005C7A8 00058408 54 00 10 3A */ slwi r0, r0, 2
/* 8005C7AC 0005840C 80 83 00 14 */ lwz r4, 0x14(r3)
/* 8005C7B0 00058410 7C 77 02 14 */ add r3, r23, r0
/* 8005C7B4 00058414 90 83 00 B8 */ stw r4, 0xb8(r3)
/* 8005C7B8 00058418 A0 17 01 1E */ lhz r0, 0x11e(r23)
/* 8005C7BC 0005841C 54 00 08 3C */ slwi r0, r0, 1
/* 8005C7C0 00058420 7C 77 02 14 */ add r3, r23, r0
/* 8005C7C4 00058424 B3 23 00 FC */ sth r25, 0xfc(r3)
/* 8005C7C8 00058428 A0 77 01 1E */ lhz r3, 0x11e(r23)
/* 8005C7CC 0005842C 80 17 00 AC */ lwz r0, 0xac(r23)
/* 8005C7D0 00058430 38 63 00 01 */ addi r3, r3, 1
/* 8005C7D4 00058434 B0 77 01 1E */ sth r3, 0x11e(r23)
/* 8005C7D8 00058438 7C 60 DA 14 */ add r3, r0, r27
/* 8005C7DC 0005843C 9B C3 00 0D */ stb r30, 0xd(r3)
/* 8005C7E0 00058440 48 00 01 40 */ b lbl_8005C920
lbl_8005C7E4:
/* 8005C7E4 00058444 88 03 00 0C */ lbz r0, 0xc(r3)
/* 8005C7E8 00058448 2C 00 00 00 */ cmpwi r0, 0
/* 8005C7EC 0005844C 41 82 01 34 */ beq lbl_8005C920
/* 8005C7F0 00058450 80 83 00 14 */ lwz r4, 0x14(r3)
/* 8005C7F4 00058454 38 60 03 EE */ li r3, 0x3ee
/* 8005C7F8 00058458 48 17 EC C5 */ bl func_801DB4BC
/* 8005C7FC 0005845C 88 03 00 07 */ lbz r0, 7(r3)
/* 8005C800 00058460 54 00 06 3C */ rlwinm r0, r0, 0, 0x18, 0x1e
/* 8005C804 00058464 98 03 00 07 */ stb r0, 7(r3)
/* 8005C808 00058468 80 83 00 28 */ lwz r4, 0x28(r3)
/* 8005C80C 0005846C 54 80 00 01 */ rlwinm. r0, r4, 0, 0, 0
/* 8005C810 00058470 41 82 00 0C */ beq lbl_8005C81C
/* 8005C814 00058474 7C 03 20 50 */ subf r0, r3, r4
/* 8005C818 00058478 90 03 00 28 */ stw r0, 0x28(r3)
lbl_8005C81C:
/* 8005C81C 0005847C 80 03 00 08 */ lwz r0, 8(r3)
/* 8005C820 00058480 2C 00 00 01 */ cmpwi r0, 1
/* 8005C824 00058484 41 81 00 18 */ bgt lbl_8005C83C
/* 8005C828 00058488 80 83 00 48 */ lwz r4, 0x48(r3)
/* 8005C82C 0005848C 54 80 00 01 */ rlwinm. r0, r4, 0, 0, 0
/* 8005C830 00058490 41 82 00 0C */ beq lbl_8005C83C
/* 8005C834 00058494 7C 03 20 50 */ subf r0, r3, r4
/* 8005C838 00058498 90 03 00 48 */ stw r0, 0x48(r3)
lbl_8005C83C:
/* 8005C83C 0005849C 80 17 00 AC */ lwz r0, 0xac(r23)
/* 8005C840 000584A0 7C 64 1B 78 */ mr r4, r3
/* 8005C844 000584A4 38 A0 31 C0 */ li r5, 0x31c0
/* 8005C848 000584A8 7C 60 DA 14 */ add r3, r0, r27
/* 8005C84C 000584AC 80 63 00 08 */ lwz r3, 8(r3)
/* 8005C850 000584B0 4B FA 77 B1 */ bl memcpy
/* 8005C854 000584B4 80 17 00 AC */ lwz r0, 0xac(r23)
/* 8005C858 000584B8 38 60 03 EE */ li r3, 0x3ee
/* 8005C85C 000584BC 7C 80 DA 14 */ add r4, r0, r27
/* 8005C860 000584C0 80 84 00 14 */ lwz r4, 0x14(r4)
/* 8005C864 000584C4 48 17 ED E1 */ bl func_801DB644
/* 8005C868 000584C8 80 17 00 AC */ lwz r0, 0xac(r23)
/* 8005C86C 000584CC 7C 60 DA 14 */ add r3, r0, r27
/* 8005C870 000584D0 80 63 00 08 */ lwz r3, 8(r3)
/* 8005C874 000584D4 48 1E 0E 59 */ bl func_8023D6CC
/* 8005C878 000584D8 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8005C87C 000584DC 7C 78 1B 78 */ mr r24, r3
/* 8005C880 000584E0 88 04 00 7A */ lbz r0, 0x7a(r4)
/* 8005C884 000584E4 2C 00 00 00 */ cmpwi r0, 0
/* 8005C888 000584E8 41 82 00 38 */ beq lbl_8005C8C0
/* 8005C88C 000584EC 2C 03 00 00 */ cmpwi r3, 0
/* 8005C890 000584F0 41 82 00 30 */ beq lbl_8005C8C0
/* 8005C894 000584F4 80 A3 00 1C */ lwz r5, 0x1c(r3)
/* 8005C898 000584F8 2C 05 00 02 */ cmpwi r5, 2
/* 8005C89C 000584FC 40 80 00 08 */ bge lbl_8005C8A4
/* 8005C8A0 00058500 38 A0 00 02 */ li r5, 2
lbl_8005C8A4:
/* 8005C8A4 00058504 80 98 00 18 */ lwz r4, 0x18(r24)
/* 8005C8A8 00058508 7F 03 C3 78 */ mr r3, r24
/* 8005C8AC 0005850C 2C 04 00 02 */ cmpwi r4, 2
/* 8005C8B0 00058510 40 80 00 08 */ bge lbl_8005C8B8
/* 8005C8B4 00058514 38 80 00 02 */ li r4, 2
lbl_8005C8B8:
/* 8005C8B8 00058518 80 D8 00 20 */ lwz r6, 0x20(r24)
/* 8005C8BC 0005851C 48 1E 1B 0D */ bl func_8023E3C8
lbl_8005C8C0:
/* 8005C8C0 00058520 7F 03 C3 78 */ mr r3, r24
/* 8005C8C4 00058524 38 80 31 C0 */ li r4, 0x31c0
/* 8005C8C8 00058528 48 20 DD 8D */ bl DCFlushRange
/* 8005C8CC 0005852C 80 6D A3 D8 */ lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8005C8D0 00058530 A0 03 16 FE */ lhz r0, 0x16fe(r3)
/* 8005C8D4 00058534 60 00 00 02 */ ori r0, r0, 2
/* 8005C8D8 00058538 B0 03 16 FE */ sth r0, 0x16fe(r3)
/* 8005C8DC 0005853C 80 17 00 AC */ lwz r0, 0xac(r23)
/* 8005C8E0 00058540 7C 60 DA 14 */ add r3, r0, r27
/* 8005C8E4 00058544 9B E3 00 0D */ stb r31, 0xd(r3)
/* 8005C8E8 00058548 A0 77 01 1E */ lhz r3, 0x11e(r23)
/* 8005C8EC 0005854C 38 63 FF FF */ addi r3, r3, -1
/* 8005C8F0 00058550 54 60 13 BA */ rlwinm r0, r3, 2, 0xe, 0x1d
/* 8005C8F4 00058554 B0 77 01 1E */ sth r3, 0x11e(r23)
/* 8005C8F8 00058558 7C 77 02 14 */ add r3, r23, r0
/* 8005C8FC 0005855C 93 83 00 B8 */ stw r28, 0xb8(r3)
/* 8005C900 00058560 A0 17 01 1E */ lhz r0, 0x11e(r23)
/* 8005C904 00058564 54 00 08 3C */ slwi r0, r0, 1
/* 8005C908 00058568 7C 77 02 14 */ add r3, r23, r0
/* 8005C90C 0005856C B3 83 00 FC */ sth r28, 0xfc(r3)
/* 8005C910 00058570 A0 17 01 1E */ lhz r0, 0x11e(r23)
/* 8005C914 00058574 2C 00 00 00 */ cmpwi r0, 0
/* 8005C918 00058578 40 82 00 08 */ bne lbl_8005C920
/* 8005C91C 0005857C 3B 40 00 01 */ li r26, 1
lbl_8005C920:
/* 8005C920 00058580 3B 7B 00 28 */ addi r27, r27, 0x28
/* 8005C924 00058584 3B 39 00 01 */ addi r25, r25, 1
lbl_8005C928:
/* 8005C928 00058588 80 17 00 B0 */ lwz r0, 0xb0(r23)
/* 8005C92C 0005858C 7C 19 00 40 */ cmplw r25, r0
/* 8005C930 00058590 41 80 FC F4 */ blt lbl_8005C624
/* 8005C934 00058594 88 17 01 20 */ lbz r0, 0x120(r23)
/* 8005C938 00058598 2C 00 00 00 */ cmpwi r0, 0
/* 8005C93C 0005859C 40 82 00 3C */ bne lbl_8005C978
/* 8005C940 000585A0 A0 17 01 1E */ lhz r0, 0x11e(r23)
/* 8005C944 000585A4 2C 00 00 00 */ cmpwi r0, 0
/* 8005C948 000585A8 41 82 00 30 */ beq lbl_8005C978
/* 8005C94C 000585AC 38 00 00 01 */ li r0, 1
/* 8005C950 000585B0 38 60 03 EE */ li r3, 0x3ee
/* 8005C954 000585B4 98 17 01 20 */ stb r0, 0x120(r23)
/* 8005C958 000585B8 48 1E D0 15 */ bl func_8024996C
/* 8005C95C 000585BC 3C A0 80 06 */ lis r5, lbl_8005C5CC@ha
/* 8005C960 000585C0 A0 F7 01 1E */ lhz r7, 0x11e(r23)
/* 8005C964 000585C4 38 97 00 B8 */ addi r4, r23, 0xb8
/* 8005C968 000585C8 38 60 03 EE */ li r3, 0x3ee
/* 8005C96C 000585CC 38 A5 C5 CC */ addi r5, r5, lbl_8005C5CC@l
/* 8005C970 000585D0 38 C0 00 00 */ li r6, 0
/* 8005C974 000585D4 48 1E CE 49 */ bl func_802497BC
lbl_8005C978:
/* 8005C978 000585D8 2C 1A 00 00 */ cmpwi r26, 0
/* 8005C97C 000585DC 41 82 00 14 */ beq lbl_8005C990
/* 8005C980 000585E0 38 60 03 EE */ li r3, 0x3ee
/* 8005C984 000585E4 48 1E CF E9 */ bl func_8024996C
/* 8005C988 000585E8 38 00 00 00 */ li r0, 0
/* 8005C98C 000585EC 98 17 01 20 */ stb r0, 0x120(r23)
lbl_8005C990:
/* 8005C990 000585F0 39 61 00 30 */ addi r11, r1, 0x30
/* 8005C994 000585F4 48 16 A7 CD */ bl _restgpr_22
/* 8005C998 000585F8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8005C99C 000585FC 7C 08 03 A6 */ mtlr r0
/* 8005C9A0 00058600 38 21 00 30 */ addi r1, r1, 0x30
/* 8005C9A4 00058604 4E 80 00 20 */ blr
.global func_8005C9A8
func_8005C9A8:
/* 8005C9A8 00058608 3C A0 80 48 */ lis r5, lbl_80478178@ha
/* 8005C9AC 0005860C 7C 64 1B 78 */ mr r4, r3
/* 8005C9B0 00058610 38 65 81 78 */ addi r3, r5, lbl_80478178@l
/* 8005C9B4 00058614 4B FF EA F0 */ b lbl_8005B4A4
.global func_8005C9B8
func_8005C9B8:
/* 8005C9B8 00058618 3C A0 80 48 */ lis r5, lbl_80478178@ha
/* 8005C9BC 0005861C 7C 64 1B 78 */ mr r4, r3
/* 8005C9C0 00058620 38 65 81 78 */ addi r3, r5, lbl_80478178@l
/* 8005C9C4 00058624 4B FF EB F8 */ b lbl_8005B5BC
.global lbl_8005C9C8
lbl_8005C9C8:
/* 8005C9C8 00058628 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8005C9CC 0005862C 7C 08 02 A6 */ mflr r0
/* 8005C9D0 00058630 90 01 00 14 */ stw r0, 0x14(r1)
/* 8005C9D4 00058634 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8005C9D8 00058638 3F E0 80 48 */ lis r31, lbl_80478178@ha
/* 8005C9DC 0005863C 38 7F 81 78 */ addi r3, r31, lbl_80478178@l
/* 8005C9E0 00058640 4B FF F2 C1 */ bl func_8005BCA0
/* 8005C9E4 00058644 38 7F 81 78 */ addi r3, r31, -32392
/* 8005C9E8 00058648 4B FF FB F5 */ bl func_8005C5DC
/* 8005C9EC 0005864C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8005C9F0 00058650 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8005C9F4 00058654 7C 08 03 A6 */ mtlr r0
/* 8005C9F8 00058658 38 21 00 10 */ addi r1, r1, 0x10
/* 8005C9FC 0005865C 4E 80 00 20 */ blr
.global func_8005CA00
func_8005CA00:
/* 8005CA00 00058660 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8005CA04 00058664 7C 08 02 A6 */ mflr r0
/* 8005CA08 00058668 90 01 00 24 */ stw r0, 0x24(r1)
/* 8005CA0C 0005866C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8005CA10 00058670 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8005CA14 00058674 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8005CA18 00058678 93 81 00 10 */ stw r28, 0x10(r1)
/* 8005CA1C 0005867C 7C 7C 1B 78 */ mr r28, r3
/* 8005CA20 00058680 4B FF A1 B5 */ bl func_80056BD4
/* 8005CA24 00058684 2C 03 00 00 */ cmpwi r3, 0
/* 8005CA28 00058688 40 82 00 20 */ bne lbl_8005CA48
/* 8005CA2C 0005868C 3C 60 80 48 */ lis r3, lbl_80478178@ha
/* 8005CA30 00058690 38 80 00 00 */ li r4, 0
/* 8005CA34 00058694 38 63 81 78 */ addi r3, r3, lbl_80478178@l
/* 8005CA38 00058698 38 A0 00 00 */ li r5, 0
/* 8005CA3C 0005869C 38 C0 00 00 */ li r6, 0
/* 8005CA40 000586A0 4B FF EC 95 */ bl func_8005B6D4
/* 8005CA44 000586A4 48 00 00 C0 */ b lbl_8005CB04
lbl_8005CA48:
/* 8005CA48 000586A8 7F 83 E3 78 */ mr r3, r28
/* 8005CA4C 000586AC 38 80 00 05 */ li r4, 5
/* 8005CA50 000586B0 38 A0 00 00 */ li r5, 0
/* 8005CA54 000586B4 48 37 E4 A9 */ bl func_803DAEFC
/* 8005CA58 000586B8 54 7F 04 3E */ clrlwi r31, r3, 0x10
/* 8005CA5C 000586BC 7F 83 E3 78 */ mr r3, r28
/* 8005CA60 000586C0 38 80 00 6F */ li r4, 0x6f
/* 8005CA64 000586C4 38 A0 00 00 */ li r5, 0
/* 8005CA68 000586C8 48 37 E4 95 */ bl func_803DAEFC
/* 8005CA6C 000586CC 54 7E 06 3E */ clrlwi r30, r3, 0x18
/* 8005CA70 000586D0 7F 83 E3 78 */ mr r3, r28
/* 8005CA74 000586D4 4B FF A3 B9 */ bl func_80056E2C
/* 8005CA78 000586D8 2C 03 00 00 */ cmpwi r3, 0
/* 8005CA7C 000586DC 41 82 00 18 */ beq lbl_8005CA94
/* 8005CA80 000586E0 28 1F 01 EA */ cmplwi r31, 0x1ea
/* 8005CA84 000586E4 3B A0 00 00 */ li r29, 0
/* 8005CA88 000586E8 40 82 00 08 */ bne lbl_8005CA90
/* 8005CA8C 000586EC 3B A0 00 01 */ li r29, 1
lbl_8005CA90:
/* 8005CA90 000586F0 3B E0 01 EE */ li r31, 0x1ee
lbl_8005CA94:
/* 8005CA94 000586F4 2C 1F 01 EE */ cmpwi r31, 0x1ee
/* 8005CA98 000586F8 41 82 00 18 */ beq lbl_8005CAB0
/* 8005CA9C 000586FC 7F 83 E3 78 */ mr r3, r28
/* 8005CAA0 00058700 38 80 00 70 */ li r4, 0x70
/* 8005CAA4 00058704 38 A0 00 00 */ li r5, 0
/* 8005CAA8 00058708 48 37 E4 55 */ bl func_803DAEFC
/* 8005CAAC 0005870C 54 7D 04 3E */ clrlwi r29, r3, 0x10
lbl_8005CAB0:
/* 8005CAB0 00058710 3C 60 80 64 */ lis r3, lbl_8063CE34@ha
/* 8005CAB4 00058714 7F E4 FB 78 */ mr r4, r31
/* 8005CAB8 00058718 38 63 CE 34 */ addi r3, r3, lbl_8063CE34@l
/* 8005CABC 0005871C 38 63 00 04 */ addi r3, r3, 4
/* 8005CAC0 00058720 48 33 3E 91 */ bl func_80390950
/* 8005CAC4 00058724 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 8005CAC8 00058728 7C 1D 00 40 */ cmplw r29, r0
/* 8005CACC 0005872C 41 80 00 20 */ blt lbl_8005CAEC
/* 8005CAD0 00058730 3C 60 80 48 */ lis r3, lbl_80478178@ha
/* 8005CAD4 00058734 38 80 00 00 */ li r4, 0
/* 8005CAD8 00058738 38 63 81 78 */ addi r3, r3, lbl_80478178@l
/* 8005CADC 0005873C 38 A0 00 00 */ li r5, 0
/* 8005CAE0 00058740 38 C0 00 00 */ li r6, 0
/* 8005CAE4 00058744 4B FF EB F1 */ bl func_8005B6D4
/* 8005CAE8 00058748 48 00 00 1C */ b lbl_8005CB04
lbl_8005CAEC:
/* 8005CAEC 0005874C 3C 60 80 48 */ lis r3, lbl_80478178@ha
/* 8005CAF0 00058750 7F E4 FB 78 */ mr r4, r31
/* 8005CAF4 00058754 7F C5 F3 78 */ mr r5, r30
/* 8005CAF8 00058758 7F A6 EB 78 */ mr r6, r29
/* 8005CAFC 0005875C 38 63 81 78 */ addi r3, r3, lbl_80478178@l
/* 8005CB00 00058760 4B FF EB D5 */ bl func_8005B6D4
lbl_8005CB04:
/* 8005CB04 00058764 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8005CB08 00058768 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8005CB0C 0005876C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8005CB10 00058770 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8005CB14 00058774 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8005CB18 00058778 7C 08 03 A6 */ mtlr r0
/* 8005CB1C 0005877C 38 21 00 20 */ addi r1, r1, 0x20
/* 8005CB20 00058780 4E 80 00 20 */ blr
.global func_8005CB24
func_8005CB24:
/* 8005CB24 00058784 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8005CB28 00058788 7C 08 02 A6 */ mflr r0
/* 8005CB2C 0005878C 90 01 00 34 */ stw r0, 0x34(r1)
/* 8005CB30 00058790 39 61 00 30 */ addi r11, r1, 0x30
/* 8005CB34 00058794 48 16 A5 E9 */ bl _savegpr_24
/* 8005CB38 00058798 7C 78 1B 78 */ mr r24, r3
/* 8005CB3C 0005879C 7C 99 23 78 */ mr r25, r4
/* 8005CB40 000587A0 7C BA 2B 78 */ mr r26, r5
/* 8005CB44 000587A4 4B FF A0 91 */ bl func_80056BD4
/* 8005CB48 000587A8 2C 03 00 00 */ cmpwi r3, 0
/* 8005CB4C 000587AC 40 82 00 40 */ bne lbl_8005CB8C
/* 8005CB50 000587B0 3F E0 80 48 */ lis r31, lbl_80478178@ha
/* 8005CB54 000587B4 38 80 00 00 */ li r4, 0
/* 8005CB58 000587B8 38 7F 81 78 */ addi r3, r31, lbl_80478178@l
/* 8005CB5C 000587BC 38 A0 00 00 */ li r5, 0
/* 8005CB60 000587C0 38 C0 00 00 */ li r6, 0
/* 8005CB64 000587C4 4B FF EB 71 */ bl func_8005B6D4
/* 8005CB68 000587C8 7F 48 D3 78 */ mr r8, r26
/* 8005CB6C 000587CC 38 7F 81 78 */ addi r3, r31, -32392
/* 8005CB70 000587D0 38 80 00 00 */ li r4, 0
/* 8005CB74 000587D4 38 A0 00 00 */ li r5, 0
/* 8005CB78 000587D8 38 C0 00 00 */ li r6, 0
/* 8005CB7C 000587DC 38 E0 00 00 */ li r7, 0
/* 8005CB80 000587E0 39 20 00 00 */ li r9, 0
/* 8005CB84 000587E4 4B FF ED D9 */ bl func_8005B95C
/* 8005CB88 000587E8 48 00 01 34 */ b lbl_8005CCBC
lbl_8005CB8C:
/* 8005CB8C 000587EC 7F 03 C3 78 */ mr r3, r24
/* 8005CB90 000587F0 38 80 00 05 */ li r4, 5
/* 8005CB94 000587F4 38 A0 00 00 */ li r5, 0
/* 8005CB98 000587F8 48 37 E3 65 */ bl func_803DAEFC
/* 8005CB9C 000587FC 54 7E 04 3E */ clrlwi r30, r3, 0x10
/* 8005CBA0 00058800 7F 03 C3 78 */ mr r3, r24
/* 8005CBA4 00058804 38 80 00 6F */ li r4, 0x6f
/* 8005CBA8 00058808 38 A0 00 00 */ li r5, 0
/* 8005CBAC 0005880C 48 37 E3 51 */ bl func_803DAEFC
/* 8005CBB0 00058810 54 7D 06 3E */ clrlwi r29, r3, 0x18
/* 8005CBB4 00058814 7F 03 C3 78 */ mr r3, r24
/* 8005CBB8 00058818 3B 80 00 00 */ li r28, 0
/* 8005CBBC 0005881C 4B FF A2 71 */ bl func_80056E2C
/* 8005CBC0 00058820 2C 03 00 00 */ cmpwi r3, 0
/* 8005CBC4 00058824 41 82 00 20 */ beq lbl_8005CBE4
/* 8005CBC8 00058828 28 1E 01 EA */ cmplwi r30, 0x1ea
/* 8005CBCC 0005882C 3B 60 00 00 */ li r27, 0
/* 8005CBD0 00058830 40 82 00 08 */ bne lbl_8005CBD8
/* 8005CBD4 00058834 3B 60 00 01 */ li r27, 1
lbl_8005CBD8:
/* 8005CBD8 00058838 3B A0 00 02 */ li r29, 2
/* 8005CBDC 0005883C 3B C0 01 EE */ li r30, 0x1ee
/* 8005CBE0 00058840 48 00 00 2C */ b lbl_8005CC0C
lbl_8005CBE4:
/* 8005CBE4 00058844 3F E0 80 48 */ lis r31, lbl_804782A8@ha
/* 8005CBE8 00058848 7F 03 C3 78 */ mr r3, r24
/* 8005CBEC 0005884C 38 9F 82 A8 */ addi r4, r31, lbl_804782A8@l
/* 8005CBF0 00058850 48 37 FB 59 */ bl func_803DC748
/* 8005CBF4 00058854 38 7F 82 A8 */ addi r3, r31, -32088
/* 8005CBF8 00058858 48 37 F4 D9 */ bl func_803DC0D0
/* 8005CBFC 0005885C 54 63 06 3E */ clrlwi r3, r3, 0x18
/* 8005CC00 00058860 7C 03 00 D0 */ neg r0, r3
/* 8005CC04 00058864 7C 00 1B 78 */ or r0, r0, r3
/* 8005CC08 00058868 54 1C 0F FE */ srwi r28, r0, 0x1f
lbl_8005CC0C:
/* 8005CC0C 0005886C 2C 1E 01 EE */ cmpwi r30, 0x1ee
/* 8005CC10 00058870 41 82 00 18 */ beq lbl_8005CC28
/* 8005CC14 00058874 7F 03 C3 78 */ mr r3, r24
/* 8005CC18 00058878 38 80 00 70 */ li r4, 0x70
/* 8005CC1C 0005887C 38 A0 00 00 */ li r5, 0
/* 8005CC20 00058880 48 37 E2 DD */ bl func_803DAEFC
/* 8005CC24 00058884 54 7B 04 3E */ clrlwi r27, r3, 0x10
lbl_8005CC28:
/* 8005CC28 00058888 3C 60 80 64 */ lis r3, lbl_8063CE34@ha
/* 8005CC2C 0005888C 7F C4 F3 78 */ mr r4, r30
/* 8005CC30 00058890 38 63 CE 34 */ addi r3, r3, lbl_8063CE34@l
/* 8005CC34 00058894 38 63 00 04 */ addi r3, r3, 4
/* 8005CC38 00058898 48 33 3D 19 */ bl func_80390950
/* 8005CC3C 0005889C 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 8005CC40 000588A0 7C 1B 00 40 */ cmplw r27, r0
/* 8005CC44 000588A4 41 80 00 40 */ blt lbl_8005CC84
/* 8005CC48 000588A8 3F E0 80 48 */ lis r31, lbl_80478178@ha
/* 8005CC4C 000588AC 38 80 00 00 */ li r4, 0
/* 8005CC50 000588B0 38 7F 81 78 */ addi r3, r31, lbl_80478178@l
/* 8005CC54 000588B4 38 A0 00 00 */ li r5, 0
/* 8005CC58 000588B8 38 C0 00 00 */ li r6, 0
/* 8005CC5C 000588BC 4B FF EA 79 */ bl func_8005B6D4
/* 8005CC60 000588C0 7F 48 D3 78 */ mr r8, r26
/* 8005CC64 000588C4 38 7F 81 78 */ addi r3, r31, -32392
/* 8005CC68 000588C8 38 80 00 00 */ li r4, 0
/* 8005CC6C 000588CC 38 A0 00 00 */ li r5, 0
/* 8005CC70 000588D0 38 C0 00 00 */ li r6, 0
/* 8005CC74 000588D4 38 E0 00 00 */ li r7, 0
/* 8005CC78 000588D8 39 20 00 00 */ li r9, 0
/* 8005CC7C 000588DC 4B FF EC E1 */ bl func_8005B95C
/* 8005CC80 000588E0 48 00 00 3C */ b lbl_8005CCBC
lbl_8005CC84:
/* 8005CC84 000588E4 3F E0 80 48 */ lis r31, lbl_80478178@ha
/* 8005CC88 000588E8 7F C4 F3 78 */ mr r4, r30
/* 8005CC8C 000588EC 7F A5 EB 78 */ mr r5, r29
/* 8005CC90 000588F0 7F 66 DB 78 */ mr r6, r27
/* 8005CC94 000588F4 38 7F 81 78 */ addi r3, r31, lbl_80478178@l
/* 8005CC98 000588F8 4B FF EA 3D */ bl func_8005B6D4
/* 8005CC9C 000588FC 7F C4 F3 78 */ mr r4, r30
/* 8005CCA0 00058900 7F A5 EB 78 */ mr r5, r29
/* 8005CCA4 00058904 7F 86 E3 78 */ mr r6, r28
/* 8005CCA8 00058908 7F 27 CB 78 */ mr r7, r25
/* 8005CCAC 0005890C 7F 48 D3 78 */ mr r8, r26
/* 8005CCB0 00058910 7F 69 DB 78 */ mr r9, r27
/* 8005CCB4 00058914 38 7F 81 78 */ addi r3, r31, -32392
/* 8005CCB8 00058918 4B FF EC A5 */ bl func_8005B95C
lbl_8005CCBC:
/* 8005CCBC 0005891C 39 61 00 30 */ addi r11, r1, 0x30
/* 8005CCC0 00058920 48 16 A4 A9 */ bl _restgpr_24
/* 8005CCC4 00058924 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8005CCC8 00058928 7C 08 03 A6 */ mtlr r0
/* 8005CCCC 0005892C 38 21 00 30 */ addi r1, r1, 0x30
/* 8005CCD0 00058930 4E 80 00 20 */ blr
.global func_8005CCD4
func_8005CCD4:
/* 8005CCD4 00058934 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8005CCD8 00058938 7C 08 02 A6 */ mflr r0
/* 8005CCDC 0005893C 90 01 00 34 */ stw r0, 0x34(r1)
/* 8005CCE0 00058940 39 61 00 30 */ addi r11, r1, 0x30
/* 8005CCE4 00058944 48 16 A4 3D */ bl _savegpr_25
/* 8005CCE8 00058948 7C 79 1B 78 */ mr r25, r3
/* 8005CCEC 0005894C 7C BA 2B 78 */ mr r26, r5
/* 8005CCF0 00058950 4B FF 9E E5 */ bl func_80056BD4
/* 8005CCF4 00058954 2C 03 00 00 */ cmpwi r3, 0
/* 8005CCF8 00058958 40 82 00 3C */ bne lbl_8005CD34
/* 8005CCFC 0005895C 3F E0 80 48 */ lis r31, lbl_80478178@ha
/* 8005CD00 00058960 38 80 00 00 */ li r4, 0
/* 8005CD04 00058964 38 7F 81 78 */ addi r3, r31, lbl_80478178@l
/* 8005CD08 00058968 38 A0 00 00 */ li r5, 0
/* 8005CD0C 0005896C 38 C0 00 00 */ li r6, 0
/* 8005CD10 00058970 4B FF F3 5D */ bl func_8005C06C
/* 8005CD14 00058974 7F 47 D3 78 */ mr r7, r26
/* 8005CD18 00058978 38 7F 81 78 */ addi r3, r31, -32392
/* 8005CD1C 0005897C 38 80 00 00 */ li r4, 0
/* 8005CD20 00058980 38 A0 00 00 */ li r5, 0
/* 8005CD24 00058984 38 C0 00 00 */ li r6, 0
/* 8005CD28 00058988 39 00 00 00 */ li r8, 0
/* 8005CD2C 0005898C 4B FF F5 C9 */ bl func_8005C2F4
/* 8005CD30 00058990 48 00 01 2C */ b lbl_8005CE5C
lbl_8005CD34:
/* 8005CD34 00058994 7F 23 CB 78 */ mr r3, r25
/* 8005CD38 00058998 38 80 00 05 */ li r4, 5
/* 8005CD3C 0005899C 38 A0 00 00 */ li r5, 0
/* 8005CD40 000589A0 48 37 E1 BD */ bl func_803DAEFC
/* 8005CD44 000589A4 54 7E 04 3E */ clrlwi r30, r3, 0x10
/* 8005CD48 000589A8 7F 23 CB 78 */ mr r3, r25
/* 8005CD4C 000589AC 38 80 00 6F */ li r4, 0x6f
/* 8005CD50 000589B0 38 A0 00 00 */ li r5, 0
/* 8005CD54 000589B4 48 37 E1 A9 */ bl func_803DAEFC
/* 8005CD58 000589B8 54 7D 06 3E */ clrlwi r29, r3, 0x18
/* 8005CD5C 000589BC 7F 23 CB 78 */ mr r3, r25
/* 8005CD60 000589C0 3B 80 00 00 */ li r28, 0
/* 8005CD64 000589C4 4B FF A0 C9 */ bl func_80056E2C
/* 8005CD68 000589C8 2C 03 00 00 */ cmpwi r3, 0
/* 8005CD6C 000589CC 41 82 00 20 */ beq lbl_8005CD8C
/* 8005CD70 000589D0 28 1E 01 EA */ cmplwi r30, 0x1ea
/* 8005CD74 000589D4 3B 60 00 00 */ li r27, 0
/* 8005CD78 000589D8 40 82 00 08 */ bne lbl_8005CD80
/* 8005CD7C 000589DC 3B 60 00 01 */ li r27, 1
lbl_8005CD80:
/* 8005CD80 000589E0 3B C0 01 EE */ li r30, 0x1ee
/* 8005CD84 000589E4 3B A0 00 02 */ li r29, 2
/* 8005CD88 000589E8 48 00 00 2C */ b lbl_8005CDB4
lbl_8005CD8C:
/* 8005CD8C 000589EC 3F E0 80 48 */ lis r31, lbl_804782A8@ha
/* 8005CD90 000589F0 7F 23 CB 78 */ mr r3, r25
/* 8005CD94 000589F4 38 9F 82 A8 */ addi r4, r31, lbl_804782A8@l
/* 8005CD98 000589F8 48 37 F9 B1 */ bl func_803DC748
/* 8005CD9C 000589FC 38 7F 82 A8 */ addi r3, r31, -32088
/* 8005CDA0 00058A00 48 37 F3 31 */ bl func_803DC0D0
/* 8005CDA4 00058A04 54 63 06 3E */ clrlwi r3, r3, 0x18
/* 8005CDA8 00058A08 7C 03 00 D0 */ neg r0, r3
/* 8005CDAC 00058A0C 7C 00 1B 78 */ or r0, r0, r3
/* 8005CDB0 00058A10 54 1C 0F FE */ srwi r28, r0, 0x1f
lbl_8005CDB4:
/* 8005CDB4 00058A14 2C 1E 01 EE */ cmpwi r30, 0x1ee
/* 8005CDB8 00058A18 41 82 00 18 */ beq lbl_8005CDD0
/* 8005CDBC 00058A1C 7F 23 CB 78 */ mr r3, r25
/* 8005CDC0 00058A20 38 80 00 70 */ li r4, 0x70
/* 8005CDC4 00058A24 38 A0 00 00 */ li r5, 0
/* 8005CDC8 00058A28 48 37 E1 35 */ bl func_803DAEFC
/* 8005CDCC 00058A2C 54 7B 04 3E */ clrlwi r27, r3, 0x10
lbl_8005CDD0:
/* 8005CDD0 00058A30 3C 60 80 64 */ lis r3, lbl_8063CE34@ha
/* 8005CDD4 00058A34 7F C4 F3 78 */ mr r4, r30
/* 8005CDD8 00058A38 38 63 CE 34 */ addi r3, r3, lbl_8063CE34@l
/* 8005CDDC 00058A3C 38 63 00 4C */ addi r3, r3, 0x4c
/* 8005CDE0 00058A40 48 33 9C 81 */ bl func_80396A60
/* 8005CDE4 00058A44 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 8005CDE8 00058A48 7C 1B 00 40 */ cmplw r27, r0
/* 8005CDEC 00058A4C 41 80 00 3C */ blt lbl_8005CE28
/* 8005CDF0 00058A50 3F E0 80 48 */ lis r31, lbl_80478178@ha
/* 8005CDF4 00058A54 38 80 00 00 */ li r4, 0
/* 8005CDF8 00058A58 38 7F 81 78 */ addi r3, r31, lbl_80478178@l
/* 8005CDFC 00058A5C 38 A0 00 00 */ li r5, 0
/* 8005CE00 00058A60 38 C0 00 00 */ li r6, 0
/* 8005CE04 00058A64 4B FF F2 69 */ bl func_8005C06C
/* 8005CE08 00058A68 7F 47 D3 78 */ mr r7, r26
/* 8005CE0C 00058A6C 38 7F 81 78 */ addi r3, r31, -32392
/* 8005CE10 00058A70 38 80 00 00 */ li r4, 0
/* 8005CE14 00058A74 38 A0 00 00 */ li r5, 0
/* 8005CE18 00058A78 38 C0 00 00 */ li r6, 0
/* 8005CE1C 00058A7C 39 00 00 00 */ li r8, 0
/* 8005CE20 00058A80 4B FF F4 D5 */ bl func_8005C2F4
/* 8005CE24 00058A84 48 00 00 38 */ b lbl_8005CE5C
lbl_8005CE28:
/* 8005CE28 00058A88 3F E0 80 48 */ lis r31, lbl_80478178@ha
/* 8005CE2C 00058A8C 7F C4 F3 78 */ mr r4, r30
/* 8005CE30 00058A90 7F A5 EB 78 */ mr r5, r29
/* 8005CE34 00058A94 7F 66 DB 78 */ mr r6, r27
/* 8005CE38 00058A98 38 7F 81 78 */ addi r3, r31, lbl_80478178@l
/* 8005CE3C 00058A9C 4B FF F2 31 */ bl func_8005C06C
/* 8005CE40 00058AA0 7F C4 F3 78 */ mr r4, r30
/* 8005CE44 00058AA4 7F A5 EB 78 */ mr r5, r29
/* 8005CE48 00058AA8 7F 86 E3 78 */ mr r6, r28
/* 8005CE4C 00058AAC 7F 47 D3 78 */ mr r7, r26
/* 8005CE50 00058AB0 7F 68 DB 78 */ mr r8, r27
/* 8005CE54 00058AB4 38 7F 81 78 */ addi r3, r31, -32392
/* 8005CE58 00058AB8 4B FF F4 9D */ bl func_8005C2F4
lbl_8005CE5C:
/* 8005CE5C 00058ABC 39 61 00 30 */ addi r11, r1, 0x30
/* 8005CE60 00058AC0 48 16 A3 0D */ bl _restgpr_25
/* 8005CE64 00058AC4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8005CE68 00058AC8 7C 08 03 A6 */ mtlr r0
/* 8005CE6C 00058ACC 38 21 00 30 */ addi r1, r1, 0x30
/* 8005CE70 00058AD0 4E 80 00 20 */ blr
.global func_8005CE74
func_8005CE74:
/* 8005CE74 00058AD4 39 00 00 01 */ li r8, 1
/* 8005CE78 00058AD8 38 CD 99 00 */ addi r6, r13, lbl_8063EBC0-_SDA_BASE_
/* 8005CE7C 00058ADC 38 E0 00 04 */ li r7, 4
/* 8005CE80 00058AE0 38 00 00 00 */ li r0, 0
/* 8005CE84 00058AE4 3C 60 80 48 */ lis r3, lbl_80478178@ha
/* 8005CE88 00058AE8 3C 80 80 06 */ lis r4, lbl_8005CEAC@ha
/* 8005CE8C 00058AEC 3C A0 80 48 */ lis r5, lbl_80478168@ha
/* 8005CE90 00058AF0 99 0D 99 00 */ stb r8, lbl_8063EBC0-_SDA_BASE_(r13)
/* 8005CE94 00058AF4 38 63 81 78 */ addi r3, r3, lbl_80478178@l
/* 8005CE98 00058AF8 38 84 CE AC */ addi r4, r4, lbl_8005CEAC@l
/* 8005CE9C 00058AFC B0 E6 00 02 */ sth r7, 2(r6)
/* 8005CEA0 00058B00 38 A5 81 68 */ addi r5, r5, lbl_80478168@l
/* 8005CEA4 00058B04 98 06 00 04 */ stb r0, 4(r6)
/* 8005CEA8 00058B08 48 16 9D A0 */ b __register_global_object_tmp
|