summaryrefslogtreecommitdiff
path: root/asm/code_801FA38C.s
blob: ea0d0ff83d726c5c220a518560e32090cbe6c1fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
.include "macros.inc"

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

.global func_801FA38C
func_801FA38C:
/* 801FA38C 001F5FEC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801FA390 001F5FF0  7C 08 02 A6 */	mflr r0
/* 801FA394 001F5FF4  90 01 00 14 */	stw r0, 0x14(r1)
/* 801FA398 001F5FF8  38 00 00 00 */	li r0, 0
/* 801FA39C 001F5FFC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801FA3A0 001F6000  7C 9F 23 78 */	mr r31, r4
/* 801FA3A4 001F6004  93 C1 00 08 */	stw r30, 8(r1)
/* 801FA3A8 001F6008  7C 7E 1B 78 */	mr r30, r3
/* 801FA3AC 001F600C  90 03 00 00 */	stw r0, 0(r3)
/* 801FA3B0 001F6010  90 03 00 04 */	stw r0, 4(r3)
/* 801FA3B4 001F6014  90 03 00 08 */	stw r0, 8(r3)
/* 801FA3B8 001F6018  90 03 00 0C */	stw r0, 0xc(r3)
/* 801FA3BC 001F601C  90 03 00 10 */	stw r0, 0x10(r3)
/* 801FA3C0 001F6020  B0 83 00 14 */	sth r4, 0x14(r3)
/* 801FA3C4 001F6024  90 03 00 18 */	stw r0, 0x18(r3)
/* 801FA3C8 001F6028  90 03 00 1C */	stw r0, 0x1c(r3)
/* 801FA3CC 001F602C  90 03 00 20 */	stw r0, 0x20(r3)
/* 801FA3D0 001F6030  90 03 00 24 */	stw r0, 0x24(r3)
/* 801FA3D4 001F6034  90 03 00 28 */	stw r0, 0x28(r3)
/* 801FA3D8 001F6038  1C 64 00 44 */	mulli r3, r4, 0x44
/* 801FA3DC 001F603C  4B FE 06 99 */	bl __nwa__FUl
/* 801FA3E0 001F6040  2C 03 00 00 */	cmpwi r3, 0
/* 801FA3E4 001F6044  90 7E 00 10 */	stw r3, 0x10(r30)
/* 801FA3E8 001F6048  41 82 00 10 */	beq lbl_801FA3F8
/* 801FA3EC 001F604C  1C BF 00 44 */	mulli r5, r31, 0x44
/* 801FA3F0 001F6050  38 80 00 00 */	li r4, 0
/* 801FA3F4 001F6054  4B E0 9D 11 */	bl memset
lbl_801FA3F8:
/* 801FA3F8 001F6058  A0 7E 00 14 */	lhz r3, 0x14(r30)
/* 801FA3FC 001F605C  38 63 FF FF */	addi r3, r3, -1
/* 801FA400 001F6060  38 03 FF FF */	addi r0, r3, -1
/* 801FA404 001F6064  7C 03 01 D6 */	mullw r0, r3, r0
/* 801FA408 001F6068  7C 00 0E 70 */	srawi r0, r0, 1
/* 801FA40C 001F606C  7C 03 02 14 */	add r0, r3, r0
/* 801FA410 001F6070  1F E0 00 0C */	mulli r31, r0, 0xc
/* 801FA414 001F6074  7F E3 FB 78 */	mr r3, r31
/* 801FA418 001F6078  4B FE 06 5D */	bl __nwa__FUl
/* 801FA41C 001F607C  2C 03 00 00 */	cmpwi r3, 0
/* 801FA420 001F6080  90 7E 00 1C */	stw r3, 0x1c(r30)
/* 801FA424 001F6084  41 82 00 18 */	beq lbl_801FA43C
/* 801FA428 001F6088  7F E5 FB 78 */	mr r5, r31
/* 801FA42C 001F608C  38 80 00 00 */	li r4, 0
/* 801FA430 001F6090  4B E0 9C D5 */	bl memset
/* 801FA434 001F6094  7F C3 F3 78 */	mr r3, r30
/* 801FA438 001F6098  48 00 03 C1 */	bl func_801FA7F8
lbl_801FA43C:
/* 801FA43C 001F609C  38 7E 00 20 */	addi r3, r30, 0x20
/* 801FA440 001F60A0  38 80 00 00 */	li r4, 0
/* 801FA444 001F60A4  38 A0 00 0C */	li r5, 0xc
/* 801FA448 001F60A8  4B E0 9C BD */	bl memset
/* 801FA44C 001F60AC  93 CD A1 40 */	stw r30, lbl_8063F400-_SDA_BASE_(r13)
/* 801FA450 001F60B0  7F C3 F3 78 */	mr r3, r30
/* 801FA454 001F60B4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801FA458 001F60B8  83 C1 00 08 */	lwz r30, 8(r1)
/* 801FA45C 001F60BC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801FA460 001F60C0  7C 08 03 A6 */	mtlr r0
/* 801FA464 001F60C4  38 21 00 10 */	addi r1, r1, 0x10
/* 801FA468 001F60C8  4E 80 00 20 */	blr

.global func_801FA46C
func_801FA46C:
/* 801FA46C 001F60CC  28 04 FF FF */	cmplwi r4, 0xffff
/* 801FA470 001F60D0  40 82 00 0C */	bne lbl_801FA47C
/* 801FA474 001F60D4  38 60 00 00 */	li r3, 0
/* 801FA478 001F60D8  4E 80 00 20 */	blr
lbl_801FA47C:
/* 801FA47C 001F60DC  A0 03 00 14 */	lhz r0, 0x14(r3)
/* 801FA480 001F60E0  7C 04 00 40 */	cmplw r4, r0
/* 801FA484 001F60E4  41 80 00 0C */	blt lbl_801FA490
/* 801FA488 001F60E8  38 60 00 00 */	li r3, 0
/* 801FA48C 001F60EC  4E 80 00 20 */	blr
lbl_801FA490:
/* 801FA490 001F60F0  1C 04 00 44 */	mulli r0, r4, 0x44
/* 801FA494 001F60F4  80 63 00 10 */	lwz r3, 0x10(r3)
/* 801FA498 001F60F8  7C 63 00 2E */	lwzx r3, r3, r0
/* 801FA49C 001F60FC  4E 80 00 20 */	blr

.global func_801FA4A0
func_801FA4A0:
/* 801FA4A0 001F6100  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 801FA4A4 001F6104  7C 08 02 A6 */	mflr r0
/* 801FA4A8 001F6108  2C 03 00 00 */	cmpwi r3, 0
/* 801FA4AC 001F610C  90 01 00 24 */	stw r0, 0x24(r1)
/* 801FA4B0 001F6110  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 801FA4B4 001F6114  93 C1 00 18 */	stw r30, 0x18(r1)
/* 801FA4B8 001F6118  93 A1 00 14 */	stw r29, 0x14(r1)
/* 801FA4BC 001F611C  7C 7D 1B 78 */	mr r29, r3
/* 801FA4C0 001F6120  83 ED A1 40 */	lwz r31, lbl_8063F400-_SDA_BASE_(r13)
/* 801FA4C4 001F6124  41 82 00 68 */	beq lbl_801FA52C
/* 801FA4C8 001F6128  83 DF 00 00 */	lwz r30, 0(r31)
/* 801FA4CC 001F612C  2C 1E 00 00 */	cmpwi r30, 0
/* 801FA4D0 001F6130  41 82 00 30 */	beq lbl_801FA500
/* 801FA4D4 001F6134  80 1E 00 00 */	lwz r0, 0(r30)
/* 801FA4D8 001F6138  7C 00 18 40 */	cmplw r0, r3
/* 801FA4DC 001F613C  41 82 00 50 */	beq lbl_801FA52C
/* 801FA4E0 001F6140  48 00 00 14 */	b lbl_801FA4F4
lbl_801FA4E4:
/* 801FA4E4 001F6144  80 04 00 00 */	lwz r0, 0(r4)
/* 801FA4E8 001F6148  7C 00 18 40 */	cmplw r0, r3
/* 801FA4EC 001F614C  41 82 00 40 */	beq lbl_801FA52C
/* 801FA4F0 001F6150  7C 9E 23 78 */	mr r30, r4
lbl_801FA4F4:
/* 801FA4F4 001F6154  80 9E 00 04 */	lwz r4, 4(r30)
/* 801FA4F8 001F6158  2C 04 00 00 */	cmpwi r4, 0
/* 801FA4FC 001F615C  40 82 FF E8 */	bne lbl_801FA4E4
lbl_801FA500:
/* 801FA500 001F6160  48 04 F7 F9 */	bl func_80249CF8
/* 801FA504 001F6164  2C 03 00 00 */	cmpwi r3, 0
/* 801FA508 001F6168  41 82 00 10 */	beq lbl_801FA518
/* 801FA50C 001F616C  93 A3 00 00 */	stw r29, 0(r3)
/* 801FA510 001F6170  38 00 00 00 */	li r0, 0
/* 801FA514 001F6174  90 03 00 04 */	stw r0, 4(r3)
lbl_801FA518:
/* 801FA518 001F6178  2C 1E 00 00 */	cmpwi r30, 0
/* 801FA51C 001F617C  41 82 00 0C */	beq lbl_801FA528
/* 801FA520 001F6180  90 7E 00 04 */	stw r3, 4(r30)
/* 801FA524 001F6184  48 00 00 08 */	b lbl_801FA52C
lbl_801FA528:
/* 801FA528 001F6188  90 7F 00 00 */	stw r3, 0(r31)
lbl_801FA52C:
/* 801FA52C 001F618C  80 6D A1 40 */	lwz r3, lbl_8063F400-_SDA_BASE_(r13)
/* 801FA530 001F6190  83 C3 00 10 */	lwz r30, 0x10(r3)
/* 801FA534 001F6194  2C 1E 00 00 */	cmpwi r30, 0
/* 801FA538 001F6198  41 82 00 88 */	beq lbl_801FA5C0
/* 801FA53C 001F619C  A0 1D 01 04 */	lhz r0, 0x104(r29)
/* 801FA540 001F61A0  28 00 FF FF */	cmplwi r0, 0xffff
/* 801FA544 001F61A4  40 82 00 7C */	bne lbl_801FA5C0
/* 801FA548 001F61A8  A0 63 00 14 */	lhz r3, 0x14(r3)
/* 801FA54C 001F61AC  3B E0 00 00 */	li r31, 0
/* 801FA550 001F61B0  48 00 00 64 */	b lbl_801FA5B4
lbl_801FA554:
/* 801FA554 001F61B4  80 1E 00 00 */	lwz r0, 0(r30)
/* 801FA558 001F61B8  2C 00 00 00 */	cmpwi r0, 0
/* 801FA55C 001F61BC  40 82 00 50 */	bne lbl_801FA5AC
/* 801FA560 001F61C0  7F C3 F3 78 */	mr r3, r30
/* 801FA564 001F61C4  38 80 00 00 */	li r4, 0
/* 801FA568 001F61C8  38 A0 00 44 */	li r5, 0x44
/* 801FA56C 001F61CC  4B E0 9B 99 */	bl memset
/* 801FA570 001F61D0  93 BE 00 00 */	stw r29, 0(r30)
/* 801FA574 001F61D4  38 7D 01 08 */	addi r3, r29, 0x108
/* 801FA578 001F61D8  38 1D 01 14 */	addi r0, r29, 0x114
/* 801FA57C 001F61DC  38 9E 00 24 */	addi r4, r30, 0x24
/* 801FA580 001F61E0  93 BE 00 04 */	stw r29, 4(r30)
/* 801FA584 001F61E4  90 7E 00 08 */	stw r3, 8(r30)
/* 801FA588 001F61E8  93 BE 00 24 */	stw r29, 0x24(r30)
/* 801FA58C 001F61EC  90 1E 00 28 */	stw r0, 0x28(r30)
/* 801FA590 001F61F0  80 6D A1 40 */	lwz r3, lbl_8063F400-_SDA_BASE_(r13)
/* 801FA594 001F61F4  48 00 02 E9 */	bl func_801FA87C
/* 801FA598 001F61F8  80 6D A1 40 */	lwz r3, lbl_8063F400-_SDA_BASE_(r13)
/* 801FA59C 001F61FC  38 9E 00 04 */	addi r4, r30, 4
/* 801FA5A0 001F6200  48 00 02 DD */	bl func_801FA87C
/* 801FA5A4 001F6204  B3 FD 01 04 */	sth r31, 0x104(r29)
/* 801FA5A8 001F6208  48 00 00 18 */	b lbl_801FA5C0
lbl_801FA5AC:
/* 801FA5AC 001F620C  3B FF 00 01 */	addi r31, r31, 1
/* 801FA5B0 001F6210  3B DE 00 44 */	addi r30, r30, 0x44
lbl_801FA5B4:
/* 801FA5B4 001F6214  57 E0 04 3E */	clrlwi r0, r31, 0x10
/* 801FA5B8 001F6218  7C 00 18 40 */	cmplw r0, r3
/* 801FA5BC 001F621C  41 80 FF 98 */	blt lbl_801FA554
lbl_801FA5C0:
/* 801FA5C0 001F6220  80 01 00 24 */	lwz r0, 0x24(r1)
/* 801FA5C4 001F6224  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 801FA5C8 001F6228  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 801FA5CC 001F622C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 801FA5D0 001F6230  7C 08 03 A6 */	mtlr r0
/* 801FA5D4 001F6234  38 21 00 20 */	addi r1, r1, 0x20
/* 801FA5D8 001F6238  4E 80 00 20 */	blr

