summaryrefslogtreecommitdiff
path: root/asm/code_8017B4B8.s
blob: b496403fe0e46831cbeaec46709fb38091e095eb (plain)
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
.include "macros.inc"

.section .text, "ax"  # 0x80006980 - 0x803E1E60

.global func_8017B4B8
func_8017B4B8:
/* 8017B4B8 00177118  3C 60 80 49 */	lis r3, lbl_8048DF68@ha
/* 8017B4BC 0017711C  38 80 00 00 */	li r4, 0
/* 8017B4C0 00177120  38 63 DF 68 */	addi r3, r3, lbl_8048DF68@l
/* 8017B4C4 00177124  38 A0 00 20 */	li r5, 0x20
/* 8017B4C8 00177128  4B E8 8C 3C */	b memset

.global func_8017B4CC
func_8017B4CC:
/* 8017B4CC 0017712C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8017B4D0 00177130  7C 08 02 A6 */	mflr r0
/* 8017B4D4 00177134  38 80 00 A0 */	li r4, 0xa0
/* 8017B4D8 00177138  90 01 00 14 */	stw r0, 0x14(r1)
/* 8017B4DC 0017713C  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8017B4E0 00177140  48 05 F7 B5 */	bl func_801DAC94
/* 8017B4E4 00177144  90 6D 9F 68 */	stw r3, lbl_8063F228-_SDA_BASE_(r13)
/* 8017B4E8 00177148  4B FF FF D1 */	bl func_8017B4B8
/* 8017B4EC 0017714C  3C 80 80 49 */	lis r4, lbl_8048DF88@ha
/* 8017B4F0 00177150  38 00 00 00 */	li r0, 0
/* 8017B4F4 00177154  38 64 DF 88 */	addi r3, r4, lbl_8048DF88@l
/* 8017B4F8 00177158  90 04 DF 88 */	stw r0, -0x2078(r4)
/* 8017B4FC 0017715C  90 03 00 04 */	stw r0, 4(r3)
/* 8017B500 00177160  90 03 00 08 */	stw r0, 8(r3)
/* 8017B504 00177164  90 03 00 0C */	stw r0, 0xc(r3)
/* 8017B508 00177168  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8017B50C 0017716C  7C 08 03 A6 */	mtlr r0
/* 8017B510 00177170  38 21 00 10 */	addi r1, r1, 0x10
/* 8017B514 00177174  4E 80 00 20 */	blr

.global func_8017B518
func_8017B518:
/* 8017B518 00177178  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8017B51C 0017717C  80 8D 9F 68 */	lwz r4, lbl_8063F228-_SDA_BASE_(r13)
/* 8017B520 00177180  48 05 F8 28 */	b func_801DAD48

.global func_8017B524
func_8017B524:
/* 8017B524 00177184  3C 80 80 49 */	lis r4, lbl_8048DF88@ha
/* 8017B528 00177188  54 60 10 3A */	slwi r0, r3, 2
/* 8017B52C 0017718C  38 84 DF 88 */	addi r4, r4, lbl_8048DF88@l
/* 8017B530 00177190  7C 64 00 2E */	lwzx r3, r4, r0
/* 8017B534 00177194  4E 80 00 20 */	blr

.global func_8017B538
func_8017B538:
/* 8017B538 00177198  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8017B53C 0017719C  7C 08 02 A6 */	mflr r0
/* 8017B540 001771A0  90 01 00 14 */	stw r0, 0x14(r1)
/* 8017B544 001771A4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8017B548 001771A8  7C 7F 1B 78 */	mr r31, r3
/* 8017B54C 001771AC  38 63 00 08 */	addi r3, r3, 8
/* 8017B550 001771B0  4B FF 3E AD */	bl func_8016F3FC
/* 8017B554 001771B4  90 7F 00 0C */	stw r3, 0xc(r31)
/* 8017B558 001771B8  38 7F 00 10 */	addi r3, r31, 0x10
/* 8017B55C 001771BC  4B FF 3E B1 */	bl func_8016F40C
/* 8017B560 001771C0  90 7F 00 14 */	stw r3, 0x14(r31)
/* 8017B564 001771C4  38 7F 00 18 */	addi r3, r31, 0x18
/* 8017B568 001771C8  4B FF 41 D5 */	bl func_8016F73C
/* 8017B56C 001771CC  90 7F 00 1C */	stw r3, 0x1c(r31)
/* 8017B570 001771D0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8017B574 001771D4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8017B578 001771D8  7C 08 03 A6 */	mtlr r0
/* 8017B57C 001771DC  38 21 00 10 */	addi r1, r1, 0x10
/* 8017B580 001771E0  4E 80 00 20 */	blr

.global func_8017B584
func_8017B584:
/* 8017B584 001771E4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8017B588 001771E8  7C 08 02 A6 */	mflr r0
/* 8017B58C 001771EC  90 01 00 24 */	stw r0, 0x24(r1)
/* 8017B590 001771F0  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8017B594 001771F4  3B E0 00 00 */	li r31, 0
/* 8017B598 001771F8  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8017B59C 001771FC  7C 9E 23 78 */	mr r30, r4
/* 8017B5A0 00177200  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8017B5A4 00177204  7C 7D 1B 78 */	mr r29, r3
/* 8017B5A8 00177208  80 A3 00 08 */	lwz r5, 8(r3)
/* 8017B5AC 0017720C  2C 05 00 00 */	cmpwi r5, 0
/* 8017B5B0 00177210  41 82 00 58 */	beq lbl_8017B608
/* 8017B5B4 00177214  80 03 00 00 */	lwz r0, 0(r3)
/* 8017B5B8 00177218  7C 00 28 40 */	cmplw r0, r5
/* 8017B5BC 0017721C  40 80 00 4C */	bge lbl_8017B608
/* 8017B5C0 00177220  38 00 00 02 */	li r0, 2
/* 8017B5C4 00177224  98 04 00 05 */	stb r0, 5(r4)
/* 8017B5C8 00177228  80 A3 00 00 */	lwz r5, 0(r3)
/* 8017B5CC 0017722C  80 03 00 08 */	lwz r0, 8(r3)
/* 8017B5D0 00177230  7C 05 00 50 */	subf r0, r5, r0
/* 8017B5D4 00177234  90 04 00 14 */	stw r0, 0x14(r4)
/* 8017B5D8 00177238  7C 04 03 78 */	mr r4, r0
/* 8017B5DC 0017723C  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8017B5E0 00177240  48 05 F6 B5 */	bl func_801DAC94
/* 8017B5E4 00177244  7C 7F 1B 78 */	mr r31, r3
/* 8017B5E8 00177248  80 7D 00 00 */	lwz r3, 0(r29)
/* 8017B5EC 0017724C  7F E4 FB 78 */	mr r4, r31
/* 8017B5F0 00177250  4B FF 4A ED */	bl func_801700DC
/* 8017B5F4 00177254  93 FE 00 10 */	stw r31, 0x10(r30)
/* 8017B5F8 00177258  80 1E 00 14 */	lwz r0, 0x14(r30)
/* 8017B5FC 0017725C  80 7D 00 00 */	lwz r3, 0(r29)
/* 8017B600 00177260  7C 03 02 14 */	add r0, r3, r0
/* 8017B604 00177264  90 1D 00 00 */	stw r0, 0(r29)
lbl_8017B608:
/* 8017B608 00177268  80 1D 00 10 */	lwz r0, 0x10(r29)
/* 8017B60C 0017726C  2C 00 00 00 */	cmpwi r0, 0
/* 8017B610 00177270  41 82 00 48 */	beq lbl_8017B658
/* 8017B614 00177274  80 7D 00 04 */	lwz r3, 4(r29)
/* 8017B618 00177278  7C 03 00 40 */	cmplw r3, r0
/* 8017B61C 0017727C  40 80 00 3C */	bge lbl_8017B658
/* 8017B620 00177280  1C 03 00 24 */	mulli r0, r3, 0x24
/* 8017B624 00177284  80 7D 00 14 */	lwz r3, 0x14(r29)
/* 8017B628 00177288  7C 03 02 14 */	add r0, r3, r0
/* 8017B62C 0017728C  90 1E 00 18 */	stw r0, 0x18(r30)
/* 8017B630 00177290  80 7D 00 04 */	lwz r3, 4(r29)
/* 8017B634 00177294  80 1D 00 10 */	lwz r0, 0x10(r29)
/* 8017B638 00177298  7C 63 00 50 */	subf r3, r3, r0
/* 8017B63C 0017729C  90 7E 00 1C */	stw r3, 0x1c(r30)
/* 8017B640 001772A0  80 1D 00 04 */	lwz r0, 4(r29)
/* 8017B644 001772A4  7C 00 1A 14 */	add r0, r0, r3
/* 8017B648 001772A8  90 1D 00 04 */	stw r0, 4(r29)
/* 8017B64C 001772AC  80 1E 00 1C */	lwz r0, 0x1c(r30)
/* 8017B650 001772B0  1C 00 00 24 */	mulli r0, r0, 0x24
/* 8017B654 001772B4  90 1E 00 1C */	stw r0, 0x1c(r30)
lbl_8017B658:
/* 8017B658 001772B8  80 1D 00 18 */	lwz r0, 0x18(r29)
/* 8017B65C 001772BC  2C 00 00 00 */	cmpwi r0, 0
/* 8017B660 001772C0  41 82 00 14 */	beq lbl_8017B674
/* 8017B664 001772C4  80 1D 00 1C */	lwz r0, 0x1c(r29)
/* 8017B668 001772C8  90 1E 00 20 */	stw r0, 0x20(r30)
/* 8017B66C 001772CC  80 1D 00 18 */	lwz r0, 0x18(r29)
/* 8017B670 001772D0  90 1E 00 24 */	stw r0, 0x24(r30)
lbl_8017B674:
/* 8017B674 001772D4  88 1E 00 06 */	lbz r0, 6(r30)
/* 8017B678 001772D8  7F E3 FB 78 */	mr r3, r31
/* 8017B67C 001772DC  60 00 00 01 */	ori r0, r0, 1
/* 8017B680 001772E0  98 1E 00 06 */	stb r0, 6(r30)
/* 8017B684 001772E4  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8017B688 001772E8  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8017B68C 001772EC  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8017B690 001772F0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8017B694 001772F4  7C 08 03 A6 */	mtlr r0
/* 8017B698 001772F8  38 21 00 20 */	addi r1, r1, 0x20
/* 8017B69C 001772FC  4E 80 00 20 */	blr

.global func_8017B6A0
func_8017B6A0:
/* 8017B6A0 00177300  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8017B6A4 00177304  7C 08 02 A6 */	mflr r0
/* 8017B6A8 00177308  90 01 00 14 */	stw r0, 0x14(r1)
/* 8017B6AC 0017730C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8017B6B0 00177310  7C 7F 1B 78 */	mr r31, r3
/* 8017B6B4 00177314  80 A3 00 1C */	lwz r5, 0x1c(r3)
/* 8017B6B8 00177318  2C 05 00 00 */	cmpwi r5, 0
/* 8017B6BC 0017731C  41 82 00 1C */	beq lbl_8017B6D8
/* 8017B6C0 00177320  3C 80 38 E4 */	lis r4, 0x38E38E39@ha
/* 8017B6C4 00177324  80 63 00 18 */	lwz r3, 0x18(r3)
/* 8017B6C8 00177328  38 04 8E 39 */	addi r0, r4, 0x38E38E39@l
/* 8017B6CC 0017732C  7C 00 28 16 */	mulhwu r0, r0, r5
/* 8017B6D0 00177330  54 04 E8 FE */	srwi r4, r0, 3
/* 8017B6D4 00177334  4B FF 3D 49 */	bl func_8016F41C
lbl_8017B6D8:
/* 8017B6D8 00177338  80 9F 00 14 */	lwz r4, 0x14(r31)
/* 8017B6DC 0017733C  2C 04 00 00 */	cmpwi r4, 0
/* 8017B6E0 00177340  41 82 00 0C */	beq lbl_8017B6EC
/* 8017B6E4 00177344  80 7F 00 10 */	lwz r3, 0x10(r31)
/* 8017B6E8 00177348  4B FF 4D B5 */	bl func_8017049C
lbl_8017B6EC:
/* 8017B6EC 0017734C  80 9F 00 24 */	lwz r4, 0x24(r31)
/* 8017B6F0 00177350  2C 04 00 00 */	cmpwi r4, 0
/* 8017B6F4 00177354  41 82 00 0C */	beq lbl_8017B700
/* 8017B6F8 00177358  80 7F 00 20 */	lwz r3, 0x20(r31)
/* 8017B6FC 0017735C  4B FF 41 75 */	bl func_8016F870
lbl_8017B700:
/* 8017B700 00177360  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8017B704 00177364  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8017B708 00177368  7C 08 03 A6 */	mtlr r0
/* 8017B70C 0017736C  38 21 00 10 */	addi r1, r1, 0x10
/* 8017B710 00177370  4E 80 00 20 */	blr

