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

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

.global AXFXReverbHiExpGetMemSize
AXFXReverbHiExpGetMemSize:
/* 8029259C 0028E1FC  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802925A0 0028E200  3C 80 80 44 */	lis r4, lbl_8043A380@ha
/* 802925A4 0028E204  38 84 A3 80 */	addi r4, r4, lbl_8043A380@l
/* 802925A8 0028E208  3D 20 80 44 */	lis r9, lbl_8043A440@ha
/* 802925AC 0028E20C  C0 22 A2 48 */	lfs f1, lbl_80642848-_SDA2_BASE_(r2)
/* 802925B0 0028E210  39 29 A4 40 */	addi r9, r9, lbl_8043A440@l
/* 802925B4 0028E214  C0 03 01 14 */	lfs f0, 0x114(r3)
/* 802925B8 0028E218  81 44 00 5C */	lwz r10, 0x5c(r4)
/* 802925BC 0028E21C  EC 01 00 32 */	fmuls f0, f1, f0
/* 802925C0 0028E220  80 09 00 C0 */	lwz r0, 0xc0(r9)
/* 802925C4 0028E224  81 09 00 C4 */	lwz r8, 0xc4(r9)
/* 802925C8 0028E228  80 E9 00 C8 */	lwz r7, 0xc8(r9)
/* 802925CC 0028E22C  FC 00 00 1E */	fctiwz f0, f0
/* 802925D0 0028E230  80 C9 00 CC */	lwz r6, 0xcc(r9)
/* 802925D4 0028E234  80 A9 00 D0 */	lwz r5, 0xd0(r9)
/* 802925D8 0028E238  80 89 00 D4 */	lwz r4, 0xd4(r9)
/* 802925DC 0028E23C  D8 01 00 08 */	stfd f0, 8(r1)
/* 802925E0 0028E240  80 61 00 0C */	lwz r3, 0xc(r1)
/* 802925E4 0028E244  7D 4A 1A 14 */	add r10, r10, r3
/* 802925E8 0028E248  80 69 00 D8 */	lwz r3, 0xd8(r9)
/* 802925EC 0028E24C  7D 4A 02 14 */	add r10, r10, r0
/* 802925F0 0028E250  80 09 00 DC */	lwz r0, 0xdc(r9)
/* 802925F4 0028E254  7D 4A 42 14 */	add r10, r10, r8
/* 802925F8 0028E258  7D 4A 3A 14 */	add r10, r10, r7
/* 802925FC 0028E25C  7D 4A 32 14 */	add r10, r10, r6
/* 80292600 0028E260  7D 4A 2A 14 */	add r10, r10, r5
/* 80292604 0028E264  55 45 10 3A */	slwi r5, r10, 2
/* 80292608 0028E268  7D 4A 28 50 */	subf r10, r10, r5
/* 8029260C 0028E26C  7D 4A 22 14 */	add r10, r10, r4
/* 80292610 0028E270  7D 4A 1A 14 */	add r10, r10, r3
/* 80292614 0028E274  7D 4A 02 14 */	add r10, r10, r0
/* 80292618 0028E278  55 43 10 3A */	slwi r3, r10, 2
/* 8029261C 0028E27C  38 21 00 10 */	addi r1, r1, 0x10
/* 80292620 0028E280  4E 80 00 20 */	blr

.global AXFXReverbHiExpInit
AXFXReverbHiExpInit:
/* 80292624 0028E284  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80292628 0028E288  7C 08 02 A6 */	mflr r0
/* 8029262C 0028E28C  90 01 00 24 */	stw r0, 0x24(r1)
/* 80292630 0028E290  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80292634 0028E294  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80292638 0028E298  7C 7E 1B 78 */	mr r30, r3
/* 8029263C 0028E29C  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80292640 0028E2A0  4B FD C1 1D */	bl OSDisableInterrupts
/* 80292644 0028E2A4  C0 3E 01 14 */	lfs f1, 0x114(r30)
/* 80292648 0028E2A8  38 00 00 01 */	li r0, 1
/* 8029264C 0028E2AC  C0 02 A2 4C */	lfs f0, lbl_8064284C-_SDA2_BASE_(r2)
/* 80292650 0028E2B0  7C 7F 1B 78 */	mr r31, r3
/* 80292654 0028E2B4  90 1E 01 0C */	stw r0, 0x10c(r30)
/* 80292658 0028E2B8  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8029265C 0028E2BC  40 80 00 38 */	bge lbl_80292694
/* 80292660 0028E2C0  4B FD C0 FD */	bl OSDisableInterrupts
/* 80292664 0028E2C4  80 1E 01 0C */	lwz r0, 0x10c(r30)
/* 80292668 0028E2C8  7C 7D 1B 78 */	mr r29, r3
/* 8029266C 0028E2CC  7F C3 F3 78 */	mr r3, r30
/* 80292670 0028E2D0  60 00 00 01 */	ori r0, r0, 1
/* 80292674 0028E2D4  90 1E 01 0C */	stw r0, 0x10c(r30)
/* 80292678 0028E2D8  48 00 0A 1D */	bl __FreeDelayLine
/* 8029267C 0028E2DC  7F A3 EB 78 */	mr r3, r29
/* 80292680 0028E2E0  4B FD C1 05 */	bl OSRestoreInterrupts
/* 80292684 0028E2E4  7F E3 FB 78 */	mr r3, r31
/* 80292688 0028E2E8  4B FD C0 FD */	bl OSRestoreInterrupts
/* 8029268C 0028E2EC  38 60 00 00 */	li r3, 0
/* 80292690 0028E2F0  48 00 01 14 */	b lbl_802927A4
lbl_80292694:
/* 80292694 0028E2F4  3C 60 80 44 */	lis r3, lbl_8043A380@ha
/* 80292698 0028E2F8  C0 02 A2 48 */	lfs f0, lbl_80642848-_SDA2_BASE_(r2)
/* 8029269C 0028E2FC  38 63 A3 80 */	addi r3, r3, lbl_8043A380@l
/* 802926A0 0028E300  80 03 00 5C */	lwz r0, 0x5c(r3)
/* 802926A4 0028E304  EC 20 00 72 */	fmuls f1, f0, f1
/* 802926A8 0028E308  90 1E 00 1C */	stw r0, 0x1c(r30)
/* 802926AC 0028E30C  4B F3 49 55 */	bl __cvt_fp2unsigned
/* 802926B0 0028E310  90 7E 00 40 */	stw r3, 0x40(r30)
/* 802926B4 0028E314  3C 80 80 44 */	lis r4, lbl_8043A440@ha
/* 802926B8 0028E318  38 84 A4 40 */	addi r4, r4, lbl_8043A440@l
/* 802926BC 0028E31C  7F C3 F3 78 */	mr r3, r30
/* 802926C0 0028E320  80 04 00 C0 */	lwz r0, 0xc0(r4)
/* 802926C4 0028E324  90 1E 00 80 */	stw r0, 0x80(r30)
/* 802926C8 0028E328  80 04 00 C4 */	lwz r0, 0xc4(r4)
/* 802926CC 0028E32C  90 1E 00 84 */	stw r0, 0x84(r30)
/* 802926D0 0028E330  80 04 00 C8 */	lwz r0, 0xc8(r4)
/* 802926D4 0028E334  90 1E 00 88 */	stw r0, 0x88(r30)
/* 802926D8 0028E338  80 04 00 CC */	lwz r0, 0xcc(r4)
/* 802926DC 0028E33C  90 1E 00 C0 */	stw r0, 0xc0(r30)
/* 802926E0 0028E340  80 04 00 D0 */	lwz r0, 0xd0(r4)
/* 802926E4 0028E344  90 1E 00 C4 */	stw r0, 0xc4(r30)
/* 802926E8 0028E348  80 04 00 D4 */	lwz r0, 0xd4(r4)
/* 802926EC 0028E34C  90 1E 00 EC */	stw r0, 0xec(r30)
/* 802926F0 0028E350  80 04 00 D8 */	lwz r0, 0xd8(r4)
/* 802926F4 0028E354  90 1E 00 F0 */	stw r0, 0xf0(r30)
/* 802926F8 0028E358  80 04 00 DC */	lwz r0, 0xdc(r4)
/* 802926FC 0028E35C  90 1E 00 F4 */	stw r0, 0xf4(r30)
/* 80292700 0028E360  48 00 06 FD */	bl __AllocDelayLine
/* 80292704 0028E364  2C 03 00 00 */	cmpwi r3, 0
/* 80292708 0028E368  40 82 00 38 */	bne lbl_80292740
/* 8029270C 0028E36C  4B FD C0 51 */	bl OSDisableInterrupts
/* 80292710 0028E370  80 1E 01 0C */	lwz r0, 0x10c(r30)
/* 80292714 0028E374  7C 7D 1B 78 */	mr r29, r3
/* 80292718 0028E378  7F C3 F3 78 */	mr r3, r30
/* 8029271C 0028E37C  60 00 00 01 */	ori r0, r0, 1
/* 80292720 0028E380  90 1E 01 0C */	stw r0, 0x10c(r30)
/* 80292724 0028E384  48 00 09 71 */	bl __FreeDelayLine
/* 80292728 0028E388  7F A3 EB 78 */	mr r3, r29
/* 8029272C 0028E38C  4B FD C0 59 */	bl OSRestoreInterrupts
/* 80292730 0028E390  7F E3 FB 78 */	mr r3, r31
/* 80292734 0028E394  4B FD C0 51 */	bl OSRestoreInterrupts
/* 80292738 0028E398  38 60 00 00 */	li r3, 0
/* 8029273C 0028E39C  48 00 00 68 */	b lbl_802927A4
lbl_80292740:
/* 80292740 0028E3A0  7F C3 F3 78 */	mr r3, r30
/* 80292744 0028E3A4  48 00 08 2D */	bl __BzeroDelayLines
/* 80292748 0028E3A8  7F C3 F3 78 */	mr r3, r30
/* 8029274C 0028E3AC  48 00 0A 5D */	bl __InitParams
/* 80292750 0028E3B0  2C 03 00 00 */	cmpwi r3, 0
/* 80292754 0028E3B4  40 82 00 38 */	bne lbl_8029278C
/* 80292758 0028E3B8  4B FD C0 05 */	bl OSDisableInterrupts
/* 8029275C 0028E3BC  80 1E 01 0C */	lwz r0, 0x10c(r30)
/* 80292760 0028E3C0  7C 7D 1B 78 */	mr r29, r3
/* 80292764 0028E3C4  7F C3 F3 78 */	mr r3, r30
/* 80292768 0028E3C8  60 00 00 01 */	ori r0, r0, 1
/* 8029276C 0028E3CC  90 1E 01 0C */	stw r0, 0x10c(r30)
/* 80292770 0028E3D0  48 00 09 25 */	bl __FreeDelayLine
/* 80292774 0028E3D4  7F A3 EB 78 */	mr r3, r29
/* 80292778 0028E3D8  4B FD C0 0D */	bl OSRestoreInterrupts
/* 8029277C 0028E3DC  7F E3 FB 78 */	mr r3, r31
/* 80292780 0028E3E0  4B FD C0 05 */	bl OSRestoreInterrupts
/* 80292784 0028E3E4  38 60 00 00 */	li r3, 0
/* 80292788 0028E3E8  48 00 00 1C */	b lbl_802927A4
lbl_8029278C:
/* 8029278C 0028E3EC  80 1E 01 0C */	lwz r0, 0x10c(r30)
/* 80292790 0028E3F0  7F E3 FB 78 */	mr r3, r31
/* 80292794 0028E3F4  54 00 00 3C */	rlwinm r0, r0, 0, 0, 0x1e
/* 80292798 0028E3F8  90 1E 01 0C */	stw r0, 0x10c(r30)
/* 8029279C 0028E3FC  4B FD BF E9 */	bl OSRestoreInterrupts
/* 802927A0 0028E400  38 60 00 01 */	li r3, 1
lbl_802927A4:
/* 802927A4 0028E404  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802927A8 0028E408  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802927AC 0028E40C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802927B0 0028E410  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802927B4 0028E414  7C 08 03 A6 */	mtlr r0
/* 802927B8 0028E418  38 21 00 20 */	addi r1, r1, 0x20
/* 802927BC 0028E41C  4E 80 00 20 */	blr