.global func_801FA5DC
func_801FA5DC:
/* 801FA5DC 001F623C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801FA5E0 001F6240  7C 08 02 A6 */	mflr r0
/* 801FA5E4 001F6244  2C 03 00 00 */	cmpwi r3, 0
/* 801FA5E8 001F6248  90 01 00 14 */	stw r0, 0x14(r1)
/* 801FA5EC 001F624C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801FA5F0 001F6250  93 C1 00 08 */	stw r30, 8(r1)
/* 801FA5F4 001F6254  7C 7E 1B 78 */	mr r30, r3
/* 801FA5F8 001F6258  80 8D A1 40 */	lwz r4, lbl_8063F400-_SDA_BASE_(r13)
/* 801FA5FC 001F625C  41 82 00 5C */	beq lbl_801FA658
/* 801FA600 001F6260  80 C4 00 00 */	lwz r6, 0(r4)
/* 801FA604 001F6264  38 A0 00 00 */	li r5, 0
/* 801FA608 001F6268  2C 06 00 00 */	cmpwi r6, 0
/* 801FA60C 001F626C  41 82 00 4C */	beq lbl_801FA658
/* 801FA610 001F6270  48 00 00 18 */	b lbl_801FA628
lbl_801FA614:
/* 801FA614 001F6274  80 06 00 00 */	lwz r0, 0(r6)
/* 801FA618 001F6278  7C 00 18 40 */	cmplw r0, r3
/* 801FA61C 001F627C  41 82 00 14 */	beq lbl_801FA630
/* 801FA620 001F6280  7C C5 33 78 */	mr r5, r6
/* 801FA624 001F6284  80 C6 00 04 */	lwz r6, 4(r6)
lbl_801FA628:
/* 801FA628 001F6288  2C 06 00 00 */	cmpwi r6, 0
/* 801FA62C 001F628C  40 82 FF E8 */	bne lbl_801FA614
lbl_801FA630:
/* 801FA630 001F6290  2C 06 00 00 */	cmpwi r6, 0
/* 801FA634 001F6294  41 82 00 24 */	beq lbl_801FA658
/* 801FA638 001F6298  2C 05 00 00 */	cmpwi r5, 0
/* 801FA63C 001F629C  80 06 00 04 */	lwz r0, 4(r6)
/* 801FA640 001F62A0  41 82 00 0C */	beq lbl_801FA64C
/* 801FA644 001F62A4  90 05 00 04 */	stw r0, 4(r5)
/* 801FA648 001F62A8  48 00 00 08 */	b lbl_801FA650
lbl_801FA64C:
/* 801FA64C 001F62AC  90 04 00 00 */	stw r0, 0(r4)
lbl_801FA650:
/* 801FA650 001F62B0  7C C3 33 78 */	mr r3, r6
/* 801FA654 001F62B4  48 04 F6 B5 */	bl func_80249D08
lbl_801FA658:
/* 801FA658 001F62B8  80 6D A1 40 */	lwz r3, lbl_8063F400-_SDA_BASE_(r13)
/* 801FA65C 001F62BC  80 83 00 10 */	lwz r4, 0x10(r3)
/* 801FA660 001F62C0  2C 04 00 00 */	cmpwi r4, 0
/* 801FA664 001F62C4  41 82 00 40 */	beq lbl_801FA6A4
/* 801FA668 001F62C8  A0 1E 01 04 */	lhz r0, 0x104(r30)
/* 801FA66C 001F62CC  28 00 FF FF */	cmplwi r0, 0xffff
/* 801FA670 001F62D0  41 82 00 34 */	beq lbl_801FA6A4
/* 801FA674 001F62D4  1C 00 00 44 */	mulli r0, r0, 0x44
/* 801FA678 001F62D8  7F E4 02 14 */	add r31, r4, r0
/* 801FA67C 001F62DC  38 9F 00 04 */	addi r4, r31, 4
/* 801FA680 001F62E0  48 00 02 65 */	bl func_801FA8E4
/* 801FA684 001F62E4  80 6D A1 40 */	lwz r3, lbl_8063F400-_SDA_BASE_(r13)
/* 801FA688 001F62E8  38 9F 00 24 */	addi r4, r31, 0x24
/* 801FA68C 001F62EC  48 00 02 59 */	bl func_801FA8E4
/* 801FA690 001F62F0  38 00 00 00 */	li r0, 0
/* 801FA694 001F62F4  3C 60 00 01 */	lis r3, 0x0000FFFF@ha
/* 801FA698 001F62F8  90 1F 00 00 */	stw r0, 0(r31)
/* 801FA69C 001F62FC  38 03 FF FF */	addi r0, r3, 0x0000FFFF@l
/* 801FA6A0 001F6300  B0 1E 01 04 */	sth r0, 0x104(r30)
lbl_801FA6A4:
/* 801FA6A4 001F6304  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801FA6A8 001F6308  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801FA6AC 001F630C  83 C1 00 08 */	lwz r30, 8(r1)
/* 801FA6B0 001F6310  7C 08 03 A6 */	mtlr r0
/* 801FA6B4 001F6314  38 21 00 10 */	addi r1, r1, 0x10
/* 801FA6B8 001F6318  4E 80 00 20 */	blr

.global func_801FA6BC
func_801FA6BC:
/* 801FA6BC 001F631C  A0 E4 01 04 */	lhz r7, 0x104(r4)
/* 801FA6C0 001F6320  A0 C5 01 04 */	lhz r6, 0x104(r5)
/* 801FA6C4 001F6324  28 07 FF FF */	cmplwi r7, 0xffff
/* 801FA6C8 001F6328  41 82 00 0C */	beq lbl_801FA6D4
/* 801FA6CC 001F632C  28 06 FF FF */	cmplwi r6, 0xffff
/* 801FA6D0 001F6330  40 82 00 0C */	bne lbl_801FA6DC
lbl_801FA6D4:
/* 801FA6D4 001F6334  38 60 00 00 */	li r3, 0
/* 801FA6D8 001F6338  4E 80 00 20 */	blr
lbl_801FA6DC:
/* 801FA6DC 001F633C  7C 06 38 40 */	cmplw r6, r7
/* 801FA6E0 001F6340  80 A3 00 1C */	lwz r5, 0x1c(r3)
/* 801FA6E4 001F6344  40 81 00 34 */	ble lbl_801FA718
/* 801FA6E8 001F6348  38 07 FF FF */	addi r0, r7, -1
/* 801FA6EC 001F634C  A0 63 00 14 */	lhz r3, 0x14(r3)
/* 801FA6F0 001F6350  7C 80 39 D6 */	mullw r4, r0, r7
/* 801FA6F4 001F6354  38 03 FF FE */	addi r0, r3, -2
/* 801FA6F8 001F6358  54 83 0F FE */	srwi r3, r4, 0x1f
/* 801FA6FC 001F635C  7C 63 22 14 */	add r3, r3, r4
/* 801FA700 001F6360  7C 07 01 D6 */	mullw r0, r7, r0
/* 801FA704 001F6364  7C 63 0E 70 */	srawi r3, r3, 1
/* 801FA708 001F6368  7C 03 00 50 */	subf r0, r3, r0
/* 801FA70C 001F636C  7C 66 02 14 */	add r3, r6, r0
/* 801FA710 001F6370  38 03 FF FF */	addi r0, r3, -1
/* 801FA714 001F6374  48 00 00 30 */	b lbl_801FA744
lbl_801FA718:
/* 801FA718 001F6378  38 06 FF FF */	addi r0, r6, -1
/* 801FA71C 001F637C  A0 63 00 14 */	lhz r3, 0x14(r3)
/* 801FA720 001F6380  7C 80 31 D6 */	mullw r4, r0, r6
/* 801FA724 001F6384  38 03 FF FE */	addi r0, r3, -2
/* 801FA728 001F6388  54 83 0F FE */	srwi r3, r4, 0x1f
/* 801FA72C 001F638C  7C 63 22 14 */	add r3, r3, r4
/* 801FA730 001F6390  7C 06 01 D6 */	mullw r0, r6, r0
/* 801FA734 001F6394  7C 63 0E 70 */	srawi r3, r3, 1
/* 801FA738 001F6398  7C 03 00 50 */	subf r0, r3, r0
/* 801FA73C 001F639C  7C 67 02 14 */	add r3, r7, r0
/* 801FA740 001F63A0  38 03 FF FF */	addi r0, r3, -1
lbl_801FA744:
/* 801FA744 001F63A4  1C 00 00 0C */	mulli r0, r0, 0xc
/* 801FA748 001F63A8  7C 65 02 14 */	add r3, r5, r0
/* 801FA74C 001F63AC  4E 80 00 20 */	blr

.global func_801FA750
func_801FA750:
/* 801FA750 001F63B0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801FA754 001F63B4  7C 08 02 A6 */	mflr r0
/* 801FA758 001F63B8  90 01 00 14 */	stw r0, 0x14(r1)
/* 801FA75C 001F63BC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801FA760 001F63C0  7C DF 33 78 */	mr r31, r6
/* 801FA764 001F63C4  93 C1 00 08 */	stw r30, 8(r1)
/* 801FA768 001F63C8  7C 7E 1B 78 */	mr r30, r3
/* 801FA76C 001F63CC  4B FF FF 51 */	bl func_801FA6BC
/* 801FA770 001F63D0  2C 03 00 00 */	cmpwi r3, 0
/* 801FA774 001F63D4  41 82 00 38 */	beq lbl_801FA7AC
/* 801FA778 001F63D8  88 03 00 08 */	lbz r0, 8(r3)
/* 801FA77C 001F63DC  2C 00 00 00 */	cmpwi r0, 0
/* 801FA780 001F63E0  40 82 00 18 */	bne lbl_801FA798
/* 801FA784 001F63E4  80 9E 00 18 */	lwz r4, 0x18(r30)
/* 801FA788 001F63E8  38 00 00 01 */	li r0, 1
/* 801FA78C 001F63EC  90 83 00 04 */	stw r4, 4(r3)
/* 801FA790 001F63F0  90 7E 00 18 */	stw r3, 0x18(r30)
/* 801FA794 001F63F4  98 03 00 08 */	stb r0, 8(r3)
lbl_801FA798:
/* 801FA798 001F63F8  38 00 00 01 */	li r0, 1
/* 801FA79C 001F63FC  88 83 00 09 */	lbz r4, 9(r3)
/* 801FA7A0 001F6400  7C 00 F8 30 */	slw r0, r0, r31
/* 801FA7A4 001F6404  7C 80 03 78 */	or r0, r4, r0
/* 801FA7A8 001F6408  98 03 00 09 */	stb r0, 9(r3)
lbl_801FA7AC:
/* 801FA7AC 001F640C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801FA7B0 001F6410  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801FA7B4 001F6414  83 C1 00 08 */	lwz r30, 8(r1)
/* 801FA7B8 001F6418  7C 08 03 A6 */	mtlr r0
/* 801FA7BC 001F641C  38 21 00 10 */	addi r1, r1, 0x10
/* 801FA7C0 001F6420  4E 80 00 20 */	blr

