summaryrefslogtreecommitdiff
path: root/asm/text_8_5.s
blob: 3361fed1cd8b9ff5b44e24ff6e38002ce189d83f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
.include "macros.inc"

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

.global func_80294B5C
func_80294B5C:
/* 80294B5C 002907BC  C0 03 00 F8 */	lfs f0, 0xf8(r3)
/* 80294B60 002907C0  D0 03 00 B8 */	stfs f0, 0xb8(r3)
/* 80294B64 002907C4  48 00 00 E4 */	b lbl_80294C48

.global func_80294B68
func_80294B68:
/* 80294B68 002907C8  C0 C3 00 F8 */	lfs f6, 0xf8(r3)
/* 80294B6C 002907CC  38 00 00 00 */	li r0, 0
/* 80294B70 002907D0  C0 42 A2 D8 */	lfs f2, lbl_806428D8-_SDA2_BASE_(r2)
/* 80294B74 002907D4  38 80 00 05 */	li r4, 5
/* 80294B78 002907D8  C0 A3 00 F0 */	lfs f5, 0xf0(r3)
/* 80294B7C 002907DC  C0 83 00 E8 */	lfs f4, 0xe8(r3)
/* 80294B80 002907E0  C0 63 00 F4 */	lfs f3, 0xf4(r3)
/* 80294B84 002907E4  C0 22 A2 DC */	lfs f1, lbl_806428DC-_SDA2_BASE_(r2)
/* 80294B88 002907E8  C0 03 00 EC */	lfs f0, 0xec(r3)
/* 80294B8C 002907EC  90 83 00 B4 */	stw r4, 0xb4(r3)
/* 80294B90 002907F0  D0 C3 00 B8 */	stfs f6, 0xb8(r3)
/* 80294B94 002907F4  D0 C3 00 BC */	stfs f6, 0xbc(r3)
/* 80294B98 002907F8  90 03 00 C0 */	stw r0, 0xc0(r3)
/* 80294B9C 002907FC  D0 A3 00 C4 */	stfs f5, 0xc4(r3)
/* 80294BA0 00290800  D0 83 00 C8 */	stfs f4, 0xc8(r3)
/* 80294BA4 00290804  D0 63 00 CC */	stfs f3, 0xcc(r3)
/* 80294BA8 00290808  D0 43 00 D0 */	stfs f2, 0xd0(r3)
/* 80294BAC 0029080C  D0 23 00 D4 */	stfs f1, 0xd4(r3)
/* 80294BB0 00290810  90 03 00 D8 */	stw r0, 0xd8(r3)
/* 80294BB4 00290814  90 03 00 DC */	stw r0, 0xdc(r3)
/* 80294BB8 00290818  D0 03 00 E0 */	stfs f0, 0xe0(r3)
/* 80294BBC 0029081C  D0 43 00 E4 */	stfs f2, 0xe4(r3)
/* 80294BC0 00290820  48 00 00 E8 */	b func_80294CA8

.global func_80294BC4
func_80294BC4:
/* 80294BC4 00290824  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80294BC8 00290828  7C 08 02 A6 */	mflr r0
/* 80294BCC 0029082C  90 01 00 14 */	stw r0, 0x14(r1)
/* 80294BD0 00290830  48 00 03 25 */	bl func_80294EF4
/* 80294BD4 00290834  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80294BD8 00290838  38 60 00 01 */	li r3, 1
/* 80294BDC 0029083C  7C 08 03 A6 */	mtlr r0
/* 80294BE0 00290840  38 21 00 10 */	addi r1, r1, 0x10
/* 80294BE4 00290844  4E 80 00 20 */	blr

.global func_80294BE8
func_80294BE8:
/* 80294BE8 00290848  C0 C3 00 F8 */	lfs f6, 0xf8(r3)
/* 80294BEC 0029084C  38 00 00 00 */	li r0, 0
/* 80294BF0 00290850  C0 42 A2 D8 */	lfs f2, lbl_806428D8-_SDA2_BASE_(r2)
/* 80294BF4 00290854  38 80 00 05 */	li r4, 5
/* 80294BF8 00290858  C0 A3 00 F0 */	lfs f5, 0xf0(r3)
/* 80294BFC 0029085C  C0 83 00 E8 */	lfs f4, 0xe8(r3)
/* 80294C00 00290860  C0 63 00 F4 */	lfs f3, 0xf4(r3)
/* 80294C04 00290864  C0 22 A2 DC */	lfs f1, lbl_806428DC-_SDA2_BASE_(r2)
/* 80294C08 00290868  C0 03 00 EC */	lfs f0, 0xec(r3)
/* 80294C0C 0029086C  90 83 00 B4 */	stw r4, 0xb4(r3)
/* 80294C10 00290870  D0 C3 00 B8 */	stfs f6, 0xb8(r3)
/* 80294C14 00290874  D0 C3 00 BC */	stfs f6, 0xbc(r3)
/* 80294C18 00290878  90 03 00 C0 */	stw r0, 0xc0(r3)
/* 80294C1C 0029087C  D0 A3 00 C4 */	stfs f5, 0xc4(r3)
/* 80294C20 00290880  D0 83 00 C8 */	stfs f4, 0xc8(r3)
/* 80294C24 00290884  D0 63 00 CC */	stfs f3, 0xcc(r3)
/* 80294C28 00290888  D0 43 00 D0 */	stfs f2, 0xd0(r3)
/* 80294C2C 0029088C  D0 23 00 D4 */	stfs f1, 0xd4(r3)
/* 80294C30 00290890  90 03 00 D8 */	stw r0, 0xd8(r3)
/* 80294C34 00290894  90 03 00 DC */	stw r0, 0xdc(r3)
/* 80294C38 00290898  D0 03 00 E0 */	stfs f0, 0xe0(r3)
/* 80294C3C 0029089C  D0 43 00 E4 */	stfs f2, 0xe4(r3)
/* 80294C40 002908A0  48 00 01 E4 */	b lbl_80294E24

.global func_80294C44
func_80294C44:
/* 80294C44 002908A4  48 00 03 04 */	b lbl_80294F48
lbl_80294C48:
/* 80294C48 002908A8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80294C4C 002908AC  3C 80 80 44 */	lis r4, lbl_8043A6E0@ha
/* 80294C50 002908B0  3C C0 80 44 */	lis r6, lbl_8043A700@ha
/* 80294C54 002908B4  C0 22 A2 E0 */	lfs f1, lbl_806428E0-_SDA2_BASE_(r2)
/* 80294C58 002908B8  C0 03 00 B8 */	lfs f0, 0xb8(r3)
/* 80294C5C 002908BC  38 C6 A7 00 */	addi r6, r6, lbl_8043A700@l
/* 80294C60 002908C0  38 84 A6 E0 */	addi r4, r4, lbl_8043A6E0@l
/* 80294C64 002908C4  80 A6 00 60 */	lwz r5, 0x60(r6)
/* 80294C68 002908C8  EC 01 00 32 */	fmuls f0, f1, f0
/* 80294C6C 002908CC  80 E4 00 1C */	lwz r7, 0x1c(r4)
/* 80294C70 002908D0  80 86 00 64 */	lwz r4, 0x64(r6)
/* 80294C74 002908D4  80 66 00 68 */	lwz r3, 0x68(r6)
/* 80294C78 002908D8  FC 00 00 1E */	fctiwz f0, f0
/* 80294C7C 002908DC  80 06 00 6C */	lwz r0, 0x6c(r6)
/* 80294C80 002908E0  D8 01 00 08 */	stfd f0, 8(r1)
/* 80294C84 002908E4  80 C1 00 0C */	lwz r6, 0xc(r1)
/* 80294C88 002908E8  7C C7 32 14 */	add r6, r7, r6
/* 80294C8C 002908EC  7C C6 2A 14 */	add r6, r6, r5
/* 80294C90 002908F0  7C C6 22 14 */	add r6, r6, r4
/* 80294C94 002908F4  7C C6 1A 14 */	add r6, r6, r3
/* 80294C98 002908F8  7C C6 02 14 */	add r6, r6, r0
/* 80294C9C 002908FC  1C 66 00 0C */	mulli r3, r6, 0xc
/* 80294CA0 00290900  38 21 00 10 */	addi r1, r1, 0x10
/* 80294CA4 00290904  4E 80 00 20 */	blr

.global func_80294CA8
func_80294CA8:
/* 80294CA8 00290908  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80294CAC 0029090C  7C 08 02 A6 */	mflr r0
/* 80294CB0 00290910  90 01 00 24 */	stw r0, 0x24(r1)
/* 80294CB4 00290914  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80294CB8 00290918  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80294CBC 0029091C  7C 7E 1B 78 */	mr r30, r3
/* 80294CC0 00290920  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80294CC4 00290924  4B FD 9A 99 */	bl OSDisableInterrupts
/* 80294CC8 00290928  C0 3E 00 B8 */	lfs f1, 0xb8(r30)
/* 80294CCC 0029092C  38 00 00 01 */	li r0, 1
/* 80294CD0 00290930  C0 02 A2 E4 */	lfs f0, lbl_806428E4-_SDA2_BASE_(r2)
/* 80294CD4 00290934  7C 7F 1B 78 */	mr r31, r3
/* 80294CD8 00290938  90 1E 00 B0 */	stw r0, 0xb0(r30)
/* 80294CDC 0029093C  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 80294CE0 00290940  40 80 00 38 */	bge lbl_80294D18
/* 80294CE4 00290944  4B FD 9A 79 */	bl OSDisableInterrupts
/* 80294CE8 00290948  80 1E 00 B0 */	lwz r0, 0xb0(r30)
/* 80294CEC 0029094C  7C 7D 1B 78 */	mr r29, r3
/* 80294CF0 00290950  7F C3 F3 78 */	mr r3, r30
/* 80294CF4 00290954  60 00 00 01 */	ori r0, r0, 1
/* 80294CF8 00290958  90 1E 00 B0 */	stw r0, 0xb0(r30)
/* 80294CFC 0029095C  48 00 07 FD */	bl func_802954F8
/* 80294D00 00290960  7F A3 EB 78 */	mr r3, r29
/* 80294D04 00290964  4B FD 9A 81 */	bl OSRestoreInterrupts
/* 80294D08 00290968  7F E3 FB 78 */	mr r3, r31
/* 80294D0C 0029096C  4B FD 9A 79 */	bl OSRestoreInterrupts
/* 80294D10 00290970  38 60 00 00 */	li r3, 0
/* 80294D14 00290974  48 00 00 F4 */	b lbl_80294E08
lbl_80294D18:
/* 80294D18 00290978  3C 60 80 44 */	lis r3, lbl_8043A6E0@ha
/* 80294D1C 0029097C  C0 02 A2 E0 */	lfs f0, lbl_806428E0-_SDA2_BASE_(r2)
/* 80294D20 00290980  38 63 A6 E0 */	addi r3, r3, lbl_8043A6E0@l
/* 80294D24 00290984  80 03 00 1C */	lwz r0, 0x1c(r3)
/* 80294D28 00290988  EC 20 00 72 */	fmuls f1, f0, f1
/* 80294D2C 0029098C  90 1E 00 14 */	stw r0, 0x14(r30)
/* 80294D30 00290990  4B F3 22 D1 */	bl __cvt_fp2unsigned
/* 80294D34 00290994  90 7E 00 30 */	stw r3, 0x30(r30)
/* 80294D38 00290998  3C 80 80 44 */	lis r4, lbl_8043A700@ha
/* 80294D3C 0029099C  38 84 A7 00 */	addi r4, r4, lbl_8043A700@l
/* 80294D40 002909A0  7F C3 F3 78 */	mr r3, r30
/* 80294D44 002909A4  80 04 00 60 */	lwz r0, 0x60(r4)
/* 80294D48 002909A8  90 1E 00 5C */	stw r0, 0x5c(r30)
/* 80294D4C 002909AC  80 04 00 64 */	lwz r0, 0x64(r4)
/* 80294D50 002909B0  90 1E 00 60 */	stw r0, 0x60(r30)
/* 80294D54 002909B4  80 04 00 68 */	lwz r0, 0x68(r4)
/* 80294D58 002909B8  90 1E 00 94 */	stw r0, 0x94(r30)
/* 80294D5C 002909BC  80 04 00 6C */	lwz r0, 0x6c(r4)
/* 80294D60 002909C0  90 1E 00 98 */	stw r0, 0x98(r30)
/* 80294D64 002909C4  48 00 05 51 */	bl func_802952B4
/* 80294D68 002909C8  2C 03 00 00 */	cmpwi r3, 0
/* 80294D6C 002909CC  40 82 00 38 */	bne lbl_80294DA4
/* 80294D70 002909D0  4B FD 99 ED */	bl OSDisableInterrupts
/* 80294D74 002909D4  80 1E 00 B0 */	lwz r0, 0xb0(r30)
/* 80294D78 002909D8  7C 7D 1B 78 */	mr r29, r3
/* 80294D7C 002909DC  7F C3 F3 78 */	mr r3, r30
/* 80294D80 002909E0  60 00 00 01 */	ori r0, r0, 1
/* 80294D84 002909E4  90 1E 00 B0 */	stw r0, 0xb0(r30)
/* 80294D88 002909E8  48 00 07 71 */	bl func_802954F8
/* 80294D8C 002909EC  7F A3 EB 78 */	mr r3, r29
/* 80294D90 002909F0  4B FD 99 F5 */	bl OSRestoreInterrupts
/* 80294D94 002909F4  7F E3 FB 78 */	mr r3, r31
/* 80294D98 002909F8  4B FD 99 ED */	bl OSRestoreInterrupts
/* 80294D9C 002909FC  38 60 00 00 */	li r3, 0
/* 80294DA0 00290A00  48 00 00 68 */	b lbl_80294E08
lbl_80294DA4:
/* 80294DA4 00290A04  7F C3 F3 78 */	mr r3, r30
/* 80294DA8 00290A08  48 00 06 51 */	bl func_802953F8
/* 80294DAC 00290A0C  7F C3 F3 78 */	mr r3, r30
/* 80294DB0 00290A10  48 00 08 39 */	bl func_802955E8
/* 80294DB4 00290A14  2C 03 00 00 */	cmpwi r3, 0
/* 80294DB8 00290A18  40 82 00 38 */	bne lbl_80294DF0
/* 80294DBC 00290A1C  4B FD 99 A1 */	bl OSDisableInterrupts
/* 80294DC0 00290A20  80 1E 00 B0 */	lwz r0, 0xb0(r30)
/* 80294DC4 00290A24  7C 7D 1B 78 */	mr r29, r3
/* 80294DC8 00290A28  7F C3 F3 78 */	mr r3, r30
/* 80294DCC 00290A2C  60 00 00 01 */	ori r0, r0, 1
/* 80294DD0 00290A30  90 1E 00 B0 */	stw r0, 0xb0(r30)
/* 80294DD4 00290A34  48 00 07 25 */	bl func_802954F8
/* 80294DD8 00290A38  7F A3 EB 78 */	mr r3, r29
/* 80294DDC 00290A3C  4B FD 99 A9 */	bl OSRestoreInterrupts
/* 80294DE0 00290A40  7F E3 FB 78 */	mr r3, r31
/* 80294DE4 00290A44  4B FD 99 A1 */	bl OSRestoreInterrupts
/* 80294DE8 00290A48  38 60 00 00 */	li r3, 0
/* 80294DEC 00290A4C  48 00 00 1C */	b lbl_80294E08
lbl_80294DF0:
/* 80294DF0 00290A50  80 1E 00 B0 */	lwz r0, 0xb0(r30)
/* 80294DF4 00290A54  7F E3 FB 78 */	mr r3, r31
/* 80294DF8 00290A58  54 00 00 3C */	rlwinm r0, r0, 0, 0, 0x1e
/* 80294DFC 00290A5C  90 1E 00 B0 */	stw r0, 0xb0(r30)
/* 80294E00 00290A60  4B FD 99 85 */	bl OSRestoreInterrupts
/* 80294E04 00290A64  38 60 00 01 */	li r3, 1
lbl_80294E08:
/* 80294E08 00290A68  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80294E0C 00290A6C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80294E10 00290A70  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80294E14 00290A74  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80294E18 00290A78  7C 08 03 A6 */	mtlr r0
/* 80294E1C 00290A7C  38 21 00 20 */	addi r1, r1, 0x20
/* 80294E20 00290A80  4E 80 00 20 */	blr
lbl_80294E24:
/* 80294E24 00290A84  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80294E28 00290A88  7C 08 02 A6 */	mflr r0
/* 80294E2C 00290A8C  90 01 00 24 */	stw r0, 0x24(r1)
/* 80294E30 00290A90  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80294E34 00290A94  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80294E38 00290A98  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80294E3C 00290A9C  7C 7D 1B 78 */	mr r29, r3
/* 80294E40 00290AA0  4B FD 99 1D */	bl OSDisableInterrupts
/* 80294E44 00290AA4  80 1D 00 B0 */	lwz r0, 0xb0(r29)
/* 80294E48 00290AA8  7C 7E 1B 78 */	mr r30, r3
/* 80294E4C 00290AAC  60 00 00 01 */	ori r0, r0, 1
/* 80294E50 00290AB0  90 1D 00 B0 */	stw r0, 0xb0(r29)
/* 80294E54 00290AB4  4B FD 99 09 */	bl OSDisableInterrupts
/* 80294E58 00290AB8  80 1D 00 B0 */	lwz r0, 0xb0(r29)
/* 80294E5C 00290ABC  7C 7F 1B 78 */	mr r31, r3
/* 80294E60 00290AC0  7F A3 EB 78 */	mr r3, r29
/* 80294E64 00290AC4  60 00 00 01 */	ori r0, r0, 1
/* 80294E68 00290AC8  90 1D 00 B0 */	stw r0, 0xb0(r29)
/* 80294E6C 00290ACC  48 00 06 8D */	bl func_802954F8
/* 80294E70 00290AD0  7F E3 FB 78 */	mr r3, r31
/* 80294E74 00290AD4  4B FD 99 11 */	bl OSRestoreInterrupts
/* 80294E78 00290AD8  7F A3 EB 78 */	mr r3, r29
/* 80294E7C 00290ADC  4B FF FE 2D */	bl func_80294CA8
/* 80294E80 00290AE0  2C 03 00 00 */	cmpwi r3, 0
/* 80294E84 00290AE4  40 82 00 38 */	bne lbl_80294EBC
/* 80294E88 00290AE8  4B FD 98 D5 */	bl OSDisableInterrupts
/* 80294E8C 00290AEC  80 1D 00 B0 */	lwz r0, 0xb0(r29)
/* 80294E90 00290AF0  7C 7F 1B 78 */	mr r31, r3
/* 80294E94 00290AF4  7F A3 EB 78 */	mr r3, r29
/* 80294E98 00290AF8  60 00 00 01 */	ori r0, r0, 1
/* 80294E9C 00290AFC  90 1D 00 B0 */	stw r0, 0xb0(r29)
/* 80294EA0 00290B00  48 00 06 59 */	bl func_802954F8
/* 80294EA4 00290B04  7F E3 FB 78 */	mr r3, r31
/* 80294EA8 00290B08  4B FD 98 DD */	bl OSRestoreInterrupts
/* 80294EAC 00290B0C  7F C3 F3 78 */	mr r3, r30
/* 80294EB0 00290B10  4B FD 98 D5 */	bl OSRestoreInterrupts
/* 80294EB4 00290B14  38 60 00 00 */	li r3, 0
/* 80294EB8 00290B18  48 00 00 20 */	b lbl_80294ED8
lbl_80294EBC:
/* 80294EBC 00290B1C  80 1D 00 B0 */	lwz r0, 0xb0(r29)
/* 80294EC0 00290B20  7F C3 F3 78 */	mr r3, r30
/* 80294EC4 00290B24  60 00 00 02 */	ori r0, r0, 2
/* 80294EC8 00290B28  54 00 00 3C */	rlwinm r0, r0, 0, 0, 0x1e
/* 80294ECC 00290B2C  90 1D 00 B0 */	stw r0, 0xb0(r29)
/* 80294ED0 00290B30  4B FD 98 B5 */	bl OSRestoreInterrupts
/* 80294ED4 00290B34  38 60 00 01 */	li r3, 1
lbl_80294ED8:
/* 80294ED8 00290B38  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80294EDC 00290B3C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80294EE0 00290B40  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80294EE4 00290B44  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80294EE8 00290B48  7C 08 03 A6 */	mtlr r0
/* 80294EEC 00290B4C  38 21 00 20 */	addi r1, r1, 0x20
/* 80294EF0 00290B50  4E 80 00 20 */	blr

