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

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

.global func_800097D8
func_800097D8:
/* 800097D8 00005438  80 6D 96 70 */	lwz r3, lbl_8063E930-_SDA_BASE_(r13)
/* 800097DC 0000543C  2C 03 00 00 */	cmpwi r3, 0
/* 800097E0 00005440  41 82 00 08 */	beq lbl_800097E8
/* 800097E4 00005444  48 00 05 94 */	b lbl_80009D78
lbl_800097E8:
/* 800097E8 00005448  38 60 00 01 */	li r3, 1
/* 800097EC 0000544C  4E 80 00 20 */	blr

.global func_800097F0
func_800097F0:
/* 800097F0 00005450  80 6D 96 70 */	lwz r3, lbl_8063E930-_SDA_BASE_(r13)
/* 800097F4 00005454  2C 03 00 00 */	cmpwi r3, 0
/* 800097F8 00005458  41 82 00 08 */	beq lbl_80009800
/* 800097FC 0000545C  48 00 05 98 */	b lbl_80009D94
lbl_80009800:
/* 80009800 00005460  38 60 00 01 */	li r3, 1
/* 80009804 00005464  4E 80 00 20 */	blr

.global func_80009808
func_80009808:
/* 80009808 00005468  80 8D 96 70 */	lwz r4, lbl_8063E930-_SDA_BASE_(r13)
/* 8000980C 0000546C  2C 04 00 00 */	cmpwi r4, 0
/* 80009810 00005470  4D 82 00 20 */	beqlr
/* 80009814 00005474  98 64 00 04 */	stb r3, 4(r4)
/* 80009818 00005478  4E 80 00 20 */	blr

.global func_8000981C
func_8000981C:
/* 8000981C 0000547C  80 6D 96 70 */	lwz r3, lbl_8063E930-_SDA_BASE_(r13)
/* 80009820 00005480  2C 03 00 00 */	cmpwi r3, 0
/* 80009824 00005484  41 82 00 0C */	beq lbl_80009830
/* 80009828 00005488  88 63 00 04 */	lbz r3, 4(r3)
/* 8000982C 0000548C  4E 80 00 20 */	blr
lbl_80009830:
/* 80009830 00005490  38 60 00 00 */	li r3, 0
/* 80009834 00005494  4E 80 00 20 */	blr

.global func_80009838
func_80009838:
/* 80009838 00005498  80 6D 96 70 */	lwz r3, lbl_8063E930-_SDA_BASE_(r13)
/* 8000983C 0000549C  2C 03 00 00 */	cmpwi r3, 0
/* 80009840 000054A0  41 82 00 0C */	beq lbl_8000984C
/* 80009844 000054A4  88 63 00 01 */	lbz r3, 1(r3)
/* 80009848 000054A8  4E 80 00 20 */	blr
lbl_8000984C:
/* 8000984C 000054AC  38 60 00 00 */	li r3, 0
/* 80009850 000054B0  4E 80 00 20 */	blr

.global func_80009854
func_80009854:
/* 80009854 000054B4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80009858 000054B8  7C 08 02 A6 */	mflr r0
/* 8000985C 000054BC  90 01 00 14 */	stw r0, 0x14(r1)
/* 80009860 000054C0  80 0D 96 70 */	lwz r0, lbl_8063E930-_SDA_BASE_(r13)
/* 80009864 000054C4  2C 00 00 00 */	cmpwi r0, 0
/* 80009868 000054C8  40 82 00 0C */	bne lbl_80009874
/* 8000986C 000054CC  38 60 00 00 */	li r3, 0
/* 80009870 000054D0  48 00 00 7C */	b lbl_800098EC
lbl_80009874:
/* 80009874 000054D4  48 15 92 FD */	bl func_80162B70
/* 80009878 000054D8  2C 03 00 00 */	cmpwi r3, 0
/* 8000987C 000054DC  40 82 00 64 */	bne lbl_800098E0
/* 80009880 000054E0  38 60 02 61 */	li r3, 0x261
/* 80009884 000054E4  48 15 92 0D */	bl func_80162A90
/* 80009888 000054E8  28 03 00 03 */	cmplwi r3, 3
/* 8000988C 000054EC  41 82 00 54 */	beq lbl_800098E0
/* 80009890 000054F0  38 60 02 61 */	li r3, 0x261
/* 80009894 000054F4  48 15 91 FD */	bl func_80162A90
/* 80009898 000054F8  28 03 00 04 */	cmplwi r3, 4
/* 8000989C 000054FC  41 82 00 44 */	beq lbl_800098E0
/* 800098A0 00005500  80 6D 96 70 */	lwz r3, lbl_8063E930-_SDA_BASE_(r13)
/* 800098A4 00005504  88 03 00 03 */	lbz r0, 3(r3)
/* 800098A8 00005508  2C 00 00 00 */	cmpwi r0, 0
/* 800098AC 0000550C  40 82 00 34 */	bne lbl_800098E0
/* 800098B0 00005510  88 03 00 04 */	lbz r0, 4(r3)
/* 800098B4 00005514  2C 00 00 00 */	cmpwi r0, 0
/* 800098B8 00005518  40 82 00 28 */	bne lbl_800098E0
/* 800098BC 0000551C  80 6D A3 80 */	lwz r3, lbl_8063F640-_SDA_BASE_(r13)
/* 800098C0 00005520  2C 03 00 00 */	cmpwi r3, 0
/* 800098C4 00005524  41 82 00 10 */	beq lbl_800098D4
/* 800098C8 00005528  88 03 00 14 */	lbz r0, 0x14(r3)
/* 800098CC 0000552C  2C 00 00 00 */	cmpwi r0, 0
/* 800098D0 00005530  40 82 00 10 */	bne lbl_800098E0
lbl_800098D4:
/* 800098D4 00005534  80 0D 96 44 */	lwz r0, lbl_8063E904-_SDA_BASE_(r13)
/* 800098D8 00005538  2C 00 00 00 */	cmpwi r0, 0
/* 800098DC 0000553C  41 82 00 0C */	beq lbl_800098E8
lbl_800098E0:
/* 800098E0 00005540  38 60 00 00 */	li r3, 0
/* 800098E4 00005544  48 00 00 08 */	b lbl_800098EC
lbl_800098E8:
/* 800098E8 00005548  38 60 00 01 */	li r3, 1
lbl_800098EC:
/* 800098EC 0000554C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 800098F0 00005550  7C 08 03 A6 */	mtlr r0
/* 800098F4 00005554  38 21 00 10 */	addi r1, r1, 0x10
/* 800098F8 00005558  4E 80 00 20 */	blr

.global func_800098FC
func_800098FC:
/* 800098FC 0000555C  80 8D 96 70 */	lwz r4, lbl_8063E930-_SDA_BASE_(r13)
/* 80009900 00005560  2C 04 00 00 */	cmpwi r4, 0
/* 80009904 00005564  41 82 00 38 */	beq lbl_8000993C
/* 80009908 00005568  88 04 00 05 */	lbz r0, 5(r4)
/* 8000990C 0000556C  2C 00 00 00 */	cmpwi r0, 0
/* 80009910 00005570  4C 82 00 20 */	bnelr
/* 80009914 00005574  88 04 00 06 */	lbz r0, 6(r4)
/* 80009918 00005578  2C 00 00 00 */	cmpwi r0, 0
/* 8000991C 0000557C  41 82 00 08 */	beq lbl_80009924
/* 80009920 00005580  4E 80 00 20 */	blr
lbl_80009924:
/* 80009924 00005584  2C 03 00 00 */	cmpwi r3, 0
/* 80009928 00005588  41 82 00 08 */	beq lbl_80009930
/* 8000992C 0000558C  98 64 00 06 */	stb r3, 6(r4)
lbl_80009930:
/* 80009930 00005590  80 6D 96 70 */	lwz r3, lbl_8063E930-_SDA_BASE_(r13)
/* 80009934 00005594  38 00 00 01 */	li r0, 1
/* 80009938 00005598  98 03 00 05 */	stb r0, 5(r3)
lbl_8000993C:
/* 8000993C 0000559C  80 6D 96 70 */	lwz r3, lbl_8063E930-_SDA_BASE_(r13)
/* 80009940 000055A0  38 00 00 01 */	li r0, 1
/* 80009944 000055A4  98 03 00 07 */	stb r0, 7(r3)
/* 80009948 000055A8  4E 80 00 20 */	blr

.global func_8000994C
func_8000994C:
/* 8000994C 000055AC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80009950 000055B0  7C 08 02 A6 */	mflr r0
/* 80009954 000055B4  C0 02 80 28 */	lfs f0, lbl_80640628-_SDA2_BASE_(r2)
/* 80009958 000055B8  38 C0 00 00 */	li r6, 0
/* 8000995C 000055BC  90 01 00 14 */	stw r0, 0x14(r1)
/* 80009960 000055C0  38 00 00 01 */	li r0, 1
/* 80009964 000055C4  38 80 00 00 */	li r4, 0
/* 80009968 000055C8  38 A0 00 40 */	li r5, 0x40
/* 8000996C 000055CC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80009970 000055D0  7C 7F 1B 78 */	mr r31, r3
/* 80009974 000055D4  98 C3 00 03 */	stb r6, 3(r3)
/* 80009978 000055D8  98 C3 00 00 */	stb r6, 0(r3)
/* 8000997C 000055DC  98 C3 00 04 */	stb r6, 4(r3)
/* 80009980 000055E0  98 C3 00 01 */	stb r6, 1(r3)
/* 80009984 000055E4  98 C3 00 02 */	stb r6, 2(r3)
/* 80009988 000055E8  98 C3 00 05 */	stb r6, 5(r3)
/* 8000998C 000055EC  98 C3 00 06 */	stb r6, 6(r3)
/* 80009990 000055F0  98 03 00 08 */	stb r0, 8(r3)
/* 80009994 000055F4  98 C3 00 07 */	stb r6, 7(r3)
/* 80009998 000055F8  D0 03 00 18 */	stfs f0, 0x18(r3)
/* 8000999C 000055FC  98 C3 00 0D */	stb r6, 0xd(r3)
/* 800099A0 00005600  98 C3 00 0E */	stb r6, 0xe(r3)
/* 800099A4 00005604  90 C3 00 10 */	stw r6, 0x10(r3)
/* 800099A8 00005608  98 C3 00 14 */	stb r6, 0x14(r3)
/* 800099AC 0000560C  98 C3 00 0C */	stb r6, 0xc(r3)
/* 800099B0 00005610  90 C3 00 D0 */	stw r6, 0xd0(r3)
/* 800099B4 00005614  38 63 00 20 */	addi r3, r3, 0x20
/* 800099B8 00005618  4B FF A7 4D */	bl memset
/* 800099BC 0000561C  38 7F 00 60 */	addi r3, r31, 0x60
/* 800099C0 00005620  38 80 00 00 */	li r4, 0
/* 800099C4 00005624  38 A0 00 40 */	li r5, 0x40
/* 800099C8 00005628  4B FF A7 3D */	bl memset
/* 800099CC 0000562C  7F E3 FB 78 */	mr r3, r31
/* 800099D0 00005630  48 00 03 F9 */	bl func_80009DC8
/* 800099D4 00005634  7F E3 FB 78 */	mr r3, r31
/* 800099D8 00005638  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 800099DC 0000563C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 800099E0 00005640  7C 08 03 A6 */	mtlr r0
/* 800099E4 00005644  38 21 00 10 */	addi r1, r1, 0x10
/* 800099E8 00005648  4E 80 00 20 */	blr