.global AXFXReverbHiExpSettings
AXFXReverbHiExpSettings:
/* 802927C0 0028E420  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802927C4 0028E424  7C 08 02 A6 */	mflr r0
/* 802927C8 0028E428  90 01 00 24 */	stw r0, 0x24(r1)
/* 802927CC 0028E42C  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802927D0 0028E430  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802927D4 0028E434  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802927D8 0028E438  7C 7D 1B 78 */	mr r29, r3
/* 802927DC 0028E43C  4B FD BF 81 */	bl OSDisableInterrupts
/* 802927E0 0028E440  80 1D 01 0C */	lwz r0, 0x10c(r29)
/* 802927E4 0028E444  7C 7E 1B 78 */	mr r30, r3
/* 802927E8 0028E448  60 00 00 01 */	ori r0, r0, 1
/* 802927EC 0028E44C  90 1D 01 0C */	stw r0, 0x10c(r29)
/* 802927F0 0028E450  4B FD BF 6D */	bl OSDisableInterrupts
/* 802927F4 0028E454  80 1D 01 0C */	lwz r0, 0x10c(r29)
/* 802927F8 0028E458  7C 7F 1B 78 */	mr r31, r3
/* 802927FC 0028E45C  7F A3 EB 78 */	mr r3, r29
/* 80292800 0028E460  60 00 00 01 */	ori r0, r0, 1
/* 80292804 0028E464  90 1D 01 0C */	stw r0, 0x10c(r29)
/* 80292808 0028E468  48 00 08 8D */	bl __FreeDelayLine
/* 8029280C 0028E46C  7F E3 FB 78 */	mr r3, r31
/* 80292810 0028E470  4B FD BF 75 */	bl OSRestoreInterrupts
/* 80292814 0028E474  7F A3 EB 78 */	mr r3, r29
/* 80292818 0028E478  4B FF FE 0D */	bl AXFXReverbHiExpInit
/* 8029281C 0028E47C  2C 03 00 00 */	cmpwi r3, 0
/* 80292820 0028E480  40 82 00 38 */	bne lbl_80292858
/* 80292824 0028E484  4B FD BF 39 */	bl OSDisableInterrupts
/* 80292828 0028E488  80 1D 01 0C */	lwz r0, 0x10c(r29)
/* 8029282C 0028E48C  7C 7F 1B 78 */	mr r31, r3
/* 80292830 0028E490  7F A3 EB 78 */	mr r3, r29
/* 80292834 0028E494  60 00 00 01 */	ori r0, r0, 1
/* 80292838 0028E498  90 1D 01 0C */	stw r0, 0x10c(r29)
/* 8029283C 0028E49C  48 00 08 59 */	bl __FreeDelayLine
/* 80292840 0028E4A0  7F E3 FB 78 */	mr r3, r31
/* 80292844 0028E4A4  4B FD BF 41 */	bl OSRestoreInterrupts
/* 80292848 0028E4A8  7F C3 F3 78 */	mr r3, r30
/* 8029284C 0028E4AC  4B FD BF 39 */	bl OSRestoreInterrupts
/* 80292850 0028E4B0  38 60 00 00 */	li r3, 0
/* 80292854 0028E4B4  48 00 00 20 */	b lbl_80292874
lbl_80292858:
/* 80292858 0028E4B8  80 1D 01 0C */	lwz r0, 0x10c(r29)
/* 8029285C 0028E4BC  7F C3 F3 78 */	mr r3, r30
/* 80292860 0028E4C0  60 00 00 02 */	ori r0, r0, 2
/* 80292864 0028E4C4  54 00 00 3C */	rlwinm r0, r0, 0, 0, 0x1e
/* 80292868 0028E4C8  90 1D 01 0C */	stw r0, 0x10c(r29)
/* 8029286C 0028E4CC  4B FD BF 19 */	bl OSRestoreInterrupts
/* 80292870 0028E4D0  38 60 00 01 */	li r3, 1
lbl_80292874:
/* 80292874 0028E4D4  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80292878 0028E4D8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8029287C 0028E4DC  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80292880 0028E4E0  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80292884 0028E4E4  7C 08 03 A6 */	mtlr r0
/* 80292888 0028E4E8  38 21 00 20 */	addi r1, r1, 0x20
/* 8029288C 0028E4EC  4E 80 00 20 */	blr

.global AXFXReverbHiExpShutdown
AXFXReverbHiExpShutdown:
/* 80292890 0028E4F0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80292894 0028E4F4  7C 08 02 A6 */	mflr r0
/* 80292898 0028E4F8  90 01 00 14 */	stw r0, 0x14(r1)
/* 8029289C 0028E4FC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802928A0 0028E500  93 C1 00 08 */	stw r30, 8(r1)
/* 802928A4 0028E504  7C 7E 1B 78 */	mr r30, r3
/* 802928A8 0028E508  4B FD BE B5 */	bl OSDisableInterrupts
/* 802928AC 0028E50C  80 1E 01 0C */	lwz r0, 0x10c(r30)
/* 802928B0 0028E510  7C 7F 1B 78 */	mr r31, r3
/* 802928B4 0028E514  7F C3 F3 78 */	mr r3, r30
/* 802928B8 0028E518  60 00 00 01 */	ori r0, r0, 1
/* 802928BC 0028E51C  90 1E 01 0C */	stw r0, 0x10c(r30)
/* 802928C0 0028E520  48 00 07 D5 */	bl __FreeDelayLine
/* 802928C4 0028E524  7F E3 FB 78 */	mr r3, r31
/* 802928C8 0028E528  4B FD BE BD */	bl OSRestoreInterrupts
/* 802928CC 0028E52C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802928D0 0028E530  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802928D4 0028E534  83 C1 00 08 */	lwz r30, 8(r1)
/* 802928D8 0028E538  7C 08 03 A6 */	mtlr r0
/* 802928DC 0028E53C  38 21 00 10 */	addi r1, r1, 0x10
/* 802928E0 0028E540  4E 80 00 20 */	blr