.global func_80294EF4
func_80294EF4:
/* 80294EF4 00290B54  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80294EF8 00290B58  7C 08 02 A6 */	mflr r0
/* 80294EFC 00290B5C  90 01 00 14 */	stw r0, 0x14(r1)
/* 80294F00 00290B60  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80294F04 00290B64  93 C1 00 08 */	stw r30, 8(r1)
/* 80294F08 00290B68  7C 7E 1B 78 */	mr r30, r3
/* 80294F0C 00290B6C  4B FD 98 51 */	bl OSDisableInterrupts
/* 80294F10 00290B70  80 1E 00 B0 */	lwz r0, 0xb0(r30)
/* 80294F14 00290B74  7C 7F 1B 78 */	mr r31, r3
/* 80294F18 00290B78  7F C3 F3 78 */	mr r3, r30
/* 80294F1C 00290B7C  60 00 00 01 */	ori r0, r0, 1
/* 80294F20 00290B80  90 1E 00 B0 */	stw r0, 0xb0(r30)
/* 80294F24 00290B84  48 00 05 D5 */	bl func_802954F8
/* 80294F28 00290B88  7F E3 FB 78 */	mr r3, r31
/* 80294F2C 00290B8C  4B FD 98 59 */	bl OSRestoreInterrupts
/* 80294F30 00290B90  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80294F34 00290B94  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80294F38 00290B98  83 C1 00 08 */	lwz r30, 8(r1)
/* 80294F3C 00290B9C  7C 08 03 A6 */	mtlr r0
/* 80294F40 00290BA0  38 21 00 10 */	addi r1, r1, 0x10
/* 80294F44 00290BA4  4E 80 00 20 */	blr
lbl_80294F48:
/* 80294F48 00290BA8  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 80294F4C 00290BAC  7C 08 02 A6 */	mflr r0
/* 80294F50 00290BB0  90 01 00 64 */	stw r0, 0x64(r1)
/* 80294F54 00290BB4  39 61 00 60 */	addi r11, r1, 0x60
/* 80294F58 00290BB8  4B F3 21 C5 */	bl _savegpr_24
/* 80294F5C 00290BBC  80 04 00 B0 */	lwz r0, 0xb0(r4)
/* 80294F60 00290BC0  2C 00 00 00 */	cmpwi r0, 0
/* 80294F64 00290BC4  41 82 00 10 */	beq lbl_80294F74
/* 80294F68 00290BC8  54 00 07 FA */	rlwinm r0, r0, 0, 0x1f, 0x1d
/* 80294F6C 00290BCC  90 04 00 B0 */	stw r0, 0xb0(r4)
/* 80294F70 00290BD0  48 00 03 2C */	b lbl_8029529C
lbl_80294F74:
/* 80294F74 00290BD4  80 E4 00 D8 */	lwz r7, 0xd8(r4)
/* 80294F78 00290BD8  80 C3 00 00 */	lwz r6, 0(r3)
/* 80294F7C 00290BDC  80 A3 00 04 */	lwz r5, 4(r3)
/* 80294F80 00290BE0  2C 07 00 00 */	cmpwi r7, 0
/* 80294F84 00290BE4  80 03 00 08 */	lwz r0, 8(r3)
/* 80294F88 00290BE8  90 C1 00 20 */	stw r6, 0x20(r1)
/* 80294F8C 00290BEC  90 A1 00 24 */	stw r5, 0x24(r1)
/* 80294F90 00290BF0  90 01 00 28 */	stw r0, 0x28(r1)
/* 80294F94 00290BF4  41 82 00 1C */	beq lbl_80294FB0
/* 80294F98 00290BF8  80 A7 00 00 */	lwz r5, 0(r7)
/* 80294F9C 00290BFC  80 67 00 04 */	lwz r3, 4(r7)
/* 80294FA0 00290C00  80 07 00 08 */	lwz r0, 8(r7)
/* 80294FA4 00290C04  90 A1 00 14 */	stw r5, 0x14(r1)
/* 80294FA8 00290C08  90 61 00 18 */	stw r3, 0x18(r1)
/* 80294FAC 00290C0C  90 01 00 1C */	stw r0, 0x1c(r1)
lbl_80294FB0:
/* 80294FB0 00290C10  80 C4 00 DC */	lwz r6, 0xdc(r4)
/* 80294FB4 00290C14  2C 06 00 00 */	cmpwi r6, 0
/* 80294FB8 00290C18  41 82 00 1C */	beq lbl_80294FD4
/* 80294FBC 00290C1C  80 A6 00 00 */	lwz r5, 0(r6)
/* 80294FC0 00290C20  80 66 00 04 */	lwz r3, 4(r6)
/* 80294FC4 00290C24  80 06 00 08 */	lwz r0, 8(r6)
/* 80294FC8 00290C28  90 A1 00 08 */	stw r5, 8(r1)
/* 80294FCC 00290C2C  90 61 00 0C */	stw r3, 0xc(r1)
/* 80294FD0 00290C30  90 01 00 10 */	stw r0, 0x10(r1)
lbl_80294FD4:
/* 80294FD4 00290C34  C0 42 A2 E8 */	lfs f2, lbl_806428E8-_SDA2_BASE_(r2)
/* 80294FD8 00290C38  3B 80 00 00 */	li r28, 0
/* 80294FDC 00290C3C  C0 04 00 AC */	lfs f0, 0xac(r4)
/* 80294FE0 00290C40  3C 60 43 30 */	lis r3, 0x4330
/* 80294FE4 00290C44  C0 62 A2 EC */	lfs f3, lbl_806428EC-_SDA2_BASE_(r2)
/* 80294FE8 00290C48  38 00 00 00 */	li r0, 0
/* 80294FEC 00290C4C  C0 24 00 D0 */	lfs f1, 0xd0(r4)
/* 80294FF0 00290C50  EC A2 00 28 */	fsubs f5, f2, f0
/* 80294FF4 00290C54  C0 44 00 D4 */	lfs f2, 0xd4(r4)
/* 80294FF8 00290C58  3B 60 00 03 */	li r27, 3
/* 80294FFC 00290C5C  EC C3 00 72 */	fmuls f6, f3, f1
/* 80295000 00290C60  C0 24 00 18 */	lfs f1, 0x18(r4)
/* 80295004 00290C64  EC E3 00 B2 */	fmuls f7, f3, f2
/* 80295008 00290C68  C0 44 00 64 */	lfs f2, 0x64(r4)
/* 8029500C 00290C6C  C0 64 00 68 */	lfs f3, 0x68(r4)
/* 80295010 00290C70  C0 84 00 9C */	lfs f4, 0x9c(r4)
/* 80295014 00290C74  C9 62 A2 F0 */	lfd f11, lbl_806428F0-_SDA2_BASE_(r2)
lbl_80295018:
/* 80295018 00290C78  81 44 00 0C */	lwz r10, 0xc(r4)
/* 8029501C 00290C7C  7C 87 23 78 */	mr r7, r4
/* 80295020 00290C80  81 64 00 28 */	lwz r11, 0x28(r4)
/* 80295024 00290C84  7C 88 23 78 */	mr r8, r4
/* 80295028 00290C88  81 84 00 4C */	lwz r12, 0x4c(r4)
/* 8029502C 00290C8C  38 A1 00 14 */	addi r5, r1, 0x14
/* 80295030 00290C90  83 44 00 50 */	lwz r26, 0x50(r4)
/* 80295034 00290C94  38 C1 00 20 */	addi r6, r1, 0x20
/* 80295038 00290C98  83 24 00 84 */	lwz r25, 0x84(r4)
/* 8029503C 00290C9C  39 21 00 08 */	addi r9, r1, 8
/* 80295040 00290CA0  83 04 00 88 */	lwz r24, 0x88(r4)
/* 80295044 00290CA4  55 4A 10 3A */	slwi r10, r10, 2
/* 80295048 00290CA8  55 6B 10 3A */	slwi r11, r11, 2
/* 8029504C 00290CAC  55 8C 10 3A */	slwi r12, r12, 2
/* 80295050 00290CB0  57 5F 10 3A */	slwi r31, r26, 2
/* 80295054 00290CB4  57 3E 10 3A */	slwi r30, r25, 2
/* 80295058 00290CB8  57 1D 10 3A */	slwi r29, r24, 2
/* 8029505C 00290CBC  7F 69 03 A6 */	mtctr r27
lbl_80295060:
/* 80295060 00290CC0  83 04 00 D8 */	lwz r24, 0xd8(r4)
/* 80295064 00290CC4  2C 18 00 00 */	cmpwi r24, 0
/* 80295068 00290CC8  41 82 00 38 */	beq lbl_802950A0
/* 8029506C 00290CCC  83 25 00 00 */	lwz r25, 0(r5)
/* 80295070 00290CD0  83 46 00 00 */	lwz r26, 0(r6)
/* 80295074 00290CD4  83 19 00 00 */	lwz r24, 0(r25)
/* 80295078 00290CD8  3B 39 00 04 */	addi r25, r25, 4
/* 8029507C 00290CDC  83 5A 00 00 */	lwz r26, 0(r26)
/* 80295080 00290CE0  90 61 00 30 */	stw r3, 0x30(r1)
/* 80295084 00290CE4  7F 1A C2 14 */	add r24, r26, r24
/* 80295088 00290CE8  6F 18 80 00 */	xoris r24, r24, 0x8000
/* 8029508C 00290CEC  93 25 00 00 */	stw r25, 0(r5)
/* 80295090 00290CF0  93 01 00 34 */	stw r24, 0x34(r1)
/* 80295094 00290CF4  C9 01 00 30 */	lfd f8, 0x30(r1)
/* 80295098 00290CF8  ED 28 58 28 */	fsubs f9, f8, f11
/* 8029509C 00290CFC  48 00 00 20 */	b lbl_802950BC
lbl_802950A0:
/* 802950A0 00290D00  83 06 00 00 */	lwz r24, 0(r6)
/* 802950A4 00290D04  90 61 00 38 */	stw r3, 0x38(r1)
/* 802950A8 00290D08  83 18 00 00 */	lwz r24, 0(r24)
/* 802950AC 00290D0C  6F 18 80 00 */	xoris r24, r24, 0x8000
/* 802950B0 00290D10  93 01 00 3C */	stw r24, 0x3c(r1)
/* 802950B4 00290D14  C9 01 00 38 */	lfd f8, 0x38(r1)
/* 802950B8 00290D18  ED 28 58 28 */	fsubs f9, f8, f11
lbl_802950BC:
/* 802950BC 00290D1C  83 07 00 00 */	lwz r24, 0(r7)
/* 802950C0 00290D20  7D 4A C4 2E */	lfsx f10, r10, r24
/* 802950C4 00290D24  ED 0A 00 72 */	fmuls f8, f10, f1
/* 802950C8 00290D28  ED 09 40 2A */	fadds f8, f9, f8
/* 802950CC 00290D2C  7D 0A C5 2E */	stfsx f8, r10, r24
/* 802950D0 00290D30  83 04 00 2C */	lwz r24, 0x2c(r4)
/* 802950D4 00290D34  2C 18 00 00 */	cmpwi r24, 0
/* 802950D8 00290D38  41 82 00 14 */	beq lbl_802950EC
/* 802950DC 00290D3C  83 07 00 1C */	lwz r24, 0x1c(r7)
/* 802950E0 00290D40  7D 8B C4 2E */	lfsx f12, r11, r24
/* 802950E4 00290D44  7D 2B C5 2E */	stfsx f9, r11, r24
/* 802950E8 00290D48  48 00 00 08 */	b lbl_802950F0
lbl_802950EC:
/* 802950EC 00290D4C  FD 80 48 90 */	fmr f12, f9
lbl_802950F0:
/* 802950F0 00290D50  83 08 00 34 */	lwz r24, 0x34(r8)
/* 802950F4 00290D54  ED 4A 01 B2 */	fmuls f10, f10, f6
/* 802950F8 00290D58  83 46 00 00 */	lwz r26, 0(r6)
/* 802950FC 00290D5C  7D 2C C4 2E */	lfsx f9, r12, r24
/* 80295100 00290D60  3B 3A 00 04 */	addi r25, r26, 4
/* 80295104 00290D64  ED 09 00 B2 */	fmuls f8, f9, f2
/* 80295108 00290D68  93 26 00 00 */	stw r25, 0(r6)
/* 8029510C 00290D6C  ED 0C 40 2A */	fadds f8, f12, f8
/* 80295110 00290D70  7D 0C C5 2E */	stfsx f8, r12, r24
/* 80295114 00290D74  83 28 00 38 */	lwz r25, 0x38(r8)
/* 80295118 00290D78  7D BF CC 2E */	lfsx f13, r31, r25
/* 8029511C 00290D7C  ED 0D 00 F2 */	fmuls f8, f13, f3
/* 80295120 00290D80  ED 29 68 2A */	fadds f9, f9, f13
/* 80295124 00290D84  ED 0C 40 2A */	fadds f8, f12, f8
/* 80295128 00290D88  7D 1F CD 2E */	stfsx f8, r31, r25
/* 8029512C 00290D8C  83 08 00 6C */	lwz r24, 0x6c(r8)
/* 80295130 00290D90  7D 9E C4 2E */	lfsx f12, r30, r24
/* 80295134 00290D94  ED 0C 01 32 */	fmuls f8, f12, f4
/* 80295138 00290D98  ED 09 40 2A */	fadds f8, f9, f8
/* 8029513C 00290D9C  ED 28 01 32 */	fmuls f9, f8, f4
/* 80295140 00290DA0  7D 1E C5 2E */	stfsx f8, r30, r24
/* 80295144 00290DA4  C1 07 00 A0 */	lfs f8, 0xa0(r7)
/* 80295148 00290DA8  ED 2C 48 28 */	fsubs f9, f12, f9
/* 8029514C 00290DAC  ED 00 02 32 */	fmuls f8, f0, f8
/* 80295150 00290DB0  ED 25 02 72 */	fmuls f9, f5, f9
/* 80295154 00290DB4  ED 29 40 2A */	fadds f9, f9, f8
/* 80295158 00290DB8  D1 27 00 A0 */	stfs f9, 0xa0(r7)
/* 8029515C 00290DBC  83 28 00 70 */	lwz r25, 0x70(r8)
/* 80295160 00290DC0  7D 9D CC 2E */	lfsx f12, r29, r25
/* 80295164 00290DC4  ED 0C 01 32 */	fmuls f8, f12, f4
/* 80295168 00290DC8  ED 09 40 2A */	fadds f8, f9, f8
/* 8029516C 00290DCC  ED 28 01 32 */	fmuls f9, f8, f4
/* 80295170 00290DD0  7D 1D CD 2E */	stfsx f8, r29, r25
/* 80295174 00290DD4  C1 04 00 E0 */	lfs f8, 0xe0(r4)
/* 80295178 00290DD8  ED 2C 48 28 */	fsubs f9, f12, f9
/* 8029517C 00290DDC  ED 29 01 F2 */	fmuls f9, f9, f7
/* 80295180 00290DE0  ED 2A 48 2A */	fadds f9, f10, f9
/* 80295184 00290DE4  ED 09 02 32 */	fmuls f8, f9, f8
/* 80295188 00290DE8  FD 00 40 1E */	fctiwz f8, f8
/* 8029518C 00290DEC  D9 01 00 38 */	stfd f8, 0x38(r1)
/* 80295190 00290DF0  83 21 00 3C */	lwz r25, 0x3c(r1)
/* 80295194 00290DF4  93 3A 00 00 */	stw r25, 0(r26)
/* 80295198 00290DF8  83 24 00 DC */	lwz r25, 0xdc(r4)
/* 8029519C 00290DFC  2C 19 00 00 */	cmpwi r25, 0
/* 802951A0 00290E00  41 82 00 28 */	beq lbl_802951C8
/* 802951A4 00290E04  C1 04 00 E4 */	lfs f8, 0xe4(r4)
/* 802951A8 00290E08  83 29 00 00 */	lwz r25, 0(r9)
/* 802951AC 00290E0C  ED 09 02 32 */	fmuls f8, f9, f8
/* 802951B0 00290E10  3B 59 00 04 */	addi r26, r25, 4
/* 802951B4 00290E14  93 49 00 00 */	stw r26, 0(r9)
/* 802951B8 00290E18  FD 00 40 1E */	fctiwz f8, f8
/* 802951BC 00290E1C  D9 01 00 38 */	stfd f8, 0x38(r1)
/* 802951C0 00290E20  83 41 00 3C */	lwz r26, 0x3c(r1)
/* 802951C4 00290E24  93 59 00 00 */	stw r26, 0(r25)
lbl_802951C8:
/* 802951C8 00290E28  38 A5 00 04 */	addi r5, r5, 4
/* 802951CC 00290E2C  38 C6 00 04 */	addi r6, r6, 4
/* 802951D0 00290E30  38 E7 00 04 */	addi r7, r7, 4
/* 802951D4 00290E34  39 08 00 08 */	addi r8, r8, 8
/* 802951D8 00290E38  39 29 00 04 */	addi r9, r9, 4
/* 802951DC 00290E3C  42 00 FE 84 */	bdnz lbl_80295060
/* 802951E0 00290E40  80 C4 00 0C */	lwz r6, 0xc(r4)
/* 802951E4 00290E44  80 A4 00 10 */	lwz r5, 0x10(r4)
/* 802951E8 00290E48  38 C6 00 01 */	addi r6, r6, 1
/* 802951EC 00290E4C  7C 06 28 40 */	cmplw r6, r5
/* 802951F0 00290E50  90 C4 00 0C */	stw r6, 0xc(r4)
/* 802951F4 00290E54  41 80 00 08 */	blt lbl_802951FC
/* 802951F8 00290E58  90 04 00 0C */	stw r0, 0xc(r4)
lbl_802951FC:
/* 802951FC 00290E5C  80 C4 00 2C */	lwz r6, 0x2c(r4)
/* 80295200 00290E60  2C 06 00 00 */	cmpwi r6, 0
/* 80295204 00290E64  41 82 00 1C */	beq lbl_80295220
/* 80295208 00290E68  80 A4 00 28 */	lwz r5, 0x28(r4)
/* 8029520C 00290E6C  38 A5 00 01 */	addi r5, r5, 1
/* 80295210 00290E70  7C 05 30 40 */	cmplw r5, r6
/* 80295214 00290E74  90 A4 00 28 */	stw r5, 0x28(r4)
/* 80295218 00290E78  41 80 00 08 */	blt lbl_80295220
/* 8029521C 00290E7C  90 04 00 28 */	stw r0, 0x28(r4)
lbl_80295220:
/* 80295220 00290E80  80 C4 00 4C */	lwz r6, 0x4c(r4)
/* 80295224 00290E84  80 A4 00 54 */	lwz r5, 0x54(r4)
/* 80295228 00290E88  38 C6 00 01 */	addi r6, r6, 1
/* 8029522C 00290E8C  7C 06 28 40 */	cmplw r6, r5
/* 80295230 00290E90  90 C4 00 4C */	stw r6, 0x4c(r4)
/* 80295234 00290E94  41 80 00 08 */	blt lbl_8029523C
/* 80295238 00290E98  90 04 00 4C */	stw r0, 0x4c(r4)
lbl_8029523C:
/* 8029523C 00290E9C  80 C4 00 50 */	lwz r6, 0x50(r4)
/* 80295240 00290EA0  80 A4 00 58 */	lwz r5, 0x58(r4)
/* 80295244 00290EA4  38 C6 00 01 */	addi r6, r6, 1
/* 80295248 00290EA8  7C 06 28 40 */	cmplw r6, r5
/* 8029524C 00290EAC  90 C4 00 50 */	stw r6, 0x50(r4)
/* 80295250 00290EB0  41 80 00 08 */	blt lbl_80295258
/* 80295254 00290EB4  90 04 00 50 */	stw r0, 0x50(r4)
lbl_80295258:
/* 80295258 00290EB8  80 C4 00 84 */	lwz r6, 0x84(r4)
/* 8029525C 00290EBC  80 A4 00 8C */	lwz r5, 0x8c(r4)
/* 80295260 00290EC0  38 C6 00 01 */	addi r6, r6, 1
/* 80295264 00290EC4  7C 06 28 40 */	cmplw r6, r5
/* 80295268 00290EC8  90 C4 00 84 */	stw r6, 0x84(r4)
/* 8029526C 00290ECC  41 80 00 08 */	blt lbl_80295274
/* 80295270 00290ED0  90 04 00 84 */	stw r0, 0x84(r4)
lbl_80295274:
/* 80295274 00290ED4  80 C4 00 88 */	lwz r6, 0x88(r4)
/* 80295278 00290ED8  80 A4 00 90 */	lwz r5, 0x90(r4)
/* 8029527C 00290EDC  38 C6 00 01 */	addi r6, r6, 1
/* 80295280 00290EE0  7C 06 28 40 */	cmplw r6, r5
/* 80295284 00290EE4  90 C4 00 88 */	stw r6, 0x88(r4)
/* 80295288 00290EE8  41 80 00 08 */	blt lbl_80295290
/* 8029528C 00290EEC  90 04 00 88 */	stw r0, 0x88(r4)
lbl_80295290:
/* 80295290 00290EF0  3B 9C 00 01 */	addi r28, r28, 1
/* 80295294 00290EF4  28 1C 00 60 */	cmplwi r28, 0x60
/* 80295298 00290EF8  41 80 FD 80 */	blt lbl_80295018
lbl_8029529C:
/* 8029529C 00290EFC  39 61 00 60 */	addi r11, r1, 0x60
/* 802952A0 00290F00  4B F3 1E C9 */	bl _restgpr_24
/* 802952A4 00290F04  80 01 00 64 */	lwz r0, 0x64(r1)
/* 802952A8 00290F08  7C 08 03 A6 */	mtlr r0
/* 802952AC 00290F0C  38 21 00 60 */	addi r1, r1, 0x60
/* 802952B0 00290F10  4E 80 00 20 */	blr

