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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global func_80165534
func_80165534:
/* 80165534 00161194 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80165538 00161198 7C 08 02 A6 */ mflr r0
/* 8016553C 0016119C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80165540 001611A0 39 61 00 20 */ addi r11, r1, 0x20
/* 80165544 001611A4 48 06 1B E5 */ bl _savegpr_27
/* 80165548 001611A8 7C 7F 1B 78 */ mr r31, r3
/* 8016554C 001611AC 48 10 D2 6D */ bl OSGetTime
/* 80165550 001611B0 3C C0 80 00 */ lis r6, 0x800000F8@ha
/* 80165554 001611B4 38 A0 00 00 */ li r5, 0
/* 80165558 001611B8 80 06 00 F8 */ lwz r0, 0x800000F8@l(r6)
/* 8016555C 001611BC 54 06 F0 BE */ srwi r6, r0, 2
/* 80165560 001611C0 48 06 1D 19 */ bl __div2i
/* 80165564 001611C4 3C A0 80 49 */ lis r5, lbl_8048BE28@ha
/* 80165568 001611C8 38 00 00 20 */ li r0, 0x20
/* 8016556C 001611CC 7C 9D 23 78 */ mr r29, r4
/* 80165570 001611D0 38 80 00 00 */ li r4, 0
/* 80165574 001611D4 38 A5 BE 28 */ addi r5, r5, lbl_8048BE28@l
/* 80165578 001611D8 7C 09 03 A6 */ mtctr r0
lbl_8016557C:
/* 8016557C 001611DC 88 65 00 09 */ lbz r3, 9(r5)
/* 80165580 001611E0 88 1F 00 05 */ lbz r0, 5(r31)
/* 80165584 001611E4 7C 03 00 40 */ cmplw r3, r0
/* 80165588 001611E8 40 82 00 54 */ bne lbl_801655DC
/* 8016558C 001611EC 88 65 00 08 */ lbz r3, 8(r5)
/* 80165590 001611F0 88 1F 00 04 */ lbz r0, 4(r31)
/* 80165594 001611F4 7C 03 00 40 */ cmplw r3, r0
/* 80165598 001611F8 40 82 00 44 */ bne lbl_801655DC
/* 8016559C 001611FC 88 65 00 07 */ lbz r3, 7(r5)
/* 801655A0 00161200 88 1F 00 03 */ lbz r0, 3(r31)
/* 801655A4 00161204 7C 03 00 40 */ cmplw r3, r0
/* 801655A8 00161208 40 82 00 34 */ bne lbl_801655DC
/* 801655AC 0016120C 88 65 00 06 */ lbz r3, 6(r5)
/* 801655B0 00161210 88 1F 00 02 */ lbz r0, 2(r31)
/* 801655B4 00161214 7C 03 00 40 */ cmplw r3, r0
/* 801655B8 00161218 40 82 00 24 */ bne lbl_801655DC
/* 801655BC 0016121C 88 65 00 05 */ lbz r3, 5(r5)
/* 801655C0 00161220 88 1F 00 01 */ lbz r0, 1(r31)
/* 801655C4 00161224 7C 03 00 40 */ cmplw r3, r0
/* 801655C8 00161228 40 82 00 14 */ bne lbl_801655DC
/* 801655CC 0016122C 88 65 00 04 */ lbz r3, 4(r5)
/* 801655D0 00161230 88 1F 00 00 */ lbz r0, 0(r31)
/* 801655D4 00161234 7C 03 00 40 */ cmplw r3, r0
/* 801655D8 00161238 41 82 00 0C */ beq lbl_801655E4
lbl_801655DC:
/* 801655DC 0016123C 38 00 00 01 */ li r0, 1
/* 801655E0 00161240 48 00 00 08 */ b lbl_801655E8
lbl_801655E4:
/* 801655E4 00161244 38 00 00 00 */ li r0, 0
lbl_801655E8:
/* 801655E8 00161248 2C 00 00 00 */ cmpwi r0, 0
/* 801655EC 0016124C 40 82 00 18 */ bne lbl_80165604
/* 801655F0 00161250 1C 04 00 2C */ mulli r0, r4, 0x2c
/* 801655F4 00161254 3C 60 80 49 */ lis r3, lbl_8048BE28@ha
/* 801655F8 00161258 38 63 BE 28 */ addi r3, r3, lbl_8048BE28@l
/* 801655FC 0016125C 7C 63 02 14 */ add r3, r3, r0
/* 80165600 00161260 48 00 01 D8 */ b lbl_801657D8
lbl_80165604:
/* 80165604 00161264 88 65 00 35 */ lbz r3, 0x35(r5)
/* 80165608 00161268 38 84 00 01 */ addi r4, r4, 1
/* 8016560C 0016126C 88 1F 00 05 */ lbz r0, 5(r31)
/* 80165610 00161270 7C 03 00 40 */ cmplw r3, r0
/* 80165614 00161274 40 82 00 54 */ bne lbl_80165668
/* 80165618 00161278 88 65 00 34 */ lbz r3, 0x34(r5)
/* 8016561C 0016127C 88 1F 00 04 */ lbz r0, 4(r31)
/* 80165620 00161280 7C 03 00 40 */ cmplw r3, r0
/* 80165624 00161284 40 82 00 44 */ bne lbl_80165668
/* 80165628 00161288 88 65 00 33 */ lbz r3, 0x33(r5)
/* 8016562C 0016128C 88 1F 00 03 */ lbz r0, 3(r31)
/* 80165630 00161290 7C 03 00 40 */ cmplw r3, r0
/* 80165634 00161294 40 82 00 34 */ bne lbl_80165668
/* 80165638 00161298 88 65 00 32 */ lbz r3, 0x32(r5)
/* 8016563C 0016129C 88 1F 00 02 */ lbz r0, 2(r31)
/* 80165640 001612A0 7C 03 00 40 */ cmplw r3, r0
/* 80165644 001612A4 40 82 00 24 */ bne lbl_80165668
/* 80165648 001612A8 88 65 00 31 */ lbz r3, 0x31(r5)
/* 8016564C 001612AC 88 1F 00 01 */ lbz r0, 1(r31)
/* 80165650 001612B0 7C 03 00 40 */ cmplw r3, r0
/* 80165654 001612B4 40 82 00 14 */ bne lbl_80165668
/* 80165658 001612B8 88 65 00 30 */ lbz r3, 0x30(r5)
/* 8016565C 001612BC 88 1F 00 00 */ lbz r0, 0(r31)
/* 80165660 001612C0 7C 03 00 40 */ cmplw r3, r0
/* 80165664 001612C4 41 82 00 0C */ beq lbl_80165670
lbl_80165668:
/* 80165668 001612C8 38 00 00 01 */ li r0, 1
/* 8016566C 001612CC 48 00 00 08 */ b lbl_80165674
lbl_80165670:
/* 80165670 001612D0 38 00 00 00 */ li r0, 0
lbl_80165674:
/* 80165674 001612D4 2C 00 00 00 */ cmpwi r0, 0
/* 80165678 001612D8 40 82 00 18 */ bne lbl_80165690
/* 8016567C 001612DC 1C 04 00 2C */ mulli r0, r4, 0x2c
/* 80165680 001612E0 3C 60 80 49 */ lis r3, lbl_8048BE28@ha
/* 80165684 001612E4 38 63 BE 28 */ addi r3, r3, lbl_8048BE28@l
/* 80165688 001612E8 7C 63 02 14 */ add r3, r3, r0
/* 8016568C 001612EC 48 00 01 4C */ b lbl_801657D8
lbl_80165690:
/* 80165690 001612F0 38 A5 00 58 */ addi r5, r5, 0x58
/* 80165694 001612F4 38 84 00 01 */ addi r4, r4, 1
/* 80165698 001612F8 42 00 FE E4 */ bdnz lbl_8016557C
/* 8016569C 001612FC 3C 60 80 49 */ lis r3, lbl_8048BE28@ha
/* 801656A0 00161300 38 00 00 08 */ li r0, 8
/* 801656A4 00161304 38 63 BE 28 */ addi r3, r3, lbl_8048BE28@l
/* 801656A8 00161308 38 80 00 00 */ li r4, 0
/* 801656AC 0016130C 38 A0 FF FF */ li r5, -1
/* 801656B0 00161310 38 C0 00 00 */ li r6, 0
/* 801656B4 00161314 7C 09 03 A6 */ mtctr r0
lbl_801656B8:
/* 801656B8 00161318 80 03 00 00 */ lwz r0, 0(r3)
/* 801656BC 0016131C 7C 00 28 40 */ cmplw r0, r5
/* 801656C0 00161320 40 80 00 0C */ bge lbl_801656CC
/* 801656C4 00161324 7C C4 33 78 */ mr r4, r6
/* 801656C8 00161328 7C 05 03 78 */ mr r5, r0
lbl_801656CC:
/* 801656CC 0016132C 80 03 00 2C */ lwz r0, 0x2c(r3)
/* 801656D0 00161330 38 C6 00 01 */ addi r6, r6, 1
/* 801656D4 00161334 7C 00 28 40 */ cmplw r0, r5
/* 801656D8 00161338 40 80 00 0C */ bge lbl_801656E4
/* 801656DC 0016133C 7C C4 33 78 */ mr r4, r6
/* 801656E0 00161340 7C 05 03 78 */ mr r5, r0
lbl_801656E4:
/* 801656E4 00161344 80 03 00 58 */ lwz r0, 0x58(r3)
/* 801656E8 00161348 38 C6 00 01 */ addi r6, r6, 1
/* 801656EC 0016134C 7C 00 28 40 */ cmplw r0, r5
/* 801656F0 00161350 40 80 00 0C */ bge lbl_801656FC
/* 801656F4 00161354 7C C4 33 78 */ mr r4, r6
/* 801656F8 00161358 7C 05 03 78 */ mr r5, r0
lbl_801656FC:
/* 801656FC 0016135C 80 03 00 84 */ lwz r0, 0x84(r3)
/* 80165700 00161360 38 C6 00 01 */ addi r6, r6, 1
/* 80165704 00161364 7C 00 28 40 */ cmplw r0, r5
/* 80165708 00161368 40 80 00 0C */ bge lbl_80165714
/* 8016570C 0016136C 7C C4 33 78 */ mr r4, r6
/* 80165710 00161370 7C 05 03 78 */ mr r5, r0
lbl_80165714:
/* 80165714 00161374 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 80165718 00161378 38 C6 00 01 */ addi r6, r6, 1
/* 8016571C 0016137C 7C 00 28 40 */ cmplw r0, r5
/* 80165720 00161380 40 80 00 0C */ bge lbl_8016572C
/* 80165724 00161384 7C C4 33 78 */ mr r4, r6
/* 80165728 00161388 7C 05 03 78 */ mr r5, r0
lbl_8016572C:
/* 8016572C 0016138C 80 03 00 DC */ lwz r0, 0xdc(r3)
/* 80165730 00161390 38 C6 00 01 */ addi r6, r6, 1
/* 80165734 00161394 7C 00 28 40 */ cmplw r0, r5
/* 80165738 00161398 40 80 00 0C */ bge lbl_80165744
/* 8016573C 0016139C 7C C4 33 78 */ mr r4, r6
/* 80165740 001613A0 7C 05 03 78 */ mr r5, r0
lbl_80165744:
/* 80165744 001613A4 80 03 01 08 */ lwz r0, 0x108(r3)
/* 80165748 001613A8 38 C6 00 01 */ addi r6, r6, 1
/* 8016574C 001613AC 7C 00 28 40 */ cmplw r0, r5
/* 80165750 001613B0 40 80 00 0C */ bge lbl_8016575C
/* 80165754 001613B4 7C C4 33 78 */ mr r4, r6
/* 80165758 001613B8 7C 05 03 78 */ mr r5, r0
lbl_8016575C:
/* 8016575C 001613BC 80 03 01 34 */ lwz r0, 0x134(r3)
/* 80165760 001613C0 38 C6 00 01 */ addi r6, r6, 1
/* 80165764 001613C4 7C 00 28 40 */ cmplw r0, r5
/* 80165768 001613C8 40 80 00 0C */ bge lbl_80165774
/* 8016576C 001613CC 7C C4 33 78 */ mr r4, r6
/* 80165770 001613D0 7C 05 03 78 */ mr r5, r0
lbl_80165774:
/* 80165774 001613D4 38 63 01 60 */ addi r3, r3, 0x160
/* 80165778 001613D8 38 C6 00 01 */ addi r6, r6, 1
/* 8016577C 001613DC 42 00 FF 3C */ bdnz lbl_801656B8
/* 80165780 001613E0 1F 84 00 2C */ mulli r28, r4, 0x2c
/* 80165784 001613E4 3F C0 80 49 */ lis r30, lbl_8048BE28@ha
/* 80165788 001613E8 38 80 00 00 */ li r4, 0
/* 8016578C 001613EC 3B DE BE 28 */ addi r30, r30, lbl_8048BE28@l
/* 80165790 001613F0 7F 7E E2 14 */ add r27, r30, r28
/* 80165794 001613F4 38 A0 00 2C */ li r5, 0x2c
/* 80165798 001613F8 7F 63 DB 78 */ mr r3, r27
/* 8016579C 001613FC 4B E9 E9 69 */ bl memset
/* 801657A0 00161400 93 BB 00 00 */ stw r29, 0(r27)
/* 801657A4 00161404 7F 63 DB 78 */ mr r3, r27
/* 801657A8 00161408 88 1F 00 00 */ lbz r0, 0(r31)
/* 801657AC 0016140C 98 1B 00 04 */ stb r0, 4(r27)
/* 801657B0 00161410 88 1F 00 01 */ lbz r0, 1(r31)
/* 801657B4 00161414 98 1B 00 05 */ stb r0, 5(r27)
/* 801657B8 00161418 88 1F 00 02 */ lbz r0, 2(r31)
/* 801657BC 0016141C 98 1B 00 06 */ stb r0, 6(r27)
/* 801657C0 00161420 88 1F 00 03 */ lbz r0, 3(r31)
/* 801657C4 00161424 98 1B 00 07 */ stb r0, 7(r27)
/* 801657C8 00161428 88 1F 00 04 */ lbz r0, 4(r31)
/* 801657CC 0016142C 98 1B 00 08 */ stb r0, 8(r27)
/* 801657D0 00161430 88 1F 00 05 */ lbz r0, 5(r31)
/* 801657D4 00161434 98 1B 00 09 */ stb r0, 9(r27)
lbl_801657D8:
/* 801657D8 00161438 39 61 00 20 */ addi r11, r1, 0x20
/* 801657DC 0016143C 48 06 19 99 */ bl _restgpr_27
/* 801657E0 00161440 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801657E4 00161444 7C 08 03 A6 */ mtlr r0
/* 801657E8 00161448 38 21 00 20 */ addi r1, r1, 0x20
/* 801657EC 0016144C 4E 80 00 20 */ blr
.global func_801657F0
func_801657F0:
/* 801657F0 00161450 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801657F4 00161454 7C 08 02 A6 */ mflr r0
/* 801657F8 00161458 90 01 00 24 */ stw r0, 0x24(r1)
/* 801657FC 0016145C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80165800 00161460 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80165804 00161464 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80165808 00161468 7C 7D 1B 78 */ mr r29, r3
/* 8016580C 0016146C 48 10 CF AD */ bl OSGetTime
/* 80165810 00161470 3C C0 80 00 */ lis r6, 0x800000F8@ha
/* 80165814 00161474 38 A0 00 00 */ li r5, 0
/* 80165818 00161478 80 06 00 F8 */ lwz r0, 0x800000F8@l(r6)
/* 8016581C 0016147C 54 06 F0 BE */ srwi r6, r0, 2
/* 80165820 00161480 48 06 1A 59 */ bl __div2i
/* 80165824 00161484 7C 9F 23 78 */ mr r31, r4
/* 80165828 00161488 7F A3 EB 78 */ mr r3, r29
/* 8016582C 0016148C 4B FF FD 09 */ bl func_80165534
/* 80165830 00161490 7C 7E 1B 78 */ mr r30, r3
/* 80165834 00161494 38 80 00 00 */ li r4, 0
/* 80165838 00161498 38 A0 00 2C */ li r5, 0x2c
/* 8016583C 0016149C 4B E9 E8 C9 */ bl memset
/* 80165840 001614A0 93 FE 00 00 */ stw r31, 0(r30)
/* 80165844 001614A4 7F C3 F3 78 */ mr r3, r30
/* 80165848 001614A8 88 1D 00 00 */ lbz r0, 0(r29)
/* 8016584C 001614AC 98 1E 00 04 */ stb r0, 4(r30)
/* 80165850 001614B0 88 1D 00 01 */ lbz r0, 1(r29)
/* 80165854 001614B4 98 1E 00 05 */ stb r0, 5(r30)
/* 80165858 001614B8 88 1D 00 02 */ lbz r0, 2(r29)
/* 8016585C 001614BC 98 1E 00 06 */ stb r0, 6(r30)
/* 80165860 001614C0 88 1D 00 03 */ lbz r0, 3(r29)
/* 80165864 001614C4 98 1E 00 07 */ stb r0, 7(r30)
/* 80165868 001614C8 88 1D 00 04 */ lbz r0, 4(r29)
/* 8016586C 001614CC 98 1E 00 08 */ stb r0, 8(r30)
/* 80165870 001614D0 88 1D 00 05 */ lbz r0, 5(r29)
/* 80165874 001614D4 98 1E 00 09 */ stb r0, 9(r30)
/* 80165878 001614D8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8016587C 001614DC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80165880 001614E0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80165884 001614E4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80165888 001614E8 7C 08 03 A6 */ mtlr r0
/* 8016588C 001614EC 38 21 00 20 */ addi r1, r1, 0x20
/* 80165890 001614F0 4E 80 00 20 */ blr
.global func_80165894
func_80165894:
/* 80165894 001614F4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80165898 001614F8 7C 08 02 A6 */ mflr r0
/* 8016589C 001614FC 90 01 00 14 */ stw r0, 0x14(r1)
/* 801658A0 00161500 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801658A4 00161504 7C 7F 1B 78 */ mr r31, r3
/* 801658A8 00161508 48 0F 87 29 */ bl func_8025DFD0
/* 801658AC 0016150C 38 80 03 E0 */ li r4, 0x3e0
/* 801658B0 00161510 48 0F 87 11 */ bl func_8025DFC0
/* 801658B4 00161514 90 7F 18 8C */ stw r3, 0x188c(r31)
/* 801658B8 00161518 48 0F 87 19 */ bl func_8025DFD0
/* 801658BC 0016151C 38 80 07 74 */ li r4, 0x774
/* 801658C0 00161520 48 0F 87 01 */ bl func_8025DFC0
/* 801658C4 00161524 90 7F 18 94 */ stw r3, 0x1894(r31)
/* 801658C8 00161528 48 0F 87 09 */ bl func_8025DFD0
/* 801658CC 0016152C 38 80 00 20 */ li r4, 0x20
/* 801658D0 00161530 48 0F 86 F1 */ bl func_8025DFC0
/* 801658D4 00161534 90 7F 18 9C */ stw r3, 0x189c(r31)
/* 801658D8 00161538 48 0F 86 F9 */ bl func_8025DFD0
/* 801658DC 0016153C 38 80 06 EC */ li r4, 0x6ec
/* 801658E0 00161540 48 0F 86 E1 */ bl func_8025DFC0
/* 801658E4 00161544 90 7F 18 80 */ stw r3, 0x1880(r31)
/* 801658E8 00161548 80 0D 9E 00 */ lwz r0, lbl_8063F0C0-_SDA_BASE_(r13)
/* 801658EC 0016154C 2C 00 00 00 */ cmpwi r0, 0
/* 801658F0 00161550 40 82 00 18 */ bne lbl_80165908
/* 801658F4 00161554 48 0F 86 DD */ bl func_8025DFD0
/* 801658F8 00161558 3C 80 00 01 */ lis r4, 0x000121B0@ha
/* 801658FC 0016155C 38 84 21 B0 */ addi r4, r4, 0x000121B0@l
/* 80165900 00161560 48 0F 86 C1 */ bl func_8025DFC0
/* 80165904 00161564 90 6D 9E 00 */ stw r3, lbl_8063F0C0-_SDA_BASE_(r13)
lbl_80165908:
/* 80165908 00161568 80 0D 9E 00 */ lwz r0, lbl_8063F0C0-_SDA_BASE_(r13)
/* 8016590C 0016156C 7F E3 FB 78 */ mr r3, r31
/* 80165910 00161570 90 1F 18 A4 */ stw r0, 0x18a4(r31)
/* 80165914 00161574 48 00 00 4D */ bl func_80165960
/* 80165918 00161578 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8016591C 0016157C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80165920 00161580 7C 08 03 A6 */ mtlr r0
/* 80165924 00161584 38 21 00 10 */ addi r1, r1, 0x10
/* 80165928 00161588 4E 80 00 20 */ blr
.global func_8016592C
func_8016592C:
/* 8016592C 0016158C 80 03 18 88 */ lwz r0, 0x1888(r3)
/* 80165930 00161590 2C 00 00 00 */ cmpwi r0, 0
/* 80165934 00161594 41 82 00 24 */ beq lbl_80165958
/* 80165938 00161598 80 03 18 90 */ lwz r0, 0x1890(r3)
/* 8016593C 0016159C 2C 00 00 00 */ cmpwi r0, 0
/* 80165940 001615A0 41 82 00 18 */ beq lbl_80165958
/* 80165944 001615A4 80 03 18 98 */ lwz r0, 0x1898(r3)
/* 80165948 001615A8 2C 00 00 00 */ cmpwi r0, 0
/* 8016594C 001615AC 41 82 00 0C */ beq lbl_80165958
/* 80165950 001615B0 38 60 00 01 */ li r3, 1
/* 80165954 001615B4 4E 80 00 20 */ blr
lbl_80165958:
/* 80165958 001615B8 38 60 00 00 */ li r3, 0
/* 8016595C 001615BC 4E 80 00 20 */ blr
.global func_80165960
func_80165960:
/* 80165960 001615C0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80165964 001615C4 7C 08 02 A6 */ mflr r0
/* 80165968 001615C8 38 80 00 00 */ li r4, 0
/* 8016596C 001615CC 38 A0 00 06 */ li r5, 6
/* 80165970 001615D0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80165974 001615D4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80165978 001615D8 93 C1 00 08 */ stw r30, 8(r1)
/* 8016597C 001615DC 7C 7E 1B 78 */ mr r30, r3
/* 80165980 001615E0 38 63 00 02 */ addi r3, r3, 2
/* 80165984 001615E4 4B E9 E7 81 */ bl memset
/* 80165988 001615E8 38 7E 00 08 */ addi r3, r30, 8
/* 8016598C 001615EC 38 80 00 00 */ li r4, 0
/* 80165990 001615F0 38 A0 08 40 */ li r5, 0x840
/* 80165994 001615F4 4B E9 E7 71 */ bl memset
/* 80165998 001615F8 3B E0 00 00 */ li r31, 0
/* 8016599C 001615FC 38 00 FF FF */ li r0, -1
/* 801659A0 00161600 93 FE 08 54 */ stw r31, 0x854(r30)
/* 801659A4 00161604 7F C3 F3 78 */ mr r3, r30
/* 801659A8 00161608 93 FE 08 58 */ stw r31, 0x858(r30)
/* 801659AC 0016160C 93 FE 08 5C */ stw r31, 0x85c(r30)
/* 801659B0 00161610 90 1E 08 60 */ stw r0, 0x860(r30)
/* 801659B4 00161614 93 FE 08 64 */ stw r31, 0x864(r30)
/* 801659B8 00161618 B3 FE 08 6C */ sth r31, 0x86c(r30)
/* 801659BC 0016161C 48 00 12 69 */ bl func_80166C24
/* 801659C0 00161620 7F C3 F3 78 */ mr r3, r30
/* 801659C4 00161624 48 00 12 D1 */ bl func_80166C94
/* 801659C8 00161628 7F C3 F3 78 */ mr r3, r30
/* 801659CC 0016162C 48 00 13 39 */ bl func_80166D04
/* 801659D0 00161630 80 7E 18 8C */ lwz r3, 0x188c(r30)
/* 801659D4 00161634 93 FE 08 74 */ stw r31, 0x874(r30)
/* 801659D8 00161638 2C 03 00 00 */ cmpwi r3, 0
/* 801659DC 0016163C 93 FE 08 78 */ stw r31, 0x878(r30)
/* 801659E0 00161640 41 82 00 74 */ beq lbl_80165A54
/* 801659E4 00161644 93 FE 18 88 */ stw r31, 0x1888(r30)
/* 801659E8 00161648 38 80 00 00 */ li r4, 0
/* 801659EC 0016164C 38 A0 03 E0 */ li r5, 0x3e0
/* 801659F0 00161650 93 FE 18 84 */ stw r31, 0x1884(r30)
/* 801659F4 00161654 4B E9 E7 11 */ bl memset
/* 801659F8 00161658 80 7E 18 94 */ lwz r3, 0x1894(r30)
/* 801659FC 0016165C 2C 03 00 00 */ cmpwi r3, 0
/* 80165A00 00161660 41 82 00 54 */ beq lbl_80165A54
/* 80165A04 00161664 93 FE 18 90 */ stw r31, 0x1890(r30)
/* 80165A08 00161668 38 80 00 00 */ li r4, 0
/* 80165A0C 0016166C 38 A0 07 74 */ li r5, 0x774
/* 80165A10 00161670 4B E9 E6 F5 */ bl memset
/* 80165A14 00161674 80 7E 18 9C */ lwz r3, 0x189c(r30)
/* 80165A18 00161678 2C 03 00 00 */ cmpwi r3, 0
/* 80165A1C 0016167C 41 82 00 38 */ beq lbl_80165A54
/* 80165A20 00161680 93 FE 18 98 */ stw r31, 0x1898(r30)
/* 80165A24 00161684 38 80 00 00 */ li r4, 0
/* 80165A28 00161688 38 A0 00 20 */ li r5, 0x20
/* 80165A2C 0016168C 4B E9 E6 D9 */ bl memset
/* 80165A30 00161690 80 7E 18 80 */ lwz r3, 0x1880(r30)
/* 80165A34 00161694 2C 03 00 00 */ cmpwi r3, 0
/* 80165A38 00161698 41 82 00 1C */ beq lbl_80165A54
/* 80165A3C 0016169C 93 FE 18 7C */ stw r31, 0x187c(r30)
/* 80165A40 001616A0 38 80 00 00 */ li r4, 0
/* 80165A44 001616A4 38 A0 06 EC */ li r5, 0x6ec
/* 80165A48 001616A8 4B E9 E6 BD */ bl memset
/* 80165A4C 001616AC 93 FE 18 A0 */ stw r31, 0x18a0(r30)
/* 80165A50 001616B0 48 00 00 0C */ b lbl_80165A5C
lbl_80165A54:
/* 80165A54 001616B4 38 00 00 01 */ li r0, 1
/* 80165A58 001616B8 90 1E 08 64 */ stw r0, 0x864(r30)
lbl_80165A5C:
/* 80165A5C 001616BC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80165A60 001616C0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80165A64 001616C4 83 C1 00 08 */ lwz r30, 8(r1)
/* 80165A68 001616C8 7C 08 03 A6 */ mtlr r0
/* 80165A6C 001616CC 38 21 00 10 */ addi r1, r1, 0x10
/* 80165A70 001616D0 4E 80 00 20 */ blr
.global func_80165A74
func_80165A74:
/* 80165A74 001616D4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80165A78 001616D8 7C 08 02 A6 */ mflr r0
/* 80165A7C 001616DC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80165A80 001616E0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80165A84 001616E4 7C 7F 1B 78 */ mr r31, r3
/* 80165A88 001616E8 B0 83 00 00 */ sth r4, 0(r3)
/* 80165A8C 001616EC 48 0F 85 45 */ bl func_8025DFD0
/* 80165A90 001616F0 48 0F 86 19 */ bl func_8025E0A8
/* 80165A94 001616F4 2C 03 00 02 */ cmpwi r3, 2
/* 80165A98 001616F8 41 82 00 44 */ beq lbl_80165ADC
/* 80165A9C 001616FC 40 80 00 10 */ bge lbl_80165AAC
/* 80165AA0 00161700 2C 03 00 01 */ cmpwi r3, 1
/* 80165AA4 00161704 40 80 00 14 */ bge lbl_80165AB8
/* 80165AA8 00161708 48 00 00 68 */ b lbl_80165B10
lbl_80165AAC:
/* 80165AAC 0016170C 2C 03 00 04 */ cmpwi r3, 4
/* 80165AB0 00161710 40 80 00 60 */ bge lbl_80165B10
/* 80165AB4 00161714 48 00 00 4C */ b lbl_80165B00
lbl_80165AB8:
/* 80165AB8 00161718 48 0F 85 19 */ bl func_8025DFD0
/* 80165ABC 0016171C 48 0F 88 51 */ bl func_8025E30C
/* 80165AC0 00161720 81 83 00 00 */ lwz r12, 0(r3)
/* 80165AC4 00161724 38 BF 00 02 */ addi r5, r31, 2
/* 80165AC8 00161728 A0 9F 00 00 */ lhz r4, 0(r31)
/* 80165ACC 0016172C 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 80165AD0 00161730 7D 89 03 A6 */ mtctr r12
/* 80165AD4 00161734 4E 80 04 21 */ bctrl
/* 80165AD8 00161738 48 00 00 38 */ b lbl_80165B10
lbl_80165ADC:
/* 80165ADC 0016173C 48 0F 84 F5 */ bl func_8025DFD0
/* 80165AE0 00161740 48 0F 88 35 */ bl func_8025E314
/* 80165AE4 00161744 81 83 00 00 */ lwz r12, 0(r3)
/* 80165AE8 00161748 38 BF 00 02 */ addi r5, r31, 2
/* 80165AEC 0016174C A0 9F 00 00 */ lhz r4, 0(r31)
/* 80165AF0 00161750 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 80165AF4 00161754 7D 89 03 A6 */ mtctr r12
/* 80165AF8 00161758 4E 80 04 21 */ bctrl
/* 80165AFC 0016175C 48 00 00 14 */ b lbl_80165B10
lbl_80165B00:
/* 80165B00 00161760 38 7F 00 02 */ addi r3, r31, 2
/* 80165B04 00161764 38 80 00 00 */ li r4, 0
/* 80165B08 00161768 38 A0 00 06 */ li r5, 6
/* 80165B0C 0016176C 4B E9 E5 F9 */ bl memset
lbl_80165B10:
/* 80165B10 00161770 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80165B14 00161774 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80165B18 00161778 7C 08 03 A6 */ mtlr r0
/* 80165B1C 0016177C 38 21 00 10 */ addi r1, r1, 0x10
/* 80165B20 00161780 4E 80 00 20 */ blr
.global func_80165B24
func_80165B24:
/* 80165B24 00161784 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80165B28 00161788 7C 08 02 A6 */ mflr r0
/* 80165B2C 0016178C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80165B30 00161790 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80165B34 00161794 93 C1 00 08 */ stw r30, 8(r1)
/* 80165B38 00161798 7C 7E 1B 78 */ mr r30, r3
/* 80165B3C 0016179C 80 03 08 74 */ lwz r0, 0x874(r3)
/* 80165B40 001617A0 2C 00 00 00 */ cmpwi r0, 0
/* 80165B44 001617A4 41 82 00 28 */ beq lbl_80165B6C
/* 80165B48 001617A8 48 0F 84 89 */ bl func_8025DFD0
/* 80165B4C 001617AC 48 0F 87 6D */ bl func_8025E2B8
/* 80165B50 001617B0 2C 03 00 00 */ cmpwi r3, 0
/* 80165B54 001617B4 41 82 00 10 */ beq lbl_80165B64
/* 80165B58 001617B8 80 1E 08 74 */ lwz r0, 0x874(r30)
/* 80165B5C 001617BC 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 80165B60 001617C0 48 0F A9 99 */ bl func_802604F8
lbl_80165B64:
/* 80165B64 001617C4 38 00 00 00 */ li r0, 0
/* 80165B68 001617C8 90 1E 08 74 */ stw r0, 0x874(r30)
lbl_80165B6C:
/* 80165B6C 001617CC 83 FE 08 78 */ lwz r31, 0x878(r30)
/* 80165B70 001617D0 2C 1F 00 00 */ cmpwi r31, 0
/* 80165B74 001617D4 41 82 00 10 */ beq lbl_80165B84
/* 80165B78 001617D8 48 0F 84 59 */ bl func_8025DFD0
/* 80165B7C 001617DC 7F E4 FB 78 */ mr r4, r31
/* 80165B80 001617E0 48 0F 84 49 */ bl func_8025DFC8
lbl_80165B84:
/* 80165B84 001617E4 38 00 00 00 */ li r0, 0
/* 80165B88 001617E8 90 1E 08 78 */ stw r0, 0x878(r30)
/* 80165B8C 001617EC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80165B90 001617F0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80165B94 001617F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80165B98 001617F8 7C 08 03 A6 */ mtlr r0
/* 80165B9C 001617FC 38 21 00 10 */ addi r1, r1, 0x10
/* 80165BA0 00161800 4E 80 00 20 */ blr
.global func_80165BA4
func_80165BA4:
/* 80165BA4 00161804 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80165BA8 00161808 7C 08 02 A6 */ mflr r0
/* 80165BAC 0016180C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80165BB0 00161810 39 61 00 30 */ addi r11, r1, 0x30
/* 80165BB4 00161814 48 06 15 65 */ bl _savegpr_23
/* 80165BB8 00161818 3C C0 80 42 */ lis r6, lbl_80422D48@ha
/* 80165BBC 0016181C 7C 78 1B 78 */ mr r24, r3
/* 80165BC0 00161820 38 C6 2D 48 */ addi r6, r6, lbl_80422D48@l
/* 80165BC4 00161824 7C 99 23 78 */ mr r25, r4
/* 80165BC8 00161828 83 E6 00 38 */ lwz r31, 0x38(r6)
/* 80165BCC 0016182C 7C BA 2B 78 */ mr r26, r5
/* 80165BD0 00161830 7F 07 C3 78 */ mr r7, r24
/* 80165BD4 00161834 3B C0 00 00 */ li r30, 0
/* 80165BD8 00161838 3B A0 FF FF */ li r29, -1
/* 80165BDC 0016183C 3B 80 00 00 */ li r28, 0
/* 80165BE0 00161840 38 C0 00 00 */ li r6, 0
/* 80165BE4 00161844 48 00 00 60 */ b lbl_80165C44
lbl_80165BE8:
/* 80165BE8 00161848 7C A0 07 75 */ extsb. r0, r5
/* 80165BEC 0016184C 38 60 00 00 */ li r3, 0
/* 80165BF0 00161850 41 80 00 0C */ blt lbl_80165BFC
/* 80165BF4 00161854 2C 00 01 00 */ cmpwi r0, 0x100
/* 80165BF8 00161858 41 80 00 08 */ blt lbl_80165C00
lbl_80165BFC:
/* 80165BFC 0016185C 38 60 00 01 */ li r3, 1
lbl_80165C00:
/* 80165C00 00161860 2C 03 00 00 */ cmpwi r3, 0
/* 80165C04 00161864 41 82 00 0C */ beq lbl_80165C10
/* 80165C08 00161868 38 00 00 00 */ li r0, 0
/* 80165C0C 0016186C 48 00 00 18 */ b lbl_80165C24
lbl_80165C10:
/* 80165C10 00161870 7C A0 07 74 */ extsb r0, r5
/* 80165C14 00161874 80 7F 00 08 */ lwz r3, 8(r31)
/* 80165C18 00161878 54 00 08 3C */ slwi r0, r0, 1
/* 80165C1C 0016187C 7C 03 02 2E */ lhzx r0, r3, r0
/* 80165C20 00161880 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_80165C24:
/* 80165C24 00161884 2C 00 00 00 */ cmpwi r0, 0
/* 80165C28 00161888 41 82 00 18 */ beq lbl_80165C40
/* 80165C2C 0016188C 1C 1E 00 0A */ mulli r0, r30, 0xa
/* 80165C30 00161890 7C A3 07 74 */ extsb r3, r5
/* 80165C34 00161894 38 C6 00 01 */ addi r6, r6, 1
/* 80165C38 00161898 7C 63 02 14 */ add r3, r3, r0
/* 80165C3C 0016189C 3B C3 FF D0 */ addi r30, r3, -48
lbl_80165C40:
/* 80165C40 001618A0 38 E7 00 01 */ addi r7, r7, 1
lbl_80165C44:
/* 80165C44 001618A4 88 A7 00 00 */ lbz r5, 0(r7)
/* 80165C48 001618A8 38 00 00 00 */ li r0, 0
/* 80165C4C 001618AC 7C A4 07 75 */ extsb. r4, r5
/* 80165C50 001618B0 41 80 00 0C */ blt lbl_80165C5C
/* 80165C54 001618B4 2C 04 01 00 */ cmpwi r4, 0x100
/* 80165C58 001618B8 41 80 00 08 */ blt lbl_80165C60
lbl_80165C5C:
/* 80165C5C 001618BC 38 00 00 01 */ li r0, 1
lbl_80165C60:
/* 80165C60 001618C0 2C 00 00 00 */ cmpwi r0, 0
/* 80165C64 001618C4 41 82 00 0C */ beq lbl_80165C70
/* 80165C68 001618C8 38 00 00 00 */ li r0, 0
/* 80165C6C 001618CC 48 00 00 14 */ b lbl_80165C80
lbl_80165C70:
/* 80165C70 001618D0 80 7F 00 08 */ lwz r3, 8(r31)
/* 80165C74 001618D4 54 80 08 3C */ slwi r0, r4, 1
/* 80165C78 001618D8 7C 03 02 2E */ lhzx r0, r3, r0
/* 80165C7C 001618DC 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_80165C80:
/* 80165C80 001618E0 2C 00 00 00 */ cmpwi r0, 0
/* 80165C84 001618E4 40 82 FF 64 */ bne lbl_80165BE8
/* 80165C88 001618E8 7C A0 07 74 */ extsb r0, r5
/* 80165C8C 001618EC 2C 00 00 2D */ cmpwi r0, 0x2d
/* 80165C90 001618F0 41 82 FF 58 */ beq lbl_80165BE8
/* 80165C94 001618F4 2C 06 00 08 */ cmpwi r6, 8
/* 80165C98 001618F8 41 82 00 08 */ beq lbl_80165CA0
/* 80165C9C 001618FC 3B C0 FF FF */ li r30, -1
lbl_80165CA0:
/* 80165CA0 00161900 7F 03 C3 78 */ mr r3, r24
/* 80165CA4 00161904 48 06 0E C1 */ bl strlen
/* 80165CA8 00161908 7E F8 1A 14 */ add r23, r24, r3
/* 80165CAC 0016190C 7F 03 C3 78 */ mr r3, r24
/* 80165CB0 00161910 38 80 00 3B */ li r4, 0x3b
/* 80165CB4 00161914 48 06 88 F5 */ bl strchr
/* 80165CB8 00161918 2C 03 00 00 */ cmpwi r3, 0
/* 80165CBC 0016191C 7C 7B 1B 78 */ mr r27, r3
/* 80165CC0 00161920 41 82 00 08 */ beq lbl_80165CC8
/* 80165CC4 00161924 7C 77 1B 78 */ mr r23, r3
lbl_80165CC8:
/* 80165CC8 00161928 7C 18 B8 50 */ subf r0, r24, r23
/* 80165CCC 0016192C 28 00 00 03 */ cmplwi r0, 3
/* 80165CD0 00161930 41 80 00 D0 */ blt lbl_80165DA0
/* 80165CD4 00161934 38 77 FF FD */ addi r3, r23, -3
/* 80165CD8 00161938 38 8D 83 38 */ addi r4, r13, lbl_8063D5F8-_SDA_BASE_
/* 80165CDC 0016193C 38 A0 00 03 */ li r5, 3
/* 80165CE0 00161940 48 06 88 89 */ bl strncmp
/* 80165CE4 00161944 2C 03 00 00 */ cmpwi r3, 0
/* 80165CE8 00161948 40 82 00 0C */ bne lbl_80165CF4
/* 80165CEC 0016194C 3B A0 00 01 */ li r29, 1
/* 80165CF0 00161950 48 00 00 B0 */ b lbl_80165DA0
lbl_80165CF4:
/* 80165CF4 00161954 38 77 FF FD */ addi r3, r23, -3
/* 80165CF8 00161958 38 8D 83 3C */ addi r4, r13, lbl_8063D5FC-_SDA_BASE_
/* 80165CFC 0016195C 38 A0 00 03 */ li r5, 3
/* 80165D00 00161960 48 06 88 69 */ bl strncmp
/* 80165D04 00161964 7C 60 00 34 */ cntlzw r0, r3
/* 80165D08 00161968 54 00 DF FE */ rlwinm r0, r0, 0x1b, 0x1f, 0x1f
/* 80165D0C 0016196C 7C 00 00 D0 */ neg r0, r0
/* 80165D10 00161970 54 1D 07 BC */ rlwinm r29, r0, 0, 0x1e, 0x1e
/* 80165D14 00161974 48 00 00 8C */ b lbl_80165DA0
lbl_80165D18:
/* 80165D18 00161978 38 7B 00 01 */ addi r3, r27, 1
/* 80165D1C 0016197C 38 8D 83 40 */ addi r4, r13, lbl_8063D600-_SDA_BASE_
/* 80165D20 00161980 38 A0 00 05 */ li r5, 5
/* 80165D24 00161984 48 06 88 45 */ bl strncmp
/* 80165D28 00161988 2C 03 00 00 */ cmpwi r3, 0
/* 80165D2C 0016198C 40 82 00 64 */ bne lbl_80165D90
/* 80165D30 00161990 38 DB 00 06 */ addi r6, r27, 6
/* 80165D34 00161994 48 00 00 18 */ b lbl_80165D4C
lbl_80165D38:
/* 80165D38 00161998 1C 1C 00 0A */ mulli r0, r28, 0xa
/* 80165D3C 0016199C 7C A3 07 74 */ extsb r3, r5
/* 80165D40 001619A0 38 C6 00 01 */ addi r6, r6, 1
/* 80165D44 001619A4 7C 63 02 14 */ add r3, r3, r0
/* 80165D48 001619A8 3B 83 FF D0 */ addi r28, r3, -48
lbl_80165D4C:
/* 80165D4C 001619AC 88 A6 00 00 */ lbz r5, 0(r6)
/* 80165D50 001619B0 38 00 00 00 */ li r0, 0
/* 80165D54 001619B4 7C A4 07 75 */ extsb. r4, r5
/* 80165D58 001619B8 41 80 00 0C */ blt lbl_80165D64
/* 80165D5C 001619BC 2C 04 01 00 */ cmpwi r4, 0x100
/* 80165D60 001619C0 41 80 00 08 */ blt lbl_80165D68
lbl_80165D64:
/* 80165D64 001619C4 38 00 00 01 */ li r0, 1
lbl_80165D68:
/* 80165D68 001619C8 2C 00 00 00 */ cmpwi r0, 0
/* 80165D6C 001619CC 41 82 00 0C */ beq lbl_80165D78
/* 80165D70 001619D0 38 00 00 00 */ li r0, 0
/* 80165D74 001619D4 48 00 00 14 */ b lbl_80165D88
lbl_80165D78:
/* 80165D78 001619D8 80 7F 00 08 */ lwz r3, 8(r31)
/* 80165D7C 001619DC 54 80 08 3C */ slwi r0, r4, 1
/* 80165D80 001619E0 7C 03 02 2E */ lhzx r0, r3, r0
/* 80165D84 001619E4 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_80165D88:
/* 80165D88 001619E8 2C 00 00 00 */ cmpwi r0, 0
/* 80165D8C 001619EC 40 82 FF AC */ bne lbl_80165D38
lbl_80165D90:
/* 80165D90 001619F0 38 7B 00 01 */ addi r3, r27, 1
/* 80165D94 001619F4 38 80 00 3B */ li r4, 0x3b
/* 80165D98 001619F8 48 06 88 11 */ bl strchr
/* 80165D9C 001619FC 7C 7B 1B 78 */ mr r27, r3
lbl_80165DA0:
/* 80165DA0 00161A00 2C 1B 00 00 */ cmpwi r27, 0
/* 80165DA4 00161A04 40 82 FF 74 */ bne lbl_80165D18
/* 80165DA8 00161A08 2C 19 00 00 */ cmpwi r25, 0
/* 80165DAC 00161A0C 41 82 00 08 */ beq lbl_80165DB4
/* 80165DB0 00161A10 93 B9 00 00 */ stw r29, 0(r25)
lbl_80165DB4:
/* 80165DB4 00161A14 2C 1A 00 00 */ cmpwi r26, 0
/* 80165DB8 00161A18 41 82 00 08 */ beq lbl_80165DC0
/* 80165DBC 00161A1C 93 9A 00 00 */ stw r28, 0(r26)
lbl_80165DC0:
/* 80165DC0 00161A20 39 61 00 30 */ addi r11, r1, 0x30
/* 80165DC4 00161A24 7F C3 F3 78 */ mr r3, r30
/* 80165DC8 00161A28 48 06 13 9D */ bl _restgpr_23
/* 80165DCC 00161A2C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80165DD0 00161A30 7C 08 03 A6 */ mtlr r0
/* 80165DD4 00161A34 38 21 00 30 */ addi r1, r1, 0x30
/* 80165DD8 00161A38 4E 80 00 20 */ blr
.global func_80165DDC
func_80165DDC:
/* 80165DDC 00161A3C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80165DE0 00161A40 7C 08 02 A6 */ mflr r0
/* 80165DE4 00161A44 3C C0 80 42 */ lis r6, lbl_8041F218@ha
/* 80165DE8 00161A48 2C 04 00 02 */ cmpwi r4, 2
/* 80165DEC 00161A4C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80165DF0 00161A50 38 C6 F2 18 */ addi r6, r6, lbl_8041F218@l
/* 80165DF4 00161A54 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80165DF8 00161A58 3B E0 00 00 */ li r31, 0
/* 80165DFC 00161A5C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80165E00 00161A60 7C 7E 1B 78 */ mr r30, r3
/* 80165E04 00161A64 41 82 00 AC */ beq lbl_80165EB0
/* 80165E08 00161A68 40 80 00 14 */ bge lbl_80165E1C
/* 80165E0C 00161A6C 2C 04 00 00 */ cmpwi r4, 0
/* 80165E10 00161A70 41 82 00 18 */ beq lbl_80165E28
/* 80165E14 00161A74 40 80 00 78 */ bge lbl_80165E8C
/* 80165E18 00161A78 48 00 01 4C */ b lbl_80165F64
lbl_80165E1C:
/* 80165E1C 00161A7C 2C 04 00 04 */ cmpwi r4, 4
/* 80165E20 00161A80 40 80 01 44 */ bge lbl_80165F64
/* 80165E24 00161A84 48 00 00 AC */ b lbl_80165ED0
lbl_80165E28:
/* 80165E28 00161A88 2C 05 00 00 */ cmpwi r5, 0
/* 80165E2C 00161A8C 3B E6 00 00 */ addi r31, r6, 0
/* 80165E30 00161A90 41 82 01 34 */ beq lbl_80165F64
/* 80165E34 00161A94 80 63 18 80 */ lwz r3, 0x1880(r3)
/* 80165E38 00161A98 38 9E 08 7C */ addi r4, r30, 0x87c
/* 80165E3C 00161A9C 38 A0 06 EC */ li r5, 0x6ec
/* 80165E40 00161AA0 4B E9 E1 C1 */ bl memcpy
/* 80165E44 00161AA4 38 00 00 01 */ li r0, 1
/* 80165E48 00161AA8 38 60 02 68 */ li r3, 0x268
/* 80165E4C 00161AAC 90 1E 18 7C */ stw r0, 0x187c(r30)
/* 80165E50 00161AB0 4B FF CC 41 */ bl func_80162A90
/* 80165E54 00161AB4 2C 03 00 01 */ cmpwi r3, 1
/* 80165E58 00161AB8 41 82 00 28 */ beq lbl_80165E80
/* 80165E5C 00161ABC 40 80 01 08 */ bge lbl_80165F64
/* 80165E60 00161AC0 2C 03 00 00 */ cmpwi r3, 0
/* 80165E64 00161AC4 40 80 00 08 */ bge lbl_80165E6C
/* 80165E68 00161AC8 48 00 00 FC */ b lbl_80165F64
lbl_80165E6C:
/* 80165E6C 00161ACC 48 00 2B 35 */ bl func_801689A0
/* 80165E70 00161AD0 48 00 2C FD */ bl func_80168B6C
/* 80165E74 00161AD4 80 7E 18 80 */ lwz r3, 0x1880(r30)
/* 80165E78 00161AD8 4B FF DE 3D */ bl func_80163CB4
/* 80165E7C 00161ADC 48 00 00 E8 */ b lbl_80165F64
lbl_80165E80:
/* 80165E80 00161AE0 38 00 00 00 */ li r0, 0
/* 80165E84 00161AE4 90 1E 08 60 */ stw r0, 0x860(r30)
/* 80165E88 00161AE8 48 00 00 DC */ b lbl_80165F64
lbl_80165E8C:
/* 80165E8C 00161AEC 2C 05 00 00 */ cmpwi r5, 0
/* 80165E90 00161AF0 3B E6 00 1C */ addi r31, r6, 0x1c
/* 80165E94 00161AF4 41 82 00 D0 */ beq lbl_80165F64
/* 80165E98 00161AF8 38 63 08 7C */ addi r3, r3, 0x87c
/* 80165E9C 00161AFC 38 9E 08 4C */ addi r4, r30, 0x84c
/* 80165EA0 00161B00 38 BE 08 50 */ addi r5, r30, 0x850
/* 80165EA4 00161B04 4B FF FD 01 */ bl func_80165BA4
/* 80165EA8 00161B08 90 7E 08 48 */ stw r3, 0x848(r30)
/* 80165EAC 00161B0C 48 00 00 B8 */ b lbl_80165F64
lbl_80165EB0:
/* 80165EB0 00161B10 2C 05 00 00 */ cmpwi r5, 0
/* 80165EB4 00161B14 3B E6 00 34 */ addi r31, r6, 0x34
/* 80165EB8 00161B18 41 82 00 AC */ beq lbl_80165F64
/* 80165EBC 00161B1C 38 83 08 7C */ addi r4, r3, 0x87c
/* 80165EC0 00161B20 38 A0 00 08 */ li r5, 8
/* 80165EC4 00161B24 38 63 08 58 */ addi r3, r3, 0x858
/* 80165EC8 00161B28 4B E9 E1 39 */ bl memcpy
/* 80165ECC 00161B2C 48 00 00 98 */ b lbl_80165F64
lbl_80165ED0:
/* 80165ED0 00161B30 2C 05 00 00 */ cmpwi r5, 0
/* 80165ED4 00161B34 3B E6 00 4C */ addi r31, r6, 0x4c
/* 80165ED8 00161B38 41 82 00 8C */ beq lbl_80165F64
/* 80165EDC 00161B3C 38 61 00 08 */ addi r3, r1, 8
/* 80165EE0 00161B40 38 9E 08 7C */ addi r4, r30, 0x87c
/* 80165EE4 00161B44 38 A0 00 04 */ li r5, 4
/* 80165EE8 00161B48 4B E9 E1 19 */ bl memcpy
/* 80165EEC 00161B4C 48 00 28 E5 */ bl func_801687D0
/* 80165EF0 00161B50 80 01 00 08 */ lwz r0, 8(r1)
/* 80165EF4 00161B54 7C 00 18 40 */ cmplw r0, r3
/* 80165EF8 00161B58 40 82 00 24 */ bne lbl_80165F1C
/* 80165EFC 00161B5C 4B FF D4 89 */ bl func_80163384
/* 80165F00 00161B60 A0 1E 00 00 */ lhz r0, 0(r30)
/* 80165F04 00161B64 7C 03 00 00 */ cmpw r3, r0
/* 80165F08 00161B68 40 80 00 0C */ bge lbl_80165F14
/* 80165F0C 00161B6C 38 00 00 01 */ li r0, 1
/* 80165F10 00161B70 48 00 00 1C */ b lbl_80165F2C
lbl_80165F14:
/* 80165F14 00161B74 38 00 00 00 */ li r0, 0
/* 80165F18 00161B78 48 00 00 14 */ b lbl_80165F2C
lbl_80165F1C:
/* 80165F1C 00161B7C 7C 60 02 78 */ xor r0, r3, r0
/* 80165F20 00161B80 7C 00 00 34 */ cntlzw r0, r0
/* 80165F24 00161B84 7C 60 00 30 */ slw r0, r3, r0
/* 80165F28 00161B88 54 00 0F FE */ srwi r0, r0, 0x1f
lbl_80165F2C:
/* 80165F2C 00161B8C 2C 00 00 00 */ cmpwi r0, 0
/* 80165F30 00161B90 41 82 00 0C */ beq lbl_80165F3C
/* 80165F34 00161B94 48 00 28 65 */ bl func_80168798
/* 80165F38 00161B98 48 00 00 08 */ b lbl_80165F40
lbl_80165F3C:
/* 80165F3C 00161B9C 48 00 28 69 */ bl func_801687A4
lbl_80165F40:
/* 80165F40 00161BA0 4B FF D4 45 */ bl func_80163384
/* 80165F44 00161BA4 A0 1E 00 00 */ lhz r0, 0(r30)
/* 80165F48 00161BA8 7C 03 00 00 */ cmpw r3, r0
/* 80165F4C 00161BAC 40 80 00 0C */ bge lbl_80165F58
/* 80165F50 00161BB0 48 00 28 61 */ bl func_801687B0
/* 80165F54 00161BB4 48 00 00 08 */ b lbl_80165F5C
lbl_80165F58:
/* 80165F58 00161BB8 48 00 28 65 */ bl func_801687BC
lbl_80165F5C:
/* 80165F5C 00161BBC 80 01 00 08 */ lwz r0, 8(r1)
/* 80165F60 00161BC0 90 1E 08 54 */ stw r0, 0x854(r30)
lbl_80165F64:
/* 80165F64 00161BC4 7F E3 FB 78 */ mr r3, r31
/* 80165F68 00161BC8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80165F6C 00161BCC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80165F70 00161BD0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80165F74 00161BD4 7C 08 03 A6 */ mtlr r0
/* 80165F78 00161BD8 38 21 00 20 */ addi r1, r1, 0x20
/* 80165F7C 00161BDC 4E 80 00 20 */ blr
.global func_80165F80
func_80165F80:
/* 80165F80 00161BE0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80165F84 00161BE4 7C 08 02 A6 */ mflr r0
/* 80165F88 00161BE8 2C 04 00 00 */ cmpwi r4, 0
/* 80165F8C 00161BEC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80165F90 00161BF0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80165F94 00161BF4 3B E0 00 00 */ li r31, 0
/* 80165F98 00161BF8 93 C1 00 08 */ stw r30, 8(r1)
/* 80165F9C 00161BFC 7C 7E 1B 78 */ mr r30, r3
/* 80165FA0 00161C00 41 82 00 08 */ beq lbl_80165FA8
/* 80165FA4 00161C04 48 00 00 40 */ b lbl_80165FE4
lbl_80165FA8:
/* 80165FA8 00161C08 80 03 18 7C */ lwz r0, 0x187c(r3)
/* 80165FAC 00161C0C 2C 00 00 00 */ cmpwi r0, 0
/* 80165FB0 00161C10 41 82 00 0C */ beq lbl_80165FBC
/* 80165FB4 00161C14 3B ED 83 48 */ addi r31, r13, lbl_8063D608-_SDA_BASE_
/* 80165FB8 00161C18 48 00 00 2C */ b lbl_80165FE4
lbl_80165FBC:
/* 80165FBC 00161C1C 2C 05 00 00 */ cmpwi r5, 0
/* 80165FC0 00161C20 3F E0 80 42 */ lis r31, lbl_8041F218@ha
/* 80165FC4 00161C24 3B FF F2 18 */ addi r31, r31, lbl_8041F218@l
/* 80165FC8 00161C28 41 82 00 1C */ beq lbl_80165FE4
/* 80165FCC 00161C2C 80 63 18 80 */ lwz r3, 0x1880(r3)
/* 80165FD0 00161C30 38 9E 08 7C */ addi r4, r30, 0x87c
/* 80165FD4 00161C34 38 A0 06 EC */ li r5, 0x6ec
/* 80165FD8 00161C38 4B E9 E0 29 */ bl memcpy
/* 80165FDC 00161C3C 38 00 00 01 */ li r0, 1
/* 80165FE0 00161C40 90 1E 18 7C */ stw r0, 0x187c(r30)
lbl_80165FE4:
/* 80165FE4 00161C44 7F E3 FB 78 */ mr r3, r31
/* 80165FE8 00161C48 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80165FEC 00161C4C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80165FF0 00161C50 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80165FF4 00161C54 7C 08 03 A6 */ mtlr r0
/* 80165FF8 00161C58 38 21 00 10 */ addi r1, r1, 0x10
/* 80165FFC 00161C5C 4E 80 00 20 */ blr
.global func_80166000
func_80166000:
/* 80166000 00161C60 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80166004 00161C64 7C 08 02 A6 */ mflr r0
/* 80166008 00161C68 3C C0 80 42 */ lis r6, lbl_8041F218@ha
/* 8016600C 00161C6C 2C 04 00 01 */ cmpwi r4, 1
/* 80166010 00161C70 90 01 00 14 */ stw r0, 0x14(r1)
/* 80166014 00161C74 38 C6 F2 18 */ addi r6, r6, lbl_8041F218@l
/* 80166018 00161C78 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8016601C 00161C7C 3B E0 00 00 */ li r31, 0
/* 80166020 00161C80 93 C1 00 08 */ stw r30, 8(r1)
/* 80166024 00161C84 7C 7E 1B 78 */ mr r30, r3
/* 80166028 00161C88 41 82 00 44 */ beq lbl_8016606C
/* 8016602C 00161C8C 40 80 00 10 */ bge lbl_8016603C
/* 80166030 00161C90 2C 04 00 00 */ cmpwi r4, 0
/* 80166034 00161C94 40 80 00 14 */ bge lbl_80166048
/* 80166038 00161C98 48 00 00 84 */ b lbl_801660BC
lbl_8016603C:
/* 8016603C 00161C9C 2C 04 00 03 */ cmpwi r4, 3
/* 80166040 00161CA0 40 80 00 7C */ bge lbl_801660BC
/* 80166044 00161CA4 48 00 00 58 */ b lbl_8016609C
lbl_80166048:
/* 80166048 00161CA8 2C 05 00 00 */ cmpwi r5, 0
/* 8016604C 00161CAC 3B E6 00 64 */ addi r31, r6, 0x64
/* 80166050 00161CB0 41 82 00 6C */ beq lbl_801660BC
/* 80166054 00161CB4 80 83 18 9C */ lwz r4, 0x189c(r3)
/* 80166058 00161CB8 38 63 08 80 */ addi r3, r3, 0x880
/* 8016605C 00161CBC 48 27 BD 45 */ bl func_803E1DA0
/* 80166060 00161CC0 38 00 00 01 */ li r0, 1
/* 80166064 00161CC4 90 1E 18 98 */ stw r0, 0x1898(r30)
/* 80166068 00161CC8 48 00 00 54 */ b lbl_801660BC
lbl_8016606C:
/* 8016606C 00161CCC 2C 05 00 00 */ cmpwi r5, 0
/* 80166070 00161CD0 3B E6 00 80 */ addi r31, r6, 0x80
/* 80166074 00161CD4 41 82 00 48 */ beq lbl_801660BC
/* 80166078 00161CD8 38 63 08 7C */ addi r3, r3, 0x87c
/* 8016607C 00161CDC 48 27 B8 1D */ bl func_803E1898
/* 80166080 00161CE0 90 7E 18 84 */ stw r3, 0x1884(r30)
/* 80166084 00161CE4 38 7E 08 7C */ addi r3, r30, 0x87c
/* 80166088 00161CE8 80 9E 18 8C */ lwz r4, 0x188c(r30)
/* 8016608C 00161CEC 48 27 B0 91 */ bl func_803E111C
/* 80166090 00161CF0 38 00 00 01 */ li r0, 1
/* 80166094 00161CF4 90 1E 18 88 */ stw r0, 0x1888(r30)
/* 80166098 00161CF8 48 00 00 24 */ b lbl_801660BC
lbl_8016609C:
/* 8016609C 00161CFC 2C 05 00 00 */ cmpwi r5, 0
/* 801660A0 00161D00 3B E6 00 9C */ addi r31, r6, 0x9c
/* 801660A4 00161D04 41 82 00 18 */ beq lbl_801660BC
/* 801660A8 00161D08 80 83 18 94 */ lwz r4, 0x1894(r3)
/* 801660AC 00161D0C 38 63 08 7C */ addi r3, r3, 0x87c
/* 801660B0 00161D10 48 27 BA 15 */ bl func_803E1AC4
/* 801660B4 00161D14 38 00 00 01 */ li r0, 1
/* 801660B8 00161D18 90 1E 18 90 */ stw r0, 0x1890(r30)
lbl_801660BC:
/* 801660BC 00161D1C 7F E3 FB 78 */ mr r3, r31
/* 801660C0 00161D20 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801660C4 00161D24 83 C1 00 08 */ lwz r30, 8(r1)
/* 801660C8 00161D28 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801660CC 00161D2C 7C 08 03 A6 */ mtlr r0
/* 801660D0 00161D30 38 21 00 10 */ addi r1, r1, 0x10
/* 801660D4 00161D34 4E 80 00 20 */ blr
.global func_801660D8
func_801660D8:
/* 801660D8 00161D38 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801660DC 00161D3C 7C 08 02 A6 */ mflr r0
/* 801660E0 00161D40 90 01 00 14 */ stw r0, 0x14(r1)
/* 801660E4 00161D44 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801660E8 00161D48 7C 7F 1B 78 */ mr r31, r3
/* 801660EC 00161D4C 48 0F 7E E5 */ bl func_8025DFD0
/* 801660F0 00161D50 48 0F 81 C9 */ bl func_8025E2B8
/* 801660F4 00161D54 2C 03 00 00 */ cmpwi r3, 0
/* 801660F8 00161D58 41 82 00 50 */ beq lbl_80166148
/* 801660FC 00161D5C 48 0F 7E D5 */ bl func_8025DFD0
/* 80166100 00161D60 48 0F 7F A9 */ bl func_8025E0A8
/* 80166104 00161D64 2C 03 00 02 */ cmpwi r3, 2
/* 80166108 00161D68 41 82 00 2C */ beq lbl_80166134
/* 8016610C 00161D6C 40 80 00 10 */ bge lbl_8016611C
/* 80166110 00161D70 2C 03 00 01 */ cmpwi r3, 1
/* 80166114 00161D74 40 80 00 14 */ bge lbl_80166128
/* 80166118 00161D78 48 00 00 30 */ b lbl_80166148
lbl_8016611C:
/* 8016611C 00161D7C 2C 03 00 04 */ cmpwi r3, 4
/* 80166120 00161D80 40 80 00 28 */ bge lbl_80166148
/* 80166124 00161D84 48 00 00 1C */ b lbl_80166140
lbl_80166128:
/* 80166128 00161D88 7F E3 FB 78 */ mr r3, r31
/* 8016612C 00161D8C 48 00 00 E5 */ bl func_80166210
/* 80166130 00161D90 48 00 00 18 */ b lbl_80166148
lbl_80166134:
/* 80166134 00161D94 7F E3 FB 78 */ mr r3, r31
/* 80166138 00161D98 48 00 00 25 */ bl func_8016615C
/* 8016613C 00161D9C 48 00 00 0C */ b lbl_80166148
lbl_80166140:
/* 80166140 00161DA0 7F E3 FB 78 */ mr r3, r31
/* 80166144 00161DA4 48 00 04 ED */ bl func_80166630
lbl_80166148:
/* 80166148 00161DA8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8016614C 00161DAC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80166150 00161DB0 7C 08 03 A6 */ mtlr r0
/* 80166154 00161DB4 38 21 00 10 */ addi r1, r1, 0x10
/* 80166158 00161DB8 4E 80 00 20 */ blr
.global func_8016615C
func_8016615C:
/* 8016615C 00161DBC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80166160 00161DC0 7C 08 02 A6 */ mflr r0
/* 80166164 00161DC4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80166168 00161DC8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8016616C 00161DCC 7C 7F 1B 78 */ mr r31, r3
/* 80166170 00161DD0 A0 03 08 6C */ lhz r0, 0x86c(r3)
/* 80166174 00161DD4 2C 00 00 01 */ cmpwi r0, 1
/* 80166178 00161DD8 41 82 00 84 */ beq lbl_801661FC
/* 8016617C 00161DDC 40 80 00 80 */ bge lbl_801661FC
/* 80166180 00161DE0 2C 00 00 00 */ cmpwi r0, 0
/* 80166184 00161DE4 40 80 00 08 */ bge lbl_8016618C
/* 80166188 00161DE8 48 00 00 74 */ b lbl_801661FC
lbl_8016618C:
/* 8016618C 00161DEC 4B FF C9 E5 */ bl func_80162B70
/* 80166190 00161DF0 2C 03 00 01 */ cmpwi r3, 1
/* 80166194 00161DF4 40 82 00 4C */ bne lbl_801661E0
/* 80166198 00161DF8 48 0F 7E 39 */ bl func_8025DFD0
/* 8016619C 00161DFC 48 0F 81 79 */ bl func_8025E314
/* 801661A0 00161E00 A0 9F 00 00 */ lhz r4, 0(r31)
/* 801661A4 00161E04 48 0F CE 49 */ bl func_80262FEC
/* 801661A8 00161E08 2C 03 00 00 */ cmpwi r3, 0
/* 801661AC 00161E0C 41 82 00 24 */ beq lbl_801661D0
/* 801661B0 00161E10 38 7F 00 02 */ addi r3, r31, 2
/* 801661B4 00161E14 4B FF F3 81 */ bl func_80165534
/* 801661B8 00161E18 7C 64 1B 78 */ mr r4, r3
/* 801661BC 00161E1C 80 7F 18 9C */ lwz r3, 0x189c(r31)
/* 801661C0 00161E20 38 84 00 0C */ addi r4, r4, 0xc
/* 801661C4 00161E24 38 A0 00 20 */ li r5, 0x20
/* 801661C8 00161E28 4B E9 DE 39 */ bl memcpy
/* 801661CC 00161E2C 48 00 00 0C */ b lbl_801661D8
lbl_801661D0:
/* 801661D0 00161E30 38 7F 00 02 */ addi r3, r31, 2
/* 801661D4 00161E34 4B FF F6 1D */ bl func_801657F0
lbl_801661D8:
/* 801661D8 00161E38 38 00 00 01 */ li r0, 1
/* 801661DC 00161E3C 90 1F 18 98 */ stw r0, 0x1898(r31)
lbl_801661E0:
/* 801661E0 00161E40 4B FF C9 91 */ bl func_80162B70
/* 801661E4 00161E44 2C 03 00 02 */ cmpwi r3, 2
/* 801661E8 00161E48 40 82 00 08 */ bne lbl_801661F0
/* 801661EC 00161E4C 4B FF EB 19 */ bl func_80164D04
lbl_801661F0:
/* 801661F0 00161E50 A0 7F 08 6C */ lhz r3, 0x86c(r31)
/* 801661F4 00161E54 38 03 00 01 */ addi r0, r3, 1
/* 801661F8 00161E58 B0 1F 08 6C */ sth r0, 0x86c(r31)
lbl_801661FC:
/* 801661FC 00161E5C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80166200 00161E60 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80166204 00161E64 7C 08 03 A6 */ mtlr r0
/* 80166208 00161E68 38 21 00 10 */ addi r1, r1, 0x10
/* 8016620C 00161E6C 4E 80 00 20 */ blr
.global func_80166210
func_80166210:
/* 80166210 00161E70 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80166214 00161E74 7C 08 02 A6 */ mflr r0
/* 80166218 00161E78 90 01 00 24 */ stw r0, 0x24(r1)
/* 8016621C 00161E7C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80166220 00161E80 7C 7F 1B 78 */ mr r31, r3
/* 80166224 00161E84 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80166228 00161E88 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8016622C 00161E8C 80 03 08 64 */ lwz r0, 0x864(r3)
/* 80166230 00161E90 2C 00 00 00 */ cmpwi r0, 0
/* 80166234 00161E94 41 82 00 24 */ beq lbl_80166258
/* 80166238 00161E98 48 0F 7D 99 */ bl func_8025DFD0
/* 8016623C 00161E9C 48 0F 80 D1 */ bl func_8025E30C
/* 80166240 00161EA0 81 83 00 00 */ lwz r12, 0(r3)
/* 80166244 00161EA4 A0 9F 00 00 */ lhz r4, 0(r31)
/* 80166248 00161EA8 81 8C 00 60 */ lwz r12, 0x60(r12)
/* 8016624C 00161EAC 7D 89 03 A6 */ mtctr r12
/* 80166250 00161EB0 4E 80 04 21 */ bctrl
/* 80166254 00161EB4 48 00 03 C0 */ b lbl_80166614
lbl_80166258:
/* 80166258 00161EB8 48 0F 7D 79 */ bl func_8025DFD0
/* 8016625C 00161EBC 48 0F 80 B1 */ bl func_8025E30C
/* 80166260 00161EC0 A0 9F 00 00 */ lhz r4, 0(r31)
/* 80166264 00161EC4 48 0F 86 D5 */ bl func_8025E938
/* 80166268 00161EC8 28 03 00 1E */ cmplwi r3, 0x1e
/* 8016626C 00161ECC 40 81 00 24 */ ble lbl_80166290
/* 80166270 00161ED0 48 0F 7D 61 */ bl func_8025DFD0
/* 80166274 00161ED4 48 0F 80 99 */ bl func_8025E30C
/* 80166278 00161ED8 81 83 00 00 */ lwz r12, 0(r3)
/* 8016627C 00161EDC A0 9F 00 00 */ lhz r4, 0(r31)
/* 80166280 00161EE0 81 8C 00 60 */ lwz r12, 0x60(r12)
/* 80166284 00161EE4 7D 89 03 A6 */ mtctr r12
/* 80166288 00161EE8 4E 80 04 21 */ bctrl
/* 8016628C 00161EEC 48 00 03 88 */ b lbl_80166614
lbl_80166290:
/* 80166290 00161EF0 A0 9F 08 6C */ lhz r4, 0x86c(r31)
/* 80166294 00161EF4 28 04 00 1E */ cmplwi r4, 0x1e
/* 80166298 00161EF8 41 81 03 7C */ bgt lbl_80166614
/* 8016629C 00161EFC 3C 60 80 42 */ lis r3, lbl_8041F2E8@ha
/* 801662A0 00161F00 54 80 10 3A */ slwi r0, r4, 2
/* 801662A4 00161F04 38 63 F2 E8 */ addi r3, r3, lbl_8041F2E8@l
/* 801662A8 00161F08 7C 63 00 2E */ lwzx r3, r3, r0
/* 801662AC 00161F0C 7C 69 03 A6 */ mtctr r3
/* 801662B0 00161F10 4E 80 04 20 */ bctr
/* 801662B4 00161F14 C0 42 90 34 */ lfs f2, lbl_80641634-_SDA2_BASE_(r2)
/* 801662B8 00161F18 38 04 00 01 */ addi r0, r4, 1
/* 801662BC 00161F1C C0 2D 86 C8 */ lfs f1, lbl_8063D988-_SDA_BASE_(r13)
/* 801662C0 00161F20 38 60 00 00 */ li r3, 0
/* 801662C4 00161F24 C0 02 90 30 */ lfs f0, lbl_80641630-_SDA2_BASE_(r2)
/* 801662C8 00161F28 EC 22 00 72 */ fmuls f1, f2, f1
/* 801662CC 00161F2C B0 1F 08 6C */ sth r0, 0x86c(r31)
/* 801662D0 00161F30 90 7F 08 70 */ stw r3, 0x870(r31)
/* 801662D4 00161F34 EC 00 08 2A */ fadds f0, f0, f1
/* 801662D8 00161F38 FC 00 00 1E */ fctiwz f0, f0
/* 801662DC 00161F3C D8 01 00 08 */ stfd f0, 8(r1)
/* 801662E0 00161F40 80 01 00 0C */ lwz r0, 0xc(r1)
/* 801662E4 00161F44 90 1F 08 68 */ stw r0, 0x868(r31)
/* 801662E8 00161F48 48 00 03 2C */ b lbl_80166614
/* 801662EC 00161F4C 80 7F 08 68 */ lwz r3, 0x868(r31)
/* 801662F0 00161F50 38 03 FF FF */ addi r0, r3, -1
/* 801662F4 00161F54 2C 03 00 00 */ cmpwi r3, 0
/* 801662F8 00161F58 90 1F 08 68 */ stw r0, 0x868(r31)
/* 801662FC 00161F5C 40 80 03 18 */ bge lbl_80166614
/* 80166300 00161F60 38 04 00 01 */ addi r0, r4, 1
/* 80166304 00161F64 B0 1F 08 6C */ sth r0, 0x86c(r31)
/* 80166308 00161F68 48 00 03 0C */ b lbl_80166614
/* 8016630C 00161F6C 38 00 00 0A */ li r0, 0xa
/* 80166310 00161F70 B0 1F 08 6C */ sth r0, 0x86c(r31)
/* 80166314 00161F74 48 00 03 00 */ b lbl_80166614
/* 80166318 00161F78 80 9F 08 70 */ lwz r4, 0x870(r31)
/* 8016631C 00161F7C 7F E3 FB 78 */ mr r3, r31
/* 80166320 00161F80 38 A0 00 00 */ li r5, 0
/* 80166324 00161F84 4B FF FC DD */ bl func_80166000
/* 80166328 00161F88 2C 03 00 00 */ cmpwi r3, 0
/* 8016632C 00161F8C 7C 7D 1B 78 */ mr r29, r3
/* 80166330 00161F90 40 82 00 10 */ bne lbl_80166340
/* 80166334 00161F94 38 00 00 14 */ li r0, 0x14
/* 80166338 00161F98 B0 1F 08 6C */ sth r0, 0x86c(r31)
/* 8016633C 00161F9C 48 00 02 D8 */ b lbl_80166614
lbl_80166340:
/* 80166340 00161FA0 48 0F 7C 91 */ bl func_8025DFD0
/* 80166344 00161FA4 48 0F 7F C9 */ bl func_8025E30C
/* 80166348 00161FA8 A0 9F 00 00 */ lhz r4, 0(r31)
/* 8016634C 00161FAC 7F A5 EB 78 */ mr r5, r29
/* 80166350 00161FB0 48 0F A1 AD */ bl func_802604FC
/* 80166354 00161FB4 90 7F 08 74 */ stw r3, 0x874(r31)
/* 80166358 00161FB8 48 0F 7C 79 */ bl func_8025DFD0
/* 8016635C 00161FBC 48 0F 7F B1 */ bl func_8025E30C
/* 80166360 00161FC0 80 1F 08 74 */ lwz r0, 0x874(r31)
/* 80166364 00161FC4 38 BF 08 7C */ addi r5, r31, 0x87c
/* 80166368 00161FC8 38 C0 10 00 */ li r6, 0x1000
/* 8016636C 00161FCC 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 80166370 00161FD0 48 0F A2 11 */ bl func_80260580
/* 80166374 00161FD4 2C 03 00 00 */ cmpwi r3, 0
/* 80166378 00161FD8 40 80 00 28 */ bge lbl_801663A0
/* 8016637C 00161FDC 48 0F 7C 55 */ bl func_8025DFD0
/* 80166380 00161FE0 48 0F 7F 8D */ bl func_8025E30C
/* 80166384 00161FE4 80 1F 08 74 */ lwz r0, 0x874(r31)
/* 80166388 00161FE8 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 8016638C 00161FEC 48 0F A1 6D */ bl func_802604F8
/* 80166390 00161FF0 38 60 00 00 */ li r3, 0
/* 80166394 00161FF4 38 00 00 01 */ li r0, 1
/* 80166398 00161FF8 90 7F 08 74 */ stw r3, 0x874(r31)
/* 8016639C 00161FFC 90 1F 08 64 */ stw r0, 0x864(r31)
lbl_801663A0:
/* 801663A0 00162000 A0 7F 08 6C */ lhz r3, 0x86c(r31)
/* 801663A4 00162004 38 03 00 01 */ addi r0, r3, 1
/* 801663A8 00162008 B0 1F 08 6C */ sth r0, 0x86c(r31)
/* 801663AC 0016200C 48 00 02 68 */ b lbl_80166614
/* 801663B0 00162010 48 0F 7C 21 */ bl func_8025DFD0
/* 801663B4 00162014 48 0F 7F 59 */ bl func_8025E30C
/* 801663B8 00162018 80 1F 08 74 */ lwz r0, 0x874(r31)
/* 801663BC 0016201C 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 801663C0 00162020 48 0F A0 99 */ bl func_80260458
/* 801663C4 00162024 2C 03 00 00 */ cmpwi r3, 0
/* 801663C8 00162028 40 82 02 4C */ bne lbl_80166614
/* 801663CC 0016202C 80 9F 08 70 */ lwz r4, 0x870(r31)
/* 801663D0 00162030 7F E3 FB 78 */ mr r3, r31
/* 801663D4 00162034 38 A0 00 00 */ li r5, 0
/* 801663D8 00162038 4B FF FC 29 */ bl func_80166000
/* 801663DC 0016203C 48 0F 7B F5 */ bl func_8025DFD0
/* 801663E0 00162040 48 0F 7F 2D */ bl func_8025E30C
/* 801663E4 00162044 80 1F 08 74 */ lwz r0, 0x874(r31)
/* 801663E8 00162048 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 801663EC 0016204C 48 0F A0 B1 */ bl func_8026049C
/* 801663F0 00162050 2C 03 00 00 */ cmpwi r3, 0
/* 801663F4 00162054 41 81 00 10 */ bgt lbl_80166404
/* 801663F8 00162058 38 00 00 01 */ li r0, 1
/* 801663FC 0016205C 90 1F 08 64 */ stw r0, 0x864(r31)
/* 80166400 00162060 48 00 00 14 */ b lbl_80166414
lbl_80166404:
/* 80166404 00162064 80 9F 08 70 */ lwz r4, 0x870(r31)
/* 80166408 00162068 7F E3 FB 78 */ mr r3, r31
/* 8016640C 0016206C 38 A0 00 01 */ li r5, 1
/* 80166410 00162070 4B FF FB F1 */ bl func_80166000
lbl_80166414:
/* 80166414 00162074 48 0F 7B BD */ bl func_8025DFD0
/* 80166418 00162078 48 0F 7E F5 */ bl func_8025E30C
/* 8016641C 0016207C 80 1F 08 74 */ lwz r0, 0x874(r31)
/* 80166420 00162080 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 80166424 00162084 48 0F A0 D5 */ bl func_802604F8
/* 80166428 00162088 80 9F 08 70 */ lwz r4, 0x870(r31)
/* 8016642C 0016208C 38 00 00 00 */ li r0, 0
/* 80166430 00162090 A0 7F 08 6C */ lhz r3, 0x86c(r31)
/* 80166434 00162094 38 84 00 01 */ addi r4, r4, 1
/* 80166438 00162098 90 1F 08 74 */ stw r0, 0x874(r31)
/* 8016643C 0016209C 38 03 FF FF */ addi r0, r3, -1
/* 80166440 001620A0 90 9F 08 70 */ stw r4, 0x870(r31)
/* 80166444 001620A4 B0 1F 08 6C */ sth r0, 0x86c(r31)
/* 80166448 001620A8 48 00 01 CC */ b lbl_80166614
/* 8016644C 001620AC 80 1F 18 98 */ lwz r0, 0x1898(r31)
/* 80166450 001620B0 38 64 00 01 */ addi r3, r4, 1
/* 80166454 001620B4 B0 7F 08 6C */ sth r3, 0x86c(r31)
/* 80166458 001620B8 2C 00 00 00 */ cmpwi r0, 0
/* 8016645C 001620BC 41 82 01 B8 */ beq lbl_80166614
/* 80166460 001620C0 38 7F 00 02 */ addi r3, r31, 2
/* 80166464 001620C4 4B FF F0 D1 */ bl func_80165534
/* 80166468 001620C8 80 9F 18 9C */ lwz r4, 0x189c(r31)
/* 8016646C 001620CC 38 A0 00 20 */ li r5, 0x20
/* 80166470 001620D0 38 63 00 0C */ addi r3, r3, 0xc
/* 80166474 001620D4 4B E9 DB 8D */ bl memcpy
/* 80166478 001620D8 48 00 01 9C */ b lbl_80166614
/* 8016647C 001620DC 4B FF C6 F5 */ bl func_80162B70
/* 80166480 001620E0 2C 03 00 02 */ cmpwi r3, 2
/* 80166484 001620E4 41 82 00 10 */ beq lbl_80166494
/* 80166488 001620E8 38 00 00 1E */ li r0, 0x1e
/* 8016648C 001620EC B0 1F 08 6C */ sth r0, 0x86c(r31)
/* 80166490 001620F0 48 00 01 84 */ b lbl_80166614
lbl_80166494:
/* 80166494 001620F4 3F A0 80 42 */ lis r29, lbl_8041F2D0@ha
/* 80166498 001620F8 3B BD F2 D0 */ addi r29, r29, lbl_8041F2D0@l
/* 8016649C 001620FC 48 0F 7B 35 */ bl func_8025DFD0
/* 801664A0 00162100 48 0F 7E 6D */ bl func_8025E30C
/* 801664A4 00162104 A0 9F 00 00 */ lhz r4, 0(r31)
/* 801664A8 00162108 7F A5 EB 78 */ mr r5, r29
/* 801664AC 0016210C 48 0F A0 51 */ bl func_802604FC
/* 801664B0 00162110 83 BF 08 78 */ lwz r29, 0x878(r31)
/* 801664B4 00162114 90 7F 08 74 */ stw r3, 0x874(r31)
/* 801664B8 00162118 2C 1D 00 00 */ cmpwi r29, 0
/* 801664BC 0016211C 41 82 00 10 */ beq lbl_801664CC
/* 801664C0 00162120 48 0F 7B 11 */ bl func_8025DFD0
/* 801664C4 00162124 7F A4 EB 78 */ mr r4, r29
/* 801664C8 00162128 48 0F 7B 01 */ bl func_8025DFC8
lbl_801664CC:
/* 801664CC 0016212C 3B A0 00 00 */ li r29, 0
/* 801664D0 00162130 93 BF 08 78 */ stw r29, 0x878(r31)
/* 801664D4 00162134 48 0F 7A FD */ bl func_8025DFD0
/* 801664D8 00162138 3F C0 00 01 */ lis r30, 0x000121C8@ha
/* 801664DC 0016213C 38 9E 21 C8 */ addi r4, r30, 0x000121C8@l
/* 801664E0 00162140 48 0F 7A E1 */ bl func_8025DFC0
/* 801664E4 00162144 90 7F 08 78 */ stw r3, 0x878(r31)
/* 801664E8 00162148 48 0F 7A E9 */ bl func_8025DFD0
/* 801664EC 0016214C 48 0F 7E 21 */ bl func_8025E30C
/* 801664F0 00162150 80 1F 08 74 */ lwz r0, 0x874(r31)
/* 801664F4 00162154 38 DE 21 C8 */ addi r6, r30, 0x21c8
/* 801664F8 00162158 80 BF 08 78 */ lwz r5, 0x878(r31)
/* 801664FC 0016215C 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 80166500 00162160 48 0F A0 81 */ bl func_80260580
/* 80166504 00162164 2C 03 00 00 */ cmpwi r3, 0
/* 80166508 00162168 40 80 00 50 */ bge lbl_80166558
/* 8016650C 0016216C 48 0F 7A C5 */ bl func_8025DFD0
/* 80166510 00162170 48 0F 7D FD */ bl func_8025E30C
/* 80166514 00162174 80 1F 08 74 */ lwz r0, 0x874(r31)
/* 80166518 00162178 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 8016651C 0016217C 48 0F 9F DD */ bl func_802604F8
/* 80166520 00162180 83 DF 08 78 */ lwz r30, 0x878(r31)
/* 80166524 00162184 93 BF 08 74 */ stw r29, 0x874(r31)
/* 80166528 00162188 2C 1E 00 00 */ cmpwi r30, 0
/* 8016652C 0016218C 41 82 00 10 */ beq lbl_8016653C
/* 80166530 00162190 48 0F 7A A1 */ bl func_8025DFD0
/* 80166534 00162194 7F C4 F3 78 */ mr r4, r30
/* 80166538 00162198 48 0F 7A 91 */ bl func_8025DFC8
lbl_8016653C:
/* 8016653C 0016219C 38 80 00 00 */ li r4, 0
/* 80166540 001621A0 38 60 00 01 */ li r3, 1
/* 80166544 001621A4 38 00 00 1E */ li r0, 0x1e
/* 80166548 001621A8 90 9F 08 78 */ stw r4, 0x878(r31)
/* 8016654C 001621AC 90 7F 08 64 */ stw r3, 0x864(r31)
/* 80166550 001621B0 B0 1F 08 6C */ sth r0, 0x86c(r31)
/* 80166554 001621B4 48 00 00 C0 */ b lbl_80166614
lbl_80166558:
/* 80166558 001621B8 A0 7F 08 6C */ lhz r3, 0x86c(r31)
/* 8016655C 001621BC 38 03 00 01 */ addi r0, r3, 1
/* 80166560 001621C0 B0 1F 08 6C */ sth r0, 0x86c(r31)
/* 80166564 001621C4 48 00 00 B0 */ b lbl_80166614
/* 80166568 001621C8 48 0F 7A 69 */ bl func_8025DFD0
/* 8016656C 001621CC 48 0F 7D A1 */ bl func_8025E30C
/* 80166570 001621D0 80 1F 08 74 */ lwz r0, 0x874(r31)
/* 80166574 001621D4 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 80166578 001621D8 48 0F 9E E1 */ bl func_80260458
/* 8016657C 001621DC 2C 03 00 00 */ cmpwi r3, 0
/* 80166580 001621E0 40 82 00 94 */ bne lbl_80166614
/* 80166584 001621E4 48 0F 7A 4D */ bl func_8025DFD0
/* 80166588 001621E8 48 0F 7D 85 */ bl func_8025E30C
/* 8016658C 001621EC 80 1F 08 74 */ lwz r0, 0x874(r31)
/* 80166590 001621F0 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 80166594 001621F4 48 0F 9F 09 */ bl func_8026049C
/* 80166598 001621F8 2C 03 00 00 */ cmpwi r3, 0
/* 8016659C 001621FC 41 81 00 10 */ bgt lbl_801665AC
/* 801665A0 00162200 38 00 00 01 */ li r0, 1
/* 801665A4 00162204 90 1F 08 64 */ stw r0, 0x864(r31)
/* 801665A8 00162208 48 00 00 18 */ b lbl_801665C0
lbl_801665AC:
/* 801665AC 0016220C 80 7F 08 78 */ lwz r3, 0x878(r31)
/* 801665B0 00162210 80 9F 18 A4 */ lwz r4, 0x18a4(r31)
/* 801665B4 00162214 48 27 B6 CD */ bl func_803E1C80
/* 801665B8 00162218 38 00 00 01 */ li r0, 1
/* 801665BC 0016221C 90 1F 18 A0 */ stw r0, 0x18a0(r31)
lbl_801665C0:
/* 801665C0 00162220 48 0F 7A 11 */ bl func_8025DFD0
/* 801665C4 00162224 48 0F 7D 49 */ bl func_8025E30C
/* 801665C8 00162228 80 1F 08 74 */ lwz r0, 0x874(r31)
/* 801665CC 0016222C 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 801665D0 00162230 48 0F 9F 29 */ bl func_802604F8
/* 801665D4 00162234 83 BF 08 78 */ lwz r29, 0x878(r31)
/* 801665D8 00162238 38 00 00 00 */ li r0, 0
/* 801665DC 0016223C 90 1F 08 74 */ stw r0, 0x874(r31)
/* 801665E0 00162240 2C 1D 00 00 */ cmpwi r29, 0
/* 801665E4 00162244 41 82 00 10 */ beq lbl_801665F4
/* 801665E8 00162248 48 0F 79 E9 */ bl func_8025DFD0
/* 801665EC 0016224C 7F A4 EB 78 */ mr r4, r29
/* 801665F0 00162250 48 0F 79 D9 */ bl func_8025DFC8
lbl_801665F4:
/* 801665F4 00162254 A0 7F 08 6C */ lhz r3, 0x86c(r31)
/* 801665F8 00162258 38 00 00 00 */ li r0, 0
/* 801665FC 0016225C 90 1F 08 78 */ stw r0, 0x878(r31)
/* 80166600 00162260 38 03 00 01 */ addi r0, r3, 1
/* 80166604 00162264 B0 1F 08 6C */ sth r0, 0x86c(r31)
/* 80166608 00162268 48 00 00 0C */ b lbl_80166614
/* 8016660C 0016226C 38 00 00 1E */ li r0, 0x1e
/* 80166610 00162270 B0 1F 08 6C */ sth r0, 0x86c(r31)
lbl_80166614:
/* 80166614 00162274 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80166618 00162278 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8016661C 0016227C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80166620 00162280 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80166624 00162284 7C 08 03 A6 */ mtlr r0
/* 80166628 00162288 38 21 00 20 */ addi r1, r1, 0x20
/* 8016662C 0016228C 4E 80 00 20 */ blr
.global func_80166630
func_80166630:
/* 80166630 00162290 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80166634 00162294 7C 08 02 A6 */ mflr r0
/* 80166638 00162298 90 01 00 24 */ stw r0, 0x24(r1)
/* 8016663C 0016229C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80166640 001622A0 7C 7F 1B 78 */ mr r31, r3
/* 80166644 001622A4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80166648 001622A8 80 03 08 64 */ lwz r0, 0x864(r3)
/* 8016664C 001622AC 2C 00 00 00 */ cmpwi r0, 0
/* 80166650 001622B0 41 82 00 24 */ beq lbl_80166674
/* 80166654 001622B4 48 0F 79 7D */ bl func_8025DFD0
/* 80166658 001622B8 48 0F 7C C5 */ bl func_8025E31C
/* 8016665C 001622BC 81 83 00 00 */ lwz r12, 0(r3)
/* 80166660 001622C0 A0 9F 00 00 */ lhz r4, 0(r31)
/* 80166664 001622C4 81 8C 00 60 */ lwz r12, 0x60(r12)
/* 80166668 001622C8 7D 89 03 A6 */ mtctr r12
/* 8016666C 001622CC 4E 80 04 21 */ bctrl
/* 80166670 001622D0 48 00 04 18 */ b lbl_80166A88
lbl_80166674:
/* 80166674 001622D4 48 0F 79 5D */ bl func_8025DFD0
/* 80166678 001622D8 48 0F 7C A5 */ bl func_8025E31C
/* 8016667C 001622DC A0 9F 00 00 */ lhz r4, 0(r31)
/* 80166680 001622E0 48 0F 82 B9 */ bl func_8025E938
/* 80166684 001622E4 28 03 00 1E */ cmplwi r3, 0x1e
/* 80166688 001622E8 40 81 00 24 */ ble lbl_801666AC
/* 8016668C 001622EC 48 0F 79 45 */ bl func_8025DFD0
/* 80166690 001622F0 48 0F 7C 8D */ bl func_8025E31C
/* 80166694 001622F4 81 83 00 00 */ lwz r12, 0(r3)
/* 80166698 001622F8 A0 9F 00 00 */ lhz r4, 0(r31)
/* 8016669C 001622FC 81 8C 00 60 */ lwz r12, 0x60(r12)
/* 801666A0 00162300 7D 89 03 A6 */ mtctr r12
/* 801666A4 00162304 4E 80 04 21 */ bctrl
/* 801666A8 00162308 48 00 03 E0 */ b lbl_80166A88
lbl_801666AC:
/* 801666AC 0016230C A0 9F 08 6C */ lhz r4, 0x86c(r31)
/* 801666B0 00162310 2C 04 00 1E */ cmpwi r4, 0x1e
/* 801666B4 00162314 41 82 02 48 */ beq lbl_801668FC
/* 801666B8 00162318 40 80 00 58 */ bge lbl_80166710
/* 801666BC 0016231C 2C 04 00 0A */ cmpwi r4, 0xa
/* 801666C0 00162320 41 82 00 F0 */ beq lbl_801667B0
/* 801666C4 00162324 40 80 00 28 */ bge lbl_801666EC
/* 801666C8 00162328 2C 04 00 01 */ cmpwi r4, 1
/* 801666CC 0016232C 41 82 00 B8 */ beq lbl_80166784
/* 801666D0 00162330 40 80 00 10 */ bge lbl_801666E0
/* 801666D4 00162334 2C 04 00 00 */ cmpwi r4, 0
/* 801666D8 00162338 40 80 00 74 */ bge lbl_8016674C
/* 801666DC 0016233C 48 00 03 A4 */ b lbl_80166A80
lbl_801666E0:
/* 801666E0 00162340 2C 04 00 03 */ cmpwi r4, 3
/* 801666E4 00162344 40 80 03 9C */ bge lbl_80166A80
/* 801666E8 00162348 48 00 00 BC */ b lbl_801667A4
lbl_801666EC:
/* 801666EC 0016234C 2C 04 00 14 */ cmpwi r4, 0x14
/* 801666F0 00162350 41 82 01 F4 */ beq lbl_801668E4
/* 801666F4 00162354 40 80 00 10 */ bge lbl_80166704
/* 801666F8 00162358 2C 04 00 0C */ cmpwi r4, 0xc
/* 801666FC 0016235C 40 80 03 84 */ bge lbl_80166A80
/* 80166700 00162360 48 00 01 48 */ b lbl_80166848
lbl_80166704:
/* 80166704 00162364 2C 04 00 16 */ cmpwi r4, 0x16
/* 80166708 00162368 40 80 03 78 */ bge lbl_80166A80
/* 8016670C 0016236C 48 00 01 E4 */ b lbl_801668F0
lbl_80166710:
/* 80166710 00162370 2C 04 00 6E */ cmpwi r4, 0x6e
/* 80166714 00162374 41 82 03 60 */ beq lbl_80166A74
/* 80166718 00162378 40 80 00 28 */ bge lbl_80166740
/* 8016671C 0016237C 2C 04 00 65 */ cmpwi r4, 0x65
/* 80166720 00162380 41 82 01 FC */ beq lbl_8016691C
/* 80166724 00162384 40 80 00 10 */ bge lbl_80166734
/* 80166728 00162388 2C 04 00 64 */ cmpwi r4, 0x64
/* 8016672C 0016238C 40 80 01 DC */ bge lbl_80166908
/* 80166730 00162390 48 00 03 50 */ b lbl_80166A80
lbl_80166734:
/* 80166734 00162394 2C 04 00 67 */ cmpwi r4, 0x67
/* 80166738 00162398 40 80 03 48 */ bge lbl_80166A80
/* 8016673C 0016239C 48 00 02 9C */ b lbl_801669D8
lbl_80166740:
/* 80166740 001623A0 2C 04 03 E7 */ cmpwi r4, 0x3e7
/* 80166744 001623A4 41 82 03 3C */ beq lbl_80166A80
/* 80166748 001623A8 48 00 03 38 */ b lbl_80166A80
lbl_8016674C:
/* 8016674C 001623AC C0 42 90 38 */ lfs f2, lbl_80641638-_SDA2_BASE_(r2)
/* 80166750 001623B0 38 04 00 01 */ addi r0, r4, 1
/* 80166754 001623B4 C0 2D 86 C8 */ lfs f1, lbl_8063D988-_SDA_BASE_(r13)
/* 80166758 001623B8 38 60 00 00 */ li r3, 0
/* 8016675C 001623BC C0 02 90 30 */ lfs f0, lbl_80641630-_SDA2_BASE_(r2)
/* 80166760 001623C0 EC 22 00 72 */ fmuls f1, f2, f1
/* 80166764 001623C4 B0 1F 08 6C */ sth r0, 0x86c(r31)
/* 80166768 001623C8 90 7F 08 70 */ stw r3, 0x870(r31)
/* 8016676C 001623CC EC 00 08 2A */ fadds f0, f0, f1
/* 80166770 001623D0 FC 00 00 1E */ fctiwz f0, f0
/* 80166774 001623D4 D8 01 00 08 */ stfd f0, 8(r1)
/* 80166778 001623D8 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8016677C 001623DC 90 1F 08 68 */ stw r0, 0x868(r31)
/* 80166780 001623E0 48 00 03 08 */ b lbl_80166A88
lbl_80166784:
/* 80166784 001623E4 80 7F 08 68 */ lwz r3, 0x868(r31)
/* 80166788 001623E8 38 03 FF FF */ addi r0, r3, -1
/* 8016678C 001623EC 2C 03 00 00 */ cmpwi r3, 0
/* 80166790 001623F0 90 1F 08 68 */ stw r0, 0x868(r31)
/* 80166794 001623F4 40 80 02 F4 */ bge lbl_80166A88
/* 80166798 001623F8 38 04 00 01 */ addi r0, r4, 1
/* 8016679C 001623FC B0 1F 08 6C */ sth r0, 0x86c(r31)
/* 801667A0 00162400 48 00 02 E8 */ b lbl_80166A88
lbl_801667A4:
/* 801667A4 00162404 38 00 00 0A */ li r0, 0xa
/* 801667A8 00162408 B0 1F 08 6C */ sth r0, 0x86c(r31)
/* 801667AC 0016240C 48 00 02 DC */ b lbl_80166A88
lbl_801667B0:
/* 801667B0 00162410 80 9F 08 70 */ lwz r4, 0x870(r31)
/* 801667B4 00162414 7F E3 FB 78 */ mr r3, r31
/* 801667B8 00162418 38 A0 00 00 */ li r5, 0
/* 801667BC 0016241C 4B FF F6 21 */ bl func_80165DDC
/* 801667C0 00162420 2C 03 00 00 */ cmpwi r3, 0
/* 801667C4 00162424 7C 7E 1B 78 */ mr r30, r3
/* 801667C8 00162428 40 82 00 10 */ bne lbl_801667D8
/* 801667CC 0016242C 38 00 00 14 */ li r0, 0x14
/* 801667D0 00162430 B0 1F 08 6C */ sth r0, 0x86c(r31)
/* 801667D4 00162434 48 00 02 B4 */ b lbl_80166A88
lbl_801667D8:
/* 801667D8 00162438 48 0F 77 F9 */ bl func_8025DFD0
/* 801667DC 0016243C 48 0F 7B 41 */ bl func_8025E31C
/* 801667E0 00162440 A0 9F 00 00 */ lhz r4, 0(r31)
/* 801667E4 00162444 7F C5 F3 78 */ mr r5, r30
/* 801667E8 00162448 48 0F 9D 15 */ bl func_802604FC
/* 801667EC 0016244C 90 7F 08 74 */ stw r3, 0x874(r31)
/* 801667F0 00162450 48 0F 77 E1 */ bl func_8025DFD0
/* 801667F4 00162454 48 0F 7B 29 */ bl func_8025E31C
/* 801667F8 00162458 80 1F 08 74 */ lwz r0, 0x874(r31)
/* 801667FC 0016245C 38 BF 08 7C */ addi r5, r31, 0x87c
/* 80166800 00162460 38 C0 10 00 */ li r6, 0x1000
/* 80166804 00162464 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 80166808 00162468 48 0F 9D 79 */ bl func_80260580
/* 8016680C 0016246C 2C 03 00 00 */ cmpwi r3, 0
/* 80166810 00162470 40 80 00 28 */ bge lbl_80166838
/* 80166814 00162474 48 0F 77 BD */ bl func_8025DFD0
/* 80166818 00162478 48 0F 7B 05 */ bl func_8025E31C
/* 8016681C 0016247C 80 1F 08 74 */ lwz r0, 0x874(r31)
/* 80166820 00162480 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 80166824 00162484 48 0F 9C D5 */ bl func_802604F8
/* 80166828 00162488 38 60 00 00 */ li r3, 0
/* 8016682C 0016248C 38 00 00 01 */ li r0, 1
/* 80166830 00162490 90 7F 08 74 */ stw r3, 0x874(r31)
/* 80166834 00162494 90 1F 08 64 */ stw r0, 0x864(r31)
lbl_80166838:
/* 80166838 00162498 A0 7F 08 6C */ lhz r3, 0x86c(r31)
/* 8016683C 0016249C 38 03 00 01 */ addi r0, r3, 1
/* 80166840 001624A0 B0 1F 08 6C */ sth r0, 0x86c(r31)
/* 80166844 001624A4 48 00 02 44 */ b lbl_80166A88
lbl_80166848:
/* 80166848 001624A8 48 0F 77 89 */ bl func_8025DFD0
/* 8016684C 001624AC 48 0F 7A D1 */ bl func_8025E31C
/* 80166850 001624B0 80 1F 08 74 */ lwz r0, 0x874(r31)
/* 80166854 001624B4 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 80166858 001624B8 48 0F 9C 01 */ bl func_80260458
/* 8016685C 001624BC 2C 03 00 00 */ cmpwi r3, 0
/* 80166860 001624C0 40 82 02 28 */ bne lbl_80166A88
/* 80166864 001624C4 80 9F 08 70 */ lwz r4, 0x870(r31)
/* 80166868 001624C8 7F E3 FB 78 */ mr r3, r31
/* 8016686C 001624CC 38 A0 00 00 */ li r5, 0
/* 80166870 001624D0 4B FF F5 6D */ bl func_80165DDC
/* 80166874 001624D4 48 0F 77 5D */ bl func_8025DFD0
/* 80166878 001624D8 48 0F 7A A5 */ bl func_8025E31C
/* 8016687C 001624DC 80 1F 08 74 */ lwz r0, 0x874(r31)
/* 80166880 001624E0 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 80166884 001624E4 48 0F 9C 19 */ bl func_8026049C
/* 80166888 001624E8 2C 03 00 00 */ cmpwi r3, 0
/* 8016688C 001624EC 41 81 00 10 */ bgt lbl_8016689C
/* 80166890 001624F0 38 00 00 01 */ li r0, 1
/* 80166894 001624F4 90 1F 08 64 */ stw r0, 0x864(r31)
/* 80166898 001624F8 48 00 00 14 */ b lbl_801668AC
lbl_8016689C:
/* 8016689C 001624FC 80 9F 08 70 */ lwz r4, 0x870(r31)
/* 801668A0 00162500 7F E3 FB 78 */ mr r3, r31
/* 801668A4 00162504 38 A0 00 01 */ li r5, 1
/* 801668A8 00162508 4B FF F5 35 */ bl func_80165DDC
lbl_801668AC:
/* 801668AC 0016250C 48 0F 77 25 */ bl func_8025DFD0
/* 801668B0 00162510 48 0F 7A 6D */ bl func_8025E31C
/* 801668B4 00162514 80 1F 08 74 */ lwz r0, 0x874(r31)
/* 801668B8 00162518 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 801668BC 0016251C 48 0F 9C 3D */ bl func_802604F8
/* 801668C0 00162520 80 9F 08 70 */ lwz r4, 0x870(r31)
/* 801668C4 00162524 38 00 00 00 */ li r0, 0
/* 801668C8 00162528 A0 7F 08 6C */ lhz r3, 0x86c(r31)
/* 801668CC 0016252C 38 84 00 01 */ addi r4, r4, 1
/* 801668D0 00162530 90 1F 08 74 */ stw r0, 0x874(r31)
/* 801668D4 00162534 38 03 FF FF */ addi r0, r3, -1
/* 801668D8 00162538 90 9F 08 70 */ stw r4, 0x870(r31)
/* 801668DC 0016253C B0 1F 08 6C */ sth r0, 0x86c(r31)
/* 801668E0 00162540 48 00 01 A8 */ b lbl_80166A88
lbl_801668E4:
/* 801668E4 00162544 38 04 00 01 */ addi r0, r4, 1
/* 801668E8 00162548 B0 1F 08 6C */ sth r0, 0x86c(r31)
/* 801668EC 0016254C 48 00 01 9C */ b lbl_80166A88
lbl_801668F0:
/* 801668F0 00162550 38 00 00 1E */ li r0, 0x1e
/* 801668F4 00162554 B0 1F 08 6C */ sth r0, 0x86c(r31)
/* 801668F8 00162558 48 00 01 90 */ b lbl_80166A88
lbl_801668FC:
/* 801668FC 0016255C 38 00 00 64 */ li r0, 0x64
/* 80166900 00162560 B0 1F 08 6C */ sth r0, 0x86c(r31)
/* 80166904 00162564 48 00 01 84 */ b lbl_80166A88
lbl_80166908:
/* 80166908 00162568 38 04 00 01 */ addi r0, r4, 1
/* 8016690C 0016256C 38 60 00 00 */ li r3, 0
/* 80166910 00162570 90 7F 08 70 */ stw r3, 0x870(r31)
/* 80166914 00162574 B0 1F 08 6C */ sth r0, 0x86c(r31)
/* 80166918 00162578 48 00 01 70 */ b lbl_80166A88
lbl_8016691C:
/* 8016691C 0016257C 80 9F 08 70 */ lwz r4, 0x870(r31)
/* 80166920 00162580 7F E3 FB 78 */ mr r3, r31
/* 80166924 00162584 38 A0 00 00 */ li r5, 0
/* 80166928 00162588 4B FF F6 59 */ bl func_80165F80
/* 8016692C 0016258C 2C 03 00 00 */ cmpwi r3, 0
/* 80166930 00162590 7C 7E 1B 78 */ mr r30, r3
/* 80166934 00162594 40 82 00 18 */ bne lbl_8016694C
/* 80166938 00162598 38 60 00 00 */ li r3, 0
/* 8016693C 0016259C 38 00 00 6E */ li r0, 0x6e
/* 80166940 001625A0 90 7F 08 70 */ stw r3, 0x870(r31)
/* 80166944 001625A4 B0 1F 08 6C */ sth r0, 0x86c(r31)
/* 80166948 001625A8 48 00 01 40 */ b lbl_80166A88
lbl_8016694C:
/* 8016694C 001625AC 88 03 00 00 */ lbz r0, 0(r3)
/* 80166950 001625B0 7C 00 07 75 */ extsb. r0, r0
/* 80166954 001625B4 40 82 00 14 */ bne lbl_80166968
/* 80166958 001625B8 80 7F 08 70 */ lwz r3, 0x870(r31)
/* 8016695C 001625BC 38 03 00 01 */ addi r0, r3, 1
/* 80166960 001625C0 90 1F 08 70 */ stw r0, 0x870(r31)
/* 80166964 001625C4 48 00 01 24 */ b lbl_80166A88
lbl_80166968:
/* 80166968 001625C8 48 0F 76 69 */ bl func_8025DFD0
/* 8016696C 001625CC 48 0F 79 B1 */ bl func_8025E31C
/* 80166970 001625D0 A0 9F 00 00 */ lhz r4, 0(r31)
/* 80166974 001625D4 7F C5 F3 78 */ mr r5, r30
/* 80166978 001625D8 48 0F 9B 85 */ bl func_802604FC
/* 8016697C 001625DC 90 7F 08 74 */ stw r3, 0x874(r31)
/* 80166980 001625E0 48 0F 76 51 */ bl func_8025DFD0
/* 80166984 001625E4 48 0F 79 99 */ bl func_8025E31C
/* 80166988 001625E8 80 1F 08 74 */ lwz r0, 0x874(r31)
/* 8016698C 001625EC 38 BF 08 7C */ addi r5, r31, 0x87c
/* 80166990 001625F0 38 C0 10 00 */ li r6, 0x1000
/* 80166994 001625F4 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 80166998 001625F8 48 0F 9B E9 */ bl func_80260580
/* 8016699C 001625FC 2C 03 00 00 */ cmpwi r3, 0
/* 801669A0 00162600 40 80 00 28 */ bge lbl_801669C8
/* 801669A4 00162604 48 0F 76 2D */ bl func_8025DFD0
/* 801669A8 00162608 48 0F 79 75 */ bl func_8025E31C
/* 801669AC 0016260C 80 1F 08 74 */ lwz r0, 0x874(r31)
/* 801669B0 00162610 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 801669B4 00162614 48 0F 9B 45 */ bl func_802604F8
/* 801669B8 00162618 38 60 00 00 */ li r3, 0
/* 801669BC 0016261C 38 00 00 01 */ li r0, 1
/* 801669C0 00162620 90 7F 08 74 */ stw r3, 0x874(r31)
/* 801669C4 00162624 90 1F 08 64 */ stw r0, 0x864(r31)
lbl_801669C8:
/* 801669C8 00162628 A0 7F 08 6C */ lhz r3, 0x86c(r31)
/* 801669CC 0016262C 38 03 00 01 */ addi r0, r3, 1
/* 801669D0 00162630 B0 1F 08 6C */ sth r0, 0x86c(r31)
/* 801669D4 00162634 48 00 00 B4 */ b lbl_80166A88
lbl_801669D8:
/* 801669D8 00162638 48 0F 75 F9 */ bl func_8025DFD0
/* 801669DC 0016263C 48 0F 79 41 */ bl func_8025E31C
/* 801669E0 00162640 80 1F 08 74 */ lwz r0, 0x874(r31)
/* 801669E4 00162644 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 801669E8 00162648 48 0F 9A 71 */ bl func_80260458
/* 801669EC 0016264C 2C 03 00 00 */ cmpwi r3, 0
/* 801669F0 00162650 40 82 00 98 */ bne lbl_80166A88
/* 801669F4 00162654 80 9F 08 70 */ lwz r4, 0x870(r31)
/* 801669F8 00162658 7F E3 FB 78 */ mr r3, r31
/* 801669FC 0016265C 38 A0 00 00 */ li r5, 0
/* 80166A00 00162660 4B FF F5 81 */ bl func_80165F80
/* 80166A04 00162664 48 0F 75 CD */ bl func_8025DFD0
/* 80166A08 00162668 48 0F 79 15 */ bl func_8025E31C
/* 80166A0C 0016266C 80 1F 08 74 */ lwz r0, 0x874(r31)
/* 80166A10 00162670 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 80166A14 00162674 48 0F 9A 89 */ bl func_8026049C
/* 80166A18 00162678 2C 03 00 00 */ cmpwi r3, 0
/* 80166A1C 0016267C 41 81 00 10 */ bgt lbl_80166A2C
/* 80166A20 00162680 38 00 00 01 */ li r0, 1
/* 80166A24 00162684 90 1F 08 64 */ stw r0, 0x864(r31)
/* 80166A28 00162688 48 00 00 14 */ b lbl_80166A3C
lbl_80166A2C:
/* 80166A2C 0016268C 80 9F 08 70 */ lwz r4, 0x870(r31)
/* 80166A30 00162690 7F E3 FB 78 */ mr r3, r31
/* 80166A34 00162694 38 A0 00 01 */ li r5, 1
/* 80166A38 00162698 4B FF F5 49 */ bl func_80165F80
lbl_80166A3C:
/* 80166A3C 0016269C 48 0F 75 95 */ bl func_8025DFD0
/* 80166A40 001626A0 48 0F 78 DD */ bl func_8025E31C
/* 80166A44 001626A4 80 1F 08 74 */ lwz r0, 0x874(r31)
/* 80166A48 001626A8 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 80166A4C 001626AC 48 0F 9A AD */ bl func_802604F8
/* 80166A50 001626B0 80 9F 08 70 */ lwz r4, 0x870(r31)
/* 80166A54 001626B4 38 00 00 00 */ li r0, 0
/* 80166A58 001626B8 A0 7F 08 6C */ lhz r3, 0x86c(r31)
/* 80166A5C 001626BC 38 84 00 01 */ addi r4, r4, 1
/* 80166A60 001626C0 90 1F 08 74 */ stw r0, 0x874(r31)
/* 80166A64 001626C4 38 03 FF FF */ addi r0, r3, -1
/* 80166A68 001626C8 90 9F 08 70 */ stw r4, 0x870(r31)
/* 80166A6C 001626CC B0 1F 08 6C */ sth r0, 0x86c(r31)
/* 80166A70 001626D0 48 00 00 18 */ b lbl_80166A88
lbl_80166A74:
/* 80166A74 001626D4 38 00 03 E7 */ li r0, 0x3e7
/* 80166A78 001626D8 B0 1F 08 6C */ sth r0, 0x86c(r31)
/* 80166A7C 001626DC 48 00 00 0C */ b lbl_80166A88
lbl_80166A80:
/* 80166A80 001626E0 38 00 00 64 */ li r0, 0x64
/* 80166A84 001626E4 B0 1F 08 6C */ sth r0, 0x86c(r31)
lbl_80166A88:
/* 80166A88 001626E8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80166A8C 001626EC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80166A90 001626F0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80166A94 001626F4 7C 08 03 A6 */ mtlr r0
/* 80166A98 001626F8 38 21 00 20 */ addi r1, r1, 0x20
/* 80166A9C 001626FC 4E 80 00 20 */ blr
.global func_80166AA0
func_80166AA0:
/* 80166AA0 00162700 38 00 00 01 */ li r0, 1
/* 80166AA4 00162704 90 03 08 64 */ stw r0, 0x864(r3)
/* 80166AA8 00162708 4E 80 00 20 */ blr
.global func_80166AAC
func_80166AAC:
/* 80166AAC 0016270C 38 63 00 02 */ addi r3, r3, 2
/* 80166AB0 00162710 4E 80 00 20 */ blr
.global func_80166AB4
func_80166AB4:
/* 80166AB4 00162714 80 63 08 54 */ lwz r3, 0x854(r3)
/* 80166AB8 00162718 4E 80 00 20 */ blr
.global func_80166ABC
func_80166ABC:
/* 80166ABC 0016271C 80 63 08 4C */ lwz r3, 0x84c(r3)
/* 80166AC0 00162720 4E 80 00 20 */ blr
.global func_80166AC4
func_80166AC4:
/* 80166AC4 00162724 80 63 08 58 */ lwz r3, 0x858(r3)
/* 80166AC8 00162728 4E 80 00 20 */ blr
.global func_80166ACC
func_80166ACC:
/* 80166ACC 0016272C 80 63 08 5C */ lwz r3, 0x85c(r3)
/* 80166AD0 00162730 4E 80 00 20 */ blr
.global func_80166AD4
func_80166AD4:
/* 80166AD4 00162734 80 03 18 88 */ lwz r0, 0x1888(r3)
/* 80166AD8 00162738 2C 00 00 00 */ cmpwi r0, 0
/* 80166ADC 0016273C 41 82 00 0C */ beq lbl_80166AE8
/* 80166AE0 00162740 80 63 18 8C */ lwz r3, 0x188c(r3)
/* 80166AE4 00162744 4E 80 00 20 */ blr
lbl_80166AE8:
/* 80166AE8 00162748 38 60 00 00 */ li r3, 0
/* 80166AEC 0016274C 4E 80 00 20 */ blr
.global func_80166AF0
func_80166AF0:
/* 80166AF0 00162750 80 63 18 84 */ lwz r3, 0x1884(r3)
/* 80166AF4 00162754 7C 03 00 D0 */ neg r0, r3
/* 80166AF8 00162758 7C 00 1B 78 */ or r0, r0, r3
/* 80166AFC 0016275C 54 03 0F FE */ srwi r3, r0, 0x1f
/* 80166B00 00162760 4E 80 00 20 */ blr
.global func_80166B04
func_80166B04:
/* 80166B04 00162764 80 03 18 98 */ lwz r0, 0x1898(r3)
/* 80166B08 00162768 2C 00 00 00 */ cmpwi r0, 0
/* 80166B0C 0016276C 41 82 00 0C */ beq lbl_80166B18
/* 80166B10 00162770 80 63 18 9C */ lwz r3, 0x189c(r3)
/* 80166B14 00162774 4E 80 00 20 */ blr
lbl_80166B18:
/* 80166B18 00162778 38 60 00 00 */ li r3, 0
/* 80166B1C 0016277C 4E 80 00 20 */ blr
.global func_80166B20
func_80166B20:
/* 80166B20 00162780 80 03 18 A0 */ lwz r0, 0x18a0(r3)
/* 80166B24 00162784 2C 00 00 00 */ cmpwi r0, 0
/* 80166B28 00162788 41 82 00 0C */ beq lbl_80166B34
/* 80166B2C 0016278C 80 63 18 A4 */ lwz r3, 0x18a4(r3)
/* 80166B30 00162790 4E 80 00 20 */ blr
lbl_80166B34:
/* 80166B34 00162794 38 60 00 00 */ li r3, 0
/* 80166B38 00162798 4E 80 00 20 */ blr
.global func_80166B3C
func_80166B3C:
/* 80166B3C 0016279C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80166B40 001627A0 7C 08 02 A6 */ mflr r0
/* 80166B44 001627A4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80166B48 001627A8 A0 63 00 00 */ lhz r3, 0(r3)
/* 80166B4C 001627AC 4B FF CF E5 */ bl func_80163B30
/* 80166B50 001627B0 38 00 00 00 */ li r0, 0
/* 80166B54 001627B4 2C 03 00 00 */ cmpwi r3, 0
/* 80166B58 001627B8 90 01 00 08 */ stw r0, 8(r1)
/* 80166B5C 001627BC 41 80 00 18 */ blt lbl_80166B74
/* 80166B60 001627C0 3C 80 80 42 */ lis r4, lbl_8041F364@ha
/* 80166B64 001627C4 38 A1 00 08 */ addi r5, r1, 8
/* 80166B68 001627C8 38 84 F3 64 */ addi r4, r4, lbl_8041F364@l
/* 80166B6C 001627CC 38 C0 00 04 */ li r6, 4
/* 80166B70 001627D0 4B FF DC B5 */ bl func_80164824
lbl_80166B74:
/* 80166B74 001627D4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80166B78 001627D8 7C 08 03 A6 */ mtlr r0
/* 80166B7C 001627DC 38 21 00 10 */ addi r1, r1, 0x10
/* 80166B80 001627E0 4E 80 00 20 */ blr
.global func_80166B84
func_80166B84:
/* 80166B84 001627E4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80166B88 001627E8 7C 08 02 A6 */ mflr r0
/* 80166B8C 001627EC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80166B90 001627F0 A0 63 00 00 */ lhz r3, 0(r3)
/* 80166B94 001627F4 4B FF CF 9D */ bl func_80163B30
/* 80166B98 001627F8 38 00 00 00 */ li r0, 0
/* 80166B9C 001627FC 2C 03 00 00 */ cmpwi r3, 0
/* 80166BA0 00162800 90 01 00 08 */ stw r0, 8(r1)
/* 80166BA4 00162804 41 80 00 18 */ blt lbl_80166BBC
/* 80166BA8 00162808 3C 80 80 42 */ lis r4, lbl_8041F370@ha
/* 80166BAC 0016280C 38 A1 00 08 */ addi r5, r1, 8
/* 80166BB0 00162810 38 84 F3 70 */ addi r4, r4, lbl_8041F370@l
/* 80166BB4 00162814 38 C0 00 04 */ li r6, 4
/* 80166BB8 00162818 4B FF DC 6D */ bl func_80164824
lbl_80166BBC:
/* 80166BBC 0016281C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80166BC0 00162820 7C 08 03 A6 */ mtlr r0
/* 80166BC4 00162824 38 21 00 10 */ addi r1, r1, 0x10
/* 80166BC8 00162828 4E 80 00 20 */ blr
.global func_80166BCC
func_80166BCC:
/* 80166BCC 0016282C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80166BD0 00162830 7C 08 02 A6 */ mflr r0
/* 80166BD4 00162834 90 01 00 14 */ stw r0, 0x14(r1)
/* 80166BD8 00162838 A0 63 00 00 */ lhz r3, 0(r3)
/* 80166BDC 0016283C 4B FF CF 55 */ bl func_80163B30
/* 80166BE0 00162840 38 00 00 00 */ li r0, 0
/* 80166BE4 00162844 2C 03 00 00 */ cmpwi r3, 0
/* 80166BE8 00162848 90 01 00 08 */ stw r0, 8(r1)
/* 80166BEC 0016284C 41 80 00 18 */ blt lbl_80166C04
/* 80166BF0 00162850 3C 80 80 42 */ lis r4, lbl_8041F37C@ha
/* 80166BF4 00162854 38 A1 00 08 */ addi r5, r1, 8
/* 80166BF8 00162858 38 84 F3 7C */ addi r4, r4, lbl_8041F37C@l
/* 80166BFC 0016285C 38 C0 00 04 */ li r6, 4
/* 80166C00 00162860 4B FF DC 25 */ bl func_80164824
lbl_80166C04:
/* 80166C04 00162864 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80166C08 00162868 7C 08 03 A6 */ mtlr r0
/* 80166C0C 0016286C 38 21 00 10 */ addi r1, r1, 0x10
/* 80166C10 00162870 4E 80 00 20 */ blr
.global func_80166C14
func_80166C14:
/* 80166C14 00162874 90 83 19 68 */ stw r4, 0x1968(r3)
/* 80166C18 00162878 4E 80 00 20 */ blr
.global func_80166C1C
func_80166C1C:
/* 80166C1C 0016287C 80 63 19 68 */ lwz r3, 0x1968(r3)
/* 80166C20 00162880 4E 80 00 20 */ blr
.global func_80166C24
func_80166C24:
/* 80166C24 00162884 38 00 00 00 */ li r0, 0
/* 80166C28 00162888 38 80 00 00 */ li r4, 0
/* 80166C2C 0016288C 90 03 18 C4 */ stw r0, 0x18c4(r3)
/* 80166C30 00162890 38 A0 00 0C */ li r5, 0xc
/* 80166C34 00162894 38 63 18 C8 */ addi r3, r3, 0x18c8
/* 80166C38 00162898 4B E9 D4 CC */ b memset
.global func_80166C3C
func_80166C3C:
/* 80166C3C 0016289C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80166C40 001628A0 7C 08 02 A6 */ mflr r0
/* 80166C44 001628A4 38 A0 00 0C */ li r5, 0xc
/* 80166C48 001628A8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80166C4C 001628AC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80166C50 001628B0 7C 7F 1B 78 */ mr r31, r3
/* 80166C54 001628B4 38 63 18 C8 */ addi r3, r3, 0x18c8
/* 80166C58 001628B8 4B E9 D3 A9 */ bl memcpy
/* 80166C5C 001628BC 38 00 00 01 */ li r0, 1
/* 80166C60 001628C0 90 1F 18 C4 */ stw r0, 0x18c4(r31)
/* 80166C64 001628C4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80166C68 001628C8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80166C6C 001628CC 7C 08 03 A6 */ mtlr r0
/* 80166C70 001628D0 38 21 00 10 */ addi r1, r1, 0x10
/* 80166C74 001628D4 4E 80 00 20 */ blr
.global func_80166C78
func_80166C78:
/* 80166C78 001628D8 80 03 18 C4 */ lwz r0, 0x18c4(r3)
/* 80166C7C 001628DC 2C 00 00 00 */ cmpwi r0, 0
/* 80166C80 001628E0 41 82 00 0C */ beq lbl_80166C8C
/* 80166C84 001628E4 38 63 18 C8 */ addi r3, r3, 0x18c8
/* 80166C88 001628E8 4E 80 00 20 */ blr
lbl_80166C8C:
/* 80166C8C 001628EC 38 60 00 00 */ li r3, 0
/* 80166C90 001628F0 4E 80 00 20 */ blr
.global func_80166C94
func_80166C94:
/* 80166C94 001628F4 38 00 00 00 */ li r0, 0
/* 80166C98 001628F8 38 80 00 00 */ li r4, 0
/* 80166C9C 001628FC 90 03 18 D4 */ stw r0, 0x18d4(r3)
/* 80166CA0 00162900 38 A0 00 80 */ li r5, 0x80
/* 80166CA4 00162904 38 63 18 D8 */ addi r3, r3, 0x18d8
/* 80166CA8 00162908 4B E9 D4 5C */ b memset
.global func_80166CAC
func_80166CAC:
/* 80166CAC 0016290C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80166CB0 00162910 7C 08 02 A6 */ mflr r0
/* 80166CB4 00162914 38 A0 00 80 */ li r5, 0x80
/* 80166CB8 00162918 90 01 00 14 */ stw r0, 0x14(r1)
/* 80166CBC 0016291C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80166CC0 00162920 7C 7F 1B 78 */ mr r31, r3
/* 80166CC4 00162924 38 63 18 D8 */ addi r3, r3, 0x18d8
/* 80166CC8 00162928 4B E9 D3 39 */ bl memcpy
/* 80166CCC 0016292C 38 00 00 01 */ li r0, 1
/* 80166CD0 00162930 90 1F 18 D4 */ stw r0, 0x18d4(r31)
/* 80166CD4 00162934 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80166CD8 00162938 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80166CDC 0016293C 7C 08 03 A6 */ mtlr r0
/* 80166CE0 00162940 38 21 00 10 */ addi r1, r1, 0x10
/* 80166CE4 00162944 4E 80 00 20 */ blr
.global func_80166CE8
func_80166CE8:
/* 80166CE8 00162948 80 03 18 D4 */ lwz r0, 0x18d4(r3)
/* 80166CEC 0016294C 2C 00 00 00 */ cmpwi r0, 0
/* 80166CF0 00162950 41 82 00 0C */ beq lbl_80166CFC
/* 80166CF4 00162954 38 63 18 D8 */ addi r3, r3, 0x18d8
/* 80166CF8 00162958 4E 80 00 20 */ blr
lbl_80166CFC:
/* 80166CFC 0016295C 38 60 00 00 */ li r3, 0
/* 80166D00 00162960 4E 80 00 20 */ blr
.global func_80166D04
func_80166D04:
/* 80166D04 00162964 38 80 00 00 */ li r4, 0
/* 80166D08 00162968 38 A0 00 10 */ li r5, 0x10
/* 80166D0C 0016296C 38 63 19 58 */ addi r3, r3, 0x1958
/* 80166D10 00162970 4B E9 D3 F4 */ b memset
.global func_80166D14
func_80166D14:
/* 80166D14 00162974 38 A0 00 10 */ li r5, 0x10
/* 80166D18 00162978 38 63 19 58 */ addi r3, r3, 0x1958
/* 80166D1C 0016297C 4B E9 D2 E4 */ b memcpy
.global func_80166D20
func_80166D20:
/* 80166D20 00162980 80 03 18 7C */ lwz r0, 0x187c(r3)
/* 80166D24 00162984 2C 00 00 00 */ cmpwi r0, 0
/* 80166D28 00162988 41 82 00 0C */ beq lbl_80166D34
/* 80166D2C 0016298C 80 63 18 80 */ lwz r3, 0x1880(r3)
/* 80166D30 00162990 4E 80 00 20 */ blr
lbl_80166D34:
/* 80166D34 00162994 38 60 00 00 */ li r3, 0
/* 80166D38 00162998 4E 80 00 20 */ blr
.global func_80166D3C
func_80166D3C:
/* 80166D3C 0016299C 90 83 08 60 */ stw r4, 0x860(r3)
/* 80166D40 001629A0 4E 80 00 20 */ blr
.global func_80166D44
func_80166D44:
/* 80166D44 001629A4 80 63 08 60 */ lwz r3, 0x860(r3)
/* 80166D48 001629A8 4E 80 00 20 */ blr
.global func_80166D4C
func_80166D4C:
/* 80166D4C 001629AC 38 A0 00 01 */ li r5, 1
/* 80166D50 001629B0 38 6D 9D F8 */ addi r3, r13, lbl_8063F0B8-_SDA_BASE_
/* 80166D54 001629B4 38 80 00 04 */ li r4, 4
/* 80166D58 001629B8 38 00 00 00 */ li r0, 0
/* 80166D5C 001629BC 98 AD 9D F8 */ stb r5, lbl_8063F0B8-_SDA_BASE_(r13)
/* 80166D60 001629C0 B0 83 00 02 */ sth r4, 2(r3)
/* 80166D64 001629C4 98 03 00 04 */ stb r0, 4(r3)
/* 80166D68 001629C8 4E 80 00 20 */ blr
|