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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global func_8004F37C
func_8004F37C:
/* 8004F37C 0004AFDC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004F380 0004AFE0 7C 08 02 A6 */ mflr r0
/* 8004F384 0004AFE4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004F388 0004AFE8 80 6D 98 50 */ lwz r3, lbl_8063EB10-_SDA_BASE_(r13)
/* 8004F38C 0004AFEC 2C 03 00 00 */ cmpwi r3, 0
/* 8004F390 0004AFF0 41 82 00 0C */ beq lbl_8004F39C
/* 8004F394 0004AFF4 38 80 00 01 */ li r4, 1
/* 8004F398 0004AFF8 48 00 00 D1 */ bl func_8004F468
lbl_8004F39C:
/* 8004F39C 0004AFFC 38 60 00 08 */ li r3, 8
/* 8004F3A0 0004B000 48 18 B6 91 */ bl __nw__FUl
/* 8004F3A4 0004B004 2C 03 00 00 */ cmpwi r3, 0
/* 8004F3A8 0004B008 41 82 00 08 */ beq lbl_8004F3B0
/* 8004F3AC 0004B00C 48 00 00 79 */ bl func_8004F424
lbl_8004F3B0:
/* 8004F3B0 0004B010 3C 80 80 05 */ lis r4, lbl_8004F3E4@ha
/* 8004F3B4 0004B014 3C A0 80 05 */ lis r5, lbl_8004F418@ha
/* 8004F3B8 0004B018 90 6D 98 50 */ stw r3, lbl_8063EB10-_SDA_BASE_(r13)
/* 8004F3BC 0004B01C 38 84 F3 E4 */ addi r4, r4, lbl_8004F3E4@l
/* 8004F3C0 0004B020 80 6D A4 B8 */ lwz r3, lbl_8063F778-_SDA_BASE_(r13)
/* 8004F3C4 0004B024 38 A5 F4 18 */ addi r5, r5, lbl_8004F418@l
/* 8004F3C8 0004B028 38 C0 00 03 */ li r6, 3
/* 8004F3CC 0004B02C 38 E0 00 0C */ li r7, 0xc
/* 8004F3D0 0004B030 48 1E F7 89 */ bl func_8023EB58
/* 8004F3D4 0004B034 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004F3D8 0004B038 7C 08 03 A6 */ mtlr r0
/* 8004F3DC 0004B03C 38 21 00 10 */ addi r1, r1, 0x10
/* 8004F3E0 0004B040 4E 80 00 20 */ blr
lbl_8004F3E4:
/* 8004F3E4 0004B044 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004F3E8 0004B048 7C 08 02 A6 */ mflr r0
/* 8004F3EC 0004B04C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004F3F0 0004B050 80 0D 98 50 */ lwz r0, lbl_8063EB10-_SDA_BASE_(r13)
/* 8004F3F4 0004B054 2C 00 00 00 */ cmpwi r0, 0
/* 8004F3F8 0004B058 41 82 00 10 */ beq lbl_8004F408
/* 8004F3FC 0004B05C 4B FB 7F A1 */ bl func_8000739C
/* 8004F400 0004B060 80 6D 98 50 */ lwz r3, lbl_8063EB10-_SDA_BASE_(r13)
/* 8004F404 0004B064 48 00 00 C9 */ bl func_8004F4CC
lbl_8004F408:
/* 8004F408 0004B068 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004F40C 0004B06C 7C 08 03 A6 */ mtlr r0
/* 8004F410 0004B070 38 21 00 10 */ addi r1, r1, 0x10
/* 8004F414 0004B074 4E 80 00 20 */ blr
lbl_8004F418:
/* 8004F418 0004B078 4E 80 00 20 */ blr
.global func_8004F41C
func_8004F41C:
/* 8004F41C 0004B07C 80 6D 98 50 */ lwz r3, lbl_8063EB10-_SDA_BASE_(r13)
/* 8004F420 0004B080 4E 80 00 20 */ blr
.global func_8004F424
func_8004F424:
/* 8004F424 0004B084 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004F428 0004B088 7C 08 02 A6 */ mflr r0
/* 8004F42C 0004B08C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004F430 0004B090 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004F434 0004B094 7C 7F 1B 78 */ mr r31, r3
/* 8004F438 0004B098 38 60 01 74 */ li r3, 0x174
/* 8004F43C 0004B09C 48 18 B5 F5 */ bl __nw__FUl
/* 8004F440 0004B0A0 2C 03 00 00 */ cmpwi r3, 0
/* 8004F444 0004B0A4 41 82 00 08 */ beq lbl_8004F44C
/* 8004F448 0004B0A8 48 00 00 8D */ bl func_8004F4D4
lbl_8004F44C:
/* 8004F44C 0004B0AC 90 7F 00 04 */ stw r3, 4(r31)
/* 8004F450 0004B0B0 7F E3 FB 78 */ mr r3, r31
/* 8004F454 0004B0B4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004F458 0004B0B8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004F45C 0004B0BC 7C 08 03 A6 */ mtlr r0
/* 8004F460 0004B0C0 38 21 00 10 */ addi r1, r1, 0x10
/* 8004F464 0004B0C4 4E 80 00 20 */ blr
.global func_8004F468
func_8004F468:
/* 8004F468 0004B0C8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004F46C 0004B0CC 7C 08 02 A6 */ mflr r0
/* 8004F470 0004B0D0 2C 03 00 00 */ cmpwi r3, 0
/* 8004F474 0004B0D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004F478 0004B0D8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004F47C 0004B0DC 7C 9F 23 78 */ mr r31, r4
/* 8004F480 0004B0E0 93 C1 00 08 */ stw r30, 8(r1)
/* 8004F484 0004B0E4 7C 7E 1B 78 */ mr r30, r3
/* 8004F488 0004B0E8 41 82 00 20 */ beq lbl_8004F4A8
/* 8004F48C 0004B0EC 80 63 00 04 */ lwz r3, 4(r3)
/* 8004F490 0004B0F0 38 80 00 01 */ li r4, 1
/* 8004F494 0004B0F4 48 00 01 29 */ bl func_8004F5BC
/* 8004F498 0004B0F8 2C 1F 00 00 */ cmpwi r31, 0
/* 8004F49C 0004B0FC 40 81 00 0C */ ble lbl_8004F4A8
/* 8004F4A0 0004B100 7F C3 F3 78 */ mr r3, r30
/* 8004F4A4 0004B104 48 18 B6 15 */ bl __dl__FPv
lbl_8004F4A8:
/* 8004F4A8 0004B108 7F C3 F3 78 */ mr r3, r30
/* 8004F4AC 0004B10C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004F4B0 0004B110 83 C1 00 08 */ lwz r30, 8(r1)
/* 8004F4B4 0004B114 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004F4B8 0004B118 7C 08 03 A6 */ mtlr r0
/* 8004F4BC 0004B11C 38 21 00 10 */ addi r1, r1, 0x10
/* 8004F4C0 0004B120 4E 80 00 20 */ blr
.global func_8004F4C4
func_8004F4C4:
/* 8004F4C4 0004B124 80 63 00 04 */ lwz r3, 4(r3)
/* 8004F4C8 0004B128 4E 80 00 20 */ blr
.global func_8004F4CC
func_8004F4CC:
/* 8004F4CC 0004B12C 80 63 00 04 */ lwz r3, 4(r3)
/* 8004F4D0 0004B130 48 00 04 30 */ b lbl_8004F900
.global func_8004F4D4
func_8004F4D4:
/* 8004F4D4 0004B134 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8004F4D8 0004B138 7C 08 02 A6 */ mflr r0
/* 8004F4DC 0004B13C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8004F4E0 0004B140 38 00 00 00 */ li r0, 0
/* 8004F4E4 0004B144 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8004F4E8 0004B148 3B E3 01 24 */ addi r31, r3, 0x124
/* 8004F4EC 0004B14C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8004F4F0 0004B150 3B C3 00 4C */ addi r30, r3, 0x4c
/* 8004F4F4 0004B154 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8004F4F8 0004B158 7C 7D 1B 78 */ mr r29, r3
/* 8004F4FC 0004B15C 90 03 00 00 */ stw r0, 0(r3)
lbl_8004F500:
/* 8004F500 0004B160 7F C3 F3 78 */ mr r3, r30
/* 8004F504 0004B164 48 00 0E 21 */ bl func_80050324
/* 8004F508 0004B168 3B DE 00 24 */ addi r30, r30, 0x24
/* 8004F50C 0004B16C 7C 1E F8 40 */ cmplw r30, r31
/* 8004F510 0004B170 41 80 FF F0 */ blt lbl_8004F500
/* 8004F514 0004B174 7F E3 FB 78 */ mr r3, r31
/* 8004F518 0004B178 48 00 16 1D */ bl func_80050B34
/* 8004F51C 0004B17C C0 62 84 68 */ lfs f3, lbl_80640A68-_SDA2_BASE_(r2)
/* 8004F520 0004B180 38 A0 00 00 */ li r5, 0
/* 8004F524 0004B184 C0 22 84 70 */ lfs f1, lbl_80640A70-_SDA2_BASE_(r2)
/* 8004F528 0004B188 38 00 FF FF */ li r0, -1
/* 8004F52C 0004B18C C0 42 84 6C */ lfs f2, lbl_80640A6C-_SDA2_BASE_(r2)
/* 8004F530 0004B190 7F A3 EB 78 */ mr r3, r29
/* 8004F534 0004B194 C0 02 84 74 */ lfs f0, lbl_80640A74-_SDA2_BASE_(r2)
/* 8004F538 0004B198 38 80 00 00 */ li r4, 0
/* 8004F53C 0004B19C 90 BD 00 2C */ stw r5, 0x2c(r29)
/* 8004F540 0004B1A0 90 BD 00 30 */ stw r5, 0x30(r29)
/* 8004F544 0004B1A4 90 BD 00 34 */ stw r5, 0x34(r29)
/* 8004F548 0004B1A8 90 BD 00 38 */ stw r5, 0x38(r29)
/* 8004F54C 0004B1AC 90 BD 00 3C */ stw r5, 0x3c(r29)
/* 8004F550 0004B1B0 90 BD 00 40 */ stw r5, 0x40(r29)
/* 8004F554 0004B1B4 90 BD 00 44 */ stw r5, 0x44(r29)
/* 8004F558 0004B1B8 90 BD 00 48 */ stw r5, 0x48(r29)
/* 8004F55C 0004B1BC 90 1D 01 60 */ stw r0, 0x160(r29)
/* 8004F560 0004B1C0 98 BD 01 70 */ stb r5, 0x170(r29)
/* 8004F564 0004B1C4 D0 7D 00 14 */ stfs f3, 0x14(r29)
/* 8004F568 0004B1C8 D0 5D 00 18 */ stfs f2, 0x18(r29)
/* 8004F56C 0004B1CC D0 7D 00 1C */ stfs f3, 0x1c(r29)
/* 8004F570 0004B1D0 D0 7D 00 20 */ stfs f3, 0x20(r29)
/* 8004F574 0004B1D4 D0 7D 00 24 */ stfs f3, 0x24(r29)
/* 8004F578 0004B1D8 D0 7D 00 28 */ stfs f3, 0x28(r29)
/* 8004F57C 0004B1DC D0 3D 00 04 */ stfs f1, 4(r29)
/* 8004F580 0004B1E0 D0 3D 00 08 */ stfs f1, 8(r29)
/* 8004F584 0004B1E4 D0 3D 00 0C */ stfs f1, 0xc(r29)
/* 8004F588 0004B1E8 D0 3D 00 10 */ stfs f1, 0x10(r29)
/* 8004F58C 0004B1EC D0 1D 01 64 */ stfs f0, 0x164(r29)
/* 8004F590 0004B1F0 D0 7D 01 68 */ stfs f3, 0x168(r29)
/* 8004F594 0004B1F4 D0 7D 01 6C */ stfs f3, 0x16c(r29)
/* 8004F598 0004B1F8 48 00 00 95 */ bl func_8004F62C
/* 8004F59C 0004B1FC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8004F5A0 0004B200 7F A3 EB 78 */ mr r3, r29
/* 8004F5A4 0004B204 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8004F5A8 0004B208 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8004F5AC 0004B20C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8004F5B0 0004B210 7C 08 03 A6 */ mtlr r0
/* 8004F5B4 0004B214 38 21 00 20 */ addi r1, r1, 0x20
/* 8004F5B8 0004B218 4E 80 00 20 */ blr
.global func_8004F5BC
func_8004F5BC:
/* 8004F5BC 0004B21C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004F5C0 0004B220 7C 08 02 A6 */ mflr r0
/* 8004F5C4 0004B224 2C 03 00 00 */ cmpwi r3, 0
/* 8004F5C8 0004B228 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004F5CC 0004B22C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004F5D0 0004B230 7C 9F 23 78 */ mr r31, r4
/* 8004F5D4 0004B234 93 C1 00 08 */ stw r30, 8(r1)
/* 8004F5D8 0004B238 7C 7E 1B 78 */ mr r30, r3
/* 8004F5DC 0004B23C 41 82 00 34 */ beq lbl_8004F610
/* 8004F5E0 0004B240 80 63 00 00 */ lwz r3, 0(r3)
/* 8004F5E4 0004B244 2C 03 00 00 */ cmpwi r3, 0
/* 8004F5E8 0004B248 41 82 00 18 */ beq lbl_8004F600
/* 8004F5EC 0004B24C 81 83 01 00 */ lwz r12, 0x100(r3)
/* 8004F5F0 0004B250 38 80 00 01 */ li r4, 1
/* 8004F5F4 0004B254 81 8C 00 08 */ lwz r12, 8(r12)
/* 8004F5F8 0004B258 7D 89 03 A6 */ mtctr r12
/* 8004F5FC 0004B25C 4E 80 04 21 */ bctrl
lbl_8004F600:
/* 8004F600 0004B260 2C 1F 00 00 */ cmpwi r31, 0
/* 8004F604 0004B264 40 81 00 0C */ ble lbl_8004F610
/* 8004F608 0004B268 7F C3 F3 78 */ mr r3, r30
/* 8004F60C 0004B26C 48 18 B4 AD */ bl __dl__FPv
lbl_8004F610:
/* 8004F610 0004B270 7F C3 F3 78 */ mr r3, r30
/* 8004F614 0004B274 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004F618 0004B278 83 C1 00 08 */ lwz r30, 8(r1)
/* 8004F61C 0004B27C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004F620 0004B280 7C 08 03 A6 */ mtlr r0
/* 8004F624 0004B284 38 21 00 10 */ addi r1, r1, 0x10
/* 8004F628 0004B288 4E 80 00 20 */ blr
.global func_8004F62C
func_8004F62C:
/* 8004F62C 0004B28C 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8004F630 0004B290 7C 08 02 A6 */ mflr r0
/* 8004F634 0004B294 90 01 00 44 */ stw r0, 0x44(r1)
/* 8004F638 0004B298 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8004F63C 0004B29C 7C 7F 1B 78 */ mr r31, r3
/* 8004F640 0004B2A0 93 C1 00 38 */ stw r30, 0x38(r1)
/* 8004F644 0004B2A4 7C 9E 23 78 */ mr r30, r4
/* 8004F648 0004B2A8 80 A3 00 00 */ lwz r5, 0(r3)
/* 8004F64C 0004B2AC 2C 05 00 00 */ cmpwi r5, 0
/* 8004F650 0004B2B0 41 82 00 10 */ beq lbl_8004F660
/* 8004F654 0004B2B4 80 03 01 60 */ lwz r0, 0x160(r3)
/* 8004F658 0004B2B8 7C 00 20 00 */ cmpw r0, r4
/* 8004F65C 0004B2BC 41 82 02 8C */ beq lbl_8004F8E8
lbl_8004F660:
/* 8004F660 0004B2C0 2C 05 00 00 */ cmpwi r5, 0
/* 8004F664 0004B2C4 41 82 00 20 */ beq lbl_8004F684
/* 8004F668 0004B2C8 41 82 00 1C */ beq lbl_8004F684
/* 8004F66C 0004B2CC 81 85 01 00 */ lwz r12, 0x100(r5)
/* 8004F670 0004B2D0 7C A3 2B 78 */ mr r3, r5
/* 8004F674 0004B2D4 38 80 00 01 */ li r4, 1
/* 8004F678 0004B2D8 81 8C 00 08 */ lwz r12, 8(r12)
/* 8004F67C 0004B2DC 7D 89 03 A6 */ mtctr r12
/* 8004F680 0004B2E0 4E 80 04 21 */ bctrl
lbl_8004F684:
/* 8004F684 0004B2E4 2C 1E 00 01 */ cmpwi r30, 1
/* 8004F688 0004B2E8 93 DF 01 60 */ stw r30, 0x160(r31)
/* 8004F68C 0004B2EC 41 82 00 18 */ beq lbl_8004F6A4
/* 8004F690 0004B2F0 40 80 00 08 */ bge lbl_8004F698
/* 8004F694 0004B2F4 48 00 00 C0 */ b lbl_8004F754
lbl_8004F698:
/* 8004F698 0004B2F8 2C 1E 00 03 */ cmpwi r30, 3
/* 8004F69C 0004B2FC 40 80 00 B8 */ bge lbl_8004F754
/* 8004F6A0 0004B300 48 00 00 5C */ b lbl_8004F6FC
lbl_8004F6A4:
/* 8004F6A4 0004B304 48 18 B4 85 */ bl func_801DAB28
/* 8004F6A8 0004B308 2C 03 00 00 */ cmpwi r3, 0
/* 8004F6AC 0004B30C 41 82 00 14 */ beq lbl_8004F6C0
/* 8004F6B0 0004B310 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 8004F6B4 0004B314 38 80 01 38 */ li r4, 0x138
/* 8004F6B8 0004B318 48 18 B5 DD */ bl func_801DAC94
/* 8004F6BC 0004B31C 48 00 00 08 */ b lbl_8004F6C4
lbl_8004F6C0:
/* 8004F6C0 0004B320 38 60 00 00 */ li r3, 0
lbl_8004F6C4:
/* 8004F6C4 0004B324 2C 03 00 00 */ cmpwi r3, 0
/* 8004F6C8 0004B328 41 82 00 2C */ beq lbl_8004F6F4
/* 8004F6CC 0004B32C 38 00 00 FF */ li r0, 0xff
/* 8004F6D0 0004B330 38 E1 00 10 */ addi r7, r1, 0x10
/* 8004F6D4 0004B334 98 01 00 10 */ stb r0, 0x10(r1)
/* 8004F6D8 0004B338 38 80 00 01 */ li r4, 1
/* 8004F6DC 0004B33C 38 A0 00 01 */ li r5, 1
/* 8004F6E0 0004B340 38 C0 00 00 */ li r6, 0
/* 8004F6E4 0004B344 98 01 00 11 */ stb r0, 0x11(r1)
/* 8004F6E8 0004B348 98 01 00 12 */ stb r0, 0x12(r1)
/* 8004F6EC 0004B34C 98 01 00 13 */ stb r0, 0x13(r1)
/* 8004F6F0 0004B350 48 19 68 8D */ bl func_801E5F7C
lbl_8004F6F4:
/* 8004F6F4 0004B354 90 7F 00 00 */ stw r3, 0(r31)
/* 8004F6F8 0004B358 48 00 00 B8 */ b lbl_8004F7B0
lbl_8004F6FC:
/* 8004F6FC 0004B35C 48 18 B4 2D */ bl func_801DAB28
/* 8004F700 0004B360 2C 03 00 00 */ cmpwi r3, 0
/* 8004F704 0004B364 41 82 00 14 */ beq lbl_8004F718
/* 8004F708 0004B368 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 8004F70C 0004B36C 38 80 01 38 */ li r4, 0x138
/* 8004F710 0004B370 48 18 B5 85 */ bl func_801DAC94
/* 8004F714 0004B374 48 00 00 08 */ b lbl_8004F71C
lbl_8004F718:
/* 8004F718 0004B378 38 60 00 00 */ li r3, 0
lbl_8004F71C:
/* 8004F71C 0004B37C 2C 03 00 00 */ cmpwi r3, 0
/* 8004F720 0004B380 41 82 00 2C */ beq lbl_8004F74C
/* 8004F724 0004B384 38 00 00 FF */ li r0, 0xff
/* 8004F728 0004B388 38 E1 00 0C */ addi r7, r1, 0xc
/* 8004F72C 0004B38C 98 01 00 0C */ stb r0, 0xc(r1)
/* 8004F730 0004B390 38 80 00 02 */ li r4, 2
/* 8004F734 0004B394 38 A0 00 01 */ li r5, 1
/* 8004F738 0004B398 38 C0 00 00 */ li r6, 0
/* 8004F73C 0004B39C 98 01 00 0D */ stb r0, 0xd(r1)
/* 8004F740 0004B3A0 98 01 00 0E */ stb r0, 0xe(r1)
/* 8004F744 0004B3A4 98 01 00 0F */ stb r0, 0xf(r1)
/* 8004F748 0004B3A8 48 19 68 35 */ bl func_801E5F7C
lbl_8004F74C:
/* 8004F74C 0004B3AC 90 7F 00 00 */ stw r3, 0(r31)
/* 8004F750 0004B3B0 48 00 00 60 */ b lbl_8004F7B0
lbl_8004F754:
/* 8004F754 0004B3B4 48 18 B3 D5 */ bl func_801DAB28
/* 8004F758 0004B3B8 2C 03 00 00 */ cmpwi r3, 0
/* 8004F75C 0004B3BC 41 82 00 14 */ beq lbl_8004F770
/* 8004F760 0004B3C0 80 6D 96 38 */ lwz r3, lbl_8063E8F8-_SDA_BASE_(r13)
/* 8004F764 0004B3C4 38 80 01 38 */ li r4, 0x138
/* 8004F768 0004B3C8 48 18 B5 2D */ bl func_801DAC94
/* 8004F76C 0004B3CC 48 00 00 08 */ b lbl_8004F774
lbl_8004F770:
/* 8004F770 0004B3D0 38 60 00 00 */ li r3, 0
lbl_8004F774:
/* 8004F774 0004B3D4 2C 03 00 00 */ cmpwi r3, 0
/* 8004F778 0004B3D8 41 82 00 2C */ beq lbl_8004F7A4
/* 8004F77C 0004B3DC 38 00 00 FF */ li r0, 0xff
/* 8004F780 0004B3E0 38 E1 00 08 */ addi r7, r1, 8
/* 8004F784 0004B3E4 98 01 00 08 */ stb r0, 8(r1)
/* 8004F788 0004B3E8 38 80 00 00 */ li r4, 0
/* 8004F78C 0004B3EC 38 A0 00 01 */ li r5, 1
/* 8004F790 0004B3F0 38 C0 00 01 */ li r6, 1
/* 8004F794 0004B3F4 98 01 00 09 */ stb r0, 9(r1)
/* 8004F798 0004B3F8 98 01 00 0A */ stb r0, 0xa(r1)
/* 8004F79C 0004B3FC 98 01 00 0B */ stb r0, 0xb(r1)
/* 8004F7A0 0004B400 48 19 67 DD */ bl func_801E5F7C
lbl_8004F7A4:
/* 8004F7A4 0004B404 38 00 00 00 */ li r0, 0
/* 8004F7A8 0004B408 90 7F 00 00 */ stw r3, 0(r31)
/* 8004F7AC 0004B40C 90 1F 01 60 */ stw r0, 0x160(r31)
lbl_8004F7B0:
/* 8004F7B0 0004B410 88 9F 01 70 */ lbz r4, 0x170(r31)
/* 8004F7B4 0004B414 7F E3 FB 78 */ mr r3, r31
/* 8004F7B8 0004B418 48 00 02 81 */ bl func_8004FA38
/* 8004F7BC 0004B41C 7F E3 FB 78 */ mr r3, r31
/* 8004F7C0 0004B420 38 9F 00 14 */ addi r4, r31, 0x14
/* 8004F7C4 0004B424 48 00 05 1D */ bl func_8004FCE0
/* 8004F7C8 0004B428 7F E3 FB 78 */ mr r3, r31
/* 8004F7CC 0004B42C 38 9F 00 20 */ addi r4, r31, 0x20
/* 8004F7D0 0004B430 48 00 06 29 */ bl func_8004FDF8
/* 8004F7D4 0004B434 7F E3 FB 78 */ mr r3, r31
/* 8004F7D8 0004B438 38 9F 01 64 */ addi r4, r31, 0x164
/* 8004F7DC 0004B43C 48 00 08 45 */ bl func_80050020
/* 8004F7E0 0004B440 C0 1F 00 04 */ lfs f0, 4(r31)
/* 8004F7E4 0004B444 7F E3 FB 78 */ mr r3, r31
/* 8004F7E8 0004B448 38 81 00 14 */ addi r4, r1, 0x14
/* 8004F7EC 0004B44C FC 00 00 1E */ fctiwz f0, f0
/* 8004F7F0 0004B450 D8 01 00 18 */ stfd f0, 0x18(r1)
/* 8004F7F4 0004B454 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8004F7F8 0004B458 98 01 00 14 */ stb r0, 0x14(r1)
/* 8004F7FC 0004B45C C0 1F 00 08 */ lfs f0, 8(r31)
/* 8004F800 0004B460 FC 00 00 1E */ fctiwz f0, f0
/* 8004F804 0004B464 D8 01 00 20 */ stfd f0, 0x20(r1)
/* 8004F808 0004B468 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8004F80C 0004B46C 98 01 00 15 */ stb r0, 0x15(r1)
/* 8004F810 0004B470 C0 1F 00 0C */ lfs f0, 0xc(r31)
/* 8004F814 0004B474 FC 00 00 1E */ fctiwz f0, f0
/* 8004F818 0004B478 D8 01 00 28 */ stfd f0, 0x28(r1)
/* 8004F81C 0004B47C 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 8004F820 0004B480 98 01 00 16 */ stb r0, 0x16(r1)
/* 8004F824 0004B484 C0 1F 00 10 */ lfs f0, 0x10(r31)
/* 8004F828 0004B488 FC 00 00 1E */ fctiwz f0, f0
/* 8004F82C 0004B48C D8 01 00 30 */ stfd f0, 0x30(r1)
/* 8004F830 0004B490 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8004F834 0004B494 98 01 00 17 */ stb r0, 0x17(r1)
/* 8004F838 0004B498 48 00 06 BD */ bl func_8004FEF4
/* 8004F83C 0004B49C 38 00 00 02 */ li r0, 2
/* 8004F840 0004B4A0 7F E4 FB 78 */ mr r4, r31
/* 8004F844 0004B4A4 38 A0 00 00 */ li r5, 0
/* 8004F848 0004B4A8 7C 09 03 A6 */ mtctr r0
lbl_8004F84C:
/* 8004F84C 0004B4AC 80 64 00 2C */ lwz r3, 0x2c(r4)
/* 8004F850 0004B4B0 2C 03 00 00 */ cmpwi r3, 0
/* 8004F854 0004B4B4 41 82 00 18 */ beq lbl_8004F86C
/* 8004F858 0004B4B8 80 63 0C 04 */ lwz r3, 0xc04(r3)
/* 8004F85C 0004B4BC 2C 03 00 00 */ cmpwi r3, 0
/* 8004F860 0004B4C0 41 82 00 0C */ beq lbl_8004F86C
/* 8004F864 0004B4C4 80 1F 00 00 */ lwz r0, 0(r31)
/* 8004F868 0004B4C8 90 03 00 40 */ stw r0, 0x40(r3)
lbl_8004F86C:
/* 8004F86C 0004B4CC 80 64 00 30 */ lwz r3, 0x30(r4)
/* 8004F870 0004B4D0 2C 03 00 00 */ cmpwi r3, 0
/* 8004F874 0004B4D4 41 82 00 18 */ beq lbl_8004F88C
/* 8004F878 0004B4D8 80 63 0C 04 */ lwz r3, 0xc04(r3)
/* 8004F87C 0004B4DC 2C 03 00 00 */ cmpwi r3, 0
/* 8004F880 0004B4E0 41 82 00 0C */ beq lbl_8004F88C
/* 8004F884 0004B4E4 80 1F 00 00 */ lwz r0, 0(r31)
/* 8004F888 0004B4E8 90 03 00 40 */ stw r0, 0x40(r3)
lbl_8004F88C:
/* 8004F88C 0004B4EC 80 64 00 34 */ lwz r3, 0x34(r4)
/* 8004F890 0004B4F0 2C 03 00 00 */ cmpwi r3, 0
/* 8004F894 0004B4F4 41 82 00 18 */ beq lbl_8004F8AC
/* 8004F898 0004B4F8 80 63 0C 04 */ lwz r3, 0xc04(r3)
/* 8004F89C 0004B4FC 2C 03 00 00 */ cmpwi r3, 0
/* 8004F8A0 0004B500 41 82 00 0C */ beq lbl_8004F8AC
/* 8004F8A4 0004B504 80 1F 00 00 */ lwz r0, 0(r31)
/* 8004F8A8 0004B508 90 03 00 40 */ stw r0, 0x40(r3)
lbl_8004F8AC:
/* 8004F8AC 0004B50C 80 64 00 38 */ lwz r3, 0x38(r4)
/* 8004F8B0 0004B510 2C 03 00 00 */ cmpwi r3, 0
/* 8004F8B4 0004B514 41 82 00 18 */ beq lbl_8004F8CC
/* 8004F8B8 0004B518 80 63 0C 04 */ lwz r3, 0xc04(r3)
/* 8004F8BC 0004B51C 2C 03 00 00 */ cmpwi r3, 0
/* 8004F8C0 0004B520 41 82 00 0C */ beq lbl_8004F8CC
/* 8004F8C4 0004B524 80 1F 00 00 */ lwz r0, 0(r31)
/* 8004F8C8 0004B528 90 03 00 40 */ stw r0, 0x40(r3)
lbl_8004F8CC:
/* 8004F8CC 0004B52C 38 84 00 10 */ addi r4, r4, 0x10
/* 8004F8D0 0004B530 38 A5 00 03 */ addi r5, r5, 3
/* 8004F8D4 0004B534 42 00 FF 78 */ bdnz lbl_8004F84C
/* 8004F8D8 0004B538 80 7F 00 00 */ lwz r3, 0(r31)
/* 8004F8DC 0004B53C A0 03 00 10 */ lhz r0, 0x10(r3)
/* 8004F8E0 0004B540 60 00 00 02 */ ori r0, r0, 2
/* 8004F8E4 0004B544 B0 03 00 10 */ sth r0, 0x10(r3)
lbl_8004F8E8:
/* 8004F8E8 0004B548 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8004F8EC 0004B54C 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 8004F8F0 0004B550 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 8004F8F4 0004B554 7C 08 03 A6 */ mtlr r0
/* 8004F8F8 0004B558 38 21 00 40 */ addi r1, r1, 0x40
/* 8004F8FC 0004B55C 4E 80 00 20 */ blr
lbl_8004F900:
/* 8004F900 0004B560 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8004F904 0004B564 7C 08 02 A6 */ mflr r0
/* 8004F908 0004B568 90 01 00 54 */ stw r0, 0x54(r1)
/* 8004F90C 0004B56C DB E1 00 40 */ stfd f31, 0x40(r1)
/* 8004F910 0004B570 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0
/* 8004F914 0004B574 FF E0 08 90 */ fmr f31, f1
/* 8004F918 0004B578 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8004F91C 0004B57C 3B E3 00 4C */ addi r31, r3, 0x4c
/* 8004F920 0004B580 93 C1 00 38 */ stw r30, 0x38(r1)
/* 8004F924 0004B584 3B C0 00 00 */ li r30, 0
/* 8004F928 0004B588 93 A1 00 34 */ stw r29, 0x34(r1)
/* 8004F92C 0004B58C 7C 7D 1B 78 */ mr r29, r3
lbl_8004F930:
/* 8004F930 0004B590 81 9F 00 20 */ lwz r12, 0x20(r31)
/* 8004F934 0004B594 FC 20 F8 90 */ fmr f1, f31
/* 8004F938 0004B598 7F E3 FB 78 */ mr r3, r31
/* 8004F93C 0004B59C 81 8C 00 08 */ lwz r12, 8(r12)
/* 8004F940 0004B5A0 7D 89 03 A6 */ mtctr r12
/* 8004F944 0004B5A4 4E 80 04 21 */ bctrl
/* 8004F948 0004B5A8 2C 03 00 00 */ cmpwi r3, 0
/* 8004F94C 0004B5AC 41 82 00 3C */ beq lbl_8004F988
/* 8004F950 0004B5B0 80 7D 00 00 */ lwz r3, 0(r29)
/* 8004F954 0004B5B4 2C 03 00 00 */ cmpwi r3, 0
/* 8004F958 0004B5B8 41 82 00 30 */ beq lbl_8004F988
/* 8004F95C 0004B5BC C0 1D 00 14 */ lfs f0, 0x14(r29)
/* 8004F960 0004B5C0 38 80 00 01 */ li r4, 1
/* 8004F964 0004B5C4 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 8004F968 0004B5C8 C0 1D 00 18 */ lfs f0, 0x18(r29)
/* 8004F96C 0004B5CC D0 03 00 24 */ stfs f0, 0x24(r3)
/* 8004F970 0004B5D0 C0 1D 00 1C */ lfs f0, 0x1c(r29)
/* 8004F974 0004B5D4 D0 03 00 28 */ stfs f0, 0x28(r3)
/* 8004F978 0004B5D8 48 1A 2D 41 */ bl func_801F26B8
/* 8004F97C 0004B5DC 80 7D 00 00 */ lwz r3, 0(r29)
/* 8004F980 0004B5E0 38 9D 00 20 */ addi r4, r29, 0x20
/* 8004F984 0004B5E4 48 19 6B 59 */ bl func_801E64DC
lbl_8004F988:
/* 8004F988 0004B5E8 3B DE 00 01 */ addi r30, r30, 1
/* 8004F98C 0004B5EC 3B FF 00 24 */ addi r31, r31, 0x24
/* 8004F990 0004B5F0 2C 1E 00 06 */ cmpwi r30, 6
/* 8004F994 0004B5F4 41 80 FF 9C */ blt lbl_8004F930
/* 8004F998 0004B5F8 81 9D 01 5C */ lwz r12, 0x15c(r29)
/* 8004F99C 0004B5FC FC 20 F8 90 */ fmr f1, f31
/* 8004F9A0 0004B600 38 7D 01 24 */ addi r3, r29, 0x124
/* 8004F9A4 0004B604 81 8C 00 08 */ lwz r12, 8(r12)
/* 8004F9A8 0004B608 7D 89 03 A6 */ mtctr r12
/* 8004F9AC 0004B60C 4E 80 04 21 */ bctrl
/* 8004F9B0 0004B610 2C 03 00 00 */ cmpwi r3, 0
/* 8004F9B4 0004B614 41 82 00 60 */ beq lbl_8004FA14
/* 8004F9B8 0004B618 C0 1D 00 04 */ lfs f0, 4(r29)
/* 8004F9BC 0004B61C C0 5D 00 08 */ lfs f2, 8(r29)
/* 8004F9C0 0004B620 FC 60 00 1E */ fctiwz f3, f0
/* 8004F9C4 0004B624 C0 3D 00 0C */ lfs f1, 0xc(r29)
/* 8004F9C8 0004B628 C0 1D 00 10 */ lfs f0, 0x10(r29)
/* 8004F9CC 0004B62C FC 40 10 1E */ fctiwz f2, f2
/* 8004F9D0 0004B630 FC 20 08 1E */ fctiwz f1, f1
/* 8004F9D4 0004B634 80 DD 00 00 */ lwz r6, 0(r29)
/* 8004F9D8 0004B638 FC 00 00 1E */ fctiwz f0, f0
/* 8004F9DC 0004B63C D8 61 00 08 */ stfd f3, 8(r1)
/* 8004F9E0 0004B640 2C 06 00 00 */ cmpwi r6, 0
/* 8004F9E4 0004B644 D8 41 00 10 */ stfd f2, 0x10(r1)
/* 8004F9E8 0004B648 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8004F9EC 0004B64C D8 21 00 18 */ stfd f1, 0x18(r1)
/* 8004F9F0 0004B650 80 61 00 14 */ lwz r3, 0x14(r1)
/* 8004F9F4 0004B654 D8 01 00 20 */ stfd f0, 0x20(r1)
/* 8004F9F8 0004B658 80 81 00 1C */ lwz r4, 0x1c(r1)
/* 8004F9FC 0004B65C 80 A1 00 24 */ lwz r5, 0x24(r1)
/* 8004FA00 0004B660 41 82 00 14 */ beq lbl_8004FA14
/* 8004FA04 0004B664 98 06 01 10 */ stb r0, 0x110(r6)
/* 8004FA08 0004B668 98 66 01 11 */ stb r3, 0x111(r6)
/* 8004FA0C 0004B66C 98 86 01 12 */ stb r4, 0x112(r6)
/* 8004FA10 0004B670 98 A6 01 13 */ stb r5, 0x113(r6)
lbl_8004FA14:
/* 8004FA14 0004B674 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0
/* 8004FA18 0004B678 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8004FA1C 0004B67C CB E1 00 40 */ lfd f31, 0x40(r1)
/* 8004FA20 0004B680 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 8004FA24 0004B684 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 8004FA28 0004B688 83 A1 00 34 */ lwz r29, 0x34(r1)
/* 8004FA2C 0004B68C 7C 08 03 A6 */ mtlr r0
/* 8004FA30 0004B690 38 21 00 50 */ addi r1, r1, 0x50
/* 8004FA34 0004B694 4E 80 00 20 */ blr
.global func_8004FA38
func_8004FA38:
/* 8004FA38 0004B698 2C 04 00 00 */ cmpwi r4, 0
/* 8004FA3C 0004B69C 98 83 01 70 */ stb r4, 0x170(r3)
/* 8004FA40 0004B6A0 41 82 00 20 */ beq lbl_8004FA60
/* 8004FA44 0004B6A4 80 83 00 00 */ lwz r4, 0(r3)
/* 8004FA48 0004B6A8 2C 04 00 00 */ cmpwi r4, 0
/* 8004FA4C 0004B6AC 41 82 00 14 */ beq lbl_8004FA60
/* 8004FA50 0004B6B0 80 04 01 04 */ lwz r0, 0x104(r4)
/* 8004FA54 0004B6B4 60 00 00 01 */ ori r0, r0, 1
/* 8004FA58 0004B6B8 90 04 01 04 */ stw r0, 0x104(r4)
/* 8004FA5C 0004B6BC 4E 80 00 20 */ blr
lbl_8004FA60:
/* 8004FA60 0004B6C0 80 63 00 00 */ lwz r3, 0(r3)
/* 8004FA64 0004B6C4 2C 03 00 00 */ cmpwi r3, 0
/* 8004FA68 0004B6C8 4D 82 00 20 */ beqlr
/* 8004FA6C 0004B6CC 80 03 01 04 */ lwz r0, 0x104(r3)
/* 8004FA70 0004B6D0 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 8004FA74 0004B6D4 90 03 01 04 */ stw r0, 0x104(r3)
/* 8004FA78 0004B6D8 4E 80 00 20 */ blr
.global func_8004FA7C
func_8004FA7C:
/* 8004FA7C 0004B6DC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004FA80 0004B6E0 7C 08 02 A6 */ mflr r0
/* 8004FA84 0004B6E4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004FA88 0004B6E8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004FA8C 0004B6EC 7C 9F 23 78 */ mr r31, r4
/* 8004FA90 0004B6F0 93 C1 00 08 */ stw r30, 8(r1)
/* 8004FA94 0004B6F4 7C 7E 1B 78 */ mr r30, r3
/* 8004FA98 0004B6F8 48 00 06 2D */ bl func_800500C4
/* 8004FA9C 0004B6FC 2C 03 FF FF */ cmpwi r3, -1
/* 8004FAA0 0004B700 41 81 00 58 */ bgt lbl_8004FAF8
/* 8004FAA4 0004B704 2C 1F 00 00 */ cmpwi r31, 0
/* 8004FAA8 0004B708 41 82 00 18 */ beq lbl_8004FAC0
/* 8004FAAC 0004B70C 80 7F 0C 04 */ lwz r3, 0xc04(r31)
/* 8004FAB0 0004B710 2C 03 00 00 */ cmpwi r3, 0
/* 8004FAB4 0004B714 41 82 00 0C */ beq lbl_8004FAC0
/* 8004FAB8 0004B718 80 1E 00 00 */ lwz r0, 0(r30)
/* 8004FABC 0004B71C 90 03 00 40 */ stw r0, 0x40(r3)
lbl_8004FAC0:
/* 8004FAC0 0004B720 38 00 00 08 */ li r0, 8
/* 8004FAC4 0004B724 7F C3 F3 78 */ mr r3, r30
/* 8004FAC8 0004B728 38 80 00 00 */ li r4, 0
/* 8004FACC 0004B72C 7C 09 03 A6 */ mtctr r0
lbl_8004FAD0:
/* 8004FAD0 0004B730 80 03 00 2C */ lwz r0, 0x2c(r3)
/* 8004FAD4 0004B734 2C 00 00 00 */ cmpwi r0, 0
/* 8004FAD8 0004B738 40 82 00 14 */ bne lbl_8004FAEC
/* 8004FADC 0004B73C 54 80 10 3A */ slwi r0, r4, 2
/* 8004FAE0 0004B740 7C 7E 02 14 */ add r3, r30, r0
/* 8004FAE4 0004B744 93 E3 00 2C */ stw r31, 0x2c(r3)
/* 8004FAE8 0004B748 48 00 00 10 */ b lbl_8004FAF8
lbl_8004FAEC:
/* 8004FAEC 0004B74C 38 63 00 04 */ addi r3, r3, 4
/* 8004FAF0 0004B750 38 84 00 01 */ addi r4, r4, 1
/* 8004FAF4 0004B754 42 00 FF DC */ bdnz lbl_8004FAD0
lbl_8004FAF8:
/* 8004FAF8 0004B758 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004FAFC 0004B75C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004FB00 0004B760 83 C1 00 08 */ lwz r30, 8(r1)
/* 8004FB04 0004B764 7C 08 03 A6 */ mtlr r0
/* 8004FB08 0004B768 38 21 00 10 */ addi r1, r1, 0x10
/* 8004FB0C 0004B76C 4E 80 00 20 */ blr
.global func_8004FB10
func_8004FB10:
/* 8004FB10 0004B770 38 00 00 02 */ li r0, 2
/* 8004FB14 0004B774 38 C0 00 00 */ li r6, 0
/* 8004FB18 0004B778 38 80 00 00 */ li r4, 0
/* 8004FB1C 0004B77C 7C 09 03 A6 */ mtctr r0
lbl_8004FB20:
/* 8004FB20 0004B780 80 A3 00 2C */ lwz r5, 0x2c(r3)
/* 8004FB24 0004B784 2C 05 00 00 */ cmpwi r5, 0
/* 8004FB28 0004B788 41 82 00 18 */ beq lbl_8004FB40
/* 8004FB2C 0004B78C 80 A5 0C 04 */ lwz r5, 0xc04(r5)
/* 8004FB30 0004B790 2C 05 00 00 */ cmpwi r5, 0
/* 8004FB34 0004B794 41 82 00 08 */ beq lbl_8004FB3C
/* 8004FB38 0004B798 90 85 00 40 */ stw r4, 0x40(r5)
lbl_8004FB3C:
/* 8004FB3C 0004B79C 90 83 00 2C */ stw r4, 0x2c(r3)
lbl_8004FB40:
/* 8004FB40 0004B7A0 80 A3 00 30 */ lwz r5, 0x30(r3)
/* 8004FB44 0004B7A4 2C 05 00 00 */ cmpwi r5, 0
/* 8004FB48 0004B7A8 41 82 00 18 */ beq lbl_8004FB60
/* 8004FB4C 0004B7AC 80 A5 0C 04 */ lwz r5, 0xc04(r5)
/* 8004FB50 0004B7B0 2C 05 00 00 */ cmpwi r5, 0
/* 8004FB54 0004B7B4 41 82 00 08 */ beq lbl_8004FB5C
/* 8004FB58 0004B7B8 90 85 00 40 */ stw r4, 0x40(r5)
lbl_8004FB5C:
/* 8004FB5C 0004B7BC 90 83 00 30 */ stw r4, 0x30(r3)
lbl_8004FB60:
/* 8004FB60 0004B7C0 80 A3 00 34 */ lwz r5, 0x34(r3)
/* 8004FB64 0004B7C4 2C 05 00 00 */ cmpwi r5, 0
/* 8004FB68 0004B7C8 41 82 00 18 */ beq lbl_8004FB80
/* 8004FB6C 0004B7CC 80 A5 0C 04 */ lwz r5, 0xc04(r5)
/* 8004FB70 0004B7D0 2C 05 00 00 */ cmpwi r5, 0
/* 8004FB74 0004B7D4 41 82 00 08 */ beq lbl_8004FB7C
/* 8004FB78 0004B7D8 90 85 00 40 */ stw r4, 0x40(r5)
lbl_8004FB7C:
/* 8004FB7C 0004B7DC 90 83 00 34 */ stw r4, 0x34(r3)
lbl_8004FB80:
/* 8004FB80 0004B7E0 80 A3 00 38 */ lwz r5, 0x38(r3)
/* 8004FB84 0004B7E4 2C 05 00 00 */ cmpwi r5, 0
/* 8004FB88 0004B7E8 41 82 00 18 */ beq lbl_8004FBA0
/* 8004FB8C 0004B7EC 80 A5 0C 04 */ lwz r5, 0xc04(r5)
/* 8004FB90 0004B7F0 2C 05 00 00 */ cmpwi r5, 0
/* 8004FB94 0004B7F4 41 82 00 08 */ beq lbl_8004FB9C
/* 8004FB98 0004B7F8 90 85 00 40 */ stw r4, 0x40(r5)
lbl_8004FB9C:
/* 8004FB9C 0004B7FC 90 83 00 38 */ stw r4, 0x38(r3)
lbl_8004FBA0:
/* 8004FBA0 0004B800 38 63 00 10 */ addi r3, r3, 0x10
/* 8004FBA4 0004B804 38 C6 00 03 */ addi r6, r6, 3
/* 8004FBA8 0004B808 42 00 FF 78 */ bdnz lbl_8004FB20
/* 8004FBAC 0004B80C 4E 80 00 20 */ blr
.global func_8004FBB0
func_8004FBB0:
/* 8004FBB0 0004B810 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004FBB4 0004B814 7C 08 02 A6 */ mflr r0
/* 8004FBB8 0004B818 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004FBBC 0004B81C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004FBC0 0004B820 7C 7F 1B 78 */ mr r31, r3
/* 8004FBC4 0004B824 48 00 05 01 */ bl func_800500C4
/* 8004FBC8 0004B828 2C 03 00 00 */ cmpwi r3, 0
/* 8004FBCC 0004B82C 41 80 00 34 */ blt lbl_8004FC00
/* 8004FBD0 0004B830 54 60 10 3A */ slwi r0, r3, 2
/* 8004FBD4 0004B834 7C 7F 02 14 */ add r3, r31, r0
/* 8004FBD8 0004B838 80 83 00 2C */ lwz r4, 0x2c(r3)
/* 8004FBDC 0004B83C 2C 04 00 00 */ cmpwi r4, 0
/* 8004FBE0 0004B840 41 82 00 08 */ beq lbl_8004FBE8
/* 8004FBE4 0004B844 80 84 0C 04 */ lwz r4, 0xc04(r4)
lbl_8004FBE8:
/* 8004FBE8 0004B848 2C 04 00 00 */ cmpwi r4, 0
/* 8004FBEC 0004B84C 41 82 00 0C */ beq lbl_8004FBF8
/* 8004FBF0 0004B850 38 00 00 00 */ li r0, 0
/* 8004FBF4 0004B854 90 04 00 40 */ stw r0, 0x40(r4)
lbl_8004FBF8:
/* 8004FBF8 0004B858 38 00 00 00 */ li r0, 0
/* 8004FBFC 0004B85C 90 03 00 2C */ stw r0, 0x2c(r3)
lbl_8004FC00:
/* 8004FC00 0004B860 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004FC04 0004B864 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004FC08 0004B868 7C 08 03 A6 */ mtlr r0
/* 8004FC0C 0004B86C 38 21 00 10 */ addi r1, r1, 0x10
/* 8004FC10 0004B870 4E 80 00 20 */ blr
.global func_8004FC14
func_8004FC14:
/* 8004FC14 0004B874 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8004FC18 0004B878 7C 08 02 A6 */ mflr r0
/* 8004FC1C 0004B87C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8004FC20 0004B880 54 A0 00 01 */ rlwinm. r0, r5, 0, 0, 0
/* 8004FC24 0004B884 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8004FC28 0004B888 7C BF 2B 78 */ mr r31, r5
/* 8004FC2C 0004B88C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8004FC30 0004B890 7C 9E 23 78 */ mr r30, r4
/* 8004FC34 0004B894 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8004FC38 0004B898 7C 7D 1B 78 */ mr r29, r3
/* 8004FC3C 0004B89C 40 82 00 4C */ bne lbl_8004FC88
/* 8004FC40 0004B8A0 54 A0 07 39 */ rlwinm. r0, r5, 0, 0x1c, 0x1c
/* 8004FC44 0004B8A4 41 82 00 2C */ beq lbl_8004FC70
/* 8004FC48 0004B8A8 54 A0 07 FF */ clrlwi. r0, r5, 0x1f
/* 8004FC4C 0004B8AC 54 BF 07 76 */ rlwinm r31, r5, 0, 0x1d, 0x1b
/* 8004FC50 0004B8B0 41 82 00 08 */ beq lbl_8004FC58
/* 8004FC54 0004B8B4 63 FF 00 40 */ ori r31, r31, 0x40
lbl_8004FC58:
/* 8004FC58 0004B8B8 57 E0 07 BD */ rlwinm. r0, r31, 0, 0x1e, 0x1e
/* 8004FC5C 0004B8BC 41 82 00 08 */ beq lbl_8004FC64
/* 8004FC60 0004B8C0 63 FF 00 80 */ ori r31, r31, 0x80
lbl_8004FC64:
/* 8004FC64 0004B8C4 57 E0 07 7B */ rlwinm. r0, r31, 0, 0x1d, 0x1d
/* 8004FC68 0004B8C8 41 82 00 08 */ beq lbl_8004FC70
/* 8004FC6C 0004B8CC 63 FF 01 00 */ ori r31, r31, 0x100
lbl_8004FC70:
/* 8004FC70 0004B8D0 57 E0 07 FF */ clrlwi. r0, r31, 0x1f
/* 8004FC74 0004B8D4 40 82 00 08 */ bne lbl_8004FC7C
/* 8004FC78 0004B8D8 63 FF 00 09 */ ori r31, r31, 9
lbl_8004FC7C:
/* 8004FC7C 0004B8DC 57 E0 07 BD */ rlwinm. r0, r31, 0, 0x1e, 0x1e
/* 8004FC80 0004B8E0 40 82 00 08 */ bne lbl_8004FC88
/* 8004FC84 0004B8E4 63 FF 00 12 */ ori r31, r31, 0x12
lbl_8004FC88:
/* 8004FC88 0004B8E8 2C 04 00 00 */ cmpwi r4, 0
/* 8004FC8C 0004B8EC 41 82 00 38 */ beq lbl_8004FCC4
/* 8004FC90 0004B8F0 80 83 00 00 */ lwz r4, 0(r3)
/* 8004FC94 0004B8F4 2C 04 00 00 */ cmpwi r4, 0
/* 8004FC98 0004B8F8 41 82 00 2C */ beq lbl_8004FCC4
/* 8004FC9C 0004B8FC 80 64 00 C0 */ lwz r3, 0xc0(r4)
/* 8004FCA0 0004B900 2C 03 00 00 */ cmpwi r3, 0
/* 8004FCA4 0004B904 41 82 00 08 */ beq lbl_8004FCAC
/* 8004FCA8 0004B908 48 1A 25 81 */ bl func_801F2228
lbl_8004FCAC:
/* 8004FCAC 0004B90C 80 BD 00 00 */ lwz r5, 0(r29)
/* 8004FCB0 0004B910 7F C3 F3 78 */ mr r3, r30
/* 8004FCB4 0004B914 57 E4 06 3E */ clrlwi r4, r31, 0x18
/* 8004FCB8 0004B918 38 C0 00 00 */ li r6, 0
/* 8004FCBC 0004B91C 38 E0 00 03 */ li r7, 3
/* 8004FCC0 0004B920 48 1A 24 CD */ bl func_801F218C
lbl_8004FCC4:
/* 8004FCC4 0004B924 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8004FCC8 0004B928 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8004FCCC 0004B92C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8004FCD0 0004B930 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8004FCD4 0004B934 7C 08 03 A6 */ mtlr r0
/* 8004FCD8 0004B938 38 21 00 20 */ addi r1, r1, 0x20
/* 8004FCDC 0004B93C 4E 80 00 20 */ blr
.global func_8004FCE0
func_8004FCE0:
/* 8004FCE0 0004B940 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004FCE4 0004B944 7C 08 02 A6 */ mflr r0
/* 8004FCE8 0004B948 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004FCEC 0004B94C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004FCF0 0004B950 7C 9F 23 78 */ mr r31, r4
/* 8004FCF4 0004B954 93 C1 00 08 */ stw r30, 8(r1)
/* 8004FCF8 0004B958 7C 7E 1B 78 */ mr r30, r3
/* 8004FCFC 0004B95C 80 A3 00 00 */ lwz r5, 0(r3)
/* 8004FD00 0004B960 2C 05 00 00 */ cmpwi r5, 0
/* 8004FD04 0004B964 41 82 00 28 */ beq lbl_8004FD2C
/* 8004FD08 0004B968 C0 04 00 00 */ lfs f0, 0(r4)
/* 8004FD0C 0004B96C 7C A3 2B 78 */ mr r3, r5
/* 8004FD10 0004B970 D0 05 00 20 */ stfs f0, 0x20(r5)
/* 8004FD14 0004B974 C0 04 00 04 */ lfs f0, 4(r4)
/* 8004FD18 0004B978 D0 05 00 24 */ stfs f0, 0x24(r5)
/* 8004FD1C 0004B97C C0 04 00 08 */ lfs f0, 8(r4)
/* 8004FD20 0004B980 38 80 00 01 */ li r4, 1
/* 8004FD24 0004B984 D0 05 00 28 */ stfs f0, 0x28(r5)
/* 8004FD28 0004B988 48 1A 29 91 */ bl func_801F26B8
lbl_8004FD2C:
/* 8004FD2C 0004B98C C0 1F 00 00 */ lfs f0, 0(r31)
/* 8004FD30 0004B990 D0 1E 00 14 */ stfs f0, 0x14(r30)
/* 8004FD34 0004B994 C0 1F 00 04 */ lfs f0, 4(r31)
/* 8004FD38 0004B998 D0 1E 00 18 */ stfs f0, 0x18(r30)
/* 8004FD3C 0004B99C C0 1F 00 08 */ lfs f0, 8(r31)
/* 8004FD40 0004B9A0 D0 1E 00 1C */ stfs f0, 0x1c(r30)
/* 8004FD44 0004B9A4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004FD48 0004B9A8 83 C1 00 08 */ lwz r30, 8(r1)
/* 8004FD4C 0004B9AC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004FD50 0004B9B0 7C 08 03 A6 */ mtlr r0
/* 8004FD54 0004B9B4 38 21 00 10 */ addi r1, r1, 0x10
/* 8004FD58 0004B9B8 4E 80 00 20 */ blr
.global func_8004FD5C
func_8004FD5C:
/* 8004FD5C 0004B9BC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8004FD60 0004B9C0 7C 08 02 A6 */ mflr r0
/* 8004FD64 0004B9C4 90 01 00 24 */ stw r0, 0x24(r1)
/* 8004FD68 0004B9C8 DB E1 00 18 */ stfd f31, 0x18(r1)
/* 8004FD6C 0004B9CC FF E0 08 90 */ fmr f31, f1
/* 8004FD70 0004B9D0 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8004FD74 0004B9D4 7C BF 2B 78 */ mr r31, r5
/* 8004FD78 0004B9D8 7F E7 FB 78 */ mr r7, r31
/* 8004FD7C 0004B9DC 93 C1 00 10 */ stw r30, 0x10(r1)
/* 8004FD80 0004B9E0 7C 9E 23 78 */ mr r30, r4
/* 8004FD84 0004B9E4 38 83 00 14 */ addi r4, r3, 0x14
/* 8004FD88 0004B9E8 93 A1 00 0C */ stw r29, 0xc(r1)
/* 8004FD8C 0004B9EC 7C 7D 1B 78 */ mr r29, r3
/* 8004FD90 0004B9F0 7F C5 F3 78 */ mr r5, r30
/* 8004FD94 0004B9F4 7C 86 23 78 */ mr r6, r4
/* 8004FD98 0004B9F8 38 63 00 4C */ addi r3, r3, 0x4c
/* 8004FD9C 0004B9FC 48 00 05 A1 */ bl func_8005033C
/* 8004FDA0 0004BA00 FC 20 F8 90 */ fmr f1, f31
/* 8004FDA4 0004BA04 38 9D 00 18 */ addi r4, r29, 0x18
/* 8004FDA8 0004BA08 7C 86 23 78 */ mr r6, r4
/* 8004FDAC 0004BA0C 7F E7 FB 78 */ mr r7, r31
/* 8004FDB0 0004BA10 38 7D 00 70 */ addi r3, r29, 0x70
/* 8004FDB4 0004BA14 38 BE 00 04 */ addi r5, r30, 4
/* 8004FDB8 0004BA18 48 00 05 85 */ bl func_8005033C
/* 8004FDBC 0004BA1C FC 20 F8 90 */ fmr f1, f31
/* 8004FDC0 0004BA20 38 9D 00 1C */ addi r4, r29, 0x1c
/* 8004FDC4 0004BA24 7C 86 23 78 */ mr r6, r4
/* 8004FDC8 0004BA28 7F E7 FB 78 */ mr r7, r31
/* 8004FDCC 0004BA2C 38 7D 00 94 */ addi r3, r29, 0x94
/* 8004FDD0 0004BA30 38 BE 00 08 */ addi r5, r30, 8
/* 8004FDD4 0004BA34 48 00 05 69 */ bl func_8005033C
/* 8004FDD8 0004BA38 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8004FDDC 0004BA3C CB E1 00 18 */ lfd f31, 0x18(r1)
/* 8004FDE0 0004BA40 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8004FDE4 0004BA44 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 8004FDE8 0004BA48 83 A1 00 0C */ lwz r29, 0xc(r1)
/* 8004FDEC 0004BA4C 7C 08 03 A6 */ mtlr r0
/* 8004FDF0 0004BA50 38 21 00 20 */ addi r1, r1, 0x20
/* 8004FDF4 0004BA54 4E 80 00 20 */ blr
.global func_8004FDF8
func_8004FDF8:
/* 8004FDF8 0004BA58 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8004FDFC 0004BA5C 7C 08 02 A6 */ mflr r0
/* 8004FE00 0004BA60 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004FE04 0004BA64 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8004FE08 0004BA68 7C 9F 23 78 */ mr r31, r4
/* 8004FE0C 0004BA6C 93 C1 00 08 */ stw r30, 8(r1)
/* 8004FE10 0004BA70 7C 7E 1B 78 */ mr r30, r3
/* 8004FE14 0004BA74 80 03 00 00 */ lwz r0, 0(r3)
/* 8004FE18 0004BA78 2C 00 00 00 */ cmpwi r0, 0
/* 8004FE1C 0004BA7C 41 82 00 0C */ beq lbl_8004FE28
/* 8004FE20 0004BA80 7C 03 03 78 */ mr r3, r0
/* 8004FE24 0004BA84 48 19 66 B9 */ bl func_801E64DC
lbl_8004FE28:
/* 8004FE28 0004BA88 C0 1F 00 00 */ lfs f0, 0(r31)
/* 8004FE2C 0004BA8C D0 1E 00 20 */ stfs f0, 0x20(r30)
/* 8004FE30 0004BA90 C0 1F 00 04 */ lfs f0, 4(r31)
/* 8004FE34 0004BA94 D0 1E 00 24 */ stfs f0, 0x24(r30)
/* 8004FE38 0004BA98 C0 1F 00 08 */ lfs f0, 8(r31)
/* 8004FE3C 0004BA9C D0 1E 00 28 */ stfs f0, 0x28(r30)
/* 8004FE40 0004BAA0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8004FE44 0004BAA4 83 C1 00 08 */ lwz r30, 8(r1)
/* 8004FE48 0004BAA8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8004FE4C 0004BAAC 7C 08 03 A6 */ mtlr r0
/* 8004FE50 0004BAB0 38 21 00 10 */ addi r1, r1, 0x10
/* 8004FE54 0004BAB4 4E 80 00 20 */ blr
.global func_8004FE58
func_8004FE58:
/* 8004FE58 0004BAB8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8004FE5C 0004BABC 7C 08 02 A6 */ mflr r0
/* 8004FE60 0004BAC0 90 01 00 24 */ stw r0, 0x24(r1)
/* 8004FE64 0004BAC4 DB E1 00 18 */ stfd f31, 0x18(r1)
/* 8004FE68 0004BAC8 FF E0 08 90 */ fmr f31, f1
/* 8004FE6C 0004BACC 93 E1 00 14 */ stw r31, 0x14(r1)
/* 8004FE70 0004BAD0 7C BF 2B 78 */ mr r31, r5
/* 8004FE74 0004BAD4 7F E7 FB 78 */ mr r7, r31
/* 8004FE78 0004BAD8 93 C1 00 10 */ stw r30, 0x10(r1)
/* 8004FE7C 0004BADC 7C 9E 23 78 */ mr r30, r4
/* 8004FE80 0004BAE0 38 83 00 20 */ addi r4, r3, 0x20
/* 8004FE84 0004BAE4 93 A1 00 0C */ stw r29, 0xc(r1)
/* 8004FE88 0004BAE8 7C 7D 1B 78 */ mr r29, r3
/* 8004FE8C 0004BAEC 7F C5 F3 78 */ mr r5, r30
/* 8004FE90 0004BAF0 7C 86 23 78 */ mr r6, r4
/* 8004FE94 0004BAF4 38 63 00 B8 */ addi r3, r3, 0xb8
/* 8004FE98 0004BAF8 48 00 04 A5 */ bl func_8005033C
/* 8004FE9C 0004BAFC FC 20 F8 90 */ fmr f1, f31
/* 8004FEA0 0004BB00 38 9D 00 24 */ addi r4, r29, 0x24
/* 8004FEA4 0004BB04 7C 86 23 78 */ mr r6, r4
/* 8004FEA8 0004BB08 7F E7 FB 78 */ mr r7, r31
/* 8004FEAC 0004BB0C 38 7D 00 DC */ addi r3, r29, 0xdc
/* 8004FEB0 0004BB10 38 BE 00 04 */ addi r5, r30, 4
/* 8004FEB4 0004BB14 48 00 04 89 */ bl func_8005033C
/* 8004FEB8 0004BB18 FC 20 F8 90 */ fmr f1, f31
/* 8004FEBC 0004BB1C 38 9D 00 28 */ addi r4, r29, 0x28
/* 8004FEC0 0004BB20 7C 86 23 78 */ mr r6, r4
/* 8004FEC4 0004BB24 7F E7 FB 78 */ mr r7, r31
/* 8004FEC8 0004BB28 38 7D 01 00 */ addi r3, r29, 0x100
/* 8004FECC 0004BB2C 38 BE 00 08 */ addi r5, r30, 8
/* 8004FED0 0004BB30 48 00 04 6D */ bl func_8005033C
/* 8004FED4 0004BB34 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8004FED8 0004BB38 CB E1 00 18 */ lfd f31, 0x18(r1)
/* 8004FEDC 0004BB3C 83 E1 00 14 */ lwz r31, 0x14(r1)
/* 8004FEE0 0004BB40 83 C1 00 10 */ lwz r30, 0x10(r1)
/* 8004FEE4 0004BB44 83 A1 00 0C */ lwz r29, 0xc(r1)
/* 8004FEE8 0004BB48 7C 08 03 A6 */ mtlr r0
/* 8004FEEC 0004BB4C 38 21 00 20 */ addi r1, r1, 0x20
/* 8004FEF0 0004BB50 4E 80 00 20 */ blr
.global func_8004FEF4
func_8004FEF4:
/* 8004FEF4 0004BB54 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8004FEF8 0004BB58 3C 00 43 30 */ lis r0, 0x4330
/* 8004FEFC 0004BB5C 80 A3 00 00 */ lwz r5, 0(r3)
/* 8004FF00 0004BB60 90 01 00 08 */ stw r0, 8(r1)
/* 8004FF04 0004BB64 2C 05 00 00 */ cmpwi r5, 0
/* 8004FF08 0004BB68 90 01 00 10 */ stw r0, 0x10(r1)
/* 8004FF0C 0004BB6C 41 82 00 24 */ beq lbl_8004FF30
/* 8004FF10 0004BB70 88 04 00 00 */ lbz r0, 0(r4)
/* 8004FF14 0004BB74 98 05 01 10 */ stb r0, 0x110(r5)
/* 8004FF18 0004BB78 88 04 00 01 */ lbz r0, 1(r4)
/* 8004FF1C 0004BB7C 98 05 01 11 */ stb r0, 0x111(r5)
/* 8004FF20 0004BB80 88 04 00 02 */ lbz r0, 2(r4)
/* 8004FF24 0004BB84 98 05 01 12 */ stb r0, 0x112(r5)
/* 8004FF28 0004BB88 88 04 00 03 */ lbz r0, 3(r4)
/* 8004FF2C 0004BB8C 98 05 01 13 */ stb r0, 0x113(r5)
lbl_8004FF30:
/* 8004FF30 0004BB90 88 04 00 00 */ lbz r0, 0(r4)
/* 8004FF34 0004BB94 C8 22 84 78 */ lfd f1, lbl_80640A78-_SDA2_BASE_(r2)
/* 8004FF38 0004BB98 90 01 00 0C */ stw r0, 0xc(r1)
/* 8004FF3C 0004BB9C C8 01 00 08 */ lfd f0, 8(r1)
/* 8004FF40 0004BBA0 EC 00 08 28 */ fsubs f0, f0, f1
/* 8004FF44 0004BBA4 D0 03 00 04 */ stfs f0, 4(r3)
/* 8004FF48 0004BBA8 88 04 00 01 */ lbz r0, 1(r4)
/* 8004FF4C 0004BBAC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004FF50 0004BBB0 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 8004FF54 0004BBB4 EC 00 08 28 */ fsubs f0, f0, f1
/* 8004FF58 0004BBB8 D0 03 00 08 */ stfs f0, 8(r3)
/* 8004FF5C 0004BBBC 88 04 00 02 */ lbz r0, 2(r4)
/* 8004FF60 0004BBC0 90 01 00 0C */ stw r0, 0xc(r1)
/* 8004FF64 0004BBC4 C8 01 00 08 */ lfd f0, 8(r1)
/* 8004FF68 0004BBC8 EC 00 08 28 */ fsubs f0, f0, f1
/* 8004FF6C 0004BBCC D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8004FF70 0004BBD0 88 04 00 03 */ lbz r0, 3(r4)
/* 8004FF74 0004BBD4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8004FF78 0004BBD8 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 8004FF7C 0004BBDC EC 00 08 28 */ fsubs f0, f0, f1
/* 8004FF80 0004BBE0 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 8004FF84 0004BBE4 38 21 00 20 */ addi r1, r1, 0x20
/* 8004FF88 0004BBE8 4E 80 00 20 */ blr
.global func_8004FF8C
func_8004FF8C:
/* 8004FF8C 0004BBEC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8004FF90 0004BBF0 7C 08 02 A6 */ mflr r0
/* 8004FF94 0004BBF4 3C C0 43 30 */ lis r6, 0x4330
/* 8004FF98 0004BBF8 7C A7 2B 78 */ mr r7, r5
/* 8004FF9C 0004BBFC 90 01 00 34 */ stw r0, 0x34(r1)
/* 8004FFA0 0004BC00 38 A1 00 08 */ addi r5, r1, 8
/* 8004FFA4 0004BC04 C8 42 84 78 */ lfd f2, lbl_80640A78-_SDA2_BASE_(r2)
/* 8004FFA8 0004BC08 88 04 00 00 */ lbz r0, 0(r4)
/* 8004FFAC 0004BC0C 90 C1 00 18 */ stw r6, 0x18(r1)
/* 8004FFB0 0004BC10 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8004FFB4 0004BC14 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 8004FFB8 0004BC18 90 C1 00 20 */ stw r6, 0x20(r1)
/* 8004FFBC 0004BC1C EC 00 10 28 */ fsubs f0, f0, f2
/* 8004FFC0 0004BC20 D0 01 00 08 */ stfs f0, 8(r1)
/* 8004FFC4 0004BC24 88 04 00 01 */ lbz r0, 1(r4)
/* 8004FFC8 0004BC28 90 01 00 24 */ stw r0, 0x24(r1)
/* 8004FFCC 0004BC2C C8 01 00 20 */ lfd f0, 0x20(r1)
/* 8004FFD0 0004BC30 EC 00 10 28 */ fsubs f0, f0, f2
/* 8004FFD4 0004BC34 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8004FFD8 0004BC38 88 04 00 02 */ lbz r0, 2(r4)
/* 8004FFDC 0004BC3C 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8004FFE0 0004BC40 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 8004FFE4 0004BC44 EC 00 10 28 */ fsubs f0, f0, f2
/* 8004FFE8 0004BC48 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8004FFEC 0004BC4C 88 04 00 03 */ lbz r0, 3(r4)
/* 8004FFF0 0004BC50 38 83 00 04 */ addi r4, r3, 4
/* 8004FFF4 0004BC54 7C 86 23 78 */ mr r6, r4
/* 8004FFF8 0004BC58 38 63 01 24 */ addi r3, r3, 0x124
/* 8004FFFC 0004BC5C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80050000 0004BC60 C8 01 00 20 */ lfd f0, 0x20(r1)
/* 80050004 0004BC64 EC 00 10 28 */ fsubs f0, f0, f2
/* 80050008 0004BC68 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 8005000C 0004BC6C 48 00 0B 41 */ bl func_80050B4C
/* 80050010 0004BC70 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80050014 0004BC74 7C 08 03 A6 */ mtlr r0
/* 80050018 0004BC78 38 21 00 30 */ addi r1, r1, 0x30
/* 8005001C 0004BC7C 4E 80 00 20 */ blr
.global func_80050020
func_80050020:
/* 80050020 0004BC80 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80050024 0004BC84 7C 08 02 A6 */ mflr r0
/* 80050028 0004BC88 90 01 00 34 */ stw r0, 0x34(r1)
/* 8005002C 0004BC8C 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80050030 0004BC90 7C 7F 1B 78 */ mr r31, r3
/* 80050034 0004BC94 C0 04 00 00 */ lfs f0, 0(r4)
/* 80050038 0004BC98 D0 03 01 64 */ stfs f0, 0x164(r3)
/* 8005003C 0004BC9C C0 04 00 04 */ lfs f0, 4(r4)
/* 80050040 0004BCA0 D0 03 01 68 */ stfs f0, 0x168(r3)
/* 80050044 0004BCA4 C0 04 00 08 */ lfs f0, 8(r4)
/* 80050048 0004BCA8 D0 03 01 6C */ stfs f0, 0x16c(r3)
/* 8005004C 0004BCAC 38 61 00 18 */ addi r3, r1, 0x18
/* 80050050 0004BCB0 C0 44 00 08 */ lfs f2, 8(r4)
/* 80050054 0004BCB4 C0 24 00 04 */ lfs f1, 4(r4)
/* 80050058 0004BCB8 C0 04 00 00 */ lfs f0, 0(r4)
/* 8005005C 0004BCBC 38 81 00 08 */ addi r4, r1, 8
/* 80050060 0004BCC0 D0 01 00 08 */ stfs f0, 8(r1)
/* 80050064 0004BCC4 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 80050068 0004BCC8 D0 41 00 10 */ stfs f2, 0x10(r1)
/* 8005006C 0004BCCC 48 1D 36 55 */ bl func_802236C0
/* 80050070 0004BCD0 80 7F 00 00 */ lwz r3, 0(r31)
/* 80050074 0004BCD4 2C 03 00 00 */ cmpwi r3, 0
/* 80050078 0004BCD8 41 82 00 38 */ beq lbl_800500B0
/* 8005007C 0004BCDC C0 01 00 18 */ lfs f0, 0x18(r1)
/* 80050080 0004BCE0 38 80 00 01 */ li r4, 1
/* 80050084 0004BCE4 D0 03 00 2C */ stfs f0, 0x2c(r3)
/* 80050088 0004BCE8 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 8005008C 0004BCEC D0 03 00 30 */ stfs f0, 0x30(r3)
/* 80050090 0004BCF0 C0 01 00 20 */ lfs f0, 0x20(r1)
/* 80050094 0004BCF4 D0 03 00 34 */ stfs f0, 0x34(r3)
/* 80050098 0004BCF8 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 8005009C 0004BCFC D0 03 00 38 */ stfs f0, 0x38(r3)
/* 800500A0 0004BD00 A0 03 00 10 */ lhz r0, 0x10(r3)
/* 800500A4 0004BD04 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
/* 800500A8 0004BD08 B0 03 00 10 */ sth r0, 0x10(r3)
/* 800500AC 0004BD0C 48 1A 26 0D */ bl func_801F26B8
lbl_800500B0:
/* 800500B0 0004BD10 80 01 00 34 */ lwz r0, 0x34(r1)
/* 800500B4 0004BD14 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 800500B8 0004BD18 7C 08 03 A6 */ mtlr r0
/* 800500BC 0004BD1C 38 21 00 30 */ addi r1, r1, 0x30
/* 800500C0 0004BD20 4E 80 00 20 */ blr
.global func_800500C4
func_800500C4:
/* 800500C4 0004BD24 80 03 00 2C */ lwz r0, 0x2c(r3)
/* 800500C8 0004BD28 7C 00 20 40 */ cmplw r0, r4
/* 800500CC 0004BD2C 40 82 00 0C */ bne lbl_800500D8
/* 800500D0 0004BD30 38 60 00 00 */ li r3, 0
/* 800500D4 0004BD34 4E 80 00 20 */ blr
lbl_800500D8:
/* 800500D8 0004BD38 80 03 00 30 */ lwz r0, 0x30(r3)
/* 800500DC 0004BD3C 7C 00 20 40 */ cmplw r0, r4
/* 800500E0 0004BD40 40 82 00 0C */ bne lbl_800500EC
/* 800500E4 0004BD44 38 60 00 01 */ li r3, 1
/* 800500E8 0004BD48 4E 80 00 20 */ blr
lbl_800500EC:
/* 800500EC 0004BD4C 80 03 00 34 */ lwz r0, 0x34(r3)
/* 800500F0 0004BD50 7C 00 20 40 */ cmplw r0, r4
/* 800500F4 0004BD54 40 82 00 0C */ bne lbl_80050100
/* 800500F8 0004BD58 38 60 00 02 */ li r3, 2
/* 800500FC 0004BD5C 4E 80 00 20 */ blr
lbl_80050100:
/* 80050100 0004BD60 80 03 00 38 */ lwz r0, 0x38(r3)
/* 80050104 0004BD64 7C 00 20 40 */ cmplw r0, r4
/* 80050108 0004BD68 40 82 00 0C */ bne lbl_80050114
/* 8005010C 0004BD6C 38 60 00 03 */ li r3, 3
/* 80050110 0004BD70 4E 80 00 20 */ blr
lbl_80050114:
/* 80050114 0004BD74 80 03 00 3C */ lwz r0, 0x3c(r3)
/* 80050118 0004BD78 7C 00 20 40 */ cmplw r0, r4
/* 8005011C 0004BD7C 40 82 00 0C */ bne lbl_80050128
/* 80050120 0004BD80 38 60 00 04 */ li r3, 4
/* 80050124 0004BD84 4E 80 00 20 */ blr
lbl_80050128:
/* 80050128 0004BD88 80 03 00 40 */ lwz r0, 0x40(r3)
/* 8005012C 0004BD8C 7C 00 20 40 */ cmplw r0, r4
/* 80050130 0004BD90 40 82 00 0C */ bne lbl_8005013C
/* 80050134 0004BD94 38 60 00 05 */ li r3, 5
/* 80050138 0004BD98 4E 80 00 20 */ blr
lbl_8005013C:
/* 8005013C 0004BD9C 80 03 00 44 */ lwz r0, 0x44(r3)
/* 80050140 0004BDA0 7C 00 20 40 */ cmplw r0, r4
/* 80050144 0004BDA4 40 82 00 0C */ bne lbl_80050150
/* 80050148 0004BDA8 38 60 00 06 */ li r3, 6
/* 8005014C 0004BDAC 4E 80 00 20 */ blr
lbl_80050150:
/* 80050150 0004BDB0 80 03 00 48 */ lwz r0, 0x48(r3)
/* 80050154 0004BDB4 7C 00 20 40 */ cmplw r0, r4
/* 80050158 0004BDB8 40 82 00 0C */ bne lbl_80050164
/* 8005015C 0004BDBC 38 60 00 07 */ li r3, 7
/* 80050160 0004BDC0 4E 80 00 20 */ blr
lbl_80050164:
/* 80050164 0004BDC4 38 60 FF FF */ li r3, -1
/* 80050168 0004BDC8 4E 80 00 20 */ blr
.global func_8005016C
func_8005016C:
/* 8005016C 0004BDCC 38 A0 00 01 */ li r5, 1
/* 80050170 0004BDD0 38 6D 98 48 */ addi r3, r13, lbl_8063EB08-_SDA_BASE_
/* 80050174 0004BDD4 38 80 00 04 */ li r4, 4
/* 80050178 0004BDD8 38 00 00 00 */ li r0, 0
/* 8005017C 0004BDDC 98 AD 98 48 */ stb r5, lbl_8063EB08-_SDA_BASE_(r13)
/* 80050180 0004BDE0 B0 83 00 02 */ sth r4, 2(r3)
/* 80050184 0004BDE4 98 03 00 04 */ stb r0, 4(r3)
/* 80050188 0004BDE8 4E 80 00 20 */ blr
|