.global func_801FA7C4
func_801FA7C4:
/* 801FA7C4 001F6424  80 83 00 18 */	lwz r4, 0x18(r3)
/* 801FA7C8 001F6428  38 00 00 00 */	li r0, 0
/* 801FA7CC 001F642C  48 00 00 18 */	b lbl_801FA7E4
lbl_801FA7D0:
/* 801FA7D0 001F6430  80 A4 00 04 */	lwz r5, 4(r4)
/* 801FA7D4 001F6434  98 04 00 08 */	stb r0, 8(r4)
/* 801FA7D8 001F6438  90 04 00 04 */	stw r0, 4(r4)
/* 801FA7DC 001F643C  98 04 00 09 */	stb r0, 9(r4)
/* 801FA7E0 001F6440  7C A4 2B 78 */	mr r4, r5
lbl_801FA7E4:
/* 801FA7E4 001F6444  2C 04 00 00 */	cmpwi r4, 0
/* 801FA7E8 001F6448  40 82 FF E8 */	bne lbl_801FA7D0
/* 801FA7EC 001F644C  38 00 00 00 */	li r0, 0
/* 801FA7F0 001F6450  90 03 00 18 */	stw r0, 0x18(r3)
/* 801FA7F4 001F6454  4E 80 00 20 */	blr

.global func_801FA7F8
func_801FA7F8:
/* 801FA7F8 001F6458  38 E0 00 00 */	li r7, 0
/* 801FA7FC 001F645C  38 A0 00 00 */	li r5, 0
/* 801FA800 001F6460  48 00 00 60 */	b lbl_801FA860
lbl_801FA804:
/* 801FA804 001F6464  38 07 FF FF */	addi r0, r7, -1
/* 801FA808 001F6468  39 07 00 01 */	addi r8, r7, 1
/* 801FA80C 001F646C  7C 80 39 D6 */	mullw r4, r0, r7
/* 801FA810 001F6470  54 80 0F FE */	srwi r0, r4, 0x1f
/* 801FA814 001F6474  7C 80 22 14 */	add r4, r0, r4
/* 801FA818 001F6478  7C 07 31 D6 */	mullw r0, r7, r6
/* 801FA81C 001F647C  7C 84 0E 70 */	srawi r4, r4, 1
/* 801FA820 001F6480  7C 04 00 50 */	subf r0, r4, r0
/* 801FA824 001F6484  1C 80 00 0C */	mulli r4, r0, 0xc
/* 801FA828 001F6488  48 00 00 28 */	b lbl_801FA850
lbl_801FA82C:
/* 801FA82C 001F648C  80 03 00 1C */	lwz r0, 0x1c(r3)
/* 801FA830 001F6490  7C E4 03 2E */	sthx r7, r4, r0
/* 801FA834 001F6494  7C C0 22 14 */	add r6, r0, r4
/* 801FA838 001F6498  38 84 00 0C */	addi r4, r4, 0xc
/* 801FA83C 001F649C  B1 06 00 02 */	sth r8, 2(r6)
/* 801FA840 001F64A0  39 08 00 01 */	addi r8, r8, 1
/* 801FA844 001F64A4  98 A6 00 08 */	stb r5, 8(r6)
/* 801FA848 001F64A8  90 A6 00 04 */	stw r5, 4(r6)
/* 801FA84C 001F64AC  98 A6 00 09 */	stb r5, 9(r6)
lbl_801FA850:
/* 801FA850 001F64B0  A0 03 00 14 */	lhz r0, 0x14(r3)
/* 801FA854 001F64B4  7C 08 00 00 */	cmpw r8, r0
/* 801FA858 001F64B8  41 80 FF D4 */	blt lbl_801FA82C
/* 801FA85C 001F64BC  38 E7 00 01 */	addi r7, r7, 1
lbl_801FA860:
/* 801FA860 001F64C0  A0 83 00 14 */	lhz r4, 0x14(r3)
/* 801FA864 001F64C4  38 C4 FF FF */	addi r6, r4, -1
/* 801FA868 001F64C8  7C 07 30 00 */	cmpw r7, r6
/* 801FA86C 001F64CC  41 80 FF 98 */	blt lbl_801FA804
/* 801FA870 001F64D0  38 00 00 00 */	li r0, 0
/* 801FA874 001F64D4  90 03 00 18 */	stw r0, 0x18(r3)
/* 801FA878 001F64D8  4E 80 00 20 */	blr

.global func_801FA87C
func_801FA87C:
/* 801FA87C 001F64DC  80 A3 00 20 */	lwz r5, 0x20(r3)
/* 801FA880 001F64E0  38 00 00 00 */	li r0, 0
/* 801FA884 001F64E4  90 A4 00 14 */	stw r5, 0x14(r4)
/* 801FA888 001F64E8  80 A3 00 20 */	lwz r5, 0x20(r3)
/* 801FA88C 001F64EC  2C 05 00 00 */	cmpwi r5, 0
/* 801FA890 001F64F0  41 82 00 08 */	beq lbl_801FA898
/* 801FA894 001F64F4  90 85 00 08 */	stw r4, 8(r5)
lbl_801FA898:
/* 801FA898 001F64F8  90 83 00 20 */	stw r4, 0x20(r3)
/* 801FA89C 001F64FC  90 04 00 08 */	stw r0, 8(r4)
/* 801FA8A0 001F6500  80 A3 00 24 */	lwz r5, 0x24(r3)
/* 801FA8A4 001F6504  90 A4 00 18 */	stw r5, 0x18(r4)
/* 801FA8A8 001F6508  80 A3 00 24 */	lwz r5, 0x24(r3)
/* 801FA8AC 001F650C  2C 05 00 00 */	cmpwi r5, 0
/* 801FA8B0 001F6510  41 82 00 08 */	beq lbl_801FA8B8
/* 801FA8B4 001F6514  90 85 00 0C */	stw r4, 0xc(r5)
lbl_801FA8B8:
/* 801FA8B8 001F6518  90 83 00 24 */	stw r4, 0x24(r3)
/* 801FA8BC 001F651C  90 04 00 0C */	stw r0, 0xc(r4)
/* 801FA8C0 001F6520  80 A3 00 28 */	lwz r5, 0x28(r3)
/* 801FA8C4 001F6524  90 A4 00 1C */	stw r5, 0x1c(r4)
/* 801FA8C8 001F6528  80 A3 00 28 */	lwz r5, 0x28(r3)
/* 801FA8CC 001F652C  2C 05 00 00 */	cmpwi r5, 0
/* 801FA8D0 001F6530  41 82 00 08 */	beq lbl_801FA8D8
/* 801FA8D4 001F6534  90 85 00 10 */	stw r4, 0x10(r5)
lbl_801FA8D8:
/* 801FA8D8 001F6538  90 83 00 28 */	stw r4, 0x28(r3)
/* 801FA8DC 001F653C  90 04 00 10 */	stw r0, 0x10(r4)
/* 801FA8E0 001F6540  4E 80 00 20 */	blr

.global func_801FA8E4
func_801FA8E4:
/* 801FA8E4 001F6544  80 A4 00 08 */	lwz r5, 8(r4)
/* 801FA8E8 001F6548  80 C4 00 14 */	lwz r6, 0x14(r4)
/* 801FA8EC 001F654C  2C 05 00 00 */	cmpwi r5, 0
/* 801FA8F0 001F6550  41 82 00 0C */	beq lbl_801FA8FC
/* 801FA8F4 001F6554  90 C5 00 14 */	stw r6, 0x14(r5)
/* 801FA8F8 001F6558  48 00 00 08 */	b lbl_801FA900
lbl_801FA8FC:
/* 801FA8FC 001F655C  90 C3 00 20 */	stw r6, 0x20(r3)
lbl_801FA900:
/* 801FA900 001F6560  2C 06 00 00 */	cmpwi r6, 0
/* 801FA904 001F6564  41 82 00 08 */	beq lbl_801FA90C
/* 801FA908 001F6568  90 A6 00 08 */	stw r5, 8(r6)
lbl_801FA90C:
/* 801FA90C 001F656C  80 A4 00 0C */	lwz r5, 0xc(r4)
/* 801FA910 001F6570  80 C4 00 18 */	lwz r6, 0x18(r4)
/* 801FA914 001F6574  2C 05 00 00 */	cmpwi r5, 0
/* 801FA918 001F6578  41 82 00 0C */	beq lbl_801FA924
/* 801FA91C 001F657C  90 C5 00 18 */	stw r6, 0x18(r5)
/* 801FA920 001F6580  48 00 00 08 */	b lbl_801FA928
lbl_801FA924:
/* 801FA924 001F6584  90 C3 00 24 */	stw r6, 0x24(r3)
lbl_801FA928:
/* 801FA928 001F6588  2C 06 00 00 */	cmpwi r6, 0
/* 801FA92C 001F658C  41 82 00 08 */	beq lbl_801FA934
/* 801FA930 001F6590  90 A6 00 0C */	stw r5, 0xc(r6)
lbl_801FA934:
/* 801FA934 001F6594  80 A4 00 10 */	lwz r5, 0x10(r4)
/* 801FA938 001F6598  80 C4 00 1C */	lwz r6, 0x1c(r4)
/* 801FA93C 001F659C  2C 05 00 00 */	cmpwi r5, 0
/* 801FA940 001F65A0  41 82 00 0C */	beq lbl_801FA94C
/* 801FA944 001F65A4  90 C5 00 1C */	stw r6, 0x1c(r5)
/* 801FA948 001F65A8  48 00 00 08 */	b lbl_801FA950
lbl_801FA94C:
/* 801FA94C 001F65AC  90 C3 00 28 */	stw r6, 0x28(r3)
lbl_801FA950:
/* 801FA950 001F65B0  2C 06 00 00 */	cmpwi r6, 0
/* 801FA954 001F65B4  4D 82 00 20 */	beqlr
/* 801FA958 001F65B8  90 A6 00 10 */	stw r5, 0x10(r6)
/* 801FA95C 001F65BC  4E 80 00 20 */	blr

.global func_801FA960
func_801FA960:
/* 801FA960 001F65C0  80 E4 00 00 */	lwz r7, 0(r4)
/* 801FA964 001F65C4  54 C8 10 3A */	slwi r8, r6, 2
/* 801FA968 001F65C8  80 05 00 00 */	lwz r0, 0(r5)
/* 801FA96C 001F65CC  7C C7 42 14 */	add r6, r7, r8
/* 801FA970 001F65D0  80 E6 00 08 */	lwz r7, 8(r6)
/* 801FA974 001F65D4  7C C0 42 14 */	add r6, r0, r8
/* 801FA978 001F65D8  81 26 00 14 */	lwz r9, 0x14(r6)
/* 801FA97C 001F65DC  2C 07 00 00 */	cmpwi r7, 0
/* 801FA980 001F65E0  41 82 00 10 */	beq lbl_801FA990
/* 801FA984 001F65E4  7C 67 42 14 */	add r3, r7, r8
/* 801FA988 001F65E8  90 03 00 14 */	stw r0, 0x14(r3)
/* 801FA98C 001F65EC  48 00 00 0C */	b lbl_801FA998
lbl_801FA990:
/* 801FA990 001F65F0  7C 63 42 14 */	add r3, r3, r8
/* 801FA994 001F65F4  90 03 00 20 */	stw r0, 0x20(r3)
lbl_801FA998:
/* 801FA998 001F65F8  2C 09 00 00 */	cmpwi r9, 0
/* 801FA99C 001F65FC  41 82 00 10 */	beq lbl_801FA9AC
/* 801FA9A0 001F6600  80 04 00 00 */	lwz r0, 0(r4)
/* 801FA9A4 001F6604  7C 69 42 14 */	add r3, r9, r8
/* 801FA9A8 001F6608  90 03 00 08 */	stw r0, 8(r3)
lbl_801FA9AC:
/* 801FA9AC 001F660C  80 04 00 00 */	lwz r0, 0(r4)
/* 801FA9B0 001F6610  80 C5 00 00 */	lwz r6, 0(r5)
/* 801FA9B4 001F6614  7C 60 42 14 */	add r3, r0, r8
/* 801FA9B8 001F6618  90 C3 00 08 */	stw r6, 8(r3)
/* 801FA9BC 001F661C  80 04 00 00 */	lwz r0, 0(r4)
/* 801FA9C0 001F6620  7C 60 42 14 */	add r3, r0, r8
/* 801FA9C4 001F6624  91 23 00 14 */	stw r9, 0x14(r3)
/* 801FA9C8 001F6628  80 05 00 00 */	lwz r0, 0(r5)
/* 801FA9CC 001F662C  7C 60 42 14 */	add r3, r0, r8
/* 801FA9D0 001F6630  90 E3 00 08 */	stw r7, 8(r3)
/* 801FA9D4 001F6634  80 05 00 00 */	lwz r0, 0(r5)
/* 801FA9D8 001F6638  80 C4 00 00 */	lwz r6, 0(r4)
/* 801FA9DC 001F663C  7C 60 42 14 */	add r3, r0, r8
/* 801FA9E0 001F6640  90 C3 00 14 */	stw r6, 0x14(r3)
/* 801FA9E4 001F6644  80 64 00 00 */	lwz r3, 0(r4)
/* 801FA9E8 001F6648  80 05 00 00 */	lwz r0, 0(r5)
/* 801FA9EC 001F664C  90 04 00 00 */	stw r0, 0(r4)
/* 801FA9F0 001F6650  90 65 00 00 */	stw r3, 0(r5)
/* 801FA9F4 001F6654  4E 80 00 20 */	blr

