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

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

.global func_8025F07C
func_8025F07C:
/* 8025F07C 0025ACDC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8025F080 0025ACE0  7C 08 02 A6 */	mflr r0
/* 8025F084 0025ACE4  90 01 00 24 */	stw r0, 0x24(r1)
/* 8025F088 0025ACE8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8025F08C 0025ACEC  3B E3 00 24 */	addi r31, r3, 0x24
/* 8025F090 0025ACF0  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8025F094 0025ACF4  3B C0 00 00 */	li r30, 0
/* 8025F098 0025ACF8  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8025F09C 0025ACFC  7C 7D 1B 78 */	mr r29, r3
lbl_8025F0A0:
/* 8025F0A0 0025AD00  7F E3 FB 78 */	mr r3, r31
/* 8025F0A4 0025AD04  48 00 19 3D */	bl func_802609E0
/* 8025F0A8 0025AD08  2C 03 00 00 */	cmpwi r3, 0
/* 8025F0AC 0025AD0C  40 82 00 10 */	bne lbl_8025F0BC
/* 8025F0B0 0025AD10  7F A3 EB 78 */	mr r3, r29
/* 8025F0B4 0025AD14  7F E4 FB 78 */	mr r4, r31
/* 8025F0B8 0025AD18  48 00 0E BD */	bl func_8025FF74
lbl_8025F0BC:
/* 8025F0BC 0025AD1C  3B DE 00 01 */	addi r30, r30, 1
/* 8025F0C0 0025AD20  3B FF 00 74 */	addi r31, r31, 0x74
/* 8025F0C4 0025AD24  2C 1E 00 20 */	cmpwi r30, 0x20
/* 8025F0C8 0025AD28  41 80 FF D8 */	blt lbl_8025F0A0
/* 8025F0CC 0025AD2C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8025F0D0 0025AD30  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8025F0D4 0025AD34  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8025F0D8 0025AD38  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8025F0DC 0025AD3C  7C 08 03 A6 */	mtlr r0
/* 8025F0E0 0025AD40  38 21 00 20 */	addi r1, r1, 0x20
/* 8025F0E4 0025AD44  4E 80 00 20 */	blr

.global func_8025F0E8
func_8025F0E8:
/* 8025F0E8 0025AD48  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8025F0EC 0025AD4C  7C 08 02 A6 */	mflr r0
/* 8025F0F0 0025AD50  90 01 00 14 */	stw r0, 0x14(r1)
/* 8025F0F4 0025AD54  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8025F0F8 0025AD58  3B E3 00 24 */	addi r31, r3, 0x24
/* 8025F0FC 0025AD5C  93 C1 00 08 */	stw r30, 8(r1)
/* 8025F100 0025AD60  3B C0 00 00 */	li r30, 0
lbl_8025F104:
/* 8025F104 0025AD64  7F E3 FB 78 */	mr r3, r31
/* 8025F108 0025AD68  48 00 19 CD */	bl func_80260AD4
/* 8025F10C 0025AD6C  3B DE 00 01 */	addi r30, r30, 1
/* 8025F110 0025AD70  3B FF 00 74 */	addi r31, r31, 0x74
/* 8025F114 0025AD74  2C 1E 00 20 */	cmpwi r30, 0x20
/* 8025F118 0025AD78  41 80 FF EC */	blt lbl_8025F104
/* 8025F11C 0025AD7C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8025F120 0025AD80  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8025F124 0025AD84  83 C1 00 08 */	lwz r30, 8(r1)
/* 8025F128 0025AD88  7C 08 03 A6 */	mtlr r0
/* 8025F12C 0025AD8C  38 21 00 10 */	addi r1, r1, 0x10
/* 8025F130 0025AD90  4E 80 00 20 */	blr

.global func_8025F134
func_8025F134:
/* 8025F134 0025AD94  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 8025F138 0025AD98  7C 08 02 A6 */	mflr r0
/* 8025F13C 0025AD9C  90 01 00 44 */	stw r0, 0x44(r1)
/* 8025F140 0025ADA0  39 61 00 40 */	addi r11, r1, 0x40
/* 8025F144 0025ADA4  4B F6 7F E5 */	bl _savegpr_27
/* 8025F148 0025ADA8  7C BC 2B 78 */	mr r28, r5
/* 8025F14C 0025ADAC  A0 A4 00 04 */	lhz r5, 4(r4)
/* 8025F150 0025ADB0  7C 9F 23 78 */	mr r31, r4
/* 8025F154 0025ADB4  7C 7B 1B 78 */	mr r27, r3
/* 8025F158 0025ADB8  38 80 00 01 */	li r4, 1
/* 8025F15C 0025ADBC  48 00 0A 09 */	bl func_8025FB64
/* 8025F160 0025ADC0  2C 03 00 00 */	cmpwi r3, 0
/* 8025F164 0025ADC4  7C 7E 1B 78 */	mr r30, r3
/* 8025F168 0025ADC8  41 82 01 60 */	beq lbl_8025F2C8
/* 8025F16C 0025ADCC  7F E4 FB 78 */	mr r4, r31
/* 8025F170 0025ADD0  48 00 1E 31 */	bl func_80260FA0
/* 8025F174 0025ADD4  2C 03 00 02 */	cmpwi r3, 2
/* 8025F178 0025ADD8  41 82 00 D8 */	beq lbl_8025F250
/* 8025F17C 0025ADDC  40 80 01 4C */	bge lbl_8025F2C8
/* 8025F180 0025ADE0  2C 03 00 00 */	cmpwi r3, 0
/* 8025F184 0025ADE4  41 82 00 0C */	beq lbl_8025F190
/* 8025F188 0025ADE8  48 00 01 40 */	b lbl_8025F2C8
/* 8025F18C 0025ADEC  48 00 01 3C */	b lbl_8025F2C8
lbl_8025F190:
/* 8025F190 0025ADF0  38 60 00 0C */	li r3, 0xc
/* 8025F194 0025ADF4  38 00 00 06 */	li r0, 6
/* 8025F198 0025ADF8  B0 61 00 08 */	sth r3, 8(r1)
/* 8025F19C 0025ADFC  7F 63 DB 78 */	mr r3, r27
/* 8025F1A0 0025AE00  7F 86 E3 78 */	mr r6, r28
/* 8025F1A4 0025AE04  38 81 00 08 */	addi r4, r1, 8
/* 8025F1A8 0025AE08  B0 01 00 0A */	sth r0, 0xa(r1)
/* 8025F1AC 0025AE0C  38 A0 00 06 */	li r5, 6
/* 8025F1B0 0025AE10  A0 1F 00 04 */	lhz r0, 4(r31)
/* 8025F1B4 0025AE14  B0 01 00 0C */	sth r0, 0xc(r1)
/* 8025F1B8 0025AE18  81 9B 00 00 */	lwz r12, 0(r27)
/* 8025F1BC 0025AE1C  81 8C 00 5C */	lwz r12, 0x5c(r12)
/* 8025F1C0 0025AE20  7D 89 03 A6 */	mtctr r12
/* 8025F1C4 0025AE24  4E 80 04 21 */	bctrl
/* 8025F1C8 0025AE28  7F C3 F3 78 */	mr r3, r30
/* 8025F1CC 0025AE2C  48 00 18 2D */	bl func_802609F8
/* 8025F1D0 0025AE30  54 60 07 39 */	rlwinm. r0, r3, 0, 0x1c, 0x1c
/* 8025F1D4 0025AE34  41 82 00 F4 */	beq lbl_8025F2C8
/* 8025F1D8 0025AE38  7F C3 F3 78 */	mr r3, r30
/* 8025F1DC 0025AE3C  48 00 1C AD */	bl func_80260E88
/* 8025F1E0 0025AE40  80 1B 0E F0 */	lwz r0, 0xef0(r27)
/* 8025F1E4 0025AE44  7C 7D 1B 78 */	mr r29, r3
/* 8025F1E8 0025AE48  2C 00 00 00 */	cmpwi r0, 0
/* 8025F1EC 0025AE4C  41 82 00 DC */	beq lbl_8025F2C8
/* 8025F1F0 0025AE50  7F C3 F3 78 */	mr r3, r30
/* 8025F1F4 0025AE54  48 00 1B D5 */	bl func_80260DC8
/* 8025F1F8 0025AE58  7C 7F 1B 78 */	mr r31, r3
/* 8025F1FC 0025AE5C  7F C3 F3 78 */	mr r3, r30
/* 8025F200 0025AE60  48 00 1B 49 */	bl func_80260D48
/* 8025F204 0025AE64  81 9B 0E F0 */	lwz r12, 0xef0(r27)
/* 8025F208 0025AE68  7C 65 1B 78 */	mr r5, r3
/* 8025F20C 0025AE6C  7F 83 E3 78 */	mr r3, r28
/* 8025F210 0025AE70  7F A4 EB 78 */	mr r4, r29
/* 8025F214 0025AE74  7F E6 FB 78 */	mr r6, r31
/* 8025F218 0025AE78  7D 89 03 A6 */	mtctr r12
/* 8025F21C 0025AE7C  4E 80 04 21 */	bctrl
/* 8025F220 0025AE80  2C 03 00 00 */	cmpwi r3, 0
/* 8025F224 0025AE84  41 82 00 1C */	beq lbl_8025F240
/* 8025F228 0025AE88  7F C3 F3 78 */	mr r3, r30
/* 8025F22C 0025AE8C  48 00 17 CD */	bl func_802609F8
/* 8025F230 0025AE90  54 60 07 FA */	rlwinm r0, r3, 0, 0x1f, 0x1d
/* 8025F234 0025AE94  7F C3 F3 78 */	mr r3, r30
/* 8025F238 0025AE98  54 04 06 3E */	clrlwi r4, r0, 0x18
/* 8025F23C 0025AE9C  48 00 17 B5 */	bl func_802609F0
lbl_8025F240:
/* 8025F240 0025AEA0  A0 9E 00 02 */	lhz r4, 2(r30)
/* 8025F244 0025AEA4  7F 63 DB 78 */	mr r3, r27
/* 8025F248 0025AEA8  48 00 0C C5 */	bl func_8025FF0C
/* 8025F24C 0025AEAC  48 00 00 7C */	b lbl_8025F2C8
lbl_8025F250:
/* 8025F250 0025AEB0  7F C3 F3 78 */	mr r3, r30
/* 8025F254 0025AEB4  48 00 1A 39 */	bl func_80260C8C
/* 8025F258 0025AEB8  2C 03 00 00 */	cmpwi r3, 0
/* 8025F25C 0025AEBC  41 82 00 6C */	beq lbl_8025F2C8
/* 8025F260 0025AEC0  81 9B 00 00 */	lwz r12, 0(r27)
/* 8025F264 0025AEC4  7F 63 DB 78 */	mr r3, r27
/* 8025F268 0025AEC8  81 8C 00 6C */	lwz r12, 0x6c(r12)
/* 8025F26C 0025AECC  7D 89 03 A6 */	mtctr r12
/* 8025F270 0025AED0  4E 80 04 21 */	bctrl
/* 8025F274 0025AED4  90 7E 00 30 */	stw r3, 0x30(r30)
/* 8025F278 0025AED8  38 60 00 04 */	li r3, 4
/* 8025F27C 0025AEDC  38 A0 00 10 */	li r5, 0x10
/* 8025F280 0025AEE0  38 00 00 00 */	li r0, 0
/* 8025F284 0025AEE4  B0 61 00 10 */	sth r3, 0x10(r1)
/* 8025F288 0025AEE8  7F 63 DB 78 */	mr r3, r27
/* 8025F28C 0025AEEC  7F 86 E3 78 */	mr r6, r28
/* 8025F290 0025AEF0  38 81 00 10 */	addi r4, r1, 0x10
/* 8025F294 0025AEF4  B0 A1 00 12 */	sth r5, 0x12(r1)
/* 8025F298 0025AEF8  38 A0 00 10 */	li r5, 0x10
/* 8025F29C 0025AEFC  A0 FF 00 04 */	lhz r7, 4(r31)
/* 8025F2A0 0025AF00  B0 E1 00 14 */	sth r7, 0x14(r1)
/* 8025F2A4 0025AF04  B0 01 00 16 */	sth r0, 0x16(r1)
/* 8025F2A8 0025AF08  80 1E 00 10 */	lwz r0, 0x10(r30)
/* 8025F2AC 0025AF0C  90 01 00 18 */	stw r0, 0x18(r1)
/* 8025F2B0 0025AF10  80 1E 00 14 */	lwz r0, 0x14(r30)
/* 8025F2B4 0025AF14  90 01 00 1C */	stw r0, 0x1c(r1)
/* 8025F2B8 0025AF18  81 9B 00 00 */	lwz r12, 0(r27)
/* 8025F2BC 0025AF1C  81 8C 00 5C */	lwz r12, 0x5c(r12)
/* 8025F2C0 0025AF20  7D 89 03 A6 */	mtctr r12
/* 8025F2C4 0025AF24  4E 80 04 21 */	bctrl
lbl_8025F2C8:
/* 8025F2C8 0025AF28  39 61 00 40 */	addi r11, r1, 0x40
/* 8025F2CC 0025AF2C  4B F6 7E A9 */	bl _restgpr_27
/* 8025F2D0 0025AF30  80 01 00 44 */	lwz r0, 0x44(r1)
/* 8025F2D4 0025AF34  7C 08 03 A6 */	mtlr r0
/* 8025F2D8 0025AF38  38 21 00 40 */	addi r1, r1, 0x40
/* 8025F2DC 0025AF3C  4E 80 00 20 */	blr