.global func_8017B714
func_8017B714:
/* 8017B714 00177374  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8017B718 00177378  7C 08 02 A6 */	mflr r0
/* 8017B71C 0017737C  90 01 00 24 */	stw r0, 0x24(r1)
/* 8017B720 00177380  39 61 00 20 */	addi r11, r1, 0x20
/* 8017B724 00177384  48 04 BA 01 */	bl _savegpr_26
/* 8017B728 00177388  7C 9B 23 78 */	mr r27, r4
/* 8017B72C 0017738C  7C 7A 1B 78 */	mr r26, r3
/* 8017B730 00177390  7C BC 2B 78 */	mr r28, r5
/* 8017B734 00177394  38 80 00 00 */	li r4, 0
/* 8017B738 00177398  7F 63 DB 78 */	mr r3, r27
/* 8017B73C 0017739C  38 A0 00 E8 */	li r5, 0xe8
/* 8017B740 001773A0  4B E8 89 C5 */	bl memset
/* 8017B744 001773A4  7F 7F DB 78 */	mr r31, r27
/* 8017B748 001773A8  3B DB 00 48 */	addi r30, r27, 0x48
/* 8017B74C 001773AC  3B A0 00 00 */	li r29, 0
lbl_8017B750:
/* 8017B750 001773B0  2C 1C 00 00 */	cmpwi r28, 0
/* 8017B754 001773B4  40 82 00 0C */	bne lbl_8017B760
/* 8017B758 001773B8  57 A0 07 FF */	clrlwi. r0, r29, 0x1f
/* 8017B75C 001773BC  41 82 00 14 */	beq lbl_8017B770
lbl_8017B760:
/* 8017B760 001773C0  2C 1C 00 00 */	cmpwi r28, 0
/* 8017B764 001773C4  41 82 00 88 */	beq lbl_8017B7EC
/* 8017B768 001773C8  57 A0 07 FF */	clrlwi. r0, r29, 0x1f
/* 8017B76C 001773CC  41 82 00 80 */	beq lbl_8017B7EC
lbl_8017B770:
/* 8017B770 001773D0  6B A5 00 01 */	xori r5, r29, 1
/* 8017B774 001773D4  80 8D 9F 08 */	lwz r4, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8017B778 001773D8  54 A6 10 3A */	slwi r6, r5, 2
/* 8017B77C 001773DC  7C 7B EA 14 */	add r3, r27, r29
/* 8017B780 001773E0  7C 04 30 2E */	lwzx r0, r4, r6
/* 8017B784 001773E4  90 1F 00 00 */	stw r0, 0(r31)
/* 8017B788 001773E8  80 0D 9F 08 */	lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8017B78C 001773EC  7C 80 32 14 */	add r4, r0, r6
/* 8017B790 001773F0  80 04 00 10 */	lwz r0, 0x10(r4)
/* 8017B794 001773F4  90 1F 00 10 */	stw r0, 0x10(r31)
/* 8017B798 001773F8  80 0D 9F 08 */	lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8017B79C 001773FC  7C 80 32 14 */	add r4, r0, r6
/* 8017B7A0 00177400  80 04 00 20 */	lwz r0, 0x20(r4)
/* 8017B7A4 00177404  90 1F 00 20 */	stw r0, 0x20(r31)
/* 8017B7A8 00177408  80 0D 9F 08 */	lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8017B7AC 0017740C  7C 80 32 14 */	add r4, r0, r6
/* 8017B7B0 00177410  80 04 00 40 */	lwz r0, 0x40(r4)
/* 8017B7B4 00177414  68 00 00 01 */	xori r0, r0, 1
/* 8017B7B8 00177418  90 1F 00 30 */	stw r0, 0x30(r31)
/* 8017B7BC 0017741C  80 0D 9F 08 */	lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8017B7C0 00177420  7C 80 2A 14 */	add r4, r0, r5
/* 8017B7C4 00177424  88 04 00 78 */	lbz r0, 0x78(r4)
/* 8017B7C8 00177428  98 03 00 40 */	stb r0, 0x40(r3)
/* 8017B7CC 0017742C  80 0D 9F 08 */	lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8017B7D0 00177430  7C 60 32 14 */	add r3, r0, r6
/* 8017B7D4 00177434  80 83 00 30 */	lwz r4, 0x30(r3)
/* 8017B7D8 00177438  2C 04 00 00 */	cmpwi r4, 0
/* 8017B7DC 0017743C  41 82 00 10 */	beq lbl_8017B7EC
/* 8017B7E0 00177440  7F C3 F3 78 */	mr r3, r30
/* 8017B7E4 00177444  38 A0 00 28 */	li r5, 0x28
/* 8017B7E8 00177448  4B E8 88 19 */	bl memcpy
lbl_8017B7EC:
/* 8017B7EC 0017744C  80 8D 9F 08 */	lwz r4, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8017B7F0 00177450  6B A0 00 01 */	xori r0, r29, 1
/* 8017B7F4 00177454  7C 7B EA 14 */	add r3, r27, r29
/* 8017B7F8 00177458  3B BD 00 01 */	addi r29, r29, 1
/* 8017B7FC 0017745C  7C 84 02 14 */	add r4, r4, r0
/* 8017B800 00177460  3B FF 00 04 */	addi r31, r31, 4
/* 8017B804 00177464  88 04 00 7C */	lbz r0, 0x7c(r4)
/* 8017B808 00177468  2C 1D 00 04 */	cmpwi r29, 4
/* 8017B80C 0017746C  3B DE 00 28 */	addi r30, r30, 0x28
/* 8017B810 00177470  98 03 00 44 */	stb r0, 0x44(r3)
/* 8017B814 00177474  41 80 FF 3C */	blt lbl_8017B750
/* 8017B818 00177478  88 1A 00 06 */	lbz r0, 6(r26)
/* 8017B81C 0017747C  38 60 00 E8 */	li r3, 0xe8
/* 8017B820 00177480  93 7A 00 08 */	stw r27, 8(r26)
/* 8017B824 00177484  39 61 00 20 */	addi r11, r1, 0x20
/* 8017B828 00177488  60 00 00 02 */	ori r0, r0, 2
/* 8017B82C 0017748C  90 7A 00 0C */	stw r3, 0xc(r26)
/* 8017B830 00177490  98 1A 00 06 */	stb r0, 6(r26)
/* 8017B834 00177494  48 04 B9 3D */	bl _restgpr_26
/* 8017B838 00177498  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8017B83C 0017749C  7C 08 03 A6 */	mtlr r0
/* 8017B840 001774A0  38 21 00 20 */	addi r1, r1, 0x20
/* 8017B844 001774A4  4E 80 00 20 */	blr

.global func_8017B848
func_8017B848:
/* 8017B848 001774A8  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8017B84C 001774AC  7C 08 02 A6 */	mflr r0
/* 8017B850 001774B0  90 01 00 34 */	stw r0, 0x34(r1)
/* 8017B854 001774B4  39 61 00 30 */	addi r11, r1, 0x30
/* 8017B858 001774B8  48 04 B8 C9 */	bl _savegpr_25
/* 8017B85C 001774BC  83 63 00 08 */	lwz r27, 8(r3)
/* 8017B860 001774C0  7C 9A 23 78 */	mr r26, r4
/* 8017B864 001774C4  3B 80 00 00 */	li r28, 0
/* 8017B868 001774C8  3B 20 00 00 */	li r25, 0
/* 8017B86C 001774CC  7F 7F DB 78 */	mr r31, r27
/* 8017B870 001774D0  3B BB 00 48 */	addi r29, r27, 0x48
/* 8017B874 001774D4  3B C0 00 00 */	li r30, 0
lbl_8017B878:
/* 8017B878 001774D8  2C 1A 00 00 */	cmpwi r26, 0
/* 8017B87C 001774DC  40 82 00 0C */	bne lbl_8017B888
/* 8017B880 001774E0  57 80 07 FF */	clrlwi. r0, r28, 0x1f
/* 8017B884 001774E4  41 82 00 14 */	beq lbl_8017B898
lbl_8017B888:
/* 8017B888 001774E8  2C 1A 00 00 */	cmpwi r26, 0
/* 8017B88C 001774EC  41 82 00 88 */	beq lbl_8017B914
/* 8017B890 001774F0  57 80 07 FF */	clrlwi. r0, r28, 0x1f
/* 8017B894 001774F4  41 82 00 80 */	beq lbl_8017B914
lbl_8017B898:
/* 8017B898 001774F8  80 1F 00 00 */	lwz r0, 0(r31)
/* 8017B89C 001774FC  7C 7B E2 14 */	add r3, r27, r28
/* 8017B8A0 00177500  80 CD 9F 08 */	lwz r6, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8017B8A4 00177504  7F A4 EB 78 */	mr r4, r29
/* 8017B8A8 00177508  38 A0 00 28 */	li r5, 0x28
/* 8017B8AC 0017750C  7C 06 F1 2E */	stwx r0, r6, r30
/* 8017B8B0 00177510  80 0D 9F 08 */	lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8017B8B4 00177514  80 FF 00 10 */	lwz r7, 0x10(r31)
/* 8017B8B8 00177518  7C C0 F2 14 */	add r6, r0, r30
/* 8017B8BC 0017751C  90 E6 00 10 */	stw r7, 0x10(r6)
/* 8017B8C0 00177520  80 0D 9F 08 */	lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8017B8C4 00177524  80 FF 00 20 */	lwz r7, 0x20(r31)
/* 8017B8C8 00177528  7C C0 F2 14 */	add r6, r0, r30
/* 8017B8CC 0017752C  90 E6 00 20 */	stw r7, 0x20(r6)
/* 8017B8D0 00177530  80 0D 9F 08 */	lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8017B8D4 00177534  80 FF 00 30 */	lwz r7, 0x30(r31)
/* 8017B8D8 00177538  7C C0 F2 14 */	add r6, r0, r30
/* 8017B8DC 0017753C  90 E6 00 40 */	stw r7, 0x40(r6)
/* 8017B8E0 00177540  80 0D 9F 08 */	lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8017B8E4 00177544  88 C3 00 40 */	lbz r6, 0x40(r3)
/* 8017B8E8 00177548  7C 60 E2 14 */	add r3, r0, r28
/* 8017B8EC 0017754C  98 C3 00 78 */	stb r6, 0x78(r3)
/* 8017B8F0 00177550  80 6D 9F 68 */	lwz r3, lbl_8063F228-_SDA_BASE_(r13)
/* 8017B8F4 00177554  80 0D 9F 08 */	lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8017B8F8 00177558  7C C3 CA 14 */	add r6, r3, r25
/* 8017B8FC 0017755C  7C 60 F2 14 */	add r3, r0, r30
/* 8017B900 00177560  90 C3 00 30 */	stw r6, 0x30(r3)
/* 8017B904 00177564  80 0D 9F 08 */	lwz r0, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8017B908 00177568  7C 60 F2 14 */	add r3, r0, r30
/* 8017B90C 0017756C  80 63 00 30 */	lwz r3, 0x30(r3)
/* 8017B910 00177570  4B E8 86 F1 */	bl memcpy
lbl_8017B914:
/* 8017B914 00177574  3B 9C 00 01 */	addi r28, r28, 1
/* 8017B918 00177578  3B DE 00 04 */	addi r30, r30, 4
/* 8017B91C 0017757C  2C 1C 00 04 */	cmpwi r28, 4
/* 8017B920 00177580  3B BD 00 28 */	addi r29, r29, 0x28
/* 8017B924 00177584  3B 39 00 28 */	addi r25, r25, 0x28
/* 8017B928 00177588  3B FF 00 04 */	addi r31, r31, 4
/* 8017B92C 0017758C  41 80 FF 4C */	blt lbl_8017B878
/* 8017B930 00177590  2C 1A 00 00 */	cmpwi r26, 0
/* 8017B934 00177594  40 82 00 34 */	bne lbl_8017B968
/* 8017B938 00177598  88 1B 00 44 */	lbz r0, 0x44(r27)
/* 8017B93C 0017759C  80 6D 9F 08 */	lwz r3, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8017B940 001775A0  98 03 00 7C */	stb r0, 0x7c(r3)
/* 8017B944 001775A4  88 1B 00 45 */	lbz r0, 0x45(r27)
/* 8017B948 001775A8  80 6D 9F 08 */	lwz r3, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8017B94C 001775AC  98 03 00 7D */	stb r0, 0x7d(r3)
/* 8017B950 001775B0  88 1B 00 46 */	lbz r0, 0x46(r27)
/* 8017B954 001775B4  80 6D 9F 08 */	lwz r3, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8017B958 001775B8  98 03 00 7E */	stb r0, 0x7e(r3)
/* 8017B95C 001775BC  88 1B 00 47 */	lbz r0, 0x47(r27)
/* 8017B960 001775C0  80 6D 9F 08 */	lwz r3, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8017B964 001775C4  98 03 00 7F */	stb r0, 0x7f(r3)
lbl_8017B968:
/* 8017B968 001775C8  39 61 00 30 */	addi r11, r1, 0x30
/* 8017B96C 001775CC  48 04 B8 01 */	bl _restgpr_25
/* 8017B970 001775D0  80 01 00 34 */	lwz r0, 0x34(r1)
/* 8017B974 001775D4  7C 08 03 A6 */	mtlr r0
/* 8017B978 001775D8  38 21 00 30 */	addi r1, r1, 0x30
/* 8017B97C 001775DC  4E 80 00 20 */	blr

