summaryrefslogtreecommitdiff
path: root/asm/code_80176EB4.s
blob: aa5c0eb15f45cf446ef4fecf5abb91e979878add (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
.include "macros.inc"

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

.global func_80176EB4
func_80176EB4:
/* 80176EB4 00172B14  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80176EB8 00172B18  7C 08 02 A6 */	mflr r0
/* 80176EBC 00172B1C  90 01 00 34 */	stw r0, 0x34(r1)
/* 80176EC0 00172B20  39 61 00 30 */	addi r11, r1, 0x30
/* 80176EC4 00172B24  48 05 02 51 */	bl _savegpr_22
/* 80176EC8 00172B28  2C 04 00 00 */	cmpwi r4, 0
/* 80176ECC 00172B2C  7C 7A 1B 78 */	mr r26, r3
/* 80176ED0 00172B30  54 A0 08 3C */	slwi r0, r5, 1
/* 80176ED4 00172B34  7C 9B 23 78 */	mr r27, r4
/* 80176ED8 00172B38  7C BC 2B 78 */	mr r28, r5
/* 80176EDC 00172B3C  7F 5F D3 78 */	mr r31, r26
/* 80176EE0 00172B40  7F C3 02 14 */	add r30, r3, r0
/* 80176EE4 00172B44  3B A0 00 00 */	li r29, 0
/* 80176EE8 00172B48  41 82 00 0C */	beq lbl_80176EF4
/* 80176EEC 00172B4C  2C 03 00 00 */	cmpwi r3, 0
/* 80176EF0 00172B50  40 82 00 0C */	bne lbl_80176EFC
lbl_80176EF4:
/* 80176EF4 00172B54  38 60 00 00 */	li r3, 0
/* 80176EF8 00172B58  48 00 01 70 */	b lbl_80177068
lbl_80176EFC:
/* 80176EFC 00172B5C  3E E0 80 42 */	lis r23, lbl_80420320@ha
/* 80176F00 00172B60  3E C0 00 01 */	lis r22, 1
/* 80176F04 00172B64  3B 20 00 01 */	li r25, 1
/* 80176F08 00172B68  3B 17 03 20 */	addi r24, r23, lbl_80420320@l
/* 80176F0C 00172B6C  48 00 01 44 */	b lbl_80177050
lbl_80176F10:
/* 80176F10 00172B70  A0 7B 00 00 */	lhz r3, 0(r27)
/* 80176F14 00172B74  3B 7B 00 02 */	addi r27, r27, 2
/* 80176F18 00172B78  2C 03 00 00 */	cmpwi r3, 0
/* 80176F1C 00172B7C  40 82 00 28 */	bne lbl_80176F44
/* 80176F20 00172B80  3C 60 00 01 */	lis r3, 0x0000FFFF@ha
/* 80176F24 00172B84  38 03 FF FF */	addi r0, r3, 0x0000FFFF@l
/* 80176F28 00172B88  B0 1A 00 00 */	sth r0, 0(r26)
/* 80176F2C 00172B8C  3B 5A 00 02 */	addi r26, r26, 2
/* 80176F30 00172B90  7C 7F D0 50 */	subf r3, r31, r26
/* 80176F34 00172B94  54 60 0F FE */	srwi r0, r3, 0x1f
/* 80176F38 00172B98  7C 00 1A 14 */	add r0, r0, r3
/* 80176F3C 00172B9C  7C 03 0E 70 */	srawi r3, r0, 1
/* 80176F40 00172BA0  48 00 01 28 */	b lbl_80177068
lbl_80176F44:
/* 80176F44 00172BA4  28 03 FF FF */	cmplwi r3, 0xffff
/* 80176F48 00172BA8  40 82 00 FC */	bne lbl_80177044
/* 80176F4C 00172BAC  A0 7B 00 00 */	lhz r3, 0(r27)
/* 80176F50 00172BB0  38 16 FF FF */	addi r0, r22, -1
/* 80176F54 00172BB4  3B 7B 00 02 */	addi r27, r27, 2
/* 80176F58 00172BB8  7C 03 00 00 */	cmpw r3, r0
/* 80176F5C 00172BBC  41 82 00 18 */	beq lbl_80176F74
/* 80176F60 00172BC0  40 80 00 48 */	bge lbl_80176FA8
/* 80176F64 00172BC4  38 16 FF FE */	addi r0, r22, -2
/* 80176F68 00172BC8  7C 03 00 00 */	cmpw r3, r0
/* 80176F6C 00172BCC  40 80 00 2C */	bge lbl_80176F98
/* 80176F70 00172BD0  48 00 00 38 */	b lbl_80176FA8
lbl_80176F74:
/* 80176F74 00172BD4  3C 60 00 01 */	lis r3, 0x0000FFFF@ha
/* 80176F78 00172BD8  38 03 FF FF */	addi r0, r3, 0x0000FFFF@l
/* 80176F7C 00172BDC  B0 1A 00 00 */	sth r0, 0(r26)
/* 80176F80 00172BE0  3B 5A 00 02 */	addi r26, r26, 2
/* 80176F84 00172BE4  7C 7F D0 50 */	subf r3, r31, r26
/* 80176F88 00172BE8  54 60 0F FE */	srwi r0, r3, 0x1f
/* 80176F8C 00172BEC  7C 00 1A 14 */	add r0, r0, r3
/* 80176F90 00172BF0  7C 03 0E 70 */	srawi r3, r0, 1
/* 80176F94 00172BF4  48 00 00 D4 */	b lbl_80177068
lbl_80176F98:
/* 80176F98 00172BF8  38 16 E0 00 */	addi r0, r22, -8192
/* 80176F9C 00172BFC  B0 1A 00 00 */	sth r0, 0(r26)
/* 80176FA0 00172C00  3B 5A 00 02 */	addi r26, r26, 2
/* 80176FA4 00172C04  48 00 00 AC */	b lbl_80177050
lbl_80176FA8:
/* 80176FA8 00172C08  38 97 03 20 */	addi r4, r23, 0x320
/* 80176FAC 00172C0C  38 A0 00 00 */	li r5, 0
/* 80176FB0 00172C10  48 00 00 84 */	b lbl_80177034
lbl_80176FB4:
/* 80176FB4 00172C14  7C 03 00 40 */	cmplw r3, r0
/* 80176FB8 00172C18  40 82 00 74 */	bne lbl_8017702C
/* 80176FBC 00172C1C  38 16 FF FE */	addi r0, r22, -2
/* 80176FC0 00172C20  B0 1A 00 00 */	sth r0, 0(r26)
/* 80176FC4 00172C24  3B 5A 00 02 */	addi r26, r26, 2
/* 80176FC8 00172C28  7C 1A F0 40 */	cmplw r26, r30
/* 80176FCC 00172C2C  40 80 00 84 */	bge lbl_80177050
/* 80176FD0 00172C30  1C 05 00 06 */	mulli r0, r5, 6
/* 80176FD4 00172C34  7C 78 02 14 */	add r3, r24, r0
/* 80176FD8 00172C38  A0 03 00 02 */	lhz r0, 2(r3)
/* 80176FDC 00172C3C  B0 1A 00 00 */	sth r0, 0(r26)
/* 80176FE0 00172C40  3B 5A 00 02 */	addi r26, r26, 2
/* 80176FE4 00172C44  7C 1A F0 40 */	cmplw r26, r30
/* 80176FE8 00172C48  40 80 00 68 */	bge lbl_80177050
/* 80176FEC 00172C4C  B3 3A 00 00 */	sth r25, 0(r26)
/* 80176FF0 00172C50  3B 5A 00 02 */	addi r26, r26, 2
/* 80176FF4 00172C54  7C 1A F0 40 */	cmplw r26, r30
/* 80176FF8 00172C58  40 80 00 58 */	bge lbl_80177050
/* 80176FFC 00172C5C  A0 03 00 04 */	lhz r0, 4(r3)
/* 80177000 00172C60  28 00 01 00 */	cmplwi r0, 0x100
/* 80177004 00172C64  40 82 00 10 */	bne lbl_80177014
/* 80177008 00172C68  B3 BA 00 00 */	sth r29, 0(r26)
/* 8017700C 00172C6C  3B 5A 00 02 */	addi r26, r26, 2
/* 80177010 00172C70  48 00 00 0C */	b lbl_8017701C
lbl_80177014:
/* 80177014 00172C74  B0 1A 00 00 */	sth r0, 0(r26)
/* 80177018 00172C78  3B 5A 00 02 */	addi r26, r26, 2
lbl_8017701C:
/* 8017701C 00172C7C  7C 1A F0 40 */	cmplw r26, r30
/* 80177020 00172C80  40 80 00 30 */	bge lbl_80177050
/* 80177024 00172C84  3B BD 00 01 */	addi r29, r29, 1
/* 80177028 00172C88  48 00 00 28 */	b lbl_80177050
lbl_8017702C:
/* 8017702C 00172C8C  38 84 00 06 */	addi r4, r4, 6
/* 80177030 00172C90  38 A5 00 01 */	addi r5, r5, 1
lbl_80177034:
/* 80177034 00172C94  A0 04 00 00 */	lhz r0, 0(r4)
/* 80177038 00172C98  2C 00 00 00 */	cmpwi r0, 0
/* 8017703C 00172C9C  40 82 FF 78 */	bne lbl_80176FB4
/* 80177040 00172CA0  48 00 00 10 */	b lbl_80177050
lbl_80177044:
/* 80177044 00172CA4  48 00 03 7D */	bl func_801773C0
/* 80177048 00172CA8  B0 7A 00 00 */	sth r3, 0(r26)
/* 8017704C 00172CAC  3B 5A 00 02 */	addi r26, r26, 2
lbl_80177050:
/* 80177050 00172CB0  7C 1A F0 40 */	cmplw r26, r30
/* 80177054 00172CB4  41 80 FE BC */	blt lbl_80176F10
/* 80177058 00172CB8  3C 80 00 01 */	lis r4, 0x0000FFFF@ha
/* 8017705C 00172CBC  7F 83 E3 78 */	mr r3, r28
/* 80177060 00172CC0  38 04 FF FF */	addi r0, r4, 0x0000FFFF@l
/* 80177064 00172CC4  B0 1E FF FE */	sth r0, -2(r30)
lbl_80177068:
/* 80177068 00172CC8  39 61 00 30 */	addi r11, r1, 0x30
/* 8017706C 00172CCC  48 05 00 F5 */	bl _restgpr_22
/* 80177070 00172CD0  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80177074 00172CD4  7C 08 03 A6 */	mtlr r0
/* 80177078 00172CD8  38 21 00 30 */	addi r1, r1, 0x30
/* 8017707C 00172CDC  4E 80 00 20 */	blr

.global func_80177080
func_80177080:
/* 80177080 00172CE0  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80177084 00172CE4  7C 08 02 A6 */	mflr r0
/* 80177088 00172CE8  90 01 00 34 */	stw r0, 0x34(r1)
/* 8017708C 00172CEC  39 61 00 30 */	addi r11, r1, 0x30
/* 80177090 00172CF0  48 05 00 91 */	bl _savegpr_25
/* 80177094 00172CF4  2C 04 00 00 */	cmpwi r4, 0
/* 80177098 00172CF8  7C 79 1B 78 */	mr r25, r3
/* 8017709C 00172CFC  7C 9A 23 78 */	mr r26, r4
/* 801770A0 00172D00  7C BB 2B 78 */	mr r27, r5
/* 801770A4 00172D04  41 82 00 0C */	beq lbl_801770B0
/* 801770A8 00172D08  2C 03 00 00 */	cmpwi r3, 0
/* 801770AC 00172D0C  40 82 00 0C */	bne lbl_801770B8
lbl_801770B0:
/* 801770B0 00172D10  38 60 00 00 */	li r3, 0
/* 801770B4 00172D14  48 00 00 80 */	b lbl_80177134
lbl_801770B8:
/* 801770B8 00172D18  3C 60 00 01 */	lis r3, 0x0000FFFF@ha
/* 801770BC 00172D1C  3B E5 FF FF */	addi r31, r5, -1
/* 801770C0 00172D20  3B A3 FF FF */	addi r29, r3, 0x0000FFFF@l
/* 801770C4 00172D24  3B 80 00 00 */	li r28, 0
/* 801770C8 00172D28  3B C3 FF FE */	addi r30, r3, -2
/* 801770CC 00172D2C  48 00 00 54 */	b lbl_80177120
lbl_801770D0:
/* 801770D0 00172D30  A0 7A 00 00 */	lhz r3, 0(r26)
/* 801770D4 00172D34  3B 5A 00 02 */	addi r26, r26, 2
/* 801770D8 00172D38  2C 03 00 00 */	cmpwi r3, 0
/* 801770DC 00172D3C  41 82 00 0C */	beq lbl_801770E8
/* 801770E0 00172D40  28 03 FF FF */	cmplwi r3, 0xffff
/* 801770E4 00172D44  40 82 00 14 */	bne lbl_801770F8
lbl_801770E8:
/* 801770E8 00172D48  38 00 00 00 */	li r0, 0
/* 801770EC 00172D4C  7F 83 E3 78 */	mr r3, r28
/* 801770F0 00172D50  B0 19 00 00 */	sth r0, 0(r25)
/* 801770F4 00172D54  48 00 00 40 */	b lbl_80177134
lbl_801770F8:
/* 801770F8 00172D58  28 03 E0 00 */	cmplwi r3, 0xe000
/* 801770FC 00172D5C  40 82 00 14 */	bne lbl_80177110
/* 80177100 00172D60  B3 B9 00 00 */	sth r29, 0(r25)
/* 80177104 00172D64  B3 D9 00 02 */	sth r30, 2(r25)
/* 80177108 00172D68  3B 39 00 04 */	addi r25, r25, 4
/* 8017710C 00172D6C  48 00 00 10 */	b lbl_8017711C
lbl_80177110:
/* 80177110 00172D70  48 00 02 25 */	bl func_80177334
/* 80177114 00172D74  B0 79 00 00 */	sth r3, 0(r25)
/* 80177118 00172D78  3B 39 00 02 */	addi r25, r25, 2
lbl_8017711C:
/* 8017711C 00172D7C  3B 9C 00 01 */	addi r28, r28, 1
lbl_80177120:
/* 80177120 00172D80  7C 1C F8 40 */	cmplw r28, r31
/* 80177124 00172D84  41 80 FF AC */	blt lbl_801770D0
/* 80177128 00172D88  38 00 00 00 */	li r0, 0
/* 8017712C 00172D8C  7F 63 DB 78 */	mr r3, r27
/* 80177130 00172D90  B0 19 00 00 */	sth r0, 0(r25)
lbl_80177134:
/* 80177134 00172D94  39 61 00 30 */	addi r11, r1, 0x30
/* 80177138 00172D98  48 05 00 35 */	bl _restgpr_25
/* 8017713C 00172D9C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80177140 00172DA0  7C 08 03 A6 */	mtlr r0
/* 80177144 00172DA4  38 21 00 30 */	addi r1, r1, 0x30
/* 80177148 00172DA8  4E 80 00 20 */	blr

.global func_8017714C
func_8017714C:
/* 8017714C 00172DAC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80177150 00172DB0  7C 08 02 A6 */	mflr r0
/* 80177154 00172DB4  90 01 00 24 */	stw r0, 0x24(r1)
/* 80177158 00172DB8  39 61 00 20 */	addi r11, r1, 0x20
/* 8017715C 00172DBC  48 04 FF CD */	bl _savegpr_27
/* 80177160 00172DC0  2C 04 00 00 */	cmpwi r4, 0
/* 80177164 00172DC4  7C 7B 1B 78 */	mr r27, r3
/* 80177168 00172DC8  7C 9C 23 78 */	mr r28, r4
/* 8017716C 00172DCC  7C BD 2B 78 */	mr r29, r5
/* 80177170 00172DD0  3B C0 00 00 */	li r30, 0
/* 80177174 00172DD4  41 82 00 0C */	beq lbl_80177180
/* 80177178 00172DD8  2C 03 00 00 */	cmpwi r3, 0
/* 8017717C 00172DDC  40 82 00 0C */	bne lbl_80177188
lbl_80177180:
/* 80177180 00172DE0  38 60 00 00 */	li r3, 0
/* 80177184 00172DE4  48 00 00 90 */	b lbl_80177214
lbl_80177188:
/* 80177188 00172DE8  3B E0 00 0A */	li r31, 0xa
/* 8017718C 00172DEC  48 00 00 7C */	b lbl_80177208
lbl_80177190:
/* 80177190 00172DF0  A0 7C 00 00 */	lhz r3, 0(r28)
/* 80177194 00172DF4  3B 9C 00 02 */	addi r28, r28, 2
/* 80177198 00172DF8  2C 03 00 00 */	cmpwi r3, 0
/* 8017719C 00172DFC  40 82 00 14 */	bne lbl_801771B0
/* 801771A0 00172E00  38 00 00 00 */	li r0, 0
/* 801771A4 00172E04  7F C3 F3 78 */	mr r3, r30
/* 801771A8 00172E08  98 1B 00 00 */	stb r0, 0(r27)
/* 801771AC 00172E0C  48 00 00 68 */	b lbl_80177214
lbl_801771B0:
/* 801771B0 00172E10  28 03 FF FF */	cmplwi r3, 0xffff
/* 801771B4 00172E14  40 82 00 24 */	bne lbl_801771D8
/* 801771B8 00172E18  A0 1C 00 00 */	lhz r0, 0(r28)
/* 801771BC 00172E1C  3B 9C 00 02 */	addi r28, r28, 2
/* 801771C0 00172E20  28 00 FF FE */	cmplwi r0, 0xfffe
/* 801771C4 00172E24  40 82 00 40 */	bne lbl_80177204
/* 801771C8 00172E28  9B FB 00 00 */	stb r31, 0(r27)
/* 801771CC 00172E2C  3B 7B 00 01 */	addi r27, r27, 1
/* 801771D0 00172E30  3B DE 00 01 */	addi r30, r30, 1
/* 801771D4 00172E34  48 00 00 30 */	b lbl_80177204
lbl_801771D8:
/* 801771D8 00172E38  48 00 02 31 */	bl func_80177408
/* 801771DC 00172E3C  54 60 04 3E */	clrlwi r0, r3, 0x10
/* 801771E0 00172E40  28 00 01 00 */	cmplwi r0, 0x100
/* 801771E4 00172E44  41 80 00 14 */	blt lbl_801771F8
/* 801771E8 00172E48  54 60 C6 3E */	rlwinm r0, r3, 0x18, 0x18, 0x1f
/* 801771EC 00172E4C  3B BD FF FF */	addi r29, r29, -1
/* 801771F0 00172E50  98 1B 00 00 */	stb r0, 0(r27)
/* 801771F4 00172E54  3B 7B 00 01 */	addi r27, r27, 1
lbl_801771F8:
/* 801771F8 00172E58  98 7B 00 00 */	stb r3, 0(r27)
/* 801771FC 00172E5C  3B 7B 00 01 */	addi r27, r27, 1
/* 80177200 00172E60  3B DE 00 01 */	addi r30, r30, 1
lbl_80177204:
/* 80177204 00172E64  3B BD FF FF */	addi r29, r29, -1
lbl_80177208:
/* 80177208 00172E68  2C 1D 00 00 */	cmpwi r29, 0
/* 8017720C 00172E6C  41 81 FF 84 */	bgt lbl_80177190
/* 80177210 00172E70  7F C3 F3 78 */	mr r3, r30
lbl_80177214:
/* 80177214 00172E74  39 61 00 20 */	addi r11, r1, 0x20
/* 80177218 00172E78  48 04 FF 5D */	bl _restgpr_27
/* 8017721C 00172E7C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80177220 00172E80  7C 08 03 A6 */	mtlr r0
/* 80177224 00172E84  38 21 00 20 */	addi r1, r1, 0x20
/* 80177228 00172E88  4E 80 00 20 */	blr

.global func_8017722C
func_8017722C:
/* 8017722C 00172E8C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80177230 00172E90  7C 08 02 A6 */	mflr r0
/* 80177234 00172E94  2C 04 00 00 */	cmpwi r4, 0
/* 80177238 00172E98  90 01 00 24 */	stw r0, 0x24(r1)
/* 8017723C 00172E9C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80177240 00172EA0  3B E0 00 00 */	li r31, 0
/* 80177244 00172EA4  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80177248 00172EA8  7C BE 2B 78 */	mr r30, r5
/* 8017724C 00172EAC  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80177250 00172EB0  7C 9D 23 78 */	mr r29, r4
/* 80177254 00172EB4  93 81 00 10 */	stw r28, 0x10(r1)
/* 80177258 00172EB8  7C 7C 1B 78 */	mr r28, r3
/* 8017725C 00172EBC  41 82 00 0C */	beq lbl_80177268
/* 80177260 00172EC0  2C 03 00 00 */	cmpwi r3, 0
/* 80177264 00172EC4  40 82 00 60 */	bne lbl_801772C4
lbl_80177268:
/* 80177268 00172EC8  38 60 00 00 */	li r3, 0
/* 8017726C 00172ECC  48 00 00 64 */	b lbl_801772D0
/* 80177270 00172ED0  48 00 00 54 */	b lbl_801772C4
lbl_80177274:
/* 80177274 00172ED4  A0 7D 00 00 */	lhz r3, 0(r29)
/* 80177278 00172ED8  3B BD 00 02 */	addi r29, r29, 2
/* 8017727C 00172EDC  28 03 FF FF */	cmplwi r3, 0xffff
/* 80177280 00172EE0  40 82 00 14 */	bne lbl_80177294
/* 80177284 00172EE4  38 00 00 00 */	li r0, 0
/* 80177288 00172EE8  7F E3 FB 78 */	mr r3, r31
/* 8017728C 00172EEC  98 1C 00 00 */	stb r0, 0(r28)
/* 80177290 00172EF0  48 00 00 40 */	b lbl_801772D0
lbl_80177294:
/* 80177294 00172EF4  48 00 00 E5 */	bl func_80177378
/* 80177298 00172EF8  54 60 04 3E */	clrlwi r0, r3, 0x10
/* 8017729C 00172EFC  28 00 01 00 */	cmplwi r0, 0x100
/* 801772A0 00172F00  41 80 00 14 */	blt lbl_801772B4
/* 801772A4 00172F04  54 60 C6 3E */	rlwinm r0, r3, 0x18, 0x18, 0x1f
/* 801772A8 00172F08  3B DE FF FF */	addi r30, r30, -1
/* 801772AC 00172F0C  98 1C 00 00 */	stb r0, 0(r28)
/* 801772B0 00172F10  3B 9C 00 01 */	addi r28, r28, 1
lbl_801772B4:
/* 801772B4 00172F14  98 7C 00 00 */	stb r3, 0(r28)
/* 801772B8 00172F18  3B 9C 00 01 */	addi r28, r28, 1
/* 801772BC 00172F1C  3B FF 00 01 */	addi r31, r31, 1
/* 801772C0 00172F20  3B DE FF FF */	addi r30, r30, -1
lbl_801772C4:
/* 801772C4 00172F24  2C 1E 00 00 */	cmpwi r30, 0
/* 801772C8 00172F28  41 81 FF AC */	bgt lbl_80177274
/* 801772CC 00172F2C  7F E3 FB 78 */	mr r3, r31
lbl_801772D0:
/* 801772D0 00172F30  80 01 00 24 */	lwz r0, 0x24(r1)
/* 801772D4 00172F34  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 801772D8 00172F38  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 801772DC 00172F3C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 801772E0 00172F40  83 81 00 10 */	lwz r28, 0x10(r1)
/* 801772E4 00172F44  7C 08 03 A6 */	mtlr r0
/* 801772E8 00172F48  38 21 00 20 */	addi r1, r1, 0x20
/* 801772EC 00172F4C  4E 80 00 20 */	blr

.global func_801772F0
func_801772F0:
/* 801772F0 00172F50  48 00 00 34 */	b lbl_80177324
lbl_801772F4:
/* 801772F4 00172F54  7C 80 0E 70 */	srawi r0, r4, 1
/* 801772F8 00172F58  1C 00 00 06 */	mulli r0, r0, 6
/* 801772FC 00172F5C  7C C3 02 14 */	add r6, r3, r0
/* 80177300 00172F60  7C 03 02 2E */	lhzx r0, r3, r0
/* 80177304 00172F64  7C 00 28 51 */	subf. r0, r0, r5
/* 80177308 00172F68  40 82 00 0C */	bne lbl_80177314
/* 8017730C 00172F6C  7C C3 33 78 */	mr r3, r6
/* 80177310 00172F70  4E 80 00 20 */	blr
lbl_80177314:
/* 80177314 00172F74  40 81 00 0C */	ble lbl_80177320
/* 80177318 00172F78  38 66 00 06 */	addi r3, r6, 6
/* 8017731C 00172F7C  38 84 FF FF */	addi r4, r4, -1
lbl_80177320:
/* 80177320 00172F80  7C 84 0E 70 */	srawi r4, r4, 1
lbl_80177324:
/* 80177324 00172F84  2C 04 00 00 */	cmpwi r4, 0
/* 80177328 00172F88  40 82 FF CC */	bne lbl_801772F4
/* 8017732C 00172F8C  38 60 00 00 */	li r3, 0
/* 80177330 00172F90  4E 80 00 20 */	blr

.global func_80177334
func_80177334:
/* 80177334 00172F94  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80177338 00172F98  7C 08 02 A6 */	mflr r0
/* 8017733C 00172F9C  3C 80 80 42 */	lis r4, lbl_80420430@ha
/* 80177340 00172FA0  7C 65 1B 78 */	mr r5, r3
/* 80177344 00172FA4  90 01 00 14 */	stw r0, 0x14(r1)
/* 80177348 00172FA8  38 64 04 30 */	addi r3, r4, lbl_80420430@l
/* 8017734C 00172FAC  38 80 01 E1 */	li r4, 0x1e1
/* 80177350 00172FB0  4B FF FF A1 */	bl func_801772F0
/* 80177354 00172FB4  2C 03 00 00 */	cmpwi r3, 0
/* 80177358 00172FB8  41 82 00 0C */	beq lbl_80177364
/* 8017735C 00172FBC  A0 63 00 02 */	lhz r3, 2(r3)
/* 80177360 00172FC0  48 00 00 08 */	b lbl_80177368
lbl_80177364:
/* 80177364 00172FC4  38 60 30 00 */	li r3, 0x3000
lbl_80177368:
/* 80177368 00172FC8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8017736C 00172FCC  7C 08 03 A6 */	mtlr r0
/* 80177370 00172FD0  38 21 00 10 */	addi r1, r1, 0x10
/* 80177374 00172FD4  4E 80 00 20 */	blr

.global func_80177378
func_80177378:
/* 80177378 00172FD8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8017737C 00172FDC  7C 08 02 A6 */	mflr r0
/* 80177380 00172FE0  3C 80 80 42 */	lis r4, lbl_80420430@ha
/* 80177384 00172FE4  7C 65 1B 78 */	mr r5, r3
/* 80177388 00172FE8  90 01 00 14 */	stw r0, 0x14(r1)
/* 8017738C 00172FEC  38 64 04 30 */	addi r3, r4, lbl_80420430@l
/* 80177390 00172FF0  38 80 01 E1 */	li r4, 0x1e1
/* 80177394 00172FF4  4B FF FF 5D */	bl func_801772F0
/* 80177398 00172FF8  2C 03 00 00 */	cmpwi r3, 0
/* 8017739C 00172FFC  41 82 00 0C */	beq lbl_801773A8
/* 801773A0 00173000  A0 63 00 04 */	lhz r3, 4(r3)
/* 801773A4 00173004  48 00 00 0C */	b lbl_801773B0
lbl_801773A8:
/* 801773A8 00173008  3C 60 00 01 */	lis r3, 0x000081AC@ha
/* 801773AC 0017300C  38 63 81 AC */	addi r3, r3, 0x000081AC@l
lbl_801773B0:
/* 801773B0 00173010  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801773B4 00173014  7C 08 03 A6 */	mtlr r0
/* 801773B8 00173018  38 21 00 10 */	addi r1, r1, 0x10
/* 801773BC 0017301C  4E 80 00 20 */	blr

.global func_801773C0
func_801773C0:
/* 801773C0 00173020  3C 80 80 42 */	lis r4, lbl_80420430@ha
/* 801773C4 00173024  38 00 01 E2 */	li r0, 0x1e2
/* 801773C8 00173028  38 84 04 30 */	addi r4, r4, lbl_80420430@l
/* 801773CC 0017302C  38 A0 00 00 */	li r5, 0
/* 801773D0 00173030  7C 09 03 A6 */	mtctr r0
lbl_801773D4:
/* 801773D4 00173034  A0 04 00 02 */	lhz r0, 2(r4)
/* 801773D8 00173038  7C 03 00 40 */	cmplw r3, r0
/* 801773DC 0017303C  40 82 00 18 */	bne lbl_801773F4
/* 801773E0 00173040  1C 05 00 06 */	mulli r0, r5, 6
/* 801773E4 00173044  3C 60 80 42 */	lis r3, lbl_80420430@ha
/* 801773E8 00173048  38 63 04 30 */	addi r3, r3, lbl_80420430@l
/* 801773EC 0017304C  7C 63 02 2E */	lhzx r3, r3, r0
/* 801773F0 00173050  4E 80 00 20 */	blr
lbl_801773F4:
/* 801773F4 00173054  38 84 00 06 */	addi r4, r4, 6
/* 801773F8 00173058  38 A5 00 01 */	addi r5, r5, 1
/* 801773FC 0017305C  42 00 FF D8 */	bdnz lbl_801773D4
/* 80177400 00173060  38 60 00 01 */	li r3, 1
/* 80177404 00173064  4E 80 00 20 */	blr

.global func_80177408
func_80177408:
/* 80177408 00173068  3C 80 80 42 */	lis r4, lbl_80420430@ha
/* 8017740C 0017306C  38 00 01 E2 */	li r0, 0x1e2
/* 80177410 00173070  38 84 04 30 */	addi r4, r4, lbl_80420430@l
/* 80177414 00173074  38 A0 00 00 */	li r5, 0
/* 80177418 00173078  7C 09 03 A6 */	mtctr r0
lbl_8017741C:
/* 8017741C 0017307C  A0 04 00 02 */	lhz r0, 2(r4)
/* 80177420 00173080  7C 03 00 40 */	cmplw r3, r0
/* 80177424 00173084  40 82 00 1C */	bne lbl_80177440
/* 80177428 00173088  1C 05 00 06 */	mulli r0, r5, 6
/* 8017742C 0017308C  3C 60 80 42 */	lis r3, lbl_80420430@ha
/* 80177430 00173090  38 63 04 30 */	addi r3, r3, lbl_80420430@l
/* 80177434 00173094  7C 63 02 14 */	add r3, r3, r0
/* 80177438 00173098  A0 63 00 04 */	lhz r3, 4(r3)
/* 8017743C 0017309C  4E 80 00 20 */	blr
lbl_80177440:
/* 80177440 001730A0  38 84 00 06 */	addi r4, r4, 6
/* 80177444 001730A4  38 A5 00 01 */	addi r5, r5, 1
/* 80177448 001730A8  42 00 FF D4 */	bdnz lbl_8017741C
/* 8017744C 001730AC  3C 60 00 01 */	lis r3, 0x00008ADF@ha
/* 80177450 001730B0  38 63 8A DF */	addi r3, r3, 0x00008ADF@l
/* 80177454 001730B4  4E 80 00 20 */	blr

.global func_80177458
func_80177458:
/* 80177458 001730B8  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 8017745C 001730BC  7C 08 02 A6 */	mflr r0
/* 80177460 001730C0  90 01 00 44 */	stw r0, 0x44(r1)
/* 80177464 001730C4  39 61 00 40 */	addi r11, r1, 0x40
/* 80177468 001730C8  48 04 FC A5 */	bl _savegpr_20
/* 8017746C 001730CC  54 60 05 29 */	rlwinm. r0, r3, 0, 0x14, 0x14
/* 80177470 001730D0  7C 9A 23 78 */	mr r26, r4
/* 80177474 001730D4  7C BB 2B 78 */	mr r27, r5
/* 80177478 001730D8  41 82 00 EC */	beq lbl_80177564
/* 8017747C 001730DC  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 80177480 001730E0  38 80 16 24 */	li r4, 0x1624
/* 80177484 001730E4  48 06 38 11 */	bl func_801DAC94
/* 80177488 001730E8  3C 80 80 64 */	lis r4, lbl_8063CE34@ha
/* 8017748C 001730EC  93 63 00 00 */	stw r27, 0(r3)
/* 80177490 001730F0  7C 7C 1B 78 */	mr r28, r3
/* 80177494 001730F4  3B E1 00 08 */	addi r31, r1, 8
/* 80177498 001730F8  3B 24 CE 34 */	addi r25, r4, lbl_8063CE34@l
/* 8017749C 001730FC  3B C0 00 00 */	li r30, 0
lbl_801774A0:
/* 801774A0 00173100  7F 63 DB 78 */	mr r3, r27
/* 801774A4 00173104  57 C4 06 3E */	clrlwi r4, r30, 0x18
/* 801774A8 00173108  48 26 74 A5 */	bl func_803DE94C
/* 801774AC 0017310C  7C 7D 1B 78 */	mr r29, r3
/* 801774B0 00173110  38 80 00 0A */	li r4, 0xa
/* 801774B4 00173114  38 A0 00 00 */	li r5, 0
/* 801774B8 00173118  48 26 65 25 */	bl func_803DD9DC
/* 801774BC 0017311C  54 64 06 3E */	clrlwi r4, r3, 0x18
/* 801774C0 00173120  38 79 00 20 */	addi r3, r25, 0x20
/* 801774C4 00173124  48 21 8E FD */	bl func_803903C0
/* 801774C8 00173128  57 C0 06 3E */	clrlwi r0, r30, 0x18
/* 801774CC 0017312C  7C 77 1B 78 */	mr r23, r3
/* 801774D0 00173130  1E A0 03 B0 */	mulli r21, r0, 0x3b0
/* 801774D4 00173134  3A 80 00 00 */	li r20, 0
/* 801774D8 00173138  7C 7C AA 14 */	add r3, r28, r21
/* 801774DC 0017313C  3A C3 00 44 */	addi r22, r3, 0x44
lbl_801774E0:
/* 801774E0 00173140  56 84 06 3E */	clrlwi r4, r20, 0x18
/* 801774E4 00173144  7F A3 EB 78 */	mr r3, r29
/* 801774E8 00173148  56 98 0D FC */	rlwinm r24, r20, 1, 0x17, 0x1e
/* 801774EC 0017314C  38 A0 00 00 */	li r5, 0
/* 801774F0 00173150  38 84 00 36 */	addi r4, r4, 0x36
/* 801774F4 00173154  48 26 64 E9 */	bl func_803DD9DC
/* 801774F8 00173158  7C 60 1B 78 */	mr r0, r3
/* 801774FC 0017315C  7C 7F C3 2E */	sthx r3, r31, r24
/* 80177500 00173160  38 79 00 18 */	addi r3, r25, 0x18
/* 80177504 00173164  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 80177508 00173168  48 21 B8 6D */	bl func_80392D74
/* 8017750C 0017316C  56 80 06 3E */	clrlwi r0, r20, 0x18
/* 80177510 00173170  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 80177514 00173174  1C 00 00 DC */	mulli r0, r0, 0xdc
/* 80177518 00173178  7C 96 02 14 */	add r4, r22, r0
/* 8017751C 0017317C  48 0D 8E BD */	bl func_802503D8
/* 80177520 00173180  3A 94 00 01 */	addi r20, r20, 1
/* 80177524 00173184  28 14 00 04 */	cmplwi r20, 4
/* 80177528 00173188  41 80 FF B8 */	blt lbl_801774E0
/* 8017752C 0017318C  7C 9C AA 14 */	add r4, r28, r21
/* 80177530 00173190  56 E3 04 3E */	clrlwi r3, r23, 0x10
/* 80177534 00173194  38 84 00 04 */	addi r4, r4, 4
/* 80177538 00173198  48 0D 8E A1 */	bl func_802503D8
/* 8017753C 0017319C  3B DE 00 01 */	addi r30, r30, 1
/* 80177540 001731A0  28 1E 00 06 */	cmplwi r30, 6
/* 80177544 001731A4  41 80 FF 5C */	blt lbl_801774A0
/* 80177548 001731A8  7F 43 D3 78 */	mr r3, r26
/* 8017754C 001731AC  7F 84 E3 78 */	mr r4, r28
/* 80177550 001731B0  4B FF 07 45 */	bl func_80167C94
/* 80177554 001731B4  7C 75 1B 78 */	mr r21, r3
/* 80177558 001731B8  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8017755C 001731BC  7F 84 E3 78 */	mr r4, r28
/* 80177560 001731C0  48 06 37 E9 */	bl func_801DAD48
lbl_80177564:
/* 80177564 001731C4  39 61 00 40 */	addi r11, r1, 0x40
/* 80177568 001731C8  7E A3 AB 78 */	mr r3, r21
/* 8017756C 001731CC  48 04 FB ED */	bl _restgpr_20
/* 80177570 001731D0  80 01 00 44 */	lwz r0, 0x44(r1)
/* 80177574 001731D4  7C 08 03 A6 */	mtlr r0
/* 80177578 001731D8  38 21 00 40 */	addi r1, r1, 0x40
/* 8017757C 001731DC  4E 80 00 20 */	blr

.global func_80177580
func_80177580:
/* 80177580 001731E0  94 21 FD 60 */	stwu r1, -0x2a0(r1)
/* 80177584 001731E4  7C 08 02 A6 */	mflr r0
/* 80177588 001731E8  90 01 02 A4 */	stw r0, 0x2a4(r1)
/* 8017758C 001731EC  39 61 02 A0 */	addi r11, r1, 0x2a0
/* 80177590 001731F0  48 04 FB 69 */	bl _savegpr_15
/* 80177594 001731F4  7C 72 1B 78 */	mr r18, r3
/* 80177598 001731F8  7C 93 23 78 */	mr r19, r4
/* 8017759C 001731FC  7C B1 2B 78 */	mr r17, r5
/* 801775A0 00173200  7C F0 3B 78 */	mr r16, r7
/* 801775A4 00173204  48 23 52 9D */	bl func_803AC840
/* 801775A8 00173208  7C 6F 1B 78 */	mr r15, r3
/* 801775AC 0017320C  7E 43 93 78 */	mr r3, r18
/* 801775B0 00173210  48 23 52 99 */	bl func_803AC848
/* 801775B4 00173214  7C 79 1B 78 */	mr r25, r3
/* 801775B8 00173218  7E 43 93 78 */	mr r3, r18
/* 801775BC 0017321C  7E 64 9B 78 */	mr r4, r19
/* 801775C0 00173220  48 23 52 A9 */	bl func_803AC868
/* 801775C4 00173224  55 E0 05 29 */	rlwinm. r0, r15, 0, 0x14, 0x14
/* 801775C8 00173228  7C 78 1B 78 */	mr r24, r3
/* 801775CC 0017322C  40 82 00 0C */	bne lbl_801775D8
/* 801775D0 00173230  38 60 00 00 */	li r3, 0
/* 801775D4 00173234  48 00 04 5C */	b lbl_80177A30
lbl_801775D8:
/* 801775D8 00173238  28 10 00 0A */	cmplwi r16, 0xa
/* 801775DC 0017323C  41 81 04 50 */	bgt lbl_80177A2C
/* 801775E0 00173240  3C 60 80 42 */	lis r3, lbl_80420F80@ha
/* 801775E4 00173244  56 00 10 3A */	slwi r0, r16, 2
/* 801775E8 00173248  38 63 0F 80 */	addi r3, r3, lbl_80420F80@l
/* 801775EC 0017324C  7C 63 00 2E */	lwzx r3, r3, r0
/* 801775F0 00173250  7C 69 03 A6 */	mtctr r3
/* 801775F4 00173254  4E 80 04 20 */	bctr
/* 801775F8 00173258  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 801775FC 0017325C  38 80 04 0C */	li r4, 0x40c
/* 80177600 00173260  48 06 36 95 */	bl func_801DAC94
/* 80177604 00173264  7C 74 1B 78 */	mr r20, r3
/* 80177608 00173268  38 80 00 00 */	li r4, 0
/* 8017760C 0017326C  38 A0 04 0C */	li r5, 0x40c
/* 80177610 00173270  4B E8 CA F5 */	bl memset
/* 80177614 00173274  48 26 71 C5 */	bl func_803DE7D8
/* 80177618 00173278  7C 64 1B 78 */	mr r4, r3
/* 8017761C 0017327C  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 80177620 00173280  48 06 36 75 */	bl func_801DAC94
/* 80177624 00173284  90 74 00 00 */	stw r3, 0(r20)
/* 80177628 00173288  48 26 71 B1 */	bl func_803DE7D8
/* 8017762C 0017328C  7C 65 1B 78 */	mr r5, r3
/* 80177630 00173290  80 74 00 00 */	lwz r3, 0(r20)
/* 80177634 00173294  38 80 00 00 */	li r4, 0
/* 80177638 00173298  4B E8 CA CD */	bl memset
/* 8017763C 0017329C  80 74 00 00 */	lwz r3, 0(r20)
/* 80177640 001732A0  48 26 71 DD */	bl func_803DE81C
/* 80177644 001732A4  80 94 00 00 */	lwz r4, 0(r20)
/* 80177648 001732A8  7F 03 C3 78 */	mr r3, r24
/* 8017764C 001732AC  48 26 73 11 */	bl func_803DE95C
/* 80177650 001732B0  3A C0 00 00 */	li r22, 0
/* 80177654 001732B4  39 E0 00 01 */	li r15, 1
/* 80177658 001732B8  3A 00 00 00 */	li r16, 0
lbl_8017765C:
/* 8017765C 001732BC  28 13 00 01 */	cmplwi r19, 1
/* 80177660 001732C0  41 82 00 0C */	beq lbl_8017766C
/* 80177664 001732C4  28 13 00 03 */	cmplwi r19, 3
/* 80177668 001732C8  40 82 00 10 */	bne lbl_80177678
lbl_8017766C:
/* 8017766C 001732CC  6A C0 00 01 */	xori r0, r22, 1
/* 80177670 001732D0  54 17 06 3E */	clrlwi r23, r0, 0x18
/* 80177674 001732D4  48 00 00 08 */	b lbl_8017767C
lbl_80177678:
/* 80177678 001732D8  7E D7 B3 78 */	mr r23, r22
lbl_8017767C:
/* 8017767C 001732DC  56 D1 07 FE */	clrlwi r17, r22, 0x1f
/* 80177680 001732E0  56 C4 FE 7E */	rlwinm r4, r22, 0x1f, 0x19, 0x1f
/* 80177684 001732E4  7E 23 8B 78 */	mr r3, r17
/* 80177688 001732E8  48 25 1B 39 */	bl func_803C91C0
/* 8017768C 001732EC  54 65 06 3E */	clrlwi r5, r3, 0x18
/* 80177690 001732F0  7E 43 93 78 */	mr r3, r18
/* 80177694 001732F4  7E 24 8B 78 */	mr r4, r17
/* 80177698 001732F8  48 23 53 0D */	bl func_803AC9A4
/* 8017769C 001732FC  7C 75 1B 78 */	mr r21, r3
/* 801776A0 00173300  38 80 00 05 */	li r4, 5
/* 801776A4 00173304  38 A0 00 00 */	li r5, 0
/* 801776A8 00173308  48 26 63 35 */	bl func_803DD9DC
/* 801776AC 0017330C  56 E0 06 3E */	clrlwi r0, r23, 0x18
/* 801776B0 00173310  54 77 04 3E */	clrlwi r23, r3, 0x10
/* 801776B4 00173314  1E 20 00 1E */	mulli r17, r0, 0x1e
/* 801776B8 00173318  7E A3 AB 78 */	mr r3, r21
/* 801776BC 0017331C  38 80 00 70 */	li r4, 0x70
/* 801776C0 00173320  38 A0 00 00 */	li r5, 0
/* 801776C4 00173324  7E B4 8A 14 */	add r21, r20, r17
/* 801776C8 00173328  48 26 63 15 */	bl func_803DD9DC
/* 801776CC 0017332C  98 75 03 B1 */	stb r3, 0x3b1(r21)
/* 801776D0 00173330  7F 23 CB 78 */	mr r3, r25
/* 801776D4 00173334  56 C4 06 3E */	clrlwi r4, r22, 0x18
/* 801776D8 00173338  38 A0 00 11 */	li r5, 0x11
/* 801776DC 0017333C  38 C0 00 00 */	li r6, 0
/* 801776E0 00173340  48 24 35 C5 */	bl func_803BACA4
/* 801776E4 00173344  54 7A 06 3E */	clrlwi r26, r3, 0x18
/* 801776E8 00173348  7F 23 CB 78 */	mr r3, r25
/* 801776EC 0017334C  56 C4 06 3E */	clrlwi r4, r22, 0x18
/* 801776F0 00173350  38 C1 00 28 */	addi r6, r1, 0x28
/* 801776F4 00173354  38 A0 00 2D */	li r5, 0x2d
/* 801776F8 00173358  48 24 35 AD */	bl func_803BACA4
/* 801776FC 0017335C  7E A3 AB 78 */	mr r3, r21
/* 80177700 00173360  B2 F5 03 94 */	sth r23, 0x394(r21)
/* 80177704 00173364  38 63 03 96 */	addi r3, r3, 0x396
/* 80177708 00173368  38 81 00 28 */	addi r4, r1, 0x28
/* 8017770C 0017336C  38 A0 00 0C */	li r5, 0xc
/* 80177710 00173370  4B FF F9 71 */	bl func_80177080
/* 80177714 00173374  7F 23 CB 78 */	mr r3, r25
/* 80177718 00173378  56 C4 06 3E */	clrlwi r4, r22, 0x18
/* 8017771C 0017337C  38 A0 00 1D */	li r5, 0x1d
/* 80177720 00173380  38 C0 00 00 */	li r6, 0
/* 80177724 00173384  48 24 35 81 */	bl func_803BACA4
/* 80177728 00173388  28 17 00 1D */	cmplwi r23, 0x1d
/* 8017772C 0017338C  98 75 03 AE */	stb r3, 0x3ae(r21)
/* 80177730 00173390  41 82 00 0C */	beq lbl_8017773C
/* 80177734 00173394  28 17 00 20 */	cmplwi r23, 0x20
/* 80177738 00173398  40 82 00 14 */	bne lbl_8017774C
lbl_8017773C:
/* 8017773C 0017339C  2C 1A 00 00 */	cmpwi r26, 0
/* 80177740 001733A0  40 82 00 0C */	bne lbl_8017774C
/* 80177744 001733A4  9A 15 03 AF */	stb r16, 0x3af(r21)
/* 80177748 001733A8  48 00 00 08 */	b lbl_80177750
lbl_8017774C:
/* 8017774C 001733AC  99 F5 03 AF */	stb r15, 0x3af(r21)
lbl_80177750:
/* 80177750 001733B0  7F 23 CB 78 */	mr r3, r25
/* 80177754 001733B4  56 C4 06 3E */	clrlwi r4, r22, 0x18
/* 80177758 001733B8  38 A0 00 2F */	li r5, 0x2f
/* 8017775C 001733BC  38 C0 00 00 */	li r6, 0
/* 80177760 001733C0  48 24 35 45 */	bl func_803BACA4
/* 80177764 001733C4  2C 03 00 00 */	cmpwi r3, 0
/* 80177768 001733C8  41 82 00 28 */	beq lbl_80177790
/* 8017776C 001733CC  7F 23 CB 78 */	mr r3, r25
/* 80177770 001733D0  56 C4 06 3E */	clrlwi r4, r22, 0x18
/* 80177774 001733D4  38 A0 00 00 */	li r5, 0
/* 80177778 001733D8  38 C0 00 00 */	li r6, 0
/* 8017777C 001733DC  48 24 35 29 */	bl func_803BACA4
/* 80177780 001733E0  2C 03 00 00 */	cmpwi r3, 0
/* 80177784 001733E4  41 82 00 0C */	beq lbl_80177790
/* 80177788 001733E8  99 F5 03 B0 */	stb r15, 0x3b0(r21)
/* 8017778C 001733EC  48 00 00 08 */	b lbl_80177794
lbl_80177790:
/* 80177790 001733F0  9A 15 03 B0 */	stb r16, 0x3b0(r21)
lbl_80177794:
/* 80177794 001733F4  3A D6 00 01 */	addi r22, r22, 1
/* 80177798 001733F8  28 16 00 04 */	cmplwi r22, 4
/* 8017779C 001733FC  41 80 FE C0 */	blt lbl_8017765C
/* 801777A0 00173400  3F E0 80 64 */	lis r31, lbl_8063CE34@ha
/* 801777A4 00173404  3A C0 00 00 */	li r22, 0
/* 801777A8 00173408  3B FF CE 34 */	addi r31, r31, lbl_8063CE34@l
/* 801777AC 0017340C  3A 00 00 00 */	li r16, 0
/* 801777B0 00173410  3A 20 00 09 */	li r17, 9
lbl_801777B4:
/* 801777B4 00173414  7E 63 9B 78 */	mr r3, r19
/* 801777B8 00173418  56 C4 06 3E */	clrlwi r4, r22, 0x18
/* 801777BC 0017341C  48 25 1A 05 */	bl func_803C91C0
/* 801777C0 00173420  54 65 06 3E */	clrlwi r5, r3, 0x18
/* 801777C4 00173424  7E 43 93 78 */	mr r3, r18
/* 801777C8 00173428  7E 64 9B 78 */	mr r4, r19
/* 801777CC 0017342C  48 23 51 D9 */	bl func_803AC9A4
/* 801777D0 00173430  80 74 00 00 */	lwz r3, 0(r20)
/* 801777D4 00173434  56 C4 06 3E */	clrlwi r4, r22, 0x18
/* 801777D8 00173438  48 26 71 75 */	bl func_803DE94C
/* 801777DC 0017343C  7C 6F 1B 78 */	mr r15, r3
/* 801777E0 00173440  7E 63 9B 78 */	mr r3, r19
/* 801777E4 00173444  56 C4 06 3E */	clrlwi r4, r22, 0x18
/* 801777E8 00173448  48 25 19 D9 */	bl func_803C91C0
/* 801777EC 0017344C  54 64 06 3E */	clrlwi r4, r3, 0x18
/* 801777F0 00173450  7F 03 C3 78 */	mr r3, r24
/* 801777F4 00173454  48 26 71 59 */	bl func_803DE94C
/* 801777F8 00173458  7D E4 7B 78 */	mr r4, r15
/* 801777FC 0017345C  48 26 50 BD */	bl func_803DC8B8
/* 80177800 00173460  7E 63 9B 78 */	mr r3, r19
/* 80177804 00173464  56 C4 06 3E */	clrlwi r4, r22, 0x18
/* 80177808 00173468  48 25 1A 25 */	bl func_803C922C
/* 8017780C 0017346C  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 80177810 00173470  7C 7D 1B 78 */	mr r29, r3
/* 80177814 00173474  28 00 00 FF */	cmplwi r0, 0xff
/* 80177818 00173478  41 82 00 E8 */	beq lbl_80177900
/* 8017781C 0017347C  56 C0 06 3E */	clrlwi r0, r22, 0x18
/* 80177820 00173480  3A A0 00 00 */	li r21, 0
/* 80177824 00173484  1C 00 00 98 */	mulli r0, r0, 0x98
/* 80177828 00173488  7F D4 02 14 */	add r30, r20, r0
/* 8017782C 0017348C  3B 9E 00 04 */	addi r28, r30, 4
lbl_80177830:
/* 80177830 00173490  56 A4 06 3E */	clrlwi r4, r21, 0x18
/* 80177834 00173494  7F 23 CB 78 */	mr r3, r25
/* 80177838 00173498  3B 64 00 06 */	addi r27, r4, 6
/* 8017783C 0017349C  38 C0 00 00 */	li r6, 0
/* 80177840 001734A0  57 A4 06 3E */	clrlwi r4, r29, 0x18
/* 80177844 001734A4  7F 65 DB 78 */	mr r5, r27
/* 80177848 001734A8  48 24 34 5D */	bl func_803BACA4
/* 8017784C 001734AC  56 A0 06 3E */	clrlwi r0, r21, 0x18
/* 80177850 001734B0  54 77 04 3E */	clrlwi r23, r3, 0x10
/* 80177854 001734B4  1D E0 00 26 */	mulli r15, r0, 0x26
/* 80177858 001734B8  38 7F 00 18 */	addi r3, r31, 0x18
/* 8017785C 001734BC  7E E4 BB 78 */	mr r4, r23
/* 80177860 001734C0  48 21 B4 E1 */	bl func_80392D40
/* 80177864 001734C4  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 80177868 001734C8  7C 9C 7A 14 */	add r4, r28, r15
/* 8017786C 001734CC  48 0D 8B 6D */	bl func_802503D8
/* 80177870 001734D0  56 A5 06 3E */	clrlwi r5, r21, 0x18
/* 80177874 001734D4  7F 23 CB 78 */	mr r3, r25
/* 80177878 001734D8  7F 5E 7A 14 */	add r26, r30, r15
/* 8017787C 001734DC  57 A4 06 3E */	clrlwi r4, r29, 0x18
/* 80177880 001734E0  38 A5 00 1F */	addi r5, r5, 0x1f
/* 80177884 001734E4  38 C0 00 00 */	li r6, 0
/* 80177888 001734E8  48 24 34 1D */	bl func_803BACA4
/* 8017788C 001734EC  98 7A 00 24 */	stb r3, 0x24(r26)
/* 80177890 001734F0  56 A5 06 3E */	clrlwi r5, r21, 0x18
/* 80177894 001734F4  7F 23 CB 78 */	mr r3, r25
/* 80177898 001734F8  57 A4 06 3E */	clrlwi r4, r29, 0x18
/* 8017789C 001734FC  38 A5 00 23 */	addi r5, r5, 0x23
/* 801778A0 00173500  38 C0 00 00 */	li r6, 0
/* 801778A4 00173504  48 24 34 01 */	bl func_803BACA4
/* 801778A8 00173508  54 6F 06 3E */	clrlwi r15, r3, 0x18
/* 801778AC 0017350C  7F 23 CB 78 */	mr r3, r25
/* 801778B0 00173510  7F 65 DB 78 */	mr r5, r27
/* 801778B4 00173514  57 A4 06 3E */	clrlwi r4, r29, 0x18
/* 801778B8 00173518  38 C0 00 00 */	li r6, 0
/* 801778BC 0017351C  48 24 33 E9 */	bl func_803BACA4
/* 801778C0 00173520  7D E4 7B 78 */	mr r4, r15
/* 801778C4 00173524  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 801778C8 00173528  48 26 71 99 */	bl func_803DEA60
/* 801778CC 0017352C  98 7A 00 25 */	stb r3, 0x25(r26)
/* 801778D0 00173530  7E E4 BB 78 */	mr r4, r23
/* 801778D4 00173534  38 7F 00 18 */	addi r3, r31, 0x18
/* 801778D8 00173538  48 21 B2 FD */	bl func_80392BD4
/* 801778DC 0017353C  2C 17 00 00 */	cmpwi r23, 0
/* 801778E0 00173540  98 7A 00 28 */	stb r3, 0x28(r26)
/* 801778E4 00173544  40 82 00 10 */	bne lbl_801778F4
/* 801778E8 00173548  9A 1A 00 24 */	stb r16, 0x24(r26)
/* 801778EC 0017354C  9A 1A 00 25 */	stb r16, 0x25(r26)
/* 801778F0 00173550  9A 3A 00 28 */	stb r17, 0x28(r26)
lbl_801778F4:
/* 801778F4 00173554  3A B5 00 01 */	addi r21, r21, 1
/* 801778F8 00173558  28 15 00 04 */	cmplwi r21, 4
/* 801778FC 0017355C  41 80 FF 34 */	blt lbl_80177830
lbl_80177900:
/* 80177900 00173560  3A D6 00 01 */	addi r22, r22, 1
/* 80177904 00173564  28 16 00 06 */	cmplwi r22, 6
/* 80177908 00173568  41 80 FE AC */	blt lbl_801777B4
/* 8017790C 0017356C  7E 63 9B 78 */	mr r3, r19
/* 80177910 00173570  7E 84 A3 78 */	mr r4, r20
/* 80177914 00173574  4B FF 05 0D */	bl func_80167E20
/* 80177918 00173578  80 94 00 00 */	lwz r4, 0(r20)
/* 8017791C 0017357C  7C 6F 1B 78 */	mr r15, r3
/* 80177920 00173580  2C 04 00 00 */	cmpwi r4, 0
/* 80177924 00173584  41 82 00 0C */	beq lbl_80177930
/* 80177928 00173588  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8017792C 0017358C  48 06 34 1D */	bl func_801DAD48
lbl_80177930:
/* 80177930 00173590  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 80177934 00173594  7E 84 A3 78 */	mr r4, r20
/* 80177938 00173598  48 06 34 11 */	bl func_801DAD48
/* 8017793C 0017359C  48 00 00 F0 */	b lbl_80177A2C
/* 80177940 001735A0  7F 23 CB 78 */	mr r3, r25
/* 80177944 001735A4  7E 24 8B 78 */	mr r4, r17
/* 80177948 001735A8  38 C1 00 40 */	addi r6, r1, 0x40
/* 8017794C 001735AC  38 A0 00 2D */	li r5, 0x2d
/* 80177950 001735B0  48 24 33 55 */	bl func_803BACA4
/* 80177954 001735B4  38 61 00 28 */	addi r3, r1, 0x28
/* 80177958 001735B8  38 81 00 40 */	addi r4, r1, 0x40
/* 8017795C 001735BC  38 A0 00 0C */	li r5, 0xc
/* 80177960 001735C0  4B FF F7 21 */	bl func_80177080
/* 80177964 001735C4  38 81 00 28 */	addi r4, r1, 0x28
/* 80177968 001735C8  38 60 00 15 */	li r3, 0x15
/* 8017796C 001735CC  4B FE 49 9D */	bl func_8015C308
/* 80177970 001735D0  38 81 01 58 */	addi r4, r1, 0x158
/* 80177974 001735D4  38 60 2E CB */	li r3, 0x2ecb
/* 80177978 001735D8  48 0D 8A 61 */	bl func_802503D8
/* 8017797C 001735DC  7E 63 9B 78 */	mr r3, r19
/* 80177980 001735E0  38 81 01 58 */	addi r4, r1, 0x158
/* 80177984 001735E4  4B FF 06 35 */	bl func_80167FB8
/* 80177988 001735E8  7C 6F 1B 78 */	mr r15, r3
/* 8017798C 001735EC  48 00 00 A0 */	b lbl_80177A2C
/* 80177990 001735F0  7E 43 93 78 */	mr r3, r18
/* 80177994 001735F4  7F 24 CB 78 */	mr r4, r25
/* 80177998 001735F8  7E 26 8B 78 */	mr r6, r17
/* 8017799C 001735FC  38 A0 00 0C */	li r5, 0xc
/* 801779A0 00173600  48 25 12 A9 */	bl func_803C8C48
/* 801779A4 00173604  7C 60 1B 78 */	mr r0, r3
/* 801779A8 00173608  7F 23 CB 78 */	mr r3, r25
/* 801779AC 0017360C  54 05 06 3E */	clrlwi r5, r0, 0x18
/* 801779B0 00173610  7E 24 8B 78 */	mr r4, r17
/* 801779B4 00173614  38 A5 00 05 */	addi r5, r5, 5
/* 801779B8 00173618  38 C0 00 00 */	li r6, 0
/* 801779BC 0017361C  48 24 32 E9 */	bl func_803BACA4
/* 801779C0 00173620  3C A0 80 64 */	lis r5, lbl_8063CE34@ha
/* 801779C4 00173624  54 64 04 3E */	clrlwi r4, r3, 0x10
/* 801779C8 00173628  38 A5 CE 34 */	addi r5, r5, lbl_8063CE34@l
/* 801779CC 0017362C  38 65 00 18 */	addi r3, r5, 0x18
/* 801779D0 00173630  48 21 B3 71 */	bl func_80392D40
/* 801779D4 00173634  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 801779D8 00173638  38 81 00 08 */	addi r4, r1, 8
/* 801779DC 0017363C  48 0D 89 FD */	bl func_802503D8
/* 801779E0 00173640  38 81 00 08 */	addi r4, r1, 8
/* 801779E4 00173644  38 60 00 16 */	li r3, 0x16
/* 801779E8 00173648  4B FE 49 21 */	bl func_8015C308
/* 801779EC 0017364C  38 81 00 58 */	addi r4, r1, 0x58
/* 801779F0 00173650  38 60 2E CC */	li r3, 0x2ecc
/* 801779F4 00173654  48 0D 89 E5 */	bl func_802503D8
/* 801779F8 00173658  7E 63 9B 78 */	mr r3, r19
/* 801779FC 0017365C  38 81 00 58 */	addi r4, r1, 0x58
/* 80177A00 00173660  56 25 07 BC */	rlwinm r5, r17, 0, 0x1e, 0x1e
/* 80177A04 00173664  4B FF 05 CD */	bl func_80167FD0
/* 80177A08 00173668  7C 6F 1B 78 */	mr r15, r3
/* 80177A0C 0017366C  48 00 00 20 */	b lbl_80177A2C
/* 80177A10 00173670  7E 63 9B 78 */	mr r3, r19
/* 80177A14 00173674  4B FF 06 41 */	bl func_80168054
/* 80177A18 00173678  7C 6F 1B 78 */	mr r15, r3
/* 80177A1C 0017367C  48 00 00 10 */	b lbl_80177A2C
/* 80177A20 00173680  7E 63 9B 78 */	mr r3, r19
/* 80177A24 00173684  4B FF 06 51 */	bl func_80168074
/* 80177A28 00173688  7C 6F 1B 78 */	mr r15, r3
lbl_80177A2C:
/* 80177A2C 0017368C  7D E3 7B 78 */	mr r3, r15
lbl_80177A30:
/* 80177A30 00173690  39 61 02 A0 */	addi r11, r1, 0x2a0
/* 80177A34 00173694  48 04 F7 11 */	bl _restgpr_15
/* 80177A38 00173698  80 01 02 A4 */	lwz r0, 0x2a4(r1)
/* 80177A3C 0017369C  7C 08 03 A6 */	mtlr r0
/* 80177A40 001736A0  38 21 02 A0 */	addi r1, r1, 0x2a0
/* 80177A44 001736A4  4E 80 00 20 */	blr

.global func_80177A48
func_80177A48:
/* 80177A48 001736A8  2C 05 00 04 */	cmpwi r5, 4
/* 80177A4C 001736AC  41 82 00 08 */	beq lbl_80177A54
/* 80177A50 001736B0  4E 80 00 20 */	blr
lbl_80177A54:
/* 80177A54 001736B4  4B FF 05 70 */	b func_80167FC4
/* 80177A58 001736B8  4E 80 00 20 */	blr

.global func_80177A5C
func_80177A5C:
/* 80177A5C 001736BC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80177A60 001736C0  7C 08 02 A6 */	mflr r0
/* 80177A64 001736C4  90 01 00 24 */	stw r0, 0x24(r1)
/* 80177A68 001736C8  39 61 00 20 */	addi r11, r1, 0x20
/* 80177A6C 001736CC  48 04 F6 B9 */	bl _savegpr_26
/* 80177A70 001736D0  7C 7A 1B 78 */	mr r26, r3
/* 80177A74 001736D4  7C 9D 23 78 */	mr r29, r4
/* 80177A78 001736D8  7C BB 2B 78 */	mr r27, r5
/* 80177A7C 001736DC  7C DC 33 78 */	mr r28, r6
/* 80177A80 001736E0  3B C0 00 00 */	li r30, 0
/* 80177A84 001736E4  48 23 4D A5 */	bl func_803AC828
/* 80177A88 001736E8  48 23 4D B9 */	bl func_803AC840
/* 80177A8C 001736EC  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 80177A90 001736F0  57 BF 07 FE */	clrlwi r31, r29, 0x1f
/* 80177A94 001736F4  41 82 00 08 */	beq lbl_80177A9C
/* 80177A98 001736F8  57 BF 06 3E */	clrlwi r31, r29, 0x18
lbl_80177A9C:
/* 80177A9C 001736FC  2C 1B 30 BB */	cmpwi r27, 0x30bb
/* 80177AA0 00173700  41 82 00 28 */	beq lbl_80177AC8
/* 80177AA4 00173704  40 80 00 18 */	bge lbl_80177ABC
/* 80177AA8 00173708  2C 1B 2E D4 */	cmpwi r27, 0x2ed4
/* 80177AAC 0017370C  40 80 01 0C */	bge lbl_80177BB8
/* 80177AB0 00173710  2C 1B 2E D1 */	cmpwi r27, 0x2ed1
/* 80177AB4 00173714  40 80 00 14 */	bge lbl_80177AC8
/* 80177AB8 00173718  48 00 01 00 */	b lbl_80177BB8
lbl_80177ABC:
/* 80177ABC 0017371C  2C 1B 50 5A */	cmpwi r27, 0x505a
/* 80177AC0 00173720  41 82 00 7C */	beq lbl_80177B3C
/* 80177AC4 00173724  48 00 00 F4 */	b lbl_80177BB8
lbl_80177AC8:
/* 80177AC8 00173728  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 80177ACC 0017372C  38 80 01 34 */	li r4, 0x134
/* 80177AD0 00173730  48 06 31 C5 */	bl func_801DAC94
/* 80177AD4 00173734  2C 03 00 00 */	cmpwi r3, 0
/* 80177AD8 00173738  7C 7D 1B 78 */	mr r29, r3
/* 80177ADC 0017373C  41 82 00 DC */	beq lbl_80177BB8
/* 80177AE0 00173740  7F 83 E3 78 */	mr r3, r28
/* 80177AE4 00173744  48 26 46 B9 */	bl func_803DC19C
/* 80177AE8 00173748  38 BD 00 1A */	addi r5, r29, 0x1a
/* 80177AEC 0017374C  38 80 00 74 */	li r4, 0x74
/* 80177AF0 00173750  48 26 34 0D */	bl func_803DAEFC
/* 80177AF4 00173754  7F A3 EB 78 */	mr r3, r29
/* 80177AF8 00173758  38 9D 00 1A */	addi r4, r29, 0x1a
/* 80177AFC 0017375C  38 A0 00 0C */	li r5, 0xc
/* 80177B00 00173760  4B FF F5 81 */	bl func_80177080
/* 80177B04 00173764  7F A4 EB 78 */	mr r4, r29
/* 80177B08 00173768  38 60 00 1D */	li r3, 0x1d
/* 80177B0C 0017376C  4B FE 47 FD */	bl func_8015C308
/* 80177B10 00173770  7F 63 DB 78 */	mr r3, r27
/* 80177B14 00173774  38 9D 00 34 */	addi r4, r29, 0x34
/* 80177B18 00173778  48 0D 88 C1 */	bl func_802503D8
/* 80177B1C 0017377C  57 E3 06 3E */	clrlwi r3, r31, 0x18
/* 80177B20 00173780  38 9D 00 34 */	addi r4, r29, 0x34
/* 80177B24 00173784  4B FF 04 A1 */	bl func_80167FC4
/* 80177B28 00173788  7C 7E 1B 78 */	mr r30, r3
/* 80177B2C 0017378C  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 80177B30 00173790  7F A4 EB 78 */	mr r4, r29
/* 80177B34 00173794  48 06 32 15 */	bl func_801DAD48
/* 80177B38 00173798  48 00 00 80 */	b lbl_80177BB8
lbl_80177B3C:
/* 80177B3C 0017379C  7F 43 D3 78 */	mr r3, r26
/* 80177B40 001737A0  7F A4 EB 78 */	mr r4, r29
/* 80177B44 001737A4  48 23 51 F5 */	bl func_803ACD38
/* 80177B48 001737A8  7C 7D 1B 78 */	mr r29, r3
/* 80177B4C 001737AC  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 80177B50 001737B0  38 80 01 10 */	li r4, 0x110
/* 80177B54 001737B4  48 06 31 41 */	bl func_801DAC94
/* 80177B58 001737B8  2C 03 00 00 */	cmpwi r3, 0
/* 80177B5C 001737BC  7C 7C 1B 78 */	mr r28, r3
/* 80177B60 001737C0  41 82 00 58 */	beq lbl_80177BB8
/* 80177B64 001737C4  7F 43 D3 78 */	mr r3, r26
/* 80177B68 001737C8  7F A4 EB 78 */	mr r4, r29
/* 80177B6C 001737CC  48 23 4F C5 */	bl func_803ACB30
/* 80177B70 001737D0  7C 64 1B 78 */	mr r4, r3
/* 80177B74 001737D4  7F 83 E3 78 */	mr r3, r28
/* 80177B78 001737D8  38 84 00 14 */	addi r4, r4, 0x14
/* 80177B7C 001737DC  38 A0 00 08 */	li r5, 8
/* 80177B80 001737E0  4B FF F5 01 */	bl func_80177080
/* 80177B84 001737E4  7F 84 E3 78 */	mr r4, r28
/* 80177B88 001737E8  38 60 00 51 */	li r3, 0x51
/* 80177B8C 001737EC  4B FE 47 7D */	bl func_8015C308
/* 80177B90 001737F0  7F 63 DB 78 */	mr r3, r27
/* 80177B94 001737F4  38 9C 00 10 */	addi r4, r28, 0x10
/* 80177B98 001737F8  48 0D 88 41 */	bl func_802503D8
/* 80177B9C 001737FC  57 E3 06 3E */	clrlwi r3, r31, 0x18
/* 80177BA0 00173800  38 9C 00 10 */	addi r4, r28, 0x10
/* 80177BA4 00173804  4B FF 04 21 */	bl func_80167FC4
/* 80177BA8 00173808  7C 7E 1B 78 */	mr r30, r3
/* 80177BAC 0017380C  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 80177BB0 00173810  7F 84 E3 78 */	mr r4, r28
/* 80177BB4 00173814  48 06 31 95 */	bl func_801DAD48
lbl_80177BB8:
/* 80177BB8 00173818  39 61 00 20 */	addi r11, r1, 0x20
/* 80177BBC 0017381C  7F C3 F3 78 */	mr r3, r30
/* 80177BC0 00173820  48 04 F5 B1 */	bl _restgpr_26
/* 80177BC4 00173824  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80177BC8 00173828  7C 08 03 A6 */	mtlr r0
/* 80177BCC 0017382C  38 21 00 20 */	addi r1, r1, 0x20
/* 80177BD0 00173830  4E 80 00 20 */	blr

.global func_80177BD4
func_80177BD4:
/* 80177BD4 00173834  54 63 06 3E */	clrlwi r3, r3, 0x18
/* 80177BD8 00173838  4B FE FF 58 */	b func_80167B30

.global func_80177BDC
func_80177BDC:
/* 80177BDC 0017383C  2C 04 00 0A */	cmpwi r4, 0xa
/* 80177BE0 00173840  41 82 00 18 */	beq lbl_80177BF8
/* 80177BE4 00173844  4C 80 00 20 */	bgelr
/* 80177BE8 00173848  2C 04 00 09 */	cmpwi r4, 9
/* 80177BEC 0017384C  4D 80 00 20 */	bltlr
/* 80177BF0 00173850  54 63 06 3E */	clrlwi r3, r3, 0x18
/* 80177BF4 00173854  4B FF 04 70 */	b func_80168064
lbl_80177BF8:
/* 80177BF8 00173858  54 63 06 3E */	clrlwi r3, r3, 0x18
/* 80177BFC 0017385C  4B FF 04 78 */	b func_80168074
/* 80177C00 00173860  4E 80 00 20 */	blr

.global func_80177C04
func_80177C04:
/* 80177C04 00173864  38 A0 00 01 */	li r5, 1
/* 80177C08 00173868  38 6D 9F 50 */	addi r3, r13, lbl_8063F210-_SDA_BASE_
/* 80177C0C 0017386C  38 80 00 04 */	li r4, 4
/* 80177C10 00173870  38 00 00 00 */	li r0, 0
/* 80177C14 00173874  98 AD 9F 50 */	stb r5, lbl_8063F210-_SDA_BASE_(r13)
/* 80177C18 00173878  B0 83 00 02 */	sth r4, 2(r3)
/* 80177C1C 0017387C  98 03 00 04 */	stb r0, 4(r3)
/* 80177C20 00173880  4E 80 00 20 */	blr