.global func_801FA9F8
func_801FA9F8:
/* 801FA9F8 001F6658  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 801FA9FC 001F665C  7C 08 02 A6 */	mflr r0
/* 801FAA00 001F6660  90 01 00 34 */	stw r0, 0x34(r1)
/* 801FAA04 001F6664  39 61 00 30 */	addi r11, r1, 0x30
/* 801FAA08 001F6668  4B FC C7 21 */	bl _savegpr_27
/* 801FAA0C 001F666C  7C 7B 1B 78 */	mr r27, r3
/* 801FAA10 001F6670  3B A0 00 00 */	li r29, 0
/* 801FAA14 001F6674  7F 7F DB 78 */	mr r31, r27
/* 801FAA18 001F6678  3B C0 00 00 */	li r30, 0
lbl_801FAA1C:
/* 801FAA1C 001F667C  80 7F 00 20 */	lwz r3, 0x20(r31)
/* 801FAA20 001F6680  90 61 00 10 */	stw r3, 0x10(r1)
/* 801FAA24 001F6684  48 00 00 B4 */	b lbl_801FAAD8
lbl_801FAA28:
/* 801FAA28 001F6688  7C 9E 1A 14 */	add r4, r30, r3
/* 801FAA2C 001F668C  80 84 00 14 */	lwz r4, 0x14(r4)
/* 801FAA30 001F6690  2C 04 00 00 */	cmpwi r4, 0
/* 801FAA34 001F6694  90 81 00 0C */	stw r4, 0xc(r1)
/* 801FAA38 001F6698  41 82 00 A8 */	beq lbl_801FAAE0
/* 801FAA3C 001F669C  80 63 00 04 */	lwz r3, 4(r3)
/* 801FAA40 001F66A0  80 04 00 04 */	lwz r0, 4(r4)
/* 801FAA44 001F66A4  7C 3E 1C 2E */	lfsx f1, r30, r3
/* 801FAA48 001F66A8  7C 1E 04 2E */	lfsx f0, r30, r0
/* 801FAA4C 001F66AC  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 801FAA50 001F66B0  40 81 00 80 */	ble lbl_801FAAD0
/* 801FAA54 001F66B4  7F 63 DB 78 */	mr r3, r27
/* 801FAA58 001F66B8  7F A6 EB 78 */	mr r6, r29
/* 801FAA5C 001F66BC  38 81 00 10 */	addi r4, r1, 0x10
/* 801FAA60 001F66C0  38 A1 00 0C */	addi r5, r1, 0xc
/* 801FAA64 001F66C4  4B FF FE FD */	bl func_801FA960
/* 801FAA68 001F66C8  83 81 00 0C */	lwz r28, 0xc(r1)
/* 801FAA6C 001F66CC  80 61 00 10 */	lwz r3, 0x10(r1)
/* 801FAA70 001F66D0  48 00 00 4C */	b lbl_801FAABC
lbl_801FAA74:
/* 801FAA74 001F66D4  7C 9E 1A 14 */	add r4, r30, r3
/* 801FAA78 001F66D8  80 84 00 08 */	lwz r4, 8(r4)
/* 801FAA7C 001F66DC  2C 04 00 00 */	cmpwi r4, 0
/* 801FAA80 001F66E0  90 81 00 08 */	stw r4, 8(r1)
/* 801FAA84 001F66E4  41 82 00 40 */	beq lbl_801FAAC4
/* 801FAA88 001F66E8  80 84 00 04 */	lwz r4, 4(r4)
/* 801FAA8C 001F66EC  80 03 00 04 */	lwz r0, 4(r3)
/* 801FAA90 001F66F0  7C 3E 24 2E */	lfsx f1, r30, r4
/* 801FAA94 001F66F4  7C 1E 04 2E */	lfsx f0, r30, r0
/* 801FAA98 001F66F8  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 801FAA9C 001F66FC  40 81 00 28 */	ble lbl_801FAAC4
/* 801FAAA0 001F6700  7F 63 DB 78 */	mr r3, r27
/* 801FAAA4 001F6704  7F A6 EB 78 */	mr r6, r29
/* 801FAAA8 001F6708  38 81 00 08 */	addi r4, r1, 8
/* 801FAAAC 001F670C  38 A1 00 10 */	addi r5, r1, 0x10
/* 801FAAB0 001F6710  4B FF FE B1 */	bl func_801FA960
/* 801FAAB4 001F6714  80 61 00 08 */	lwz r3, 8(r1)
/* 801FAAB8 001F6718  90 61 00 10 */	stw r3, 0x10(r1)
lbl_801FAABC:
/* 801FAABC 001F671C  2C 03 00 00 */	cmpwi r3, 0
/* 801FAAC0 001F6720  40 82 FF B4 */	bne lbl_801FAA74
lbl_801FAAC4:
/* 801FAAC4 001F6724  93 81 00 10 */	stw r28, 0x10(r1)
/* 801FAAC8 001F6728  7F 83 E3 78 */	mr r3, r28
/* 801FAACC 001F672C  48 00 00 0C */	b lbl_801FAAD8
lbl_801FAAD0:
/* 801FAAD0 001F6730  7C 83 23 78 */	mr r3, r4
/* 801FAAD4 001F6734  90 81 00 10 */	stw r4, 0x10(r1)
lbl_801FAAD8:
/* 801FAAD8 001F6738  2C 03 00 00 */	cmpwi r3, 0
/* 801FAADC 001F673C  40 82 FF 4C */	bne lbl_801FAA28
lbl_801FAAE0:
/* 801FAAE0 001F6740  3B BD 00 01 */	addi r29, r29, 1
/* 801FAAE4 001F6744  3B DE 00 04 */	addi r30, r30, 4
/* 801FAAE8 001F6748  2C 1D 00 03 */	cmpwi r29, 3
/* 801FAAEC 001F674C  3B FF 00 04 */	addi r31, r31, 4
/* 801FAAF0 001F6750  41 80 FF 2C */	blt lbl_801FAA1C
/* 801FAAF4 001F6754  39 61 00 30 */	addi r11, r1, 0x30
/* 801FAAF8 001F6758  4B FC C6 7D */	bl _restgpr_27
/* 801FAAFC 001F675C  80 01 00 34 */	lwz r0, 0x34(r1)
/* 801FAB00 001F6760  7C 08 03 A6 */	mtlr r0
/* 801FAB04 001F6764  38 21 00 30 */	addi r1, r1, 0x30
/* 801FAB08 001F6768  4E 80 00 20 */	blr

.global func_801FAB0C
func_801FAB0C:
/* 801FAB0C 001F676C  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 801FAB10 001F6770  7C 08 02 A6 */	mflr r0
/* 801FAB14 001F6774  90 01 00 34 */	stw r0, 0x34(r1)
/* 801FAB18 001F6778  39 61 00 30 */	addi r11, r1, 0x30
/* 801FAB1C 001F677C  4B FC C6 01 */	bl _savegpr_24
/* 801FAB20 001F6780  83 C3 00 10 */	lwz r30, 0x10(r3)
/* 801FAB24 001F6784  7C 78 1B 78 */	mr r24, r3
/* 801FAB28 001F6788  3B A0 00 00 */	li r29, 0
/* 801FAB2C 001F678C  48 00 00 64 */	b lbl_801FAB90
lbl_801FAB30:
/* 801FAB30 001F6790  80 1E 00 00 */	lwz r0, 0(r30)
/* 801FAB34 001F6794  2C 00 00 00 */	cmpwi r0, 0
/* 801FAB38 001F6798  41 82 00 50 */	beq lbl_801FAB88
/* 801FAB3C 001F679C  3B 9E 00 04 */	addi r28, r30, 4
/* 801FAB40 001F67A0  3B 7E 00 24 */	addi r27, r30, 0x24
/* 801FAB44 001F67A4  3B 40 00 00 */	li r26, 0
/* 801FAB48 001F67A8  3B E0 00 00 */	li r31, 0
lbl_801FAB4C:
/* 801FAB4C 001F67AC  7F 99 E3 78 */	mr r25, r28
lbl_801FAB50:
/* 801FAB50 001F67B0  7C 7F CA 14 */	add r3, r31, r25
/* 801FAB54 001F67B4  83 23 00 14 */	lwz r25, 0x14(r3)
/* 801FAB58 001F67B8  7C 19 D8 40 */	cmplw r25, r27
/* 801FAB5C 001F67BC  41 82 00 1C */	beq lbl_801FAB78
/* 801FAB60 001F67C0  80 9C 00 00 */	lwz r4, 0(r28)
/* 801FAB64 001F67C4  7F 03 C3 78 */	mr r3, r24
/* 801FAB68 001F67C8  80 B9 00 00 */	lwz r5, 0(r25)
/* 801FAB6C 001F67CC  7F 46 D3 78 */	mr r6, r26
/* 801FAB70 001F67D0  4B FF FB E1 */	bl func_801FA750
/* 801FAB74 001F67D4  4B FF FF DC */	b lbl_801FAB50
lbl_801FAB78:
/* 801FAB78 001F67D8  3B 5A 00 01 */	addi r26, r26, 1
/* 801FAB7C 001F67DC  3B FF 00 04 */	addi r31, r31, 4
/* 801FAB80 001F67E0  2C 1A 00 03 */	cmpwi r26, 3
/* 801FAB84 001F67E4  41 80 FF C8 */	blt lbl_801FAB4C
lbl_801FAB88:
/* 801FAB88 001F67E8  3B BD 00 01 */	addi r29, r29, 1
/* 801FAB8C 001F67EC  3B DE 00 44 */	addi r30, r30, 0x44
lbl_801FAB90:
/* 801FAB90 001F67F0  A0 18 00 14 */	lhz r0, 0x14(r24)
/* 801FAB94 001F67F4  57 A3 04 3E */	clrlwi r3, r29, 0x10
/* 801FAB98 001F67F8  7C 03 00 40 */	cmplw r3, r0
/* 801FAB9C 001F67FC  41 80 FF 94 */	blt lbl_801FAB30
/* 801FABA0 001F6800  39 61 00 30 */	addi r11, r1, 0x30
/* 801FABA4 001F6804  4B FC C5 C5 */	bl _restgpr_24
/* 801FABA8 001F6808  80 01 00 34 */	lwz r0, 0x34(r1)
/* 801FABAC 001F680C  7C 08 03 A6 */	mtlr r0
/* 801FABB0 001F6810  38 21 00 30 */	addi r1, r1, 0x30
/* 801FABB4 001F6814  4E 80 00 20 */	blr