.global func_8017B980
func_8017B980:
/* 8017B980 001775E0  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 8017B984 001775E4  7C 08 02 A6 */	mflr r0
/* 8017B988 001775E8  90 01 00 44 */	stw r0, 0x44(r1)
/* 8017B98C 001775EC  39 61 00 40 */	addi r11, r1, 0x40
/* 8017B990 001775F0  48 04 B7 85 */	bl _savegpr_22
/* 8017B994 001775F4  7C 7F 1B 78 */	mr r31, r3
/* 8017B998 001775F8  48 23 0E 91 */	bl func_803AC828
/* 8017B99C 001775FC  7C 79 1B 78 */	mr r25, r3
/* 8017B9A0 00177600  48 23 0E A9 */	bl func_803AC848
/* 8017B9A4 00177604  7C 78 1B 78 */	mr r24, r3
/* 8017B9A8 00177608  48 24 D7 39 */	bl func_803C90E0
/* 8017B9AC 0017760C  7C 77 1B 78 */	mr r23, r3
/* 8017B9B0 00177610  48 26 2E 29 */	bl func_803DE7D8
/* 8017B9B4 00177614  56 FD 10 3A */	slwi r29, r23, 2
/* 8017B9B8 00177618  54 7E 08 3C */	slwi r30, r3, 1
/* 8017B9BC 0017761C  7C 9E EA 14 */	add r4, r30, r29
/* 8017B9C0 00177620  7C 7A 1B 78 */	mr r26, r3
/* 8017B9C4 00177624  38 84 00 20 */	addi r4, r4, 0x20
/* 8017B9C8 00177628  90 9F 00 2C */	stw r4, 0x2c(r31)
/* 8017B9CC 0017762C  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8017B9D0 00177630  48 05 F2 C5 */	bl func_801DAC94
/* 8017B9D4 00177634  90 7F 00 28 */	stw r3, 0x28(r31)
/* 8017B9D8 00177638  38 80 00 0C */	li r4, 0xc
/* 8017B9DC 0017763C  38 00 00 00 */	li r0, 0
/* 8017B9E0 00177640  3B 63 00 08 */	addi r27, r3, 8
/* 8017B9E4 00177644  B3 C3 00 00 */	sth r30, 0(r3)
/* 8017B9E8 00177648  B3 A3 00 02 */	sth r29, 2(r3)
/* 8017B9EC 0017764C  B0 83 00 04 */	sth r4, 4(r3)
/* 8017B9F0 00177650  B0 03 00 06 */	sth r0, 6(r3)
/* 8017B9F4 00177654  48 00 0B 95 */	bl func_8017C588
/* 8017B9F8 00177658  7C 76 1B 78 */	mr r22, r3
/* 8017B9FC 0017765C  7F 23 CB 78 */	mr r3, r25
/* 8017BA00 00177660  38 80 00 01 */	li r4, 1
/* 8017BA04 00177664  48 23 0E 65 */	bl func_803AC868
/* 8017BA08 00177668  7C 64 1B 78 */	mr r4, r3
/* 8017BA0C 0017766C  7F 63 DB 78 */	mr r3, r27
/* 8017BA10 00177670  7F 45 D3 78 */	mr r5, r26
/* 8017BA14 00177674  4B E8 85 ED */	bl memcpy
/* 8017BA18 00177678  2C 16 00 00 */	cmpwi r22, 0
/* 8017BA1C 0017767C  41 82 00 14 */	beq lbl_8017BA30
/* 8017BA20 00177680  7E C3 B3 78 */	mr r3, r22
/* 8017BA24 00177684  7F 65 DB 78 */	mr r5, r27
/* 8017BA28 00177688  38 80 00 01 */	li r4, 1
/* 8017BA2C 0017768C  48 00 0D C5 */	bl func_8017C7F0
lbl_8017BA30:
/* 8017BA30 00177690  7F 23 CB 78 */	mr r3, r25
/* 8017BA34 00177694  7F 7B D2 14 */	add r27, r27, r26
/* 8017BA38 00177698  38 80 00 00 */	li r4, 0
/* 8017BA3C 0017769C  48 23 0E 2D */	bl func_803AC868
/* 8017BA40 001776A0  7C 64 1B 78 */	mr r4, r3
/* 8017BA44 001776A4  7F 63 DB 78 */	mr r3, r27
/* 8017BA48 001776A8  7F 45 D3 78 */	mr r5, r26
/* 8017BA4C 001776AC  4B E8 85 B5 */	bl memcpy
/* 8017BA50 001776B0  2C 16 00 00 */	cmpwi r22, 0
/* 8017BA54 001776B4  41 82 00 14 */	beq lbl_8017BA68
/* 8017BA58 001776B8  7E C3 B3 78 */	mr r3, r22
/* 8017BA5C 001776BC  7F 65 DB 78 */	mr r5, r27
/* 8017BA60 001776C0  38 80 00 00 */	li r4, 0
/* 8017BA64 001776C4  48 00 0D 8D */	bl func_8017C7F0
lbl_8017BA68:
/* 8017BA68 001776C8  7F 7B D2 14 */	add r27, r27, r26
/* 8017BA6C 001776CC  3B C1 00 08 */	addi r30, r1, 8
/* 8017BA70 001776D0  3B 40 00 00 */	li r26, 0
lbl_8017BA74:
/* 8017BA74 001776D4  6B 5D 00 01 */	xori r29, r26, 1
/* 8017BA78 001776D8  7F 03 C3 78 */	mr r3, r24
/* 8017BA7C 001776DC  7F A4 EB 78 */	mr r4, r29
/* 8017BA80 001776E0  48 24 D6 51 */	bl func_803C90D0
/* 8017BA84 001776E4  7C 7C 1B 78 */	mr r28, r3
/* 8017BA88 001776E8  7F 63 DB 78 */	mr r3, r27
/* 8017BA8C 001776EC  7F 84 E3 78 */	mr r4, r28
/* 8017BA90 001776F0  7E E5 BB 78 */	mr r5, r23
/* 8017BA94 001776F4  4B E8 85 6D */	bl memcpy
/* 8017BA98 001776F8  3B 5A 00 01 */	addi r26, r26, 1
/* 8017BA9C 001776FC  57 A0 10 3A */	slwi r0, r29, 2
/* 8017BAA0 00177700  2C 1A 00 04 */	cmpwi r26, 4
/* 8017BAA4 00177704  7F 9E 01 2E */	stwx r28, r30, r0
/* 8017BAA8 00177708  7F 7B BA 14 */	add r27, r27, r23
/* 8017BAAC 0017770C  41 80 FF C8 */	blt lbl_8017BA74
/* 8017BAB0 00177710  7F 23 CB 78 */	mr r3, r25
/* 8017BAB4 00177714  38 80 00 01 */	li r4, 1
/* 8017BAB8 00177718  48 24 D9 A1 */	bl func_803C9458
/* 8017BABC 0017771C  7C 64 1B 78 */	mr r4, r3
/* 8017BAC0 00177720  7F 63 DB 78 */	mr r3, r27
/* 8017BAC4 00177724  38 A0 00 06 */	li r5, 6
/* 8017BAC8 00177728  4B E8 85 39 */	bl memcpy
/* 8017BACC 0017772C  2C 16 00 00 */	cmpwi r22, 0
/* 8017BAD0 00177730  41 82 00 2C */	beq lbl_8017BAFC
/* 8017BAD4 00177734  80 A1 00 0C */	lwz r5, 0xc(r1)
/* 8017BAD8 00177738  7E C3 B3 78 */	mr r3, r22
/* 8017BADC 0017773C  88 DB 00 00 */	lbz r6, 0(r27)
/* 8017BAE0 00177740  38 80 00 01 */	li r4, 1
/* 8017BAE4 00177744  48 00 0D B9 */	bl func_8017C89C
/* 8017BAE8 00177748  80 A1 00 14 */	lwz r5, 0x14(r1)
/* 8017BAEC 0017774C  7E C3 B3 78 */	mr r3, r22
/* 8017BAF0 00177750  88 DB 00 01 */	lbz r6, 1(r27)
/* 8017BAF4 00177754  38 80 00 01 */	li r4, 1
/* 8017BAF8 00177758  48 00 0D A5 */	bl func_8017C89C
lbl_8017BAFC:
/* 8017BAFC 0017775C  7F 23 CB 78 */	mr r3, r25
/* 8017BB00 00177760  38 80 00 00 */	li r4, 0
/* 8017BB04 00177764  48 24 D9 55 */	bl func_803C9458
/* 8017BB08 00177768  7C 64 1B 78 */	mr r4, r3
/* 8017BB0C 0017776C  38 7B 00 06 */	addi r3, r27, 6
/* 8017BB10 00177770  38 A0 00 06 */	li r5, 6
/* 8017BB14 00177774  4B E8 84 ED */	bl memcpy
/* 8017BB18 00177778  2C 16 00 00 */	cmpwi r22, 0
/* 8017BB1C 0017777C  41 82 00 2C */	beq lbl_8017BB48
/* 8017BB20 00177780  80 A1 00 08 */	lwz r5, 8(r1)
/* 8017BB24 00177784  7E C3 B3 78 */	mr r3, r22
/* 8017BB28 00177788  88 DB 00 06 */	lbz r6, 6(r27)
/* 8017BB2C 0017778C  38 80 00 00 */	li r4, 0
/* 8017BB30 00177790  48 00 0D 6D */	bl func_8017C89C
/* 8017BB34 00177794  80 A1 00 10 */	lwz r5, 0x10(r1)
/* 8017BB38 00177798  7E C3 B3 78 */	mr r3, r22
/* 8017BB3C 0017779C  88 DB 00 07 */	lbz r6, 7(r27)
/* 8017BB40 001777A0  38 80 00 00 */	li r4, 0
/* 8017BB44 001777A4  48 00 0D 59 */	bl func_8017C89C
lbl_8017BB48:
/* 8017BB48 001777A8  3A DB 00 0C */	addi r22, r27, 0xc
/* 8017BB4C 001777AC  3B 80 00 00 */	li r28, 0
/* 8017BB50 001777B0  7E DE B3 78 */	mr r30, r22
lbl_8017BB54:
/* 8017BB54 001777B4  7F 23 CB 78 */	mr r3, r25
/* 8017BB58 001777B8  7F 04 C3 78 */	mr r4, r24
/* 8017BB5C 001777BC  6B 86 00 01 */	xori r6, r28, 1
/* 8017BB60 001777C0  38 A0 00 02 */	li r5, 2
/* 8017BB64 001777C4  48 24 D0 E5 */	bl func_803C8C48
/* 8017BB68 001777C8  3B 9C 00 01 */	addi r28, r28, 1
/* 8017BB6C 001777CC  98 7E 00 00 */	stb r3, 0(r30)
/* 8017BB70 001777D0  2C 1C 00 04 */	cmpwi r28, 4
/* 8017BB74 001777D4  3B DE 00 01 */	addi r30, r30, 1
/* 8017BB78 001777D8  41 80 FF DC */	blt lbl_8017BB54
/* 8017BB7C 001777DC  3B 80 00 00 */	li r28, 0
lbl_8017BB80:
/* 8017BB80 001777E0  7F 23 CB 78 */	mr r3, r25
/* 8017BB84 001777E4  7F 04 C3 78 */	mr r4, r24
/* 8017BB88 001777E8  6B 86 00 01 */	xori r6, r28, 1
/* 8017BB8C 001777EC  38 A0 00 00 */	li r5, 0
/* 8017BB90 001777F0  48 24 D0 B9 */	bl func_803C8C48
/* 8017BB94 001777F4  3B 9C 00 01 */	addi r28, r28, 1
/* 8017BB98 001777F8  94 76 00 04 */	stwu r3, 4(r22)
/* 8017BB9C 001777FC  2C 1C 00 02 */	cmpwi r28, 2
/* 8017BBA0 00177800  41 80 FF E0 */	blt lbl_8017BB80
/* 8017BBA4 00177804  88 1F 00 06 */	lbz r0, 6(r31)
/* 8017BBA8 00177808  39 61 00 40 */	addi r11, r1, 0x40
/* 8017BBAC 0017780C  80 7F 00 28 */	lwz r3, 0x28(r31)
/* 8017BBB0 00177810  60 00 00 04 */	ori r0, r0, 4
/* 8017BBB4 00177814  98 1F 00 06 */	stb r0, 6(r31)
/* 8017BBB8 00177818  48 04 B5 A9 */	bl _restgpr_22
/* 8017BBBC 0017781C  80 01 00 44 */	lwz r0, 0x44(r1)
/* 8017BBC0 00177820  7C 08 03 A6 */	mtlr r0
/* 8017BBC4 00177824  38 21 00 40 */	addi r1, r1, 0x40
/* 8017BBC8 00177828  4E 80 00 20 */	blr