.global func_8025F2E0
func_8025F2E0:
/* 8025F2E0 0025AF40  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8025F2E4 0025AF44  7C 08 02 A6 */	mflr r0
/* 8025F2E8 0025AF48  90 01 00 34 */	stw r0, 0x34(r1)
/* 8025F2EC 0025AF4C  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 8025F2F0 0025AF50  7C 7F 1B 78 */	mr r31, r3
/* 8025F2F4 0025AF54  93 C1 00 28 */	stw r30, 0x28(r1)
/* 8025F2F8 0025AF58  93 A1 00 24 */	stw r29, 0x24(r1)
/* 8025F2FC 0025AF5C  93 81 00 20 */	stw r28, 0x20(r1)
/* 8025F300 0025AF60  7C BC 2B 78 */	mr r28, r5
/* 8025F304 0025AF64  A0 04 00 00 */	lhz r0, 0(r4)
/* 8025F308 0025AF68  A3 C4 00 04 */	lhz r30, 4(r4)
/* 8025F30C 0025AF6C  2C 00 00 0D */	cmpwi r0, 0xd
/* 8025F310 0025AF70  41 82 00 6C */	beq lbl_8025F37C
/* 8025F314 0025AF74  40 80 01 68 */	bge lbl_8025F47C
/* 8025F318 0025AF78  2C 00 00 0C */	cmpwi r0, 0xc
/* 8025F31C 0025AF7C  40 80 00 08 */	bge lbl_8025F324
/* 8025F320 0025AF80  48 00 01 5C */	b lbl_8025F47C
lbl_8025F324:
/* 8025F324 0025AF84  7F C5 F3 78 */	mr r5, r30
/* 8025F328 0025AF88  38 80 00 02 */	li r4, 2
/* 8025F32C 0025AF8C  48 00 08 39 */	bl func_8025FB64
/* 8025F330 0025AF90  2C 03 00 00 */	cmpwi r3, 0
/* 8025F334 0025AF94  7C 7D 1B 78 */	mr r29, r3
/* 8025F338 0025AF98  41 82 01 44 */	beq lbl_8025F47C
/* 8025F33C 0025AF9C  48 00 16 C5 */	bl func_80260A00
/* 8025F340 0025AFA0  7F A3 EB 78 */	mr r3, r29
/* 8025F344 0025AFA4  48 00 1A C5 */	bl func_80260E08
/* 8025F348 0025AFA8  54 60 04 3E */	clrlwi r0, r3, 0x10
/* 8025F34C 0025AFAC  7C 1C 00 40 */	cmplw r28, r0
/* 8025F350 0025AFB0  41 82 00 0C */	beq lbl_8025F35C
/* 8025F354 0025AFB4  7F A3 EB 78 */	mr r3, r29
/* 8025F358 0025AFB8  48 00 1A B1 */	bl func_80260E08
lbl_8025F35C:
/* 8025F35C 0025AFBC  7F A3 EB 78 */	mr r3, r29
/* 8025F360 0025AFC0  48 00 16 99 */	bl func_802609F8
/* 8025F364 0025AFC4  54 60 07 7B */	rlwinm. r0, r3, 0, 0x1d, 0x1d
/* 8025F368 0025AFC8  41 82 01 14 */	beq lbl_8025F47C
/* 8025F36C 0025AFCC  7F E3 FB 78 */	mr r3, r31
/* 8025F370 0025AFD0  7F C4 F3 78 */	mr r4, r30
/* 8025F374 0025AFD4  48 00 0A 59 */	bl func_8025FDCC
/* 8025F378 0025AFD8  48 00 01 04 */	b lbl_8025F47C
lbl_8025F37C:
/* 8025F37C 0025AFDC  7F C5 F3 78 */	mr r5, r30
/* 8025F380 0025AFE0  38 80 00 01 */	li r4, 1
/* 8025F384 0025AFE4  48 00 07 E1 */	bl func_8025FB64
/* 8025F388 0025AFE8  2C 03 00 00 */	cmpwi r3, 0
/* 8025F38C 0025AFEC  7C 7D 1B 78 */	mr r29, r3
/* 8025F390 0025AFF0  41 82 00 10 */	beq lbl_8025F3A0
/* 8025F394 0025AFF4  48 00 17 7D */	bl func_80260B10
/* 8025F398 0025AFF8  2C 03 00 00 */	cmpwi r3, 0
/* 8025F39C 0025AFFC  41 82 00 3C */	beq lbl_8025F3D8
lbl_8025F3A0:
/* 8025F3A0 0025B000  38 60 00 0C */	li r3, 0xc
/* 8025F3A4 0025B004  38 00 00 06 */	li r0, 6
/* 8025F3A8 0025B008  B0 61 00 08 */	sth r3, 8(r1)
/* 8025F3AC 0025B00C  7F E3 FB 78 */	mr r3, r31
/* 8025F3B0 0025B010  7F 86 E3 78 */	mr r6, r28
/* 8025F3B4 0025B014  38 81 00 08 */	addi r4, r1, 8
/* 8025F3B8 0025B018  B0 01 00 0A */	sth r0, 0xa(r1)
/* 8025F3BC 0025B01C  38 A0 00 06 */	li r5, 6
/* 8025F3C0 0025B020  B3 C1 00 0C */	sth r30, 0xc(r1)
/* 8025F3C4 0025B024  81 9F 00 00 */	lwz r12, 0(r31)
/* 8025F3C8 0025B028  81 8C 00 5C */	lwz r12, 0x5c(r12)
/* 8025F3CC 0025B02C  7D 89 03 A6 */	mtctr r12
/* 8025F3D0 0025B030  4E 80 04 21 */	bctrl
/* 8025F3D4 0025B034  48 00 00 A8 */	b lbl_8025F47C
lbl_8025F3D8:
/* 8025F3D8 0025B038  7F A3 EB 78 */	mr r3, r29
/* 8025F3DC 0025B03C  48 00 19 21 */	bl func_80260CFC
/* 8025F3E0 0025B040  38 00 00 04 */	li r0, 4
/* 8025F3E4 0025B044  38 80 00 10 */	li r4, 0x10
/* 8025F3E8 0025B048  B0 01 00 10 */	sth r0, 0x10(r1)
/* 8025F3EC 0025B04C  38 00 00 00 */	li r0, 0
/* 8025F3F0 0025B050  7F A3 EB 78 */	mr r3, r29
/* 8025F3F4 0025B054  B0 81 00 12 */	sth r4, 0x12(r1)
/* 8025F3F8 0025B058  A0 9D 00 02 */	lhz r4, 2(r29)
/* 8025F3FC 0025B05C  B0 81 00 14 */	sth r4, 0x14(r1)
/* 8025F400 0025B060  B0 01 00 16 */	sth r0, 0x16(r1)
/* 8025F404 0025B064  80 1D 00 10 */	lwz r0, 0x10(r29)
/* 8025F408 0025B068  90 01 00 18 */	stw r0, 0x18(r1)
/* 8025F40C 0025B06C  80 1D 00 14 */	lwz r0, 0x14(r29)
/* 8025F410 0025B070  90 01 00 1C */	stw r0, 0x1c(r1)
/* 8025F414 0025B074  48 00 19 F5 */	bl func_80260E08
/* 8025F418 0025B078  81 9F 00 00 */	lwz r12, 0(r31)
/* 8025F41C 0025B07C  7C 60 1B 78 */	mr r0, r3
/* 8025F420 0025B080  7F E3 FB 78 */	mr r3, r31
/* 8025F424 0025B084  38 81 00 10 */	addi r4, r1, 0x10
/* 8025F428 0025B088  81 8C 00 5C */	lwz r12, 0x5c(r12)
/* 8025F42C 0025B08C  54 06 04 3E */	clrlwi r6, r0, 0x10
/* 8025F430 0025B090  38 A0 00 10 */	li r5, 0x10
/* 8025F434 0025B094  7D 89 03 A6 */	mtctr r12
/* 8025F438 0025B098  4E 80 04 21 */	bctrl
/* 8025F43C 0025B09C  2C 03 00 00 */	cmpwi r3, 0
/* 8025F440 0025B0A0  40 80 00 3C */	bge lbl_8025F47C
/* 8025F444 0025B0A4  7F A3 EB 78 */	mr r3, r29
/* 8025F448 0025B0A8  48 00 19 C1 */	bl func_80260E08
/* 8025F44C 0025B0AC  81 9F 00 00 */	lwz r12, 0(r31)
/* 8025F450 0025B0B0  7C 60 1B 78 */	mr r0, r3
/* 8025F454 0025B0B4  7F E3 FB 78 */	mr r3, r31
/* 8025F458 0025B0B8  81 8C 00 58 */	lwz r12, 0x58(r12)
/* 8025F45C 0025B0BC  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 8025F460 0025B0C0  7D 89 03 A6 */	mtctr r12
/* 8025F464 0025B0C4  4E 80 04 21 */	bctrl
/* 8025F468 0025B0C8  2C 03 00 00 */	cmpwi r3, 0
/* 8025F46C 0025B0CC  40 82 00 10 */	bne lbl_8025F47C
/* 8025F470 0025B0D0  A0 9D 00 02 */	lhz r4, 2(r29)
/* 8025F474 0025B0D4  7F E3 FB 78 */	mr r3, r31
/* 8025F478 0025B0D8  48 00 0A 95 */	bl func_8025FF0C
lbl_8025F47C:
/* 8025F47C 0025B0DC  80 01 00 34 */	lwz r0, 0x34(r1)
/* 8025F480 0025B0E0  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 8025F484 0025B0E4  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 8025F488 0025B0E8  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 8025F48C 0025B0EC  83 81 00 20 */	lwz r28, 0x20(r1)
/* 8025F490 0025B0F0  7C 08 03 A6 */	mtlr r0
/* 8025F494 0025B0F4  38 21 00 30 */	addi r1, r1, 0x30
/* 8025F498 0025B0F8  4E 80 00 20 */	blr

