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
2101
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global func_80155B50
func_80155B50:
/* 80155B50 001517B0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80155B54 001517B4 7C 08 02 A6 */ mflr r0
/* 80155B58 001517B8 90 01 00 24 */ stw r0, 0x24(r1)
/* 80155B5C 001517BC 39 61 00 20 */ addi r11, r1, 0x20
/* 80155B60 001517C0 48 07 15 C9 */ bl _savegpr_27
/* 80155B64 001517C4 7C 9C 23 78 */ mr r28, r4
/* 80155B68 001517C8 7C 7B 1B 78 */ mr r27, r3
/* 80155B6C 001517CC 38 80 00 00 */ li r4, 0
/* 80155B70 001517D0 38 A0 00 08 */ li r5, 8
/* 80155B74 001517D4 4B EA E5 91 */ bl memset
/* 80155B78 001517D8 38 7B 00 14 */ addi r3, r27, 0x14
/* 80155B7C 001517DC 38 80 00 00 */ li r4, 0
/* 80155B80 001517E0 38 A0 01 D0 */ li r5, 0x1d0
/* 80155B84 001517E4 4B EA E5 81 */ bl memset
/* 80155B88 001517E8 38 00 00 00 */ li r0, 0
/* 80155B8C 001517EC 38 7B 01 E4 */ addi r3, r27, 0x1e4
/* 80155B90 001517F0 90 1B 00 08 */ stw r0, 8(r27)
/* 80155B94 001517F4 38 80 00 00 */ li r4, 0
/* 80155B98 001517F8 38 A0 00 12 */ li r5, 0x12
/* 80155B9C 001517FC 90 1B 00 10 */ stw r0, 0x10(r27)
/* 80155BA0 00151800 4B EA E5 65 */ bl memset
/* 80155BA4 00151804 3C 60 80 15 */ lis r3, lbl_80156C28@ha
/* 80155BA8 00151808 3C 80 80 15 */ lis r4, lbl_80157188@ha
/* 80155BAC 0015180C 38 63 6C 28 */ addi r3, r3, lbl_80156C28@l
/* 80155BB0 00151810 38 84 71 88 */ addi r4, r4, lbl_80157188@l
/* 80155BB4 00151814 48 0F E3 E9 */ bl func_80253F9C
/* 80155BB8 00151818 7F 7F DB 78 */ mr r31, r27
/* 80155BBC 0015181C 3B A0 00 00 */ li r29, 0
lbl_80155BC0:
/* 80155BC0 00151820 80 9C 00 00 */ lwz r4, 0(r28)
/* 80155BC4 00151824 38 60 03 EA */ li r3, 0x3ea
/* 80155BC8 00151828 4B F0 01 D1 */ bl func_80055D98
/* 80155BCC 0015182C 2C 03 00 00 */ cmpwi r3, 0
/* 80155BD0 00151830 7C 7E 1B 78 */ mr r30, r3
/* 80155BD4 00151834 41 82 00 10 */ beq lbl_80155BE4
/* 80155BD8 00151838 7F C4 F3 78 */ mr r4, r30
/* 80155BDC 0015183C 48 08 D9 01 */ bl func_801E34DC
/* 80155BE0 00151840 93 DF 00 00 */ stw r30, 0(r31)
lbl_80155BE4:
/* 80155BE4 00151844 3B BD 00 01 */ addi r29, r29, 1
/* 80155BE8 00151848 3B FF 00 04 */ addi r31, r31, 4
/* 80155BEC 0015184C 2C 1D 00 02 */ cmpwi r29, 2
/* 80155BF0 00151850 3B 9C 00 04 */ addi r28, r28, 4
/* 80155BF4 00151854 41 80 FF CC */ blt lbl_80155BC0
/* 80155BF8 00151858 93 6D 9D 10 */ stw r27, lbl_8063EFD0-_SDA_BASE_(r13)
/* 80155BFC 0015185C 39 61 00 20 */ addi r11, r1, 0x20
/* 80155C00 00151860 7F 63 DB 78 */ mr r3, r27
/* 80155C04 00151864 48 07 15 71 */ bl _restgpr_27
/* 80155C08 00151868 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80155C0C 0015186C 7C 08 03 A6 */ mtlr r0
/* 80155C10 00151870 38 21 00 20 */ addi r1, r1, 0x20
/* 80155C14 00151874 4E 80 00 20 */ blr
.global func_80155C18
func_80155C18:
/* 80155C18 00151878 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80155C1C 0015187C 7C 08 02 A6 */ mflr r0
/* 80155C20 00151880 2C 03 00 00 */ cmpwi r3, 0
/* 80155C24 00151884 90 01 00 14 */ stw r0, 0x14(r1)
/* 80155C28 00151888 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80155C2C 0015188C 7C 9F 23 78 */ mr r31, r4
/* 80155C30 00151890 93 C1 00 08 */ stw r30, 8(r1)
/* 80155C34 00151894 7C 7E 1B 78 */ mr r30, r3
/* 80155C38 00151898 41 82 00 68 */ beq lbl_80155CA0
/* 80155C3C 0015189C 48 00 1A F5 */ bl func_80157730
/* 80155C40 001518A0 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 80155C44 001518A4 2C 03 00 00 */ cmpwi r3, 0
/* 80155C48 001518A8 41 82 00 24 */ beq lbl_80155C6C
/* 80155C4C 001518AC 41 82 00 18 */ beq lbl_80155C64
/* 80155C50 001518B0 81 83 01 00 */ lwz r12, 0x100(r3)
/* 80155C54 001518B4 38 80 00 01 */ li r4, 1
/* 80155C58 001518B8 81 8C 00 08 */ lwz r12, 8(r12)
/* 80155C5C 001518BC 7D 89 03 A6 */ mtctr r12
/* 80155C60 001518C0 4E 80 04 21 */ bctrl
lbl_80155C64:
/* 80155C64 001518C4 38 00 00 00 */ li r0, 0
/* 80155C68 001518C8 90 1E 00 10 */ stw r0, 0x10(r30)
lbl_80155C6C:
/* 80155C6C 001518CC 7F C3 F3 78 */ mr r3, r30
/* 80155C70 001518D0 48 00 16 3D */ bl func_801572AC
/* 80155C74 001518D4 7F C3 F3 78 */ mr r3, r30
/* 80155C78 001518D8 48 00 18 3D */ bl func_801574B4
/* 80155C7C 001518DC 38 60 00 00 */ li r3, 0
/* 80155C80 001518E0 38 80 00 00 */ li r4, 0
/* 80155C84 001518E4 48 0F E3 19 */ bl func_80253F9C
/* 80155C88 001518E8 38 00 00 00 */ li r0, 0
/* 80155C8C 001518EC 2C 1F 00 00 */ cmpwi r31, 0
/* 80155C90 001518F0 90 0D 9D 10 */ stw r0, lbl_8063EFD0-_SDA_BASE_(r13)
/* 80155C94 001518F4 40 81 00 0C */ ble lbl_80155CA0
/* 80155C98 001518F8 7F C3 F3 78 */ mr r3, r30
/* 80155C9C 001518FC 48 08 4E 1D */ bl __dl__FPv
lbl_80155CA0:
/* 80155CA0 00151900 7F C3 F3 78 */ mr r3, r30
/* 80155CA4 00151904 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80155CA8 00151908 83 C1 00 08 */ lwz r30, 8(r1)
/* 80155CAC 0015190C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80155CB0 00151910 7C 08 03 A6 */ mtlr r0
/* 80155CB4 00151914 38 21 00 10 */ addi r1, r1, 0x10
/* 80155CB8 00151918 4E 80 00 20 */ blr
.global func_80155CBC
func_80155CBC:
/* 80155CBC 0015191C 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 80155CC0 00151920 7C 08 02 A6 */ mflr r0
/* 80155CC4 00151924 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 80155CC8 00151928 DB E1 00 90 */ stfd f31, 0x90(r1)
/* 80155CCC 0015192C F3 E1 00 98 */ psq_st f31, 152(r1), 0, qr0
/* 80155CD0 00151930 DB C1 00 80 */ stfd f30, 0x80(r1)
/* 80155CD4 00151934 F3 C1 00 88 */ psq_st f30, 136(r1), 0, qr0
/* 80155CD8 00151938 39 61 00 80 */ addi r11, r1, 0x80
/* 80155CDC 0015193C 48 07 14 39 */ bl _savegpr_22
/* 80155CE0 00151940 88 03 00 7B */ lbz r0, 0x7b(r3)
/* 80155CE4 00151944 3D 60 43 30 */ lis r11, 0x4330
/* 80155CE8 00151948 FF C0 08 90 */ fmr f30, f1
/* 80155CEC 0015194C 91 61 00 40 */ stw r11, 0x40(r1)
/* 80155CF0 00151950 FF E0 10 90 */ fmr f31, f2
/* 80155CF4 00151954 2C 00 00 00 */ cmpwi r0, 0
/* 80155CF8 00151958 91 61 00 48 */ stw r11, 0x48(r1)
/* 80155CFC 0015195C 3B C3 00 14 */ addi r30, r3, 0x14
/* 80155D00 00151960 7C 76 1B 78 */ mr r22, r3
/* 80155D04 00151964 7C 97 23 78 */ mr r23, r4
/* 80155D08 00151968 7C B8 2B 78 */ mr r24, r5
/* 80155D0C 0015196C 7C D9 33 78 */ mr r25, r6
/* 80155D10 00151970 7C FA 3B 78 */ mr r26, r7
/* 80155D14 00151974 7D 1B 43 78 */ mr r27, r8
/* 80155D18 00151978 7D 3C 4B 78 */ mr r28, r9
/* 80155D1C 0015197C 7D 5D 53 78 */ mr r29, r10
/* 80155D20 00151980 3B E0 00 00 */ li r31, 0
/* 80155D24 00151984 41 82 00 1C */ beq lbl_80155D40
/* 80155D28 00151988 80 1E 00 68 */ lwz r0, 0x68(r30)
/* 80155D2C 0015198C 7C 00 40 40 */ cmplw r0, r8
/* 80155D30 00151990 40 82 00 10 */ bne lbl_80155D40
/* 80155D34 00151994 7F C4 F3 78 */ mr r4, r30
/* 80155D38 00151998 48 00 17 ED */ bl func_80157524
/* 80155D3C 0015199C 48 00 00 9C */ b lbl_80155DD8
lbl_80155D40:
/* 80155D40 001519A0 88 1E 00 DB */ lbz r0, 0xdb(r30)
/* 80155D44 001519A4 3B E0 00 01 */ li r31, 1
/* 80155D48 001519A8 3B DE 00 74 */ addi r30, r30, 0x74
/* 80155D4C 001519AC 2C 00 00 00 */ cmpwi r0, 0
/* 80155D50 001519B0 41 82 00 20 */ beq lbl_80155D70
/* 80155D54 001519B4 80 1E 00 68 */ lwz r0, 0x68(r30)
/* 80155D58 001519B8 7C 00 40 40 */ cmplw r0, r8
/* 80155D5C 001519BC 40 82 00 14 */ bne lbl_80155D70
/* 80155D60 001519C0 7E C3 B3 78 */ mr r3, r22
/* 80155D64 001519C4 7F C4 F3 78 */ mr r4, r30
/* 80155D68 001519C8 48 00 17 BD */ bl func_80157524
/* 80155D6C 001519CC 48 00 00 6C */ b lbl_80155DD8
lbl_80155D70:
/* 80155D70 001519D0 88 1E 00 DB */ lbz r0, 0xdb(r30)
/* 80155D74 001519D4 3B E0 00 02 */ li r31, 2
/* 80155D78 001519D8 3B DE 00 74 */ addi r30, r30, 0x74
/* 80155D7C 001519DC 2C 00 00 00 */ cmpwi r0, 0
/* 80155D80 001519E0 41 82 00 20 */ beq lbl_80155DA0
/* 80155D84 001519E4 80 1E 00 68 */ lwz r0, 0x68(r30)
/* 80155D88 001519E8 7C 00 40 40 */ cmplw r0, r8
/* 80155D8C 001519EC 40 82 00 14 */ bne lbl_80155DA0
/* 80155D90 001519F0 7E C3 B3 78 */ mr r3, r22
/* 80155D94 001519F4 7F C4 F3 78 */ mr r4, r30
/* 80155D98 001519F8 48 00 17 8D */ bl func_80157524
/* 80155D9C 001519FC 48 00 00 3C */ b lbl_80155DD8
lbl_80155DA0:
/* 80155DA0 00151A00 88 1E 00 DB */ lbz r0, 0xdb(r30)
/* 80155DA4 00151A04 3B E0 00 03 */ li r31, 3
/* 80155DA8 00151A08 3B DE 00 74 */ addi r30, r30, 0x74
/* 80155DAC 00151A0C 2C 00 00 00 */ cmpwi r0, 0
/* 80155DB0 00151A10 41 82 00 20 */ beq lbl_80155DD0
/* 80155DB4 00151A14 80 1E 00 68 */ lwz r0, 0x68(r30)
/* 80155DB8 00151A18 7C 00 40 40 */ cmplw r0, r8
/* 80155DBC 00151A1C 40 82 00 14 */ bne lbl_80155DD0
/* 80155DC0 00151A20 7E C3 B3 78 */ mr r3, r22
/* 80155DC4 00151A24 7F C4 F3 78 */ mr r4, r30
/* 80155DC8 00151A28 48 00 17 5D */ bl func_80157524
/* 80155DCC 00151A2C 48 00 00 0C */ b lbl_80155DD8
lbl_80155DD0:
/* 80155DD0 00151A30 3B E0 00 04 */ li r31, 4
/* 80155DD4 00151A34 3B DE 00 74 */ addi r30, r30, 0x74
lbl_80155DD8:
/* 80155DD8 00151A38 28 1F 00 04 */ cmplwi r31, 4
/* 80155DDC 00151A3C 40 82 00 5C */ bne lbl_80155E38
/* 80155DE0 00151A40 88 16 00 7B */ lbz r0, 0x7b(r22)
/* 80155DE4 00151A44 3B D6 00 14 */ addi r30, r22, 0x14
/* 80155DE8 00151A48 3B E0 00 00 */ li r31, 0
/* 80155DEC 00151A4C 2C 00 00 00 */ cmpwi r0, 0
/* 80155DF0 00151A50 41 82 00 48 */ beq lbl_80155E38
/* 80155DF4 00151A54 88 1E 00 DB */ lbz r0, 0xdb(r30)
/* 80155DF8 00151A58 3B E0 00 01 */ li r31, 1
/* 80155DFC 00151A5C 3B DE 00 74 */ addi r30, r30, 0x74
/* 80155E00 00151A60 2C 00 00 00 */ cmpwi r0, 0
/* 80155E04 00151A64 41 82 00 34 */ beq lbl_80155E38
/* 80155E08 00151A68 88 1E 00 DB */ lbz r0, 0xdb(r30)
/* 80155E0C 00151A6C 3B E0 00 02 */ li r31, 2
/* 80155E10 00151A70 3B DE 00 74 */ addi r30, r30, 0x74
/* 80155E14 00151A74 2C 00 00 00 */ cmpwi r0, 0
/* 80155E18 00151A78 41 82 00 20 */ beq lbl_80155E38
/* 80155E1C 00151A7C 88 1E 00 DB */ lbz r0, 0xdb(r30)
/* 80155E20 00151A80 3B E0 00 03 */ li r31, 3
/* 80155E24 00151A84 3B DE 00 74 */ addi r30, r30, 0x74
/* 80155E28 00151A88 2C 00 00 00 */ cmpwi r0, 0
/* 80155E2C 00151A8C 41 82 00 0C */ beq lbl_80155E38
/* 80155E30 00151A90 3B E0 00 04 */ li r31, 4
/* 80155E34 00151A94 3B DE 00 74 */ addi r30, r30, 0x74
lbl_80155E38:
/* 80155E38 00151A98 28 1F 00 04 */ cmplwi r31, 4
/* 80155E3C 00151A9C 40 82 00 0C */ bne lbl_80155E48
/* 80155E40 00151AA0 38 60 00 00 */ li r3, 0
/* 80155E44 00151AA4 48 00 06 78 */ b lbl_801564BC
lbl_80155E48:
/* 80155E48 00151AA8 28 1C 00 11 */ cmplwi r28, 0x11
/* 80155E4C 00151AAC 40 81 00 08 */ ble lbl_80155E54
/* 80155E50 00151AB0 3B 80 00 00 */ li r28, 0
lbl_80155E54:
/* 80155E54 00151AB4 C0 22 8E E8 */ lfs f1, lbl_806414E8-_SDA2_BASE_(r2)
/* 80155E58 00151AB8 C0 17 00 00 */ lfs f0, 0(r23)
/* 80155E5C 00151ABC FC 01 00 00 */ fcmpu cr0, f1, f0
/* 80155E60 00151AC0 40 82 00 2C */ bne lbl_80155E8C
/* 80155E64 00151AC4 C0 17 00 04 */ lfs f0, 4(r23)
/* 80155E68 00151AC8 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 80155E6C 00151ACC 40 82 00 20 */ bne lbl_80155E8C
/* 80155E70 00151AD0 C0 17 00 08 */ lfs f0, 8(r23)
/* 80155E74 00151AD4 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 80155E78 00151AD8 40 82 00 14 */ bne lbl_80155E8C
/* 80155E7C 00151ADC C0 22 8E EC */ lfs f1, lbl_806414EC-_SDA2_BASE_(r2)
/* 80155E80 00151AE0 C0 02 8E F0 */ lfs f0, lbl_806414F0-_SDA2_BASE_(r2)
/* 80155E84 00151AE4 D0 37 00 00 */ stfs f1, 0(r23)
/* 80155E88 00151AE8 D0 17 00 04 */ stfs f0, 4(r23)
lbl_80155E8C:
/* 80155E8C 00151AEC 7C 19 C0 40 */ cmplw r25, r24
/* 80155E90 00151AF0 41 80 00 2C */ blt lbl_80155EBC
/* 80155E94 00151AF4 7C 18 C8 50 */ subf r0, r24, r25
/* 80155E98 00151AF8 93 41 00 4C */ stw r26, 0x4c(r1)
/* 80155E9C 00151AFC C8 42 8F 10 */ lfd f2, lbl_80641510-_SDA2_BASE_(r2)
/* 80155EA0 00151B00 90 01 00 44 */ stw r0, 0x44(r1)
/* 80155EA4 00151B04 C8 01 00 48 */ lfd f0, 0x48(r1)
/* 80155EA8 00151B08 C8 21 00 40 */ lfd f1, 0x40(r1)
/* 80155EAC 00151B0C EC 00 10 28 */ fsubs f0, f0, f2
/* 80155EB0 00151B10 EC 21 10 28 */ fsubs f1, f1, f2
/* 80155EB4 00151B14 EC 21 00 24 */ fdivs f1, f1, f0
/* 80155EB8 00151B18 48 00 00 28 */ b lbl_80155EE0
lbl_80155EBC:
/* 80155EBC 00151B1C 7C 19 C0 50 */ subf r0, r25, r24
/* 80155EC0 00151B20 93 41 00 4C */ stw r26, 0x4c(r1)
/* 80155EC4 00151B24 C8 42 8F 10 */ lfd f2, lbl_80641510-_SDA2_BASE_(r2)
/* 80155EC8 00151B28 90 01 00 44 */ stw r0, 0x44(r1)
/* 80155ECC 00151B2C C8 01 00 48 */ lfd f0, 0x48(r1)
/* 80155ED0 00151B30 C8 21 00 40 */ lfd f1, 0x40(r1)
/* 80155ED4 00151B34 EC 00 10 28 */ fsubs f0, f0, f2
/* 80155ED8 00151B38 EC 21 10 28 */ fsubs f1, f1, f2
/* 80155EDC 00151B3C EC 21 00 24 */ fdivs f1, f1, f0
lbl_80155EE0:
/* 80155EE0 00151B40 C0 02 8E F4 */ lfs f0, lbl_806414F4-_SDA2_BASE_(r2)
/* 80155EE4 00151B44 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80155EE8 00151B48 4C 41 13 82 */ cror 2, 1, 2
/* 80155EEC 00151B4C 40 82 00 10 */ bne lbl_80155EFC
/* 80155EF0 00151B50 38 00 00 01 */ li r0, 1
/* 80155EF4 00151B54 98 1E 00 65 */ stb r0, 0x65(r30)
/* 80155EF8 00151B58 48 00 00 28 */ b lbl_80155F20
lbl_80155EFC:
/* 80155EFC 00151B5C C0 02 8E F8 */ lfs f0, lbl_806414F8-_SDA2_BASE_(r2)
/* 80155F00 00151B60 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80155F04 00151B64 4C 41 13 82 */ cror 2, 1, 2
/* 80155F08 00151B68 40 82 00 10 */ bne lbl_80155F18
/* 80155F0C 00151B6C 38 00 00 03 */ li r0, 3
/* 80155F10 00151B70 98 1E 00 65 */ stb r0, 0x65(r30)
/* 80155F14 00151B74 48 00 00 0C */ b lbl_80155F20
lbl_80155F18:
/* 80155F18 00151B78 38 00 00 04 */ li r0, 4
/* 80155F1C 00151B7C 98 1E 00 65 */ stb r0, 0x65(r30)
lbl_80155F20:
/* 80155F20 00151B80 7E C3 B3 78 */ mr r3, r22
/* 80155F24 00151B84 7F C4 F3 78 */ mr r4, r30
/* 80155F28 00151B88 38 A0 00 00 */ li r5, 0
/* 80155F2C 00151B8C 48 00 05 B9 */ bl func_801564E4
/* 80155F30 00151B90 2C 03 00 00 */ cmpwi r3, 0
/* 80155F34 00151B94 41 82 00 1C */ beq lbl_80155F50
/* 80155F38 00151B98 7E C3 B3 78 */ mr r3, r22
/* 80155F3C 00151B9C 7F C4 F3 78 */ mr r4, r30
/* 80155F40 00151BA0 38 A0 00 01 */ li r5, 1
/* 80155F44 00151BA4 48 00 05 A1 */ bl func_801564E4
/* 80155F48 00151BA8 2C 03 00 00 */ cmpwi r3, 0
/* 80155F4C 00151BAC 40 82 00 18 */ bne lbl_80155F64
lbl_80155F50:
/* 80155F50 00151BB0 7E C3 B3 78 */ mr r3, r22
/* 80155F54 00151BB4 7F C4 F3 78 */ mr r4, r30
/* 80155F58 00151BB8 48 00 15 CD */ bl func_80157524
/* 80155F5C 00151BBC 38 60 00 00 */ li r3, 0
/* 80155F60 00151BC0 48 00 05 5C */ b lbl_801564BC
lbl_80155F64:
/* 80155F64 00151BC4 80 7E 00 08 */ lwz r3, 8(r30)
/* 80155F68 00151BC8 80 83 00 08 */ lwz r4, 8(r3)
/* 80155F6C 00151BCC 2C 04 00 00 */ cmpwi r4, 0
/* 80155F70 00151BD0 40 82 00 0C */ bne lbl_80155F7C
/* 80155F74 00151BD4 38 60 00 00 */ li r3, 0
/* 80155F78 00151BD8 48 00 00 1C */ b lbl_80155F94
lbl_80155F7C:
/* 80155F7C 00151BDC A0 03 00 DE */ lhz r0, 0xde(r3)
/* 80155F80 00151BE0 28 00 00 01 */ cmplwi r0, 1
/* 80155F84 00151BE4 41 81 00 0C */ bgt lbl_80155F90
/* 80155F88 00151BE8 38 60 00 00 */ li r3, 0
/* 80155F8C 00151BEC 48 00 00 08 */ b lbl_80155F94
lbl_80155F90:
/* 80155F90 00151BF0 80 64 00 04 */ lwz r3, 4(r4)
lbl_80155F94:
/* 80155F94 00151BF4 80 9E 00 0C */ lwz r4, 0xc(r30)
/* 80155F98 00151BF8 80 A4 00 08 */ lwz r5, 8(r4)
/* 80155F9C 00151BFC 2C 05 00 00 */ cmpwi r5, 0
/* 80155FA0 00151C00 40 82 00 0C */ bne lbl_80155FAC
/* 80155FA4 00151C04 38 A0 00 00 */ li r5, 0
/* 80155FA8 00151C08 48 00 00 1C */ b lbl_80155FC4
lbl_80155FAC:
/* 80155FAC 00151C0C A0 04 00 DE */ lhz r0, 0xde(r4)
/* 80155FB0 00151C10 2C 00 00 00 */ cmpwi r0, 0
/* 80155FB4 00151C14 40 82 00 0C */ bne lbl_80155FC0
/* 80155FB8 00151C18 38 A0 00 00 */ li r5, 0
/* 80155FBC 00151C1C 48 00 00 08 */ b lbl_80155FC4
lbl_80155FC0:
/* 80155FC0 00151C20 80 A5 00 00 */ lwz r5, 0(r5)
lbl_80155FC4:
/* 80155FC4 00151C24 38 80 00 07 */ li r4, 7
/* 80155FC8 00151C28 38 C0 00 00 */ li r6, 0
/* 80155FCC 00151C2C 38 E0 00 03 */ li r7, 3
/* 80155FD0 00151C30 48 09 C1 BD */ bl func_801F218C
/* 80155FD4 00151C34 80 7E 00 08 */ lwz r3, 8(r30)
/* 80155FD8 00151C38 C0 42 8E E8 */ lfs f2, lbl_806414E8-_SDA2_BASE_(r2)
/* 80155FDC 00151C3C 80 63 00 08 */ lwz r3, 8(r3)
/* 80155FE0 00151C40 D3 C1 00 30 */ stfs f30, 0x30(r1)
/* 80155FE4 00151C44 2C 03 00 00 */ cmpwi r3, 0
/* 80155FE8 00151C48 D3 E1 00 34 */ stfs f31, 0x34(r1)
/* 80155FEC 00151C4C D0 41 00 38 */ stfs f2, 0x38(r1)
/* 80155FF0 00151C50 41 82 00 2C */ beq lbl_8015601C
/* 80155FF4 00151C54 80 63 00 00 */ lwz r3, 0(r3)
/* 80155FF8 00151C58 2C 03 00 00 */ cmpwi r3, 0
/* 80155FFC 00151C5C 41 82 00 20 */ beq lbl_8015601C
/* 80156000 00151C60 FC 20 F0 18 */ frsp f1, f30
/* 80156004 00151C64 38 80 00 01 */ li r4, 1
/* 80156008 00151C68 FC 00 F8 18 */ frsp f0, f31
/* 8015600C 00151C6C D0 23 00 20 */ stfs f1, 0x20(r3)
/* 80156010 00151C70 D0 03 00 24 */ stfs f0, 0x24(r3)
/* 80156014 00151C74 D0 43 00 28 */ stfs f2, 0x28(r3)
/* 80156018 00151C78 48 09 C6 A1 */ bl func_801F26B8
lbl_8015601C:
/* 8015601C 00151C7C 80 7E 00 08 */ lwz r3, 8(r30)
/* 80156020 00151C80 C0 77 00 08 */ lfs f3, 8(r23)
/* 80156024 00151C84 80 63 00 08 */ lwz r3, 8(r3)
/* 80156028 00151C88 C0 57 00 04 */ lfs f2, 4(r23)
/* 8015602C 00151C8C C0 37 00 00 */ lfs f1, 0(r23)
/* 80156030 00151C90 2C 03 00 00 */ cmpwi r3, 0
/* 80156034 00151C94 C0 02 8E FC */ lfs f0, lbl_806414FC-_SDA2_BASE_(r2)
/* 80156038 00151C98 D0 21 00 20 */ stfs f1, 0x20(r1)
/* 8015603C 00151C9C D0 41 00 24 */ stfs f2, 0x24(r1)
/* 80156040 00151CA0 D0 61 00 28 */ stfs f3, 0x28(r1)
/* 80156044 00151CA4 D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 80156048 00151CA8 41 82 00 34 */ beq lbl_8015607C
/* 8015604C 00151CAC 80 63 00 00 */ lwz r3, 0(r3)
/* 80156050 00151CB0 2C 03 00 00 */ cmpwi r3, 0
/* 80156054 00151CB4 41 82 00 28 */ beq lbl_8015607C
/* 80156058 00151CB8 D0 23 00 2C */ stfs f1, 0x2c(r3)
/* 8015605C 00151CBC 38 80 00 01 */ li r4, 1
/* 80156060 00151CC0 D0 43 00 30 */ stfs f2, 0x30(r3)
/* 80156064 00151CC4 D0 63 00 34 */ stfs f3, 0x34(r3)
/* 80156068 00151CC8 D0 03 00 38 */ stfs f0, 0x38(r3)
/* 8015606C 00151CCC A0 03 00 10 */ lhz r0, 0x10(r3)
/* 80156070 00151CD0 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
/* 80156074 00151CD4 B0 03 00 10 */ sth r0, 0x10(r3)
/* 80156078 00151CD8 48 09 C6 41 */ bl func_801F26B8
lbl_8015607C:
/* 8015607C 00151CDC 80 7E 00 08 */ lwz r3, 8(r30)
/* 80156080 00151CE0 80 63 00 08 */ lwz r3, 8(r3)
/* 80156084 00151CE4 2C 03 00 00 */ cmpwi r3, 0
/* 80156088 00151CE8 41 82 00 CC */ beq lbl_80156154
/* 8015608C 00151CEC 80 63 00 00 */ lwz r3, 0(r3)
/* 80156090 00151CF0 2C 03 00 00 */ cmpwi r3, 0
/* 80156094 00151CF4 41 82 00 C0 */ beq lbl_80156154
/* 80156098 00151CF8 C0 1D 00 00 */ lfs f0, 0(r29)
/* 8015609C 00151CFC C0 42 8F 00 */ lfs f2, lbl_80641500-_SDA2_BASE_(r2)
/* 801560A0 00151D00 D0 03 00 48 */ stfs f0, 0x48(r3)
/* 801560A4 00151D04 C0 3D 00 04 */ lfs f1, 4(r29)
/* 801560A8 00151D08 FC 00 10 40 */ fcmpo cr0, f0, f2
/* 801560AC 00151D0C C0 1D 00 08 */ lfs f0, 8(r29)
/* 801560B0 00151D10 D0 23 00 4C */ stfs f1, 0x4c(r3)
/* 801560B4 00151D14 D0 03 00 50 */ stfs f0, 0x50(r3)
/* 801560B8 00151D18 40 80 00 2C */ bge lbl_801560E4
/* 801560BC 00151D1C C0 23 00 48 */ lfs f1, 0x48(r3)
/* 801560C0 00151D20 C0 62 8F 04 */ lfs f3, lbl_80641504-_SDA2_BASE_(r2)
/* 801560C4 00151D24 FC 01 18 40 */ fcmpo cr0, f1, f3
/* 801560C8 00151D28 40 81 00 1C */ ble lbl_801560E4
/* 801560CC 00151D2C C0 02 8E E8 */ lfs f0, lbl_806414E8-_SDA2_BASE_(r2)
/* 801560D0 00151D30 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801560D4 00151D34 40 80 00 08 */ bge lbl_801560DC
/* 801560D8 00151D38 48 00 00 08 */ b lbl_801560E0
lbl_801560DC:
/* 801560DC 00151D3C FC 60 10 90 */ fmr f3, f2
lbl_801560E0:
/* 801560E0 00151D40 D0 63 00 48 */ stfs f3, 0x48(r3)
lbl_801560E4:
/* 801560E4 00151D44 C0 43 00 4C */ lfs f2, 0x4c(r3)
/* 801560E8 00151D48 C0 22 8F 00 */ lfs f1, lbl_80641500-_SDA2_BASE_(r2)
/* 801560EC 00151D4C FC 02 08 40 */ fcmpo cr0, f2, f1
/* 801560F0 00151D50 40 80 00 28 */ bge lbl_80156118
/* 801560F4 00151D54 C0 62 8F 04 */ lfs f3, lbl_80641504-_SDA2_BASE_(r2)
/* 801560F8 00151D58 FC 02 18 40 */ fcmpo cr0, f2, f3
/* 801560FC 00151D5C 40 81 00 1C */ ble lbl_80156118
/* 80156100 00151D60 C0 02 8E E8 */ lfs f0, lbl_806414E8-_SDA2_BASE_(r2)
/* 80156104 00151D64 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80156108 00151D68 40 80 00 08 */ bge lbl_80156110
/* 8015610C 00151D6C 48 00 00 08 */ b lbl_80156114
lbl_80156110:
/* 80156110 00151D70 FC 60 08 90 */ fmr f3, f1
lbl_80156114:
/* 80156114 00151D74 D0 63 00 4C */ stfs f3, 0x4c(r3)
lbl_80156118:
/* 80156118 00151D78 C0 43 00 50 */ lfs f2, 0x50(r3)
/* 8015611C 00151D7C C0 22 8F 00 */ lfs f1, lbl_80641500-_SDA2_BASE_(r2)
/* 80156120 00151D80 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 80156124 00151D84 40 80 00 28 */ bge lbl_8015614C
/* 80156128 00151D88 C0 62 8F 04 */ lfs f3, lbl_80641504-_SDA2_BASE_(r2)
/* 8015612C 00151D8C FC 02 18 40 */ fcmpo cr0, f2, f3
/* 80156130 00151D90 40 81 00 1C */ ble lbl_8015614C
/* 80156134 00151D94 C0 02 8E E8 */ lfs f0, lbl_806414E8-_SDA2_BASE_(r2)
/* 80156138 00151D98 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8015613C 00151D9C 40 80 00 08 */ bge lbl_80156144
/* 80156140 00151DA0 48 00 00 08 */ b lbl_80156148
lbl_80156144:
/* 80156144 00151DA4 FC 60 08 90 */ fmr f3, f1
lbl_80156148:
/* 80156148 00151DA8 D0 63 00 50 */ stfs f3, 0x50(r3)
lbl_8015614C:
/* 8015614C 00151DAC 38 80 00 01 */ li r4, 1
/* 80156150 00151DB0 48 09 C5 69 */ bl func_801F26B8
lbl_80156154:
/* 80156154 00151DB4 80 7E 00 08 */ lwz r3, 8(r30)
/* 80156158 00151DB8 38 80 00 00 */ li r4, 0
/* 8015615C 00151DBC C0 22 8E E8 */ lfs f1, lbl_806414E8-_SDA2_BASE_(r2)
/* 80156160 00151DC0 38 A0 00 00 */ li r5, 0
/* 80156164 00151DC4 C0 42 8E FC */ lfs f2, lbl_806414FC-_SDA2_BASE_(r2)
/* 80156168 00151DC8 38 C0 00 00 */ li r6, 0
/* 8015616C 00151DCC 38 E0 00 00 */ li r7, 0
/* 80156170 00151DD0 39 00 00 00 */ li r8, 0
/* 80156174 00151DD4 48 09 EC 81 */ bl func_801F4DF4
/* 80156178 00151DD8 7E C3 B3 78 */ mr r3, r22
/* 8015617C 00151DDC 7F C4 F3 78 */ mr r4, r30
/* 80156180 00151DE0 38 A0 00 01 */ li r5, 1
/* 80156184 00151DE4 48 00 14 FD */ bl func_80157680
/* 80156188 00151DE8 93 41 00 44 */ stw r26, 0x44(r1)
/* 8015618C 00151DEC 7C 19 D0 40 */ cmplw r25, r26
/* 80156190 00151DF0 C8 42 8F 10 */ lfd f2, lbl_80641510-_SDA2_BASE_(r2)
/* 80156194 00151DF4 C8 01 00 40 */ lfd f0, 0x40(r1)
/* 80156198 00151DF8 EC 00 10 28 */ fsubs f0, f0, f2
/* 8015619C 00151DFC EC 01 00 24 */ fdivs f0, f1, f0
/* 801561A0 00151E00 D0 1E 00 5C */ stfs f0, 0x5c(r30)
/* 801561A4 00151E04 40 81 00 08 */ ble lbl_801561AC
/* 801561A8 00151E08 7F 59 D3 78 */ mr r25, r26
lbl_801561AC:
/* 801561AC 00151E0C 7C 19 D0 50 */ subf r0, r25, r26
/* 801561B0 00151E10 C8 42 8F 10 */ lfd f2, lbl_80641510-_SDA2_BASE_(r2)
/* 801561B4 00151E14 90 01 00 4C */ stw r0, 0x4c(r1)
/* 801561B8 00151E18 38 80 00 00 */ li r4, 0
/* 801561BC 00151E1C C0 1E 00 5C */ lfs f0, 0x5c(r30)
/* 801561C0 00151E20 38 A0 00 00 */ li r5, 0
/* 801561C4 00151E24 C8 21 00 48 */ lfd f1, 0x48(r1)
/* 801561C8 00151E28 38 C0 00 00 */ li r6, 0
/* 801561CC 00151E2C 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 801561D0 00151E30 38 E0 00 00 */ li r7, 0
/* 801561D4 00151E34 EC 21 10 28 */ fsubs f1, f1, f2
/* 801561D8 00151E38 C0 42 8E E8 */ lfs f2, lbl_806414E8-_SDA2_BASE_(r2)
/* 801561DC 00151E3C 39 00 00 00 */ li r8, 0
/* 801561E0 00151E40 EC 20 00 72 */ fmuls f1, f0, f1
/* 801561E4 00151E44 48 09 EC 11 */ bl func_801F4DF4
/* 801561E8 00151E48 38 00 00 80 */ li r0, 0x80
/* 801561EC 00151E4C 3A E0 00 00 */ li r23, 0
/* 801561F0 00151E50 98 01 00 0C */ stb r0, 0xc(r1)
/* 801561F4 00151E54 38 81 00 0C */ addi r4, r1, 0xc
/* 801561F8 00151E58 98 01 00 0D */ stb r0, 0xd(r1)
/* 801561FC 00151E5C 98 01 00 0E */ stb r0, 0xe(r1)
/* 80156200 00151E60 9A E1 00 0F */ stb r23, 0xf(r1)
/* 80156204 00151E64 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 80156208 00151E68 48 09 FF 8D */ bl func_801F6194
/* 8015620C 00151E6C 92 FE 00 60 */ stw r23, 0x60(r30)
/* 80156210 00151E70 38 00 00 FF */ li r0, 0xff
/* 80156214 00151E74 7E C3 B3 78 */ mr r3, r22
/* 80156218 00151E78 7F C4 F3 78 */ mr r4, r30
/* 8015621C 00151E7C 9B 9E 00 66 */ stb r28, 0x66(r30)
/* 80156220 00151E80 7F 65 DB 78 */ mr r5, r27
/* 80156224 00151E84 38 C1 00 08 */ addi r6, r1, 8
/* 80156228 00151E88 38 E0 00 01 */ li r7, 1
/* 8015622C 00151E8C 98 01 00 08 */ stb r0, 8(r1)
/* 80156230 00151E90 98 01 00 09 */ stb r0, 9(r1)
/* 80156234 00151E94 98 01 00 0A */ stb r0, 0xa(r1)
/* 80156238 00151E98 98 01 00 0B */ stb r0, 0xb(r1)
/* 8015623C 00151E9C 48 00 03 A9 */ bl func_801565E4
/* 80156240 00151EA0 93 01 00 44 */ stw r24, 0x44(r1)
/* 80156244 00151EA4 7C 19 C0 40 */ cmplw r25, r24
/* 80156248 00151EA8 C8 42 8F 10 */ lfd f2, lbl_80641510-_SDA2_BASE_(r2)
/* 8015624C 00151EAC C8 01 00 40 */ lfd f0, 0x40(r1)
/* 80156250 00151EB0 EC 00 10 28 */ fsubs f0, f0, f2
/* 80156254 00151EB4 D0 1E 00 4C */ stfs f0, 0x4c(r30)
/* 80156258 00151EB8 41 80 00 34 */ blt lbl_8015628C
/* 8015625C 00151EBC 7C 78 C8 50 */ subf r3, r24, r25
/* 80156260 00151EC0 88 1E 00 65 */ lbz r0, 0x65(r30)
/* 80156264 00151EC4 90 61 00 4C */ stw r3, 0x4c(r1)
/* 80156268 00151EC8 3C 60 80 42 */ lis r3, lbl_8041E818@ha
/* 8015626C 00151ECC 54 00 10 3A */ slwi r0, r0, 2
/* 80156270 00151ED0 C8 21 00 48 */ lfd f1, 0x48(r1)
/* 80156274 00151ED4 38 63 E8 18 */ addi r3, r3, lbl_8041E818@l
/* 80156278 00151ED8 7C 03 04 2E */ lfsx f0, r3, r0
/* 8015627C 00151EDC EC 21 10 28 */ fsubs f1, f1, f2
/* 80156280 00151EE0 EC 01 00 24 */ fdivs f0, f1, f0
/* 80156284 00151EE4 D0 1E 00 50 */ stfs f0, 0x50(r30)
/* 80156288 00151EE8 48 00 00 34 */ b lbl_801562BC
lbl_8015628C:
/* 8015628C 00151EEC 7C 79 C0 50 */ subf r3, r25, r24
/* 80156290 00151EF0 88 1E 00 65 */ lbz r0, 0x65(r30)
/* 80156294 00151EF4 90 61 00 44 */ stw r3, 0x44(r1)
/* 80156298 00151EF8 3C 60 80 42 */ lis r3, lbl_8041E818@ha
/* 8015629C 00151EFC 54 00 10 3A */ slwi r0, r0, 2
/* 801562A0 00151F00 C8 21 00 40 */ lfd f1, 0x40(r1)
/* 801562A4 00151F04 38 63 E8 18 */ addi r3, r3, lbl_8041E818@l
/* 801562A8 00151F08 7C 03 04 2E */ lfsx f0, r3, r0
/* 801562AC 00151F0C EC 21 10 28 */ fsubs f1, f1, f2
/* 801562B0 00151F10 EC 01 00 24 */ fdivs f0, f1, f0
/* 801562B4 00151F14 FC 00 00 50 */ fneg f0, f0
/* 801562B8 00151F18 D0 1E 00 50 */ stfs f0, 0x50(r30)
lbl_801562BC:
/* 801562BC 00151F1C 93 21 00 4C */ stw r25, 0x4c(r1)
/* 801562C0 00151F20 38 00 00 01 */ li r0, 1
/* 801562C4 00151F24 C8 42 8F 10 */ lfd f2, lbl_80641510-_SDA2_BASE_(r2)
/* 801562C8 00151F28 38 60 00 00 */ li r3, 0
/* 801562CC 00151F2C 93 41 00 44 */ stw r26, 0x44(r1)
/* 801562D0 00151F30 7C 00 F8 30 */ slw r0, r0, r31
/* 801562D4 00151F34 C8 21 00 48 */ lfd f1, 0x48(r1)
/* 801562D8 00151F38 C8 01 00 40 */ lfd f0, 0x40(r1)
/* 801562DC 00151F3C EC 21 10 28 */ fsubs f1, f1, f2
/* 801562E0 00151F40 EC 00 10 28 */ fsubs f0, f0, f2
/* 801562E4 00151F44 D0 3E 00 54 */ stfs f1, 0x54(r30)
/* 801562E8 00151F48 D0 1E 00 58 */ stfs f0, 0x58(r30)
/* 801562EC 00151F4C 98 7E 00 64 */ stb r3, 0x64(r30)
/* 801562F0 00151F50 9B FE 00 71 */ stb r31, 0x71(r30)
/* 801562F4 00151F54 88 7E 00 66 */ lbz r3, 0x66(r30)
/* 801562F8 00151F58 7C 96 1A 14 */ add r4, r22, r3
/* 801562FC 00151F5C 88 64 01 E4 */ lbz r3, 0x1e4(r4)
/* 80156300 00151F60 7C 60 00 78 */ andc r0, r3, r0
/* 80156304 00151F64 98 04 01 E4 */ stb r0, 0x1e4(r4)
/* 80156308 00151F68 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 8015630C 00151F6C 80 83 00 08 */ lwz r4, 8(r3)
/* 80156310 00151F70 2C 04 00 00 */ cmpwi r4, 0
/* 80156314 00151F74 40 82 00 0C */ bne lbl_80156320
/* 80156318 00151F78 3A C0 00 00 */ li r22, 0
/* 8015631C 00151F7C 48 00 00 1C */ b lbl_80156338
lbl_80156320:
/* 80156320 00151F80 A0 03 00 DE */ lhz r0, 0xde(r3)
/* 80156324 00151F84 28 00 00 04 */ cmplwi r0, 4
/* 80156328 00151F88 41 81 00 0C */ bgt lbl_80156334
/* 8015632C 00151F8C 3A C0 00 00 */ li r22, 0
/* 80156330 00151F90 48 00 00 08 */ b lbl_80156338
lbl_80156334:
/* 80156334 00151F94 82 C4 00 10 */ lwz r22, 0x10(r4)
lbl_80156338:
/* 80156338 00151F98 48 08 47 F1 */ bl func_801DAB28
/* 8015633C 00151F9C 2C 03 00 00 */ cmpwi r3, 0
/* 80156340 00151FA0 41 82 00 18 */ beq lbl_80156358
/* 80156344 00151FA4 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 80156348 00151FA8 38 80 01 40 */ li r4, 0x140
/* 8015634C 00151FAC 48 08 49 49 */ bl func_801DAC94
/* 80156350 00151FB0 7C 77 1B 78 */ mr r23, r3
/* 80156354 00151FB4 48 00 00 08 */ b lbl_8015635C
lbl_80156358:
/* 80156358 00151FB8 3A E0 00 00 */ li r23, 0
lbl_8015635C:
/* 8015635C 00151FBC 2C 17 00 00 */ cmpwi r23, 0
/* 80156360 00151FC0 41 82 00 2C */ beq lbl_8015638C
/* 80156364 00151FC4 3C 80 80 42 */ lis r4, lbl_8041E830@ha
/* 80156368 00151FC8 57 80 10 3A */ slwi r0, r28, 2
/* 8015636C 00151FCC 38 84 E8 30 */ addi r4, r4, lbl_8041E830@l
/* 80156370 00151FD0 38 60 03 EA */ li r3, 0x3ea
/* 80156374 00151FD4 7C 84 00 2E */ lwzx r4, r4, r0
/* 80156378 00151FD8 48 08 51 45 */ bl func_801DB4BC
/* 8015637C 00151FDC 7C 64 1B 78 */ mr r4, r3
/* 80156380 00151FE0 7E E3 BB 78 */ mr r3, r23
/* 80156384 00151FE4 48 0A 35 69 */ bl func_801F98EC
/* 80156388 00151FE8 7C 77 1B 78 */ mr r23, r3
lbl_8015638C:
/* 8015638C 00151FEC 2C 17 00 00 */ cmpwi r23, 0
/* 80156390 00151FF0 92 FE 00 10 */ stw r23, 0x10(r30)
/* 80156394 00151FF4 41 82 01 18 */ beq lbl_801564AC
/* 80156398 00151FF8 7E C3 B3 78 */ mr r3, r22
/* 8015639C 00151FFC 7E E5 BB 78 */ mr r5, r23
/* 801563A0 00152000 38 80 00 01 */ li r4, 1
/* 801563A4 00152004 38 C0 00 00 */ li r6, 0
/* 801563A8 00152008 38 E0 00 03 */ li r7, 3
/* 801563AC 0015200C 48 09 BD E1 */ bl func_801F218C
/* 801563B0 00152010 C0 02 8F 08 */ lfs f0, lbl_80641508-_SDA2_BASE_(r2)
/* 801563B4 00152014 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 801563B8 00152018 C0 42 8F 00 */ lfs f2, lbl_80641500-_SDA2_BASE_(r2)
/* 801563BC 0015201C D0 03 00 48 */ stfs f0, 0x48(r3)
/* 801563C0 00152020 FC 00 10 40 */ fcmpo cr0, f0, f2
/* 801563C4 00152024 D0 03 00 4C */ stfs f0, 0x4c(r3)
/* 801563C8 00152028 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 801563CC 0015202C D0 01 00 14 */ stfs f0, 0x14(r1)
/* 801563D0 00152030 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 801563D4 00152034 D0 03 00 50 */ stfs f0, 0x50(r3)
/* 801563D8 00152038 40 80 00 2C */ bge lbl_80156404
/* 801563DC 0015203C C0 23 00 48 */ lfs f1, 0x48(r3)
/* 801563E0 00152040 C0 62 8F 04 */ lfs f3, lbl_80641504-_SDA2_BASE_(r2)
/* 801563E4 00152044 FC 01 18 40 */ fcmpo cr0, f1, f3
/* 801563E8 00152048 40 81 00 1C */ ble lbl_80156404
/* 801563EC 0015204C C0 02 8E E8 */ lfs f0, lbl_806414E8-_SDA2_BASE_(r2)
/* 801563F0 00152050 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801563F4 00152054 40 80 00 08 */ bge lbl_801563FC
/* 801563F8 00152058 48 00 00 08 */ b lbl_80156400
lbl_801563FC:
/* 801563FC 0015205C FC 60 10 90 */ fmr f3, f2
lbl_80156400:
/* 80156400 00152060 D0 63 00 48 */ stfs f3, 0x48(r3)
lbl_80156404:
/* 80156404 00152064 C0 43 00 4C */ lfs f2, 0x4c(r3)
/* 80156408 00152068 C0 22 8F 00 */ lfs f1, lbl_80641500-_SDA2_BASE_(r2)
/* 8015640C 0015206C FC 02 08 40 */ fcmpo cr0, f2, f1
/* 80156410 00152070 40 80 00 28 */ bge lbl_80156438
/* 80156414 00152074 C0 62 8F 04 */ lfs f3, lbl_80641504-_SDA2_BASE_(r2)
/* 80156418 00152078 FC 02 18 40 */ fcmpo cr0, f2, f3
/* 8015641C 0015207C 40 81 00 1C */ ble lbl_80156438
/* 80156420 00152080 C0 02 8E E8 */ lfs f0, lbl_806414E8-_SDA2_BASE_(r2)
/* 80156424 00152084 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80156428 00152088 40 80 00 08 */ bge lbl_80156430
/* 8015642C 0015208C 48 00 00 08 */ b lbl_80156434
lbl_80156430:
/* 80156430 00152090 FC 60 08 90 */ fmr f3, f1
lbl_80156434:
/* 80156434 00152094 D0 63 00 4C */ stfs f3, 0x4c(r3)
lbl_80156438:
/* 80156438 00152098 C0 43 00 50 */ lfs f2, 0x50(r3)
/* 8015643C 0015209C C0 22 8F 00 */ lfs f1, lbl_80641500-_SDA2_BASE_(r2)
/* 80156440 001520A0 FC 02 08 40 */ fcmpo cr0, f2, f1
/* 80156444 001520A4 40 80 00 28 */ bge lbl_8015646C
/* 80156448 001520A8 C0 62 8F 04 */ lfs f3, lbl_80641504-_SDA2_BASE_(r2)
/* 8015644C 001520AC FC 02 18 40 */ fcmpo cr0, f2, f3
/* 80156450 001520B0 40 81 00 1C */ ble lbl_8015646C
/* 80156454 001520B4 C0 02 8E E8 */ lfs f0, lbl_806414E8-_SDA2_BASE_(r2)
/* 80156458 001520B8 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8015645C 001520BC 40 80 00 08 */ bge lbl_80156464
/* 80156460 001520C0 48 00 00 08 */ b lbl_80156468
lbl_80156464:
/* 80156464 001520C4 FC 60 08 90 */ fmr f3, f1
lbl_80156468:
/* 80156468 001520C8 D0 63 00 50 */ stfs f3, 0x50(r3)
lbl_8015646C:
/* 8015646C 001520CC 38 80 00 01 */ li r4, 1
/* 80156470 001520D0 48 09 C2 49 */ bl func_801F26B8
/* 80156474 001520D4 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 80156478 001520D8 80 63 01 38 */ lwz r3, 0x138(r3)
/* 8015647C 001520DC 2C 03 00 00 */ cmpwi r3, 0
/* 80156480 001520E0 41 82 00 10 */ beq lbl_80156490
/* 80156484 001520E4 A0 03 01 48 */ lhz r0, 0x148(r3)
/* 80156488 001520E8 60 00 00 10 */ ori r0, r0, 0x10
/* 8015648C 001520EC B0 03 01 48 */ sth r0, 0x148(r3)
lbl_80156490:
/* 80156490 001520F0 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 80156494 001520F4 80 63 01 38 */ lwz r3, 0x138(r3)
/* 80156498 001520F8 2C 03 00 00 */ cmpwi r3, 0
/* 8015649C 001520FC 41 82 00 10 */ beq lbl_801564AC
/* 801564A0 00152100 A0 03 01 48 */ lhz r0, 0x148(r3)
/* 801564A4 00152104 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
/* 801564A8 00152108 B0 03 01 48 */ sth r0, 0x148(r3)
lbl_801564AC:
/* 801564AC 0015210C 93 7E 00 68 */ stw r27, 0x68(r30)
/* 801564B0 00152110 38 00 00 01 */ li r0, 1
/* 801564B4 00152114 38 7F 00 01 */ addi r3, r31, 1
/* 801564B8 00152118 98 1E 00 67 */ stb r0, 0x67(r30)
lbl_801564BC:
/* 801564BC 0015211C E3 E1 00 98 */ psq_l f31, 152(r1), 0, qr0
/* 801564C0 00152120 CB E1 00 90 */ lfd f31, 0x90(r1)
/* 801564C4 00152124 E3 C1 00 88 */ psq_l f30, 136(r1), 0, qr0
/* 801564C8 00152128 39 61 00 80 */ addi r11, r1, 0x80
/* 801564CC 0015212C CB C1 00 80 */ lfd f30, 0x80(r1)
/* 801564D0 00152130 48 07 0C 91 */ bl _restgpr_22
/* 801564D4 00152134 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 801564D8 00152138 7C 08 03 A6 */ mtlr r0
/* 801564DC 0015213C 38 21 00 A0 */ addi r1, r1, 0xa0
/* 801564E0 00152140 4E 80 00 20 */ blr
.global func_801564E4
func_801564E4:
/* 801564E4 00152144 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801564E8 00152148 7C 08 02 A6 */ mflr r0
/* 801564EC 0015214C 90 01 00 24 */ stw r0, 0x24(r1)
/* 801564F0 00152150 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801564F4 00152154 54 BF 10 3A */ slwi r31, r5, 2
/* 801564F8 00152158 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801564FC 0015215C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80156500 00152160 7C 9D 23 78 */ mr r29, r4
/* 80156504 00152164 7F C3 F8 2E */ lwzx r30, r3, r31
/* 80156508 00152168 2C 1E 00 00 */ cmpwi r30, 0
/* 8015650C 0015216C 40 82 00 0C */ bne lbl_80156518
/* 80156510 00152170 38 60 00 00 */ li r3, 0
/* 80156514 00152174 48 00 00 B4 */ b lbl_801565C8
lbl_80156518:
/* 80156518 00152178 48 08 46 11 */ bl func_801DAB28
/* 8015651C 0015217C 2C 03 00 00 */ cmpwi r3, 0
/* 80156520 00152180 41 82 00 14 */ beq lbl_80156534
/* 80156524 00152184 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 80156528 00152188 38 80 00 14 */ li r4, 0x14
/* 8015652C 0015218C 48 08 47 69 */ bl func_801DAC94
/* 80156530 00152190 48 00 00 08 */ b lbl_80156538
lbl_80156534:
/* 80156534 00152194 38 60 00 00 */ li r3, 0
lbl_80156538:
/* 80156538 00152198 2C 03 00 00 */ cmpwi r3, 0
/* 8015653C 0015219C 41 82 00 0C */ beq lbl_80156548
/* 80156540 001521A0 7F C4 F3 78 */ mr r4, r30
/* 80156544 001521A4 48 0A 3B 51 */ bl func_801FA094
lbl_80156548:
/* 80156548 001521A8 2C 03 00 00 */ cmpwi r3, 0
/* 8015654C 001521AC 7C 7D F9 2E */ stwx r3, r29, r31
/* 80156550 001521B0 40 82 00 0C */ bne lbl_8015655C
/* 80156554 001521B4 38 60 00 00 */ li r3, 0
/* 80156558 001521B8 48 00 00 70 */ b lbl_801565C8
lbl_8015655C:
/* 8015655C 001521BC 80 83 00 00 */ lwz r4, 0(r3)
/* 80156560 001521C0 A0 04 00 18 */ lhz r0, 0x18(r4)
/* 80156564 001521C4 2C 80 00 00 */ cmpwi cr1, r0, 0
/* 80156568 001521C8 40 86 00 0C */ bne cr1, lbl_80156574
/* 8015656C 001521CC 38 60 00 00 */ li r3, 0
/* 80156570 001521D0 48 00 00 58 */ b lbl_801565C8
lbl_80156574:
/* 80156574 001521D4 80 63 00 04 */ lwz r3, 4(r3)
/* 80156578 001521D8 2C 03 00 00 */ cmpwi r3, 0
/* 8015657C 001521DC 40 82 00 0C */ bne lbl_80156588
/* 80156580 001521E0 38 60 00 00 */ li r3, 0
/* 80156584 001521E4 48 00 00 14 */ b lbl_80156598
lbl_80156588:
/* 80156588 001521E8 40 86 00 0C */ bne cr1, lbl_80156594
/* 8015658C 001521EC 38 60 00 00 */ li r3, 0
/* 80156590 001521F0 48 00 00 08 */ b lbl_80156598
lbl_80156594:
/* 80156594 001521F4 80 63 00 00 */ lwz r3, 0(r3)
lbl_80156598:
/* 80156598 001521F8 7F FD FA 14 */ add r31, r29, r31
/* 8015659C 001521FC 2C 03 00 00 */ cmpwi r3, 0
/* 801565A0 00152200 90 7F 00 08 */ stw r3, 8(r31)
/* 801565A4 00152204 40 82 00 0C */ bne lbl_801565B0
/* 801565A8 00152208 38 60 00 00 */ li r3, 0
/* 801565AC 0015220C 48 00 00 1C */ b lbl_801565C8
lbl_801565B0:
/* 801565B0 00152210 48 09 F3 FD */ bl func_801F59AC
/* 801565B4 00152214 80 7F 00 08 */ lwz r3, 8(r31)
/* 801565B8 00152218 48 0A D2 59 */ bl func_80203810
/* 801565BC 0015221C 80 7F 00 08 */ lwz r3, 8(r31)
/* 801565C0 00152220 48 0A A2 99 */ bl func_80200858
/* 801565C4 00152224 38 60 00 01 */ li r3, 1
lbl_801565C8:
/* 801565C8 00152228 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801565CC 0015222C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801565D0 00152230 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801565D4 00152234 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801565D8 00152238 7C 08 03 A6 */ mtlr r0
/* 801565DC 0015223C 38 21 00 20 */ addi r1, r1, 0x20
/* 801565E0 00152240 4E 80 00 20 */ blr
.global func_801565E4
func_801565E4:
/* 801565E4 00152244 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 801565E8 00152248 7C 08 02 A6 */ mflr r0
/* 801565EC 0015224C 90 01 00 84 */ stw r0, 0x84(r1)
/* 801565F0 00152250 DB E1 00 70 */ stfd f31, 0x70(r1)
/* 801565F4 00152254 F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0
/* 801565F8 00152258 DB C1 00 60 */ stfd f30, 0x60(r1)
/* 801565FC 0015225C F3 C1 00 68 */ psq_st f30, 104(r1), 0, qr0
/* 80156600 00152260 39 61 00 60 */ addi r11, r1, 0x60
/* 80156604 00152264 48 07 0B 1D */ bl _savegpr_25
/* 80156608 00152268 80 64 00 18 */ lwz r3, 0x18(r4)
/* 8015660C 0015226C 7C 99 23 78 */ mr r25, r4
/* 80156610 00152270 7C BC 2B 78 */ mr r28, r5
/* 80156614 00152274 7C DA 33 78 */ mr r26, r6
/* 80156618 00152278 2C 03 00 00 */ cmpwi r3, 0
/* 8015661C 0015227C 7C FB 3B 78 */ mr r27, r7
/* 80156620 00152280 41 82 00 10 */ beq lbl_80156630
/* 80156624 00152284 48 0A D5 D9 */ bl func_80203BFC
/* 80156628 00152288 38 00 00 00 */ li r0, 0
/* 8015662C 0015228C 90 19 00 18 */ stw r0, 0x18(r25)
lbl_80156630:
/* 80156630 00152290 80 79 00 14 */ lwz r3, 0x14(r25)
/* 80156634 00152294 2C 03 00 00 */ cmpwi r3, 0
/* 80156638 00152298 41 82 00 10 */ beq lbl_80156648
/* 8015663C 0015229C 48 0A D5 C1 */ bl func_80203BFC
/* 80156640 001522A0 38 00 00 00 */ li r0, 0
/* 80156644 001522A4 90 19 00 14 */ stw r0, 0x14(r25)
lbl_80156648:
/* 80156648 001522A8 80 79 00 08 */ lwz r3, 8(r25)
/* 8015664C 001522AC 80 83 00 08 */ lwz r4, 8(r3)
/* 80156650 001522B0 2C 04 00 00 */ cmpwi r4, 0
/* 80156654 001522B4 40 82 00 0C */ bne lbl_80156660
/* 80156658 001522B8 3B E0 00 00 */ li r31, 0
/* 8015665C 001522BC 48 00 00 1C */ b lbl_80156678
lbl_80156660:
/* 80156660 001522C0 A0 03 00 DE */ lhz r0, 0xde(r3)
/* 80156664 001522C4 28 00 00 02 */ cmplwi r0, 2
/* 80156668 001522C8 41 81 00 0C */ bgt lbl_80156674
/* 8015666C 001522CC 3B E0 00 00 */ li r31, 0
/* 80156670 001522D0 48 00 00 08 */ b lbl_80156678
lbl_80156674:
/* 80156674 001522D4 83 E4 00 08 */ lwz r31, 8(r4)
lbl_80156678:
/* 80156678 001522D8 2C 1F 00 00 */ cmpwi r31, 0
/* 8015667C 001522DC 41 82 00 10 */ beq lbl_8015668C
/* 80156680 001522E0 A0 1F 00 10 */ lhz r0, 0x10(r31)
/* 80156684 001522E4 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 80156688 001522E8 B0 1F 00 10 */ sth r0, 0x10(r31)
lbl_8015668C:
/* 8015668C 001522EC 80 79 00 08 */ lwz r3, 8(r25)
/* 80156690 001522F0 80 83 00 08 */ lwz r4, 8(r3)
/* 80156694 001522F4 2C 04 00 00 */ cmpwi r4, 0
/* 80156698 001522F8 40 82 00 0C */ bne lbl_801566A4
/* 8015669C 001522FC 3B C0 00 00 */ li r30, 0
/* 801566A0 00152300 48 00 00 1C */ b lbl_801566BC
lbl_801566A4:
/* 801566A4 00152304 A0 03 00 DE */ lhz r0, 0xde(r3)
/* 801566A8 00152308 28 00 00 03 */ cmplwi r0, 3
/* 801566AC 0015230C 41 81 00 0C */ bgt lbl_801566B8
/* 801566B0 00152310 3B C0 00 00 */ li r30, 0
/* 801566B4 00152314 48 00 00 08 */ b lbl_801566BC
lbl_801566B8:
/* 801566B8 00152318 83 C4 00 0C */ lwz r30, 0xc(r4)
lbl_801566BC:
/* 801566BC 0015231C 2C 1E 00 00 */ cmpwi r30, 0
/* 801566C0 00152320 41 82 00 10 */ beq lbl_801566D0
/* 801566C4 00152324 A0 1E 00 10 */ lhz r0, 0x10(r30)
/* 801566C8 00152328 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 801566CC 0015232C B0 1E 00 10 */ sth r0, 0x10(r30)
lbl_801566D0:
/* 801566D0 00152330 38 00 00 FF */ li r0, 0xff
/* 801566D4 00152334 98 19 00 6C */ stb r0, 0x6c(r25)
/* 801566D8 00152338 98 19 00 6D */ stb r0, 0x6d(r25)
/* 801566DC 0015233C 98 19 00 6E */ stb r0, 0x6e(r25)
/* 801566E0 00152340 98 19 00 6F */ stb r0, 0x6f(r25)
/* 801566E4 00152344 98 19 00 70 */ stb r0, 0x70(r25)
/* 801566E8 00152348 4B ED F6 B5 */ bl func_80035D9C
/* 801566EC 0015234C 7F 84 E3 78 */ mr r4, r28
/* 801566F0 00152350 4B EE 06 4D */ bl func_80036D3C
/* 801566F4 00152354 2C 03 00 00 */ cmpwi r3, 0
/* 801566F8 00152358 7C 64 1B 78 */ mr r4, r3
/* 801566FC 0015235C 41 82 04 3C */ beq lbl_80156B38
/* 80156700 00152360 3C A0 00 01 */ lis r5, 0x0000FFFF@ha
/* 80156704 00152364 38 79 00 24 */ addi r3, r25, 0x24
/* 80156708 00152368 38 E5 FF FF */ addi r7, r5, 0x0000FFFF@l
/* 8015670C 0015236C 38 84 00 12 */ addi r4, r4, 0x12
/* 80156710 00152370 38 C5 F0 01 */ addi r6, r5, -4095
/* 80156714 00152374 38 05 F1 01 */ addi r0, r5, -3839
/* 80156718 00152378 B0 F9 00 1C */ sth r7, 0x1c(r25)
/* 8015671C 0015237C 38 A0 00 20 */ li r5, 0x20
/* 80156720 00152380 B0 D9 00 1E */ sth r6, 0x1e(r25)
/* 80156724 00152384 B0 F9 00 20 */ sth r7, 0x20(r25)
/* 80156728 00152388 B0 19 00 22 */ sth r0, 0x22(r25)
/* 8015672C 0015238C 4B EA D8 D5 */ bl memcpy
/* 80156730 00152390 38 00 00 00 */ li r0, 0
/* 80156734 00152394 7F 45 D3 78 */ mr r5, r26
/* 80156738 00152398 B0 19 00 44 */ sth r0, 0x44(r25)
/* 8015673C 0015239C 38 79 00 1C */ addi r3, r25, 0x1c
/* 80156740 001523A0 38 80 00 07 */ li r4, 7
/* 80156744 001523A4 38 CD A3 DC */ addi r6, r13, lbl_8063F69C-_SDA_BASE_
/* 80156748 001523A8 B0 19 00 46 */ sth r0, 0x46(r25)
/* 8015674C 001523AC B0 19 00 48 */ sth r0, 0x48(r25)
/* 80156750 001523B0 B0 19 00 4A */ sth r0, 0x4a(r25)
/* 80156754 001523B4 48 0A D3 15 */ bl func_80203A68
/* 80156758 001523B8 2C 03 00 00 */ cmpwi r3, 0
/* 8015675C 001523BC 7C 7D 1B 78 */ mr r29, r3
/* 80156760 001523C0 41 82 03 D8 */ beq lbl_80156B38
/* 80156764 001523C4 3B 80 00 00 */ li r28, 0
/* 80156768 001523C8 48 0E 7D D9 */ bl func_8023E540
/* 8015676C 001523CC B0 61 00 0A */ sth r3, 0xa(r1)
/* 80156770 001523D0 E3 E1 B0 0A */ psq_l f31, 10(r1), 1, qr3
/* 80156774 001523D4 7F A3 EB 78 */ mr r3, r29
/* 80156778 001523D8 48 0E 7D D1 */ bl func_8023E548
/* 8015677C 001523DC B0 61 00 08 */ sth r3, 8(r1)
/* 80156780 001523E0 E3 C1 B0 08 */ psq_l f30, 8(r1), 1, qr3
/* 80156784 001523E4 80 79 00 08 */ lwz r3, 8(r25)
/* 80156788 001523E8 93 B9 00 14 */ stw r29, 0x14(r25)
/* 8015678C 001523EC 80 83 00 08 */ lwz r4, 8(r3)
/* 80156790 001523F0 2C 04 00 00 */ cmpwi r4, 0
/* 80156794 001523F4 40 82 00 0C */ bne lbl_801567A0
/* 80156798 001523F8 38 60 00 00 */ li r3, 0
/* 8015679C 001523FC 48 00 00 1C */ b lbl_801567B8
lbl_801567A0:
/* 801567A0 00152400 A0 03 00 DE */ lhz r0, 0xde(r3)
/* 801567A4 00152404 28 00 00 05 */ cmplwi r0, 5
/* 801567A8 00152408 41 81 00 0C */ bgt lbl_801567B4
/* 801567AC 0015240C 38 60 00 00 */ li r3, 0
/* 801567B0 00152410 48 00 00 08 */ b lbl_801567B8
lbl_801567B4:
/* 801567B4 00152414 80 64 00 14 */ lwz r3, 0x14(r4)
lbl_801567B8:
/* 801567B8 00152418 2C 03 00 00 */ cmpwi r3, 0
/* 801567BC 0015241C 41 82 00 1C */ beq lbl_801567D8
/* 801567C0 00152420 88 03 00 12 */ lbz r0, 0x12(r3)
/* 801567C4 00152424 2C 00 00 03 */ cmpwi r0, 3
/* 801567C8 00152428 40 82 00 08 */ bne lbl_801567D0
/* 801567CC 0015242C 48 00 00 10 */ b lbl_801567DC
lbl_801567D0:
/* 801567D0 00152430 38 60 00 00 */ li r3, 0
/* 801567D4 00152434 48 00 00 08 */ b lbl_801567DC
lbl_801567D8:
/* 801567D8 00152438 38 60 00 00 */ li r3, 0
lbl_801567DC:
/* 801567DC 0015243C 2C 03 00 00 */ cmpwi r3, 0
/* 801567E0 00152440 41 82 00 58 */ beq lbl_80156838
/* 801567E4 00152444 2C 1F 00 00 */ cmpwi r31, 0
/* 801567E8 00152448 41 82 00 50 */ beq lbl_80156838
/* 801567EC 0015244C C0 23 01 14 */ lfs f1, 0x114(r3)
/* 801567F0 00152450 C0 03 01 08 */ lfs f0, 0x108(r3)
/* 801567F4 00152454 EC 01 00 28 */ fsubs f0, f1, f0
/* 801567F8 00152458 D0 01 00 38 */ stfs f0, 0x38(r1)
/* 801567FC 0015245C EC 20 07 B2 */ fmuls f1, f0, f30
/* 80156800 00152460 C0 43 01 18 */ lfs f2, 0x118(r3)
/* 80156804 00152464 C0 03 01 0C */ lfs f0, 0x10c(r3)
/* 80156808 00152468 EC 42 00 28 */ fsubs f2, f2, f0
/* 8015680C 0015246C EC 02 07 F2 */ fmuls f0, f2, f31
/* 80156810 00152470 D0 41 00 3C */ stfs f2, 0x3c(r1)
/* 80156814 00152474 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80156818 00152478 4C 41 13 82 */ cror 2, 1, 2
/* 8015681C 0015247C 40 82 00 1C */ bne lbl_80156838
/* 80156820 00152480 EC 00 F0 24 */ fdivs f0, f0, f30
/* 80156824 00152484 7C 7C 1B 78 */ mr r28, r3
/* 80156828 00152488 D0 01 00 38 */ stfs f0, 0x38(r1)
/* 8015682C 0015248C A0 1F 00 10 */ lhz r0, 0x10(r31)
/* 80156830 00152490 60 00 00 02 */ ori r0, r0, 2
/* 80156834 00152494 B0 1F 00 10 */ sth r0, 0x10(r31)
lbl_80156838:
/* 80156838 00152498 2C 1C 00 00 */ cmpwi r28, 0
/* 8015683C 0015249C 40 82 00 C0 */ bne lbl_801568FC
/* 80156840 001524A0 80 79 00 08 */ lwz r3, 8(r25)
/* 80156844 001524A4 80 83 00 08 */ lwz r4, 8(r3)
/* 80156848 001524A8 2C 04 00 00 */ cmpwi r4, 0
/* 8015684C 001524AC 40 82 00 0C */ bne lbl_80156858
/* 80156850 001524B0 38 60 00 00 */ li r3, 0
/* 80156854 001524B4 48 00 00 1C */ b lbl_80156870
lbl_80156858:
/* 80156858 001524B8 A0 03 00 DE */ lhz r0, 0xde(r3)
/* 8015685C 001524BC 28 00 00 06 */ cmplwi r0, 6
/* 80156860 001524C0 41 81 00 0C */ bgt lbl_8015686C
/* 80156864 001524C4 38 60 00 00 */ li r3, 0
/* 80156868 001524C8 48 00 00 08 */ b lbl_80156870
lbl_8015686C:
/* 8015686C 001524CC 80 64 00 18 */ lwz r3, 0x18(r4)
lbl_80156870:
/* 80156870 001524D0 2C 03 00 00 */ cmpwi r3, 0
/* 80156874 001524D4 41 82 00 1C */ beq lbl_80156890
/* 80156878 001524D8 88 03 00 12 */ lbz r0, 0x12(r3)
/* 8015687C 001524DC 2C 00 00 03 */ cmpwi r0, 3
/* 80156880 001524E0 40 82 00 08 */ bne lbl_80156888
/* 80156884 001524E4 48 00 00 10 */ b lbl_80156894
lbl_80156888:
/* 80156888 001524E8 38 60 00 00 */ li r3, 0
/* 8015688C 001524EC 48 00 00 08 */ b lbl_80156894
lbl_80156890:
/* 80156890 001524F0 38 60 00 00 */ li r3, 0
lbl_80156894:
/* 80156894 001524F4 2C 03 00 00 */ cmpwi r3, 0
/* 80156898 001524F8 41 82 00 64 */ beq lbl_801568FC
/* 8015689C 001524FC 2C 1E 00 00 */ cmpwi r30, 0
/* 801568A0 00152500 41 82 00 5C */ beq lbl_801568FC
/* 801568A4 00152504 C0 23 01 14 */ lfs f1, 0x114(r3)
/* 801568A8 00152508 C0 03 01 08 */ lfs f0, 0x108(r3)
/* 801568AC 0015250C EC 01 00 28 */ fsubs f0, f1, f0
/* 801568B0 00152510 D0 01 00 38 */ stfs f0, 0x38(r1)
/* 801568B4 00152514 EC 20 07 B2 */ fmuls f1, f0, f30
/* 801568B8 00152518 C0 43 01 18 */ lfs f2, 0x118(r3)
/* 801568BC 0015251C C0 03 01 0C */ lfs f0, 0x10c(r3)
/* 801568C0 00152520 EC 42 00 28 */ fsubs f2, f2, f0
/* 801568C4 00152524 EC 02 07 F2 */ fmuls f0, f2, f31
/* 801568C8 00152528 D0 41 00 3C */ stfs f2, 0x3c(r1)
/* 801568CC 0015252C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801568D0 00152530 4C 41 13 82 */ cror 2, 1, 2
/* 801568D4 00152534 40 82 00 10 */ bne lbl_801568E4
/* 801568D8 00152538 EC 00 F0 24 */ fdivs f0, f0, f30
/* 801568DC 0015253C D0 01 00 38 */ stfs f0, 0x38(r1)
/* 801568E0 00152540 48 00 00 0C */ b lbl_801568EC
lbl_801568E4:
/* 801568E4 00152544 EC 01 F8 24 */ fdivs f0, f1, f31
/* 801568E8 00152548 D0 01 00 3C */ stfs f0, 0x3c(r1)
lbl_801568EC:
/* 801568EC 0015254C A0 1E 00 10 */ lhz r0, 0x10(r30)
/* 801568F0 00152550 7C 7C 1B 78 */ mr r28, r3
/* 801568F4 00152554 60 00 00 02 */ ori r0, r0, 2
/* 801568F8 00152558 B0 1E 00 10 */ sth r0, 0x10(r30)
lbl_801568FC:
/* 801568FC 0015255C 2C 1C 00 00 */ cmpwi r28, 0
/* 80156900 00152560 41 82 02 38 */ beq lbl_80156B38
/* 80156904 00152564 80 79 00 08 */ lwz r3, 8(r25)
/* 80156908 00152568 7F A4 EB 78 */ mr r4, r29
/* 8015690C 0015256C 7F 85 E3 78 */ mr r5, r28
/* 80156910 00152570 38 C0 00 00 */ li r6, 0
/* 80156914 00152574 48 0A 1D 61 */ bl func_801F8674
/* 80156918 00152578 C0 02 8F 18 */ lfs f0, lbl_80641518-_SDA2_BASE_(r2)
/* 8015691C 0015257C 98 79 00 6C */ stb r3, 0x6c(r25)
/* 80156920 00152580 EC 5E 00 28 */ fsubs f2, f30, f0
/* 80156924 00152584 C0 21 00 38 */ lfs f1, 0x38(r1)
/* 80156928 00152588 C0 01 00 3C */ lfs f0, 0x3c(r1)
/* 8015692C 0015258C EC 5E 10 24 */ fdivs f2, f30, f2
/* 80156930 00152590 EC 21 00 B2 */ fmuls f1, f1, f2
/* 80156934 00152594 EC 00 00 B2 */ fmuls f0, f0, f2
/* 80156938 00152598 D0 21 00 38 */ stfs f1, 0x38(r1)
/* 8015693C 0015259C D0 01 00 3C */ stfs f0, 0x3c(r1)
/* 80156940 001525A0 88 99 00 6C */ lbz r4, 0x6c(r25)
/* 80156944 001525A4 28 04 00 FF */ cmplwi r4, 0xff
/* 80156948 001525A8 41 82 00 30 */ beq lbl_80156978
/* 8015694C 001525AC 80 79 00 08 */ lwz r3, 8(r25)
/* 80156950 001525B0 38 A1 00 38 */ addi r5, r1, 0x38
/* 80156954 001525B4 48 0A 22 1D */ bl func_801F8B70
/* 80156958 001525B8 C0 22 8E E8 */ lfs f1, lbl_806414E8-_SDA2_BASE_(r2)
/* 8015695C 001525BC 38 A1 00 30 */ addi r5, r1, 0x30
/* 80156960 001525C0 C0 02 8F 18 */ lfs f0, lbl_80641518-_SDA2_BASE_(r2)
/* 80156964 001525C4 D0 21 00 30 */ stfs f1, 0x30(r1)
/* 80156968 001525C8 D0 01 00 34 */ stfs f0, 0x34(r1)
/* 8015696C 001525CC 80 79 00 08 */ lwz r3, 8(r25)
/* 80156970 001525D0 88 99 00 6C */ lbz r4, 0x6c(r25)
/* 80156974 001525D4 48 0A 21 CD */ bl func_801F8B40
lbl_80156978:
/* 80156978 001525D8 2C 1B 00 00 */ cmpwi r27, 0
/* 8015697C 001525DC 41 82 01 BC */ beq lbl_80156B38
/* 80156980 001525E0 88 7A 00 00 */ lbz r3, 0(r26)
/* 80156984 001525E4 38 A0 00 00 */ li r5, 0
/* 80156988 001525E8 88 0D A3 E4 */ lbz r0, lbl_8063F6A4-_SDA_BASE_(r13)
/* 8015698C 001525EC 7C 03 00 40 */ cmplw r3, r0
/* 80156990 001525F0 40 82 00 38 */ bne lbl_801569C8
/* 80156994 001525F4 38 8D A3 E4 */ addi r4, r13, lbl_8063F6A4-_SDA_BASE_
/* 80156998 001525F8 88 7A 00 01 */ lbz r3, 1(r26)
/* 8015699C 001525FC 88 04 00 01 */ lbz r0, 1(r4)
/* 801569A0 00152600 7C 03 00 40 */ cmplw r3, r0
/* 801569A4 00152604 40 82 00 24 */ bne lbl_801569C8
/* 801569A8 00152608 88 7A 00 02 */ lbz r3, 2(r26)
/* 801569AC 0015260C 88 04 00 02 */ lbz r0, 2(r4)
/* 801569B0 00152610 7C 03 00 40 */ cmplw r3, r0
/* 801569B4 00152614 40 82 00 14 */ bne lbl_801569C8
/* 801569B8 00152618 88 7A 00 03 */ lbz r3, 3(r26)
/* 801569BC 0015261C 88 04 00 03 */ lbz r0, 3(r4)
/* 801569C0 00152620 7C 03 00 40 */ cmplw r3, r0
/* 801569C4 00152624 41 82 00 08 */ beq lbl_801569CC
lbl_801569C8:
/* 801569C8 00152628 38 A0 00 01 */ li r5, 1
lbl_801569CC:
/* 801569CC 0015262C 2C 05 00 00 */ cmpwi r5, 0
/* 801569D0 00152630 41 82 00 20 */ beq lbl_801569F0
/* 801569D4 00152634 38 79 00 1C */ addi r3, r25, 0x1c
/* 801569D8 00152638 38 80 00 07 */ li r4, 7
/* 801569DC 0015263C 38 AD A3 E4 */ addi r5, r13, lbl_8063F6A4-_SDA_BASE_
/* 801569E0 00152640 38 CD A3 DC */ addi r6, r13, lbl_8063F69C-_SDA_BASE_
/* 801569E4 00152644 48 0A D0 85 */ bl func_80203A68
/* 801569E8 00152648 7C 7D 1B 78 */ mr r29, r3
/* 801569EC 0015264C 90 79 00 18 */ stw r3, 0x18(r25)
lbl_801569F0:
/* 801569F0 00152650 2C 1D 00 00 */ cmpwi r29, 0
/* 801569F4 00152654 41 82 01 44 */ beq lbl_80156B38
/* 801569F8 00152658 80 79 00 08 */ lwz r3, 8(r25)
/* 801569FC 0015265C 7F A4 EB 78 */ mr r4, r29
/* 80156A00 00152660 7F 85 E3 78 */ mr r5, r28
/* 80156A04 00152664 38 C0 00 01 */ li r6, 1
/* 80156A08 00152668 48 0A 1C 6D */ bl func_801F8674
/* 80156A0C 0015266C 98 79 00 6D */ stb r3, 0x6d(r25)
/* 80156A10 00152670 7F A4 EB 78 */ mr r4, r29
/* 80156A14 00152674 80 79 00 08 */ lwz r3, 8(r25)
/* 80156A18 00152678 7F 85 E3 78 */ mr r5, r28
/* 80156A1C 0015267C 38 C0 00 01 */ li r6, 1
/* 80156A20 00152680 48 0A 1C 55 */ bl func_801F8674
/* 80156A24 00152684 98 79 00 6E */ stb r3, 0x6e(r25)
/* 80156A28 00152688 7F A4 EB 78 */ mr r4, r29
/* 80156A2C 0015268C 80 79 00 08 */ lwz r3, 8(r25)
/* 80156A30 00152690 7F 85 E3 78 */ mr r5, r28
/* 80156A34 00152694 38 C0 00 01 */ li r6, 1
/* 80156A38 00152698 48 0A 1C 3D */ bl func_801F8674
/* 80156A3C 0015269C 98 79 00 6F */ stb r3, 0x6f(r25)
/* 80156A40 001526A0 7F A4 EB 78 */ mr r4, r29
/* 80156A44 001526A4 80 79 00 08 */ lwz r3, 8(r25)
/* 80156A48 001526A8 7F 85 E3 78 */ mr r5, r28
/* 80156A4C 001526AC 38 C0 00 01 */ li r6, 1
/* 80156A50 001526B0 48 0A 1C 25 */ bl func_801F8674
/* 80156A54 001526B4 88 99 00 6D */ lbz r4, 0x6d(r25)
/* 80156A58 001526B8 98 79 00 70 */ stb r3, 0x70(r25)
/* 80156A5C 001526BC 28 04 00 FF */ cmplwi r4, 0xff
/* 80156A60 001526C0 41 82 00 30 */ beq lbl_80156A90
/* 80156A64 001526C4 80 79 00 08 */ lwz r3, 8(r25)
/* 80156A68 001526C8 38 A1 00 38 */ addi r5, r1, 0x38
/* 80156A6C 001526CC 48 0A 21 05 */ bl func_801F8B70
/* 80156A70 001526D0 C0 22 8F 1C */ lfs f1, lbl_8064151C-_SDA2_BASE_(r2)
/* 80156A74 001526D4 38 A1 00 28 */ addi r5, r1, 0x28
/* 80156A78 001526D8 C0 02 8F 18 */ lfs f0, lbl_80641518-_SDA2_BASE_(r2)
/* 80156A7C 001526DC D0 21 00 28 */ stfs f1, 0x28(r1)
/* 80156A80 001526E0 D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 80156A84 001526E4 80 79 00 08 */ lwz r3, 8(r25)
/* 80156A88 001526E8 88 99 00 6D */ lbz r4, 0x6d(r25)
/* 80156A8C 001526EC 48 0A 20 B5 */ bl func_801F8B40
lbl_80156A90:
/* 80156A90 001526F0 88 99 00 6E */ lbz r4, 0x6e(r25)
/* 80156A94 001526F4 28 04 00 FF */ cmplwi r4, 0xff
/* 80156A98 001526F8 41 82 00 30 */ beq lbl_80156AC8
/* 80156A9C 001526FC 80 79 00 08 */ lwz r3, 8(r25)
/* 80156AA0 00152700 38 A1 00 38 */ addi r5, r1, 0x38
/* 80156AA4 00152704 48 0A 20 CD */ bl func_801F8B70
/* 80156AA8 00152708 C0 22 8F 20 */ lfs f1, lbl_80641520-_SDA2_BASE_(r2)
/* 80156AAC 0015270C 38 A1 00 20 */ addi r5, r1, 0x20
/* 80156AB0 00152710 C0 02 8F 18 */ lfs f0, lbl_80641518-_SDA2_BASE_(r2)
/* 80156AB4 00152714 D0 21 00 20 */ stfs f1, 0x20(r1)
/* 80156AB8 00152718 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 80156ABC 0015271C 80 79 00 08 */ lwz r3, 8(r25)
/* 80156AC0 00152720 88 99 00 6E */ lbz r4, 0x6e(r25)
/* 80156AC4 00152724 48 0A 20 7D */ bl func_801F8B40
lbl_80156AC8:
/* 80156AC8 00152728 88 99 00 6F */ lbz r4, 0x6f(r25)
/* 80156ACC 0015272C 28 04 00 FF */ cmplwi r4, 0xff
/* 80156AD0 00152730 41 82 00 30 */ beq lbl_80156B00
/* 80156AD4 00152734 80 79 00 08 */ lwz r3, 8(r25)
/* 80156AD8 00152738 38 A1 00 38 */ addi r5, r1, 0x38
/* 80156ADC 0015273C 48 0A 20 95 */ bl func_801F8B70
/* 80156AE0 00152740 C0 22 8E E8 */ lfs f1, lbl_806414E8-_SDA2_BASE_(r2)
/* 80156AE4 00152744 38 A1 00 18 */ addi r5, r1, 0x18
/* 80156AE8 00152748 C0 02 8F 24 */ lfs f0, lbl_80641524-_SDA2_BASE_(r2)
/* 80156AEC 0015274C D0 21 00 18 */ stfs f1, 0x18(r1)
/* 80156AF0 00152750 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 80156AF4 00152754 80 79 00 08 */ lwz r3, 8(r25)
/* 80156AF8 00152758 88 99 00 6F */ lbz r4, 0x6f(r25)
/* 80156AFC 0015275C 48 0A 20 45 */ bl func_801F8B40
lbl_80156B00:
/* 80156B00 00152760 88 99 00 70 */ lbz r4, 0x70(r25)
/* 80156B04 00152764 28 04 00 FF */ cmplwi r4, 0xff
/* 80156B08 00152768 41 82 00 30 */ beq lbl_80156B38
/* 80156B0C 0015276C 80 79 00 08 */ lwz r3, 8(r25)
/* 80156B10 00152770 38 A1 00 38 */ addi r5, r1, 0x38
/* 80156B14 00152774 48 0A 20 5D */ bl func_801F8B70
/* 80156B18 00152778 C0 22 8E E8 */ lfs f1, lbl_806414E8-_SDA2_BASE_(r2)
/* 80156B1C 0015277C 38 A1 00 10 */ addi r5, r1, 0x10
/* 80156B20 00152780 C0 02 8F 28 */ lfs f0, lbl_80641528-_SDA2_BASE_(r2)
/* 80156B24 00152784 D0 21 00 10 */ stfs f1, 0x10(r1)
/* 80156B28 00152788 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 80156B2C 0015278C 80 79 00 08 */ lwz r3, 8(r25)
/* 80156B30 00152790 88 99 00 70 */ lbz r4, 0x70(r25)
/* 80156B34 00152794 48 0A 20 0D */ bl func_801F8B40
lbl_80156B38:
/* 80156B38 00152798 E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0
/* 80156B3C 0015279C CB E1 00 70 */ lfd f31, 0x70(r1)
/* 80156B40 001527A0 E3 C1 00 68 */ psq_l f30, 104(r1), 0, qr0
/* 80156B44 001527A4 39 61 00 60 */ addi r11, r1, 0x60
/* 80156B48 001527A8 CB C1 00 60 */ lfd f30, 0x60(r1)
/* 80156B4C 001527AC 48 07 06 21 */ bl _restgpr_25
/* 80156B50 001527B0 80 01 00 84 */ lwz r0, 0x84(r1)
/* 80156B54 001527B4 7C 08 03 A6 */ mtlr r0
/* 80156B58 001527B8 38 21 00 80 */ addi r1, r1, 0x80
/* 80156B5C 001527BC 4E 80 00 20 */ blr
.global func_80156B60
func_80156B60:
/* 80156B60 001527C0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80156B64 001527C4 7C 08 02 A6 */ mflr r0
/* 80156B68 001527C8 C0 02 8F 2C */ lfs f0, lbl_8064152C-_SDA2_BASE_(r2)
/* 80156B6C 001527CC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80156B70 001527D0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80156B74 001527D4 7C 7F 1B 78 */ mr r31, r3
/* 80156B78 001527D8 80 03 00 10 */ lwz r0, 0x10(r3)
/* 80156B7C 001527DC D0 01 00 08 */ stfs f0, 8(r1)
/* 80156B80 001527E0 2C 00 00 00 */ cmpwi r0, 0
/* 80156B84 001527E4 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 80156B88 001527E8 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80156B8C 001527EC 40 82 00 74 */ bne lbl_80156C00
/* 80156B90 001527F0 48 08 3F 99 */ bl func_801DAB28
/* 80156B94 001527F4 2C 03 00 00 */ cmpwi r3, 0
/* 80156B98 001527F8 41 82 00 14 */ beq lbl_80156BAC
/* 80156B9C 001527FC 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 80156BA0 00152800 38 80 01 38 */ li r4, 0x138
/* 80156BA4 00152804 48 08 40 F1 */ bl func_801DAC94
/* 80156BA8 00152808 48 00 00 08 */ b lbl_80156BB0
lbl_80156BAC:
/* 80156BAC 0015280C 38 60 00 00 */ li r3, 0
lbl_80156BB0:
/* 80156BB0 00152810 2C 03 00 00 */ cmpwi r3, 0
/* 80156BB4 00152814 41 82 00 18 */ beq lbl_80156BCC
/* 80156BB8 00152818 38 80 00 01 */ li r4, 1
/* 80156BBC 0015281C 38 A0 00 01 */ li r5, 1
/* 80156BC0 00152820 38 C0 00 01 */ li r6, 1
/* 80156BC4 00152824 38 ED A3 E4 */ addi r7, r13, lbl_8063F6A4-_SDA_BASE_
/* 80156BC8 00152828 48 08 F3 B5 */ bl func_801E5F7C
lbl_80156BCC:
/* 80156BCC 0015282C 2C 03 00 00 */ cmpwi r3, 0
/* 80156BD0 00152830 90 7F 00 10 */ stw r3, 0x10(r31)
/* 80156BD4 00152834 40 82 00 0C */ bne lbl_80156BE0
/* 80156BD8 00152838 38 60 00 00 */ li r3, 0
/* 80156BDC 0015283C 48 00 00 38 */ b lbl_80156C14
lbl_80156BE0:
/* 80156BE0 00152840 C0 01 00 08 */ lfs f0, 8(r1)
/* 80156BE4 00152844 38 80 00 01 */ li r4, 1
/* 80156BE8 00152848 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 80156BEC 0015284C D0 03 00 20 */ stfs f0, 0x20(r3)
/* 80156BF0 00152850 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80156BF4 00152854 D0 23 00 24 */ stfs f1, 0x24(r3)
/* 80156BF8 00152858 D0 03 00 28 */ stfs f0, 0x28(r3)
/* 80156BFC 0015285C 48 09 BA BD */ bl func_801F26B8
lbl_80156C00:
/* 80156C00 00152860 80 9F 00 10 */ lwz r4, 0x10(r31)
/* 80156C04 00152864 38 60 00 01 */ li r3, 1
/* 80156C08 00152868 80 04 01 04 */ lwz r0, 0x104(r4)
/* 80156C0C 0015286C 60 00 00 01 */ ori r0, r0, 1
/* 80156C10 00152870 90 04 01 04 */ stw r0, 0x104(r4)
lbl_80156C14:
/* 80156C14 00152874 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80156C18 00152878 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80156C1C 0015287C 7C 08 03 A6 */ mtlr r0
/* 80156C20 00152880 38 21 00 20 */ addi r1, r1, 0x20
/* 80156C24 00152884 4E 80 00 20 */ blr
lbl_80156C28:
/* 80156C28 00152888 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80156C2C 0015288C 7C 08 02 A6 */ mflr r0
/* 80156C30 00152890 90 01 00 64 */ stw r0, 0x64(r1)
/* 80156C34 00152894 DB E1 00 50 */ stfd f31, 0x50(r1)
/* 80156C38 00152898 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0
/* 80156C3C 0015289C DB C1 00 40 */ stfd f30, 0x40(r1)
/* 80156C40 001528A0 F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0
/* 80156C44 001528A4 39 61 00 40 */ addi r11, r1, 0x40
/* 80156C48 001528A8 48 07 04 D1 */ bl _savegpr_23
/* 80156C4C 001528AC 80 AD 9D 10 */ lwz r5, lbl_8063EFD0-_SDA_BASE_(r13)
/* 80156C50 001528B0 38 60 00 80 */ li r3, 0x80
/* 80156C54 001528B4 38 00 00 FF */ li r0, 0xff
/* 80156C58 001528B8 98 61 00 08 */ stb r3, 8(r1)
/* 80156C5C 001528BC 2C 05 00 00 */ cmpwi r5, 0
/* 80156C60 001528C0 3B 40 00 00 */ li r26, 0
/* 80156C64 001528C4 98 61 00 09 */ stb r3, 9(r1)
/* 80156C68 001528C8 98 61 00 0A */ stb r3, 0xa(r1)
/* 80156C6C 001528CC 98 01 00 0B */ stb r0, 0xb(r1)
/* 80156C70 001528D0 41 82 04 F0 */ beq lbl_80157160
/* 80156C74 001528D4 80 8D A3 D8 */ lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 80156C78 001528D8 38 60 00 00 */ li r3, 0
/* 80156C7C 001528DC 88 04 00 82 */ lbz r0, 0x82(r4)
/* 80156C80 001528E0 2C 00 00 00 */ cmpwi r0, 0
/* 80156C84 001528E4 40 82 00 10 */ bne lbl_80156C94
/* 80156C88 001528E8 88 04 00 83 */ lbz r0, 0x83(r4)
/* 80156C8C 001528EC 2C 00 00 00 */ cmpwi r0, 0
/* 80156C90 001528F0 41 82 00 08 */ beq lbl_80156C98
lbl_80156C94:
/* 80156C94 001528F4 38 60 00 01 */ li r3, 1
lbl_80156C98:
/* 80156C98 001528F8 2C 03 00 00 */ cmpwi r3, 0
/* 80156C9C 001528FC 40 82 04 C4 */ bne lbl_80157160
/* 80156CA0 00152900 3C 80 80 42 */ lis r4, lbl_8041E878@ha
/* 80156CA4 00152904 3C 60 80 42 */ lis r3, lbl_8041E818@ha
/* 80156CA8 00152908 C3 C2 8E E8 */ lfs f30, lbl_806414E8-_SDA2_BASE_(r2)
/* 80156CAC 0015290C 3B 25 00 14 */ addi r25, r5, 0x14
/* 80156CB0 00152910 C3 E2 8F 30 */ lfs f31, lbl_80641530-_SDA2_BASE_(r2)
/* 80156CB4 00152914 3B C4 E8 78 */ addi r30, r4, lbl_8041E878@l
/* 80156CB8 00152918 3B E3 E8 18 */ addi r31, r3, lbl_8041E818@l
/* 80156CBC 0015291C 3B 00 00 00 */ li r24, 0
/* 80156CC0 00152920 3B 80 00 FF */ li r28, 0xff
/* 80156CC4 00152924 3B A0 00 01 */ li r29, 1
/* 80156CC8 00152928 3F 60 40 00 */ lis r27, 0x4000
lbl_80156CCC:
/* 80156CCC 0015292C 88 19 00 67 */ lbz r0, 0x67(r25)
/* 80156CD0 00152930 2C 00 00 00 */ cmpwi r0, 0
/* 80156CD4 00152934 41 82 04 28 */ beq lbl_801570FC
/* 80156CD8 00152938 82 F9 00 60 */ lwz r23, 0x60(r25)
/* 80156CDC 0015293C 3B 40 00 01 */ li r26, 1
/* 80156CE0 00152940 7C 17 D8 40 */ cmplw r23, r27
/* 80156CE4 00152944 41 80 00 88 */ blt lbl_80156D6C
/* 80156CE8 00152948 88 19 00 65 */ lbz r0, 0x65(r25)
/* 80156CEC 0015294C 54 00 10 3A */ slwi r0, r0, 2
/* 80156CF0 00152950 7C 3F 04 2E */ lfsx f1, r31, r0
/* 80156CF4 00152954 48 07 03 0D */ bl __cvt_fp2unsigned
/* 80156CF8 00152958 3C 03 40 00 */ addis r0, r3, 0x4000
/* 80156CFC 0015295C 7C 17 00 40 */ cmplw r23, r0
/* 80156D00 00152960 40 80 00 6C */ bge lbl_80156D6C
/* 80156D04 00152964 80 19 00 0C */ lwz r0, 0xc(r25)
/* 80156D08 00152968 2C 00 00 00 */ cmpwi r0, 0
/* 80156D0C 0015296C 41 82 00 60 */ beq lbl_80156D6C
/* 80156D10 00152970 C0 39 00 54 */ lfs f1, 0x54(r25)
/* 80156D14 00152974 C0 19 00 50 */ lfs f0, 0x50(r25)
/* 80156D18 00152978 EC 01 00 28 */ fsubs f0, f1, f0
/* 80156D1C 0015297C FC 00 F0 40 */ fcmpo cr0, f0, f30
/* 80156D20 00152980 D0 19 00 54 */ stfs f0, 0x54(r25)
/* 80156D24 00152984 40 80 00 08 */ bge lbl_80156D2C
/* 80156D28 00152988 D3 D9 00 54 */ stfs f30, 0x54(r25)
lbl_80156D2C:
/* 80156D2C 0015298C C0 59 00 58 */ lfs f2, 0x58(r25)
/* 80156D30 00152990 C0 39 00 54 */ lfs f1, 0x54(r25)
/* 80156D34 00152994 C0 19 00 5C */ lfs f0, 0x5c(r25)
/* 80156D38 00152998 EC 22 08 28 */ fsubs f1, f2, f1
/* 80156D3C 0015299C EC 20 00 72 */ fmuls f1, f0, f1
/* 80156D40 001529A0 FC 01 F0 40 */ fcmpo cr0, f1, f30
/* 80156D44 001529A4 40 80 00 08 */ bge lbl_80156D4C
/* 80156D48 001529A8 FC 20 F0 90 */ fmr f1, f30
lbl_80156D4C:
/* 80156D4C 001529AC 80 79 00 0C */ lwz r3, 0xc(r25)
/* 80156D50 001529B0 38 80 00 00 */ li r4, 0
/* 80156D54 001529B4 C0 42 8E E8 */ lfs f2, lbl_806414E8-_SDA2_BASE_(r2)
/* 80156D58 001529B8 38 A0 00 00 */ li r5, 0
/* 80156D5C 001529BC 38 C0 00 00 */ li r6, 0
/* 80156D60 001529C0 38 E0 00 00 */ li r7, 0
/* 80156D64 001529C4 39 00 00 00 */ li r8, 0
/* 80156D68 001529C8 48 09 E0 8D */ bl func_801F4DF4
lbl_80156D6C:
/* 80156D6C 001529CC 80 79 00 60 */ lwz r3, 0x60(r25)
/* 80156D70 001529D0 38 03 00 01 */ addi r0, r3, 1
/* 80156D74 001529D4 90 19 00 60 */ stw r0, 0x60(r25)
/* 80156D78 001529D8 88 19 00 64 */ lbz r0, 0x64(r25)
/* 80156D7C 001529DC 2C 00 00 02 */ cmpwi r0, 2
/* 80156D80 001529E0 41 82 01 D4 */ beq lbl_80156F54
/* 80156D84 001529E4 40 80 00 14 */ bge lbl_80156D98
/* 80156D88 001529E8 2C 00 00 00 */ cmpwi r0, 0
/* 80156D8C 001529EC 41 82 00 1C */ beq lbl_80156DA8
/* 80156D90 001529F0 40 80 00 DC */ bge lbl_80156E6C
/* 80156D94 001529F4 48 00 03 68 */ b lbl_801570FC
lbl_80156D98:
/* 80156D98 001529F8 2C 00 00 04 */ cmpwi r0, 4
/* 80156D9C 001529FC 41 82 02 90 */ beq lbl_8015702C
/* 80156DA0 00152A00 40 80 03 5C */ bge lbl_801570FC
/* 80156DA4 00152A04 48 00 02 3C */ b lbl_80156FE0
lbl_80156DA8:
/* 80156DA8 00152A08 80 6D 9D 10 */ lwz r3, lbl_8063EFD0-_SDA_BASE_(r13)
/* 80156DAC 00152A0C 7F 24 CB 78 */ mr r4, r25
/* 80156DB0 00152A10 38 A0 00 00 */ li r5, 0
/* 80156DB4 00152A14 48 00 05 61 */ bl func_80157314
/* 80156DB8 00152A18 2C 03 00 00 */ cmpwi r3, 0
/* 80156DBC 00152A1C 41 82 00 14 */ beq lbl_80156DD0
/* 80156DC0 00152A20 88 79 00 64 */ lbz r3, 0x64(r25)
/* 80156DC4 00152A24 38 03 00 01 */ addi r0, r3, 1
/* 80156DC8 00152A28 98 19 00 64 */ stb r0, 0x64(r25)
/* 80156DCC 00152A2C 48 00 03 30 */ b lbl_801570FC
lbl_80156DD0:
/* 80156DD0 00152A30 80 79 00 08 */ lwz r3, 8(r25)
/* 80156DD4 00152A34 80 83 00 1C */ lwz r4, 0x1c(r3)
/* 80156DD8 00152A38 2C 04 00 00 */ cmpwi r4, 0
/* 80156DDC 00152A3C 40 82 00 0C */ bne lbl_80156DE8
/* 80156DE0 00152A40 38 60 00 00 */ li r3, 0
/* 80156DE4 00152A44 48 00 00 20 */ b lbl_80156E04
lbl_80156DE8:
/* 80156DE8 00152A48 A0 03 00 E6 */ lhz r0, 0xe6(r3)
/* 80156DEC 00152A4C 2C 00 00 00 */ cmpwi r0, 0
/* 80156DF0 00152A50 40 82 00 0C */ bne lbl_80156DFC
/* 80156DF4 00152A54 38 60 00 00 */ li r3, 0
/* 80156DF8 00152A58 48 00 00 0C */ b lbl_80156E04
lbl_80156DFC:
/* 80156DFC 00152A5C 80 64 00 00 */ lwz r3, 0(r4)
/* 80156E00 00152A60 80 63 00 14 */ lwz r3, 0x14(r3)
lbl_80156E04:
/* 80156E04 00152A64 80 63 00 0C */ lwz r3, 0xc(r3)
/* 80156E08 00152A68 88 A3 00 63 */ lbz r5, 0x63(r3)
/* 80156E0C 00152A6C 98 A1 00 0B */ stb r5, 0xb(r1)
/* 80156E10 00152A70 80 79 00 08 */ lwz r3, 8(r25)
/* 80156E14 00152A74 88 99 00 6C */ lbz r4, 0x6c(r25)
/* 80156E18 00152A78 48 0A 1D 89 */ bl func_801F8BA0
/* 80156E1C 00152A7C 80 79 00 08 */ lwz r3, 8(r25)
/* 80156E20 00152A80 88 99 00 6D */ lbz r4, 0x6d(r25)
/* 80156E24 00152A84 88 A1 00 0B */ lbz r5, 0xb(r1)
/* 80156E28 00152A88 48 0A 1D 79 */ bl func_801F8BA0
/* 80156E2C 00152A8C 80 79 00 08 */ lwz r3, 8(r25)
/* 80156E30 00152A90 88 99 00 6E */ lbz r4, 0x6e(r25)
/* 80156E34 00152A94 88 A1 00 0B */ lbz r5, 0xb(r1)
/* 80156E38 00152A98 48 0A 1D 69 */ bl func_801F8BA0
/* 80156E3C 00152A9C 80 79 00 08 */ lwz r3, 8(r25)
/* 80156E40 00152AA0 88 99 00 6F */ lbz r4, 0x6f(r25)
/* 80156E44 00152AA4 88 A1 00 0B */ lbz r5, 0xb(r1)
/* 80156E48 00152AA8 48 0A 1D 59 */ bl func_801F8BA0
/* 80156E4C 00152AAC 80 79 00 08 */ lwz r3, 8(r25)
/* 80156E50 00152AB0 88 99 00 70 */ lbz r4, 0x70(r25)
/* 80156E54 00152AB4 88 A1 00 0B */ lbz r5, 0xb(r1)
/* 80156E58 00152AB8 48 0A 1D 49 */ bl func_801F8BA0
/* 80156E5C 00152ABC 80 79 00 0C */ lwz r3, 0xc(r25)
/* 80156E60 00152AC0 38 81 00 08 */ addi r4, r1, 8
/* 80156E64 00152AC4 48 09 F3 31 */ bl func_801F6194
/* 80156E68 00152AC8 48 00 02 94 */ b lbl_801570FC
lbl_80156E6C:
/* 80156E6C 00152ACC 80 79 00 08 */ lwz r3, 8(r25)
/* 80156E70 00152AD0 38 A0 00 01 */ li r5, 1
/* 80156E74 00152AD4 88 99 00 65 */ lbz r4, 0x65(r25)
/* 80156E78 00152AD8 38 C0 00 00 */ li r6, 0
/* 80156E7C 00152ADC C0 22 8E E8 */ lfs f1, lbl_806414E8-_SDA2_BASE_(r2)
/* 80156E80 00152AE0 38 E0 00 00 */ li r7, 0
/* 80156E84 00152AE4 C0 42 8E FC */ lfs f2, lbl_806414FC-_SDA2_BASE_(r2)
/* 80156E88 00152AE8 39 00 00 00 */ li r8, 0
/* 80156E8C 00152AEC 48 09 DF 69 */ bl func_801F4DF4
/* 80156E90 00152AF0 9B 81 00 0B */ stb r28, 0xb(r1)
/* 80156E94 00152AF4 38 A0 00 FF */ li r5, 0xff
/* 80156E98 00152AF8 80 79 00 08 */ lwz r3, 8(r25)
/* 80156E9C 00152AFC 88 99 00 6C */ lbz r4, 0x6c(r25)
/* 80156EA0 00152B00 48 0A 1D 01 */ bl func_801F8BA0
/* 80156EA4 00152B04 80 79 00 08 */ lwz r3, 8(r25)
/* 80156EA8 00152B08 88 99 00 6D */ lbz r4, 0x6d(r25)
/* 80156EAC 00152B0C 88 A1 00 0B */ lbz r5, 0xb(r1)
/* 80156EB0 00152B10 48 0A 1C F1 */ bl func_801F8BA0
/* 80156EB4 00152B14 80 79 00 08 */ lwz r3, 8(r25)
/* 80156EB8 00152B18 88 99 00 6E */ lbz r4, 0x6e(r25)
/* 80156EBC 00152B1C 88 A1 00 0B */ lbz r5, 0xb(r1)
/* 80156EC0 00152B20 48 0A 1C E1 */ bl func_801F8BA0
/* 80156EC4 00152B24 80 79 00 08 */ lwz r3, 8(r25)
/* 80156EC8 00152B28 88 99 00 6F */ lbz r4, 0x6f(r25)
/* 80156ECC 00152B2C 88 A1 00 0B */ lbz r5, 0xb(r1)
/* 80156ED0 00152B30 48 0A 1C D1 */ bl func_801F8BA0
/* 80156ED4 00152B34 80 79 00 08 */ lwz r3, 8(r25)
/* 80156ED8 00152B38 88 99 00 70 */ lbz r4, 0x70(r25)
/* 80156EDC 00152B3C 88 A1 00 0B */ lbz r5, 0xb(r1)
/* 80156EE0 00152B40 48 0A 1C C1 */ bl func_801F8BA0
/* 80156EE4 00152B44 80 79 00 0C */ lwz r3, 0xc(r25)
/* 80156EE8 00152B48 38 81 00 08 */ addi r4, r1, 8
/* 80156EEC 00152B4C 48 09 F2 A9 */ bl func_801F6194
/* 80156EF0 00152B50 80 79 00 10 */ lwz r3, 0x10(r25)
/* 80156EF4 00152B54 38 80 00 00 */ li r4, 0
/* 80156EF8 00152B58 C0 22 8E FC */ lfs f1, lbl_806414FC-_SDA2_BASE_(r2)
/* 80156EFC 00152B5C 80 03 01 04 */ lwz r0, 0x104(r3)
/* 80156F00 00152B60 60 00 00 01 */ ori r0, r0, 1
/* 80156F04 00152B64 54 00 07 F8 */ rlwinm r0, r0, 0, 0x1f, 0x1c
/* 80156F08 00152B68 90 03 01 04 */ stw r0, 0x104(r3)
/* 80156F0C 00152B6C D3 C3 01 08 */ stfs f30, 0x108(r3)
/* 80156F10 00152B70 80 AD 9D 10 */ lwz r5, lbl_8063EFD0-_SDA_BASE_(r13)
/* 80156F14 00152B74 88 79 00 66 */ lbz r3, 0x66(r25)
/* 80156F18 00152B78 88 19 00 71 */ lbz r0, 0x71(r25)
/* 80156F1C 00152B7C 7C A5 1A 14 */ add r5, r5, r3
/* 80156F20 00152B80 88 65 01 E4 */ lbz r3, 0x1e4(r5)
/* 80156F24 00152B84 7F A0 00 30 */ slw r0, r29, r0
/* 80156F28 00152B88 7C 60 03 78 */ or r0, r3, r0
/* 80156F2C 00152B8C 98 05 01 E4 */ stb r0, 0x1e4(r5)
/* 80156F30 00152B90 88 19 00 66 */ lbz r0, 0x66(r25)
/* 80156F34 00152B94 54 00 10 3A */ slwi r0, r0, 2
/* 80156F38 00152B98 7C 7E 00 2E */ lwzx r3, r30, r0
/* 80156F3C 00152B9C 4B EB 42 D5 */ bl func_8000B210
/* 80156F40 00152BA0 93 79 00 60 */ stw r27, 0x60(r25)
/* 80156F44 00152BA4 88 79 00 64 */ lbz r3, 0x64(r25)
/* 80156F48 00152BA8 38 03 00 01 */ addi r0, r3, 1
/* 80156F4C 00152BAC 98 19 00 64 */ stb r0, 0x64(r25)
/* 80156F50 00152BB0 48 00 01 AC */ b lbl_801570FC
lbl_80156F54:
/* 80156F54 00152BB4 88 19 00 65 */ lbz r0, 0x65(r25)
/* 80156F58 00152BB8 54 00 10 3A */ slwi r0, r0, 2
/* 80156F5C 00152BBC 7C 3F 04 2E */ lfsx f1, r31, r0
/* 80156F60 00152BC0 48 07 00 A1 */ bl __cvt_fp2unsigned
/* 80156F64 00152BC4 80 19 00 60 */ lwz r0, 0x60(r25)
/* 80156F68 00152BC8 3C 63 40 00 */ addis r3, r3, 0x4000
/* 80156F6C 00152BCC 7C 00 18 40 */ cmplw r0, r3
/* 80156F70 00152BD0 41 80 01 8C */ blt lbl_801570FC
/* 80156F74 00152BD4 80 8D 9D 10 */ lwz r4, lbl_8063EFD0-_SDA_BASE_(r13)
/* 80156F78 00152BD8 88 79 00 66 */ lbz r3, 0x66(r25)
/* 80156F7C 00152BDC 88 19 00 71 */ lbz r0, 0x71(r25)
/* 80156F80 00152BE0 7C 84 1A 14 */ add r4, r4, r3
/* 80156F84 00152BE4 88 64 01 E4 */ lbz r3, 0x1e4(r4)
/* 80156F88 00152BE8 7F A0 00 30 */ slw r0, r29, r0
/* 80156F8C 00152BEC 7C 60 00 78 */ andc r0, r3, r0
/* 80156F90 00152BF0 98 04 01 E4 */ stb r0, 0x1e4(r4)
/* 80156F94 00152BF4 88 99 00 66 */ lbz r4, 0x66(r25)
/* 80156F98 00152BF8 80 0D 9D 10 */ lwz r0, lbl_8063EFD0-_SDA_BASE_(r13)
/* 80156F9C 00152BFC 7C 60 22 14 */ add r3, r0, r4
/* 80156FA0 00152C00 88 03 01 E4 */ lbz r0, 0x1e4(r3)
/* 80156FA4 00152C04 2C 00 00 00 */ cmpwi r0, 0
/* 80156FA8 00152C08 40 82 00 14 */ bne lbl_80156FBC
/* 80156FAC 00152C0C 54 80 15 BA */ rlwinm r0, r4, 2, 0x16, 0x1d
/* 80156FB0 00152C10 38 80 00 00 */ li r4, 0
/* 80156FB4 00152C14 7C 7E 00 2E */ lwzx r3, r30, r0
/* 80156FB8 00152C18 4B EB 44 B5 */ bl func_8000B46C
lbl_80156FBC:
/* 80156FBC 00152C1C 88 79 00 64 */ lbz r3, 0x64(r25)
/* 80156FC0 00152C20 38 03 00 01 */ addi r0, r3, 1
/* 80156FC4 00152C24 98 19 00 64 */ stb r0, 0x64(r25)
/* 80156FC8 00152C28 80 79 00 10 */ lwz r3, 0x10(r25)
/* 80156FCC 00152C2C 80 03 01 04 */ lwz r0, 0x104(r3)
/* 80156FD0 00152C30 60 00 00 04 */ ori r0, r0, 4
/* 80156FD4 00152C34 90 03 01 04 */ stw r0, 0x104(r3)
/* 80156FD8 00152C38 D3 E3 01 10 */ stfs f31, 0x110(r3)
/* 80156FDC 00152C3C 48 00 01 20 */ b lbl_801570FC
lbl_80156FE0:
/* 80156FE0 00152C40 80 6D 9D 10 */ lwz r3, lbl_8063EFD0-_SDA_BASE_(r13)
/* 80156FE4 00152C44 7F 24 CB 78 */ mr r4, r25
/* 80156FE8 00152C48 38 A0 00 00 */ li r5, 0
/* 80156FEC 00152C4C 48 00 03 F9 */ bl func_801573E4
/* 80156FF0 00152C50 2C 03 00 00 */ cmpwi r3, 0
/* 80156FF4 00152C54 41 82 01 08 */ beq lbl_801570FC
/* 80156FF8 00152C58 80 79 00 08 */ lwz r3, 8(r25)
/* 80156FFC 00152C5C 38 80 00 02 */ li r4, 2
/* 80157000 00152C60 C0 22 8E E8 */ lfs f1, lbl_806414E8-_SDA2_BASE_(r2)
/* 80157004 00152C64 38 A0 00 00 */ li r5, 0
/* 80157008 00152C68 C0 42 8E FC */ lfs f2, lbl_806414FC-_SDA2_BASE_(r2)
/* 8015700C 00152C6C 38 C0 00 00 */ li r6, 0
/* 80157010 00152C70 38 E0 00 00 */ li r7, 0
/* 80157014 00152C74 39 00 00 00 */ li r8, 0
/* 80157018 00152C78 48 09 DD DD */ bl func_801F4DF4
/* 8015701C 00152C7C 88 79 00 64 */ lbz r3, 0x64(r25)
/* 80157020 00152C80 38 03 00 01 */ addi r0, r3, 1
/* 80157024 00152C84 98 19 00 64 */ stb r0, 0x64(r25)
/* 80157028 00152C88 48 00 00 D4 */ b lbl_801570FC
lbl_8015702C:
/* 8015702C 00152C8C 80 6D 9D 10 */ lwz r3, lbl_8063EFD0-_SDA_BASE_(r13)
/* 80157030 00152C90 7F 24 CB 78 */ mr r4, r25
/* 80157034 00152C94 38 A0 00 00 */ li r5, 0
/* 80157038 00152C98 48 00 02 DD */ bl func_80157314
/* 8015703C 00152C9C 2C 03 00 00 */ cmpwi r3, 0
/* 80157040 00152CA0 41 82 00 14 */ beq lbl_80157054
/* 80157044 00152CA4 80 6D 9D 10 */ lwz r3, lbl_8063EFD0-_SDA_BASE_(r13)
/* 80157048 00152CA8 7F 24 CB 78 */ mr r4, r25
/* 8015704C 00152CAC 48 00 04 D9 */ bl func_80157524
/* 80157050 00152CB0 48 00 00 AC */ b lbl_801570FC
lbl_80157054:
/* 80157054 00152CB4 80 79 00 08 */ lwz r3, 8(r25)
/* 80157058 00152CB8 80 83 00 1C */ lwz r4, 0x1c(r3)
/* 8015705C 00152CBC 2C 04 00 00 */ cmpwi r4, 0
/* 80157060 00152CC0 40 82 00 0C */ bne lbl_8015706C
/* 80157064 00152CC4 38 60 00 00 */ li r3, 0
/* 80157068 00152CC8 48 00 00 20 */ b lbl_80157088
lbl_8015706C:
/* 8015706C 00152CCC A0 03 00 E6 */ lhz r0, 0xe6(r3)
/* 80157070 00152CD0 2C 00 00 00 */ cmpwi r0, 0
/* 80157074 00152CD4 40 82 00 0C */ bne lbl_80157080
/* 80157078 00152CD8 38 60 00 00 */ li r3, 0
/* 8015707C 00152CDC 48 00 00 0C */ b lbl_80157088
lbl_80157080:
/* 80157080 00152CE0 80 64 00 00 */ lwz r3, 0(r4)
/* 80157084 00152CE4 80 63 00 14 */ lwz r3, 0x14(r3)
lbl_80157088:
/* 80157088 00152CE8 80 63 00 0C */ lwz r3, 0xc(r3)
/* 8015708C 00152CEC 88 63 00 63 */ lbz r3, 0x63(r3)
/* 80157090 00152CF0 34 63 FF F0 */ addic. r3, r3, -16
/* 80157094 00152CF4 41 81 00 08 */ bgt lbl_8015709C
/* 80157098 00152CF8 38 60 00 00 */ li r3, 0
lbl_8015709C:
/* 8015709C 00152CFC 98 61 00 0B */ stb r3, 0xb(r1)
/* 801570A0 00152D00 54 65 06 3E */ clrlwi r5, r3, 0x18
/* 801570A4 00152D04 80 79 00 08 */ lwz r3, 8(r25)
/* 801570A8 00152D08 88 99 00 6C */ lbz r4, 0x6c(r25)
/* 801570AC 00152D0C 48 0A 1A F5 */ bl func_801F8BA0
/* 801570B0 00152D10 80 79 00 08 */ lwz r3, 8(r25)
/* 801570B4 00152D14 88 99 00 6D */ lbz r4, 0x6d(r25)
/* 801570B8 00152D18 88 A1 00 0B */ lbz r5, 0xb(r1)
/* 801570BC 00152D1C 48 0A 1A E5 */ bl func_801F8BA0
/* 801570C0 00152D20 80 79 00 08 */ lwz r3, 8(r25)
/* 801570C4 00152D24 88 99 00 6E */ lbz r4, 0x6e(r25)
/* 801570C8 00152D28 88 A1 00 0B */ lbz r5, 0xb(r1)
/* 801570CC 00152D2C 48 0A 1A D5 */ bl func_801F8BA0
/* 801570D0 00152D30 80 79 00 08 */ lwz r3, 8(r25)
/* 801570D4 00152D34 88 99 00 6F */ lbz r4, 0x6f(r25)
/* 801570D8 00152D38 88 A1 00 0B */ lbz r5, 0xb(r1)
/* 801570DC 00152D3C 48 0A 1A C5 */ bl func_801F8BA0
/* 801570E0 00152D40 80 79 00 08 */ lwz r3, 8(r25)
/* 801570E4 00152D44 88 99 00 70 */ lbz r4, 0x70(r25)
/* 801570E8 00152D48 88 A1 00 0B */ lbz r5, 0xb(r1)
/* 801570EC 00152D4C 48 0A 1A B5 */ bl func_801F8BA0
/* 801570F0 00152D50 80 79 00 0C */ lwz r3, 0xc(r25)
/* 801570F4 00152D54 38 81 00 08 */ addi r4, r1, 8
/* 801570F8 00152D58 48 09 F0 9D */ bl func_801F6194
lbl_801570FC:
/* 801570FC 00152D5C 3B 18 00 01 */ addi r24, r24, 1
/* 80157100 00152D60 3B 39 00 74 */ addi r25, r25, 0x74
/* 80157104 00152D64 28 18 00 04 */ cmplwi r24, 4
/* 80157108 00152D68 41 80 FB C4 */ blt lbl_80156CCC
/* 8015710C 00152D6C 2C 1A 00 00 */ cmpwi r26, 0
/* 80157110 00152D70 40 82 00 50 */ bne lbl_80157160
/* 80157114 00152D74 3F 20 80 42 */ lis r25, lbl_8041E878@ha
/* 80157118 00152D78 3A E0 00 00 */ li r23, 0
/* 8015711C 00152D7C 3B 39 E8 78 */ addi r25, r25, lbl_8041E878@l
/* 80157120 00152D80 3B 00 00 00 */ li r24, 0
lbl_80157124:
/* 80157124 00152D84 80 0D 9D 10 */ lwz r0, lbl_8063EFD0-_SDA_BASE_(r13)
/* 80157128 00152D88 7C 60 BA 14 */ add r3, r0, r23
/* 8015712C 00152D8C 88 03 01 E4 */ lbz r0, 0x1e4(r3)
/* 80157130 00152D90 2C 00 00 00 */ cmpwi r0, 0
/* 80157134 00152D94 41 82 00 1C */ beq lbl_80157150
/* 80157138 00152D98 80 79 00 00 */ lwz r3, 0(r25)
/* 8015713C 00152D9C 38 80 00 00 */ li r4, 0
/* 80157140 00152DA0 4B EB 43 2D */ bl func_8000B46C
/* 80157144 00152DA4 80 0D 9D 10 */ lwz r0, lbl_8063EFD0-_SDA_BASE_(r13)
/* 80157148 00152DA8 7C 60 BA 14 */ add r3, r0, r23
/* 8015714C 00152DAC 9B 03 01 E4 */ stb r24, 0x1e4(r3)
lbl_80157150:
/* 80157150 00152DB0 3A F7 00 01 */ addi r23, r23, 1
/* 80157154 00152DB4 3B 39 00 04 */ addi r25, r25, 4
/* 80157158 00152DB8 28 17 00 12 */ cmplwi r23, 0x12
/* 8015715C 00152DBC 41 80 FF C8 */ blt lbl_80157124
lbl_80157160:
/* 80157160 00152DC0 E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0
/* 80157164 00152DC4 CB E1 00 50 */ lfd f31, 0x50(r1)
/* 80157168 00152DC8 E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0
/* 8015716C 00152DCC 39 61 00 40 */ addi r11, r1, 0x40
/* 80157170 00152DD0 CB C1 00 40 */ lfd f30, 0x40(r1)
/* 80157174 00152DD4 48 06 FF F1 */ bl _restgpr_23
/* 80157178 00152DD8 80 01 00 64 */ lwz r0, 0x64(r1)
/* 8015717C 00152DDC 7C 08 03 A6 */ mtlr r0
/* 80157180 00152DE0 38 21 00 60 */ addi r1, r1, 0x60
/* 80157184 00152DE4 4E 80 00 20 */ blr
lbl_80157188:
/* 80157188 00152DE8 4E 80 00 20 */ blr
.global func_8015718C
func_8015718C:
/* 8015718C 00152DEC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80157190 00152DF0 7C 08 02 A6 */ mflr r0
/* 80157194 00152DF4 90 01 00 34 */ stw r0, 0x34(r1)
/* 80157198 00152DF8 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8015719C 00152DFC 93 C1 00 28 */ stw r30, 0x28(r1)
/* 801571A0 00152E00 7C 7E 1B 78 */ mr r30, r3
/* 801571A4 00152E04 38 60 00 04 */ li r3, 4
/* 801571A8 00152E08 48 0E 3E B1 */ bl func_8023B058
/* 801571AC 00152E0C 2C 03 00 00 */ cmpwi r3, 0
/* 801571B0 00152E10 7C 7F 1B 78 */ mr r31, r3
/* 801571B4 00152E14 40 82 00 0C */ bne lbl_801571C0
/* 801571B8 00152E18 38 60 00 00 */ li r3, 0
/* 801571BC 00152E1C 48 00 00 D8 */ b lbl_80157294
lbl_801571C0:
/* 801571C0 00152E20 80 1E 00 08 */ lwz r0, 8(r30)
/* 801571C4 00152E24 2C 00 00 00 */ cmpwi r0, 0
/* 801571C8 00152E28 40 82 00 34 */ bne lbl_801571FC
/* 801571CC 00152E2C 48 08 39 5D */ bl func_801DAB28
/* 801571D0 00152E30 2C 03 00 00 */ cmpwi r3, 0
/* 801571D4 00152E34 41 82 00 14 */ beq lbl_801571E8
/* 801571D8 00152E38 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 801571DC 00152E3C 38 80 02 64 */ li r4, 0x264
/* 801571E0 00152E40 48 08 3A B5 */ bl func_801DAC94
/* 801571E4 00152E44 48 00 00 08 */ b lbl_801571EC
lbl_801571E8:
/* 801571E8 00152E48 38 60 00 00 */ li r3, 0
lbl_801571EC:
/* 801571EC 00152E4C 2C 03 00 00 */ cmpwi r3, 0
/* 801571F0 00152E50 41 82 00 08 */ beq lbl_801571F8
/* 801571F4 00152E54 48 08 6D 85 */ bl __ct__8GScameraFv
lbl_801571F8:
/* 801571F8 00152E58 90 7E 00 08 */ stw r3, 8(r30)
lbl_801571FC:
/* 801571FC 00152E5C 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 80157200 00152E60 3C 80 80 49 */ lis r4, lbl_80493614@ha
/* 80157204 00152E64 C0 42 8E E8 */ lfs f2, lbl_806414E8-_SDA2_BASE_(r2)
/* 80157208 00152E68 38 64 36 14 */ addi r3, r4, lbl_80493614@l
/* 8015720C 00152E6C 90 1E 00 0C */ stw r0, 0xc(r30)
/* 80157210 00152E70 80 BE 00 08 */ lwz r5, 8(r30)
/* 80157214 00152E74 C0 22 8F 34 */ lfs f1, lbl_80641534-_SDA2_BASE_(r2)
/* 80157218 00152E78 90 BF 00 0C */ stw r5, 0xc(r31)
/* 8015721C 00152E7C D0 45 01 AC */ stfs f2, 0x1ac(r5)
/* 80157220 00152E80 D0 45 01 B0 */ stfs f2, 0x1b0(r5)
/* 80157224 00152E84 D0 25 01 B4 */ stfs f1, 0x1b4(r5)
/* 80157228 00152E88 C0 04 36 14 */ lfs f0, 0x3614(r4)
/* 8015722C 00152E8C D0 41 00 08 */ stfs f2, 8(r1)
/* 80157230 00152E90 D0 05 01 B8 */ stfs f0, 0x1b8(r5)
/* 80157234 00152E94 C0 03 00 04 */ lfs f0, 4(r3)
/* 80157238 00152E98 D0 41 00 0C */ stfs f2, 0xc(r1)
/* 8015723C 00152E9C D0 05 01 BC */ stfs f0, 0x1bc(r5)
/* 80157240 00152EA0 C0 03 00 08 */ lfs f0, 8(r3)
/* 80157244 00152EA4 D0 41 00 10 */ stfs f2, 0x10(r1)
/* 80157248 00152EA8 D0 05 01 C0 */ stfs f0, 0x1c0(r5)
/* 8015724C 00152EAC D0 45 01 C4 */ stfs f2, 0x1c4(r5)
/* 80157250 00152EB0 D0 45 01 C8 */ stfs f2, 0x1c8(r5)
/* 80157254 00152EB4 D0 45 01 CC */ stfs f2, 0x1cc(r5)
/* 80157258 00152EB8 80 05 01 04 */ lwz r0, 0x104(r5)
/* 8015725C 00152EBC D0 41 00 14 */ stfs f2, 0x14(r1)
/* 80157260 00152EC0 60 03 00 30 */ ori r3, r0, 0x30
/* 80157264 00152EC4 54 60 07 BE */ clrlwi r0, r3, 0x1e
/* 80157268 00152EC8 D0 41 00 18 */ stfs f2, 0x18(r1)
/* 8015726C 00152ECC 28 00 00 01 */ cmplwi r0, 1
/* 80157270 00152ED0 D0 21 00 1C */ stfs f1, 0x1c(r1)
/* 80157274 00152ED4 90 65 01 04 */ stw r3, 0x104(r5)
/* 80157278 00152ED8 40 82 00 18 */ bne lbl_80157290
/* 8015727C 00152EDC C0 02 8F 38 */ lfs f0, lbl_80641538-_SDA2_BASE_(r2)
/* 80157280 00152EE0 D0 05 01 68 */ stfs f0, 0x168(r5)
/* 80157284 00152EE4 80 05 01 04 */ lwz r0, 0x104(r5)
/* 80157288 00152EE8 60 00 00 08 */ ori r0, r0, 8
/* 8015728C 00152EEC 90 05 01 04 */ stw r0, 0x104(r5)
lbl_80157290:
/* 80157290 00152EF0 38 60 00 01 */ li r3, 1
lbl_80157294:
/* 80157294 00152EF4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80157298 00152EF8 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8015729C 00152EFC 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 801572A0 00152F00 7C 08 03 A6 */ mtlr r0
/* 801572A4 00152F04 38 21 00 30 */ addi r1, r1, 0x30
/* 801572A8 00152F08 4E 80 00 20 */ blr
.global func_801572AC
func_801572AC:
/* 801572AC 00152F0C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801572B0 00152F10 7C 08 02 A6 */ mflr r0
/* 801572B4 00152F14 90 01 00 14 */ stw r0, 0x14(r1)
/* 801572B8 00152F18 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801572BC 00152F1C 7C 7F 1B 78 */ mr r31, r3
/* 801572C0 00152F20 38 60 00 04 */ li r3, 4
/* 801572C4 00152F24 48 0E 3D 95 */ bl func_8023B058
/* 801572C8 00152F28 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 801572CC 00152F2C 90 03 00 0C */ stw r0, 0xc(r3)
/* 801572D0 00152F30 80 7F 00 08 */ lwz r3, 8(r31)
/* 801572D4 00152F34 2C 03 00 00 */ cmpwi r3, 0
/* 801572D8 00152F38 41 82 00 24 */ beq lbl_801572FC
/* 801572DC 00152F3C 41 82 00 18 */ beq lbl_801572F4
/* 801572E0 00152F40 81 83 01 00 */ lwz r12, 0x100(r3)
/* 801572E4 00152F44 38 80 00 01 */ li r4, 1
/* 801572E8 00152F48 81 8C 00 08 */ lwz r12, 8(r12)
/* 801572EC 00152F4C 7D 89 03 A6 */ mtctr r12
/* 801572F0 00152F50 4E 80 04 21 */ bctrl
lbl_801572F4:
/* 801572F4 00152F54 38 00 00 00 */ li r0, 0
/* 801572F8 00152F58 90 1F 00 08 */ stw r0, 8(r31)
lbl_801572FC:
/* 801572FC 00152F5C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80157300 00152F60 38 60 00 01 */ li r3, 1
/* 80157304 00152F64 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80157308 00152F68 7C 08 03 A6 */ mtlr r0
/* 8015730C 00152F6C 38 21 00 10 */ addi r1, r1, 0x10
/* 80157310 00152F70 4E 80 00 20 */ blr
.global func_80157314
func_80157314:
/* 80157314 00152F74 54 A0 10 3A */ slwi r0, r5, 2
/* 80157318 00152F78 39 00 00 00 */ li r8, 0
/* 8015731C 00152F7C 7C A4 02 14 */ add r5, r4, r0
/* 80157320 00152F80 80 65 00 08 */ lwz r3, 8(r5)
/* 80157324 00152F84 A0 83 00 DE */ lhz r4, 0xde(r3)
/* 80157328 00152F88 48 00 00 A8 */ b lbl_801573D0
lbl_8015732C:
/* 8015732C 00152F8C 80 65 00 08 */ lwz r3, 8(r5)
/* 80157330 00152F90 80 C3 00 08 */ lwz r6, 8(r3)
/* 80157334 00152F94 2C 06 00 00 */ cmpwi r6, 0
/* 80157338 00152F98 40 82 00 0C */ bne lbl_80157344
/* 8015733C 00152F9C 38 60 00 00 */ li r3, 0
/* 80157340 00152FA0 48 00 00 24 */ b lbl_80157364
lbl_80157344:
/* 80157344 00152FA4 A0 03 00 DE */ lhz r0, 0xde(r3)
/* 80157348 00152FA8 55 03 04 3E */ clrlwi r3, r8, 0x10
/* 8015734C 00152FAC 7C 03 00 40 */ cmplw r3, r0
/* 80157350 00152FB0 41 80 00 0C */ blt lbl_8015735C
/* 80157354 00152FB4 38 60 00 00 */ li r3, 0
/* 80157358 00152FB8 48 00 00 0C */ b lbl_80157364
lbl_8015735C:
/* 8015735C 00152FBC 55 00 13 BA */ rlwinm r0, r8, 2, 0xe, 0x1d
/* 80157360 00152FC0 7C 66 00 2E */ lwzx r3, r6, r0
lbl_80157364:
/* 80157364 00152FC4 2C 03 00 00 */ cmpwi r3, 0
/* 80157368 00152FC8 41 82 00 64 */ beq lbl_801573CC
/* 8015736C 00152FCC 80 63 00 04 */ lwz r3, 4(r3)
/* 80157370 00152FD0 2C 03 00 00 */ cmpwi r3, 0
/* 80157374 00152FD4 41 82 00 58 */ beq lbl_801573CC
/* 80157378 00152FD8 41 82 00 40 */ beq lbl_801573B8
/* 8015737C 00152FDC A0 E3 00 06 */ lhz r7, 6(r3)
/* 80157380 00152FE0 38 C0 00 01 */ li r6, 1
/* 80157384 00152FE4 54 E0 07 39 */ rlwinm. r0, r7, 0, 0x1c, 0x1c
/* 80157388 00152FE8 40 82 00 34 */ bne lbl_801573BC
/* 8015738C 00152FEC 80 03 00 00 */ lwz r0, 0(r3)
/* 80157390 00152FF0 38 60 00 00 */ li r3, 0
/* 80157394 00152FF4 2C 00 00 00 */ cmpwi r0, 0
/* 80157398 00152FF8 41 82 00 10 */ beq lbl_801573A8
/* 8015739C 00152FFC 54 E0 07 FF */ clrlwi. r0, r7, 0x1f
/* 801573A0 00153000 41 82 00 08 */ beq lbl_801573A8
/* 801573A4 00153004 38 60 00 01 */ li r3, 1
lbl_801573A8:
/* 801573A8 00153008 2C 03 00 00 */ cmpwi r3, 0
/* 801573AC 0015300C 41 82 00 10 */ beq lbl_801573BC
/* 801573B0 00153010 38 C0 00 00 */ li r6, 0
/* 801573B4 00153014 48 00 00 08 */ b lbl_801573BC
lbl_801573B8:
/* 801573B8 00153018 38 C0 00 01 */ li r6, 1
lbl_801573BC:
/* 801573BC 0015301C 2C 06 00 00 */ cmpwi r6, 0
/* 801573C0 00153020 41 82 00 0C */ beq lbl_801573CC
/* 801573C4 00153024 38 60 00 01 */ li r3, 1
/* 801573C8 00153028 4E 80 00 20 */ blr
lbl_801573CC:
/* 801573CC 0015302C 39 08 00 01 */ addi r8, r8, 1
lbl_801573D0:
/* 801573D0 00153030 55 00 04 3E */ clrlwi r0, r8, 0x10
/* 801573D4 00153034 7C 00 20 40 */ cmplw r0, r4
/* 801573D8 00153038 41 80 FF 54 */ blt lbl_8015732C
/* 801573DC 0015303C 38 60 00 00 */ li r3, 0
/* 801573E0 00153040 4E 80 00 20 */ blr
.global func_801573E4
func_801573E4:
/* 801573E4 00153044 54 A0 10 3A */ slwi r0, r5, 2
/* 801573E8 00153048 39 00 00 00 */ li r8, 0
/* 801573EC 0015304C 7C A4 02 14 */ add r5, r4, r0
/* 801573F0 00153050 80 65 00 08 */ lwz r3, 8(r5)
/* 801573F4 00153054 A0 83 00 DE */ lhz r4, 0xde(r3)
/* 801573F8 00153058 48 00 00 A8 */ b lbl_801574A0
lbl_801573FC:
/* 801573FC 0015305C 80 65 00 08 */ lwz r3, 8(r5)
/* 80157400 00153060 80 C3 00 08 */ lwz r6, 8(r3)
/* 80157404 00153064 2C 06 00 00 */ cmpwi r6, 0
/* 80157408 00153068 40 82 00 0C */ bne lbl_80157414
/* 8015740C 0015306C 38 60 00 00 */ li r3, 0
/* 80157410 00153070 48 00 00 24 */ b lbl_80157434
lbl_80157414:
/* 80157414 00153074 A0 03 00 DE */ lhz r0, 0xde(r3)
/* 80157418 00153078 55 03 04 3E */ clrlwi r3, r8, 0x10
/* 8015741C 0015307C 7C 03 00 40 */ cmplw r3, r0
/* 80157420 00153080 41 80 00 0C */ blt lbl_8015742C
/* 80157424 00153084 38 60 00 00 */ li r3, 0
/* 80157428 00153088 48 00 00 0C */ b lbl_80157434
lbl_8015742C:
/* 8015742C 0015308C 55 00 13 BA */ rlwinm r0, r8, 2, 0xe, 0x1d
/* 80157430 00153090 7C 66 00 2E */ lwzx r3, r6, r0
lbl_80157434:
/* 80157434 00153094 2C 03 00 00 */ cmpwi r3, 0
/* 80157438 00153098 41 82 00 64 */ beq lbl_8015749C
/* 8015743C 0015309C 80 63 00 04 */ lwz r3, 4(r3)
/* 80157440 001530A0 2C 03 00 00 */ cmpwi r3, 0
/* 80157444 001530A4 41 82 00 58 */ beq lbl_8015749C
/* 80157448 001530A8 41 82 00 40 */ beq lbl_80157488
/* 8015744C 001530AC A0 E3 00 06 */ lhz r7, 6(r3)
/* 80157450 001530B0 38 C0 00 01 */ li r6, 1
/* 80157454 001530B4 54 E0 07 7B */ rlwinm. r0, r7, 0, 0x1d, 0x1d
/* 80157458 001530B8 40 82 00 34 */ bne lbl_8015748C
/* 8015745C 001530BC 80 03 00 00 */ lwz r0, 0(r3)
/* 80157460 001530C0 38 60 00 00 */ li r3, 0
/* 80157464 001530C4 2C 00 00 00 */ cmpwi r0, 0
/* 80157468 001530C8 41 82 00 10 */ beq lbl_80157478
/* 8015746C 001530CC 54 E0 07 FF */ clrlwi. r0, r7, 0x1f
/* 80157470 001530D0 41 82 00 08 */ beq lbl_80157478
/* 80157474 001530D4 38 60 00 01 */ li r3, 1
lbl_80157478:
/* 80157478 001530D8 2C 03 00 00 */ cmpwi r3, 0
/* 8015747C 001530DC 41 82 00 10 */ beq lbl_8015748C
/* 80157480 001530E0 38 C0 00 00 */ li r6, 0
/* 80157484 001530E4 48 00 00 08 */ b lbl_8015748C
lbl_80157488:
/* 80157488 001530E8 38 C0 00 01 */ li r6, 1
lbl_8015748C:
/* 8015748C 001530EC 2C 06 00 00 */ cmpwi r6, 0
/* 80157490 001530F0 41 82 00 0C */ beq lbl_8015749C
/* 80157494 001530F4 38 60 00 01 */ li r3, 1
/* 80157498 001530F8 4E 80 00 20 */ blr
lbl_8015749C:
/* 8015749C 001530FC 39 08 00 01 */ addi r8, r8, 1
lbl_801574A0:
/* 801574A0 00153100 55 00 04 3E */ clrlwi r0, r8, 0x10
/* 801574A4 00153104 7C 00 20 40 */ cmplw r0, r4
/* 801574A8 00153108 41 80 FF 54 */ blt lbl_801573FC
/* 801574AC 0015310C 38 60 00 00 */ li r3, 0
/* 801574B0 00153110 4E 80 00 20 */ blr
.global func_801574B4
func_801574B4:
/* 801574B4 00153114 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801574B8 00153118 7C 08 02 A6 */ mflr r0
/* 801574BC 0015311C 90 01 00 24 */ stw r0, 0x24(r1)
/* 801574C0 00153120 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801574C4 00153124 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801574C8 00153128 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801574CC 0015312C 7C 7D 1B 78 */ mr r29, r3
/* 801574D0 00153130 48 00 02 61 */ bl func_80157730
/* 801574D4 00153134 3B C0 00 00 */ li r30, 0
/* 801574D8 00153138 3B E0 00 00 */ li r31, 0
lbl_801574DC:
/* 801574DC 0015313C 80 7D 00 00 */ lwz r3, 0(r29)
/* 801574E0 00153140 2C 03 00 00 */ cmpwi r3, 0
/* 801574E4 00153144 41 82 00 14 */ beq lbl_801574F8
/* 801574E8 00153148 48 08 C3 09 */ bl func_801E37F0
/* 801574EC 0015314C 80 7D 00 00 */ lwz r3, 0(r29)
/* 801574F0 00153150 4B EF E9 41 */ bl func_80055E30
/* 801574F4 00153154 93 FD 00 00 */ stw r31, 0(r29)
lbl_801574F8:
/* 801574F8 00153158 3B DE 00 01 */ addi r30, r30, 1
/* 801574FC 0015315C 3B BD 00 04 */ addi r29, r29, 4
/* 80157500 00153160 28 1E 00 02 */ cmplwi r30, 2
/* 80157504 00153164 41 80 FF D8 */ blt lbl_801574DC
/* 80157508 00153168 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8015750C 0015316C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80157510 00153170 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80157514 00153174 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80157518 00153178 7C 08 03 A6 */ mtlr r0
/* 8015751C 0015317C 38 21 00 20 */ addi r1, r1, 0x20
/* 80157520 00153180 4E 80 00 20 */ blr
.global func_80157524
func_80157524:
/* 80157524 00153184 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80157528 00153188 7C 08 02 A6 */ mflr r0
/* 8015752C 0015318C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80157530 00153190 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80157534 00153194 7C 9F 23 78 */ mr r31, r4
/* 80157538 00153198 93 C1 00 08 */ stw r30, 8(r1)
/* 8015753C 0015319C 88 04 00 67 */ lbz r0, 0x67(r4)
/* 80157540 001531A0 2C 00 00 00 */ cmpwi r0, 0
/* 80157544 001531A4 41 82 01 24 */ beq lbl_80157668
/* 80157548 001531A8 80 CD 9D 10 */ lwz r6, lbl_8063EFD0-_SDA_BASE_(r13)
/* 8015754C 001531AC 38 A0 00 01 */ li r5, 1
/* 80157550 001531B0 88 64 00 66 */ lbz r3, 0x66(r4)
/* 80157554 001531B4 88 04 00 71 */ lbz r0, 0x71(r4)
/* 80157558 001531B8 7C C6 1A 14 */ add r6, r6, r3
/* 8015755C 001531BC 88 66 01 E4 */ lbz r3, 0x1e4(r6)
/* 80157560 001531C0 7C A5 00 30 */ slw r5, r5, r0
/* 80157564 001531C4 7C A0 18 39 */ and. r0, r5, r3
/* 80157568 001531C8 41 82 00 3C */ beq lbl_801575A4
/* 8015756C 001531CC 7C 60 28 78 */ andc r0, r3, r5
/* 80157570 001531D0 98 06 01 E4 */ stb r0, 0x1e4(r6)
/* 80157574 001531D4 88 84 00 66 */ lbz r4, 0x66(r4)
/* 80157578 001531D8 80 0D 9D 10 */ lwz r0, lbl_8063EFD0-_SDA_BASE_(r13)
/* 8015757C 001531DC 7C 60 22 14 */ add r3, r0, r4
/* 80157580 001531E0 88 03 01 E4 */ lbz r0, 0x1e4(r3)
/* 80157584 001531E4 2C 00 00 00 */ cmpwi r0, 0
/* 80157588 001531E8 40 82 00 1C */ bne lbl_801575A4
/* 8015758C 001531EC 3C 60 80 42 */ lis r3, lbl_8041E878@ha
/* 80157590 001531F0 54 80 15 BA */ rlwinm r0, r4, 2, 0x16, 0x1d
/* 80157594 001531F4 38 63 E8 78 */ addi r3, r3, lbl_8041E878@l
/* 80157598 001531F8 38 80 00 00 */ li r4, 0
/* 8015759C 001531FC 7C 63 00 2E */ lwzx r3, r3, r0
/* 801575A0 00153200 4B EB 3E CD */ bl func_8000B46C
lbl_801575A4:
/* 801575A4 00153204 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 801575A8 00153208 2C 03 00 00 */ cmpwi r3, 0
/* 801575AC 0015320C 41 82 00 10 */ beq lbl_801575BC
/* 801575B0 00153210 48 0A C6 4D */ bl func_80203BFC
/* 801575B4 00153214 38 00 00 00 */ li r0, 0
/* 801575B8 00153218 90 1F 00 18 */ stw r0, 0x18(r31)
lbl_801575BC:
/* 801575BC 0015321C 80 7F 00 14 */ lwz r3, 0x14(r31)
/* 801575C0 00153220 2C 03 00 00 */ cmpwi r3, 0
/* 801575C4 00153224 41 82 00 10 */ beq lbl_801575D4
/* 801575C8 00153228 48 0A C6 35 */ bl func_80203BFC
/* 801575CC 0015322C 38 00 00 00 */ li r0, 0
/* 801575D0 00153230 90 1F 00 14 */ stw r0, 0x14(r31)
lbl_801575D4:
/* 801575D4 00153234 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 801575D8 00153238 2C 03 00 00 */ cmpwi r3, 0
/* 801575DC 0015323C 41 82 00 24 */ beq lbl_80157600
/* 801575E0 00153240 41 82 00 18 */ beq lbl_801575F8
/* 801575E4 00153244 81 83 01 00 */ lwz r12, 0x100(r3)
/* 801575E8 00153248 38 80 00 01 */ li r4, 1
/* 801575EC 0015324C 81 8C 00 08 */ lwz r12, 8(r12)
/* 801575F0 00153250 7D 89 03 A6 */ mtctr r12
/* 801575F4 00153254 4E 80 04 21 */ bctrl
lbl_801575F8:
/* 801575F8 00153258 38 00 00 00 */ li r0, 0
/* 801575FC 0015325C 90 1F 00 10 */ stw r0, 0x10(r31)
lbl_80157600:
/* 80157600 00153260 80 7F 00 04 */ lwz r3, 4(r31)
/* 80157604 00153264 38 80 00 FF */ li r4, 0xff
/* 80157608 00153268 3B C0 00 00 */ li r30, 0
/* 8015760C 0015326C 38 00 FF FF */ li r0, -1
/* 80157610 00153270 2C 03 00 00 */ cmpwi r3, 0
/* 80157614 00153274 98 9F 00 6C */ stb r4, 0x6c(r31)
/* 80157618 00153278 98 9F 00 6D */ stb r4, 0x6d(r31)
/* 8015761C 0015327C 98 9F 00 6E */ stb r4, 0x6e(r31)
/* 80157620 00153280 98 9F 00 6F */ stb r4, 0x6f(r31)
/* 80157624 00153284 98 9F 00 70 */ stb r4, 0x70(r31)
/* 80157628 00153288 93 DF 00 08 */ stw r30, 8(r31)
/* 8015762C 0015328C 93 DF 00 0C */ stw r30, 0xc(r31)
/* 80157630 00153290 90 1F 00 68 */ stw r0, 0x68(r31)
/* 80157634 00153294 41 82 00 10 */ beq lbl_80157644
/* 80157638 00153298 38 80 00 01 */ li r4, 1
/* 8015763C 0015329C 48 0A 2C 59 */ bl func_801FA294
/* 80157640 001532A0 93 DF 00 04 */ stw r30, 4(r31)
lbl_80157644:
/* 80157644 001532A4 80 7F 00 00 */ lwz r3, 0(r31)
/* 80157648 001532A8 2C 03 00 00 */ cmpwi r3, 0
/* 8015764C 001532AC 41 82 00 14 */ beq lbl_80157660
/* 80157650 001532B0 38 80 00 01 */ li r4, 1
/* 80157654 001532B4 48 0A 2C 41 */ bl func_801FA294
/* 80157658 001532B8 38 00 00 00 */ li r0, 0
/* 8015765C 001532BC 90 1F 00 00 */ stw r0, 0(r31)
lbl_80157660:
/* 80157660 001532C0 38 00 00 00 */ li r0, 0
/* 80157664 001532C4 98 1F 00 67 */ stb r0, 0x67(r31)
lbl_80157668:
/* 80157668 001532C8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8015766C 001532CC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80157670 001532D0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80157674 001532D4 7C 08 03 A6 */ mtlr r0
/* 80157678 001532D8 38 21 00 10 */ addi r1, r1, 0x10
/* 8015767C 001532DC 4E 80 00 20 */ blr
.global func_80157680
func_80157680:
/* 80157680 001532E0 54 A0 10 3A */ slwi r0, r5, 2
/* 80157684 001532E4 C0 22 8E E8 */ lfs f1, lbl_806414E8-_SDA2_BASE_(r2)
/* 80157688 001532E8 7C 64 02 14 */ add r3, r4, r0
/* 8015768C 001532EC 38 E0 00 00 */ li r7, 0
/* 80157690 001532F0 80 A3 00 08 */ lwz r5, 8(r3)
/* 80157694 001532F4 A0 85 00 DE */ lhz r4, 0xde(r5)
/* 80157698 001532F8 2C 04 00 00 */ cmpwi r4, 0
/* 8015769C 001532FC 4D 82 00 20 */ beqlr
/* 801576A0 00153300 48 00 00 80 */ b lbl_80157720
lbl_801576A4:
/* 801576A4 00153304 80 C5 00 08 */ lwz r6, 8(r5)
/* 801576A8 00153308 2C 06 00 00 */ cmpwi r6, 0
/* 801576AC 0015330C 40 82 00 0C */ bne lbl_801576B8
/* 801576B0 00153310 38 60 00 00 */ li r3, 0
/* 801576B4 00153314 48 00 00 24 */ b lbl_801576D8
lbl_801576B8:
/* 801576B8 00153318 A0 05 00 DE */ lhz r0, 0xde(r5)
/* 801576BC 0015331C 54 E3 04 3E */ clrlwi r3, r7, 0x10
/* 801576C0 00153320 7C 03 00 40 */ cmplw r3, r0
/* 801576C4 00153324 41 80 00 0C */ blt lbl_801576D0
/* 801576C8 00153328 38 60 00 00 */ li r3, 0
/* 801576CC 0015332C 48 00 00 0C */ b lbl_801576D8
lbl_801576D0:
/* 801576D0 00153330 54 E0 13 BA */ rlwinm r0, r7, 2, 0xe, 0x1d
/* 801576D4 00153334 7C 66 00 2E */ lwzx r3, r6, r0
lbl_801576D8:
/* 801576D8 00153338 2C 03 00 00 */ cmpwi r3, 0
/* 801576DC 0015333C 41 82 00 40 */ beq lbl_8015771C
/* 801576E0 00153340 80 63 00 04 */ lwz r3, 4(r3)
/* 801576E4 00153344 2C 03 00 00 */ cmpwi r3, 0
/* 801576E8 00153348 41 82 00 34 */ beq lbl_8015771C
/* 801576EC 0015334C 41 82 00 20 */ beq lbl_8015770C
/* 801576F0 00153350 80 63 00 00 */ lwz r3, 0(r3)
/* 801576F4 00153354 2C 03 00 00 */ cmpwi r3, 0
/* 801576F8 00153358 41 82 00 0C */ beq lbl_80157704
/* 801576FC 0015335C C0 03 00 08 */ lfs f0, 8(r3)
/* 80157700 00153360 48 00 00 10 */ b lbl_80157710
lbl_80157704:
/* 80157704 00153364 C0 02 8E E8 */ lfs f0, lbl_806414E8-_SDA2_BASE_(r2)
/* 80157708 00153368 48 00 00 08 */ b lbl_80157710
lbl_8015770C:
/* 8015770C 0015336C C0 02 8E E8 */ lfs f0, lbl_806414E8-_SDA2_BASE_(r2)
lbl_80157710:
/* 80157710 00153370 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80157714 00153374 40 80 00 08 */ bge lbl_8015771C
/* 80157718 00153378 FC 20 00 90 */ fmr f1, f0
lbl_8015771C:
/* 8015771C 0015337C 38 E7 00 01 */ addi r7, r7, 1
lbl_80157720:
/* 80157720 00153380 54 E0 04 3E */ clrlwi r0, r7, 0x10
/* 80157724 00153384 7C 00 20 40 */ cmplw r0, r4
/* 80157728 00153388 41 80 FF 7C */ blt lbl_801576A4
/* 8015772C 0015338C 4E 80 00 20 */ blr
.global func_80157730
func_80157730:
/* 80157730 00153390 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80157734 00153394 7C 08 02 A6 */ mflr r0
/* 80157738 00153398 90 01 00 24 */ stw r0, 0x24(r1)
/* 8015773C 0015339C 39 61 00 20 */ addi r11, r1, 0x20
/* 80157740 001533A0 48 06 F9 E9 */ bl _savegpr_27
/* 80157744 001533A4 7C 7B 1B 78 */ mr r27, r3
/* 80157748 001533A8 3B C3 00 14 */ addi r30, r3, 0x14
/* 8015774C 001533AC 3B 80 00 00 */ li r28, 0
lbl_80157750:
/* 80157750 001533B0 7F 63 DB 78 */ mr r3, r27
/* 80157754 001533B4 7F C4 F3 78 */ mr r4, r30
/* 80157758 001533B8 4B FF FD CD */ bl func_80157524
/* 8015775C 001533BC 3B 9C 00 01 */ addi r28, r28, 1
/* 80157760 001533C0 3B DE 00 74 */ addi r30, r30, 0x74
/* 80157764 001533C4 28 1C 00 04 */ cmplwi r28, 4
/* 80157768 001533C8 41 80 FF E8 */ blt lbl_80157750
/* 8015776C 001533CC 3F C0 80 42 */ lis r30, lbl_8041E878@ha
/* 80157770 001533D0 3B 80 00 00 */ li r28, 0
/* 80157774 001533D4 3B DE E8 78 */ addi r30, r30, lbl_8041E878@l
/* 80157778 001533D8 3B E0 00 00 */ li r31, 0
lbl_8015777C:
/* 8015777C 001533DC 7F BB E2 14 */ add r29, r27, r28
/* 80157780 001533E0 88 1D 01 E4 */ lbz r0, 0x1e4(r29)
/* 80157784 001533E4 2C 00 00 00 */ cmpwi r0, 0
/* 80157788 001533E8 41 82 00 14 */ beq lbl_8015779C
/* 8015778C 001533EC 80 7E 00 00 */ lwz r3, 0(r30)
/* 80157790 001533F0 38 80 00 00 */ li r4, 0
/* 80157794 001533F4 4B EB 3C D9 */ bl func_8000B46C
/* 80157798 001533F8 9B FD 01 E4 */ stb r31, 0x1e4(r29)
lbl_8015779C:
/* 8015779C 001533FC 3B 9C 00 01 */ addi r28, r28, 1
/* 801577A0 00153400 3B DE 00 04 */ addi r30, r30, 4
/* 801577A4 00153404 28 1C 00 12 */ cmplwi r28, 0x12
/* 801577A8 00153408 41 80 FF D4 */ blt lbl_8015777C
/* 801577AC 0015340C 39 61 00 20 */ addi r11, r1, 0x20
/* 801577B0 00153410 48 06 F9 C5 */ bl _restgpr_27
/* 801577B4 00153414 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801577B8 00153418 7C 08 03 A6 */ mtlr r0
/* 801577BC 0015341C 38 21 00 20 */ addi r1, r1, 0x20
/* 801577C0 00153420 4E 80 00 20 */ blr
.global func_801577C4
func_801577C4:
/* 801577C4 00153424 80 6D 9D 10 */ lwz r3, lbl_8063EFD0-_SDA_BASE_(r13)
/* 801577C8 00153428 2C 03 00 00 */ cmpwi r3, 0
/* 801577CC 0015342C 40 82 00 0C */ bne lbl_801577D8
/* 801577D0 00153430 38 60 00 00 */ li r3, 0
/* 801577D4 00153434 4E 80 00 20 */ blr
lbl_801577D8:
/* 801577D8 00153438 88 03 00 7B */ lbz r0, 0x7b(r3)
/* 801577DC 0015343C 2C 00 00 00 */ cmpwi r0, 0
/* 801577E0 00153440 41 82 00 0C */ beq lbl_801577EC
/* 801577E4 00153444 38 60 00 01 */ li r3, 1
/* 801577E8 00153448 4E 80 00 20 */ blr
lbl_801577EC:
/* 801577EC 0015344C 38 63 00 88 */ addi r3, r3, 0x88
/* 801577F0 00153450 88 03 00 67 */ lbz r0, 0x67(r3)
/* 801577F4 00153454 2C 00 00 00 */ cmpwi r0, 0
/* 801577F8 00153458 41 82 00 0C */ beq lbl_80157804
/* 801577FC 0015345C 38 60 00 01 */ li r3, 1
/* 80157800 00153460 4E 80 00 20 */ blr
lbl_80157804:
/* 80157804 00153464 88 03 00 DB */ lbz r0, 0xdb(r3)
/* 80157808 00153468 2C 00 00 00 */ cmpwi r0, 0
/* 8015780C 0015346C 41 82 00 0C */ beq lbl_80157818
/* 80157810 00153470 38 60 00 01 */ li r3, 1
/* 80157814 00153474 4E 80 00 20 */ blr
lbl_80157818:
/* 80157818 00153478 88 03 01 4F */ lbz r0, 0x14f(r3)
/* 8015781C 0015347C 2C 00 00 00 */ cmpwi r0, 0
/* 80157820 00153480 41 82 00 0C */ beq lbl_8015782C
/* 80157824 00153484 38 60 00 01 */ li r3, 1
/* 80157828 00153488 4E 80 00 20 */ blr
lbl_8015782C:
/* 8015782C 0015348C 38 60 00 00 */ li r3, 0
/* 80157830 00153490 4E 80 00 20 */ blr
.global func_80157834
func_80157834:
/* 80157834 00153494 38 A0 00 01 */ li r5, 1
/* 80157838 00153498 38 6D 9D 08 */ addi r3, r13, lbl_8063EFC8-_SDA_BASE_
/* 8015783C 0015349C 38 80 00 04 */ li r4, 4
/* 80157840 001534A0 38 00 00 00 */ li r0, 0
/* 80157844 001534A4 98 AD 9D 08 */ stb r5, lbl_8063EFC8-_SDA_BASE_(r13)
/* 80157848 001534A8 B0 83 00 02 */ sth r4, 2(r3)
/* 8015784C 001534AC 98 03 00 04 */ stb r0, 4(r3)
/* 80157850 001534B0 4E 80 00 20 */ blr
|