.global func_8017BBCC
func_8017BBCC:
/* 8017BBCC 0017782C  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8017BBD0 00177830  7C 08 02 A6 */	mflr r0
/* 8017BBD4 00177834  90 01 00 34 */	stw r0, 0x34(r1)
/* 8017BBD8 00177838  39 61 00 30 */	addi r11, r1, 0x30
/* 8017BBDC 0017783C  48 04 B5 45 */	bl _savegpr_25
/* 8017BBE0 00177840  80 A3 00 28 */	lwz r5, 0x28(r3)
/* 8017BBE4 00177844  3C 00 80 00 */	lis r0, 0x8000
/* 8017BBE8 00177848  7C 79 1B 78 */	mr r25, r3
/* 8017BBEC 0017784C  38 C0 00 00 */	li r6, 0
/* 8017BBF0 00177850  7C 05 00 40 */	cmplw r5, r0
/* 8017BBF4 00177854  41 80 00 18 */	blt lbl_8017BC0C
/* 8017BBF8 00177858  3C 80 81 7F */	lis r4, 0x817F3960@ha
/* 8017BBFC 0017785C  38 04 39 60 */	addi r0, r4, 0x817F3960@l
/* 8017BC00 00177860  7C 05 00 40 */	cmplw r5, r0
/* 8017BC04 00177864  40 80 00 08 */	bge lbl_8017BC0C
/* 8017BC08 00177868  38 C0 00 01 */	li r6, 1
lbl_8017BC0C:
/* 8017BC0C 0017786C  3C 80 90 00 */	lis r4, 0x90000800@ha
/* 8017BC10 00177870  38 04 08 00 */	addi r0, r4, 0x90000800@l
/* 8017BC14 00177874  7C 05 00 40 */	cmplw r5, r0
/* 8017BC18 00177878  41 80 00 14 */	blt lbl_8017BC2C
/* 8017BC1C 0017787C  3C 00 93 3E */	lis r0, 0x933e
/* 8017BC20 00177880  7C 05 00 40 */	cmplw r5, r0
/* 8017BC24 00177884  40 80 00 08 */	bge lbl_8017BC2C
/* 8017BC28 00177888  38 C0 00 01 */	li r6, 1
lbl_8017BC2C:
/* 8017BC2C 0017788C  80 03 00 2C */	lwz r0, 0x2c(r3)
/* 8017BC30 00177890  28 00 07 D0 */	cmplwi r0, 0x7d0
/* 8017BC34 00177894  41 80 00 10 */	blt lbl_8017BC44
/* 8017BC38 00177898  28 00 0D AC */	cmplwi r0, 0xdac
/* 8017BC3C 0017789C  40 80 00 08 */	bge lbl_8017BC44
/* 8017BC40 001778A0  60 C6 00 02 */	ori r6, r6, 2
lbl_8017BC44:
/* 8017BC44 001778A4  2C 06 00 03 */	cmpwi r6, 3
/* 8017BC48 001778A8  41 82 00 10 */	beq lbl_8017BC58
/* 8017BC4C 001778AC  4B FE 96 E1 */	bl func_8016532C
/* 8017BC50 001778B0  38 60 00 01 */	li r3, 1
/* 8017BC54 001778B4  48 00 01 44 */	b lbl_8017BD98
lbl_8017BC58:
/* 8017BC58 001778B8  48 23 0B D1 */	bl func_803AC828
/* 8017BC5C 001778BC  7C 7A 1B 78 */	mr r26, r3
/* 8017BC60 001778C0  48 23 0B E9 */	bl func_803AC848
/* 8017BC64 001778C4  83 79 00 28 */	lwz r27, 0x28(r25)
/* 8017BC68 001778C8  7C 79 1B 78 */	mr r25, r3
/* 8017BC6C 001778CC  7F 43 D3 78 */	mr r3, r26
/* 8017BC70 001778D0  38 80 00 00 */	li r4, 0
/* 8017BC74 001778D4  A0 1B 00 00 */	lhz r0, 0(r27)
/* 8017BC78 001778D8  A0 BB 00 02 */	lhz r5, 2(r27)
/* 8017BC7C 001778DC  7C 1F 0E 70 */	srawi r31, r0, 1
/* 8017BC80 001778E0  A0 1B 00 04 */	lhz r0, 4(r27)
/* 8017BC84 001778E4  7C BD 16 70 */	srawi r29, r5, 2
/* 8017BC88 001778E8  3B 7B 00 08 */	addi r27, r27, 8
/* 8017BC8C 001778EC  7C 1E 0E 70 */	srawi r30, r0, 1
/* 8017BC90 001778F0  48 23 0B D9 */	bl func_803AC868
/* 8017BC94 001778F4  7F 64 DB 78 */	mr r4, r27
/* 8017BC98 001778F8  57 E5 04 3E */	clrlwi r5, r31, 0x10
/* 8017BC9C 001778FC  4B E8 83 65 */	bl memcpy
/* 8017BCA0 00177900  57 E0 04 3E */	clrlwi r0, r31, 0x10
/* 8017BCA4 00177904  7F 43 D3 78 */	mr r3, r26
/* 8017BCA8 00177908  7F 7B 02 14 */	add r27, r27, r0
/* 8017BCAC 0017790C  38 80 00 01 */	li r4, 1
/* 8017BCB0 00177910  48 23 0B B9 */	bl func_803AC868
/* 8017BCB4 00177914  7F 64 DB 78 */	mr r4, r27
/* 8017BCB8 00177918  57 E5 04 3E */	clrlwi r5, r31, 0x10
/* 8017BCBC 0017791C  4B E8 83 45 */	bl memcpy
/* 8017BCC0 00177920  57 E0 04 3E */	clrlwi r0, r31, 0x10
/* 8017BCC4 00177924  57 BF 04 3E */	clrlwi r31, r29, 0x10
/* 8017BCC8 00177928  7F 7B 02 14 */	add r27, r27, r0
/* 8017BCCC 0017792C  3B 80 00 00 */	li r28, 0
lbl_8017BCD0:
/* 8017BCD0 00177930  7F 23 CB 78 */	mr r3, r25
/* 8017BCD4 00177934  7F 84 E3 78 */	mr r4, r28
/* 8017BCD8 00177938  48 24 D3 F9 */	bl func_803C90D0
/* 8017BCDC 0017793C  7F 64 DB 78 */	mr r4, r27
/* 8017BCE0 00177940  57 A5 04 3E */	clrlwi r5, r29, 0x10
/* 8017BCE4 00177944  4B E8 83 1D */	bl memcpy
/* 8017BCE8 00177948  3B 9C 00 01 */	addi r28, r28, 1
/* 8017BCEC 0017794C  7F 7B FA 14 */	add r27, r27, r31
/* 8017BCF0 00177950  2C 1C 00 04 */	cmpwi r28, 4
/* 8017BCF4 00177954  41 80 FF DC */	blt lbl_8017BCD0
/* 8017BCF8 00177958  7F 43 D3 78 */	mr r3, r26
/* 8017BCFC 0017795C  38 80 00 00 */	li r4, 0
/* 8017BD00 00177960  48 24 D7 59 */	bl func_803C9458
/* 8017BD04 00177964  7F 64 DB 78 */	mr r4, r27
/* 8017BD08 00177968  57 C5 04 3E */	clrlwi r5, r30, 0x10
/* 8017BD0C 0017796C  4B E8 82 F5 */	bl memcpy
/* 8017BD10 00177970  57 C0 04 3E */	clrlwi r0, r30, 0x10
/* 8017BD14 00177974  7F 43 D3 78 */	mr r3, r26
/* 8017BD18 00177978  7F 7B 02 14 */	add r27, r27, r0
/* 8017BD1C 0017797C  38 80 00 01 */	li r4, 1
/* 8017BD20 00177980  48 24 D7 39 */	bl func_803C9458
/* 8017BD24 00177984  7F 64 DB 78 */	mr r4, r27
/* 8017BD28 00177988  57 C5 04 3E */	clrlwi r5, r30, 0x10
/* 8017BD2C 0017798C  4B E8 82 D5 */	bl memcpy
/* 8017BD30 00177990  57 C0 04 3E */	clrlwi r0, r30, 0x10
/* 8017BD34 00177994  3B A0 00 00 */	li r29, 0
/* 8017BD38 00177998  7F 7B 02 14 */	add r27, r27, r0
/* 8017BD3C 0017799C  7F 7F DB 78 */	mr r31, r27
lbl_8017BD40:
/* 8017BD40 001779A0  88 FF 00 00 */	lbz r7, 0(r31)
/* 8017BD44 001779A4  7F 43 D3 78 */	mr r3, r26
/* 8017BD48 001779A8  7F 24 CB 78 */	mr r4, r25
/* 8017BD4C 001779AC  7F A6 EB 78 */	mr r6, r29
/* 8017BD50 001779B0  38 A0 00 02 */	li r5, 2
/* 8017BD54 001779B4  48 24 D0 59 */	bl func_803C8DAC
/* 8017BD58 001779B8  3B BD 00 01 */	addi r29, r29, 1
/* 8017BD5C 001779BC  3B FF 00 01 */	addi r31, r31, 1
/* 8017BD60 001779C0  2C 1D 00 04 */	cmpwi r29, 4
/* 8017BD64 001779C4  41 80 FF DC */	blt lbl_8017BD40
/* 8017BD68 001779C8  3B A0 00 00 */	li r29, 0
lbl_8017BD6C:
/* 8017BD6C 001779CC  80 FB 00 04 */	lwz r7, 4(r27)
/* 8017BD70 001779D0  7F 43 D3 78 */	mr r3, r26
/* 8017BD74 001779D4  7F 24 CB 78 */	mr r4, r25
/* 8017BD78 001779D8  7F A6 EB 78 */	mr r6, r29
/* 8017BD7C 001779DC  38 A0 00 00 */	li r5, 0
/* 8017BD80 001779E0  48 24 D0 2D */	bl func_803C8DAC
/* 8017BD84 001779E4  3B BD 00 01 */	addi r29, r29, 1
/* 8017BD88 001779E8  3B 7B 00 04 */	addi r27, r27, 4
/* 8017BD8C 001779EC  2C 1D 00 02 */	cmpwi r29, 2
/* 8017BD90 001779F0  41 80 FF DC */	blt lbl_8017BD6C
/* 8017BD94 001779F4  38 60 00 00 */	li r3, 0
lbl_8017BD98:
/* 8017BD98 001779F8  39 61 00 30 */	addi r11, r1, 0x30
/* 8017BD9C 001779FC  48 04 B3 D1 */	bl _restgpr_25
/* 8017BDA0 00177A00  80 01 00 34 */	lwz r0, 0x34(r1)
/* 8017BDA4 00177A04  7C 08 03 A6 */	mtlr r0
/* 8017BDA8 00177A08  38 21 00 30 */	addi r1, r1, 0x30
/* 8017BDAC 00177A0C  4E 80 00 20 */	blr

