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

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

lbl_800478C0:
/* 800478C0 00043520  C0 02 83 C0 */	lfs f0, lbl_806409C0-_SDA2_BASE_(r2)
/* 800478C4 00043524  38 00 00 00 */	li r0, 0
/* 800478C8 00043528  90 03 00 00 */	stw r0, 0(r3)
/* 800478CC 0004352C  90 03 00 04 */	stw r0, 4(r3)
/* 800478D0 00043530  90 03 00 08 */	stw r0, 8(r3)
/* 800478D4 00043534  90 03 00 0C */	stw r0, 0xc(r3)
/* 800478D8 00043538  90 03 00 10 */	stw r0, 0x10(r3)
/* 800478DC 0004353C  D0 03 00 14 */	stfs f0, 0x14(r3)
/* 800478E0 00043540  4E 80 00 20 */	blr

.global lbl_800478E4
lbl_800478E4:
/* 800478E4 00043544  C0 02 83 C0 */	lfs f0, lbl_806409C0-_SDA2_BASE_(r2)
/* 800478E8 00043548  38 00 00 00 */	li r0, 0
/* 800478EC 0004354C  90 03 00 00 */	stw r0, 0(r3)
/* 800478F0 00043550  90 03 00 2C */	stw r0, 0x2c(r3)
/* 800478F4 00043554  90 03 00 30 */	stw r0, 0x30(r3)
/* 800478F8 00043558  90 03 00 20 */	stw r0, 0x20(r3)
/* 800478FC 0004355C  D0 03 00 1C */	stfs f0, 0x1c(r3)
/* 80047900 00043560  D0 03 00 0C */	stfs f0, 0xc(r3)
/* 80047904 00043564  4E 80 00 20 */	blr

.global lbl_80047908
lbl_80047908:
/* 80047908 00043568  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8004790C 0004356C  7C 08 02 A6 */	mflr r0
/* 80047910 00043570  2C 03 00 00 */	cmpwi r3, 0
/* 80047914 00043574  90 01 00 14 */	stw r0, 0x14(r1)
/* 80047918 00043578  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8004791C 0004357C  7C 9F 23 78 */	mr r31, r4
/* 80047920 00043580  93 C1 00 08 */	stw r30, 8(r1)
/* 80047924 00043584  7C 7E 1B 78 */	mr r30, r3
/* 80047928 00043588  41 82 00 18 */	beq lbl_80047940
/* 8004792C 0004358C  48 00 01 7D */	bl func_80047AA8
/* 80047930 00043590  2C 1F 00 00 */	cmpwi r31, 0
/* 80047934 00043594  40 81 00 0C */	ble lbl_80047940
/* 80047938 00043598  7F C3 F3 78 */	mr r3, r30
/* 8004793C 0004359C  48 19 31 7D */	bl __dl__FPv
lbl_80047940:
/* 80047940 000435A0  7F C3 F3 78 */	mr r3, r30
/* 80047944 000435A4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80047948 000435A8  83 C1 00 08 */	lwz r30, 8(r1)
/* 8004794C 000435AC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80047950 000435B0  7C 08 03 A6 */	mtlr r0
/* 80047954 000435B4  38 21 00 10 */	addi r1, r1, 0x10
/* 80047958 000435B8  4E 80 00 20 */	blr

.global func_8004795C
func_8004795C:
/* 8004795C 000435BC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80047960 000435C0  7C 08 02 A6 */	mflr r0
/* 80047964 000435C4  90 01 00 14 */	stw r0, 0x14(r1)
/* 80047968 000435C8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8004796C 000435CC  7C 9F 23 78 */	mr r31, r4
/* 80047970 000435D0  93 C1 00 08 */	stw r30, 8(r1)
/* 80047974 000435D4  7C 7E 1B 78 */	mr r30, r3
/* 80047978 000435D8  48 00 01 31 */	bl func_80047AA8
/* 8004797C 000435DC  80 1E 00 00 */	lwz r0, 0(r30)
/* 80047980 000435E0  93 FE 00 24 */	stw r31, 0x24(r30)
/* 80047984 000435E4  60 00 00 01 */	ori r0, r0, 1
/* 80047988 000435E8  90 1E 00 00 */	stw r0, 0(r30)
/* 8004798C 000435EC  80 7F 00 94 */	lwz r3, 0x94(r31)
/* 80047990 000435F0  2C 03 00 00 */	cmpwi r3, 0
/* 80047994 000435F4  41 82 00 0C */	beq lbl_800479A0
/* 80047998 000435F8  80 03 00 10 */	lwz r0, 0x10(r3)
/* 8004799C 000435FC  48 00 00 08 */	b lbl_800479A4
lbl_800479A0:
/* 800479A0 00043600  38 00 00 00 */	li r0, 0
lbl_800479A4:
/* 800479A4 00043604  90 1E 00 04 */	stw r0, 4(r30)
/* 800479A8 00043608  80 7E 00 24 */	lwz r3, 0x24(r30)
/* 800479AC 0004360C  80 63 00 94 */	lwz r3, 0x94(r3)
/* 800479B0 00043610  2C 03 00 00 */	cmpwi r3, 0
/* 800479B4 00043614  41 82 00 0C */	beq lbl_800479C0
/* 800479B8 00043618  80 03 00 14 */	lwz r0, 0x14(r3)
/* 800479BC 0004361C  48 00 00 08 */	b lbl_800479C4
lbl_800479C0:
/* 800479C0 00043620  38 00 00 00 */	li r0, 0
lbl_800479C4:
/* 800479C4 00043624  83 FE 00 04 */	lwz r31, 4(r30)
/* 800479C8 00043628  90 1E 00 08 */	stw r0, 8(r30)
/* 800479CC 0004362C  1C 7F 00 24 */	mulli r3, r31, 0x24
/* 800479D0 00043630  38 63 00 10 */	addi r3, r3, 0x10
/* 800479D4 00043634  48 19 30 A1 */	bl __nwa__FUl
/* 800479D8 00043638  3C 80 80 04 */	lis r4, lbl_800478C0@ha
/* 800479DC 0004363C  7F E7 FB 78 */	mr r7, r31
/* 800479E0 00043640  38 84 78 C0 */	addi r4, r4, lbl_800478C0@l
/* 800479E4 00043644  38 A0 00 00 */	li r5, 0
/* 800479E8 00043648  38 C0 00 24 */	li r6, 0x24
/* 800479EC 0004364C  48 17 F2 BD */	bl __construct_new_array
/* 800479F0 00043650  80 1E 00 08 */	lwz r0, 8(r30)
/* 800479F4 00043654  90 7E 00 2C */	stw r3, 0x2c(r30)
/* 800479F8 00043658  54 03 10 3A */	slwi r3, r0, 2
/* 800479FC 0004365C  48 19 30 79 */	bl __nwa__FUl
/* 80047A00 00043660  90 7E 00 30 */	stw r3, 0x30(r30)
/* 80047A04 00043664  38 C0 00 00 */	li r6, 0
/* 80047A08 00043668  38 A0 00 00 */	li r5, 0
/* 80047A0C 0004366C  38 80 00 00 */	li r4, 0
/* 80047A10 00043670  48 00 00 14 */	b lbl_80047A24
lbl_80047A14:
/* 80047A14 00043674  80 7E 00 30 */	lwz r3, 0x30(r30)
/* 80047A18 00043678  38 C6 00 01 */	addi r6, r6, 1
/* 80047A1C 0004367C  7C 83 29 2E */	stwx r4, r3, r5
/* 80047A20 00043680  38 A5 00 04 */	addi r5, r5, 4
lbl_80047A24:
/* 80047A24 00043684  80 1E 00 08 */	lwz r0, 8(r30)
/* 80047A28 00043688  7C 06 00 40 */	cmplw r6, r0
/* 80047A2C 0004368C  41 80 FF E8 */	blt lbl_80047A14
/* 80047A30 00043690  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80047A34 00043694  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80047A38 00043698  83 C1 00 08 */	lwz r30, 8(r1)
/* 80047A3C 0004369C  7C 08 03 A6 */	mtlr r0
/* 80047A40 000436A0  38 21 00 10 */	addi r1, r1, 0x10
/* 80047A44 000436A4  4E 80 00 20 */	blr

.global func_80047A48
func_80047A48:
/* 80047A48 000436A8  80 03 00 08 */	lwz r0, 8(r3)
/* 80047A4C 000436AC  39 00 00 00 */	li r8, 0
/* 80047A50 000436B0  38 C0 00 00 */	li r6, 0
/* 80047A54 000436B4  7C 09 03 A6 */	mtctr r0
/* 80047A58 000436B8  28 00 00 00 */	cmplwi r0, 0
/* 80047A5C 000436BC  40 81 00 44 */	ble lbl_80047AA0
lbl_80047A60:
/* 80047A60 000436C0  80 E3 00 30 */	lwz r7, 0x30(r3)
/* 80047A64 000436C4  7C A7 30 2E */	lwzx r5, r7, r6
/* 80047A68 000436C8  80 A5 00 14 */	lwz r5, 0x14(r5)
/* 80047A6C 000436CC  2C 05 00 00 */	cmpwi r5, 0
/* 80047A70 000436D0  41 82 00 0C */	beq lbl_80047A7C
/* 80047A74 000436D4  A0 05 00 08 */	lhz r0, 8(r5)
/* 80047A78 000436D8  48 00 00 08 */	b lbl_80047A80
lbl_80047A7C:
/* 80047A7C 000436DC  38 00 00 00 */	li r0, 0
lbl_80047A80:
/* 80047A80 000436E0  7C 04 00 40 */	cmplw r4, r0
/* 80047A84 000436E4  40 82 00 10 */	bne lbl_80047A94
/* 80047A88 000436E8  55 00 10 3A */	slwi r0, r8, 2
/* 80047A8C 000436EC  7C 67 00 2E */	lwzx r3, r7, r0
/* 80047A90 000436F0  4E 80 00 20 */	blr
lbl_80047A94:
/* 80047A94 000436F4  38 C6 00 04 */	addi r6, r6, 4
/* 80047A98 000436F8  39 08 00 01 */	addi r8, r8, 1
/* 80047A9C 000436FC  42 00 FF C4 */	bdnz lbl_80047A60
lbl_80047AA0:
/* 80047AA0 00043700  38 60 00 00 */	li r3, 0
/* 80047AA4 00043704  4E 80 00 20 */	blr