.global func_800099EC
func_800099EC:
/* 800099EC 0000564C  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 800099F0 00005650  7C 08 02 A6 */	mflr r0
/* 800099F4 00005654  90 01 00 54 */	stw r0, 0x54(r1)
/* 800099F8 00005658  80 6D A4 C8 */	lwz r3, lbl_8063F788-_SDA_BASE_(r13)
/* 800099FC 0000565C  80 03 00 70 */	lwz r0, 0x70(r3)
/* 80009A00 00005660  2C 00 00 01 */	cmpwi r0, 1
/* 80009A04 00005664  40 82 00 0C */	bne lbl_80009A10
/* 80009A08 00005668  C0 02 80 2C */	lfs f0, lbl_8064062C-_SDA2_BASE_(r2)
/* 80009A0C 0000566C  D0 0D 80 1C */	stfs f0, lbl_8063D2DC-_SDA_BASE_(r13)
lbl_80009A10:
/* 80009A10 00005670  2C 04 00 00 */	cmpwi r4, 0
/* 80009A14 00005674  41 82 00 28 */	beq lbl_80009A3C
/* 80009A18 00005678  C0 8D 80 1C */	lfs f4, lbl_8063D2DC-_SDA_BASE_(r13)
/* 80009A1C 0000567C  38 61 00 08 */	addi r3, r1, 8
/* 80009A20 00005680  C0 2D 80 18 */	lfs f1, lbl_8063D2D8-_SDA_BASE_(r13)
/* 80009A24 00005684  FC 60 20 50 */	fneg f3, f4
/* 80009A28 00005688  C0 A2 80 30 */	lfs f5, lbl_80640630-_SDA2_BASE_(r2)
/* 80009A2C 0000568C  FC 40 08 50 */	fneg f2, f1
/* 80009A30 00005690  C0 C2 80 34 */	lfs f6, lbl_80640634-_SDA2_BASE_(r2)
/* 80009A34 00005694  48 27 31 F9 */	bl C_MTXOrtho
/* 80009A38 00005698  48 00 00 24 */	b lbl_80009A5C
lbl_80009A3C:
/* 80009A3C 0000569C  C0 22 80 38 */	lfs f1, lbl_80640638-_SDA2_BASE_(r2)
/* 80009A40 000056A0  38 61 00 08 */	addi r3, r1, 8
/* 80009A44 000056A4  C0 42 80 3C */	lfs f2, lbl_8064063C-_SDA2_BASE_(r2)
/* 80009A48 000056A8  C0 62 80 40 */	lfs f3, lbl_80640640-_SDA2_BASE_(r2)
/* 80009A4C 000056AC  C0 82 80 44 */	lfs f4, lbl_80640644-_SDA2_BASE_(r2)
/* 80009A50 000056B0  C0 A2 80 30 */	lfs f5, lbl_80640630-_SDA2_BASE_(r2)
/* 80009A54 000056B4  C0 C2 80 34 */	lfs f6, lbl_80640634-_SDA2_BASE_(r2)
/* 80009A58 000056B8  48 27 31 D5 */	bl C_MTXOrtho
lbl_80009A5C:
/* 80009A5C 000056BC  38 61 00 08 */	addi r3, r1, 8
/* 80009A60 000056C0  38 80 00 01 */	li r4, 1
/* 80009A64 000056C4  48 27 CF 75 */	bl GXSetProjection
/* 80009A68 000056C8  80 01 00 54 */	lwz r0, 0x54(r1)
/* 80009A6C 000056CC  7C 08 03 A6 */	mtlr r0
/* 80009A70 000056D0  38 21 00 50 */	addi r1, r1, 0x50
/* 80009A74 000056D4  4E 80 00 20 */	blr

.global func_80009A78
func_80009A78:
/* 80009A78 000056D8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80009A7C 000056DC  7C 08 02 A6 */	mflr r0
/* 80009A80 000056E0  90 01 00 14 */	stw r0, 0x14(r1)
/* 80009A84 000056E4  48 27 62 01 */	bl GXClearVtxDesc
/* 80009A88 000056E8  38 60 00 04 */	li r3, 4
/* 80009A8C 000056EC  38 80 00 09 */	li r4, 9
/* 80009A90 000056F0  38 A0 00 00 */	li r5, 0
/* 80009A94 000056F4  38 C0 00 04 */	li r6, 4
/* 80009A98 000056F8  38 E0 00 00 */	li r7, 0
/* 80009A9C 000056FC  48 27 62 1D */	bl GXSetVtxAttrFmt
/* 80009AA0 00005700  38 60 00 04 */	li r3, 4
/* 80009AA4 00005704  38 80 00 0B */	li r4, 0xb
/* 80009AA8 00005708  38 A0 00 00 */	li r5, 0
/* 80009AAC 0000570C  38 C0 00 01 */	li r6, 1
/* 80009AB0 00005710  38 E0 00 00 */	li r7, 0
/* 80009AB4 00005714  48 27 62 05 */	bl GXSetVtxAttrFmt
/* 80009AB8 00005718  38 60 00 09 */	li r3, 9
/* 80009ABC 0000571C  38 80 00 01 */	li r4, 1
/* 80009AC0 00005720  48 27 59 35 */	bl GXSetVtxDesc
/* 80009AC4 00005724  38 60 00 0B */	li r3, 0xb
/* 80009AC8 00005728  38 80 00 01 */	li r4, 1
/* 80009ACC 0000572C  48 27 59 29 */	bl GXSetVtxDesc
/* 80009AD0 00005730  38 60 00 01 */	li r3, 1
/* 80009AD4 00005734  48 27 8A 75 */	bl GXSetNumChans
/* 80009AD8 00005738  38 60 00 00 */	li r3, 0
/* 80009ADC 0000573C  48 27 6B 19 */	bl GXSetNumTexGens
/* 80009AE0 00005740  38 60 00 01 */	li r3, 1
/* 80009AE4 00005744  48 27 A6 B9 */	bl GXSetNumTevStages
/* 80009AE8 00005748  38 60 00 00 */	li r3, 0
/* 80009AEC 0000574C  38 80 00 FF */	li r4, 0xff
/* 80009AF0 00005750  38 A0 00 FF */	li r5, 0xff
/* 80009AF4 00005754  38 C0 00 04 */	li r6, 4
/* 80009AF8 00005758  48 27 A5 49 */	bl GXSetTevOrder
/* 80009AFC 0000575C  38 60 00 00 */	li r3, 0
/* 80009B00 00005760  38 80 00 04 */	li r4, 4
/* 80009B04 00005764  48 27 A0 3D */	bl GXSetTevOp
/* 80009B08 00005768  38 60 00 00 */	li r3, 0
/* 80009B0C 0000576C  38 80 00 00 */	li r4, 0
/* 80009B10 00005770  38 A0 00 00 */	li r5, 0
/* 80009B14 00005774  38 C0 00 00 */	li r6, 0
/* 80009B18 00005778  48 27 AB 85 */	bl GXSetBlendMode
/* 80009B1C 0000577C  38 60 00 01 */	li r3, 1
/* 80009B20 00005780  38 80 00 03 */	li r4, 3
/* 80009B24 00005784  38 A0 00 01 */	li r5, 1
/* 80009B28 00005788  48 27 AC 1D */	bl GXSetZMode
/* 80009B2C 0000578C  38 60 00 03 */	li r3, 3
/* 80009B30 00005790  48 27 D0 01 */	bl GXSetCurrentMtx
/* 80009B34 00005794  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80009B38 00005798  7C 08 03 A6 */	mtlr r0
/* 80009B3C 0000579C  38 21 00 10 */	addi r1, r1, 0x10
/* 80009B40 000057A0  4E 80 00 20 */	blr