.global func_8017BDB0
func_8017BDB0:
/* 8017BDB0 00177A10  38 A0 00 28 */	li r5, 0x28
/* 8017BDB4 00177A14  88 03 00 06 */	lbz r0, 6(r3)
/* 8017BDB8 00177A18  90 A3 00 2C */	stw r5, 0x2c(r3)
/* 8017BDBC 00177A1C  54 85 10 3A */	slwi r5, r4, 2
/* 8017BDC0 00177A20  68 84 00 01 */	xori r4, r4, 1
/* 8017BDC4 00177A24  60 00 00 08 */	ori r0, r0, 8
/* 8017BDC8 00177A28  80 CD 9F 08 */	lwz r6, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8017BDCC 00177A2C  7C A6 2A 14 */	add r5, r6, r5
/* 8017BDD0 00177A30  80 A5 00 60 */	lwz r5, 0x60(r5)
/* 8017BDD4 00177A34  90 A3 00 28 */	stw r5, 0x28(r3)
/* 8017BDD8 00177A38  98 83 00 07 */	stb r4, 7(r3)
/* 8017BDDC 00177A3C  98 03 00 06 */	stb r0, 6(r3)
/* 8017BDE0 00177A40  4E 80 00 20 */	blr

.global func_8017BDE4
func_8017BDE4:
/* 8017BDE4 00177A44  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8017BDE8 00177A48  7C 08 02 A6 */	mflr r0
/* 8017BDEC 00177A4C  90 01 00 24 */	stw r0, 0x24(r1)
/* 8017BDF0 00177A50  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8017BDF4 00177A54  7C 7F 1B 78 */	mr r31, r3
/* 8017BDF8 00177A58  88 03 00 07 */	lbz r0, 7(r3)
/* 8017BDFC 00177A5C  80 6D 9F 08 */	lwz r3, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8017BE00 00177A60  54 00 10 3A */	slwi r0, r0, 2
/* 8017BE04 00177A64  80 9F 00 28 */	lwz r4, 0x28(r31)
/* 8017BE08 00177A68  7C 63 02 14 */	add r3, r3, r0
/* 8017BE0C 00177A6C  80 BF 00 2C */	lwz r5, 0x2c(r31)
/* 8017BE10 00177A70  80 63 00 60 */	lwz r3, 0x60(r3)
/* 8017BE14 00177A74  4B E8 81 ED */	bl memcpy
/* 8017BE18 00177A78  88 1F 00 07 */	lbz r0, 7(r31)
/* 8017BE1C 00177A7C  38 81 00 08 */	addi r4, r1, 8
/* 8017BE20 00177A80  80 6D 9F 08 */	lwz r3, lbl_8063F1C8-_SDA_BASE_(r13)
/* 8017BE24 00177A84  54 00 10 3A */	slwi r0, r0, 2
/* 8017BE28 00177A88  7C 63 02 14 */	add r3, r3, r0
/* 8017BE2C 00177A8C  83 E3 00 60 */	lwz r31, 0x60(r3)
/* 8017BE30 00177A90  38 7F 00 04 */	addi r3, r31, 4
/* 8017BE34 00177A94  48 25 DC B9 */	bl func_803D9AEC
/* 8017BE38 00177A98  80 A1 00 08 */	lwz r5, 8(r1)
/* 8017BE3C 00177A9C  7C 64 1B 78 */	mr r4, r3
/* 8017BE40 00177AA0  38 7F 00 28 */	addi r3, r31, 0x28
/* 8017BE44 00177AA4  4B E8 81 BD */	bl memcpy
/* 8017BE48 00177AA8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8017BE4C 00177AAC  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8017BE50 00177AB0  7C 08 03 A6 */	mtlr r0
/* 8017BE54 00177AB4  38 21 00 20 */	addi r1, r1, 0x20
/* 8017BE58 00177AB8  4E 80 00 20 */	blr

.global func_8017BE5C
func_8017BE5C:
/* 8017BE5C 00177ABC  88 03 00 06 */	lbz r0, 6(r3)
/* 8017BE60 00177AC0  3C A0 80 49 */	lis r5, lbl_8048DF98@ha
/* 8017BE64 00177AC4  54 84 10 3A */	slwi r4, r4, 2
/* 8017BE68 00177AC8  38 A5 DF 98 */	addi r5, r5, lbl_8048DF98@l
/* 8017BE6C 00177ACC  60 00 00 20 */	ori r0, r0, 0x20
/* 8017BE70 00177AD0  90 83 00 2C */	stw r4, 0x2c(r3)
/* 8017BE74 00177AD4  90 A3 00 28 */	stw r5, 0x28(r3)
/* 8017BE78 00177AD8  98 03 00 06 */	stb r0, 6(r3)
/* 8017BE7C 00177ADC  4E 80 00 20 */	blr

.global func_8017BE80
func_8017BE80:
/* 8017BE80 00177AE0  80 03 00 2C */	lwz r0, 0x2c(r3)
/* 8017BE84 00177AE4  39 00 00 00 */	li r8, 0
/* 8017BE88 00177AE8  80 E3 00 28 */	lwz r7, 0x28(r3)
/* 8017BE8C 00177AEC  7C 00 16 70 */	srawi r0, r0, 2
/* 8017BE90 00177AF0  7C C0 01 94 */	addze r6, r0
/* 8017BE94 00177AF4  2C 86 00 00 */	cmpwi cr1, r6, 0
/* 8017BE98 00177AF8  4C 85 00 20 */	blelr cr1
/* 8017BE9C 00177AFC  2C 06 00 08 */	cmpwi r6, 8
/* 8017BEA0 00177B00  38 86 FF F8 */	addi r4, r6, -8
/* 8017BEA4 00177B04  40 81 00 94 */	ble lbl_8017BF38
/* 8017BEA8 00177B08  38 A0 00 00 */	li r5, 0
/* 8017BEAC 00177B0C  41 84 00 18 */	blt cr1, lbl_8017BEC4
/* 8017BEB0 00177B10  3C 60 80 00 */	lis r3, 0x7FFFFFFE@ha
/* 8017BEB4 00177B14  38 03 FF FE */	addi r0, r3, 0x7FFFFFFE@l
/* 8017BEB8 00177B18  7C 06 00 00 */	cmpw r6, r0
/* 8017BEBC 00177B1C  41 81 00 08 */	bgt lbl_8017BEC4
/* 8017BEC0 00177B20  38 A0 00 01 */	li r5, 1
lbl_8017BEC4:
/* 8017BEC4 00177B24  2C 05 00 00 */	cmpwi r5, 0
/* 8017BEC8 00177B28  41 82 00 70 */	beq lbl_8017BF38
/* 8017BECC 00177B2C  38 04 00 07 */	addi r0, r4, 7
/* 8017BED0 00177B30  3C 60 80 49 */	lis r3, lbl_8048DF88@ha
/* 8017BED4 00177B34  54 00 E8 FE */	srwi r0, r0, 3
/* 8017BED8 00177B38  38 63 DF 88 */	addi r3, r3, lbl_8048DF88@l
/* 8017BEDC 00177B3C  7C 09 03 A6 */	mtctr r0
/* 8017BEE0 00177B40  2C 04 00 00 */	cmpwi r4, 0
/* 8017BEE4 00177B44  40 81 00 54 */	ble lbl_8017BF38
lbl_8017BEE8:
/* 8017BEE8 00177B48  80 07 00 00 */	lwz r0, 0(r7)
/* 8017BEEC 00177B4C  39 08 00 08 */	addi r8, r8, 8
/* 8017BEF0 00177B50  90 03 00 00 */	stw r0, 0(r3)
/* 8017BEF4 00177B54  80 07 00 04 */	lwz r0, 4(r7)
/* 8017BEF8 00177B58  90 03 00 04 */	stw r0, 4(r3)
/* 8017BEFC 00177B5C  80 07 00 08 */	lwz r0, 8(r7)
/* 8017BF00 00177B60  90 03 00 08 */	stw r0, 8(r3)
/* 8017BF04 00177B64  80 07 00 0C */	lwz r0, 0xc(r7)
/* 8017BF08 00177B68  90 03 00 0C */	stw r0, 0xc(r3)
/* 8017BF0C 00177B6C  80 07 00 10 */	lwz r0, 0x10(r7)
/* 8017BF10 00177B70  90 03 00 10 */	stw r0, 0x10(r3)
/* 8017BF14 00177B74  80 07 00 14 */	lwz r0, 0x14(r7)
/* 8017BF18 00177B78  90 03 00 14 */	stw r0, 0x14(r3)
/* 8017BF1C 00177B7C  80 07 00 18 */	lwz r0, 0x18(r7)
/* 8017BF20 00177B80  90 03 00 18 */	stw r0, 0x18(r3)
/* 8017BF24 00177B84  80 07 00 1C */	lwz r0, 0x1c(r7)
/* 8017BF28 00177B88  38 E7 00 20 */	addi r7, r7, 0x20
/* 8017BF2C 00177B8C  90 03 00 1C */	stw r0, 0x1c(r3)
/* 8017BF30 00177B90  38 63 00 20 */	addi r3, r3, 0x20
/* 8017BF34 00177B94  42 00 FF B4 */	bdnz lbl_8017BEE8
lbl_8017BF38:
/* 8017BF38 00177B98  3C 60 80 49 */	lis r3, lbl_8048DF88@ha
/* 8017BF3C 00177B9C  55 04 10 3A */	slwi r4, r8, 2
/* 8017BF40 00177BA0  38 63 DF 88 */	addi r3, r3, lbl_8048DF88@l
/* 8017BF44 00177BA4  7C 08 30 50 */	subf r0, r8, r6
/* 8017BF48 00177BA8  7C 63 22 14 */	add r3, r3, r4
/* 8017BF4C 00177BAC  7C 09 03 A6 */	mtctr r0
/* 8017BF50 00177BB0  7C 08 30 00 */	cmpw r8, r6
/* 8017BF54 00177BB4  4C 80 00 20 */	bgelr
lbl_8017BF58:
/* 8017BF58 00177BB8  80 07 00 00 */	lwz r0, 0(r7)
/* 8017BF5C 00177BBC  38 E7 00 04 */	addi r7, r7, 4
/* 8017BF60 00177BC0  90 03 00 00 */	stw r0, 0(r3)
/* 8017BF64 00177BC4  38 63 00 04 */	addi r3, r3, 4
/* 8017BF68 00177BC8  42 00 FF F0 */	bdnz lbl_8017BF58
/* 8017BF6C 00177BCC  4E 80 00 20 */	blr