.global func_802952B4
func_802952B4:
/* 802952B4 00290F14  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802952B8 00290F18  7C 08 02 A6 */	mflr r0
/* 802952BC 00290F1C  90 01 00 34 */	stw r0, 0x34(r1)
/* 802952C0 00290F20  39 61 00 30 */	addi r11, r1, 0x30
/* 802952C4 00290F24  4B F3 1E 59 */	bl _savegpr_24
/* 802952C8 00290F28  7C 78 1B 78 */	mr r24, r3
/* 802952CC 00290F2C  3B 20 00 00 */	li r25, 0
/* 802952D0 00290F30  7F 1E C3 78 */	mr r30, r24
/* 802952D4 00290F34  3B E0 00 00 */	li r31, 0
/* 802952D8 00290F38  7F 1D C3 78 */	mr r29, r24
lbl_802952DC:
/* 802952DC 00290F3C  80 18 00 14 */	lwz r0, 0x14(r24)
/* 802952E0 00290F40  81 8D 88 F8 */	lwz r12, lbl_8063DBB8-_SDA_BASE_(r13)
/* 802952E4 00290F44  54 03 10 3A */	slwi r3, r0, 2
/* 802952E8 00290F48  7D 89 03 A6 */	mtctr r12
/* 802952EC 00290F4C  4E 80 04 21 */	bctrl
/* 802952F0 00290F50  2C 03 00 00 */	cmpwi r3, 0
/* 802952F4 00290F54  90 7E 00 00 */	stw r3, 0(r30)
/* 802952F8 00290F58  40 82 00 0C */	bne lbl_80295304
/* 802952FC 00290F5C  38 60 00 00 */	li r3, 0
/* 80295300 00290F60  48 00 00 E0 */	b lbl_802953E0
lbl_80295304:
/* 80295304 00290F64  80 18 00 30 */	lwz r0, 0x30(r24)
/* 80295308 00290F68  2C 00 00 00 */	cmpwi r0, 0
/* 8029530C 00290F6C  41 82 00 28 */	beq lbl_80295334
/* 80295310 00290F70  81 8D 88 F8 */	lwz r12, lbl_8063DBB8-_SDA_BASE_(r13)
/* 80295314 00290F74  54 03 10 3A */	slwi r3, r0, 2
/* 80295318 00290F78  7D 89 03 A6 */	mtctr r12
/* 8029531C 00290F7C  4E 80 04 21 */	bctrl
/* 80295320 00290F80  2C 03 00 00 */	cmpwi r3, 0
/* 80295324 00290F84  90 7E 00 1C */	stw r3, 0x1c(r30)
/* 80295328 00290F88  40 82 00 10 */	bne lbl_80295338
/* 8029532C 00290F8C  38 60 00 00 */	li r3, 0
/* 80295330 00290F90  48 00 00 B0 */	b lbl_802953E0
lbl_80295334:
/* 80295334 00290F94  93 FE 00 1C */	stw r31, 0x1c(r30)
lbl_80295338:
/* 80295338 00290F98  7F 1B C3 78 */	mr r27, r24
/* 8029533C 00290F9C  7F BC EB 78 */	mr r28, r29
/* 80295340 00290FA0  3B 40 00 00 */	li r26, 0
lbl_80295344:
/* 80295344 00290FA4  80 1B 00 5C */	lwz r0, 0x5c(r27)
/* 80295348 00290FA8  81 8D 88 F8 */	lwz r12, lbl_8063DBB8-_SDA_BASE_(r13)
/* 8029534C 00290FAC  54 03 10 3A */	slwi r3, r0, 2
/* 80295350 00290FB0  7D 89 03 A6 */	mtctr r12
/* 80295354 00290FB4  4E 80 04 21 */	bctrl
/* 80295358 00290FB8  2C 03 00 00 */	cmpwi r3, 0
/* 8029535C 00290FBC  90 7C 00 34 */	stw r3, 0x34(r28)
/* 80295360 00290FC0  40 82 00 0C */	bne lbl_8029536C
/* 80295364 00290FC4  38 60 00 00 */	li r3, 0
/* 80295368 00290FC8  48 00 00 78 */	b lbl_802953E0
lbl_8029536C:
/* 8029536C 00290FCC  3B 5A 00 01 */	addi r26, r26, 1
/* 80295370 00290FD0  3B 9C 00 04 */	addi r28, r28, 4
/* 80295374 00290FD4  28 1A 00 02 */	cmplwi r26, 2
/* 80295378 00290FD8  3B 7B 00 04 */	addi r27, r27, 4
/* 8029537C 00290FDC  41 80 FF C8 */	blt lbl_80295344
/* 80295380 00290FE0  7F 1C C3 78 */	mr r28, r24
/* 80295384 00290FE4  7F BB EB 78 */	mr r27, r29
/* 80295388 00290FE8  3B 40 00 00 */	li r26, 0
lbl_8029538C:
/* 8029538C 00290FEC  80 1C 00 94 */	lwz r0, 0x94(r28)
/* 80295390 00290FF0  81 8D 88 F8 */	lwz r12, lbl_8063DBB8-_SDA_BASE_(r13)
/* 80295394 00290FF4  54 03 10 3A */	slwi r3, r0, 2
/* 80295398 00290FF8  7D 89 03 A6 */	mtctr r12
/* 8029539C 00290FFC  4E 80 04 21 */	bctrl
/* 802953A0 00291000  2C 03 00 00 */	cmpwi r3, 0
/* 802953A4 00291004  90 7B 00 6C */	stw r3, 0x6c(r27)
/* 802953A8 00291008  40 82 00 0C */	bne lbl_802953B4
/* 802953AC 0029100C  38 60 00 00 */	li r3, 0
/* 802953B0 00291010  48 00 00 30 */	b lbl_802953E0
lbl_802953B4:
/* 802953B4 00291014  3B 5A 00 01 */	addi r26, r26, 1
/* 802953B8 00291018  3B 7B 00 04 */	addi r27, r27, 4
/* 802953BC 0029101C  28 1A 00 02 */	cmplwi r26, 2
/* 802953C0 00291020  3B 9C 00 04 */	addi r28, r28, 4
/* 802953C4 00291024  41 80 FF C8 */	blt lbl_8029538C
/* 802953C8 00291028  3B 39 00 01 */	addi r25, r25, 1
/* 802953CC 0029102C  3B BD 00 08 */	addi r29, r29, 8
/* 802953D0 00291030  28 19 00 03 */	cmplwi r25, 3
/* 802953D4 00291034  3B DE 00 04 */	addi r30, r30, 4
/* 802953D8 00291038  41 80 FF 04 */	blt lbl_802952DC
/* 802953DC 0029103C  38 60 00 01 */	li r3, 1
lbl_802953E0:
/* 802953E0 00291040  39 61 00 30 */	addi r11, r1, 0x30
/* 802953E4 00291044  4B F3 1D 85 */	bl _restgpr_24
/* 802953E8 00291048  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802953EC 0029104C  7C 08 03 A6 */	mtlr r0
/* 802953F0 00291050  38 21 00 30 */	addi r1, r1, 0x30
/* 802953F4 00291054  4E 80 00 20 */	blr

.global func_802953F8
func_802953F8:
/* 802953F8 00291058  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802953FC 0029105C  7C 08 02 A6 */	mflr r0
/* 80295400 00291060  90 01 00 34 */	stw r0, 0x34(r1)
/* 80295404 00291064  39 61 00 30 */	addi r11, r1, 0x30
/* 80295408 00291068  4B F3 1D 19 */	bl _savegpr_25
/* 8029540C 0029106C  7C 79 1B 78 */	mr r25, r3
/* 80295410 00291070  3B 40 00 00 */	li r26, 0
/* 80295414 00291074  7F 3F CB 78 */	mr r31, r25
/* 80295418 00291078  7F 3E CB 78 */	mr r30, r25
lbl_8029541C:
/* 8029541C 0029107C  80 7F 00 00 */	lwz r3, 0(r31)
/* 80295420 00291080  2C 03 00 00 */	cmpwi r3, 0
/* 80295424 00291084  41 82 00 14 */	beq lbl_80295438
/* 80295428 00291088  80 19 00 14 */	lwz r0, 0x14(r25)
/* 8029542C 0029108C  38 80 00 00 */	li r4, 0
/* 80295430 00291090  54 05 10 3A */	slwi r5, r0, 2
/* 80295434 00291094  4B D6 EC D1 */	bl memset
lbl_80295438:
/* 80295438 00291098  80 7F 00 1C */	lwz r3, 0x1c(r31)
/* 8029543C 0029109C  2C 03 00 00 */	cmpwi r3, 0
/* 80295440 002910A0  41 82 00 14 */	beq lbl_80295454
/* 80295444 002910A4  80 19 00 30 */	lwz r0, 0x30(r25)
/* 80295448 002910A8  38 80 00 00 */	li r4, 0
/* 8029544C 002910AC  54 05 10 3A */	slwi r5, r0, 2
/* 80295450 002910B0  4B D6 EC B5 */	bl memset
lbl_80295454:
/* 80295454 002910B4  7F DC F3 78 */	mr r28, r30
/* 80295458 002910B8  7F 3D CB 78 */	mr r29, r25
/* 8029545C 002910BC  3B 60 00 00 */	li r27, 0
lbl_80295460:
/* 80295460 002910C0  80 7C 00 34 */	lwz r3, 0x34(r28)
/* 80295464 002910C4  2C 03 00 00 */	cmpwi r3, 0
/* 80295468 002910C8  41 82 00 14 */	beq lbl_8029547C
/* 8029546C 002910CC  80 1D 00 5C */	lwz r0, 0x5c(r29)
/* 80295470 002910D0  38 80 00 00 */	li r4, 0
/* 80295474 002910D4  54 05 10 3A */	slwi r5, r0, 2
/* 80295478 002910D8  4B D6 EC 8D */	bl memset
lbl_8029547C:
/* 8029547C 002910DC  3B 7B 00 01 */	addi r27, r27, 1
/* 80295480 002910E0  3B BD 00 04 */	addi r29, r29, 4
/* 80295484 002910E4  28 1B 00 02 */	cmplwi r27, 2
/* 80295488 002910E8  3B 9C 00 04 */	addi r28, r28, 4
/* 8029548C 002910EC  41 80 FF D4 */	blt lbl_80295460
/* 80295490 002910F0  7F DD F3 78 */	mr r29, r30
/* 80295494 002910F4  7F 3C CB 78 */	mr r28, r25
/* 80295498 002910F8  3B 60 00 00 */	li r27, 0
lbl_8029549C:
/* 8029549C 002910FC  80 7D 00 6C */	lwz r3, 0x6c(r29)
/* 802954A0 00291100  2C 03 00 00 */	cmpwi r3, 0
/* 802954A4 00291104  41 82 00 14 */	beq lbl_802954B8
/* 802954A8 00291108  80 1C 00 94 */	lwz r0, 0x94(r28)
/* 802954AC 0029110C  38 80 00 00 */	li r4, 0
/* 802954B0 00291110  54 05 10 3A */	slwi r5, r0, 2
/* 802954B4 00291114  4B D6 EC 51 */	bl memset
lbl_802954B8:
/* 802954B8 00291118  3B 7B 00 01 */	addi r27, r27, 1
/* 802954BC 0029111C  3B 9C 00 04 */	addi r28, r28, 4
/* 802954C0 00291120  28 1B 00 02 */	cmplwi r27, 2
/* 802954C4 00291124  3B BD 00 04 */	addi r29, r29, 4
/* 802954C8 00291128  41 80 FF D4 */	blt lbl_8029549C
/* 802954CC 0029112C  3B 5A 00 01 */	addi r26, r26, 1
/* 802954D0 00291130  3B DE 00 08 */	addi r30, r30, 8
/* 802954D4 00291134  28 1A 00 03 */	cmplwi r26, 3
/* 802954D8 00291138  3B FF 00 04 */	addi r31, r31, 4
/* 802954DC 0029113C  41 80 FF 40 */	blt lbl_8029541C
/* 802954E0 00291140  39 61 00 30 */	addi r11, r1, 0x30
/* 802954E4 00291144  4B F3 1C 89 */	bl _restgpr_25
/* 802954E8 00291148  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802954EC 0029114C  7C 08 03 A6 */	mtlr r0
/* 802954F0 00291150  38 21 00 30 */	addi r1, r1, 0x30
/* 802954F4 00291154  4E 80 00 20 */	blr