.global func_8025F49C
func_8025F49C:
/* 8025F49C 0025B0FC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8025F4A0 0025B100  7C 08 02 A6 */	mflr r0
/* 8025F4A4 0025B104  90 01 00 14 */	stw r0, 0x14(r1)
/* 8025F4A8 0025B108  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8025F4AC 0025B10C  83 E4 00 08 */	lwz r31, 8(r4)
/* 8025F4B0 0025B110  A0 A4 00 04 */	lhz r5, 4(r4)
/* 8025F4B4 0025B114  38 80 00 02 */	li r4, 2
/* 8025F4B8 0025B118  48 00 06 AD */	bl func_8025FB64
/* 8025F4BC 0025B11C  2C 03 00 00 */	cmpwi r3, 0
/* 8025F4C0 0025B120  41 82 00 0C */	beq lbl_8025F4CC
/* 8025F4C4 0025B124  7F E4 FB 78 */	mr r4, r31
/* 8025F4C8 0025B128  48 00 15 C1 */	bl func_80260A88
lbl_8025F4CC:
/* 8025F4CC 0025B12C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8025F4D0 0025B130  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8025F4D4 0025B134  7C 08 03 A6 */	mtlr r0
/* 8025F4D8 0025B138  38 21 00 10 */	addi r1, r1, 0x10
/* 8025F4DC 0025B13C  4E 80 00 20 */	blr