.global func_80047AA8
func_80047AA8:
/* 80047AA8 00043708  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80047AAC 0004370C  7C 08 02 A6 */	mflr r0
/* 80047AB0 00043710  90 01 00 24 */	stw r0, 0x24(r1)
/* 80047AB4 00043714  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80047AB8 00043718  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80047ABC 0004371C  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80047AC0 00043720  7C 7D 1B 78 */	mr r29, r3
/* 80047AC4 00043724  80 03 00 00 */	lwz r0, 0(r3)
/* 80047AC8 00043728  80 83 00 2C */	lwz r4, 0x2c(r3)
/* 80047ACC 0004372C  54 00 00 3C */	rlwinm r0, r0, 0, 0, 0x1e
/* 80047AD0 00043730  2C 04 00 00 */	cmpwi r4, 0
/* 80047AD4 00043734  90 03 00 00 */	stw r0, 0(r3)
/* 80047AD8 00043738  41 82 00 18 */	beq lbl_80047AF0
/* 80047ADC 0004373C  41 82 00 0C */	beq lbl_80047AE8
/* 80047AE0 00043740  38 64 FF F0 */	addi r3, r4, -16
/* 80047AE4 00043744  48 19 2F D9 */	bl __dla__FPv
lbl_80047AE8:
/* 80047AE8 00043748  38 00 00 00 */	li r0, 0
/* 80047AEC 0004374C  90 1D 00 2C */	stw r0, 0x2c(r29)
lbl_80047AF0:
/* 80047AF0 00043750  80 1D 00 30 */	lwz r0, 0x30(r29)
/* 80047AF4 00043754  2C 00 00 00 */	cmpwi r0, 0
/* 80047AF8 00043758  41 82 00 58 */	beq lbl_80047B50
/* 80047AFC 0004375C  3B C0 00 00 */	li r30, 0
/* 80047B00 00043760  3B E0 00 00 */	li r31, 0
/* 80047B04 00043764  48 00 00 30 */	b lbl_80047B34
lbl_80047B08:
/* 80047B08 00043768  80 7D 00 30 */	lwz r3, 0x30(r29)
/* 80047B0C 0004376C  7C 63 F8 2E */	lwzx r3, r3, r31
/* 80047B10 00043770  2C 03 00 00 */	cmpwi r3, 0
/* 80047B14 00043774  41 82 00 18 */	beq lbl_80047B2C
/* 80047B18 00043778  81 83 00 28 */	lwz r12, 0x28(r3)
/* 80047B1C 0004377C  38 80 00 01 */	li r4, 1
/* 80047B20 00043780  81 8C 00 18 */	lwz r12, 0x18(r12)
/* 80047B24 00043784  7D 89 03 A6 */	mtctr r12
/* 80047B28 00043788  4E 80 04 21 */	bctrl
lbl_80047B2C:
/* 80047B2C 0004378C  3B FF 00 04 */	addi r31, r31, 4
/* 80047B30 00043790  3B DE 00 01 */	addi r30, r30, 1
lbl_80047B34:
/* 80047B34 00043794  80 1D 00 08 */	lwz r0, 8(r29)
/* 80047B38 00043798  7C 1E 00 40 */	cmplw r30, r0
/* 80047B3C 0004379C  41 80 FF CC */	blt lbl_80047B08
/* 80047B40 000437A0  80 7D 00 30 */	lwz r3, 0x30(r29)
/* 80047B44 000437A4  48 19 2F 79 */	bl __dla__FPv
/* 80047B48 000437A8  38 00 00 00 */	li r0, 0
/* 80047B4C 000437AC  90 1D 00 30 */	stw r0, 0x30(r29)
lbl_80047B50:
/* 80047B50 000437B0  38 00 00 00 */	li r0, 0
/* 80047B54 000437B4  90 1D 00 2C */	stw r0, 0x2c(r29)
/* 80047B58 000437B8  90 1D 00 00 */	stw r0, 0(r29)
/* 80047B5C 000437BC  90 1D 00 34 */	stw r0, 0x34(r29)
/* 80047B60 000437C0  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80047B64 000437C4  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80047B68 000437C8  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80047B6C 000437CC  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80047B70 000437D0  7C 08 03 A6 */	mtlr r0
/* 80047B74 000437D4  38 21 00 20 */	addi r1, r1, 0x20
/* 80047B78 000437D8  4E 80 00 20 */	blr

.global func_80047B7C
func_80047B7C:
/* 80047B7C 000437DC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80047B80 000437E0  7C 08 02 A6 */	mflr r0
/* 80047B84 000437E4  90 01 00 14 */	stw r0, 0x14(r1)
/* 80047B88 000437E8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80047B8C 000437EC  7C 9F 23 78 */	mr r31, r4
/* 80047B90 000437F0  93 C1 00 08 */	stw r30, 8(r1)
/* 80047B94 000437F4  7C 7E 1B 78 */	mr r30, r3
/* 80047B98 000437F8  48 00 5C 75 */	bl func_8004D80C
/* 80047B9C 000437FC  7F E4 FB 78 */	mr r4, r31
/* 80047BA0 00043800  48 00 5E E9 */	bl func_8004DA88
/* 80047BA4 00043804  2C 03 00 00 */	cmpwi r3, 0
/* 80047BA8 00043808  7C 64 1B 78 */	mr r4, r3
/* 80047BAC 0004380C  41 82 00 14 */	beq lbl_80047BC0
/* 80047BB0 00043810  7F C3 F3 78 */	mr r3, r30
/* 80047BB4 00043814  4B FF FD A9 */	bl func_8004795C
/* 80047BB8 00043818  38 60 00 01 */	li r3, 1
/* 80047BBC 0004381C  48 00 00 08 */	b lbl_80047BC4
lbl_80047BC0:
/* 80047BC0 00043820  38 60 00 00 */	li r3, 0
lbl_80047BC4:
/* 80047BC4 00043824  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80047BC8 00043828  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80047BCC 0004382C  83 C1 00 08 */	lwz r30, 8(r1)
/* 80047BD0 00043830  7C 08 03 A6 */	mtlr r0
/* 80047BD4 00043834  38 21 00 10 */	addi r1, r1, 0x10
/* 80047BD8 00043838  4E 80 00 20 */	blr

.global func_80047BDC
func_80047BDC:
/* 80047BDC 0004383C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80047BE0 00043840  7C 08 02 A6 */	mflr r0
/* 80047BE4 00043844  90 01 00 24 */	stw r0, 0x24(r1)
/* 80047BE8 00043848  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80047BEC 0004384C  7C BF 2B 78 */	mr r31, r5
/* 80047BF0 00043850  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80047BF4 00043854  7C 9E 23 78 */	mr r30, r4
/* 80047BF8 00043858  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80047BFC 0004385C  7C 7D 1B 78 */	mr r29, r3
/* 80047C00 00043860  48 00 5C 0D */	bl func_8004D80C
/* 80047C04 00043864  7F C4 F3 78 */	mr r4, r30
/* 80047C08 00043868  7F E5 FB 78 */	mr r5, r31
/* 80047C0C 0004386C  48 00 5F DD */	bl func_8004DBE8
/* 80047C10 00043870  2C 03 00 00 */	cmpwi r3, 0
/* 80047C14 00043874  7C 64 1B 78 */	mr r4, r3
/* 80047C18 00043878  41 82 00 14 */	beq lbl_80047C2C
/* 80047C1C 0004387C  7F A3 EB 78 */	mr r3, r29
/* 80047C20 00043880  4B FF FD 3D */	bl func_8004795C
/* 80047C24 00043884  38 60 00 01 */	li r3, 1
/* 80047C28 00043888  48 00 00 08 */	b lbl_80047C30
lbl_80047C2C:
/* 80047C2C 0004388C  38 60 00 00 */	li r3, 0
lbl_80047C30:
/* 80047C30 00043890  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80047C34 00043894  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80047C38 00043898  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80047C3C 0004389C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80047C40 000438A0  7C 08 03 A6 */	mtlr r0
/* 80047C44 000438A4  38 21 00 20 */	addi r1, r1, 0x20
/* 80047C48 000438A8  4E 80 00 20 */	blr

