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
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
lbl_80185AE0:
/* 80185AE0 00181740 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80185AE4 00181744 7C 08 02 A6 */ mflr r0
/* 80185AE8 00181748 90 01 00 24 */ stw r0, 0x24(r1)
/* 80185AEC 0018174C 39 61 00 20 */ addi r11, r1, 0x20
/* 80185AF0 00181750 48 04 16 41 */ bl _savegpr_29
/* 80185AF4 00181754 83 E5 00 00 */ lwz r31, 0(r5)
/* 80185AF8 00181758 7C 7D 1B 78 */ mr r29, r3
/* 80185AFC 0018175C 83 C5 00 04 */ lwz r30, 4(r5)
/* 80185B00 00181760 48 03 DD C1 */ bl func_801C38C0
/* 80185B04 00181764 2C 03 00 00 */ cmpwi r3, 0
/* 80185B08 00181768 40 82 00 0C */ bne lbl_80185B14
/* 80185B0C 0018176C 38 60 00 01 */ li r3, 1
/* 80185B10 00181770 48 00 00 44 */ b lbl_80185B54
lbl_80185B14:
/* 80185B14 00181774 2C 1D 00 00 */ cmpwi r29, 0
/* 80185B18 00181778 40 82 00 0C */ bne lbl_80185B24
/* 80185B1C 0018177C 38 00 00 00 */ li r0, 0
/* 80185B20 00181780 48 00 00 08 */ b lbl_80185B28
lbl_80185B24:
/* 80185B24 00181784 80 1D 07 90 */ lwz r0, 0x790(r29)
lbl_80185B28:
/* 80185B28 00181788 54 00 06 77 */ rlwinm. r0, r0, 0, 0x19, 0x1b
/* 80185B2C 0018178C 41 82 00 24 */ beq lbl_80185B50
/* 80185B30 00181790 7F E3 FB 78 */ mr r3, r31
/* 80185B34 00181794 7F C4 F3 78 */ mr r4, r30
/* 80185B38 00181798 38 A0 00 2B */ li r5, 0x2b
/* 80185B3C 0018179C 4B FF AA DD */ bl func_80180618
/* 80185B40 001817A0 2C 03 00 00 */ cmpwi r3, 0
/* 80185B44 001817A4 40 82 00 0C */ bne lbl_80185B50
/* 80185B48 001817A8 38 60 00 00 */ li r3, 0
/* 80185B4C 001817AC 48 00 00 08 */ b lbl_80185B54
lbl_80185B50:
/* 80185B50 001817B0 38 60 00 01 */ li r3, 1
lbl_80185B54:
/* 80185B54 001817B4 39 61 00 20 */ addi r11, r1, 0x20
/* 80185B58 001817B8 48 04 16 25 */ bl _restgpr_29
/* 80185B5C 001817BC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80185B60 001817C0 7C 08 03 A6 */ mtlr r0
/* 80185B64 001817C4 38 21 00 20 */ addi r1, r1, 0x20
/* 80185B68 001817C8 4E 80 00 20 */ blr
.global func_80185B6C
func_80185B6C:
/* 80185B6C 001817CC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80185B70 001817D0 7C 08 02 A6 */ mflr r0
/* 80185B74 001817D4 3C C0 80 18 */ lis r6, lbl_80185AE0@ha
/* 80185B78 001817D8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80185B7C 001817DC 38 A1 00 08 */ addi r5, r1, 8
/* 80185B80 001817E0 90 61 00 08 */ stw r3, 8(r1)
/* 80185B84 001817E4 38 60 00 00 */ li r3, 0
/* 80185B88 001817E8 90 81 00 0C */ stw r4, 0xc(r1)
/* 80185B8C 001817EC 38 86 5A E0 */ addi r4, r6, lbl_80185AE0@l
/* 80185B90 001817F0 38 C0 00 00 */ li r6, 0
/* 80185B94 001817F4 48 03 9F 4D */ bl func_801BFAE0
/* 80185B98 001817F8 38 63 FF FF */ addi r3, r3, -1
/* 80185B9C 001817FC 30 03 FF FF */ addic r0, r3, -1
/* 80185BA0 00181800 7C 60 19 10 */ subfe r3, r0, r3
/* 80185BA4 00181804 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80185BA8 00181808 7C 08 03 A6 */ mtlr r0
/* 80185BAC 0018180C 38 21 00 10 */ addi r1, r1, 0x10
/* 80185BB0 00181810 4E 80 00 20 */ blr
lbl_80185BB4:
/* 80185BB4 00181814 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80185BB8 00181818 7C 08 02 A6 */ mflr r0
/* 80185BBC 0018181C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80185BC0 00181820 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80185BC4 00181824 93 C1 00 08 */ stw r30, 8(r1)
/* 80185BC8 00181828 7C 7E 1B 78 */ mr r30, r3
/* 80185BCC 0018182C 83 E5 00 00 */ lwz r31, 0(r5)
/* 80185BD0 00181830 48 03 DC F1 */ bl func_801C38C0
/* 80185BD4 00181834 2C 03 00 00 */ cmpwi r3, 0
/* 80185BD8 00181838 40 82 00 0C */ bne lbl_80185BE4
/* 80185BDC 0018183C 38 60 00 01 */ li r3, 1
/* 80185BE0 00181840 48 00 00 20 */ b lbl_80185C00
lbl_80185BE4:
/* 80185BE4 00181844 7F E3 FB 78 */ mr r3, r31
/* 80185BE8 00181848 7F C4 F3 78 */ mr r4, r30
/* 80185BEC 0018184C 38 A0 00 06 */ li r5, 6
/* 80185BF0 00181850 4B FF AA 29 */ bl func_80180618
/* 80185BF4 00181854 38 63 FF FF */ addi r3, r3, -1
/* 80185BF8 00181858 30 03 FF FF */ addic r0, r3, -1
/* 80185BFC 0018185C 7C 60 19 10 */ subfe r3, r0, r3
lbl_80185C00:
/* 80185C00 00181860 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80185C04 00181864 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80185C08 00181868 83 C1 00 08 */ lwz r30, 8(r1)
/* 80185C0C 0018186C 7C 08 03 A6 */ mtlr r0
/* 80185C10 00181870 38 21 00 10 */ addi r1, r1, 0x10
/* 80185C14 00181874 4E 80 00 20 */ blr
.global func_80185C18
func_80185C18:
/* 80185C18 00181878 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80185C1C 0018187C 7C 08 02 A6 */ mflr r0
/* 80185C20 00181880 3C 80 80 18 */ lis r4, lbl_80185BB4@ha
/* 80185C24 00181884 38 C0 00 00 */ li r6, 0
/* 80185C28 00181888 90 01 00 14 */ stw r0, 0x14(r1)
/* 80185C2C 0018188C 38 84 5B B4 */ addi r4, r4, lbl_80185BB4@l
/* 80185C30 00181890 38 A1 00 08 */ addi r5, r1, 8
/* 80185C34 00181894 90 61 00 08 */ stw r3, 8(r1)
/* 80185C38 00181898 38 60 00 00 */ li r3, 0
/* 80185C3C 0018189C 48 03 9E A5 */ bl func_801BFAE0
/* 80185C40 001818A0 38 63 FF FF */ addi r3, r3, -1
/* 80185C44 001818A4 30 03 FF FF */ addic r0, r3, -1
/* 80185C48 001818A8 7C 60 19 10 */ subfe r3, r0, r3
/* 80185C4C 001818AC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80185C50 001818B0 7C 08 03 A6 */ mtlr r0
/* 80185C54 001818B4 38 21 00 10 */ addi r1, r1, 0x10
/* 80185C58 001818B8 4E 80 00 20 */ blr
.global func_80185C5C
func_80185C5C:
/* 80185C5C 001818BC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80185C60 001818C0 7C 08 02 A6 */ mflr r0
/* 80185C64 001818C4 2C 04 00 00 */ cmpwi r4, 0
/* 80185C68 001818C8 90 01 00 24 */ stw r0, 0x24(r1)
/* 80185C6C 001818CC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80185C70 001818D0 40 82 00 0C */ bne lbl_80185C7C
/* 80185C74 001818D4 38 60 00 00 */ li r3, 0
/* 80185C78 001818D8 48 00 00 08 */ b lbl_80185C80
lbl_80185C7C:
/* 80185C7C 001818DC A0 64 08 60 */ lhz r3, 0x860(r4)
lbl_80185C80:
/* 80185C80 001818E0 2C 03 00 00 */ cmpwi r3, 0
/* 80185C84 001818E4 41 82 00 18 */ beq lbl_80185C9C
/* 80185C88 001818E8 28 03 01 D4 */ cmplwi r3, 0x1d4
/* 80185C8C 001818EC 41 82 00 10 */ beq lbl_80185C9C
/* 80185C90 001818F0 28 03 FF FF */ cmplwi r3, 0xffff
/* 80185C94 001818F4 41 82 00 08 */ beq lbl_80185C9C
/* 80185C98 001818F8 48 00 00 74 */ b lbl_80185D0C
lbl_80185C9C:
/* 80185C9C 001818FC 7C 83 23 78 */ mr r3, r4
/* 80185CA0 00181900 38 81 00 08 */ addi r4, r1, 8
/* 80185CA4 00181904 48 03 EA 1D */ bl func_801C46C0
/* 80185CA8 00181908 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80185CAC 0018190C 7C 7F 1B 78 */ mr r31, r3
/* 80185CB0 00181910 41 82 00 58 */ beq lbl_80185D08
/* 80185CB4 00181914 48 09 DB 7D */ bl func_80223830
/* 80185CB8 00181918 3C 80 00 03 */ lis r4, 0x000343FD@ha
/* 80185CBC 0018191C 80 C3 00 00 */ lwz r6, 0(r3)
/* 80185CC0 00181920 38 04 43 FD */ addi r0, r4, 0x000343FD@l
/* 80185CC4 00181924 57 E5 06 3E */ clrlwi r5, r31, 0x18
/* 80185CC8 00181928 7C C6 01 D6 */ mullw r6, r6, r0
/* 80185CCC 0018192C 38 81 00 08 */ addi r4, r1, 8
/* 80185CD0 00181930 3C C6 00 27 */ addis r6, r6, 0x27
/* 80185CD4 00181934 38 06 9E C3 */ addi r0, r6, -24893
/* 80185CD8 00181938 54 06 84 3E */ srwi r6, r0, 0x10
/* 80185CDC 0018193C 90 03 00 00 */ stw r0, 0(r3)
/* 80185CE0 00181940 7C 06 2B D6 */ divw r0, r6, r5
/* 80185CE4 00181944 7C 00 29 D6 */ mullw r0, r0, r5
/* 80185CE8 00181948 7C 00 30 50 */ subf r0, r0, r6
/* 80185CEC 0018194C 54 00 0D FC */ rlwinm r0, r0, 1, 0x17, 0x1e
/* 80185CF0 00181950 7C 64 02 2E */ lhzx r3, r4, r0
/* 80185CF4 00181954 2C 03 00 00 */ cmpwi r3, 0
/* 80185CF8 00181958 41 82 00 10 */ beq lbl_80185D08
/* 80185CFC 0018195C 28 03 01 D4 */ cmplwi r3, 0x1d4
/* 80185D00 00181960 41 82 00 08 */ beq lbl_80185D08
/* 80185D04 00181964 48 00 00 08 */ b lbl_80185D0C
lbl_80185D08:
/* 80185D08 00181968 38 60 00 00 */ li r3, 0
lbl_80185D0C:
/* 80185D0C 0018196C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80185D10 00181970 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80185D14 00181974 7C 08 03 A6 */ mtlr r0
/* 80185D18 00181978 38 21 00 20 */ addi r1, r1, 0x20
/* 80185D1C 0018197C 4E 80 00 20 */ blr
.global func_80185D20
func_80185D20:
/* 80185D20 00181980 38 60 00 00 */ li r3, 0
/* 80185D24 00181984 4E 80 00 20 */ blr
.global func_80185D28
func_80185D28:
/* 80185D28 00181988 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80185D2C 0018198C 7C 08 02 A6 */ mflr r0
/* 80185D30 00181990 90 01 00 34 */ stw r0, 0x34(r1)
/* 80185D34 00181994 39 61 00 30 */ addi r11, r1, 0x30
/* 80185D38 00181998 48 04 13 E1 */ bl _savegpr_23
/* 80185D3C 0018199C 55 20 06 73 */ rlwinm. r0, r9, 0, 0x19, 0x19
/* 80185D40 001819A0 7C 77 1B 78 */ mr r23, r3
/* 80185D44 001819A4 7C D8 33 78 */ mr r24, r6
/* 80185D48 001819A8 7C F9 3B 78 */ mr r25, r7
/* 80185D4C 001819AC 7D 1C 43 78 */ mr r28, r8
/* 80185D50 001819B0 7D 3A 4B 78 */ mr r26, r9
/* 80185D54 001819B4 3B 60 00 00 */ li r27, 0
/* 80185D58 001819B8 41 82 00 0C */ beq lbl_80185D64
/* 80185D5C 001819BC 7C 9E 23 78 */ mr r30, r4
/* 80185D60 001819C0 48 00 00 08 */ b lbl_80185D68
lbl_80185D64:
/* 80185D64 001819C4 7C BE 2B 78 */ mr r30, r5
lbl_80185D68:
/* 80185D68 001819C8 7F C4 F3 78 */ mr r4, r30
/* 80185D6C 001819CC 38 60 00 02 */ li r3, 2
/* 80185D70 001819D0 48 03 AD 3D */ bl func_801C0AAC
/* 80185D74 001819D4 73 5F 00 BF */ andi. r31, r26, 0xbf
/* 80185D78 001819D8 7C 7D 1B 78 */ mr r29, r3
/* 80185D7C 001819DC 57 E0 06 31 */ rlwinm. r0, r31, 0, 0x18, 0x18
/* 80185D80 001819E0 41 82 00 08 */ beq lbl_80185D88
/* 80185D84 001819E4 3B 60 00 01 */ li r27, 1
lbl_80185D88:
/* 80185D88 001819E8 28 1C 00 07 */ cmplwi r28, 7
/* 80185D8C 001819EC 41 81 00 DC */ bgt lbl_80185E68
/* 80185D90 001819F0 3C 60 80 42 */ lis r3, lbl_804211C0@ha
/* 80185D94 001819F4 57 80 10 3A */ slwi r0, r28, 2
/* 80185D98 001819F8 38 63 11 C0 */ addi r3, r3, lbl_804211C0@l
/* 80185D9C 001819FC 7C 63 00 2E */ lwzx r3, r3, r0
/* 80185DA0 00181A00 7C 69 03 A6 */ mtctr r3
/* 80185DA4 00181A04 4E 80 04 20 */ bctr
/* 80185DA8 00181A08 2C 1E 00 00 */ cmpwi r30, 0
/* 80185DAC 00181A0C 40 82 00 0C */ bne lbl_80185DB8
/* 80185DB0 00181A10 3B 40 00 00 */ li r26, 0
/* 80185DB4 00181A14 48 00 00 08 */ b lbl_80185DBC
lbl_80185DB8:
/* 80185DB8 00181A18 8B 5E 07 EC */ lbz r26, 0x7ec(r30)
lbl_80185DBC:
/* 80185DBC 00181A1C 3B 80 00 E6 */ li r28, 0xe6
/* 80185DC0 00181A20 48 00 00 A8 */ b lbl_80185E68
/* 80185DC4 00181A24 2C 1E 00 00 */ cmpwi r30, 0
/* 80185DC8 00181A28 40 82 00 0C */ bne lbl_80185DD4
/* 80185DCC 00181A2C 3B 40 00 00 */ li r26, 0
/* 80185DD0 00181A30 48 00 00 08 */ b lbl_80185DD8
lbl_80185DD4:
/* 80185DD4 00181A34 8B 5E 07 ED */ lbz r26, 0x7ed(r30)
lbl_80185DD8:
/* 80185DD8 00181A38 3B 80 00 E7 */ li r28, 0xe7
/* 80185DDC 00181A3C 48 00 00 8C */ b lbl_80185E68
/* 80185DE0 00181A40 2C 1E 00 00 */ cmpwi r30, 0
/* 80185DE4 00181A44 40 82 00 0C */ bne lbl_80185DF0
/* 80185DE8 00181A48 3B 40 00 00 */ li r26, 0
/* 80185DEC 00181A4C 48 00 00 08 */ b lbl_80185DF4
lbl_80185DF0:
/* 80185DF0 00181A50 8B 5E 07 F0 */ lbz r26, 0x7f0(r30)
lbl_80185DF4:
/* 80185DF4 00181A54 3B 80 00 EA */ li r28, 0xea
/* 80185DF8 00181A58 48 00 00 70 */ b lbl_80185E68
/* 80185DFC 00181A5C 2C 1E 00 00 */ cmpwi r30, 0
/* 80185E00 00181A60 40 82 00 0C */ bne lbl_80185E0C
/* 80185E04 00181A64 3B 40 00 00 */ li r26, 0
/* 80185E08 00181A68 48 00 00 08 */ b lbl_80185E10
lbl_80185E0C:
/* 80185E0C 00181A6C 8B 5E 07 EE */ lbz r26, 0x7ee(r30)
lbl_80185E10:
/* 80185E10 00181A70 3B 80 00 E8 */ li r28, 0xe8
/* 80185E14 00181A74 48 00 00 54 */ b lbl_80185E68
/* 80185E18 00181A78 2C 1E 00 00 */ cmpwi r30, 0
/* 80185E1C 00181A7C 40 82 00 0C */ bne lbl_80185E28
/* 80185E20 00181A80 3B 40 00 00 */ li r26, 0
/* 80185E24 00181A84 48 00 00 08 */ b lbl_80185E2C
lbl_80185E28:
/* 80185E28 00181A88 8B 5E 07 EF */ lbz r26, 0x7ef(r30)
lbl_80185E2C:
/* 80185E2C 00181A8C 3B 80 00 E9 */ li r28, 0xe9
/* 80185E30 00181A90 48 00 00 38 */ b lbl_80185E68
/* 80185E34 00181A94 2C 1E 00 00 */ cmpwi r30, 0
/* 80185E38 00181A98 40 82 00 0C */ bne lbl_80185E44
/* 80185E3C 00181A9C 3B 40 00 00 */ li r26, 0
/* 80185E40 00181AA0 48 00 00 08 */ b lbl_80185E48
lbl_80185E44:
/* 80185E44 00181AA4 8B 5E 07 F1 */ lbz r26, 0x7f1(r30)
lbl_80185E48:
/* 80185E48 00181AA8 3B 80 00 EB */ li r28, 0xeb
/* 80185E4C 00181AAC 48 00 00 1C */ b lbl_80185E68
/* 80185E50 00181AB0 2C 1E 00 00 */ cmpwi r30, 0
/* 80185E54 00181AB4 40 82 00 0C */ bne lbl_80185E60
/* 80185E58 00181AB8 3B 40 00 00 */ li r26, 0
/* 80185E5C 00181ABC 48 00 00 08 */ b lbl_80185E64
lbl_80185E60:
/* 80185E60 00181AC0 8B 5E 07 F2 */ lbz r26, 0x7f2(r30)
lbl_80185E64:
/* 80185E64 00181AC4 3B 80 00 EC */ li r28, 0xec
lbl_80185E68:
/* 80185E68 00181AC8 7F 23 CB 78 */ mr r3, r25
/* 80185E6C 00181ACC 48 03 CB 29 */ bl func_801C2994
/* 80185E70 00181AD0 7C 60 07 75 */ extsb. r0, r3
/* 80185E74 00181AD4 40 80 01 14 */ bge lbl_80185F88
/* 80185E78 00181AD8 7F A3 EB 78 */ mr r3, r29
/* 80185E7C 00181ADC 38 80 00 40 */ li r4, 0x40
/* 80185E80 00181AE0 48 03 AB CD */ bl func_801C0A4C
/* 80185E84 00181AE4 28 03 00 01 */ cmplwi r3, 1
/* 80185E88 00181AE8 40 82 00 1C */ bne lbl_80185EA4
/* 80185E8C 00181AEC 2C 1B 00 00 */ cmpwi r27, 0
/* 80185E90 00181AF0 40 82 00 14 */ bne lbl_80185EA4
/* 80185E94 00181AF4 28 18 00 AE */ cmplwi r24, 0xae
/* 80185E98 00181AF8 41 82 00 0C */ beq lbl_80185EA4
/* 80185E9C 00181AFC 38 60 00 00 */ li r3, 0
/* 80185EA0 00181B00 48 00 00 FC */ b lbl_80185F9C
lbl_80185EA4:
/* 80185EA4 00181B04 7E E3 BB 78 */ mr r3, r23
/* 80185EA8 00181B08 7F C4 F3 78 */ mr r4, r30
/* 80185EAC 00181B0C 38 A0 00 1D */ li r5, 0x1d
/* 80185EB0 00181B10 4B FF A7 69 */ bl func_80180618
/* 80185EB4 00181B14 28 03 00 01 */ cmplwi r3, 1
/* 80185EB8 00181B18 41 82 00 1C */ beq lbl_80185ED4
/* 80185EBC 00181B1C 7E E3 BB 78 */ mr r3, r23
/* 80185EC0 00181B20 7F C4 F3 78 */ mr r4, r30
/* 80185EC4 00181B24 38 A0 00 49 */ li r5, 0x49
/* 80185EC8 00181B28 4B FF A7 51 */ bl func_80180618
/* 80185ECC 00181B2C 28 03 00 01 */ cmplwi r3, 1
/* 80185ED0 00181B30 40 82 00 1C */ bne lbl_80185EEC
lbl_80185ED4:
/* 80185ED4 00181B34 2C 1B 00 00 */ cmpwi r27, 0
/* 80185ED8 00181B38 40 82 00 14 */ bne lbl_80185EEC
/* 80185EDC 00181B3C 28 18 00 AE */ cmplwi r24, 0xae
/* 80185EE0 00181B40 41 82 00 0C */ beq lbl_80185EEC
/* 80185EE4 00181B44 38 60 00 00 */ li r3, 0
/* 80185EE8 00181B48 48 00 00 B4 */ b lbl_80185F9C
lbl_80185EEC:
/* 80185EEC 00181B4C 7E E3 BB 78 */ mr r3, r23
/* 80185EF0 00181B50 7F C4 F3 78 */ mr r4, r30
/* 80185EF4 00181B54 38 A0 00 33 */ li r5, 0x33
/* 80185EF8 00181B58 4B FF A7 21 */ bl func_80180618
/* 80185EFC 00181B5C 28 03 00 01 */ cmplwi r3, 1
/* 80185F00 00181B60 40 82 00 1C */ bne lbl_80185F1C
/* 80185F04 00181B64 2C 1B 00 00 */ cmpwi r27, 0
/* 80185F08 00181B68 40 82 00 14 */ bne lbl_80185F1C
/* 80185F0C 00181B6C 28 1C 00 EB */ cmplwi r28, 0xeb
/* 80185F10 00181B70 40 82 00 0C */ bne lbl_80185F1C
/* 80185F14 00181B74 38 60 00 00 */ li r3, 0
/* 80185F18 00181B78 48 00 00 84 */ b lbl_80185F9C
lbl_80185F1C:
/* 80185F1C 00181B7C 7E E3 BB 78 */ mr r3, r23
/* 80185F20 00181B80 7F C4 F3 78 */ mr r4, r30
/* 80185F24 00181B84 38 A0 00 34 */ li r5, 0x34
/* 80185F28 00181B88 4B FF A6 F1 */ bl func_80180618
/* 80185F2C 00181B8C 28 03 00 01 */ cmplwi r3, 1
/* 80185F30 00181B90 40 82 00 1C */ bne lbl_80185F4C
/* 80185F34 00181B94 2C 1B 00 00 */ cmpwi r27, 0
/* 80185F38 00181B98 40 82 00 14 */ bne lbl_80185F4C
/* 80185F3C 00181B9C 28 1C 00 E6 */ cmplwi r28, 0xe6
/* 80185F40 00181BA0 40 82 00 0C */ bne lbl_80185F4C
/* 80185F44 00181BA4 38 60 00 00 */ li r3, 0
/* 80185F48 00181BA8 48 00 00 54 */ b lbl_80185F9C
lbl_80185F4C:
/* 80185F4C 00181BAC 7E E3 BB 78 */ mr r3, r23
/* 80185F50 00181BB0 7F C4 F3 78 */ mr r4, r30
/* 80185F54 00181BB4 38 A0 00 13 */ li r5, 0x13
/* 80185F58 00181BB8 4B FF A6 C1 */ bl func_80180618
/* 80185F5C 00181BBC 28 03 00 01 */ cmplwi r3, 1
/* 80185F60 00181BC0 40 82 00 18 */ bne lbl_80185F78
/* 80185F64 00181BC4 57 E0 06 7E */ clrlwi r0, r31, 0x19
/* 80185F68 00181BC8 70 00 00 DF */ andi. r0, r0, 0xdf
/* 80185F6C 00181BCC 40 82 00 0C */ bne lbl_80185F78
/* 80185F70 00181BD0 38 60 00 00 */ li r3, 0
/* 80185F74 00181BD4 48 00 00 28 */ b lbl_80185F9C
lbl_80185F78:
/* 80185F78 00181BD8 2C 1A 00 00 */ cmpwi r26, 0
/* 80185F7C 00181BDC 40 82 00 1C */ bne lbl_80185F98
/* 80185F80 00181BE0 38 60 00 00 */ li r3, 0
/* 80185F84 00181BE4 48 00 00 18 */ b lbl_80185F9C
lbl_80185F88:
/* 80185F88 00181BE8 28 1A 00 0C */ cmplwi r26, 0xc
/* 80185F8C 00181BEC 41 80 00 0C */ blt lbl_80185F98
/* 80185F90 00181BF0 38 60 00 00 */ li r3, 0
/* 80185F94 00181BF4 48 00 00 08 */ b lbl_80185F9C
lbl_80185F98:
/* 80185F98 00181BF8 38 60 00 01 */ li r3, 1
lbl_80185F9C:
/* 80185F9C 00181BFC 39 61 00 30 */ addi r11, r1, 0x30
/* 80185FA0 00181C00 48 04 11 C5 */ bl _restgpr_23
/* 80185FA4 00181C04 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80185FA8 00181C08 7C 08 03 A6 */ mtlr r0
/* 80185FAC 00181C0C 38 21 00 30 */ addi r1, r1, 0x30
/* 80185FB0 00181C10 4E 80 00 20 */ blr
.global func_80185FB4
func_80185FB4:
/* 80185FB4 00181C14 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80185FB8 00181C18 7C 08 02 A6 */ mflr r0
/* 80185FBC 00181C1C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80185FC0 00181C20 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80185FC4 00181C24 7C 9F 23 78 */ mr r31, r4
/* 80185FC8 00181C28 48 03 B7 8D */ bl func_801C1754
/* 80185FCC 00181C2C 28 03 00 01 */ cmplwi r3, 1
/* 80185FD0 00181C30 40 82 00 28 */ bne lbl_80185FF8
/* 80185FD4 00181C34 7F E3 FB 78 */ mr r3, r31
/* 80185FD8 00181C38 38 81 00 08 */ addi r4, r1, 8
/* 80185FDC 00181C3C 48 03 CA 11 */ bl func_801C29EC
/* 80185FE0 00181C40 54 63 06 3E */ clrlwi r3, r3, 0x18
/* 80185FE4 00181C44 38 00 00 01 */ li r0, 1
/* 80185FE8 00181C48 7C 00 18 10 */ subfc r0, r0, r3
/* 80185FEC 00181C4C 38 00 FF FF */ li r0, -1
/* 80185FF0 00181C50 7C 60 01 90 */ subfze r3, r0
/* 80185FF4 00181C54 48 00 00 08 */ b lbl_80185FFC
lbl_80185FF8:
/* 80185FF8 00181C58 38 60 00 01 */ li r3, 1
lbl_80185FFC:
/* 80185FFC 00181C5C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80186000 00181C60 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80186004 00181C64 7C 08 03 A6 */ mtlr r0
/* 80186008 00181C68 38 21 00 20 */ addi r1, r1, 0x20
/* 8018600C 00181C6C 4E 80 00 20 */ blr
lbl_80186010:
/* 80186010 00181C70 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80186014 00181C74 7C 08 02 A6 */ mflr r0
/* 80186018 00181C78 90 01 00 24 */ stw r0, 0x24(r1)
/* 8018601C 00181C7C 39 61 00 20 */ addi r11, r1, 0x20
/* 80186020 00181C80 48 04 11 0D */ bl _savegpr_28
/* 80186024 00181C84 83 C5 00 00 */ lwz r30, 0(r5)
/* 80186028 00181C88 7C 7F 1B 78 */ mr r31, r3
/* 8018602C 00181C8C 7C 9C 23 78 */ mr r28, r4
/* 80186030 00181C90 7C BD 2B 78 */ mr r29, r5
/* 80186034 00181C94 48 03 D8 8D */ bl func_801C38C0
/* 80186038 00181C98 2C 03 00 00 */ cmpwi r3, 0
/* 8018603C 00181C9C 40 82 00 0C */ bne lbl_80186048
/* 80186040 00181CA0 38 60 00 01 */ li r3, 1
/* 80186044 00181CA4 48 00 00 68 */ b lbl_801860AC
lbl_80186048:
/* 80186048 00181CA8 7F C3 F3 78 */ mr r3, r30
/* 8018604C 00181CAC 7F E4 FB 78 */ mr r4, r31
/* 80186050 00181CB0 7F 85 E3 78 */ mr r5, r28
/* 80186054 00181CB4 48 03 B2 E9 */ bl func_801C133C
/* 80186058 00181CB8 28 03 00 01 */ cmplwi r3, 1
/* 8018605C 00181CBC 40 82 00 0C */ bne lbl_80186068
/* 80186060 00181CC0 38 60 00 01 */ li r3, 1
/* 80186064 00181CC4 48 00 00 48 */ b lbl_801860AC
lbl_80186068:
/* 80186068 00181CC8 2C 1F 00 00 */ cmpwi r31, 0
/* 8018606C 00181CCC 40 82 00 0C */ bne lbl_80186078
/* 80186070 00181CD0 38 00 00 00 */ li r0, 0
/* 80186074 00181CD4 48 00 00 08 */ b lbl_8018607C
lbl_80186078:
/* 80186078 00181CD8 80 1F 07 94 */ lwz r0, 0x794(r31)
lbl_8018607C:
/* 8018607C 00181CDC 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 80186080 00181CE0 40 82 00 28 */ bne lbl_801860A8
/* 80186084 00181CE4 7F C3 F3 78 */ mr r3, r30
/* 80186088 00181CE8 7F E4 FB 78 */ mr r4, r31
/* 8018608C 00181CEC 38 A0 00 2B */ li r5, 0x2b
/* 80186090 00181CF0 4B FF A5 89 */ bl func_80180618
/* 80186094 00181CF4 28 03 00 01 */ cmplwi r3, 1
/* 80186098 00181CF8 41 82 00 10 */ beq lbl_801860A8
/* 8018609C 00181CFC 80 7D 00 04 */ lwz r3, 4(r29)
/* 801860A0 00181D00 38 03 00 01 */ addi r0, r3, 1
/* 801860A4 00181D04 90 1D 00 04 */ stw r0, 4(r29)
lbl_801860A8:
/* 801860A8 00181D08 38 60 00 01 */ li r3, 1
lbl_801860AC:
/* 801860AC 00181D0C 39 61 00 20 */ addi r11, r1, 0x20
/* 801860B0 00181D10 48 04 10 C9 */ bl _restgpr_28
/* 801860B4 00181D14 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801860B8 00181D18 7C 08 03 A6 */ mtlr r0
/* 801860BC 00181D1C 38 21 00 20 */ addi r1, r1, 0x20
/* 801860C0 00181D20 4E 80 00 20 */ blr
.global func_801860C4
func_801860C4:
/* 801860C4 00181D24 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801860C8 00181D28 7C 08 02 A6 */ mflr r0
/* 801860CC 00181D2C 3C 80 80 18 */ lis r4, lbl_80186010@ha
/* 801860D0 00181D30 38 C0 00 00 */ li r6, 0
/* 801860D4 00181D34 90 01 00 14 */ stw r0, 0x14(r1)
/* 801860D8 00181D38 38 00 00 00 */ li r0, 0
/* 801860DC 00181D3C 38 A1 00 08 */ addi r5, r1, 8
/* 801860E0 00181D40 38 84 60 10 */ addi r4, r4, lbl_80186010@l
/* 801860E4 00181D44 90 61 00 08 */ stw r3, 8(r1)
/* 801860E8 00181D48 38 60 00 00 */ li r3, 0
/* 801860EC 00181D4C 90 01 00 0C */ stw r0, 0xc(r1)
/* 801860F0 00181D50 48 03 99 F1 */ bl func_801BFAE0
/* 801860F4 00181D54 80 01 00 0C */ lwz r0, 0xc(r1)
/* 801860F8 00181D58 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 801860FC 00181D5C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80186100 00181D60 7C 08 03 A6 */ mtlr r0
/* 80186104 00181D64 38 21 00 10 */ addi r1, r1, 0x10
/* 80186108 00181D68 4E 80 00 20 */ blr
.global func_8018610C
func_8018610C:
/* 8018610C 00181D6C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80186110 00181D70 7C 08 02 A6 */ mflr r0
/* 80186114 00181D74 90 01 00 14 */ stw r0, 0x14(r1)
/* 80186118 00181D78 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8018611C 00181D7C 7C BF 2B 78 */ mr r31, r5
/* 80186120 00181D80 7F E3 FB 78 */ mr r3, r31
/* 80186124 00181D84 93 C1 00 08 */ stw r30, 8(r1)
/* 80186128 00181D88 7C 9E 23 78 */ mr r30, r4
/* 8018612C 00181D8C 48 04 05 FD */ bl func_801C6728
/* 80186130 00181D90 28 1E 00 40 */ cmplwi r30, 0x40
/* 80186134 00181D94 40 82 00 30 */ bne lbl_80186164
/* 80186138 00181D98 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 8018613C 00181D9C 28 00 00 92 */ cmplwi r0, 0x92
/* 80186140 00181DA0 41 82 00 1C */ beq lbl_8018615C
/* 80186144 00181DA4 28 00 00 95 */ cmplwi r0, 0x95
/* 80186148 00181DA8 41 82 00 14 */ beq lbl_8018615C
/* 8018614C 00181DAC 28 00 00 98 */ cmplwi r0, 0x98
/* 80186150 00181DB0 41 82 00 0C */ beq lbl_8018615C
/* 80186154 00181DB4 28 00 00 CF */ cmplwi r0, 0xcf
/* 80186158 00181DB8 40 82 00 0C */ bne lbl_80186164
lbl_8018615C:
/* 8018615C 00181DBC 38 60 00 01 */ li r3, 1
/* 80186160 00181DC0 48 00 00 68 */ b lbl_801861C8
lbl_80186164:
/* 80186164 00181DC4 28 1E 00 80 */ cmplwi r30, 0x80
/* 80186168 00181DC8 40 82 00 18 */ bne lbl_80186180
/* 8018616C 00181DCC 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 80186170 00181DD0 28 00 00 93 */ cmplwi r0, 0x93
/* 80186174 00181DD4 40 82 00 0C */ bne lbl_80186180
/* 80186178 00181DD8 38 60 00 01 */ li r3, 1
/* 8018617C 00181DDC 48 00 00 4C */ b lbl_801861C8
lbl_80186180:
/* 80186180 00181DE0 3C 1E FF FC */ addis r0, r30, 0xfffc
/* 80186184 00181DE4 28 00 00 00 */ cmplwi r0, 0
/* 80186188 00181DE8 40 82 00 1C */ bne lbl_801861A4
/* 8018618C 00181DEC 28 1F 00 39 */ cmplwi r31, 0x39
/* 80186190 00181DF0 41 82 00 0C */ beq lbl_8018619C
/* 80186194 00181DF4 28 1F 00 FA */ cmplwi r31, 0xfa
/* 80186198 00181DF8 40 82 00 0C */ bne lbl_801861A4
lbl_8018619C:
/* 8018619C 00181DFC 38 60 00 01 */ li r3, 1
/* 801861A0 00181E00 48 00 00 28 */ b lbl_801861C8
lbl_801861A4:
/* 801861A4 00181E04 3C 1E E0 00 */ addis r0, r30, 0xe000
/* 801861A8 00181E08 28 00 00 00 */ cmplwi r0, 0
/* 801861AC 00181E0C 40 82 00 0C */ bne lbl_801861B8
/* 801861B0 00181E10 38 60 00 01 */ li r3, 1
/* 801861B4 00181E14 48 00 00 14 */ b lbl_801861C8
lbl_801861B8:
/* 801861B8 00181E18 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 801861BC 00181E1C 38 03 FF A2 */ addi r0, r3, -94
/* 801861C0 00181E20 7C 00 00 34 */ cntlzw r0, r0
/* 801861C4 00181E24 54 03 D9 7E */ srwi r3, r0, 5
lbl_801861C8:
/* 801861C8 00181E28 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801861CC 00181E2C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801861D0 00181E30 83 C1 00 08 */ lwz r30, 8(r1)
/* 801861D4 00181E34 7C 08 03 A6 */ mtlr r0
/* 801861D8 00181E38 38 21 00 10 */ addi r1, r1, 0x10
/* 801861DC 00181E3C 4E 80 00 20 */ blr
.global func_801861E0
func_801861E0:
/* 801861E0 00181E40 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801861E4 00181E44 7C 08 02 A6 */ mflr r0
/* 801861E8 00181E48 38 C0 00 00 */ li r6, 0
/* 801861EC 00181E4C 38 E0 00 01 */ li r7, 1
/* 801861F0 00181E50 90 01 00 34 */ stw r0, 0x34(r1)
/* 801861F4 00181E54 38 A1 00 08 */ addi r5, r1, 8
/* 801861F8 00181E58 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 801861FC 00181E5C 7C 9F 23 78 */ mr r31, r4
/* 80186200 00181E60 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80186204 00181E64 7C 7E 1B 78 */ mr r30, r3
/* 80186208 00181E68 7F C4 F3 78 */ mr r4, r30
/* 8018620C 00181E6C 80 6D 9F 88 */ lwz r3, lbl_8063F248-_SDA_BASE_(r13)
/* 80186210 00181E70 48 03 A1 91 */ bl func_801C03A0
/* 80186214 00181E74 2C 1F 00 00 */ cmpwi r31, 0
/* 80186218 00181E78 7C 66 1B 78 */ mr r6, r3
/* 8018621C 00181E7C 40 82 00 0C */ bne lbl_80186228
/* 80186220 00181E80 38 80 00 00 */ li r4, 0
/* 80186224 00181E84 48 00 00 08 */ b lbl_8018622C
lbl_80186228:
/* 80186228 00181E88 88 9F 08 4C */ lbz r4, 0x84c(r31)
lbl_8018622C:
/* 8018622C 00181E8C 1C 04 00 0C */ mulli r0, r4, 0xc
/* 80186230 00181E90 3C 60 80 42 */ lis r3, lbl_804211E0@ha
/* 80186234 00181E94 2C 04 00 00 */ cmpwi r4, 0
/* 80186238 00181E98 38 63 11 E0 */ addi r3, r3, lbl_804211E0@l
/* 8018623C 00181E9C 7C 63 02 14 */ add r3, r3, r0
/* 80186240 00181EA0 81 83 00 08 */ lwz r12, 8(r3)
/* 80186244 00181EA4 40 82 00 0C */ bne lbl_80186250
/* 80186248 00181EA8 38 60 00 00 */ li r3, 0
/* 8018624C 00181EAC 48 00 00 60 */ b lbl_801862AC
lbl_80186250:
/* 80186250 00181EB0 2C 0C 00 00 */ cmpwi r12, 0
/* 80186254 00181EB4 40 82 00 1C */ bne lbl_80186270
/* 80186258 00181EB8 2C 1F 00 00 */ cmpwi r31, 0
/* 8018625C 00181EBC 41 82 00 0C */ beq lbl_80186268
/* 80186260 00181EC0 38 00 00 00 */ li r0, 0
/* 80186264 00181EC4 98 1F 08 4C */ stb r0, 0x84c(r31)
lbl_80186268:
/* 80186268 00181EC8 38 60 00 00 */ li r3, 0
/* 8018626C 00181ECC 48 00 00 40 */ b lbl_801862AC
lbl_80186270:
/* 80186270 00181ED0 7F C3 F3 78 */ mr r3, r30
/* 80186274 00181ED4 7F E4 FB 78 */ mr r4, r31
/* 80186278 00181ED8 38 A1 00 08 */ addi r5, r1, 8
/* 8018627C 00181EDC 54 C6 04 3E */ clrlwi r6, r6, 0x10
/* 80186280 00181EE0 7D 89 03 A6 */ mtctr r12
/* 80186284 00181EE4 4E 80 04 21 */ bctrl
/* 80186288 00181EE8 2C 03 00 00 */ cmpwi r3, 0
/* 8018628C 00181EEC 40 82 00 1C */ bne lbl_801862A8
/* 80186290 00181EF0 2C 1F 00 00 */ cmpwi r31, 0
/* 80186294 00181EF4 41 82 00 0C */ beq lbl_801862A0
/* 80186298 00181EF8 38 00 00 00 */ li r0, 0
/* 8018629C 00181EFC 98 1F 08 4C */ stb r0, 0x84c(r31)
lbl_801862A0:
/* 801862A0 00181F00 38 60 00 00 */ li r3, 0
/* 801862A4 00181F04 48 00 00 08 */ b lbl_801862AC
lbl_801862A8:
/* 801862A8 00181F08 38 60 00 01 */ li r3, 1
lbl_801862AC:
/* 801862AC 00181F0C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801862B0 00181F10 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 801862B4 00181F14 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 801862B8 00181F18 7C 08 03 A6 */ mtlr r0
/* 801862BC 00181F1C 38 21 00 30 */ addi r1, r1, 0x30
/* 801862C0 00181F20 4E 80 00 20 */ blr
.global func_801862C4
func_801862C4:
/* 801862C4 00181F24 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 801862C8 00181F28 7C 08 02 A6 */ mflr r0
/* 801862CC 00181F2C 90 01 00 84 */ stw r0, 0x84(r1)
/* 801862D0 00181F30 39 61 00 80 */ addi r11, r1, 0x80
/* 801862D4 00181F34 48 04 0E 4D */ bl _savegpr_25
/* 801862D8 00181F38 7C 79 1B 78 */ mr r25, r3
/* 801862DC 00181F3C 7C 9A 23 78 */ mr r26, r4
/* 801862E0 00181F40 7C BB 2B 78 */ mr r27, r5
/* 801862E4 00181F44 4B FF 86 BD */ bl func_8017E9A0
/* 801862E8 00181F48 2C 19 00 00 */ cmpwi r25, 0
/* 801862EC 00181F4C 40 82 00 0C */ bne lbl_801862F8
/* 801862F0 00181F50 38 60 00 00 */ li r3, 0
/* 801862F4 00181F54 48 00 00 AC */ b lbl_801863A0
lbl_801862F8:
/* 801862F8 00181F58 80 6D 9F 88 */ lwz r3, lbl_8063F248-_SDA_BASE_(r13)
/* 801862FC 00181F5C 7F 24 CB 78 */ mr r4, r25
/* 80186300 00181F60 38 A1 00 08 */ addi r5, r1, 8
/* 80186304 00181F64 38 C0 00 00 */ li r6, 0
/* 80186308 00181F68 38 E0 00 01 */ li r7, 1
/* 8018630C 00181F6C 48 03 A0 95 */ bl func_801C03A0
/* 80186310 00181F70 3F E0 80 42 */ lis r31, lbl_804211E0@ha
/* 80186314 00181F74 7C 7E 1B 78 */ mr r30, r3
/* 80186318 00181F78 3B FF 11 E0 */ addi r31, r31, lbl_804211E0@l
/* 8018631C 00181F7C 3B 80 00 00 */ li r28, 0
lbl_80186320:
/* 80186320 00181F80 57 83 06 3E */ clrlwi r3, r28, 0x18
/* 80186324 00181F84 4B FF 80 D1 */ bl func_8017E3F4
/* 80186328 00181F88 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8018632C 00181F8C 57 83 06 3E */ clrlwi r3, r28, 0x18
/* 80186330 00181F90 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80186334 00181F94 7C 9F 02 14 */ add r4, r31, r0
/* 80186338 00181F98 83 A4 00 04 */ lwz r29, 4(r4)
/* 8018633C 00181F9C 4B FF 80 ED */ bl func_8017E428
/* 80186340 00181FA0 54 69 06 3F */ clrlwi. r9, r3, 0x18
/* 80186344 00181FA4 41 82 00 4C */ beq lbl_80186390
/* 80186348 00181FA8 2C 1D 00 00 */ cmpwi r29, 0
/* 8018634C 00181FAC 41 82 00 44 */ beq lbl_80186390
/* 80186350 00181FB0 7F AC EB 78 */ mr r12, r29
/* 80186354 00181FB4 7F 23 CB 78 */ mr r3, r25
/* 80186358 00181FB8 7F 44 D3 78 */ mr r4, r26
/* 8018635C 00181FBC 7F 65 DB 78 */ mr r5, r27
/* 80186360 00181FC0 38 C1 00 08 */ addi r6, r1, 8
/* 80186364 00181FC4 57 C7 04 3E */ clrlwi r7, r30, 0x10
/* 80186368 00181FC8 39 01 00 28 */ addi r8, r1, 0x28
/* 8018636C 00181FCC 7D 89 03 A6 */ mtctr r12
/* 80186370 00181FD0 4E 80 04 21 */ bctrl
/* 80186374 00181FD4 28 03 00 01 */ cmplwi r3, 1
/* 80186378 00181FD8 40 82 00 18 */ bne lbl_80186390
/* 8018637C 00181FDC 7F 23 CB 78 */ mr r3, r25
/* 80186380 00181FE0 38 81 00 28 */ addi r4, r1, 0x28
/* 80186384 00181FE4 4B FF DC 91 */ bl func_80184014
/* 80186388 00181FE8 38 60 00 01 */ li r3, 1
/* 8018638C 00181FEC 48 00 00 14 */ b lbl_801863A0
lbl_80186390:
/* 80186390 00181FF0 3B 9C 00 01 */ addi r28, r28, 1
/* 80186394 00181FF4 28 1C 00 04 */ cmplwi r28, 4
/* 80186398 00181FF8 41 80 FF 88 */ blt lbl_80186320
/* 8018639C 00181FFC 38 60 00 00 */ li r3, 0
lbl_801863A0:
/* 801863A0 00182000 39 61 00 80 */ addi r11, r1, 0x80
/* 801863A4 00182004 48 04 0D C9 */ bl _restgpr_25
/* 801863A8 00182008 80 01 00 84 */ lwz r0, 0x84(r1)
/* 801863AC 0018200C 7C 08 03 A6 */ mtlr r0
/* 801863B0 00182010 38 21 00 80 */ addi r1, r1, 0x80
/* 801863B4 00182014 4E 80 00 20 */ blr
.global func_801863B8
func_801863B8:
/* 801863B8 00182018 94 21 FF 00 */ stwu r1, -0x100(r1)
/* 801863BC 0018201C 7C 08 02 A6 */ mflr r0
/* 801863C0 00182020 90 01 01 04 */ stw r0, 0x104(r1)
/* 801863C4 00182024 39 61 01 00 */ addi r11, r1, 0x100
/* 801863C8 00182028 48 04 0D 3D */ bl _savegpr_18
/* 801863CC 0018202C 7C 73 1B 78 */ mr r19, r3
/* 801863D0 00182030 7C 94 23 78 */ mr r20, r4
/* 801863D4 00182034 7C B5 2B 78 */ mr r21, r5
/* 801863D8 00182038 7C D6 33 78 */ mr r22, r6
/* 801863DC 0018203C 7C F7 3B 78 */ mr r23, r7
/* 801863E0 00182040 7D 18 43 78 */ mr r24, r8
/* 801863E4 00182044 7D 39 4B 78 */ mr r25, r9
/* 801863E8 00182048 7D 5A 53 78 */ mr r26, r10
/* 801863EC 0018204C 3B C1 00 48 */ addi r30, r1, 0x48
/* 801863F0 00182050 3B E1 00 08 */ addi r31, r1, 8
/* 801863F4 00182054 3B A0 00 00 */ li r29, 0
/* 801863F8 00182058 3B 80 00 00 */ li r28, 0
/* 801863FC 0018205C 48 00 00 D4 */ b lbl_801864D0
lbl_80186400:
/* 80186400 00182060 2C 13 00 00 */ cmpwi r19, 0
/* 80186404 00182064 41 82 00 C8 */ beq lbl_801864CC
/* 80186408 00182068 57 80 06 3E */ clrlwi r0, r28, 0x18
/* 8018640C 0018206C 80 97 00 00 */ lwz r4, 0(r23)
/* 80186410 00182070 1C 00 00 2C */ mulli r0, r0, 0x2c
/* 80186414 00182074 7C 73 00 2E */ lwzx r3, r19, r0
/* 80186418 00182078 7C B3 02 14 */ add r5, r19, r0
/* 8018641C 0018207C 7C 03 20 40 */ cmplw r3, r4
/* 80186420 00182080 41 82 00 10 */ beq lbl_80186430
/* 80186424 00182084 80 17 00 04 */ lwz r0, 4(r23)
/* 80186428 00182088 7C 03 00 40 */ cmplw r3, r0
/* 8018642C 0018208C 40 82 00 10 */ bne lbl_8018643C
lbl_80186430:
/* 80186430 00182090 80 05 00 04 */ lwz r0, 4(r5)
/* 80186434 00182094 7C 00 20 40 */ cmplw r0, r4
/* 80186438 00182098 41 82 00 14 */ beq lbl_8018644C
lbl_8018643C:
/* 8018643C 0018209C 80 65 00 04 */ lwz r3, 4(r5)
/* 80186440 001820A0 80 17 00 04 */ lwz r0, 4(r23)
/* 80186444 001820A4 7C 03 00 40 */ cmplw r3, r0
/* 80186448 001820A8 40 82 00 58 */ bne lbl_801864A0
lbl_8018644C:
/* 8018644C 001820AC 7E C3 B3 78 */ mr r3, r22
/* 80186450 001820B0 7F 04 C3 78 */ mr r4, r24
/* 80186454 001820B4 7E A6 AB 78 */ mr r6, r21
/* 80186458 001820B8 57 92 0D FC */ rlwinm r18, r28, 1, 0x17, 0x1e
/* 8018645C 001820BC 7F 47 07 74 */ extsb r7, r26
/* 80186460 001820C0 48 00 04 4D */ bl func_801868AC
/* 80186464 001820C4 7C 64 07 34 */ extsh r4, r3
/* 80186468 001820C8 7F A0 07 34 */ extsh r0, r29
/* 8018646C 001820CC 7C 00 20 00 */ cmpw r0, r4
/* 80186470 001820D0 7C 7E 93 2E */ sthx r3, r30, r18
/* 80186474 001820D4 40 80 00 14 */ bge lbl_80186488
/* 80186478 001820D8 9B 81 00 08 */ stb r28, 8(r1)
/* 8018647C 001820DC 7C 9D 23 78 */ mr r29, r4
/* 80186480 001820E0 3B 60 00 01 */ li r27, 1
/* 80186484 001820E4 48 00 00 1C */ b lbl_801864A0
lbl_80186488:
/* 80186488 001820E8 40 82 00 18 */ bne lbl_801864A0
/* 8018648C 001820EC 2C 00 00 00 */ cmpwi r0, 0
/* 80186490 001820F0 40 81 00 10 */ ble lbl_801864A0
/* 80186494 001820F4 57 60 06 3E */ clrlwi r0, r27, 0x18
/* 80186498 001820F8 3B 7B 00 01 */ addi r27, r27, 1
/* 8018649C 001820FC 7F 9F 01 AE */ stbx r28, r31, r0
lbl_801864A0:
/* 801864A0 00182100 4B FF 84 61 */ bl func_8017E900
/* 801864A4 00182104 54 65 04 3E */ clrlwi r5, r3, 0x10
/* 801864A8 00182108 57 64 06 3E */ clrlwi r4, r27, 0x18
/* 801864AC 0018210C 7C 05 23 D6 */ divw r0, r5, r4
/* 801864B0 00182110 7F 23 CB 78 */ mr r3, r25
/* 801864B4 00182114 7C 00 21 D6 */ mullw r0, r0, r4
/* 801864B8 00182118 7C 00 28 50 */ subf r0, r0, r5
/* 801864BC 0018211C 7C 1F 00 AE */ lbzx r0, r31, r0
/* 801864C0 00182120 1C 00 00 2C */ mulli r0, r0, 0x2c
/* 801864C4 00182124 7C 93 02 14 */ add r4, r19, r0
/* 801864C8 00182128 4B FF F5 15 */ bl func_801859DC
lbl_801864CC:
/* 801864CC 0018212C 3B 9C 00 01 */ addi r28, r28, 1
lbl_801864D0:
/* 801864D0 00182130 57 80 06 3E */ clrlwi r0, r28, 0x18
/* 801864D4 00182134 7C 00 A0 40 */ cmplw r0, r20
/* 801864D8 00182138 41 80 FF 28 */ blt lbl_80186400
/* 801864DC 0018213C 39 61 01 00 */ addi r11, r1, 0x100
/* 801864E0 00182140 7F A3 EB 78 */ mr r3, r29
/* 801864E4 00182144 48 04 0C 6D */ bl _restgpr_18
/* 801864E8 00182148 80 01 01 04 */ lwz r0, 0x104(r1)
/* 801864EC 0018214C 7C 08 03 A6 */ mtlr r0
/* 801864F0 00182150 38 21 01 00 */ addi r1, r1, 0x100
/* 801864F4 00182154 4E 80 00 20 */ blr
.global func_801864F8
func_801864F8:
/* 801864F8 00182158 7C 60 1B 78 */ mr r0, r3
/* 801864FC 0018215C 7C 86 23 78 */ mr r6, r4
/* 80186500 00182160 7C A3 2B 78 */ mr r3, r5
/* 80186504 00182164 7C E4 3B 78 */ mr r4, r7
/* 80186508 00182168 7C 05 03 78 */ mr r5, r0
/* 8018650C 0018216C 7D 07 07 74 */ extsb r7, r8
/* 80186510 00182170 48 00 03 9C */ b func_801868AC
.global func_80186514
func_80186514:
/* 80186514 00182174 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 80186518 00182178 7C 08 02 A6 */ mflr r0
/* 8018651C 0018217C 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 80186520 00182180 39 61 00 90 */ addi r11, r1, 0x90
/* 80186524 00182184 DB E1 00 98 */ stfd f31, 0x98(r1)
/* 80186528 00182188 DB C1 00 90 */ stfd f30, 0x90(r1)
/* 8018652C 0018218C 48 04 0B C9 */ bl __save_gpr
/* 80186530 00182190 2C 07 00 03 */ cmpwi r7, 3
/* 80186534 00182194 AB 06 00 00 */ lha r24, 0(r6)
/* 80186538 00182198 7C 6F 1B 78 */ mr r15, r3
/* 8018653C 0018219C 7C 90 23 78 */ mr r16, r4
/* 80186540 001821A0 7C B1 2B 78 */ mr r17, r5
/* 80186544 001821A4 7C D2 33 78 */ mr r18, r6
/* 80186548 001821A8 7C F3 3B 78 */ mr r19, r7
/* 8018654C 001821AC 3A 80 00 00 */ li r20, 0
/* 80186550 001821B0 41 82 00 A4 */ beq lbl_801865F4
/* 80186554 001821B4 40 80 00 14 */ bge lbl_80186568
/* 80186558 001821B8 2C 07 00 01 */ cmpwi r7, 1
/* 8018655C 001821BC 41 82 00 1C */ beq lbl_80186578
/* 80186560 001821C0 40 80 00 5C */ bge lbl_801865BC
/* 80186564 001821C4 48 00 01 1C */ b lbl_80186680
lbl_80186568:
/* 80186568 001821C8 2C 07 00 05 */ cmpwi r7, 5
/* 8018656C 001821CC 41 82 00 FC */ beq lbl_80186668
/* 80186570 001821D0 40 80 01 10 */ bge lbl_80186680
/* 80186574 001821D4 48 00 00 BC */ b lbl_80186630
lbl_80186578:
/* 80186578 001821D8 3C 80 80 42 */ lis r4, lbl_80421570@ha
/* 8018657C 001821DC 3A E0 00 06 */ li r23, 6
/* 80186580 001821E0 38 84 15 70 */ addi r4, r4, lbl_80421570@l
/* 80186584 001821E4 38 61 00 0C */ addi r3, r1, 0xc
/* 80186588 001821E8 38 C0 00 00 */ li r6, 0
/* 8018658C 001821EC 7E E9 03 A6 */ mtctr r23
lbl_80186590:
/* 80186590 001821F0 54 C5 0D FC */ rlwinm r5, r6, 1, 0x17, 0x1e
/* 80186594 001821F4 38 C6 00 01 */ addi r6, r6, 1
/* 80186598 001821F8 7C 04 2A 2E */ lhzx r0, r4, r5
/* 8018659C 001821FC 7C 03 2B 2E */ sthx r0, r3, r5
/* 801865A0 00182200 42 00 FF F0 */ bdnz lbl_80186590
/* 801865A4 00182204 38 60 00 0F */ li r3, 0xf
/* 801865A8 00182208 38 00 00 48 */ li r0, 0x48
/* 801865AC 0018220C B0 61 00 08 */ sth r3, 8(r1)
/* 801865B0 00182210 3A A0 00 02 */ li r21, 2
/* 801865B4 00182214 B0 01 00 0A */ sth r0, 0xa(r1)
/* 801865B8 00182218 48 00 00 C8 */ b lbl_80186680
lbl_801865BC:
/* 801865BC 0018221C 3A E0 00 03 */ li r23, 3
/* 801865C0 00182220 38 61 00 0C */ addi r3, r1, 0xc
/* 801865C4 00182224 38 C0 00 00 */ li r6, 0
/* 801865C8 00182228 38 8D 83 7E */ addi r4, r13, lbl_8063D63E-_SDA_BASE_
/* 801865CC 0018222C 7E E9 03 A6 */ mtctr r23
lbl_801865D0:
/* 801865D0 00182230 54 C5 0D FC */ rlwinm r5, r6, 1, 0x17, 0x1e
/* 801865D4 00182234 38 C6 00 01 */ addi r6, r6, 1
/* 801865D8 00182238 7C 04 2A 2E */ lhzx r0, r4, r5
/* 801865DC 0018223C 7C 03 2B 2E */ sthx r0, r3, r5
/* 801865E0 00182240 42 00 FF F0 */ bdnz lbl_801865D0
/* 801865E4 00182244 38 00 00 07 */ li r0, 7
/* 801865E8 00182248 3A A0 00 01 */ li r21, 1
/* 801865EC 0018224C B0 01 00 08 */ sth r0, 8(r1)
/* 801865F0 00182250 48 00 00 90 */ b lbl_80186680
lbl_801865F4:
/* 801865F4 00182254 3A E0 00 04 */ li r23, 4
/* 801865F8 00182258 38 61 00 0C */ addi r3, r1, 0xc
/* 801865FC 0018225C 38 C0 00 00 */ li r6, 0
/* 80186600 00182260 38 8D 83 76 */ addi r4, r13, lbl_8063D636-_SDA_BASE_
/* 80186604 00182264 7E E9 03 A6 */ mtctr r23
lbl_80186608:
/* 80186608 00182268 54 C5 0D FC */ rlwinm r5, r6, 1, 0x17, 0x1e
/* 8018660C 0018226C 38 C6 00 01 */ addi r6, r6, 1
/* 80186610 00182270 7C 04 2A 2E */ lhzx r0, r4, r5
/* 80186614 00182274 7C 03 2B 2E */ sthx r0, r3, r5
/* 80186618 00182278 42 00 FF F0 */ bdnz lbl_80186608
/* 8018661C 0018227C 38 00 00 14 */ li r0, 0x14
/* 80186620 00182280 7E 74 9B 78 */ mr r20, r19
/* 80186624 00182284 B0 01 00 08 */ sth r0, 8(r1)
/* 80186628 00182288 3A A0 00 01 */ li r21, 1
/* 8018662C 0018228C 48 00 00 54 */ b lbl_80186680
lbl_80186630:
/* 80186630 00182290 3A E0 00 03 */ li r23, 3
/* 80186634 00182294 38 61 00 0C */ addi r3, r1, 0xc
/* 80186638 00182298 38 C0 00 00 */ li r6, 0
/* 8018663C 0018229C 38 8D 83 70 */ addi r4, r13, lbl_8063D630-_SDA_BASE_
/* 80186640 001822A0 7E E9 03 A6 */ mtctr r23
lbl_80186644:
/* 80186644 001822A4 54 C5 0D FC */ rlwinm r5, r6, 1, 0x17, 0x1e
/* 80186648 001822A8 38 C6 00 01 */ addi r6, r6, 1
/* 8018664C 001822AC 7C 04 2A 2E */ lhzx r0, r4, r5
/* 80186650 001822B0 7C 03 2B 2E */ sthx r0, r3, r5
/* 80186654 001822B4 42 00 FF F0 */ bdnz lbl_80186644
/* 80186658 001822B8 38 00 00 11 */ li r0, 0x11
/* 8018665C 001822BC 3A A0 00 01 */ li r21, 1
/* 80186660 001822C0 B0 01 00 08 */ sth r0, 8(r1)
/* 80186664 001822C4 48 00 00 1C */ b lbl_80186680
lbl_80186668:
/* 80186668 001822C8 A0 6D 83 84 */ lhz r3, lbl_8063D644-_SDA_BASE_(r13)
/* 8018666C 001822CC 38 00 00 29 */ li r0, 0x29
/* 80186670 001822D0 B0 01 00 08 */ sth r0, 8(r1)
/* 80186674 001822D4 3A E0 00 01 */ li r23, 1
/* 80186678 001822D8 3A A0 00 01 */ li r21, 1
/* 8018667C 001822DC B0 61 00 0C */ sth r3, 0xc(r1)
lbl_80186680:
/* 80186680 001822E0 CB C2 90 A8 */ lfd f30, lbl_806416A8-_SDA2_BASE_(r2)
/* 80186684 001822E4 3B 80 00 00 */ li r28, 0
/* 80186688 001822E8 CB E2 90 A0 */ lfd f31, lbl_806416A0-_SDA2_BASE_(r2)
lbl_8018668C:
/* 8018668C 001822EC 57 9D 15 BA */ rlwinm r29, r28, 2, 0x16, 0x1d
/* 80186690 001822F0 7C 11 E8 2E */ lwzx r0, r17, r29
/* 80186694 001822F4 7F D1 EA 14 */ add r30, r17, r29
/* 80186698 001822F8 2C 00 00 00 */ cmpwi r0, 0
/* 8018669C 001822FC 41 82 01 E0 */ beq lbl_8018687C
/* 801866A0 00182300 57 83 0D FC */ rlwinm r3, r28, 1, 0x17, 0x1e
/* 801866A4 00182304 57 80 06 3E */ clrlwi r0, r28, 0x18
/* 801866A8 00182308 7D D1 1A 14 */ add r14, r17, r3
/* 801866AC 0018230C 3B 40 00 00 */ li r26, 0
/* 801866B0 00182310 7F F1 02 14 */ add r31, r17, r0
/* 801866B4 00182314 48 00 01 BC */ b lbl_80186870
lbl_801866B8:
/* 801866B8 00182318 57 40 0D FC */ rlwinm r0, r26, 1, 0x17, 0x1e
/* 801866BC 0018231C 38 61 00 0C */ addi r3, r1, 0xc
/* 801866C0 00182320 A0 8E 00 10 */ lhz r4, 0x10(r14)
/* 801866C4 00182324 7C 03 02 2E */ lhzx r0, r3, r0
/* 801866C8 00182328 7C 04 00 40 */ cmplw r4, r0
/* 801866CC 0018232C 40 82 01 A0 */ bne lbl_8018686C
/* 801866D0 00182330 88 1F 00 16 */ lbz r0, 0x16(r31)
/* 801866D4 00182334 2C 00 00 02 */ cmpwi r0, 2
/* 801866D8 00182338 41 82 00 A4 */ beq lbl_8018677C
/* 801866DC 0018233C 40 80 01 90 */ bge lbl_8018686C
/* 801866E0 00182340 2C 00 00 00 */ cmpwi r0, 0
/* 801866E4 00182344 40 80 00 0C */ bge lbl_801866F0
/* 801866E8 00182348 48 00 01 84 */ b lbl_8018686C
/* 801866EC 0018234C 48 00 01 80 */ b lbl_8018686C
lbl_801866F0:
/* 801866F0 00182350 80 9E 00 08 */ lwz r4, 8(r30)
/* 801866F4 00182354 2C 04 00 00 */ cmpwi r4, 0
/* 801866F8 00182358 41 82 01 74 */ beq lbl_8018686C
/* 801866FC 0018235C 2C 14 00 00 */ cmpwi r20, 0
/* 80186700 00182360 41 82 00 20 */ beq lbl_80186720
/* 80186704 00182364 7D E3 7B 78 */ mr r3, r15
/* 80186708 00182368 7E 85 A3 78 */ mr r5, r20
/* 8018670C 0018236C 4B FF A7 11 */ bl func_80180E1C
/* 80186710 00182370 28 03 00 01 */ cmplwi r3, 1
/* 80186714 00182374 40 82 00 24 */ bne lbl_80186738
/* 80186718 00182378 3B 00 00 00 */ li r24, 0
/* 8018671C 0018237C 48 00 00 1C */ b lbl_80186738
lbl_80186720:
/* 80186720 00182380 7D E3 7B 78 */ mr r3, r15
/* 80186724 00182384 7E 65 9B 78 */ mr r5, r19
/* 80186728 00182388 4B FF A6 99 */ bl func_80180DC0
/* 8018672C 0018238C 28 03 00 01 */ cmplwi r3, 1
/* 80186730 00182390 40 82 00 08 */ bne lbl_80186738
/* 80186734 00182394 3B 00 00 00 */ li r24, 0
lbl_80186738:
/* 80186738 00182398 3A C0 00 00 */ li r22, 0
/* 8018673C 0018239C 48 00 00 30 */ b lbl_8018676C
lbl_80186740:
/* 80186740 001823A0 56 C0 0D FC */ rlwinm r0, r22, 1, 0x17, 0x1e
/* 80186744 001823A4 38 61 00 08 */ addi r3, r1, 8
/* 80186748 001823A8 7C A3 02 2E */ lhzx r5, r3, r0
/* 8018674C 001823AC 7D E3 7B 78 */ mr r3, r15
/* 80186750 001823B0 80 9E 00 08 */ lwz r4, 8(r30)
/* 80186754 001823B4 4B FF C0 F5 */ bl func_80182848
/* 80186758 001823B8 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8018675C 001823BC 28 00 00 01 */ cmplwi r0, 1
/* 80186760 001823C0 41 80 00 08 */ blt lbl_80186768
/* 80186764 001823C4 3B 00 00 00 */ li r24, 0
lbl_80186768:
/* 80186768 001823C8 3A D6 00 01 */ addi r22, r22, 1
lbl_8018676C:
/* 8018676C 001823CC 56 C0 06 3E */ clrlwi r0, r22, 0x18
/* 80186770 001823D0 7C 00 A8 40 */ cmplw r0, r21
/* 80186774 001823D4 41 80 FF CC */ blt lbl_80186740
/* 80186778 001823D8 48 00 00 F4 */ b lbl_8018686C
lbl_8018677C:
/* 8018677C 001823DC 3A C0 00 00 */ li r22, 0
/* 80186780 001823E0 3B 20 00 00 */ li r25, 0
lbl_80186784:
/* 80186784 001823E4 57 20 15 BA */ rlwinm r0, r25, 2, 0x16, 0x1d
/* 80186788 001823E8 7C 90 00 2E */ lwzx r4, r16, r0
/* 8018678C 001823EC 2C 04 00 00 */ cmpwi r4, 0
/* 80186790 001823F0 41 82 00 88 */ beq lbl_80186818
/* 80186794 001823F4 2C 14 00 00 */ cmpwi r20, 0
/* 80186798 001823F8 41 82 00 20 */ beq lbl_801867B8
/* 8018679C 001823FC 7D E3 7B 78 */ mr r3, r15
/* 801867A0 00182400 7E 85 A3 78 */ mr r5, r20
/* 801867A4 00182404 4B FF A6 79 */ bl func_80180E1C
/* 801867A8 00182408 28 03 00 01 */ cmplwi r3, 1
/* 801867AC 0018240C 40 82 00 28 */ bne lbl_801867D4
/* 801867B0 00182410 3A D6 00 01 */ addi r22, r22, 1
/* 801867B4 00182414 48 00 00 70 */ b lbl_80186824
lbl_801867B8:
/* 801867B8 00182418 7D E3 7B 78 */ mr r3, r15
/* 801867BC 0018241C 7E 65 9B 78 */ mr r5, r19
/* 801867C0 00182420 4B FF A6 01 */ bl func_80180DC0
/* 801867C4 00182424 28 03 00 01 */ cmplwi r3, 1
/* 801867C8 00182428 40 82 00 0C */ bne lbl_801867D4
/* 801867CC 0018242C 3A D6 00 01 */ addi r22, r22, 1
/* 801867D0 00182430 48 00 00 54 */ b lbl_80186824
lbl_801867D4:
/* 801867D4 00182434 3B 60 00 00 */ li r27, 0
/* 801867D8 00182438 48 00 00 34 */ b lbl_8018680C
lbl_801867DC:
/* 801867DC 0018243C 57 60 0D FC */ rlwinm r0, r27, 1, 0x17, 0x1e
/* 801867E0 00182440 38 61 00 08 */ addi r3, r1, 8
/* 801867E4 00182444 7C A3 02 2E */ lhzx r5, r3, r0
/* 801867E8 00182448 7D E3 7B 78 */ mr r3, r15
/* 801867EC 0018244C 7C 90 E8 2E */ lwzx r4, r16, r29
/* 801867F0 00182450 4B FF C0 59 */ bl func_80182848
/* 801867F4 00182454 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 801867F8 00182458 28 00 00 01 */ cmplwi r0, 1
/* 801867FC 0018245C 41 80 00 0C */ blt lbl_80186808
/* 80186800 00182460 3A D6 00 01 */ addi r22, r22, 1
/* 80186804 00182464 48 00 00 14 */ b lbl_80186818
lbl_80186808:
/* 80186808 00182468 3B 7B 00 01 */ addi r27, r27, 1
lbl_8018680C:
/* 8018680C 0018246C 57 60 06 3E */ clrlwi r0, r27, 0x18
/* 80186810 00182470 7C 00 A8 40 */ cmplw r0, r21
/* 80186814 00182474 41 80 FF C8 */ blt lbl_801867DC
lbl_80186818:
/* 80186818 00182478 3B 39 00 01 */ addi r25, r25, 1
/* 8018681C 0018247C 28 19 00 02 */ cmplwi r25, 2
/* 80186820 00182480 41 80 FF 64 */ blt lbl_80186784
lbl_80186824:
/* 80186824 00182484 56 C0 06 3E */ clrlwi r0, r22, 0x18
/* 80186828 00182488 28 00 00 02 */ cmplwi r0, 2
/* 8018682C 0018248C 41 80 00 0C */ blt lbl_80186838
/* 80186830 00182490 3B 00 00 00 */ li r24, 0
/* 80186834 00182494 48 00 00 38 */ b lbl_8018686C
lbl_80186838:
/* 80186838 00182498 28 00 00 01 */ cmplwi r0, 1
/* 8018683C 0018249C 40 82 00 30 */ bne lbl_8018686C
/* 80186840 001824A0 3C 00 43 30 */ lis r0, 0x4330
/* 80186844 001824A4 7F 03 07 34 */ extsh r3, r24
/* 80186848 001824A8 90 01 00 38 */ stw r0, 0x38(r1)
/* 8018684C 001824AC 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 80186850 001824B0 90 01 00 3C */ stw r0, 0x3c(r1)
/* 80186854 001824B4 C8 01 00 38 */ lfd f0, 0x38(r1)
/* 80186858 001824B8 FC 00 F0 28 */ fsub f0, f0, f30
/* 8018685C 001824BC FC 00 07 F2 */ fmul f0, f0, f31
/* 80186860 001824C0 FC 00 00 1E */ fctiwz f0, f0
/* 80186864 001824C4 D8 01 00 40 */ stfd f0, 0x40(r1)
/* 80186868 001824C8 83 01 00 44 */ lwz r24, 0x44(r1)
lbl_8018686C:
/* 8018686C 001824CC 3B 5A 00 01 */ addi r26, r26, 1
lbl_80186870:
/* 80186870 001824D0 57 40 06 3E */ clrlwi r0, r26, 0x18
/* 80186874 001824D4 7C 00 B8 40 */ cmplw r0, r23
/* 80186878 001824D8 41 80 FE 40 */ blt lbl_801866B8
lbl_8018687C:
/* 8018687C 001824DC 3B 9C 00 01 */ addi r28, r28, 1
/* 80186880 001824E0 28 1C 00 02 */ cmplwi r28, 2
/* 80186884 001824E4 41 80 FE 08 */ blt lbl_8018668C
/* 80186888 001824E8 B3 12 00 00 */ sth r24, 0(r18)
/* 8018688C 001824EC CB E1 00 98 */ lfd f31, 0x98(r1)
/* 80186890 001824F0 CB C1 00 90 */ lfd f30, 0x90(r1)
/* 80186894 001824F4 39 61 00 90 */ addi r11, r1, 0x90
/* 80186898 001824F8 48 04 08 A9 */ bl __restore_gpr
/* 8018689C 001824FC 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 801868A0 00182500 7C 08 03 A6 */ mtlr r0
/* 801868A4 00182504 38 21 00 A0 */ addi r1, r1, 0xa0
/* 801868A8 00182508 4E 80 00 20 */ blr
.global func_801868AC
func_801868AC:
/* 801868AC 0018250C 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 801868B0 00182510 7C 08 02 A6 */ mflr r0
/* 801868B4 00182514 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 801868B8 00182518 39 61 00 90 */ addi r11, r1, 0x90
/* 801868BC 0018251C DB E1 00 98 */ stfd f31, 0x98(r1)
/* 801868C0 00182520 DB C1 00 90 */ stfd f30, 0x90(r1)
/* 801868C4 00182524 48 04 08 31 */ bl __save_gpr
/* 801868C8 00182528 7C 7F 1B 78 */ mr r31, r3
/* 801868CC 0018252C 80 6D 9F 88 */ lwz r3, lbl_8063F248-_SDA_BASE_(r13)
/* 801868D0 00182530 7C 97 23 78 */ mr r23, r4
/* 801868D4 00182534 7C AF 2B 78 */ mr r15, r5
/* 801868D8 00182538 7C CE 33 78 */ mr r14, r6
/* 801868DC 0018253C 7C F0 3B 78 */ mr r16, r7
/* 801868E0 00182540 7F E4 FB 78 */ mr r4, r31
/* 801868E4 00182544 38 A1 00 10 */ addi r5, r1, 0x10
/* 801868E8 00182548 38 C0 00 00 */ li r6, 0
/* 801868EC 0018254C 38 E0 00 01 */ li r7, 1
/* 801868F0 00182550 48 03 9A B1 */ bl func_801C03A0
/* 801868F4 00182554 88 AF 00 18 */ lbz r5, 0x18(r15)
/* 801868F8 00182558 7C 7D 1B 78 */ mr r29, r3
/* 801868FC 0018255C 88 8F 00 19 */ lbz r4, 0x19(r15)
/* 80186900 00182560 38 00 00 64 */ li r0, 0x64
/* 80186904 00182564 CB C2 90 A8 */ lfd f30, lbl_806416A8-_SDA2_BASE_(r2)
/* 80186908 00182568 3A 20 00 00 */ li r17, 0
/* 8018690C 0018256C 7C 65 22 14 */ add r3, r5, r4
/* 80186910 00182570 CB E2 90 A0 */ lfd f31, lbl_806416A0-_SDA2_BASE_(r2)
/* 80186914 00182574 7C 63 0E 70 */ srawi r3, r3, 1
/* 80186918 00182578 3E 80 43 30 */ lis r20, 0x4330
/* 8018691C 0018257C 7C 63 01 94 */ addze r3, r3
/* 80186920 00182580 7C 6E 19 D6 */ mullw r3, r14, r3
/* 80186924 00182584 7C 03 03 D6 */ divw r0, r3, r0
/* 80186928 00182588 54 0E 06 3E */ clrlwi r14, r0, 0x18
/* 8018692C 0018258C B1 C1 00 08 */ sth r14, 8(r1)
lbl_80186930:
/* 80186930 00182590 56 20 15 BA */ rlwinm r0, r17, 2, 0x16, 0x1d
/* 80186934 00182594 7E 6F 02 14 */ add r19, r15, r0
/* 80186938 00182598 7C 0F 00 2E */ lwzx r0, r15, r0
/* 8018693C 0018259C 2C 00 00 00 */ cmpwi r0, 0
/* 80186940 001825A0 41 82 00 F8 */ beq lbl_80186A38
/* 80186944 001825A4 56 20 0D FC */ rlwinm r0, r17, 1, 0x17, 0x1e
/* 80186948 001825A8 38 80 00 01 */ li r4, 1
/* 8018694C 001825AC 7E 4F 02 14 */ add r18, r15, r0
/* 80186950 001825B0 A0 72 00 10 */ lhz r3, 0x10(r18)
/* 80186954 001825B4 48 03 FC 61 */ bl func_801C65B4
/* 80186958 001825B8 28 03 00 01 */ cmplwi r3, 1
/* 8018695C 001825BC 40 82 00 DC */ bne lbl_80186A38
/* 80186960 001825C0 56 20 06 3E */ clrlwi r0, r17, 0x18
/* 80186964 001825C4 7C 6F 02 14 */ add r3, r15, r0
/* 80186968 001825C8 88 03 00 16 */ lbz r0, 0x16(r3)
/* 8018696C 001825CC 2C 00 00 02 */ cmpwi r0, 2
/* 80186970 001825D0 41 82 00 44 */ beq lbl_801869B4
/* 80186974 001825D4 40 80 00 C4 */ bge lbl_80186A38
/* 80186978 001825D8 2C 00 00 00 */ cmpwi r0, 0
/* 8018697C 001825DC 40 80 00 0C */ bge lbl_80186988
/* 80186980 001825E0 48 00 00 B8 */ b lbl_80186A38
/* 80186984 001825E4 48 00 00 B4 */ b lbl_80186A38
lbl_80186988:
/* 80186988 001825E8 80 B3 00 08 */ lwz r5, 8(r19)
/* 8018698C 001825EC 2C 05 00 00 */ cmpwi r5, 0
/* 80186990 001825F0 41 82 00 A8 */ beq lbl_80186A38
/* 80186994 001825F4 80 93 00 00 */ lwz r4, 0(r19)
/* 80186998 001825F8 7F E3 FB 78 */ mr r3, r31
/* 8018699C 001825FC A0 D2 00 10 */ lhz r6, 0x10(r18)
/* 801869A0 00182600 4B FF DD 35 */ bl func_801846D4
/* 801869A4 00182604 2C 03 00 00 */ cmpwi r3, 0
/* 801869A8 00182608 40 82 00 90 */ bne lbl_80186A38
/* 801869AC 0018260C 39 C0 00 00 */ li r14, 0
/* 801869B0 00182610 48 00 00 88 */ b lbl_80186A38
lbl_801869B4:
/* 801869B4 00182614 3A A0 00 00 */ li r21, 0
/* 801869B8 00182618 3A C0 00 00 */ li r22, 0
lbl_801869BC:
/* 801869BC 0018261C 56 C0 15 BA */ rlwinm r0, r22, 2, 0x16, 0x1d
/* 801869C0 00182620 7C B7 00 2E */ lwzx r5, r23, r0
/* 801869C4 00182624 2C 05 00 00 */ cmpwi r5, 0
/* 801869C8 00182628 41 82 00 24 */ beq lbl_801869EC
/* 801869CC 0018262C 80 93 00 00 */ lwz r4, 0(r19)
/* 801869D0 00182630 7F E3 FB 78 */ mr r3, r31
/* 801869D4 00182634 A0 D2 00 10 */ lhz r6, 0x10(r18)
/* 801869D8 00182638 4B FF DC FD */ bl func_801846D4
/* 801869DC 0018263C 2C 03 00 00 */ cmpwi r3, 0
/* 801869E0 00182640 40 82 00 0C */ bne lbl_801869EC
/* 801869E4 00182644 3A A0 00 01 */ li r21, 1
/* 801869E8 00182648 48 00 00 10 */ b lbl_801869F8
lbl_801869EC:
/* 801869EC 0018264C 3A D6 00 01 */ addi r22, r22, 1
/* 801869F0 00182650 28 16 00 02 */ cmplwi r22, 2
/* 801869F4 00182654 41 80 FF C8 */ blt lbl_801869BC
lbl_801869F8:
/* 801869F8 00182658 28 15 00 02 */ cmplwi r21, 2
/* 801869FC 0018265C 41 80 00 0C */ blt lbl_80186A08
/* 80186A00 00182660 39 C0 00 00 */ li r14, 0
/* 80186A04 00182664 48 00 00 34 */ b lbl_80186A38
lbl_80186A08:
/* 80186A08 00182668 28 15 00 01 */ cmplwi r21, 1
/* 80186A0C 0018266C 40 82 00 2C */ bne lbl_80186A38
/* 80186A10 00182670 7D C0 07 34 */ extsh r0, r14
/* 80186A14 00182674 92 81 00 30 */ stw r20, 0x30(r1)
/* 80186A18 00182678 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80186A1C 0018267C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80186A20 00182680 C8 01 00 30 */ lfd f0, 0x30(r1)
/* 80186A24 00182684 FC 00 F0 28 */ fsub f0, f0, f30
/* 80186A28 00182688 FC 00 07 F2 */ fmul f0, f0, f31
/* 80186A2C 0018268C FC 00 00 1E */ fctiwz f0, f0
/* 80186A30 00182690 D8 01 00 38 */ stfd f0, 0x38(r1)
/* 80186A34 00182694 81 C1 00 3C */ lwz r14, 0x3c(r1)
lbl_80186A38:
/* 80186A38 00182698 3A 31 00 01 */ addi r17, r17, 1
/* 80186A3C 0018269C 28 11 00 02 */ cmplwi r17, 2
/* 80186A40 001826A0 41 80 FE F0 */ blt lbl_80186930
/* 80186A44 001826A4 B1 C1 00 08 */ sth r14, 8(r1)
/* 80186A48 001826A8 7F E3 FB 78 */ mr r3, r31
/* 80186A4C 001826AC 7E E4 BB 78 */ mr r4, r23
/* 80186A50 001826B0 7D E5 7B 78 */ mr r5, r15
/* 80186A54 001826B4 38 C1 00 08 */ addi r6, r1, 8
/* 80186A58 001826B8 38 E0 00 01 */ li r7, 1
/* 80186A5C 001826BC 4B FF FA B9 */ bl func_80186514
/* 80186A60 001826C0 7F E3 FB 78 */ mr r3, r31
/* 80186A64 001826C4 7E E4 BB 78 */ mr r4, r23
/* 80186A68 001826C8 7D E5 7B 78 */ mr r5, r15
/* 80186A6C 001826CC 38 C1 00 08 */ addi r6, r1, 8
/* 80186A70 001826D0 38 E0 00 02 */ li r7, 2
/* 80186A74 001826D4 4B FF FA A1 */ bl func_80186514
/* 80186A78 001826D8 7F E3 FB 78 */ mr r3, r31
/* 80186A7C 001826DC 7E E4 BB 78 */ mr r4, r23
/* 80186A80 001826E0 7D E5 7B 78 */ mr r5, r15
/* 80186A84 001826E4 38 C1 00 08 */ addi r6, r1, 8
/* 80186A88 001826E8 38 E0 00 03 */ li r7, 3
/* 80186A8C 001826EC 4B FF FA 89 */ bl func_80186514
/* 80186A90 001826F0 7F E3 FB 78 */ mr r3, r31
/* 80186A94 001826F4 7E E4 BB 78 */ mr r4, r23
/* 80186A98 001826F8 7D E5 7B 78 */ mr r5, r15
/* 80186A9C 001826FC 38 C1 00 08 */ addi r6, r1, 8
/* 80186AA0 00182700 38 E0 00 04 */ li r7, 4
/* 80186AA4 00182704 4B FF FA 71 */ bl func_80186514
/* 80186AA8 00182708 7F E3 FB 78 */ mr r3, r31
/* 80186AAC 0018270C 7E E4 BB 78 */ mr r4, r23
/* 80186AB0 00182710 7D E5 7B 78 */ mr r5, r15
/* 80186AB4 00182714 38 C1 00 08 */ addi r6, r1, 8
/* 80186AB8 00182718 38 E0 00 05 */ li r7, 5
/* 80186ABC 0018271C 4B FF FA 59 */ bl func_80186514
/* 80186AC0 00182720 38 60 00 1D */ li r3, 0x1d
/* 80186AC4 00182724 38 00 00 49 */ li r0, 0x49
/* 80186AC8 00182728 3F C0 80 42 */ lis r30, lbl_804215DC@ha
/* 80186ACC 0018272C B0 61 00 0A */ sth r3, 0xa(r1)
/* 80186AD0 00182730 AA C1 00 08 */ lha r22, 8(r1)
/* 80186AD4 00182734 3B DE 15 DC */ addi r30, r30, lbl_804215DC@l
/* 80186AD8 00182738 B0 01 00 0C */ sth r0, 0xc(r1)
/* 80186ADC 0018273C 3B 00 00 00 */ li r24, 0
/* 80186AE0 00182740 39 C0 00 34 */ li r14, 0x34
lbl_80186AE4:
/* 80186AE4 00182744 57 00 15 BA */ rlwinm r0, r24, 2, 0x16, 0x1d
/* 80186AE8 00182748 7E 6F 02 14 */ add r19, r15, r0
/* 80186AEC 0018274C 7C 0F 00 2E */ lwzx r0, r15, r0
/* 80186AF0 00182750 2C 00 00 00 */ cmpwi r0, 0
/* 80186AF4 00182754 41 82 02 B0 */ beq lbl_80186DA4
/* 80186AF8 00182758 57 03 0D FC */ rlwinm r3, r24, 1, 0x17, 0x1e
/* 80186AFC 0018275C 57 00 06 3E */ clrlwi r0, r24, 0x18
/* 80186B00 00182760 7E AF 1A 14 */ add r21, r15, r3
/* 80186B04 00182764 3B 20 00 00 */ li r25, 0
/* 80186B08 00182768 7E 8F 02 14 */ add r20, r15, r0
lbl_80186B0C:
/* 80186B0C 0018276C 57 20 06 3E */ clrlwi r0, r25, 0x18
/* 80186B10 00182770 A0 75 00 10 */ lhz r3, 0x10(r21)
/* 80186B14 00182774 1C 00 00 06 */ mulli r0, r0, 6
/* 80186B18 00182778 7E 5E 02 14 */ add r18, r30, r0
/* 80186B1C 0018277C 7C 1E 02 2E */ lhzx r0, r30, r0
/* 80186B20 00182780 7C 03 00 40 */ cmplw r3, r0
/* 80186B24 00182784 40 82 02 74 */ bne lbl_80186D98
/* 80186B28 00182788 88 14 00 16 */ lbz r0, 0x16(r20)
/* 80186B2C 0018278C 2C 00 00 02 */ cmpwi r0, 2
/* 80186B30 00182790 41 82 01 38 */ beq lbl_80186C68
/* 80186B34 00182794 40 80 02 64 */ bge lbl_80186D98
/* 80186B38 00182798 2C 00 00 00 */ cmpwi r0, 0
/* 80186B3C 0018279C 40 80 00 0C */ bge lbl_80186B48
/* 80186B40 001827A0 48 00 02 58 */ b lbl_80186D98
/* 80186B44 001827A4 48 00 02 54 */ b lbl_80186D98
lbl_80186B48:
/* 80186B48 001827A8 80 93 00 08 */ lwz r4, 8(r19)
/* 80186B4C 001827AC 2C 04 00 00 */ cmpwi r4, 0
/* 80186B50 001827B0 41 82 02 48 */ beq lbl_80186D98
/* 80186B54 001827B4 A0 12 00 02 */ lhz r0, 2(r18)
/* 80186B58 001827B8 28 00 00 07 */ cmplwi r0, 7
/* 80186B5C 001827BC 41 81 00 B0 */ bgt lbl_80186C0C
/* 80186B60 001827C0 3C 60 80 42 */ lis r3, lbl_80421774@ha
/* 80186B64 001827C4 54 00 10 3A */ slwi r0, r0, 2
/* 80186B68 001827C8 38 63 17 74 */ addi r3, r3, lbl_80421774@l
/* 80186B6C 001827CC 7C 63 00 2E */ lwzx r3, r3, r0
/* 80186B70 001827D0 7C 69 03 A6 */ mtctr r3
/* 80186B74 001827D4 4E 80 04 20 */ bctr
/* 80186B78 001827D8 7F E3 FB 78 */ mr r3, r31
/* 80186B7C 001827DC 4B FF AC 55 */ bl func_801817D0
/* 80186B80 001827E0 B1 C1 00 0E */ sth r14, 0xe(r1)
/* 80186B84 001827E4 7C 7C 1B 78 */ mr r28, r3
/* 80186B88 001827E8 3B 60 00 03 */ li r27, 3
/* 80186B8C 001827EC 48 00 00 80 */ b lbl_80186C0C
/* 80186B90 001827F0 7F E3 FB 78 */ mr r3, r31
/* 80186B94 001827F4 4B FF AC 5D */ bl func_801817F0
/* 80186B98 001827F8 7C 7C 1B 78 */ mr r28, r3
/* 80186B9C 001827FC 3B 60 00 02 */ li r27, 2
/* 80186BA0 00182800 48 00 00 6C */ b lbl_80186C0C
/* 80186BA4 00182804 7F E3 FB 78 */ mr r3, r31
/* 80186BA8 00182808 4B FF AC A9 */ bl func_80181850
/* 80186BAC 0018280C 7C 7C 1B 78 */ mr r28, r3
/* 80186BB0 00182810 3B 60 00 02 */ li r27, 2
/* 80186BB4 00182814 48 00 00 58 */ b lbl_80186C0C
/* 80186BB8 00182818 7F E3 FB 78 */ mr r3, r31
/* 80186BBC 0018281C 4B FF AC 55 */ bl func_80181810
/* 80186BC0 00182820 7C 7C 1B 78 */ mr r28, r3
/* 80186BC4 00182824 3B 60 00 02 */ li r27, 2
/* 80186BC8 00182828 48 00 00 44 */ b lbl_80186C0C
/* 80186BCC 0018282C 7F E3 FB 78 */ mr r3, r31
/* 80186BD0 00182830 4B FF AC 61 */ bl func_80181830
/* 80186BD4 00182834 7C 7C 1B 78 */ mr r28, r3
/* 80186BD8 00182838 3B 60 00 02 */ li r27, 2
/* 80186BDC 0018283C 48 00 00 30 */ b lbl_80186C0C
/* 80186BE0 00182840 7F E3 FB 78 */ mr r3, r31
/* 80186BE4 00182844 4B FF AC 75 */ bl func_80181858
/* 80186BE8 00182848 38 00 00 33 */ li r0, 0x33
/* 80186BEC 0018284C 7C 7C 1B 78 */ mr r28, r3
/* 80186BF0 00182850 B0 01 00 0E */ sth r0, 0xe(r1)
/* 80186BF4 00182854 3B 60 00 03 */ li r27, 3
/* 80186BF8 00182858 48 00 00 14 */ b lbl_80186C0C
/* 80186BFC 0018285C 7F E3 FB 78 */ mr r3, r31
/* 80186C00 00182860 4B FF AC 79 */ bl func_80181878
/* 80186C04 00182864 7C 7C 1B 78 */ mr r28, r3
/* 80186C08 00182868 3B 60 00 02 */ li r27, 2
lbl_80186C0C:
/* 80186C0C 0018286C A0 72 00 04 */ lhz r3, 4(r18)
/* 80186C10 00182870 57 80 06 3E */ clrlwi r0, r28, 0x18
/* 80186C14 00182874 38 63 FF FF */ addi r3, r3, -1
/* 80186C18 00182878 7C 03 00 51 */ subf. r0, r3, r0
/* 80186C1C 0018287C 41 81 00 08 */ bgt lbl_80186C24
/* 80186C20 00182880 3A C0 00 00 */ li r22, 0
lbl_80186C24:
/* 80186C24 00182884 3A 20 00 00 */ li r17, 0
/* 80186C28 00182888 48 00 00 30 */ b lbl_80186C58
lbl_80186C2C:
/* 80186C2C 0018288C 56 20 0D FC */ rlwinm r0, r17, 1, 0x17, 0x1e
/* 80186C30 00182890 38 61 00 0A */ addi r3, r1, 0xa
/* 80186C34 00182894 7C A3 02 2E */ lhzx r5, r3, r0
/* 80186C38 00182898 7F E3 FB 78 */ mr r3, r31
/* 80186C3C 0018289C 80 93 00 08 */ lwz r4, 8(r19)
/* 80186C40 001828A0 4B FF BC 09 */ bl func_80182848
/* 80186C44 001828A4 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80186C48 001828A8 28 00 00 01 */ cmplwi r0, 1
/* 80186C4C 001828AC 41 80 00 08 */ blt lbl_80186C54
/* 80186C50 001828B0 3A C0 00 00 */ li r22, 0
lbl_80186C54:
/* 80186C54 001828B4 3A 31 00 01 */ addi r17, r17, 1
lbl_80186C58:
/* 80186C58 001828B8 56 20 06 3E */ clrlwi r0, r17, 0x18
/* 80186C5C 001828BC 7C 00 D8 40 */ cmplw r0, r27
/* 80186C60 001828C0 41 80 FF CC */ blt lbl_80186C2C
/* 80186C64 001828C4 48 00 01 34 */ b lbl_80186D98
lbl_80186C68:
/* 80186C68 001828C8 3A 20 00 00 */ li r17, 0
lbl_80186C6C:
/* 80186C6C 001828CC 56 20 15 BA */ rlwinm r0, r17, 2, 0x16, 0x1d
/* 80186C70 001828D0 7C 97 00 2E */ lwzx r4, r23, r0
/* 80186C74 001828D4 2C 04 00 00 */ cmpwi r4, 0
/* 80186C78 001828D8 41 82 01 14 */ beq lbl_80186D8C
/* 80186C7C 001828DC A0 12 00 02 */ lhz r0, 2(r18)
/* 80186C80 001828E0 28 00 00 07 */ cmplwi r0, 7
/* 80186C84 001828E4 41 81 00 B0 */ bgt lbl_80186D34
/* 80186C88 001828E8 3C 60 80 42 */ lis r3, lbl_80421754@ha
/* 80186C8C 001828EC 54 00 10 3A */ slwi r0, r0, 2
/* 80186C90 001828F0 38 63 17 54 */ addi r3, r3, lbl_80421754@l
/* 80186C94 001828F4 7C 63 00 2E */ lwzx r3, r3, r0
/* 80186C98 001828F8 7C 69 03 A6 */ mtctr r3
/* 80186C9C 001828FC 4E 80 04 20 */ bctr
/* 80186CA0 00182900 7F E3 FB 78 */ mr r3, r31
/* 80186CA4 00182904 4B FF AB 2D */ bl func_801817D0
/* 80186CA8 00182908 B1 C1 00 0E */ sth r14, 0xe(r1)
/* 80186CAC 0018290C 7C 7C 1B 78 */ mr r28, r3
/* 80186CB0 00182910 3B 60 00 03 */ li r27, 3
/* 80186CB4 00182914 48 00 00 80 */ b lbl_80186D34
/* 80186CB8 00182918 7F E3 FB 78 */ mr r3, r31
/* 80186CBC 0018291C 4B FF AB 35 */ bl func_801817F0
/* 80186CC0 00182920 7C 7C 1B 78 */ mr r28, r3
/* 80186CC4 00182924 3B 60 00 02 */ li r27, 2
/* 80186CC8 00182928 48 00 00 6C */ b lbl_80186D34
/* 80186CCC 0018292C 7F E3 FB 78 */ mr r3, r31
/* 80186CD0 00182930 4B FF AB 81 */ bl func_80181850
/* 80186CD4 00182934 7C 7C 1B 78 */ mr r28, r3
/* 80186CD8 00182938 3B 60 00 02 */ li r27, 2
/* 80186CDC 0018293C 48 00 00 58 */ b lbl_80186D34
/* 80186CE0 00182940 7F E3 FB 78 */ mr r3, r31
/* 80186CE4 00182944 4B FF AB 2D */ bl func_80181810
/* 80186CE8 00182948 7C 7C 1B 78 */ mr r28, r3
/* 80186CEC 0018294C 3B 60 00 02 */ li r27, 2
/* 80186CF0 00182950 48 00 00 44 */ b lbl_80186D34
/* 80186CF4 00182954 7F E3 FB 78 */ mr r3, r31
/* 80186CF8 00182958 4B FF AB 39 */ bl func_80181830
/* 80186CFC 0018295C 7C 7C 1B 78 */ mr r28, r3
/* 80186D00 00182960 3B 60 00 02 */ li r27, 2
/* 80186D04 00182964 48 00 00 30 */ b lbl_80186D34
/* 80186D08 00182968 7F E3 FB 78 */ mr r3, r31
/* 80186D0C 0018296C 4B FF AB 4D */ bl func_80181858
/* 80186D10 00182970 38 00 00 33 */ li r0, 0x33
/* 80186D14 00182974 7C 7C 1B 78 */ mr r28, r3
/* 80186D18 00182978 B0 01 00 0E */ sth r0, 0xe(r1)
/* 80186D1C 0018297C 3B 60 00 03 */ li r27, 3
/* 80186D20 00182980 48 00 00 14 */ b lbl_80186D34
/* 80186D24 00182984 7F E3 FB 78 */ mr r3, r31
/* 80186D28 00182988 4B FF AB 51 */ bl func_80181878
/* 80186D2C 0018298C 7C 7C 1B 78 */ mr r28, r3
/* 80186D30 00182990 3B 60 00 02 */ li r27, 2
lbl_80186D34:
/* 80186D34 00182994 A0 72 00 04 */ lhz r3, 4(r18)
/* 80186D38 00182998 57 80 06 3E */ clrlwi r0, r28, 0x18
/* 80186D3C 0018299C 38 63 FF FF */ addi r3, r3, -1
/* 80186D40 001829A0 7C 03 00 51 */ subf. r0, r3, r0
/* 80186D44 001829A4 41 81 00 08 */ bgt lbl_80186D4C
/* 80186D48 001829A8 3A C0 00 00 */ li r22, 0
lbl_80186D4C:
/* 80186D4C 001829AC 3B 40 00 00 */ li r26, 0
/* 80186D50 001829B0 48 00 00 30 */ b lbl_80186D80
lbl_80186D54:
/* 80186D54 001829B4 57 40 0D FC */ rlwinm r0, r26, 1, 0x17, 0x1e
/* 80186D58 001829B8 38 61 00 0A */ addi r3, r1, 0xa
/* 80186D5C 001829BC 7C A3 02 2E */ lhzx r5, r3, r0
/* 80186D60 001829C0 7F E3 FB 78 */ mr r3, r31
/* 80186D64 001829C4 80 93 00 08 */ lwz r4, 8(r19)
/* 80186D68 001829C8 4B FF BA E1 */ bl func_80182848
/* 80186D6C 001829CC 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80186D70 001829D0 28 00 00 01 */ cmplwi r0, 1
/* 80186D74 001829D4 41 80 00 08 */ blt lbl_80186D7C
/* 80186D78 001829D8 3A C0 00 00 */ li r22, 0
lbl_80186D7C:
/* 80186D7C 001829DC 3B 5A 00 01 */ addi r26, r26, 1
lbl_80186D80:
/* 80186D80 001829E0 57 40 06 3E */ clrlwi r0, r26, 0x18
/* 80186D84 001829E4 7C 00 D8 40 */ cmplw r0, r27
/* 80186D88 001829E8 41 80 FF CC */ blt lbl_80186D54
lbl_80186D8C:
/* 80186D8C 001829EC 3A 31 00 01 */ addi r17, r17, 1
/* 80186D90 001829F0 28 11 00 02 */ cmplwi r17, 2
/* 80186D94 001829F4 41 80 FE D8 */ blt lbl_80186C6C
lbl_80186D98:
/* 80186D98 001829F8 3B 39 00 01 */ addi r25, r25, 1
/* 80186D9C 001829FC 28 19 00 10 */ cmplwi r25, 0x10
/* 80186DA0 00182A00 41 80 FD 6C */ blt lbl_80186B0C
lbl_80186DA4:
/* 80186DA4 00182A04 3B 18 00 01 */ addi r24, r24, 1
/* 80186DA8 00182A08 28 18 00 02 */ cmplwi r24, 2
/* 80186DAC 00182A0C 41 80 FD 38 */ blt lbl_80186AE4
/* 80186DB0 00182A10 3D C0 80 42 */ lis r14, lbl_8042157C@ha
/* 80186DB4 00182A14 B2 C1 00 08 */ sth r22, 8(r1)
/* 80186DB8 00182A18 3A 60 00 00 */ li r19, 0
/* 80186DBC 00182A1C 3F 00 80 42 */ lis r24, 0x8042
/* 80186DC0 00182A20 39 CE 15 7C */ addi r14, r14, lbl_8042157C@l
lbl_80186DC4:
/* 80186DC4 00182A24 56 71 15 BA */ rlwinm r17, r19, 2, 0x16, 0x1d
/* 80186DC8 00182A28 7C 0F 88 2E */ lwzx r0, r15, r17
/* 80186DCC 00182A2C 2C 00 00 00 */ cmpwi r0, 0
/* 80186DD0 00182A30 41 82 00 E8 */ beq lbl_80186EB8
/* 80186DD4 00182A34 56 60 0D FC */ rlwinm r0, r19, 1, 0x17, 0x1e
/* 80186DD8 00182A38 3A 40 00 00 */ li r18, 0
/* 80186DDC 00182A3C 7E 8F 02 14 */ add r20, r15, r0
lbl_80186DE0:
/* 80186DE0 00182A40 56 40 06 3E */ clrlwi r0, r18, 0x18
/* 80186DE4 00182A44 A0 74 00 10 */ lhz r3, 0x10(r20)
/* 80186DE8 00182A48 1C 00 00 06 */ mulli r0, r0, 6
/* 80186DEC 00182A4C 7E AE 02 14 */ add r21, r14, r0
/* 80186DF0 00182A50 7C 0E 02 2E */ lhzx r0, r14, r0
/* 80186DF4 00182A54 7C 03 00 40 */ cmplw r3, r0
/* 80186DF8 00182A58 40 82 00 B4 */ bne lbl_80186EAC
/* 80186DFC 00182A5C 7C 8F 88 2E */ lwzx r4, r15, r17
/* 80186E00 00182A60 2C 04 00 00 */ cmpwi r4, 0
/* 80186E04 00182A64 41 82 00 A8 */ beq lbl_80186EAC
/* 80186E08 00182A68 A0 15 00 02 */ lhz r0, 2(r21)
/* 80186E0C 00182A6C 28 00 00 07 */ cmplwi r0, 7
/* 80186E10 00182A70 41 81 00 84 */ bgt lbl_80186E94
/* 80186E14 00182A74 38 78 17 34 */ addi r3, r24, 0x1734
/* 80186E18 00182A78 54 00 10 3A */ slwi r0, r0, 2
/* 80186E1C 00182A7C 7C 63 00 2E */ lwzx r3, r3, r0
/* 80186E20 00182A80 7C 69 03 A6 */ mtctr r3
/* 80186E24 00182A84 4E 80 04 20 */ bctr
/* 80186E28 00182A88 7F E3 FB 78 */ mr r3, r31
/* 80186E2C 00182A8C 4B FF A9 A5 */ bl func_801817D0
/* 80186E30 00182A90 7C 77 1B 78 */ mr r23, r3
/* 80186E34 00182A94 48 00 00 60 */ b lbl_80186E94
/* 80186E38 00182A98 7F E3 FB 78 */ mr r3, r31
/* 80186E3C 00182A9C 4B FF A9 B5 */ bl func_801817F0
/* 80186E40 00182AA0 7C 77 1B 78 */ mr r23, r3
/* 80186E44 00182AA4 48 00 00 50 */ b lbl_80186E94
/* 80186E48 00182AA8 7F E3 FB 78 */ mr r3, r31
/* 80186E4C 00182AAC 4B FF AA 05 */ bl func_80181850
/* 80186E50 00182AB0 7C 77 1B 78 */ mr r23, r3
/* 80186E54 00182AB4 48 00 00 40 */ b lbl_80186E94
/* 80186E58 00182AB8 7F E3 FB 78 */ mr r3, r31
/* 80186E5C 00182ABC 4B FF A9 B5 */ bl func_80181810
/* 80186E60 00182AC0 7C 77 1B 78 */ mr r23, r3
/* 80186E64 00182AC4 48 00 00 30 */ b lbl_80186E94
/* 80186E68 00182AC8 7F E3 FB 78 */ mr r3, r31
/* 80186E6C 00182ACC 4B FF A9 C5 */ bl func_80181830
/* 80186E70 00182AD0 7C 77 1B 78 */ mr r23, r3
/* 80186E74 00182AD4 48 00 00 20 */ b lbl_80186E94
/* 80186E78 00182AD8 7F E3 FB 78 */ mr r3, r31
/* 80186E7C 00182ADC 4B FF A9 DD */ bl func_80181858
/* 80186E80 00182AE0 7C 77 1B 78 */ mr r23, r3
/* 80186E84 00182AE4 48 00 00 10 */ b lbl_80186E94
/* 80186E88 00182AE8 7F E3 FB 78 */ mr r3, r31
/* 80186E8C 00182AEC 4B FF A9 ED */ bl func_80181878
/* 80186E90 00182AF0 7C 77 1B 78 */ mr r23, r3
lbl_80186E94:
/* 80186E94 00182AF4 A0 15 00 04 */ lhz r0, 4(r21)
/* 80186E98 00182AF8 56 E3 06 3E */ clrlwi r3, r23, 0x18
/* 80186E9C 00182AFC 7C 03 02 14 */ add r0, r3, r0
/* 80186EA0 00182B00 2C 00 00 0C */ cmpwi r0, 0xc
/* 80186EA4 00182B04 40 81 00 08 */ ble lbl_80186EAC
/* 80186EA8 00182B08 3A C0 00 00 */ li r22, 0
lbl_80186EAC:
/* 80186EAC 00182B0C 3A 52 00 01 */ addi r18, r18, 1
/* 80186EB0 00182B10 28 12 00 10 */ cmplwi r18, 0x10
/* 80186EB4 00182B14 41 80 FF 2C */ blt lbl_80186DE0
lbl_80186EB8:
/* 80186EB8 00182B18 3A 73 00 01 */ addi r19, r19, 1
/* 80186EBC 00182B1C 28 13 00 02 */ cmplwi r19, 2
/* 80186EC0 00182B20 41 80 FF 04 */ blt lbl_80186DC4
/* 80186EC4 00182B24 7E C0 07 35 */ extsh. r0, r22
/* 80186EC8 00182B28 B2 C1 00 08 */ sth r22, 8(r1)
/* 80186ECC 00182B2C 41 81 00 0C */ bgt lbl_80186ED8
/* 80186ED0 00182B30 38 60 00 00 */ li r3, 0
/* 80186ED4 00182B34 48 00 01 6C */ b lbl_80187040
lbl_80186ED8:
/* 80186ED8 00182B38 57 AE 04 3E */ clrlwi r14, r29, 0x10
/* 80186EDC 00182B3C 3A 20 00 00 */ li r17, 0
/* 80186EE0 00182B40 3A 60 00 0A */ li r19, 0xa
/* 80186EE4 00182B44 3A 40 00 02 */ li r18, 2
lbl_80186EE8:
/* 80186EE8 00182B48 28 0E 00 02 */ cmplwi r14, 2
/* 80186EEC 00182B4C 41 80 00 BC */ blt lbl_80186FA8
/* 80186EF0 00182B50 56 34 15 BA */ rlwinm r20, r17, 2, 0x16, 0x1d
/* 80186EF4 00182B54 7C 0F A0 2E */ lwzx r0, r15, r20
/* 80186EF8 00182B58 2C 00 00 00 */ cmpwi r0, 0
/* 80186EFC 00182B5C 41 82 01 24 */ beq lbl_80187020
/* 80186F00 00182B60 56 20 0D FC */ rlwinm r0, r17, 1, 0x17, 0x1e
/* 80186F04 00182B64 38 80 00 01 */ li r4, 1
/* 80186F08 00182B68 7C 6F 02 14 */ add r3, r15, r0
/* 80186F0C 00182B6C A0 63 00 10 */ lhz r3, 0x10(r3)
/* 80186F10 00182B70 48 03 F6 A5 */ bl func_801C65B4
/* 80186F14 00182B74 28 03 00 01 */ cmplwi r3, 1
/* 80186F18 00182B78 40 82 00 90 */ bne lbl_80186FA8
/* 80186F1C 00182B7C 7C 8F A0 2E */ lwzx r4, r15, r20
/* 80186F20 00182B80 7F E3 FB 78 */ mr r3, r31
/* 80186F24 00182B84 80 A1 00 10 */ lwz r5, 0x10(r1)
/* 80186F28 00182B88 7E 06 83 78 */ mr r6, r16
/* 80186F2C 00182B8C 38 E0 00 00 */ li r7, 0
/* 80186F30 00182B90 39 00 FF FF */ li r8, -1
/* 80186F34 00182B94 39 20 FF FF */ li r9, -1
/* 80186F38 00182B98 4B FF D9 BD */ bl func_801848F4
/* 80186F3C 00182B9C 7C 8F A0 2E */ lwzx r4, r15, r20
/* 80186F40 00182BA0 7C 74 1B 78 */ mr r20, r3
/* 80186F44 00182BA4 80 A1 00 14 */ lwz r5, 0x14(r1)
/* 80186F48 00182BA8 7F E3 FB 78 */ mr r3, r31
/* 80186F4C 00182BAC 7E 06 83 78 */ mr r6, r16
/* 80186F50 00182BB0 38 E0 00 00 */ li r7, 0
/* 80186F54 00182BB4 39 00 FF FF */ li r8, -1
/* 80186F58 00182BB8 39 20 FF FF */ li r9, -1
/* 80186F5C 00182BBC 4B FF D9 99 */ bl func_801848F4
/* 80186F60 00182BC0 56 20 06 3E */ clrlwi r0, r17, 0x18
/* 80186F64 00182BC4 7C 8F 02 14 */ add r4, r15, r0
/* 80186F68 00182BC8 88 04 00 16 */ lbz r0, 0x16(r4)
/* 80186F6C 00182BCC 2C 00 00 01 */ cmpwi r0, 1
/* 80186F70 00182BD0 41 82 00 28 */ beq lbl_80186F98
/* 80186F74 00182BD4 40 80 00 34 */ bge lbl_80186FA8
/* 80186F78 00182BD8 2C 00 00 00 */ cmpwi r0, 0
/* 80186F7C 00182BDC 40 80 00 08 */ bge lbl_80186F84
/* 80186F80 00182BE0 48 00 00 28 */ b lbl_80186FA8
lbl_80186F84:
/* 80186F84 00182BE4 A8 81 00 08 */ lha r4, 8(r1)
/* 80186F88 00182BE8 7C 03 A0 50 */ subf r0, r3, r20
/* 80186F8C 00182BEC 7C 04 02 14 */ add r0, r4, r0
/* 80186F90 00182BF0 B0 01 00 08 */ sth r0, 8(r1)
/* 80186F94 00182BF4 48 00 00 14 */ b lbl_80186FA8
lbl_80186F98:
/* 80186F98 00182BF8 A8 81 00 08 */ lha r4, 8(r1)
/* 80186F9C 00182BFC 7C 14 18 50 */ subf r0, r20, r3
/* 80186FA0 00182C00 7C 04 02 14 */ add r0, r4, r0
/* 80186FA4 00182C04 B0 01 00 08 */ sth r0, 8(r1)
lbl_80186FA8:
/* 80186FA8 00182C08 56 20 0D FC */ rlwinm r0, r17, 1, 0x17, 0x1e
/* 80186FAC 00182C0C 3A 80 00 00 */ li r20, 0
/* 80186FB0 00182C10 7C 8F 02 14 */ add r4, r15, r0
/* 80186FB4 00182C14 38 A0 00 00 */ li r5, 0
/* 80186FB8 00182C18 7E 49 03 A6 */ mtctr r18
lbl_80186FBC:
/* 80186FBC 00182C1C 54 A0 15 BA */ rlwinm r0, r5, 2, 0x16, 0x1d
/* 80186FC0 00182C20 38 A5 00 01 */ addi r5, r5, 1
/* 80186FC4 00182C24 7C 64 02 14 */ add r3, r4, r0
/* 80186FC8 00182C28 A0 03 00 1C */ lhz r0, 0x1c(r3)
/* 80186FCC 00182C2C 7E 94 02 14 */ add r20, r20, r0
/* 80186FD0 00182C30 42 00 FF EC */ bdnz lbl_80186FBC
/* 80186FD4 00182C34 56 20 15 BA */ rlwinm r0, r17, 2, 0x16, 0x1d
/* 80186FD8 00182C38 7C 6F 02 14 */ add r3, r15, r0
/* 80186FDC 00182C3C 80 63 00 08 */ lwz r3, 8(r3)
/* 80186FE0 00182C40 2C 03 00 00 */ cmpwi r3, 0
/* 80186FE4 00182C44 41 82 00 3C */ beq lbl_80187020
/* 80186FE8 00182C48 48 03 CA E1 */ bl func_801C3AC8
/* 80186FEC 00182C4C 2C 03 00 00 */ cmpwi r3, 0
/* 80186FF0 00182C50 40 82 00 0C */ bne lbl_80186FFC
/* 80186FF4 00182C54 38 80 00 00 */ li r4, 0
/* 80186FF8 00182C58 48 00 00 08 */ b lbl_80187000
lbl_80186FFC:
/* 80186FFC 00182C5C A0 83 00 04 */ lhz r4, 4(r3)
lbl_80187000:
/* 80187000 00182C60 2C 04 00 00 */ cmpwi r4, 0
/* 80187004 00182C64 41 82 00 1C */ beq lbl_80187020
/* 80187008 00182C68 1C 14 00 64 */ mulli r0, r20, 0x64
/* 8018700C 00182C6C A8 61 00 08 */ lha r3, 8(r1)
/* 80187010 00182C70 7C 00 23 D6 */ divw r0, r0, r4
/* 80187014 00182C74 7C 00 9B D6 */ divw r0, r0, r19
/* 80187018 00182C78 7C 03 02 14 */ add r0, r3, r0
/* 8018701C 00182C7C B0 01 00 08 */ sth r0, 8(r1)
lbl_80187020:
/* 80187020 00182C80 3A 31 00 01 */ addi r17, r17, 1
/* 80187024 00182C84 28 11 00 02 */ cmplwi r17, 2
/* 80187028 00182C88 41 80 FE C0 */ blt lbl_80186EE8
/* 8018702C 00182C8C A8 01 00 08 */ lha r0, 8(r1)
/* 80187030 00182C90 2C 00 00 00 */ cmpwi r0, 0
/* 80187034 00182C94 40 80 00 08 */ bge lbl_8018703C
/* 80187038 00182C98 38 00 00 00 */ li r0, 0
lbl_8018703C:
/* 8018703C 00182C9C 7C 03 07 34 */ extsh r3, r0
lbl_80187040:
/* 80187040 00182CA0 39 61 00 90 */ addi r11, r1, 0x90
/* 80187044 00182CA4 CB E1 00 98 */ lfd f31, 0x98(r1)
/* 80187048 00182CA8 CB C1 00 90 */ lfd f30, 0x90(r1)
/* 8018704C 00182CAC 48 04 00 F5 */ bl __restore_gpr
/* 80187050 00182CB0 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 80187054 00182CB4 7C 08 03 A6 */ mtlr r0
/* 80187058 00182CB8 38 21 00 A0 */ addi r1, r1, 0xa0
/* 8018705C 00182CBC 4E 80 00 20 */ blr
.global func_80187060
func_80187060:
/* 80187060 00182CC0 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80187064 00182CC4 7C 08 02 A6 */ mflr r0
/* 80187068 00182CC8 90 01 00 44 */ stw r0, 0x44(r1)
/* 8018706C 00182CCC 39 61 00 40 */ addi r11, r1, 0x40
/* 80187070 00182CD0 48 04 00 A1 */ bl _savegpr_21
/* 80187074 00182CD4 7C 75 1B 78 */ mr r21, r3
/* 80187078 00182CD8 7C 96 23 78 */ mr r22, r4
/* 8018707C 00182CDC 7C B7 2B 78 */ mr r23, r5
/* 80187080 00182CE0 7C D8 33 78 */ mr r24, r6
/* 80187084 00182CE4 3B A0 00 32 */ li r29, 0x32
/* 80187088 00182CE8 3B 80 00 00 */ li r28, 0
/* 8018708C 00182CEC 3B 60 00 00 */ li r27, 0
/* 80187090 00182CF0 3B 40 00 00 */ li r26, 0
/* 80187094 00182CF4 3B 20 00 00 */ li r25, 0
/* 80187098 00182CF8 3B C0 00 00 */ li r30, 0
/* 8018709C 00182CFC 48 00 00 F4 */ b lbl_80187190
lbl_801870A0:
/* 801870A0 00182D00 57 DF 15 BA */ rlwinm r31, r30, 2, 0x16, 0x1d
/* 801870A4 00182D04 7C 15 F8 2E */ lwzx r0, r21, r31
/* 801870A8 00182D08 2C 00 00 00 */ cmpwi r0, 0
/* 801870AC 00182D0C 40 82 00 4C */ bne lbl_801870F8
/* 801870B0 00182D10 57 C3 06 3E */ clrlwi r3, r30, 0x18
/* 801870B4 00182D14 48 00 0E 81 */ bl func_80187F34
/* 801870B8 00182D18 7C 60 07 74 */ extsb r0, r3
/* 801870BC 00182D1C 54 00 10 3A */ slwi r0, r0, 2
/* 801870C0 00182D20 7C 15 00 2E */ lwzx r0, r21, r0
/* 801870C4 00182D24 2C 00 00 00 */ cmpwi r0, 0
/* 801870C8 00182D28 41 82 00 30 */ beq lbl_801870F8
/* 801870CC 00182D2C 57 C3 06 3E */ clrlwi r3, r30, 0x18
/* 801870D0 00182D30 48 00 0E 65 */ bl func_80187F34
/* 801870D4 00182D34 7C 60 07 74 */ extsb r0, r3
/* 801870D8 00182D38 57 C3 06 3E */ clrlwi r3, r30, 0x18
/* 801870DC 00182D3C 54 00 10 3A */ slwi r0, r0, 2
/* 801870E0 00182D40 7F 95 00 2E */ lwzx r28, r21, r0
/* 801870E4 00182D44 48 00 0E 51 */ bl func_80187F34
/* 801870E8 00182D48 7C 60 07 74 */ extsb r0, r3
/* 801870EC 00182D4C 54 00 10 3A */ slwi r0, r0, 2
/* 801870F0 00182D50 7F 75 00 2E */ lwzx r27, r21, r0
/* 801870F4 00182D54 48 00 00 98 */ b lbl_8018718C
lbl_801870F8:
/* 801870F8 00182D58 7C 15 F8 2E */ lwzx r0, r21, r31
/* 801870FC 00182D5C 2C 00 00 00 */ cmpwi r0, 0
/* 80187100 00182D60 41 82 00 2C */ beq lbl_8018712C
/* 80187104 00182D64 57 C3 06 3E */ clrlwi r3, r30, 0x18
/* 80187108 00182D68 48 00 0E 2D */ bl func_80187F34
/* 8018710C 00182D6C 7C 60 07 74 */ extsb r0, r3
/* 80187110 00182D70 54 00 10 3A */ slwi r0, r0, 2
/* 80187114 00182D74 7C 15 00 2E */ lwzx r0, r21, r0
/* 80187118 00182D78 2C 00 00 00 */ cmpwi r0, 0
/* 8018711C 00182D7C 40 82 00 10 */ bne lbl_8018712C
/* 80187120 00182D80 7F 95 F8 2E */ lwzx r28, r21, r31
/* 80187124 00182D84 7F 9B E3 78 */ mr r27, r28
/* 80187128 00182D88 48 00 00 64 */ b lbl_8018718C
lbl_8018712C:
/* 8018712C 00182D8C 57 C3 06 3E */ clrlwi r3, r30, 0x18
/* 80187130 00182D90 48 00 0E 05 */ bl func_80187F34
/* 80187134 00182D94 7C 60 07 74 */ extsb r0, r3
/* 80187138 00182D98 7C 95 F8 2E */ lwzx r4, r21, r31
/* 8018713C 00182D9C 54 00 10 3A */ slwi r0, r0, 2
/* 80187140 00182DA0 38 60 00 00 */ li r3, 0
/* 80187144 00182DA4 7C B5 00 2E */ lwzx r5, r21, r0
/* 80187148 00182DA8 38 C0 00 00 */ li r6, 0
/* 8018714C 00182DAC 48 03 85 A5 */ bl func_801BF6F0
/* 80187150 00182DB0 28 03 00 01 */ cmplwi r3, 1
/* 80187154 00182DB4 40 82 00 20 */ bne lbl_80187174
/* 80187158 00182DB8 7F 95 F8 2E */ lwzx r28, r21, r31
/* 8018715C 00182DBC 57 C3 06 3E */ clrlwi r3, r30, 0x18
/* 80187160 00182DC0 48 00 0D D5 */ bl func_80187F34
/* 80187164 00182DC4 7C 60 07 74 */ extsb r0, r3
/* 80187168 00182DC8 54 00 10 3A */ slwi r0, r0, 2
/* 8018716C 00182DCC 7F 75 00 2E */ lwzx r27, r21, r0
/* 80187170 00182DD0 48 00 00 1C */ b lbl_8018718C
lbl_80187174:
/* 80187174 00182DD4 57 C3 06 3E */ clrlwi r3, r30, 0x18
/* 80187178 00182DD8 48 00 0D BD */ bl func_80187F34
/* 8018717C 00182DDC 7C 60 07 74 */ extsb r0, r3
/* 80187180 00182DE0 7F 75 F8 2E */ lwzx r27, r21, r31
/* 80187184 00182DE4 54 00 10 3A */ slwi r0, r0, 2
/* 80187188 00182DE8 7F 95 00 2E */ lwzx r28, r21, r0
lbl_8018718C:
/* 8018718C 00182DEC 3B DE 00 01 */ addi r30, r30, 1
lbl_80187190:
/* 80187190 00182DF0 57 C0 06 3E */ clrlwi r0, r30, 0x18
/* 80187194 00182DF4 7C 00 B0 00 */ cmpw r0, r22
/* 80187198 00182DF8 41 80 FF 08 */ blt lbl_801870A0
/* 8018719C 00182DFC 3B C0 00 00 */ li r30, 0
/* 801871A0 00182E00 48 00 00 F4 */ b lbl_80187294
lbl_801871A4:
/* 801871A4 00182E04 57 DF 15 BA */ rlwinm r31, r30, 2, 0x16, 0x1d
/* 801871A8 00182E08 7C 17 F8 2E */ lwzx r0, r23, r31
/* 801871AC 00182E0C 2C 00 00 00 */ cmpwi r0, 0
/* 801871B0 00182E10 40 82 00 4C */ bne lbl_801871FC
/* 801871B4 00182E14 57 C3 06 3E */ clrlwi r3, r30, 0x18
/* 801871B8 00182E18 48 00 0D 7D */ bl func_80187F34
/* 801871BC 00182E1C 7C 60 07 74 */ extsb r0, r3
/* 801871C0 00182E20 54 00 10 3A */ slwi r0, r0, 2
/* 801871C4 00182E24 7C 17 00 2E */ lwzx r0, r23, r0
/* 801871C8 00182E28 2C 00 00 00 */ cmpwi r0, 0
/* 801871CC 00182E2C 41 82 00 30 */ beq lbl_801871FC
/* 801871D0 00182E30 57 C3 06 3E */ clrlwi r3, r30, 0x18
/* 801871D4 00182E34 48 00 0D 61 */ bl func_80187F34
/* 801871D8 00182E38 7C 60 07 74 */ extsb r0, r3
/* 801871DC 00182E3C 57 C3 06 3E */ clrlwi r3, r30, 0x18
/* 801871E0 00182E40 54 00 10 3A */ slwi r0, r0, 2
/* 801871E4 00182E44 7F 57 00 2E */ lwzx r26, r23, r0
/* 801871E8 00182E48 48 00 0D 4D */ bl func_80187F34
/* 801871EC 00182E4C 7C 60 07 74 */ extsb r0, r3
/* 801871F0 00182E50 54 00 10 3A */ slwi r0, r0, 2
/* 801871F4 00182E54 7F 37 00 2E */ lwzx r25, r23, r0
/* 801871F8 00182E58 48 00 00 98 */ b lbl_80187290
lbl_801871FC:
/* 801871FC 00182E5C 7C 17 F8 2E */ lwzx r0, r23, r31
/* 80187200 00182E60 2C 00 00 00 */ cmpwi r0, 0
/* 80187204 00182E64 41 82 00 2C */ beq lbl_80187230
/* 80187208 00182E68 57 C3 06 3E */ clrlwi r3, r30, 0x18
/* 8018720C 00182E6C 48 00 0D 29 */ bl func_80187F34
/* 80187210 00182E70 7C 60 07 74 */ extsb r0, r3
/* 80187214 00182E74 54 00 10 3A */ slwi r0, r0, 2
/* 80187218 00182E78 7C 17 00 2E */ lwzx r0, r23, r0
/* 8018721C 00182E7C 2C 00 00 00 */ cmpwi r0, 0
/* 80187220 00182E80 40 82 00 10 */ bne lbl_80187230
/* 80187224 00182E84 7F 57 F8 2E */ lwzx r26, r23, r31
/* 80187228 00182E88 7F 59 D3 78 */ mr r25, r26
/* 8018722C 00182E8C 48 00 00 64 */ b lbl_80187290
lbl_80187230:
/* 80187230 00182E90 57 C3 06 3E */ clrlwi r3, r30, 0x18
/* 80187234 00182E94 48 00 0D 01 */ bl func_80187F34
/* 80187238 00182E98 7C 60 07 74 */ extsb r0, r3
/* 8018723C 00182E9C 7C 97 F8 2E */ lwzx r4, r23, r31
/* 80187240 00182EA0 54 00 10 3A */ slwi r0, r0, 2
/* 80187244 00182EA4 38 60 00 00 */ li r3, 0
/* 80187248 00182EA8 7C B7 00 2E */ lwzx r5, r23, r0
/* 8018724C 00182EAC 38 C0 00 00 */ li r6, 0
/* 80187250 00182EB0 48 03 84 A1 */ bl func_801BF6F0
/* 80187254 00182EB4 28 03 00 01 */ cmplwi r3, 1
/* 80187258 00182EB8 40 82 00 20 */ bne lbl_80187278
/* 8018725C 00182EBC 7F 57 F8 2E */ lwzx r26, r23, r31
/* 80187260 00182EC0 57 C3 06 3E */ clrlwi r3, r30, 0x18
/* 80187264 00182EC4 48 00 0C D1 */ bl func_80187F34
/* 80187268 00182EC8 7C 60 07 74 */ extsb r0, r3
/* 8018726C 00182ECC 54 00 10 3A */ slwi r0, r0, 2
/* 80187270 00182ED0 7F 37 00 2E */ lwzx r25, r23, r0
/* 80187274 00182ED4 48 00 00 1C */ b lbl_80187290
lbl_80187278:
/* 80187278 00182ED8 57 C3 06 3E */ clrlwi r3, r30, 0x18
/* 8018727C 00182EDC 48 00 0C B9 */ bl func_80187F34
/* 80187280 00182EE0 7C 60 07 74 */ extsb r0, r3
/* 80187284 00182EE4 7F 37 F8 2E */ lwzx r25, r23, r31
/* 80187288 00182EE8 54 00 10 3A */ slwi r0, r0, 2
/* 8018728C 00182EEC 7F 57 00 2E */ lwzx r26, r23, r0
lbl_80187290:
/* 80187290 00182EF0 3B DE 00 01 */ addi r30, r30, 1
lbl_80187294:
/* 80187294 00182EF4 57 C0 06 3E */ clrlwi r0, r30, 0x18
/* 80187298 00182EF8 7C 00 C0 00 */ cmpw r0, r24
/* 8018729C 00182EFC 41 80 FF 08 */ blt lbl_801871A4
/* 801872A0 00182F00 7F 24 CB 78 */ mr r4, r25
/* 801872A4 00182F04 7F 65 DB 78 */ mr r5, r27
/* 801872A8 00182F08 38 60 00 00 */ li r3, 0
/* 801872AC 00182F0C 38 C0 00 00 */ li r6, 0
/* 801872B0 00182F10 48 03 84 41 */ bl func_801BF6F0
/* 801872B4 00182F14 2C 03 00 00 */ cmpwi r3, 0
/* 801872B8 00182F18 40 82 00 24 */ bne lbl_801872DC
/* 801872BC 00182F1C 7F 64 DB 78 */ mr r4, r27
/* 801872C0 00182F20 38 60 00 00 */ li r3, 0
/* 801872C4 00182F24 48 03 83 D1 */ bl func_801BF694
/* 801872C8 00182F28 7C 64 1B 78 */ mr r4, r3
/* 801872CC 00182F2C 38 60 00 32 */ li r3, 0x32
/* 801872D0 00182F30 38 A0 04 A5 */ li r5, 0x4a5
/* 801872D4 00182F34 4B FF 7F D5 */ bl func_8017F2A8
/* 801872D8 00182F38 7C 7D 07 34 */ extsh r29, r3
lbl_801872DC:
/* 801872DC 00182F3C 7F 44 D3 78 */ mr r4, r26
/* 801872E0 00182F40 7F 85 E3 78 */ mr r5, r28
/* 801872E4 00182F44 38 60 00 00 */ li r3, 0
/* 801872E8 00182F48 38 C0 00 00 */ li r6, 0
/* 801872EC 00182F4C 48 03 84 05 */ bl func_801BF6F0
/* 801872F0 00182F50 28 03 00 01 */ cmplwi r3, 1
/* 801872F4 00182F54 40 82 00 24 */ bne lbl_80187318
/* 801872F8 00182F58 7F 64 DB 78 */ mr r4, r27
/* 801872FC 00182F5C 38 60 00 00 */ li r3, 0
/* 80187300 00182F60 48 03 83 95 */ bl func_801BF694
/* 80187304 00182F64 7C 64 1B 78 */ mr r4, r3
/* 80187308 00182F68 7F A3 EB 78 */ mr r3, r29
/* 8018730C 00182F6C 38 A0 04 A6 */ li r5, 0x4a6
/* 80187310 00182F70 4B FF 7F 99 */ bl func_8017F2A8
/* 80187314 00182F74 7C 7D 07 34 */ extsh r29, r3
lbl_80187318:
/* 80187318 00182F78 7F 64 DB 78 */ mr r4, r27
/* 8018731C 00182F7C 7F 45 D3 78 */ mr r5, r26
/* 80187320 00182F80 38 60 00 00 */ li r3, 0
/* 80187324 00182F84 38 C0 00 00 */ li r6, 0
/* 80187328 00182F88 48 03 83 C9 */ bl func_801BF6F0
/* 8018732C 00182F8C 39 61 00 40 */ addi r11, r1, 0x40
/* 80187330 00182F90 7F A3 EB 78 */ mr r3, r29
/* 80187334 00182F94 48 03 FE 29 */ bl _restgpr_21
/* 80187338 00182F98 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8018733C 00182F9C 7C 08 03 A6 */ mtlr r0
/* 80187340 00182FA0 38 21 00 40 */ addi r1, r1, 0x40
/* 80187344 00182FA4 4E 80 00 20 */ blr
.global func_80187348
func_80187348:
/* 80187348 00182FA8 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8018734C 00182FAC 7C 08 02 A6 */ mflr r0
/* 80187350 00182FB0 90 01 00 44 */ stw r0, 0x44(r1)
/* 80187354 00182FB4 39 61 00 40 */ addi r11, r1, 0x40
/* 80187358 00182FB8 48 03 FD C9 */ bl _savegpr_25
/* 8018735C 00182FBC 7C 7D 1B 78 */ mr r29, r3
/* 80187360 00182FC0 80 6D 9F 8C */ lwz r3, lbl_8063F24C-_SDA_BASE_(r13)
/* 80187364 00182FC4 48 00 02 0D */ bl func_80187570
/* 80187368 00182FC8 7C 7A 1B 78 */ mr r26, r3
/* 8018736C 00182FCC 48 24 1D A5 */ bl func_803C9110
/* 80187370 00182FD0 57 40 06 3E */ clrlwi r0, r26, 0x18
/* 80187374 00182FD4 38 C0 00 00 */ li r6, 0
/* 80187378 00182FD8 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8018737C 00182FDC 3C 80 80 42 */ lis r4, lbl_8042163C@ha
/* 80187380 00182FE0 98 C1 00 08 */ stb r6, 8(r1)
/* 80187384 00182FE4 39 01 00 08 */ addi r8, r1, 8
/* 80187388 00182FE8 38 84 16 3C */ addi r4, r4, lbl_8042163C@l
/* 8018738C 00182FEC 7C 84 02 14 */ add r4, r4, r0
/* 80187390 00182FF0 80 A4 00 04 */ lwz r5, 4(r4)
/* 80187394 00182FF4 39 21 00 0C */ addi r9, r1, 0xc
/* 80187398 00182FF8 80 84 00 08 */ lwz r4, 8(r4)
/* 8018739C 00182FFC 39 60 00 00 */ li r11, 0
/* 801873A0 00183000 98 C1 00 09 */ stb r6, 9(r1)
/* 801873A4 00183004 38 00 00 0A */ li r0, 0xa
/* 801873A8 00183008 90 A1 00 0C */ stw r5, 0xc(r1)
/* 801873AC 0018300C 90 81 00 10 */ stw r4, 0x10(r1)
lbl_801873B0:
/* 801873B0 00183010 55 64 15 BA */ rlwinm r4, r11, 2, 0x16, 0x1d
/* 801873B4 00183014 7C E9 20 2E */ lwzx r7, r9, r4
/* 801873B8 00183018 2C 07 00 00 */ cmpwi r7, 0
/* 801873BC 0018301C 41 82 00 3C */ beq lbl_801873F8
/* 801873C0 00183020 55 66 06 3E */ clrlwi r6, r11, 0x18
/* 801873C4 00183024 39 80 00 00 */ li r12, 0
/* 801873C8 00183028 7C 09 03 A6 */ mtctr r0
lbl_801873CC:
/* 801873CC 0018302C 55 84 06 3E */ clrlwi r4, r12, 0x18
/* 801873D0 00183030 7C A8 30 AE */ lbzx r5, r8, r6
/* 801873D4 00183034 7D 47 20 AE */ lbzx r10, r7, r4
/* 801873D8 00183038 38 85 00 01 */ addi r4, r5, 1
/* 801873DC 0018303C 28 0A 00 06 */ cmplwi r10, 6
/* 801873E0 00183040 7C 88 31 AE */ stbx r4, r8, r6
/* 801873E4 00183044 41 82 00 14 */ beq lbl_801873F8
/* 801873E8 00183048 28 0A 00 07 */ cmplwi r10, 7
/* 801873EC 0018304C 41 82 00 0C */ beq lbl_801873F8
/* 801873F0 00183050 39 8C 00 01 */ addi r12, r12, 1
/* 801873F4 00183054 42 00 FF D8 */ bdnz lbl_801873CC
lbl_801873F8:
/* 801873F8 00183058 39 6B 00 01 */ addi r11, r11, 1
/* 801873FC 0018305C 28 0B 00 02 */ cmplwi r11, 2
/* 80187400 00183060 41 80 FF B0 */ blt lbl_801873B0
/* 80187404 00183064 38 03 FF FF */ addi r0, r3, -1
/* 80187408 00183068 3B 61 00 08 */ addi r27, r1, 8
/* 8018740C 0018306C 54 19 08 3C */ slwi r25, r0, 1
/* 80187410 00183070 3B E1 00 0C */ addi r31, r1, 0xc
/* 80187414 00183074 3B C0 00 00 */ li r30, 0
/* 80187418 00183078 3B 40 00 00 */ li r26, 0
/* 8018741C 0018307C 3B 80 00 06 */ li r28, 6
lbl_80187420:
/* 80187420 00183080 7F A3 EB 78 */ mr r3, r29
/* 80187424 00183084 57 C4 06 3E */ clrlwi r4, r30, 0x18
/* 80187428 00183088 48 03 A7 D9 */ bl func_801C1C00
/* 8018742C 0018308C 2C 03 00 00 */ cmpwi r3, 0
/* 80187430 00183090 40 82 00 0C */ bne lbl_8018743C
/* 80187434 00183094 38 00 00 00 */ li r0, 0
/* 80187438 00183098 48 00 00 08 */ b lbl_80187440
lbl_8018743C:
/* 8018743C 0018309C 88 03 08 4D */ lbz r0, 0x84d(r3)
lbl_80187440:
/* 80187440 001830A0 28 00 00 06 */ cmplwi r0, 6
/* 80187444 001830A4 41 82 01 08 */ beq lbl_8018754C
/* 80187448 001830A8 2C 03 00 00 */ cmpwi r3, 0
/* 8018744C 001830AC 41 82 00 08 */ beq lbl_80187454
/* 80187450 001830B0 9B 43 08 4E */ stb r26, 0x84e(r3)
lbl_80187454:
/* 80187454 001830B4 57 C0 15 BA */ rlwinm r0, r30, 2, 0x16, 0x1d
/* 80187458 001830B8 7C BF 00 2E */ lwzx r5, r31, r0
/* 8018745C 001830BC 2C 05 00 00 */ cmpwi r5, 0
/* 80187460 001830C0 41 82 00 EC */ beq lbl_8018754C
/* 80187464 001830C4 57 C0 06 3E */ clrlwi r0, r30, 0x18
/* 80187468 001830C8 7C 9B 00 AE */ lbzx r4, r27, r0
/* 8018746C 001830CC 38 84 FF FF */ addi r4, r4, -1
/* 80187470 001830D0 7C 19 20 00 */ cmpw r25, r4
/* 80187474 001830D4 40 80 00 0C */ bge lbl_80187480
/* 80187478 001830D8 57 20 06 3E */ clrlwi r0, r25, 0x18
/* 8018747C 001830DC 48 00 00 58 */ b lbl_801874D4
lbl_80187480:
/* 80187480 001830E0 7C 04 C8 00 */ cmpw r4, r25
/* 80187484 001830E4 40 82 00 40 */ bne lbl_801874C4
/* 80187488 001830E8 57 20 06 3E */ clrlwi r0, r25, 0x18
/* 8018748C 001830EC 7C C5 00 AE */ lbzx r6, r5, r0
/* 80187490 001830F0 28 06 00 06 */ cmplwi r6, 6
/* 80187494 001830F4 40 82 00 14 */ bne lbl_801874A8
/* 80187498 001830F8 2C 03 00 00 */ cmpwi r3, 0
/* 8018749C 001830FC 41 82 00 B0 */ beq lbl_8018754C
/* 801874A0 00183100 9B 83 08 4D */ stb r28, 0x84d(r3)
/* 801874A4 00183104 48 00 00 A8 */ b lbl_8018754C
lbl_801874A8:
/* 801874A8 00183108 28 06 00 07 */ cmplwi r6, 7
/* 801874AC 0018310C 40 82 00 28 */ bne lbl_801874D4
/* 801874B0 00183110 7C 19 23 D6 */ divw r0, r25, r4
/* 801874B4 00183114 7C 00 21 D6 */ mullw r0, r0, r4
/* 801874B8 00183118 7C 00 C8 50 */ subf r0, r0, r25
/* 801874BC 0018311C 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 801874C0 00183120 48 00 00 14 */ b lbl_801874D4
lbl_801874C4:
/* 801874C4 00183124 7C 19 23 D6 */ divw r0, r25, r4
/* 801874C8 00183128 7C 00 21 D6 */ mullw r0, r0, r4
/* 801874CC 0018312C 7C 00 C8 50 */ subf r0, r0, r25
/* 801874D0 00183130 54 00 06 3E */ clrlwi r0, r0, 0x18
lbl_801874D4:
/* 801874D4 00183134 7C 85 02 14 */ add r4, r5, r0
/* 801874D8 00183138 7C 05 00 AE */ lbzx r0, r5, r0
/* 801874DC 0018313C 88 84 00 01 */ lbz r4, 1(r4)
/* 801874E0 00183140 2C 00 00 06 */ cmpwi r0, 6
/* 801874E4 00183144 40 80 00 34 */ bge lbl_80187518
/* 801874E8 00183148 2C 00 00 00 */ cmpwi r0, 0
/* 801874EC 0018314C 41 82 00 10 */ beq lbl_801874FC
/* 801874F0 00183150 40 80 00 1C */ bge lbl_8018750C
/* 801874F4 00183154 48 00 00 24 */ b lbl_80187518
/* 801874F8 00183158 48 00 00 20 */ b lbl_80187518
lbl_801874FC:
/* 801874FC 0018315C 2C 03 00 00 */ cmpwi r3, 0
/* 80187500 00183160 41 82 00 18 */ beq lbl_80187518
/* 80187504 00183164 9B 83 08 4D */ stb r28, 0x84d(r3)
/* 80187508 00183168 48 00 00 10 */ b lbl_80187518
lbl_8018750C:
/* 8018750C 0018316C 2C 03 00 00 */ cmpwi r3, 0
/* 80187510 00183170 41 82 00 08 */ beq lbl_80187518
/* 80187514 00183174 98 03 08 4D */ stb r0, 0x84d(r3)
lbl_80187518:
/* 80187518 00183178 2C 04 00 00 */ cmpwi r4, 0
/* 8018751C 0018317C 41 82 00 14 */ beq lbl_80187530
/* 80187520 00183180 41 80 00 2C */ blt lbl_8018754C
/* 80187524 00183184 2C 04 00 06 */ cmpwi r4, 6
/* 80187528 00183188 40 80 00 24 */ bge lbl_8018754C
/* 8018752C 0018318C 48 00 00 14 */ b lbl_80187540
lbl_80187530:
/* 80187530 00183190 2C 03 00 00 */ cmpwi r3, 0
/* 80187534 00183194 41 82 00 18 */ beq lbl_8018754C
/* 80187538 00183198 9B 83 08 4D */ stb r28, 0x84d(r3)
/* 8018753C 0018319C 48 00 00 10 */ b lbl_8018754C
lbl_80187540:
/* 80187540 001831A0 2C 03 00 00 */ cmpwi r3, 0
/* 80187544 001831A4 41 82 00 08 */ beq lbl_8018754C
/* 80187548 001831A8 98 83 08 4E */ stb r4, 0x84e(r3)
lbl_8018754C:
/* 8018754C 001831AC 3B DE 00 01 */ addi r30, r30, 1
/* 80187550 001831B0 28 1E 00 02 */ cmplwi r30, 2
/* 80187554 001831B4 41 80 FE CC */ blt lbl_80187420
/* 80187558 001831B8 39 61 00 40 */ addi r11, r1, 0x40
/* 8018755C 001831BC 48 03 FC 11 */ bl _restgpr_25
/* 80187560 001831C0 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80187564 001831C4 7C 08 03 A6 */ mtlr r0
/* 80187568 001831C8 38 21 00 40 */ addi r1, r1, 0x40
/* 8018756C 001831CC 4E 80 00 20 */ blr
.global func_80187570
func_80187570:
/* 80187570 001831D0 2C 03 00 00 */ cmpwi r3, 0
/* 80187574 001831D4 40 82 00 0C */ bne lbl_80187580
/* 80187578 001831D8 38 60 00 00 */ li r3, 0
/* 8018757C 001831DC 4E 80 00 20 */ blr
lbl_80187580:
/* 80187580 001831E0 88 63 00 0C */ lbz r3, 0xc(r3)
/* 80187584 001831E4 4E 80 00 20 */ blr
.global func_80187588
func_80187588:
/* 80187588 001831E8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8018758C 001831EC 7C 08 02 A6 */ mflr r0
/* 80187590 001831F0 2C 05 00 05 */ cmpwi r5, 5
/* 80187594 001831F4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80187598 001831F8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8018759C 001831FC 7C BF 2B 78 */ mr r31, r5
/* 801875A0 00183200 40 80 00 5C */ bge lbl_801875FC
/* 801875A4 00183204 2C 05 00 01 */ cmpwi r5, 1
/* 801875A8 00183208 40 80 00 08 */ bge lbl_801875B0
/* 801875AC 0018320C 48 00 00 50 */ b lbl_801875FC
lbl_801875B0:
/* 801875B0 00183210 7C 83 23 78 */ mr r3, r4
/* 801875B4 00183214 48 03 C5 15 */ bl func_801C3AC8
/* 801875B8 00183218 2C 03 00 00 */ cmpwi r3, 0
/* 801875BC 0018321C 40 82 00 0C */ bne lbl_801875C8
/* 801875C0 00183220 38 60 00 00 */ li r3, 0
/* 801875C4 00183224 48 00 00 3C */ b lbl_80187600
lbl_801875C8:
/* 801875C8 00183228 40 82 00 0C */ bne lbl_801875D4
/* 801875CC 0018322C 38 60 00 00 */ li r3, 0
/* 801875D0 00183230 48 00 00 14 */ b lbl_801875E4
lbl_801875D4:
/* 801875D4 00183234 38 1F FF FF */ addi r0, r31, -1
/* 801875D8 00183238 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 801875DC 0018323C 7C 63 02 14 */ add r3, r3, r0
/* 801875E0 00183240 38 63 00 2C */ addi r3, r3, 0x2c
lbl_801875E4:
/* 801875E4 00183244 2C 03 00 00 */ cmpwi r3, 0
/* 801875E8 00183248 40 82 00 0C */ bne lbl_801875F4
/* 801875EC 0018324C 38 60 00 00 */ li r3, 0
/* 801875F0 00183250 48 00 00 10 */ b lbl_80187600
lbl_801875F4:
/* 801875F4 00183254 A0 63 00 00 */ lhz r3, 0(r3)
/* 801875F8 00183258 48 00 00 08 */ b lbl_80187600
lbl_801875FC:
/* 801875FC 0018325C 38 60 00 00 */ li r3, 0
lbl_80187600:
/* 80187600 00183260 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80187604 00183264 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80187608 00183268 7C 08 03 A6 */ mtlr r0
/* 8018760C 0018326C 38 21 00 10 */ addi r1, r1, 0x10
/* 80187610 00183270 4E 80 00 20 */ blr
.global func_80187614
func_80187614:
/* 80187614 00183274 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80187618 00183278 7C 08 02 A6 */ mflr r0
/* 8018761C 0018327C 2C 05 00 03 */ cmpwi r5, 3
/* 80187620 00183280 90 01 00 14 */ stw r0, 0x14(r1)
/* 80187624 00183284 41 82 00 38 */ beq lbl_8018765C
/* 80187628 00183288 40 80 00 14 */ bge lbl_8018763C
/* 8018762C 0018328C 2C 05 00 01 */ cmpwi r5, 1
/* 80187630 00183290 41 82 00 50 */ beq lbl_80187680
/* 80187634 00183294 40 80 00 18 */ bge lbl_8018764C
/* 80187638 00183298 48 00 00 44 */ b lbl_8018767C
lbl_8018763C:
/* 8018763C 0018329C 2C 05 00 05 */ cmpwi r5, 5
/* 80187640 001832A0 40 80 00 3C */ bge lbl_8018767C
/* 80187644 001832A4 48 00 00 28 */ b lbl_8018766C
/* 80187648 001832A8 48 00 00 38 */ b lbl_80187680
lbl_8018764C:
/* 8018764C 001832AC 38 60 00 0E */ li r3, 0xe
/* 80187650 001832B0 48 03 94 5D */ bl func_801C0AAC
/* 80187654 001832B4 7C 64 1B 78 */ mr r4, r3
/* 80187658 001832B8 48 00 00 28 */ b lbl_80187680
lbl_8018765C:
/* 8018765C 001832BC 38 60 00 0F */ li r3, 0xf
/* 80187660 001832C0 48 03 94 4D */ bl func_801C0AAC
/* 80187664 001832C4 7C 64 1B 78 */ mr r4, r3
/* 80187668 001832C8 48 00 00 18 */ b lbl_80187680
lbl_8018766C:
/* 8018766C 001832CC 38 60 00 10 */ li r3, 0x10
/* 80187670 001832D0 48 03 94 3D */ bl func_801C0AAC
/* 80187674 001832D4 7C 64 1B 78 */ mr r4, r3
/* 80187678 001832D8 48 00 00 08 */ b lbl_80187680
lbl_8018767C:
/* 8018767C 001832DC 38 80 00 00 */ li r4, 0
lbl_80187680:
/* 80187680 001832E0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80187684 001832E4 7C 83 23 78 */ mr r3, r4
/* 80187688 001832E8 7C 08 03 A6 */ mtlr r0
/* 8018768C 001832EC 38 21 00 10 */ addi r1, r1, 0x10
/* 80187690 001832F0 4E 80 00 20 */ blr
.global func_80187694
func_80187694:
/* 80187694 001832F4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80187698 001832F8 7C 08 02 A6 */ mflr r0
/* 8018769C 001832FC 90 01 00 24 */ stw r0, 0x24(r1)
/* 801876A0 00183300 39 61 00 20 */ addi r11, r1, 0x20
/* 801876A4 00183304 48 03 FA 89 */ bl _savegpr_28
/* 801876A8 00183308 7C BE 2B 78 */ mr r30, r5
/* 801876AC 0018330C 7C 7C 1B 78 */ mr r28, r3
/* 801876B0 00183310 7C 9D 23 78 */ mr r29, r4
/* 801876B4 00183314 7C DF 33 78 */ mr r31, r6
/* 801876B8 00183318 7F C3 F3 78 */ mr r3, r30
/* 801876BC 0018331C 48 03 F1 1D */ bl func_801C67D8
/* 801876C0 00183320 2C 1C 00 00 */ cmpwi r28, 0
/* 801876C4 00183324 40 82 00 0C */ bne lbl_801876D0
/* 801876C8 00183328 38 60 00 00 */ li r3, 0
/* 801876CC 0018332C 48 00 00 84 */ b lbl_80187750
lbl_801876D0:
/* 801876D0 00183330 2C 1D 00 00 */ cmpwi r29, 0
/* 801876D4 00183334 40 82 00 0C */ bne lbl_801876E0
/* 801876D8 00183338 38 60 00 00 */ li r3, 0
/* 801876DC 0018333C 48 00 00 74 */ b lbl_80187750
lbl_801876E0:
/* 801876E0 00183340 2C 1F 00 00 */ cmpwi r31, 0
/* 801876E4 00183344 40 82 00 0C */ bne lbl_801876F0
/* 801876E8 00183348 38 60 00 00 */ li r3, 0
/* 801876EC 0018334C 48 00 00 64 */ b lbl_80187750
lbl_801876F0:
/* 801876F0 00183350 7C 6C 1B 78 */ mr r12, r3
/* 801876F4 00183354 7F 83 E3 78 */ mr r3, r28
/* 801876F8 00183358 7F A4 EB 78 */ mr r4, r29
/* 801876FC 0018335C 7F C5 F3 78 */ mr r5, r30
/* 80187700 00183360 7F E6 FB 78 */ mr r6, r31
/* 80187704 00183364 7D 89 03 A6 */ mtctr r12
/* 80187708 00183368 4E 80 04 21 */ bctrl
/* 8018770C 0018336C 2C 03 00 00 */ cmpwi r3, 0
/* 80187710 00183370 40 82 00 0C */ bne lbl_8018771C
/* 80187714 00183374 38 60 00 00 */ li r3, 0
/* 80187718 00183378 48 00 00 38 */ b lbl_80187750
lbl_8018771C:
/* 8018771C 0018337C 7F E3 FB 78 */ mr r3, r31
/* 80187720 00183380 48 03 CD 85 */ bl func_801C44A4
/* 80187724 00183384 28 03 00 01 */ cmplwi r3, 1
/* 80187728 00183388 40 82 00 0C */ bne lbl_80187734
/* 8018772C 0018338C 38 60 00 00 */ li r3, 0
/* 80187730 00183390 48 00 00 20 */ b lbl_80187750
lbl_80187734:
/* 80187734 00183394 7F 83 E3 78 */ mr r3, r28
/* 80187738 00183398 7F A4 EB 78 */ mr r4, r29
/* 8018773C 0018339C 7F C5 F3 78 */ mr r5, r30
/* 80187740 001833A0 4B FF B5 C1 */ bl func_80182D00
/* 80187744 001833A4 54 63 06 3E */ clrlwi r3, r3, 0x18
/* 80187748 001833A8 30 03 FF FF */ addic r0, r3, -1
/* 8018774C 001833AC 7C 60 19 10 */ subfe r3, r0, r3
lbl_80187750:
/* 80187750 001833B0 39 61 00 20 */ addi r11, r1, 0x20
/* 80187754 001833B4 48 03 FA 25 */ bl _restgpr_28
/* 80187758 001833B8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8018775C 001833BC 7C 08 03 A6 */ mtlr r0
/* 80187760 001833C0 38 21 00 20 */ addi r1, r1, 0x20
/* 80187764 001833C4 4E 80 00 20 */ blr
.global func_80187768
func_80187768:
/* 80187768 001833C8 38 6D 9F B0 */ addi r3, r13, lbl_8063F270-_SDA_BASE_
/* 8018776C 001833CC 38 80 00 01 */ li r4, 1
/* 80187770 001833D0 38 A0 00 04 */ li r5, 4
/* 80187774 001833D4 38 C0 00 00 */ li r6, 0
/* 80187778 001833D8 4B E9 D1 9C */ b func_80024914
|