.global func_8025F4E0
func_8025F4E0:
/* 8025F4E0 0025B140  94 21 FF 20 */	stwu r1, -0xe0(r1)
/* 8025F4E4 0025B144  7C 08 02 A6 */	mflr r0
/* 8025F4E8 0025B148  90 01 00 E4 */	stw r0, 0xe4(r1)
/* 8025F4EC 0025B14C  39 61 00 E0 */	addi r11, r1, 0xe0
/* 8025F4F0 0025B150  4B F6 7C 2D */	bl _savegpr_24
/* 8025F4F4 0025B154  7C 7E 1B 78 */	mr r30, r3
/* 8025F4F8 0025B158  3B E3 00 24 */	addi r31, r3, 0x24
/* 8025F4FC 0025B15C  7F F9 FB 78 */	mr r25, r31
/* 8025F500 0025B160  3B 00 00 00 */	li r24, 0
/* 8025F504 0025B164  7F DD F3 78 */	mr r29, r30
/* 8025F508 0025B168  3B 80 00 0D */	li r28, 0xd
/* 8025F50C 0025B16C  3B 60 00 06 */	li r27, 6
lbl_8025F510:
/* 8025F510 0025B170  7F 23 CB 78 */	mr r3, r25
/* 8025F514 0025B174  48 00 15 25 */	bl func_80260A38
/* 8025F518 0025B178  2C 03 00 00 */	cmpwi r3, 0
/* 8025F51C 0025B17C  41 82 01 B8 */	beq lbl_8025F6D4
/* 8025F520 0025B180  7F 23 CB 78 */	mr r3, r25
/* 8025F524 0025B184  48 00 14 D5 */	bl func_802609F8
/* 8025F528 0025B188  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 8025F52C 0025B18C  41 82 00 20 */	beq lbl_8025F54C
/* 8025F530 0025B190  7F 23 CB 78 */	mr r3, r25
/* 8025F534 0025B194  48 00 16 51 */	bl func_80260B84
/* 8025F538 0025B198  2C 03 00 00 */	cmpwi r3, 0
/* 8025F53C 0025B19C  41 82 00 10 */	beq lbl_8025F54C
/* 8025F540 0025B1A0  A0 9D 00 26 */	lhz r4, 0x26(r29)
/* 8025F544 0025B1A4  7F C3 F3 78 */	mr r3, r30
/* 8025F548 0025B1A8  48 00 08 85 */	bl func_8025FDCC
lbl_8025F54C:
/* 8025F54C 0025B1AC  7F 23 CB 78 */	mr r3, r25
/* 8025F550 0025B1B0  48 00 14 DD */	bl func_80260A2C
/* 8025F554 0025B1B4  2C 03 00 00 */	cmpwi r3, 0
/* 8025F558 0025B1B8  41 82 00 B8 */	beq lbl_8025F610
/* 8025F55C 0025B1BC  7F 23 CB 78 */	mr r3, r25
/* 8025F560 0025B1C0  48 00 15 B1 */	bl func_80260B10
/* 8025F564 0025B1C4  2C 03 00 00 */	cmpwi r3, 0
/* 8025F568 0025B1C8  41 82 00 A8 */	beq lbl_8025F610
/* 8025F56C 0025B1CC  7F 23 CB 78 */	mr r3, r25
/* 8025F570 0025B1D0  48 00 14 A1 */	bl func_80260A10
/* 8025F574 0025B1D4  2C 03 00 00 */	cmpwi r3, 0
/* 8025F578 0025B1D8  40 82 00 98 */	bne lbl_8025F610
/* 8025F57C 0025B1DC  7F 23 CB 78 */	mr r3, r25
/* 8025F580 0025B1E0  48 00 16 99 */	bl func_80260C18
/* 8025F584 0025B1E4  2C 03 00 00 */	cmpwi r3, 0
/* 8025F588 0025B1E8  41 82 00 88 */	beq lbl_8025F610
/* 8025F58C 0025B1EC  7F 23 CB 78 */	mr r3, r25
/* 8025F590 0025B1F0  48 00 17 6D */	bl func_80260CFC
/* 8025F594 0025B1F4  B3 81 00 08 */	sth r28, 8(r1)
/* 8025F598 0025B1F8  7F 23 CB 78 */	mr r3, r25
/* 8025F59C 0025B1FC  B3 61 00 0A */	sth r27, 0xa(r1)
/* 8025F5A0 0025B200  A0 19 00 02 */	lhz r0, 2(r25)
/* 8025F5A4 0025B204  B0 01 00 0C */	sth r0, 0xc(r1)
/* 8025F5A8 0025B208  48 00 18 61 */	bl func_80260E08
/* 8025F5AC 0025B20C  81 9E 00 00 */	lwz r12, 0(r30)
/* 8025F5B0 0025B210  7C 60 1B 78 */	mr r0, r3
/* 8025F5B4 0025B214  7F C3 F3 78 */	mr r3, r30
/* 8025F5B8 0025B218  38 81 00 08 */	addi r4, r1, 8
/* 8025F5BC 0025B21C  81 8C 00 5C */	lwz r12, 0x5c(r12)
/* 8025F5C0 0025B220  54 06 04 3E */	clrlwi r6, r0, 0x10
/* 8025F5C4 0025B224  38 A0 00 06 */	li r5, 6
/* 8025F5C8 0025B228  7D 89 03 A6 */	mtctr r12
/* 8025F5CC 0025B22C  4E 80 04 21 */	bctrl
/* 8025F5D0 0025B230  2C 03 00 00 */	cmpwi r3, 0
/* 8025F5D4 0025B234  40 80 00 3C */	bge lbl_8025F610
/* 8025F5D8 0025B238  7F 23 CB 78 */	mr r3, r25
/* 8025F5DC 0025B23C  48 00 18 2D */	bl func_80260E08
/* 8025F5E0 0025B240  81 9E 00 00 */	lwz r12, 0(r30)
/* 8025F5E4 0025B244  7C 60 1B 78 */	mr r0, r3
/* 8025F5E8 0025B248  7F C3 F3 78 */	mr r3, r30
/* 8025F5EC 0025B24C  81 8C 00 58 */	lwz r12, 0x58(r12)
/* 8025F5F0 0025B250  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 8025F5F4 0025B254  7D 89 03 A6 */	mtctr r12
/* 8025F5F8 0025B258  4E 80 04 21 */	bctrl
/* 8025F5FC 0025B25C  2C 03 00 00 */	cmpwi r3, 0
/* 8025F600 0025B260  40 82 00 10 */	bne lbl_8025F610
/* 8025F604 0025B264  A0 9D 00 26 */	lhz r4, 0x26(r29)
/* 8025F608 0025B268  7F C3 F3 78 */	mr r3, r30
/* 8025F60C 0025B26C  48 00 07 C1 */	bl func_8025FDCC
lbl_8025F610:
/* 8025F610 0025B270  7F 23 CB 78 */	mr r3, r25
/* 8025F614 0025B274  48 00 16 05 */	bl func_80260C18
/* 8025F618 0025B278  2C 03 00 00 */	cmpwi r3, 0
/* 8025F61C 0025B27C  41 82 00 B8 */	beq lbl_8025F6D4
/* 8025F620 0025B280  7F 23 CB 78 */	mr r3, r25
/* 8025F624 0025B284  48 00 14 09 */	bl func_80260A2C
/* 8025F628 0025B288  2C 03 00 00 */	cmpwi r3, 0
/* 8025F62C 0025B28C  40 82 00 A8 */	bne lbl_8025F6D4
/* 8025F630 0025B290  7F 23 CB 78 */	mr r3, r25
/* 8025F634 0025B294  48 00 16 C9 */	bl func_80260CFC
/* 8025F638 0025B298  7F 23 CB 78 */	mr r3, r25
/* 8025F63C 0025B29C  48 00 18 4D */	bl func_80260E88
/* 8025F640 0025B2A0  7C 7A 1B 78 */	mr r26, r3
/* 8025F644 0025B2A4  7F 23 CB 78 */	mr r3, r25
/* 8025F648 0025B2A8  48 00 17 41 */	bl func_80260D88
/* 8025F64C 0025B2AC  A0 D9 00 02 */	lhz r6, 2(r25)
/* 8025F650 0025B2B0  7C 67 1B 78 */	mr r7, r3
/* 8025F654 0025B2B4  7F C3 F3 78 */	mr r3, r30
/* 8025F658 0025B2B8  7F 48 D3 78 */	mr r8, r26
/* 8025F65C 0025B2BC  38 81 00 6C */	addi r4, r1, 0x6c
/* 8025F660 0025B2C0  38 A0 00 09 */	li r5, 9
/* 8025F664 0025B2C4  48 00 0D 31 */	bl func_80260394
/* 8025F668 0025B2C8  7F 23 CB 78 */	mr r3, r25
/* 8025F66C 0025B2CC  48 00 17 9D */	bl func_80260E08
/* 8025F670 0025B2D0  81 9E 00 00 */	lwz r12, 0(r30)
/* 8025F674 0025B2D4  7C 60 1B 78 */	mr r0, r3
/* 8025F678 0025B2D8  7F C3 F3 78 */	mr r3, r30
/* 8025F67C 0025B2DC  38 81 00 6C */	addi r4, r1, 0x6c
/* 8025F680 0025B2E0  81 8C 00 5C */	lwz r12, 0x5c(r12)
/* 8025F684 0025B2E4  54 06 04 3E */	clrlwi r6, r0, 0x10
/* 8025F688 0025B2E8  A0 A1 00 6E */	lhz r5, 0x6e(r1)
/* 8025F68C 0025B2EC  7D 89 03 A6 */	mtctr r12
/* 8025F690 0025B2F0  4E 80 04 21 */	bctrl
/* 8025F694 0025B2F4  2C 03 00 00 */	cmpwi r3, 0
/* 8025F698 0025B2F8  40 80 00 3C */	bge lbl_8025F6D4
/* 8025F69C 0025B2FC  7F 23 CB 78 */	mr r3, r25
/* 8025F6A0 0025B300  48 00 17 69 */	bl func_80260E08
/* 8025F6A4 0025B304  81 9E 00 00 */	lwz r12, 0(r30)
/* 8025F6A8 0025B308  7C 60 1B 78 */	mr r0, r3
/* 8025F6AC 0025B30C  7F C3 F3 78 */	mr r3, r30
/* 8025F6B0 0025B310  81 8C 00 58 */	lwz r12, 0x58(r12)
/* 8025F6B4 0025B314  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 8025F6B8 0025B318  7D 89 03 A6 */	mtctr r12
/* 8025F6BC 0025B31C  4E 80 04 21 */	bctrl
/* 8025F6C0 0025B320  2C 03 00 00 */	cmpwi r3, 0
/* 8025F6C4 0025B324  40 82 00 10 */	bne lbl_8025F6D4
/* 8025F6C8 0025B328  A0 9D 00 26 */	lhz r4, 0x26(r29)
/* 8025F6CC 0025B32C  7F C3 F3 78 */	mr r3, r30
/* 8025F6D0 0025B330  48 00 06 FD */	bl func_8025FDCC
lbl_8025F6D4:
/* 8025F6D4 0025B334  3B 18 00 01 */	addi r24, r24, 1
/* 8025F6D8 0025B338  3B BD 00 74 */	addi r29, r29, 0x74
/* 8025F6DC 0025B33C  2C 18 00 20 */	cmpwi r24, 0x20
/* 8025F6E0 0025B340  3B 39 00 74 */	addi r25, r25, 0x74
/* 8025F6E4 0025B344  41 80 FE 2C */	blt lbl_8025F510
/* 8025F6E8 0025B348  7F D9 F3 78 */	mr r25, r30
/* 8025F6EC 0025B34C  3B 00 00 00 */	li r24, 0
/* 8025F6F0 0025B350  3B 40 00 04 */	li r26, 4
/* 8025F6F4 0025B354  3B 60 00 10 */	li r27, 0x10
/* 8025F6F8 0025B358  3B 80 00 00 */	li r28, 0
lbl_8025F6FC:
/* 8025F6FC 0025B35C  7F E3 FB 78 */	mr r3, r31
/* 8025F700 0025B360  48 00 13 4D */	bl func_80260A4C
/* 8025F704 0025B364  2C 03 00 00 */	cmpwi r3, 0
/* 8025F708 0025B368  41 82 02 00 */	beq lbl_8025F908
/* 8025F70C 0025B36C  7F E3 FB 78 */	mr r3, r31
/* 8025F710 0025B370  48 00 12 E9 */	bl func_802609F8
/* 8025F714 0025B374  54 60 07 FF */	clrlwi. r0, r3, 0x1f
/* 8025F718 0025B378  41 82 00 54 */	beq lbl_8025F76C
/* 8025F71C 0025B37C  7F E3 FB 78 */	mr r3, r31
/* 8025F720 0025B380  48 00 13 F1 */	bl func_80260B10
/* 8025F724 0025B384  2C 03 00 00 */	cmpwi r3, 0
/* 8025F728 0025B388  40 82 00 44 */	bne lbl_8025F76C
/* 8025F72C 0025B38C  7F E3 FB 78 */	mr r3, r31
/* 8025F730 0025B390  48 00 14 55 */	bl func_80260B84
/* 8025F734 0025B394  2C 03 00 00 */	cmpwi r3, 0
/* 8025F738 0025B398  41 82 00 34 */	beq lbl_8025F76C
/* 8025F73C 0025B39C  A0 99 00 26 */	lhz r4, 0x26(r25)
/* 8025F740 0025B3A0  7F C3 F3 78 */	mr r3, r30
/* 8025F744 0025B3A4  48 00 07 C9 */	bl func_8025FF0C
/* 8025F748 0025B3A8  7F E3 FB 78 */	mr r3, r31
/* 8025F74C 0025B3AC  48 00 16 BD */	bl func_80260E08
/* 8025F750 0025B3B0  81 9E 00 00 */	lwz r12, 0(r30)
/* 8025F754 0025B3B4  7C 60 1B 78 */	mr r0, r3
/* 8025F758 0025B3B8  7F C3 F3 78 */	mr r3, r30
/* 8025F75C 0025B3BC  81 8C 00 60 */	lwz r12, 0x60(r12)
/* 8025F760 0025B3C0  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 8025F764 0025B3C4  7D 89 03 A6 */	mtctr r12
/* 8025F768 0025B3C8  4E 80 04 21 */	bctrl
lbl_8025F76C:
/* 8025F76C 0025B3CC  7F E3 FB 78 */	mr r3, r31
/* 8025F770 0025B3D0  48 00 14 A9 */	bl func_80260C18
/* 8025F774 0025B3D4  2C 03 00 00 */	cmpwi r3, 0
/* 8025F778 0025B3D8  41 82 00 AC */	beq lbl_8025F824
/* 8025F77C 0025B3DC  7F E3 FB 78 */	mr r3, r31
/* 8025F780 0025B3E0  48 00 12 AD */	bl func_80260A2C
/* 8025F784 0025B3E4  2C 03 00 00 */	cmpwi r3, 0
/* 8025F788 0025B3E8  41 82 00 9C */	beq lbl_8025F824
/* 8025F78C 0025B3EC  7F E3 FB 78 */	mr r3, r31
/* 8025F790 0025B3F0  48 00 15 6D */	bl func_80260CFC
/* 8025F794 0025B3F4  B3 41 00 10 */	sth r26, 0x10(r1)
/* 8025F798 0025B3F8  7F E3 FB 78 */	mr r3, r31
/* 8025F79C 0025B3FC  B3 61 00 12 */	sth r27, 0x12(r1)
/* 8025F7A0 0025B400  A0 1F 00 02 */	lhz r0, 2(r31)
/* 8025F7A4 0025B404  B0 01 00 14 */	sth r0, 0x14(r1)
/* 8025F7A8 0025B408  B3 81 00 16 */	sth r28, 0x16(r1)
/* 8025F7AC 0025B40C  80 1F 00 10 */	lwz r0, 0x10(r31)
/* 8025F7B0 0025B410  90 01 00 18 */	stw r0, 0x18(r1)
/* 8025F7B4 0025B414  80 1F 00 14 */	lwz r0, 0x14(r31)
/* 8025F7B8 0025B418  90 01 00 1C */	stw r0, 0x1c(r1)
/* 8025F7BC 0025B41C  48 00 16 4D */	bl func_80260E08
/* 8025F7C0 0025B420  81 9E 00 00 */	lwz r12, 0(r30)
/* 8025F7C4 0025B424  7C 60 1B 78 */	mr r0, r3
/* 8025F7C8 0025B428  7F C3 F3 78 */	mr r3, r30
/* 8025F7CC 0025B42C  38 81 00 10 */	addi r4, r1, 0x10
/* 8025F7D0 0025B430  81 8C 00 5C */	lwz r12, 0x5c(r12)
/* 8025F7D4 0025B434  54 06 04 3E */	clrlwi r6, r0, 0x10
/* 8025F7D8 0025B438  38 A0 00 10 */	li r5, 0x10
/* 8025F7DC 0025B43C  7D 89 03 A6 */	mtctr r12
/* 8025F7E0 0025B440  4E 80 04 21 */	bctrl
/* 8025F7E4 0025B444  2C 03 00 00 */	cmpwi r3, 0
/* 8025F7E8 0025B448  40 80 00 3C */	bge lbl_8025F824
/* 8025F7EC 0025B44C  7F E3 FB 78 */	mr r3, r31
/* 8025F7F0 0025B450  48 00 16 19 */	bl func_80260E08
/* 8025F7F4 0025B454  81 9E 00 00 */	lwz r12, 0(r30)
/* 8025F7F8 0025B458  7C 60 1B 78 */	mr r0, r3
/* 8025F7FC 0025B45C  7F C3 F3 78 */	mr r3, r30
/* 8025F800 0025B460  81 8C 00 58 */	lwz r12, 0x58(r12)
/* 8025F804 0025B464  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 8025F808 0025B468  7D 89 03 A6 */	mtctr r12
/* 8025F80C 0025B46C  4E 80 04 21 */	bctrl
/* 8025F810 0025B470  2C 03 00 00 */	cmpwi r3, 0
/* 8025F814 0025B474  40 82 00 10 */	bne lbl_8025F824
/* 8025F818 0025B478  A0 99 00 26 */	lhz r4, 0x26(r25)
/* 8025F81C 0025B47C  7F C3 F3 78 */	mr r3, r30
/* 8025F820 0025B480  48 00 06 ED */	bl func_8025FF0C
lbl_8025F824:
/* 8025F824 0025B484  7F E3 FB 78 */	mr r3, r31
/* 8025F828 0025B488  48 00 13 F1 */	bl func_80260C18
/* 8025F82C 0025B48C  2C 03 00 00 */	cmpwi r3, 0
/* 8025F830 0025B490  41 82 00 D8 */	beq lbl_8025F908
/* 8025F834 0025B494  7F E3 FB 78 */	mr r3, r31
/* 8025F838 0025B498  48 00 11 F5 */	bl func_80260A2C
/* 8025F83C 0025B49C  2C 03 00 00 */	cmpwi r3, 0
/* 8025F840 0025B4A0  40 82 00 C8 */	bne lbl_8025F908
/* 8025F844 0025B4A4  7F E3 FB 78 */	mr r3, r31
/* 8025F848 0025B4A8  48 00 12 C9 */	bl func_80260B10
/* 8025F84C 0025B4AC  2C 03 00 00 */	cmpwi r3, 0
/* 8025F850 0025B4B0  40 82 00 B8 */	bne lbl_8025F908
/* 8025F854 0025B4B4  7F E3 FB 78 */	mr r3, r31
/* 8025F858 0025B4B8  48 00 14 A5 */	bl func_80260CFC
/* 8025F85C 0025B4BC  7F E3 FB 78 */	mr r3, r31
/* 8025F860 0025B4C0  48 00 16 29 */	bl func_80260E88
/* 8025F864 0025B4C4  7F E3 FB 78 */	mr r3, r31
/* 8025F868 0025B4C8  48 00 15 A1 */	bl func_80260E08
/* 8025F86C 0025B4CC  7F E3 FB 78 */	mr r3, r31
/* 8025F870 0025B4D0  48 00 16 19 */	bl func_80260E88
/* 8025F874 0025B4D4  7C 7D 1B 78 */	mr r29, r3
/* 8025F878 0025B4D8  7F E3 FB 78 */	mr r3, r31
/* 8025F87C 0025B4DC  48 00 15 0D */	bl func_80260D88
/* 8025F880 0025B4E0  A0 DF 00 02 */	lhz r6, 2(r31)
/* 8025F884 0025B4E4  7C 67 1B 78 */	mr r7, r3
/* 8025F888 0025B4E8  7F C3 F3 78 */	mr r3, r30
/* 8025F88C 0025B4EC  7F A8 EB 78 */	mr r8, r29
/* 8025F890 0025B4F0  38 81 00 20 */	addi r4, r1, 0x20
/* 8025F894 0025B4F4  38 A0 00 07 */	li r5, 7
/* 8025F898 0025B4F8  48 00 0A FD */	bl func_80260394
/* 8025F89C 0025B4FC  7F E3 FB 78 */	mr r3, r31
/* 8025F8A0 0025B500  48 00 15 69 */	bl func_80260E08
/* 8025F8A4 0025B504  81 9E 00 00 */	lwz r12, 0(r30)
/* 8025F8A8 0025B508  7C 60 1B 78 */	mr r0, r3
/* 8025F8AC 0025B50C  7F C3 F3 78 */	mr r3, r30
/* 8025F8B0 0025B510  38 81 00 20 */	addi r4, r1, 0x20
/* 8025F8B4 0025B514  81 8C 00 5C */	lwz r12, 0x5c(r12)
/* 8025F8B8 0025B518  54 06 04 3E */	clrlwi r6, r0, 0x10
/* 8025F8BC 0025B51C  A0 A1 00 22 */	lhz r5, 0x22(r1)
/* 8025F8C0 0025B520  7D 89 03 A6 */	mtctr r12
/* 8025F8C4 0025B524  4E 80 04 21 */	bctrl
/* 8025F8C8 0025B528  2C 03 00 00 */	cmpwi r3, 0
/* 8025F8CC 0025B52C  40 80 00 3C */	bge lbl_8025F908
/* 8025F8D0 0025B530  7F E3 FB 78 */	mr r3, r31
/* 8025F8D4 0025B534  48 00 15 35 */	bl func_80260E08
/* 8025F8D8 0025B538  81 9E 00 00 */	lwz r12, 0(r30)
/* 8025F8DC 0025B53C  7C 60 1B 78 */	mr r0, r3
/* 8025F8E0 0025B540  7F C3 F3 78 */	mr r3, r30
/* 8025F8E4 0025B544  81 8C 00 58 */	lwz r12, 0x58(r12)
/* 8025F8E8 0025B548  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 8025F8EC 0025B54C  7D 89 03 A6 */	mtctr r12
/* 8025F8F0 0025B550  4E 80 04 21 */	bctrl
/* 8025F8F4 0025B554  2C 03 00 00 */	cmpwi r3, 0
/* 8025F8F8 0025B558  40 82 00 10 */	bne lbl_8025F908
/* 8025F8FC 0025B55C  A0 99 00 26 */	lhz r4, 0x26(r25)
/* 8025F900 0025B560  7F C3 F3 78 */	mr r3, r30
/* 8025F904 0025B564  48 00 06 09 */	bl func_8025FF0C
lbl_8025F908:
/* 8025F908 0025B568  3B 18 00 01 */	addi r24, r24, 1
/* 8025F90C 0025B56C  3B 39 00 74 */	addi r25, r25, 0x74
/* 8025F910 0025B570  2C 18 00 20 */	cmpwi r24, 0x20
/* 8025F914 0025B574  3B FF 00 74 */	addi r31, r31, 0x74
/* 8025F918 0025B578  41 80 FD E4 */	blt lbl_8025F6FC
/* 8025F91C 0025B57C  39 61 00 E0 */	addi r11, r1, 0xe0
/* 8025F920 0025B580  4B F6 78 49 */	bl _restgpr_24
/* 8025F924 0025B584  80 01 00 E4 */	lwz r0, 0xe4(r1)
/* 8025F928 0025B588  7C 08 03 A6 */	mtlr r0
/* 8025F92C 0025B58C  38 21 00 E0 */	addi r1, r1, 0xe0
/* 8025F930 0025B590  4E 80 00 20 */	blr