.global func_801FABB8
func_801FABB8:
/* 801FABB8 001F6818  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 801FABBC 001F681C  7C 08 02 A6 */	mflr r0
/* 801FABC0 001F6820  90 01 00 34 */	stw r0, 0x34(r1)
/* 801FABC4 001F6824  39 61 00 30 */	addi r11, r1, 0x30
/* 801FABC8 001F6828  4B FC C5 5D */	bl _savegpr_26
/* 801FABCC 001F682C  A3 64 00 E2 */	lhz r27, 0xe2(r4)
/* 801FABD0 001F6830  7C 7C 1B 78 */	mr r28, r3
/* 801FABD4 001F6834  7C 9D 23 78 */	mr r29, r4
/* 801FABD8 001F6838  7C BE 2B 78 */	mr r30, r5
/* 801FABDC 001F683C  3B E0 00 01 */	li r31, 1
/* 801FABE0 001F6840  48 00 00 DC */	b lbl_801FACBC
lbl_801FABE4:
/* 801FABE4 001F6844  80 9D 00 14 */	lwz r4, 0x14(r29)
/* 801FABE8 001F6848  2C 04 00 00 */	cmpwi r4, 0
/* 801FABEC 001F684C  40 82 00 0C */	bne lbl_801FABF8
/* 801FABF0 001F6850  3B 40 00 00 */	li r26, 0
/* 801FABF4 001F6854  48 00 00 54 */	b lbl_801FAC48
lbl_801FABF8:
/* 801FABF8 001F6858  A0 1D 00 E2 */	lhz r0, 0xe2(r29)
/* 801FABFC 001F685C  57 E3 04 3E */	clrlwi r3, r31, 0x10
/* 801FAC00 001F6860  7C 03 00 40 */	cmplw r3, r0
/* 801FAC04 001F6864  41 80 00 0C */	blt lbl_801FAC10
/* 801FAC08 001F6868  3B 40 00 00 */	li r26, 0
/* 801FAC0C 001F686C  48 00 00 3C */	b lbl_801FAC48
lbl_801FAC10:
/* 801FAC10 001F6870  80 BD 00 08 */	lwz r5, 8(r29)
/* 801FAC14 001F6874  57 E0 0B FC */	rlwinm r0, r31, 1, 0xf, 0x1e
/* 801FAC18 001F6878  7C 64 02 2E */	lhzx r3, r4, r0
/* 801FAC1C 001F687C  2C 05 00 00 */	cmpwi r5, 0
/* 801FAC20 001F6880  40 82 00 0C */	bne lbl_801FAC2C
/* 801FAC24 001F6884  3B 40 00 00 */	li r26, 0
/* 801FAC28 001F6888  48 00 00 20 */	b lbl_801FAC48
lbl_801FAC2C:
/* 801FAC2C 001F688C  A0 1D 00 DE */	lhz r0, 0xde(r29)
/* 801FAC30 001F6890  7C 03 00 40 */	cmplw r3, r0
/* 801FAC34 001F6894  41 80 00 0C */	blt lbl_801FAC40
/* 801FAC38 001F6898  3B 40 00 00 */	li r26, 0
/* 801FAC3C 001F689C  48 00 00 0C */	b lbl_801FAC48
lbl_801FAC40:
/* 801FAC40 001F68A0  54 60 13 BA */	rlwinm r0, r3, 2, 0xe, 0x1d
/* 801FAC44 001F68A4  7F 45 00 2E */	lwzx r26, r5, r0
lbl_801FAC48:
/* 801FAC48 001F68A8  2C 1A 00 00 */	cmpwi r26, 0
/* 801FAC4C 001F68AC  41 82 00 6C */	beq lbl_801FACB8
/* 801FAC50 001F68B0  C0 1A 00 DC */	lfs f0, 0xdc(r26)
/* 801FAC54 001F68B4  38 7E 01 20 */	addi r3, r30, 0x120
/* 801FAC58 001F68B8  38 81 00 08 */	addi r4, r1, 8
/* 801FAC5C 001F68BC  D0 01 00 08 */	stfs f0, 8(r1)
/* 801FAC60 001F68C0  C0 1A 00 EC */	lfs f0, 0xec(r26)
/* 801FAC64 001F68C4  D0 01 00 0C */	stfs f0, 0xc(r1)
/* 801FAC68 001F68C8  C0 1A 00 FC */	lfs f0, 0xfc(r26)
/* 801FAC6C 001F68CC  D0 01 00 10 */	stfs f0, 0x10(r1)
/* 801FAC70 001F68D0  48 02 5F 19 */	bl func_80220B88
/* 801FAC74 001F68D4  2C 03 00 00 */	cmpwi r3, 0
/* 801FAC78 001F68D8  41 82 00 40 */	beq lbl_801FACB8
/* 801FAC7C 001F68DC  81 9C 00 04 */	lwz r12, 4(r28)
/* 801FAC80 001F68E0  7F 43 D3 78 */	mr r3, r26
/* 801FAC84 001F68E4  7F C4 F3 78 */	mr r4, r30
/* 801FAC88 001F68E8  7D 89 03 A6 */	mtctr r12
/* 801FAC8C 001F68EC  4E 80 04 21 */	bctrl
/* 801FAC90 001F68F0  2C 03 00 00 */	cmpwi r3, 0
/* 801FAC94 001F68F4  41 82 00 34 */	beq lbl_801FACC8
/* 801FAC98 001F68F8  80 1C 00 04 */	lwz r0, 4(r28)
/* 801FAC9C 001F68FC  2C 00 00 00 */	cmpwi r0, 0
/* 801FACA0 001F6900  41 82 00 28 */	beq lbl_801FACC8
/* 801FACA4 001F6904  A0 1E 01 06 */	lhz r0, 0x106(r30)
/* 801FACA8 001F6908  54 00 07 BE */	clrlwi r0, r0, 0x1e
/* 801FACAC 001F690C  2C 00 00 01 */	cmpwi r0, 1
/* 801FACB0 001F6910  41 82 00 08 */	beq lbl_801FACB8
/* 801FACB4 001F6914  48 00 00 14 */	b lbl_801FACC8
lbl_801FACB8:
/* 801FACB8 001F6918  3B FF 00 01 */	addi r31, r31, 1
lbl_801FACBC:
/* 801FACBC 001F691C  57 E0 04 3E */	clrlwi r0, r31, 0x10
/* 801FACC0 001F6920  7C 00 D8 40 */	cmplw r0, r27
/* 801FACC4 001F6924  41 80 FF 20 */	blt lbl_801FABE4
lbl_801FACC8:
/* 801FACC8 001F6928  39 61 00 30 */	addi r11, r1, 0x30
/* 801FACCC 001F692C  4B FC C4 A5 */	bl _restgpr_26
/* 801FACD0 001F6930  80 01 00 34 */	lwz r0, 0x34(r1)
/* 801FACD4 001F6934  7C 08 03 A6 */	mtlr r0
/* 801FACD8 001F6938  38 21 00 30 */	addi r1, r1, 0x30
/* 801FACDC 001F693C  4E 80 00 20 */	blr

.global func_801FACE0
func_801FACE0:
/* 801FACE0 001F6940  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 801FACE4 001F6944  7C 08 02 A6 */	mflr r0
/* 801FACE8 001F6948  90 01 00 64 */	stw r0, 0x64(r1)
/* 801FACEC 001F694C  39 61 00 60 */	addi r11, r1, 0x60
/* 801FACF0 001F6950  4B FC C4 31 */	bl _savegpr_25
/* 801FACF4 001F6954  3C E0 80 49 */	lis r7, lbl_8049362C@ha
/* 801FACF8 001F6958  C0 02 98 50 */	lfs f0, lbl_80641E50-_SDA2_BASE_(r2)
/* 801FACFC 001F695C  38 C7 36 2C */	addi r6, r7, lbl_8049362C@l
/* 801FAD00 001F6960  C0 67 36 2C */	lfs f3, 0x362c(r7)
/* 801FAD04 001F6964  C0 46 00 04 */	lfs f2, 4(r6)
/* 801FAD08 001F6968  7C 7C 1B 78 */	mr r28, r3
/* 801FAD0C 001F696C  C0 26 00 08 */	lfs f1, 8(r6)
/* 801FAD10 001F6970  7C 9D 23 78 */	mr r29, r4
/* 801FAD14 001F6974  D0 61 00 30 */	stfs f3, 0x30(r1)
/* 801FAD18 001F6978  7C BE 2B 78 */	mr r30, r5
/* 801FAD1C 001F697C  3B E0 00 01 */	li r31, 1
/* 801FAD20 001F6980  D0 41 00 34 */	stfs f2, 0x34(r1)
/* 801FAD24 001F6984  D0 21 00 38 */	stfs f1, 0x38(r1)
/* 801FAD28 001F6988  D0 61 00 24 */	stfs f3, 0x24(r1)
/* 801FAD2C 001F698C  D0 41 00 28 */	stfs f2, 0x28(r1)
/* 801FAD30 001F6990  D0 21 00 2C */	stfs f1, 0x2c(r1)
/* 801FAD34 001F6994  D0 01 00 08 */	stfs f0, 8(r1)
/* 801FAD38 001F6998  A3 64 00 E2 */	lhz r27, 0xe2(r4)
/* 801FAD3C 001F699C  48 00 01 58 */	b lbl_801FAE94
lbl_801FAD40:
/* 801FAD40 001F69A0  80 9D 00 14 */	lwz r4, 0x14(r29)
/* 801FAD44 001F69A4  2C 04 00 00 */	cmpwi r4, 0
/* 801FAD48 001F69A8  40 82 00 0C */	bne lbl_801FAD54
/* 801FAD4C 001F69AC  3B 40 00 00 */	li r26, 0
/* 801FAD50 001F69B0  48 00 00 54 */	b lbl_801FADA4
lbl_801FAD54:
/* 801FAD54 001F69B4  A0 1D 00 E2 */	lhz r0, 0xe2(r29)
/* 801FAD58 001F69B8  57 E3 04 3E */	clrlwi r3, r31, 0x10
/* 801FAD5C 001F69BC  7C 03 00 40 */	cmplw r3, r0
/* 801FAD60 001F69C0  41 80 00 0C */	blt lbl_801FAD6C
/* 801FAD64 001F69C4  3B 40 00 00 */	li r26, 0
/* 801FAD68 001F69C8  48 00 00 3C */	b lbl_801FADA4
lbl_801FAD6C:
/* 801FAD6C 001F69CC  80 BD 00 08 */	lwz r5, 8(r29)
/* 801FAD70 001F69D0  57 E0 0B FC */	rlwinm r0, r31, 1, 0xf, 0x1e
/* 801FAD74 001F69D4  7C 64 02 2E */	lhzx r3, r4, r0
/* 801FAD78 001F69D8  2C 05 00 00 */	cmpwi r5, 0
/* 801FAD7C 001F69DC  40 82 00 0C */	bne lbl_801FAD88
/* 801FAD80 001F69E0  3B 40 00 00 */	li r26, 0
/* 801FAD84 001F69E4  48 00 00 20 */	b lbl_801FADA4
lbl_801FAD88:
/* 801FAD88 001F69E8  A0 1D 00 DE */	lhz r0, 0xde(r29)
/* 801FAD8C 001F69EC  7C 03 00 40 */	cmplw r3, r0
/* 801FAD90 001F69F0  41 80 00 0C */	blt lbl_801FAD9C
/* 801FAD94 001F69F4  3B 40 00 00 */	li r26, 0
/* 801FAD98 001F69F8  48 00 00 0C */	b lbl_801FADA4
lbl_801FAD9C:
/* 801FAD9C 001F69FC  54 60 13 BA */	rlwinm r0, r3, 2, 0xe, 0x1d
/* 801FADA0 001F6A00  7F 45 00 2E */	lwzx r26, r5, r0
lbl_801FADA4:
/* 801FADA4 001F6A04  2C 1A 00 00 */	cmpwi r26, 0
/* 801FADA8 001F6A08  41 82 00 E8 */	beq lbl_801FAE90
/* 801FADAC 001F6A0C  C0 1A 00 DC */	lfs f0, 0xdc(r26)
/* 801FADB0 001F6A10  3B 20 00 00 */	li r25, 0
/* 801FADB4 001F6A14  D0 01 00 18 */	stfs f0, 0x18(r1)
/* 801FADB8 001F6A18  C0 1A 00 EC */	lfs f0, 0xec(r26)
/* 801FADBC 001F6A1C  D0 01 00 1C */	stfs f0, 0x1c(r1)
/* 801FADC0 001F6A20  C0 1A 00 FC */	lfs f0, 0xfc(r26)
/* 801FADC4 001F6A24  D0 01 00 20 */	stfs f0, 0x20(r1)
/* 801FADC8 001F6A28  80 7A 00 C0 */	lwz r3, 0xc0(r26)
/* 801FADCC 001F6A2C  48 00 00 28 */	b lbl_801FADF4
lbl_801FADD0:
/* 801FADD0 001F6A30  88 03 00 12 */	lbz r0, 0x12(r3)
/* 801FADD4 001F6A34  2C 00 00 02 */	cmpwi r0, 2
/* 801FADD8 001F6A38  40 82 00 0C */	bne lbl_801FADE4
/* 801FADDC 001F6A3C  7C 79 1B 78 */	mr r25, r3
/* 801FADE0 001F6A40  48 00 00 08 */	b lbl_801FADE8
lbl_801FADE4:
/* 801FADE4 001F6A44  3B 20 00 00 */	li r25, 0
lbl_801FADE8:
/* 801FADE8 001F6A48  2C 19 00 00 */	cmpwi r25, 0
/* 801FADEC 001F6A4C  40 82 00 10 */	bne lbl_801FADFC
/* 801FADF0 001F6A50  80 63 00 C0 */	lwz r3, 0xc0(r3)
lbl_801FADF4:
/* 801FADF4 001F6A54  2C 03 00 00 */	cmpwi r3, 0
/* 801FADF8 001F6A58  40 82 FF D8 */	bne lbl_801FADD0
lbl_801FADFC:
/* 801FADFC 001F6A5C  2C 19 00 00 */	cmpwi r25, 0
/* 801FAE00 001F6A60  41 82 00 90 */	beq lbl_801FAE90
/* 801FAE04 001F6A64  C0 19 00 DC */	lfs f0, 0xdc(r25)
/* 801FAE08 001F6A68  7F C3 F3 78 */	mr r3, r30
/* 801FAE0C 001F6A6C  38 81 00 0C */	addi r4, r1, 0xc
/* 801FAE10 001F6A70  38 A1 00 18 */	addi r5, r1, 0x18
/* 801FAE14 001F6A74  D0 01 00 0C */	stfs f0, 0xc(r1)
/* 801FAE18 001F6A78  38 C1 00 30 */	addi r6, r1, 0x30
/* 801FAE1C 001F6A7C  38 E1 00 24 */	addi r7, r1, 0x24
/* 801FAE20 001F6A80  39 01 00 08 */	addi r8, r1, 8
/* 801FAE24 001F6A84  C0 19 00 EC */	lfs f0, 0xec(r25)
/* 801FAE28 001F6A88  39 20 00 01 */	li r9, 1
/* 801FAE2C 001F6A8C  D0 01 00 10 */	stfs f0, 0x10(r1)
/* 801FAE30 001F6A90  C0 19 00 FC */	lfs f0, 0xfc(r25)
/* 801FAE34 001F6A94  D0 01 00 14 */	stfs f0, 0x14(r1)
/* 801FAE38 001F6A98  4B FE 55 CD */	bl func_801E0404
/* 801FAE3C 001F6A9C  2C 03 00 00 */	cmpwi r3, 0
/* 801FAE40 001F6AA0  41 82 00 50 */	beq lbl_801FAE90
/* 801FAE44 001F6AA4  81 9C 00 08 */	lwz r12, 8(r28)
/* 801FAE48 001F6AA8  7F 23 CB 78 */	mr r3, r25
/* 801FAE4C 001F6AAC  7F 44 D3 78 */	mr r4, r26
/* 801FAE50 001F6AB0  7F C5 F3 78 */	mr r5, r30
/* 801FAE54 001F6AB4  38 C1 00 30 */	addi r6, r1, 0x30
/* 801FAE58 001F6AB8  38 E1 00 24 */	addi r7, r1, 0x24
/* 801FAE5C 001F6ABC  C0 21 00 08 */	lfs f1, 8(r1)
/* 801FAE60 001F6AC0  7D 89 03 A6 */	mtctr r12
/* 801FAE64 001F6AC4  4E 80 04 21 */	bctrl
/* 801FAE68 001F6AC8  2C 03 00 00 */	cmpwi r3, 0
/* 801FAE6C 001F6ACC  41 82 00 34 */	beq lbl_801FAEA0
/* 801FAE70 001F6AD0  80 1C 00 08 */	lwz r0, 8(r28)
/* 801FAE74 001F6AD4  2C 00 00 00 */	cmpwi r0, 0
/* 801FAE78 001F6AD8  41 82 00 28 */	beq lbl_801FAEA0
/* 801FAE7C 001F6ADC  A0 1E 01 06 */	lhz r0, 0x106(r30)
/* 801FAE80 001F6AE0  54 00 07 BC */	rlwinm r0, r0, 0, 0x1e, 0x1e
/* 801FAE84 001F6AE4  2C 00 00 02 */	cmpwi r0, 2
/* 801FAE88 001F6AE8  41 82 00 08 */	beq lbl_801FAE90
/* 801FAE8C 001F6AEC  48 00 00 14 */	b lbl_801FAEA0
lbl_801FAE90:
/* 801FAE90 001F6AF0  3B FF 00 01 */	addi r31, r31, 1
lbl_801FAE94:
/* 801FAE94 001F6AF4  57 E0 04 3E */	clrlwi r0, r31, 0x10
/* 801FAE98 001F6AF8  7C 00 D8 40 */	cmplw r0, r27
/* 801FAE9C 001F6AFC  41 80 FE A4 */	blt lbl_801FAD40
lbl_801FAEA0:
/* 801FAEA0 001F6B00  39 61 00 60 */	addi r11, r1, 0x60
/* 801FAEA4 001F6B04  4B FC C2 C9 */	bl _restgpr_25
/* 801FAEA8 001F6B08  80 01 00 64 */	lwz r0, 0x64(r1)
/* 801FAEAC 001F6B0C  7C 08 03 A6 */	mtlr r0
/* 801FAEB0 001F6B10  38 21 00 60 */	addi r1, r1, 0x60
/* 801FAEB4 001F6B14  4E 80 00 20 */	blr

