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
|