.global AXFXReverbHiExpCallback
AXFXReverbHiExpCallback:
/* 802928E4 0028E544  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 802928E8 0028E548  7C 08 02 A6 */	mflr r0
/* 802928EC 0028E54C  90 01 00 74 */	stw r0, 0x74(r1)
/* 802928F0 0028E550  39 61 00 70 */	addi r11, r1, 0x70
/* 802928F4 0028E554  4B F3 48 2D */	bl _savegpr_25
/* 802928F8 0028E558  80 04 01 0C */	lwz r0, 0x10c(r4)
/* 802928FC 0028E55C  2C 00 00 00 */	cmpwi r0, 0
/* 80292900 0028E560  41 82 00 10 */	beq lbl_80292910
/* 80292904 0028E564  54 00 07 FA */	rlwinm r0, r0, 0, 0x1f, 0x1d
/* 80292908 0028E568  90 04 01 0C */	stw r0, 0x10c(r4)
/* 8029290C 0028E56C  48 00 04 D8 */	b lbl_80292DE4
lbl_80292910:
/* 80292910 0028E570  80 E4 01 38 */	lwz r7, 0x138(r4)
/* 80292914 0028E574  80 C3 00 00 */	lwz r6, 0(r3)
/* 80292918 0028E578  80 A3 00 04 */	lwz r5, 4(r3)
/* 8029291C 0028E57C  2C 07 00 00 */	cmpwi r7, 0
/* 80292920 0028E580  80 03 00 08 */	lwz r0, 8(r3)
/* 80292924 0028E584  90 C1 00 2C */	stw r6, 0x2c(r1)
/* 80292928 0028E588  90 A1 00 30 */	stw r5, 0x30(r1)
/* 8029292C 0028E58C  90 01 00 34 */	stw r0, 0x34(r1)
/* 80292930 0028E590  41 82 00 1C */	beq lbl_8029294C
/* 80292934 0028E594  80 A7 00 00 */	lwz r5, 0(r7)
/* 80292938 0028E598  80 67 00 04 */	lwz r3, 4(r7)
/* 8029293C 0028E59C  80 07 00 08 */	lwz r0, 8(r7)
/* 80292940 0028E5A0  90 A1 00 08 */	stw r5, 8(r1)
/* 80292944 0028E5A4  90 61 00 0C */	stw r3, 0xc(r1)
/* 80292948 0028E5A8  90 01 00 10 */	stw r0, 0x10(r1)
lbl_8029294C:
/* 8029294C 0028E5AC  80 E4 01 3C */	lwz r7, 0x13c(r4)
/* 80292950 0028E5B0  2C 07 00 00 */	cmpwi r7, 0
/* 80292954 0028E5B4  41 82 00 10 */	beq lbl_80292964
/* 80292958 0028E5B8  80 67 00 00 */	lwz r3, 0(r7)
/* 8029295C 0028E5BC  80 A7 00 04 */	lwz r5, 4(r7)
/* 80292960 0028E5C0  80 C7 00 08 */	lwz r6, 8(r7)
lbl_80292964:
/* 80292964 0028E5C4  C0 02 A2 50 */	lfs f0, lbl_80642850-_SDA2_BASE_(r2)
/* 80292968 0028E5C8  3B E0 00 00 */	li r31, 0
/* 8029296C 0028E5CC  C0 24 01 08 */	lfs f1, 0x108(r4)
/* 80292970 0028E5D0  3B A0 00 00 */	li r29, 0
/* 80292974 0028E5D4  C0 A2 A2 54 */	lfs f5, lbl_80642854-_SDA2_BASE_(r2)
/* 80292978 0028E5D8  3C 00 43 30 */	lis r0, 0x4330
/* 8029297C 0028E5DC  C0 64 01 34 */	lfs f3, 0x134(r4)
/* 80292980 0028E5E0  EC 80 08 28 */	fsubs f4, f0, f1
/* 80292984 0028E5E4  C0 42 A2 58 */	lfs f2, lbl_80642858-_SDA2_BASE_(r2)
/* 80292988 0028E5E8  3B C0 00 03 */	li r30, 3
/* 8029298C 0028E5EC  C0 04 01 2C */	lfs f0, 0x12c(r4)
/* 80292990 0028E5F0  EC A5 00 F2 */	fmuls f5, f5, f3
/* 80292994 0028E5F4  C0 64 00 F8 */	lfs f3, 0xf8(r4)
/* 80292998 0028E5F8  EC C2 00 32 */	fmuls f6, f2, f0
/* 8029299C 0028E5FC  C8 02 A2 60 */	lfd f0, lbl_80642860-_SDA2_BASE_(r2)
lbl_802929A0:
/* 802929A0 0028E600  7C 89 23 78 */	mr r9, r4
/* 802929A4 0028E604  7C 8A 23 78 */	mr r10, r4
/* 802929A8 0028E608  7C 8B 23 78 */	mr r11, r4
/* 802929AC 0028E60C  38 E1 00 08 */	addi r7, r1, 8
/* 802929B0 0028E610  39 01 00 2C */	addi r8, r1, 0x2c
/* 802929B4 0028E614  39 81 00 14 */	addi r12, r1, 0x14
/* 802929B8 0028E618  7F C9 03 A6 */	mtctr r30
lbl_802929BC:
/* 802929BC 0028E61C  83 44 01 38 */	lwz r26, 0x138(r4)
/* 802929C0 0028E620  2C 1A 00 00 */	cmpwi r26, 0
/* 802929C4 0028E624  41 82 00 38 */	beq lbl_802929FC
/* 802929C8 0028E628  83 67 00 00 */	lwz r27, 0(r7)
/* 802929CC 0028E62C  83 88 00 00 */	lwz r28, 0(r8)
/* 802929D0 0028E630  83 5B 00 00 */	lwz r26, 0(r27)
/* 802929D4 0028E634  3B 7B 00 04 */	addi r27, r27, 4
/* 802929D8 0028E638  83 9C 00 00 */	lwz r28, 0(r28)
/* 802929DC 0028E63C  90 01 00 38 */	stw r0, 0x38(r1)
/* 802929E0 0028E640  7F 5C D2 14 */	add r26, r28, r26
/* 802929E4 0028E644  6F 5A 80 00 */	xoris r26, r26, 0x8000
/* 802929E8 0028E648  93 67 00 00 */	stw r27, 0(r7)
/* 802929EC 0028E64C  93 41 00 3C */	stw r26, 0x3c(r1)
/* 802929F0 0028E650  C8 41 00 38 */	lfd f2, 0x38(r1)
/* 802929F4 0028E654  ED 42 00 28 */	fsubs f10, f2, f0
/* 802929F8 0028E658  48 00 00 20 */	b lbl_80292A18
lbl_802929FC:
/* 802929FC 0028E65C  83 48 00 00 */	lwz r26, 0(r8)
/* 80292A00 0028E660  90 01 00 40 */	stw r0, 0x40(r1)
/* 80292A04 0028E664  83 5A 00 00 */	lwz r26, 0(r26)
/* 80292A08 0028E668  6F 5A 80 00 */	xoris r26, r26, 0x8000
/* 80292A0C 0028E66C  93 41 00 44 */	stw r26, 0x44(r1)
/* 80292A10 0028E670  C8 41 00 40 */	lfd f2, 0x40(r1)
/* 80292A14 0028E674  ED 42 00 28 */	fsubs f10, f2, f0
lbl_80292A18:
/* 80292A18 0028E678  83 84 00 0C */	lwz r28, 0xc(r4)
/* 80292A1C 0028E67C  83 64 00 10 */	lwz r27, 0x10(r4)
/* 80292A20 0028E680  83 29 00 00 */	lwz r25, 0(r9)
/* 80292A24 0028E684  57 9C 10 3A */	slwi r28, r28, 2
/* 80292A28 0028E688  57 7B 10 3A */	slwi r27, r27, 2
/* 80292A2C 0028E68C  83 44 00 14 */	lwz r26, 0x14(r4)
/* 80292A30 0028E690  7D 19 E4 2E */	lfsx f8, r25, r28
/* 80292A34 0028E694  C1 24 00 20 */	lfs f9, 0x20(r4)
/* 80292A38 0028E698  57 5C 10 3A */	slwi r28, r26, 2
/* 80292A3C 0028E69C  7C 59 DC 2E */	lfsx f2, r25, r27
/* 80292A40 0028E6A0  C0 E4 00 24 */	lfs f7, 0x24(r4)
/* 80292A44 0028E6A4  ED 09 02 32 */	fmuls f8, f9, f8
/* 80292A48 0028E6A8  C1 24 00 28 */	lfs f9, 0x28(r4)
/* 80292A4C 0028E6AC  EC 47 00 B2 */	fmuls f2, f7, f2
/* 80292A50 0028E6B0  7C F9 E4 2E */	lfsx f7, r25, r28
/* 80292A54 0028E6B4  83 64 00 3C */	lwz r27, 0x3c(r4)
/* 80292A58 0028E6B8  EC E9 01 F2 */	fmuls f7, f9, f7
/* 80292A5C 0028E6BC  EC 48 10 2A */	fadds f2, f8, f2
/* 80292A60 0028E6C0  2C 1B 00 00 */	cmpwi r27, 0
/* 80292A64 0028E6C4  EC 47 10 2A */	fadds f2, f7, f2
/* 80292A68 0028E6C8  41 82 00 1C */	beq lbl_80292A84
/* 80292A6C 0028E6CC  83 64 00 38 */	lwz r27, 0x38(r4)
/* 80292A70 0028E6D0  83 89 00 2C */	lwz r28, 0x2c(r9)
/* 80292A74 0028E6D4  57 7B 10 3A */	slwi r27, r27, 2
/* 80292A78 0028E6D8  7D 3C DC 2E */	lfsx f9, r28, r27
/* 80292A7C 0028E6DC  7D 5C DD 2E */	stfsx f10, r28, r27
/* 80292A80 0028E6E0  48 00 00 08 */	b lbl_80292A88
lbl_80292A84:
/* 80292A84 0028E6E4  FD 20 50 90 */	fmr f9, f10
lbl_80292A88:
/* 80292A88 0028E6E8  83 64 00 68 */	lwz r27, 0x68(r4)
/* 80292A8C 0028E6EC  83 2A 00 44 */	lwz r25, 0x44(r10)
/* 80292A90 0028E6F0  57 7B 10 3A */	slwi r27, r27, 2
/* 80292A94 0028E6F4  C0 E4 00 8C */	lfs f7, 0x8c(r4)
/* 80292A98 0028E6F8  7D 19 DC 2E */	lfsx f8, r25, r27
/* 80292A9C 0028E6FC  C1 42 A2 4C */	lfs f10, lbl_8064284C-_SDA2_BASE_(r2)
/* 80292AA0 0028E700  EC E8 01 F2 */	fmuls f7, f8, f7
/* 80292AA4 0028E704  ED 4A 40 2A */	fadds f10, f10, f8
/* 80292AA8 0028E708  EC E9 38 2A */	fadds f7, f9, f7
/* 80292AAC 0028E70C  7C F9 DD 2E */	stfsx f7, r25, r27
/* 80292AB0 0028E710  83 64 00 6C */	lwz r27, 0x6c(r4)
/* 80292AB4 0028E714  83 4A 00 48 */	lwz r26, 0x48(r10)
/* 80292AB8 0028E718  57 7B 10 3A */	slwi r27, r27, 2
/* 80292ABC 0028E71C  C0 E4 00 90 */	lfs f7, 0x90(r4)
/* 80292AC0 0028E720  7D 1A DC 2E */	lfsx f8, r26, r27
/* 80292AC4 0028E724  EC E8 01 F2 */	fmuls f7, f8, f7
/* 80292AC8 0028E728  ED 4A 40 2A */	fadds f10, f10, f8
/* 80292ACC 0028E72C  EC E9 38 2A */	fadds f7, f9, f7
/* 80292AD0 0028E730  7C FA DD 2E */	stfsx f7, r26, r27
/* 80292AD4 0028E734  83 64 00 70 */	lwz r27, 0x70(r4)
/* 80292AD8 0028E738  83 8A 00 4C */	lwz r28, 0x4c(r10)
/* 80292ADC 0028E73C  57 7B 10 3A */	slwi r27, r27, 2
/* 80292AE0 0028E740  C0 E4 00 94 */	lfs f7, 0x94(r4)
/* 80292AE4 0028E744  7D 1C DC 2E */	lfsx f8, r28, r27
/* 80292AE8 0028E748  EC E8 01 F2 */	fmuls f7, f8, f7
/* 80292AEC 0028E74C  ED 4A 40 2A */	fadds f10, f10, f8
/* 80292AF0 0028E750  EC E9 38 2A */	fadds f7, f9, f7
/* 80292AF4 0028E754  7C FC DD 2E */	stfsx f7, r28, r27
/* 80292AF8 0028E758  83 64 00 B0 */	lwz r27, 0xb0(r4)
/* 80292AFC 0028E75C  83 2B 00 98 */	lwz r25, 0x98(r11)
/* 80292B00 0028E760  57 7B 10 3A */	slwi r27, r27, 2
/* 80292B04 0028E764  7D 19 DC 2E */	lfsx f8, r25, r27
/* 80292B08 0028E768  EC E8 00 F2 */	fmuls f7, f8, f3
/* 80292B0C 0028E76C  EC EA 38 2A */	fadds f7, f10, f7
/* 80292B10 0028E770  7C F9 DD 2E */	stfsx f7, r25, r27
/* 80292B14 0028E774  EC E7 00 F2 */	fmuls f7, f7, f3
/* 80292B18 0028E778  83 64 00 B4 */	lwz r27, 0xb4(r4)
/* 80292B1C 0028E77C  83 4B 00 9C */	lwz r26, 0x9c(r11)
/* 80292B20 0028E780  ED 08 38 28 */	fsubs f8, f8, f7
/* 80292B24 0028E784  57 7B 10 3A */	slwi r27, r27, 2
/* 80292B28 0028E788  7D 3A DC 2E */	lfsx f9, r26, r27
/* 80292B2C 0028E78C  EC E9 00 F2 */	fmuls f7, f9, f3
/* 80292B30 0028E790  EC E8 38 2A */	fadds f7, f8, f7
/* 80292B34 0028E794  ED 07 00 F2 */	fmuls f8, f7, f3
/* 80292B38 0028E798  7C FA DD 2E */	stfsx f7, r26, r27
/* 80292B3C 0028E79C  C0 E9 00 FC */	lfs f7, 0xfc(r9)
/* 80292B40 0028E7A0  ED 09 40 28 */	fsubs f8, f9, f8
/* 80292B44 0028E7A4  EC E1 01 F2 */	fmuls f7, f1, f7
/* 80292B48 0028E7A8  ED 04 02 32 */	fmuls f8, f4, f8
/* 80292B4C 0028E7AC  ED 28 38 2A */	fadds f9, f8, f7
/* 80292B50 0028E7B0  D1 29 00 FC */	stfs f9, 0xfc(r9)
/* 80292B54 0028E7B4  83 69 00 D4 */	lwz r27, 0xd4(r9)
/* 80292B58 0028E7B8  83 89 00 C8 */	lwz r28, 0xc8(r9)
/* 80292B5C 0028E7BC  57 7B 10 3A */	slwi r27, r27, 2
/* 80292B60 0028E7C0  7D 1C DC 2E */	lfsx f8, r28, r27
/* 80292B64 0028E7C4  EC E8 00 F2 */	fmuls f7, f8, f3
/* 80292B68 0028E7C8  EC E9 38 2A */	fadds f7, f9, f7
/* 80292B6C 0028E7CC  7C FC DD 2E */	stfsx f7, r28, r27
/* 80292B70 0028E7D0  EC E7 00 F2 */	fmuls f7, f7, f3
/* 80292B74 0028E7D4  83 69 00 D4 */	lwz r27, 0xd4(r9)
/* 80292B78 0028E7D8  EC E8 38 28 */	fsubs f7, f8, f7
/* 80292B7C 0028E7DC  3B 7B 00 01 */	addi r27, r27, 1
/* 80292B80 0028E7E0  93 69 00 D4 */	stw r27, 0xd4(r9)
/* 80292B84 0028E7E4  83 89 00 E0 */	lwz r28, 0xe0(r9)
/* 80292B88 0028E7E8  D0 EC 00 00 */	stfs f7, 0(r12)
/* 80292B8C 0028E7EC  7C 1B E0 40 */	cmplw r27, r28
/* 80292B90 0028E7F0  41 80 00 08 */	blt lbl_80292B98
/* 80292B94 0028E7F4  93 A9 00 D4 */	stw r29, 0xd4(r9)
lbl_80292B98:
/* 80292B98 0028E7F8  C0 EC 00 00 */	lfs f7, 0(r12)
/* 80292B9C 0028E7FC  38 E7 00 04 */	addi r7, r7, 4
/* 80292BA0 0028E800  39 08 00 04 */	addi r8, r8, 4
/* 80292BA4 0028E804  39 29 00 04 */	addi r9, r9, 4
/* 80292BA8 0028E808  EC E7 01 72 */	fmuls f7, f7, f5
/* 80292BAC 0028E80C  39 4A 00 0C */	addi r10, r10, 0xc
/* 80292BB0 0028E810  39 6B 00 08 */	addi r11, r11, 8
/* 80292BB4 0028E814  EC 47 10 2A */	fadds f2, f7, f2
/* 80292BB8 0028E818  D0 4C 00 00 */	stfs f2, 0(r12)
/* 80292BBC 0028E81C  39 8C 00 04 */	addi r12, r12, 4
/* 80292BC0 0028E820  42 00 FD FC */	bdnz lbl_802929BC
/* 80292BC4 0028E824  C1 81 00 18 */	lfs f12, 0x18(r1)
/* 80292BC8 0028E828  C1 61 00 1C */	lfs f11, 0x1c(r1)
/* 80292BCC 0028E82C  C1 41 00 14 */	lfs f10, 0x14(r1)
/* 80292BD0 0028E830  EC 4C 58 2A */	fadds f2, f12, f11
/* 80292BD4 0028E834  81 81 00 2C */	lwz r12, 0x2c(r1)
/* 80292BD8 0028E838  EC EA 58 2A */	fadds f7, f10, f11
/* 80292BDC 0028E83C  81 01 00 34 */	lwz r8, 0x34(r1)
/* 80292BE0 0028E840  39 6C 00 04 */	addi r11, r12, 4
/* 80292BE4 0028E844  81 41 00 30 */	lwz r10, 0x30(r1)
/* 80292BE8 0028E848  ED 22 01 B2 */	fmuls f9, f2, f6
/* 80292BEC 0028E84C  38 E8 00 04 */	addi r7, r8, 4
/* 80292BF0 0028E850  ED 07 01 B2 */	fmuls f8, f7, f6
/* 80292BF4 0028E854  39 2A 00 04 */	addi r9, r10, 4
/* 80292BF8 0028E858  C0 44 01 40 */	lfs f2, 0x140(r4)
/* 80292BFC 0028E85C  ED AA 60 2A */	fadds f13, f10, f12
/* 80292C00 0028E860  ED 2A 48 2A */	fadds f9, f10, f9
/* 80292C04 0028E864  91 61 00 2C */	stw r11, 0x2c(r1)
/* 80292C08 0028E868  ED 0C 40 2A */	fadds f8, f12, f8
/* 80292C0C 0028E86C  EC ED 01 B2 */	fmuls f7, f13, f6
/* 80292C10 0028E870  90 E1 00 34 */	stw r7, 0x34(r1)
/* 80292C14 0028E874  EC 49 00 B2 */	fmuls f2, f9, f2
/* 80292C18 0028E878  D1 21 00 20 */	stfs f9, 0x20(r1)
/* 80292C1C 0028E87C  EC EB 38 2A */	fadds f7, f11, f7
/* 80292C20 0028E880  FC 40 10 1E */	fctiwz f2, f2
/* 80292C24 0028E884  D1 01 00 24 */	stfs f8, 0x24(r1)
/* 80292C28 0028E888  D0 E1 00 28 */	stfs f7, 0x28(r1)
/* 80292C2C 0028E88C  D8 41 00 40 */	stfd f2, 0x40(r1)
/* 80292C30 0028E890  81 61 00 44 */	lwz r11, 0x44(r1)
/* 80292C34 0028E894  91 21 00 30 */	stw r9, 0x30(r1)
/* 80292C38 0028E898  91 6C 00 00 */	stw r11, 0(r12)
/* 80292C3C 0028E89C  C0 44 01 40 */	lfs f2, 0x140(r4)
/* 80292C40 0028E8A0  EC 48 00 B2 */	fmuls f2, f8, f2
/* 80292C44 0028E8A4  FC 40 10 1E */	fctiwz f2, f2
/* 80292C48 0028E8A8  D8 41 00 38 */	stfd f2, 0x38(r1)
/* 80292C4C 0028E8AC  80 E1 00 3C */	lwz r7, 0x3c(r1)
/* 80292C50 0028E8B0  90 EA 00 00 */	stw r7, 0(r10)
/* 80292C54 0028E8B4  C0 44 01 40 */	lfs f2, 0x140(r4)
/* 80292C58 0028E8B8  EC 47 00 B2 */	fmuls f2, f7, f2
/* 80292C5C 0028E8BC  FC 40 10 1E */	fctiwz f2, f2
/* 80292C60 0028E8C0  D8 41 00 48 */	stfd f2, 0x48(r1)
/* 80292C64 0028E8C4  80 E1 00 4C */	lwz r7, 0x4c(r1)
/* 80292C68 0028E8C8  90 E8 00 00 */	stw r7, 0(r8)
/* 80292C6C 0028E8CC  80 E4 01 3C */	lwz r7, 0x13c(r4)
/* 80292C70 0028E8D0  2C 07 00 00 */	cmpwi r7, 0
/* 80292C74 0028E8D4  41 82 00 58 */	beq lbl_80292CCC
/* 80292C78 0028E8D8  C0 44 01 44 */	lfs f2, 0x144(r4)
/* 80292C7C 0028E8DC  EC 49 00 B2 */	fmuls f2, f9, f2
/* 80292C80 0028E8E0  FC 40 10 1E */	fctiwz f2, f2
/* 80292C84 0028E8E4  D8 41 00 48 */	stfd f2, 0x48(r1)
/* 80292C88 0028E8E8  80 E1 00 4C */	lwz r7, 0x4c(r1)
/* 80292C8C 0028E8EC  90 E3 00 00 */	stw r7, 0(r3)
/* 80292C90 0028E8F0  38 63 00 04 */	addi r3, r3, 4
/* 80292C94 0028E8F4  C0 44 01 44 */	lfs f2, 0x144(r4)
/* 80292C98 0028E8F8  EC 48 00 B2 */	fmuls f2, f8, f2
/* 80292C9C 0028E8FC  FC 40 10 1E */	fctiwz f2, f2
/* 80292CA0 0028E900  D8 41 00 40 */	stfd f2, 0x40(r1)
/* 80292CA4 0028E904  80 E1 00 44 */	lwz r7, 0x44(r1)
/* 80292CA8 0028E908  90 E5 00 00 */	stw r7, 0(r5)
/* 80292CAC 0028E90C  38 A5 00 04 */	addi r5, r5, 4
/* 80292CB0 0028E910  C0 44 01 44 */	lfs f2, 0x144(r4)
/* 80292CB4 0028E914  EC 47 00 B2 */	fmuls f2, f7, f2
/* 80292CB8 0028E918  FC 40 10 1E */	fctiwz f2, f2
/* 80292CBC 0028E91C  D8 41 00 38 */	stfd f2, 0x38(r1)
/* 80292CC0 0028E920  80 E1 00 3C */	lwz r7, 0x3c(r1)
/* 80292CC4 0028E924  90 E6 00 00 */	stw r7, 0(r6)
/* 80292CC8 0028E928  38 C6 00 04 */	addi r6, r6, 4
lbl_80292CCC:
/* 80292CCC 0028E92C  80 E4 00 0C */	lwz r7, 0xc(r4)
/* 80292CD0 0028E930  39 07 00 01 */	addi r8, r7, 1
/* 80292CD4 0028E934  91 04 00 0C */	stw r8, 0xc(r4)
/* 80292CD8 0028E938  80 E4 00 18 */	lwz r7, 0x18(r4)
/* 80292CDC 0028E93C  7C 08 38 40 */	cmplw r8, r7
/* 80292CE0 0028E940  41 80 00 08 */	blt lbl_80292CE8
/* 80292CE4 0028E944  93 A4 00 0C */	stw r29, 0xc(r4)
lbl_80292CE8:
/* 80292CE8 0028E948  80 E4 00 10 */	lwz r7, 0x10(r4)
/* 80292CEC 0028E94C  39 07 00 01 */	addi r8, r7, 1
/* 80292CF0 0028E950  91 04 00 10 */	stw r8, 0x10(r4)
/* 80292CF4 0028E954  80 E4 00 18 */	lwz r7, 0x18(r4)
/* 80292CF8 0028E958  7C 08 38 40 */	cmplw r8, r7
/* 80292CFC 0028E95C  41 80 00 08 */	blt lbl_80292D04
/* 80292D00 0028E960  93 A4 00 10 */	stw r29, 0x10(r4)
lbl_80292D04:
/* 80292D04 0028E964  80 E4 00 14 */	lwz r7, 0x14(r4)
/* 80292D08 0028E968  39 24 00 08 */	addi r9, r4, 8
/* 80292D0C 0028E96C  39 07 00 01 */	addi r8, r7, 1
/* 80292D10 0028E970  91 04 00 14 */	stw r8, 0x14(r4)
/* 80292D14 0028E974  80 E4 00 18 */	lwz r7, 0x18(r4)
/* 80292D18 0028E978  7C 08 38 40 */	cmplw r8, r7
/* 80292D1C 0028E97C  41 80 00 08 */	blt lbl_80292D24
/* 80292D20 0028E980  93 A9 00 0C */	stw r29, 0xc(r9)
lbl_80292D24:
/* 80292D24 0028E984  81 04 00 3C */	lwz r8, 0x3c(r4)
/* 80292D28 0028E988  2C 08 00 00 */	cmpwi r8, 0
/* 80292D2C 0028E98C  41 82 00 1C */	beq lbl_80292D48
/* 80292D30 0028E990  80 E4 00 38 */	lwz r7, 0x38(r4)
/* 80292D34 0028E994  38 E7 00 01 */	addi r7, r7, 1
/* 80292D38 0028E998  7C 07 40 40 */	cmplw r7, r8
/* 80292D3C 0028E99C  90 E4 00 38 */	stw r7, 0x38(r4)
/* 80292D40 0028E9A0  41 80 00 08 */	blt lbl_80292D48
/* 80292D44 0028E9A4  93 A4 00 38 */	stw r29, 0x38(r4)
lbl_80292D48:
/* 80292D48 0028E9A8  80 E4 00 68 */	lwz r7, 0x68(r4)
/* 80292D4C 0028E9AC  39 07 00 01 */	addi r8, r7, 1
/* 80292D50 0028E9B0  91 04 00 68 */	stw r8, 0x68(r4)
/* 80292D54 0028E9B4  80 E4 00 74 */	lwz r7, 0x74(r4)
/* 80292D58 0028E9B8  7C 08 38 40 */	cmplw r8, r7
/* 80292D5C 0028E9BC  41 80 00 08 */	blt lbl_80292D64
/* 80292D60 0028E9C0  93 A4 00 68 */	stw r29, 0x68(r4)
lbl_80292D64:
/* 80292D64 0028E9C4  80 E4 00 6C */	lwz r7, 0x6c(r4)
/* 80292D68 0028E9C8  39 07 00 01 */	addi r8, r7, 1
/* 80292D6C 0028E9CC  91 04 00 6C */	stw r8, 0x6c(r4)
/* 80292D70 0028E9D0  80 E4 00 78 */	lwz r7, 0x78(r4)
/* 80292D74 0028E9D4  7C 08 38 40 */	cmplw r8, r7
/* 80292D78 0028E9D8  41 80 00 08 */	blt lbl_80292D80
/* 80292D7C 0028E9DC  93 A4 00 6C */	stw r29, 0x6c(r4)
lbl_80292D80:
/* 80292D80 0028E9E0  80 E4 00 70 */	lwz r7, 0x70(r4)
/* 80292D84 0028E9E4  39 24 00 08 */	addi r9, r4, 8
/* 80292D88 0028E9E8  39 07 00 01 */	addi r8, r7, 1
/* 80292D8C 0028E9EC  91 04 00 70 */	stw r8, 0x70(r4)
/* 80292D90 0028E9F0  80 E4 00 7C */	lwz r7, 0x7c(r4)
/* 80292D94 0028E9F4  7C 08 38 40 */	cmplw r8, r7
/* 80292D98 0028E9F8  41 80 00 08 */	blt lbl_80292DA0
/* 80292D9C 0028E9FC  93 A9 00 68 */	stw r29, 0x68(r9)
lbl_80292DA0:
/* 80292DA0 0028EA00  80 E4 00 B0 */	lwz r7, 0xb0(r4)
/* 80292DA4 0028EA04  39 07 00 01 */	addi r8, r7, 1
/* 80292DA8 0028EA08  91 04 00 B0 */	stw r8, 0xb0(r4)
/* 80292DAC 0028EA0C  80 E4 00 B8 */	lwz r7, 0xb8(r4)
/* 80292DB0 0028EA10  7C 08 38 40 */	cmplw r8, r7
/* 80292DB4 0028EA14  41 80 00 08 */	blt lbl_80292DBC
/* 80292DB8 0028EA18  93 A4 00 B0 */	stw r29, 0xb0(r4)
lbl_80292DBC:
/* 80292DBC 0028EA1C  80 E4 00 B4 */	lwz r7, 0xb4(r4)
/* 80292DC0 0028EA20  39 07 00 01 */	addi r8, r7, 1
/* 80292DC4 0028EA24  91 04 00 B4 */	stw r8, 0xb4(r4)
/* 80292DC8 0028EA28  80 E4 00 BC */	lwz r7, 0xbc(r4)
/* 80292DCC 0028EA2C  7C 08 38 40 */	cmplw r8, r7
/* 80292DD0 0028EA30  41 80 00 08 */	blt lbl_80292DD8
/* 80292DD4 0028EA34  93 A4 00 B4 */	stw r29, 0xb4(r4)
lbl_80292DD8:
/* 80292DD8 0028EA38  3B FF 00 01 */	addi r31, r31, 1
/* 80292DDC 0028EA3C  28 1F 00 60 */	cmplwi r31, 0x60
/* 80292DE0 0028EA40  41 80 FB C0 */	blt lbl_802929A0
lbl_80292DE4:
/* 80292DE4 0028EA44  39 61 00 70 */	addi r11, r1, 0x70
/* 80292DE8 0028EA48  4B F3 43 85 */	bl _restgpr_25
/* 80292DEC 0028EA4C  80 01 00 74 */	lwz r0, 0x74(r1)
/* 80292DF0 0028EA50  7C 08 03 A6 */	mtlr r0
/* 80292DF4 0028EA54  38 21 00 70 */	addi r1, r1, 0x70
/* 80292DF8 0028EA58  4E 80 00 20 */	blr