.global func_8025F934
func_8025F934:
/* 8025F934 0025B594  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 8025F938 0025B598  7C 08 02 A6 */	mflr r0
/* 8025F93C 0025B59C  90 01 00 44 */	stw r0, 0x44(r1)
/* 8025F940 0025B5A0  39 61 00 40 */	addi r11, r1, 0x40
/* 8025F944 0025B5A4  4B F6 77 CD */	bl _savegpr_21
/* 8025F948 0025B5A8  81 83 00 00 */	lwz r12, 0(r3)
/* 8025F94C 0025B5AC  7C 75 1B 78 */	mr r21, r3
/* 8025F950 0025B5B0  7C 96 23 78 */	mr r22, r4
/* 8025F954 0025B5B4  3B C0 00 00 */	li r30, 0
/* 8025F958 0025B5B8  81 8C 00 54 */	lwz r12, 0x54(r12)
/* 8025F95C 0025B5BC  7D 89 03 A6 */	mtctr r12
/* 8025F960 0025B5C0  4E 80 04 21 */	bctrl
/* 8025F964 0025B5C4  54 7D 04 3E */	clrlwi r29, r3, 0x10
/* 8025F968 0025B5C8  38 7D 00 40 */	addi r3, r29, 0x40
/* 8025F96C 0025B5CC  4B FF EB 09 */	bl func_8025E474
/* 8025F970 0025B5D0  2C 03 00 00 */	cmpwi r3, 0
/* 8025F974 0025B5D4  7C 7C 1B 78 */	mr r28, r3
/* 8025F978 0025B5D8  40 82 00 0C */	bne lbl_8025F984
/* 8025F97C 0025B5DC  38 60 00 00 */	li r3, 0
/* 8025F980 0025B5E0  48 00 01 20 */	b lbl_8025FAA0
lbl_8025F984:
/* 8025F984 0025B5E4  3B 60 00 00 */	li r27, 0
/* 8025F988 0025B5E8  48 00 01 04 */	b lbl_8025FA8C
lbl_8025F98C:
/* 8025F98C 0025B5EC  3B 40 00 00 */	li r26, 0
lbl_8025F990:
/* 8025F990 0025B5F0  3B F5 00 24 */	addi r31, r21, 0x24
/* 8025F994 0025B5F4  3B 20 FF FF */	li r25, -1
/* 8025F998 0025B5F8  3B 00 FF FF */	li r24, -1
/* 8025F99C 0025B5FC  3A E0 00 00 */	li r23, 0
lbl_8025F9A0:
/* 8025F9A0 0025B600  7F E3 FB 78 */	mr r3, r31
/* 8025F9A4 0025B604  48 00 10 95 */	bl func_80260A38
/* 8025F9A8 0025B608  2C 03 00 00 */	cmpwi r3, 0
/* 8025F9AC 0025B60C  41 82 00 38 */	beq lbl_8025F9E4
/* 8025F9B0 0025B610  7F E3 FB 78 */	mr r3, r31
/* 8025F9B4 0025B614  48 00 14 55 */	bl func_80260E08
/* 8025F9B8 0025B618  54 60 04 3E */	clrlwi r0, r3, 0x10
/* 8025F9BC 0025B61C  7C 1A 00 00 */	cmpw r26, r0
/* 8025F9C0 0025B620  40 82 00 24 */	bne lbl_8025F9E4
/* 8025F9C4 0025B624  7F E3 FB 78 */	mr r3, r31
/* 8025F9C8 0025B628  48 00 14 81 */	bl func_80260E48
/* 8025F9CC 0025B62C  7C 03 C8 40 */	cmplw r3, r25
/* 8025F9D0 0025B630  40 80 00 14 */	bge lbl_8025F9E4
/* 8025F9D4 0025B634  7F E3 FB 78 */	mr r3, r31
/* 8025F9D8 0025B638  48 00 14 71 */	bl func_80260E48
/* 8025F9DC 0025B63C  7C 79 1B 78 */	mr r25, r3
/* 8025F9E0 0025B640  7E F8 BB 78 */	mr r24, r23
lbl_8025F9E4:
/* 8025F9E4 0025B644  3A F7 00 01 */	addi r23, r23, 1
/* 8025F9E8 0025B648  3B FF 00 74 */	addi r31, r31, 0x74
/* 8025F9EC 0025B64C  2C 17 00 20 */	cmpwi r23, 0x20
/* 8025F9F0 0025B650  41 80 FF B0 */	blt lbl_8025F9A0
/* 8025F9F4 0025B654  2C 18 00 00 */	cmpwi r24, 0
/* 8025F9F8 0025B658  41 80 00 74 */	blt lbl_8025FA6C
/* 8025F9FC 0025B65C  1C 18 00 74 */	mulli r0, r24, 0x74
/* 8025FA00 0025B660  7C 75 02 14 */	add r3, r21, r0
/* 8025FA04 0025B664  3B E3 00 24 */	addi r31, r3, 0x24
/* 8025FA08 0025B668  7F E3 FB 78 */	mr r3, r31
/* 8025FA0C 0025B66C  48 00 10 21 */	bl func_80260A2C
/* 8025FA10 0025B670  2C 03 00 00 */	cmpwi r3, 0
/* 8025FA14 0025B674  41 82 00 58 */	beq lbl_8025FA6C
/* 8025FA18 0025B678  7F E3 FB 78 */	mr r3, r31
/* 8025FA1C 0025B67C  7F 84 E3 78 */	mr r4, r28
/* 8025FA20 0025B680  7F A5 EB 78 */	mr r5, r29
/* 8025FA24 0025B684  38 C1 00 08 */	addi r6, r1, 8
/* 8025FA28 0025B688  48 00 17 C1 */	bl func_802611E8
/* 8025FA2C 0025B68C  2C 03 00 00 */	cmpwi r3, 0
/* 8025FA30 0025B690  40 82 00 3C */	bne lbl_8025FA6C
/* 8025FA34 0025B694  81 95 00 00 */	lwz r12, 0(r21)
/* 8025FA38 0025B698  7E A3 AB 78 */	mr r3, r21
/* 8025FA3C 0025B69C  7F 84 E3 78 */	mr r4, r28
/* 8025FA40 0025B6A0  A0 BC 00 02 */	lhz r5, 2(r28)
/* 8025FA44 0025B6A4  81 8C 00 5C */	lwz r12, 0x5c(r12)
/* 8025FA48 0025B6A8  A0 C1 00 08 */	lhz r6, 8(r1)
/* 8025FA4C 0025B6AC  7D 89 03 A6 */	mtctr r12
/* 8025FA50 0025B6B0  4E 80 04 21 */	bctrl
/* 8025FA54 0025B6B4  2C 03 00 00 */	cmpwi r3, 0
/* 8025FA58 0025B6B8  41 80 00 14 */	blt lbl_8025FA6C
/* 8025FA5C 0025B6BC  7F E3 FB 78 */	mr r3, r31
/* 8025FA60 0025B6C0  7F 84 E3 78 */	mr r4, r28
/* 8025FA64 0025B6C4  48 00 18 55 */	bl func_802612B8
/* 8025FA68 0025B6C8  3B DE 00 01 */	addi r30, r30, 1
lbl_8025FA6C:
/* 8025FA6C 0025B6CC  7C 1E B0 00 */	cmpw r30, r22
/* 8025FA70 0025B6D0  40 80 00 10 */	bge lbl_8025FA80
/* 8025FA74 0025B6D4  3B 5A 00 01 */	addi r26, r26, 1
/* 8025FA78 0025B6D8  2C 1A 00 0F */	cmpwi r26, 0xf
/* 8025FA7C 0025B6DC  40 81 FF 14 */	ble lbl_8025F990
lbl_8025FA80:
/* 8025FA80 0025B6E0  7C 1E B0 00 */	cmpw r30, r22
/* 8025FA84 0025B6E4  40 80 00 10 */	bge lbl_8025FA94
/* 8025FA88 0025B6E8  3B 7B 00 01 */	addi r27, r27, 1
lbl_8025FA8C:
/* 8025FA8C 0025B6EC  7C 1B B0 00 */	cmpw r27, r22
/* 8025FA90 0025B6F0  41 80 FE FC */	blt lbl_8025F98C
lbl_8025FA94:
/* 8025FA94 0025B6F4  7F 83 E3 78 */	mr r3, r28
/* 8025FA98 0025B6F8  4B FF EA 39 */	bl func_8025E4D0
/* 8025FA9C 0025B6FC  7F C3 F3 78 */	mr r3, r30
lbl_8025FAA0:
/* 8025FAA0 0025B700  39 61 00 40 */	addi r11, r1, 0x40
/* 8025FAA4 0025B704  4B F6 76 B9 */	bl _restgpr_21
/* 8025FAA8 0025B708  80 01 00 44 */	lwz r0, 0x44(r1)
/* 8025FAAC 0025B70C  7C 08 03 A6 */	mtlr r0
/* 8025FAB0 0025B710  38 21 00 40 */	addi r1, r1, 0x40
/* 8025FAB4 0025B714  4E 80 00 20 */	blr