.global func_801FAEB8
func_801FAEB8:
/* 801FAEB8 001F6B18  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 801FAEBC 001F6B1C  7C 08 02 A6 */	mflr r0
/* 801FAEC0 001F6B20  90 01 00 24 */	stw r0, 0x24(r1)
/* 801FAEC4 001F6B24  39 61 00 20 */	addi r11, r1, 0x20
/* 801FAEC8 001F6B28  4B FC C2 61 */	bl _savegpr_27
/* 801FAECC 001F6B2C  7C 9C 23 78 */	mr r28, r4
/* 801FAED0 001F6B30  A0 84 00 00 */	lhz r4, 0(r4)
/* 801FAED4 001F6B34  7C 7B 1B 78 */	mr r27, r3
/* 801FAED8 001F6B38  4B FF F5 95 */	bl func_801FA46C
/* 801FAEDC 001F6B3C  2C 03 00 00 */	cmpwi r3, 0
/* 801FAEE0 001F6B40  7C 7D 1B 78 */	mr r29, r3
/* 801FAEE4 001F6B44  41 82 00 E4 */	beq lbl_801FAFC8
/* 801FAEE8 001F6B48  4B FF 8D F9 */	bl func_801F3CE0
/* 801FAEEC 001F6B4C  2C 03 00 00 */	cmpwi r3, 0
/* 801FAEF0 001F6B50  40 82 00 08 */	bne lbl_801FAEF8
/* 801FAEF4 001F6B54  48 00 00 D4 */	b lbl_801FAFC8
lbl_801FAEF8:
/* 801FAEF8 001F6B58  A0 9C 00 02 */	lhz r4, 2(r28)
/* 801FAEFC 001F6B5C  7F 63 DB 78 */	mr r3, r27
/* 801FAF00 001F6B60  4B FF F5 6D */	bl func_801FA46C
/* 801FAF04 001F6B64  2C 03 00 00 */	cmpwi r3, 0
/* 801FAF08 001F6B68  7C 7C 1B 78 */	mr r28, r3
/* 801FAF0C 001F6B6C  41 82 00 BC */	beq lbl_801FAFC8
/* 801FAF10 001F6B70  4B FF 8D D1 */	bl func_801F3CE0
/* 801FAF14 001F6B74  2C 03 00 00 */	cmpwi r3, 0
/* 801FAF18 001F6B78  40 82 00 08 */	bne lbl_801FAF20
/* 801FAF1C 001F6B7C  48 00 00 AC */	b lbl_801FAFC8
lbl_801FAF20:
/* 801FAF20 001F6B80  83 FD 00 B8 */	lwz r31, 0xb8(r29)
/* 801FAF24 001F6B84  83 DC 00 B8 */	lwz r30, 0xb8(r28)
/* 801FAF28 001F6B88  7C 1F F0 40 */	cmplw r31, r30
/* 801FAF2C 001F6B8C  41 82 00 9C */	beq lbl_801FAFC8
/* 801FAF30 001F6B90  80 1B 00 08 */	lwz r0, 8(r27)
/* 801FAF34 001F6B94  2C 00 00 00 */	cmpwi r0, 0
/* 801FAF38 001F6B98  41 82 00 44 */	beq lbl_801FAF7C
/* 801FAF3C 001F6B9C  A0 1C 01 06 */	lhz r0, 0x106(r28)
/* 801FAF40 001F6BA0  54 00 07 BC */	rlwinm r0, r0, 0, 0x1e, 0x1e
/* 801FAF44 001F6BA4  2C 00 00 02 */	cmpwi r0, 2
/* 801FAF48 001F6BA8  40 82 00 14 */	bne lbl_801FAF5C
/* 801FAF4C 001F6BAC  7F 63 DB 78 */	mr r3, r27
/* 801FAF50 001F6BB0  7F E4 FB 78 */	mr r4, r31
/* 801FAF54 001F6BB4  7F 85 E3 78 */	mr r5, r28
/* 801FAF58 001F6BB8  4B FF FD 89 */	bl func_801FACE0
lbl_801FAF5C:
/* 801FAF5C 001F6BBC  A0 1D 01 06 */	lhz r0, 0x106(r29)
/* 801FAF60 001F6BC0  54 00 07 BC */	rlwinm r0, r0, 0, 0x1e, 0x1e
/* 801FAF64 001F6BC4  2C 00 00 02 */	cmpwi r0, 2
/* 801FAF68 001F6BC8  40 82 00 14 */	bne lbl_801FAF7C
/* 801FAF6C 001F6BCC  7F 63 DB 78 */	mr r3, r27
/* 801FAF70 001F6BD0  7F C4 F3 78 */	mr r4, r30
/* 801FAF74 001F6BD4  7F A5 EB 78 */	mr r5, r29
/* 801FAF78 001F6BD8  4B FF FD 69 */	bl func_801FACE0
lbl_801FAF7C:
/* 801FAF7C 001F6BDC  80 1B 00 04 */	lwz r0, 4(r27)
/* 801FAF80 001F6BE0  2C 00 00 00 */	cmpwi r0, 0
/* 801FAF84 001F6BE4  41 82 00 44 */	beq lbl_801FAFC8
/* 801FAF88 001F6BE8  A0 1C 01 06 */	lhz r0, 0x106(r28)
/* 801FAF8C 001F6BEC  54 00 07 BE */	clrlwi r0, r0, 0x1e
/* 801FAF90 001F6BF0  2C 00 00 01 */	cmpwi r0, 1
/* 801FAF94 001F6BF4  40 82 00 14 */	bne lbl_801FAFA8
/* 801FAF98 001F6BF8  7F 63 DB 78 */	mr r3, r27
/* 801FAF9C 001F6BFC  7F E4 FB 78 */	mr r4, r31
/* 801FAFA0 001F6C00  7F 85 E3 78 */	mr r5, r28
/* 801FAFA4 001F6C04  4B FF FC 15 */	bl func_801FABB8
lbl_801FAFA8:
/* 801FAFA8 001F6C08  A0 1D 01 06 */	lhz r0, 0x106(r29)
/* 801FAFAC 001F6C0C  54 00 07 BE */	clrlwi r0, r0, 0x1e
/* 801FAFB0 001F6C10  2C 00 00 01 */	cmpwi r0, 1
/* 801FAFB4 001F6C14  40 82 00 14 */	bne lbl_801FAFC8
/* 801FAFB8 001F6C18  7F 63 DB 78 */	mr r3, r27
/* 801FAFBC 001F6C1C  7F C4 F3 78 */	mr r4, r30
/* 801FAFC0 001F6C20  7F A5 EB 78 */	mr r5, r29
/* 801FAFC4 001F6C24  4B FF FB F5 */	bl func_801FABB8
lbl_801FAFC8:
/* 801FAFC8 001F6C28  39 61 00 20 */	addi r11, r1, 0x20
/* 801FAFCC 001F6C2C  4B FC C1 A9 */	bl _restgpr_27
/* 801FAFD0 001F6C30  80 01 00 24 */	lwz r0, 0x24(r1)
/* 801FAFD4 001F6C34  7C 08 03 A6 */	mtlr r0
/* 801FAFD8 001F6C38  38 21 00 20 */	addi r1, r1, 0x20
/* 801FAFDC 001F6C3C  4E 80 00 20 */	blr