__AllocDelayLine:
/* 80292DFC 0028EA5C  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80292E00 0028EA60  7C 08 02 A6 */	mflr r0
/* 80292E04 0028EA64  90 01 00 34 */	stw r0, 0x34(r1)
/* 80292E08 0028EA68  39 61 00 30 */	addi r11, r1, 0x30
/* 80292E0C 0028EA6C  4B F3 43 0D */	bl _savegpr_23
/* 80292E10 0028EA70  7C 77 1B 78 */	mr r23, r3
/* 80292E14 0028EA74  3B 00 00 00 */	li r24, 0
/* 80292E18 0028EA78  7E FE BB 78 */	mr r30, r23
/* 80292E1C 0028EA7C  3B E0 00 00 */	li r31, 0
/* 80292E20 0028EA80  7E FD BB 78 */	mr r29, r23
/* 80292E24 0028EA84  7E FC BB 78 */	mr r28, r23
lbl_80292E28:
/* 80292E28 0028EA88  80 17 00 1C */	lwz r0, 0x1c(r23)
/* 80292E2C 0028EA8C  81 8D 88 F8 */	lwz r12, lbl_8063DBB8-_SDA_BASE_(r13)
/* 80292E30 0028EA90  54 03 10 3A */	slwi r3, r0, 2
/* 80292E34 0028EA94  7D 89 03 A6 */	mtctr r12
/* 80292E38 0028EA98  4E 80 04 21 */	bctrl
/* 80292E3C 0028EA9C  2C 03 00 00 */	cmpwi r3, 0
/* 80292E40 0028EAA0  90 7E 00 00 */	stw r3, 0(r30)
/* 80292E44 0028EAA4  40 82 00 0C */	bne lbl_80292E50
/* 80292E48 0028EAA8  38 60 00 00 */	li r3, 0
/* 80292E4C 0028EAAC  48 00 01 0C */	b lbl_80292F58
lbl_80292E50:
/* 80292E50 0028EAB0  80 17 00 40 */	lwz r0, 0x40(r23)
/* 80292E54 0028EAB4  2C 00 00 00 */	cmpwi r0, 0
/* 80292E58 0028EAB8  41 82 00 28 */	beq lbl_80292E80
/* 80292E5C 0028EABC  81 8D 88 F8 */	lwz r12, lbl_8063DBB8-_SDA_BASE_(r13)
/* 80292E60 0028EAC0  54 03 10 3A */	slwi r3, r0, 2
/* 80292E64 0028EAC4  7D 89 03 A6 */	mtctr r12
/* 80292E68 0028EAC8  4E 80 04 21 */	bctrl
/* 80292E6C 0028EACC  2C 03 00 00 */	cmpwi r3, 0
/* 80292E70 0028EAD0  90 7E 00 2C */	stw r3, 0x2c(r30)
/* 80292E74 0028EAD4  40 82 00 10 */	bne lbl_80292E84
/* 80292E78 0028EAD8  38 60 00 00 */	li r3, 0
/* 80292E7C 0028EADC  48 00 00 DC */	b lbl_80292F58
lbl_80292E80:
/* 80292E80 0028EAE0  93 FE 00 2C */	stw r31, 0x2c(r30)
lbl_80292E84:
/* 80292E84 0028EAE4  7E FA BB 78 */	mr r26, r23
/* 80292E88 0028EAE8  7F BB EB 78 */	mr r27, r29
/* 80292E8C 0028EAEC  3B 20 00 00 */	li r25, 0
lbl_80292E90:
/* 80292E90 0028EAF0  80 1A 00 80 */	lwz r0, 0x80(r26)
/* 80292E94 0028EAF4  81 8D 88 F8 */	lwz r12, lbl_8063DBB8-_SDA_BASE_(r13)
/* 80292E98 0028EAF8  54 03 10 3A */	slwi r3, r0, 2
/* 80292E9C 0028EAFC  7D 89 03 A6 */	mtctr r12
/* 80292EA0 0028EB00  4E 80 04 21 */	bctrl
/* 80292EA4 0028EB04  2C 03 00 00 */	cmpwi r3, 0
/* 80292EA8 0028EB08  90 7B 00 44 */	stw r3, 0x44(r27)
/* 80292EAC 0028EB0C  40 82 00 0C */	bne lbl_80292EB8
/* 80292EB0 0028EB10  38 60 00 00 */	li r3, 0
/* 80292EB4 0028EB14  48 00 00 A4 */	b lbl_80292F58
lbl_80292EB8:
/* 80292EB8 0028EB18  3B 39 00 01 */	addi r25, r25, 1
/* 80292EBC 0028EB1C  3B 7B 00 04 */	addi r27, r27, 4
/* 80292EC0 0028EB20  28 19 00 03 */	cmplwi r25, 3
/* 80292EC4 0028EB24  3B 5A 00 04 */	addi r26, r26, 4
/* 80292EC8 0028EB28  41 80 FF C8 */	blt lbl_80292E90
/* 80292ECC 0028EB2C  7E FB BB 78 */	mr r27, r23
/* 80292ED0 0028EB30  7F 9A E3 78 */	mr r26, r28
/* 80292ED4 0028EB34  3B 20 00 00 */	li r25, 0
lbl_80292ED8:
/* 80292ED8 0028EB38  80 1B 00 C0 */	lwz r0, 0xc0(r27)
/* 80292EDC 0028EB3C  81 8D 88 F8 */	lwz r12, lbl_8063DBB8-_SDA_BASE_(r13)
/* 80292EE0 0028EB40  54 03 10 3A */	slwi r3, r0, 2
/* 80292EE4 0028EB44  7D 89 03 A6 */	mtctr r12
/* 80292EE8 0028EB48  4E 80 04 21 */	bctrl
/* 80292EEC 0028EB4C  2C 03 00 00 */	cmpwi r3, 0
/* 80292EF0 0028EB50  90 7A 00 98 */	stw r3, 0x98(r26)
/* 80292EF4 0028EB54  40 82 00 0C */	bne lbl_80292F00
/* 80292EF8 0028EB58  38 60 00 00 */	li r3, 0
/* 80292EFC 0028EB5C  48 00 00 5C */	b lbl_80292F58
lbl_80292F00:
/* 80292F00 0028EB60  3B 39 00 01 */	addi r25, r25, 1
/* 80292F04 0028EB64  3B 5A 00 04 */	addi r26, r26, 4
/* 80292F08 0028EB68  28 19 00 02 */	cmplwi r25, 2
/* 80292F0C 0028EB6C  3B 7B 00 04 */	addi r27, r27, 4
/* 80292F10 0028EB70  41 80 FF C8 */	blt lbl_80292ED8
/* 80292F14 0028EB74  80 1E 00 EC */	lwz r0, 0xec(r30)
/* 80292F18 0028EB78  81 8D 88 F8 */	lwz r12, lbl_8063DBB8-_SDA_BASE_(r13)
/* 80292F1C 0028EB7C  54 03 10 3A */	slwi r3, r0, 2
/* 80292F20 0028EB80  7D 89 03 A6 */	mtctr r12
/* 80292F24 0028EB84  4E 80 04 21 */	bctrl
/* 80292F28 0028EB88  2C 03 00 00 */	cmpwi r3, 0
/* 80292F2C 0028EB8C  90 7E 00 C8 */	stw r3, 0xc8(r30)
/* 80292F30 0028EB90  40 82 00 0C */	bne lbl_80292F3C
/* 80292F34 0028EB94  38 60 00 00 */	li r3, 0
/* 80292F38 0028EB98  48 00 00 20 */	b lbl_80292F58
lbl_80292F3C:
/* 80292F3C 0028EB9C  3B 18 00 01 */	addi r24, r24, 1
/* 80292F40 0028EBA0  3B BD 00 0C */	addi r29, r29, 0xc
/* 80292F44 0028EBA4  28 18 00 03 */	cmplwi r24, 3
/* 80292F48 0028EBA8  3B 9C 00 08 */	addi r28, r28, 8
/* 80292F4C 0028EBAC  3B DE 00 04 */	addi r30, r30, 4
/* 80292F50 0028EBB0  41 80 FE D8 */	blt lbl_80292E28
/* 80292F54 0028EBB4  38 60 00 01 */	li r3, 1
lbl_80292F58:
/* 80292F58 0028EBB8  39 61 00 30 */	addi r11, r1, 0x30
/* 80292F5C 0028EBBC  4B F3 42 09 */	bl _restgpr_23
/* 80292F60 0028EBC0  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80292F64 0028EBC4  7C 08 03 A6 */	mtlr r0
/* 80292F68 0028EBC8  38 21 00 30 */	addi r1, r1, 0x30
/* 80292F6C 0028EBCC  4E 80 00 20 */	blr