.global func_8017BF70
func_8017BF70:
/* 8017BF70 00177BD0  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 8017BF74 00177BD4  7C 08 02 A6 */	mflr r0
/* 8017BF78 00177BD8  90 01 00 64 */	stw r0, 0x64(r1)
/* 8017BF7C 00177BDC  39 61 00 60 */	addi r11, r1, 0x60
/* 8017BF80 00177BE0  48 04 B1 A1 */	bl _savegpr_25
/* 8017BF84 00177BE4  7C 79 1B 78 */	mr r25, r3
/* 8017BF88 00177BE8  7C 9F 23 78 */	mr r31, r4
/* 8017BF8C 00177BEC  7C BA 2B 78 */	mr r26, r5
/* 8017BF90 00177BF0  38 61 00 08 */	addi r3, r1, 8
/* 8017BF94 00177BF4  3B A0 00 00 */	li r29, 0
/* 8017BF98 00177BF8  38 80 00 00 */	li r4, 0
/* 8017BF9C 00177BFC  38 A0 00 30 */	li r5, 0x30
/* 8017BFA0 00177C00  4B E8 81 65 */	bl memset
/* 8017BFA4 00177C04  2C 19 00 0D */	cmpwi r25, 0xd
/* 8017BFA8 00177C08  41 82 01 84 */	beq lbl_8017C12C
/* 8017BFAC 00177C0C  40 80 00 58 */	bge lbl_8017C004
/* 8017BFB0 00177C10  2C 19 00 07 */	cmpwi r25, 7
/* 8017BFB4 00177C14  41 82 02 98 */	beq lbl_8017C24C
/* 8017BFB8 00177C18  40 80 00 28 */	bge lbl_8017BFE0
/* 8017BFBC 00177C1C  2C 19 00 04 */	cmpwi r25, 4
/* 8017BFC0 00177C20  41 82 03 A0 */	beq lbl_8017C360
/* 8017BFC4 00177C24  40 80 00 10 */	bge lbl_8017BFD4
/* 8017BFC8 00177C28  2C 19 00 03 */	cmpwi r25, 3
/* 8017BFCC 00177C2C  40 80 01 60 */	bge lbl_8017C12C
/* 8017BFD0 00177C30  48 00 03 90 */	b lbl_8017C360
lbl_8017BFD4:
/* 8017BFD4 00177C34  2C 19 00 06 */	cmpwi r25, 6
/* 8017BFD8 00177C38  40 80 00 80 */	bge lbl_8017C058
/* 8017BFDC 00177C3C  48 00 00 D8 */	b lbl_8017C0B4
lbl_8017BFE0:
/* 8017BFE0 00177C40  2C 19 00 0A */	cmpwi r25, 0xa
/* 8017BFE4 00177C44  41 82 00 D0 */	beq lbl_8017C0B4
/* 8017BFE8 00177C48  40 80 00 10 */	bge lbl_8017BFF8
/* 8017BFEC 00177C4C  2C 19 00 09 */	cmpwi r25, 9
/* 8017BFF0 00177C50  40 80 03 70 */	bge lbl_8017C360
/* 8017BFF4 00177C54  48 00 00 C0 */	b lbl_8017C0B4
lbl_8017BFF8:
/* 8017BFF8 00177C58  2C 19 00 0C */	cmpwi r25, 0xc
/* 8017BFFC 00177C5C  40 80 03 64 */	bge lbl_8017C360
/* 8017C000 00177C60  48 00 02 24 */	b lbl_8017C224
lbl_8017C004:
/* 8017C004 00177C64  2C 19 00 83 */	cmpwi r25, 0x83
/* 8017C008 00177C68  41 82 03 44 */	beq lbl_8017C34C
/* 8017C00C 00177C6C  40 80 00 28 */	bge lbl_8017C034
/* 8017C010 00177C70  2C 19 00 80 */	cmpwi r25, 0x80
/* 8017C014 00177C74  41 82 02 68 */	beq lbl_8017C27C
/* 8017C018 00177C78  40 80 00 10 */	bge lbl_8017C028
/* 8017C01C 00177C7C  2C 19 00 0F */	cmpwi r25, 0xf
/* 8017C020 00177C80  41 82 01 C4 */	beq lbl_8017C1E4
/* 8017C024 00177C84  48 00 03 3C */	b lbl_8017C360
lbl_8017C028:
/* 8017C028 00177C88  2C 19 00 82 */	cmpwi r25, 0x82
/* 8017C02C 00177C8C  40 80 02 EC */	bge lbl_8017C318
/* 8017C030 00177C90  48 00 02 94 */	b lbl_8017C2C4
lbl_8017C034:
/* 8017C034 00177C94  2C 19 00 86 */	cmpwi r25, 0x86
/* 8017C038 00177C98  41 82 03 28 */	beq lbl_8017C360
/* 8017C03C 00177C9C  40 80 00 10 */	bge lbl_8017C04C
/* 8017C040 00177CA0  2C 19 00 85 */	cmpwi r25, 0x85
/* 8017C044 00177CA4  40 80 03 08 */	bge lbl_8017C34C
/* 8017C048 00177CA8  48 00 03 18 */	b lbl_8017C360
lbl_8017C04C:
/* 8017C04C 00177CAC  2C 19 00 88 */	cmpwi r25, 0x88
/* 8017C050 00177CB0  40 80 03 10 */	bge lbl_8017C360
/* 8017C054 00177CB4  48 00 02 F8 */	b lbl_8017C34C
lbl_8017C058:
/* 8017C058 00177CB8  3F C0 80 49 */	lis r30, lbl_8048DF68@ha
/* 8017C05C 00177CBC  38 7E DF 68 */	addi r3, r30, lbl_8048DF68@l
/* 8017C060 00177CC0  4B FF F4 D9 */	bl func_8017B538
/* 8017C064 00177CC4  9B 21 00 0C */	stb r25, 0xc(r1)
/* 8017C068 00177CC8  38 7E DF 68 */	addi r3, r30, -8344
/* 8017C06C 00177CCC  38 81 00 08 */	addi r4, r1, 8
/* 8017C070 00177CD0  4B FF F5 15 */	bl func_8017B584
/* 8017C074 00177CD4  3C 80 80 49 */	lis r4, lbl_8048DF98@ha
/* 8017C078 00177CD8  7C 7E 1B 78 */	mr r30, r3
/* 8017C07C 00177CDC  93 E4 DF 98 */	stw r31, lbl_8048DF98@l(r4)
/* 8017C080 00177CE0  38 61 00 08 */	addi r3, r1, 8
/* 8017C084 00177CE4  38 80 00 01 */	li r4, 1
/* 8017C088 00177CE8  4B FF FD D5 */	bl func_8017BE5C
/* 8017C08C 00177CEC  38 61 00 08 */	addi r3, r1, 8
/* 8017C090 00177CF0  38 80 01 2C */	li r4, 0x12c
/* 8017C094 00177CF4  4B FE CA C9 */	bl func_80168B5C
/* 8017C098 00177CF8  2C 1E 00 00 */	cmpwi r30, 0
/* 8017C09C 00177CFC  7C 7D 1B 78 */	mr r29, r3
/* 8017C0A0 00177D00  41 82 02 C0 */	beq lbl_8017C360
/* 8017C0A4 00177D04  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8017C0A8 00177D08  7F C4 F3 78 */	mr r4, r30
/* 8017C0AC 00177D0C  48 05 EC 9D */	bl func_801DAD48
/* 8017C0B0 00177D10  48 00 02 B0 */	b lbl_8017C360
lbl_8017C0B4:
/* 8017C0B4 00177D14  3F C0 80 49 */	lis r30, lbl_8048DF68@ha
/* 8017C0B8 00177D18  3B 80 00 00 */	li r28, 0
/* 8017C0BC 00177D1C  38 7E DF 68 */	addi r3, r30, lbl_8048DF68@l
/* 8017C0C0 00177D20  4B FF F4 79 */	bl func_8017B538
/* 8017C0C4 00177D24  9B 21 00 0C */	stb r25, 0xc(r1)
/* 8017C0C8 00177D28  38 7E DF 68 */	addi r3, r30, -8344
/* 8017C0CC 00177D2C  38 81 00 08 */	addi r4, r1, 8
/* 8017C0D0 00177D30  4B FF F4 B5 */	bl func_8017B584
/* 8017C0D4 00177D34  2C 19 00 05 */	cmpwi r25, 5
/* 8017C0D8 00177D38  7C 7E 1B 78 */	mr r30, r3
/* 8017C0DC 00177D3C  40 82 00 14 */	bne lbl_8017C0F0
/* 8017C0E0 00177D40  7F E4 FB 78 */	mr r4, r31
/* 8017C0E4 00177D44  38 61 00 08 */	addi r3, r1, 8
/* 8017C0E8 00177D48  4B FF F8 99 */	bl func_8017B980
/* 8017C0EC 00177D4C  7C 7C 1B 78 */	mr r28, r3
lbl_8017C0F0:
/* 8017C0F0 00177D50  38 61 00 08 */	addi r3, r1, 8
/* 8017C0F4 00177D54  38 80 01 2C */	li r4, 0x12c
/* 8017C0F8 00177D58  4B FE CA 65 */	bl func_80168B5C
/* 8017C0FC 00177D5C  2C 1C 00 00 */	cmpwi r28, 0
/* 8017C100 00177D60  7C 7D 1B 78 */	mr r29, r3
/* 8017C104 00177D64  41 82 00 10 */	beq lbl_8017C114
/* 8017C108 00177D68  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8017C10C 00177D6C  7F 84 E3 78 */	mr r4, r28
/* 8017C110 00177D70  48 05 EC 39 */	bl func_801DAD48
lbl_8017C114:
/* 8017C114 00177D74  2C 1E 00 00 */	cmpwi r30, 0
/* 8017C118 00177D78  41 82 02 48 */	beq lbl_8017C360
/* 8017C11C 00177D7C  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8017C120 00177D80  7F C4 F3 78 */	mr r4, r30
/* 8017C124 00177D84  48 05 EC 25 */	bl func_801DAD48
/* 8017C128 00177D88  48 00 02 38 */	b lbl_8017C360
lbl_8017C12C:
/* 8017C12C 00177D8C  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8017C130 00177D90  3B 80 00 00 */	li r28, 0
/* 8017C134 00177D94  38 80 00 E8 */	li r4, 0xe8
/* 8017C138 00177D98  48 05 EB 5D */	bl func_801DAC94
/* 8017C13C 00177D9C  7C 7B 1B 78 */	mr r27, r3
/* 8017C140 00177DA0  38 80 00 00 */	li r4, 0
/* 8017C144 00177DA4  38 A0 00 E8 */	li r5, 0xe8
/* 8017C148 00177DA8  4B E8 7F BD */	bl memset
/* 8017C14C 00177DAC  3F C0 80 49 */	lis r30, lbl_8048DF68@ha
/* 8017C150 00177DB0  38 7E DF 68 */	addi r3, r30, lbl_8048DF68@l
/* 8017C154 00177DB4  4B FF F3 E5 */	bl func_8017B538
/* 8017C158 00177DB8  9B 21 00 0C */	stb r25, 0xc(r1)
/* 8017C15C 00177DBC  38 7E DF 68 */	addi r3, r30, -8344
/* 8017C160 00177DC0  38 81 00 08 */	addi r4, r1, 8
/* 8017C164 00177DC4  4B FF F4 21 */	bl func_8017B584
/* 8017C168 00177DC8  7C 7E 1B 78 */	mr r30, r3
/* 8017C16C 00177DCC  7F 64 DB 78 */	mr r4, r27
/* 8017C170 00177DD0  38 61 00 08 */	addi r3, r1, 8
/* 8017C174 00177DD4  38 A0 00 00 */	li r5, 0
/* 8017C178 00177DD8  4B FF F5 9D */	bl func_8017B714
/* 8017C17C 00177DDC  2C 19 00 03 */	cmpwi r25, 3
/* 8017C180 00177DE0  40 82 00 1C */	bne lbl_8017C19C
/* 8017C184 00177DE4  2C 1A 00 00 */	cmpwi r26, 0
/* 8017C188 00177DE8  41 82 00 14 */	beq lbl_8017C19C
/* 8017C18C 00177DEC  7F E4 FB 78 */	mr r4, r31
/* 8017C190 00177DF0  38 61 00 08 */	addi r3, r1, 8
/* 8017C194 00177DF4  4B FF F7 ED */	bl func_8017B980
/* 8017C198 00177DF8  7C 7C 1B 78 */	mr r28, r3
lbl_8017C19C:
/* 8017C19C 00177DFC  38 61 00 08 */	addi r3, r1, 8
/* 8017C1A0 00177E00  38 80 01 2C */	li r4, 0x12c
/* 8017C1A4 00177E04  4B FE C9 B9 */	bl func_80168B5C
/* 8017C1A8 00177E08  2C 1C 00 00 */	cmpwi r28, 0
/* 8017C1AC 00177E0C  7C 7D 1B 78 */	mr r29, r3
/* 8017C1B0 00177E10  41 82 00 10 */	beq lbl_8017C1C0
/* 8017C1B4 00177E14  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8017C1B8 00177E18  7F 84 E3 78 */	mr r4, r28
/* 8017C1BC 00177E1C  48 05 EB 8D */	bl func_801DAD48
lbl_8017C1C0:
/* 8017C1C0 00177E20  2C 1E 00 00 */	cmpwi r30, 0
/* 8017C1C4 00177E24  41 82 00 10 */	beq lbl_8017C1D4
/* 8017C1C8 00177E28  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8017C1CC 00177E2C  7F C4 F3 78 */	mr r4, r30
/* 8017C1D0 00177E30  48 05 EB 79 */	bl func_801DAD48
lbl_8017C1D4:
/* 8017C1D4 00177E34  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8017C1D8 00177E38  7F 64 DB 78 */	mr r4, r27
/* 8017C1DC 00177E3C  48 05 EB 6D */	bl func_801DAD48
/* 8017C1E0 00177E40  48 00 01 80 */	b lbl_8017C360
lbl_8017C1E4:
/* 8017C1E4 00177E44  7F E4 FB 78 */	mr r4, r31
/* 8017C1E8 00177E48  38 61 00 08 */	addi r3, r1, 8
/* 8017C1EC 00177E4C  4B FF F7 95 */	bl func_8017B980
/* 8017C1F0 00177E50  38 00 00 0F */	li r0, 0xf
/* 8017C1F4 00177E54  7C 7E 1B 78 */	mr r30, r3
/* 8017C1F8 00177E58  98 01 00 0C */	stb r0, 0xc(r1)
/* 8017C1FC 00177E5C  38 61 00 08 */	addi r3, r1, 8
/* 8017C200 00177E60  38 80 01 2C */	li r4, 0x12c
/* 8017C204 00177E64  4B FE C9 59 */	bl func_80168B5C
/* 8017C208 00177E68  2C 1E 00 00 */	cmpwi r30, 0
/* 8017C20C 00177E6C  7C 7D 1B 78 */	mr r29, r3
/* 8017C210 00177E70  41 82 01 50 */	beq lbl_8017C360
/* 8017C214 00177E74  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8017C218 00177E78  7F C4 F3 78 */	mr r4, r30
/* 8017C21C 00177E7C  48 05 EB 2D */	bl func_801DAD48
/* 8017C220 00177E80  48 00 01 40 */	b lbl_8017C360
lbl_8017C224:
/* 8017C224 00177E84  7F E4 FB 78 */	mr r4, r31
/* 8017C228 00177E88  38 61 00 08 */	addi r3, r1, 8
/* 8017C22C 00177E8C  4B FF FB 85 */	bl func_8017BDB0
/* 8017C230 00177E90  38 00 00 0B */	li r0, 0xb
/* 8017C234 00177E94  38 61 00 08 */	addi r3, r1, 8
/* 8017C238 00177E98  98 01 00 0C */	stb r0, 0xc(r1)
/* 8017C23C 00177E9C  38 80 01 2C */	li r4, 0x12c
/* 8017C240 00177EA0  4B FE C9 1D */	bl func_80168B5C
/* 8017C244 00177EA4  7C 7D 1B 78 */	mr r29, r3
/* 8017C248 00177EA8  48 00 01 18 */	b lbl_8017C360
lbl_8017C24C:
/* 8017C24C 00177EAC  38 00 00 07 */	li r0, 7
/* 8017C250 00177EB0  3C A0 80 49 */	lis r5, lbl_8048DF98@ha
/* 8017C254 00177EB4  98 01 00 0C */	stb r0, 0xc(r1)
/* 8017C258 00177EB8  38 61 00 08 */	addi r3, r1, 8
/* 8017C25C 00177EBC  38 80 00 01 */	li r4, 1
/* 8017C260 00177EC0  93 E5 DF 98 */	stw r31, lbl_8048DF98@l(r5)
/* 8017C264 00177EC4  4B FF FB F9 */	bl func_8017BE5C
/* 8017C268 00177EC8  38 61 00 08 */	addi r3, r1, 8
/* 8017C26C 00177ECC  38 80 01 2C */	li r4, 0x12c
/* 8017C270 00177ED0  4B FE C8 ED */	bl func_80168B5C
/* 8017C274 00177ED4  7C 7D 1B 78 */	mr r29, r3
/* 8017C278 00177ED8  48 00 00 E8 */	b lbl_8017C360
lbl_8017C27C:
/* 8017C27C 00177EDC  38 00 00 80 */	li r0, 0x80
/* 8017C280 00177EE0  7F E4 FB 78 */	mr r4, r31
/* 8017C284 00177EE4  98 01 00 0C */	stb r0, 0xc(r1)
/* 8017C288 00177EE8  38 61 00 08 */	addi r3, r1, 8
/* 8017C28C 00177EEC  4B FF F6 F5 */	bl func_8017B980
/* 8017C290 00177EF0  6B E0 00 01 */	xori r0, r31, 1
/* 8017C294 00177EF4  7C 7B 1B 78 */	mr r27, r3
/* 8017C298 00177EF8  98 01 00 0F */	stb r0, 0xf(r1)
/* 8017C29C 00177EFC  38 61 00 08 */	addi r3, r1, 8
/* 8017C2A0 00177F00  38 80 01 2C */	li r4, 0x12c
/* 8017C2A4 00177F04  4B FE C8 B9 */	bl func_80168B5C
/* 8017C2A8 00177F08  2C 1B 00 00 */	cmpwi r27, 0
/* 8017C2AC 00177F0C  7C 7D 1B 78 */	mr r29, r3
/* 8017C2B0 00177F10  41 82 00 B0 */	beq lbl_8017C360
/* 8017C2B4 00177F14  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8017C2B8 00177F18  7F 64 DB 78 */	mr r4, r27
/* 8017C2BC 00177F1C  48 05 EA 8D */	bl func_801DAD48
/* 8017C2C0 00177F20  48 00 00 A0 */	b lbl_8017C360
lbl_8017C2C4:
/* 8017C2C4 00177F24  3F E0 80 49 */	lis r31, lbl_8048DF68@ha
/* 8017C2C8 00177F28  38 7F DF 68 */	addi r3, r31, lbl_8048DF68@l
/* 8017C2CC 00177F2C  4B FF F2 6D */	bl func_8017B538
/* 8017C2D0 00177F30  38 7F DF 68 */	addi r3, r31, -8344
/* 8017C2D4 00177F34  80 03 00 08 */	lwz r0, 8(r3)
/* 8017C2D8 00177F38  2C 00 00 00 */	cmpwi r0, 0
/* 8017C2DC 00177F3C  41 82 00 84 */	beq lbl_8017C360
/* 8017C2E0 00177F40  38 81 00 08 */	addi r4, r1, 8
/* 8017C2E4 00177F44  4B FF F2 A1 */	bl func_8017B584
/* 8017C2E8 00177F48  2C 03 00 00 */	cmpwi r3, 0
/* 8017C2EC 00177F4C  7C 7E 1B 78 */	mr r30, r3
/* 8017C2F0 00177F50  41 82 00 70 */	beq lbl_8017C360
/* 8017C2F4 00177F54  9B 21 00 0C */	stb r25, 0xc(r1)
/* 8017C2F8 00177F58  38 61 00 08 */	addi r3, r1, 8
/* 8017C2FC 00177F5C  38 80 01 2C */	li r4, 0x12c
/* 8017C300 00177F60  4B FE C8 5D */	bl func_80168B5C
/* 8017C304 00177F64  7C 7D 1B 78 */	mr r29, r3
/* 8017C308 00177F68  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8017C30C 00177F6C  7F C4 F3 78 */	mr r4, r30
/* 8017C310 00177F70  48 05 EA 39 */	bl func_801DAD48
/* 8017C314 00177F74  48 00 00 4C */	b lbl_8017C360
lbl_8017C318:
/* 8017C318 00177F78  3C 80 80 49 */	lis r4, lbl_8048DF98@ha
/* 8017C31C 00177F7C  38 61 00 08 */	addi r3, r1, 8
/* 8017C320 00177F80  38 A4 DF 98 */	addi r5, r4, lbl_8048DF98@l
/* 8017C324 00177F84  93 E4 DF 98 */	stw r31, -0x2068(r4)
/* 8017C328 00177F88  38 80 00 02 */	li r4, 2
/* 8017C32C 00177F8C  93 45 00 04 */	stw r26, 4(r5)
/* 8017C330 00177F90  4B FF FB 2D */	bl func_8017BE5C
/* 8017C334 00177F94  9B 21 00 0C */	stb r25, 0xc(r1)
/* 8017C338 00177F98  38 61 00 08 */	addi r3, r1, 8
/* 8017C33C 00177F9C  38 80 01 2C */	li r4, 0x12c
/* 8017C340 00177FA0  4B FE C8 1D */	bl func_80168B5C
/* 8017C344 00177FA4  7C 7D 1B 78 */	mr r29, r3
/* 8017C348 00177FA8  48 00 00 18 */	b lbl_8017C360
lbl_8017C34C:
/* 8017C34C 00177FAC  9B 21 00 0C */	stb r25, 0xc(r1)
/* 8017C350 00177FB0  38 61 00 08 */	addi r3, r1, 8
/* 8017C354 00177FB4  38 80 01 2C */	li r4, 0x12c
/* 8017C358 00177FB8  4B FE C8 05 */	bl func_80168B5C
/* 8017C35C 00177FBC  7C 7D 1B 78 */	mr r29, r3
lbl_8017C360:
/* 8017C360 00177FC0  39 61 00 60 */	addi r11, r1, 0x60
/* 8017C364 00177FC4  7F A3 EB 78 */	mr r3, r29
/* 8017C368 00177FC8  48 04 AE 05 */	bl _restgpr_25
/* 8017C36C 00177FCC  80 01 00 64 */	lwz r0, 0x64(r1)
/* 8017C370 00177FD0  7C 08 03 A6 */	mtlr r0
/* 8017C374 00177FD4  38 21 00 60 */	addi r1, r1, 0x60
/* 8017C378 00177FD8  4E 80 00 20 */	blr