.global func_80047C4C
func_80047C4C:
/* 80047C4C 000438AC  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 80047C50 000438B0  7C 08 02 A6 */	mflr r0
/* 80047C54 000438B4  90 01 00 54 */	stw r0, 0x54(r1)
/* 80047C58 000438B8  DB E1 00 40 */	stfd f31, 0x40(r1)
/* 80047C5C 000438BC  F3 E1 00 48 */	psq_st f31, 72(r1), 0, qr0
/* 80047C60 000438C0  DB C1 00 30 */	stfd f30, 0x30(r1)
/* 80047C64 000438C4  F3 C1 00 38 */	psq_st f30, 56(r1), 0, qr0
/* 80047C68 000438C8  39 61 00 30 */	addi r11, r1, 0x30
/* 80047C6C 000438CC  48 17 F4 B1 */	bl _savegpr_24
/* 80047C70 000438D0  FF C0 08 90 */	fmr f30, f1
/* 80047C74 000438D4  7C 78 1B 78 */	mr r24, r3
/* 80047C78 000438D8  7C 99 23 78 */	mr r25, r4
/* 80047C7C 000438DC  7C BA 2B 78 */	mr r26, r5
/* 80047C80 000438E0  7C DB 33 78 */	mr r27, r6
/* 80047C84 000438E4  7C FC 3B 78 */	mr r28, r7
/* 80047C88 000438E8  7D 1D 43 78 */	mr r29, r8
/* 80047C8C 000438EC  3F E0 80 41 */	lis r31, 0x8041
/* 80047C90 000438F0  48 00 02 24 */	b lbl_80047EB4
lbl_80047C94:
/* 80047C94 000438F4  A0 19 00 0A */	lhz r0, 0xa(r25)
/* 80047C98 000438F8  28 00 00 06 */	cmplwi r0, 6
/* 80047C9C 000438FC  41 81 00 DC */	bgt lbl_80047D78
/* 80047CA0 00043900  38 7F A4 48 */	addi r3, r31, -23480
/* 80047CA4 00043904  54 00 10 3A */	slwi r0, r0, 2
/* 80047CA8 00043908  7C 63 00 2E */	lwzx r3, r3, r0
/* 80047CAC 0004390C  7C 69 03 A6 */	mtctr r3
/* 80047CB0 00043910  4E 80 04 20 */	bctr
/* 80047CB4 00043914  38 60 00 2C */	li r3, 0x2c
/* 80047CB8 00043918  48 19 2D 79 */	bl __nw__FUl
/* 80047CBC 0004391C  2C 03 00 00 */	cmpwi r3, 0
/* 80047CC0 00043920  41 82 00 08 */	beq lbl_80047CC8
/* 80047CC4 00043924  48 00 13 C1 */	bl func_80049084
lbl_80047CC8:
/* 80047CC8 00043928  7C 7E 1B 78 */	mr r30, r3
/* 80047CCC 0004392C  48 00 00 C4 */	b lbl_80047D90
/* 80047CD0 00043930  38 60 00 3C */	li r3, 0x3c
/* 80047CD4 00043934  48 19 2D 5D */	bl __nw__FUl
/* 80047CD8 00043938  2C 03 00 00 */	cmpwi r3, 0
/* 80047CDC 0004393C  41 82 00 08 */	beq lbl_80047CE4
/* 80047CE0 00043940  48 00 17 A9 */	bl func_80049488
lbl_80047CE4:
/* 80047CE4 00043944  7C 7E 1B 78 */	mr r30, r3
/* 80047CE8 00043948  48 00 00 A8 */	b lbl_80047D90
/* 80047CEC 0004394C  38 60 00 30 */	li r3, 0x30
/* 80047CF0 00043950  48 19 2D 41 */	bl __nw__FUl
/* 80047CF4 00043954  2C 03 00 00 */	cmpwi r3, 0
/* 80047CF8 00043958  41 82 00 08 */	beq lbl_80047D00
/* 80047CFC 0004395C  48 00 26 D1 */	bl func_8004A3CC
lbl_80047D00:
/* 80047D00 00043960  7C 7E 1B 78 */	mr r30, r3
/* 80047D04 00043964  48 00 00 8C */	b lbl_80047D90
/* 80047D08 00043968  38 60 00 30 */	li r3, 0x30
/* 80047D0C 0004396C  48 19 2D 25 */	bl __nw__FUl
/* 80047D10 00043970  2C 03 00 00 */	cmpwi r3, 0
/* 80047D14 00043974  41 82 00 08 */	beq lbl_80047D1C
/* 80047D18 00043978  48 00 30 A5 */	bl func_8004ADBC
lbl_80047D1C:
/* 80047D1C 0004397C  7C 7E 1B 78 */	mr r30, r3
/* 80047D20 00043980  48 00 00 70 */	b lbl_80047D90
/* 80047D24 00043984  38 60 00 2C */	li r3, 0x2c
/* 80047D28 00043988  48 19 2D 09 */	bl __nw__FUl
/* 80047D2C 0004398C  2C 03 00 00 */	cmpwi r3, 0
/* 80047D30 00043990  41 82 00 08 */	beq lbl_80047D38
/* 80047D34 00043994  48 00 2E 5D */	bl func_8004AB90
lbl_80047D38:
/* 80047D38 00043998  7C 7E 1B 78 */	mr r30, r3
/* 80047D3C 0004399C  48 00 00 54 */	b lbl_80047D90
/* 80047D40 000439A0  38 60 00 2C */	li r3, 0x2c
/* 80047D44 000439A4  48 19 2C ED */	bl __nw__FUl
/* 80047D48 000439A8  2C 03 00 00 */	cmpwi r3, 0
/* 80047D4C 000439AC  41 82 00 08 */	beq lbl_80047D54
/* 80047D50 000439B0  48 00 2A 11 */	bl func_8004A760
lbl_80047D54:
/* 80047D54 000439B4  7C 7E 1B 78 */	mr r30, r3
/* 80047D58 000439B8  48 00 00 38 */	b lbl_80047D90
/* 80047D5C 000439BC  38 60 00 30 */	li r3, 0x30
/* 80047D60 000439C0  48 19 2C D1 */	bl __nw__FUl
/* 80047D64 000439C4  2C 03 00 00 */	cmpwi r3, 0
/* 80047D68 000439C8  41 82 00 08 */	beq lbl_80047D70
/* 80047D6C 000439CC  48 00 2C 29 */	bl func_8004A994
lbl_80047D70:
/* 80047D70 000439D0  7C 7E 1B 78 */	mr r30, r3
/* 80047D74 000439D4  48 00 00 1C */	b lbl_80047D90
lbl_80047D78:
/* 80047D78 000439D8  38 60 00 2C */	li r3, 0x2c
/* 80047D7C 000439DC  48 19 2C B5 */	bl __nw__FUl
/* 80047D80 000439E0  2C 03 00 00 */	cmpwi r3, 0
/* 80047D84 000439E4  41 82 00 08 */	beq lbl_80047D8C
/* 80047D88 000439E8  48 00 12 FD */	bl func_80049084
lbl_80047D8C:
/* 80047D8C 000439EC  7C 7E 1B 78 */	mr r30, r3
lbl_80047D90:
/* 80047D90 000439F0  A0 19 00 08 */	lhz r0, 8(r25)
/* 80047D94 000439F4  7F C3 F3 78 */	mr r3, r30
/* 80047D98 000439F8  80 D8 00 30 */	lwz r6, 0x30(r24)
/* 80047D9C 000439FC  7F 24 CB 78 */	mr r4, r25
/* 80047DA0 00043A00  54 00 10 3A */	slwi r0, r0, 2
/* 80047DA4 00043A04  7F 05 C3 78 */	mr r5, r24
/* 80047DA8 00043A08  7F C6 01 2E */	stwx r30, r6, r0
/* 80047DAC 00043A0C  48 00 13 7D */	bl func_80049128
/* 80047DB0 00043A10  93 9E 00 20 */	stw r28, 0x20(r30)
/* 80047DB4 00043A14  88 19 00 0E */	lbz r0, 0xe(r25)
/* 80047DB8 00043A18  28 00 00 01 */	cmplwi r0, 1
/* 80047DBC 00043A1C  40 82 00 60 */	bne lbl_80047E1C
/* 80047DC0 00043A20  81 9E 00 28 */	lwz r12, 0x28(r30)
/* 80047DC4 00043A24  7F C3 F3 78 */	mr r3, r30
/* 80047DC8 00043A28  81 8C 00 24 */	lwz r12, 0x24(r12)
/* 80047DCC 00043A2C  7D 89 03 A6 */	mtctr r12
/* 80047DD0 00043A30  4E 80 04 21 */	bctrl
/* 80047DD4 00043A34  C0 19 00 10 */	lfs f0, 0x10(r25)
/* 80047DD8 00043A38  88 19 00 0F */	lbz r0, 0xf(r25)
/* 80047DDC 00043A3C  EC 20 00 72 */	fmuls f1, f0, f1
/* 80047DE0 00043A40  C0 19 00 14 */	lfs f0, 0x14(r25)
/* 80047DE4 00043A44  2C 00 00 02 */	cmpwi r0, 2
/* 80047DE8 00043A48  EF FE 08 2A */	fadds f31, f30, f1
/* 80047DEC 00043A4C  EF FF 00 2A */	fadds f31, f31, f0
/* 80047DF0 00043A50  41 82 00 84 */	beq lbl_80047E74
/* 80047DF4 00043A54  40 80 00 80 */	bge lbl_80047E74
/* 80047DF8 00043A58  2C 00 00 01 */	cmpwi r0, 1
/* 80047DFC 00043A5C  40 80 00 08 */	bge lbl_80047E04
/* 80047E00 00043A60  48 00 00 74 */	b lbl_80047E74
lbl_80047E04:
/* 80047E04 00043A64  88 9A 00 05 */	lbz r4, 5(r26)
/* 80047E08 00043A68  7F 63 DB 78 */	mr r3, r27
/* 80047E0C 00043A6C  80 B9 00 18 */	lwz r5, 0x18(r25)
/* 80047E10 00043A70  4B FF 20 71 */	bl func_80039E80
/* 80047E14 00043A74  EF FF 08 2A */	fadds f31, f31, f1
/* 80047E18 00043A78  48 00 00 5C */	b lbl_80047E74
lbl_80047E1C:
/* 80047E1C 00043A7C  81 9E 00 28 */	lwz r12, 0x28(r30)
/* 80047E20 00043A80  7F C3 F3 78 */	mr r3, r30
/* 80047E24 00043A84  81 8C 00 24 */	lwz r12, 0x24(r12)
/* 80047E28 00043A88  7D 89 03 A6 */	mtctr r12
/* 80047E2C 00043A8C  4E 80 04 21 */	bctrl
/* 80047E30 00043A90  C0 19 00 10 */	lfs f0, 0x10(r25)
/* 80047E34 00043A94  88 19 00 0F */	lbz r0, 0xf(r25)
/* 80047E38 00043A98  EC 20 00 72 */	fmuls f1, f0, f1
/* 80047E3C 00043A9C  C0 19 00 14 */	lfs f0, 0x14(r25)
/* 80047E40 00043AA0  2C 00 00 02 */	cmpwi r0, 2
/* 80047E44 00043AA4  EF FE 08 2A */	fadds f31, f30, f1
/* 80047E48 00043AA8  EF FF 00 28 */	fsubs f31, f31, f0
/* 80047E4C 00043AAC  41 82 00 28 */	beq lbl_80047E74
/* 80047E50 00043AB0  40 80 00 24 */	bge lbl_80047E74
/* 80047E54 00043AB4  2C 00 00 01 */	cmpwi r0, 1
/* 80047E58 00043AB8  40 80 00 08 */	bge lbl_80047E60
/* 80047E5C 00043ABC  48 00 00 18 */	b lbl_80047E74
lbl_80047E60:
/* 80047E60 00043AC0  88 9A 00 05 */	lbz r4, 5(r26)
/* 80047E64 00043AC4  7F 63 DB 78 */	mr r3, r27
/* 80047E68 00043AC8  80 B9 00 18 */	lwz r5, 0x18(r25)
/* 80047E6C 00043ACC  4B FF 20 15 */	bl func_80039E80
/* 80047E70 00043AD0  EF FF 08 2A */	fadds f31, f31, f1
lbl_80047E74:
/* 80047E74 00043AD4  D3 FE 00 0C */	stfs f31, 0xc(r30)
/* 80047E78 00043AD8  C0 1D 00 00 */	lfs f0, 0(r29)
/* 80047E7C 00043ADC  FC 00 F8 40 */	fcmpo cr0, f0, f31
/* 80047E80 00043AE0  40 81 00 08 */	ble lbl_80047E88
/* 80047E84 00043AE4  D3 FD 00 00 */	stfs f31, 0(r29)
lbl_80047E88:
/* 80047E88 00043AE8  80 99 00 28 */	lwz r4, 0x28(r25)
/* 80047E8C 00043AEC  2C 04 00 00 */	cmpwi r4, 0
/* 80047E90 00043AF0  41 82 00 20 */	beq lbl_80047EB0
/* 80047E94 00043AF4  FC 20 F8 90 */	fmr f1, f31
/* 80047E98 00043AF8  7F 03 C3 78 */	mr r3, r24
/* 80047E9C 00043AFC  7F 45 D3 78 */	mr r5, r26
/* 80047EA0 00043B00  7F 66 DB 78 */	mr r6, r27
/* 80047EA4 00043B04  7F 87 E3 78 */	mr r7, r28
/* 80047EA8 00043B08  7F A8 EB 78 */	mr r8, r29
/* 80047EAC 00043B0C  4B FF FD A1 */	bl func_80047C4C
lbl_80047EB0:
/* 80047EB0 00043B10  83 39 00 20 */	lwz r25, 0x20(r25)
lbl_80047EB4:
/* 80047EB4 00043B14  2C 19 00 00 */	cmpwi r25, 0
/* 80047EB8 00043B18  40 82 FD DC */	bne lbl_80047C94
/* 80047EBC 00043B1C  E3 E1 00 48 */	psq_l f31, 72(r1), 0, qr0
/* 80047EC0 00043B20  CB E1 00 40 */	lfd f31, 0x40(r1)
/* 80047EC4 00043B24  E3 C1 00 38 */	psq_l f30, 56(r1), 0, qr0
/* 80047EC8 00043B28  39 61 00 30 */	addi r11, r1, 0x30
/* 80047ECC 00043B2C  CB C1 00 30 */	lfd f30, 0x30(r1)
/* 80047ED0 00043B30  48 17 F2 99 */	bl _restgpr_24
/* 80047ED4 00043B34  80 01 00 54 */	lwz r0, 0x54(r1)
/* 80047ED8 00043B38  7C 08 03 A6 */	mtlr r0
/* 80047EDC 00043B3C  38 21 00 50 */	addi r1, r1, 0x50
/* 80047EE0 00043B40  4E 80 00 20 */	blr