.global func_80009B44
func_80009B44:
/* 80009B44 000057A4  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 80009B48 000057A8  7C 08 02 A6 */	mflr r0
/* 80009B4C 000057AC  90 01 00 44 */	stw r0, 0x44(r1)
/* 80009B50 000057B0  93 E1 00 3C */	stw r31, 0x3c(r1)
/* 80009B54 000057B4  7C 9F 23 78 */	mr r31, r4
/* 80009B58 000057B8  93 C1 00 38 */	stw r30, 0x38(r1)
/* 80009B5C 000057BC  7C 7E 1B 78 */	mr r30, r3
/* 80009B60 000057C0  48 27 61 25 */	bl GXClearVtxDesc
/* 80009B64 000057C4  38 60 00 05 */	li r3, 5
/* 80009B68 000057C8  38 80 00 09 */	li r4, 9
/* 80009B6C 000057CC  38 A0 00 00 */	li r5, 0
/* 80009B70 000057D0  38 C0 00 03 */	li r6, 3
/* 80009B74 000057D4  38 E0 00 00 */	li r7, 0
/* 80009B78 000057D8  48 27 61 41 */	bl GXSetVtxAttrFmt
/* 80009B7C 000057DC  38 60 00 05 */	li r3, 5
/* 80009B80 000057E0  38 80 00 0D */	li r4, 0xd
/* 80009B84 000057E4  38 A0 00 01 */	li r5, 1
/* 80009B88 000057E8  38 C0 00 03 */	li r6, 3
/* 80009B8C 000057EC  38 E0 00 00 */	li r7, 0
/* 80009B90 000057F0  48 27 61 29 */	bl GXSetVtxAttrFmt
/* 80009B94 000057F4  38 60 00 09 */	li r3, 9
/* 80009B98 000057F8  38 80 00 01 */	li r4, 1
/* 80009B9C 000057FC  48 27 58 59 */	bl GXSetVtxDesc
/* 80009BA0 00005800  38 60 00 0D */	li r3, 0xd
/* 80009BA4 00005804  38 80 00 01 */	li r4, 1
/* 80009BA8 00005808  48 27 58 4D */	bl GXSetVtxDesc
/* 80009BAC 0000580C  38 60 00 01 */	li r3, 1
/* 80009BB0 00005810  48 27 89 99 */	bl GXSetNumChans
/* 80009BB4 00005814  38 60 00 04 */	li r3, 4
/* 80009BB8 00005818  38 80 00 00 */	li r4, 0
/* 80009BBC 0000581C  38 A0 00 01 */	li r5, 1
/* 80009BC0 00005820  38 C0 00 01 */	li r6, 1
/* 80009BC4 00005824  38 E0 00 00 */	li r7, 0
/* 80009BC8 00005828  39 00 00 00 */	li r8, 0
/* 80009BCC 0000582C  39 20 00 02 */	li r9, 2
/* 80009BD0 00005830  48 27 89 9D */	bl GXSetChanCtrl
/* 80009BD4 00005834  38 60 00 01 */	li r3, 1
/* 80009BD8 00005838  48 27 6A 1D */	bl GXSetNumTexGens
/* 80009BDC 0000583C  38 60 00 00 */	li r3, 0
/* 80009BE0 00005840  38 80 00 01 */	li r4, 1
/* 80009BE4 00005844  38 A0 00 04 */	li r5, 4
/* 80009BE8 00005848  38 C0 00 3C */	li r6, 0x3c
/* 80009BEC 0000584C  38 E0 00 00 */	li r7, 0
/* 80009BF0 00005850  39 00 00 7D */	li r8, 0x7d
/* 80009BF4 00005854  48 27 67 D9 */	bl GXSetTexCoordGen2
/* 80009BF8 00005858  38 60 00 01 */	li r3, 1
/* 80009BFC 0000585C  48 27 A5 A1 */	bl GXSetNumTevStages
/* 80009C00 00005860  88 C2 80 48 */	lbz r6, lbl_80640648-_SDA2_BASE_(r2)
/* 80009C04 00005864  38 81 00 0C */	addi r4, r1, 0xc
/* 80009C08 00005868  88 A2 80 49 */	lbz r5, lbl_80640649-_SDA2_BASE_(r2)
/* 80009C0C 0000586C  38 60 00 01 */	li r3, 1
/* 80009C10 00005870  88 02 80 4A */	lbz r0, lbl_8064064A-_SDA2_BASE_(r2)
/* 80009C14 00005874  98 C1 00 08 */	stb r6, 8(r1)
/* 80009C18 00005878  98 A1 00 09 */	stb r5, 9(r1)
/* 80009C1C 0000587C  98 01 00 0A */	stb r0, 0xa(r1)
/* 80009C20 00005880  9B E1 00 0B */	stb r31, 0xb(r1)
/* 80009C24 00005884  80 01 00 08 */	lwz r0, 8(r1)
/* 80009C28 00005888  90 01 00 0C */	stw r0, 0xc(r1)
/* 80009C2C 0000588C  48 27 A0 D9 */	bl GXSetTevColor
/* 80009C30 00005890  38 60 00 00 */	li r3, 0
/* 80009C34 00005894  38 80 00 00 */	li r4, 0
/* 80009C38 00005898  38 A0 00 00 */	li r5, 0
/* 80009C3C 0000589C  38 C0 00 FF */	li r6, 0xff
/* 80009C40 000058A0  48 27 A4 01 */	bl GXSetTevOrder
/* 80009C44 000058A4  38 60 00 00 */	li r3, 0
/* 80009C48 000058A8  38 80 00 0F */	li r4, 0xf
/* 80009C4C 000058AC  38 A0 00 0F */	li r5, 0xf
/* 80009C50 000058B0  38 C0 00 0F */	li r6, 0xf
/* 80009C54 000058B4  38 E0 00 08 */	li r7, 8
/* 80009C58 000058B8  48 27 9F 7D */	bl GXSetTevColorIn
/* 80009C5C 000058BC  38 60 00 00 */	li r3, 0
/* 80009C60 000058C0  38 80 00 00 */	li r4, 0
/* 80009C64 000058C4  38 A0 00 00 */	li r5, 0
/* 80009C68 000058C8  38 C0 00 00 */	li r6, 0
/* 80009C6C 000058CC  38 E0 00 01 */	li r7, 1
/* 80009C70 000058D0  39 00 00 00 */	li r8, 0
/* 80009C74 000058D4  48 27 9F E1 */	bl GXSetTevColorOp
/* 80009C78 000058D8  38 60 00 00 */	li r3, 0
/* 80009C7C 000058DC  38 80 00 07 */	li r4, 7
/* 80009C80 000058E0  38 A0 00 01 */	li r5, 1
/* 80009C84 000058E4  38 C0 00 04 */	li r6, 4
/* 80009C88 000058E8  38 E0 00 07 */	li r7, 7
/* 80009C8C 000058EC  48 27 9F 89 */	bl GXSetTevAlphaIn
/* 80009C90 000058F0  38 60 00 00 */	li r3, 0
/* 80009C94 000058F4  38 80 00 00 */	li r4, 0
/* 80009C98 000058F8  38 A0 00 00 */	li r5, 0
/* 80009C9C 000058FC  38 C0 00 00 */	li r6, 0
/* 80009CA0 00005900  38 E0 00 01 */	li r7, 1
/* 80009CA4 00005904  39 00 00 00 */	li r8, 0
/* 80009CA8 00005908  48 27 A0 05 */	bl GXSetTevAlphaOp
/* 80009CAC 0000590C  38 60 00 01 */	li r3, 1
/* 80009CB0 00005910  38 80 00 04 */	li r4, 4
/* 80009CB4 00005914  38 A0 00 05 */	li r5, 5
/* 80009CB8 00005918  38 C0 00 00 */	li r6, 0
/* 80009CBC 0000591C  48 27 A9 E1 */	bl GXSetBlendMode
/* 80009CC0 00005920  38 60 00 00 */	li r3, 0
/* 80009CC4 00005924  38 80 00 03 */	li r4, 3
/* 80009CC8 00005928  38 A0 00 00 */	li r5, 0
/* 80009CCC 0000592C  48 27 AA 79 */	bl GXSetZMode
/* 80009CD0 00005930  38 60 00 03 */	li r3, 3
/* 80009CD4 00005934  48 27 CE 5D */	bl GXSetCurrentMtx
/* 80009CD8 00005938  80 7E 00 1C */	lwz r3, 0x1c(r30)
/* 80009CDC 0000593C  38 81 00 10 */	addi r4, r1, 0x10
/* 80009CE0 00005940  38 A0 00 00 */	li r5, 0
/* 80009CE4 00005944  48 29 1D 69 */	bl TPLGetGXTexObjFromPalette
/* 80009CE8 00005948  38 61 00 10 */	addi r3, r1, 0x10
/* 80009CEC 0000594C  38 80 00 00 */	li r4, 0
/* 80009CF0 00005950  48 27 8E D5 */	bl GXLoadTexObj
/* 80009CF4 00005954  38 60 00 80 */	li r3, 0x80
/* 80009CF8 00005958  38 80 00 05 */	li r4, 5
/* 80009CFC 0000595C  38 A0 00 04 */	li r5, 4
/* 80009D00 00005960  48 27 74 49 */	bl GXBegin
/* 80009D04 00005964  3C E0 CC 01 */	lis r7, 0xCC008000@ha
/* 80009D08 00005968  39 00 FF 00 */	li r8, -256
/* 80009D0C 0000596C  B1 07 80 00 */	sth r8, 0xCC008000@l(r7)
/* 80009D10 00005970  38 C0 00 84 */	li r6, 0x84
/* 80009D14 00005974  38 A0 00 00 */	li r5, 0
/* 80009D18 00005978  38 80 00 01 */	li r4, 1
/* 80009D1C 0000597C  B0 C7 80 00 */	sth r6, -0x8000(r7)
/* 80009D20 00005980  38 60 00 BC */	li r3, 0xbc
/* 80009D24 00005984  38 00 FF 38 */	li r0, -200
/* 80009D28 00005988  B0 A7 80 00 */	sth r5, -0x8000(r7)
/* 80009D2C 0000598C  B0 87 80 00 */	sth r4, -0x8000(r7)
/* 80009D30 00005990  B1 07 80 00 */	sth r8, -0x8000(r7)
/* 80009D34 00005994  B0 67 80 00 */	sth r3, -0x8000(r7)
/* 80009D38 00005998  B0 A7 80 00 */	sth r5, -0x8000(r7)
/* 80009D3C 0000599C  B0 A7 80 00 */	sth r5, -0x8000(r7)
/* 80009D40 000059A0  B0 07 80 00 */	sth r0, -0x8000(r7)
/* 80009D44 000059A4  B0 67 80 00 */	sth r3, -0x8000(r7)
/* 80009D48 000059A8  B0 87 80 00 */	sth r4, -0x8000(r7)
/* 80009D4C 000059AC  B0 A7 80 00 */	sth r5, -0x8000(r7)
/* 80009D50 000059B0  B0 07 80 00 */	sth r0, -0x8000(r7)
/* 80009D54 000059B4  B0 C7 80 00 */	sth r6, -0x8000(r7)
/* 80009D58 000059B8  B0 87 80 00 */	sth r4, -0x8000(r7)
/* 80009D5C 000059BC  B0 87 80 00 */	sth r4, -0x8000(r7)
/* 80009D60 000059C0  80 01 00 44 */	lwz r0, 0x44(r1)
/* 80009D64 000059C4  83 E1 00 3C */	lwz r31, 0x3c(r1)
/* 80009D68 000059C8  83 C1 00 38 */	lwz r30, 0x38(r1)
/* 80009D6C 000059CC  7C 08 03 A6 */	mtlr r0
/* 80009D70 000059D0  38 21 00 40 */	addi r1, r1, 0x40
/* 80009D74 000059D4  4E 80 00 20 */	blr
lbl_80009D78:
/* 80009D78 000059D8  88 83 00 03 */	lbz r4, 3(r3)
/* 80009D7C 000059DC  2C 04 00 00 */	cmpwi r4, 0
/* 80009D80 000059E0  41 82 00 0C */	beq lbl_80009D8C
/* 80009D84 000059E4  38 00 00 00 */	li r0, 0
/* 80009D88 000059E8  98 03 00 03 */	stb r0, 3(r3)
lbl_80009D8C:
/* 80009D8C 000059EC  7C 83 23 78 */	mr r3, r4
/* 80009D90 000059F0  4E 80 00 20 */	blr
lbl_80009D94:
/* 80009D94 000059F4  88 83 00 03 */	lbz r4, 3(r3)
/* 80009D98 000059F8  2C 04 00 00 */	cmpwi r4, 0
/* 80009D9C 000059FC  40 82 00 0C */	bne lbl_80009DA8
/* 80009DA0 00005A00  38 00 00 01 */	li r0, 1
/* 80009DA4 00005A04  98 03 00 03 */	stb r0, 3(r3)
lbl_80009DA8:
/* 80009DA8 00005A08  7C 83 23 78 */	mr r3, r4
/* 80009DAC 00005A0C  4E 80 00 20 */	blr
lbl_80009DB0:
/* 80009DB0 00005A10  80 6D 96 70 */	lwz r3, lbl_8063E930-_SDA_BASE_(r13)
/* 80009DB4 00005A14  2C 03 00 00 */	cmpwi r3, 0
/* 80009DB8 00005A18  41 82 00 08 */	beq lbl_80009DC0
/* 80009DBC 00005A1C  98 83 00 0D */	stb r4, 0xd(r3)
lbl_80009DC0:
/* 80009DC0 00005A20  38 60 00 00 */	li r3, 0
/* 80009DC4 00005A24  4E 80 00 20 */	blr

.global func_80009DC8
func_80009DC8:
/* 80009DC8 00005A28  C0 02 80 30 */	lfs f0, lbl_80640630-_SDA2_BASE_(r2)
/* 80009DCC 00005A2C  38 00 00 00 */	li r0, 0
/* 80009DD0 00005A30  90 03 00 6C */	stw r0, 0x6c(r3)
/* 80009DD4 00005A34  D0 03 00 64 */	stfs f0, 0x64(r3)
/* 80009DD8 00005A38  D0 03 00 68 */	stfs f0, 0x68(r3)
/* 80009DDC 00005A3C  D0 03 00 74 */	stfs f0, 0x74(r3)
/* 80009DE0 00005A40  D0 03 00 78 */	stfs f0, 0x78(r3)
/* 80009DE4 00005A44  90 03 00 7C */	stw r0, 0x7c(r3)
/* 80009DE8 00005A48  D0 03 00 84 */	stfs f0, 0x84(r3)
/* 80009DEC 00005A4C  D0 03 00 88 */	stfs f0, 0x88(r3)
/* 80009DF0 00005A50  90 03 00 8C */	stw r0, 0x8c(r3)
/* 80009DF4 00005A54  D0 03 00 94 */	stfs f0, 0x94(r3)
/* 80009DF8 00005A58  D0 03 00 98 */	stfs f0, 0x98(r3)
/* 80009DFC 00005A5C  90 03 00 9C */	stw r0, 0x9c(r3)
/* 80009E00 00005A60  4E 80 00 20 */	blr