.global func_8025FAB8
func_8025FAB8:
/* 8025FAB8 0025B718  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8025FABC 0025B71C  7C 08 02 A6 */	mflr r0
/* 8025FAC0 0025B720  90 01 00 24 */	stw r0, 0x24(r1)
/* 8025FAC4 0025B724  39 61 00 20 */	addi r11, r1, 0x20
/* 8025FAC8 0025B728  4B F6 76 61 */	bl _savegpr_27
/* 8025FACC 0025B72C  7C 7B 1B 78 */	mr r27, r3
/* 8025FAD0 0025B730  7C 9C 23 78 */	mr r28, r4
/* 8025FAD4 0025B734  3B C0 FF FF */	li r30, -1
/* 8025FAD8 0025B738  3B A0 00 00 */	li r29, 0
lbl_8025FADC:
/* 8025FADC 0025B73C  A0 6D A7 16 */	lhz r3, lbl_8063F9D6-_SDA_BASE_(r13)
/* 8025FAE0 0025B740  38 03 00 01 */	addi r0, r3, 1
/* 8025FAE4 0025B744  54 03 04 3F */	clrlwi. r3, r0, 0x10
/* 8025FAE8 0025B748  B0 0D A7 16 */	sth r0, lbl_8063F9D6-_SDA_BASE_(r13)
/* 8025FAEC 0025B74C  40 82 00 0C */	bne lbl_8025FAF8
/* 8025FAF0 0025B750  38 03 00 01 */	addi r0, r3, 1
/* 8025FAF4 0025B754  B0 0D A7 16 */	sth r0, lbl_8063F9D6-_SDA_BASE_(r13)
lbl_8025FAF8:
/* 8025FAF8 0025B758  81 9B 00 00 */	lwz r12, 0(r27)
/* 8025FAFC 0025B75C  7F 63 DB 78 */	mr r3, r27
/* 8025FB00 0025B760  81 8C 00 50 */	lwz r12, 0x50(r12)
/* 8025FB04 0025B764  7D 89 03 A6 */	mtctr r12
/* 8025FB08 0025B768  4E 80 04 21 */	bctrl
/* 8025FB0C 0025B76C  A0 0D A7 16 */	lhz r0, lbl_8063F9D6-_SDA_BASE_(r13)
/* 8025FB10 0025B770  54 1F 06 3E */	clrlwi r31, r0, 0x18
/* 8025FB14 0025B774  50 7F 45 2F */	rlwimi. r31, r3, 8, 0x14, 0x17
/* 8025FB18 0025B778  41 82 00 24 */	beq lbl_8025FB3C
/* 8025FB1C 0025B77C  7F 63 DB 78 */	mr r3, r27
/* 8025FB20 0025B780  7F 84 E3 78 */	mr r4, r28
/* 8025FB24 0025B784  57 E5 04 3E */	clrlwi r5, r31, 0x10
/* 8025FB28 0025B788  48 00 00 3D */	bl func_8025FB64
/* 8025FB2C 0025B78C  2C 03 00 00 */	cmpwi r3, 0
/* 8025FB30 0025B790  40 82 00 0C */	bne lbl_8025FB3C
/* 8025FB34 0025B794  57 FE 04 3E */	clrlwi r30, r31, 0x10
/* 8025FB38 0025B798  48 00 00 10 */	b lbl_8025FB48
lbl_8025FB3C:
/* 8025FB3C 0025B79C  3B BD 00 01 */	addi r29, r29, 1
/* 8025FB40 0025B7A0  2C 1D 00 20 */	cmpwi r29, 0x20
/* 8025FB44 0025B7A4  41 80 FF 98 */	blt lbl_8025FADC
lbl_8025FB48:
/* 8025FB48 0025B7A8  39 61 00 20 */	addi r11, r1, 0x20
/* 8025FB4C 0025B7AC  7F C3 F3 78 */	mr r3, r30
/* 8025FB50 0025B7B0  4B F6 76 25 */	bl _restgpr_27
/* 8025FB54 0025B7B4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8025FB58 0025B7B8  7C 08 03 A6 */	mtlr r0
/* 8025FB5C 0025B7BC  38 21 00 20 */	addi r1, r1, 0x20
/* 8025FB60 0025B7C0  4E 80 00 20 */	blr

.global func_8025FB64
func_8025FB64:
/* 8025FB64 0025B7C4  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8025FB68 0025B7C8  7C 08 02 A6 */	mflr r0
/* 8025FB6C 0025B7CC  90 01 00 24 */	stw r0, 0x24(r1)
/* 8025FB70 0025B7D0  39 61 00 20 */	addi r11, r1, 0x20
/* 8025FB74 0025B7D4  4B F6 75 B5 */	bl _savegpr_27
/* 8025FB78 0025B7D8  7C 7B 1B 78 */	mr r27, r3
/* 8025FB7C 0025B7DC  7C 9C 23 78 */	mr r28, r4
/* 8025FB80 0025B7E0  7C BD 2B 78 */	mr r29, r5
/* 8025FB84 0025B7E4  3B E3 00 24 */	addi r31, r3, 0x24
/* 8025FB88 0025B7E8  3B C0 00 00 */	li r30, 0
lbl_8025FB8C:
/* 8025FB8C 0025B7EC  7F E3 FB 78 */	mr r3, r31
/* 8025FB90 0025B7F0  7F 84 E3 78 */	mr r4, r28
/* 8025FB94 0025B7F4  7F A5 EB 78 */	mr r5, r29
/* 8025FB98 0025B7F8  48 00 0E C9 */	bl func_80260A60
/* 8025FB9C 0025B7FC  2C 03 00 00 */	cmpwi r3, 0
/* 8025FBA0 0025B800  41 82 00 14 */	beq lbl_8025FBB4
/* 8025FBA4 0025B804  1C 1E 00 74 */	mulli r0, r30, 0x74
/* 8025FBA8 0025B808  7C 7B 02 14 */	add r3, r27, r0
/* 8025FBAC 0025B80C  38 63 00 24 */	addi r3, r3, 0x24
/* 8025FBB0 0025B810  48 00 00 18 */	b lbl_8025FBC8
lbl_8025FBB4:
/* 8025FBB4 0025B814  3B DE 00 01 */	addi r30, r30, 1
/* 8025FBB8 0025B818  3B FF 00 74 */	addi r31, r31, 0x74
/* 8025FBBC 0025B81C  2C 1E 00 20 */	cmpwi r30, 0x20
/* 8025FBC0 0025B820  41 80 FF CC */	blt lbl_8025FB8C
/* 8025FBC4 0025B824  38 60 00 00 */	li r3, 0
lbl_8025FBC8:
/* 8025FBC8 0025B828  39 61 00 20 */	addi r11, r1, 0x20
/* 8025FBCC 0025B82C  4B F6 75 A9 */	bl _restgpr_27
/* 8025FBD0 0025B830  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8025FBD4 0025B834  7C 08 03 A6 */	mtlr r0
/* 8025FBD8 0025B838  38 21 00 20 */	addi r1, r1, 0x20
/* 8025FBDC 0025B83C  4E 80 00 20 */	blr