.global func_80047EE4
func_80047EE4:
/* 80047EE4 00043B44  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 80047EE8 00043B48  7C 08 02 A6 */	mflr r0
/* 80047EEC 00043B4C  90 01 00 74 */	stw r0, 0x74(r1)
/* 80047EF0 00043B50  DB E1 00 60 */	stfd f31, 0x60(r1)
/* 80047EF4 00043B54  F3 E1 00 68 */	psq_st f31, 104(r1), 0, qr0
/* 80047EF8 00043B58  DB C1 00 50 */	stfd f30, 0x50(r1)
/* 80047EFC 00043B5C  F3 C1 00 58 */	psq_st f30, 88(r1), 0, qr0
/* 80047F00 00043B60  DB A1 00 40 */	stfd f29, 0x40(r1)
/* 80047F04 00043B64  F3 A1 00 48 */	psq_st f29, 72(r1), 0, qr0
/* 80047F08 00043B68  39 61 00 40 */	addi r11, r1, 0x40
/* 80047F0C 00043B6C  48 17 F2 09 */	bl _savegpr_22
/* 80047F10 00043B70  C3 A2 83 C0 */	lfs f29, lbl_806409C0-_SDA2_BASE_(r2)
/* 80047F14 00043B74  7C 78 1B 78 */	mr r24, r3
/* 80047F18 00043B78  80 63 00 24 */	lwz r3, 0x24(r3)
/* 80047F1C 00043B7C  7C 99 23 78 */	mr r25, r4
/* 80047F20 00043B80  FF E0 E8 90 */	fmr f31, f29
/* 80047F24 00043B84  C3 C2 83 C4 */	lfs f30, lbl_806409C4-_SDA2_BASE_(r2)
/* 80047F28 00043B88  83 63 00 98 */	lwz r27, 0x98(r3)
/* 80047F2C 00043B8C  3B C0 00 00 */	li r30, 0
/* 80047F30 00043B90  3B A0 00 00 */	li r29, 0
/* 80047F34 00043B94  3B 80 00 00 */	li r28, 0
/* 80047F38 00043B98  3B E0 00 00 */	li r31, 0
/* 80047F3C 00043B9C  3A E0 00 00 */	li r23, 0
/* 80047F40 00043BA0  3A C0 00 0A */	li r22, 0xa
/* 80047F44 00043BA4  48 00 01 64 */	b lbl_800480A8
lbl_80047F48:
/* 80047F48 00043BA8  80 18 00 2C */	lwz r0, 0x2c(r24)
/* 80047F4C 00043BAC  2C 1E 00 00 */	cmpwi r30, 0
/* 80047F50 00043BB0  7F 40 FA 14 */	add r26, r0, r31
/* 80047F54 00043BB4  41 82 00 14 */	beq lbl_80047F68
/* 80047F58 00043BB8  80 1A 00 10 */	lwz r0, 0x10(r26)
/* 80047F5C 00043BBC  3B C0 00 00 */	li r30, 0
/* 80047F60 00043BC0  60 00 00 01 */	ori r0, r0, 1
/* 80047F64 00043BC4  90 1A 00 10 */	stw r0, 0x10(r26)
lbl_80047F68:
/* 80047F68 00043BC8  2C 1D 00 00 */	cmpwi r29, 0
/* 80047F6C 00043BCC  41 82 00 10 */	beq lbl_80047F7C
/* 80047F70 00043BD0  80 1A 00 10 */	lwz r0, 0x10(r26)
/* 80047F74 00043BD4  60 00 00 04 */	ori r0, r0, 4
/* 80047F78 00043BD8  90 1A 00 10 */	stw r0, 0x10(r26)
lbl_80047F7C:
/* 80047F7C 00043BDC  93 9A 00 0C */	stw r28, 0xc(r26)
/* 80047F80 00043BE0  80 1B 00 08 */	lwz r0, 8(r27)
/* 80047F84 00043BE4  2C 00 00 00 */	cmpwi r0, 0
/* 80047F88 00043BE8  41 82 00 0C */	beq lbl_80047F94
/* 80047F8C 00043BEC  38 1A FF DC */	addi r0, r26, -36
/* 80047F90 00043BF0  90 1A 00 04 */	stw r0, 4(r26)
lbl_80047F94:
/* 80047F94 00043BF4  80 1B 00 0C */	lwz r0, 0xc(r27)
/* 80047F98 00043BF8  2C 00 00 00 */	cmpwi r0, 0
/* 80047F9C 00043BFC  41 82 00 0C */	beq lbl_80047FA8
/* 80047FA0 00043C00  38 1A 00 24 */	addi r0, r26, 0x24
/* 80047FA4 00043C04  90 1A 00 08 */	stw r0, 8(r26)
lbl_80047FA8:
/* 80047FA8 00043C08  93 7A 00 00 */	stw r27, 0(r26)
/* 80047FAC 00043C0C  80 1B 00 10 */	lwz r0, 0x10(r27)
/* 80047FB0 00043C10  2C 00 00 00 */	cmpwi r0, 0
/* 80047FB4 00043C14  41 82 00 30 */	beq lbl_80047FE4
/* 80047FB8 00043C18  D3 C1 00 08 */	stfs f30, 8(r1)
/* 80047FBC 00043C1C  FC 20 E8 90 */	fmr f1, f29
/* 80047FC0 00043C20  7F 03 C3 78 */	mr r3, r24
/* 80047FC4 00043C24  7F 65 DB 78 */	mr r5, r27
/* 80047FC8 00043C28  80 9B 00 10 */	lwz r4, 0x10(r27)
/* 80047FCC 00043C2C  7F 26 CB 78 */	mr r6, r25
/* 80047FD0 00043C30  7F 87 E3 78 */	mr r7, r28
/* 80047FD4 00043C34  39 01 00 08 */	addi r8, r1, 8
/* 80047FD8 00043C38  4B FF FC 75 */	bl func_80047C4C
/* 80047FDC 00043C3C  C0 01 00 08 */	lfs f0, 8(r1)
/* 80047FE0 00043C40  D0 1A 00 18 */	stfs f0, 0x18(r26)
lbl_80047FE4:
/* 80047FE4 00043C44  D3 BB 00 18 */	stfs f29, 0x18(r27)
/* 80047FE8 00043C48  D3 BA 00 14 */	stfs f29, 0x14(r26)
/* 80047FEC 00043C4C  D3 FA 00 1C */	stfs f31, 0x1c(r26)
/* 80047FF0 00043C50  D3 FA 00 20 */	stfs f31, 0x20(r26)
/* 80047FF4 00043C54  88 7B 00 05 */	lbz r3, 5(r27)
/* 80047FF8 00043C58  38 03 00 EF */	addi r0, r3, 0xef
/* 80047FFC 00043C5C  54 00 06 3E */	clrlwi r0, r0, 0x18
/* 80048000 00043C60  28 00 00 01 */	cmplwi r0, 1
/* 80048004 00043C64  41 81 00 20 */	bgt lbl_80048024
/* 80048008 00043C68  80 1A 00 10 */	lwz r0, 0x10(r26)
/* 8004800C 00043C6C  FF A0 F8 90 */	fmr f29, f31
/* 80048010 00043C70  3B C0 00 01 */	li r30, 1
/* 80048014 00043C74  3B A0 00 01 */	li r29, 1
/* 80048018 00043C78  60 00 00 02 */	ori r0, r0, 2
/* 8004801C 00043C7C  90 1A 00 10 */	stw r0, 0x10(r26)
/* 80048020 00043C80  48 00 00 7C */	b lbl_8004809C
lbl_80048024:
/* 80048024 00043C84  2C 19 00 00 */	cmpwi r25, 0
/* 80048028 00043C88  41 82 00 74 */	beq lbl_8004809C
/* 8004802C 00043C8C  2C 03 00 00 */	cmpwi r3, 0
/* 80048030 00043C90  40 82 00 34 */	bne lbl_80048064
/* 80048034 00043C94  A0 19 05 0C */	lhz r0, 0x50c(r25)
/* 80048038 00043C98  28 00 00 01 */	cmplwi r0, 1
/* 8004803C 00043C9C  40 82 00 28 */	bne lbl_80048064
/* 80048040 00043CA0  80 19 00 00 */	lwz r0, 0(r25)
/* 80048044 00043CA4  54 00 04 E7 */	rlwinm. r0, r0, 0, 0x13, 0x13
/* 80048048 00043CA8  41 82 00 40 */	beq lbl_80048088
/* 8004804C 00043CAC  7F 23 CB 78 */	mr r3, r25
/* 80048050 00043CB0  4B FF 5F 71 */	bl func_8003DFC0
/* 80048054 00043CB4  2C 03 00 00 */	cmpwi r3, 0
/* 80048058 00043CB8  41 82 00 30 */	beq lbl_80048088
/* 8004805C 00043CBC  9A DB 00 05 */	stb r22, 5(r27)
/* 80048060 00043CC0  48 00 00 28 */	b lbl_80048088
lbl_80048064:
/* 80048064 00043CC4  28 03 00 0A */	cmplwi r3, 0xa
/* 80048068 00043CC8  40 82 00 20 */	bne lbl_80048088
/* 8004806C 00043CCC  A0 19 05 0C */	lhz r0, 0x50c(r25)
/* 80048070 00043CD0  28 00 00 01 */	cmplwi r0, 1
/* 80048074 00043CD4  40 82 00 14 */	bne lbl_80048088
/* 80048078 00043CD8  80 19 00 00 */	lwz r0, 0(r25)
/* 8004807C 00043CDC  54 00 04 E7 */	rlwinm. r0, r0, 0, 0x13, 0x13
/* 80048080 00043CE0  40 82 00 08 */	bne lbl_80048088
/* 80048084 00043CE4  9A FB 00 05 */	stb r23, 5(r27)
lbl_80048088:
/* 80048088 00043CE8  88 9B 00 05 */	lbz r4, 5(r27)
/* 8004808C 00043CEC  7F 23 CB 78 */	mr r3, r25
/* 80048090 00043CF0  38 A0 FF FF */	li r5, -1
/* 80048094 00043CF4  4B FF 1D ED */	bl func_80039E80
/* 80048098 00043CF8  EF BD 08 2A */	fadds f29, f29, f1
lbl_8004809C:
/* 8004809C 00043CFC  83 7B 00 0C */	lwz r27, 0xc(r27)
/* 800480A0 00043D00  3B FF 00 24 */	addi r31, r31, 0x24
/* 800480A4 00043D04  3B 9C 00 01 */	addi r28, r28, 1
lbl_800480A8:
/* 800480A8 00043D08  2C 1B 00 00 */	cmpwi r27, 0
/* 800480AC 00043D0C  40 82 FE 9C */	bne lbl_80047F48
/* 800480B0 00043D10  3A E0 00 00 */	li r23, 0
/* 800480B4 00043D14  3A C0 00 00 */	li r22, 0
/* 800480B8 00043D18  48 00 00 2C */	b lbl_800480E4
lbl_800480BC:
/* 800480BC 00043D1C  80 78 00 30 */	lwz r3, 0x30(r24)
/* 800480C0 00043D20  7C 63 B0 2E */	lwzx r3, r3, r22
/* 800480C4 00043D24  2C 03 00 00 */	cmpwi r3, 0
/* 800480C8 00043D28  41 82 00 14 */	beq lbl_800480DC
/* 800480CC 00043D2C  81 83 00 28 */	lwz r12, 0x28(r3)
/* 800480D0 00043D30  81 8C 00 20 */	lwz r12, 0x20(r12)
/* 800480D4 00043D34  7D 89 03 A6 */	mtctr r12
/* 800480D8 00043D38  4E 80 04 21 */	bctrl
lbl_800480DC:
/* 800480DC 00043D3C  3A D6 00 04 */	addi r22, r22, 4
/* 800480E0 00043D40  3A F7 00 01 */	addi r23, r23, 1
lbl_800480E4:
/* 800480E4 00043D44  80 18 00 08 */	lwz r0, 8(r24)
/* 800480E8 00043D48  7C 17 00 40 */	cmplw r23, r0
/* 800480EC 00043D4C  41 80 FF D0 */	blt lbl_800480BC
/* 800480F0 00043D50  C0 02 83 C8 */	lfs f0, lbl_806409C8-_SDA2_BASE_(r2)
/* 800480F4 00043D54  38 C0 00 00 */	li r6, 0
/* 800480F8 00043D58  38 A0 00 00 */	li r5, 0
/* 800480FC 00043D5C  D0 18 00 10 */	stfs f0, 0x10(r24)
/* 80048100 00043D60  48 00 00 44 */	b lbl_80048144
lbl_80048104:
/* 80048104 00043D64  80 98 00 30 */	lwz r4, 0x30(r24)
/* 80048108 00043D68  80 78 00 2C */	lwz r3, 0x2c(r24)
/* 8004810C 00043D6C  7C 84 28 2E */	lwzx r4, r4, r5
/* 80048110 00043D70  80 04 00 20 */	lwz r0, 0x20(r4)
/* 80048114 00043D74  1C 00 00 24 */	mulli r0, r0, 0x24
/* 80048118 00043D78  7C 63 02 14 */	add r3, r3, r0
/* 8004811C 00043D7C  80 03 00 10 */	lwz r0, 0x10(r3)
/* 80048120 00043D80  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 80048124 00043D84  40 82 00 18 */	bne lbl_8004813C
/* 80048128 00043D88  C0 24 00 0C */	lfs f1, 0xc(r4)
/* 8004812C 00043D8C  C0 18 00 10 */	lfs f0, 0x10(r24)
/* 80048130 00043D90  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 80048134 00043D94  40 81 00 08 */	ble lbl_8004813C
/* 80048138 00043D98  D0 38 00 10 */	stfs f1, 0x10(r24)
lbl_8004813C:
/* 8004813C 00043D9C  38 A5 00 04 */	addi r5, r5, 4
/* 80048140 00043DA0  38 C6 00 01 */	addi r6, r6, 1
lbl_80048144:
/* 80048144 00043DA4  80 78 00 24 */	lwz r3, 0x24(r24)
/* 80048148 00043DA8  80 63 00 94 */	lwz r3, 0x94(r3)
/* 8004814C 00043DAC  2C 03 00 00 */	cmpwi r3, 0
/* 80048150 00043DB0  40 82 00 0C */	bne lbl_8004815C
/* 80048154 00043DB4  38 00 00 00 */	li r0, 0
/* 80048158 00043DB8  48 00 00 08 */	b lbl_80048160
lbl_8004815C:
/* 8004815C 00043DBC  80 03 00 14 */	lwz r0, 0x14(r3)
lbl_80048160:
/* 80048160 00043DC0  7C 06 00 40 */	cmplw r6, r0
/* 80048164 00043DC4  41 80 FF A0 */	blt lbl_80048104
/* 80048168 00043DC8  93 38 00 34 */	stw r25, 0x34(r24)
/* 8004816C 00043DCC  E3 E1 00 68 */	psq_l f31, 104(r1), 0, qr0
/* 80048170 00043DD0  CB E1 00 60 */	lfd f31, 0x60(r1)
/* 80048174 00043DD4  E3 C1 00 58 */	psq_l f30, 88(r1), 0, qr0
/* 80048178 00043DD8  CB C1 00 50 */	lfd f30, 0x50(r1)
/* 8004817C 00043DDC  E3 A1 00 48 */	psq_l f29, 72(r1), 0, qr0
/* 80048180 00043DE0  CB A1 00 40 */	lfd f29, 0x40(r1)
/* 80048184 00043DE4  39 61 00 40 */	addi r11, r1, 0x40
/* 80048188 00043DE8  48 17 EF D9 */	bl _restgpr_22
/* 8004818C 00043DEC  80 01 00 74 */	lwz r0, 0x74(r1)
/* 80048190 00043DF0  7C 08 03 A6 */	mtlr r0
/* 80048194 00043DF4  38 21 00 70 */	addi r1, r1, 0x70
/* 80048198 00043DF8  4E 80 00 20 */	blr
/* 8004819C 00043DFC  4E 80 00 20 */	blr