.global func_802954F8
func_802954F8:
/* 802954F8 00291158  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802954FC 0029115C  7C 08 02 A6 */	mflr r0
/* 80295500 00291160  90 01 00 24 */	stw r0, 0x24(r1)
/* 80295504 00291164  39 61 00 20 */	addi r11, r1, 0x20
/* 80295508 00291168  4B F3 1C 1D */	bl _savegpr_26
/* 8029550C 0029116C  3B 40 00 00 */	li r26, 0
/* 80295510 00291170  7C 7E 1B 78 */	mr r30, r3
/* 80295514 00291174  3B E0 00 00 */	li r31, 0
/* 80295518 00291178  7C 7D 1B 78 */	mr r29, r3
lbl_8029551C:
/* 8029551C 0029117C  80 7E 00 00 */	lwz r3, 0(r30)
/* 80295520 00291180  2C 03 00 00 */	cmpwi r3, 0
/* 80295524 00291184  41 82 00 14 */	beq lbl_80295538
/* 80295528 00291188  81 8D 88 FC */	lwz r12, lbl_8063DBBC-_SDA_BASE_(r13)
/* 8029552C 0029118C  7D 89 03 A6 */	mtctr r12
/* 80295530 00291190  4E 80 04 21 */	bctrl
/* 80295534 00291194  93 FE 00 00 */	stw r31, 0(r30)
lbl_80295538:
/* 80295538 00291198  80 7E 00 1C */	lwz r3, 0x1c(r30)
/* 8029553C 0029119C  2C 03 00 00 */	cmpwi r3, 0
/* 80295540 002911A0  41 82 00 14 */	beq lbl_80295554
/* 80295544 002911A4  81 8D 88 FC */	lwz r12, lbl_8063DBBC-_SDA_BASE_(r13)
/* 80295548 002911A8  7D 89 03 A6 */	mtctr r12
/* 8029554C 002911AC  4E 80 04 21 */	bctrl
/* 80295550 002911B0  93 FE 00 1C */	stw r31, 0x1c(r30)
lbl_80295554:
/* 80295554 002911B4  7F BC EB 78 */	mr r28, r29
/* 80295558 002911B8  3B 60 00 00 */	li r27, 0
lbl_8029555C:
/* 8029555C 002911BC  80 7C 00 34 */	lwz r3, 0x34(r28)
/* 80295560 002911C0  2C 03 00 00 */	cmpwi r3, 0
/* 80295564 002911C4  41 82 00 14 */	beq lbl_80295578
/* 80295568 002911C8  81 8D 88 FC */	lwz r12, lbl_8063DBBC-_SDA_BASE_(r13)
/* 8029556C 002911CC  7D 89 03 A6 */	mtctr r12
/* 80295570 002911D0  4E 80 04 21 */	bctrl
/* 80295574 002911D4  93 FC 00 34 */	stw r31, 0x34(r28)
lbl_80295578:
/* 80295578 002911D8  3B 7B 00 01 */	addi r27, r27, 1
/* 8029557C 002911DC  3B 9C 00 04 */	addi r28, r28, 4
/* 80295580 002911E0  28 1B 00 02 */	cmplwi r27, 2
/* 80295584 002911E4  41 80 FF D8 */	blt lbl_8029555C
/* 80295588 002911E8  7F BC EB 78 */	mr r28, r29
/* 8029558C 002911EC  3B 60 00 00 */	li r27, 0
lbl_80295590:
/* 80295590 002911F0  80 7C 00 6C */	lwz r3, 0x6c(r28)
/* 80295594 002911F4  2C 03 00 00 */	cmpwi r3, 0
/* 80295598 002911F8  41 82 00 14 */	beq lbl_802955AC
/* 8029559C 002911FC  81 8D 88 FC */	lwz r12, lbl_8063DBBC-_SDA_BASE_(r13)
/* 802955A0 00291200  7D 89 03 A6 */	mtctr r12
/* 802955A4 00291204  4E 80 04 21 */	bctrl
/* 802955A8 00291208  93 FC 00 6C */	stw r31, 0x6c(r28)
lbl_802955AC:
/* 802955AC 0029120C  3B 7B 00 01 */	addi r27, r27, 1
/* 802955B0 00291210  3B 9C 00 04 */	addi r28, r28, 4
/* 802955B4 00291214  28 1B 00 02 */	cmplwi r27, 2
/* 802955B8 00291218  41 80 FF D8 */	blt lbl_80295590
/* 802955BC 0029121C  3B 5A 00 01 */	addi r26, r26, 1
/* 802955C0 00291220  3B BD 00 08 */	addi r29, r29, 8
/* 802955C4 00291224  28 1A 00 03 */	cmplwi r26, 3
/* 802955C8 00291228  3B DE 00 04 */	addi r30, r30, 4
/* 802955CC 0029122C  41 80 FF 50 */	blt lbl_8029551C
/* 802955D0 00291230  39 61 00 20 */	addi r11, r1, 0x20
/* 802955D4 00291234  4B F3 1B 9D */	bl _restgpr_26
/* 802955D8 00291238  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802955DC 0029123C  7C 08 03 A6 */	mtlr r0
/* 802955E0 00291240  38 21 00 20 */	addi r1, r1, 0x20
/* 802955E4 00291244  4E 80 00 20 */	blr

.global func_802955E8
func_802955E8:
/* 802955E8 00291248  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 802955EC 0029124C  7C 08 02 A6 */	mflr r0
/* 802955F0 00291250  90 01 00 64 */	stw r0, 0x64(r1)
/* 802955F4 00291254  DB E1 00 50 */	stfd f31, 0x50(r1)
/* 802955F8 00291258  F3 E1 00 58 */	psq_st f31, 88(r1), 0, qr0
/* 802955FC 0029125C  DB C1 00 40 */	stfd f30, 0x40(r1)
/* 80295600 00291260  F3 C1 00 48 */	psq_st f30, 72(r1), 0, qr0
/* 80295604 00291264  DB A1 00 30 */	stfd f29, 0x30(r1)
/* 80295608 00291268  F3 A1 00 38 */	psq_st f29, 56(r1), 0, qr0
/* 8029560C 0029126C  39 61 00 30 */	addi r11, r1, 0x30
/* 80295610 00291270  4B F3 1B 11 */	bl _savegpr_25
/* 80295614 00291274  80 A3 00 B4 */	lwz r5, 0xb4(r3)
/* 80295618 00291278  7C 7F 1B 78 */	mr r31, r3
/* 8029561C 0029127C  28 05 00 08 */	cmplwi r5, 8
/* 80295620 00291280  41 80 00 0C */	blt lbl_8029562C
/* 80295624 00291284  38 60 00 00 */	li r3, 0
/* 80295628 00291288  48 00 02 3C */	b lbl_80295864
lbl_8029562C:
/* 8029562C 0029128C  C0 23 00 BC */	lfs f1, 0xbc(r3)
/* 80295630 00291290  C0 42 A2 E4 */	lfs f2, lbl_806428E4-_SDA2_BASE_(r2)
/* 80295634 00291294  FC 01 10 40 */	fcmpo cr0, f1, f2
/* 80295638 00291298  41 80 00 10 */	blt lbl_80295648
/* 8029563C 0029129C  C0 03 00 B8 */	lfs f0, 0xb8(r3)
/* 80295640 002912A0  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 80295644 002912A4  40 81 00 0C */	ble lbl_80295650
lbl_80295648:
/* 80295648 002912A8  38 60 00 00 */	li r3, 0
/* 8029564C 002912AC  48 00 02 18 */	b lbl_80295864
lbl_80295650:
/* 80295650 002912B0  80 03 00 C0 */	lwz r0, 0xc0(r3)
/* 80295654 002912B4  28 00 00 06 */	cmplwi r0, 6
/* 80295658 002912B8  41 80 00 0C */	blt lbl_80295664
/* 8029565C 002912BC  38 60 00 00 */	li r3, 0
/* 80295660 002912C0  48 00 02 04 */	b lbl_80295864
lbl_80295664:
/* 80295664 002912C4  C0 03 00 C4 */	lfs f0, 0xc4(r3)
/* 80295668 002912C8  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 8029566C 002912CC  40 80 00 0C */	bge lbl_80295678
/* 80295670 002912D0  38 60 00 00 */	li r3, 0
/* 80295674 002912D4  48 00 01 F0 */	b lbl_80295864
lbl_80295678:
/* 80295678 002912D8  C0 03 00 C8 */	lfs f0, 0xc8(r3)
/* 8029567C 002912DC  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 80295680 002912E0  41 80 00 10 */	blt lbl_80295690
/* 80295684 002912E4  C0 22 A2 E8 */	lfs f1, lbl_806428E8-_SDA2_BASE_(r2)
/* 80295688 002912E8  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 8029568C 002912EC  40 81 00 0C */	ble lbl_80295698
lbl_80295690:
/* 80295690 002912F0  38 60 00 00 */	li r3, 0
/* 80295694 002912F4  48 00 01 D0 */	b lbl_80295864
lbl_80295698:
/* 80295698 002912F8  C0 03 00 CC */	lfs f0, 0xcc(r3)
/* 8029569C 002912FC  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 802956A0 00291300  41 80 00 0C */	blt lbl_802956AC
/* 802956A4 00291304  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 802956A8 00291308  40 81 00 0C */	ble lbl_802956B4
lbl_802956AC:
/* 802956AC 0029130C  38 60 00 00 */	li r3, 0
/* 802956B0 00291310  48 00 01 B4 */	b lbl_80295864
lbl_802956B4:
/* 802956B4 00291314  C0 03 00 D0 */	lfs f0, 0xd0(r3)
/* 802956B8 00291318  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 802956BC 0029131C  41 80 00 0C */	blt lbl_802956C8
/* 802956C0 00291320  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 802956C4 00291324  40 81 00 0C */	ble lbl_802956D0
lbl_802956C8:
/* 802956C8 00291328  38 60 00 00 */	li r3, 0
/* 802956CC 0029132C  48 00 01 98 */	b lbl_80295864
lbl_802956D0:
/* 802956D0 00291330  C0 03 00 D4 */	lfs f0, 0xd4(r3)
/* 802956D4 00291334  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 802956D8 00291338  41 80 00 0C */	blt lbl_802956E4
/* 802956DC 0029133C  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 802956E0 00291340  40 81 00 0C */	ble lbl_802956EC
lbl_802956E4:
/* 802956E4 00291344  38 60 00 00 */	li r3, 0
/* 802956E8 00291348  48 00 01 7C */	b lbl_80295864
lbl_802956EC:
/* 802956EC 0029134C  C0 03 00 E0 */	lfs f0, 0xe0(r3)
/* 802956F0 00291350  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 802956F4 00291354  41 80 00 0C */	blt lbl_80295700
/* 802956F8 00291358  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 802956FC 0029135C  40 81 00 0C */	ble lbl_80295708
lbl_80295700:
/* 80295700 00291360  38 60 00 00 */	li r3, 0
/* 80295704 00291364  48 00 01 60 */	b lbl_80295864
lbl_80295708:
/* 80295708 00291368  C0 03 00 E4 */	lfs f0, 0xe4(r3)
/* 8029570C 0029136C  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 80295710 00291370  41 80 00 0C */	blt lbl_8029571C
/* 80295714 00291374  FC 00 08 40 */	fcmpo cr0, f0, f1
/* 80295718 00291378  40 81 00 0C */	ble lbl_80295724
lbl_8029571C:
/* 8029571C 0029137C  38 60 00 00 */	li r3, 0
/* 80295720 00291380  48 00 01 44 */	b lbl_80295864
lbl_80295724:
/* 80295724 00291384  38 00 00 00 */	li r0, 0
/* 80295728 00291388  3C 80 80 44 */	lis r4, lbl_8043A6E0@ha
/* 8029572C 0029138C  90 03 00 0C */	stw r0, 0xc(r3)
/* 80295730 00291390  54 A0 10 3A */	slwi r0, r5, 2
/* 80295734 00291394  38 84 A6 E0 */	addi r4, r4, lbl_8043A6E0@l
/* 80295738 00291398  28 05 00 03 */	cmplwi r5, 3
/* 8029573C 0029139C  7C 04 00 2E */	lwzx r0, r4, r0
/* 80295740 002913A0  90 03 00 10 */	stw r0, 0x10(r3)
/* 80295744 002913A4  41 81 00 10 */	bgt lbl_80295754
/* 80295748 002913A8  C0 02 A2 F8 */	lfs f0, lbl_806428F8-_SDA2_BASE_(r2)
/* 8029574C 002913AC  D0 03 00 18 */	stfs f0, 0x18(r3)
/* 80295750 002913B0  48 00 00 0C */	b lbl_8029575C
lbl_80295754:
/* 80295754 002913B4  C0 02 A2 FC */	lfs f0, lbl_806428FC-_SDA2_BASE_(r2)
/* 80295758 002913B8  D0 03 00 18 */	stfs f0, 0x18(r3)
lbl_8029575C:
/* 8029575C 002913BC  C0 22 A2 E0 */	lfs f1, lbl_806428E0-_SDA2_BASE_(r2)
/* 80295760 002913C0  3B 80 00 00 */	li r28, 0
/* 80295764 002913C4  C0 03 00 BC */	lfs f0, 0xbc(r3)
/* 80295768 002913C8  93 83 00 28 */	stw r28, 0x28(r3)
/* 8029576C 002913CC  EC 21 00 32 */	fmuls f1, f1, f0
/* 80295770 002913D0  4B F3 18 91 */	bl __cvt_fp2unsigned
/* 80295774 002913D4  3F A0 80 44 */	lis r29, lbl_8043A700@ha
/* 80295778 002913D8  90 7F 00 2C */	stw r3, 0x2c(r31)
/* 8029577C 002913DC  CB A2 A3 18 */	lfd f29, lbl_80642918-_SDA2_BASE_(r2)
/* 80295780 002913E0  7F FB FB 78 */	mr r27, r31
/* 80295784 002913E4  C3 C2 A3 00 */	lfs f30, lbl_80642900-_SDA2_BASE_(r2)
/* 80295788 002913E8  3B BD A7 00 */	addi r29, r29, lbl_8043A700@l
/* 8029578C 002913EC  C3 E2 A2 E0 */	lfs f31, lbl_806428E0-_SDA2_BASE_(r2)
/* 80295790 002913F0  3B 20 00 00 */	li r25, 0
/* 80295794 002913F4  3B 40 00 00 */	li r26, 0
/* 80295798 002913F8  3F C0 43 30 */	lis r30, 0x4330
lbl_8029579C:
/* 8029579C 002913FC  93 9B 00 4C */	stw r28, 0x4c(r27)
/* 802957A0 00291400  C8 22 A3 08 */	lfd f1, lbl_80642908-_SDA2_BASE_(r2)
/* 802957A4 00291404  80 1F 00 C0 */	lwz r0, 0xc0(r31)
/* 802957A8 00291408  93 C1 00 08 */	stw r30, 8(r1)
/* 802957AC 0029140C  54 00 20 36 */	slwi r0, r0, 4
/* 802957B0 00291410  7C 1A 02 14 */	add r0, r26, r0
/* 802957B4 00291414  7C 1D 00 2E */	lwzx r0, r29, r0
/* 802957B8 00291418  90 01 00 0C */	stw r0, 0xc(r1)
/* 802957BC 0029141C  C8 01 00 08 */	lfd f0, 8(r1)
/* 802957C0 00291420  90 1B 00 54 */	stw r0, 0x54(r27)
/* 802957C4 00291424  EC 40 E8 28 */	fsubs f2, f0, f29
/* 802957C8 00291428  C0 1F 00 C4 */	lfs f0, 0xc4(r31)
/* 802957CC 0029142C  EC 5E 00 B2 */	fmuls f2, f30, f2
/* 802957D0 00291430  EC 1F 00 32 */	fmuls f0, f31, f0
/* 802957D4 00291434  EC 42 00 24 */	fdivs f2, f2, f0
/* 802957D8 00291438  4B F3 EE 0D */	bl pow
/* 802957DC 0029143C  FC 00 08 18 */	frsp f0, f1
/* 802957E0 00291440  3B 39 00 01 */	addi r25, r25, 1
/* 802957E4 00291444  28 19 00 02 */	cmplwi r25, 2
/* 802957E8 00291448  3B 5A 00 04 */	addi r26, r26, 4
/* 802957EC 0029144C  D0 1B 00 64 */	stfs f0, 0x64(r27)
/* 802957F0 00291450  3B 7B 00 04 */	addi r27, r27, 4
/* 802957F4 00291454  41 80 FF A8 */	blt lbl_8029579C
/* 802957F8 00291458  80 1F 00 C0 */	lwz r0, 0xc0(r31)
/* 802957FC 0029145C  38 80 00 00 */	li r4, 0
/* 80295800 00291460  3C 60 80 44 */	lis r3, lbl_8043A700@ha
/* 80295804 00291464  90 9F 00 84 */	stw r4, 0x84(r31)
/* 80295808 00291468  38 63 A7 00 */	addi r3, r3, lbl_8043A700@l
/* 8029580C 0029146C  54 00 20 36 */	slwi r0, r0, 4
/* 80295810 00291470  7C 63 02 14 */	add r3, r3, r0
/* 80295814 00291474  C0 22 A2 E8 */	lfs f1, lbl_806428E8-_SDA2_BASE_(r2)
/* 80295818 00291478  80 03 00 08 */	lwz r0, 8(r3)
/* 8029581C 0029147C  C0 1F 00 CC */	lfs f0, 0xcc(r31)
/* 80295820 00291480  90 1F 00 8C */	stw r0, 0x8c(r31)
/* 80295824 00291484  EC 21 00 28 */	fsubs f1, f1, f0
/* 80295828 00291488  C0 02 A3 10 */	lfs f0, lbl_80642910-_SDA2_BASE_(r2)
/* 8029582C 0029148C  90 9F 00 88 */	stw r4, 0x88(r31)
/* 80295830 00291490  C0 5F 00 C8 */	lfs f2, 0xc8(r31)
/* 80295834 00291494  80 03 00 0C */	lwz r0, 0xc(r3)
/* 80295838 00291498  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 8029583C 0029149C  90 1F 00 90 */	stw r0, 0x90(r31)
/* 80295840 002914A0  D0 5F 00 9C */	stfs f2, 0x9c(r31)
/* 80295844 002914A4  D0 3F 00 AC */	stfs f1, 0xac(r31)
/* 80295848 002914A8  40 81 00 08 */	ble lbl_80295850
/* 8029584C 002914AC  D0 1F 00 AC */	stfs f0, 0xac(r31)
lbl_80295850:
/* 80295850 002914B0  C0 02 A2 E4 */	lfs f0, lbl_806428E4-_SDA2_BASE_(r2)
/* 80295854 002914B4  38 60 00 01 */	li r3, 1
/* 80295858 002914B8  D0 1F 00 A0 */	stfs f0, 0xa0(r31)
/* 8029585C 002914BC  D0 1F 00 A4 */	stfs f0, 0xa4(r31)
/* 80295860 002914C0  D0 1F 00 A8 */	stfs f0, 0xa8(r31)
lbl_80295864:
/* 80295864 002914C4  E3 E1 00 58 */	psq_l f31, 88(r1), 0, qr0
/* 80295868 002914C8  CB E1 00 50 */	lfd f31, 0x50(r1)
/* 8029586C 002914CC  E3 C1 00 48 */	psq_l f30, 72(r1), 0, qr0
/* 80295870 002914D0  CB C1 00 40 */	lfd f30, 0x40(r1)
/* 80295874 002914D4  E3 A1 00 38 */	psq_l f29, 56(r1), 0, qr0
/* 80295878 002914D8  39 61 00 30 */	addi r11, r1, 0x30
/* 8029587C 002914DC  CB A1 00 30 */	lfd f29, 0x30(r1)
/* 80295880 002914E0  4B F3 18 ED */	bl _restgpr_25
/* 80295884 002914E4  80 01 00 64 */	lwz r0, 0x64(r1)
/* 80295888 002914E8  7C 08 03 A6 */	mtlr r0
/* 8029588C 002914EC  38 21 00 60 */	addi r1, r1, 0x60
/* 80295890 002914F0  4E 80 00 20 */	blr