.global func_801FAFE0
func_801FAFE0:
/* 801FAFE0 001F6C40  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801FAFE4 001F6C44  7C 08 02 A6 */	mflr r0
/* 801FAFE8 001F6C48  90 01 00 14 */	stw r0, 0x14(r1)
/* 801FAFEC 001F6C4C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801FAFF0 001F6C50  93 C1 00 08 */	stw r30, 8(r1)
/* 801FAFF4 001F6C54  7C 7E 1B 78 */	mr r30, r3
/* 801FAFF8 001F6C58  4B FF FA 01 */	bl func_801FA9F8
/* 801FAFFC 001F6C5C  80 1E 00 08 */	lwz r0, 8(r30)
/* 801FB000 001F6C60  2C 00 00 00 */	cmpwi r0, 0
/* 801FB004 001F6C64  40 82 00 10 */	bne lbl_801FB014
/* 801FB008 001F6C68  80 1E 00 04 */	lwz r0, 4(r30)
/* 801FB00C 001F6C6C  2C 00 00 00 */	cmpwi r0, 0
/* 801FB010 001F6C70  41 82 00 40 */	beq lbl_801FB050
lbl_801FB014:
/* 801FB014 001F6C74  7F C3 F3 78 */	mr r3, r30
/* 801FB018 001F6C78  4B FF FA F5 */	bl func_801FAB0C
/* 801FB01C 001F6C7C  83 FE 00 18 */	lwz r31, 0x18(r30)
/* 801FB020 001F6C80  48 00 00 20 */	b lbl_801FB040
lbl_801FB024:
/* 801FB024 001F6C84  88 1F 00 09 */	lbz r0, 9(r31)
/* 801FB028 001F6C88  28 00 00 07 */	cmplwi r0, 7
/* 801FB02C 001F6C8C  40 82 00 10 */	bne lbl_801FB03C
/* 801FB030 001F6C90  7F C3 F3 78 */	mr r3, r30
/* 801FB034 001F6C94  7F E4 FB 78 */	mr r4, r31
/* 801FB038 001F6C98  4B FF FE 81 */	bl func_801FAEB8
lbl_801FB03C:
/* 801FB03C 001F6C9C  83 FF 00 04 */	lwz r31, 4(r31)
lbl_801FB040:
/* 801FB040 001F6CA0  2C 1F 00 00 */	cmpwi r31, 0
/* 801FB044 001F6CA4  40 82 FF E0 */	bne lbl_801FB024
/* 801FB048 001F6CA8  7F C3 F3 78 */	mr r3, r30
/* 801FB04C 001F6CAC  4B FF F7 79 */	bl func_801FA7C4
lbl_801FB050:
/* 801FB050 001F6CB0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801FB054 001F6CB4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801FB058 001F6CB8  83 C1 00 08 */	lwz r30, 8(r1)
/* 801FB05C 001F6CBC  7C 08 03 A6 */	mtlr r0
/* 801FB060 001F6CC0  38 21 00 10 */	addi r1, r1, 0x10
/* 801FB064 001F6CC4  4E 80 00 20 */	blr

.global func_801FB068
func_801FB068:
/* 801FB068 001F6CC8  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 801FB06C 001F6CCC  7C 08 02 A6 */	mflr r0
/* 801FB070 001F6CD0  90 01 00 44 */	stw r0, 0x44(r1)
/* 801FB074 001F6CD4  93 E1 00 3C */	stw r31, 0x3c(r1)
/* 801FB078 001F6CD8  93 C1 00 38 */	stw r30, 0x38(r1)
/* 801FB07C 001F6CDC  93 A1 00 34 */	stw r29, 0x34(r1)
/* 801FB080 001F6CE0  7C 9D 23 78 */	mr r29, r4
/* 801FB084 001F6CE4  93 81 00 30 */	stw r28, 0x30(r1)
/* 801FB088 001F6CE8  7C 7C 1B 78 */	mr r28, r3
/* 801FB08C 001F6CEC  80 AD A1 40 */	lwz r5, lbl_8063F400-_SDA_BASE_(r13)
/* 801FB090 001F6CF0  83 C5 00 00 */	lwz r30, 0(r5)
/* 801FB094 001F6CF4  48 00 00 5C */	b lbl_801FB0F0
lbl_801FB098:
/* 801FB098 001F6CF8  83 FE 00 00 */	lwz r31, 0(r30)
/* 801FB09C 001F6CFC  A0 1F 01 06 */	lhz r0, 0x106(r31)
/* 801FB0A0 001F6D00  54 00 07 7A */	rlwinm r0, r0, 0, 0x1d, 0x1d
/* 801FB0A4 001F6D04  2C 00 00 04 */	cmpwi r0, 4
/* 801FB0A8 001F6D08  40 82 00 44 */	bne lbl_801FB0EC
/* 801FB0AC 001F6D0C  7F E3 FB 78 */	mr r3, r31
/* 801FB0B0 001F6D10  4B FF 8C 31 */	bl func_801F3CE0
/* 801FB0B4 001F6D14  2C 03 00 00 */	cmpwi r3, 0
/* 801FB0B8 001F6D18  41 82 00 34 */	beq lbl_801FB0EC
/* 801FB0BC 001F6D1C  7F E3 FB 78 */	mr r3, r31
/* 801FB0C0 001F6D20  7F 84 E3 78 */	mr r4, r28
/* 801FB0C4 001F6D24  7F A5 EB 78 */	mr r5, r29
/* 801FB0C8 001F6D28  38 C1 00 18 */	addi r6, r1, 0x18
/* 801FB0CC 001F6D2C  38 E1 00 0C */	addi r7, r1, 0xc
/* 801FB0D0 001F6D30  39 01 00 08 */	addi r8, r1, 8
/* 801FB0D4 001F6D34  39 20 00 00 */	li r9, 0
/* 801FB0D8 001F6D38  4B FE 53 2D */	bl func_801E0404
/* 801FB0DC 001F6D3C  2C 03 00 00 */	cmpwi r3, 0
/* 801FB0E0 001F6D40  41 82 00 0C */	beq lbl_801FB0EC
/* 801FB0E4 001F6D44  38 60 00 01 */	li r3, 1
/* 801FB0E8 001F6D48  48 00 00 14 */	b lbl_801FB0FC
lbl_801FB0EC:
/* 801FB0EC 001F6D4C  83 DE 00 04 */	lwz r30, 4(r30)
lbl_801FB0F0:
/* 801FB0F0 001F6D50  2C 1E 00 00 */	cmpwi r30, 0
/* 801FB0F4 001F6D54  40 82 FF A4 */	bne lbl_801FB098
/* 801FB0F8 001F6D58  38 60 00 00 */	li r3, 0
lbl_801FB0FC:
/* 801FB0FC 001F6D5C  80 01 00 44 */	lwz r0, 0x44(r1)
/* 801FB100 001F6D60  83 E1 00 3C */	lwz r31, 0x3c(r1)
/* 801FB104 001F6D64  83 C1 00 38 */	lwz r30, 0x38(r1)
/* 801FB108 001F6D68  83 A1 00 34 */	lwz r29, 0x34(r1)
/* 801FB10C 001F6D6C  83 81 00 30 */	lwz r28, 0x30(r1)
/* 801FB110 001F6D70  7C 08 03 A6 */	mtlr r0
/* 801FB114 001F6D74  38 21 00 40 */	addi r1, r1, 0x40
/* 801FB118 001F6D78  4E 80 00 20 */	blr

.global func_801FB11C
func_801FB11C:
/* 801FB11C 001F6D7C  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 801FB120 001F6D80  7C 08 02 A6 */	mflr r0
/* 801FB124 001F6D84  90 01 00 54 */	stw r0, 0x54(r1)
/* 801FB128 001F6D88  39 61 00 50 */	addi r11, r1, 0x50
/* 801FB12C 001F6D8C  4B FC BF ED */	bl _savegpr_23
/* 801FB130 001F6D90  80 ED A1 40 */	lwz r7, lbl_8063F400-_SDA_BASE_(r13)
/* 801FB134 001F6D94  2C 06 00 00 */	cmpwi r6, 0
/* 801FB138 001F6D98  7C 7A 1B 78 */	mr r26, r3
/* 801FB13C 001F6D9C  7C BC 2B 78 */	mr r28, r5
/* 801FB140 001F6DA0  83 C7 00 00 */	lwz r30, 0(r7)
/* 801FB144 001F6DA4  7C 9B 23 78 */	mr r27, r4
/* 801FB148 001F6DA8  7C DD 33 78 */	mr r29, r6
/* 801FB14C 001F6DAC  7F 45 D3 78 */	mr r5, r26
/* 801FB150 001F6DB0  3B E0 00 00 */	li r31, 0
/* 801FB154 001F6DB4  38 E0 00 00 */	li r7, 0
/* 801FB158 001F6DB8  41 82 01 14 */	beq lbl_801FB26C
/* 801FB15C 001F6DBC  28 06 00 08 */	cmplwi r6, 8
/* 801FB160 001F6DC0  3C 66 00 01 */	addis r3, r6, 1
/* 801FB164 001F6DC4  38 63 FF F8 */	addi r3, r3, -8
/* 801FB168 001F6DC8  40 81 00 4C */	ble lbl_801FB1B4
/* 801FB16C 001F6DCC  54 63 04 3E */	clrlwi r3, r3, 0x10
/* 801FB170 001F6DD0  38 80 00 00 */	li r4, 0
/* 801FB174 001F6DD4  38 03 00 07 */	addi r0, r3, 7
/* 801FB178 001F6DD8  54 00 E8 FE */	srwi r0, r0, 3
/* 801FB17C 001F6DDC  7C 09 03 A6 */	mtctr r0
/* 801FB180 001F6DE0  28 03 00 00 */	cmplwi r3, 0
/* 801FB184 001F6DE4  40 81 00 30 */	ble lbl_801FB1B4
lbl_801FB188:
/* 801FB188 001F6DE8  98 85 00 00 */	stb r4, 0(r5)
/* 801FB18C 001F6DEC  38 E7 00 08 */	addi r7, r7, 8
/* 801FB190 001F6DF0  98 85 00 01 */	stb r4, 1(r5)
/* 801FB194 001F6DF4  98 85 00 02 */	stb r4, 2(r5)
/* 801FB198 001F6DF8  98 85 00 03 */	stb r4, 3(r5)
/* 801FB19C 001F6DFC  98 85 00 04 */	stb r4, 4(r5)
/* 801FB1A0 001F6E00  98 85 00 05 */	stb r4, 5(r5)
/* 801FB1A4 001F6E04  98 85 00 06 */	stb r4, 6(r5)
/* 801FB1A8 001F6E08  98 85 00 07 */	stb r4, 7(r5)
/* 801FB1AC 001F6E0C  38 A5 00 08 */	addi r5, r5, 8
/* 801FB1B0 001F6E10  42 00 FF D8 */	bdnz lbl_801FB188
lbl_801FB1B4:
/* 801FB1B4 001F6E14  54 E3 04 3E */	clrlwi r3, r7, 0x10
/* 801FB1B8 001F6E18  38 80 00 00 */	li r4, 0
/* 801FB1BC 001F6E1C  7C 03 30 50 */	subf r0, r3, r6
/* 801FB1C0 001F6E20  7C 09 03 A6 */	mtctr r0
/* 801FB1C4 001F6E24  7C 03 30 40 */	cmplw r3, r6
/* 801FB1C8 001F6E28  40 80 00 A4 */	bge lbl_801FB26C
lbl_801FB1CC:
/* 801FB1CC 001F6E2C  98 85 00 00 */	stb r4, 0(r5)
/* 801FB1D0 001F6E30  38 E7 00 01 */	addi r7, r7, 1
/* 801FB1D4 001F6E34  38 A5 00 01 */	addi r5, r5, 1
/* 801FB1D8 001F6E38  42 00 FF F4 */	bdnz lbl_801FB1CC
/* 801FB1DC 001F6E3C  48 00 00 90 */	b lbl_801FB26C
lbl_801FB1E0:
/* 801FB1E0 001F6E40  83 3E 00 00 */	lwz r25, 0(r30)
/* 801FB1E4 001F6E44  A0 19 01 06 */	lhz r0, 0x106(r25)
/* 801FB1E8 001F6E48  54 00 07 7A */	rlwinm r0, r0, 0, 0x1d, 0x1d
/* 801FB1EC 001F6E4C  2C 00 00 04 */	cmpwi r0, 4
/* 801FB1F0 001F6E50  40 82 00 78 */	bne lbl_801FB268
/* 801FB1F4 001F6E54  7F 23 CB 78 */	mr r3, r25
/* 801FB1F8 001F6E58  4B FF 8A E9 */	bl func_801F3CE0
/* 801FB1FC 001F6E5C  2C 03 00 00 */	cmpwi r3, 0
/* 801FB200 001F6E60  41 82 00 68 */	beq lbl_801FB268
/* 801FB204 001F6E64  7F 58 D3 78 */	mr r24, r26
/* 801FB208 001F6E68  3A E0 00 00 */	li r23, 0
/* 801FB20C 001F6E6C  48 00 00 50 */	b lbl_801FB25C
lbl_801FB210:
/* 801FB210 001F6E70  88 18 00 00 */	lbz r0, 0(r24)
/* 801FB214 001F6E74  2C 00 00 00 */	cmpwi r0, 0
/* 801FB218 001F6E78  40 82 00 3C */	bne lbl_801FB254
/* 801FB21C 001F6E7C  56 E0 04 3E */	clrlwi r0, r23, 0x10
/* 801FB220 001F6E80  7F 23 CB 78 */	mr r3, r25
/* 801FB224 001F6E84  1C 00 00 0C */	mulli r0, r0, 0xc
/* 801FB228 001F6E88  7F 64 DB 78 */	mr r4, r27
/* 801FB22C 001F6E8C  38 C1 00 18 */	addi r6, r1, 0x18
/* 801FB230 001F6E90  38 E1 00 0C */	addi r7, r1, 0xc
/* 801FB234 001F6E94  7C BC 02 14 */	add r5, r28, r0
/* 801FB238 001F6E98  39 01 00 08 */	addi r8, r1, 8
/* 801FB23C 001F6E9C  39 20 00 00 */	li r9, 0
/* 801FB240 001F6EA0  4B FE 51 C5 */	bl func_801E0404
/* 801FB244 001F6EA4  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 801FB248 001F6EA8  98 78 00 00 */	stb r3, 0(r24)
/* 801FB24C 001F6EAC  41 82 00 08 */	beq lbl_801FB254
/* 801FB250 001F6EB0  3B E0 00 01 */	li r31, 1
lbl_801FB254:
/* 801FB254 001F6EB4  3A F7 00 01 */	addi r23, r23, 1
/* 801FB258 001F6EB8  3B 18 00 01 */	addi r24, r24, 1
lbl_801FB25C:
/* 801FB25C 001F6EBC  56 E0 04 3E */	clrlwi r0, r23, 0x10
/* 801FB260 001F6EC0  7C 00 E8 40 */	cmplw r0, r29
/* 801FB264 001F6EC4  41 80 FF AC */	blt lbl_801FB210
lbl_801FB268:
/* 801FB268 001F6EC8  83 DE 00 04 */	lwz r30, 4(r30)
lbl_801FB26C:
/* 801FB26C 001F6ECC  2C 1E 00 00 */	cmpwi r30, 0
/* 801FB270 001F6ED0  40 82 FF 70 */	bne lbl_801FB1E0
/* 801FB274 001F6ED4  39 61 00 50 */	addi r11, r1, 0x50
/* 801FB278 001F6ED8  7F E3 FB 78 */	mr r3, r31
/* 801FB27C 001F6EDC  4B FC BE E9 */	bl _restgpr_23
/* 801FB280 001F6EE0  80 01 00 54 */	lwz r0, 0x54(r1)
/* 801FB284 001F6EE4  7C 08 03 A6 */	mtlr r0
/* 801FB288 001F6EE8  38 21 00 50 */	addi r1, r1, 0x50
/* 801FB28C 001F6EEC  4E 80 00 20 */	blr