.global func_800481A0
func_800481A0:
/* 800481A0 00043E00  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 800481A4 00043E04  7C 08 02 A6 */	mflr r0
/* 800481A8 00043E08  90 01 00 14 */	stw r0, 0x14(r1)
/* 800481AC 00043E0C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 800481B0 00043E10  7C 7F 1B 78 */	mr r31, r3
/* 800481B4 00043E14  4B FE AE D5 */	bl func_80033088
/* 800481B8 00043E18  80 1F 00 20 */	lwz r0, 0x20(r31)
/* 800481BC 00043E1C  54 04 04 3E */	clrlwi r4, r0, 0x10
/* 800481C0 00043E20  4B FE B9 BD */	bl func_80033B7C
/* 800481C4 00043E24  2C 03 00 00 */	cmpwi r3, 0
/* 800481C8 00043E28  40 82 00 0C */	bne lbl_800481D4
/* 800481CC 00043E2C  38 60 00 00 */	li r3, 0
/* 800481D0 00043E30  48 00 00 08 */	b lbl_800481D8
lbl_800481D4:
/* 800481D4 00043E34  4B FE D7 9D */	bl func_80035970
lbl_800481D8:
/* 800481D8 00043E38  80 01 00 14 */	lwz r0, 0x14(r1)
/* 800481DC 00043E3C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 800481E0 00043E40  7C 08 03 A6 */	mtlr r0
/* 800481E4 00043E44  38 21 00 10 */	addi r1, r1, 0x10
/* 800481E8 00043E48  4E 80 00 20 */	blr