__BzeroDelayLines:
/* 80292F70 0028EBD0  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80292F74 0028EBD4  7C 08 02 A6 */	mflr r0
/* 80292F78 0028EBD8  90 01 00 34 */	stw r0, 0x34(r1)
/* 80292F7C 0028EBDC  39 61 00 30 */	addi r11, r1, 0x30
/* 80292F80 0028EBE0  4B F3 41 9D */	bl _savegpr_24
/* 80292F84 0028EBE4  7C 78 1B 78 */	mr r24, r3
/* 80292F88 0028EBE8  3B 20 00 00 */	li r25, 0
/* 80292F8C 0028EBEC  7F 1F C3 78 */	mr r31, r24
/* 80292F90 0028EBF0  7F 1E C3 78 */	mr r30, r24
/* 80292F94 0028EBF4  7F 1D C3 78 */	mr r29, r24
lbl_80292F98:
/* 80292F98 0028EBF8  80 7F 00 00 */	lwz r3, 0(r31)
/* 80292F9C 0028EBFC  2C 03 00 00 */	cmpwi r3, 0
/* 80292FA0 0028EC00  41 82 00 14 */	beq lbl_80292FB4
/* 80292FA4 0028EC04  80 18 00 1C */	lwz r0, 0x1c(r24)
/* 80292FA8 0028EC08  38 80 00 00 */	li r4, 0
/* 80292FAC 0028EC0C  54 05 10 3A */	slwi r5, r0, 2
/* 80292FB0 0028EC10  4B D7 11 55 */	bl memset
lbl_80292FB4:
/* 80292FB4 0028EC14  80 7F 00 2C */	lwz r3, 0x2c(r31)
/* 80292FB8 0028EC18  2C 03 00 00 */	cmpwi r3, 0
/* 80292FBC 0028EC1C  41 82 00 14 */	beq lbl_80292FD0
/* 80292FC0 0028EC20  80 18 00 40 */	lwz r0, 0x40(r24)
/* 80292FC4 0028EC24  38 80 00 00 */	li r4, 0
/* 80292FC8 0028EC28  54 05 10 3A */	slwi r5, r0, 2
/* 80292FCC 0028EC2C  4B D7 11 39 */	bl memset
lbl_80292FD0:
/* 80292FD0 0028EC30  7F DB F3 78 */	mr r27, r30
/* 80292FD4 0028EC34  7F 1C C3 78 */	mr r28, r24
/* 80292FD8 0028EC38  3B 40 00 00 */	li r26, 0
lbl_80292FDC:
/* 80292FDC 0028EC3C  80 7B 00 44 */	lwz r3, 0x44(r27)
/* 80292FE0 0028EC40  2C 03 00 00 */	cmpwi r3, 0
/* 80292FE4 0028EC44  41 82 00 14 */	beq lbl_80292FF8
/* 80292FE8 0028EC48  80 1C 00 80 */	lwz r0, 0x80(r28)
/* 80292FEC 0028EC4C  38 80 00 00 */	li r4, 0
/* 80292FF0 0028EC50  54 05 10 3A */	slwi r5, r0, 2
/* 80292FF4 0028EC54  4B D7 11 11 */	bl memset
lbl_80292FF8:
/* 80292FF8 0028EC58  3B 5A 00 01 */	addi r26, r26, 1
/* 80292FFC 0028EC5C  3B 9C 00 04 */	addi r28, r28, 4
/* 80293000 0028EC60  28 1A 00 03 */	cmplwi r26, 3
/* 80293004 0028EC64  3B 7B 00 04 */	addi r27, r27, 4
/* 80293008 0028EC68  41 80 FF D4 */	blt lbl_80292FDC
/* 8029300C 0028EC6C  7F BC EB 78 */	mr r28, r29
/* 80293010 0028EC70  7F 1B C3 78 */	mr r27, r24
/* 80293014 0028EC74  3B 40 00 00 */	li r26, 0
lbl_80293018:
/* 80293018 0028EC78  80 7C 00 98 */	lwz r3, 0x98(r28)
/* 8029301C 0028EC7C  2C 03 00 00 */	cmpwi r3, 0
/* 80293020 0028EC80  41 82 00 14 */	beq lbl_80293034
/* 80293024 0028EC84  80 1B 00 C0 */	lwz r0, 0xc0(r27)
/* 80293028 0028EC88  38 80 00 00 */	li r4, 0
/* 8029302C 0028EC8C  54 05 10 3A */	slwi r5, r0, 2
/* 80293030 0028EC90  4B D7 10 D5 */	bl memset
lbl_80293034:
/* 80293034 0028EC94  3B 5A 00 01 */	addi r26, r26, 1
/* 80293038 0028EC98  3B 7B 00 04 */	addi r27, r27, 4
/* 8029303C 0028EC9C  28 1A 00 02 */	cmplwi r26, 2
/* 80293040 0028ECA0  3B 9C 00 04 */	addi r28, r28, 4
/* 80293044 0028ECA4  41 80 FF D4 */	blt lbl_80293018
/* 80293048 0028ECA8  80 7F 00 C8 */	lwz r3, 0xc8(r31)
/* 8029304C 0028ECAC  2C 03 00 00 */	cmpwi r3, 0
/* 80293050 0028ECB0  41 82 00 14 */	beq lbl_80293064
/* 80293054 0028ECB4  80 1F 00 EC */	lwz r0, 0xec(r31)
/* 80293058 0028ECB8  38 80 00 00 */	li r4, 0
/* 8029305C 0028ECBC  54 05 10 3A */	slwi r5, r0, 2
/* 80293060 0028ECC0  4B D7 10 A5 */	bl memset
lbl_80293064:
/* 80293064 0028ECC4  3B 39 00 01 */	addi r25, r25, 1
/* 80293068 0028ECC8  3B DE 00 0C */	addi r30, r30, 0xc
/* 8029306C 0028ECCC  28 19 00 03 */	cmplwi r25, 3
/* 80293070 0028ECD0  3B BD 00 08 */	addi r29, r29, 8
/* 80293074 0028ECD4  3B FF 00 04 */	addi r31, r31, 4
/* 80293078 0028ECD8  41 80 FF 20 */	blt lbl_80292F98
/* 8029307C 0028ECDC  39 61 00 30 */	addi r11, r1, 0x30
/* 80293080 0028ECE0  4B F3 40 E9 */	bl _restgpr_24
/* 80293084 0028ECE4  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80293088 0028ECE8  7C 08 03 A6 */	mtlr r0
/* 8029308C 0028ECEC  38 21 00 30 */	addi r1, r1, 0x30
/* 80293090 0028ECF0  4E 80 00 20 */	blr