.global func_80295894
func_80295894:
/* 80295894 002914F4  48 00 01 64 */	b lbl_802959F8

.global func_80295898
func_80295898:
/* 80295898 002914F8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8029589C 002914FC  7C 08 02 A6 */	mflr r0
/* 802958A0 00291500  3C C0 43 30 */	lis r6, 0x4330
/* 802958A4 00291504  C8 C2 A3 30 */	lfd f6, lbl_80642930-_SDA2_BASE_(r2)
/* 802958A8 00291508  90 01 00 24 */	stw r0, 0x24(r1)
/* 802958AC 0029150C  38 00 00 00 */	li r0, 0
/* 802958B0 00291510  C0 22 A3 24 */	lfs f1, lbl_80642924-_SDA2_BASE_(r2)
/* 802958B4 00291514  80 E3 00 A0 */	lwz r7, 0xa0(r3)
/* 802958B8 00291518  80 A3 00 A4 */	lwz r5, 0xa4(r3)
/* 802958BC 0029151C  80 83 00 A8 */	lwz r4, 0xa8(r3)
/* 802958C0 00291520  90 E1 00 0C */	stw r7, 0xc(r1)
/* 802958C4 00291524  C0 42 A3 20 */	lfs f2, lbl_80642920-_SDA2_BASE_(r2)
/* 802958C8 00291528  90 C1 00 08 */	stw r6, 8(r1)
/* 802958CC 0029152C  C8 01 00 08 */	lfd f0, 8(r1)
/* 802958D0 00291530  90 A1 00 14 */	stw r5, 0x14(r1)
/* 802958D4 00291534  EC A0 30 28 */	fsubs f5, f0, f6
/* 802958D8 00291538  C0 02 A3 28 */	lfs f0, lbl_80642928-_SDA2_BASE_(r2)
/* 802958DC 0029153C  90 C1 00 10 */	stw r6, 0x10(r1)
/* 802958E0 00291540  C8 61 00 10 */	lfd f3, 0x10(r1)
/* 802958E4 00291544  90 81 00 1C */	stw r4, 0x1c(r1)
/* 802958E8 00291548  EC 83 30 28 */	fsubs f4, f3, f6
/* 802958EC 0029154C  90 C1 00 18 */	stw r6, 0x18(r1)
/* 802958F0 00291550  EC 84 28 24 */	fdivs f4, f4, f5
/* 802958F4 00291554  C8 61 00 18 */	lfd f3, 0x18(r1)
/* 802958F8 00291558  D0 03 00 98 */	stfs f0, 0x98(r3)
/* 802958FC 0029155C  D0 A3 00 80 */	stfs f5, 0x80(r3)
/* 80295900 00291560  D0 23 00 8C */	stfs f1, 0x8c(r3)
/* 80295904 00291564  90 03 00 90 */	stw r0, 0x90(r3)
/* 80295908 00291568  EC 03 30 28 */	fsubs f0, f3, f6
/* 8029590C 0029156C  90 03 00 94 */	stw r0, 0x94(r3)
/* 80295910 00291570  D0 83 00 84 */	stfs f4, 0x84(r3)
/* 80295914 00291574  EC 02 00 24 */	fdivs f0, f2, f0
/* 80295918 00291578  D0 23 00 9C */	stfs f1, 0x9c(r3)
/* 8029591C 0029157C  D0 03 00 88 */	stfs f0, 0x88(r3)
/* 80295920 00291580  48 00 00 E5 */	bl func_80295A04
/* 80295924 00291584  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80295928 00291588  7C 08 03 A6 */	mtlr r0
/* 8029592C 0029158C  38 21 00 20 */	addi r1, r1, 0x20
/* 80295930 00291590  4E 80 00 20 */	blr

.global func_80295934
func_80295934:
/* 80295934 00291594  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80295938 00291598  7C 08 02 A6 */	mflr r0
/* 8029593C 0029159C  90 01 00 14 */	stw r0, 0x14(r1)
/* 80295940 002915A0  48 00 04 49 */	bl func_80295D88
/* 80295944 002915A4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80295948 002915A8  38 60 00 01 */	li r3, 1
/* 8029594C 002915AC  7C 08 03 A6 */	mtlr r0
/* 80295950 002915B0  38 21 00 10 */	addi r1, r1, 0x10
/* 80295954 002915B4  4E 80 00 20 */	blr

.global func_80295958
func_80295958:
/* 80295958 002915B8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8029595C 002915BC  7C 08 02 A6 */	mflr r0
/* 80295960 002915C0  3C C0 43 30 */	lis r6, 0x4330
/* 80295964 002915C4  C8 C2 A3 30 */	lfd f6, lbl_80642930-_SDA2_BASE_(r2)
/* 80295968 002915C8  90 01 00 24 */	stw r0, 0x24(r1)
/* 8029596C 002915CC  38 00 00 00 */	li r0, 0
/* 80295970 002915D0  C0 22 A3 24 */	lfs f1, lbl_80642924-_SDA2_BASE_(r2)
/* 80295974 002915D4  80 E3 00 A0 */	lwz r7, 0xa0(r3)
/* 80295978 002915D8  80 A3 00 A4 */	lwz r5, 0xa4(r3)
/* 8029597C 002915DC  80 83 00 A8 */	lwz r4, 0xa8(r3)
/* 80295980 002915E0  90 E1 00 0C */	stw r7, 0xc(r1)
/* 80295984 002915E4  C0 42 A3 20 */	lfs f2, lbl_80642920-_SDA2_BASE_(r2)
/* 80295988 002915E8  90 C1 00 08 */	stw r6, 8(r1)
/* 8029598C 002915EC  C8 01 00 08 */	lfd f0, 8(r1)
/* 80295990 002915F0  90 A1 00 14 */	stw r5, 0x14(r1)
/* 80295994 002915F4  EC A0 30 28 */	fsubs f5, f0, f6
/* 80295998 002915F8  C0 02 A3 28 */	lfs f0, lbl_80642928-_SDA2_BASE_(r2)
/* 8029599C 002915FC  90 C1 00 10 */	stw r6, 0x10(r1)
/* 802959A0 00291600  C8 61 00 10 */	lfd f3, 0x10(r1)
/* 802959A4 00291604  90 81 00 1C */	stw r4, 0x1c(r1)
/* 802959A8 00291608  EC 83 30 28 */	fsubs f4, f3, f6
/* 802959AC 0029160C  90 C1 00 18 */	stw r6, 0x18(r1)
/* 802959B0 00291610  EC 84 28 24 */	fdivs f4, f4, f5
/* 802959B4 00291614  C8 61 00 18 */	lfd f3, 0x18(r1)
/* 802959B8 00291618  D0 03 00 98 */	stfs f0, 0x98(r3)
/* 802959BC 0029161C  D0 A3 00 80 */	stfs f5, 0x80(r3)
/* 802959C0 00291620  D0 23 00 8C */	stfs f1, 0x8c(r3)
/* 802959C4 00291624  90 03 00 90 */	stw r0, 0x90(r3)
/* 802959C8 00291628  EC 03 30 28 */	fsubs f0, f3, f6
/* 802959CC 0029162C  90 03 00 94 */	stw r0, 0x94(r3)
/* 802959D0 00291630  D0 83 00 84 */	stfs f4, 0x84(r3)
/* 802959D4 00291634  EC 02 00 24 */	fdivs f0, f2, f0
/* 802959D8 00291638  D0 23 00 9C */	stfs f1, 0x9c(r3)
/* 802959DC 0029163C  D0 03 00 88 */	stfs f0, 0x88(r3)
/* 802959E0 00291640  48 00 02 81 */	bl func_80295C60
/* 802959E4 00291644  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802959E8 00291648  7C 08 03 A6 */	mtlr r0
/* 802959EC 0029164C  38 21 00 20 */	addi r1, r1, 0x20
/* 802959F0 00291650  4E 80 00 20 */	blr

.global func_802959F4
func_802959F4:
/* 802959F4 00291654  48 00 04 24 */	b lbl_80295E18
lbl_802959F8:
/* 802959F8 00291658  3C 60 00 01 */	lis r3, 0x00009600@ha
/* 802959FC 0029165C  38 63 96 00 */	addi r3, r3, 0x00009600@l
/* 80295A00 00291660  4E 80 00 20 */	blr

.global func_80295A04
func_80295A04:
/* 80295A04 00291664  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80295A08 00291668  7C 08 02 A6 */	mflr r0
/* 80295A0C 0029166C  90 01 00 24 */	stw r0, 0x24(r1)
/* 80295A10 00291670  39 61 00 20 */	addi r11, r1, 0x20
/* 80295A14 00291674  4B F3 17 15 */	bl _savegpr_27
/* 80295A18 00291678  7C 7E 1B 78 */	mr r30, r3
/* 80295A1C 0029167C  4B FD 8D 41 */	bl OSDisableInterrupts
/* 80295A20 00291680  80 9E 00 7C */	lwz r4, 0x7c(r30)
/* 80295A24 00291684  38 00 0C 80 */	li r0, 0xc80
/* 80295A28 00291688  90 1E 00 1C */	stw r0, 0x1c(r30)
/* 80295A2C 0029168C  7C 7F 1B 78 */	mr r31, r3
/* 80295A30 00291690  60 80 00 01 */	ori r0, r4, 1
/* 80295A34 00291694  7F DB F3 78 */	mr r27, r30
/* 80295A38 00291698  90 1E 00 7C */	stw r0, 0x7c(r30)
/* 80295A3C 0029169C  3B A0 00 00 */	li r29, 0
lbl_80295A40:
/* 80295A40 002916A0  80 1E 00 1C */	lwz r0, 0x1c(r30)
/* 80295A44 002916A4  81 8D 88 F8 */	lwz r12, lbl_8063DBB8-_SDA_BASE_(r13)
/* 80295A48 002916A8  54 03 10 3A */	slwi r3, r0, 2
/* 80295A4C 002916AC  7D 89 03 A6 */	mtctr r12
/* 80295A50 002916B0  4E 80 04 21 */	bctrl
/* 80295A54 002916B4  2C 03 00 00 */	cmpwi r3, 0
/* 80295A58 002916B8  90 7B 00 00 */	stw r3, 0(r27)
/* 80295A5C 002916BC  40 82 00 0C */	bne lbl_80295A68
/* 80295A60 002916C0  38 00 00 00 */	li r0, 0
/* 80295A64 002916C4  48 00 00 18 */	b lbl_80295A7C
lbl_80295A68:
/* 80295A68 002916C8  3B BD 00 01 */	addi r29, r29, 1
/* 80295A6C 002916CC  3B 7B 00 04 */	addi r27, r27, 4
/* 80295A70 002916D0  28 1D 00 03 */	cmplwi r29, 3
/* 80295A74 002916D4  41 80 FF CC */	blt lbl_80295A40
/* 80295A78 002916D8  38 00 00 01 */	li r0, 1
lbl_80295A7C:
/* 80295A7C 002916DC  2C 00 00 00 */	cmpwi r0, 0
/* 80295A80 002916E0  40 82 00 64 */	bne lbl_80295AE4
/* 80295A84 002916E4  4B FD 8C D9 */	bl OSDisableInterrupts
/* 80295A88 002916E8  80 1E 00 7C */	lwz r0, 0x7c(r30)
/* 80295A8C 002916EC  7C 7B 1B 78 */	mr r27, r3
/* 80295A90 002916F0  3B 80 00 00 */	li r28, 0
/* 80295A94 002916F4  3B A0 00 00 */	li r29, 0
/* 80295A98 002916F8  60 00 00 01 */	ori r0, r0, 1
/* 80295A9C 002916FC  90 1E 00 7C */	stw r0, 0x7c(r30)
lbl_80295AA0:
/* 80295AA0 00291700  80 7E 00 00 */	lwz r3, 0(r30)
/* 80295AA4 00291704  2C 03 00 00 */	cmpwi r3, 0
/* 80295AA8 00291708  41 82 00 10 */	beq lbl_80295AB8
/* 80295AAC 0029170C  81 8D 88 FC */	lwz r12, lbl_8063DBBC-_SDA_BASE_(r13)
/* 80295AB0 00291710  7D 89 03 A6 */	mtctr r12
/* 80295AB4 00291714  4E 80 04 21 */	bctrl
lbl_80295AB8:
/* 80295AB8 00291718  3B 9C 00 01 */	addi r28, r28, 1
/* 80295ABC 0029171C  93 BE 00 00 */	stw r29, 0(r30)
/* 80295AC0 00291720  28 1C 00 03 */	cmplwi r28, 3
/* 80295AC4 00291724  3B DE 00 04 */	addi r30, r30, 4
/* 80295AC8 00291728  41 80 FF D8 */	blt lbl_80295AA0
/* 80295ACC 0029172C  7F 63 DB 78 */	mr r3, r27
/* 80295AD0 00291730  4B FD 8C B5 */	bl OSRestoreInterrupts
/* 80295AD4 00291734  7F E3 FB 78 */	mr r3, r31
/* 80295AD8 00291738  4B FD 8C AD */	bl OSRestoreInterrupts
/* 80295ADC 0029173C  38 60 00 00 */	li r3, 0
/* 80295AE0 00291740  48 00 01 68 */	b lbl_80295C48
lbl_80295AE4:
/* 80295AE4 00291744  7F DC F3 78 */	mr r28, r30
/* 80295AE8 00291748  3B 60 00 00 */	li r27, 0
lbl_80295AEC:
/* 80295AEC 0029174C  80 7C 00 00 */	lwz r3, 0(r28)
/* 80295AF0 00291750  2C 03 00 00 */	cmpwi r3, 0
/* 80295AF4 00291754  40 82 00 0C */	bne lbl_80295B00
/* 80295AF8 00291758  38 80 00 00 */	li r4, 0
/* 80295AFC 0029175C  48 00 00 5C */	b lbl_80295B58
lbl_80295B00:
/* 80295B00 00291760  80 1E 00 1C */	lwz r0, 0x1c(r30)
/* 80295B04 00291764  38 80 00 00 */	li r4, 0
/* 80295B08 00291768  54 05 10 3A */	slwi r5, r0, 2
/* 80295B0C 0029176C  4B D6 E5 F9 */	bl memset
/* 80295B10 00291770  3B 7B 00 01 */	addi r27, r27, 1
/* 80295B14 00291774  3B 9C 00 04 */	addi r28, r28, 4
/* 80295B18 00291778  28 1B 00 03 */	cmplwi r27, 3
/* 80295B1C 0029177C  41 80 FF D0 */	blt lbl_80295AEC
/* 80295B20 00291780  C0 22 A3 38 */	lfs f1, lbl_80642938-_SDA2_BASE_(r2)
/* 80295B24 00291784  38 00 00 00 */	li r0, 0
/* 80295B28 00291788  C0 1E 00 80 */	lfs f0, 0x80(r30)
/* 80295B2C 0029178C  90 1E 00 0C */	stw r0, 0xc(r30)
/* 80295B30 00291790  EC 21 00 32 */	fmuls f1, f1, f0
/* 80295B34 00291794  4B F3 14 CD */	bl __cvt_fp2unsigned
/* 80295B38 00291798  80 1E 00 1C */	lwz r0, 0x1c(r30)
/* 80295B3C 0029179C  38 80 00 01 */	li r4, 1
/* 80295B40 002917A0  7C 63 00 50 */	subf r3, r3, r0
/* 80295B44 002917A4  54 00 80 1E */	slwi r0, r0, 0x10
/* 80295B48 002917A8  54 63 80 1E */	slwi r3, r3, 0x10
/* 80295B4C 002917AC  90 1E 00 18 */	stw r0, 0x18(r30)
/* 80295B50 002917B0  90 7E 00 10 */	stw r3, 0x10(r30)
/* 80295B54 002917B4  90 7E 00 14 */	stw r3, 0x14(r30)
lbl_80295B58:
/* 80295B58 002917B8  2C 04 00 00 */	cmpwi r4, 0
/* 80295B5C 002917BC  40 82 00 64 */	bne lbl_80295BC0
/* 80295B60 002917C0  4B FD 8B FD */	bl OSDisableInterrupts
/* 80295B64 002917C4  80 1E 00 7C */	lwz r0, 0x7c(r30)
/* 80295B68 002917C8  7C 7C 1B 78 */	mr r28, r3
/* 80295B6C 002917CC  3B 60 00 00 */	li r27, 0
/* 80295B70 002917D0  3B A0 00 00 */	li r29, 0
/* 80295B74 002917D4  60 00 00 01 */	ori r0, r0, 1
/* 80295B78 002917D8  90 1E 00 7C */	stw r0, 0x7c(r30)
lbl_80295B7C:
/* 80295B7C 002917DC  80 7E 00 00 */	lwz r3, 0(r30)
/* 80295B80 002917E0  2C 03 00 00 */	cmpwi r3, 0
/* 80295B84 002917E4  41 82 00 10 */	beq lbl_80295B94
/* 80295B88 002917E8  81 8D 88 FC */	lwz r12, lbl_8063DBBC-_SDA_BASE_(r13)
/* 80295B8C 002917EC  7D 89 03 A6 */	mtctr r12
/* 80295B90 002917F0  4E 80 04 21 */	bctrl
lbl_80295B94:
/* 80295B94 002917F4  3B 7B 00 01 */	addi r27, r27, 1
/* 80295B98 002917F8  93 BE 00 00 */	stw r29, 0(r30)
/* 80295B9C 002917FC  28 1B 00 03 */	cmplwi r27, 3
/* 80295BA0 00291800  3B DE 00 04 */	addi r30, r30, 4
/* 80295BA4 00291804  41 80 FF D8 */	blt lbl_80295B7C
/* 80295BA8 00291808  7F 83 E3 78 */	mr r3, r28
/* 80295BAC 0029180C  4B FD 8B D9 */	bl OSRestoreInterrupts
/* 80295BB0 00291810  7F E3 FB 78 */	mr r3, r31
/* 80295BB4 00291814  4B FD 8B D1 */	bl OSRestoreInterrupts
/* 80295BB8 00291818  38 60 00 00 */	li r3, 0
/* 80295BBC 0029181C  48 00 00 8C */	b lbl_80295C48
lbl_80295BC0:
/* 80295BC0 00291820  7F C3 F3 78 */	mr r3, r30
/* 80295BC4 00291824  48 00 05 B5 */	bl func_80296178
/* 80295BC8 00291828  2C 03 00 00 */	cmpwi r3, 0
/* 80295BCC 0029182C  40 82 00 64 */	bne lbl_80295C30
/* 80295BD0 00291830  4B FD 8B 8D */	bl OSDisableInterrupts
/* 80295BD4 00291834  80 1E 00 7C */	lwz r0, 0x7c(r30)
/* 80295BD8 00291838  7C 7C 1B 78 */	mr r28, r3
/* 80295BDC 0029183C  3B 60 00 00 */	li r27, 0
/* 80295BE0 00291840  3B A0 00 00 */	li r29, 0
/* 80295BE4 00291844  60 00 00 01 */	ori r0, r0, 1
/* 80295BE8 00291848  90 1E 00 7C */	stw r0, 0x7c(r30)
lbl_80295BEC:
/* 80295BEC 0029184C  80 7E 00 00 */	lwz r3, 0(r30)
/* 80295BF0 00291850  2C 03 00 00 */	cmpwi r3, 0
/* 80295BF4 00291854  41 82 00 10 */	beq lbl_80295C04
/* 80295BF8 00291858  81 8D 88 FC */	lwz r12, lbl_8063DBBC-_SDA_BASE_(r13)
/* 80295BFC 0029185C  7D 89 03 A6 */	mtctr r12
/* 80295C00 00291860  4E 80 04 21 */	bctrl
lbl_80295C04:
/* 80295C04 00291864  3B 7B 00 01 */	addi r27, r27, 1
/* 80295C08 00291868  93 BE 00 00 */	stw r29, 0(r30)
/* 80295C0C 0029186C  28 1B 00 03 */	cmplwi r27, 3
/* 80295C10 00291870  3B DE 00 04 */	addi r30, r30, 4
/* 80295C14 00291874  41 80 FF D8 */	blt lbl_80295BEC
/* 80295C18 00291878  7F 83 E3 78 */	mr r3, r28
/* 80295C1C 0029187C  4B FD 8B 69 */	bl OSRestoreInterrupts
/* 80295C20 00291880  7F E3 FB 78 */	mr r3, r31
/* 80295C24 00291884  4B FD 8B 61 */	bl OSRestoreInterrupts
/* 80295C28 00291888  38 60 00 00 */	li r3, 0
/* 80295C2C 0029188C  48 00 00 1C */	b lbl_80295C48
lbl_80295C30:
/* 80295C30 00291890  80 1E 00 7C */	lwz r0, 0x7c(r30)
/* 80295C34 00291894  7F E3 FB 78 */	mr r3, r31
/* 80295C38 00291898  54 00 00 3C */	rlwinm r0, r0, 0, 0, 0x1e
/* 80295C3C 0029189C  90 1E 00 7C */	stw r0, 0x7c(r30)
/* 80295C40 002918A0  4B FD 8B 45 */	bl OSRestoreInterrupts
/* 80295C44 002918A4  38 60 00 01 */	li r3, 1
lbl_80295C48:
/* 80295C48 002918A8  39 61 00 20 */	addi r11, r1, 0x20
/* 80295C4C 002918AC  4B F3 15 29 */	bl _restgpr_27
/* 80295C50 002918B0  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80295C54 002918B4  7C 08 03 A6 */	mtlr r0
/* 80295C58 002918B8  38 21 00 20 */	addi r1, r1, 0x20
/* 80295C5C 002918BC  4E 80 00 20 */	blr