.global func_801FB290
func_801FB290:
/* 801FB290 001F6EF0  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 801FB294 001F6EF4  7C 08 02 A6 */	mflr r0
/* 801FB298 001F6EF8  90 01 00 64 */	stw r0, 0x64(r1)
/* 801FB29C 001F6EFC  39 61 00 60 */	addi r11, r1, 0x60
/* 801FB2A0 001F6F00  4B FC BE 71 */	bl _savegpr_21
/* 801FB2A4 001F6F04  C0 02 98 54 */	lfs f0, lbl_80641E54-_SDA2_BASE_(r2)
/* 801FB2A8 001F6F08  7C 75 1B 78 */	mr r21, r3
/* 801FB2AC 001F6F0C  C0 64 00 00 */	lfs f3, 0(r4)
/* 801FB2B0 001F6F10  7C 96 23 78 */	mr r22, r4
/* 801FB2B4 001F6F14  D0 05 00 00 */	stfs f0, 0(r5)
/* 801FB2B8 001F6F18  7C B7 2B 78 */	mr r23, r5
/* 801FB2BC 001F6F1C  C0 44 00 04 */	lfs f2, 4(r4)
/* 801FB2C0 001F6F20  7C D8 33 78 */	mr r24, r6
/* 801FB2C4 001F6F24  D0 05 00 04 */	stfs f0, 4(r5)
/* 801FB2C8 001F6F28  7C F9 3B 78 */	mr r25, r7
/* 801FB2CC 001F6F2C  C0 24 00 08 */	lfs f1, 8(r4)
/* 801FB2D0 001F6F30  7D 1A 43 78 */	mr r26, r8
/* 801FB2D4 001F6F34  D0 05 00 08 */	stfs f0, 8(r5)
/* 801FB2D8 001F6F38  7D 3B 4B 78 */	mr r27, r9
/* 801FB2DC 001F6F3C  C0 02 98 50 */	lfs f0, lbl_80641E50-_SDA2_BASE_(r2)
/* 801FB2E0 001F6F40  3B C0 00 00 */	li r30, 0
/* 801FB2E4 001F6F44  D0 66 00 00 */	stfs f3, 0(r6)
/* 801FB2E8 001F6F48  3B 80 00 00 */	li r28, 0
/* 801FB2EC 001F6F4C  D0 46 00 04 */	stfs f2, 4(r6)
/* 801FB2F0 001F6F50  D0 26 00 08 */	stfs f1, 8(r6)
/* 801FB2F4 001F6F54  D0 07 00 00 */	stfs f0, 0(r7)
/* 801FB2F8 001F6F58  80 6D A1 40 */	lwz r3, lbl_8063F400-_SDA_BASE_(r13)
/* 801FB2FC 001F6F5C  83 A3 00 00 */	lwz r29, 0(r3)
/* 801FB300 001F6F60  48 00 00 AC */	b lbl_801FB3AC
lbl_801FB304:
/* 801FB304 001F6F64  83 FD 00 00 */	lwz r31, 0(r29)
/* 801FB308 001F6F68  A0 1F 01 06 */	lhz r0, 0x106(r31)
/* 801FB30C 001F6F6C  54 00 07 7A */	rlwinm r0, r0, 0, 0x1d, 0x1d
/* 801FB310 001F6F70  2C 00 00 04 */	cmpwi r0, 4
/* 801FB314 001F6F74  40 82 00 94 */	bne lbl_801FB3A8
/* 801FB318 001F6F78  7F E3 FB 78 */	mr r3, r31
/* 801FB31C 001F6F7C  4B FF 89 C5 */	bl func_801F3CE0
/* 801FB320 001F6F80  2C 03 00 00 */	cmpwi r3, 0
/* 801FB324 001F6F84  41 82 00 84 */	beq lbl_801FB3A8
/* 801FB328 001F6F88  7F E3 FB 78 */	mr r3, r31
/* 801FB32C 001F6F8C  7E A4 AB 78 */	mr r4, r21
/* 801FB330 001F6F90  7E C5 B3 78 */	mr r5, r22
/* 801FB334 001F6F94  7F 69 DB 78 */	mr r9, r27
/* 801FB338 001F6F98  38 C1 00 18 */	addi r6, r1, 0x18
/* 801FB33C 001F6F9C  38 E1 00 0C */	addi r7, r1, 0xc
/* 801FB340 001F6FA0  39 01 00 08 */	addi r8, r1, 8
/* 801FB344 001F6FA4  4B FE 50 C1 */	bl func_801E0404
/* 801FB348 001F6FA8  2C 03 00 00 */	cmpwi r3, 0
/* 801FB34C 001F6FAC  41 82 00 5C */	beq lbl_801FB3A8
/* 801FB350 001F6FB0  C0 39 00 00 */	lfs f1, 0(r25)
/* 801FB354 001F6FB4  C0 01 00 08 */	lfs f0, 8(r1)
/* 801FB358 001F6FB8  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 801FB35C 001F6FBC  40 81 00 4C */	ble lbl_801FB3A8
/* 801FB360 001F6FC0  C0 01 00 18 */	lfs f0, 0x18(r1)
/* 801FB364 001F6FC4  2C 1B 00 00 */	cmpwi r27, 0
/* 801FB368 001F6FC8  7F FC FB 78 */	mr r28, r31
/* 801FB36C 001F6FCC  3B C0 00 01 */	li r30, 1
/* 801FB370 001F6FD0  D0 17 00 00 */	stfs f0, 0(r23)
/* 801FB374 001F6FD4  C0 01 00 1C */	lfs f0, 0x1c(r1)
/* 801FB378 001F6FD8  D0 17 00 04 */	stfs f0, 4(r23)
/* 801FB37C 001F6FDC  C0 01 00 20 */	lfs f0, 0x20(r1)
/* 801FB380 001F6FE0  D0 17 00 08 */	stfs f0, 8(r23)
/* 801FB384 001F6FE4  C0 01 00 0C */	lfs f0, 0xc(r1)
/* 801FB388 001F6FE8  D0 18 00 00 */	stfs f0, 0(r24)
/* 801FB38C 001F6FEC  C0 01 00 10 */	lfs f0, 0x10(r1)
/* 801FB390 001F6FF0  D0 18 00 04 */	stfs f0, 4(r24)
/* 801FB394 001F6FF4  C0 01 00 14 */	lfs f0, 0x14(r1)
/* 801FB398 001F6FF8  D0 18 00 08 */	stfs f0, 8(r24)
/* 801FB39C 001F6FFC  C0 01 00 08 */	lfs f0, 8(r1)
/* 801FB3A0 001F7000  D0 19 00 00 */	stfs f0, 0(r25)
/* 801FB3A4 001F7004  41 82 00 10 */	beq lbl_801FB3B4
lbl_801FB3A8:
/* 801FB3A8 001F7008  83 BD 00 04 */	lwz r29, 4(r29)
lbl_801FB3AC:
/* 801FB3AC 001F700C  2C 1D 00 00 */	cmpwi r29, 0
/* 801FB3B0 001F7010  40 82 FF 54 */	bne lbl_801FB304
lbl_801FB3B4:
/* 801FB3B4 001F7014  2C 1E 00 00 */	cmpwi r30, 0
/* 801FB3B8 001F7018  41 82 00 38 */	beq lbl_801FB3F0
/* 801FB3BC 001F701C  2C 1A 00 00 */	cmpwi r26, 0
/* 801FB3C0 001F7020  41 82 00 30 */	beq lbl_801FB3F0
/* 801FB3C4 001F7024  80 6D A1 40 */	lwz r3, lbl_8063F400-_SDA_BASE_(r13)
/* 801FB3C8 001F7028  81 83 00 0C */	lwz r12, 0xc(r3)
/* 801FB3CC 001F702C  2C 0C 00 00 */	cmpwi r12, 0
/* 801FB3D0 001F7030  41 82 00 20 */	beq lbl_801FB3F0
/* 801FB3D4 001F7034  7F 43 D3 78 */	mr r3, r26
/* 801FB3D8 001F7038  7F 84 E3 78 */	mr r4, r28
/* 801FB3DC 001F703C  7E E5 BB 78 */	mr r5, r23
/* 801FB3E0 001F7040  7F 06 C3 78 */	mr r6, r24
/* 801FB3E4 001F7044  C0 39 00 00 */	lfs f1, 0(r25)
/* 801FB3E8 001F7048  7D 89 03 A6 */	mtctr r12
/* 801FB3EC 001F704C  4E 80 04 21 */	bctrl
lbl_801FB3F0:
/* 801FB3F0 001F7050  39 61 00 60 */	addi r11, r1, 0x60
/* 801FB3F4 001F7054  7F C3 F3 78 */	mr r3, r30
/* 801FB3F8 001F7058  4B FC BD 65 */	bl _restgpr_21
/* 801FB3FC 001F705C  80 01 00 64 */	lwz r0, 0x64(r1)
/* 801FB400 001F7060  7C 08 03 A6 */	mtlr r0
/* 801FB404 001F7064  38 21 00 60 */	addi r1, r1, 0x60
/* 801FB408 001F7068  4E 80 00 20 */	blr

.global func_801FB40C
func_801FB40C:
/* 801FB40C 001F706C  38 A0 00 01 */	li r5, 1
/* 801FB410 001F7070  38 6D A1 38 */	addi r3, r13, lbl_8063F3F8-_SDA_BASE_
/* 801FB414 001F7074  38 80 00 04 */	li r4, 4
/* 801FB418 001F7078  38 00 00 00 */	li r0, 0
/* 801FB41C 001F707C  98 AD A1 38 */	stb r5, lbl_8063F3F8-_SDA_BASE_(r13)
/* 801FB420 001F7080  B0 83 00 02 */	sth r4, 2(r3)
/* 801FB424 001F7084  98 03 00 04 */	stb r0, 4(r3)
/* 801FB428 001F7088  4E 80 00 20 */	blr