.global func_8017C37C
func_8017C37C:
/* 8017C37C 00177FDC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8017C380 00177FE0  7C 08 02 A6 */	mflr r0
/* 8017C384 00177FE4  90 01 00 14 */	stw r0, 0x14(r1)
/* 8017C388 00177FE8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8017C38C 00177FEC  93 C1 00 08 */	stw r30, 8(r1)
/* 8017C390 00177FF0  4B FE C7 D5 */	bl func_80168B64
/* 8017C394 00177FF4  2C 03 00 00 */	cmpwi r3, 0
/* 8017C398 00177FF8  7C 7F 1B 78 */	mr r31, r3
/* 8017C39C 00177FFC  40 82 00 0C */	bne lbl_8017C3A8
/* 8017C3A0 00178000  38 60 00 00 */	li r3, 0
/* 8017C3A4 00178004  48 00 00 C0 */	b lbl_8017C464
lbl_8017C3A8:
/* 8017C3A8 00178008  88 03 00 06 */	lbz r0, 6(r3)
/* 8017C3AC 0017800C  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 8017C3B0 00178010  41 82 00 08 */	beq lbl_8017C3B8
/* 8017C3B4 00178014  4B FF F2 ED */	bl func_8017B6A0
lbl_8017C3B8:
/* 8017C3B8 00178018  88 1F 00 06 */	lbz r0, 6(r31)
/* 8017C3BC 0017801C  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 8017C3C0 00178020  41 82 00 10 */	beq lbl_8017C3D0
/* 8017C3C4 00178024  7F E3 FB 78 */	mr r3, r31
/* 8017C3C8 00178028  38 80 00 00 */	li r4, 0
/* 8017C3CC 0017802C  4B FF F4 7D */	bl func_8017B848
lbl_8017C3D0:
/* 8017C3D0 00178030  88 1F 00 06 */	lbz r0, 6(r31)
/* 8017C3D4 00178034  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 8017C3D8 00178038  41 82 00 60 */	beq lbl_8017C438
/* 8017C3DC 0017803C  7F E3 FB 78 */	mr r3, r31
/* 8017C3E0 00178040  4B FF F7 ED */	bl func_8017BBCC
/* 8017C3E4 00178044  2C 03 00 00 */	cmpwi r3, 0
/* 8017C3E8 00178048  41 82 00 0C */	beq lbl_8017C3F4
/* 8017C3EC 0017804C  38 60 00 00 */	li r3, 0
/* 8017C3F0 00178050  48 00 00 74 */	b lbl_8017C464
lbl_8017C3F4:
/* 8017C3F4 00178054  88 1F 00 04 */	lbz r0, 4(r31)
/* 8017C3F8 00178058  28 00 00 80 */	cmplwi r0, 0x80
/* 8017C3FC 0017805C  40 82 00 3C */	bne lbl_8017C438
/* 8017C400 00178060  48 23 04 29 */	bl func_803AC828
/* 8017C404 00178064  7C 7E 1B 78 */	mr r30, r3
/* 8017C408 00178068  48 23 04 41 */	bl func_803AC848
/* 8017C40C 0017806C  88 DF 00 07 */	lbz r6, 7(r31)
/* 8017C410 00178070  7C 64 1B 78 */	mr r4, r3
/* 8017C414 00178074  7F C3 F3 78 */	mr r3, r30
/* 8017C418 00178078  38 A0 00 02 */	li r5, 2
/* 8017C41C 0017807C  48 24 C8 2D */	bl func_803C8C48
/* 8017C420 00178080  88 9F 00 07 */	lbz r4, 7(r31)
/* 8017C424 00178084  7C 65 1B 78 */	mr r5, r3
/* 8017C428 00178088  7F C3 F3 78 */	mr r3, r30
/* 8017C42C 0017808C  48 23 05 79 */	bl func_803AC9A4
/* 8017C430 00178090  88 9F 00 07 */	lbz r4, 7(r31)
/* 8017C434 00178094  4B FF 0B 7D */	bl func_8016CFB0
lbl_8017C438:
/* 8017C438 00178098  88 1F 00 06 */	lbz r0, 6(r31)
/* 8017C43C 0017809C  54 00 07 39 */	rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 8017C440 001780A0  41 82 00 0C */	beq lbl_8017C44C
/* 8017C444 001780A4  7F E3 FB 78 */	mr r3, r31
/* 8017C448 001780A8  4B FF F9 9D */	bl func_8017BDE4
lbl_8017C44C:
/* 8017C44C 001780AC  88 1F 00 06 */	lbz r0, 6(r31)
/* 8017C450 001780B0  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 8017C454 001780B4  41 82 00 0C */	beq lbl_8017C460
/* 8017C458 001780B8  7F E3 FB 78 */	mr r3, r31
/* 8017C45C 001780BC  4B FF FA 25 */	bl func_8017BE80
lbl_8017C460:
/* 8017C460 001780C0  88 7F 00 04 */	lbz r3, 4(r31)
lbl_8017C464:
/* 8017C464 001780C4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8017C468 001780C8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8017C46C 001780CC  83 C1 00 08 */	lwz r30, 8(r1)
/* 8017C470 001780D0  7C 08 03 A6 */	mtlr r0
/* 8017C474 001780D4  38 21 00 10 */	addi r1, r1, 0x10
/* 8017C478 001780D8  4E 80 00 20 */	blr