.global func_80009E04
func_80009E04:
/* 80009E04 00005A64  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 80009E08 00005A68  7C 08 02 A6 */	mflr r0
/* 80009E0C 00005A6C  3C A0 80 40 */	lis r5, lbl_803FB718@ha
/* 80009E10 00005A70  90 01 00 44 */	stw r0, 0x44(r1)
/* 80009E14 00005A74  93 E1 00 3C */	stw r31, 0x3c(r1)
/* 80009E18 00005A78  93 C1 00 38 */	stw r30, 0x38(r1)
/* 80009E1C 00005A7C  3F C0 80 40 */	lis r30, lbl_80405DA0@ha
/* 80009E20 00005A80  3B DE 5D A0 */	addi r30, r30, lbl_80405DA0@l
/* 80009E24 00005A84  93 A1 00 34 */	stw r29, 0x34(r1)
/* 80009E28 00005A88  7C 9D 23 78 */	mr r29, r4
/* 80009E2C 00005A8C  38 85 B7 18 */	addi r4, r5, lbl_803FB718@l
/* 80009E30 00005A90  93 81 00 30 */	stw r28, 0x30(r1)
/* 80009E34 00005A94  7C 7C 1B 78 */	mr r28, r3
/* 80009E38 00005A98  38 61 00 08 */	addi r3, r1, 8
/* 80009E3C 00005A9C  48 1C 44 95 */	bl strcpy
/* 80009E40 00005AA0  48 2E 26 09 */	bl SCGetLanguage
/* 80009E44 00005AA4  54 60 06 3E */	clrlwi r0, r3, 0x18
/* 80009E48 00005AA8  28 00 00 06 */	cmplwi r0, 6
/* 80009E4C 00005AAC  90 1D 00 1C */	stw r0, 0x1c(r29)
/* 80009E50 00005AB0  41 81 00 8C */	bgt lbl_80009EDC
/* 80009E54 00005AB4  3C 60 80 40 */	lis r3, lbl_80405E64@ha
/* 80009E58 00005AB8  54 00 10 3A */	slwi r0, r0, 2
/* 80009E5C 00005ABC  38 63 5E 64 */	addi r3, r3, lbl_80405E64@l
/* 80009E60 00005AC0  7C 63 00 2E */	lwzx r3, r3, r0
/* 80009E64 00005AC4  7C 69 03 A6 */	mtctr r3
/* 80009E68 00005AC8  4E 80 04 20 */	bctr

.global lbl_80009E6C
lbl_80009E6C:
/* 80009E6C 00005ACC  38 61 00 08 */	addi r3, r1, 8
/* 80009E70 00005AD0  38 9E 00 00 */	addi r4, r30, 0
/* 80009E74 00005AD4  48 1C 45 61 */	bl strcat
/* 80009E78 00005AD8  48 00 00 78 */	b lbl_80009EF0

.global lbl_80009E7C
lbl_80009E7C:
/* 80009E7C 00005ADC  38 61 00 08 */	addi r3, r1, 8
/* 80009E80 00005AE0  38 9E 00 10 */	addi r4, r30, 0x10
/* 80009E84 00005AE4  48 1C 45 51 */	bl strcat
/* 80009E88 00005AE8  48 00 00 68 */	b lbl_80009EF0

.global lbl_80009E8C
lbl_80009E8C:
/* 80009E8C 00005AEC  38 61 00 08 */	addi r3, r1, 8
/* 80009E90 00005AF0  38 9E 00 24 */	addi r4, r30, 0x24
/* 80009E94 00005AF4  48 1C 45 41 */	bl strcat
/* 80009E98 00005AF8  48 00 00 58 */	b lbl_80009EF0

.global lbl_80009E9C
lbl_80009E9C:
/* 80009E9C 00005AFC  38 61 00 08 */	addi r3, r1, 8
/* 80009EA0 00005B00  38 9E 00 38 */	addi r4, r30, 0x38
/* 80009EA4 00005B04  48 1C 45 31 */	bl strcat
/* 80009EA8 00005B08  48 00 00 48 */	b lbl_80009EF0

.global lbl_80009EAC
lbl_80009EAC:
/* 80009EAC 00005B0C  38 61 00 08 */	addi r3, r1, 8
/* 80009EB0 00005B10  38 9E 00 4C */	addi r4, r30, 0x4c
/* 80009EB4 00005B14  48 1C 45 21 */	bl strcat
/* 80009EB8 00005B18  48 00 00 38 */	b lbl_80009EF0

.global lbl_80009EBC
lbl_80009EBC:
/* 80009EBC 00005B1C  38 61 00 08 */	addi r3, r1, 8
/* 80009EC0 00005B20  38 9E 00 60 */	addi r4, r30, 0x60
/* 80009EC4 00005B24  48 1C 45 11 */	bl strcat
/* 80009EC8 00005B28  48 00 00 28 */	b lbl_80009EF0

.global lbl_80009ECC
lbl_80009ECC:
/* 80009ECC 00005B2C  38 61 00 08 */	addi r3, r1, 8
/* 80009ED0 00005B30  38 9E 00 74 */	addi r4, r30, 0x74
/* 80009ED4 00005B34  48 1C 45 01 */	bl strcat
/* 80009ED8 00005B38  48 00 00 18 */	b lbl_80009EF0

lbl_80009EDC:
/* 80009EDC 00005B3C  38 00 00 00 */	li r0, 0
/* 80009EE0 00005B40  38 61 00 08 */	addi r3, r1, 8
/* 80009EE4 00005B44  90 1D 00 1C */	stw r0, 0x1c(r29)
/* 80009EE8 00005B48  38 9E 00 00 */	addi r4, r30, 0
/* 80009EEC 00005B4C  48 1C 44 E9 */	bl strcat
lbl_80009EF0:
/* 80009EF0 00005B50  80 8D 96 2C */	lwz r4, lbl_8063E8EC-_SDA_BASE_(r13)
/* 80009EF4 00005B54  38 61 00 08 */	addi r3, r1, 8
/* 80009EF8 00005B58  38 A0 00 00 */	li r5, 0
/* 80009EFC 00005B5C  48 1D 2D B1 */	bl func_801DCCAC
/* 80009F00 00005B60  90 7D 00 00 */	stw r3, 0(r29)
/* 80009F04 00005B64  3F E0 80 40 */	lis r31, lbl_803FB718@ha
/* 80009F08 00005B68  38 61 00 08 */	addi r3, r1, 8
/* 80009F0C 00005B6C  38 9F B7 18 */	addi r4, r31, lbl_803FB718@l
/* 80009F10 00005B70  48 1C 43 C1 */	bl strcpy
/* 80009F14 00005B74  38 61 00 08 */	addi r3, r1, 8
/* 80009F18 00005B78  38 9E 00 88 */	addi r4, r30, 0x88
/* 80009F1C 00005B7C  48 1C 44 B9 */	bl strcat
/* 80009F20 00005B80  80 8D 96 2C */	lwz r4, lbl_8063E8EC-_SDA_BASE_(r13)
/* 80009F24 00005B84  38 61 00 08 */	addi r3, r1, 8
/* 80009F28 00005B88  38 A0 00 00 */	li r5, 0
/* 80009F2C 00005B8C  48 1D 2D 81 */	bl func_801DCCAC
/* 80009F30 00005B90  90 7D 00 04 */	stw r3, 4(r29)
/* 80009F34 00005B94  38 61 00 08 */	addi r3, r1, 8
/* 80009F38 00005B98  38 9F B7 18 */	addi r4, r31, -18664
/* 80009F3C 00005B9C  48 1C 43 95 */	bl strcpy
/* 80009F40 00005BA0  38 61 00 08 */	addi r3, r1, 8
/* 80009F44 00005BA4  38 9E 00 98 */	addi r4, r30, 0x98
/* 80009F48 00005BA8  48 1C 44 8D */	bl strcat
/* 80009F4C 00005BAC  80 8D 96 2C */	lwz r4, lbl_8063E8EC-_SDA_BASE_(r13)
/* 80009F50 00005BB0  38 61 00 08 */	addi r3, r1, 8
/* 80009F54 00005BB4  38 A0 00 00 */	li r5, 0
/* 80009F58 00005BB8  48 1D 2D 55 */	bl func_801DCCAC
/* 80009F5C 00005BBC  90 7D 00 08 */	stw r3, 8(r29)
/* 80009F60 00005BC0  38 61 00 08 */	addi r3, r1, 8
/* 80009F64 00005BC4  38 9F B7 18 */	addi r4, r31, -18664
/* 80009F68 00005BC8  48 1C 43 69 */	bl strcpy
/* 80009F6C 00005BCC  38 61 00 08 */	addi r3, r1, 8
/* 80009F70 00005BD0  38 9E 00 A4 */	addi r4, r30, 0xa4
/* 80009F74 00005BD4  48 1C 44 61 */	bl strcat
/* 80009F78 00005BD8  80 8D 96 2C */	lwz r4, lbl_8063E8EC-_SDA_BASE_(r13)
/* 80009F7C 00005BDC  38 61 00 08 */	addi r3, r1, 8
/* 80009F80 00005BE0  38 A0 00 00 */	li r5, 0
/* 80009F84 00005BE4  48 1D 2D 29 */	bl func_801DCCAC
/* 80009F88 00005BE8  C0 02 80 28 */	lfs f0, lbl_80640628-_SDA2_BASE_(r2)
/* 80009F8C 00005BEC  3C A0 80 01 */	lis r5, lbl_80009DB0@ha
/* 80009F90 00005BF0  38 00 00 00 */	li r0, 0
/* 80009F94 00005BF4  C0 22 80 4C */	lfs f1, lbl_8064064C-_SDA2_BASE_(r2)
/* 80009F98 00005BF8  38 A5 9D B0 */	addi r5, r5, lbl_80009DB0@l
/* 80009F9C 00005BFC  90 7D 00 0C */	stw r3, 0xc(r29)
/* 80009FA0 00005C00  38 61 00 08 */	addi r3, r1, 8
/* 80009FA4 00005C04  38 9F B7 18 */	addi r4, r31, -18664
/* 80009FA8 00005C08  90 BD 00 14 */	stw r5, 0x14(r29)
/* 80009FAC 00005C0C  90 1D 00 18 */	stw r0, 0x18(r29)
/* 80009FB0 00005C10  90 1D 00 20 */	stw r0, 0x20(r29)
/* 80009FB4 00005C14  D0 3D 00 34 */	stfs f1, 0x34(r29)
/* 80009FB8 00005C18  D0 1D 00 38 */	stfs f0, 0x38(r29)
/* 80009FBC 00005C1C  D0 1D 00 30 */	stfs f0, 0x30(r29)
/* 80009FC0 00005C20  48 1C 43 11 */	bl strcpy
/* 80009FC4 00005C24  38 61 00 08 */	addi r3, r1, 8
/* 80009FC8 00005C28  38 9E 00 B0 */	addi r4, r30, 0xb0
/* 80009FCC 00005C2C  48 1C 44 09 */	bl strcat
/* 80009FD0 00005C30  80 8D 96 2C */	lwz r4, lbl_8063E8EC-_SDA_BASE_(r13)
/* 80009FD4 00005C34  38 61 00 08 */	addi r3, r1, 8
/* 80009FD8 00005C38  38 A0 00 00 */	li r5, 0
/* 80009FDC 00005C3C  48 1D 2C D1 */	bl func_801DCCAC
/* 80009FE0 00005C40  90 7C 00 1C */	stw r3, 0x1c(r28)
/* 80009FE4 00005C44  48 29 19 35 */	bl TPLBind
/* 80009FE8 00005C48  80 01 00 44 */	lwz r0, 0x44(r1)
/* 80009FEC 00005C4C  83 E1 00 3C */	lwz r31, 0x3c(r1)
/* 80009FF0 00005C50  83 C1 00 38 */	lwz r30, 0x38(r1)
/* 80009FF4 00005C54  83 A1 00 34 */	lwz r29, 0x34(r1)
/* 80009FF8 00005C58  83 81 00 30 */	lwz r28, 0x30(r1)
/* 80009FFC 00005C5C  7C 08 03 A6 */	mtlr r0
/* 8000A000 00005C60  38 21 00 40 */	addi r1, r1, 0x40
/* 8000A004 00005C64  4E 80 00 20 */	blr