.global func_80295C60
func_80295C60:
/* 80295C60 002918C0  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80295C64 002918C4  7C 08 02 A6 */	mflr r0
/* 80295C68 002918C8  90 01 00 24 */	stw r0, 0x24(r1)
/* 80295C6C 002918CC  39 61 00 20 */	addi r11, r1, 0x20
/* 80295C70 002918D0  4B F3 14 B5 */	bl _savegpr_26
/* 80295C74 002918D4  7C 7F 1B 78 */	mr r31, r3
/* 80295C78 002918D8  4B FD 8A E5 */	bl OSDisableInterrupts
/* 80295C7C 002918DC  80 1F 00 7C */	lwz r0, 0x7c(r31)
/* 80295C80 002918E0  7C 7A 1B 78 */	mr r26, r3
/* 80295C84 002918E4  60 00 00 01 */	ori r0, r0, 1
/* 80295C88 002918E8  90 1F 00 7C */	stw r0, 0x7c(r31)
/* 80295C8C 002918EC  4B FD 8A D1 */	bl OSDisableInterrupts
/* 80295C90 002918F0  80 1F 00 7C */	lwz r0, 0x7c(r31)
/* 80295C94 002918F4  7C 7C 1B 78 */	mr r28, r3
/* 80295C98 002918F8  7F FB FB 78 */	mr r27, r31
/* 80295C9C 002918FC  3B A0 00 00 */	li r29, 0
/* 80295CA0 00291900  60 00 00 01 */	ori r0, r0, 1
/* 80295CA4 00291904  3B C0 00 00 */	li r30, 0
/* 80295CA8 00291908  90 1F 00 7C */	stw r0, 0x7c(r31)
lbl_80295CAC:
/* 80295CAC 0029190C  80 7B 00 00 */	lwz r3, 0(r27)
/* 80295CB0 00291910  2C 03 00 00 */	cmpwi r3, 0
/* 80295CB4 00291914  41 82 00 10 */	beq lbl_80295CC4
/* 80295CB8 00291918  81 8D 88 FC */	lwz r12, lbl_8063DBBC-_SDA_BASE_(r13)
/* 80295CBC 0029191C  7D 89 03 A6 */	mtctr r12
/* 80295CC0 00291920  4E 80 04 21 */	bctrl
lbl_80295CC4:
/* 80295CC4 00291924  3B BD 00 01 */	addi r29, r29, 1
/* 80295CC8 00291928  93 DB 00 00 */	stw r30, 0(r27)
/* 80295CCC 0029192C  28 1D 00 03 */	cmplwi r29, 3
/* 80295CD0 00291930  3B 7B 00 04 */	addi r27, r27, 4
/* 80295CD4 00291934  41 80 FF D8 */	blt lbl_80295CAC
/* 80295CD8 00291938  7F 83 E3 78 */	mr r3, r28
/* 80295CDC 0029193C  4B FD 8A A9 */	bl OSRestoreInterrupts
/* 80295CE0 00291940  7F E3 FB 78 */	mr r3, r31
/* 80295CE4 00291944  4B FF FD 21 */	bl func_80295A04
/* 80295CE8 00291948  2C 03 00 00 */	cmpwi r3, 0
/* 80295CEC 0029194C  7C 7B 1B 78 */	mr r27, r3
/* 80295CF0 00291950  40 82 00 64 */	bne lbl_80295D54
/* 80295CF4 00291954  4B FD 8A 69 */	bl OSDisableInterrupts
/* 80295CF8 00291958  80 1F 00 7C */	lwz r0, 0x7c(r31)
/* 80295CFC 0029195C  7C 7D 1B 78 */	mr r29, r3
/* 80295D00 00291960  3B 80 00 00 */	li r28, 0
/* 80295D04 00291964  3B C0 00 00 */	li r30, 0
/* 80295D08 00291968  60 00 00 01 */	ori r0, r0, 1
/* 80295D0C 0029196C  90 1F 00 7C */	stw r0, 0x7c(r31)
lbl_80295D10:
/* 80295D10 00291970  80 7F 00 00 */	lwz r3, 0(r31)
/* 80295D14 00291974  2C 03 00 00 */	cmpwi r3, 0
/* 80295D18 00291978  41 82 00 10 */	beq lbl_80295D28
/* 80295D1C 0029197C  81 8D 88 FC */	lwz r12, lbl_8063DBBC-_SDA_BASE_(r13)
/* 80295D20 00291980  7D 89 03 A6 */	mtctr r12
/* 80295D24 00291984  4E 80 04 21 */	bctrl
lbl_80295D28:
/* 80295D28 00291988  3B 9C 00 01 */	addi r28, r28, 1
/* 80295D2C 0029198C  93 DF 00 00 */	stw r30, 0(r31)
/* 80295D30 00291990  28 1C 00 03 */	cmplwi r28, 3
/* 80295D34 00291994  3B FF 00 04 */	addi r31, r31, 4
/* 80295D38 00291998  41 80 FF D8 */	blt lbl_80295D10
/* 80295D3C 0029199C  7F A3 EB 78 */	mr r3, r29
/* 80295D40 002919A0  4B FD 8A 45 */	bl OSRestoreInterrupts
/* 80295D44 002919A4  7F 43 D3 78 */	mr r3, r26
/* 80295D48 002919A8  4B FD 8A 3D */	bl OSRestoreInterrupts
/* 80295D4C 002919AC  38 60 00 00 */	li r3, 0
/* 80295D50 002919B0  48 00 00 20 */	b lbl_80295D70
lbl_80295D54:
/* 80295D54 002919B4  80 1F 00 7C */	lwz r0, 0x7c(r31)
/* 80295D58 002919B8  7F 43 D3 78 */	mr r3, r26
/* 80295D5C 002919BC  60 00 00 02 */	ori r0, r0, 2
/* 80295D60 002919C0  54 00 00 3C */	rlwinm r0, r0, 0, 0, 0x1e
/* 80295D64 002919C4  90 1F 00 7C */	stw r0, 0x7c(r31)
/* 80295D68 002919C8  4B FD 8A 1D */	bl OSRestoreInterrupts
/* 80295D6C 002919CC  7F 63 DB 78 */	mr r3, r27
lbl_80295D70:
/* 80295D70 002919D0  39 61 00 20 */	addi r11, r1, 0x20
/* 80295D74 002919D4  4B F3 13 FD */	bl _restgpr_26
/* 80295D78 002919D8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80295D7C 002919DC  7C 08 03 A6 */	mtlr r0
/* 80295D80 002919E0  38 21 00 20 */	addi r1, r1, 0x20
/* 80295D84 002919E4  4E 80 00 20 */	blr