.global func_8025FBE0
func_8025FBE0:
/* 8025FBE0 0025B840  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8025FBE4 0025B844  7C 08 02 A6 */	mflr r0
/* 8025FBE8 0025B848  90 01 00 24 */	stw r0, 0x24(r1)
/* 8025FBEC 0025B84C  39 61 00 20 */	addi r11, r1, 0x20
/* 8025FBF0 0025B850  4B F6 75 39 */	bl _savegpr_27
/* 8025FBF4 0025B854  7C 9C 23 78 */	mr r28, r4
/* 8025FBF8 0025B858  7C BD 2B 78 */	mr r29, r5
/* 8025FBFC 0025B85C  7C 7B 1B 78 */	mr r27, r3
/* 8025FC00 0025B860  4B FF FF 65 */	bl func_8025FB64
/* 8025FC04 0025B864  2C 03 00 00 */	cmpwi r3, 0
/* 8025FC08 0025B868  41 82 00 0C */	beq lbl_8025FC14
/* 8025FC0C 0025B86C  38 60 00 00 */	li r3, 0
/* 8025FC10 0025B870  48 00 00 AC */	b lbl_8025FCBC
lbl_8025FC14:
/* 8025FC14 0025B874  3B FB 00 24 */	addi r31, r27, 0x24
/* 8025FC18 0025B878  3B C0 00 00 */	li r30, 0
lbl_8025FC1C:
/* 8025FC1C 0025B87C  7F E3 FB 78 */	mr r3, r31
/* 8025FC20 0025B880  48 00 0D C1 */	bl func_802609E0
/* 8025FC24 0025B884  2C 03 00 00 */	cmpwi r3, 0
/* 8025FC28 0025B888  41 82 00 80 */	beq lbl_8025FCA8
/* 8025FC2C 0025B88C  1F FE 00 74 */	mulli r31, r30, 0x74
/* 8025FC30 0025B890  7C 7B FA 14 */	add r3, r27, r31
/* 8025FC34 0025B894  3B C3 00 24 */	addi r30, r3, 0x24
/* 8025FC38 0025B898  7F C3 F3 78 */	mr r3, r30
/* 8025FC3C 0025B89C  48 00 0E 99 */	bl func_80260AD4
/* 8025FC40 0025B8A0  7C 9B FA 14 */	add r4, r27, r31
/* 8025FC44 0025B8A4  7F 63 DB 78 */	mr r3, r27
/* 8025FC48 0025B8A8  B3 A4 00 26 */	sth r29, 0x26(r4)
/* 8025FC4C 0025B8AC  9B 9E 00 00 */	stb r28, 0(r30)
/* 8025FC50 0025B8B0  81 9B 00 00 */	lwz r12, 0(r27)
/* 8025FC54 0025B8B4  81 8C 00 64 */	lwz r12, 0x64(r12)
/* 8025FC58 0025B8B8  7D 89 03 A6 */	mtctr r12
/* 8025FC5C 0025B8BC  4E 80 04 21 */	bctrl
/* 8025FC60 0025B8C0  7C 9B FA 14 */	add r4, r27, r31
/* 8025FC64 0025B8C4  90 64 00 4C */	stw r3, 0x4c(r4)
/* 8025FC68 0025B8C8  7F 63 DB 78 */	mr r3, r27
/* 8025FC6C 0025B8CC  81 9B 00 00 */	lwz r12, 0(r27)
/* 8025FC70 0025B8D0  81 8C 00 68 */	lwz r12, 0x68(r12)
/* 8025FC74 0025B8D4  7D 89 03 A6 */	mtctr r12
/* 8025FC78 0025B8D8  4E 80 04 21 */	bctrl
/* 8025FC7C 0025B8DC  7C 9B FA 14 */	add r4, r27, r31
/* 8025FC80 0025B8E0  90 64 00 50 */	stw r3, 0x50(r4)
/* 8025FC84 0025B8E4  7F 63 DB 78 */	mr r3, r27
/* 8025FC88 0025B8E8  81 9B 00 00 */	lwz r12, 0(r27)
/* 8025FC8C 0025B8EC  81 8C 00 6C */	lwz r12, 0x6c(r12)
/* 8025FC90 0025B8F0  7D 89 03 A6 */	mtctr r12
/* 8025FC94 0025B8F4  4E 80 04 21 */	bctrl
/* 8025FC98 0025B8F8  7C 9B FA 14 */	add r4, r27, r31
/* 8025FC9C 0025B8FC  90 64 00 54 */	stw r3, 0x54(r4)
/* 8025FCA0 0025B900  7F C3 F3 78 */	mr r3, r30
/* 8025FCA4 0025B904  48 00 00 18 */	b lbl_8025FCBC
lbl_8025FCA8:
/* 8025FCA8 0025B908  3B DE 00 01 */	addi r30, r30, 1
/* 8025FCAC 0025B90C  3B FF 00 74 */	addi r31, r31, 0x74
/* 8025FCB0 0025B910  2C 1E 00 20 */	cmpwi r30, 0x20
/* 8025FCB4 0025B914  41 80 FF 68 */	blt lbl_8025FC1C
/* 8025FCB8 0025B918  38 60 00 00 */	li r3, 0
lbl_8025FCBC:
/* 8025FCBC 0025B91C  39 61 00 20 */	addi r11, r1, 0x20
/* 8025FCC0 0025B920  4B F6 74 B5 */	bl _restgpr_27
/* 8025FCC4 0025B924  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8025FCC8 0025B928  7C 08 03 A6 */	mtlr r0
/* 8025FCCC 0025B92C  38 21 00 20 */	addi r1, r1, 0x20
/* 8025FCD0 0025B930  4E 80 00 20 */	blr

.global func_8025FCD4
func_8025FCD4:
/* 8025FCD4 0025B934  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8025FCD8 0025B938  7C 08 02 A6 */	mflr r0
/* 8025FCDC 0025B93C  90 01 00 24 */	stw r0, 0x24(r1)
/* 8025FCE0 0025B940  39 61 00 20 */	addi r11, r1, 0x20
/* 8025FCE4 0025B944  4B F6 74 45 */	bl _savegpr_27
/* 8025FCE8 0025B948  7C 9B 23 78 */	mr r27, r4
/* 8025FCEC 0025B94C  7C BC 2B 78 */	mr r28, r5
/* 8025FCF0 0025B950  7C DD 33 78 */	mr r29, r6
/* 8025FCF4 0025B954  7C FE 3B 78 */	mr r30, r7
/* 8025FCF8 0025B958  7F 65 DB 78 */	mr r5, r27
/* 8025FCFC 0025B95C  38 80 00 01 */	li r4, 1
/* 8025FD00 0025B960  4B FF FE 65 */	bl func_8025FB64
/* 8025FD04 0025B964  2C 03 00 00 */	cmpwi r3, 0
/* 8025FD08 0025B968  7C 7F 1B 78 */	mr r31, r3
/* 8025FD0C 0025B96C  40 82 00 0C */	bne lbl_8025FD18
/* 8025FD10 0025B970  38 60 FF FF */	li r3, -1
/* 8025FD14 0025B974  48 00 00 20 */	b lbl_8025FD34
lbl_8025FD18:
/* 8025FD18 0025B978  7F C4 F3 78 */	mr r4, r30
/* 8025FD1C 0025B97C  48 00 0C D5 */	bl func_802609F0
/* 8025FD20 0025B980  7F E3 FB 78 */	mr r3, r31
/* 8025FD24 0025B984  7F 64 DB 78 */	mr r4, r27
/* 8025FD28 0025B988  7F 85 E3 78 */	mr r5, r28
/* 8025FD2C 0025B98C  7F A6 EB 78 */	mr r6, r29
/* 8025FD30 0025B990  48 00 11 F1 */	bl func_80260F20
lbl_8025FD34:
/* 8025FD34 0025B994  39 61 00 20 */	addi r11, r1, 0x20
/* 8025FD38 0025B998  4B F6 74 3D */	bl _restgpr_27
/* 8025FD3C 0025B99C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8025FD40 0025B9A0  7C 08 03 A6 */	mtlr r0
/* 8025FD44 0025B9A4  38 21 00 20 */	addi r1, r1, 0x20
/* 8025FD48 0025B9A8  4E 80 00 20 */	blr

.global func_8025FD4C
func_8025FD4C:
/* 8025FD4C 0025B9AC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8025FD50 0025B9B0  7C 08 02 A6 */	mflr r0
/* 8025FD54 0025B9B4  90 01 00 24 */	stw r0, 0x24(r1)
/* 8025FD58 0025B9B8  39 61 00 20 */	addi r11, r1, 0x20
/* 8025FD5C 0025B9BC  4B F6 73 C9 */	bl _savegpr_26
/* 8025FD60 0025B9C0  7C 9A 23 78 */	mr r26, r4
/* 8025FD64 0025B9C4  7C BB 2B 78 */	mr r27, r5
/* 8025FD68 0025B9C8  7C DC 33 78 */	mr r28, r6
/* 8025FD6C 0025B9CC  7C FD 3B 78 */	mr r29, r7
/* 8025FD70 0025B9D0  7D 1E 43 78 */	mr r30, r8
/* 8025FD74 0025B9D4  7F 45 D3 78 */	mr r5, r26
/* 8025FD78 0025B9D8  38 80 00 02 */	li r4, 2
/* 8025FD7C 0025B9DC  4B FF FD E9 */	bl func_8025FB64
/* 8025FD80 0025B9E0  2C 03 00 00 */	cmpwi r3, 0
/* 8025FD84 0025B9E4  7C 7F 1B 78 */	mr r31, r3
/* 8025FD88 0025B9E8  40 82 00 0C */	bne lbl_8025FD94
/* 8025FD8C 0025B9EC  38 60 FF FF */	li r3, -1
/* 8025FD90 0025B9F0  48 00 00 24 */	b lbl_8025FDB4
lbl_8025FD94:
/* 8025FD94 0025B9F4  7F C4 F3 78 */	mr r4, r30
/* 8025FD98 0025B9F8  48 00 0C 59 */	bl func_802609F0
/* 8025FD9C 0025B9FC  7F E3 FB 78 */	mr r3, r31
/* 8025FDA0 0025BA00  7F 44 D3 78 */	mr r4, r26
/* 8025FDA4 0025BA04  7F 65 DB 78 */	mr r5, r27
/* 8025FDA8 0025BA08  7F 86 E3 78 */	mr r6, r28
/* 8025FDAC 0025BA0C  7F A7 EB 78 */	mr r7, r29
/* 8025FDB0 0025BA10  48 00 13 41 */	bl func_802610F0
lbl_8025FDB4:
/* 8025FDB4 0025BA14  39 61 00 20 */	addi r11, r1, 0x20
/* 8025FDB8 0025BA18  4B F6 73 B9 */	bl _restgpr_26
/* 8025FDBC 0025BA1C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8025FDC0 0025BA20  7C 08 03 A6 */	mtlr r0
/* 8025FDC4 0025BA24  38 21 00 20 */	addi r1, r1, 0x20
/* 8025FDC8 0025BA28  4E 80 00 20 */	blr