.global func_8000A008
func_8000A008:
/* 8000A008 00005C68  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8000A00C 00005C6C  7C 08 02 A6 */	mflr r0
/* 8000A010 00005C70  3C 80 80 40 */	lis r4, lbl_803FB728@ha
/* 8000A014 00005C74  90 01 00 34 */	stw r0, 0x34(r1)
/* 8000A018 00005C78  38 61 00 08 */	addi r3, r1, 8
/* 8000A01C 00005C7C  38 84 B7 28 */	addi r4, r4, lbl_803FB728@l
/* 8000A020 00005C80  48 1C 42 B1 */	bl strcpy
/* 8000A024 00005C84  3C 80 80 40 */	lis r4, lbl_80405E80@ha
/* 8000A028 00005C88  38 61 00 08 */	addi r3, r1, 8
/* 8000A02C 00005C8C  38 84 5E 80 */	addi r4, r4, lbl_80405E80@l
/* 8000A030 00005C90  48 1C 43 A5 */	bl strcat
/* 8000A034 00005C94  80 6D 96 2C */	lwz r3, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8000A038 00005C98  3C 80 00 08 */	lis r4, 8
/* 8000A03C 00005C9C  48 1D 0C C5 */	bl func_801DAD00
/* 8000A040 00005CA0  7C 64 1B 78 */	mr r4, r3
/* 8000A044 00005CA4  38 61 00 08 */	addi r3, r1, 8
/* 8000A048 00005CA8  3C A0 00 08 */	lis r5, 8
/* 8000A04C 00005CAC  48 39 03 BD */	bl HBMCreateMemorySound
/* 8000A050 00005CB0  80 01 00 34 */	lwz r0, 0x34(r1)
/* 8000A054 00005CB4  7C 08 03 A6 */	mtlr r0
/* 8000A058 00005CB8  38 21 00 30 */	addi r1, r1, 0x30
/* 8000A05C 00005CBC  4E 80 00 20 */	blr