.global func_80295D88
func_80295D88:
/* 80295D88 002919E8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80295D8C 002919EC  7C 08 02 A6 */	mflr r0
/* 80295D90 002919F0  90 01 00 24 */	stw r0, 0x24(r1)
/* 80295D94 002919F4  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80295D98 002919F8  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80295D9C 002919FC  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80295DA0 00291A00  93 81 00 10 */	stw r28, 0x10(r1)
/* 80295DA4 00291A04  7C 7C 1B 78 */	mr r28, r3
/* 80295DA8 00291A08  4B FD 89 B5 */	bl OSDisableInterrupts
/* 80295DAC 00291A0C  80 1C 00 7C */	lwz r0, 0x7c(r28)
/* 80295DB0 00291A10  7C 7D 1B 78 */	mr r29, r3
/* 80295DB4 00291A14  3B C0 00 00 */	li r30, 0
/* 80295DB8 00291A18  3B E0 00 00 */	li r31, 0
/* 80295DBC 00291A1C  60 00 00 01 */	ori r0, r0, 1
/* 80295DC0 00291A20  90 1C 00 7C */	stw r0, 0x7c(r28)
lbl_80295DC4:
/* 80295DC4 00291A24  80 7C 00 00 */	lwz r3, 0(r28)
/* 80295DC8 00291A28  2C 03 00 00 */	cmpwi r3, 0
/* 80295DCC 00291A2C  41 82 00 10 */	beq lbl_80295DDC
/* 80295DD0 00291A30  81 8D 88 FC */	lwz r12, lbl_8063DBBC-_SDA_BASE_(r13)
/* 80295DD4 00291A34  7D 89 03 A6 */	mtctr r12
/* 80295DD8 00291A38  4E 80 04 21 */	bctrl
lbl_80295DDC:
/* 80295DDC 00291A3C  3B DE 00 01 */	addi r30, r30, 1
/* 80295DE0 00291A40  93 FC 00 00 */	stw r31, 0(r28)
/* 80295DE4 00291A44  28 1E 00 03 */	cmplwi r30, 3
/* 80295DE8 00291A48  3B 9C 00 04 */	addi r28, r28, 4
/* 80295DEC 00291A4C  41 80 FF D8 */	blt lbl_80295DC4
/* 80295DF0 00291A50  7F A3 EB 78 */	mr r3, r29
/* 80295DF4 00291A54  4B FD 89 91 */	bl OSRestoreInterrupts
/* 80295DF8 00291A58  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80295DFC 00291A5C  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 80295E00 00291A60  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 80295E04 00291A64  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 80295E08 00291A68  83 81 00 10 */	lwz r28, 0x10(r1)
/* 80295E0C 00291A6C  7C 08 03 A6 */	mtlr r0
/* 80295E10 00291A70  38 21 00 20 */	addi r1, r1, 0x20
/* 80295E14 00291A74  4E 80 00 20 */	blr
lbl_80295E18:
/* 80295E18 00291A78  94 21 FE 00 */	stwu r1, -0x200(r1)
/* 80295E1C 00291A7C  7C 08 02 A6 */	mflr r0
/* 80295E20 00291A80  90 01 02 04 */	stw r0, 0x204(r1)
/* 80295E24 00291A84  DB E1 01 F0 */	stfd f31, 0x1f0(r1)
/* 80295E28 00291A88  F3 E1 01 F8 */	psq_st f31, 504(r1), 0, qr0
/* 80295E2C 00291A8C  39 61 01 F0 */	addi r11, r1, 0x1f0
/* 80295E30 00291A90  4B F3 12 F1 */	bl _savegpr_25
/* 80295E34 00291A94  80 04 00 7C */	lwz r0, 0x7c(r4)
/* 80295E38 00291A98  7C 9B 23 78 */	mr r27, r4
/* 80295E3C 00291A9C  2C 00 00 00 */	cmpwi r0, 0
/* 80295E40 00291AA0  41 82 00 10 */	beq lbl_80295E50
/* 80295E44 00291AA4  54 00 07 FA */	rlwinm r0, r0, 0, 0x1f, 0x1d
/* 80295E48 00291AA8  90 04 00 7C */	stw r0, 0x7c(r4)
/* 80295E4C 00291AAC  48 00 03 0C */	b lbl_80296158
lbl_80295E50:
/* 80295E50 00291AB0  80 E4 00 90 */	lwz r7, 0x90(r4)
/* 80295E54 00291AB4  80 C3 00 00 */	lwz r6, 0(r3)
/* 80295E58 00291AB8  80 A3 00 04 */	lwz r5, 4(r3)
/* 80295E5C 00291ABC  2C 07 00 00 */	cmpwi r7, 0
/* 80295E60 00291AC0  80 03 00 08 */	lwz r0, 8(r3)
/* 80295E64 00291AC4  90 C1 00 20 */	stw r6, 0x20(r1)
/* 80295E68 00291AC8  90 A1 00 24 */	stw r5, 0x24(r1)
/* 80295E6C 00291ACC  90 01 00 28 */	stw r0, 0x28(r1)
/* 80295E70 00291AD0  41 82 00 1C */	beq lbl_80295E8C
/* 80295E74 00291AD4  80 A7 00 00 */	lwz r5, 0(r7)
/* 80295E78 00291AD8  80 67 00 04 */	lwz r3, 4(r7)
/* 80295E7C 00291ADC  80 07 00 08 */	lwz r0, 8(r7)
/* 80295E80 00291AE0  90 A1 00 14 */	stw r5, 0x14(r1)
/* 80295E84 00291AE4  90 61 00 18 */	stw r3, 0x18(r1)
/* 80295E88 00291AE8  90 01 00 1C */	stw r0, 0x1c(r1)
lbl_80295E8C:
/* 80295E8C 00291AEC  80 C4 00 94 */	lwz r6, 0x94(r4)
/* 80295E90 00291AF0  2C 06 00 00 */	cmpwi r6, 0
/* 80295E94 00291AF4  41 82 00 1C */	beq lbl_80295EB0
/* 80295E98 00291AF8  80 A6 00 00 */	lwz r5, 0(r6)
/* 80295E9C 00291AFC  80 66 00 04 */	lwz r3, 4(r6)
/* 80295EA0 00291B00  80 06 00 08 */	lwz r0, 8(r6)
/* 80295EA4 00291B04  90 A1 00 08 */	stw r5, 8(r1)
/* 80295EA8 00291B08  90 61 00 0C */	stw r3, 0xc(r1)
/* 80295EAC 00291B0C  90 01 00 10 */	stw r0, 0x10(r1)
lbl_80295EB0:
/* 80295EB0 00291B10  38 61 00 30 */	addi r3, r1, 0x30
/* 80295EB4 00291B14  38 84 00 20 */	addi r4, r4, 0x20
/* 80295EB8 00291B18  48 00 04 B9 */	bl func_80296370
/* 80295EBC 00291B1C  CB E2 A3 40 */	lfd f31, lbl_80642940-_SDA2_BASE_(r2)
/* 80295EC0 00291B20  3B C1 00 30 */	addi r30, r1, 0x30
/* 80295EC4 00291B24  3B A0 00 00 */	li r29, 0
/* 80295EC8 00291B28  3F E0 43 30 */	lis r31, 0x4330
/* 80295ECC 00291B2C  3B 20 00 00 */	li r25, 0
/* 80295ED0 00291B30  3B 40 00 03 */	li r26, 3
lbl_80295ED4:
/* 80295ED4 00291B34  80 7B 00 10 */	lwz r3, 0x10(r27)
/* 80295ED8 00291B38  80 1E 00 00 */	lwz r0, 0(r30)
/* 80295EDC 00291B3C  80 9B 00 18 */	lwz r4, 0x18(r27)
/* 80295EE0 00291B40  7C C3 02 14 */	add r6, r3, r0
/* 80295EE4 00291B44  7C 06 20 00 */	cmpw r6, r4
/* 80295EE8 00291B48  41 80 00 0C */	blt lbl_80295EF4
/* 80295EEC 00291B4C  7C C4 30 50 */	subf r6, r4, r6
/* 80295EF0 00291B50  48 00 00 10 */	b lbl_80295F00
lbl_80295EF4:
/* 80295EF4 00291B54  2C 06 00 00 */	cmpwi r6, 0
/* 80295EF8 00291B58  40 80 00 08 */	bge lbl_80295F00
/* 80295EFC 00291B5C  7C C6 22 14 */	add r6, r6, r4
lbl_80295F00:
/* 80295F00 00291B60  80 1B 00 14 */	lwz r0, 0x14(r27)
/* 80295F04 00291B64  7C 60 30 51 */	subf. r3, r0, r6
/* 80295F08 00291B68  40 80 00 08 */	bge lbl_80295F10
/* 80295F0C 00291B6C  7C 63 22 14 */	add r3, r3, r4
lbl_80295F10:
/* 80295F10 00291B70  54 67 84 3F */	rlwinm. r7, r3, 0x10, 0x10, 0x1f
/* 80295F14 00291B74  54 68 04 3E */	clrlwi r8, r3, 0x10
/* 80295F18 00291B78  54 09 84 3E */	srwi r9, r0, 0x10
/* 80295F1C 00291B7C  83 9B 00 78 */	lwz r28, 0x78(r27)
/* 80295F20 00291B80  7C E9 03 A6 */	mtctr r7
/* 80295F24 00291B84  41 82 00 58 */	beq lbl_80295F7C
lbl_80295F28:
/* 80295F28 00291B88  80 7B 00 00 */	lwz r3, 0(r27)
/* 80295F2C 00291B8C  55 24 10 3A */	slwi r4, r9, 2
/* 80295F30 00291B90  57 80 10 3A */	slwi r0, r28, 2
/* 80295F34 00291B94  3B 9C 00 01 */	addi r28, r28, 1
/* 80295F38 00291B98  7C 03 24 2E */	lfsx f0, r3, r4
/* 80295F3C 00291B9C  7C BB 02 14 */	add r5, r27, r0
/* 80295F40 00291BA0  39 29 00 01 */	addi r9, r9, 1
/* 80295F44 00291BA4  57 9C 07 BE */	clrlwi r28, r28, 0x1e
/* 80295F48 00291BA8  D0 05 00 48 */	stfs f0, 0x48(r5)
/* 80295F4C 00291BAC  38 E7 FF FF */	addi r7, r7, -1
/* 80295F50 00291BB0  80 7B 00 04 */	lwz r3, 4(r27)
/* 80295F54 00291BB4  7C 03 24 2E */	lfsx f0, r3, r4
/* 80295F58 00291BB8  D0 05 00 58 */	stfs f0, 0x58(r5)
/* 80295F5C 00291BBC  80 7B 00 08 */	lwz r3, 8(r27)
/* 80295F60 00291BC0  7C 03 24 2E */	lfsx f0, r3, r4
/* 80295F64 00291BC4  D0 05 00 68 */	stfs f0, 0x68(r5)
/* 80295F68 00291BC8  80 1B 00 1C */	lwz r0, 0x1c(r27)
/* 80295F6C 00291BCC  7C 09 00 40 */	cmplw r9, r0
/* 80295F70 00291BD0  41 80 00 08 */	blt lbl_80295F78
/* 80295F74 00291BD4  39 20 00 00 */	li r9, 0
lbl_80295F78:
/* 80295F78 00291BD8  42 00 FF B0 */	bdnz lbl_80295F28
lbl_80295F7C:
/* 80295F7C 00291BDC  54 C0 00 1E */	rlwinm r0, r6, 0, 0, 0xf
/* 80295F80 00291BE0  55 03 BE 7E */	rlwinm r3, r8, 0x17, 0x19, 0x1f
/* 80295F84 00291BE4  90 1B 00 14 */	stw r0, 0x14(r27)
/* 80295F88 00291BE8  48 00 04 F9 */	bl func_80296480
/* 80295F8C 00291BEC  7F 64 DB 78 */	mr r4, r27
/* 80295F90 00291BF0  7F 67 DB 78 */	mr r7, r27
/* 80295F94 00291BF4  38 A1 00 14 */	addi r5, r1, 0x14
/* 80295F98 00291BF8  38 C1 00 20 */	addi r6, r1, 0x20
/* 80295F9C 00291BFC  39 01 00 08 */	addi r8, r1, 8
/* 80295FA0 00291C00  7F 49 03 A6 */	mtctr r26
lbl_80295FA4:
/* 80295FA4 00291C04  57 80 10 3A */	slwi r0, r28, 2
/* 80295FA8 00291C08  3B 9C 00 01 */	addi r28, r28, 1
/* 80295FAC 00291C0C  7D 44 02 14 */	add r10, r4, r0
/* 80295FB0 00291C10  80 1B 00 90 */	lwz r0, 0x90(r27)
/* 80295FB4 00291C14  57 9C 07 BE */	clrlwi r28, r28, 0x1e
/* 80295FB8 00291C18  C0 23 00 00 */	lfs f1, 0(r3)
/* 80295FBC 00291C1C  57 89 10 3A */	slwi r9, r28, 2
/* 80295FC0 00291C20  C0 0A 00 48 */	lfs f0, 0x48(r10)
/* 80295FC4 00291C24  3B 9C 00 01 */	addi r28, r28, 1
/* 80295FC8 00291C28  C0 A2 A3 3C */	lfs f5, lbl_8064293C-_SDA2_BASE_(r2)
/* 80295FCC 00291C2C  EC 41 00 32 */	fmuls f2, f1, f0
/* 80295FD0 00291C30  7D 64 4A 14 */	add r11, r4, r9
/* 80295FD4 00291C34  57 9C 07 BE */	clrlwi r28, r28, 0x1e
/* 80295FD8 00291C38  C0 23 00 04 */	lfs f1, 4(r3)
/* 80295FDC 00291C3C  57 89 10 3A */	slwi r9, r28, 2
/* 80295FE0 00291C40  C0 0B 00 48 */	lfs f0, 0x48(r11)
/* 80295FE4 00291C44  3B 9C 00 01 */	addi r28, r28, 1
/* 80295FE8 00291C48  EC 81 00 32 */	fmuls f4, f1, f0
/* 80295FEC 00291C4C  EC A5 10 2A */	fadds f5, f5, f2
/* 80295FF0 00291C50  7D 44 4A 14 */	add r10, r4, r9
/* 80295FF4 00291C54  57 9C 07 BE */	clrlwi r28, r28, 0x1e
/* 80295FF8 00291C58  C0 63 00 08 */	lfs f3, 8(r3)
/* 80295FFC 00291C5C  57 89 10 3A */	slwi r9, r28, 2
/* 80296000 00291C60  C0 4A 00 48 */	lfs f2, 0x48(r10)
/* 80296004 00291C64  7D 24 4A 14 */	add r9, r4, r9
/* 80296008 00291C68  EC A5 20 2A */	fadds f5, f5, f4
/* 8029600C 00291C6C  EC 43 00 B2 */	fmuls f2, f3, f2
/* 80296010 00291C70  C0 23 00 0C */	lfs f1, 0xc(r3)
/* 80296014 00291C74  C0 09 00 48 */	lfs f0, 0x48(r9)
/* 80296018 00291C78  2C 00 00 00 */	cmpwi r0, 0
/* 8029601C 00291C7C  3B 9C 00 01 */	addi r28, r28, 1
/* 80296020 00291C80  EC 01 00 32 */	fmuls f0, f1, f0
/* 80296024 00291C84  EC A5 10 2A */	fadds f5, f5, f2
/* 80296028 00291C88  57 9C 07 BE */	clrlwi r28, r28, 0x1e
/* 8029602C 00291C8C  EC A5 00 2A */	fadds f5, f5, f0
/* 80296030 00291C90  41 82 00 38 */	beq lbl_80296068
/* 80296034 00291C94  81 25 00 00 */	lwz r9, 0(r5)
/* 80296038 00291C98  81 46 00 00 */	lwz r10, 0(r6)
/* 8029603C 00291C9C  80 09 00 00 */	lwz r0, 0(r9)
/* 80296040 00291CA0  39 29 00 04 */	addi r9, r9, 4
/* 80296044 00291CA4  81 4A 00 00 */	lwz r10, 0(r10)
/* 80296048 00291CA8  93 E1 01 B0 */	stw r31, 0x1b0(r1)
/* 8029604C 00291CAC  7C 0A 02 14 */	add r0, r10, r0
/* 80296050 00291CB0  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 80296054 00291CB4  91 25 00 00 */	stw r9, 0(r5)
/* 80296058 00291CB8  90 01 01 B4 */	stw r0, 0x1b4(r1)
/* 8029605C 00291CBC  C8 01 01 B0 */	lfd f0, 0x1b0(r1)
/* 80296060 00291CC0  EC 20 F8 28 */	fsubs f1, f0, f31
/* 80296064 00291CC4  48 00 00 20 */	b lbl_80296084
lbl_80296068:
/* 80296068 00291CC8  81 26 00 00 */	lwz r9, 0(r6)
/* 8029606C 00291CCC  93 E1 01 B8 */	stw r31, 0x1b8(r1)
/* 80296070 00291CD0  80 09 00 00 */	lwz r0, 0(r9)
/* 80296074 00291CD4  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 80296078 00291CD8  90 01 01 BC */	stw r0, 0x1bc(r1)
/* 8029607C 00291CDC  C8 01 01 B8 */	lfd f0, 0x1b8(r1)
/* 80296080 00291CE0  EC 20 F8 28 */	fsubs f1, f0, f31
lbl_80296084:
/* 80296084 00291CE4  C0 1B 00 8C */	lfs f0, 0x8c(r27)
/* 80296088 00291CE8  80 1B 00 0C */	lwz r0, 0xc(r27)
/* 8029608C 00291CEC  EC 05 00 32 */	fmuls f0, f5, f0
/* 80296090 00291CF0  81 67 00 00 */	lwz r11, 0(r7)
/* 80296094 00291CF4  54 0A 10 3A */	slwi r10, r0, 2
/* 80296098 00291CF8  81 26 00 00 */	lwz r9, 0(r6)
/* 8029609C 00291CFC  EC 01 00 2A */	fadds f0, f1, f0
/* 802960A0 00291D00  38 09 00 04 */	addi r0, r9, 4
/* 802960A4 00291D04  90 06 00 00 */	stw r0, 0(r6)
/* 802960A8 00291D08  7C 0B 55 2E */	stfsx f0, r11, r10
/* 802960AC 00291D0C  C0 1B 00 98 */	lfs f0, 0x98(r27)
/* 802960B0 00291D10  EC 05 00 32 */	fmuls f0, f5, f0
/* 802960B4 00291D14  FC 00 00 1E */	fctiwz f0, f0
/* 802960B8 00291D18  D8 01 01 C0 */	stfd f0, 0x1c0(r1)
/* 802960BC 00291D1C  80 01 01 C4 */	lwz r0, 0x1c4(r1)
/* 802960C0 00291D20  90 09 00 00 */	stw r0, 0(r9)
/* 802960C4 00291D24  80 1B 00 94 */	lwz r0, 0x94(r27)
/* 802960C8 00291D28  2C 00 00 00 */	cmpwi r0, 0
/* 802960CC 00291D2C  41 82 00 28 */	beq lbl_802960F4
/* 802960D0 00291D30  C0 1B 00 9C */	lfs f0, 0x9c(r27)
/* 802960D4 00291D34  81 28 00 00 */	lwz r9, 0(r8)
/* 802960D8 00291D38  EC 05 00 32 */	fmuls f0, f5, f0
/* 802960DC 00291D3C  38 09 00 04 */	addi r0, r9, 4
/* 802960E0 00291D40  90 08 00 00 */	stw r0, 0(r8)
/* 802960E4 00291D44  FC 00 00 1E */	fctiwz f0, f0
/* 802960E8 00291D48  D8 01 01 C0 */	stfd f0, 0x1c0(r1)
/* 802960EC 00291D4C  80 01 01 C4 */	lwz r0, 0x1c4(r1)
/* 802960F0 00291D50  90 09 00 00 */	stw r0, 0(r9)
lbl_802960F4:
/* 802960F4 00291D54  38 84 00 10 */	addi r4, r4, 0x10
/* 802960F8 00291D58  38 A5 00 04 */	addi r5, r5, 4
/* 802960FC 00291D5C  38 C6 00 04 */	addi r6, r6, 4
/* 80296100 00291D60  38 E7 00 04 */	addi r7, r7, 4
/* 80296104 00291D64  39 08 00 04 */	addi r8, r8, 4
/* 80296108 00291D68  42 00 FE 9C */	bdnz lbl_80295FA4
/* 8029610C 00291D6C  80 7B 00 0C */	lwz r3, 0xc(r27)
/* 80296110 00291D70  80 1B 00 1C */	lwz r0, 0x1c(r27)
/* 80296114 00291D74  38 63 00 01 */	addi r3, r3, 1
/* 80296118 00291D78  93 9B 00 78 */	stw r28, 0x78(r27)
/* 8029611C 00291D7C  7C 03 00 40 */	cmplw r3, r0
/* 80296120 00291D80  90 7B 00 0C */	stw r3, 0xc(r27)
/* 80296124 00291D84  41 80 00 08 */	blt lbl_8029612C
/* 80296128 00291D88  93 3B 00 0C */	stw r25, 0xc(r27)
lbl_8029612C:
/* 8029612C 00291D8C  80 7B 00 10 */	lwz r3, 0x10(r27)
/* 80296130 00291D90  80 1B 00 18 */	lwz r0, 0x18(r27)
/* 80296134 00291D94  3C 63 00 01 */	addis r3, r3, 1
/* 80296138 00291D98  7C 03 00 40 */	cmplw r3, r0
/* 8029613C 00291D9C  90 7B 00 10 */	stw r3, 0x10(r27)
/* 80296140 00291DA0  41 80 00 08 */	blt lbl_80296148
/* 80296144 00291DA4  93 3B 00 10 */	stw r25, 0x10(r27)
lbl_80296148:
/* 80296148 00291DA8  3B BD 00 01 */	addi r29, r29, 1
/* 8029614C 00291DAC  3B DE 00 04 */	addi r30, r30, 4
/* 80296150 00291DB0  28 1D 00 60 */	cmplwi r29, 0x60
/* 80296154 00291DB4  41 80 FD 80 */	blt lbl_80295ED4
lbl_80296158:
/* 80296158 00291DB8  E3 E1 01 F8 */	psq_l f31, 504(r1), 0, qr0
/* 8029615C 00291DBC  39 61 01 F0 */	addi r11, r1, 0x1f0
/* 80296160 00291DC0  CB E1 01 F0 */	lfd f31, 0x1f0(r1)
/* 80296164 00291DC4  4B F3 10 09 */	bl _restgpr_25
/* 80296168 00291DC8  80 01 02 04 */	lwz r0, 0x204(r1)
/* 8029616C 00291DCC  7C 08 03 A6 */	mtlr r0
/* 80296170 00291DD0  38 21 02 00 */	addi r1, r1, 0x200
/* 80296174 00291DD4  4E 80 00 20 */	blr