.global func_8025FDCC
func_8025FDCC:
/* 8025FDCC 0025BA2C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8025FDD0 0025BA30  7C 08 02 A6 */	mflr r0
/* 8025FDD4 0025BA34  7C 85 23 78 */	mr r5, r4
/* 8025FDD8 0025BA38  38 80 00 02 */	li r4, 2
/* 8025FDDC 0025BA3C  90 01 00 14 */	stw r0, 0x14(r1)
/* 8025FDE0 0025BA40  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8025FDE4 0025BA44  93 C1 00 08 */	stw r30, 8(r1)
/* 8025FDE8 0025BA48  7C 7E 1B 78 */	mr r30, r3
/* 8025FDEC 0025BA4C  4B FF FD 79 */	bl func_8025FB64
/* 8025FDF0 0025BA50  2C 03 00 00 */	cmpwi r3, 0
/* 8025FDF4 0025BA54  7C 7F 1B 78 */	mr r31, r3
/* 8025FDF8 0025BA58  40 82 00 0C */	bne lbl_8025FE04
/* 8025FDFC 0025BA5C  38 60 FF FF */	li r3, -1
/* 8025FE00 0025BA60  48 00 00 1C */	b lbl_8025FE1C
lbl_8025FE04:
/* 8025FE04 0025BA64  7F C3 F3 78 */	mr r3, r30
/* 8025FE08 0025BA68  7F E4 FB 78 */	mr r4, r31
/* 8025FE0C 0025BA6C  48 00 01 69 */	bl func_8025FF74
/* 8025FE10 0025BA70  7F E3 FB 78 */	mr r3, r31
/* 8025FE14 0025BA74  48 00 0C C1 */	bl func_80260AD4
/* 8025FE18 0025BA78  38 60 00 00 */	li r3, 0
lbl_8025FE1C:
/* 8025FE1C 0025BA7C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8025FE20 0025BA80  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8025FE24 0025BA84  83 C1 00 08 */	lwz r30, 8(r1)
/* 8025FE28 0025BA88  7C 08 03 A6 */	mtlr r0
/* 8025FE2C 0025BA8C  38 21 00 10 */	addi r1, r1, 0x10
/* 8025FE30 0025BA90  4E 80 00 20 */	blr

.global func_8025FE34
func_8025FE34:
/* 8025FE34 0025BA94  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8025FE38 0025BA98  7C 08 02 A6 */	mflr r0
/* 8025FE3C 0025BA9C  90 01 00 24 */	stw r0, 0x24(r1)
/* 8025FE40 0025BAA0  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8025FE44 0025BAA4  7C DF 33 78 */	mr r31, r6
/* 8025FE48 0025BAA8  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8025FE4C 0025BAAC  7C BE 2B 78 */	mr r30, r5
/* 8025FE50 0025BAB0  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8025FE54 0025BAB4  7C 9D 23 78 */	mr r29, r4
/* 8025FE58 0025BAB8  38 80 00 02 */	li r4, 2
/* 8025FE5C 0025BABC  7F A5 EB 78 */	mr r5, r29
/* 8025FE60 0025BAC0  4B FF FD 81 */	bl func_8025FBE0
/* 8025FE64 0025BAC4  2C 03 00 00 */	cmpwi r3, 0
/* 8025FE68 0025BAC8  40 82 00 0C */	bne lbl_8025FE74
/* 8025FE6C 0025BACC  38 60 FF FF */	li r3, -1
/* 8025FE70 0025BAD0  48 00 00 14 */	b lbl_8025FE84
lbl_8025FE74:
/* 8025FE74 0025BAD4  7F C4 F3 78 */	mr r4, r30
/* 8025FE78 0025BAD8  7F E5 FB 78 */	mr r5, r31
/* 8025FE7C 0025BADC  48 00 10 4D */	bl func_80260EC8
/* 8025FE80 0025BAE0  7F A3 EB 78 */	mr r3, r29
lbl_8025FE84:
/* 8025FE84 0025BAE4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8025FE88 0025BAE8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8025FE8C 0025BAEC  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8025FE90 0025BAF0  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8025FE94 0025BAF4  7C 08 03 A6 */	mtlr r0
/* 8025FE98 0025BAF8  38 21 00 20 */	addi r1, r1, 0x20
/* 8025FE9C 0025BAFC  4E 80 00 20 */	blr

.global func_8025FEA0
func_8025FEA0:
/* 8025FEA0 0025BB00  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8025FEA4 0025BB04  7C 08 02 A6 */	mflr r0
/* 8025FEA8 0025BB08  90 01 00 24 */	stw r0, 0x24(r1)
/* 8025FEAC 0025BB0C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8025FEB0 0025BB10  7C DF 33 78 */	mr r31, r6
/* 8025FEB4 0025BB14  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8025FEB8 0025BB18  7C BE 2B 78 */	mr r30, r5
/* 8025FEBC 0025BB1C  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8025FEC0 0025BB20  7C 9D 23 78 */	mr r29, r4
/* 8025FEC4 0025BB24  38 80 00 01 */	li r4, 1
/* 8025FEC8 0025BB28  7F A5 EB 78 */	mr r5, r29
/* 8025FECC 0025BB2C  4B FF FD 15 */	bl func_8025FBE0
/* 8025FED0 0025BB30  2C 03 00 00 */	cmpwi r3, 0
/* 8025FED4 0025BB34  40 82 00 0C */	bne lbl_8025FEE0
/* 8025FED8 0025BB38  38 60 FF FF */	li r3, -1
/* 8025FEDC 0025BB3C  48 00 00 14 */	b lbl_8025FEF0
lbl_8025FEE0:
/* 8025FEE0 0025BB40  7F C4 F3 78 */	mr r4, r30
/* 8025FEE4 0025BB44  7F E5 FB 78 */	mr r5, r31
/* 8025FEE8 0025BB48  48 00 0F E1 */	bl func_80260EC8
/* 8025FEEC 0025BB4C  7F A3 EB 78 */	mr r3, r29
lbl_8025FEF0:
/* 8025FEF0 0025BB50  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8025FEF4 0025BB54  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8025FEF8 0025BB58  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8025FEFC 0025BB5C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8025FF00 0025BB60  7C 08 03 A6 */	mtlr r0
/* 8025FF04 0025BB64  38 21 00 20 */	addi r1, r1, 0x20
/* 8025FF08 0025BB68  4E 80 00 20 */	blr

.global func_8025FF0C
func_8025FF0C:
/* 8025FF0C 0025BB6C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8025FF10 0025BB70  7C 08 02 A6 */	mflr r0
/* 8025FF14 0025BB74  7C 85 23 78 */	mr r5, r4
/* 8025FF18 0025BB78  38 80 00 01 */	li r4, 1
/* 8025FF1C 0025BB7C  90 01 00 14 */	stw r0, 0x14(r1)
/* 8025FF20 0025BB80  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8025FF24 0025BB84  93 C1 00 08 */	stw r30, 8(r1)
/* 8025FF28 0025BB88  7C 7E 1B 78 */	mr r30, r3
/* 8025FF2C 0025BB8C  4B FF FC 39 */	bl func_8025FB64
/* 8025FF30 0025BB90  2C 03 00 00 */	cmpwi r3, 0
/* 8025FF34 0025BB94  7C 7F 1B 78 */	mr r31, r3
/* 8025FF38 0025BB98  40 82 00 0C */	bne lbl_8025FF44
/* 8025FF3C 0025BB9C  38 60 FF FF */	li r3, -1
/* 8025FF40 0025BBA0  48 00 00 1C */	b lbl_8025FF5C
lbl_8025FF44:
/* 8025FF44 0025BBA4  7F C3 F3 78 */	mr r3, r30
/* 8025FF48 0025BBA8  7F E4 FB 78 */	mr r4, r31
/* 8025FF4C 0025BBAC  48 00 00 29 */	bl func_8025FF74
/* 8025FF50 0025BBB0  7F E3 FB 78 */	mr r3, r31
/* 8025FF54 0025BBB4  48 00 0B 81 */	bl func_80260AD4
/* 8025FF58 0025BBB8  38 60 00 00 */	li r3, 0
lbl_8025FF5C:
/* 8025FF5C 0025BBBC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8025FF60 0025BBC0  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8025FF64 0025BBC4  83 C1 00 08 */	lwz r30, 8(r1)
/* 8025FF68 0025BBC8  7C 08 03 A6 */	mtlr r0
/* 8025FF6C 0025BBCC  38 21 00 10 */	addi r1, r1, 0x10
/* 8025FF70 0025BBD0  4E 80 00 20 */	blr

.global func_8025FF74
func_8025FF74:
/* 8025FF74 0025BBD4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8025FF78 0025BBD8  7C 08 02 A6 */	mflr r0
/* 8025FF7C 0025BBDC  90 01 00 14 */	stw r0, 0x14(r1)
/* 8025FF80 0025BBE0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8025FF84 0025BBE4  7C 9F 23 78 */	mr r31, r4
/* 8025FF88 0025BBE8  7F E3 FB 78 */	mr r3, r31
/* 8025FF8C 0025BBEC  48 00 0A 55 */	bl func_802609E0
/* 8025FF90 0025BBF0  2C 03 00 00 */	cmpwi r3, 0
/* 8025FF94 0025BBF4  40 82 00 30 */	bne lbl_8025FFC4
/* 8025FF98 0025BBF8  7F E3 FB 78 */	mr r3, r31
/* 8025FF9C 0025BBFC  48 00 0A 5D */	bl func_802609F8
/* 8025FFA0 0025BC00  54 60 07 BD */	rlwinm. r0, r3, 0, 0x1e, 0x1e
/* 8025FFA4 0025BC04  41 82 00 18 */	beq lbl_8025FFBC
/* 8025FFA8 0025BC08  7F E3 FB 78 */	mr r3, r31
/* 8025FFAC 0025BC0C  48 00 0D 9D */	bl func_80260D48
/* 8025FFB0 0025BC10  2C 03 00 00 */	cmpwi r3, 0
/* 8025FFB4 0025BC14  41 82 00 08 */	beq lbl_8025FFBC
/* 8025FFB8 0025BC18  4B FF E5 19 */	bl func_8025E4D0
lbl_8025FFBC:
/* 8025FFBC 0025BC1C  7F E3 FB 78 */	mr r3, r31
/* 8025FFC0 0025BC20  48 00 0B 15 */	bl func_80260AD4
lbl_8025FFC4:
/* 8025FFC4 0025BC24  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8025FFC8 0025BC28  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8025FFCC 0025BC2C  7C 08 03 A6 */	mtlr r0
/* 8025FFD0 0025BC30  38 21 00 10 */	addi r1, r1, 0x10
/* 8025FFD4 0025BC34  4E 80 00 20 */	blr

.global func_8025FFD8
func_8025FFD8:
/* 8025FFD8 0025BC38  38 A0 00 01 */	li r5, 1
/* 8025FFDC 0025BC3C  38 6D A7 10 */	addi r3, r13, lbl_8063F9D0-_SDA_BASE_
/* 8025FFE0 0025BC40  38 80 00 04 */	li r4, 4
/* 8025FFE4 0025BC44  38 00 00 00 */	li r0, 0
/* 8025FFE8 0025BC48  98 AD A7 10 */	stb r5, lbl_8063F9D0-_SDA_BASE_(r13)
/* 8025FFEC 0025BC4C  B0 83 00 02 */	sth r4, 2(r3)
/* 8025FFF0 0025BC50  98 03 00 04 */	stb r0, 4(r3)
/* 8025FFF4 0025BC54  4E 80 00 20 */	blr