.global func_8000A060
func_8000A060:
/* 8000A060 00005CC0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8000A064 00005CC4  7C 08 02 A6 */	mflr r0
/* 8000A068 00005CC8  90 01 00 14 */	stw r0, 0x14(r1)
/* 8000A06C 00005CCC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8000A070 00005CD0  7C 7F 1B 78 */	mr r31, r3
/* 8000A074 00005CD4  80 8D A3 D8 */	lwz r4, render_context_ptr-_SDA_BASE_(r13)
/* 8000A078 00005CD8  88 04 00 7A */	lbz r0, 0x7a(r4)
/* 8000A07C 00005CDC  2C 00 00 00 */	cmpwi r0, 0
/* 8000A080 00005CE0  41 82 00 0C */	beq lbl_8000A08C
/* 8000A084 00005CE4  38 00 00 01 */	li r0, 1
/* 8000A088 00005CE8  98 03 00 02 */	stb r0, 2(r3)
lbl_8000A08C:
/* 8000A08C 00005CEC  7F E3 FB 78 */	mr r3, r31
/* 8000A090 00005CF0  38 9F 00 20 */	addi r4, r31, 0x20
/* 8000A094 00005CF4  4B FF FD 71 */	bl func_80009E04
/* 8000A098 00005CF8  80 8D 96 2C */	lwz r4, lbl_8063E8EC-_SDA_BASE_(r13)
/* 8000A09C 00005CFC  38 7F 00 A0 */	addi r3, r31, 0xa0
/* 8000A0A0 00005D00  38 A0 00 20 */	li r5, 0x20
/* 8000A0A4 00005D04  48 28 D6 A1 */	bl MEMInitAllocatorForExpHeap
/* 8000A0A8 00005D08  38 80 00 00 */	li r4, 0
/* 8000A0AC 00005D0C  38 1F 00 A0 */	addi r0, r31, 0xa0
/* 8000A0B0 00005D10  90 9F 00 30 */	stw r4, 0x30(r31)
/* 8000A0B4 00005D14  38 7F 00 20 */	addi r3, r31, 0x20
/* 8000A0B8 00005D18  90 1F 00 5C */	stw r0, 0x5c(r31)
/* 8000A0BC 00005D1C  90 9F 00 4C */	stw r4, 0x4c(r31)
/* 8000A0C0 00005D20  48 38 FF C1 */	bl HBMCreate
/* 8000A0C4 00005D24  7F E3 FB 78 */	mr r3, r31
/* 8000A0C8 00005D28  4B FF FF 41 */	bl func_8000A008
/* 8000A0CC 00005D2C  88 7F 00 02 */	lbz r3, 2(r31)
/* 8000A0D0 00005D30  48 39 03 19 */	bl HBMSetAdjustFlag
/* 8000A0D4 00005D34  38 00 00 01 */	li r0, 1
/* 8000A0D8 00005D38  98 1F 00 00 */	stb r0, 0(r31)
/* 8000A0DC 00005D3C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8000A0E0 00005D40  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8000A0E4 00005D44  7C 08 03 A6 */	mtlr r0
/* 8000A0E8 00005D48  38 21 00 10 */	addi r1, r1, 0x10
/* 8000A0EC 00005D4C  4E 80 00 20 */	blr
lbl_8000A0F0:
/* 8000A0F0 00005D50  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8000A0F4 00005D54  7C 08 02 A6 */	mflr r0
/* 8000A0F8 00005D58  90 01 00 34 */	stw r0, 0x34(r1)
/* 8000A0FC 00005D5C  39 61 00 30 */	addi r11, r1, 0x30
/* 8000A100 00005D60  48 1B D0 1D */	bl _savegpr_24
/* 8000A104 00005D64  88 03 00 00 */	lbz r0, 0(r3)
/* 8000A108 00005D68  7C 7E 1B 78 */	mr r30, r3
/* 8000A10C 00005D6C  2C 00 00 00 */	cmpwi r0, 0
/* 8000A110 00005D70  41 82 04 24 */	beq lbl_8000A534
/* 8000A114 00005D74  80 0D 96 74 */	lwz r0, lbl_8063E934-_SDA_BASE_(r13)
/* 8000A118 00005D78  2C 00 00 00 */	cmpwi r0, 0
/* 8000A11C 00005D7C  40 82 00 0C */	bne lbl_8000A128
/* 8000A120 00005D80  48 26 91 25 */	bl OSGetResetButtonState
/* 8000A124 00005D84  90 6D 96 74 */	stw r3, lbl_8063E934-_SDA_BASE_(r13)
lbl_8000A128:
/* 8000A128 00005D88  48 23 A6 A5 */	bl func_802447CC
/* 8000A12C 00005D8C  7C 7F 1B 78 */	mr r31, r3
/* 8000A130 00005D90  7F DA F3 78 */	mr r26, r30
/* 8000A134 00005D94  7F D9 F3 78 */	mr r25, r30
/* 8000A138 00005D98  3B 7E 00 C0 */	addi r27, r30, 0xc0
/* 8000A13C 00005D9C  3B 00 00 00 */	li r24, 0
/* 8000A140 00005DA0  3B 80 00 00 */	li r28, 0
/* 8000A144 00005DA4  48 00 00 5C */	b lbl_8000A1A0
lbl_8000A148:
/* 8000A148 00005DA8  7F 03 C3 78 */	mr r3, r24
/* 8000A14C 00005DAC  48 23 A6 51 */	bl func_8024479C
/* 8000A150 00005DB0  2C 03 00 00 */	cmpwi r3, 0
/* 8000A154 00005DB4  7C 7D 1B 78 */	mr r29, r3
/* 8000A158 00005DB8  41 82 00 38 */	beq lbl_8000A190
/* 8000A15C 00005DBC  7F 03 C3 78 */	mr r3, r24
/* 8000A160 00005DC0  7F 64 DB 78 */	mr r4, r27
/* 8000A164 00005DC4  48 29 EC 15 */	bl WPADProbe
/* 8000A168 00005DC8  2C 03 00 00 */	cmpwi r3, 0
/* 8000A16C 00005DCC  90 7A 00 B0 */	stw r3, 0xb0(r26)
/* 8000A170 00005DD0  41 82 00 10 */	beq lbl_8000A180
/* 8000A174 00005DD4  38 03 00 03 */	addi r0, r3, 3
/* 8000A178 00005DD8  28 00 00 01 */	cmplwi r0, 1
/* 8000A17C 00005DDC  41 81 00 10 */	bgt lbl_8000A18C
lbl_8000A180:
/* 8000A180 00005DE0  38 1D 00 44 */	addi r0, r29, 0x44
/* 8000A184 00005DE4  90 19 00 60 */	stw r0, 0x60(r25)
/* 8000A188 00005DE8  48 00 00 08 */	b lbl_8000A190
lbl_8000A18C:
/* 8000A18C 00005DEC  93 99 00 60 */	stw r28, 0x60(r25)
lbl_8000A190:
/* 8000A190 00005DF0  3B 7B 00 04 */	addi r27, r27, 4
/* 8000A194 00005DF4  3B 5A 00 04 */	addi r26, r26, 4
/* 8000A198 00005DF8  3B 39 00 10 */	addi r25, r25, 0x10
/* 8000A19C 00005DFC  3B 18 00 01 */	addi r24, r24, 1
lbl_8000A1A0:
/* 8000A1A0 00005E00  7C 18 F8 00 */	cmpw r24, r31
/* 8000A1A4 00005E04  41 80 FF A4 */	blt lbl_8000A148
/* 8000A1A8 00005E08  88 1E 00 07 */	lbz r0, 7(r30)
/* 8000A1AC 00005E0C  2C 00 00 00 */	cmpwi r0, 0
/* 8000A1B0 00005E10  41 82 00 10 */	beq lbl_8000A1C0
/* 8000A1B4 00005E14  38 00 00 00 */	li r0, 0
/* 8000A1B8 00005E18  98 1E 00 07 */	stb r0, 7(r30)
/* 8000A1BC 00005E1C  48 39 02 39 */	bl HBMStartBlackOut
lbl_8000A1C0:
/* 8000A1C0 00005E20  88 1E 00 01 */	lbz r0, 1(r30)
/* 8000A1C4 00005E24  2C 00 00 00 */	cmpwi r0, 0
/* 8000A1C8 00005E28  41 82 01 F8 */	beq lbl_8000A3C0
/* 8000A1CC 00005E2C  7F DD F3 78 */	mr r29, r30
/* 8000A1D0 00005E30  3B 20 00 00 */	li r25, 0
/* 8000A1D4 00005E34  3B 80 00 00 */	li r28, 0
/* 8000A1D8 00005E38  48 00 00 50 */	b lbl_8000A228
lbl_8000A1DC:
/* 8000A1DC 00005E3C  7F 23 CB 78 */	mr r3, r25
/* 8000A1E0 00005E40  48 23 A5 BD */	bl func_8024479C
/* 8000A1E4 00005E44  2C 03 00 00 */	cmpwi r3, 0
/* 8000A1E8 00005E48  41 82 00 38 */	beq lbl_8000A220
/* 8000A1EC 00005E4C  80 03 00 3C */	lwz r0, 0x3c(r3)
/* 8000A1F0 00005E50  2C 00 00 00 */	cmpwi r0, 0
/* 8000A1F4 00005E54  40 82 00 2C */	bne lbl_8000A220
/* 8000A1F8 00005E58  80 03 00 40 */	lwz r0, 0x40(r3)
/* 8000A1FC 00005E5C  2C 00 00 00 */	cmpwi r0, 0
/* 8000A200 00005E60  40 81 00 20 */	ble lbl_8000A220
/* 8000A204 00005E64  80 1D 00 60 */	lwz r0, 0x60(r29)
/* 8000A208 00005E68  2C 00 00 00 */	cmpwi r0, 0
/* 8000A20C 00005E6C  41 82 00 14 */	beq lbl_8000A220
/* 8000A210 00005E70  80 1D 00 6C */	lwz r0, 0x6c(r29)
/* 8000A214 00005E74  28 00 00 02 */	cmplwi r0, 2
/* 8000A218 00005E78  40 82 00 08 */	bne lbl_8000A220
/* 8000A21C 00005E7C  93 9D 00 6C */	stw r28, 0x6c(r29)
lbl_8000A220:
/* 8000A220 00005E80  3B BD 00 10 */	addi r29, r29, 0x10
/* 8000A224 00005E84  3B 39 00 01 */	addi r25, r25, 1
lbl_8000A228:
/* 8000A228 00005E88  7C 19 F8 00 */	cmpw r25, r31
/* 8000A22C 00005E8C  41 80 FF B0 */	blt lbl_8000A1DC
/* 8000A230 00005E90  38 7E 00 60 */	addi r3, r30, 0x60
/* 8000A234 00005E94  48 39 00 25 */	bl HBMCalc
/* 8000A238 00005E98  2C 03 00 00 */	cmpwi r3, 0
/* 8000A23C 00005E9C  41 80 01 7C */	blt lbl_8000A3B8
/* 8000A240 00005EA0  48 39 01 89 */	bl HBMGetSelectBtnNum
/* 8000A244 00005EA4  7C 78 1B 78 */	mr r24, r3
/* 8000A248 00005EA8  48 39 01 B5 */	bl HBMIsReassignedControllers
/* 8000A24C 00005EAC  80 1E 00 D0 */	lwz r0, 0xd0(r30)
/* 8000A250 00005EB0  2C 00 00 00 */	cmpwi r0, 0
/* 8000A254 00005EB4  41 82 00 2C */	beq lbl_8000A280
/* 8000A258 00005EB8  48 39 01 A5 */	bl HBMIsReassignedControllers
/* 8000A25C 00005EBC  7C 03 00 D0 */	neg r0, r3
/* 8000A260 00005EC0  7F 04 C3 78 */	mr r4, r24
/* 8000A264 00005EC4  7C 00 1B 78 */	or r0, r0, r3
/* 8000A268 00005EC8  80 7E 00 D0 */	lwz r3, 0xd0(r30)
/* 8000A26C 00005ECC  54 05 0F FE */	srwi r5, r0, 0x1f
/* 8000A270 00005ED0  81 83 00 00 */	lwz r12, 0(r3)
/* 8000A274 00005ED4  81 8C 00 0C */	lwz r12, 0xc(r12)
/* 8000A278 00005ED8  7D 89 03 A6 */	mtctr r12
/* 8000A27C 00005EDC  4E 80 04 21 */	bctrl
lbl_8000A280:
/* 8000A280 00005EE0  2C 18 00 03 */	cmpwi r24, 3
/* 8000A284 00005EE4  40 80 00 88 */	bge lbl_8000A30C
/* 8000A288 00005EE8  2C 18 00 01 */	cmpwi r24, 1
/* 8000A28C 00005EEC  40 80 00 08 */	bge lbl_8000A294
/* 8000A290 00005EF0  48 00 00 7C */	b lbl_8000A30C
lbl_8000A294:
/* 8000A294 00005EF4  48 39 02 59 */	bl HBMDeleteSound
/* 8000A298 00005EF8  88 1E 00 06 */	lbz r0, 6(r30)
/* 8000A29C 00005EFC  2C 00 00 00 */	cmpwi r0, 0
/* 8000A2A0 00005F00  41 82 00 14 */	beq lbl_8000A2B4
/* 8000A2A4 00005F04  38 00 00 00 */	li r0, 0
/* 8000A2A8 00005F08  98 1E 00 01 */	stb r0, 1(r30)
/* 8000A2AC 00005F0C  4B FF D0 8D */	bl func_80007338
/* 8000A2B0 00005F10  48 00 00 EC */	b lbl_8000A39C
lbl_8000A2B4:
/* 8000A2B4 00005F14  48 38 FE F5 */	bl HBMDelete
/* 8000A2B8 00005F18  48 23 A6 05 */	bl func_802448BC
/* 8000A2BC 00005F1C  48 1D 2B 7D */	bl func_801DCE38
/* 8000A2C0 00005F20  38 60 00 00 */	li r3, 0
/* 8000A2C4 00005F24  38 80 00 00 */	li r4, 0
/* 8000A2C8 00005F28  38 A0 00 00 */	li r5, 0
/* 8000A2CC 00005F2C  38 C0 00 00 */	li r6, 0
/* 8000A2D0 00005F30  48 26 83 79 */	bl OSSetIdleFunction
/* 8000A2D4 00005F34  48 35 E1 F1 */	bl GetInstance__Q44nw4r3snd6detail9AxManagerFv
/* 8000A2D8 00005F38  48 35 F1 6D */	bl PrepareReset__Q44nw4r3snd6detail9AxManagerFv
/* 8000A2DC 00005F3C  48 37 20 B9 */	bl WaitForResetReady__Q34nw4r3snd11SoundSystemFv
/* 8000A2E0 00005F40  38 60 00 00 */	li r3, 0
/* 8000A2E4 00005F44  48 28 48 21 */	bl AIRegisterDMACallback
/* 8000A2E8 00005F48  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8000A2EC 00005F4C  48 22 6D D5 */	bl func_802310C0
/* 8000A2F0 00005F50  2C 18 00 01 */	cmpwi r24, 1
/* 8000A2F4 00005F54  40 82 00 0C */	bne lbl_8000A300
/* 8000A2F8 00005F58  48 26 5F 59 */	bl OSReturnToMenu
/* 8000A2FC 00005F5C  48 00 00 A0 */	b lbl_8000A39C
lbl_8000A300:
/* 8000A300 00005F60  38 60 00 00 */	li r3, 0
/* 8000A304 00005F64  48 26 5E C1 */	bl OSRestart
/* 8000A308 00005F68  48 00 00 94 */	b lbl_8000A39C
lbl_8000A30C:
/* 8000A30C 00005F6C  3B 20 00 00 */	li r25, 0
/* 8000A310 00005F70  48 00 00 1C */	b lbl_8000A32C
lbl_8000A314:
/* 8000A314 00005F74  7F 23 CB 78 */	mr r3, r25
/* 8000A318 00005F78  48 23 A4 85 */	bl func_8024479C
/* 8000A31C 00005F7C  2C 03 00 00 */	cmpwi r3, 0
/* 8000A320 00005F80  41 82 00 08 */	beq lbl_8000A328
/* 8000A324 00005F84  48 23 9A 95 */	bl func_80243DB8
lbl_8000A328:
/* 8000A328 00005F88  3B 39 00 01 */	addi r25, r25, 1
lbl_8000A32C:
/* 8000A32C 00005F8C  7C 19 F8 00 */	cmpw r25, r31
/* 8000A330 00005F90  41 80 FF E4 */	blt lbl_8000A314
/* 8000A334 00005F94  4B FF CD 3D */	bl func_80007070
/* 8000A338 00005F98  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8000A33C 00005F9C  38 00 00 00 */	li r0, 0
/* 8000A340 00005FA0  98 03 00 82 */	stb r0, 0x82(r3)
/* 8000A344 00005FA4  48 00 15 81 */	bl func_8000B8C4
/* 8000A348 00005FA8  C0 42 80 54 */	lfs f2, lbl_80640654-_SDA2_BASE_(r2)
/* 8000A34C 00005FAC  C0 2D 86 C8 */	lfs f1, lbl_8063D988-_SDA_BASE_(r13)
/* 8000A350 00005FB0  C0 02 80 50 */	lfs f0, lbl_80640650-_SDA2_BASE_(r2)
/* 8000A354 00005FB4  EC 22 00 72 */	fmuls f1, f2, f1
/* 8000A358 00005FB8  EC 00 08 2A */	fadds f0, f0, f1
/* 8000A35C 00005FBC  FC 00 00 1E */	fctiwz f0, f0
/* 8000A360 00005FC0  D8 01 00 08 */	stfd f0, 8(r1)
/* 8000A364 00005FC4  80 61 00 0C */	lwz r3, 0xc(r1)
/* 8000A368 00005FC8  48 00 11 D1 */	bl func_8000B538
/* 8000A36C 00005FCC  C0 3E 00 18 */	lfs f1, 0x18(r30)
/* 8000A370 00005FD0  48 00 13 D9 */	bl func_8000B748
/* 8000A374 00005FD4  48 24 F5 C1 */	bl func_80259934
/* 8000A378 00005FD8  48 1D 2A 4D */	bl func_801DCDC4
/* 8000A37C 00005FDC  2C 03 00 00 */	cmpwi r3, 0
/* 8000A380 00005FE0  41 82 00 08 */	beq lbl_8000A388
/* 8000A384 00005FE4  4B FF CD 0D */	bl func_80007090
lbl_8000A388:
/* 8000A388 00005FE8  3C 60 80 00 */	lis r3, func_80007090@ha
/* 8000A38C 00005FEC  3C 80 80 00 */	lis r4, lbl_80007164@ha
/* 8000A390 00005FF0  38 63 70 90 */	addi r3, r3, func_80007090@l
/* 8000A394 00005FF4  38 84 71 64 */	addi r4, r4, lbl_80007164@l
/* 8000A398 00005FF8  48 1D 2A 21 */	bl func_801DCDB8
lbl_8000A39C:
/* 8000A39C 00005FFC  88 1E 00 08 */	lbz r0, 8(r30)
/* 8000A3A0 00006000  2C 00 00 00 */	cmpwi r0, 0
/* 8000A3A4 00006004  40 82 00 0C */	bne lbl_8000A3B0
/* 8000A3A8 00006008  80 6D A4 F0 */	lwz r3, lbl_8063F7B0-_SDA_BASE_(r13)
/* 8000A3AC 0000600C  48 23 A3 9D */	bl func_80244748
lbl_8000A3B0:
/* 8000A3B0 00006010  38 00 00 00 */	li r0, 0
/* 8000A3B4 00006014  98 1E 00 01 */	stb r0, 1(r30)
lbl_8000A3B8:
/* 8000A3B8 00006018  48 39 01 69 */	bl HBMUpdateSound
/* 8000A3BC 0000601C  48 00 01 78 */	b lbl_8000A534
lbl_8000A3C0:
/* 8000A3C0 00006020  3B 20 00 00 */	li r25, 0
/* 8000A3C4 00006024  3B 80 00 00 */	li r28, 0
/* 8000A3C8 00006028  3B A0 00 01 */	li r29, 1
/* 8000A3CC 0000602C  48 00 01 60 */	b lbl_8000A52C
lbl_8000A3D0:
/* 8000A3D0 00006030  7F 23 CB 78 */	mr r3, r25
/* 8000A3D4 00006034  48 23 A3 C9 */	bl func_8024479C
/* 8000A3D8 00006038  2C 03 00 00 */	cmpwi r3, 0
/* 8000A3DC 0000603C  41 82 01 4C */	beq lbl_8000A528
/* 8000A3E0 00006040  80 03 00 20 */	lwz r0, 0x20(r3)
/* 8000A3E4 00006044  80 63 00 1C */	lwz r3, 0x1c(r3)
/* 8000A3E8 00006048  28 00 80 00 */	cmplwi r0, 0x8000
/* 8000A3EC 0000604C  40 82 01 3C */	bne lbl_8000A528
/* 8000A3F0 00006050  28 03 80 00 */	cmplwi r3, 0x8000
/* 8000A3F4 00006054  40 82 01 34 */	bne lbl_8000A528
/* 8000A3F8 00006058  48 15 87 79 */	bl func_80162B70
/* 8000A3FC 0000605C  2C 03 00 00 */	cmpwi r3, 0
/* 8000A400 00006060  40 82 00 58 */	bne lbl_8000A458
/* 8000A404 00006064  38 60 02 61 */	li r3, 0x261
/* 8000A408 00006068  48 15 86 89 */	bl func_80162A90
/* 8000A40C 0000606C  28 03 00 03 */	cmplwi r3, 3
/* 8000A410 00006070  41 82 00 48 */	beq lbl_8000A458
/* 8000A414 00006074  38 60 02 61 */	li r3, 0x261
/* 8000A418 00006078  48 15 86 79 */	bl func_80162A90
/* 8000A41C 0000607C  28 03 00 04 */	cmplwi r3, 4
/* 8000A420 00006080  41 82 00 38 */	beq lbl_8000A458
/* 8000A424 00006084  88 1E 00 03 */	lbz r0, 3(r30)
/* 8000A428 00006088  2C 00 00 00 */	cmpwi r0, 0
/* 8000A42C 0000608C  40 82 00 2C */	bne lbl_8000A458
/* 8000A430 00006090  88 1E 00 04 */	lbz r0, 4(r30)
/* 8000A434 00006094  2C 00 00 00 */	cmpwi r0, 0
/* 8000A438 00006098  40 82 00 20 */	bne lbl_8000A458
/* 8000A43C 0000609C  80 6D A3 80 */	lwz r3, lbl_8063F640-_SDA_BASE_(r13)
/* 8000A440 000060A0  88 03 00 14 */	lbz r0, 0x14(r3)
/* 8000A444 000060A4  2C 00 00 00 */	cmpwi r0, 0
/* 8000A448 000060A8  40 82 00 10 */	bne lbl_8000A458
/* 8000A44C 000060AC  80 0D 96 44 */	lwz r0, lbl_8063E904-_SDA_BASE_(r13)
/* 8000A450 000060B0  2C 00 00 00 */	cmpwi r0, 0
/* 8000A454 000060B4  41 82 00 24 */	beq lbl_8000A478
lbl_8000A458:
/* 8000A458 000060B8  88 1E 00 0C */	lbz r0, 0xc(r30)
/* 8000A45C 000060BC  2C 00 00 00 */	cmpwi r0, 0
/* 8000A460 000060C0  40 82 00 C8 */	bne lbl_8000A528
/* 8000A464 000060C4  9B 9E 00 0E */	stb r28, 0xe(r30)
/* 8000A468 000060C8  48 26 83 69 */	bl OSGetTick
/* 8000A46C 000060CC  90 7E 00 10 */	stw r3, 0x10(r30)
/* 8000A470 000060D0  9B BE 00 0C */	stb r29, 0xc(r30)
/* 8000A474 000060D4  48 00 00 B4 */	b lbl_8000A528
lbl_8000A478:
/* 8000A478 000060D8  57 20 20 36 */	slwi r0, r25, 4
/* 8000A47C 000060DC  7C 9E 02 14 */	add r4, r30, r0
/* 8000A480 000060E0  80 64 00 60 */	lwz r3, 0x60(r4)
/* 8000A484 000060E4  88 03 00 5C */	lbz r0, 0x5c(r3)
/* 8000A488 000060E8  90 04 00 6C */	stw r0, 0x6c(r4)
/* 8000A48C 000060EC  80 7E 00 D0 */	lwz r3, 0xd0(r30)
/* 8000A490 000060F0  2C 03 00 00 */	cmpwi r3, 0
/* 8000A494 000060F4  41 82 00 18 */	beq lbl_8000A4AC
/* 8000A498 000060F8  81 83 00 00 */	lwz r12, 0(r3)
/* 8000A49C 000060FC  7F 24 CB 78 */	mr r4, r25
/* 8000A4A0 00006100  81 8C 00 08 */	lwz r12, 8(r12)
/* 8000A4A4 00006104  7D 89 03 A6 */	mtctr r12
/* 8000A4A8 00006108  4E 80 04 21 */	bctrl
lbl_8000A4AC:
/* 8000A4AC 0000610C  48 00 13 9D */	bl func_8000B848
/* 8000A4B0 00006110  D0 3E 00 18 */	stfs f1, 0x18(r30)
/* 8000A4B4 00006114  C0 22 80 30 */	lfs f1, lbl_80640630-_SDA2_BASE_(r2)
/* 8000A4B8 00006118  48 00 12 91 */	bl func_8000B748
/* 8000A4BC 0000611C  C0 42 80 54 */	lfs f2, lbl_80640654-_SDA2_BASE_(r2)
/* 8000A4C0 00006120  C0 2D 86 C8 */	lfs f1, lbl_8063D988-_SDA_BASE_(r13)
/* 8000A4C4 00006124  C0 02 80 50 */	lfs f0, lbl_80640650-_SDA2_BASE_(r2)
/* 8000A4C8 00006128  EC 22 00 72 */	fmuls f1, f2, f1
/* 8000A4CC 0000612C  EC 00 08 2A */	fadds f0, f0, f1
/* 8000A4D0 00006130  FC 00 00 1E */	fctiwz f0, f0
/* 8000A4D4 00006134  D8 01 00 08 */	stfd f0, 8(r1)
/* 8000A4D8 00006138  80 61 00 0C */	lwz r3, 0xc(r1)
/* 8000A4DC 0000613C  48 00 10 25 */	bl func_8000B500
/* 8000A4E0 00006140  48 00 13 81 */	bl func_8000B860
/* 8000A4E4 00006144  48 24 F4 4D */	bl func_80259930
/* 8000A4E8 00006148  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8000A4EC 0000614C  3B E0 00 01 */	li r31, 1
/* 8000A4F0 00006150  9B E3 00 82 */	stb r31, 0x82(r3)
/* 8000A4F4 00006154  4B FF CB 69 */	bl func_8000705C
/* 8000A4F8 00006158  38 60 00 00 */	li r3, 0
/* 8000A4FC 0000615C  48 23 A2 A1 */	bl func_8024479C
/* 8000A500 00006160  88 03 00 00 */	lbz r0, 0(r3)
/* 8000A504 00006164  98 1E 00 08 */	stb r0, 8(r30)
/* 8000A508 00006168  80 6D A4 F0 */	lwz r3, lbl_8063F7B0-_SDA_BASE_(r13)
/* 8000A50C 0000616C  48 23 A1 F1 */	bl func_802446FC
/* 8000A510 00006170  48 38 FD 1D */	bl HBMInit
/* 8000A514 00006174  9B FE 00 01 */	stb r31, 1(r30)
/* 8000A518 00006178  38 60 00 00 */	li r3, 0
/* 8000A51C 0000617C  38 80 00 00 */	li r4, 0
/* 8000A520 00006180  48 1D 28 99 */	bl func_801DCDB8
/* 8000A524 00006184  48 00 00 10 */	b lbl_8000A534
lbl_8000A528:
/* 8000A528 00006188  3B 39 00 01 */	addi r25, r25, 1
lbl_8000A52C:
/* 8000A52C 0000618C  7C 19 F8 00 */	cmpw r25, r31
/* 8000A530 00006190  41 80 FE A0 */	blt lbl_8000A3D0
lbl_8000A534:
/* 8000A534 00006194  39 61 00 30 */	addi r11, r1, 0x30
/* 8000A538 00006198  48 1B CC 31 */	bl _restgpr_24
/* 8000A53C 0000619C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 8000A540 000061A0  7C 08 03 A6 */	mtlr r0
/* 8000A544 000061A4  38 21 00 30 */	addi r1, r1, 0x30
/* 8000A548 000061A8  4E 80 00 20 */	blr
lbl_8000A54C:
/* 8000A54C 000061AC  94 21 FF 80 */	stwu r1, -0x80(r1)
/* 8000A550 000061B0  7C 08 02 A6 */	mflr r0
/* 8000A554 000061B4  90 01 00 84 */	stw r0, 0x84(r1)
/* 8000A558 000061B8  93 E1 00 7C */	stw r31, 0x7c(r1)
/* 8000A55C 000061BC  7C 7F 1B 78 */	mr r31, r3
/* 8000A560 000061C0  88 03 00 00 */	lbz r0, 0(r3)
/* 8000A564 000061C4  2C 00 00 00 */	cmpwi r0, 0
/* 8000A568 000061C8  41 82 01 B0 */	beq lbl_8000A718
/* 8000A56C 000061CC  88 03 00 01 */	lbz r0, 1(r3)
/* 8000A570 000061D0  2C 00 00 00 */	cmpwi r0, 0
/* 8000A574 000061D4  41 82 00 40 */	beq lbl_8000A5B4
/* 8000A578 000061D8  88 83 00 02 */	lbz r4, 2(r3)
/* 8000A57C 000061DC  4B FF F4 71 */	bl func_800099EC
/* 8000A580 000061E0  38 60 00 00 */	li r3, 0
/* 8000A584 000061E4  48 27 6E 8D */	bl GXSetCullMode
/* 8000A588 000061E8  38 61 00 38 */	addi r3, r1, 0x38
/* 8000A58C 000061EC  48 27 19 A1 */	bl PSMTXIdentity
/* 8000A590 000061F0  38 61 00 38 */	addi r3, r1, 0x38
/* 8000A594 000061F4  38 80 00 03 */	li r4, 3
/* 8000A598 000061F8  48 27 C4 F1 */	bl GXLoadPosMtxImm
/* 8000A59C 000061FC  7F E3 FB 78 */	mr r3, r31
/* 8000A5A0 00006200  4B FF F4 D9 */	bl func_80009A78
/* 8000A5A4 00006204  48 38 FC F9 */	bl HBMDraw
/* 8000A5A8 00006208  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8000A5AC 0000620C  48 23 03 B1 */	bl func_8023A95C
/* 8000A5B0 00006210  48 00 01 68 */	b lbl_8000A718
lbl_8000A5B4:
/* 8000A5B4 00006214  88 03 00 0C */	lbz r0, 0xc(r3)
/* 8000A5B8 00006218  2C 00 00 00 */	cmpwi r0, 0
/* 8000A5BC 0000621C  41 82 01 5C */	beq lbl_8000A718
/* 8000A5C0 00006220  88 83 00 02 */	lbz r4, 2(r3)
/* 8000A5C4 00006224  4B FF F4 29 */	bl func_800099EC
/* 8000A5C8 00006228  38 60 00 00 */	li r3, 0
/* 8000A5CC 0000622C  48 27 6E 45 */	bl GXSetCullMode
/* 8000A5D0 00006230  38 61 00 08 */	addi r3, r1, 8
/* 8000A5D4 00006234  48 27 19 59 */	bl PSMTXIdentity
/* 8000A5D8 00006238  38 61 00 08 */	addi r3, r1, 8
/* 8000A5DC 0000623C  38 80 00 03 */	li r4, 3
/* 8000A5E0 00006240  48 27 C4 A9 */	bl GXLoadPosMtxImm
/* 8000A5E4 00006244  7F E3 FB 78 */	mr r3, r31
/* 8000A5E8 00006248  4B FF F4 91 */	bl func_80009A78
/* 8000A5EC 0000624C  48 26 81 E5 */	bl OSGetTick
/* 8000A5F0 00006250  3C 80 80 00 */	lis r4, 0x800000F8@ha
/* 8000A5F4 00006254  3C A0 10 62 */	lis r5, 0x10624DD3@ha
/* 8000A5F8 00006258  80 04 00 F8 */	lwz r0, 0x800000F8@l(r4)
/* 8000A5FC 0000625C  38 C5 4D D3 */	addi r6, r5, 0x10624DD3@l
/* 8000A600 00006260  3C 80 43 30 */	lis r4, 0x4330
/* 8000A604 00006264  80 FF 00 10 */	lwz r7, 0x10(r31)
/* 8000A608 00006268  54 05 F0 BE */	srwi r5, r0, 2
/* 8000A60C 0000626C  88 1F 00 0E */	lbz r0, 0xe(r31)
/* 8000A610 00006270  7C A6 28 16 */	mulhwu r5, r6, r5
/* 8000A614 00006274  7C C7 18 50 */	subf r6, r7, r3
/* 8000A618 00006278  7C 00 07 74 */	extsb r0, r0
/* 8000A61C 0000627C  90 81 00 68 */	stw r4, 0x68(r1)
/* 8000A620 00006280  C8 22 80 68 */	lfd f1, lbl_80640668-_SDA2_BASE_(r2)
/* 8000A624 00006284  2C 00 00 01 */	cmpwi r0, 1
/* 8000A628 00006288  54 A3 D1 BE */	srwi r3, r5, 6
/* 8000A62C 0000628C  7C 66 1B 96 */	divwu r3, r6, r3
/* 8000A630 00006290  90 61 00 6C */	stw r3, 0x6c(r1)
/* 8000A634 00006294  C8 01 00 68 */	lfd f0, 0x68(r1)
/* 8000A638 00006298  EC 60 08 28 */	fsubs f3, f0, f1
/* 8000A63C 0000629C  41 82 00 68 */	beq lbl_8000A6A4
/* 8000A640 000062A0  40 80 00 10 */	bge lbl_8000A650
/* 8000A644 000062A4  2C 00 00 00 */	cmpwi r0, 0
/* 8000A648 000062A8  40 80 00 14 */	bge lbl_8000A65C
/* 8000A64C 000062AC  48 00 00 B8 */	b lbl_8000A704
lbl_8000A650:
/* 8000A650 000062B0  2C 00 00 03 */	cmpwi r0, 3
/* 8000A654 000062B4  40 80 00 B0 */	bge lbl_8000A704
/* 8000A658 000062B8  48 00 00 70 */	b lbl_8000A6C8
lbl_8000A65C:
/* 8000A65C 000062BC  C0 42 80 5C */	lfs f2, lbl_8064065C-_SDA2_BASE_(r2)
/* 8000A660 000062C0  C0 02 80 58 */	lfs f0, lbl_80640658-_SDA2_BASE_(r2)
/* 8000A664 000062C4  EC 23 10 24 */	fdivs f1, f3, f2
/* 8000A668 000062C8  EC 00 00 72 */	fmuls f0, f0, f1
/* 8000A66C 000062CC  FC 03 10 40 */	fcmpo cr0, f3, f2
/* 8000A670 000062D0  FC 00 00 1E */	fctiwz f0, f0
/* 8000A674 000062D4  D8 01 00 68 */	stfd f0, 0x68(r1)
/* 8000A678 000062D8  80 01 00 6C */	lwz r0, 0x6c(r1)
/* 8000A67C 000062DC  98 1F 00 14 */	stb r0, 0x14(r31)
/* 8000A680 000062E0  4C 41 13 82 */	cror 2, 1, 2
/* 8000A684 000062E4  40 82 00 80 */	bne lbl_8000A704
/* 8000A688 000062E8  48 26 81 49 */	bl OSGetTick
/* 8000A68C 000062EC  38 80 00 01 */	li r4, 1
/* 8000A690 000062F0  38 00 00 FF */	li r0, 0xff
/* 8000A694 000062F4  90 7F 00 10 */	stw r3, 0x10(r31)
/* 8000A698 000062F8  98 9F 00 0E */	stb r4, 0xe(r31)
/* 8000A69C 000062FC  98 1F 00 14 */	stb r0, 0x14(r31)
/* 8000A6A0 00006300  48 00 00 64 */	b lbl_8000A704
lbl_8000A6A4:
/* 8000A6A4 00006304  C0 02 80 60 */	lfs f0, lbl_80640660-_SDA2_BASE_(r2)
/* 8000A6A8 00006308  FC 03 00 40 */	fcmpo cr0, f3, f0
/* 8000A6AC 0000630C  4C 41 13 82 */	cror 2, 1, 2
/* 8000A6B0 00006310  40 82 00 54 */	bne lbl_8000A704
/* 8000A6B4 00006314  48 26 81 1D */	bl OSGetTick
/* 8000A6B8 00006318  38 00 00 02 */	li r0, 2
/* 8000A6BC 0000631C  90 7F 00 10 */	stw r3, 0x10(r31)
/* 8000A6C0 00006320  98 1F 00 0E */	stb r0, 0xe(r31)
/* 8000A6C4 00006324  48 00 00 40 */	b lbl_8000A704
lbl_8000A6C8:
/* 8000A6C8 00006328  C0 42 80 5C */	lfs f2, lbl_8064065C-_SDA2_BASE_(r2)
/* 8000A6CC 0000632C  C0 02 80 58 */	lfs f0, lbl_80640658-_SDA2_BASE_(r2)
/* 8000A6D0 00006330  EC 22 18 28 */	fsubs f1, f2, f3
/* 8000A6D4 00006334  FC 03 10 40 */	fcmpo cr0, f3, f2
/* 8000A6D8 00006338  EC 21 10 24 */	fdivs f1, f1, f2
/* 8000A6DC 0000633C  EC 00 00 72 */	fmuls f0, f0, f1
/* 8000A6E0 00006340  FC 00 00 1E */	fctiwz f0, f0
/* 8000A6E4 00006344  D8 01 00 68 */	stfd f0, 0x68(r1)
/* 8000A6E8 00006348  80 01 00 6C */	lwz r0, 0x6c(r1)
/* 8000A6EC 0000634C  98 1F 00 14 */	stb r0, 0x14(r31)
/* 8000A6F0 00006350  4C 41 13 82 */	cror 2, 1, 2
/* 8000A6F4 00006354  40 82 00 10 */	bne lbl_8000A704
/* 8000A6F8 00006358  38 00 00 00 */	li r0, 0
/* 8000A6FC 0000635C  98 1F 00 14 */	stb r0, 0x14(r31)
/* 8000A700 00006360  98 1F 00 0C */	stb r0, 0xc(r31)
lbl_8000A704:
/* 8000A704 00006364  88 9F 00 14 */	lbz r4, 0x14(r31)
/* 8000A708 00006368  7F E3 FB 78 */	mr r3, r31
/* 8000A70C 0000636C  4B FF F4 39 */	bl func_80009B44
/* 8000A710 00006370  80 6D A3 D8 */	lwz r3, render_context_ptr-_SDA_BASE_(r13)
/* 8000A714 00006374  48 23 02 49 */	bl func_8023A95C
lbl_8000A718:
/* 8000A718 00006378  80 01 00 84 */	lwz r0, 0x84(r1)
/* 8000A71C 0000637C  83 E1 00 7C */	lwz r31, 0x7c(r1)
/* 8000A720 00006380  7C 08 03 A6 */	mtlr r0
/* 8000A724 00006384  38 21 00 80 */	addi r1, r1, 0x80
/* 8000A728 00006388  4E 80 00 20 */	blr

