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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global func_80163674
func_80163674:
/* 80163674 0015F2D4 3C 60 80 42 */ lis r3, lbl_8041F1A8@ha
/* 80163678 0015F2D8 38 00 00 00 */ li r0, 0
/* 8016367C 0015F2DC 38 63 F1 A8 */ addi r3, r3, lbl_8041F1A8@l
/* 80163680 0015F2E0 98 03 00 02 */ stb r0, 2(r3)
/* 80163684 0015F2E4 98 03 00 03 */ stb r0, 3(r3)
/* 80163688 0015F2E8 98 03 00 04 */ stb r0, 4(r3)
/* 8016368C 0015F2EC 98 03 00 05 */ stb r0, 5(r3)
/* 80163690 0015F2F0 98 03 00 06 */ stb r0, 6(r3)
/* 80163694 0015F2F4 98 03 00 07 */ stb r0, 7(r3)
/* 80163698 0015F2F8 98 03 00 08 */ stb r0, 8(r3)
/* 8016369C 0015F2FC 98 03 00 0C */ stb r0, 0xc(r3)
/* 801636A0 0015F300 98 03 00 0D */ stb r0, 0xd(r3)
/* 801636A4 0015F304 98 03 00 0E */ stb r0, 0xe(r3)
/* 801636A8 0015F308 98 03 00 0F */ stb r0, 0xf(r3)
/* 801636AC 0015F30C 98 03 00 10 */ stb r0, 0x10(r3)
/* 801636B0 0015F310 98 03 00 11 */ stb r0, 0x11(r3)
/* 801636B4 0015F314 98 03 00 12 */ stb r0, 0x12(r3)
/* 801636B8 0015F318 98 03 00 16 */ stb r0, 0x16(r3)
/* 801636BC 0015F31C 98 03 00 17 */ stb r0, 0x17(r3)
/* 801636C0 0015F320 98 03 00 18 */ stb r0, 0x18(r3)
/* 801636C4 0015F324 98 03 00 19 */ stb r0, 0x19(r3)
/* 801636C8 0015F328 98 03 00 1A */ stb r0, 0x1a(r3)
/* 801636CC 0015F32C 98 03 00 1B */ stb r0, 0x1b(r3)
/* 801636D0 0015F330 98 03 00 1C */ stb r0, 0x1c(r3)
/* 801636D4 0015F334 98 03 00 20 */ stb r0, 0x20(r3)
/* 801636D8 0015F338 98 03 00 21 */ stb r0, 0x21(r3)
/* 801636DC 0015F33C 98 03 00 22 */ stb r0, 0x22(r3)
/* 801636E0 0015F340 98 03 00 23 */ stb r0, 0x23(r3)
/* 801636E4 0015F344 98 03 00 24 */ stb r0, 0x24(r3)
/* 801636E8 0015F348 98 03 00 25 */ stb r0, 0x25(r3)
/* 801636EC 0015F34C 98 03 00 26 */ stb r0, 0x26(r3)
/* 801636F0 0015F350 98 03 00 2A */ stb r0, 0x2a(r3)
/* 801636F4 0015F354 98 03 00 2B */ stb r0, 0x2b(r3)
/* 801636F8 0015F358 98 03 00 2C */ stb r0, 0x2c(r3)
/* 801636FC 0015F35C 98 03 00 2D */ stb r0, 0x2d(r3)
/* 80163700 0015F360 98 03 00 2E */ stb r0, 0x2e(r3)
/* 80163704 0015F364 98 03 00 2F */ stb r0, 0x2f(r3)
/* 80163708 0015F368 98 03 00 30 */ stb r0, 0x30(r3)
/* 8016370C 0015F36C 98 03 00 34 */ stb r0, 0x34(r3)
/* 80163710 0015F370 98 03 00 35 */ stb r0, 0x35(r3)
/* 80163714 0015F374 98 03 00 36 */ stb r0, 0x36(r3)
/* 80163718 0015F378 98 03 00 37 */ stb r0, 0x37(r3)
/* 8016371C 0015F37C 98 03 00 38 */ stb r0, 0x38(r3)
/* 80163720 0015F380 98 03 00 39 */ stb r0, 0x39(r3)
/* 80163724 0015F384 98 03 00 3A */ stb r0, 0x3a(r3)
/* 80163728 0015F388 98 03 00 3E */ stb r0, 0x3e(r3)
/* 8016372C 0015F38C 98 03 00 3F */ stb r0, 0x3f(r3)
/* 80163730 0015F390 98 03 00 40 */ stb r0, 0x40(r3)
/* 80163734 0015F394 98 03 00 41 */ stb r0, 0x41(r3)
/* 80163738 0015F398 98 03 00 42 */ stb r0, 0x42(r3)
/* 8016373C 0015F39C 98 03 00 43 */ stb r0, 0x43(r3)
/* 80163740 0015F3A0 98 03 00 44 */ stb r0, 0x44(r3)
/* 80163744 0015F3A4 98 03 00 48 */ stb r0, 0x48(r3)
/* 80163748 0015F3A8 98 03 00 49 */ stb r0, 0x49(r3)
/* 8016374C 0015F3AC 98 03 00 4A */ stb r0, 0x4a(r3)
/* 80163750 0015F3B0 98 03 00 4B */ stb r0, 0x4b(r3)
/* 80163754 0015F3B4 98 03 00 4C */ stb r0, 0x4c(r3)
/* 80163758 0015F3B8 98 03 00 4D */ stb r0, 0x4d(r3)
/* 8016375C 0015F3BC 98 03 00 4E */ stb r0, 0x4e(r3)
/* 80163760 0015F3C0 4E 80 00 20 */ blr
.global func_80163764
func_80163764:
/* 80163764 0015F3C4 3C 60 80 42 */ lis r3, lbl_8041F1A8@ha
/* 80163768 0015F3C8 38 00 00 01 */ li r0, 1
/* 8016376C 0015F3CC 38 63 F1 A8 */ addi r3, r3, lbl_8041F1A8@l
/* 80163770 0015F3D0 98 03 00 08 */ stb r0, 8(r3)
/* 80163774 0015F3D4 98 03 00 12 */ stb r0, 0x12(r3)
/* 80163778 0015F3D8 98 03 00 1C */ stb r0, 0x1c(r3)
/* 8016377C 0015F3DC 98 03 00 26 */ stb r0, 0x26(r3)
/* 80163780 0015F3E0 98 03 00 30 */ stb r0, 0x30(r3)
/* 80163784 0015F3E4 98 03 00 3A */ stb r0, 0x3a(r3)
/* 80163788 0015F3E8 98 03 00 44 */ stb r0, 0x44(r3)
/* 8016378C 0015F3EC 98 03 00 4E */ stb r0, 0x4e(r3)
/* 80163790 0015F3F0 4E 80 00 20 */ blr
.global func_80163794
func_80163794:
/* 80163794 0015F3F4 3C 60 80 42 */ lis r3, lbl_8041F1A8@ha
/* 80163798 0015F3F8 38 00 00 04 */ li r0, 4
/* 8016379C 0015F3FC 38 63 F1 A8 */ addi r3, r3, lbl_8041F1A8@l
/* 801637A0 0015F400 38 80 00 00 */ li r4, 0
/* 801637A4 0015F404 7C 09 03 A6 */ mtctr r0
lbl_801637A8:
/* 801637A8 0015F408 88 03 00 08 */ lbz r0, 8(r3)
/* 801637AC 0015F40C 2C 00 00 00 */ cmpwi r0, 0
/* 801637B0 0015F410 41 82 00 74 */ beq lbl_80163824
/* 801637B4 0015F414 88 03 00 07 */ lbz r0, 7(r3)
/* 801637B8 0015F418 2C 00 00 00 */ cmpwi r0, 0
/* 801637BC 0015F41C 40 82 00 40 */ bne lbl_801637FC
/* 801637C0 0015F420 88 03 00 06 */ lbz r0, 6(r3)
/* 801637C4 0015F424 2C 00 00 00 */ cmpwi r0, 0
/* 801637C8 0015F428 40 82 00 34 */ bne lbl_801637FC
/* 801637CC 0015F42C 88 03 00 05 */ lbz r0, 5(r3)
/* 801637D0 0015F430 2C 00 00 00 */ cmpwi r0, 0
/* 801637D4 0015F434 40 82 00 28 */ bne lbl_801637FC
/* 801637D8 0015F438 88 03 00 04 */ lbz r0, 4(r3)
/* 801637DC 0015F43C 2C 00 00 00 */ cmpwi r0, 0
/* 801637E0 0015F440 40 82 00 1C */ bne lbl_801637FC
/* 801637E4 0015F444 88 03 00 03 */ lbz r0, 3(r3)
/* 801637E8 0015F448 2C 00 00 00 */ cmpwi r0, 0
/* 801637EC 0015F44C 40 82 00 10 */ bne lbl_801637FC
/* 801637F0 0015F450 88 03 00 02 */ lbz r0, 2(r3)
/* 801637F4 0015F454 2C 00 00 00 */ cmpwi r0, 0
/* 801637F8 0015F458 41 82 00 0C */ beq lbl_80163804
lbl_801637FC:
/* 801637FC 0015F45C 38 00 00 00 */ li r0, 0
/* 80163800 0015F460 48 00 00 08 */ b lbl_80163808
lbl_80163804:
/* 80163804 0015F464 38 00 00 01 */ li r0, 1
lbl_80163808:
/* 80163808 0015F468 2C 00 00 00 */ cmpwi r0, 0
/* 8016380C 0015F46C 40 82 00 18 */ bne lbl_80163824
/* 80163810 0015F470 A0 03 00 00 */ lhz r0, 0(r3)
/* 80163814 0015F474 28 00 FF FF */ cmplwi r0, 0xffff
/* 80163818 0015F478 40 82 00 0C */ bne lbl_80163824
/* 8016381C 0015F47C 38 60 00 00 */ li r3, 0
/* 80163820 0015F480 4E 80 00 20 */ blr
lbl_80163824:
/* 80163824 0015F484 88 03 00 12 */ lbz r0, 0x12(r3)
/* 80163828 0015F488 2C 00 00 00 */ cmpwi r0, 0
/* 8016382C 0015F48C 41 82 00 74 */ beq lbl_801638A0
/* 80163830 0015F490 88 03 00 11 */ lbz r0, 0x11(r3)
/* 80163834 0015F494 2C 00 00 00 */ cmpwi r0, 0
/* 80163838 0015F498 40 82 00 40 */ bne lbl_80163878
/* 8016383C 0015F49C 88 03 00 10 */ lbz r0, 0x10(r3)
/* 80163840 0015F4A0 2C 00 00 00 */ cmpwi r0, 0
/* 80163844 0015F4A4 40 82 00 34 */ bne lbl_80163878
/* 80163848 0015F4A8 88 03 00 0F */ lbz r0, 0xf(r3)
/* 8016384C 0015F4AC 2C 00 00 00 */ cmpwi r0, 0
/* 80163850 0015F4B0 40 82 00 28 */ bne lbl_80163878
/* 80163854 0015F4B4 88 03 00 0E */ lbz r0, 0xe(r3)
/* 80163858 0015F4B8 2C 00 00 00 */ cmpwi r0, 0
/* 8016385C 0015F4BC 40 82 00 1C */ bne lbl_80163878
/* 80163860 0015F4C0 88 03 00 0D */ lbz r0, 0xd(r3)
/* 80163864 0015F4C4 2C 00 00 00 */ cmpwi r0, 0
/* 80163868 0015F4C8 40 82 00 10 */ bne lbl_80163878
/* 8016386C 0015F4CC 88 03 00 0C */ lbz r0, 0xc(r3)
/* 80163870 0015F4D0 2C 00 00 00 */ cmpwi r0, 0
/* 80163874 0015F4D4 41 82 00 0C */ beq lbl_80163880
lbl_80163878:
/* 80163878 0015F4D8 38 00 00 00 */ li r0, 0
/* 8016387C 0015F4DC 48 00 00 08 */ b lbl_80163884
lbl_80163880:
/* 80163880 0015F4E0 38 00 00 01 */ li r0, 1
lbl_80163884:
/* 80163884 0015F4E4 2C 00 00 00 */ cmpwi r0, 0
/* 80163888 0015F4E8 40 82 00 18 */ bne lbl_801638A0
/* 8016388C 0015F4EC A0 03 00 0A */ lhz r0, 0xa(r3)
/* 80163890 0015F4F0 28 00 FF FF */ cmplwi r0, 0xffff
/* 80163894 0015F4F4 40 82 00 0C */ bne lbl_801638A0
/* 80163898 0015F4F8 38 60 00 00 */ li r3, 0
/* 8016389C 0015F4FC 4E 80 00 20 */ blr
lbl_801638A0:
/* 801638A0 0015F500 38 63 00 14 */ addi r3, r3, 0x14
/* 801638A4 0015F504 38 84 00 01 */ addi r4, r4, 1
/* 801638A8 0015F508 42 00 FF 00 */ bdnz lbl_801637A8
/* 801638AC 0015F50C 38 60 00 01 */ li r3, 1
/* 801638B0 0015F510 4E 80 00 20 */ blr
.global func_801638B4
func_801638B4:
/* 801638B4 0015F514 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801638B8 0015F518 7C 08 02 A6 */ mflr r0
/* 801638BC 0015F51C 90 01 00 14 */ stw r0, 0x14(r1)
/* 801638C0 0015F520 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801638C4 0015F524 3F E0 80 42 */ lis r31, lbl_8041F1A8@ha
/* 801638C8 0015F528 3B FF F1 A8 */ addi r31, r31, lbl_8041F1A8@l
/* 801638CC 0015F52C 93 C1 00 08 */ stw r30, 8(r1)
/* 801638D0 0015F530 3B C0 00 00 */ li r30, 0
lbl_801638D4:
/* 801638D4 0015F534 88 1F 00 07 */ lbz r0, 7(r31)
/* 801638D8 0015F538 2C 00 00 00 */ cmpwi r0, 0
/* 801638DC 0015F53C 40 82 00 40 */ bne lbl_8016391C
/* 801638E0 0015F540 88 1F 00 06 */ lbz r0, 6(r31)
/* 801638E4 0015F544 2C 00 00 00 */ cmpwi r0, 0
/* 801638E8 0015F548 40 82 00 34 */ bne lbl_8016391C
/* 801638EC 0015F54C 88 1F 00 05 */ lbz r0, 5(r31)
/* 801638F0 0015F550 2C 00 00 00 */ cmpwi r0, 0
/* 801638F4 0015F554 40 82 00 28 */ bne lbl_8016391C
/* 801638F8 0015F558 88 1F 00 04 */ lbz r0, 4(r31)
/* 801638FC 0015F55C 2C 00 00 00 */ cmpwi r0, 0
/* 80163900 0015F560 40 82 00 1C */ bne lbl_8016391C
/* 80163904 0015F564 88 1F 00 03 */ lbz r0, 3(r31)
/* 80163908 0015F568 2C 00 00 00 */ cmpwi r0, 0
/* 8016390C 0015F56C 40 82 00 10 */ bne lbl_8016391C
/* 80163910 0015F570 88 1F 00 02 */ lbz r0, 2(r31)
/* 80163914 0015F574 2C 00 00 00 */ cmpwi r0, 0
/* 80163918 0015F578 41 82 00 0C */ beq lbl_80163924
lbl_8016391C:
/* 8016391C 0015F57C 38 00 00 00 */ li r0, 0
/* 80163920 0015F580 48 00 00 08 */ b lbl_80163928
lbl_80163924:
/* 80163924 0015F584 38 00 00 01 */ li r0, 1
lbl_80163928:
/* 80163928 0015F588 2C 00 00 00 */ cmpwi r0, 0
/* 8016392C 0015F58C 40 82 00 48 */ bne lbl_80163974
/* 80163930 0015F590 88 1F 00 08 */ lbz r0, 8(r31)
/* 80163934 0015F594 2C 00 00 00 */ cmpwi r0, 0
/* 80163938 0015F598 41 82 00 3C */ beq lbl_80163974
/* 8016393C 0015F59C A0 1F 00 00 */ lhz r0, 0(r31)
/* 80163940 0015F5A0 28 00 FF FF */ cmplwi r0, 0xffff
/* 80163944 0015F5A4 40 82 00 0C */ bne lbl_80163950
/* 80163948 0015F5A8 38 60 00 00 */ li r3, 0
/* 8016394C 0015F5AC 48 00 00 3C */ b lbl_80163988
lbl_80163950:
/* 80163950 0015F5B0 7F C3 F3 78 */ mr r3, r30
/* 80163954 0015F5B4 48 00 13 19 */ bl func_80164C6C
/* 80163958 0015F5B8 2C 03 00 00 */ cmpwi r3, 0
/* 8016395C 0015F5BC 41 82 00 10 */ beq lbl_8016396C
/* 80163960 0015F5C0 48 00 1F CD */ bl func_8016592C
/* 80163964 0015F5C4 2C 03 00 00 */ cmpwi r3, 0
/* 80163968 0015F5C8 40 82 00 0C */ bne lbl_80163974
lbl_8016396C:
/* 8016396C 0015F5CC 38 60 00 00 */ li r3, 0
/* 80163970 0015F5D0 48 00 00 18 */ b lbl_80163988
lbl_80163974:
/* 80163974 0015F5D4 3B DE 00 01 */ addi r30, r30, 1
/* 80163978 0015F5D8 3B FF 00 0A */ addi r31, r31, 0xa
/* 8016397C 0015F5DC 2C 1E 00 08 */ cmpwi r30, 8
/* 80163980 0015F5E0 41 80 FF 54 */ blt lbl_801638D4
/* 80163984 0015F5E4 38 60 00 01 */ li r3, 1
lbl_80163988:
/* 80163988 0015F5E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8016398C 0015F5EC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80163990 0015F5F0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80163994 0015F5F4 7C 08 03 A6 */ mtlr r0
/* 80163998 0015F5F8 38 21 00 10 */ addi r1, r1, 0x10
/* 8016399C 0015F5FC 4E 80 00 20 */ blr
.global func_801639A0
func_801639A0:
/* 801639A0 0015F600 3C C0 80 42 */ lis r6, lbl_8041F1A8@ha
/* 801639A4 0015F604 38 00 00 08 */ li r0, 8
/* 801639A8 0015F608 38 C6 F1 A8 */ addi r6, r6, lbl_8041F1A8@l
/* 801639AC 0015F60C 38 E0 00 00 */ li r7, 0
/* 801639B0 0015F610 7C 09 03 A6 */ mtctr r0
lbl_801639B4:
/* 801639B4 0015F614 A0 06 00 00 */ lhz r0, 0(r6)
/* 801639B8 0015F618 28 00 FF FF */ cmplwi r0, 0xffff
/* 801639BC 0015F61C 40 82 00 D0 */ bne lbl_80163A8C
/* 801639C0 0015F620 88 06 00 08 */ lbz r0, 8(r6)
/* 801639C4 0015F624 2C 00 00 00 */ cmpwi r0, 0
/* 801639C8 0015F628 41 82 00 78 */ beq lbl_80163A40
/* 801639CC 0015F62C 88 A6 00 07 */ lbz r5, 7(r6)
/* 801639D0 0015F630 88 04 00 05 */ lbz r0, 5(r4)
/* 801639D4 0015F634 7C 05 00 40 */ cmplw r5, r0
/* 801639D8 0015F638 40 82 00 54 */ bne lbl_80163A2C
/* 801639DC 0015F63C 88 A6 00 06 */ lbz r5, 6(r6)
/* 801639E0 0015F640 88 04 00 04 */ lbz r0, 4(r4)
/* 801639E4 0015F644 7C 05 00 40 */ cmplw r5, r0
/* 801639E8 0015F648 40 82 00 44 */ bne lbl_80163A2C
/* 801639EC 0015F64C 88 A6 00 05 */ lbz r5, 5(r6)
/* 801639F0 0015F650 88 04 00 03 */ lbz r0, 3(r4)
/* 801639F4 0015F654 7C 05 00 40 */ cmplw r5, r0
/* 801639F8 0015F658 40 82 00 34 */ bne lbl_80163A2C
/* 801639FC 0015F65C 88 A6 00 04 */ lbz r5, 4(r6)
/* 80163A00 0015F660 88 04 00 02 */ lbz r0, 2(r4)
/* 80163A04 0015F664 7C 05 00 40 */ cmplw r5, r0
/* 80163A08 0015F668 40 82 00 24 */ bne lbl_80163A2C
/* 80163A0C 0015F66C 88 A6 00 03 */ lbz r5, 3(r6)
/* 80163A10 0015F670 88 04 00 01 */ lbz r0, 1(r4)
/* 80163A14 0015F674 7C 05 00 40 */ cmplw r5, r0
/* 80163A18 0015F678 40 82 00 14 */ bne lbl_80163A2C
/* 80163A1C 0015F67C 88 A6 00 02 */ lbz r5, 2(r6)
/* 80163A20 0015F680 88 04 00 00 */ lbz r0, 0(r4)
/* 80163A24 0015F684 7C 05 00 40 */ cmplw r5, r0
/* 80163A28 0015F688 41 82 00 0C */ beq lbl_80163A34
lbl_80163A2C:
/* 80163A2C 0015F68C 38 00 00 01 */ li r0, 1
/* 80163A30 0015F690 48 00 00 08 */ b lbl_80163A38
lbl_80163A34:
/* 80163A34 0015F694 38 00 00 00 */ li r0, 0
lbl_80163A38:
/* 80163A38 0015F698 2C 00 00 00 */ cmpwi r0, 0
/* 80163A3C 0015F69C 40 82 00 50 */ bne lbl_80163A8C
lbl_80163A40:
/* 80163A40 0015F6A0 1C 07 00 0A */ mulli r0, r7, 0xa
/* 80163A44 0015F6A4 3C A0 80 42 */ lis r5, lbl_8041F1A8@ha
/* 80163A48 0015F6A8 38 A5 F1 A8 */ addi r5, r5, lbl_8041F1A8@l
/* 80163A4C 0015F6AC 7C 65 03 2E */ sthx r3, r5, r0
/* 80163A50 0015F6B0 7C A5 02 14 */ add r5, r5, r0
/* 80163A54 0015F6B4 54 E3 04 3E */ clrlwi r3, r7, 0x10
/* 80163A58 0015F6B8 88 04 00 00 */ lbz r0, 0(r4)
/* 80163A5C 0015F6BC 98 05 00 02 */ stb r0, 2(r5)
/* 80163A60 0015F6C0 88 04 00 01 */ lbz r0, 1(r4)
/* 80163A64 0015F6C4 98 05 00 03 */ stb r0, 3(r5)
/* 80163A68 0015F6C8 88 04 00 02 */ lbz r0, 2(r4)
/* 80163A6C 0015F6CC 98 05 00 04 */ stb r0, 4(r5)
/* 80163A70 0015F6D0 88 04 00 03 */ lbz r0, 3(r4)
/* 80163A74 0015F6D4 98 05 00 05 */ stb r0, 5(r5)
/* 80163A78 0015F6D8 88 04 00 04 */ lbz r0, 4(r4)
/* 80163A7C 0015F6DC 98 05 00 06 */ stb r0, 6(r5)
/* 80163A80 0015F6E0 88 04 00 05 */ lbz r0, 5(r4)
/* 80163A84 0015F6E4 98 05 00 07 */ stb r0, 7(r5)
/* 80163A88 0015F6E8 4E 80 00 20 */ blr
lbl_80163A8C:
/* 80163A8C 0015F6EC 38 C6 00 0A */ addi r6, r6, 0xa
/* 80163A90 0015F6F0 38 E7 00 01 */ addi r7, r7, 1
/* 80163A94 0015F6F4 42 00 FF 20 */ bdnz lbl_801639B4
/* 80163A98 0015F6F8 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
/* 80163A9C 0015F6FC 38 63 FF FF */ addi r3, r3, 0x0000FFFF@l
/* 80163AA0 0015F700 4E 80 00 20 */ blr
.global func_80163AA4
func_80163AA4:
/* 80163AA4 0015F704 28 03 00 08 */ cmplwi r3, 8
/* 80163AA8 0015F708 4C 80 00 20 */ bgelr
/* 80163AAC 0015F70C 1C A3 00 0A */ mulli r5, r3, 0xa
/* 80163AB0 0015F710 3C 60 80 42 */ lis r3, lbl_8041F1A8@ha
/* 80163AB4 0015F714 38 63 F1 A8 */ addi r3, r3, lbl_8041F1A8@l
/* 80163AB8 0015F718 7C 63 2A 14 */ add r3, r3, r5
/* 80163ABC 0015F71C 88 03 00 08 */ lbz r0, 8(r3)
/* 80163AC0 0015F720 2C 00 00 00 */ cmpwi r0, 0
/* 80163AC4 0015F724 40 82 00 20 */ bne lbl_80163AE4
/* 80163AC8 0015F728 38 00 00 00 */ li r0, 0
/* 80163ACC 0015F72C 98 03 00 02 */ stb r0, 2(r3)
/* 80163AD0 0015F730 98 03 00 03 */ stb r0, 3(r3)
/* 80163AD4 0015F734 98 03 00 04 */ stb r0, 4(r3)
/* 80163AD8 0015F738 98 03 00 05 */ stb r0, 5(r3)
/* 80163ADC 0015F73C 98 03 00 06 */ stb r0, 6(r3)
/* 80163AE0 0015F740 98 03 00 07 */ stb r0, 7(r3)
lbl_80163AE4:
/* 80163AE4 0015F744 3C 80 00 01 */ lis r4, 0x0000FFFF@ha
/* 80163AE8 0015F748 3C 60 80 42 */ lis r3, lbl_8041F1A8@ha
/* 80163AEC 0015F74C 38 04 FF FF */ addi r0, r4, 0x0000FFFF@l
/* 80163AF0 0015F750 38 63 F1 A8 */ addi r3, r3, lbl_8041F1A8@l
/* 80163AF4 0015F754 7C 03 2B 2E */ sthx r0, r3, r5
/* 80163AF8 0015F758 4E 80 00 20 */ blr
.global func_80163AFC
func_80163AFC:
/* 80163AFC 0015F75C 2C 03 00 08 */ cmpwi r3, 8
/* 80163B00 0015F760 41 80 00 0C */ blt lbl_80163B0C
/* 80163B04 0015F764 38 60 FF FF */ li r3, -1
/* 80163B08 0015F768 4E 80 00 20 */ blr
lbl_80163B0C:
/* 80163B0C 0015F76C 1C 03 00 0A */ mulli r0, r3, 0xa
/* 80163B10 0015F770 3C 80 80 42 */ lis r4, lbl_8041F1A8@ha
/* 80163B14 0015F774 38 60 FF FF */ li r3, -1
/* 80163B18 0015F778 38 84 F1 A8 */ addi r4, r4, lbl_8041F1A8@l
/* 80163B1C 0015F77C 7C 04 02 2E */ lhzx r0, r4, r0
/* 80163B20 0015F780 28 00 FF FF */ cmplwi r0, 0xffff
/* 80163B24 0015F784 4D 82 00 20 */ beqlr
/* 80163B28 0015F788 7C 03 03 78 */ mr r3, r0
/* 80163B2C 0015F78C 4E 80 00 20 */ blr
.global func_80163B30
func_80163B30:
/* 80163B30 0015F790 28 03 00 09 */ cmplwi r3, 9
/* 80163B34 0015F794 41 80 00 0C */ blt lbl_80163B40
/* 80163B38 0015F798 38 60 FF FF */ li r3, -1
/* 80163B3C 0015F79C 4E 80 00 20 */ blr
lbl_80163B40:
/* 80163B40 0015F7A0 3C 80 80 49 */ lis r4, lbl_804895E0@ha
/* 80163B44 0015F7A4 54 63 13 BA */ rlwinm r3, r3, 2, 0xe, 0x1d
/* 80163B48 0015F7A8 38 84 95 E0 */ addi r4, r4, lbl_804895E0@l
/* 80163B4C 0015F7AC 7C 04 1A 2E */ lhzx r0, r4, r3
/* 80163B50 0015F7B0 2C 00 00 00 */ cmpwi r0, 0
/* 80163B54 0015F7B4 40 82 00 0C */ bne lbl_80163B60
/* 80163B58 0015F7B8 38 60 FF FF */ li r3, -1
/* 80163B5C 0015F7BC 4E 80 00 20 */ blr
lbl_80163B60:
/* 80163B60 0015F7C0 7C 84 1A 14 */ add r4, r4, r3
/* 80163B64 0015F7C4 38 60 FF FF */ li r3, -1
/* 80163B68 0015F7C8 A0 04 00 02 */ lhz r0, 2(r4)
/* 80163B6C 0015F7CC 28 00 FF FF */ cmplwi r0, 0xffff
/* 80163B70 0015F7D0 4D 82 00 20 */ beqlr
/* 80163B74 0015F7D4 7C 03 03 78 */ mr r3, r0
/* 80163B78 0015F7D8 4E 80 00 20 */ blr
.global func_80163B7C
func_80163B7C:
/* 80163B7C 0015F7DC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80163B80 0015F7E0 7C 08 02 A6 */ mflr r0
/* 80163B84 0015F7E4 3C 80 80 49 */ lis r4, lbl_804895E0@ha
/* 80163B88 0015F7E8 38 A0 00 24 */ li r5, 0x24
/* 80163B8C 0015F7EC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80163B90 0015F7F0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80163B94 0015F7F4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80163B98 0015F7F8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80163B9C 0015F7FC 7C 7D 1B 78 */ mr r29, r3
/* 80163BA0 0015F800 38 64 95 E0 */ addi r3, r4, lbl_804895E0@l
/* 80163BA4 0015F804 38 80 00 00 */ li r4, 0
/* 80163BA8 0015F808 4B EA 05 5D */ bl memset
/* 80163BAC 0015F80C 3F E0 80 49 */ lis r31, lbl_80489604@ha
/* 80163BB0 0015F810 3B C0 00 00 */ li r30, 0
/* 80163BB4 0015F814 3B FF 96 04 */ addi r31, r31, lbl_80489604@l
lbl_80163BB8:
/* 80163BB8 0015F818 48 07 6F 71 */ bl func_801DAB28
/* 80163BBC 0015F81C 2C 03 00 00 */ cmpwi r3, 0
/* 80163BC0 0015F820 41 82 00 14 */ beq lbl_80163BD4
/* 80163BC4 0015F824 80 6D 96 2C */ lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 80163BC8 0015F828 38 80 19 6C */ li r4, 0x196c
/* 80163BCC 0015F82C 48 07 70 C9 */ bl func_801DAC94
/* 80163BD0 0015F830 48 00 00 08 */ b lbl_80163BD8
lbl_80163BD4:
/* 80163BD4 0015F834 38 60 00 00 */ li r3, 0
lbl_80163BD8:
/* 80163BD8 0015F838 90 7F 00 00 */ stw r3, 0(r31)
/* 80163BDC 0015F83C 7F A4 EB 78 */ mr r4, r29
/* 80163BE0 0015F840 48 00 1C B5 */ bl func_80165894
/* 80163BE4 0015F844 3B DE 00 01 */ addi r30, r30, 1
/* 80163BE8 0015F848 3B FF 00 04 */ addi r31, r31, 4
/* 80163BEC 0015F84C 2C 1E 00 09 */ cmpwi r30, 9
/* 80163BF0 0015F850 41 80 FF C8 */ blt lbl_80163BB8
/* 80163BF4 0015F854 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80163BF8 0015F858 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80163BFC 0015F85C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80163C00 0015F860 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80163C04 0015F864 7C 08 03 A6 */ mtlr r0
/* 80163C08 0015F868 38 21 00 20 */ addi r1, r1, 0x20
/* 80163C0C 0015F86C 4E 80 00 20 */ blr
.global func_80163C10
func_80163C10:
/* 80163C10 0015F870 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80163C14 0015F874 7C 08 02 A6 */ mflr r0
/* 80163C18 0015F878 90 01 00 14 */ stw r0, 0x14(r1)
/* 80163C1C 0015F87C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80163C20 0015F880 3F E0 80 49 */ lis r31, lbl_80489604@ha
/* 80163C24 0015F884 3B FF 96 04 */ addi r31, r31, lbl_80489604@l
/* 80163C28 0015F888 93 C1 00 08 */ stw r30, 8(r1)
/* 80163C2C 0015F88C 3B C0 00 00 */ li r30, 0
lbl_80163C30:
/* 80163C30 0015F890 7F C3 F3 78 */ mr r3, r30
/* 80163C34 0015F894 4B FF FE C9 */ bl func_80163AFC
/* 80163C38 0015F898 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 80163C3C 0015F89C 28 00 FF FF */ cmplwi r0, 0xffff
/* 80163C40 0015F8A0 41 82 00 10 */ beq lbl_80163C50
/* 80163C44 0015F8A4 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 80163C48 0015F8A8 7C 7F 00 2E */ lwzx r3, r31, r0
/* 80163C4C 0015F8AC 48 00 2E 61 */ bl func_80166AAC
lbl_80163C50:
/* 80163C50 0015F8B0 3B DE 00 01 */ addi r30, r30, 1
/* 80163C54 0015F8B4 2C 1E 00 08 */ cmpwi r30, 8
/* 80163C58 0015F8B8 41 80 FF D8 */ blt lbl_80163C30
/* 80163C5C 0015F8BC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80163C60 0015F8C0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80163C64 0015F8C4 83 C1 00 08 */ lwz r30, 8(r1)
/* 80163C68 0015F8C8 7C 08 03 A6 */ mtlr r0
/* 80163C6C 0015F8CC 38 21 00 10 */ addi r1, r1, 0x10
/* 80163C70 0015F8D0 4E 80 00 20 */ blr
.global func_80163C74
func_80163C74:
/* 80163C74 0015F8D4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80163C78 0015F8D8 7C 08 02 A6 */ mflr r0
/* 80163C7C 0015F8DC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80163C80 0015F8E0 80 0D 9D C0 */ lwz r0, lbl_8063F080-_SDA_BASE_(r13)
/* 80163C84 0015F8E4 2C 00 00 00 */ cmpwi r0, 0
/* 80163C88 0015F8E8 40 82 00 14 */ bne lbl_80163C9C
/* 80163C8C 0015F8EC 48 0F A3 45 */ bl func_8025DFD0
/* 80163C90 0015F8F0 38 80 05 88 */ li r4, 0x588
/* 80163C94 0015F8F4 48 0F A3 2D */ bl func_8025DFC0
/* 80163C98 0015F8F8 90 6D 9D C0 */ stw r3, lbl_8063F080-_SDA_BASE_(r13)
lbl_80163C9C:
/* 80163C9C 0015F8FC 38 60 00 00 */ li r3, 0
/* 80163CA0 0015F900 48 00 01 25 */ bl func_80163DC4
/* 80163CA4 0015F904 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80163CA8 0015F908 7C 08 03 A6 */ mtlr r0
/* 80163CAC 0015F90C 38 21 00 10 */ addi r1, r1, 0x10
/* 80163CB0 0015F910 4E 80 00 20 */ blr
.global func_80163CB4
func_80163CB4:
/* 80163CB4 0015F914 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80163CB8 0015F918 7C 08 02 A6 */ mflr r0
/* 80163CBC 0015F91C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80163CC0 0015F920 39 61 00 30 */ addi r11, r1, 0x30
/* 80163CC4 0015F924 48 06 34 59 */ bl _savegpr_24
/* 80163CC8 0015F928 80 0D 83 28 */ lwz r0, lbl_8063D5E8-_SDA_BASE_(r13)
/* 80163CCC 0015F92C 7C 78 1B 78 */ mr r24, r3
/* 80163CD0 0015F930 83 8D 9D C0 */ lwz r28, lbl_8063F080-_SDA_BASE_(r13)
/* 80163CD4 0015F934 2C 00 00 00 */ cmpwi r0, 0
/* 80163CD8 0015F938 40 82 00 0C */ bne lbl_80163CE4
/* 80163CDC 0015F93C 38 60 FF FF */ li r3, -1
/* 80163CE0 0015F940 48 00 00 CC */ b lbl_80163DAC
lbl_80163CE4:
/* 80163CE4 0015F944 2C 1C 00 00 */ cmpwi r28, 0
/* 80163CE8 0015F948 40 82 00 0C */ bne lbl_80163CF4
/* 80163CEC 0015F94C 38 60 FF FF */ li r3, -1
/* 80163CF0 0015F950 48 00 00 BC */ b lbl_80163DAC
lbl_80163CF4:
/* 80163CF4 0015F954 3B 60 00 00 */ li r27, 0
/* 80163CF8 0015F958 48 0F A2 D9 */ bl func_8025DFD0
/* 80163CFC 0015F95C 38 80 00 A4 */ li r4, 0xa4
/* 80163D00 0015F960 48 0F A2 C1 */ bl func_8025DFC0
/* 80163D04 0015F964 7C 7A 1B 78 */ mr r26, r3
/* 80163D08 0015F968 7F 9D E3 78 */ mr r29, r28
/* 80163D0C 0015F96C 3B F8 02 86 */ addi r31, r24, 0x286
/* 80163D10 0015F970 3B D8 01 FC */ addi r30, r24, 0x1fc
/* 80163D14 0015F974 3B 20 00 00 */ li r25, 0
lbl_80163D18:
/* 80163D18 0015F978 88 1F 00 00 */ lbz r0, 0(r31)
/* 80163D1C 0015F97C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80163D20 0015F980 41 82 00 54 */ beq lbl_80163D74
/* 80163D24 0015F984 7F C3 F3 78 */ mr r3, r30
/* 80163D28 0015F988 7F 44 D3 78 */ mr r4, r26
/* 80163D2C 0015F98C 48 27 8A 1D */ bl func_803DC748
/* 80163D30 0015F990 7F 43 D3 78 */ mr r3, r26
/* 80163D34 0015F994 48 27 9C 39 */ bl func_803DD96C
/* 80163D38 0015F998 7C 78 1B 78 */ mr r24, r3
/* 80163D3C 0015F99C 7F 43 D3 78 */ mr r3, r26
/* 80163D40 0015F9A0 7F A4 EB 78 */ mr r4, r29
/* 80163D44 0015F9A4 38 A0 00 01 */ li r5, 1
/* 80163D48 0015F9A8 48 27 D4 FD */ bl func_803E1244
/* 80163D4C 0015F9AC 7F 43 D3 78 */ mr r3, r26
/* 80163D50 0015F9B0 7F 04 C3 78 */ mr r4, r24
/* 80163D54 0015F9B4 48 27 65 59 */ bl func_803DA2AC
/* 80163D58 0015F9B8 3B 39 00 01 */ addi r25, r25, 1
/* 80163D5C 0015F9BC 3B 7B 00 01 */ addi r27, r27, 1
/* 80163D60 0015F9C0 2C 19 00 06 */ cmpwi r25, 6
/* 80163D64 0015F9C4 3B FF 00 8C */ addi r31, r31, 0x8c
/* 80163D68 0015F9C8 3B DE 00 8C */ addi r30, r30, 0x8c
/* 80163D6C 0015F9CC 3B BD 00 EC */ addi r29, r29, 0xec
/* 80163D70 0015F9D0 41 80 FF A8 */ blt lbl_80163D18
lbl_80163D74:
/* 80163D74 0015F9D4 48 0F A2 5D */ bl func_8025DFD0
/* 80163D78 0015F9D8 7F 44 D3 78 */ mr r4, r26
/* 80163D7C 0015F9DC 48 0F A2 4D */ bl func_8025DFC8
/* 80163D80 0015F9E0 2C 1B 00 00 */ cmpwi r27, 0
/* 80163D84 0015F9E4 40 82 00 0C */ bne lbl_80163D90
/* 80163D88 0015F9E8 38 60 FF FE */ li r3, -2
/* 80163D8C 0015F9EC 48 00 00 20 */ b lbl_80163DAC
lbl_80163D90:
/* 80163D90 0015F9F0 38 00 00 00 */ li r0, 0
/* 80163D94 0015F9F4 90 0D 83 28 */ stw r0, lbl_8063D5E8-_SDA_BASE_(r13)
/* 80163D98 0015F9F8 48 0F A2 39 */ bl func_8025DFD0
/* 80163D9C 0015F9FC 48 0F A5 81 */ bl func_8025E31C
/* 80163DA0 0015FA00 7F 84 E3 78 */ mr r4, r28
/* 80163DA4 0015FA04 7F 65 DB 78 */ mr r5, r27
/* 80163DA8 0015FA08 48 10 36 15 */ bl func_802673BC
lbl_80163DAC:
/* 80163DAC 0015FA0C 39 61 00 30 */ addi r11, r1, 0x30
/* 80163DB0 0015FA10 48 06 33 B9 */ bl _restgpr_24
/* 80163DB4 0015FA14 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80163DB8 0015FA18 7C 08 03 A6 */ mtlr r0
/* 80163DBC 0015FA1C 38 21 00 30 */ addi r1, r1, 0x30
/* 80163DC0 0015FA20 4E 80 00 20 */ blr
.global func_80163DC4
func_80163DC4:
/* 80163DC4 0015FA24 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80163DC8 0015FA28 7C 08 02 A6 */ mflr r0
/* 80163DCC 0015FA2C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80163DD0 0015FA30 80 0D 83 28 */ lwz r0, lbl_8063D5E8-_SDA_BASE_(r13)
/* 80163DD4 0015FA34 2C 00 00 00 */ cmpwi r0, 0
/* 80163DD8 0015FA38 41 82 00 0C */ beq lbl_80163DE4
/* 80163DDC 0015FA3C 80 6D 9D C4 */ lwz r3, lbl_8063F084-_SDA_BASE_(r13)
/* 80163DE0 0015FA40 48 00 00 80 */ b lbl_80163E60
lbl_80163DE4:
/* 80163DE4 0015FA44 2C 03 00 00 */ cmpwi r3, 0
/* 80163DE8 0015FA48 41 82 00 0C */ beq lbl_80163DF4
/* 80163DEC 0015FA4C 38 60 FF FF */ li r3, -1
/* 80163DF0 0015FA50 48 00 00 70 */ b lbl_80163E60
lbl_80163DF4:
/* 80163DF4 0015FA54 48 0F A1 DD */ bl func_8025DFD0
/* 80163DF8 0015FA58 48 0F A5 25 */ bl func_8025E31C
/* 80163DFC 0015FA5C 38 81 00 08 */ addi r4, r1, 8
/* 80163E00 0015FA60 48 10 36 5D */ bl func_8026745C
/* 80163E04 0015FA64 2C 03 00 00 */ cmpwi r3, 0
/* 80163E08 0015FA68 40 82 00 0C */ bne lbl_80163E14
/* 80163E0C 0015FA6C 38 60 FF FF */ li r3, -1
/* 80163E10 0015FA70 48 00 00 50 */ b lbl_80163E60
lbl_80163E14:
/* 80163E14 0015FA74 40 80 00 0C */ bge lbl_80163E20
/* 80163E18 0015FA78 38 00 00 00 */ li r0, 0
/* 80163E1C 0015FA7C 90 01 00 08 */ stw r0, 8(r1)
lbl_80163E20:
/* 80163E20 0015FA80 48 00 00 51 */ bl func_80163E70
/* 80163E24 0015FA84 2C 03 00 00 */ cmpwi r3, 0
/* 80163E28 0015FA88 40 82 00 0C */ bne lbl_80163E34
/* 80163E2C 0015FA8C 38 00 00 00 */ li r0, 0
/* 80163E30 0015FA90 90 01 00 08 */ stw r0, 8(r1)
lbl_80163E34:
/* 80163E34 0015FA94 80 01 00 08 */ lwz r0, 8(r1)
/* 80163E38 0015FA98 38 60 00 01 */ li r3, 1
/* 80163E3C 0015FA9C 3C 80 80 42 */ lis r4, lbl_8041F1F8@ha
/* 80163E40 0015FAA0 90 6D 83 28 */ stw r3, lbl_8063D5E8-_SDA_BASE_(r13)
/* 80163E44 0015FAA4 38 84 F1 F8 */ addi r4, r4, lbl_8041F1F8@l
/* 80163E48 0015FAA8 38 60 00 00 */ li r3, 0
/* 80163E4C 0015FAAC 90 0D 9D C4 */ stw r0, lbl_8063F084-_SDA_BASE_(r13)
/* 80163E50 0015FAB0 38 AD 9D C4 */ addi r5, r13, lbl_8063F084-_SDA_BASE_
/* 80163E54 0015FAB4 38 C0 00 04 */ li r6, 4
/* 80163E58 0015FAB8 48 00 09 CD */ bl func_80164824
/* 80163E5C 0015FABC 80 61 00 08 */ lwz r3, 8(r1)
lbl_80163E60:
/* 80163E60 0015FAC0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80163E64 0015FAC4 7C 08 03 A6 */ mtlr r0
/* 80163E68 0015FAC8 38 21 00 10 */ addi r1, r1, 0x10
/* 80163E6C 0015FACC 4E 80 00 20 */ blr
.global func_80163E70
func_80163E70:
/* 80163E70 0015FAD0 80 6D 83 2C */ lwz r3, lbl_8063D5EC-_SDA_BASE_(r13)
/* 80163E74 0015FAD4 4E 80 00 20 */ blr
.global func_80163E78
func_80163E78:
/* 80163E78 0015FAD8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80163E7C 0015FADC 7C 08 02 A6 */ mflr r0
/* 80163E80 0015FAE0 90 01 00 34 */ stw r0, 0x34(r1)
/* 80163E84 0015FAE4 39 61 00 30 */ addi r11, r1, 0x30
/* 80163E88 0015FAE8 48 06 32 95 */ bl _savegpr_24
/* 80163E8C 0015FAEC 3B 40 00 00 */ li r26, 0
/* 80163E90 0015FAF0 48 0F A1 41 */ bl func_8025DFD0
/* 80163E94 0015FAF4 48 0F A4 25 */ bl func_8025E2B8
/* 80163E98 0015FAF8 2C 03 00 00 */ cmpwi r3, 0
/* 80163E9C 0015FAFC 7C 79 1B 78 */ mr r25, r3
/* 80163EA0 0015FB00 41 82 01 D4 */ beq lbl_80164074
/* 80163EA4 0015FB04 81 83 00 00 */ lwz r12, 0(r3)
/* 80163EA8 0015FB08 81 8C 00 4C */ lwz r12, 0x4c(r12)
/* 80163EAC 0015FB0C 7D 89 03 A6 */ mtctr r12
/* 80163EB0 0015FB10 4E 80 04 21 */ bctrl
/* 80163EB4 0015FB14 80 0D 9D C8 */ lwz r0, lbl_8063F088-_SDA_BASE_(r13)
/* 80163EB8 0015FB18 7C 00 18 40 */ cmplw r0, r3
/* 80163EBC 0015FB1C 40 82 00 0C */ bne lbl_80163EC8
/* 80163EC0 0015FB20 3B 60 00 00 */ li r27, 0
/* 80163EC4 0015FB24 48 00 00 20 */ b lbl_80163EE4
lbl_80163EC8:
/* 80163EC8 0015FB28 81 99 00 00 */ lwz r12, 0(r25)
/* 80163ECC 0015FB2C 7F 23 CB 78 */ mr r3, r25
/* 80163ED0 0015FB30 81 8C 00 4C */ lwz r12, 0x4c(r12)
/* 80163ED4 0015FB34 7D 89 03 A6 */ mtctr r12
/* 80163ED8 0015FB38 4E 80 04 21 */ bctrl
/* 80163EDC 0015FB3C 90 6D 9D C8 */ stw r3, lbl_8063F088-_SDA_BASE_(r13)
/* 80163EE0 0015FB40 3B 60 00 01 */ li r27, 1
lbl_80163EE4:
/* 80163EE4 0015FB44 4B FF EC 8D */ bl func_80162B70
/* 80163EE8 0015FB48 2C 03 00 05 */ cmpwi r3, 5
/* 80163EEC 0015FB4C 41 82 00 08 */ beq lbl_80163EF4
/* 80163EF0 0015FB50 48 00 00 0C */ b lbl_80163EFC
lbl_80163EF4:
/* 80163EF4 0015FB54 7F 63 DB 78 */ mr r3, r27
/* 80163EF8 0015FB58 4B FF FD 7D */ bl func_80163C74
lbl_80163EFC:
/* 80163EFC 0015FB5C 4B FF EC 75 */ bl func_80162B70
/* 80163F00 0015FB60 2C 03 00 00 */ cmpwi r3, 0
/* 80163F04 0015FB64 40 82 00 0C */ bne lbl_80163F10
/* 80163F08 0015FB68 3B 40 00 01 */ li r26, 1
/* 80163F0C 0015FB6C 48 00 00 0C */ b lbl_80163F18
lbl_80163F10:
/* 80163F10 0015FB70 2C 1B 00 00 */ cmpwi r27, 0
/* 80163F14 0015FB74 41 82 01 60 */ beq lbl_80164074
lbl_80163F18:
/* 80163F18 0015FB78 3F 80 80 49 */ lis r28, lbl_804895E0@ha
/* 80163F1C 0015FB7C 3F 60 80 49 */ lis r27, lbl_80489604@ha
/* 80163F20 0015FB80 3B 9C 95 E0 */ addi r28, r28, lbl_804895E0@l
/* 80163F24 0015FB84 3B 00 00 00 */ li r24, 0
/* 80163F28 0015FB88 3B 7B 96 04 */ addi r27, r27, lbl_80489604@l
/* 80163F2C 0015FB8C 3B A0 00 01 */ li r29, 1
/* 80163F30 0015FB90 3B C0 00 00 */ li r30, 0
lbl_80163F34:
/* 80163F34 0015FB94 81 99 00 00 */ lwz r12, 0(r25)
/* 80163F38 0015FB98 7F 23 CB 78 */ mr r3, r25
/* 80163F3C 0015FB9C 81 8C 00 50 */ lwz r12, 0x50(r12)
/* 80163F40 0015FBA0 7D 89 03 A6 */ mtctr r12
/* 80163F44 0015FBA4 4E 80 04 21 */ bctrl
/* 80163F48 0015FBA8 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 80163F4C 0015FBAC 7C 18 00 00 */ cmpw r24, r0
/* 80163F50 0015FBB0 41 82 01 10 */ beq lbl_80164060
/* 80163F54 0015FBB4 2C 1A 00 00 */ cmpwi r26, 0
/* 80163F58 0015FBB8 40 82 00 CC */ bne lbl_80164024
/* 80163F5C 0015FBBC 81 99 00 00 */ lwz r12, 0(r25)
/* 80163F60 0015FBC0 7F 23 CB 78 */ mr r3, r25
/* 80163F64 0015FBC4 57 04 04 3E */ clrlwi r4, r24, 0x10
/* 80163F68 0015FBC8 81 8C 00 58 */ lwz r12, 0x58(r12)
/* 80163F6C 0015FBCC 7D 89 03 A6 */ mtctr r12
/* 80163F70 0015FBD0 4E 80 04 21 */ bctrl
/* 80163F74 0015FBD4 2C 03 00 00 */ cmpwi r3, 0
/* 80163F78 0015FBD8 41 82 00 AC */ beq lbl_80164024
/* 80163F7C 0015FBDC A0 1C 00 00 */ lhz r0, 0(r28)
/* 80163F80 0015FBE0 2C 00 00 00 */ cmpwi r0, 0
/* 80163F84 0015FBE4 40 82 00 DC */ bne lbl_80164060
/* 80163F88 0015FBE8 7F 23 CB 78 */ mr r3, r25
/* 80163F8C 0015FBEC 57 04 04 3E */ clrlwi r4, r24, 0x10
/* 80163F90 0015FBF0 38 A0 00 00 */ li r5, 0
/* 80163F94 0015FBF4 48 0F A9 45 */ bl func_8025E8D8
/* 80163F98 0015FBF8 B3 BC 00 00 */ sth r29, 0(r28)
/* 80163F9C 0015FBFC 7F 23 CB 78 */ mr r3, r25
/* 80163FA0 0015FC00 57 04 04 3E */ clrlwi r4, r24, 0x10
/* 80163FA4 0015FC04 38 A1 00 08 */ addi r5, r1, 8
/* 80163FA8 0015FC08 9B C1 00 08 */ stb r30, 8(r1)
/* 80163FAC 0015FC0C 9B C1 00 09 */ stb r30, 9(r1)
/* 80163FB0 0015FC10 9B C1 00 0A */ stb r30, 0xa(r1)
/* 80163FB4 0015FC14 9B C1 00 0B */ stb r30, 0xb(r1)
/* 80163FB8 0015FC18 9B C1 00 0C */ stb r30, 0xc(r1)
/* 80163FBC 0015FC1C 9B C1 00 0D */ stb r30, 0xd(r1)
/* 80163FC0 0015FC20 81 99 00 00 */ lwz r12, 0(r25)
/* 80163FC4 0015FC24 81 8C 00 2C */ lwz r12, 0x2c(r12)
/* 80163FC8 0015FC28 7D 89 03 A6 */ mtctr r12
/* 80163FCC 0015FC2C 4E 80 04 21 */ bctrl
/* 80163FD0 0015FC30 57 03 04 3E */ clrlwi r3, r24, 0x10
/* 80163FD4 0015FC34 38 81 00 08 */ addi r4, r1, 8
/* 80163FD8 0015FC38 4B FF F9 C9 */ bl func_801639A0
/* 80163FDC 0015FC3C 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 80163FE0 0015FC40 7C 7F 1B 78 */ mr r31, r3
/* 80163FE4 0015FC44 28 00 FF FF */ cmplwi r0, 0xffff
/* 80163FE8 0015FC48 40 82 00 1C */ bne lbl_80164004
/* 80163FEC 0015FC4C 81 99 00 00 */ lwz r12, 0(r25)
/* 80163FF0 0015FC50 7F 23 CB 78 */ mr r3, r25
/* 80163FF4 0015FC54 57 04 04 3E */ clrlwi r4, r24, 0x10
/* 80163FF8 0015FC58 81 8C 00 60 */ lwz r12, 0x60(r12)
/* 80163FFC 0015FC5C 7D 89 03 A6 */ mtctr r12
/* 80164000 0015FC60 4E 80 04 21 */ bctrl
lbl_80164004:
/* 80164004 0015FC64 B3 FC 00 02 */ sth r31, 2(r28)
/* 80164008 0015FC68 80 7B 00 00 */ lwz r3, 0(r27)
/* 8016400C 0015FC6C 48 00 19 55 */ bl func_80165960
/* 80164010 0015FC70 80 7B 00 00 */ lwz r3, 0(r27)
/* 80164014 0015FC74 57 04 04 3E */ clrlwi r4, r24, 0x10
/* 80164018 0015FC78 48 00 1A 5D */ bl func_80165A74
/* 8016401C 0015FC7C 4B FF FB F5 */ bl func_80163C10
/* 80164020 0015FC80 48 00 00 40 */ b lbl_80164060
lbl_80164024:
/* 80164024 0015FC84 A0 1C 00 00 */ lhz r0, 0(r28)
/* 80164028 0015FC88 2C 00 00 00 */ cmpwi r0, 0
/* 8016402C 0015FC8C 41 82 00 34 */ beq lbl_80164060
/* 80164030 0015FC90 B3 DC 00 00 */ sth r30, 0(r28)
/* 80164034 0015FC94 A0 7C 00 02 */ lhz r3, 2(r28)
/* 80164038 0015FC98 4B FF FA 6D */ bl func_80163AA4
/* 8016403C 0015FC9C 80 7B 00 00 */ lwz r3, 0(r27)
/* 80164040 0015FCA0 48 00 1A E5 */ bl func_80165B24
/* 80164044 0015FCA4 80 7B 00 00 */ lwz r3, 0(r27)
/* 80164048 0015FCA8 48 00 19 19 */ bl func_80165960
/* 8016404C 0015FCAC 7F 83 E3 78 */ mr r3, r28
/* 80164050 0015FCB0 38 80 00 00 */ li r4, 0
/* 80164054 0015FCB4 38 A0 00 04 */ li r5, 4
/* 80164058 0015FCB8 4B EA 00 AD */ bl memset
/* 8016405C 0015FCBC 4B FF FB B5 */ bl func_80163C10
lbl_80164060:
/* 80164060 0015FCC0 3B 18 00 01 */ addi r24, r24, 1
/* 80164064 0015FCC4 3B 7B 00 04 */ addi r27, r27, 4
/* 80164068 0015FCC8 2C 18 00 09 */ cmpwi r24, 9
/* 8016406C 0015FCCC 3B 9C 00 04 */ addi r28, r28, 4
/* 80164070 0015FCD0 41 80 FE C4 */ blt lbl_80163F34
lbl_80164074:
/* 80164074 0015FCD4 39 61 00 30 */ addi r11, r1, 0x30
/* 80164078 0015FCD8 48 06 30 F1 */ bl _restgpr_24
/* 8016407C 0015FCDC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80164080 0015FCE0 7C 08 03 A6 */ mtlr r0
/* 80164084 0015FCE4 38 21 00 30 */ addi r1, r1, 0x30
/* 80164088 0015FCE8 4E 80 00 20 */ blr
.global func_8016408C
func_8016408C:
/* 8016408C 0015FCEC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80164090 0015FCF0 7C 08 02 A6 */ mflr r0
/* 80164094 0015FCF4 90 01 00 24 */ stw r0, 0x24(r1)
/* 80164098 0015FCF8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8016409C 0015FCFC 3F E0 80 49 */ lis r31, lbl_804895E0@ha
/* 801640A0 0015FD00 3B FF 95 E0 */ addi r31, r31, lbl_804895E0@l
/* 801640A4 0015FD04 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801640A8 0015FD08 3F C0 80 49 */ lis r30, lbl_80489604@ha
/* 801640AC 0015FD0C 3B DE 96 04 */ addi r30, r30, lbl_80489604@l
/* 801640B0 0015FD10 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801640B4 0015FD14 3B A0 00 00 */ li r29, 0
lbl_801640B8:
/* 801640B8 0015FD18 A0 1F 00 00 */ lhz r0, 0(r31)
/* 801640BC 0015FD1C 2C 00 00 00 */ cmpwi r0, 0
/* 801640C0 0015FD20 41 82 00 0C */ beq lbl_801640CC
/* 801640C4 0015FD24 80 7E 00 00 */ lwz r3, 0(r30)
/* 801640C8 0015FD28 48 00 20 11 */ bl func_801660D8
lbl_801640CC:
/* 801640CC 0015FD2C 3B BD 00 01 */ addi r29, r29, 1
/* 801640D0 0015FD30 3B DE 00 04 */ addi r30, r30, 4
/* 801640D4 0015FD34 2C 1D 00 09 */ cmpwi r29, 9
/* 801640D8 0015FD38 3B FF 00 04 */ addi r31, r31, 4
/* 801640DC 0015FD3C 41 80 FF DC */ blt lbl_801640B8
/* 801640E0 0015FD40 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801640E4 0015FD44 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801640E8 0015FD48 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801640EC 0015FD4C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801640F0 0015FD50 7C 08 03 A6 */ mtlr r0
/* 801640F4 0015FD54 38 21 00 20 */ addi r1, r1, 0x20
/* 801640F8 0015FD58 4E 80 00 20 */ blr
.global func_801640FC
func_801640FC:
/* 801640FC 0015FD5C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80164100 0015FD60 7C 08 02 A6 */ mflr r0
/* 80164104 0015FD64 3D 00 80 49 */ lis r8, lbl_80489628@ha
/* 80164108 0015FD68 90 01 00 24 */ stw r0, 0x24(r1)
/* 8016410C 0015FD6C 38 00 00 80 */ li r0, 0x80
/* 80164110 0015FD70 39 08 96 28 */ addi r8, r8, lbl_80489628@l
/* 80164114 0015FD74 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80164118 0015FD78 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8016411C 0015FD7C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80164120 0015FD80 7C FD 3B 78 */ mr r29, r7
/* 80164124 0015FD84 38 E0 00 00 */ li r7, 0
/* 80164128 0015FD88 93 81 00 10 */ stw r28, 0x10(r1)
/* 8016412C 0015FD8C 7C DC 33 78 */ mr r28, r6
/* 80164130 0015FD90 7C 09 03 A6 */ mtctr r0
lbl_80164134:
/* 80164134 0015FD94 A0 08 00 02 */ lhz r0, 2(r8)
/* 80164138 0015FD98 38 C0 00 00 */ li r6, 0
/* 8016413C 0015FD9C 2C 00 00 00 */ cmpwi r0, 0
/* 80164140 0015FDA0 40 82 00 14 */ bne lbl_80164154
/* 80164144 0015FDA4 80 08 00 08 */ lwz r0, 8(r8)
/* 80164148 0015FDA8 2C 00 00 00 */ cmpwi r0, 0
/* 8016414C 0015FDAC 40 82 00 08 */ bne lbl_80164154
/* 80164150 0015FDB0 38 C0 00 01 */ li r6, 1
lbl_80164154:
/* 80164154 0015FDB4 2C 06 00 00 */ cmpwi r6, 0
/* 80164158 0015FDB8 41 82 00 3C */ beq lbl_80164194
/* 8016415C 0015FDBC 1F C7 00 50 */ mulli r30, r7, 0x50
/* 80164160 0015FDC0 3F E0 80 49 */ lis r31, lbl_80489628@ha
/* 80164164 0015FDC4 3B FF 96 28 */ addi r31, r31, lbl_80489628@l
/* 80164168 0015FDC8 7C 7F F3 2E */ sthx r3, r31, r30
/* 8016416C 0015FDCC 7C DF F2 14 */ add r6, r31, r30
/* 80164170 0015FDD0 38 66 00 0C */ addi r3, r6, 0xc
/* 80164174 0015FDD4 B0 86 00 02 */ sth r4, 2(r6)
/* 80164178 0015FDD8 7C A4 2B 78 */ mr r4, r5
/* 8016417C 0015FDDC 48 06 A1 55 */ bl strcpy
/* 80164180 0015FDE0 7C 9F F2 14 */ add r4, r31, r30
/* 80164184 0015FDE4 38 60 00 00 */ li r3, 0
/* 80164188 0015FDE8 93 84 00 08 */ stw r28, 8(r4)
/* 8016418C 0015FDEC 93 A4 00 04 */ stw r29, 4(r4)
/* 80164190 0015FDF0 48 00 00 14 */ b lbl_801641A4
lbl_80164194:
/* 80164194 0015FDF4 39 08 00 50 */ addi r8, r8, 0x50
/* 80164198 0015FDF8 38 E7 00 01 */ addi r7, r7, 1
/* 8016419C 0015FDFC 42 00 FF 98 */ bdnz lbl_80164134
/* 801641A0 0015FE00 38 60 FF FF */ li r3, -1
lbl_801641A4:
/* 801641A4 0015FE04 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801641A8 0015FE08 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801641AC 0015FE0C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801641B0 0015FE10 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801641B4 0015FE14 83 81 00 10 */ lwz r28, 0x10(r1)
/* 801641B8 0015FE18 7C 08 03 A6 */ mtlr r0
/* 801641BC 0015FE1C 38 21 00 20 */ addi r1, r1, 0x20
/* 801641C0 0015FE20 4E 80 00 20 */ blr
.global func_801641C4
func_801641C4:
/* 801641C4 0015FE24 3C A0 80 49 */ lis r5, lbl_80489628@ha
/* 801641C8 0015FE28 38 00 00 20 */ li r0, 0x20
/* 801641CC 0015FE2C 38 A5 96 28 */ addi r5, r5, lbl_80489628@l
/* 801641D0 0015FE30 38 60 00 00 */ li r3, 0
/* 801641D4 0015FE34 38 C0 00 00 */ li r6, 0
/* 801641D8 0015FE38 7C 09 03 A6 */ mtctr r0
lbl_801641DC:
/* 801641DC 0015FE3C A0 05 00 02 */ lhz r0, 2(r5)
/* 801641E0 0015FE40 38 80 00 00 */ li r4, 0
/* 801641E4 0015FE44 2C 00 00 00 */ cmpwi r0, 0
/* 801641E8 0015FE48 40 82 00 14 */ bne lbl_801641FC
/* 801641EC 0015FE4C 80 05 00 08 */ lwz r0, 8(r5)
/* 801641F0 0015FE50 2C 00 00 00 */ cmpwi r0, 0
/* 801641F4 0015FE54 40 82 00 08 */ bne lbl_801641FC
/* 801641F8 0015FE58 38 80 00 01 */ li r4, 1
lbl_801641FC:
/* 801641FC 0015FE5C 2C 04 00 00 */ cmpwi r4, 0
/* 80164200 0015FE60 40 82 00 08 */ bne lbl_80164208
/* 80164204 0015FE64 38 63 00 01 */ addi r3, r3, 1
lbl_80164208:
/* 80164208 0015FE68 A0 05 00 52 */ lhz r0, 0x52(r5)
/* 8016420C 0015FE6C 38 80 00 00 */ li r4, 0
/* 80164210 0015FE70 2C 00 00 00 */ cmpwi r0, 0
/* 80164214 0015FE74 40 82 00 14 */ bne lbl_80164228
/* 80164218 0015FE78 80 05 00 58 */ lwz r0, 0x58(r5)
/* 8016421C 0015FE7C 2C 00 00 00 */ cmpwi r0, 0
/* 80164220 0015FE80 40 82 00 08 */ bne lbl_80164228
/* 80164224 0015FE84 38 80 00 01 */ li r4, 1
lbl_80164228:
/* 80164228 0015FE88 2C 04 00 00 */ cmpwi r4, 0
/* 8016422C 0015FE8C 40 82 00 08 */ bne lbl_80164234
/* 80164230 0015FE90 38 63 00 01 */ addi r3, r3, 1
lbl_80164234:
/* 80164234 0015FE94 A0 05 00 A2 */ lhz r0, 0xa2(r5)
/* 80164238 0015FE98 38 80 00 00 */ li r4, 0
/* 8016423C 0015FE9C 2C 00 00 00 */ cmpwi r0, 0
/* 80164240 0015FEA0 40 82 00 14 */ bne lbl_80164254
/* 80164244 0015FEA4 80 05 00 A8 */ lwz r0, 0xa8(r5)
/* 80164248 0015FEA8 2C 00 00 00 */ cmpwi r0, 0
/* 8016424C 0015FEAC 40 82 00 08 */ bne lbl_80164254
/* 80164250 0015FEB0 38 80 00 01 */ li r4, 1
lbl_80164254:
/* 80164254 0015FEB4 2C 04 00 00 */ cmpwi r4, 0
/* 80164258 0015FEB8 40 82 00 08 */ bne lbl_80164260
/* 8016425C 0015FEBC 38 63 00 01 */ addi r3, r3, 1
lbl_80164260:
/* 80164260 0015FEC0 A0 05 00 F2 */ lhz r0, 0xf2(r5)
/* 80164264 0015FEC4 38 80 00 00 */ li r4, 0
/* 80164268 0015FEC8 2C 00 00 00 */ cmpwi r0, 0
/* 8016426C 0015FECC 40 82 00 14 */ bne lbl_80164280
/* 80164270 0015FED0 80 05 00 F8 */ lwz r0, 0xf8(r5)
/* 80164274 0015FED4 2C 00 00 00 */ cmpwi r0, 0
/* 80164278 0015FED8 40 82 00 08 */ bne lbl_80164280
/* 8016427C 0015FEDC 38 80 00 01 */ li r4, 1
lbl_80164280:
/* 80164280 0015FEE0 2C 04 00 00 */ cmpwi r4, 0
/* 80164284 0015FEE4 40 82 00 08 */ bne lbl_8016428C
/* 80164288 0015FEE8 38 63 00 01 */ addi r3, r3, 1
lbl_8016428C:
/* 8016428C 0015FEEC 38 A5 01 40 */ addi r5, r5, 0x140
/* 80164290 0015FEF0 38 C6 00 03 */ addi r6, r6, 3
/* 80164294 0015FEF4 42 00 FF 48 */ bdnz lbl_801641DC
/* 80164298 0015FEF8 4E 80 00 20 */ blr
.global func_8016429C
func_8016429C:
/* 8016429C 0015FEFC 3C 80 80 49 */ lis r4, lbl_80489628@ha
/* 801642A0 0015FF00 38 00 00 10 */ li r0, 0x10
/* 801642A4 0015FF04 38 84 96 28 */ addi r4, r4, lbl_80489628@l
/* 801642A8 0015FF08 38 A0 00 00 */ li r5, 0
/* 801642AC 0015FF0C 7C 09 03 A6 */ mtctr r0
lbl_801642B0:
/* 801642B0 0015FF10 A0 04 00 02 */ lhz r0, 2(r4)
/* 801642B4 0015FF14 2C 00 00 00 */ cmpwi r0, 0
/* 801642B8 0015FF18 41 82 00 18 */ beq lbl_801642D0
/* 801642BC 0015FF1C A0 04 00 00 */ lhz r0, 0(r4)
/* 801642C0 0015FF20 7C 03 00 40 */ cmplw r3, r0
/* 801642C4 0015FF24 40 82 00 0C */ bne lbl_801642D0
/* 801642C8 0015FF28 38 60 00 01 */ li r3, 1
/* 801642CC 0015FF2C 4E 80 00 20 */ blr
lbl_801642D0:
/* 801642D0 0015FF30 A0 04 00 52 */ lhz r0, 0x52(r4)
/* 801642D4 0015FF34 2C 00 00 00 */ cmpwi r0, 0
/* 801642D8 0015FF38 41 82 00 18 */ beq lbl_801642F0
/* 801642DC 0015FF3C A0 04 00 50 */ lhz r0, 0x50(r4)
/* 801642E0 0015FF40 7C 03 00 40 */ cmplw r3, r0
/* 801642E4 0015FF44 40 82 00 0C */ bne lbl_801642F0
/* 801642E8 0015FF48 38 60 00 01 */ li r3, 1
/* 801642EC 0015FF4C 4E 80 00 20 */ blr
lbl_801642F0:
/* 801642F0 0015FF50 A0 04 00 A2 */ lhz r0, 0xa2(r4)
/* 801642F4 0015FF54 2C 00 00 00 */ cmpwi r0, 0
/* 801642F8 0015FF58 41 82 00 18 */ beq lbl_80164310
/* 801642FC 0015FF5C A0 04 00 A0 */ lhz r0, 0xa0(r4)
/* 80164300 0015FF60 7C 03 00 40 */ cmplw r3, r0
/* 80164304 0015FF64 40 82 00 0C */ bne lbl_80164310
/* 80164308 0015FF68 38 60 00 01 */ li r3, 1
/* 8016430C 0015FF6C 4E 80 00 20 */ blr
lbl_80164310:
/* 80164310 0015FF70 A0 04 00 F2 */ lhz r0, 0xf2(r4)
/* 80164314 0015FF74 2C 00 00 00 */ cmpwi r0, 0
/* 80164318 0015FF78 41 82 00 18 */ beq lbl_80164330
/* 8016431C 0015FF7C A0 04 00 F0 */ lhz r0, 0xf0(r4)
/* 80164320 0015FF80 7C 03 00 40 */ cmplw r3, r0
/* 80164324 0015FF84 40 82 00 0C */ bne lbl_80164330
/* 80164328 0015FF88 38 60 00 01 */ li r3, 1
/* 8016432C 0015FF8C 4E 80 00 20 */ blr
lbl_80164330:
/* 80164330 0015FF90 A0 04 01 42 */ lhz r0, 0x142(r4)
/* 80164334 0015FF94 2C 00 00 00 */ cmpwi r0, 0
/* 80164338 0015FF98 41 82 00 18 */ beq lbl_80164350
/* 8016433C 0015FF9C A0 04 01 40 */ lhz r0, 0x140(r4)
/* 80164340 0015FFA0 7C 03 00 40 */ cmplw r3, r0
/* 80164344 0015FFA4 40 82 00 0C */ bne lbl_80164350
/* 80164348 0015FFA8 38 60 00 01 */ li r3, 1
/* 8016434C 0015FFAC 4E 80 00 20 */ blr
lbl_80164350:
/* 80164350 0015FFB0 A0 04 01 92 */ lhz r0, 0x192(r4)
/* 80164354 0015FFB4 2C 00 00 00 */ cmpwi r0, 0
/* 80164358 0015FFB8 41 82 00 18 */ beq lbl_80164370
/* 8016435C 0015FFBC A0 04 01 90 */ lhz r0, 0x190(r4)
/* 80164360 0015FFC0 7C 03 00 40 */ cmplw r3, r0
/* 80164364 0015FFC4 40 82 00 0C */ bne lbl_80164370
/* 80164368 0015FFC8 38 60 00 01 */ li r3, 1
/* 8016436C 0015FFCC 4E 80 00 20 */ blr
lbl_80164370:
/* 80164370 0015FFD0 A0 04 01 E2 */ lhz r0, 0x1e2(r4)
/* 80164374 0015FFD4 2C 00 00 00 */ cmpwi r0, 0
/* 80164378 0015FFD8 41 82 00 18 */ beq lbl_80164390
/* 8016437C 0015FFDC A0 04 01 E0 */ lhz r0, 0x1e0(r4)
/* 80164380 0015FFE0 7C 03 00 40 */ cmplw r3, r0
/* 80164384 0015FFE4 40 82 00 0C */ bne lbl_80164390
/* 80164388 0015FFE8 38 60 00 01 */ li r3, 1
/* 8016438C 0015FFEC 4E 80 00 20 */ blr
lbl_80164390:
/* 80164390 0015FFF0 A0 04 02 32 */ lhz r0, 0x232(r4)
/* 80164394 0015FFF4 2C 00 00 00 */ cmpwi r0, 0
/* 80164398 0015FFF8 41 82 00 18 */ beq lbl_801643B0
/* 8016439C 0015FFFC A0 04 02 30 */ lhz r0, 0x230(r4)
/* 801643A0 00160000 7C 03 00 40 */ cmplw r3, r0
/* 801643A4 00160004 40 82 00 0C */ bne lbl_801643B0
/* 801643A8 00160008 38 60 00 01 */ li r3, 1
/* 801643AC 0016000C 4E 80 00 20 */ blr
lbl_801643B0:
/* 801643B0 00160010 38 84 02 80 */ addi r4, r4, 0x280
/* 801643B4 00160014 38 A5 00 07 */ addi r5, r5, 7
/* 801643B8 00160018 42 00 FE F8 */ bdnz lbl_801642B0
/* 801643BC 0016001C 38 60 00 00 */ li r3, 0
/* 801643C0 00160020 4E 80 00 20 */ blr
.global func_801643C4
func_801643C4:
/* 801643C4 00160024 3C 80 80 49 */ lis r4, lbl_80489628@ha
/* 801643C8 00160028 38 00 00 10 */ li r0, 0x10
/* 801643CC 0016002C 38 84 96 28 */ addi r4, r4, lbl_80489628@l
/* 801643D0 00160030 38 A0 00 00 */ li r5, 0
/* 801643D4 00160034 7C 09 03 A6 */ mtctr r0
lbl_801643D8:
/* 801643D8 00160038 80 04 00 08 */ lwz r0, 8(r4)
/* 801643DC 0016003C 2C 00 00 00 */ cmpwi r0, 0
/* 801643E0 00160040 41 82 00 18 */ beq lbl_801643F8
/* 801643E4 00160044 A0 04 00 00 */ lhz r0, 0(r4)
/* 801643E8 00160048 7C 03 00 40 */ cmplw r3, r0
/* 801643EC 0016004C 40 82 00 0C */ bne lbl_801643F8
/* 801643F0 00160050 38 60 00 01 */ li r3, 1
/* 801643F4 00160054 4E 80 00 20 */ blr
lbl_801643F8:
/* 801643F8 00160058 80 04 00 58 */ lwz r0, 0x58(r4)
/* 801643FC 0016005C 2C 00 00 00 */ cmpwi r0, 0
/* 80164400 00160060 41 82 00 18 */ beq lbl_80164418
/* 80164404 00160064 A0 04 00 50 */ lhz r0, 0x50(r4)
/* 80164408 00160068 7C 03 00 40 */ cmplw r3, r0
/* 8016440C 0016006C 40 82 00 0C */ bne lbl_80164418
/* 80164410 00160070 38 60 00 01 */ li r3, 1
/* 80164414 00160074 4E 80 00 20 */ blr
lbl_80164418:
/* 80164418 00160078 80 04 00 A8 */ lwz r0, 0xa8(r4)
/* 8016441C 0016007C 2C 00 00 00 */ cmpwi r0, 0
/* 80164420 00160080 41 82 00 18 */ beq lbl_80164438
/* 80164424 00160084 A0 04 00 A0 */ lhz r0, 0xa0(r4)
/* 80164428 00160088 7C 03 00 40 */ cmplw r3, r0
/* 8016442C 0016008C 40 82 00 0C */ bne lbl_80164438
/* 80164430 00160090 38 60 00 01 */ li r3, 1
/* 80164434 00160094 4E 80 00 20 */ blr
lbl_80164438:
/* 80164438 00160098 80 04 00 F8 */ lwz r0, 0xf8(r4)
/* 8016443C 0016009C 2C 00 00 00 */ cmpwi r0, 0
/* 80164440 001600A0 41 82 00 18 */ beq lbl_80164458
/* 80164444 001600A4 A0 04 00 F0 */ lhz r0, 0xf0(r4)
/* 80164448 001600A8 7C 03 00 40 */ cmplw r3, r0
/* 8016444C 001600AC 40 82 00 0C */ bne lbl_80164458
/* 80164450 001600B0 38 60 00 01 */ li r3, 1
/* 80164454 001600B4 4E 80 00 20 */ blr
lbl_80164458:
/* 80164458 001600B8 80 04 01 48 */ lwz r0, 0x148(r4)
/* 8016445C 001600BC 2C 00 00 00 */ cmpwi r0, 0
/* 80164460 001600C0 41 82 00 18 */ beq lbl_80164478
/* 80164464 001600C4 A0 04 01 40 */ lhz r0, 0x140(r4)
/* 80164468 001600C8 7C 03 00 40 */ cmplw r3, r0
/* 8016446C 001600CC 40 82 00 0C */ bne lbl_80164478
/* 80164470 001600D0 38 60 00 01 */ li r3, 1
/* 80164474 001600D4 4E 80 00 20 */ blr
lbl_80164478:
/* 80164478 001600D8 80 04 01 98 */ lwz r0, 0x198(r4)
/* 8016447C 001600DC 2C 00 00 00 */ cmpwi r0, 0
/* 80164480 001600E0 41 82 00 18 */ beq lbl_80164498
/* 80164484 001600E4 A0 04 01 90 */ lhz r0, 0x190(r4)
/* 80164488 001600E8 7C 03 00 40 */ cmplw r3, r0
/* 8016448C 001600EC 40 82 00 0C */ bne lbl_80164498
/* 80164490 001600F0 38 60 00 01 */ li r3, 1
/* 80164494 001600F4 4E 80 00 20 */ blr
lbl_80164498:
/* 80164498 001600F8 80 04 01 E8 */ lwz r0, 0x1e8(r4)
/* 8016449C 001600FC 2C 00 00 00 */ cmpwi r0, 0
/* 801644A0 00160100 41 82 00 18 */ beq lbl_801644B8
/* 801644A4 00160104 A0 04 01 E0 */ lhz r0, 0x1e0(r4)
/* 801644A8 00160108 7C 03 00 40 */ cmplw r3, r0
/* 801644AC 0016010C 40 82 00 0C */ bne lbl_801644B8
/* 801644B0 00160110 38 60 00 01 */ li r3, 1
/* 801644B4 00160114 4E 80 00 20 */ blr
lbl_801644B8:
/* 801644B8 00160118 80 04 02 38 */ lwz r0, 0x238(r4)
/* 801644BC 0016011C 2C 00 00 00 */ cmpwi r0, 0
/* 801644C0 00160120 41 82 00 18 */ beq lbl_801644D8
/* 801644C4 00160124 A0 04 02 30 */ lhz r0, 0x230(r4)
/* 801644C8 00160128 7C 03 00 40 */ cmplw r3, r0
/* 801644CC 0016012C 40 82 00 0C */ bne lbl_801644D8
/* 801644D0 00160130 38 60 00 01 */ li r3, 1
/* 801644D4 00160134 4E 80 00 20 */ blr
lbl_801644D8:
/* 801644D8 00160138 38 84 02 80 */ addi r4, r4, 0x280
/* 801644DC 0016013C 38 A5 00 07 */ addi r5, r5, 7
/* 801644E0 00160140 42 00 FE F8 */ bdnz lbl_801643D8
/* 801644E4 00160144 38 60 00 00 */ li r3, 0
/* 801644E8 00160148 4E 80 00 20 */ blr
.global func_801644EC
func_801644EC:
/* 801644EC 0016014C 80 6D 83 30 */ lwz r3, lbl_8063D5F0-_SDA_BASE_(r13)
/* 801644F0 00160150 34 03 FF FF */ addic. r0, r3, -1
/* 801644F4 00160154 90 0D 83 30 */ stw r0, lbl_8063D5F0-_SDA_BASE_(r13)
/* 801644F8 00160158 4D 81 00 20 */ bgtlr
/* 801644FC 0016015C 38 00 00 04 */ li r0, 4
/* 80164500 00160160 90 0D 83 30 */ stw r0, lbl_8063D5F0-_SDA_BASE_(r13)
/* 80164504 00160164 48 00 00 14 */ b lbl_80164518
/* 80164508 00160168 4E 80 00 20 */ blr
.global func_8016450C
func_8016450C:
/* 8016450C 0016016C 38 00 00 00 */ li r0, 0
/* 80164510 00160170 90 0D 83 30 */ stw r0, lbl_8063D5F0-_SDA_BASE_(r13)
/* 80164514 00160174 4E 80 00 20 */ blr
lbl_80164518:
/* 80164518 00160178 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8016451C 0016017C 7C 08 02 A6 */ mflr r0
/* 80164520 00160180 90 01 00 24 */ stw r0, 0x24(r1)
/* 80164524 00160184 39 61 00 20 */ addi r11, r1, 0x20
/* 80164528 00160188 48 06 2C 01 */ bl _savegpr_27
/* 8016452C 0016018C 48 0F 9A A5 */ bl func_8025DFD0
/* 80164530 00160190 48 0F 9D 89 */ bl func_8025E2B8
/* 80164534 00160194 2C 03 00 00 */ cmpwi r3, 0
/* 80164538 00160198 7C 7D 1B 78 */ mr r29, r3
/* 8016453C 0016019C 41 82 01 E8 */ beq lbl_80164724
/* 80164540 001601A0 3F E0 80 49 */ lis r31, lbl_80489628@ha
/* 80164544 001601A4 3B 80 00 00 */ li r28, 0
/* 80164548 001601A8 3B FF 96 28 */ addi r31, r31, lbl_80489628@l
/* 8016454C 001601AC 3B C0 00 00 */ li r30, 0
lbl_80164550:
/* 80164550 001601B0 A0 9F 00 02 */ lhz r4, 2(r31)
/* 80164554 001601B4 2C 04 00 00 */ cmpwi r4, 0
/* 80164558 001601B8 41 82 00 B4 */ beq lbl_8016460C
/* 8016455C 001601BC 7F A3 EB 78 */ mr r3, r29
/* 80164560 001601C0 48 0F C3 6D */ bl func_802608CC
/* 80164564 001601C4 2C 03 00 00 */ cmpwi r3, 0
/* 80164568 001601C8 40 82 00 A4 */ bne lbl_8016460C
/* 8016456C 001601CC A0 9F 00 02 */ lhz r4, 2(r31)
/* 80164570 001601D0 7F A3 EB 78 */ mr r3, r29
/* 80164574 001601D4 3B 60 00 00 */ li r27, 0
/* 80164578 001601D8 48 0F C3 D9 */ bl func_80260950
/* 8016457C 001601DC 2C 03 00 00 */ cmpwi r3, 0
/* 80164580 001601E0 40 82 00 48 */ bne lbl_801645C8
/* 80164584 001601E4 A0 1F 00 4C */ lhz r0, 0x4c(r31)
/* 80164588 001601E8 2C 00 00 00 */ cmpwi r0, 0
/* 8016458C 001601EC 41 82 00 28 */ beq lbl_801645B4
/* 80164590 001601F0 A0 7F 00 00 */ lhz r3, 0(r31)
/* 80164594 001601F4 48 00 06 99 */ bl func_80164C2C
/* 80164598 001601F8 2C 03 00 00 */ cmpwi r3, 0
/* 8016459C 001601FC 41 82 00 2C */ beq lbl_801645C8
/* 801645A0 00160200 A0 9F 00 02 */ lhz r4, 2(r31)
/* 801645A4 00160204 7F A3 EB 78 */ mr r3, r29
/* 801645A8 00160208 48 0F C2 51 */ bl func_802607F8
/* 801645AC 0016020C 3B 60 00 01 */ li r27, 1
/* 801645B0 00160210 48 00 00 18 */ b lbl_801645C8
lbl_801645B4:
/* 801645B4 00160214 A0 7F 00 00 */ lhz r3, 0(r31)
/* 801645B8 00160218 48 00 06 75 */ bl func_80164C2C
/* 801645BC 0016021C 2C 03 00 00 */ cmpwi r3, 0
/* 801645C0 00160220 41 82 00 08 */ beq lbl_801645C8
/* 801645C4 00160224 48 00 24 DD */ bl func_80166AA0
lbl_801645C8:
/* 801645C8 00160228 2C 1B 00 00 */ cmpwi r27, 0
/* 801645CC 0016022C 40 82 00 3C */ bne lbl_80164608
/* 801645D0 00160230 A0 9F 00 02 */ lhz r4, 2(r31)
/* 801645D4 00160234 7F A3 EB 78 */ mr r3, r29
/* 801645D8 00160238 48 0F C3 E5 */ bl func_802609BC
/* 801645DC 0016023C 48 0F 99 F5 */ bl func_8025DFD0
/* 801645E0 00160240 80 9F 00 08 */ lwz r4, 8(r31)
/* 801645E4 00160244 48 0F 99 E5 */ bl func_8025DFC8
/* 801645E8 00160248 B3 DF 00 00 */ sth r30, 0(r31)
/* 801645EC 0016024C 38 7F 00 0C */ addi r3, r31, 0xc
/* 801645F0 00160250 38 80 00 00 */ li r4, 0
/* 801645F4 00160254 38 A0 00 40 */ li r5, 0x40
/* 801645F8 00160258 B3 DF 00 02 */ sth r30, 2(r31)
/* 801645FC 0016025C B3 DF 00 4C */ sth r30, 0x4c(r31)
/* 80164600 00160260 93 DF 00 08 */ stw r30, 8(r31)
/* 80164604 00160264 4B E9 FB 01 */ bl memset
lbl_80164608:
/* 80164608 00160268 4B FF FF 05 */ bl func_8016450C
lbl_8016460C:
/* 8016460C 0016026C 3B 9C 00 01 */ addi r28, r28, 1
/* 80164610 00160270 3B FF 00 50 */ addi r31, r31, 0x50
/* 80164614 00160274 2C 1C 00 80 */ cmpwi r28, 0x80
/* 80164618 00160278 41 80 FF 38 */ blt lbl_80164550
/* 8016461C 0016027C 3F C0 80 49 */ lis r30, lbl_80489628@ha
/* 80164620 00160280 3B 60 00 00 */ li r27, 0
/* 80164624 00160284 3B DE 96 28 */ addi r30, r30, lbl_80489628@l
/* 80164628 00160288 3B E0 00 00 */ li r31, 0
lbl_8016462C:
/* 8016462C 0016028C 80 1E 00 08 */ lwz r0, 8(r30)
/* 80164630 00160290 2C 00 00 00 */ cmpwi r0, 0
/* 80164634 00160294 41 82 00 DC */ beq lbl_80164710
/* 80164638 00160298 A0 1E 00 02 */ lhz r0, 2(r30)
/* 8016463C 0016029C 2C 00 00 00 */ cmpwi r0, 0
/* 80164640 001602A0 40 82 00 D0 */ bne lbl_80164710
/* 80164644 001602A4 A0 7E 00 00 */ lhz r3, 0(r30)
/* 80164648 001602A8 4B FF FC 55 */ bl func_8016429C
/* 8016464C 001602AC 2C 03 00 00 */ cmpwi r3, 0
/* 80164650 001602B0 40 82 00 C0 */ bne lbl_80164710
/* 80164654 001602B4 A0 9E 00 00 */ lhz r4, 0(r30)
/* 80164658 001602B8 7F A3 EB 78 */ mr r3, r29
/* 8016465C 001602BC 38 BE 00 0C */ addi r5, r30, 0xc
/* 80164660 001602C0 48 0F C0 19 */ bl func_80260678
/* 80164664 001602C4 2C 03 00 00 */ cmpwi r3, 0
/* 80164668 001602C8 7C 60 1B 78 */ mr r0, r3
/* 8016466C 001602CC 40 80 00 4C */ bge lbl_801646B8
/* 80164670 001602D0 1F BB 00 50 */ mulli r29, r27, 0x50
/* 80164674 001602D4 3F C0 80 49 */ lis r30, lbl_80489628@ha
/* 80164678 001602D8 3B DE 96 28 */ addi r30, r30, lbl_80489628@l
/* 8016467C 001602DC 7F FE EA 14 */ add r31, r30, r29
/* 80164680 001602E0 48 0F 99 51 */ bl func_8025DFD0
/* 80164684 001602E4 80 9F 00 08 */ lwz r4, 8(r31)
/* 80164688 001602E8 48 0F 99 41 */ bl func_8025DFC8
/* 8016468C 001602EC 38 00 00 00 */ li r0, 0
/* 80164690 001602F0 7F E6 FB 78 */ mr r6, r31
/* 80164694 001602F4 B0 1F 00 00 */ sth r0, 0(r31)
/* 80164698 001602F8 38 66 00 0C */ addi r3, r6, 0xc
/* 8016469C 001602FC 38 80 00 00 */ li r4, 0
/* 801646A0 00160300 38 A0 00 40 */ li r5, 0x40
/* 801646A4 00160304 B0 1F 00 02 */ sth r0, 2(r31)
/* 801646A8 00160308 B0 1F 00 4C */ sth r0, 0x4c(r31)
/* 801646AC 0016030C 90 1F 00 08 */ stw r0, 8(r31)
/* 801646B0 00160310 4B E9 FA 55 */ bl memset
/* 801646B4 00160314 48 00 00 C8 */ b lbl_8016477C
lbl_801646B8:
/* 801646B8 00160318 B0 7E 00 02 */ sth r3, 2(r30)
/* 801646BC 0016031C 7F A3 EB 78 */ mr r3, r29
/* 801646C0 00160320 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 801646C4 00160324 80 BE 00 08 */ lwz r5, 8(r30)
/* 801646C8 00160328 80 DE 00 04 */ lwz r6, 4(r30)
/* 801646CC 0016032C 48 0F C0 31 */ bl func_802606FC
/* 801646D0 00160330 2C 03 00 00 */ cmpwi r3, 0
/* 801646D4 00160334 41 81 00 3C */ bgt lbl_80164710
/* 801646D8 00160338 A0 9E 00 02 */ lhz r4, 2(r30)
/* 801646DC 0016033C 7F A3 EB 78 */ mr r3, r29
/* 801646E0 00160340 48 0F C2 DD */ bl func_802609BC
/* 801646E4 00160344 48 0F 98 ED */ bl func_8025DFD0
/* 801646E8 00160348 80 9E 00 08 */ lwz r4, 8(r30)
/* 801646EC 0016034C 48 0F 98 DD */ bl func_8025DFC8
/* 801646F0 00160350 B3 FE 00 00 */ sth r31, 0(r30)
/* 801646F4 00160354 38 7E 00 0C */ addi r3, r30, 0xc
/* 801646F8 00160358 38 80 00 00 */ li r4, 0
/* 801646FC 0016035C 38 A0 00 40 */ li r5, 0x40
/* 80164700 00160360 B3 FE 00 02 */ sth r31, 2(r30)
/* 80164704 00160364 B3 FE 00 4C */ sth r31, 0x4c(r30)
/* 80164708 00160368 93 FE 00 08 */ stw r31, 8(r30)
/* 8016470C 0016036C 4B E9 F9 F9 */ bl memset
lbl_80164710:
/* 80164710 00160370 3B 7B 00 01 */ addi r27, r27, 1
/* 80164714 00160374 3B DE 00 50 */ addi r30, r30, 0x50
/* 80164718 00160378 2C 1B 00 80 */ cmpwi r27, 0x80
/* 8016471C 0016037C 41 80 FF 10 */ blt lbl_8016462C
/* 80164720 00160380 48 00 00 5C */ b lbl_8016477C
lbl_80164724:
/* 80164724 00160384 3F C0 80 49 */ lis r30, lbl_80489628@ha
/* 80164728 00160388 3B 60 00 00 */ li r27, 0
/* 8016472C 0016038C 3B DE 96 28 */ addi r30, r30, lbl_80489628@l
/* 80164730 00160390 3B E0 00 00 */ li r31, 0
lbl_80164734:
/* 80164734 00160394 83 BE 00 08 */ lwz r29, 8(r30)
/* 80164738 00160398 2C 1D 00 00 */ cmpwi r29, 0
/* 8016473C 0016039C 41 82 00 30 */ beq lbl_8016476C
/* 80164740 001603A0 48 0F 98 91 */ bl func_8025DFD0
/* 80164744 001603A4 7F A4 EB 78 */ mr r4, r29
/* 80164748 001603A8 48 0F 98 81 */ bl func_8025DFC8
/* 8016474C 001603AC B3 FE 00 00 */ sth r31, 0(r30)
/* 80164750 001603B0 38 7E 00 0C */ addi r3, r30, 0xc
/* 80164754 001603B4 38 80 00 00 */ li r4, 0
/* 80164758 001603B8 38 A0 00 40 */ li r5, 0x40
/* 8016475C 001603BC B3 FE 00 02 */ sth r31, 2(r30)
/* 80164760 001603C0 B3 FE 00 4C */ sth r31, 0x4c(r30)
/* 80164764 001603C4 93 FE 00 08 */ stw r31, 8(r30)
/* 80164768 001603C8 4B E9 F9 9D */ bl memset
lbl_8016476C:
/* 8016476C 001603CC 3B 7B 00 01 */ addi r27, r27, 1
/* 80164770 001603D0 3B DE 00 50 */ addi r30, r30, 0x50
/* 80164774 001603D4 2C 1B 00 80 */ cmpwi r27, 0x80
/* 80164778 001603D8 41 80 FF BC */ blt lbl_80164734
lbl_8016477C:
/* 8016477C 001603DC 39 61 00 20 */ addi r11, r1, 0x20
/* 80164780 001603E0 48 06 29 F5 */ bl _restgpr_27
/* 80164784 001603E4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80164788 001603E8 7C 08 03 A6 */ mtlr r0
/* 8016478C 001603EC 38 21 00 20 */ addi r1, r1, 0x20
/* 80164790 001603F0 4E 80 00 20 */ blr
.global func_80164794
func_80164794:
/* 80164794 001603F4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80164798 001603F8 7C 08 02 A6 */ mflr r0
/* 8016479C 001603FC 90 01 00 24 */ stw r0, 0x24(r1)
/* 801647A0 00160400 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801647A4 00160404 7C DF 33 78 */ mr r31, r6
/* 801647A8 00160408 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801647AC 0016040C 7C BE 2B 78 */ mr r30, r5
/* 801647B0 00160410 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801647B4 00160414 7C 9D 23 78 */ mr r29, r4
/* 801647B8 00160418 93 81 00 10 */ stw r28, 0x10(r1)
/* 801647BC 0016041C 7C 7C 1B 78 */ mr r28, r3
/* 801647C0 00160420 4B FF F3 3D */ bl func_80163AFC
/* 801647C4 00160424 2C 03 00 00 */ cmpwi r3, 0
/* 801647C8 00160428 40 80 00 0C */ bge lbl_801647D4
/* 801647CC 0016042C 38 60 FF FE */ li r3, -2
/* 801647D0 00160430 48 00 00 34 */ b lbl_80164804
lbl_801647D4:
/* 801647D4 00160434 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 801647D8 00160438 4B FF FB ED */ bl func_801643C4
/* 801647DC 0016043C 2C 03 00 00 */ cmpwi r3, 0
/* 801647E0 00160440 41 82 00 0C */ beq lbl_801647EC
/* 801647E4 00160444 38 60 FF FB */ li r3, -5
/* 801647E8 00160448 48 00 00 1C */ b lbl_80164804
lbl_801647EC:
/* 801647EC 0016044C 7F 83 E3 78 */ mr r3, r28
/* 801647F0 00160450 7F A4 EB 78 */ mr r4, r29
/* 801647F4 00160454 7F C5 F3 78 */ mr r5, r30
/* 801647F8 00160458 7F E6 FB 78 */ mr r6, r31
/* 801647FC 0016045C 38 E0 00 01 */ li r7, 1
/* 80164800 00160460 48 00 00 2D */ bl func_8016482C
lbl_80164804:
/* 80164804 00160464 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80164808 00160468 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8016480C 0016046C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80164810 00160470 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80164814 00160474 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80164818 00160478 7C 08 03 A6 */ mtlr r0
/* 8016481C 0016047C 38 21 00 20 */ addi r1, r1, 0x20
/* 80164820 00160480 4E 80 00 20 */ blr
.global func_80164824
func_80164824:
/* 80164824 00160484 38 E0 00 00 */ li r7, 0
/* 80164828 00160488 48 00 00 04 */ b func_8016482C
.global func_8016482C
func_8016482C:
/* 8016482C 0016048C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80164830 00160490 7C 08 02 A6 */ mflr r0
/* 80164834 00160494 90 01 00 34 */ stw r0, 0x34(r1)
/* 80164838 00160498 39 61 00 30 */ addi r11, r1, 0x30
/* 8016483C 0016049C 48 06 28 E5 */ bl _savegpr_25
/* 80164840 001604A0 7C 7D 1B 78 */ mr r29, r3
/* 80164844 001604A4 7C 99 23 78 */ mr r25, r4
/* 80164848 001604A8 7C BC 2B 78 */ mr r28, r5
/* 8016484C 001604AC 7C DA 33 78 */ mr r26, r6
/* 80164850 001604B0 7C FB 3B 78 */ mr r27, r7
/* 80164854 001604B4 48 0F 97 7D */ bl func_8025DFD0
/* 80164858 001604B8 48 0F 9A 61 */ bl func_8025E2B8
/* 8016485C 001604BC 2C 03 00 00 */ cmpwi r3, 0
/* 80164860 001604C0 7C 7E 1B 78 */ mr r30, r3
/* 80164864 001604C4 40 82 00 0C */ bne lbl_80164870
/* 80164868 001604C8 38 60 FF FF */ li r3, -1
/* 8016486C 001604CC 48 00 00 EC */ b lbl_80164958
lbl_80164870:
/* 80164870 001604D0 7F A3 EB 78 */ mr r3, r29
/* 80164874 001604D4 4B FF F2 89 */ bl func_80163AFC
/* 80164878 001604D8 2C 03 00 00 */ cmpwi r3, 0
/* 8016487C 001604DC 7C 7F 1B 78 */ mr r31, r3
/* 80164880 001604E0 40 80 00 0C */ bge lbl_8016488C
/* 80164884 001604E4 38 60 FF FE */ li r3, -2
/* 80164888 001604E8 48 00 00 D0 */ b lbl_80164958
lbl_8016488C:
/* 8016488C 001604EC 48 0F 97 45 */ bl func_8025DFD0
/* 80164890 001604F0 7F 44 D3 78 */ mr r4, r26
/* 80164894 001604F4 48 0F 97 2D */ bl func_8025DFC0
/* 80164898 001604F8 2C 03 00 00 */ cmpwi r3, 0
/* 8016489C 001604FC 7C 7D 1B 78 */ mr r29, r3
/* 801648A0 00160500 40 82 00 0C */ bne lbl_801648AC
/* 801648A4 00160504 38 60 FF FD */ li r3, -3
/* 801648A8 00160508 48 00 00 B0 */ b lbl_80164958
lbl_801648AC:
/* 801648AC 0016050C 7F 84 E3 78 */ mr r4, r28
/* 801648B0 00160510 7F 45 D3 78 */ mr r5, r26
/* 801648B4 00160514 4B E9 F7 4D */ bl memcpy
/* 801648B8 00160518 7F C3 F3 78 */ mr r3, r30
/* 801648BC 0016051C 7F 25 CB 78 */ mr r5, r25
/* 801648C0 00160520 57 E4 04 3E */ clrlwi r4, r31, 0x10
/* 801648C4 00160524 48 0F BD B5 */ bl func_80260678
/* 801648C8 00160528 2C 03 00 00 */ cmpwi r3, 0
/* 801648CC 0016052C 7C 7C 1B 78 */ mr r28, r3
/* 801648D0 00160530 40 80 00 08 */ bge lbl_801648D8
/* 801648D4 00160534 48 00 00 84 */ b lbl_80164958
lbl_801648D8:
/* 801648D8 00160538 7F 25 CB 78 */ mr r5, r25
/* 801648DC 0016053C 7F A6 EB 78 */ mr r6, r29
/* 801648E0 00160540 7F 47 D3 78 */ mr r7, r26
/* 801648E4 00160544 7F 68 DB 78 */ mr r8, r27
/* 801648E8 00160548 57 E3 04 3E */ clrlwi r3, r31, 0x10
/* 801648EC 0016054C 57 84 04 3E */ clrlwi r4, r28, 0x10
/* 801648F0 00160550 4B FF F8 0D */ bl func_801640FC
/* 801648F4 00160554 2C 03 00 00 */ cmpwi r3, 0
/* 801648F8 00160558 7C 7F 1B 78 */ mr r31, r3
/* 801648FC 0016055C 40 80 00 20 */ bge lbl_8016491C
/* 80164900 00160560 7F C3 F3 78 */ mr r3, r30
/* 80164904 00160564 57 84 04 3E */ clrlwi r4, r28, 0x10
/* 80164908 00160568 48 0F C0 B5 */ bl func_802609BC
/* 8016490C 0016056C 48 0F 96 C5 */ bl func_8025DFD0
/* 80164910 00160570 7F A4 EB 78 */ mr r4, r29
/* 80164914 00160574 48 0F 96 B5 */ bl func_8025DFC8
/* 80164918 00160578 48 00 00 38 */ b lbl_80164950
lbl_8016491C:
/* 8016491C 0016057C 7F C3 F3 78 */ mr r3, r30
/* 80164920 00160580 7F A5 EB 78 */ mr r5, r29
/* 80164924 00160584 7F 46 D3 78 */ mr r6, r26
/* 80164928 00160588 57 84 04 3E */ clrlwi r4, r28, 0x10
/* 8016492C 0016058C 48 0F BD D1 */ bl func_802606FC
/* 80164930 00160590 2C 03 00 00 */ cmpwi r3, 0
/* 80164934 00160594 41 81 00 18 */ bgt lbl_8016494C
/* 80164938 00160598 7F C3 F3 78 */ mr r3, r30
/* 8016493C 0016059C 57 84 04 3E */ clrlwi r4, r28, 0x10
/* 80164940 001605A0 48 0F C0 7D */ bl func_802609BC
/* 80164944 001605A4 3B E0 FF FF */ li r31, -1
/* 80164948 001605A8 48 00 00 08 */ b lbl_80164950
lbl_8016494C:
/* 8016494C 001605AC 3B E0 00 00 */ li r31, 0
lbl_80164950:
/* 80164950 001605B0 4B FF FB BD */ bl func_8016450C
/* 80164954 001605B4 7F E3 FB 78 */ mr r3, r31
lbl_80164958:
/* 80164958 001605B8 39 61 00 30 */ addi r11, r1, 0x30
/* 8016495C 001605BC 48 06 28 11 */ bl _restgpr_25
/* 80164960 001605C0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80164964 001605C4 7C 08 03 A6 */ mtlr r0
/* 80164968 001605C8 38 21 00 30 */ addi r1, r1, 0x30
/* 8016496C 001605CC 4E 80 00 20 */ blr
.global func_80164970
func_80164970:
/* 80164970 001605D0 38 E0 00 00 */ li r7, 0
/* 80164974 001605D4 48 00 00 04 */ b lbl_80164978
lbl_80164978:
/* 80164978 001605D8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8016497C 001605DC 7C 08 02 A6 */ mflr r0
/* 80164980 001605E0 90 01 00 34 */ stw r0, 0x34(r1)
/* 80164984 001605E4 39 61 00 30 */ addi r11, r1, 0x30
/* 80164988 001605E8 48 06 27 95 */ bl _savegpr_24
/* 8016498C 001605EC 7C 7C 1B 78 */ mr r28, r3
/* 80164990 001605F0 7C 98 23 78 */ mr r24, r4
/* 80164994 001605F4 7C B9 2B 78 */ mr r25, r5
/* 80164998 001605F8 7C DA 33 78 */ mr r26, r6
/* 8016499C 001605FC 7C FB 3B 78 */ mr r27, r7
/* 801649A0 00160600 48 0F 96 31 */ bl func_8025DFD0
/* 801649A4 00160604 48 0F 99 15 */ bl func_8025E2B8
/* 801649A8 00160608 2C 03 00 00 */ cmpwi r3, 0
/* 801649AC 0016060C 7C 7E 1B 78 */ mr r30, r3
/* 801649B0 00160610 40 82 00 0C */ bne lbl_801649BC
/* 801649B4 00160614 38 60 FF FF */ li r3, -1
/* 801649B8 00160618 48 00 01 44 */ b lbl_80164AFC
lbl_801649BC:
/* 801649BC 0016061C 7F 83 E3 78 */ mr r3, r28
/* 801649C0 00160620 4B FF F1 3D */ bl func_80163AFC
/* 801649C4 00160624 2C 03 00 00 */ cmpwi r3, 0
/* 801649C8 00160628 7C 7F 1B 78 */ mr r31, r3
/* 801649CC 0016062C 40 80 00 0C */ bge lbl_801649D8
/* 801649D0 00160630 38 60 FF FE */ li r3, -2
/* 801649D4 00160634 48 00 01 28 */ b lbl_80164AFC
lbl_801649D8:
/* 801649D8 00160638 48 0F 95 F9 */ bl func_8025DFD0
/* 801649DC 0016063C 7F 44 D3 78 */ mr r4, r26
/* 801649E0 00160640 48 0F 95 E1 */ bl func_8025DFC0
/* 801649E4 00160644 2C 03 00 00 */ cmpwi r3, 0
/* 801649E8 00160648 7C 7D 1B 78 */ mr r29, r3
/* 801649EC 0016064C 40 82 00 0C */ bne lbl_801649F8
/* 801649F0 00160650 38 60 FF FD */ li r3, -3
/* 801649F4 00160654 48 00 01 08 */ b lbl_80164AFC
lbl_801649F8:
/* 801649F8 00160658 48 0F 95 D9 */ bl func_8025DFD0
/* 801649FC 0016065C 38 80 24 00 */ li r4, 0x2400
/* 80164A00 00160660 48 0F 95 C1 */ bl func_8025DFC0
/* 80164A04 00160664 2C 03 00 00 */ cmpwi r3, 0
/* 80164A08 00160668 7C 7C 1B 78 */ mr r28, r3
/* 80164A0C 0016066C 40 82 00 18 */ bne lbl_80164A24
/* 80164A10 00160670 48 0F 95 C1 */ bl func_8025DFD0
/* 80164A14 00160674 7F A4 EB 78 */ mr r4, r29
/* 80164A18 00160678 48 0F 95 B1 */ bl func_8025DFC8
/* 80164A1C 0016067C 38 60 FF FC */ li r3, -4
/* 80164A20 00160680 48 00 00 DC */ b lbl_80164AFC
lbl_80164A24:
/* 80164A24 00160684 7F 23 CB 78 */ mr r3, r25
/* 80164A28 00160688 7F 44 D3 78 */ mr r4, r26
/* 80164A2C 0016068C 7F A5 EB 78 */ mr r5, r29
/* 80164A30 00160690 7F 86 E3 78 */ mr r6, r28
/* 80164A34 00160694 48 13 D8 11 */ bl CXCompressLZ
/* 80164A38 00160698 2C 03 00 00 */ cmpwi r3, 0
/* 80164A3C 0016069C 40 82 00 14 */ bne lbl_80164A50
/* 80164A40 001606A0 7F A3 EB 78 */ mr r3, r29
/* 80164A44 001606A4 7F 24 CB 78 */ mr r4, r25
/* 80164A48 001606A8 7F 45 D3 78 */ mr r5, r26
/* 80164A4C 001606AC 4B E9 F5 B5 */ bl memcpy
lbl_80164A50:
/* 80164A50 001606B0 48 0F 95 81 */ bl func_8025DFD0
/* 80164A54 001606B4 7F 84 E3 78 */ mr r4, r28
/* 80164A58 001606B8 48 0F 95 71 */ bl func_8025DFC8
/* 80164A5C 001606BC 7F C3 F3 78 */ mr r3, r30
/* 80164A60 001606C0 7F 05 C3 78 */ mr r5, r24
/* 80164A64 001606C4 57 E4 04 3E */ clrlwi r4, r31, 0x10
/* 80164A68 001606C8 48 0F BC 11 */ bl func_80260678
/* 80164A6C 001606CC 2C 03 00 00 */ cmpwi r3, 0
/* 80164A70 001606D0 7C 7C 1B 78 */ mr r28, r3
/* 80164A74 001606D4 40 80 00 08 */ bge lbl_80164A7C
/* 80164A78 001606D8 48 00 00 84 */ b lbl_80164AFC
lbl_80164A7C:
/* 80164A7C 001606DC 7F 05 C3 78 */ mr r5, r24
/* 80164A80 001606E0 7F A6 EB 78 */ mr r6, r29
/* 80164A84 001606E4 7F 47 D3 78 */ mr r7, r26
/* 80164A88 001606E8 7F 68 DB 78 */ mr r8, r27
/* 80164A8C 001606EC 57 E3 04 3E */ clrlwi r3, r31, 0x10
/* 80164A90 001606F0 57 84 04 3E */ clrlwi r4, r28, 0x10
/* 80164A94 001606F4 4B FF F6 69 */ bl func_801640FC
/* 80164A98 001606F8 2C 03 00 00 */ cmpwi r3, 0
/* 80164A9C 001606FC 7C 7F 1B 78 */ mr r31, r3
/* 80164AA0 00160700 40 80 00 20 */ bge lbl_80164AC0
/* 80164AA4 00160704 7F C3 F3 78 */ mr r3, r30
/* 80164AA8 00160708 57 84 04 3E */ clrlwi r4, r28, 0x10
/* 80164AAC 0016070C 48 0F BF 11 */ bl func_802609BC
/* 80164AB0 00160710 48 0F 95 21 */ bl func_8025DFD0
/* 80164AB4 00160714 7F A4 EB 78 */ mr r4, r29
/* 80164AB8 00160718 48 0F 95 11 */ bl func_8025DFC8
/* 80164ABC 0016071C 48 00 00 38 */ b lbl_80164AF4
lbl_80164AC0:
/* 80164AC0 00160720 7F C3 F3 78 */ mr r3, r30
/* 80164AC4 00160724 7F A5 EB 78 */ mr r5, r29
/* 80164AC8 00160728 7F 46 D3 78 */ mr r6, r26
/* 80164ACC 0016072C 57 84 04 3E */ clrlwi r4, r28, 0x10
/* 80164AD0 00160730 48 0F BC 2D */ bl func_802606FC
/* 80164AD4 00160734 2C 03 00 00 */ cmpwi r3, 0
/* 80164AD8 00160738 41 81 00 18 */ bgt lbl_80164AF0
/* 80164ADC 0016073C 7F C3 F3 78 */ mr r3, r30
/* 80164AE0 00160740 57 84 04 3E */ clrlwi r4, r28, 0x10
/* 80164AE4 00160744 48 0F BE D9 */ bl func_802609BC
/* 80164AE8 00160748 3B E0 FF FF */ li r31, -1
/* 80164AEC 0016074C 48 00 00 08 */ b lbl_80164AF4
lbl_80164AF0:
/* 80164AF0 00160750 3B E0 00 00 */ li r31, 0
lbl_80164AF4:
/* 80164AF4 00160754 4B FF FA 19 */ bl func_8016450C
/* 80164AF8 00160758 7F E3 FB 78 */ mr r3, r31
lbl_80164AFC:
/* 80164AFC 0016075C 39 61 00 30 */ addi r11, r1, 0x30
/* 80164B00 00160760 48 06 26 69 */ bl _restgpr_24
/* 80164B04 00160764 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80164B08 00160768 7C 08 03 A6 */ mtlr r0
/* 80164B0C 0016076C 38 21 00 30 */ addi r1, r1, 0x30
/* 80164B10 00160770 4E 80 00 20 */ blr
.global func_80164B14
func_80164B14:
/* 80164B14 00160774 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80164B18 00160778 7C 08 02 A6 */ mflr r0
/* 80164B1C 0016077C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80164B20 00160780 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80164B24 00160784 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80164B28 00160788 7C BE 2B 78 */ mr r30, r5
/* 80164B2C 0016078C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80164B30 00160790 7C 9D 23 78 */ mr r29, r4
/* 80164B34 00160794 93 81 00 10 */ stw r28, 0x10(r1)
/* 80164B38 00160798 7C 7C 1B 78 */ mr r28, r3
/* 80164B3C 0016079C 48 0F 94 95 */ bl func_8025DFD0
/* 80164B40 001607A0 48 0F 97 79 */ bl func_8025E2B8
/* 80164B44 001607A4 2C 03 00 00 */ cmpwi r3, 0
/* 80164B48 001607A8 7C 7F 1B 78 */ mr r31, r3
/* 80164B4C 001607AC 40 82 00 0C */ bne lbl_80164B58
/* 80164B50 001607B0 38 60 FF FF */ li r3, -1
/* 80164B54 001607B4 48 00 00 34 */ b lbl_80164B88
lbl_80164B58:
/* 80164B58 001607B8 7F 83 E3 78 */ mr r3, r28
/* 80164B5C 001607BC 4B FF EF A1 */ bl func_80163AFC
/* 80164B60 001607C0 2C 03 00 00 */ cmpwi r3, 0
/* 80164B64 001607C4 7C 60 1B 78 */ mr r0, r3
/* 80164B68 001607C8 40 80 00 0C */ bge lbl_80164B74
/* 80164B6C 001607CC 38 60 FF FE */ li r3, -2
/* 80164B70 001607D0 48 00 00 18 */ b lbl_80164B88
lbl_80164B74:
/* 80164B74 001607D4 7F E3 FB 78 */ mr r3, r31
/* 80164B78 001607D8 7F A5 EB 78 */ mr r5, r29
/* 80164B7C 001607DC 7F C6 F3 78 */ mr r6, r30
/* 80164B80 001607E0 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 80164B84 001607E4 48 0F 9F F5 */ bl func_8025EB78
lbl_80164B88:
/* 80164B88 001607E8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80164B8C 001607EC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80164B90 001607F0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80164B94 001607F4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80164B98 001607F8 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80164B9C 001607FC 7C 08 03 A6 */ mtlr r0
/* 80164BA0 00160800 38 21 00 20 */ addi r1, r1, 0x20
/* 80164BA4 00160804 4E 80 00 20 */ blr
.global func_80164BA8
func_80164BA8:
/* 80164BA8 00160808 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80164BAC 0016080C 7C 08 02 A6 */ mflr r0
/* 80164BB0 00160810 90 01 00 14 */ stw r0, 0x14(r1)
/* 80164BB4 00160814 48 0F 94 1D */ bl func_8025DFD0
/* 80164BB8 00160818 48 0F 97 01 */ bl func_8025E2B8
/* 80164BBC 0016081C 2C 03 00 00 */ cmpwi r3, 0
/* 80164BC0 00160820 40 82 00 0C */ bne lbl_80164BCC
/* 80164BC4 00160824 38 60 FF FF */ li r3, -1
/* 80164BC8 00160828 48 00 00 2C */ b lbl_80164BF4
lbl_80164BCC:
/* 80164BCC 0016082C 81 83 00 00 */ lwz r12, 0(r3)
/* 80164BD0 00160830 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 80164BD4 00160834 7D 89 03 A6 */ mtctr r12
/* 80164BD8 00160838 4E 80 04 21 */ bctrl
/* 80164BDC 0016083C 2C 03 00 00 */ cmpwi r3, 0
/* 80164BE0 00160840 40 80 00 08 */ bge lbl_80164BE8
/* 80164BE4 00160844 38 60 00 00 */ li r3, 0
lbl_80164BE8:
/* 80164BE8 00160848 2C 03 00 03 */ cmpwi r3, 3
/* 80164BEC 0016084C 40 81 00 08 */ ble lbl_80164BF4
/* 80164BF0 00160850 38 60 00 03 */ li r3, 3
lbl_80164BF4:
/* 80164BF4 00160854 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80164BF8 00160858 7C 08 03 A6 */ mtlr r0
/* 80164BFC 0016085C 38 21 00 10 */ addi r1, r1, 0x10
/* 80164C00 00160860 4E 80 00 20 */ blr
.global func_80164C04
func_80164C04:
/* 80164C04 00160864 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80164C08 00160868 7C 08 02 A6 */ mflr r0
/* 80164C0C 0016086C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80164C10 00160870 4B FF EE ED */ bl func_80163AFC
/* 80164C14 00160874 54 60 0F FE */ srwi r0, r3, 0x1f
/* 80164C18 00160878 68 03 00 01 */ xori r3, r0, 1
/* 80164C1C 0016087C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80164C20 00160880 7C 08 03 A6 */ mtlr r0
/* 80164C24 00160884 38 21 00 10 */ addi r1, r1, 0x10
/* 80164C28 00160888 4E 80 00 20 */ blr
.global func_80164C2C
func_80164C2C:
/* 80164C2C 0016088C 2C 03 00 09 */ cmpwi r3, 9
/* 80164C30 00160890 41 80 00 0C */ blt lbl_80164C3C
/* 80164C34 00160894 38 60 00 00 */ li r3, 0
/* 80164C38 00160898 4E 80 00 20 */ blr
lbl_80164C3C:
/* 80164C3C 0016089C 3C 80 80 49 */ lis r4, lbl_804895E0@ha
/* 80164C40 001608A0 54 65 10 3A */ slwi r5, r3, 2
/* 80164C44 001608A4 38 84 95 E0 */ addi r4, r4, lbl_804895E0@l
/* 80164C48 001608A8 7C 04 2A 2E */ lhzx r0, r4, r5
/* 80164C4C 001608AC 2C 00 00 00 */ cmpwi r0, 0
/* 80164C50 001608B0 41 82 00 14 */ beq lbl_80164C64
/* 80164C54 001608B4 3C 60 80 49 */ lis r3, lbl_80489604@ha
/* 80164C58 001608B8 38 63 96 04 */ addi r3, r3, lbl_80489604@l
/* 80164C5C 001608BC 7C 63 28 2E */ lwzx r3, r3, r5
/* 80164C60 001608C0 4E 80 00 20 */ blr
lbl_80164C64:
/* 80164C64 001608C4 38 60 00 00 */ li r3, 0
/* 80164C68 001608C8 4E 80 00 20 */ blr
.global func_80164C6C
func_80164C6C:
/* 80164C6C 001608CC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80164C70 001608D0 7C 08 02 A6 */ mflr r0
/* 80164C74 001608D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80164C78 001608D8 4B FF EE 85 */ bl func_80163AFC
/* 80164C7C 001608DC 2C 03 00 00 */ cmpwi r3, 0
/* 80164C80 001608E0 40 80 00 0C */ bge lbl_80164C8C
/* 80164C84 001608E4 38 60 00 00 */ li r3, 0
/* 80164C88 001608E8 48 00 00 14 */ b lbl_80164C9C
lbl_80164C8C:
/* 80164C8C 001608EC 3C 80 80 49 */ lis r4, lbl_80489604@ha
/* 80164C90 001608F0 54 60 10 3A */ slwi r0, r3, 2
/* 80164C94 001608F4 38 84 96 04 */ addi r4, r4, lbl_80489604@l
/* 80164C98 001608F8 7C 64 00 2E */ lwzx r3, r4, r0
lbl_80164C9C:
/* 80164C9C 001608FC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80164CA0 00160900 7C 08 03 A6 */ mtlr r0
/* 80164CA4 00160904 38 21 00 10 */ addi r1, r1, 0x10
/* 80164CA8 00160908 4E 80 00 20 */ blr
.global func_80164CAC
func_80164CAC:
/* 80164CAC 0016090C 38 C0 00 01 */ li r6, 1
/* 80164CB0 00160910 39 0D 9D B8 */ addi r8, r13, lbl_8063F078-_SDA_BASE_
/* 80164CB4 00160914 38 A0 00 04 */ li r5, 4
/* 80164CB8 00160918 38 00 00 00 */ li r0, 0
/* 80164CBC 0016091C 3C 60 80 49 */ lis r3, lbl_80489628@ha
/* 80164CC0 00160920 3C 80 80 16 */ lis r4, lbl_80164CE8@ha
/* 80164CC4 00160924 98 CD 9D B8 */ stb r6, lbl_8063F078-_SDA_BASE_(r13)
/* 80164CC8 00160928 38 63 96 28 */ addi r3, r3, lbl_80489628@l
/* 80164CCC 0016092C 38 84 4C E8 */ addi r4, r4, lbl_80164CE8@l
/* 80164CD0 00160930 38 C0 00 50 */ li r6, 0x50
/* 80164CD4 00160934 B0 A8 00 02 */ sth r5, 2(r8)
/* 80164CD8 00160938 38 A0 00 00 */ li r5, 0
/* 80164CDC 0016093C 38 E0 00 80 */ li r7, 0x80
/* 80164CE0 00160940 98 08 00 04 */ stb r0, 4(r8)
/* 80164CE4 00160944 48 06 21 84 */ b __construct_array
|