.global func_800481EC
func_800481EC:
/* 800481EC 00043E4C  C0 23 00 10 */	lfs f1, 0x10(r3)
/* 800481F0 00043E50  C0 02 83 C0 */	lfs f0, lbl_806409C0-_SDA2_BASE_(r2)
/* 800481F4 00043E54  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 800481F8 00043E58  40 80 00 08 */	bge lbl_80048200
/* 800481FC 00043E5C  48 00 00 0C */	b func_80048208
lbl_80048200:
/* 80048200 00043E60  FC 20 00 90 */	fmr f1, f0
/* 80048204 00043E64  48 00 00 04 */	b func_80048208

.global func_80048208
func_80048208:
/* 80048208 00043E68  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8004820C 00043E6C  7C 08 02 A6 */	mflr r0
/* 80048210 00043E70  C0 02 83 C0 */	lfs f0, lbl_806409C0-_SDA2_BASE_(r2)
/* 80048214 00043E74  90 01 00 14 */	stw r0, 0x14(r1)
/* 80048218 00043E78  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8004821C 00043E7C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80048220 00043E80  7C 7F 1B 78 */	mr r31, r3
/* 80048224 00043E84  80 03 00 00 */	lwz r0, 0(r3)
/* 80048228 00043E88  80 83 00 2C */	lwz r4, 0x2c(r3)
/* 8004822C 00043E8C  60 00 00 02 */	ori r0, r0, 2
/* 80048230 00043E90  D0 23 00 0C */	stfs f1, 0xc(r3)
/* 80048234 00043E94  54 00 07 B6 */	rlwinm r0, r0, 0, 0x1e, 0x1b
/* 80048238 00043E98  90 03 00 00 */	stw r0, 0(r3)
/* 8004823C 00043E9C  90 83 00 28 */	stw r4, 0x28(r3)
/* 80048240 00043EA0  40 81 00 08 */	ble lbl_80048248
/* 80048244 00043EA4  D0 24 00 20 */	stfs f1, 0x20(r4)
lbl_80048248:
/* 80048248 00043EA8  80 83 00 34 */	lwz r4, 0x34(r3)
/* 8004824C 00043EAC  2C 04 00 00 */	cmpwi r4, 0
/* 80048250 00043EB0  41 82 00 10 */	beq lbl_80048260
/* 80048254 00043EB4  C0 04 0D 80 */	lfs f0, 0xd80(r4)
/* 80048258 00043EB8  80 83 00 28 */	lwz r4, 0x28(r3)
/* 8004825C 00043EBC  D0 04 00 1C */	stfs f0, 0x1c(r4)
lbl_80048260:
/* 80048260 00043EC0  C0 02 83 C0 */	lfs f0, lbl_806409C0-_SDA2_BASE_(r2)
/* 80048264 00043EC4  D0 03 00 14 */	stfs f0, 0x14(r3)
/* 80048268 00043EC8  D0 03 00 18 */	stfs f0, 0x18(r3)
/* 8004826C 00043ECC  80 63 00 24 */	lwz r3, 0x24(r3)
/* 80048270 00043ED0  48 00 0D E9 */	bl cGame_GetGameTime
/* 80048274 00043ED4  D0 3F 00 1C */	stfs f1, 0x1c(r31)
/* 80048278 00043ED8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8004827C 00043EDC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80048280 00043EE0  7C 08 03 A6 */	mtlr r0
/* 80048284 00043EE4  38 21 00 10 */	addi r1, r1, 0x10
/* 80048288 00043EE8  4E 80 00 20 */	blr

.global func_8004828C
func_8004828C:
/* 8004828C 00043EEC  2C 04 00 00 */	cmpwi r4, 0
/* 80048290 00043EF0  41 82 00 08 */	beq lbl_80048298
/* 80048294 00043EF4  48 00 00 10 */	b lbl_800482A4
lbl_80048298:
/* 80048298 00043EF8  80 03 00 00 */	lwz r0, 0(r3)
/* 8004829C 00043EFC  54 03 FF FE */	rlwinm r3, r0, 0x1f, 0x1f, 0x1f
/* 800482A0 00043F00  4E 80 00 20 */	blr
lbl_800482A4:
/* 800482A4 00043F04  38 60 00 00 */	li r3, 0
/* 800482A8 00043F08  4E 80 00 20 */	blr

.global func_800482AC
func_800482AC:
/* 800482AC 00043F0C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 800482B0 00043F10  7C 08 02 A6 */	mflr r0
/* 800482B4 00043F14  90 01 00 24 */	stw r0, 0x24(r1)
/* 800482B8 00043F18  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 800482BC 00043F1C  93 C1 00 18 */	stw r30, 0x18(r1)
/* 800482C0 00043F20  93 A1 00 14 */	stw r29, 0x14(r1)
/* 800482C4 00043F24  7C 7D 1B 78 */	mr r29, r3
/* 800482C8 00043F28  80 03 00 00 */	lwz r0, 0(r3)
/* 800482CC 00043F2C  2C 00 00 00 */	cmpwi r0, 0
/* 800482D0 00043F30  41 82 00 64 */	beq lbl_80048334
/* 800482D4 00043F34  3B C0 00 00 */	li r30, 0
/* 800482D8 00043F38  3B E0 00 00 */	li r31, 0
/* 800482DC 00043F3C  48 00 00 20 */	b lbl_800482FC
lbl_800482E0:
/* 800482E0 00043F40  80 7D 00 30 */	lwz r3, 0x30(r29)
/* 800482E4 00043F44  7C 63 F8 2E */	lwzx r3, r3, r31
/* 800482E8 00043F48  2C 03 00 00 */	cmpwi r3, 0
/* 800482EC 00043F4C  41 82 00 08 */	beq lbl_800482F4
/* 800482F0 00043F50  48 00 0F 91 */	bl func_80049280
lbl_800482F4:
/* 800482F4 00043F54  3B FF 00 04 */	addi r31, r31, 4
/* 800482F8 00043F58  3B DE 00 01 */	addi r30, r30, 1
lbl_800482FC:
/* 800482FC 00043F5C  80 7D 00 24 */	lwz r3, 0x24(r29)
/* 80048300 00043F60  80 63 00 94 */	lwz r3, 0x94(r3)
/* 80048304 00043F64  2C 03 00 00 */	cmpwi r3, 0
/* 80048308 00043F68  40 82 00 0C */	bne lbl_80048314
/* 8004830C 00043F6C  38 00 00 00 */	li r0, 0
/* 80048310 00043F70  48 00 00 08 */	b lbl_80048318
lbl_80048314:
/* 80048314 00043F74  80 03 00 14 */	lwz r0, 0x14(r3)
lbl_80048318:
/* 80048318 00043F78  7C 1E 00 40 */	cmplw r30, r0
/* 8004831C 00043F7C  41 80 FF C4 */	blt lbl_800482E0
/* 80048320 00043F80  80 1D 00 00 */	lwz r0, 0(r29)
/* 80048324 00043F84  C0 02 83 C0 */	lfs f0, lbl_806409C0-_SDA2_BASE_(r2)
/* 80048328 00043F88  54 00 07 FA */	rlwinm r0, r0, 0, 0x1f, 0x1d
/* 8004832C 00043F8C  90 1D 00 00 */	stw r0, 0(r29)
/* 80048330 00043F90  D0 1D 00 14 */	stfs f0, 0x14(r29)
lbl_80048334:
/* 80048334 00043F94  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80048338 00043F98  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8004833C 00043F9C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80048340 00043FA0  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80048344 00043FA4  7C 08 03 A6 */	mtlr r0
/* 80048348 00043FA8  38 21 00 20 */	addi r1, r1, 0x20
/* 8004834C 00043FAC  4E 80 00 20 */	blr