.global func_8017C47C
func_8017C47C:
/* 8017C47C 001780DC  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 8017C480 001780E0  7C 08 02 A6 */	mflr r0
/* 8017C484 001780E4  38 80 00 00 */	li r4, 0
/* 8017C488 001780E8  38 A0 00 30 */	li r5, 0x30
/* 8017C48C 001780EC  90 01 00 44 */	stw r0, 0x44(r1)
/* 8017C490 001780F0  93 E1 00 3C */	stw r31, 0x3c(r1)
/* 8017C494 001780F4  93 C1 00 38 */	stw r30, 0x38(r1)
/* 8017C498 001780F8  7C 7E 1B 78 */	mr r30, r3
/* 8017C49C 001780FC  38 61 00 08 */	addi r3, r1, 8
/* 8017C4A0 00178100  4B E8 7C 65 */	bl memset
/* 8017C4A4 00178104  2C 1E 00 09 */	cmpwi r30, 9
/* 8017C4A8 00178108  9B C1 00 0C */	stb r30, 0xc(r1)
/* 8017C4AC 0017810C  3B C0 00 00 */	li r30, 0
/* 8017C4B0 00178110  40 82 00 24 */	bne lbl_8017C4D4
/* 8017C4B4 00178114  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8017C4B8 00178118  38 80 00 E8 */	li r4, 0xe8
/* 8017C4BC 0017811C  48 05 E7 D9 */	bl func_801DAC94
/* 8017C4C0 00178120  7C 7E 1B 78 */	mr r30, r3
/* 8017C4C4 00178124  38 61 00 08 */	addi r3, r1, 8
/* 8017C4C8 00178128  7F C4 F3 78 */	mr r4, r30
/* 8017C4CC 0017812C  38 A0 00 01 */	li r5, 1
/* 8017C4D0 00178130  4B FF F2 45 */	bl func_8017B714
lbl_8017C4D4:
/* 8017C4D4 00178134  38 61 00 08 */	addi r3, r1, 8
/* 8017C4D8 00178138  38 80 01 2C */	li r4, 0x12c
/* 8017C4DC 0017813C  4B FE C6 7D */	bl func_80168B58
/* 8017C4E0 00178140  2C 1E 00 00 */	cmpwi r30, 0
/* 8017C4E4 00178144  7C 7F 1B 78 */	mr r31, r3
/* 8017C4E8 00178148  41 82 00 10 */	beq lbl_8017C4F8
/* 8017C4EC 0017814C  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8017C4F0 00178150  7F C4 F3 78 */	mr r4, r30
/* 8017C4F4 00178154  48 05 E8 55 */	bl func_801DAD48
lbl_8017C4F8:
/* 8017C4F8 00178158  7F E3 FB 78 */	mr r3, r31
/* 8017C4FC 0017815C  83 E1 00 3C */	lwz r31, 0x3c(r1)
/* 8017C500 00178160  83 C1 00 38 */	lwz r30, 0x38(r1)
/* 8017C504 00178164  80 01 00 44 */	lwz r0, 0x44(r1)
/* 8017C508 00178168  7C 08 03 A6 */	mtlr r0
/* 8017C50C 0017816C  38 21 00 40 */	addi r1, r1, 0x40
/* 8017C510 00178170  4E 80 00 20 */	blr

.global func_8017C514
func_8017C514:
/* 8017C514 00178174  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8017C518 00178178  7C 08 02 A6 */	mflr r0
/* 8017C51C 0017817C  90 01 00 14 */	stw r0, 0x14(r1)
/* 8017C520 00178180  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8017C524 00178184  4B FE C6 45 */	bl func_80168B68
/* 8017C528 00178188  2C 03 00 00 */	cmpwi r3, 0
/* 8017C52C 0017818C  7C 7F 1B 78 */	mr r31, r3
/* 8017C530 00178190  40 82 00 0C */	bne lbl_8017C53C
/* 8017C534 00178194  38 60 00 00 */	li r3, 0
/* 8017C538 00178198  48 00 00 1C */	b lbl_8017C554
lbl_8017C53C:
/* 8017C53C 0017819C  80 03 00 0C */	lwz r0, 0xc(r3)
/* 8017C540 001781A0  2C 00 00 00 */	cmpwi r0, 0
/* 8017C544 001781A4  41 82 00 0C */	beq lbl_8017C550
/* 8017C548 001781A8  38 80 00 01 */	li r4, 1
/* 8017C54C 001781AC  4B FF F2 FD */	bl func_8017B848
lbl_8017C550:
/* 8017C550 001781B0  88 7F 00 04 */	lbz r3, 4(r31)
lbl_8017C554:
/* 8017C554 001781B4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8017C558 001781B8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8017C55C 001781BC  7C 08 03 A6 */	mtlr r0
/* 8017C560 001781C0  38 21 00 10 */	addi r1, r1, 0x10
/* 8017C564 001781C4  4E 80 00 20 */	blr

.global func_8017C568
func_8017C568:
/* 8017C568 001781C8  38 A0 00 01 */	li r5, 1
/* 8017C56C 001781CC  38 6D 9F 60 */	addi r3, r13, lbl_8063F220-_SDA_BASE_
/* 8017C570 001781D0  38 80 00 04 */	li r4, 4
/* 8017C574 001781D4  38 00 00 00 */	li r0, 0
/* 8017C578 001781D8  98 AD 9F 60 */	stb r5, lbl_8063F220-_SDA_BASE_(r13)
/* 8017C57C 001781DC  B0 83 00 02 */	sth r4, 2(r3)
/* 8017C580 001781E0  98 03 00 04 */	stb r0, 4(r3)
/* 8017C584 001781E4  4E 80 00 20 */	blr