__FreeDelayLine:
/* 80293094 0028ECF4  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 80293098 0028ECF8  7C 08 02 A6 */	mflr r0
/* 8029309C 0028ECFC  90 01 00 34 */	stw r0, 0x34(r1)
/* 802930A0 0028ED00  39 61 00 30 */	addi r11, r1, 0x30
/* 802930A4 0028ED04  4B F3 40 7D */	bl _savegpr_25
/* 802930A8 0028ED08  3B 20 00 00 */	li r25, 0
/* 802930AC 0028ED0C  7C 7E 1B 78 */	mr r30, r3
/* 802930B0 0028ED10  3B E0 00 00 */	li r31, 0
/* 802930B4 0028ED14  7C 7D 1B 78 */	mr r29, r3
/* 802930B8 0028ED18  7C 7C 1B 78 */	mr r28, r3
lbl_802930BC:
/* 802930BC 0028ED1C  80 7E 00 00 */	lwz r3, 0(r30)
/* 802930C0 0028ED20  2C 03 00 00 */	cmpwi r3, 0
/* 802930C4 0028ED24  41 82 00 14 */	beq lbl_802930D8
/* 802930C8 0028ED28  81 8D 88 FC */	lwz r12, lbl_8063DBBC-_SDA_BASE_(r13)
/* 802930CC 0028ED2C  7D 89 03 A6 */	mtctr r12
/* 802930D0 0028ED30  4E 80 04 21 */	bctrl
/* 802930D4 0028ED34  93 FE 00 00 */	stw r31, 0(r30)
lbl_802930D8:
/* 802930D8 0028ED38  80 7E 00 2C */	lwz r3, 0x2c(r30)
/* 802930DC 0028ED3C  2C 03 00 00 */	cmpwi r3, 0
/* 802930E0 0028ED40  41 82 00 14 */	beq lbl_802930F4
/* 802930E4 0028ED44  81 8D 88 FC */	lwz r12, lbl_8063DBBC-_SDA_BASE_(r13)
/* 802930E8 0028ED48  7D 89 03 A6 */	mtctr r12
/* 802930EC 0028ED4C  4E 80 04 21 */	bctrl
/* 802930F0 0028ED50  93 FE 00 2C */	stw r31, 0x2c(r30)
lbl_802930F4:
/* 802930F4 0028ED54  7F BB EB 78 */	mr r27, r29
/* 802930F8 0028ED58  3B 40 00 00 */	li r26, 0
lbl_802930FC:
/* 802930FC 0028ED5C  80 7B 00 44 */	lwz r3, 0x44(r27)
/* 80293100 0028ED60  2C 03 00 00 */	cmpwi r3, 0
/* 80293104 0028ED64  41 82 00 14 */	beq lbl_80293118
/* 80293108 0028ED68  81 8D 88 FC */	lwz r12, lbl_8063DBBC-_SDA_BASE_(r13)
/* 8029310C 0028ED6C  7D 89 03 A6 */	mtctr r12
/* 80293110 0028ED70  4E 80 04 21 */	bctrl
/* 80293114 0028ED74  93 FB 00 44 */	stw r31, 0x44(r27)
lbl_80293118:
/* 80293118 0028ED78  3B 5A 00 01 */	addi r26, r26, 1
/* 8029311C 0028ED7C  3B 7B 00 04 */	addi r27, r27, 4
/* 80293120 0028ED80  28 1A 00 03 */	cmplwi r26, 3
/* 80293124 0028ED84  41 80 FF D8 */	blt lbl_802930FC
/* 80293128 0028ED88  7F 9B E3 78 */	mr r27, r28
/* 8029312C 0028ED8C  3B 40 00 00 */	li r26, 0
lbl_80293130:
/* 80293130 0028ED90  80 7B 00 98 */	lwz r3, 0x98(r27)
/* 80293134 0028ED94  2C 03 00 00 */	cmpwi r3, 0
/* 80293138 0028ED98  41 82 00 14 */	beq lbl_8029314C
/* 8029313C 0028ED9C  81 8D 88 FC */	lwz r12, lbl_8063DBBC-_SDA_BASE_(r13)
/* 80293140 0028EDA0  7D 89 03 A6 */	mtctr r12
/* 80293144 0028EDA4  4E 80 04 21 */	bctrl
/* 80293148 0028EDA8  93 FB 00 98 */	stw r31, 0x98(r27)
lbl_8029314C:
/* 8029314C 0028EDAC  3B 5A 00 01 */	addi r26, r26, 1
/* 80293150 0028EDB0  3B 7B 00 04 */	addi r27, r27, 4
/* 80293154 0028EDB4  28 1A 00 02 */	cmplwi r26, 2
/* 80293158 0028EDB8  41 80 FF D8 */	blt lbl_80293130
/* 8029315C 0028EDBC  80 7E 00 C8 */	lwz r3, 0xc8(r30)
/* 80293160 0028EDC0  2C 03 00 00 */	cmpwi r3, 0
/* 80293164 0028EDC4  41 82 00 14 */	beq lbl_80293178
/* 80293168 0028EDC8  81 8D 88 FC */	lwz r12, lbl_8063DBBC-_SDA_BASE_(r13)
/* 8029316C 0028EDCC  7D 89 03 A6 */	mtctr r12
/* 80293170 0028EDD0  4E 80 04 21 */	bctrl
/* 80293174 0028EDD4  93 FE 00 C8 */	stw r31, 0xc8(r30)
lbl_80293178:
/* 80293178 0028EDD8  3B 39 00 01 */	addi r25, r25, 1
/* 8029317C 0028EDDC  3B BD 00 0C */	addi r29, r29, 0xc
/* 80293180 0028EDE0  28 19 00 03 */	cmplwi r25, 3
/* 80293184 0028EDE4  3B 9C 00 08 */	addi r28, r28, 8
/* 80293188 0028EDE8  3B DE 00 04 */	addi r30, r30, 4
/* 8029318C 0028EDEC  41 80 FF 30 */	blt lbl_802930BC
/* 80293190 0028EDF0  39 61 00 30 */	addi r11, r1, 0x30
/* 80293194 0028EDF4  4B F3 3F D9 */	bl _restgpr_25
/* 80293198 0028EDF8  80 01 00 34 */	lwz r0, 0x34(r1)
/* 8029319C 0028EDFC  7C 08 03 A6 */	mtlr r0
/* 802931A0 0028EE00  38 21 00 30 */	addi r1, r1, 0x30
/* 802931A4 0028EE04  4E 80 00 20 */	blr