.global func_80048350
func_80048350:
/* 80048350 00043FB0  94 21 FF B0 */	stwu r1, -0x50(r1)
/* 80048354 00043FB4  7C 08 02 A6 */	mflr r0
/* 80048358 00043FB8  90 01 00 54 */	stw r0, 0x54(r1)
/* 8004835C 00043FBC  DB E1 00 40 */	stfd f31, 0x40(r1)
/* 80048360 00043FC0  F3 E1 00 48 */	psq_st f31, 72(r1), 0, qr0
/* 80048364 00043FC4  DB C1 00 30 */	stfd f30, 0x30(r1)
/* 80048368 00043FC8  F3 C1 00 38 */	psq_st f30, 56(r1), 0, qr0
/* 8004836C 00043FCC  DB A1 00 20 */	stfd f29, 0x20(r1)
/* 80048370 00043FD0  F3 A1 00 28 */	psq_st f29, 40(r1), 0, qr0
/* 80048374 00043FD4  39 61 00 20 */	addi r11, r1, 0x20
/* 80048378 00043FD8  48 17 ED B1 */	bl _savegpr_27
/* 8004837C 00043FDC  80 03 00 00 */	lwz r0, 0(r3)
/* 80048380 00043FE0  FF E0 08 90 */	fmr f31, f1
/* 80048384 00043FE4  7C 7E 1B 78 */	mr r30, r3
/* 80048388 00043FE8  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 8004838C 00043FEC  41 82 03 4C */	beq lbl_800486D8
/* 80048390 00043FF0  80 83 00 34 */	lwz r4, 0x34(r3)
/* 80048394 00043FF4  2C 04 00 00 */	cmpwi r4, 0
/* 80048398 00043FF8  41 82 00 10 */	beq lbl_800483A8
/* 8004839C 00043FFC  80 04 0C 04 */	lwz r0, 0xc04(r4)
/* 800483A0 00044000  2C 00 00 00 */	cmpwi r0, 0
/* 800483A4 00044004  41 82 03 34 */	beq lbl_800486D8
lbl_800483A8:
/* 800483A8 00044008  C0 03 00 1C */	lfs f0, 0x1c(r3)
/* 800483AC 0004400C  C0 42 83 C0 */	lfs f2, lbl_806409C0-_SDA2_BASE_(r2)
/* 800483B0 00044010  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 800483B4 00044014  40 81 00 48 */	ble lbl_800483FC
/* 800483B8 00044018  EC 00 08 28 */	fsubs f0, f0, f1
/* 800483BC 0004401C  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 800483C0 00044020  D0 03 00 1C */	stfs f0, 0x1c(r3)
/* 800483C4 00044024  4C 40 13 82 */	cror 2, 0, 2
/* 800483C8 00044028  40 82 00 34 */	bne lbl_800483FC
/* 800483CC 0004402C  7F C3 F3 78 */	mr r3, r30
/* 800483D0 00044030  4B FF FE DD */	bl func_800482AC
/* 800483D4 00044034  80 1E 00 00 */	lwz r0, 0(r30)
/* 800483D8 00044038  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 800483DC 0004403C  41 82 02 FC */	beq lbl_800486D8
/* 800483E0 00044040  48 00 54 2D */	bl func_8004D80C
/* 800483E4 00044044  2C 03 00 00 */	cmpwi r3, 0
/* 800483E8 00044048  41 82 02 F0 */	beq lbl_800486D8
/* 800483EC 0004404C  7F C4 F3 78 */	mr r4, r30
/* 800483F0 00044050  48 00 59 DD */	bl func_8004DDCC
/* 800483F4 00044054  48 00 02 E4 */	b lbl_800486D8
/* 800483F8 00044058  48 00 02 E0 */	b lbl_800486D8
lbl_800483FC:
/* 800483FC 0004405C  C0 43 00 0C */	lfs f2, 0xc(r3)
/* 80048400 00044060  C0 03 00 18 */	lfs f0, 0x18(r3)
/* 80048404 00044064  EC 62 08 2A */	fadds f3, f2, f1
/* 80048408 00044068  C0 42 83 C0 */	lfs f2, lbl_806409C0-_SDA2_BASE_(r2)
/* 8004840C 0004406C  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 80048410 00044070  D0 63 00 0C */	stfs f3, 0xc(r3)
/* 80048414 00044074  40 81 00 24 */	ble lbl_80048438
/* 80048418 00044078  EC 00 08 28 */	fsubs f0, f0, f1
/* 8004841C 0004407C  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 80048420 00044080  D0 03 00 18 */	stfs f0, 0x18(r3)
/* 80048424 00044084  4C 40 13 82 */	cror 2, 0, 2
/* 80048428 00044088  40 82 00 10 */	bne lbl_80048438
/* 8004842C 0004408C  80 03 00 00 */	lwz r0, 0(r3)
/* 80048430 00044090  60 00 00 08 */	ori r0, r0, 8
/* 80048434 00044094  90 03 00 00 */	stw r0, 0(r3)
lbl_80048438:
/* 80048438 00044098  80 83 00 34 */	lwz r4, 0x34(r3)
/* 8004843C 0004409C  2C 04 00 00 */	cmpwi r4, 0
/* 80048440 000440A0  41 82 00 0C */	beq lbl_8004844C
/* 80048444 000440A4  C3 A4 0D 80 */	lfs f29, 0xd80(r4)
/* 80048448 000440A8  48 00 00 08 */	b lbl_80048450
lbl_8004844C:
/* 8004844C 000440AC  C3 A2 83 C0 */	lfs f29, lbl_806409C0-_SDA2_BASE_(r2)
lbl_80048450:
/* 80048450 000440B0  2C 04 00 00 */	cmpwi r4, 0
/* 80048454 000440B4  41 82 01 58 */	beq lbl_800485AC
/* 80048458 000440B8  80 A3 00 00 */	lwz r5, 0(r3)
/* 8004845C 000440BC  54 A0 03 DF */	rlwinm. r0, r5, 0, 0xf, 0xf
/* 80048460 000440C0  40 82 01 4C */	bne lbl_800485AC
/* 80048464 000440C4  80 C3 00 28 */	lwz r6, 0x28(r3)
/* 80048468 000440C8  2C 06 00 00 */	cmpwi r6, 0
/* 8004846C 000440CC  41 82 01 40 */	beq lbl_800485AC
/* 80048470 000440D0  C0 46 00 14 */	lfs f2, 0x14(r6)
/* 80048474 000440D4  C0 03 00 14 */	lfs f0, 0x14(r3)
/* 80048478 000440D8  C0 23 00 0C */	lfs f1, 0xc(r3)
/* 8004847C 000440DC  EC 00 10 2A */	fadds f0, f0, f2
/* 80048480 000440E0  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 80048484 000440E4  4C 41 13 82 */	cror 2, 1, 2
/* 80048488 000440E8  40 82 01 24 */	bne lbl_800485AC
/* 8004848C 000440EC  80 06 00 10 */	lwz r0, 0x10(r6)
/* 80048490 000440F0  3B E0 00 01 */	li r31, 1
/* 80048494 000440F4  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 80048498 000440F8  41 82 00 A8 */	beq lbl_80048540
/* 8004849C 000440FC  54 A0 07 39 */	rlwinm. r0, r5, 0, 0x1c, 0x1c
/* 800484A0 00044100  41 82 00 9C */	beq lbl_8004853C
/* 800484A4 00044104  80 66 00 00 */	lwz r3, 0(r6)
/* 800484A8 00044108  3B 80 00 00 */	li r28, 0
/* 800484AC 0004410C  80 A3 00 00 */	lwz r5, 0(r3)
/* 800484B0 00044110  8B A3 00 05 */	lbz r29, 5(r3)
/* 800484B4 00044114  54 A0 07 BD */	rlwinm. r0, r5, 0, 0x1e, 0x1e
/* 800484B8 00044118  41 82 00 08 */	beq lbl_800484C0
/* 800484BC 0004411C  3B 80 00 01 */	li r28, 1
lbl_800484C0:
/* 800484C0 00044120  54 A0 07 7B */	rlwinm. r0, r5, 0, 0x1d, 0x1d
/* 800484C4 00044124  41 82 00 08 */	beq lbl_800484CC
/* 800484C8 00044128  3B 80 00 02 */	li r28, 2
lbl_800484CC:
/* 800484CC 0004412C  7C 83 23 78 */	mr r3, r4
/* 800484D0 00044130  7F A4 EB 78 */	mr r4, r29
/* 800484D4 00044134  7F 85 E3 78 */	mr r5, r28
/* 800484D8 00044138  4B FF 19 A9 */	bl func_80039E80
/* 800484DC 0004413C  FF C0 08 90 */	fmr f30, f1
/* 800484E0 00044140  80 7E 00 34 */	lwz r3, 0x34(r30)
/* 800484E4 00044144  7F A4 EB 78 */	mr r4, r29
/* 800484E8 00044148  38 BC 00 01 */	addi r5, r28, 1
/* 800484EC 0004414C  4B FF 19 95 */	bl func_80039E80
/* 800484F0 00044150  80 7E 00 28 */	lwz r3, 0x28(r30)
/* 800484F4 00044154  EC 41 F0 28 */	fsubs f2, f1, f30
/* 800484F8 00044158  C0 02 83 CC */	lfs f0, lbl_806409CC-_SDA2_BASE_(r2)
/* 800484FC 0004415C  FC 20 F0 50 */	fneg f1, f30
/* 80048500 00044160  D3 C3 00 20 */	stfs f30, 0x20(r3)
/* 80048504 00044164  EC 00 00 B2 */	fmuls f0, f0, f2
/* 80048508 00044168  80 7E 00 28 */	lwz r3, 0x28(r30)
/* 8004850C 0004416C  D0 03 00 1C */	stfs f0, 0x1c(r3)
/* 80048510 00044170  C0 1E 00 14 */	lfs f0, 0x14(r30)
/* 80048514 00044174  80 7E 00 28 */	lwz r3, 0x28(r30)
/* 80048518 00044178  EC 00 08 2A */	fadds f0, f0, f1
/* 8004851C 0004417C  D0 1E 00 14 */	stfs f0, 0x14(r30)
/* 80048520 00044180  80 03 00 10 */	lwz r0, 0x10(r3)
/* 80048524 00044184  54 00 07 B8 */	rlwinm r0, r0, 0, 0x1e, 0x1c
/* 80048528 00044188  90 03 00 10 */	stw r0, 0x10(r3)
/* 8004852C 0004418C  80 1E 00 00 */	lwz r0, 0(r30)
/* 80048530 00044190  54 00 07 76 */	rlwinm r0, r0, 0, 0x1d, 0x1b
/* 80048534 00044194  90 1E 00 00 */	stw r0, 0(r30)
/* 80048538 00044198  48 00 00 08 */	b lbl_80048540
lbl_8004853C:
/* 8004853C 0004419C  3B E0 00 00 */	li r31, 0
lbl_80048540:
/* 80048540 000441A0  2C 1F 00 00 */	cmpwi r31, 0
/* 80048544 000441A4  41 82 00 68 */	beq lbl_800485AC
/* 80048548 000441A8  80 9E 00 28 */	lwz r4, 0x28(r30)
/* 8004854C 000441AC  80 7E 00 34 */	lwz r3, 0x34(r30)
/* 80048550 000441B0  C0 04 00 1C */	lfs f0, 0x1c(r4)
/* 80048554 000441B4  D0 03 0D 80 */	stfs f0, 0xd80(r3)
/* 80048558 000441B8  80 1E 00 00 */	lwz r0, 0(r30)
/* 8004855C 000441BC  54 00 06 F7 */	rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 80048560 000441C0  40 82 00 20 */	bne lbl_80048580
/* 80048564 000441C4  80 9E 00 28 */	lwz r4, 0x28(r30)
/* 80048568 000441C8  80 7E 00 34 */	lwz r3, 0x34(r30)
/* 8004856C 000441CC  83 E4 00 00 */	lwz r31, 0(r4)
/* 80048570 000441D0  4B FF 0F 81 */	bl func_800394F0
/* 80048574 000441D4  88 1F 00 05 */	lbz r0, 5(r31)
/* 80048578 000441D8  7C 03 00 00 */	cmpw r3, r0
/* 8004857C 000441DC  41 82 00 1C */	beq lbl_80048598
lbl_80048580:
/* 80048580 000441E0  80 9E 00 28 */	lwz r4, 0x28(r30)
/* 80048584 000441E4  80 7E 00 34 */	lwz r3, 0x34(r30)
/* 80048588 000441E8  C0 24 00 20 */	lfs f1, 0x20(r4)
/* 8004858C 000441EC  80 84 00 00 */	lwz r4, 0(r4)
/* 80048590 000441F0  88 84 00 05 */	lbz r4, 5(r4)
/* 80048594 000441F4  4B FF 0C 6D */	bl func_80039200
lbl_80048598:
/* 80048598 000441F8  80 7E 00 34 */	lwz r3, 0x34(r30)
/* 8004859C 000441FC  D3 A3 0D 80 */	stfs f29, 0xd80(r3)
/* 800485A0 00044200  80 7E 00 28 */	lwz r3, 0x28(r30)
/* 800485A4 00044204  80 03 00 08 */	lwz r0, 8(r3)
/* 800485A8 00044208  90 1E 00 28 */	stw r0, 0x28(r30)
lbl_800485AC:
/* 800485AC 0004420C  3B 80 00 00 */	li r28, 0
/* 800485B0 00044210  3B E0 00 00 */	li r31, 0
/* 800485B4 00044214  48 00 00 64 */	b lbl_80048618
lbl_800485B8:
/* 800485B8 00044218  80 7E 00 30 */	lwz r3, 0x30(r30)
/* 800485BC 0004421C  80 9E 00 2C */	lwz r4, 0x2c(r30)
/* 800485C0 00044220  7C 63 F8 2E */	lwzx r3, r3, r31
/* 800485C4 00044224  80 03 00 20 */	lwz r0, 0x20(r3)
/* 800485C8 00044228  1C 00 00 24 */	mulli r0, r0, 0x24
/* 800485CC 0004422C  7C 84 02 14 */	add r4, r4, r0
/* 800485D0 00044230  80 04 00 10 */	lwz r0, 0x10(r4)
/* 800485D4 00044234  54 00 07 7B */	rlwinm. r0, r0, 0, 0x1d, 0x1d
/* 800485D8 00044238  40 82 00 38 */	bne lbl_80048610
/* 800485DC 0004423C  C0 43 00 0C */	lfs f2, 0xc(r3)
/* 800485E0 00044240  C0 1E 00 14 */	lfs f0, 0x14(r30)
/* 800485E4 00044244  C0 3E 00 0C */	lfs f1, 0xc(r30)
/* 800485E8 00044248  EC 00 10 2A */	fadds f0, f0, f2
/* 800485EC 0004424C  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 800485F0 00044250  4C 41 13 82 */	cror 2, 1, 2
/* 800485F4 00044254  40 82 00 1C */	bne lbl_80048610
/* 800485F8 00044258  80 83 00 08 */	lwz r4, 8(r3)
/* 800485FC 0004425C  54 80 07 FF */	clrlwi. r0, r4, 0x1f
/* 80048600 00044260  40 82 00 10 */	bne lbl_80048610
/* 80048604 00044264  54 80 07 BD */	rlwinm. r0, r4, 0, 0x1e, 0x1e
/* 80048608 00044268  40 82 00 08 */	bne lbl_80048610
/* 8004860C 0004426C  48 00 0C 0D */	bl func_80049218
lbl_80048610:
/* 80048610 00044270  3B FF 00 04 */	addi r31, r31, 4
/* 80048614 00044274  3B 9C 00 01 */	addi r28, r28, 1
lbl_80048618:
/* 80048618 00044278  80 7E 00 24 */	lwz r3, 0x24(r30)
/* 8004861C 0004427C  80 63 00 94 */	lwz r3, 0x94(r3)
/* 80048620 00044280  2C 03 00 00 */	cmpwi r3, 0
/* 80048624 00044284  40 82 00 0C */	bne lbl_80048630
/* 80048628 00044288  38 00 00 00 */	li r0, 0
/* 8004862C 0004428C  48 00 00 08 */	b lbl_80048634
lbl_80048630:
/* 80048630 00044290  80 03 00 14 */	lwz r0, 0x14(r3)
lbl_80048634:
/* 80048634 00044294  7C 1C 00 40 */	cmplw r28, r0
/* 80048638 00044298  41 80 FF 80 */	blt lbl_800485B8
/* 8004863C 0004429C  3B 80 00 00 */	li r28, 0
/* 80048640 000442A0  3B A0 00 00 */	li r29, 0
/* 80048644 000442A4  3B E0 00 00 */	li r31, 0
/* 80048648 000442A8  48 00 00 3C */	b lbl_80048684
lbl_8004864C:
/* 8004864C 000442AC  80 7E 00 30 */	lwz r3, 0x30(r30)
/* 80048650 000442B0  7F 63 F8 2E */	lwzx r27, r3, r31
/* 80048654 000442B4  80 1B 00 08 */	lwz r0, 8(r27)
/* 80048658 000442B8  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 8004865C 000442BC  41 82 00 10 */	beq lbl_8004866C
/* 80048660 000442C0  FC 20 F8 90 */	fmr f1, f31
/* 80048664 000442C4  7F 63 DB 78 */	mr r3, r27
/* 80048668 000442C8  48 00 0C 49 */	bl func_800492B0
lbl_8004866C:
/* 8004866C 000442CC  80 1B 00 08 */	lwz r0, 8(r27)
/* 80048670 000442D0  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 80048674 000442D4  40 82 00 08 */	bne lbl_8004867C
/* 80048678 000442D8  3B 80 00 01 */	li r28, 1
lbl_8004867C:
/* 8004867C 000442DC  3B FF 00 04 */	addi r31, r31, 4
/* 80048680 000442E0  3B BD 00 01 */	addi r29, r29, 1
lbl_80048684:
/* 80048684 000442E4  80 7E 00 24 */	lwz r3, 0x24(r30)
/* 80048688 000442E8  80 63 00 94 */	lwz r3, 0x94(r3)
/* 8004868C 000442EC  2C 03 00 00 */	cmpwi r3, 0
/* 80048690 000442F0  40 82 00 0C */	bne lbl_8004869C
/* 80048694 000442F4  38 00 00 00 */	li r0, 0
/* 80048698 000442F8  48 00 00 08 */	b lbl_800486A0
lbl_8004869C:
/* 8004869C 000442FC  80 03 00 14 */	lwz r0, 0x14(r3)
lbl_800486A0:
/* 800486A0 00044300  7C 1D 00 40 */	cmplw r29, r0
/* 800486A4 00044304  41 80 FF A8 */	blt lbl_8004864C
/* 800486A8 00044308  2C 1C 00 00 */	cmpwi r28, 0
/* 800486AC 0004430C  40 82 00 2C */	bne lbl_800486D8
/* 800486B0 00044310  7F C3 F3 78 */	mr r3, r30
/* 800486B4 00044314  4B FF FB F9 */	bl func_800482AC
/* 800486B8 00044318  80 1E 00 00 */	lwz r0, 0(r30)
/* 800486BC 0004431C  54 00 06 B5 */	rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 800486C0 00044320  41 82 00 18 */	beq lbl_800486D8
/* 800486C4 00044324  48 00 51 49 */	bl func_8004D80C
/* 800486C8 00044328  2C 03 00 00 */	cmpwi r3, 0
/* 800486CC 0004432C  41 82 00 0C */	beq lbl_800486D8
/* 800486D0 00044330  7F C4 F3 78 */	mr r4, r30
/* 800486D4 00044334  48 00 56 F9 */	bl func_8004DDCC
lbl_800486D8:
/* 800486D8 00044338  E3 E1 00 48 */	psq_l f31, 72(r1), 0, qr0
/* 800486DC 0004433C  CB E1 00 40 */	lfd f31, 0x40(r1)
/* 800486E0 00044340  E3 C1 00 38 */	psq_l f30, 56(r1), 0, qr0
/* 800486E4 00044344  CB C1 00 30 */	lfd f30, 0x30(r1)
/* 800486E8 00044348  E3 A1 00 28 */	psq_l f29, 40(r1), 0, qr0
/* 800486EC 0004434C  39 61 00 20 */	addi r11, r1, 0x20
/* 800486F0 00044350  CB A1 00 20 */	lfd f29, 0x20(r1)
/* 800486F4 00044354  48 17 EA 81 */	bl _restgpr_27
/* 800486F8 00044358  80 01 00 54 */	lwz r0, 0x54(r1)
/* 800486FC 0004435C  7C 08 03 A6 */	mtlr r0
/* 80048700 00044360  38 21 00 50 */	addi r1, r1, 0x50
/* 80048704 00044364  4E 80 00 20 */	blr

.global func_80048708
func_80048708:
/* 80048708 00044368  38 A0 00 01 */	li r5, 1
/* 8004870C 0004436C  38 6D 98 08 */	addi r3, r13, lbl_8063EAC8-_SDA_BASE_
/* 80048710 00044370  38 80 00 04 */	li r4, 4
/* 80048714 00044374  38 00 00 00 */	li r0, 0
/* 80048718 00044378  98 AD 98 08 */	stb r5, lbl_8063EAC8-_SDA_BASE_(r13)
/* 8004871C 0004437C  B0 83 00 02 */	sth r4, 2(r3)
/* 80048720 00044380  98 03 00 04 */	stb r0, 4(r3)
/* 80048724 00044384  4E 80 00 20 */	blr