.global func_8000A72C
func_8000A72C:
/* 8000A72C 0000638C  90 83 00 D0 */	stw r4, 0xd0(r3)
/* 8000A730 00006390  4E 80 00 20 */	blr

.global func_8000A734
func_8000A734:
/* 8000A734 00006394  80 6D 96 70 */	lwz r3, lbl_8063E930-_SDA_BASE_(r13)
/* 8000A738 00006398  4E 80 00 20 */	blr

.global func_8000A73C
func_8000A73C:
/* 8000A73C 0000639C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8000A740 000063A0  7C 08 02 A6 */	mflr r0
/* 8000A744 000063A4  38 60 00 D4 */	li r3, 0xd4
/* 8000A748 000063A8  90 01 00 14 */	stw r0, 0x14(r1)
/* 8000A74C 000063AC  48 1D 02 E5 */	bl __nw__FUl
/* 8000A750 000063B0  2C 03 00 00 */	cmpwi r3, 0
/* 8000A754 000063B4  41 82 00 08 */	beq lbl_8000A75C
/* 8000A758 000063B8  4B FF F1 F5 */	bl func_8000994C
lbl_8000A75C:
/* 8000A75C 000063BC  2C 03 00 00 */	cmpwi r3, 0
/* 8000A760 000063C0  90 6D 96 70 */	stw r3, lbl_8063E930-_SDA_BASE_(r13)
/* 8000A764 000063C4  41 82 00 08 */	beq lbl_8000A76C
/* 8000A768 000063C8  4B FF F8 F9 */	bl func_8000A060
lbl_8000A76C:
/* 8000A76C 000063CC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8000A770 000063D0  7C 08 03 A6 */	mtlr r0
/* 8000A774 000063D4  38 21 00 10 */	addi r1, r1, 0x10
/* 8000A778 000063D8  4E 80 00 20 */	blr