__InitParams:
/* 802931A8 0028EE08  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 802931AC 0028EE0C  7C 08 02 A6 */	mflr r0
/* 802931B0 0028EE10  90 01 00 64 */	stw r0, 0x64(r1)
/* 802931B4 0028EE14  DB E1 00 50 */	stfd f31, 0x50(r1)
/* 802931B8 0028EE18  F3 E1 00 58 */	psq_st f31, 88(r1), 0, qr0
/* 802931BC 0028EE1C  DB C1 00 40 */	stfd f30, 0x40(r1)
/* 802931C0 0028EE20  F3 C1 00 48 */	psq_st f30, 72(r1), 0, qr0
/* 802931C4 0028EE24  DB A1 00 30 */	stfd f29, 0x30(r1)
/* 802931C8 0028EE28  F3 A1 00 38 */	psq_st f29, 56(r1), 0, qr0
/* 802931CC 0028EE2C  39 61 00 30 */	addi r11, r1, 0x30
/* 802931D0 0028EE30  4B F3 3F 4D */	bl _savegpr_24
/* 802931D4 0028EE34  80 83 01 10 */	lwz r4, 0x110(r3)
/* 802931D8 0028EE38  3F E0 80 44 */	lis r31, lbl_8043A380@ha
/* 802931DC 0028EE3C  7C 7E 1B 78 */	mr r30, r3
/* 802931E0 0028EE40  28 04 00 08 */	cmplwi r4, 8
/* 802931E4 0028EE44  3B FF A3 80 */	addi r31, r31, lbl_8043A380@l
/* 802931E8 0028EE48  41 80 00 0C */	blt lbl_802931F4
/* 802931EC 0028EE4C  38 60 00 00 */	li r3, 0
/* 802931F0 0028EE50  48 00 02 AC */	b lbl_8029349C
lbl_802931F4:
/* 802931F4 0028EE54  C0 83 01 18 */	lfs f4, 0x118(r3)
/* 802931F8 0028EE58  C0 42 A2 4C */	lfs f2, lbl_8064284C-_SDA2_BASE_(r2)
/* 802931FC 0028EE5C  FC 04 10 40 */	fcmpo cr0, f4, f2
/* 80293200 0028EE60  41 80 00 10 */	blt lbl_80293210
/* 80293204 0028EE64  C0 03 01 14 */	lfs f0, 0x114(r3)
/* 80293208 0028EE68  FC 04 00 40 */	fcmpo cr0, f4, f0
/* 8029320C 0028EE6C  40 81 00 0C */	ble lbl_80293218
lbl_80293210:
/* 80293210 0028EE70  38 60 00 00 */	li r3, 0
/* 80293214 0028EE74  48 00 02 88 */	b lbl_8029349C
lbl_80293218:
/* 80293218 0028EE78  80 03 01 1C */	lwz r0, 0x11c(r3)
/* 8029321C 0028EE7C  28 00 00 06 */	cmplwi r0, 6
/* 80293220 0028EE80  41 80 00 0C */	blt lbl_8029322C
/* 80293224 0028EE84  38 60 00 00 */	li r3, 0
/* 80293228 0028EE88  48 00 02 74 */	b lbl_8029349C
lbl_8029322C:
/* 8029322C 0028EE8C  C0 03 01 20 */	lfs f0, 0x120(r3)
/* 80293230 0028EE90  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 80293234 0028EE94  40 80 00 0C */	bge lbl_80293240
/* 80293238 0028EE98  38 60 00 00 */	li r3, 0
/* 8029323C 0028EE9C  48 00 02 60 */	b lbl_8029349C
lbl_80293240:
/* 80293240 0028EEA0  C0 03 01 24 */	lfs f0, 0x124(r3)
/* 80293244 0028EEA4  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 80293248 0028EEA8  41 80 00 10 */	blt lbl_80293258
/* 8029324C 0028EEAC  C0 22 A2 50 */	lfs f1, lbl_80642850-_SDA2_BASE_(r2)
/* 80293250 0028EEB0  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 80293254 0028EEB4  40 81 00 0C */	ble lbl_80293260
lbl_80293258:
/* 80293258 0028EEB8  38 60 00 00 */	li r3, 0
/* 8029325C 0028EEBC  48 00 02 40 */	b lbl_8029349C
lbl_80293260:
/* 80293260 0028EEC0  C0 03 01 28 */	lfs f0, 0x128(r3)
/* 80293264 0028EEC4  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 80293268 0028EEC8  41 80 00 0C */	blt lbl_80293274
/* 8029326C 0028EECC  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 80293270 0028EED0  40 81 00 0C */	ble lbl_8029327C
lbl_80293274:
/* 80293274 0028EED4  38 60 00 00 */	li r3, 0
/* 80293278 0028EED8  48 00 02 24 */	b lbl_8029349C
lbl_8029327C:
/* 8029327C 0028EEDC  C0 03 01 2C */	lfs f0, 0x12c(r3)
/* 80293280 0028EEE0  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 80293284 0028EEE4  41 80 00 0C */	blt lbl_80293290
/* 80293288 0028EEE8  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 8029328C 0028EEEC  40 81 00 0C */	ble lbl_80293298
lbl_80293290:
/* 80293290 0028EEF0  38 60 00 00 */	li r3, 0
/* 80293294 0028EEF4  48 00 02 08 */	b lbl_8029349C
lbl_80293298:
/* 80293298 0028EEF8  C0 63 01 30 */	lfs f3, 0x130(r3)
/* 8029329C 0028EEFC  FC 03 10 40 */	fcmpo cr0, f3, f2
/* 802932A0 0028EF00  41 80 00 0C */	blt lbl_802932AC
/* 802932A4 0028EF04  FC 03 08 40 */	fcmpo cr0, f3, f1
/* 802932A8 0028EF08  40 81 00 0C */	ble lbl_802932B4
lbl_802932AC:
/* 802932AC 0028EF0C  38 60 00 00 */	li r3, 0
/* 802932B0 0028EF10  48 00 01 EC */	b lbl_8029349C
lbl_802932B4:
/* 802932B4 0028EF14  C0 03 01 34 */	lfs f0, 0x134(r3)
/* 802932B8 0028EF18  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 802932BC 0028EF1C  41 80 00 0C */	blt lbl_802932C8
/* 802932C0 0028EF20  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 802932C4 0028EF24  40 81 00 0C */	ble lbl_802932D0
lbl_802932C8:
/* 802932C8 0028EF28  38 60 00 00 */	li r3, 0
/* 802932CC 0028EF2C  48 00 01 D0 */	b lbl_8029349C
lbl_802932D0:
/* 802932D0 0028EF30  C0 03 01 40 */	lfs f0, 0x140(r3)
/* 802932D4 0028EF34  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 802932D8 0028EF38  41 80 00 0C */	blt lbl_802932E4
/* 802932DC 0028EF3C  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 802932E0 0028EF40  40 81 00 0C */	ble lbl_802932EC
lbl_802932E4:
/* 802932E4 0028EF44  38 60 00 00 */	li r3, 0
/* 802932E8 0028EF48  48 00 01 B4 */	b lbl_8029349C
lbl_802932EC:
/* 802932EC 0028EF4C  C0 03 01 44 */	lfs f0, 0x144(r3)
/* 802932F0 0028EF50  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 802932F4 0028EF54  41 80 00 0C */	blt lbl_80293300
/* 802932F8 0028EF58  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 802932FC 0028EF5C  40 81 00 0C */	ble lbl_80293308
lbl_80293300:
/* 80293300 0028EF60  38 60 00 00 */	li r3, 0
/* 80293304 0028EF64  48 00 01 98 */	b lbl_8029349C
lbl_80293308:
/* 80293308 0028EF68  1D 04 00 0C */	mulli r8, r4, 0xc
/* 8029330C 0028EF6C  39 3F 00 00 */	addi r9, r31, 0
/* 80293310 0028EF70  C0 02 A2 48 */	lfs f0, lbl_80642848-_SDA2_BASE_(r2)
/* 80293314 0028EF74  38 BF 00 60 */	addi r5, r31, 0x60
/* 80293318 0028EF78  C0 42 A2 54 */	lfs f2, lbl_80642854-_SDA2_BASE_(r2)
/* 8029331C 0028EF7C  3B 60 00 00 */	li r27, 0
/* 80293320 0028EF80  7C E9 42 14 */	add r7, r9, r8
/* 80293324 0028EF84  EC 20 01 32 */	fmuls f1, f0, f4
/* 80293328 0028EF88  80 C7 00 08 */	lwz r6, 8(r7)
/* 8029332C 0028EF8C  7C 85 42 14 */	add r4, r5, r8
/* 80293330 0028EF90  90 C3 00 18 */	stw r6, 0x18(r3)
/* 80293334 0028EF94  7C 09 40 2E */	lwzx r0, r9, r8
/* 80293338 0028EF98  7C 00 30 50 */	subf r0, r0, r6
/* 8029333C 0028EF9C  90 03 00 0C */	stw r0, 0xc(r3)
/* 80293340 0028EFA0  7C 05 44 2E */	lfsx f0, r5, r8
/* 80293344 0028EFA4  EC 03 00 32 */	fmuls f0, f3, f0
/* 80293348 0028EFA8  EC 02 00 32 */	fmuls f0, f2, f0
/* 8029334C 0028EFAC  D0 03 00 20 */	stfs f0, 0x20(r3)
/* 80293350 0028EFB0  80 07 00 04 */	lwz r0, 4(r7)
/* 80293354 0028EFB4  7C 00 30 50 */	subf r0, r0, r6
/* 80293358 0028EFB8  90 03 00 10 */	stw r0, 0x10(r3)
/* 8029335C 0028EFBC  C0 04 00 04 */	lfs f0, 4(r4)
/* 80293360 0028EFC0  EC 03 00 32 */	fmuls f0, f3, f0
/* 80293364 0028EFC4  EC 02 00 32 */	fmuls f0, f2, f0
/* 80293368 0028EFC8  D0 03 00 24 */	stfs f0, 0x24(r3)
/* 8029336C 0028EFCC  80 07 00 08 */	lwz r0, 8(r7)
/* 80293370 0028EFD0  7C 00 30 50 */	subf r0, r0, r6
/* 80293374 0028EFD4  90 03 00 14 */	stw r0, 0x14(r3)
/* 80293378 0028EFD8  C0 04 00 08 */	lfs f0, 8(r4)
/* 8029337C 0028EFDC  EC 03 00 32 */	fmuls f0, f3, f0
/* 80293380 0028EFE0  93 63 00 38 */	stw r27, 0x38(r3)
/* 80293384 0028EFE4  EC 02 00 32 */	fmuls f0, f2, f0
/* 80293388 0028EFE8  D0 03 00 28 */	stfs f0, 0x28(r3)
/* 8029338C 0028EFEC  4B F3 3C 75 */	bl __cvt_fp2unsigned
/* 80293390 0028EFF0  90 7E 00 3C */	stw r3, 0x3c(r30)
/* 80293394 0028EFF4  7F DA F3 78 */	mr r26, r30
/* 80293398 0028EFF8  CB A2 A2 80 */	lfd f29, lbl_80642880-_SDA2_BASE_(r2)
/* 8029339C 0028EFFC  3B 9F 00 C0 */	addi r28, r31, 0xc0
/* 802933A0 0028F000  C3 C2 A2 68 */	lfs f30, lbl_80642868-_SDA2_BASE_(r2)
/* 802933A4 0028F004  3B 00 00 00 */	li r24, 0
/* 802933A8 0028F008  C3 E2 A2 48 */	lfs f31, lbl_80642848-_SDA2_BASE_(r2)
/* 802933AC 0028F00C  3B 20 00 00 */	li r25, 0
/* 802933B0 0028F010  3F A0 43 30 */	lis r29, 0x4330
lbl_802933B4:
/* 802933B4 0028F014  93 7A 00 68 */	stw r27, 0x68(r26)
/* 802933B8 0028F018  C8 22 A2 70 */	lfd f1, lbl_80642870-_SDA2_BASE_(r2)
/* 802933BC 0028F01C  80 1E 01 1C */	lwz r0, 0x11c(r30)
/* 802933C0 0028F020  93 A1 00 08 */	stw r29, 8(r1)
/* 802933C4 0028F024  54 00 28 34 */	slwi r0, r0, 5
/* 802933C8 0028F028  7C 19 02 14 */	add r0, r25, r0
/* 802933CC 0028F02C  7C 1C 00 2E */	lwzx r0, r28, r0
/* 802933D0 0028F030  90 01 00 0C */	stw r0, 0xc(r1)
/* 802933D4 0028F034  C8 01 00 08 */	lfd f0, 8(r1)
/* 802933D8 0028F038  90 1A 00 74 */	stw r0, 0x74(r26)
/* 802933DC 0028F03C  EC 40 E8 28 */	fsubs f2, f0, f29
/* 802933E0 0028F040  C0 1E 01 20 */	lfs f0, 0x120(r30)
/* 802933E4 0028F044  EC 5E 00 B2 */	fmuls f2, f30, f2
/* 802933E8 0028F048  EC 1F 00 32 */	fmuls f0, f31, f0
/* 802933EC 0028F04C  EC 42 00 24 */	fdivs f2, f2, f0
/* 802933F0 0028F050  4B F4 11 F5 */	bl pow
/* 802933F4 0028F054  FC 00 08 18 */	frsp f0, f1
/* 802933F8 0028F058  3B 18 00 01 */	addi r24, r24, 1
/* 802933FC 0028F05C  28 18 00 03 */	cmplwi r24, 3
/* 80293400 0028F060  3B 39 00 04 */	addi r25, r25, 4
/* 80293404 0028F064  D0 1A 00 8C */	stfs f0, 0x8c(r26)
/* 80293408 0028F068  3B 5A 00 04 */	addi r26, r26, 4
/* 8029340C 0028F06C  41 80 FF A8 */	blt lbl_802933B4
/* 80293410 0028F070  80 1E 01 1C */	lwz r0, 0x11c(r30)
/* 80293414 0028F074  38 80 00 00 */	li r4, 0
/* 80293418 0028F078  90 9E 00 B0 */	stw r4, 0xb0(r30)
/* 8029341C 0028F07C  38 7F 00 C0 */	addi r3, r31, 0xc0
/* 80293420 0028F080  54 00 28 34 */	slwi r0, r0, 5
/* 80293424 0028F084  C0 22 A2 50 */	lfs f1, lbl_80642850-_SDA2_BASE_(r2)
/* 80293428 0028F088  7C 63 02 14 */	add r3, r3, r0
/* 8029342C 0028F08C  C0 1E 01 28 */	lfs f0, 0x128(r30)
/* 80293430 0028F090  80 03 00 0C */	lwz r0, 0xc(r3)
/* 80293434 0028F094  EC 21 00 28 */	fsubs f1, f1, f0
/* 80293438 0028F098  C0 02 A2 78 */	lfs f0, lbl_80642878-_SDA2_BASE_(r2)
/* 8029343C 0028F09C  90 1E 00 B8 */	stw r0, 0xb8(r30)
/* 80293440 0028F0A0  C0 5E 01 24 */	lfs f2, 0x124(r30)
/* 80293444 0028F0A4  90 9E 00 B4 */	stw r4, 0xb4(r30)
/* 80293448 0028F0A8  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8029344C 0028F0AC  80 03 00 10 */	lwz r0, 0x10(r3)
/* 80293450 0028F0B0  90 1E 00 BC */	stw r0, 0xbc(r30)
/* 80293454 0028F0B4  90 9E 00 D4 */	stw r4, 0xd4(r30)
/* 80293458 0028F0B8  80 03 00 14 */	lwz r0, 0x14(r3)
/* 8029345C 0028F0BC  90 1E 00 E0 */	stw r0, 0xe0(r30)
/* 80293460 0028F0C0  90 9E 00 D8 */	stw r4, 0xd8(r30)
/* 80293464 0028F0C4  80 03 00 18 */	lwz r0, 0x18(r3)
/* 80293468 0028F0C8  90 1E 00 E4 */	stw r0, 0xe4(r30)
/* 8029346C 0028F0CC  90 9E 00 DC */	stw r4, 0xdc(r30)
/* 80293470 0028F0D0  80 03 00 1C */	lwz r0, 0x1c(r3)
/* 80293474 0028F0D4  90 1E 00 E8 */	stw r0, 0xe8(r30)
/* 80293478 0028F0D8  D0 5E 00 F8 */	stfs f2, 0xf8(r30)
/* 8029347C 0028F0DC  D0 3E 01 08 */	stfs f1, 0x108(r30)
/* 80293480 0028F0E0  40 81 00 08 */	ble lbl_80293488
/* 80293484 0028F0E4  D0 1E 01 08 */	stfs f0, 0x108(r30)
lbl_80293488:
/* 80293488 0028F0E8  C0 02 A2 4C */	lfs f0, lbl_8064284C-_SDA2_BASE_(r2)
/* 8029348C 0028F0EC  38 60 00 01 */	li r3, 1
/* 80293490 0028F0F0  D0 1E 00 FC */	stfs f0, 0xfc(r30)
/* 80293494 0028F0F4  D0 1E 01 00 */	stfs f0, 0x100(r30)
/* 80293498 0028F0F8  D0 1E 01 04 */	stfs f0, 0x104(r30)
lbl_8029349C:
/* 8029349C 0028F0FC  E3 E1 00 58 */	psq_l f31, 88(r1), 0, qr0
/* 802934A0 0028F100  CB E1 00 50 */	lfd f31, 0x50(r1)
/* 802934A4 0028F104  E3 C1 00 48 */	psq_l f30, 72(r1), 0, qr0
/* 802934A8 0028F108  CB C1 00 40 */	lfd f30, 0x40(r1)
/* 802934AC 0028F10C  E3 A1 00 38 */	psq_l f29, 56(r1), 0, qr0
/* 802934B0 0028F110  39 61 00 30 */	addi r11, r1, 0x30
/* 802934B4 0028F114  CB A1 00 30 */	lfd f29, 0x30(r1)
/* 802934B8 0028F118  4B F3 3C B1 */	bl _restgpr_24
/* 802934BC 0028F11C  80 01 00 64 */	lwz r0, 0x64(r1)
/* 802934C0 0028F120  7C 08 03 A6 */	mtlr r0
/* 802934C4 0028F124  38 21 00 60 */	addi r1, r1, 0x60
/* 802934C8 0028F128  4E 80 00 20 */	blr