.global func_80296178
func_80296178:
/* 80296178 00291DD8  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 8029617C 00291DDC  7C 08 02 A6 */	mflr r0
/* 80296180 00291DE0  C0 82 A3 48 */	lfs f4, lbl_80642948-_SDA2_BASE_(r2)
/* 80296184 00291DE4  90 01 00 34 */	stw r0, 0x34(r1)
/* 80296188 00291DE8  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 8029618C 00291DEC  7C 7F 1B 78 */	mr r31, r3
/* 80296190 00291DF0  C0 23 00 80 */	lfs f1, 0x80(r3)
/* 80296194 00291DF4  FC 01 20 40 */	fcmpo cr0, f1, f4
/* 80296198 00291DF8  41 80 00 10 */	blt lbl_802961A8
/* 8029619C 00291DFC  C0 02 A3 4C */	lfs f0, lbl_8064294C-_SDA2_BASE_(r2)
/* 802961A0 00291E00  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 802961A4 00291E04  40 81 00 0C */	ble lbl_802961B0
lbl_802961A8:
/* 802961A8 00291E08  38 60 00 00 */	li r3, 0
/* 802961AC 00291E0C  48 00 01 B0 */	b lbl_8029635C
lbl_802961B0:
/* 802961B0 00291E10  C0 03 00 84 */	lfs f0, 0x84(r3)
/* 802961B4 00291E14  C0 62 A3 3C */	lfs f3, lbl_8064293C-_SDA2_BASE_(r2)
/* 802961B8 00291E18  FC 00 18 40 */	fcmpo cr0, f0, f3
/* 802961BC 00291E1C  41 80 00 10 */	blt lbl_802961CC
/* 802961C0 00291E20  C0 42 A3 50 */	lfs f2, lbl_80642950-_SDA2_BASE_(r2)
/* 802961C4 00291E24  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 802961C8 00291E28  40 81 00 0C */	ble lbl_802961D4
lbl_802961CC:
/* 802961CC 00291E2C  38 60 00 00 */	li r3, 0
/* 802961D0 00291E30  48 00 01 8C */	b lbl_8029635C
lbl_802961D4:
/* 802961D4 00291E34  C0 23 00 88 */	lfs f1, 0x88(r3)
/* 802961D8 00291E38  FC 01 20 40 */	fcmpo cr0, f1, f4
/* 802961DC 00291E3C  41 80 00 10 */	blt lbl_802961EC
/* 802961E0 00291E40  C0 02 A3 54 */	lfs f0, lbl_80642954-_SDA2_BASE_(r2)
/* 802961E4 00291E44  FC 01 00 40 */	fcmpo cr0, f1, f0
/* 802961E8 00291E48  40 81 00 0C */	ble lbl_802961F4
lbl_802961EC:
/* 802961EC 00291E4C  38 60 00 00 */	li r3, 0
/* 802961F0 00291E50  48 00 01 6C */	b lbl_8029635C
lbl_802961F4:
/* 802961F4 00291E54  C0 03 00 8C */	lfs f0, 0x8c(r3)
/* 802961F8 00291E58  FC 00 18 40 */	fcmpo cr0, f0, f3
/* 802961FC 00291E5C  41 80 00 10 */	blt lbl_8029620C
/* 80296200 00291E60  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 80296204 00291E64  4C 41 13 82 */	cror 2, 1, 2
/* 80296208 00291E68  40 82 00 0C */	bne lbl_80296214
lbl_8029620C:
/* 8029620C 00291E6C  38 60 00 00 */	li r3, 0
/* 80296210 00291E70  48 00 01 4C */	b lbl_8029635C
lbl_80296214:
/* 80296214 00291E74  C0 03 00 98 */	lfs f0, 0x98(r3)
/* 80296218 00291E78  FC 00 18 40 */	fcmpo cr0, f0, f3
/* 8029621C 00291E7C  41 80 00 0C */	blt lbl_80296228
/* 80296220 00291E80  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 80296224 00291E84  40 81 00 0C */	ble lbl_80296230
lbl_80296228:
/* 80296228 00291E88  38 60 00 00 */	li r3, 0
/* 8029622C 00291E8C  48 00 01 30 */	b lbl_8029635C
lbl_80296230:
/* 80296230 00291E90  C0 03 00 9C */	lfs f0, 0x9c(r3)
/* 80296234 00291E94  FC 00 18 40 */	fcmpo cr0, f0, f3
/* 80296238 00291E98  41 80 00 0C */	blt lbl_80296244
/* 8029623C 00291E9C  FC 00 10 40 */	fcmpo cr0, f0, f2
/* 80296240 00291EA0  40 81 00 0C */	ble lbl_8029624C
lbl_80296244:
/* 80296244 00291EA4  38 60 00 00 */	li r3, 0
/* 80296248 00291EA8  48 00 01 14 */	b lbl_8029635C
lbl_8029624C:
/* 8029624C 00291EAC  48 00 02 29 */	bl func_80296474
/* 80296250 00291EB0  C0 42 A3 38 */	lfs f2, lbl_80642938-_SDA2_BASE_(r2)
/* 80296254 00291EB4  C0 3F 00 80 */	lfs f1, 0x80(r31)
/* 80296258 00291EB8  C0 1F 00 84 */	lfs f0, 0x84(r31)
/* 8029625C 00291EBC  EC 22 00 72 */	fmuls f1, f2, f1
/* 80296260 00291EC0  90 7F 00 20 */	stw r3, 0x20(r31)
/* 80296264 00291EC4  EC C1 00 32 */	fmuls f6, f1, f0
/* 80296268 00291EC8  FC 06 08 40 */	fcmpo cr0, f6, f1
/* 8029626C 00291ECC  4C 41 13 82 */	cror 2, 1, 2
/* 80296270 00291ED0  40 82 00 1C */	bne lbl_8029628C
/* 80296274 00291ED4  C0 22 A3 50 */	lfs f1, lbl_80642950-_SDA2_BASE_(r2)
/* 80296278 00291ED8  C0 02 A3 3C */	lfs f0, lbl_8064293C-_SDA2_BASE_(r2)
/* 8029627C 00291EDC  EC C6 08 28 */	fsubs f6, f6, f1
/* 80296280 00291EE0  FC 06 00 40 */	fcmpo cr0, f6, f0
/* 80296284 00291EE4  40 80 00 08 */	bge lbl_8029628C
/* 80296288 00291EE8  FC C0 00 90 */	fmr f6, f0
lbl_8029628C:
/* 8029628C 00291EEC  C0 7F 00 88 */	lfs f3, 0x88(r31)
/* 80296290 00291EF0  38 80 00 00 */	li r4, 0
/* 80296294 00291EF4  C0 42 A3 60 */	lfs f2, lbl_80642960-_SDA2_BASE_(r2)
/* 80296298 00291EF8  38 00 FF FF */	li r0, -1
/* 8029629C 00291EFC  C0 82 A3 5C */	lfs f4, lbl_8064295C-_SDA2_BASE_(r2)
/* 802962A0 00291F00  38 60 00 01 */	li r3, 1
/* 802962A4 00291F04  EC 22 18 24 */	fdivs f1, f2, f3
/* 802962A8 00291F08  C0 02 A3 64 */	lfs f0, lbl_80642964-_SDA2_BASE_(r2)
/* 802962AC 00291F0C  C0 A2 A3 58 */	lfs f5, lbl_80642958-_SDA2_BASE_(r2)
/* 802962B0 00291F10  90 1F 00 38 */	stw r0, 0x38(r31)
/* 802962B4 00291F14  90 9F 00 30 */	stw r4, 0x30(r31)
/* 802962B8 00291F18  90 9F 00 34 */	stw r4, 0x34(r31)
/* 802962BC 00291F1C  EC E1 00 32 */	fmuls f7, f1, f0
/* 802962C0 00291F20  C0 02 A3 3C */	lfs f0, lbl_8064293C-_SDA2_BASE_(r2)
/* 802962C4 00291F24  EC 24 00 F2 */	fmuls f1, f4, f3
/* 802962C8 00291F28  90 9F 00 3C */	stw r4, 0x3c(r31)
/* 802962CC 00291F2C  EC 85 01 B2 */	fmuls f4, f5, f6
/* 802962D0 00291F30  EC C6 38 24 */	fdivs f6, f6, f7
/* 802962D4 00291F34  90 9F 00 40 */	stw r4, 0x40(r31)
/* 802962D8 00291F38  EC 21 10 24 */	fdivs f1, f1, f2
/* 802962DC 00291F3C  EC 65 00 72 */	fmuls f3, f5, f1
/* 802962E0 00291F40  EC 45 01 F2 */	fmuls f2, f5, f7
/* 802962E4 00291F44  EC 25 01 B2 */	fmuls f1, f5, f6
/* 802962E8 00291F48  FC 80 20 1E */	fctiwz f4, f4
/* 802962EC 00291F4C  FC 60 18 1E */	fctiwz f3, f3
/* 802962F0 00291F50  FC 40 10 1E */	fctiwz f2, f2
/* 802962F4 00291F54  FC 20 08 1E */	fctiwz f1, f1
/* 802962F8 00291F58  D8 81 00 08 */	stfd f4, 8(r1)
/* 802962FC 00291F5C  D8 61 00 10 */	stfd f3, 0x10(r1)
/* 80296300 00291F60  80 E1 00 0C */	lwz r7, 0xc(r1)
/* 80296304 00291F64  D8 41 00 18 */	stfd f2, 0x18(r1)
/* 80296308 00291F68  80 C1 00 14 */	lwz r6, 0x14(r1)
/* 8029630C 00291F6C  D8 21 00 20 */	stfd f1, 0x20(r1)
/* 80296310 00291F70  80 A1 00 1C */	lwz r5, 0x1c(r1)
/* 80296314 00291F74  80 01 00 24 */	lwz r0, 0x24(r1)
/* 80296318 00291F78  90 FF 00 2C */	stw r7, 0x2c(r31)
/* 8029631C 00291F7C  90 DF 00 24 */	stw r6, 0x24(r31)
/* 80296320 00291F80  90 BF 00 28 */	stw r5, 0x28(r31)
/* 80296324 00291F84  90 1F 00 44 */	stw r0, 0x44(r31)
/* 80296328 00291F88  D0 1F 00 48 */	stfs f0, 0x48(r31)
/* 8029632C 00291F8C  D0 1F 00 4C */	stfs f0, 0x4c(r31)
/* 80296330 00291F90  D0 1F 00 50 */	stfs f0, 0x50(r31)
/* 80296334 00291F94  D0 1F 00 54 */	stfs f0, 0x54(r31)
/* 80296338 00291F98  D0 1F 00 58 */	stfs f0, 0x58(r31)
/* 8029633C 00291F9C  D0 1F 00 5C */	stfs f0, 0x5c(r31)
/* 80296340 00291FA0  D0 1F 00 60 */	stfs f0, 0x60(r31)
/* 80296344 00291FA4  D0 1F 00 64 */	stfs f0, 0x64(r31)
/* 80296348 00291FA8  D0 1F 00 68 */	stfs f0, 0x68(r31)
/* 8029634C 00291FAC  D0 1F 00 6C */	stfs f0, 0x6c(r31)
/* 80296350 00291FB0  D0 1F 00 70 */	stfs f0, 0x70(r31)
/* 80296354 00291FB4  D0 1F 00 74 */	stfs f0, 0x74(r31)
/* 80296358 00291FB8  90 9F 00 78 */	stw r4, 0x78(r31)
lbl_8029635C:
/* 8029635C 00291FBC  80 01 00 34 */	lwz r0, 0x34(r1)
/* 80296360 00291FC0  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 80296364 00291FC4  7C 08 03 A6 */	mtlr r0
/* 80296368 00291FC8  38 21 00 30 */	addi r1, r1, 0x30
/* 8029636C 00291FCC  4E 80 00 20 */	blr

.global func_80296370
func_80296370:
/* 80296370 00291FD0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80296374 00291FD4  38 00 00 60 */	li r0, 0x60
/* 80296378 00291FD8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8029637C 00291FDC  7C 09 03 A6 */	mtctr r0
lbl_80296380:
/* 80296380 00291FE0  80 A4 00 10 */	lwz r5, 0x10(r4)
/* 80296384 00291FE4  80 04 00 18 */	lwz r0, 0x18(r4)
/* 80296388 00291FE8  54 A5 00 1E */	rlwinm r5, r5, 0, 0, 0xf
/* 8029638C 00291FEC  7C 05 00 40 */	cmplw r5, r0
/* 80296390 00291FF0  41 82 00 78 */	beq lbl_80296408
/* 80296394 00291FF4  90 A4 00 18 */	stw r5, 0x18(r4)
/* 80296398 00291FF8  54 A5 84 3E */	srwi r5, r5, 0x10
/* 8029639C 00291FFC  38 05 00 01 */	addi r0, r5, 1
/* 802963A0 00292000  80 C4 00 00 */	lwz r6, 0(r4)
/* 802963A4 00292004  54 A5 10 3A */	slwi r5, r5, 2
/* 802963A8 00292008  81 24 00 24 */	lwz r9, 0x24(r4)
/* 802963AC 0029200C  54 00 15 FA */	rlwinm r0, r0, 2, 0x17, 0x1d
/* 802963B0 00292010  7D 66 28 2E */	lwzx r11, r6, r5
/* 802963B4 00292014  7C 06 00 2E */	lwzx r0, r6, r0
/* 802963B8 00292018  80 A4 00 0C */	lwz r5, 0xc(r4)
/* 802963BC 0029201C  7D 4B 00 50 */	subf r10, r11, r0
/* 802963C0 00292020  7C 0B 29 D6 */	mullw r0, r11, r5
/* 802963C4 00292024  7D 5F FE 70 */	srawi r31, r10, 0x1f
/* 802963C8 00292028  7D 27 FE 70 */	srawi r7, r9, 0x1f
/* 802963CC 0029202C  7C CA 49 D6 */	mullw r6, r10, r9
/* 802963D0 00292030  54 0C 40 3E */	rotlwi r12, r0, 8
/* 802963D4 00292034  7C 0B 28 96 */	mulhw r0, r11, r5
/* 802963D8 00292038  54 C6 40 3E */	rotlwi r6, r6, 8
/* 802963DC 0029203C  7D 0A 48 16 */	mulhwu r8, r10, r9
/* 802963E0 00292040  50 0C 40 2E */	rlwimi r12, r0, 8, 0, 0x17
/* 802963E4 00292044  7D 3F 49 D6 */	mullw r9, r31, r9
/* 802963E8 00292048  7C AA 39 D6 */	mullw r5, r10, r7
/* 802963EC 0029204C  7D 08 4A 14 */	add r8, r8, r9
/* 802963F0 00292050  7D 08 2A 14 */	add r8, r8, r5
/* 802963F4 00292054  51 06 40 2E */	rlwimi r6, r8, 8, 0, 0x17
/* 802963F8 00292058  7D 05 C6 70 */	srawi r5, r8, 0x18
/* 802963FC 0029205C  90 C4 00 20 */	stw r6, 0x20(r4)
/* 80296400 00292060  7C 05 C6 70 */	srawi r5, r0, 0x18
/* 80296404 00292064  48 00 00 14 */	b lbl_80296418
lbl_80296408:
/* 80296408 00292068  80 A4 00 1C */	lwz r5, 0x1c(r4)
/* 8029640C 0029206C  80 04 00 20 */	lwz r0, 0x20(r4)
/* 80296410 00292070  7D 85 02 14 */	add r12, r5, r0
/* 80296414 00292074  7D 85 FE 70 */	srawi r5, r12, 0x1f
lbl_80296418:
/* 80296418 00292078  80 04 00 14 */	lwz r0, 0x14(r4)
/* 8029641C 0029207C  91 84 00 1C */	stw r12, 0x1c(r4)
/* 80296420 00292080  28 00 00 01 */	cmplwi r0, 1
/* 80296424 00292084  41 80 00 0C */	blt lbl_80296430
/* 80296428 00292088  21 8C 00 00 */	subfic r12, r12, 0
/* 8029642C 0029208C  7C A5 01 90 */	subfze r5, r5
lbl_80296430:
/* 80296430 00292090  80 A4 00 10 */	lwz r5, 0x10(r4)
/* 80296434 00292094  80 04 00 04 */	lwz r0, 4(r4)
/* 80296438 00292098  7C A5 02 14 */	add r5, r5, r0
/* 8029643C 0029209C  54 A0 00 11 */	rlwinm. r0, r5, 0, 0, 8
/* 80296440 002920A0  90 A4 00 10 */	stw r5, 0x10(r4)
/* 80296444 002920A4  41 82 00 18 */	beq lbl_8029645C
/* 80296448 002920A8  80 04 00 14 */	lwz r0, 0x14(r4)
/* 8029644C 002920AC  54 A5 02 7E */	clrlwi r5, r5, 9
/* 80296450 002920B0  90 A4 00 10 */	stw r5, 0x10(r4)
/* 80296454 002920B4  68 00 00 01 */	xori r0, r0, 1
/* 80296458 002920B8  90 04 00 14 */	stw r0, 0x14(r4)
lbl_8029645C:
/* 8029645C 002920BC  91 83 00 00 */	stw r12, 0(r3)
/* 80296460 002920C0  38 63 00 04 */	addi r3, r3, 4
/* 80296464 002920C4  42 00 FF 1C */	bdnz lbl_80296380
/* 80296468 002920C8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8029646C 002920CC  38 21 00 10 */	addi r1, r1, 0x10
/* 80296470 002920D0  4E 80 00 20 */	blr

.global func_80296474
func_80296474:
/* 80296474 002920D4  3C 60 80 44 */	lis r3, lbl_8043A770@ha
/* 80296478 002920D8  38 63 A7 70 */	addi r3, r3, lbl_8043A770@l
/* 8029647C 002920DC  4E 80 00 20 */	blr

.global func_80296480
func_80296480:
/* 80296480 002920E0  3C 80 80 44 */	lis r4, lbl_8043A970@ha
/* 80296484 002920E4  54 60 20 36 */	slwi r0, r3, 4
/* 80296488 002920E8  38 84 A9 70 */	addi r4, r4, lbl_8043A970@l
/* 8029648C 002920EC  7C 64 02 14 */	add r3, r4, r0
/* 80296490 002920F0  4E 80 00 20 */	blr
/* 80296494 002920F4  7C 64 1B 78 */	mr r4, r3
/* 80296498 002920F8  80 6D 87 A8 */	lwz r3, lbl_8063DA68-_SDA_BASE_(r13)
/* 8029649C 002920FC  4B FD 3A C0 */	b OSAllocFromHeap
/* 802964A0 00292100  7C 64 1B 78 */	mr r4, r3
/* 802964A4 00292104  80 6D 87 A8 */	lwz r3, lbl_8063DA68-_SDA_BASE_(r13)
/* 802964A8 00292108  4B FD 3B AC */	b OSFreeToHeap

.global func_802964AC
func_802964AC:
/* 802964AC 0029210C  90 6D 88 F8 */	stw r3, lbl_8063DBB8-_SDA_BASE_(r13)
/* 802964B0 00292110  90 8D 88 FC */	stw r4, lbl_8063DBBC-_SDA_BASE_(r13)
/* 802964B4 00292114  4E 80 00 20 */	blr

.global func_802964B8
func_802964B8:
/* 802964B8 00292118  80 0D 88 F8 */	lwz r0, lbl_8063DBB8-_SDA_BASE_(r13)
/* 802964BC 0029211C  90 03 00 00 */	stw r0, 0(r3)
/* 802964C0 00292120  80 0D 88 FC */	lwz r0, lbl_8063DBBC-_SDA_BASE_(r13)
/* 802964C4 00292124  90 04 00 00 */	stw r0, 0(r4)
/* 802964C8 00292128  4E 80 00 20 */	blr