.global lbl_8000A77C
lbl_8000A77C:
/* 8000A77C 000063DC  80 6D 96 70 */	lwz r3, lbl_8063E930-_SDA_BASE_(r13)
/* 8000A780 000063E0  2C 03 00 00 */	cmpwi r3, 0
/* 8000A784 000063E4  4D 82 00 20 */	beqlr
/* 8000A788 000063E8  4B FF F9 68 */	b lbl_8000A0F0
/* 8000A78C 000063EC  4E 80 00 20 */	blr

.global lbl_8000A790
lbl_8000A790:
/* 8000A790 000063F0  80 6D 96 70 */	lwz r3, lbl_8063E930-_SDA_BASE_(r13)
/* 8000A794 000063F4  2C 03 00 00 */	cmpwi r3, 0
/* 8000A798 000063F8  4D 82 00 20 */	beqlr
/* 8000A79C 000063FC  4B FF FD B0 */	b lbl_8000A54C
/* 8000A7A0 00006400  4E 80 00 20 */	blr

.global func_8000A7A4
func_8000A7A4:
/* 8000A7A4 00006404  38 A0 00 01 */	li r5, 1
/* 8000A7A8 00006408  38 6D 96 68 */	addi r3, r13, lbl_8063E928-_SDA_BASE_
/* 8000A7AC 0000640C  38 80 00 04 */	li r4, 4
/* 8000A7B0 00006410  38 00 00 00 */	li r0, 0
/* 8000A7B4 00006414  98 AD 96 68 */	stb r5, lbl_8063E928-_SDA_BASE_(r13)
/* 8000A7B8 00006418  B0 83 00 02 */	sth r4, 2(r3)
/* 8000A7BC 0000641C  98 03 00 04 */	stb r0, 4(r3)
/* 8000A7C0 00006420  4E 80 00 20 */	blr