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
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global KPADSetFSStickClamp
KPADSetFSStickClamp:
/* 8029F390 0029AFF0 7C 63 07 74 */ extsb r3, r3
/* 8029F394 0029AFF4 7C 80 07 74 */ extsb r0, r4
/* 8029F398 0029AFF8 90 6D 89 64 */ stw r3, lbl_8063DC24-_SDA_BASE_(r13)
/* 8029F39C 0029AFFC 90 0D 89 68 */ stw r0, lbl_8063DC28-_SDA_BASE_(r13)
/* 8029F3A0 0029B000 4E 80 00 20 */ blr
# KPADSetPosParam, KPADSetHoriParam, KPADSetDistParam, or KPADSetAccParam
.global func_8029F3A4
func_8029F3A4:
/* 8029F3A4 0029B004 1C 03 05 24 */ mulli r0, r3, 0x524
/* 8029F3A8 0029B008 3C 60 80 53 */ lis r3, lbl_805356D0@ha
/* 8029F3AC 0029B00C 38 63 56 D0 */ addi r3, r3, lbl_805356D0@l
/* 8029F3B0 0029B010 7C 63 02 14 */ add r3, r3, r0
/* 8029F3B4 0029B014 D0 23 00 84 */ stfs f1, 0x84(r3)
/* 8029F3B8 0029B018 D0 43 00 88 */ stfs f2, 0x88(r3)
/* 8029F3BC 0029B01C 4E 80 00 20 */ blr
.global reset_kpad
reset_kpad:
/* 8029F3C0 0029B020 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8029F3C4 0029B024 38 03 00 C4 */ addi r0, r3, 0xc4
/* 8029F3C8 0029B028 C0 C2 A3 AC */ lfs f6, lbl_806429AC-_SDA2_BASE_(r2)
/* 8029F3CC 0029B02C 38 80 FF FF */ li r4, -1
/* 8029F3D0 0029B030 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8029F3D4 0029B034 C0 A2 A3 B0 */ lfs f5, lbl_806429B0-_SDA2_BASE_(r2)
/* 8029F3D8 0029B038 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8029F3DC 0029B03C 3B C0 00 00 */ li r30, 0
/* 8029F3E0 0029B040 C0 82 A3 B4 */ lfs f4, lbl_806429B4-_SDA2_BASE_(r2)
/* 8029F3E4 0029B044 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8029F3E8 0029B048 3B A3 00 E8 */ addi r29, r3, 0xe8
/* 8029F3EC 0029B04C C0 62 A3 B8 */ lfs f3, lbl_806429B8-_SDA2_BASE_(r2)
/* 8029F3F0 0029B050 9B C3 05 1D */ stb r30, 0x51d(r3)
/* 8029F3F4 0029B054 C0 23 00 A4 */ lfs f1, 0xa4(r3)
/* 8029F3F8 0029B058 C0 0D 89 44 */ lfs f0, lbl_8063DC04-_SDA_BASE_(r13)
/* 8029F3FC 0029B05C A0 A3 04 D0 */ lhz r5, 0x4d0(r3)
/* 8029F400 0029B060 EC 06 00 2A */ fadds f0, f6, f0
/* 8029F404 0029B064 C0 42 A3 A0 */ lfs f2, lbl_806429A0-_SDA2_BASE_(r2)
/* 8029F408 0029B068 81 63 00 B0 */ lwz r11, 0xb0(r3)
/* 8029F40C 0029B06C 81 43 00 B4 */ lwz r10, 0xb4(r3)
/* 8029F410 0029B070 D0 03 04 F4 */ stfs f0, 0x4f4(r3)
/* 8029F414 0029B074 C0 0D 89 44 */ lfs f0, lbl_8063DC04-_SDA_BASE_(r13)
/* 8029F418 0029B078 EC 05 00 28 */ fsubs f0, f5, f0
/* 8029F41C 0029B07C D0 03 04 FC */ stfs f0, 0x4fc(r3)
/* 8029F420 0029B080 C0 0D 89 44 */ lfs f0, lbl_8063DC04-_SDA_BASE_(r13)
/* 8029F424 0029B084 EC 04 00 2A */ fadds f0, f4, f0
/* 8029F428 0029B088 D0 03 04 F8 */ stfs f0, 0x4f8(r3)
/* 8029F42C 0029B08C C0 0D 89 44 */ lfs f0, lbl_8063DC04-_SDA_BASE_(r13)
/* 8029F430 0029B090 EC 03 00 28 */ fsubs f0, f3, f0
/* 8029F434 0029B094 D0 03 05 00 */ stfs f0, 0x500(r3)
/* 8029F438 0029B098 C0 0D 89 4C */ lfs f0, lbl_8063DC0C-_SDA_BASE_(r13)
/* 8029F43C 0029B09C EC 05 00 24 */ fdivs f0, f5, f0
/* 8029F440 0029B0A0 D0 03 05 04 */ stfs f0, 0x504(r3)
/* 8029F444 0029B0A4 C0 0D 89 4C */ lfs f0, lbl_8063DC0C-_SDA_BASE_(r13)
/* 8029F448 0029B0A8 EC 06 00 24 */ fdivs f0, f6, f0
/* 8029F44C 0029B0AC D0 03 05 08 */ stfs f0, 0x508(r3)
/* 8029F450 0029B0B0 C0 0D 89 38 */ lfs f0, lbl_8063DBF8-_SDA_BASE_(r13)
/* 8029F454 0029B0B4 EC 00 00 32 */ fmuls f0, f0, f0
/* 8029F458 0029B0B8 D0 03 05 0C */ stfs f0, 0x50c(r3)
/* 8029F45C 0029B0BC C0 0D AD E4 */ lfs f0, lbl_806400A4-_SDA_BASE_(r13)
/* 8029F460 0029B0C0 D0 03 05 14 */ stfs f0, 0x514(r3)
/* 8029F464 0029B0C4 C0 6D AD E0 */ lfs f3, lbl_806400A0-_SDA_BASE_(r13)
/* 8029F468 0029B0C8 EC 03 08 24 */ fdivs f0, f3, f1
/* 8029F46C 0029B0CC D0 63 05 10 */ stfs f3, 0x510(r3)
/* 8029F470 0029B0D0 93 C3 00 08 */ stw r30, 8(r3)
/* 8029F474 0029B0D4 93 C3 00 04 */ stw r30, 4(r3)
/* 8029F478 0029B0D8 93 C3 00 00 */ stw r30, 0(r3)
/* 8029F47C 0029B0DC B3 C3 04 CC */ sth r30, 0x4cc(r3)
/* 8029F480 0029B0E0 B0 A3 04 CE */ sth r5, 0x4ce(r3)
/* 8029F484 0029B0E4 9B C3 00 5E */ stb r30, 0x5e(r3)
/* 8029F488 0029B0E8 9B C3 04 CA */ stb r30, 0x4ca(r3)
/* 8029F48C 0029B0EC 81 0D AD D8 */ lwz r8, lbl_80640098-_SDA_BASE_(r13)
/* 8029F490 0029B0F0 80 ED AD DC */ lwz r7, lbl_8064009C-_SDA_BASE_(r13)
/* 8029F494 0029B0F4 D0 A3 04 B8 */ stfs f5, 0x4b8(r3)
/* 8029F498 0029B0F8 D0 43 04 BC */ stfs f2, 0x4bc(r3)
/* 8029F49C 0029B0FC 80 C3 04 B8 */ lwz r6, 0x4b8(r3)
/* 8029F4A0 0029B100 91 03 00 28 */ stw r8, 0x28(r3)
/* 8029F4A4 0029B104 80 A3 04 BC */ lwz r5, 0x4bc(r3)
/* 8029F4A8 0029B108 90 E3 00 2C */ stw r7, 0x2c(r3)
/* 8029F4AC 0029B10C 91 03 00 20 */ stw r8, 0x20(r3)
/* 8029F4B0 0029B110 90 E3 00 24 */ stw r7, 0x24(r3)
/* 8029F4B4 0029B114 D0 43 00 30 */ stfs f2, 0x30(r3)
/* 8029F4B8 0029B118 D0 A3 04 B0 */ stfs f5, 0x4b0(r3)
/* 8029F4BC 0029B11C D0 A3 00 34 */ stfs f5, 0x34(r3)
/* 8029F4C0 0029B120 D0 43 04 B4 */ stfs f2, 0x4b4(r3)
/* 8029F4C4 0029B124 D0 43 00 38 */ stfs f2, 0x38(r3)
/* 8029F4C8 0029B128 83 ED AD D8 */ lwz r31, lbl_80640098-_SDA_BASE_(r13)
/* 8029F4CC 0029B12C 81 8D AD DC */ lwz r12, lbl_8064009C-_SDA_BASE_(r13)
/* 8029F4D0 0029B130 D0 43 00 14 */ stfs f2, 0x14(r3)
/* 8029F4D4 0029B134 D0 43 00 0C */ stfs f2, 0xc(r3)
/* 8029F4D8 0029B138 80 E3 00 14 */ lwz r7, 0x14(r3)
/* 8029F4DC 0029B13C D0 C3 00 10 */ stfs f6, 0x10(r3)
/* 8029F4E0 0029B140 81 23 00 0C */ lwz r9, 0xc(r3)
/* 8029F4E4 0029B144 81 03 00 10 */ lwz r8, 0x10(r3)
/* 8029F4E8 0029B148 93 E3 00 3C */ stw r31, 0x3c(r3)
/* 8029F4EC 0029B14C 91 83 00 40 */ stw r12, 0x40(r3)
/* 8029F4F0 0029B150 D0 43 00 44 */ stfs f2, 0x44(r3)
/* 8029F4F4 0029B154 D0 A3 00 54 */ stfs f5, 0x54(r3)
/* 8029F4F8 0029B158 D0 43 00 58 */ stfs f2, 0x58(r3)
/* 8029F4FC 0029B15C D0 23 00 48 */ stfs f1, 0x48(r3)
/* 8029F500 0029B160 D0 43 00 50 */ stfs f2, 0x50(r3)
/* 8029F504 0029B164 D0 43 00 4C */ stfs f2, 0x4c(r3)
/* 8029F508 0029B168 D0 23 04 9C */ stfs f1, 0x49c(r3)
/* 8029F50C 0029B16C D0 03 04 A0 */ stfs f0, 0x4a0(r3)
/* 8029F510 0029B170 D0 03 04 90 */ stfs f0, 0x490(r3)
/* 8029F514 0029B174 91 63 04 94 */ stw r11, 0x494(r3)
/* 8029F518 0029B178 91 43 04 98 */ stw r10, 0x498(r3)
/* 8029F51C 0029B17C D0 A3 00 18 */ stfs f5, 0x18(r3)
/* 8029F520 0029B180 D0 43 00 1C */ stfs f2, 0x1c(r3)
/* 8029F524 0029B184 91 23 04 A4 */ stw r9, 0x4a4(r3)
/* 8029F528 0029B188 91 03 04 A8 */ stw r8, 0x4a8(r3)
/* 8029F52C 0029B18C 90 E3 04 AC */ stw r7, 0x4ac(r3)
/* 8029F530 0029B190 90 C3 04 C0 */ stw r6, 0x4c0(r3)
/* 8029F534 0029B194 90 A3 04 C4 */ stw r5, 0x4c4(r3)
/* 8029F538 0029B198 A0 AD 89 40 */ lhz r5, lbl_8063DC00-_SDA_BASE_(r13)
/* 8029F53C 0029B19C B0 A3 04 C8 */ sth r5, 0x4c8(r3)
/* 8029F540 0029B1A0 B3 C3 01 0C */ sth r30, 0x10c(r3)
lbl_8029F544:
/* 8029F544 0029B1A4 98 9D 00 08 */ stb r4, 8(r29)
/* 8029F548 0029B1A8 3B BD FF F4 */ addi r29, r29, -12
/* 8029F54C 0029B1AC 7C 1D 00 40 */ cmplw r29, r0
/* 8029F550 0029B1B0 40 80 FF F4 */ bge lbl_8029F544
/* 8029F554 0029B1B4 38 A3 01 00 */ addi r5, r3, 0x100
/* 8029F558 0029B1B8 38 03 00 F4 */ addi r0, r3, 0xf4
/* 8029F55C 0029B1BC 38 80 FF FF */ li r4, -1
lbl_8029F560:
/* 8029F560 0029B1C0 98 85 00 08 */ stb r4, 8(r5)
/* 8029F564 0029B1C4 38 A5 FF F4 */ addi r5, r5, -12
/* 8029F568 0029B1C8 7C 05 00 40 */ cmplw r5, r0
/* 8029F56C 0029B1CC 40 80 FF F4 */ bge lbl_8029F560
/* 8029F570 0029B1D0 38 80 00 00 */ li r4, 0
/* 8029F574 0029B1D4 38 00 00 01 */ li r0, 1
/* 8029F578 0029B1D8 98 83 01 0F */ stb r4, 0x10f(r3)
/* 8029F57C 0029B1DC 98 03 05 1E */ stb r0, 0x51e(r3)
/* 8029F580 0029B1E0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8029F584 0029B1E4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8029F588 0029B1E8 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8029F58C 0029B1EC 38 21 00 20 */ addi r1, r1, 0x20
/* 8029F590 0029B1F0 4E 80 00 20 */ blr
.global calc_button_repeat
calc_button_repeat:
/* 8029F594 0029B1F4 80 03 00 04 */ lwz r0, 4(r3)
/* 8029F598 0029B1F8 2C 00 00 00 */ cmpwi r0, 0
/* 8029F59C 0029B1FC 40 82 00 10 */ bne lbl_8029F5AC
/* 8029F5A0 0029B200 80 03 00 08 */ lwz r0, 8(r3)
/* 8029F5A4 0029B204 2C 00 00 00 */ cmpwi r0, 0
/* 8029F5A8 0029B208 41 82 00 3C */ beq lbl_8029F5E4
lbl_8029F5AC:
/* 8029F5AC 0029B20C 80 03 00 04 */ lwz r0, 4(r3)
/* 8029F5B0 0029B210 38 E0 00 00 */ li r7, 0
/* 8029F5B4 0029B214 A0 C3 04 D0 */ lhz r6, 0x4d0(r3)
/* 8029F5B8 0029B218 2C 00 00 00 */ cmpwi r0, 0
/* 8029F5BC 0029B21C B0 E3 04 CC */ sth r7, 0x4cc(r3)
/* 8029F5C0 0029B220 B0 C3 04 CE */ sth r6, 0x4ce(r3)
/* 8029F5C4 0029B224 41 82 00 94 */ beq lbl_8029F658
/* 8029F5C8 0029B228 A0 03 04 D2 */ lhz r0, 0x4d2(r3)
/* 8029F5CC 0029B22C 2C 00 00 00 */ cmpwi r0, 0
/* 8029F5D0 0029B230 41 82 00 88 */ beq lbl_8029F658
/* 8029F5D4 0029B234 80 03 00 00 */ lwz r0, 0(r3)
/* 8029F5D8 0029B238 64 00 80 00 */ oris r0, r0, 0x8000
/* 8029F5DC 0029B23C 90 03 00 00 */ stw r0, 0(r3)
/* 8029F5E0 0029B240 48 00 00 78 */ b lbl_8029F658
lbl_8029F5E4:
/* 8029F5E4 0029B244 80 03 00 00 */ lwz r0, 0(r3)
/* 8029F5E8 0029B248 2C 00 00 00 */ cmpwi r0, 0
/* 8029F5EC 0029B24C 41 82 00 6C */ beq lbl_8029F658
/* 8029F5F0 0029B250 A0 03 04 CC */ lhz r0, 0x4cc(r3)
/* 8029F5F4 0029B254 7C 00 2A 14 */ add r0, r0, r5
/* 8029F5F8 0029B258 54 06 04 3E */ clrlwi r6, r0, 0x10
/* 8029F5FC 0029B25C B0 03 04 CC */ sth r0, 0x4cc(r3)
/* 8029F600 0029B260 28 06 9C 40 */ cmplwi r6, 0x9c40
/* 8029F604 0029B264 41 80 00 10 */ blt lbl_8029F614
/* 8029F608 0029B268 3C C6 FF FF */ addis r6, r6, 0xffff
/* 8029F60C 0029B26C 38 06 63 C0 */ addi r0, r6, 0x63c0
/* 8029F610 0029B270 B0 03 04 CC */ sth r0, 0x4cc(r3)
lbl_8029F614:
/* 8029F614 0029B274 A1 03 04 CC */ lhz r8, 0x4cc(r3)
/* 8029F618 0029B278 A0 E3 04 CE */ lhz r7, 0x4ce(r3)
/* 8029F61C 0029B27C 7C 08 38 40 */ cmplw r8, r7
/* 8029F620 0029B280 41 80 00 38 */ blt lbl_8029F658
/* 8029F624 0029B284 80 C3 00 00 */ lwz r6, 0(r3)
/* 8029F628 0029B288 28 08 4E 20 */ cmplwi r8, 0x4e20
/* 8029F62C 0029B28C A0 03 04 D2 */ lhz r0, 0x4d2(r3)
/* 8029F630 0029B290 64 C6 80 00 */ oris r6, r6, 0x8000
/* 8029F634 0029B294 7C 07 02 14 */ add r0, r7, r0
/* 8029F638 0029B298 90 C3 00 00 */ stw r6, 0(r3)
/* 8029F63C 0029B29C B0 03 04 CE */ sth r0, 0x4ce(r3)
/* 8029F640 0029B2A0 41 80 00 18 */ blt lbl_8029F658
/* 8029F644 0029B2A4 54 06 04 3E */ clrlwi r6, r0, 0x10
/* 8029F648 0029B2A8 38 E8 B1 E0 */ addi r7, r8, -20000
/* 8029F64C 0029B2AC 38 06 B1 E0 */ addi r0, r6, -20000
/* 8029F650 0029B2B0 B0 E3 04 CC */ sth r7, 0x4cc(r3)
/* 8029F654 0029B2B4 B0 03 04 CE */ sth r0, 0x4ce(r3)
lbl_8029F658:
/* 8029F658 0029B2B8 28 04 00 02 */ cmplwi r4, 2
/* 8029F65C 0029B2BC 4C 82 00 20 */ bnelr
/* 8029F660 0029B2C0 80 03 00 64 */ lwz r0, 0x64(r3)
/* 8029F664 0029B2C4 2C 00 00 00 */ cmpwi r0, 0
/* 8029F668 0029B2C8 40 82 00 10 */ bne lbl_8029F678
/* 8029F66C 0029B2CC 80 03 00 68 */ lwz r0, 0x68(r3)
/* 8029F670 0029B2D0 2C 00 00 00 */ cmpwi r0, 0
/* 8029F674 0029B2D4 41 82 00 3C */ beq lbl_8029F6B0
lbl_8029F678:
/* 8029F678 0029B2D8 80 03 00 64 */ lwz r0, 0x64(r3)
/* 8029F67C 0029B2DC 38 A0 00 00 */ li r5, 0
/* 8029F680 0029B2E0 A0 83 04 D0 */ lhz r4, 0x4d0(r3)
/* 8029F684 0029B2E4 2C 00 00 00 */ cmpwi r0, 0
/* 8029F688 0029B2E8 B0 A3 04 D4 */ sth r5, 0x4d4(r3)
/* 8029F68C 0029B2EC B0 83 04 D6 */ sth r4, 0x4d6(r3)
/* 8029F690 0029B2F0 4D 82 00 20 */ beqlr
/* 8029F694 0029B2F4 A0 03 04 D2 */ lhz r0, 0x4d2(r3)
/* 8029F698 0029B2F8 2C 00 00 00 */ cmpwi r0, 0
/* 8029F69C 0029B2FC 4D 82 00 20 */ beqlr
/* 8029F6A0 0029B300 80 03 00 60 */ lwz r0, 0x60(r3)
/* 8029F6A4 0029B304 64 00 80 00 */ oris r0, r0, 0x8000
/* 8029F6A8 0029B308 90 03 00 60 */ stw r0, 0x60(r3)
/* 8029F6AC 0029B30C 4E 80 00 20 */ blr
lbl_8029F6B0:
/* 8029F6B0 0029B310 80 03 00 60 */ lwz r0, 0x60(r3)
/* 8029F6B4 0029B314 2C 00 00 00 */ cmpwi r0, 0
/* 8029F6B8 0029B318 4D 82 00 20 */ beqlr
/* 8029F6BC 0029B31C A0 03 04 D4 */ lhz r0, 0x4d4(r3)
/* 8029F6C0 0029B320 7C 00 2A 14 */ add r0, r0, r5
/* 8029F6C4 0029B324 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 8029F6C8 0029B328 B0 03 04 D4 */ sth r0, 0x4d4(r3)
/* 8029F6CC 0029B32C 28 04 9C 40 */ cmplwi r4, 0x9c40
/* 8029F6D0 0029B330 41 80 00 10 */ blt lbl_8029F6E0
/* 8029F6D4 0029B334 3C 84 FF FF */ addis r4, r4, 0xffff
/* 8029F6D8 0029B338 38 04 63 C0 */ addi r0, r4, 0x63c0
/* 8029F6DC 0029B33C B0 03 04 D4 */ sth r0, 0x4d4(r3)
lbl_8029F6E0:
/* 8029F6E0 0029B340 A0 C3 04 D4 */ lhz r6, 0x4d4(r3)
/* 8029F6E4 0029B344 A0 A3 04 D6 */ lhz r5, 0x4d6(r3)
/* 8029F6E8 0029B348 7C 06 28 40 */ cmplw r6, r5
/* 8029F6EC 0029B34C 4D 80 00 20 */ bltlr
/* 8029F6F0 0029B350 80 83 00 60 */ lwz r4, 0x60(r3)
/* 8029F6F4 0029B354 28 06 4E 20 */ cmplwi r6, 0x4e20
/* 8029F6F8 0029B358 A0 03 04 D2 */ lhz r0, 0x4d2(r3)
/* 8029F6FC 0029B35C 64 84 80 00 */ oris r4, r4, 0x8000
/* 8029F700 0029B360 7C 05 02 14 */ add r0, r5, r0
/* 8029F704 0029B364 90 83 00 60 */ stw r4, 0x60(r3)
/* 8029F708 0029B368 B0 03 04 D6 */ sth r0, 0x4d6(r3)
/* 8029F70C 0029B36C 4D 80 00 20 */ bltlr
/* 8029F710 0029B370 54 04 04 3E */ clrlwi r4, r0, 0x10
/* 8029F714 0029B374 38 A6 B1 E0 */ addi r5, r6, -20000
/* 8029F718 0029B378 38 04 B1 E0 */ addi r0, r4, -20000
/* 8029F71C 0029B37C B0 A3 04 D4 */ sth r5, 0x4d4(r3)
/* 8029F720 0029B380 B0 03 04 D6 */ sth r0, 0x4d6(r3)
/* 8029F724 0029B384 4E 80 00 20 */ blr
.global calc_acc_horizon
calc_acc_horizon:
/* 8029F728 0029B388 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8029F72C 0029B38C 7C 08 02 A6 */ mflr r0
/* 8029F730 0029B390 90 01 00 34 */ stw r0, 0x34(r1)
/* 8029F734 0029B394 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8029F738 0029B398 F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 8029F73C 0029B39C DB C1 00 10 */ stfd f30, 0x10(r1)
/* 8029F740 0029B3A0 F3 C1 00 18 */ psq_st f30, 24(r1), 0, qr0
/* 8029F744 0029B3A4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029F748 0029B3A8 7C 7F 1B 78 */ mr r31, r3
/* 8029F74C 0029B3AC C0 23 04 A4 */ lfs f1, 0x4a4(r3)
/* 8029F750 0029B3B0 C0 03 04 A8 */ lfs f0, 0x4a8(r3)
/* 8029F754 0029B3B4 EC 21 00 72 */ fmuls f1, f1, f1
/* 8029F758 0029B3B8 EC 00 00 32 */ fmuls f0, f0, f0
/* 8029F75C 0029B3BC EC 21 00 2A */ fadds f1, f1, f0
/* 8029F760 0029B3C0 4B F3 50 D5 */ bl sqrt
/* 8029F764 0029B3C4 FD 00 08 18 */ frsp f8, f1
/* 8029F768 0029B3C8 C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 8029F76C 0029B3CC FC 00 40 00 */ fcmpu cr0, f0, f8
/* 8029F770 0029B3D0 41 82 01 28 */ beq lbl_8029F898
/* 8029F774 0029B3D4 C0 42 A3 C4 */ lfs f2, lbl_806429C4-_SDA2_BASE_(r2)
/* 8029F778 0029B3D8 FC 08 10 40 */ fcmpo cr0, f8, f2
/* 8029F77C 0029B3DC 4C 41 13 82 */ cror 2, 1, 2
/* 8029F780 0029B3E0 40 82 00 08 */ bne lbl_8029F788
/* 8029F784 0029B3E4 48 00 01 14 */ b lbl_8029F898
lbl_8029F788:
/* 8029F788 0029B3E8 C0 1F 04 A4 */ lfs f0, 0x4a4(r31)
/* 8029F78C 0029B3EC C0 3F 04 A8 */ lfs f1, 0x4a8(r31)
/* 8029F790 0029B3F0 ED 20 40 24 */ fdivs f9, f0, f8
/* 8029F794 0029B3F4 C0 02 A3 B0 */ lfs f0, lbl_806429B0-_SDA2_BASE_(r2)
/* 8029F798 0029B3F8 ED 41 40 24 */ fdivs f10, f1, f8
/* 8029F79C 0029B3FC FC 08 00 40 */ fcmpo cr0, f8, f0
/* 8029F7A0 0029B400 40 81 00 08 */ ble lbl_8029F7A8
/* 8029F7A4 0029B404 ED 02 40 28 */ fsubs f8, f2, f8
lbl_8029F7A8:
/* 8029F7A8 0029B408 C0 1F 00 AC */ lfs f0, 0xac(r31)
/* 8029F7AC 0029B40C C0 DF 00 A8 */ lfs f6, 0xa8(r31)
/* 8029F7B0 0029B410 EC 80 02 B2 */ fmuls f4, f0, f10
/* 8029F7B4 0029B414 C0 ED 89 34 */ lfs f7, lbl_8063DBF4-_SDA_BASE_(r13)
/* 8029F7B8 0029B418 EC A6 02 72 */ fmuls f5, f6, f9
/* 8029F7BC 0029B41C C0 7F 04 B8 */ lfs f3, 0x4b8(r31)
/* 8029F7C0 0029B420 EC 40 02 72 */ fmuls f2, f0, f9
/* 8029F7C4 0029B424 C0 3F 04 BC */ lfs f1, 0x4bc(r31)
/* 8029F7C8 0029B428 EC 06 02 B2 */ fmuls f0, f6, f10
/* 8029F7CC 0029B42C EC C8 01 F2 */ fmuls f6, f8, f7
/* 8029F7D0 0029B430 EC 85 20 2A */ fadds f4, f5, f4
/* 8029F7D4 0029B434 EC 02 00 28 */ fsubs f0, f2, f0
/* 8029F7D8 0029B438 ED 08 01 B2 */ fmuls f8, f8, f6
/* 8029F7DC 0029B43C EC 44 18 28 */ fsubs f2, f4, f3
/* 8029F7E0 0029B440 EC 00 08 28 */ fsubs f0, f0, f1
/* 8029F7E4 0029B444 EC 48 00 B2 */ fmuls f2, f8, f2
/* 8029F7E8 0029B448 EC 08 00 32 */ fmuls f0, f8, f0
/* 8029F7EC 0029B44C EF E3 10 2A */ fadds f31, f3, f2
/* 8029F7F0 0029B450 EF C1 00 2A */ fadds f30, f1, f0
/* 8029F7F4 0029B454 EC 3F 07 F2 */ fmuls f1, f31, f31
/* 8029F7F8 0029B458 EC 1E 07 B2 */ fmuls f0, f30, f30
/* 8029F7FC 0029B45C EC 21 00 2A */ fadds f1, f1, f0
/* 8029F800 0029B460 4B F3 50 35 */ bl sqrt
/* 8029F804 0029B464 FC 20 08 18 */ frsp f1, f1
/* 8029F808 0029B468 C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 8029F80C 0029B46C FC 00 08 00 */ fcmpu cr0, f0, f1
/* 8029F810 0029B470 41 82 00 88 */ beq lbl_8029F898
/* 8029F814 0029B474 EC FF 08 24 */ fdivs f7, f31, f1
/* 8029F818 0029B478 C0 BF 04 C0 */ lfs f5, 0x4c0(r31)
/* 8029F81C 0029B47C C0 9F 04 C4 */ lfs f4, 0x4c4(r31)
/* 8029F820 0029B480 C0 1F 05 0C */ lfs f0, 0x50c(r31)
/* 8029F824 0029B484 EC DE 08 24 */ fdivs f6, f30, f1
/* 8029F828 0029B488 D0 FF 04 B8 */ stfs f7, 0x4b8(r31)
/* 8029F82C 0029B48C D0 DF 04 BC */ stfs f6, 0x4bc(r31)
/* 8029F830 0029B490 EC 47 28 28 */ fsubs f2, f7, f5
/* 8029F834 0029B494 EC 66 20 28 */ fsubs f3, f6, f4
/* 8029F838 0029B498 C0 2D 89 3C */ lfs f1, lbl_8063DBFC-_SDA_BASE_(r13)
/* 8029F83C 0029B49C EC 21 00 B2 */ fmuls f1, f1, f2
/* 8029F840 0029B4A0 EC 25 08 2A */ fadds f1, f5, f1
/* 8029F844 0029B4A4 EC 47 08 28 */ fsubs f2, f7, f1
/* 8029F848 0029B4A8 D0 3F 04 C0 */ stfs f1, 0x4c0(r31)
/* 8029F84C 0029B4AC C0 2D 89 3C */ lfs f1, lbl_8063DBFC-_SDA_BASE_(r13)
/* 8029F850 0029B4B0 EC 42 00 B2 */ fmuls f2, f2, f2
/* 8029F854 0029B4B4 EC 21 00 F2 */ fmuls f1, f1, f3
/* 8029F858 0029B4B8 EC 24 08 2A */ fadds f1, f4, f1
/* 8029F85C 0029B4BC EC 66 08 28 */ fsubs f3, f6, f1
/* 8029F860 0029B4C0 D0 3F 04 C4 */ stfs f1, 0x4c4(r31)
/* 8029F864 0029B4C4 EC 23 00 F2 */ fmuls f1, f3, f3
/* 8029F868 0029B4C8 EC 22 08 2A */ fadds f1, f2, f1
/* 8029F86C 0029B4CC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8029F870 0029B4D0 4C 40 13 82 */ cror 2, 0, 2
/* 8029F874 0029B4D4 40 82 00 1C */ bne lbl_8029F890
/* 8029F878 0029B4D8 A0 7F 04 C8 */ lhz r3, 0x4c8(r31)
/* 8029F87C 0029B4DC 2C 03 00 00 */ cmpwi r3, 0
/* 8029F880 0029B4E0 41 82 00 18 */ beq lbl_8029F898
/* 8029F884 0029B4E4 38 03 FF FF */ addi r0, r3, -1
/* 8029F888 0029B4E8 B0 1F 04 C8 */ sth r0, 0x4c8(r31)
/* 8029F88C 0029B4EC 48 00 00 0C */ b lbl_8029F898
lbl_8029F890:
/* 8029F890 0029B4F0 A0 0D 89 40 */ lhz r0, lbl_8063DC00-_SDA_BASE_(r13)
/* 8029F894 0029B4F4 B0 1F 04 C8 */ sth r0, 0x4c8(r31)
lbl_8029F898:
/* 8029F898 0029B4F8 E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 8029F89C 0029B4FC CB E1 00 20 */ lfd f31, 0x20(r1)
/* 8029F8A0 0029B500 E3 C1 00 18 */ psq_l f30, 24(r1), 0, qr0
/* 8029F8A4 0029B504 CB C1 00 10 */ lfd f30, 0x10(r1)
/* 8029F8A8 0029B508 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8029F8AC 0029B50C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029F8B0 0029B510 7C 08 03 A6 */ mtlr r0
/* 8029F8B4 0029B514 38 21 00 30 */ addi r1, r1, 0x30
/* 8029F8B8 0029B518 4E 80 00 20 */ blr
.global calc_acc_vertical
calc_acc_vertical:
/* 8029F8BC 0029B51C 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8029F8C0 0029B520 7C 08 02 A6 */ mflr r0
/* 8029F8C4 0029B524 90 01 00 44 */ stw r0, 0x44(r1)
/* 8029F8C8 0029B528 DB E1 00 30 */ stfd f31, 0x30(r1)
/* 8029F8CC 0029B52C F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 8029F8D0 0029B530 DB C1 00 20 */ stfd f30, 0x20(r1)
/* 8029F8D4 0029B534 F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0
/* 8029F8D8 0029B538 DB A1 00 10 */ stfd f29, 0x10(r1)
/* 8029F8DC 0029B53C F3 A1 00 18 */ psq_st f29, 24(r1), 0, qr0
/* 8029F8E0 0029B540 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029F8E4 0029B544 7C 7F 1B 78 */ mr r31, r3
/* 8029F8E8 0029B548 C0 23 04 A4 */ lfs f1, 0x4a4(r3)
/* 8029F8EC 0029B54C C0 03 04 A8 */ lfs f0, 0x4a8(r3)
/* 8029F8F0 0029B550 EC 21 00 72 */ fmuls f1, f1, f1
/* 8029F8F4 0029B554 EC 00 00 32 */ fmuls f0, f0, f0
/* 8029F8F8 0029B558 EF C1 00 2A */ fadds f30, f1, f0
/* 8029F8FC 0029B55C FC 20 F0 90 */ fmr f1, f30
/* 8029F900 0029B560 4B F3 4F 35 */ bl sqrt
/* 8029F904 0029B564 C0 1F 04 AC */ lfs f0, 0x4ac(r31)
/* 8029F908 0029B568 FF E0 08 18 */ frsp f31, f1
/* 8029F90C 0029B56C FF A0 00 50 */ fneg f29, f0
/* 8029F910 0029B570 EC 1D 07 72 */ fmuls f0, f29, f29
/* 8029F914 0029B574 EC 3E 00 2A */ fadds f1, f30, f0
/* 8029F918 0029B578 4B F3 4F 1D */ bl sqrt
/* 8029F91C 0029B57C FC A0 08 18 */ frsp f5, f1
/* 8029F920 0029B580 C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 8029F924 0029B584 FC 00 28 00 */ fcmpu cr0, f0, f5
/* 8029F928 0029B588 41 82 00 8C */ beq lbl_8029F9B4
/* 8029F92C 0029B58C C0 22 A3 C4 */ lfs f1, lbl_806429C4-_SDA2_BASE_(r2)
/* 8029F930 0029B590 FC 05 08 40 */ fcmpo cr0, f5, f1
/* 8029F934 0029B594 4C 41 13 82 */ cror 2, 1, 2
/* 8029F938 0029B598 40 82 00 08 */ bne lbl_8029F940
/* 8029F93C 0029B59C 48 00 00 78 */ b lbl_8029F9B4
lbl_8029F940:
/* 8029F940 0029B5A0 EC 5F 28 24 */ fdivs f2, f31, f5
/* 8029F944 0029B5A4 C0 02 A3 B0 */ lfs f0, lbl_806429B0-_SDA2_BASE_(r2)
/* 8029F948 0029B5A8 EF BD 28 24 */ fdivs f29, f29, f5
/* 8029F94C 0029B5AC FC 05 00 40 */ fcmpo cr0, f5, f0
/* 8029F950 0029B5B0 40 81 00 08 */ ble lbl_8029F958
/* 8029F954 0029B5B4 EC A1 28 28 */ fsubs f5, f1, f5
lbl_8029F958:
/* 8029F958 0029B5B8 C0 0D 89 34 */ lfs f0, lbl_8063DBF4-_SDA_BASE_(r13)
/* 8029F95C 0029B5BC C0 7F 00 54 */ lfs f3, 0x54(r31)
/* 8029F960 0029B5C0 EC 85 00 32 */ fmuls f4, f5, f0
/* 8029F964 0029B5C4 C0 3F 00 58 */ lfs f1, 0x58(r31)
/* 8029F968 0029B5C8 EC 42 18 28 */ fsubs f2, f2, f3
/* 8029F96C 0029B5CC EC 1D 08 28 */ fsubs f0, f29, f1
/* 8029F970 0029B5D0 EC A5 01 32 */ fmuls f5, f5, f4
/* 8029F974 0029B5D4 EC 45 00 B2 */ fmuls f2, f5, f2
/* 8029F978 0029B5D8 EC 05 00 32 */ fmuls f0, f5, f0
/* 8029F97C 0029B5DC EF E3 10 2A */ fadds f31, f3, f2
/* 8029F980 0029B5E0 EF C1 00 2A */ fadds f30, f1, f0
/* 8029F984 0029B5E4 EC 3F 07 F2 */ fmuls f1, f31, f31
/* 8029F988 0029B5E8 EC 1E 07 B2 */ fmuls f0, f30, f30
/* 8029F98C 0029B5EC EC 21 00 2A */ fadds f1, f1, f0
/* 8029F990 0029B5F0 4B F3 4E A5 */ bl sqrt
/* 8029F994 0029B5F4 FC 40 08 18 */ frsp f2, f1
/* 8029F998 0029B5F8 C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 8029F99C 0029B5FC FC 00 10 00 */ fcmpu cr0, f0, f2
/* 8029F9A0 0029B600 41 82 00 14 */ beq lbl_8029F9B4
/* 8029F9A4 0029B604 EC 3F 10 24 */ fdivs f1, f31, f2
/* 8029F9A8 0029B608 EC 1E 10 24 */ fdivs f0, f30, f2
/* 8029F9AC 0029B60C D0 3F 00 54 */ stfs f1, 0x54(r31)
/* 8029F9B0 0029B610 D0 1F 00 58 */ stfs f0, 0x58(r31)
lbl_8029F9B4:
/* 8029F9B4 0029B614 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
/* 8029F9B8 0029B618 CB E1 00 30 */ lfd f31, 0x30(r1)
/* 8029F9BC 0029B61C E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0
/* 8029F9C0 0029B620 CB C1 00 20 */ lfd f30, 0x20(r1)
/* 8029F9C4 0029B624 E3 A1 00 18 */ psq_l f29, 24(r1), 0, qr0
/* 8029F9C8 0029B628 CB A1 00 10 */ lfd f29, 0x10(r1)
/* 8029F9CC 0029B62C 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8029F9D0 0029B630 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029F9D4 0029B634 7C 08 03 A6 */ mtlr r0
/* 8029F9D8 0029B638 38 21 00 40 */ addi r1, r1, 0x40
/* 8029F9DC 0029B63C 4E 80 00 20 */ blr
.global read_kpad_acc
read_kpad_acc:
/* 8029F9E0 0029B640 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8029F9E4 0029B644 7C 08 02 A6 */ mflr r0
/* 8029F9E8 0029B648 3C A0 43 30 */ lis r5, 0x4330
/* 8029F9EC 0029B64C 90 01 00 44 */ stw r0, 0x44(r1)
/* 8029F9F0 0029B650 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8029F9F4 0029B654 7C 9F 23 78 */ mr r31, r4
/* 8029F9F8 0029B658 93 C1 00 38 */ stw r30, 0x38(r1)
/* 8029F9FC 0029B65C 7C 7E 1B 78 */ mr r30, r3
/* 8029FA00 0029B660 88 04 00 36 */ lbz r0, 0x36(r4)
/* 8029FA04 0029B664 90 A1 00 20 */ stw r5, 0x20(r1)
/* 8029FA08 0029B668 2C 00 00 06 */ cmpwi r0, 6
/* 8029FA0C 0029B66C 90 A1 00 28 */ stw r5, 0x28(r1)
/* 8029FA10 0029B670 41 82 05 C0 */ beq lbl_8029FFD0
/* 8029FA14 0029B674 40 80 00 1C */ bge lbl_8029FA30
/* 8029FA18 0029B678 2C 00 00 03 */ cmpwi r0, 3
/* 8029FA1C 0029B67C 41 82 05 B4 */ beq lbl_8029FFD0
/* 8029FA20 0029B680 40 80 00 20 */ bge lbl_8029FA40
/* 8029FA24 0029B684 2C 00 00 01 */ cmpwi r0, 1
/* 8029FA28 0029B688 40 80 00 18 */ bge lbl_8029FA40
/* 8029FA2C 0029B68C 48 00 05 A4 */ b lbl_8029FFD0
lbl_8029FA30:
/* 8029FA30 0029B690 2C 00 00 09 */ cmpwi r0, 9
/* 8029FA34 0029B694 40 80 05 9C */ bge lbl_8029FFD0
/* 8029FA38 0029B698 48 00 00 08 */ b lbl_8029FA40
/* 8029FA3C 0029B69C 48 00 05 94 */ b lbl_8029FFD0
lbl_8029FA40:
/* 8029FA40 0029B6A0 A8 04 00 02 */ lha r0, 2(r4)
/* 8029FA44 0029B6A4 C8 62 A3 C8 */ lfd f3, lbl_806429C8-_SDA2_BASE_(r2)
/* 8029FA48 0029B6A8 7C 00 00 D0 */ neg r0, r0
/* 8029FA4C 0029B6AC C0 23 04 DC */ lfs f1, 0x4dc(r3)
/* 8029FA50 0029B6B0 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8029FA54 0029B6B4 C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 8029FA58 0029B6B8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029FA5C 0029B6BC C0 8D 89 7C */ lfs f4, lbl_8063DC3C-_SDA_BASE_(r13)
/* 8029FA60 0029B6C0 C8 41 00 20 */ lfd f2, 0x20(r1)
/* 8029FA64 0029B6C4 EC 42 18 28 */ fsubs f2, f2, f3
/* 8029FA68 0029B6C8 EC 22 00 72 */ fmuls f1, f2, f1
/* 8029FA6C 0029B6CC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8029FA70 0029B6D0 40 80 00 14 */ bge lbl_8029FA84
/* 8029FA74 0029B6D4 FC 80 20 50 */ fneg f4, f4
/* 8029FA78 0029B6D8 FC 01 20 40 */ fcmpo cr0, f1, f4
/* 8029FA7C 0029B6DC 40 80 00 14 */ bge lbl_8029FA90
/* 8029FA80 0029B6E0 48 00 00 14 */ b lbl_8029FA94
lbl_8029FA84:
/* 8029FA84 0029B6E4 FC 01 20 40 */ fcmpo cr0, f1, f4
/* 8029FA88 0029B6E8 40 81 00 08 */ ble lbl_8029FA90
/* 8029FA8C 0029B6EC 48 00 00 08 */ b lbl_8029FA94
lbl_8029FA90:
/* 8029FA90 0029B6F0 FC 80 08 90 */ fmr f4, f1
lbl_8029FA94:
/* 8029FA94 0029B6F4 D0 83 04 A4 */ stfs f4, 0x4a4(r3)
/* 8029FA98 0029B6F8 C8 62 A3 C8 */ lfd f3, lbl_806429C8-_SDA2_BASE_(r2)
/* 8029FA9C 0029B6FC A8 04 00 06 */ lha r0, 6(r4)
/* 8029FAA0 0029B700 C0 23 04 E4 */ lfs f1, 0x4e4(r3)
/* 8029FAA4 0029B704 7C 00 00 D0 */ neg r0, r0
/* 8029FAA8 0029B708 C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 8029FAAC 0029B70C 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8029FAB0 0029B710 C0 8D 89 7C */ lfs f4, lbl_8063DC3C-_SDA_BASE_(r13)
/* 8029FAB4 0029B714 90 01 00 2C */ stw r0, 0x2c(r1)
/* 8029FAB8 0029B718 C8 41 00 28 */ lfd f2, 0x28(r1)
/* 8029FABC 0029B71C EC 42 18 28 */ fsubs f2, f2, f3
/* 8029FAC0 0029B720 EC 22 00 72 */ fmuls f1, f2, f1
/* 8029FAC4 0029B724 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8029FAC8 0029B728 40 80 00 14 */ bge lbl_8029FADC
/* 8029FACC 0029B72C FC 80 20 50 */ fneg f4, f4
/* 8029FAD0 0029B730 FC 01 20 40 */ fcmpo cr0, f1, f4
/* 8029FAD4 0029B734 40 80 00 14 */ bge lbl_8029FAE8
/* 8029FAD8 0029B738 48 00 00 14 */ b lbl_8029FAEC
lbl_8029FADC:
/* 8029FADC 0029B73C FC 01 20 40 */ fcmpo cr0, f1, f4
/* 8029FAE0 0029B740 40 81 00 08 */ ble lbl_8029FAE8
/* 8029FAE4 0029B744 48 00 00 08 */ b lbl_8029FAEC
lbl_8029FAE8:
/* 8029FAE8 0029B748 FC 80 08 90 */ fmr f4, f1
lbl_8029FAEC:
/* 8029FAEC 0029B74C D0 83 04 A8 */ stfs f4, 0x4a8(r3)
/* 8029FAF0 0029B750 C8 62 A3 C8 */ lfd f3, lbl_806429C8-_SDA2_BASE_(r2)
/* 8029FAF4 0029B754 A8 04 00 04 */ lha r0, 4(r4)
/* 8029FAF8 0029B758 C0 23 04 E0 */ lfs f1, 0x4e0(r3)
/* 8029FAFC 0029B75C 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8029FB00 0029B760 C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 8029FB04 0029B764 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029FB08 0029B768 C0 8D 89 7C */ lfs f4, lbl_8063DC3C-_SDA_BASE_(r13)
/* 8029FB0C 0029B76C C8 41 00 20 */ lfd f2, 0x20(r1)
/* 8029FB10 0029B770 EC 42 18 28 */ fsubs f2, f2, f3
/* 8029FB14 0029B774 EC 22 00 72 */ fmuls f1, f2, f1
/* 8029FB18 0029B778 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8029FB1C 0029B77C 40 80 00 14 */ bge lbl_8029FB30
/* 8029FB20 0029B780 FC 80 20 50 */ fneg f4, f4
/* 8029FB24 0029B784 FC 01 20 40 */ fcmpo cr0, f1, f4
/* 8029FB28 0029B788 40 80 00 14 */ bge lbl_8029FB3C
/* 8029FB2C 0029B78C 48 00 00 14 */ b lbl_8029FB40
lbl_8029FB30:
/* 8029FB30 0029B790 FC 01 20 40 */ fcmpo cr0, f1, f4
/* 8029FB34 0029B794 40 81 00 08 */ ble lbl_8029FB3C
/* 8029FB38 0029B798 48 00 00 08 */ b lbl_8029FB40
lbl_8029FB3C:
/* 8029FB3C 0029B79C FC 80 08 90 */ fmr f4, f1
lbl_8029FB40:
/* 8029FB40 0029B7A0 C0 23 04 A4 */ lfs f1, 0x4a4(r3)
/* 8029FB44 0029B7A4 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 8029FB48 0029B7A8 80 A3 00 0C */ lwz r5, 0xc(r3)
/* 8029FB4C 0029B7AC EC 41 00 28 */ fsubs f2, f1, f0
/* 8029FB50 0029B7B0 C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 8029FB54 0029B7B4 80 83 00 10 */ lwz r4, 0x10(r3)
/* 8029FB58 0029B7B8 80 03 00 14 */ lwz r0, 0x14(r3)
/* 8029FB5C 0029B7BC FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8029FB60 0029B7C0 D0 83 04 AC */ stfs f4, 0x4ac(r3)
/* 8029FB64 0029B7C4 90 A1 00 14 */ stw r5, 0x14(r1)
/* 8029FB68 0029B7C8 90 81 00 18 */ stw r4, 0x18(r1)
/* 8029FB6C 0029B7CC 90 01 00 1C */ stw r0, 0x1c(r1)
/* 8029FB70 0029B7D0 40 80 00 0C */ bge lbl_8029FB7C
/* 8029FB74 0029B7D4 FC 60 10 50 */ fneg f3, f2
/* 8029FB78 0029B7D8 48 00 00 08 */ b lbl_8029FB80
lbl_8029FB7C:
/* 8029FB7C 0029B7DC FC 60 10 90 */ fmr f3, f2
lbl_8029FB80:
/* 8029FB80 0029B7E0 C0 03 00 9C */ lfs f0, 0x9c(r3)
/* 8029FB84 0029B7E4 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 8029FB88 0029B7E8 4C 41 13 82 */ cror 2, 1, 2
/* 8029FB8C 0029B7EC 40 82 00 0C */ bne lbl_8029FB98
/* 8029FB90 0029B7F0 C0 62 A3 B0 */ lfs f3, lbl_806429B0-_SDA2_BASE_(r2)
/* 8029FB94 0029B7F4 48 00 00 10 */ b lbl_8029FBA4
lbl_8029FB98:
/* 8029FB98 0029B7F8 EC 63 00 24 */ fdivs f3, f3, f0
/* 8029FB9C 0029B7FC EC 63 00 F2 */ fmuls f3, f3, f3
/* 8029FBA0 0029B800 EC 63 00 F2 */ fmuls f3, f3, f3
lbl_8029FBA4:
/* 8029FBA4 0029B804 C0 03 00 A0 */ lfs f0, 0xa0(r3)
/* 8029FBA8 0029B808 C0 83 04 A8 */ lfs f4, 0x4a8(r3)
/* 8029FBAC 0029B80C EC 63 00 32 */ fmuls f3, f3, f0
/* 8029FBB0 0029B810 C0 03 00 10 */ lfs f0, 0x10(r3)
/* 8029FBB4 0029B814 C0 23 00 0C */ lfs f1, 0xc(r3)
/* 8029FBB8 0029B818 EC 84 00 28 */ fsubs f4, f4, f0
/* 8029FBBC 0029B81C C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 8029FBC0 0029B820 EC 43 00 B2 */ fmuls f2, f3, f2
/* 8029FBC4 0029B824 FC 04 00 40 */ fcmpo cr0, f4, f0
/* 8029FBC8 0029B828 EC 01 10 2A */ fadds f0, f1, f2
/* 8029FBCC 0029B82C D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8029FBD0 0029B830 40 80 00 0C */ bge lbl_8029FBDC
/* 8029FBD4 0029B834 FC 40 20 50 */ fneg f2, f4
/* 8029FBD8 0029B838 48 00 00 08 */ b lbl_8029FBE0
lbl_8029FBDC:
/* 8029FBDC 0029B83C FC 40 20 90 */ fmr f2, f4
lbl_8029FBE0:
/* 8029FBE0 0029B840 C0 03 00 9C */ lfs f0, 0x9c(r3)
/* 8029FBE4 0029B844 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8029FBE8 0029B848 4C 41 13 82 */ cror 2, 1, 2
/* 8029FBEC 0029B84C 40 82 00 0C */ bne lbl_8029FBF8
/* 8029FBF0 0029B850 C0 42 A3 B0 */ lfs f2, lbl_806429B0-_SDA2_BASE_(r2)
/* 8029FBF4 0029B854 48 00 00 10 */ b lbl_8029FC04
lbl_8029FBF8:
/* 8029FBF8 0029B858 EC 42 00 24 */ fdivs f2, f2, f0
/* 8029FBFC 0029B85C EC 42 00 B2 */ fmuls f2, f2, f2
/* 8029FC00 0029B860 EC 42 00 B2 */ fmuls f2, f2, f2
lbl_8029FC04:
/* 8029FC04 0029B864 C0 03 00 A0 */ lfs f0, 0xa0(r3)
/* 8029FC08 0029B868 C0 63 04 AC */ lfs f3, 0x4ac(r3)
/* 8029FC0C 0029B86C EC 42 00 32 */ fmuls f2, f2, f0
/* 8029FC10 0029B870 C0 03 00 14 */ lfs f0, 0x14(r3)
/* 8029FC14 0029B874 C0 23 00 10 */ lfs f1, 0x10(r3)
/* 8029FC18 0029B878 EC 63 00 28 */ fsubs f3, f3, f0
/* 8029FC1C 0029B87C C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 8029FC20 0029B880 EC 42 01 32 */ fmuls f2, f2, f4
/* 8029FC24 0029B884 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 8029FC28 0029B888 EC 01 10 2A */ fadds f0, f1, f2
/* 8029FC2C 0029B88C D0 03 00 10 */ stfs f0, 0x10(r3)
/* 8029FC30 0029B890 40 80 00 0C */ bge lbl_8029FC3C
/* 8029FC34 0029B894 FC 80 18 50 */ fneg f4, f3
/* 8029FC38 0029B898 48 00 00 08 */ b lbl_8029FC40
lbl_8029FC3C:
/* 8029FC3C 0029B89C FC 80 18 90 */ fmr f4, f3
lbl_8029FC40:
/* 8029FC40 0029B8A0 C0 03 00 9C */ lfs f0, 0x9c(r3)
/* 8029FC44 0029B8A4 FC 04 00 40 */ fcmpo cr0, f4, f0
/* 8029FC48 0029B8A8 4C 41 13 82 */ cror 2, 1, 2
/* 8029FC4C 0029B8AC 40 82 00 0C */ bne lbl_8029FC58
/* 8029FC50 0029B8B0 C0 82 A3 B0 */ lfs f4, lbl_806429B0-_SDA2_BASE_(r2)
/* 8029FC54 0029B8B4 48 00 00 10 */ b lbl_8029FC64
lbl_8029FC58:
/* 8029FC58 0029B8B8 EC 84 00 24 */ fdivs f4, f4, f0
/* 8029FC5C 0029B8BC EC 84 01 32 */ fmuls f4, f4, f4
/* 8029FC60 0029B8C0 EC 84 01 32 */ fmuls f4, f4, f4
lbl_8029FC64:
/* 8029FC64 0029B8C4 C0 03 00 A0 */ lfs f0, 0xa0(r3)
/* 8029FC68 0029B8C8 C0 23 00 0C */ lfs f1, 0xc(r3)
/* 8029FC6C 0029B8CC EC 84 00 32 */ fmuls f4, f4, f0
/* 8029FC70 0029B8D0 C0 03 00 10 */ lfs f0, 0x10(r3)
/* 8029FC74 0029B8D4 C0 43 00 14 */ lfs f2, 0x14(r3)
/* 8029FC78 0029B8D8 EC 21 00 72 */ fmuls f1, f1, f1
/* 8029FC7C 0029B8DC EC 00 00 32 */ fmuls f0, f0, f0
/* 8029FC80 0029B8E0 EC 64 00 F2 */ fmuls f3, f4, f3
/* 8029FC84 0029B8E4 EC 01 00 2A */ fadds f0, f1, f0
/* 8029FC88 0029B8E8 EC 42 18 2A */ fadds f2, f2, f3
/* 8029FC8C 0029B8EC EC 22 00 B2 */ fmuls f1, f2, f2
/* 8029FC90 0029B8F0 D0 43 00 14 */ stfs f2, 0x14(r3)
/* 8029FC94 0029B8F4 EC 21 00 2A */ fadds f1, f1, f0
/* 8029FC98 0029B8F8 4B F3 4B 9D */ bl sqrt
/* 8029FC9C 0029B8FC C0 41 00 14 */ lfs f2, 0x14(r1)
/* 8029FCA0 0029B900 FC C0 08 18 */ frsp f6, f1
/* 8029FCA4 0029B904 C0 1E 00 0C */ lfs f0, 0xc(r30)
/* 8029FCA8 0029B908 C0 21 00 18 */ lfs f1, 0x18(r1)
/* 8029FCAC 0029B90C EC A2 00 28 */ fsubs f5, f2, f0
/* 8029FCB0 0029B910 C0 1E 00 10 */ lfs f0, 0x10(r30)
/* 8029FCB4 0029B914 C0 41 00 1C */ lfs f2, 0x1c(r1)
/* 8029FCB8 0029B918 EC 81 00 28 */ fsubs f4, f1, f0
/* 8029FCBC 0029B91C C0 1E 00 14 */ lfs f0, 0x14(r30)
/* 8029FCC0 0029B920 EC 25 01 72 */ fmuls f1, f5, f5
/* 8029FCC4 0029B924 EC 62 00 28 */ fsubs f3, f2, f0
/* 8029FCC8 0029B928 D0 DE 00 18 */ stfs f6, 0x18(r30)
/* 8029FCCC 0029B92C EC 04 01 32 */ fmuls f0, f4, f4
/* 8029FCD0 0029B930 D0 A1 00 14 */ stfs f5, 0x14(r1)
/* 8029FCD4 0029B934 EC 43 00 F2 */ fmuls f2, f3, f3
/* 8029FCD8 0029B938 EC 01 00 2A */ fadds f0, f1, f0
/* 8029FCDC 0029B93C D0 81 00 18 */ stfs f4, 0x18(r1)
/* 8029FCE0 0029B940 D0 61 00 1C */ stfs f3, 0x1c(r1)
/* 8029FCE4 0029B944 EC 22 00 2A */ fadds f1, f2, f0
/* 8029FCE8 0029B948 4B F3 4B 4D */ bl sqrt
/* 8029FCEC 0029B94C FC 00 08 18 */ frsp f0, f1
/* 8029FCF0 0029B950 7F C3 F3 78 */ mr r3, r30
/* 8029FCF4 0029B954 D0 1E 00 1C */ stfs f0, 0x1c(r30)
/* 8029FCF8 0029B958 4B FF FA 31 */ bl calc_acc_horizon
/* 8029FCFC 0029B95C 7F C3 F3 78 */ mr r3, r30
/* 8029FD00 0029B960 4B FF FB BD */ bl calc_acc_vertical
/* 8029FD04 0029B964 88 1F 00 29 */ lbz r0, 0x29(r31)
/* 8029FD08 0029B968 7C 00 07 75 */ extsb. r0, r0
/* 8029FD0C 0029B96C 40 82 02 C4 */ bne lbl_8029FFD0
/* 8029FD10 0029B970 88 1F 00 28 */ lbz r0, 0x28(r31)
/* 8029FD14 0029B974 28 00 00 01 */ cmplwi r0, 1
/* 8029FD18 0029B978 40 82 02 B8 */ bne lbl_8029FFD0
/* 8029FD1C 0029B97C 88 1F 00 36 */ lbz r0, 0x36(r31)
/* 8029FD20 0029B980 28 00 00 04 */ cmplwi r0, 4
/* 8029FD24 0029B984 41 82 00 10 */ beq lbl_8029FD34
/* 8029FD28 0029B988 28 00 00 05 */ cmplwi r0, 5
/* 8029FD2C 0029B98C 41 82 00 08 */ beq lbl_8029FD34
/* 8029FD30 0029B990 48 00 02 A0 */ b lbl_8029FFD0
lbl_8029FD34:
/* 8029FD34 0029B994 A8 1F 00 2A */ lha r0, 0x2a(r31)
/* 8029FD38 0029B998 80 BE 00 68 */ lwz r5, 0x68(r30)
/* 8029FD3C 0029B99C 7C 00 00 D0 */ neg r0, r0
/* 8029FD40 0029B9A0 80 9E 00 6C */ lwz r4, 0x6c(r30)
/* 8029FD44 0029B9A4 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8029FD48 0029B9A8 80 7E 00 70 */ lwz r3, 0x70(r30)
/* 8029FD4C 0029B9AC 90 01 00 2C */ stw r0, 0x2c(r1)
/* 8029FD50 0029B9B0 C8 42 A3 C8 */ lfd f2, lbl_806429C8-_SDA2_BASE_(r2)
/* 8029FD54 0029B9B4 C8 01 00 28 */ lfd f0, 0x28(r1)
/* 8029FD58 0029B9B8 C0 3E 04 E8 */ lfs f1, 0x4e8(r30)
/* 8029FD5C 0029B9BC EC 40 10 28 */ fsubs f2, f0, f2
/* 8029FD60 0029B9C0 C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 8029FD64 0029B9C4 90 A1 00 08 */ stw r5, 8(r1)
/* 8029FD68 0029B9C8 C0 6D 89 80 */ lfs f3, lbl_8063DC40-_SDA_BASE_(r13)
/* 8029FD6C 0029B9CC EC 22 00 72 */ fmuls f1, f2, f1
/* 8029FD70 0029B9D0 90 81 00 0C */ stw r4, 0xc(r1)
/* 8029FD74 0029B9D4 90 61 00 10 */ stw r3, 0x10(r1)
/* 8029FD78 0029B9D8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8029FD7C 0029B9DC 40 80 00 14 */ bge lbl_8029FD90
/* 8029FD80 0029B9E0 FC 60 18 50 */ fneg f3, f3
/* 8029FD84 0029B9E4 FC 01 18 40 */ fcmpo cr0, f1, f3
/* 8029FD88 0029B9E8 40 80 00 14 */ bge lbl_8029FD9C
/* 8029FD8C 0029B9EC 48 00 00 14 */ b lbl_8029FDA0
lbl_8029FD90:
/* 8029FD90 0029B9F0 FC 01 18 40 */ fcmpo cr0, f1, f3
/* 8029FD94 0029B9F4 40 81 00 08 */ ble lbl_8029FD9C
/* 8029FD98 0029B9F8 48 00 00 08 */ b lbl_8029FDA0
lbl_8029FD9C:
/* 8029FD9C 0029B9FC FC 60 08 90 */ fmr f3, f1
lbl_8029FDA0:
/* 8029FDA0 0029BA00 C0 3E 00 68 */ lfs f1, 0x68(r30)
/* 8029FDA4 0029BA04 C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 8029FDA8 0029BA08 EC 83 08 28 */ fsubs f4, f3, f1
/* 8029FDAC 0029BA0C FC 04 00 40 */ fcmpo cr0, f4, f0
/* 8029FDB0 0029BA10 40 80 00 0C */ bge lbl_8029FDBC
/* 8029FDB4 0029BA14 FC A0 20 50 */ fneg f5, f4
/* 8029FDB8 0029BA18 48 00 00 08 */ b lbl_8029FDC0
lbl_8029FDBC:
/* 8029FDBC 0029BA1C FC A0 20 90 */ fmr f5, f4
lbl_8029FDC0:
/* 8029FDC0 0029BA20 C0 1E 00 9C */ lfs f0, 0x9c(r30)
/* 8029FDC4 0029BA24 FC 05 00 40 */ fcmpo cr0, f5, f0
/* 8029FDC8 0029BA28 4C 41 13 82 */ cror 2, 1, 2
/* 8029FDCC 0029BA2C 40 82 00 0C */ bne lbl_8029FDD8
/* 8029FDD0 0029BA30 C0 A2 A3 B0 */ lfs f5, lbl_806429B0-_SDA2_BASE_(r2)
/* 8029FDD4 0029BA34 48 00 00 10 */ b lbl_8029FDE4
lbl_8029FDD8:
/* 8029FDD8 0029BA38 EC A5 00 24 */ fdivs f5, f5, f0
/* 8029FDDC 0029BA3C EC A5 01 72 */ fmuls f5, f5, f5
/* 8029FDE0 0029BA40 EC A5 01 72 */ fmuls f5, f5, f5
lbl_8029FDE4:
/* 8029FDE4 0029BA44 C0 1E 00 A0 */ lfs f0, 0xa0(r30)
/* 8029FDE8 0029BA48 C0 5E 00 68 */ lfs f2, 0x68(r30)
/* 8029FDEC 0029BA4C EC A5 00 32 */ fmuls f5, f5, f0
/* 8029FDF0 0029BA50 C8 62 A3 C8 */ lfd f3, lbl_806429C8-_SDA2_BASE_(r2)
/* 8029FDF4 0029BA54 C0 3E 04 F0 */ lfs f1, 0x4f0(r30)
/* 8029FDF8 0029BA58 C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 8029FDFC 0029BA5C EC 85 01 32 */ fmuls f4, f5, f4
/* 8029FE00 0029BA60 EC 42 20 2A */ fadds f2, f2, f4
/* 8029FE04 0029BA64 D0 5E 00 68 */ stfs f2, 0x68(r30)
/* 8029FE08 0029BA68 A8 1F 00 2E */ lha r0, 0x2e(r31)
/* 8029FE0C 0029BA6C C0 8D 89 80 */ lfs f4, lbl_8063DC40-_SDA_BASE_(r13)
/* 8029FE10 0029BA70 7C 00 00 D0 */ neg r0, r0
/* 8029FE14 0029BA74 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8029FE18 0029BA78 90 01 00 24 */ stw r0, 0x24(r1)
/* 8029FE1C 0029BA7C C8 41 00 20 */ lfd f2, 0x20(r1)
/* 8029FE20 0029BA80 EC 42 18 28 */ fsubs f2, f2, f3
/* 8029FE24 0029BA84 EC 22 00 72 */ fmuls f1, f2, f1
/* 8029FE28 0029BA88 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8029FE2C 0029BA8C 40 80 00 14 */ bge lbl_8029FE40
/* 8029FE30 0029BA90 FC 80 20 50 */ fneg f4, f4
/* 8029FE34 0029BA94 FC 01 20 40 */ fcmpo cr0, f1, f4
/* 8029FE38 0029BA98 40 80 00 14 */ bge lbl_8029FE4C
/* 8029FE3C 0029BA9C 48 00 00 14 */ b lbl_8029FE50
lbl_8029FE40:
/* 8029FE40 0029BAA0 FC 01 20 40 */ fcmpo cr0, f1, f4
/* 8029FE44 0029BAA4 40 81 00 08 */ ble lbl_8029FE4C
/* 8029FE48 0029BAA8 48 00 00 08 */ b lbl_8029FE50
lbl_8029FE4C:
/* 8029FE4C 0029BAAC FC 80 08 90 */ fmr f4, f1
lbl_8029FE50:
/* 8029FE50 0029BAB0 C0 3E 00 6C */ lfs f1, 0x6c(r30)
/* 8029FE54 0029BAB4 C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 8029FE58 0029BAB8 EC 84 08 28 */ fsubs f4, f4, f1
/* 8029FE5C 0029BABC FC 04 00 40 */ fcmpo cr0, f4, f0
/* 8029FE60 0029BAC0 40 80 00 0C */ bge lbl_8029FE6C
/* 8029FE64 0029BAC4 FC A0 20 50 */ fneg f5, f4
/* 8029FE68 0029BAC8 48 00 00 08 */ b lbl_8029FE70
lbl_8029FE6C:
/* 8029FE6C 0029BACC FC A0 20 90 */ fmr f5, f4
lbl_8029FE70:
/* 8029FE70 0029BAD0 C0 1E 00 9C */ lfs f0, 0x9c(r30)
/* 8029FE74 0029BAD4 FC 05 00 40 */ fcmpo cr0, f5, f0
/* 8029FE78 0029BAD8 4C 41 13 82 */ cror 2, 1, 2
/* 8029FE7C 0029BADC 40 82 00 0C */ bne lbl_8029FE88
/* 8029FE80 0029BAE0 C0 A2 A3 B0 */ lfs f5, lbl_806429B0-_SDA2_BASE_(r2)
/* 8029FE84 0029BAE4 48 00 00 10 */ b lbl_8029FE94
lbl_8029FE88:
/* 8029FE88 0029BAE8 EC A5 00 24 */ fdivs f5, f5, f0
/* 8029FE8C 0029BAEC EC A5 01 72 */ fmuls f5, f5, f5
/* 8029FE90 0029BAF0 EC A5 01 72 */ fmuls f5, f5, f5
lbl_8029FE94:
/* 8029FE94 0029BAF4 C0 1E 00 A0 */ lfs f0, 0xa0(r30)
/* 8029FE98 0029BAF8 C0 5E 00 6C */ lfs f2, 0x6c(r30)
/* 8029FE9C 0029BAFC EC A5 00 32 */ fmuls f5, f5, f0
/* 8029FEA0 0029BB00 C8 62 A3 C8 */ lfd f3, lbl_806429C8-_SDA2_BASE_(r2)
/* 8029FEA4 0029BB04 C0 3E 04 EC */ lfs f1, 0x4ec(r30)
/* 8029FEA8 0029BB08 C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 8029FEAC 0029BB0C EC 85 01 32 */ fmuls f4, f5, f4
/* 8029FEB0 0029BB10 EC 42 20 2A */ fadds f2, f2, f4
/* 8029FEB4 0029BB14 D0 5E 00 6C */ stfs f2, 0x6c(r30)
/* 8029FEB8 0029BB18 A8 1F 00 2C */ lha r0, 0x2c(r31)
/* 8029FEBC 0029BB1C C0 8D 89 80 */ lfs f4, lbl_8063DC40-_SDA_BASE_(r13)
/* 8029FEC0 0029BB20 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8029FEC4 0029BB24 90 01 00 2C */ stw r0, 0x2c(r1)
/* 8029FEC8 0029BB28 C8 41 00 28 */ lfd f2, 0x28(r1)
/* 8029FECC 0029BB2C EC 42 18 28 */ fsubs f2, f2, f3
/* 8029FED0 0029BB30 EC 22 00 72 */ fmuls f1, f2, f1
/* 8029FED4 0029BB34 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8029FED8 0029BB38 40 80 00 14 */ bge lbl_8029FEEC
/* 8029FEDC 0029BB3C FC 80 20 50 */ fneg f4, f4
/* 8029FEE0 0029BB40 FC 01 20 40 */ fcmpo cr0, f1, f4
/* 8029FEE4 0029BB44 40 80 00 14 */ bge lbl_8029FEF8
/* 8029FEE8 0029BB48 48 00 00 14 */ b lbl_8029FEFC
lbl_8029FEEC:
/* 8029FEEC 0029BB4C FC 01 20 40 */ fcmpo cr0, f1, f4
/* 8029FEF0 0029BB50 40 81 00 08 */ ble lbl_8029FEF8
/* 8029FEF4 0029BB54 48 00 00 08 */ b lbl_8029FEFC
lbl_8029FEF8:
/* 8029FEF8 0029BB58 FC 80 08 90 */ fmr f4, f1
lbl_8029FEFC:
/* 8029FEFC 0029BB5C C0 3E 00 70 */ lfs f1, 0x70(r30)
/* 8029FF00 0029BB60 C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 8029FF04 0029BB64 EC 64 08 28 */ fsubs f3, f4, f1
/* 8029FF08 0029BB68 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 8029FF0C 0029BB6C 40 80 00 0C */ bge lbl_8029FF18
/* 8029FF10 0029BB70 FC 80 18 50 */ fneg f4, f3
/* 8029FF14 0029BB74 48 00 00 08 */ b lbl_8029FF1C
lbl_8029FF18:
/* 8029FF18 0029BB78 FC 80 18 90 */ fmr f4, f3
lbl_8029FF1C:
/* 8029FF1C 0029BB7C C0 1E 00 9C */ lfs f0, 0x9c(r30)
/* 8029FF20 0029BB80 FC 04 00 40 */ fcmpo cr0, f4, f0
/* 8029FF24 0029BB84 4C 41 13 82 */ cror 2, 1, 2
/* 8029FF28 0029BB88 40 82 00 0C */ bne lbl_8029FF34
/* 8029FF2C 0029BB8C C0 82 A3 B0 */ lfs f4, lbl_806429B0-_SDA2_BASE_(r2)
/* 8029FF30 0029BB90 48 00 00 10 */ b lbl_8029FF40
lbl_8029FF34:
/* 8029FF34 0029BB94 EC 84 00 24 */ fdivs f4, f4, f0
/* 8029FF38 0029BB98 EC 84 01 32 */ fmuls f4, f4, f4
/* 8029FF3C 0029BB9C EC 84 01 32 */ fmuls f4, f4, f4
lbl_8029FF40:
/* 8029FF40 0029BBA0 C0 1E 00 A0 */ lfs f0, 0xa0(r30)
/* 8029FF44 0029BBA4 C0 3E 00 68 */ lfs f1, 0x68(r30)
/* 8029FF48 0029BBA8 EC 84 00 32 */ fmuls f4, f4, f0
/* 8029FF4C 0029BBAC C0 1E 00 6C */ lfs f0, 0x6c(r30)
/* 8029FF50 0029BBB0 C0 5E 00 70 */ lfs f2, 0x70(r30)
/* 8029FF54 0029BBB4 EC 21 00 72 */ fmuls f1, f1, f1
/* 8029FF58 0029BBB8 EC 00 00 32 */ fmuls f0, f0, f0
/* 8029FF5C 0029BBBC EC 64 00 F2 */ fmuls f3, f4, f3
/* 8029FF60 0029BBC0 EC 01 00 2A */ fadds f0, f1, f0
/* 8029FF64 0029BBC4 EC 42 18 2A */ fadds f2, f2, f3
/* 8029FF68 0029BBC8 EC 22 00 B2 */ fmuls f1, f2, f2
/* 8029FF6C 0029BBCC D0 5E 00 70 */ stfs f2, 0x70(r30)
/* 8029FF70 0029BBD0 EC 21 00 2A */ fadds f1, f1, f0
/* 8029FF74 0029BBD4 4B F3 48 C1 */ bl sqrt
/* 8029FF78 0029BBD8 C0 41 00 08 */ lfs f2, 8(r1)
/* 8029FF7C 0029BBDC FC C0 08 18 */ frsp f6, f1
/* 8029FF80 0029BBE0 C0 1E 00 68 */ lfs f0, 0x68(r30)
/* 8029FF84 0029BBE4 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 8029FF88 0029BBE8 EC A2 00 28 */ fsubs f5, f2, f0
/* 8029FF8C 0029BBEC C0 1E 00 6C */ lfs f0, 0x6c(r30)
/* 8029FF90 0029BBF0 C0 41 00 10 */ lfs f2, 0x10(r1)
/* 8029FF94 0029BBF4 EC 81 00 28 */ fsubs f4, f1, f0
/* 8029FF98 0029BBF8 C0 1E 00 70 */ lfs f0, 0x70(r30)
/* 8029FF9C 0029BBFC EC 25 01 72 */ fmuls f1, f5, f5
/* 8029FFA0 0029BC00 EC 62 00 28 */ fsubs f3, f2, f0
/* 8029FFA4 0029BC04 D0 DE 00 74 */ stfs f6, 0x74(r30)
/* 8029FFA8 0029BC08 EC 04 01 32 */ fmuls f0, f4, f4
/* 8029FFAC 0029BC0C D0 A1 00 08 */ stfs f5, 8(r1)
/* 8029FFB0 0029BC10 EC 43 00 F2 */ fmuls f2, f3, f3
/* 8029FFB4 0029BC14 EC 01 00 2A */ fadds f0, f1, f0
/* 8029FFB8 0029BC18 D0 81 00 0C */ stfs f4, 0xc(r1)
/* 8029FFBC 0029BC1C D0 61 00 10 */ stfs f3, 0x10(r1)
/* 8029FFC0 0029BC20 EC 22 00 2A */ fadds f1, f2, f0
/* 8029FFC4 0029BC24 4B F3 48 71 */ bl sqrt
/* 8029FFC8 0029BC28 FC 00 08 18 */ frsp f0, f1
/* 8029FFCC 0029BC2C D0 1E 00 78 */ stfs f0, 0x78(r30)
lbl_8029FFD0:
/* 8029FFD0 0029BC30 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8029FFD4 0029BC34 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 8029FFD8 0029BC38 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 8029FFDC 0029BC3C 7C 08 03 A6 */ mtlr r0
/* 8029FFE0 0029BC40 38 21 00 40 */ addi r1, r1, 0x40
/* 8029FFE4 0029BC44 4E 80 00 20 */ blr
.global select_2obj_first
select_2obj_first:
/* 8029FFE8 0029BC48 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 8029FFEC 0029BC4C 7C 08 02 A6 */ mflr r0
/* 8029FFF0 0029BC50 90 01 00 84 */ stw r0, 0x84(r1)
/* 8029FFF4 0029BC54 DB E1 00 70 */ stfd f31, 0x70(r1)
/* 8029FFF8 0029BC58 F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0
/* 8029FFFC 0029BC5C DB C1 00 60 */ stfd f30, 0x60(r1)
/* 802A0000 0029BC60 F3 C1 00 68 */ psq_st f30, 104(r1), 0, qr0
/* 802A0004 0029BC64 DB A1 00 50 */ stfd f29, 0x50(r1)
/* 802A0008 0029BC68 F3 A1 00 58 */ psq_st f29, 88(r1), 0, qr0
/* 802A000C 0029BC6C DB 81 00 40 */ stfd f28, 0x40(r1)
/* 802A0010 0029BC70 F3 81 00 48 */ psq_st f28, 72(r1), 0, qr0
/* 802A0014 0029BC74 DB 61 00 30 */ stfd f27, 0x30(r1)
/* 802A0018 0029BC78 F3 61 00 38 */ psq_st f27, 56(r1), 0, qr0
/* 802A001C 0029BC7C 39 61 00 30 */ addi r11, r1, 0x30
/* 802A0020 0029BC80 4B F2 71 01 */ bl _savegpr_25
/* 802A0024 0029BC84 C3 CD 89 50 */ lfs f30, lbl_8063DC10-_SDA_BASE_(r13)
/* 802A0028 0029BC88 7C 79 1B 78 */ mr r25, r3
/* 802A002C 0029BC8C C3 A2 A3 A0 */ lfs f29, lbl_806429A0-_SDA2_BASE_(r2)
/* 802A0030 0029BC90 3B A3 00 C4 */ addi r29, r3, 0xc4
/* 802A0034 0029BC94 C3 E2 A3 B0 */ lfs f31, lbl_806429B0-_SDA2_BASE_(r2)
/* 802A0038 0029BC98 3B E3 00 E8 */ addi r31, r3, 0xe8
lbl_802A003C:
/* 802A003C 0029BC9C 88 1D 00 08 */ lbz r0, 8(r29)
/* 802A0040 0029BCA0 7C 00 07 75 */ extsb. r0, r0
/* 802A0044 0029BCA4 40 82 00 F8 */ bne lbl_802A013C
/* 802A0048 0029BCA8 3B 9D 00 0C */ addi r28, r29, 0xc
/* 802A004C 0029BCAC 3B D9 00 E8 */ addi r30, r25, 0xe8
lbl_802A0050:
/* 802A0050 0029BCB0 88 1C 00 08 */ lbz r0, 8(r28)
/* 802A0054 0029BCB4 7C 00 07 75 */ extsb. r0, r0
/* 802A0058 0029BCB8 40 82 00 D8 */ bne lbl_802A0130
/* 802A005C 0029BCBC C0 7C 00 00 */ lfs f3, 0(r28)
/* 802A0060 0029BCC0 C0 5D 00 00 */ lfs f2, 0(r29)
/* 802A0064 0029BCC4 C0 3C 00 04 */ lfs f1, 4(r28)
/* 802A0068 0029BCC8 C0 1D 00 04 */ lfs f0, 4(r29)
/* 802A006C 0029BCCC EF 63 10 28 */ fsubs f27, f3, f2
/* 802A0070 0029BCD0 EF 81 00 28 */ fsubs f28, f1, f0
/* 802A0074 0029BCD4 EC 3B 06 F2 */ fmuls f1, f27, f27
/* 802A0078 0029BCD8 EC 1C 07 32 */ fmuls f0, f28, f28
/* 802A007C 0029BCDC EC 21 00 2A */ fadds f1, f1, f0
/* 802A0080 0029BCE0 4B F3 47 B5 */ bl sqrt
/* 802A0084 0029BCE4 FC 00 08 18 */ frsp f0, f1
/* 802A0088 0029BCE8 C0 B9 00 B0 */ lfs f5, 0xb0(r25)
/* 802A008C 0029BCEC C0 59 00 B4 */ lfs f2, 0xb4(r25)
/* 802A0090 0029BCF0 C0 39 05 10 */ lfs f1, 0x510(r25)
/* 802A0094 0029BCF4 EC 7F 00 24 */ fdivs f3, f31, f0
/* 802A0098 0029BCF8 C0 19 05 14 */ lfs f0, 0x514(r25)
/* 802A009C 0029BCFC EF 7B 00 F2 */ fmuls f27, f27, f3
/* 802A00A0 0029BD00 EF 9C 00 F2 */ fmuls f28, f28, f3
/* 802A00A4 0029BD04 EC C1 00 F2 */ fmuls f6, f1, f3
/* 802A00A8 0029BD08 EC 85 06 F2 */ fmuls f4, f5, f27
/* 802A00AC 0029BD0C EC 62 07 32 */ fmuls f3, f2, f28
/* 802A00B0 0029BD10 EC 42 06 F2 */ fmuls f2, f2, f27
/* 802A00B4 0029BD14 EC 25 07 32 */ fmuls f1, f5, f28
/* 802A00B8 0029BD18 EC 64 18 2A */ fadds f3, f4, f3
/* 802A00BC 0029BD1C FC 06 00 40 */ fcmpo cr0, f6, f0
/* 802A00C0 0029BD20 EC 42 08 28 */ fsubs f2, f2, f1
/* 802A00C4 0029BD24 D0 61 00 08 */ stfs f3, 8(r1)
/* 802A00C8 0029BD28 D0 41 00 0C */ stfs f2, 0xc(r1)
/* 802A00CC 0029BD2C 4C 40 13 82 */ cror 2, 0, 2
/* 802A00D0 0029BD30 41 82 00 60 */ beq lbl_802A0130
/* 802A00D4 0029BD34 C0 0D 89 48 */ lfs f0, lbl_8063DC08-_SDA_BASE_(r13)
/* 802A00D8 0029BD38 FC 06 00 40 */ fcmpo cr0, f6, f0
/* 802A00DC 0029BD3C 4C 41 13 82 */ cror 2, 1, 2
/* 802A00E0 0029BD40 41 82 00 50 */ beq lbl_802A0130
/* 802A00E4 0029BD44 C0 39 04 B8 */ lfs f1, 0x4b8(r25)
/* 802A00E8 0029BD48 C0 19 04 BC */ lfs f0, 0x4bc(r25)
/* 802A00EC 0029BD4C EC 21 00 F2 */ fmuls f1, f1, f3
/* 802A00F0 0029BD50 EC 00 00 B2 */ fmuls f0, f0, f2
/* 802A00F4 0029BD54 EC 01 00 2A */ fadds f0, f1, f0
/* 802A00F8 0029BD58 FC 00 E8 40 */ fcmpo cr0, f0, f29
/* 802A00FC 0029BD5C 40 80 00 20 */ bge lbl_802A011C
/* 802A0100 0029BD60 FC 00 00 50 */ fneg f0, f0
/* 802A0104 0029BD64 FC 00 F0 40 */ fcmpo cr0, f0, f30
/* 802A0108 0029BD68 40 81 00 28 */ ble lbl_802A0130
/* 802A010C 0029BD6C FF C0 00 90 */ fmr f30, f0
/* 802A0110 0029BD70 7F 9B E3 78 */ mr r27, r28
/* 802A0114 0029BD74 7F BA EB 78 */ mr r26, r29
/* 802A0118 0029BD78 48 00 00 18 */ b lbl_802A0130
lbl_802A011C:
/* 802A011C 0029BD7C FC 00 F0 40 */ fcmpo cr0, f0, f30
/* 802A0120 0029BD80 40 81 00 10 */ ble lbl_802A0130
/* 802A0124 0029BD84 FF C0 00 90 */ fmr f30, f0
/* 802A0128 0029BD88 7F BB EB 78 */ mr r27, r29
/* 802A012C 0029BD8C 7F 9A E3 78 */ mr r26, r28
lbl_802A0130:
/* 802A0130 0029BD90 3B 9C 00 0C */ addi r28, r28, 0xc
/* 802A0134 0029BD94 7C 1C F0 40 */ cmplw r28, r30
/* 802A0138 0029BD98 40 81 FF 18 */ ble lbl_802A0050
lbl_802A013C:
/* 802A013C 0029BD9C 3B BD 00 0C */ addi r29, r29, 0xc
/* 802A0140 0029BDA0 7C 1D F8 40 */ cmplw r29, r31
/* 802A0144 0029BDA4 41 80 FE F8 */ blt lbl_802A003C
/* 802A0148 0029BDA8 C0 0D 89 50 */ lfs f0, lbl_8063DC10-_SDA_BASE_(r13)
/* 802A014C 0029BDAC FC 1E 00 00 */ fcmpu cr0, f30, f0
/* 802A0150 0029BDB0 40 82 00 0C */ bne lbl_802A015C
/* 802A0154 0029BDB4 38 60 00 00 */ li r3, 0
/* 802A0158 0029BDB8 48 00 00 38 */ b lbl_802A0190
lbl_802A015C:
/* 802A015C 0029BDBC 80 9B 00 00 */ lwz r4, 0(r27)
/* 802A0160 0029BDC0 38 60 00 02 */ li r3, 2
/* 802A0164 0029BDC4 80 1B 00 04 */ lwz r0, 4(r27)
/* 802A0168 0029BDC8 90 99 00 F4 */ stw r4, 0xf4(r25)
/* 802A016C 0029BDCC 90 19 00 F8 */ stw r0, 0xf8(r25)
/* 802A0170 0029BDD0 80 1B 00 08 */ lwz r0, 8(r27)
/* 802A0174 0029BDD4 90 19 00 FC */ stw r0, 0xfc(r25)
/* 802A0178 0029BDD8 80 9A 00 00 */ lwz r4, 0(r26)
/* 802A017C 0029BDDC 80 1A 00 04 */ lwz r0, 4(r26)
/* 802A0180 0029BDE0 90 99 01 00 */ stw r4, 0x100(r25)
/* 802A0184 0029BDE4 90 19 01 04 */ stw r0, 0x104(r25)
/* 802A0188 0029BDE8 80 1A 00 08 */ lwz r0, 8(r26)
/* 802A018C 0029BDEC 90 19 01 08 */ stw r0, 0x108(r25)
lbl_802A0190:
/* 802A0190 0029BDF0 E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0
/* 802A0194 0029BDF4 CB E1 00 70 */ lfd f31, 0x70(r1)
/* 802A0198 0029BDF8 E3 C1 00 68 */ psq_l f30, 104(r1), 0, qr0
/* 802A019C 0029BDFC CB C1 00 60 */ lfd f30, 0x60(r1)
/* 802A01A0 0029BE00 E3 A1 00 58 */ psq_l f29, 88(r1), 0, qr0
/* 802A01A4 0029BE04 CB A1 00 50 */ lfd f29, 0x50(r1)
/* 802A01A8 0029BE08 E3 81 00 48 */ psq_l f28, 72(r1), 0, qr0
/* 802A01AC 0029BE0C CB 81 00 40 */ lfd f28, 0x40(r1)
/* 802A01B0 0029BE10 E3 61 00 38 */ psq_l f27, 56(r1), 0, qr0
/* 802A01B4 0029BE14 39 61 00 30 */ addi r11, r1, 0x30
/* 802A01B8 0029BE18 CB 61 00 30 */ lfd f27, 0x30(r1)
/* 802A01BC 0029BE1C 4B F2 6F B1 */ bl _restgpr_25
/* 802A01C0 0029BE20 80 01 00 84 */ lwz r0, 0x84(r1)
/* 802A01C4 0029BE24 7C 08 03 A6 */ mtlr r0
/* 802A01C8 0029BE28 38 21 00 80 */ addi r1, r1, 0x80
/* 802A01CC 0029BE2C 4E 80 00 20 */ blr
.global select_2obj_continue
select_2obj_continue:
/* 802A01D0 0029BE30 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 802A01D4 0029BE34 7C 08 02 A6 */ mflr r0
/* 802A01D8 0029BE38 90 01 00 84 */ stw r0, 0x84(r1)
/* 802A01DC 0029BE3C DB E1 00 70 */ stfd f31, 0x70(r1)
/* 802A01E0 0029BE40 F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0
/* 802A01E4 0029BE44 DB C1 00 60 */ stfd f30, 0x60(r1)
/* 802A01E8 0029BE48 F3 C1 00 68 */ psq_st f30, 104(r1), 0, qr0
/* 802A01EC 0029BE4C DB A1 00 50 */ stfd f29, 0x50(r1)
/* 802A01F0 0029BE50 F3 A1 00 58 */ psq_st f29, 88(r1), 0, qr0
/* 802A01F4 0029BE54 DB 81 00 40 */ stfd f28, 0x40(r1)
/* 802A01F8 0029BE58 F3 81 00 48 */ psq_st f28, 72(r1), 0, qr0
/* 802A01FC 0029BE5C DB 61 00 30 */ stfd f27, 0x30(r1)
/* 802A0200 0029BE60 F3 61 00 38 */ psq_st f27, 56(r1), 0, qr0
/* 802A0204 0029BE64 39 61 00 30 */ addi r11, r1, 0x30
/* 802A0208 0029BE68 4B F2 6F 19 */ bl _savegpr_25
/* 802A020C 0029BE6C C3 E2 A3 C4 */ lfs f31, lbl_806429C4-_SDA2_BASE_(r2)
/* 802A0210 0029BE70 7C 7F 1B 78 */ mr r31, r3
/* 802A0214 0029BE74 C3 A2 A3 A0 */ lfs f29, lbl_806429A0-_SDA2_BASE_(r2)
/* 802A0218 0029BE78 3B 83 00 C4 */ addi r28, r3, 0xc4
/* 802A021C 0029BE7C C3 C2 A3 B0 */ lfs f30, lbl_806429B0-_SDA2_BASE_(r2)
/* 802A0220 0029BE80 3B C3 00 E8 */ addi r30, r3, 0xe8
lbl_802A0224:
/* 802A0224 0029BE84 88 1C 00 08 */ lbz r0, 8(r28)
/* 802A0228 0029BE88 7C 00 07 75 */ extsb. r0, r0
/* 802A022C 0029BE8C 40 82 01 38 */ bne lbl_802A0364
/* 802A0230 0029BE90 3B 7C 00 0C */ addi r27, r28, 0xc
/* 802A0234 0029BE94 3B BF 00 E8 */ addi r29, r31, 0xe8
lbl_802A0238:
/* 802A0238 0029BE98 88 1B 00 08 */ lbz r0, 8(r27)
/* 802A023C 0029BE9C 7C 00 07 75 */ extsb. r0, r0
/* 802A0240 0029BEA0 40 82 01 18 */ bne lbl_802A0358
/* 802A0244 0029BEA4 C0 7B 00 00 */ lfs f3, 0(r27)
/* 802A0248 0029BEA8 C0 5C 00 00 */ lfs f2, 0(r28)
/* 802A024C 0029BEAC C0 3B 00 04 */ lfs f1, 4(r27)
/* 802A0250 0029BEB0 C0 1C 00 04 */ lfs f0, 4(r28)
/* 802A0254 0029BEB4 EF 83 10 28 */ fsubs f28, f3, f2
/* 802A0258 0029BEB8 EF 61 00 28 */ fsubs f27, f1, f0
/* 802A025C 0029BEBC EC 3C 07 32 */ fmuls f1, f28, f28
/* 802A0260 0029BEC0 EC 1B 06 F2 */ fmuls f0, f27, f27
/* 802A0264 0029BEC4 EC 21 00 2A */ fadds f1, f1, f0
/* 802A0268 0029BEC8 4B F3 45 CD */ bl sqrt
/* 802A026C 0029BECC FC 40 08 18 */ frsp f2, f1
/* 802A0270 0029BED0 C0 3F 05 10 */ lfs f1, 0x510(r31)
/* 802A0274 0029BED4 C0 1F 05 14 */ lfs f0, 0x514(r31)
/* 802A0278 0029BED8 EC 9E 10 24 */ fdivs f4, f30, f2
/* 802A027C 0029BEDC EC 7C 01 32 */ fmuls f3, f28, f4
/* 802A0280 0029BEE0 EC 5B 01 32 */ fmuls f2, f27, f4
/* 802A0284 0029BEE4 EC 84 00 72 */ fmuls f4, f4, f1
/* 802A0288 0029BEE8 D0 61 00 08 */ stfs f3, 8(r1)
/* 802A028C 0029BEEC FC 04 00 40 */ fcmpo cr0, f4, f0
/* 802A0290 0029BEF0 D0 41 00 0C */ stfs f2, 0xc(r1)
/* 802A0294 0029BEF4 4C 40 13 82 */ cror 2, 0, 2
/* 802A0298 0029BEF8 41 82 00 C0 */ beq lbl_802A0358
/* 802A029C 0029BEFC C0 0D 89 48 */ lfs f0, lbl_8063DC08-_SDA_BASE_(r13)
/* 802A02A0 0029BF00 FC 04 00 40 */ fcmpo cr0, f4, f0
/* 802A02A4 0029BF04 4C 41 13 82 */ cror 2, 1, 2
/* 802A02A8 0029BF08 41 82 00 B0 */ beq lbl_802A0358
/* 802A02AC 0029BF0C C0 1F 04 9C */ lfs f0, 0x49c(r31)
/* 802A02B0 0029BF10 EC 84 00 28 */ fsubs f4, f4, f0
/* 802A02B4 0029BF14 FC 04 E8 40 */ fcmpo cr0, f4, f29
/* 802A02B8 0029BF18 40 80 00 10 */ bge lbl_802A02C8
/* 802A02BC 0029BF1C C0 1F 05 08 */ lfs f0, 0x508(r31)
/* 802A02C0 0029BF20 EC 84 00 32 */ fmuls f4, f4, f0
/* 802A02C4 0029BF24 48 00 00 0C */ b lbl_802A02D0
lbl_802A02C8:
/* 802A02C8 0029BF28 C0 1F 05 04 */ lfs f0, 0x504(r31)
/* 802A02CC 0029BF2C EC 84 00 32 */ fmuls f4, f4, f0
lbl_802A02D0:
/* 802A02D0 0029BF30 FC 04 F0 40 */ fcmpo cr0, f4, f30
/* 802A02D4 0029BF34 4C 41 13 82 */ cror 2, 1, 2
/* 802A02D8 0029BF38 41 82 00 80 */ beq lbl_802A0358
/* 802A02DC 0029BF3C C0 7F 04 94 */ lfs f3, 0x494(r31)
/* 802A02E0 0029BF40 C0 41 00 08 */ lfs f2, 8(r1)
/* 802A02E4 0029BF44 C0 3F 04 98 */ lfs f1, 0x498(r31)
/* 802A02E8 0029BF48 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 802A02EC 0029BF4C EC 43 00 B2 */ fmuls f2, f3, f2
/* 802A02F0 0029BF50 EC 01 00 32 */ fmuls f0, f1, f0
/* 802A02F4 0029BF54 EC 22 00 2A */ fadds f1, f2, f0
/* 802A02F8 0029BF58 FC 01 E8 40 */ fcmpo cr0, f1, f29
/* 802A02FC 0029BF5C 40 80 00 10 */ bge lbl_802A030C
/* 802A0300 0029BF60 FC 20 08 50 */ fneg f1, f1
/* 802A0304 0029BF64 38 00 00 01 */ li r0, 1
/* 802A0308 0029BF68 48 00 00 08 */ b lbl_802A0310
lbl_802A030C:
/* 802A030C 0029BF6C 38 00 00 00 */ li r0, 0
lbl_802A0310:
/* 802A0310 0029BF70 C0 0D 89 54 */ lfs f0, lbl_8063DC14-_SDA_BASE_(r13)
/* 802A0314 0029BF74 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802A0318 0029BF78 4C 40 13 82 */ cror 2, 0, 2
/* 802A031C 0029BF7C 41 82 00 3C */ beq lbl_802A0358
/* 802A0320 0029BF80 EC 3E 08 28 */ fsubs f1, f30, f1
/* 802A0324 0029BF84 EC 1E 00 28 */ fsubs f0, f30, f0
/* 802A0328 0029BF88 EC 01 00 24 */ fdivs f0, f1, f0
/* 802A032C 0029BF8C EC 84 00 2A */ fadds f4, f4, f0
/* 802A0330 0029BF90 FC 04 F8 40 */ fcmpo cr0, f4, f31
/* 802A0334 0029BF94 40 80 00 24 */ bge lbl_802A0358
/* 802A0338 0029BF98 FF E0 20 90 */ fmr f31, f4
/* 802A033C 0029BF9C 2C 00 00 00 */ cmpwi r0, 0
/* 802A0340 0029BFA0 41 82 00 10 */ beq lbl_802A0350
/* 802A0344 0029BFA4 7F 7A DB 78 */ mr r26, r27
/* 802A0348 0029BFA8 7F 99 E3 78 */ mr r25, r28
/* 802A034C 0029BFAC 48 00 00 0C */ b lbl_802A0358
lbl_802A0350:
/* 802A0350 0029BFB0 7F 9A E3 78 */ mr r26, r28
/* 802A0354 0029BFB4 7F 79 DB 78 */ mr r25, r27
lbl_802A0358:
/* 802A0358 0029BFB8 3B 7B 00 0C */ addi r27, r27, 0xc
/* 802A035C 0029BFBC 7C 1B E8 40 */ cmplw r27, r29
/* 802A0360 0029BFC0 40 81 FE D8 */ ble lbl_802A0238
lbl_802A0364:
/* 802A0364 0029BFC4 3B 9C 00 0C */ addi r28, r28, 0xc
/* 802A0368 0029BFC8 7C 1C F0 40 */ cmplw r28, r30
/* 802A036C 0029BFCC 41 80 FE B8 */ blt lbl_802A0224
/* 802A0370 0029BFD0 C0 02 A3 C4 */ lfs f0, lbl_806429C4-_SDA2_BASE_(r2)
/* 802A0374 0029BFD4 FC 00 F8 00 */ fcmpu cr0, f0, f31
/* 802A0378 0029BFD8 40 82 00 0C */ bne lbl_802A0384
/* 802A037C 0029BFDC 38 60 00 00 */ li r3, 0
/* 802A0380 0029BFE0 48 00 00 38 */ b lbl_802A03B8
lbl_802A0384:
/* 802A0384 0029BFE4 80 9A 00 00 */ lwz r4, 0(r26)
/* 802A0388 0029BFE8 38 60 00 02 */ li r3, 2
/* 802A038C 0029BFEC 80 1A 00 04 */ lwz r0, 4(r26)
/* 802A0390 0029BFF0 90 9F 00 F4 */ stw r4, 0xf4(r31)
/* 802A0394 0029BFF4 90 1F 00 F8 */ stw r0, 0xf8(r31)
/* 802A0398 0029BFF8 80 1A 00 08 */ lwz r0, 8(r26)
/* 802A039C 0029BFFC 90 1F 00 FC */ stw r0, 0xfc(r31)
/* 802A03A0 0029C000 80 99 00 00 */ lwz r4, 0(r25)
/* 802A03A4 0029C004 80 19 00 04 */ lwz r0, 4(r25)
/* 802A03A8 0029C008 90 9F 01 00 */ stw r4, 0x100(r31)
/* 802A03AC 0029C00C 90 1F 01 04 */ stw r0, 0x104(r31)
/* 802A03B0 0029C010 80 19 00 08 */ lwz r0, 8(r25)
/* 802A03B4 0029C014 90 1F 01 08 */ stw r0, 0x108(r31)
lbl_802A03B8:
/* 802A03B8 0029C018 E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0
/* 802A03BC 0029C01C CB E1 00 70 */ lfd f31, 0x70(r1)
/* 802A03C0 0029C020 E3 C1 00 68 */ psq_l f30, 104(r1), 0, qr0
/* 802A03C4 0029C024 CB C1 00 60 */ lfd f30, 0x60(r1)
/* 802A03C8 0029C028 E3 A1 00 58 */ psq_l f29, 88(r1), 0, qr0
/* 802A03CC 0029C02C CB A1 00 50 */ lfd f29, 0x50(r1)
/* 802A03D0 0029C030 E3 81 00 48 */ psq_l f28, 72(r1), 0, qr0
/* 802A03D4 0029C034 CB 81 00 40 */ lfd f28, 0x40(r1)
/* 802A03D8 0029C038 E3 61 00 38 */ psq_l f27, 56(r1), 0, qr0
/* 802A03DC 0029C03C 39 61 00 30 */ addi r11, r1, 0x30
/* 802A03E0 0029C040 CB 61 00 30 */ lfd f27, 0x30(r1)
/* 802A03E4 0029C044 4B F2 6D 89 */ bl _restgpr_25
/* 802A03E8 0029C048 80 01 00 84 */ lwz r0, 0x84(r1)
/* 802A03EC 0029C04C 7C 08 03 A6 */ mtlr r0
/* 802A03F0 0029C050 38 21 00 80 */ addi r1, r1, 0x80
/* 802A03F4 0029C054 4E 80 00 20 */ blr
.global select_1obj_first
select_1obj_first:
/* 802A03F8 0029C058 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A03FC 0029C05C 39 03 00 C4 */ addi r8, r3, 0xc4
/* 802A0400 0029C060 38 03 00 F4 */ addi r0, r3, 0xf4
/* 802A0404 0029C064 C0 A3 00 B0 */ lfs f5, 0xb0(r3)
/* 802A0408 0029C068 C0 03 04 B8 */ lfs f0, 0x4b8(r3)
/* 802A040C 0029C06C C0 63 00 B4 */ lfs f3, 0xb4(r3)
/* 802A0410 0029C070 C0 23 04 BC */ lfs f1, 0x4bc(r3)
/* 802A0414 0029C074 EC 85 00 32 */ fmuls f4, f5, f0
/* 802A0418 0029C078 EC 43 00 32 */ fmuls f2, f3, f0
/* 802A041C 0029C07C C0 03 04 A0 */ lfs f0, 0x4a0(r3)
/* 802A0420 0029C080 EC 63 00 72 */ fmuls f3, f3, f1
/* 802A0424 0029C084 EC 25 00 72 */ fmuls f1, f5, f1
/* 802A0428 0029C088 EC E4 18 2A */ fadds f7, f4, f3
/* 802A042C 0029C08C ED 02 08 28 */ fsubs f8, f2, f1
/* 802A0430 0029C090 EC E7 00 32 */ fmuls f7, f7, f0
/* 802A0434 0029C094 ED 08 00 32 */ fmuls f8, f8, f0
lbl_802A0438:
/* 802A0438 0029C098 88 88 00 08 */ lbz r4, 8(r8)
/* 802A043C 0029C09C 7C 84 07 75 */ extsb. r4, r4
/* 802A0440 0029C0A0 40 82 01 54 */ bne lbl_802A0594
/* 802A0444 0029C0A4 C0 48 00 00 */ lfs f2, 0(r8)
/* 802A0448 0029C0A8 C0 08 00 04 */ lfs f0, 4(r8)
/* 802A044C 0029C0AC EC 22 38 28 */ fsubs f1, f2, f7
/* 802A0450 0029C0B0 C0 63 04 F4 */ lfs f3, 0x4f4(r3)
/* 802A0454 0029C0B4 EC C0 40 28 */ fsubs f6, f0, f8
/* 802A0458 0029C0B8 EC A2 38 2A */ fadds f5, f2, f7
/* 802A045C 0029C0BC EC 80 40 2A */ fadds f4, f0, f8
/* 802A0460 0029C0C0 D0 21 00 10 */ stfs f1, 0x10(r1)
/* 802A0464 0029C0C4 FC 01 18 40 */ fcmpo cr0, f1, f3
/* 802A0468 0029C0C8 D0 C1 00 14 */ stfs f6, 0x14(r1)
/* 802A046C 0029C0CC D0 A1 00 08 */ stfs f5, 8(r1)
/* 802A0470 0029C0D0 D0 81 00 0C */ stfs f4, 0xc(r1)
/* 802A0474 0029C0D4 4C 40 13 82 */ cror 2, 0, 2
/* 802A0478 0029C0D8 41 82 00 34 */ beq lbl_802A04AC
/* 802A047C 0029C0DC C0 43 04 FC */ lfs f2, 0x4fc(r3)
/* 802A0480 0029C0E0 FC 01 10 40 */ fcmpo cr0, f1, f2
/* 802A0484 0029C0E4 4C 41 13 82 */ cror 2, 1, 2
/* 802A0488 0029C0E8 41 82 00 24 */ beq lbl_802A04AC
/* 802A048C 0029C0EC C0 23 04 F8 */ lfs f1, 0x4f8(r3)
/* 802A0490 0029C0F0 FC 06 08 40 */ fcmpo cr0, f6, f1
/* 802A0494 0029C0F4 4C 40 13 82 */ cror 2, 0, 2
/* 802A0498 0029C0F8 41 82 00 14 */ beq lbl_802A04AC
/* 802A049C 0029C0FC C0 03 05 00 */ lfs f0, 0x500(r3)
/* 802A04A0 0029C100 FC 06 00 40 */ fcmpo cr0, f6, f0
/* 802A04A4 0029C104 4C 41 13 82 */ cror 2, 1, 2
/* 802A04A8 0029C108 40 82 00 7C */ bne lbl_802A0524
lbl_802A04AC:
/* 802A04AC 0029C10C C0 21 00 08 */ lfs f1, 8(r1)
/* 802A04B0 0029C110 C0 03 04 F4 */ lfs f0, 0x4f4(r3)
/* 802A04B4 0029C114 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802A04B8 0029C118 40 81 00 DC */ ble lbl_802A0594
/* 802A04BC 0029C11C C0 03 04 FC */ lfs f0, 0x4fc(r3)
/* 802A04C0 0029C120 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802A04C4 0029C124 40 80 00 D0 */ bge lbl_802A0594
/* 802A04C8 0029C128 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 802A04CC 0029C12C C0 03 04 F8 */ lfs f0, 0x4f8(r3)
/* 802A04D0 0029C130 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802A04D4 0029C134 40 81 00 C0 */ ble lbl_802A0594
/* 802A04D8 0029C138 C0 03 05 00 */ lfs f0, 0x500(r3)
/* 802A04DC 0029C13C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802A04E0 0029C140 40 80 00 B4 */ bge lbl_802A0594
/* 802A04E4 0029C144 80 A8 00 00 */ lwz r5, 0(r8)
/* 802A04E8 0029C148 38 80 00 00 */ li r4, 0
/* 802A04EC 0029C14C 80 E8 00 04 */ lwz r7, 4(r8)
/* 802A04F0 0029C150 38 00 FF FF */ li r0, -1
/* 802A04F4 0029C154 80 C1 00 10 */ lwz r6, 0x10(r1)
/* 802A04F8 0029C158 90 A3 01 00 */ stw r5, 0x100(r3)
/* 802A04FC 0029C15C 80 A1 00 14 */ lwz r5, 0x14(r1)
/* 802A0500 0029C160 90 E3 01 04 */ stw r7, 0x104(r3)
/* 802A0504 0029C164 80 E8 00 08 */ lwz r7, 8(r8)
/* 802A0508 0029C168 90 E3 01 08 */ stw r7, 0x108(r3)
/* 802A050C 0029C16C 90 C3 00 F4 */ stw r6, 0xf4(r3)
/* 802A0510 0029C170 90 A3 00 F8 */ stw r5, 0xf8(r3)
/* 802A0514 0029C174 98 83 00 FC */ stb r4, 0xfc(r3)
/* 802A0518 0029C178 98 03 00 FD */ stb r0, 0xfd(r3)
/* 802A051C 0029C17C 38 60 FF FF */ li r3, -1
/* 802A0520 0029C180 48 00 00 84 */ b lbl_802A05A4
lbl_802A0524:
/* 802A0524 0029C184 FC 05 18 40 */ fcmpo cr0, f5, f3
/* 802A0528 0029C188 4C 40 13 82 */ cror 2, 0, 2
/* 802A052C 0029C18C 41 82 00 28 */ beq lbl_802A0554
/* 802A0530 0029C190 FC 05 10 40 */ fcmpo cr0, f5, f2
/* 802A0534 0029C194 4C 41 13 82 */ cror 2, 1, 2
/* 802A0538 0029C198 41 82 00 1C */ beq lbl_802A0554
/* 802A053C 0029C19C FC 04 08 40 */ fcmpo cr0, f4, f1
/* 802A0540 0029C1A0 4C 40 13 82 */ cror 2, 0, 2
/* 802A0544 0029C1A4 41 82 00 10 */ beq lbl_802A0554
/* 802A0548 0029C1A8 FC 04 00 40 */ fcmpo cr0, f4, f0
/* 802A054C 0029C1AC 4C 41 13 82 */ cror 2, 1, 2
/* 802A0550 0029C1B0 40 82 00 44 */ bne lbl_802A0594
lbl_802A0554:
/* 802A0554 0029C1B4 80 A8 00 00 */ lwz r5, 0(r8)
/* 802A0558 0029C1B8 38 80 00 00 */ li r4, 0
/* 802A055C 0029C1BC 80 E8 00 04 */ lwz r7, 4(r8)
/* 802A0560 0029C1C0 38 00 FF FF */ li r0, -1
/* 802A0564 0029C1C4 80 C1 00 08 */ lwz r6, 8(r1)
/* 802A0568 0029C1C8 90 A3 00 F4 */ stw r5, 0xf4(r3)
/* 802A056C 0029C1CC 80 A1 00 0C */ lwz r5, 0xc(r1)
/* 802A0570 0029C1D0 90 E3 00 F8 */ stw r7, 0xf8(r3)
/* 802A0574 0029C1D4 80 E8 00 08 */ lwz r7, 8(r8)
/* 802A0578 0029C1D8 90 E3 00 FC */ stw r7, 0xfc(r3)
/* 802A057C 0029C1DC 90 C3 01 00 */ stw r6, 0x100(r3)
/* 802A0580 0029C1E0 90 A3 01 04 */ stw r5, 0x104(r3)
/* 802A0584 0029C1E4 98 83 01 08 */ stb r4, 0x108(r3)
/* 802A0588 0029C1E8 98 03 01 09 */ stb r0, 0x109(r3)
/* 802A058C 0029C1EC 38 60 FF FF */ li r3, -1
/* 802A0590 0029C1F0 48 00 00 14 */ b lbl_802A05A4
lbl_802A0594:
/* 802A0594 0029C1F4 39 08 00 0C */ addi r8, r8, 0xc
/* 802A0598 0029C1F8 7C 08 00 40 */ cmplw r8, r0
/* 802A059C 0029C1FC 41 80 FE 9C */ blt lbl_802A0438
/* 802A05A0 0029C200 38 60 00 00 */ li r3, 0
lbl_802A05A4:
/* 802A05A4 0029C204 38 21 00 20 */ addi r1, r1, 0x20
/* 802A05A8 0029C208 4E 80 00 20 */ blr
.global select_1obj_continue
select_1obj_continue:
/* 802A05AC 0029C20C C0 0D 89 60 */ lfs f0, lbl_8063DC20-_SDA_BASE_(r13)
/* 802A05B0 0029C210 38 C3 00 F4 */ addi r6, r3, 0xf4
/* 802A05B4 0029C214 38 03 01 0C */ addi r0, r3, 0x10c
/* 802A05B8 0029C218 EC 80 00 32 */ fmuls f4, f0, f0
lbl_802A05BC:
/* 802A05BC 0029C21C 88 86 00 08 */ lbz r4, 8(r6)
/* 802A05C0 0029C220 7C 84 07 75 */ extsb. r4, r4
/* 802A05C4 0029C224 40 82 00 68 */ bne lbl_802A062C
/* 802A05C8 0029C228 88 86 00 09 */ lbz r4, 9(r6)
/* 802A05CC 0029C22C 7C 84 07 75 */ extsb. r4, r4
/* 802A05D0 0029C230 40 82 00 5C */ bne lbl_802A062C
/* 802A05D4 0029C234 38 E3 00 C4 */ addi r7, r3, 0xc4
/* 802A05D8 0029C238 38 83 00 F4 */ addi r4, r3, 0xf4
lbl_802A05DC:
/* 802A05DC 0029C23C 88 A7 00 08 */ lbz r5, 8(r7)
/* 802A05E0 0029C240 7C A5 07 75 */ extsb. r5, r5
/* 802A05E4 0029C244 40 82 00 3C */ bne lbl_802A0620
/* 802A05E8 0029C248 C0 66 00 00 */ lfs f3, 0(r6)
/* 802A05EC 0029C24C C0 47 00 00 */ lfs f2, 0(r7)
/* 802A05F0 0029C250 C0 26 00 04 */ lfs f1, 4(r6)
/* 802A05F4 0029C254 C0 07 00 04 */ lfs f0, 4(r7)
/* 802A05F8 0029C258 EC 43 10 28 */ fsubs f2, f3, f2
/* 802A05FC 0029C25C EC 01 00 28 */ fsubs f0, f1, f0
/* 802A0600 0029C260 EC 22 00 B2 */ fmuls f1, f2, f2
/* 802A0604 0029C264 EC 00 00 32 */ fmuls f0, f0, f0
/* 802A0608 0029C268 EC 01 00 2A */ fadds f0, f1, f0
/* 802A060C 0029C26C FC 00 20 40 */ fcmpo cr0, f0, f4
/* 802A0610 0029C270 40 80 00 10 */ bge lbl_802A0620
/* 802A0614 0029C274 FC 80 00 90 */ fmr f4, f0
/* 802A0618 0029C278 7C C8 33 78 */ mr r8, r6
/* 802A061C 0029C27C 7C E9 3B 78 */ mr r9, r7
lbl_802A0620:
/* 802A0620 0029C280 38 E7 00 0C */ addi r7, r7, 0xc
/* 802A0624 0029C284 7C 07 20 40 */ cmplw r7, r4
/* 802A0628 0029C288 41 80 FF B4 */ blt lbl_802A05DC
lbl_802A062C:
/* 802A062C 0029C28C 38 C6 00 0C */ addi r6, r6, 0xc
/* 802A0630 0029C290 7C 06 00 40 */ cmplw r6, r0
/* 802A0634 0029C294 41 80 FF 88 */ blt lbl_802A05BC
/* 802A0638 0029C298 C0 0D 89 60 */ lfs f0, lbl_8063DC20-_SDA_BASE_(r13)
/* 802A063C 0029C29C EC 00 00 32 */ fmuls f0, f0, f0
/* 802A0640 0029C2A0 FC 04 00 00 */ fcmpu cr0, f4, f0
/* 802A0644 0029C2A4 40 82 00 0C */ bne lbl_802A0650
/* 802A0648 0029C2A8 38 60 00 00 */ li r3, 0
/* 802A064C 0029C2AC 4E 80 00 20 */ blr
lbl_802A0650:
/* 802A0650 0029C2B0 80 A9 00 00 */ lwz r5, 0(r9)
/* 802A0654 0029C2B4 38 03 00 F4 */ addi r0, r3, 0xf4
/* 802A0658 0029C2B8 80 89 00 04 */ lwz r4, 4(r9)
/* 802A065C 0029C2BC 7C 08 00 40 */ cmplw r8, r0
/* 802A0660 0029C2C0 90 A8 00 00 */ stw r5, 0(r8)
/* 802A0664 0029C2C4 90 88 00 04 */ stw r4, 4(r8)
/* 802A0668 0029C2C8 80 09 00 08 */ lwz r0, 8(r9)
/* 802A066C 0029C2CC 90 08 00 08 */ stw r0, 8(r8)
/* 802A0670 0029C2D0 C0 A3 00 B0 */ lfs f5, 0xb0(r3)
/* 802A0674 0029C2D4 C0 03 04 B8 */ lfs f0, 0x4b8(r3)
/* 802A0678 0029C2D8 C0 63 00 B4 */ lfs f3, 0xb4(r3)
/* 802A067C 0029C2DC C0 23 04 BC */ lfs f1, 0x4bc(r3)
/* 802A0680 0029C2E0 EC 85 00 32 */ fmuls f4, f5, f0
/* 802A0684 0029C2E4 EC 43 00 32 */ fmuls f2, f3, f0
/* 802A0688 0029C2E8 C0 03 04 90 */ lfs f0, 0x490(r3)
/* 802A068C 0029C2EC EC 63 00 72 */ fmuls f3, f3, f1
/* 802A0690 0029C2F0 EC 25 00 72 */ fmuls f1, f5, f1
/* 802A0694 0029C2F4 EC 64 18 2A */ fadds f3, f4, f3
/* 802A0698 0029C2F8 EC 22 08 28 */ fsubs f1, f2, f1
/* 802A069C 0029C2FC EC 40 00 F2 */ fmuls f2, f0, f3
/* 802A06A0 0029C300 D0 63 04 94 */ stfs f3, 0x494(r3)
/* 802A06A4 0029C304 EC 60 00 72 */ fmuls f3, f0, f1
/* 802A06A8 0029C308 D0 23 04 98 */ stfs f1, 0x498(r3)
/* 802A06AC 0029C30C 40 82 00 30 */ bne lbl_802A06DC
/* 802A06B0 0029C310 C0 08 00 00 */ lfs f0, 0(r8)
/* 802A06B4 0029C314 38 80 00 00 */ li r4, 0
/* 802A06B8 0029C318 38 00 FF FF */ li r0, -1
/* 802A06BC 0029C31C EC 00 10 2A */ fadds f0, f0, f2
/* 802A06C0 0029C320 D0 03 01 00 */ stfs f0, 0x100(r3)
/* 802A06C4 0029C324 C0 08 00 04 */ lfs f0, 4(r8)
/* 802A06C8 0029C328 EC 00 18 2A */ fadds f0, f0, f3
/* 802A06CC 0029C32C 98 83 01 08 */ stb r4, 0x108(r3)
/* 802A06D0 0029C330 98 03 01 09 */ stb r0, 0x109(r3)
/* 802A06D4 0029C334 D0 03 01 04 */ stfs f0, 0x104(r3)
/* 802A06D8 0029C338 48 00 00 2C */ b lbl_802A0704
lbl_802A06DC:
/* 802A06DC 0029C33C C0 08 00 00 */ lfs f0, 0(r8)
/* 802A06E0 0029C340 38 80 00 00 */ li r4, 0
/* 802A06E4 0029C344 38 00 FF FF */ li r0, -1
/* 802A06E8 0029C348 EC 00 10 28 */ fsubs f0, f0, f2
/* 802A06EC 0029C34C D0 03 00 F4 */ stfs f0, 0xf4(r3)
/* 802A06F0 0029C350 C0 08 00 04 */ lfs f0, 4(r8)
/* 802A06F4 0029C354 EC 00 18 28 */ fsubs f0, f0, f3
/* 802A06F8 0029C358 98 83 00 FC */ stb r4, 0xfc(r3)
/* 802A06FC 0029C35C 98 03 00 FD */ stb r0, 0xfd(r3)
/* 802A0700 0029C360 D0 03 00 F8 */ stfs f0, 0xf8(r3)
lbl_802A0704:
/* 802A0704 0029C364 88 03 00 5E */ lbz r0, 0x5e(r3)
/* 802A0708 0029C368 7C 00 07 75 */ extsb. r0, r0
/* 802A070C 0029C36C 40 80 00 0C */ bge lbl_802A0718
/* 802A0710 0029C370 38 60 FF FF */ li r3, -1
/* 802A0714 0029C374 4E 80 00 20 */ blr
lbl_802A0718:
/* 802A0718 0029C378 38 60 00 01 */ li r3, 1
/* 802A071C 0029C37C 4E 80 00 20 */ blr
.global calc_dpd_variable
calc_dpd_variable:
/* 802A0720 0029C380 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A0724 0029C384 7C 08 02 A6 */ mflr r0
/* 802A0728 0029C388 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A072C 0029C38C 7C 80 07 75 */ extsb. r0, r4
/* 802A0730 0029C390 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802A0734 0029C394 7C 9F 23 78 */ mr r31, r4
/* 802A0738 0029C398 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802A073C 0029C39C 7C 7E 1B 78 */ mr r30, r3
/* 802A0740 0029C3A0 40 82 00 10 */ bne lbl_802A0750
/* 802A0744 0029C3A4 38 00 00 00 */ li r0, 0
/* 802A0748 0029C3A8 98 03 00 5E */ stb r0, 0x5e(r3)
/* 802A074C 0029C3AC 48 00 03 A4 */ b lbl_802A0AF0
lbl_802A0750:
/* 802A0750 0029C3B0 C0 83 00 B0 */ lfs f4, 0xb0(r3)
/* 802A0754 0029C3B4 C0 23 04 94 */ lfs f1, 0x494(r3)
/* 802A0758 0029C3B8 C0 43 00 B4 */ lfs f2, 0xb4(r3)
/* 802A075C 0029C3BC EC 64 00 72 */ fmuls f3, f4, f1
/* 802A0760 0029C3C0 C0 03 04 98 */ lfs f0, 0x498(r3)
/* 802A0764 0029C3C4 EC 22 00 72 */ fmuls f1, f2, f1
/* 802A0768 0029C3C8 88 03 00 5E */ lbz r0, 0x5e(r3)
/* 802A076C 0029C3CC EC 42 00 32 */ fmuls f2, f2, f0
/* 802A0770 0029C3D0 EC 04 00 32 */ fmuls f0, f4, f0
/* 802A0774 0029C3D4 7C 00 07 75 */ extsb. r0, r0
/* 802A0778 0029C3D8 EC 63 10 2A */ fadds f3, f3, f2
/* 802A077C 0029C3DC EC 41 00 28 */ fsubs f2, f1, f0
/* 802A0780 0029C3E0 D0 61 00 10 */ stfs f3, 0x10(r1)
/* 802A0784 0029C3E4 D0 41 00 14 */ stfs f2, 0x14(r1)
/* 802A0788 0029C3E8 40 82 00 30 */ bne lbl_802A07B8
/* 802A078C 0029C3EC 80 81 00 10 */ lwz r4, 0x10(r1)
/* 802A0790 0029C3F0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A0794 0029C3F4 90 83 00 34 */ stw r4, 0x34(r3)
/* 802A0798 0029C3F8 C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 802A079C 0029C3FC 90 03 00 38 */ stw r0, 0x38(r3)
/* 802A07A0 0029C400 80 8D AD D8 */ lwz r4, lbl_80640098-_SDA_BASE_(r13)
/* 802A07A4 0029C404 80 0D AD DC */ lwz r0, lbl_8064009C-_SDA_BASE_(r13)
/* 802A07A8 0029C408 90 83 00 3C */ stw r4, 0x3c(r3)
/* 802A07AC 0029C40C 90 03 00 40 */ stw r0, 0x40(r3)
/* 802A07B0 0029C410 D0 03 00 44 */ stfs f0, 0x44(r3)
/* 802A07B4 0029C414 48 00 00 F0 */ b lbl_802A08A4
lbl_802A07B8:
/* 802A07B8 0029C418 C0 23 00 34 */ lfs f1, 0x34(r3)
/* 802A07BC 0029C41C C0 03 00 38 */ lfs f0, 0x38(r3)
/* 802A07C0 0029C420 EC 63 08 28 */ fsubs f3, f3, f1
/* 802A07C4 0029C424 EC 42 00 28 */ fsubs f2, f2, f0
/* 802A07C8 0029C428 EC 23 00 F2 */ fmuls f1, f3, f3
/* 802A07CC 0029C42C D0 61 00 08 */ stfs f3, 8(r1)
/* 802A07D0 0029C430 EC 02 00 B2 */ fmuls f0, f2, f2
/* 802A07D4 0029C434 D0 41 00 0C */ stfs f2, 0xc(r1)
/* 802A07D8 0029C438 EC 21 00 2A */ fadds f1, f1, f0
/* 802A07DC 0029C43C 4B F3 40 59 */ bl sqrt
/* 802A07E0 0029C440 FC 20 08 18 */ frsp f1, f1
/* 802A07E4 0029C444 C0 1E 00 8C */ lfs f0, 0x8c(r30)
/* 802A07E8 0029C448 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802A07EC 0029C44C 4C 41 13 82 */ cror 2, 1, 2
/* 802A07F0 0029C450 40 82 00 0C */ bne lbl_802A07FC
/* 802A07F4 0029C454 C0 82 A3 B0 */ lfs f4, lbl_806429B0-_SDA2_BASE_(r2)
/* 802A07F8 0029C458 48 00 00 10 */ b lbl_802A0808
lbl_802A07FC:
/* 802A07FC 0029C45C EC 81 00 24 */ fdivs f4, f1, f0
/* 802A0800 0029C460 EC 84 01 32 */ fmuls f4, f4, f4
/* 802A0804 0029C464 EC 84 01 32 */ fmuls f4, f4, f4
lbl_802A0808:
/* 802A0808 0029C468 C0 1E 00 90 */ lfs f0, 0x90(r30)
/* 802A080C 0029C46C C0 61 00 08 */ lfs f3, 8(r1)
/* 802A0810 0029C470 EC 84 00 32 */ fmuls f4, f4, f0
/* 802A0814 0029C474 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 802A0818 0029C478 C0 5E 00 34 */ lfs f2, 0x34(r30)
/* 802A081C 0029C47C C0 1E 00 38 */ lfs f0, 0x38(r30)
/* 802A0820 0029C480 EC 64 00 F2 */ fmuls f3, f4, f3
/* 802A0824 0029C484 EC 24 00 72 */ fmuls f1, f4, f1
/* 802A0828 0029C488 EC 62 18 2A */ fadds f3, f2, f3
/* 802A082C 0029C48C EC 40 08 2A */ fadds f2, f0, f1
/* 802A0830 0029C490 EC 23 00 F2 */ fmuls f1, f3, f3
/* 802A0834 0029C494 D0 61 00 08 */ stfs f3, 8(r1)
/* 802A0838 0029C498 EC 02 00 B2 */ fmuls f0, f2, f2
/* 802A083C 0029C49C D0 41 00 0C */ stfs f2, 0xc(r1)
/* 802A0840 0029C4A0 EC 21 00 2A */ fadds f1, f1, f0
/* 802A0844 0029C4A4 4B F3 3F F1 */ bl sqrt
/* 802A0848 0029C4A8 FC 80 08 18 */ frsp f4, f1
/* 802A084C 0029C4AC C0 01 00 08 */ lfs f0, 8(r1)
/* 802A0850 0029C4B0 C0 41 00 0C */ lfs f2, 0xc(r1)
/* 802A0854 0029C4B4 C0 3E 00 34 */ lfs f1, 0x34(r30)
/* 802A0858 0029C4B8 EC 60 20 24 */ fdivs f3, f0, f4
/* 802A085C 0029C4BC C0 1E 00 38 */ lfs f0, 0x38(r30)
/* 802A0860 0029C4C0 EC 42 20 24 */ fdivs f2, f2, f4
/* 802A0864 0029C4C4 D0 61 00 08 */ stfs f3, 8(r1)
/* 802A0868 0029C4C8 EC 63 08 28 */ fsubs f3, f3, f1
/* 802A086C 0029C4CC D0 41 00 0C */ stfs f2, 0xc(r1)
/* 802A0870 0029C4D0 EC 42 00 28 */ fsubs f2, f2, f0
/* 802A0874 0029C4D4 EC 23 00 F2 */ fmuls f1, f3, f3
/* 802A0878 0029C4D8 D0 7E 00 3C */ stfs f3, 0x3c(r30)
/* 802A087C 0029C4DC EC 02 00 B2 */ fmuls f0, f2, f2
/* 802A0880 0029C4E0 D0 5E 00 40 */ stfs f2, 0x40(r30)
/* 802A0884 0029C4E4 EC 21 00 2A */ fadds f1, f1, f0
/* 802A0888 0029C4E8 4B F3 3F AD */ bl sqrt
/* 802A088C 0029C4EC FC 00 08 18 */ frsp f0, f1
/* 802A0890 0029C4F0 80 61 00 08 */ lwz r3, 8(r1)
/* 802A0894 0029C4F4 80 01 00 0C */ lwz r0, 0xc(r1)
/* 802A0898 0029C4F8 90 7E 00 34 */ stw r3, 0x34(r30)
/* 802A089C 0029C4FC D0 1E 00 44 */ stfs f0, 0x44(r30)
/* 802A08A0 0029C500 90 1E 00 38 */ stw r0, 0x38(r30)
lbl_802A08A4:
/* 802A08A4 0029C504 C0 3E 05 10 */ lfs f1, 0x510(r30)
/* 802A08A8 0029C508 C0 1E 04 90 */ lfs f0, 0x490(r30)
/* 802A08AC 0029C50C 88 1E 00 5E */ lbz r0, 0x5e(r30)
/* 802A08B0 0029C510 EC 41 00 24 */ fdivs f2, f1, f0
/* 802A08B4 0029C514 7C 00 07 75 */ extsb. r0, r0
/* 802A08B8 0029C518 40 82 00 18 */ bne lbl_802A08D0
/* 802A08BC 0029C51C C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 802A08C0 0029C520 D0 5E 00 48 */ stfs f2, 0x48(r30)
/* 802A08C4 0029C524 D0 1E 00 4C */ stfs f0, 0x4c(r30)
/* 802A08C8 0029C528 D0 1E 00 50 */ stfs f0, 0x50(r30)
/* 802A08CC 0029C52C 48 00 00 84 */ b lbl_802A0950
lbl_802A08D0:
/* 802A08D0 0029C530 C0 3E 00 48 */ lfs f1, 0x48(r30)
/* 802A08D4 0029C534 C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 802A08D8 0029C538 EC 62 08 28 */ fsubs f3, f2, f1
/* 802A08DC 0029C53C FC 03 00 40 */ fcmpo cr0, f3, f0
/* 802A08E0 0029C540 40 80 00 0C */ bge lbl_802A08EC
/* 802A08E4 0029C544 FC 40 18 50 */ fneg f2, f3
/* 802A08E8 0029C548 48 00 00 08 */ b lbl_802A08F0
lbl_802A08EC:
/* 802A08EC 0029C54C FC 40 18 90 */ fmr f2, f3
lbl_802A08F0:
/* 802A08F0 0029C550 C0 1E 00 94 */ lfs f0, 0x94(r30)
/* 802A08F4 0029C554 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802A08F8 0029C558 4C 41 13 82 */ cror 2, 1, 2
/* 802A08FC 0029C55C 40 82 00 0C */ bne lbl_802A0908
/* 802A0900 0029C560 C0 42 A3 B0 */ lfs f2, lbl_806429B0-_SDA2_BASE_(r2)
/* 802A0904 0029C564 48 00 00 10 */ b lbl_802A0914
lbl_802A0908:
/* 802A0908 0029C568 EC 42 00 24 */ fdivs f2, f2, f0
/* 802A090C 0029C56C EC 42 00 B2 */ fmuls f2, f2, f2
/* 802A0910 0029C570 EC 42 00 B2 */ fmuls f2, f2, f2
lbl_802A0914:
/* 802A0914 0029C574 C0 3E 00 98 */ lfs f1, 0x98(r30)
/* 802A0918 0029C578 C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 802A091C 0029C57C EC 42 00 72 */ fmuls f2, f2, f1
/* 802A0920 0029C580 EC 22 00 F2 */ fmuls f1, f2, f3
/* 802A0924 0029C584 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802A0928 0029C588 D0 3E 00 4C */ stfs f1, 0x4c(r30)
/* 802A092C 0029C58C 40 80 00 10 */ bge lbl_802A093C
/* 802A0930 0029C590 FC 00 08 50 */ fneg f0, f1
/* 802A0934 0029C594 D0 1E 00 50 */ stfs f0, 0x50(r30)
/* 802A0938 0029C598 48 00 00 08 */ b lbl_802A0940
lbl_802A093C:
/* 802A093C 0029C59C D0 3E 00 50 */ stfs f1, 0x50(r30)
lbl_802A0940:
/* 802A0940 0029C5A0 C0 3E 00 48 */ lfs f1, 0x48(r30)
/* 802A0944 0029C5A4 C0 1E 00 4C */ lfs f0, 0x4c(r30)
/* 802A0948 0029C5A8 EC 01 00 2A */ fadds f0, f1, f0
/* 802A094C 0029C5AC D0 1E 00 48 */ stfs f0, 0x48(r30)
lbl_802A0950:
/* 802A0950 0029C5B0 C0 5E 04 98 */ lfs f2, 0x498(r30)
/* 802A0954 0029C5B4 C0 1E 00 B4 */ lfs f0, 0xb4(r30)
/* 802A0958 0029C5B8 FC 20 10 50 */ fneg f1, f2
/* 802A095C 0029C5BC 88 1E 00 5E */ lbz r0, 0x5e(r30)
/* 802A0960 0029C5C0 C0 BE 04 94 */ lfs f5, 0x494(r30)
/* 802A0964 0029C5C4 EC 62 00 32 */ fmuls f3, f2, f0
/* 802A0968 0029C5C8 C0 9E 00 B0 */ lfs f4, 0xb0(r30)
/* 802A096C 0029C5CC 7C 00 07 75 */ extsb. r0, r0
/* 802A0970 0029C5D0 EC 05 00 32 */ fmuls f0, f5, f0
/* 802A0974 0029C5D4 C0 FE 00 F4 */ lfs f7, 0xf4(r30)
/* 802A0978 0029C5D8 EC 41 01 32 */ fmuls f2, f1, f4
/* 802A097C 0029C5DC C0 DE 01 00 */ lfs f6, 0x100(r30)
/* 802A0980 0029C5E0 EC A5 01 32 */ fmuls f5, f5, f4
/* 802A0984 0029C5E4 C0 9E 00 F8 */ lfs f4, 0xf8(r30)
/* 802A0988 0029C5E8 C0 3E 01 04 */ lfs f1, 0x104(r30)
/* 802A098C 0029C5EC EC E7 30 2A */ fadds f7, f7, f6
/* 802A0990 0029C5F0 C1 02 A3 A4 */ lfs f8, lbl_806429A4-_SDA2_BASE_(r2)
/* 802A0994 0029C5F4 EC 65 18 2A */ fadds f3, f5, f3
/* 802A0998 0029C5F8 EC C4 08 2A */ fadds f6, f4, f1
/* 802A099C 0029C5FC C0 9E 00 AC */ lfs f4, 0xac(r30)
/* 802A09A0 0029C600 EC E8 01 F2 */ fmuls f7, f8, f7
/* 802A09A4 0029C604 EC 42 00 2A */ fadds f2, f2, f0
/* 802A09A8 0029C608 C0 3E 00 A8 */ lfs f1, 0xa8(r30)
/* 802A09AC 0029C60C EC A8 01 B2 */ fmuls f5, f8, f6
/* 802A09B0 0029C610 ED 23 01 F2 */ fmuls f9, f3, f7
/* 802A09B4 0029C614 C0 DE 00 B8 */ lfs f6, 0xb8(r30)
/* 802A09B8 0029C618 EC E2 01 F2 */ fmuls f7, f2, f7
/* 802A09BC 0029C61C EC 03 01 72 */ fmuls f0, f3, f5
/* 802A09C0 0029C620 C0 7E 00 BC */ lfs f3, 0xbc(r30)
/* 802A09C4 0029C624 ED 02 01 72 */ fmuls f8, f2, f5
/* 802A09C8 0029C628 C0 BE 00 C0 */ lfs f5, 0xc0(r30)
/* 802A09CC 0029C62C FC 40 20 50 */ fneg f2, f4
/* 802A09D0 0029C630 EC E7 00 2A */ fadds f7, f7, f0
/* 802A09D4 0029C634 ED 09 40 28 */ fsubs f8, f9, f8
/* 802A09D8 0029C638 FC 00 08 50 */ fneg f0, f1
/* 802A09DC 0029C63C EC 63 38 28 */ fsubs f3, f3, f7
/* 802A09E0 0029C640 EC C6 40 28 */ fsubs f6, f6, f8
/* 802A09E4 0029C644 EC C5 01 B2 */ fmuls f6, f5, f6
/* 802A09E8 0029C648 EC A5 00 F2 */ fmuls f5, f5, f3
/* 802A09EC 0029C64C EC 62 01 B2 */ fmuls f3, f2, f6
/* 802A09F0 0029C650 D0 C1 00 08 */ stfs f6, 8(r1)
/* 802A09F4 0029C654 EC 41 01 72 */ fmuls f2, f1, f5
/* 802A09F8 0029C658 EC 20 01 B2 */ fmuls f1, f0, f6
/* 802A09FC 0029C65C D0 A1 00 0C */ stfs f5, 0xc(r1)
/* 802A0A00 0029C660 EC 04 01 72 */ fmuls f0, f4, f5
/* 802A0A04 0029C664 EC 63 10 2A */ fadds f3, f3, f2
/* 802A0A08 0029C668 EC 41 00 28 */ fsubs f2, f1, f0
/* 802A0A0C 0029C66C D0 61 00 10 */ stfs f3, 0x10(r1)
/* 802A0A10 0029C670 D0 41 00 14 */ stfs f2, 0x14(r1)
/* 802A0A14 0029C674 40 82 00 30 */ bne lbl_802A0A44
/* 802A0A18 0029C678 80 61 00 10 */ lwz r3, 0x10(r1)
/* 802A0A1C 0029C67C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A0A20 0029C680 90 7E 00 20 */ stw r3, 0x20(r30)
/* 802A0A24 0029C684 C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 802A0A28 0029C688 90 1E 00 24 */ stw r0, 0x24(r30)
/* 802A0A2C 0029C68C 80 6D AD D8 */ lwz r3, lbl_80640098-_SDA_BASE_(r13)
/* 802A0A30 0029C690 80 0D AD DC */ lwz r0, lbl_8064009C-_SDA_BASE_(r13)
/* 802A0A34 0029C694 90 7E 00 28 */ stw r3, 0x28(r30)
/* 802A0A38 0029C698 90 1E 00 2C */ stw r0, 0x2c(r30)
/* 802A0A3C 0029C69C D0 1E 00 30 */ stfs f0, 0x30(r30)
/* 802A0A40 0029C6A0 48 00 00 AC */ b lbl_802A0AEC
lbl_802A0A44:
/* 802A0A44 0029C6A4 C0 3E 00 20 */ lfs f1, 0x20(r30)
/* 802A0A48 0029C6A8 C0 1E 00 24 */ lfs f0, 0x24(r30)
/* 802A0A4C 0029C6AC EC 63 08 28 */ fsubs f3, f3, f1
/* 802A0A50 0029C6B0 EC 42 00 28 */ fsubs f2, f2, f0
/* 802A0A54 0029C6B4 EC 23 00 F2 */ fmuls f1, f3, f3
/* 802A0A58 0029C6B8 D0 61 00 08 */ stfs f3, 8(r1)
/* 802A0A5C 0029C6BC EC 02 00 B2 */ fmuls f0, f2, f2
/* 802A0A60 0029C6C0 D0 41 00 0C */ stfs f2, 0xc(r1)
/* 802A0A64 0029C6C4 EC 21 00 2A */ fadds f1, f1, f0
/* 802A0A68 0029C6C8 4B F3 3D CD */ bl sqrt
/* 802A0A6C 0029C6CC FC 20 08 18 */ frsp f1, f1
/* 802A0A70 0029C6D0 C0 1E 00 84 */ lfs f0, 0x84(r30)
/* 802A0A74 0029C6D4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802A0A78 0029C6D8 4C 41 13 82 */ cror 2, 1, 2
/* 802A0A7C 0029C6DC 40 82 00 0C */ bne lbl_802A0A88
/* 802A0A80 0029C6E0 C0 42 A3 B0 */ lfs f2, lbl_806429B0-_SDA2_BASE_(r2)
/* 802A0A84 0029C6E4 48 00 00 10 */ b lbl_802A0A94
lbl_802A0A88:
/* 802A0A88 0029C6E8 EC 41 00 24 */ fdivs f2, f1, f0
/* 802A0A8C 0029C6EC EC 42 00 B2 */ fmuls f2, f2, f2
/* 802A0A90 0029C6F0 EC 42 00 B2 */ fmuls f2, f2, f2
lbl_802A0A94:
/* 802A0A94 0029C6F4 C0 1E 00 88 */ lfs f0, 0x88(r30)
/* 802A0A98 0029C6F8 C0 21 00 08 */ lfs f1, 8(r1)
/* 802A0A9C 0029C6FC EC 42 00 32 */ fmuls f2, f2, f0
/* 802A0AA0 0029C700 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 802A0AA4 0029C704 EC 62 00 72 */ fmuls f3, f2, f1
/* 802A0AA8 0029C708 EC 42 00 32 */ fmuls f2, f2, f0
/* 802A0AAC 0029C70C EC 23 00 F2 */ fmuls f1, f3, f3
/* 802A0AB0 0029C710 D0 7E 00 28 */ stfs f3, 0x28(r30)
/* 802A0AB4 0029C714 EC 02 00 B2 */ fmuls f0, f2, f2
/* 802A0AB8 0029C718 D0 5E 00 2C */ stfs f2, 0x2c(r30)
/* 802A0ABC 0029C71C EC 21 00 2A */ fadds f1, f1, f0
/* 802A0AC0 0029C720 4B F3 3D 75 */ bl sqrt
/* 802A0AC4 0029C724 FC 80 08 18 */ frsp f4, f1
/* 802A0AC8 0029C728 C0 7E 00 20 */ lfs f3, 0x20(r30)
/* 802A0ACC 0029C72C C0 5E 00 28 */ lfs f2, 0x28(r30)
/* 802A0AD0 0029C730 C0 3E 00 24 */ lfs f1, 0x24(r30)
/* 802A0AD4 0029C734 C0 1E 00 2C */ lfs f0, 0x2c(r30)
/* 802A0AD8 0029C738 EC 43 10 2A */ fadds f2, f3, f2
/* 802A0ADC 0029C73C D0 9E 00 30 */ stfs f4, 0x30(r30)
/* 802A0AE0 0029C740 EC 01 00 2A */ fadds f0, f1, f0
/* 802A0AE4 0029C744 D0 5E 00 20 */ stfs f2, 0x20(r30)
/* 802A0AE8 0029C748 D0 1E 00 24 */ stfs f0, 0x24(r30)
lbl_802A0AEC:
/* 802A0AEC 0029C74C 9B FE 00 5E */ stb r31, 0x5e(r30)
lbl_802A0AF0:
/* 802A0AF0 0029C750 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A0AF4 0029C754 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802A0AF8 0029C758 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802A0AFC 0029C75C 7C 08 03 A6 */ mtlr r0
/* 802A0B00 0029C760 38 21 00 20 */ addi r1, r1, 0x20
/* 802A0B04 0029C764 4E 80 00 20 */ blr
.global read_kpad_dpd
read_kpad_dpd:
/* 802A0B08 0029C768 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 802A0B0C 0029C76C 7C 08 02 A6 */ mflr r0
/* 802A0B10 0029C770 90 01 00 44 */ stw r0, 0x44(r1)
/* 802A0B14 0029C774 DB E1 00 30 */ stfd f31, 0x30(r1)
/* 802A0B18 0029C778 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 802A0B1C 0029C77C DB C1 00 20 */ stfd f30, 0x20(r1)
/* 802A0B20 0029C780 F3 C1 00 28 */ psq_st f30, 40(r1), 0, qr0
/* 802A0B24 0029C784 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802A0B28 0029C788 7C 7F 1B 78 */ mr r31, r3
/* 802A0B2C 0029C78C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802A0B30 0029C790 88 04 00 36 */ lbz r0, 0x36(r4)
/* 802A0B34 0029C794 28 00 00 02 */ cmplwi r0, 2
/* 802A0B38 0029C798 41 82 00 14 */ beq lbl_802A0B4C
/* 802A0B3C 0029C79C 28 00 00 05 */ cmplwi r0, 5
/* 802A0B40 0029C7A0 41 82 00 0C */ beq lbl_802A0B4C
/* 802A0B44 0029C7A4 28 00 00 08 */ cmplwi r0, 8
/* 802A0B48 0029C7A8 40 82 00 A4 */ bne lbl_802A0BEC
lbl_802A0B4C:
/* 802A0B4C 0029C7AC C8 82 A3 C8 */ lfd f4, lbl_806429C8-_SDA2_BASE_(r2)
/* 802A0B50 0029C7B0 39 04 00 20 */ addi r8, r4, 0x20
/* 802A0B54 0029C7B4 C0 62 A3 D0 */ lfs f3, lbl_806429D0-_SDA2_BASE_(r2)
/* 802A0B58 0029C7B8 39 23 00 E8 */ addi r9, r3, 0xe8
/* 802A0B5C 0029C7BC C0 42 A3 D4 */ lfs f2, lbl_806429D4-_SDA2_BASE_(r2)
/* 802A0B60 0029C7C0 38 03 00 C4 */ addi r0, r3, 0xc4
/* 802A0B64 0029C7C4 C0 22 A3 D8 */ lfs f1, lbl_806429D8-_SDA2_BASE_(r2)
/* 802A0B68 0029C7C8 38 80 FF FF */ li r4, -1
/* 802A0B6C 0029C7CC 3C E0 43 30 */ lis r7, 0x4330
/* 802A0B70 0029C7D0 38 A0 00 00 */ li r5, 0
lbl_802A0B74:
/* 802A0B74 0029C7D4 A0 C8 00 04 */ lhz r6, 4(r8)
/* 802A0B78 0029C7D8 2C 06 00 00 */ cmpwi r6, 0
/* 802A0B7C 0029C7DC 41 82 00 58 */ beq lbl_802A0BD4
/* 802A0B80 0029C7E0 A8 C8 00 00 */ lha r6, 0(r8)
/* 802A0B84 0029C7E4 90 E1 00 08 */ stw r7, 8(r1)
/* 802A0B88 0029C7E8 6C C6 80 00 */ xoris r6, r6, 0x8000
/* 802A0B8C 0029C7EC 90 C1 00 0C */ stw r6, 0xc(r1)
/* 802A0B90 0029C7F0 C8 01 00 08 */ lfd f0, 8(r1)
/* 802A0B94 0029C7F4 90 E1 00 10 */ stw r7, 0x10(r1)
/* 802A0B98 0029C7F8 EC 00 20 28 */ fsubs f0, f0, f4
/* 802A0B9C 0029C7FC EC 03 00 32 */ fmuls f0, f3, f0
/* 802A0BA0 0029C800 EC 00 10 28 */ fsubs f0, f0, f2
/* 802A0BA4 0029C804 D0 09 00 00 */ stfs f0, 0(r9)
/* 802A0BA8 0029C808 A8 C8 00 02 */ lha r6, 2(r8)
/* 802A0BAC 0029C80C 6C C6 80 00 */ xoris r6, r6, 0x8000
/* 802A0BB0 0029C810 90 C1 00 14 */ stw r6, 0x14(r1)
/* 802A0BB4 0029C814 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802A0BB8 0029C818 EC 00 20 28 */ fsubs f0, f0, f4
/* 802A0BBC 0029C81C EC 03 00 32 */ fmuls f0, f3, f0
/* 802A0BC0 0029C820 EC 00 08 28 */ fsubs f0, f0, f1
/* 802A0BC4 0029C824 D0 09 00 04 */ stfs f0, 4(r9)
/* 802A0BC8 0029C828 98 A9 00 08 */ stb r5, 8(r9)
/* 802A0BCC 0029C82C 98 A9 00 09 */ stb r5, 9(r9)
/* 802A0BD0 0029C830 48 00 00 08 */ b lbl_802A0BD8
lbl_802A0BD4:
/* 802A0BD4 0029C834 98 89 00 08 */ stb r4, 8(r9)
lbl_802A0BD8:
/* 802A0BD8 0029C838 39 29 FF F4 */ addi r9, r9, -12
/* 802A0BDC 0029C83C 39 08 FF F8 */ addi r8, r8, -8
/* 802A0BE0 0029C840 7C 09 00 40 */ cmplw r9, r0
/* 802A0BE4 0029C844 40 80 FF 90 */ bge lbl_802A0B74
/* 802A0BE8 0029C848 48 00 00 20 */ b lbl_802A0C08
lbl_802A0BEC:
/* 802A0BEC 0029C84C 38 A3 00 E8 */ addi r5, r3, 0xe8
/* 802A0BF0 0029C850 38 03 00 C4 */ addi r0, r3, 0xc4
/* 802A0BF4 0029C854 38 80 FF FF */ li r4, -1
lbl_802A0BF8:
/* 802A0BF8 0029C858 98 85 00 08 */ stb r4, 8(r5)
/* 802A0BFC 0029C85C 38 A5 FF F4 */ addi r5, r5, -12
/* 802A0C00 0029C860 7C 05 00 40 */ cmplw r5, r0
/* 802A0C04 0029C864 40 80 FF F4 */ bge lbl_802A0BF8
lbl_802A0C08:
/* 802A0C08 0029C868 38 E3 00 E8 */ addi r7, r3, 0xe8
/* 802A0C0C 0029C86C 38 C3 00 C4 */ addi r6, r3, 0xc4
/* 802A0C10 0029C870 7C E4 3B 78 */ mr r4, r7
lbl_802A0C14:
/* 802A0C14 0029C874 88 04 00 08 */ lbz r0, 8(r4)
/* 802A0C18 0029C878 7C 00 07 75 */ extsb. r0, r0
/* 802A0C1C 0029C87C 41 80 00 58 */ blt lbl_802A0C74
/* 802A0C20 0029C880 C0 24 00 00 */ lfs f1, 0(r4)
/* 802A0C24 0029C884 C0 03 04 F4 */ lfs f0, 0x4f4(r3)
/* 802A0C28 0029C888 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802A0C2C 0029C88C 4C 40 13 82 */ cror 2, 0, 2
/* 802A0C30 0029C890 41 82 00 38 */ beq lbl_802A0C68
/* 802A0C34 0029C894 C0 03 04 FC */ lfs f0, 0x4fc(r3)
/* 802A0C38 0029C898 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802A0C3C 0029C89C 4C 41 13 82 */ cror 2, 1, 2
/* 802A0C40 0029C8A0 41 82 00 28 */ beq lbl_802A0C68
/* 802A0C44 0029C8A4 C0 24 00 04 */ lfs f1, 4(r4)
/* 802A0C48 0029C8A8 C0 03 04 F8 */ lfs f0, 0x4f8(r3)
/* 802A0C4C 0029C8AC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802A0C50 0029C8B0 4C 40 13 82 */ cror 2, 0, 2
/* 802A0C54 0029C8B4 41 82 00 14 */ beq lbl_802A0C68
/* 802A0C58 0029C8B8 C0 03 05 00 */ lfs f0, 0x500(r3)
/* 802A0C5C 0029C8BC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802A0C60 0029C8C0 4C 41 13 82 */ cror 2, 1, 2
/* 802A0C64 0029C8C4 40 82 00 10 */ bne lbl_802A0C74
lbl_802A0C68:
/* 802A0C68 0029C8C8 88 04 00 08 */ lbz r0, 8(r4)
/* 802A0C6C 0029C8CC 60 00 00 01 */ ori r0, r0, 1
/* 802A0C70 0029C8D0 98 04 00 08 */ stb r0, 8(r4)
lbl_802A0C74:
/* 802A0C74 0029C8D4 38 84 FF F4 */ addi r4, r4, -12
/* 802A0C78 0029C8D8 7C 04 30 40 */ cmplw r4, r6
/* 802A0C7C 0029C8DC 40 80 FF 98 */ bge lbl_802A0C14
lbl_802A0C80:
/* 802A0C80 0029C8E0 88 06 00 08 */ lbz r0, 8(r6)
/* 802A0C84 0029C8E4 7C 00 07 75 */ extsb. r0, r0
/* 802A0C88 0029C8E8 40 82 00 48 */ bne lbl_802A0CD0
/* 802A0C8C 0029C8EC 38 A6 00 0C */ addi r5, r6, 0xc
lbl_802A0C90:
/* 802A0C90 0029C8F0 88 85 00 08 */ lbz r4, 8(r5)
/* 802A0C94 0029C8F4 7C 80 07 75 */ extsb. r0, r4
/* 802A0C98 0029C8F8 40 82 00 2C */ bne lbl_802A0CC4
/* 802A0C9C 0029C8FC C0 26 00 00 */ lfs f1, 0(r6)
/* 802A0CA0 0029C900 C0 05 00 00 */ lfs f0, 0(r5)
/* 802A0CA4 0029C904 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 802A0CA8 0029C908 40 82 00 1C */ bne lbl_802A0CC4
/* 802A0CAC 0029C90C C0 26 00 04 */ lfs f1, 4(r6)
/* 802A0CB0 0029C910 C0 05 00 04 */ lfs f0, 4(r5)
/* 802A0CB4 0029C914 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 802A0CB8 0029C918 40 82 00 0C */ bne lbl_802A0CC4
/* 802A0CBC 0029C91C 60 80 00 02 */ ori r0, r4, 2
/* 802A0CC0 0029C920 98 05 00 08 */ stb r0, 8(r5)
lbl_802A0CC4:
/* 802A0CC4 0029C924 38 A5 00 0C */ addi r5, r5, 0xc
/* 802A0CC8 0029C928 7C 05 38 40 */ cmplw r5, r7
/* 802A0CCC 0029C92C 40 81 FF C4 */ ble lbl_802A0C90
lbl_802A0CD0:
/* 802A0CD0 0029C930 38 C6 00 0C */ addi r6, r6, 0xc
/* 802A0CD4 0029C934 7C 06 38 40 */ cmplw r6, r7
/* 802A0CD8 0029C938 41 80 FF A8 */ blt lbl_802A0C80
/* 802A0CDC 0029C93C 38 00 00 00 */ li r0, 0
/* 802A0CE0 0029C940 38 A3 00 E8 */ addi r5, r3, 0xe8
/* 802A0CE4 0029C944 B0 03 01 0C */ sth r0, 0x10c(r3)
/* 802A0CE8 0029C948 38 03 00 C4 */ addi r0, r3, 0xc4
lbl_802A0CEC:
/* 802A0CEC 0029C94C 88 85 00 08 */ lbz r4, 8(r5)
/* 802A0CF0 0029C950 7C 84 07 75 */ extsb. r4, r4
/* 802A0CF4 0029C954 40 82 00 10 */ bne lbl_802A0D04
/* 802A0CF8 0029C958 A8 83 01 0C */ lha r4, 0x10c(r3)
/* 802A0CFC 0029C95C 38 84 00 01 */ addi r4, r4, 1
/* 802A0D00 0029C960 B0 83 01 0C */ sth r4, 0x10c(r3)
lbl_802A0D04:
/* 802A0D04 0029C964 38 A5 FF F4 */ addi r5, r5, -12
/* 802A0D08 0029C968 7C 05 00 40 */ cmplw r5, r0
/* 802A0D0C 0029C96C 40 80 FF E0 */ bge lbl_802A0CEC
/* 802A0D10 0029C970 C0 23 00 54 */ lfs f1, 0x54(r3)
/* 802A0D14 0029C974 C0 0D 89 5C */ lfs f0, lbl_8063DC1C-_SDA_BASE_(r13)
/* 802A0D18 0029C978 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802A0D1C 0029C97C 4C 40 13 82 */ cror 2, 0, 2
/* 802A0D20 0029C980 41 82 00 F4 */ beq lbl_802A0E14
/* 802A0D24 0029C984 88 03 00 5E */ lbz r0, 0x5e(r3)
/* 802A0D28 0029C988 7C 00 07 74 */ extsb r0, r0
/* 802A0D2C 0029C98C 2C 00 00 02 */ cmpwi r0, 2
/* 802A0D30 0029C990 41 82 00 0C */ beq lbl_802A0D3C
/* 802A0D34 0029C994 2C 00 FF FE */ cmpwi r0, -2
/* 802A0D38 0029C998 40 82 00 48 */ bne lbl_802A0D80
lbl_802A0D3C:
/* 802A0D3C 0029C99C A8 03 01 0C */ lha r0, 0x10c(r3)
/* 802A0D40 0029C9A0 2C 00 00 02 */ cmpwi r0, 2
/* 802A0D44 0029C9A4 41 80 00 18 */ blt lbl_802A0D5C
/* 802A0D48 0029C9A8 7F E3 FB 78 */ mr r3, r31
/* 802A0D4C 0029C9AC 4B FF F4 85 */ bl select_2obj_continue
/* 802A0D50 0029C9B0 7C 60 07 75 */ extsb. r0, r3
/* 802A0D54 0029C9B4 7C 7E 1B 78 */ mr r30, r3
/* 802A0D58 0029C9B8 40 82 00 C0 */ bne lbl_802A0E18
lbl_802A0D5C:
/* 802A0D5C 0029C9BC A8 1F 01 0C */ lha r0, 0x10c(r31)
/* 802A0D60 0029C9C0 2C 00 00 01 */ cmpwi r0, 1
/* 802A0D64 0029C9C4 41 80 00 B0 */ blt lbl_802A0E14
/* 802A0D68 0029C9C8 7F E3 FB 78 */ mr r3, r31
/* 802A0D6C 0029C9CC 4B FF F8 41 */ bl select_1obj_continue
/* 802A0D70 0029C9D0 7C 60 07 75 */ extsb. r0, r3
/* 802A0D74 0029C9D4 7C 7E 1B 78 */ mr r30, r3
/* 802A0D78 0029C9D8 40 82 00 A0 */ bne lbl_802A0E18
/* 802A0D7C 0029C9DC 48 00 00 98 */ b lbl_802A0E14
lbl_802A0D80:
/* 802A0D80 0029C9E0 2C 00 00 01 */ cmpwi r0, 1
/* 802A0D84 0029C9E4 41 82 00 0C */ beq lbl_802A0D90
/* 802A0D88 0029C9E8 2C 00 FF FF */ cmpwi r0, -1
/* 802A0D8C 0029C9EC 40 82 00 48 */ bne lbl_802A0DD4
lbl_802A0D90:
/* 802A0D90 0029C9F0 A8 03 01 0C */ lha r0, 0x10c(r3)
/* 802A0D94 0029C9F4 2C 00 00 02 */ cmpwi r0, 2
/* 802A0D98 0029C9F8 41 80 00 18 */ blt lbl_802A0DB0
/* 802A0D9C 0029C9FC 7F E3 FB 78 */ mr r3, r31
/* 802A0DA0 0029CA00 4B FF F2 49 */ bl select_2obj_first
/* 802A0DA4 0029CA04 7C 60 07 75 */ extsb. r0, r3
/* 802A0DA8 0029CA08 7C 7E 1B 78 */ mr r30, r3
/* 802A0DAC 0029CA0C 40 82 00 6C */ bne lbl_802A0E18
lbl_802A0DB0:
/* 802A0DB0 0029CA10 A8 1F 01 0C */ lha r0, 0x10c(r31)
/* 802A0DB4 0029CA14 2C 00 00 01 */ cmpwi r0, 1
/* 802A0DB8 0029CA18 41 80 00 5C */ blt lbl_802A0E14
/* 802A0DBC 0029CA1C 7F E3 FB 78 */ mr r3, r31
/* 802A0DC0 0029CA20 4B FF F7 ED */ bl select_1obj_continue
/* 802A0DC4 0029CA24 7C 60 07 75 */ extsb. r0, r3
/* 802A0DC8 0029CA28 7C 7E 1B 78 */ mr r30, r3
/* 802A0DCC 0029CA2C 40 82 00 4C */ bne lbl_802A0E18
/* 802A0DD0 0029CA30 48 00 00 44 */ b lbl_802A0E14
lbl_802A0DD4:
/* 802A0DD4 0029CA34 A8 03 01 0C */ lha r0, 0x10c(r3)
/* 802A0DD8 0029CA38 2C 00 00 02 */ cmpwi r0, 2
/* 802A0DDC 0029CA3C 41 80 00 18 */ blt lbl_802A0DF4
/* 802A0DE0 0029CA40 7F E3 FB 78 */ mr r3, r31
/* 802A0DE4 0029CA44 4B FF F2 05 */ bl select_2obj_first
/* 802A0DE8 0029CA48 7C 60 07 75 */ extsb. r0, r3
/* 802A0DEC 0029CA4C 7C 7E 1B 78 */ mr r30, r3
/* 802A0DF0 0029CA50 40 82 00 28 */ bne lbl_802A0E18
lbl_802A0DF4:
/* 802A0DF4 0029CA54 A8 1F 01 0C */ lha r0, 0x10c(r31)
/* 802A0DF8 0029CA58 2C 00 00 01 */ cmpwi r0, 1
/* 802A0DFC 0029CA5C 40 82 00 18 */ bne lbl_802A0E14
/* 802A0E00 0029CA60 7F E3 FB 78 */ mr r3, r31
/* 802A0E04 0029CA64 4B FF F5 F5 */ bl select_1obj_first
/* 802A0E08 0029CA68 7C 60 07 75 */ extsb. r0, r3
/* 802A0E0C 0029CA6C 7C 7E 1B 78 */ mr r30, r3
/* 802A0E10 0029CA70 40 82 00 08 */ bne lbl_802A0E18
lbl_802A0E14:
/* 802A0E14 0029CA74 3B C0 00 00 */ li r30, 0
lbl_802A0E18:
/* 802A0E18 0029CA78 7F C0 07 75 */ extsb. r0, r30
/* 802A0E1C 0029CA7C 41 82 01 08 */ beq lbl_802A0F24
/* 802A0E20 0029CA80 C0 7F 01 00 */ lfs f3, 0x100(r31)
/* 802A0E24 0029CA84 C0 5F 00 F4 */ lfs f2, 0xf4(r31)
/* 802A0E28 0029CA88 C0 3F 01 04 */ lfs f1, 0x104(r31)
/* 802A0E2C 0029CA8C C0 1F 00 F8 */ lfs f0, 0xf8(r31)
/* 802A0E30 0029CA90 EF C3 10 28 */ fsubs f30, f3, f2
/* 802A0E34 0029CA94 EF E1 00 28 */ fsubs f31, f1, f0
/* 802A0E38 0029CA98 EC 3E 07 B2 */ fmuls f1, f30, f30
/* 802A0E3C 0029CA9C EC 1F 07 F2 */ fmuls f0, f31, f31
/* 802A0E40 0029CAA0 EC 21 00 2A */ fadds f1, f1, f0
/* 802A0E44 0029CAA4 4B F3 39 F1 */ bl sqrt
/* 802A0E48 0029CAA8 FC 60 08 18 */ frsp f3, f1
/* 802A0E4C 0029CAAC C0 02 A3 B0 */ lfs f0, lbl_806429B0-_SDA2_BASE_(r2)
/* 802A0E50 0029CAB0 A0 1F 04 C8 */ lhz r0, 0x4c8(r31)
/* 802A0E54 0029CAB4 C0 9F 00 B0 */ lfs f4, 0xb0(r31)
/* 802A0E58 0029CAB8 EC 40 18 24 */ fdivs f2, f0, f3
/* 802A0E5C 0029CABC C0 3F 05 10 */ lfs f1, 0x510(r31)
/* 802A0E60 0029CAC0 C0 1F 00 B4 */ lfs f0, 0xb4(r31)
/* 802A0E64 0029CAC4 2C 00 00 00 */ cmpwi r0, 0
/* 802A0E68 0029CAC8 D0 7F 04 90 */ stfs f3, 0x490(r31)
/* 802A0E6C 0029CACC EF DE 00 B2 */ fmuls f30, f30, f2
/* 802A0E70 0029CAD0 EF FF 00 B2 */ fmuls f31, f31, f2
/* 802A0E74 0029CAD4 EC A1 00 B2 */ fmuls f5, f1, f2
/* 802A0E78 0029CAD8 EC 64 07 B2 */ fmuls f3, f4, f30
/* 802A0E7C 0029CADC D3 DF 04 94 */ stfs f30, 0x494(r31)
/* 802A0E80 0029CAE0 EC 40 07 F2 */ fmuls f2, f0, f31
/* 802A0E84 0029CAE4 EC 20 07 B2 */ fmuls f1, f0, f30
/* 802A0E88 0029CAE8 D0 BF 04 9C */ stfs f5, 0x49c(r31)
/* 802A0E8C 0029CAEC EC 04 07 F2 */ fmuls f0, f4, f31
/* 802A0E90 0029CAF0 EC 43 10 2A */ fadds f2, f3, f2
/* 802A0E94 0029CAF4 D3 FF 04 98 */ stfs f31, 0x498(r31)
/* 802A0E98 0029CAF8 EC 61 00 28 */ fsubs f3, f1, f0
/* 802A0E9C 0029CAFC D0 5F 04 B0 */ stfs f2, 0x4b0(r31)
/* 802A0EA0 0029CB00 D0 7F 04 B4 */ stfs f3, 0x4b4(r31)
/* 802A0EA4 0029CB04 40 82 00 38 */ bne lbl_802A0EDC
/* 802A0EA8 0029CB08 C0 1F 04 B8 */ lfs f0, 0x4b8(r31)
/* 802A0EAC 0029CB0C C0 3F 04 BC */ lfs f1, 0x4bc(r31)
/* 802A0EB0 0029CB10 EC 42 00 32 */ fmuls f2, f2, f0
/* 802A0EB4 0029CB14 C0 0D 89 58 */ lfs f0, lbl_8063DC18-_SDA_BASE_(r13)
/* 802A0EB8 0029CB18 EC 23 00 72 */ fmuls f1, f3, f1
/* 802A0EBC 0029CB1C EC 22 08 2A */ fadds f1, f2, f1
/* 802A0EC0 0029CB20 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802A0EC4 0029CB24 4C 40 13 82 */ cror 2, 0, 2
/* 802A0EC8 0029CB28 40 82 00 14 */ bne lbl_802A0EDC
/* 802A0ECC 0029CB2C 38 00 00 01 */ li r0, 1
/* 802A0ED0 0029CB30 3B C0 00 00 */ li r30, 0
/* 802A0ED4 0029CB34 98 1F 01 08 */ stb r0, 0x108(r31)
/* 802A0ED8 0029CB38 98 1F 00 FC */ stb r0, 0xfc(r31)
lbl_802A0EDC:
/* 802A0EDC 0029CB3C 88 1F 00 5E */ lbz r0, 0x5e(r31)
/* 802A0EE0 0029CB40 2C 00 00 02 */ cmpwi r0, 2
/* 802A0EE4 0029CB44 40 82 00 34 */ bne lbl_802A0F18
/* 802A0EE8 0029CB48 7F C0 07 74 */ extsb r0, r30
/* 802A0EEC 0029CB4C 2C 00 00 02 */ cmpwi r0, 2
/* 802A0EF0 0029CB50 40 82 00 28 */ bne lbl_802A0F18
/* 802A0EF4 0029CB54 88 7F 04 CA */ lbz r3, 0x4ca(r31)
/* 802A0EF8 0029CB58 28 03 00 C8 */ cmplwi r3, 0xc8
/* 802A0EFC 0029CB5C 40 82 00 10 */ bne lbl_802A0F0C
/* 802A0F00 0029CB60 C0 1F 04 90 */ lfs f0, 0x490(r31)
/* 802A0F04 0029CB64 D0 1F 04 A0 */ stfs f0, 0x4a0(r31)
/* 802A0F08 0029CB68 48 00 00 24 */ b lbl_802A0F2C
lbl_802A0F0C:
/* 802A0F0C 0029CB6C 38 03 00 01 */ addi r0, r3, 1
/* 802A0F10 0029CB70 98 1F 04 CA */ stb r0, 0x4ca(r31)
/* 802A0F14 0029CB74 48 00 00 18 */ b lbl_802A0F2C
lbl_802A0F18:
/* 802A0F18 0029CB78 38 00 00 00 */ li r0, 0
/* 802A0F1C 0029CB7C 98 1F 04 CA */ stb r0, 0x4ca(r31)
/* 802A0F20 0029CB80 48 00 00 0C */ b lbl_802A0F2C
lbl_802A0F24:
/* 802A0F24 0029CB84 38 00 00 00 */ li r0, 0
/* 802A0F28 0029CB88 98 1F 04 CA */ stb r0, 0x4ca(r31)
lbl_802A0F2C:
/* 802A0F2C 0029CB8C 7F E3 FB 78 */ mr r3, r31
/* 802A0F30 0029CB90 7F C4 07 74 */ extsb r4, r30
/* 802A0F34 0029CB94 4B FF F7 ED */ bl calc_dpd_variable
/* 802A0F38 0029CB98 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
/* 802A0F3C 0029CB9C CB E1 00 30 */ lfd f31, 0x30(r1)
/* 802A0F40 0029CBA0 E3 C1 00 28 */ psq_l f30, 40(r1), 0, qr0
/* 802A0F44 0029CBA4 CB C1 00 20 */ lfd f30, 0x20(r1)
/* 802A0F48 0029CBA8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802A0F4C 0029CBAC 80 01 00 44 */ lwz r0, 0x44(r1)
/* 802A0F50 0029CBB0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802A0F54 0029CBB4 7C 08 03 A6 */ mtlr r0
/* 802A0F58 0029CBB8 38 21 00 40 */ addi r1, r1, 0x40
/* 802A0F5C 0029CBBC 4E 80 00 20 */ blr
clamp_stick_circle:
/* 802A0F60 0029CBC0 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 802A0F64 0029CBC4 7C 08 02 A6 */ mflr r0
/* 802A0F68 0029CBC8 90 01 00 64 */ stw r0, 0x64(r1)
/* 802A0F6C 0029CBCC DB E1 00 50 */ stfd f31, 0x50(r1)
/* 802A0F70 0029CBD0 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0
/* 802A0F74 0029CBD4 DB C1 00 40 */ stfd f30, 0x40(r1)
/* 802A0F78 0029CBD8 F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0
/* 802A0F7C 0029CBDC DB A1 00 30 */ stfd f29, 0x30(r1)
/* 802A0F80 0029CBE0 F3 A1 00 38 */ psq_st f29, 56(r1), 0, qr0
/* 802A0F84 0029CBE4 DB 81 00 20 */ stfd f28, 0x20(r1)
/* 802A0F88 0029CBE8 F3 81 00 28 */ psq_st f28, 40(r1), 0, qr0
/* 802A0F8C 0029CBEC 3D 00 43 30 */ lis r8, 0x4330
/* 802A0F90 0029CBF0 6C 80 80 00 */ xoris r0, r4, 0x8000
/* 802A0F94 0029CBF4 6C A5 80 00 */ xoris r5, r5, 0x8000
/* 802A0F98 0029CBF8 90 01 00 0C */ stw r0, 0xc(r1)
/* 802A0F9C 0029CBFC 6C C4 80 00 */ xoris r4, r6, 0x8000
/* 802A0FA0 0029CC00 C8 82 A3 C8 */ lfd f4, lbl_806429C8-_SDA2_BASE_(r2)
/* 802A0FA4 0029CC04 6C E0 80 00 */ xoris r0, r7, 0x8000
/* 802A0FA8 0029CC08 91 01 00 08 */ stw r8, 8(r1)
/* 802A0FAC 0029CC0C C8 01 00 08 */ lfd f0, 8(r1)
/* 802A0FB0 0029CC10 91 01 00 10 */ stw r8, 0x10(r1)
/* 802A0FB4 0029CC14 EF E0 20 28 */ fsubs f31, f0, f4
/* 802A0FB8 0029CC18 90 A1 00 14 */ stw r5, 0x14(r1)
/* 802A0FBC 0029CC1C C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802A0FC0 0029CC20 EC 3F 07 F2 */ fmuls f1, f31, f31
/* 802A0FC4 0029CC24 90 81 00 0C */ stw r4, 0xc(r1)
/* 802A0FC8 0029CC28 EF C0 20 28 */ fsubs f30, f0, f4
/* 802A0FCC 0029CC2C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A0FD0 0029CC30 C8 61 00 08 */ lfd f3, 8(r1)
/* 802A0FD4 0029CC34 EC 1E 07 B2 */ fmuls f0, f30, f30
/* 802A0FD8 0029CC38 C8 41 00 10 */ lfd f2, 0x10(r1)
/* 802A0FDC 0029CC3C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802A0FE0 0029CC40 EF A3 20 28 */ fsubs f29, f3, f4
/* 802A0FE4 0029CC44 EF 82 20 28 */ fsubs f28, f2, f4
/* 802A0FE8 0029CC48 7C 7F 1B 78 */ mr r31, r3
/* 802A0FEC 0029CC4C EC 21 00 2A */ fadds f1, f1, f0
/* 802A0FF0 0029CC50 4B F3 38 45 */ bl sqrt
/* 802A0FF4 0029CC54 FC 40 08 18 */ frsp f2, f1
/* 802A0FF8 0029CC58 FC 02 E8 40 */ fcmpo cr0, f2, f29
/* 802A0FFC 0029CC5C 4C 40 13 82 */ cror 2, 0, 2
/* 802A1000 0029CC60 40 82 00 14 */ bne lbl_802A1014
/* 802A1004 0029CC64 C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 802A1008 0029CC68 D0 1F 00 04 */ stfs f0, 4(r31)
/* 802A100C 0029CC6C D0 1F 00 00 */ stfs f0, 0(r31)
/* 802A1010 0029CC70 48 00 00 44 */ b lbl_802A1054
lbl_802A1014:
/* 802A1014 0029CC74 FC 02 E0 40 */ fcmpo cr0, f2, f28
/* 802A1018 0029CC78 4C 41 13 82 */ cror 2, 1, 2
/* 802A101C 0029CC7C 40 82 00 18 */ bne lbl_802A1034
/* 802A1020 0029CC80 EC 3F 10 24 */ fdivs f1, f31, f2
/* 802A1024 0029CC84 EC 1E 10 24 */ fdivs f0, f30, f2
/* 802A1028 0029CC88 D0 3F 00 00 */ stfs f1, 0(r31)
/* 802A102C 0029CC8C D0 1F 00 04 */ stfs f0, 4(r31)
/* 802A1030 0029CC90 48 00 00 24 */ b lbl_802A1054
lbl_802A1034:
/* 802A1034 0029CC94 EC 22 E8 28 */ fsubs f1, f2, f29
/* 802A1038 0029CC98 EC 1C E8 28 */ fsubs f0, f28, f29
/* 802A103C 0029CC9C EC 01 00 24 */ fdivs f0, f1, f0
/* 802A1040 0029CCA0 EC 00 10 24 */ fdivs f0, f0, f2
/* 802A1044 0029CCA4 EC 3F 00 32 */ fmuls f1, f31, f0
/* 802A1048 0029CCA8 EC 1E 00 32 */ fmuls f0, f30, f0
/* 802A104C 0029CCAC D0 3F 00 00 */ stfs f1, 0(r31)
/* 802A1050 0029CCB0 D0 1F 00 04 */ stfs f0, 4(r31)
lbl_802A1054:
/* 802A1054 0029CCB4 E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0
/* 802A1058 0029CCB8 CB E1 00 50 */ lfd f31, 0x50(r1)
/* 802A105C 0029CCBC E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0
/* 802A1060 0029CCC0 CB C1 00 40 */ lfd f30, 0x40(r1)
/* 802A1064 0029CCC4 E3 A1 00 38 */ psq_l f29, 56(r1), 0, qr0
/* 802A1068 0029CCC8 CB A1 00 30 */ lfd f29, 0x30(r1)
/* 802A106C 0029CCCC E3 81 00 28 */ psq_l f28, 40(r1), 0, qr0
/* 802A1070 0029CCD0 CB 81 00 20 */ lfd f28, 0x20(r1)
/* 802A1074 0029CCD4 80 01 00 64 */ lwz r0, 0x64(r1)
/* 802A1078 0029CCD8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802A107C 0029CCDC 7C 08 03 A6 */ mtlr r0
/* 802A1080 0029CCE0 38 21 00 60 */ addi r1, r1, 0x60
/* 802A1084 0029CCE4 4E 80 00 20 */ blr
clamp_stick_cross:
/* 802A1088 0029CCE8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A108C 0029CCEC 7C 08 02 A6 */ mflr r0
/* 802A1090 0029CCF0 2C 04 00 00 */ cmpwi r4, 0
/* 802A1094 0029CCF4 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A1098 0029CCF8 3C 00 43 30 */ lis r0, 0x4330
/* 802A109C 0029CCFC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802A10A0 0029CD00 7C 7F 1B 78 */ mr r31, r3
/* 802A10A4 0029CD04 90 01 00 08 */ stw r0, 8(r1)
/* 802A10A8 0029CD08 90 01 00 10 */ stw r0, 0x10(r1)
/* 802A10AC 0029CD0C 40 80 00 78 */ bge lbl_802A1124
/* 802A10B0 0029CD10 7C 04 00 D0 */ neg r0, r4
/* 802A10B4 0029CD14 7C 00 30 00 */ cmpw r0, r6
/* 802A10B8 0029CD18 41 81 00 10 */ bgt lbl_802A10C8
/* 802A10BC 0029CD1C C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 802A10C0 0029CD20 D0 03 00 00 */ stfs f0, 0(r3)
/* 802A10C4 0029CD24 48 00 00 50 */ b lbl_802A1114
lbl_802A10C8:
/* 802A10C8 0029CD28 7C 00 38 00 */ cmpw r0, r7
/* 802A10CC 0029CD2C 41 80 00 10 */ blt lbl_802A10DC
/* 802A10D0 0029CD30 C0 02 A3 B0 */ lfs f0, lbl_806429B0-_SDA2_BASE_(r2)
/* 802A10D4 0029CD34 D0 03 00 00 */ stfs f0, 0(r3)
/* 802A10D8 0029CD38 48 00 00 3C */ b lbl_802A1114
lbl_802A10DC:
/* 802A10DC 0029CD3C 7C 84 32 14 */ add r4, r4, r6
/* 802A10E0 0029CD40 7C 06 38 50 */ subf r0, r6, r7
/* 802A10E4 0029CD44 7C 84 00 D0 */ neg r4, r4
/* 802A10E8 0029CD48 C8 42 A3 C8 */ lfd f2, lbl_806429C8-_SDA2_BASE_(r2)
/* 802A10EC 0029CD4C 6C 84 80 00 */ xoris r4, r4, 0x8000
/* 802A10F0 0029CD50 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802A10F4 0029CD54 90 81 00 0C */ stw r4, 0xc(r1)
/* 802A10F8 0029CD58 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A10FC 0029CD5C C8 21 00 08 */ lfd f1, 8(r1)
/* 802A1100 0029CD60 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802A1104 0029CD64 EC 21 10 28 */ fsubs f1, f1, f2
/* 802A1108 0029CD68 EC 00 10 28 */ fsubs f0, f0, f2
/* 802A110C 0029CD6C EC 01 00 24 */ fdivs f0, f1, f0
/* 802A1110 0029CD70 D0 03 00 00 */ stfs f0, 0(r3)
lbl_802A1114:
/* 802A1114 0029CD74 C0 03 00 00 */ lfs f0, 0(r3)
/* 802A1118 0029CD78 FC 00 00 50 */ fneg f0, f0
/* 802A111C 0029CD7C D0 03 00 00 */ stfs f0, 0(r3)
/* 802A1120 0029CD80 48 00 00 60 */ b lbl_802A1180
lbl_802A1124:
/* 802A1124 0029CD84 7C 04 30 00 */ cmpw r4, r6
/* 802A1128 0029CD88 41 81 00 10 */ bgt lbl_802A1138
/* 802A112C 0029CD8C C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 802A1130 0029CD90 D0 03 00 00 */ stfs f0, 0(r3)
/* 802A1134 0029CD94 48 00 00 4C */ b lbl_802A1180
lbl_802A1138:
/* 802A1138 0029CD98 7C 04 38 00 */ cmpw r4, r7
/* 802A113C 0029CD9C 41 80 00 10 */ blt lbl_802A114C
/* 802A1140 0029CDA0 C0 02 A3 B0 */ lfs f0, lbl_806429B0-_SDA2_BASE_(r2)
/* 802A1144 0029CDA4 D0 03 00 00 */ stfs f0, 0(r3)
/* 802A1148 0029CDA8 48 00 00 38 */ b lbl_802A1180
lbl_802A114C:
/* 802A114C 0029CDAC 7C 86 20 50 */ subf r4, r6, r4
/* 802A1150 0029CDB0 7C 06 38 50 */ subf r0, r6, r7
/* 802A1154 0029CDB4 6C 84 80 00 */ xoris r4, r4, 0x8000
/* 802A1158 0029CDB8 C8 42 A3 C8 */ lfd f2, lbl_806429C8-_SDA2_BASE_(r2)
/* 802A115C 0029CDBC 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802A1160 0029CDC0 90 81 00 0C */ stw r4, 0xc(r1)
/* 802A1164 0029CDC4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A1168 0029CDC8 C8 21 00 08 */ lfd f1, 8(r1)
/* 802A116C 0029CDCC C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802A1170 0029CDD0 EC 21 10 28 */ fsubs f1, f1, f2
/* 802A1174 0029CDD4 EC 00 10 28 */ fsubs f0, f0, f2
/* 802A1178 0029CDD8 EC 01 00 24 */ fdivs f0, f1, f0
/* 802A117C 0029CDDC D0 03 00 00 */ stfs f0, 0(r3)
lbl_802A1180:
/* 802A1180 0029CDE0 2C 05 00 00 */ cmpwi r5, 0
/* 802A1184 0029CDE4 40 80 00 78 */ bge lbl_802A11FC
/* 802A1188 0029CDE8 7C 05 00 D0 */ neg r0, r5
/* 802A118C 0029CDEC 7C 00 30 00 */ cmpw r0, r6
/* 802A1190 0029CDF0 41 81 00 10 */ bgt lbl_802A11A0
/* 802A1194 0029CDF4 C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 802A1198 0029CDF8 D0 03 00 04 */ stfs f0, 4(r3)
/* 802A119C 0029CDFC 48 00 00 50 */ b lbl_802A11EC
lbl_802A11A0:
/* 802A11A0 0029CE00 7C 00 38 00 */ cmpw r0, r7
/* 802A11A4 0029CE04 41 80 00 10 */ blt lbl_802A11B4
/* 802A11A8 0029CE08 C0 02 A3 B0 */ lfs f0, lbl_806429B0-_SDA2_BASE_(r2)
/* 802A11AC 0029CE0C D0 03 00 04 */ stfs f0, 4(r3)
/* 802A11B0 0029CE10 48 00 00 3C */ b lbl_802A11EC
lbl_802A11B4:
/* 802A11B4 0029CE14 7C 85 32 14 */ add r4, r5, r6
/* 802A11B8 0029CE18 7C 06 38 50 */ subf r0, r6, r7
/* 802A11BC 0029CE1C 7C 84 00 D0 */ neg r4, r4
/* 802A11C0 0029CE20 C8 42 A3 C8 */ lfd f2, lbl_806429C8-_SDA2_BASE_(r2)
/* 802A11C4 0029CE24 6C 84 80 00 */ xoris r4, r4, 0x8000
/* 802A11C8 0029CE28 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802A11CC 0029CE2C 90 81 00 0C */ stw r4, 0xc(r1)
/* 802A11D0 0029CE30 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A11D4 0029CE34 C8 21 00 08 */ lfd f1, 8(r1)
/* 802A11D8 0029CE38 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802A11DC 0029CE3C EC 21 10 28 */ fsubs f1, f1, f2
/* 802A11E0 0029CE40 EC 00 10 28 */ fsubs f0, f0, f2
/* 802A11E4 0029CE44 EC 01 00 24 */ fdivs f0, f1, f0
/* 802A11E8 0029CE48 D0 03 00 04 */ stfs f0, 4(r3)
lbl_802A11EC:
/* 802A11EC 0029CE4C C0 03 00 04 */ lfs f0, 4(r3)
/* 802A11F0 0029CE50 FC 00 00 50 */ fneg f0, f0
/* 802A11F4 0029CE54 D0 03 00 04 */ stfs f0, 4(r3)
/* 802A11F8 0029CE58 48 00 00 60 */ b lbl_802A1258
lbl_802A11FC:
/* 802A11FC 0029CE5C 7C 05 30 00 */ cmpw r5, r6
/* 802A1200 0029CE60 41 81 00 10 */ bgt lbl_802A1210
/* 802A1204 0029CE64 C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 802A1208 0029CE68 D0 03 00 04 */ stfs f0, 4(r3)
/* 802A120C 0029CE6C 48 00 00 4C */ b lbl_802A1258
lbl_802A1210:
/* 802A1210 0029CE70 7C 05 38 00 */ cmpw r5, r7
/* 802A1214 0029CE74 41 80 00 10 */ blt lbl_802A1224
/* 802A1218 0029CE78 C0 02 A3 B0 */ lfs f0, lbl_806429B0-_SDA2_BASE_(r2)
/* 802A121C 0029CE7C D0 03 00 04 */ stfs f0, 4(r3)
/* 802A1220 0029CE80 48 00 00 38 */ b lbl_802A1258
lbl_802A1224:
/* 802A1224 0029CE84 7C 86 28 50 */ subf r4, r6, r5
/* 802A1228 0029CE88 7C 06 38 50 */ subf r0, r6, r7
/* 802A122C 0029CE8C 6C 84 80 00 */ xoris r4, r4, 0x8000
/* 802A1230 0029CE90 C8 42 A3 C8 */ lfd f2, lbl_806429C8-_SDA2_BASE_(r2)
/* 802A1234 0029CE94 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802A1238 0029CE98 90 81 00 0C */ stw r4, 0xc(r1)
/* 802A123C 0029CE9C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A1240 0029CEA0 C8 21 00 08 */ lfd f1, 8(r1)
/* 802A1244 0029CEA4 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802A1248 0029CEA8 EC 21 10 28 */ fsubs f1, f1, f2
/* 802A124C 0029CEAC EC 00 10 28 */ fsubs f0, f0, f2
/* 802A1250 0029CEB0 EC 01 00 24 */ fdivs f0, f1, f0
/* 802A1254 0029CEB4 D0 03 00 04 */ stfs f0, 4(r3)
lbl_802A1258:
/* 802A1258 0029CEB8 C0 03 00 00 */ lfs f0, 0(r3)
/* 802A125C 0029CEBC C0 23 00 04 */ lfs f1, 4(r3)
/* 802A1260 0029CEC0 EC 40 00 32 */ fmuls f2, f0, f0
/* 802A1264 0029CEC4 C0 02 A3 B0 */ lfs f0, lbl_806429B0-_SDA2_BASE_(r2)
/* 802A1268 0029CEC8 EC 21 00 72 */ fmuls f1, f1, f1
/* 802A126C 0029CECC EC 22 08 2A */ fadds f1, f2, f1
/* 802A1270 0029CED0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802A1274 0029CED4 40 81 00 24 */ ble lbl_802A1298
/* 802A1278 0029CED8 4B F3 35 BD */ bl sqrt
/* 802A127C 0029CEDC FC 40 08 18 */ frsp f2, f1
/* 802A1280 0029CEE0 C0 3F 00 00 */ lfs f1, 0(r31)
/* 802A1284 0029CEE4 C0 1F 00 04 */ lfs f0, 4(r31)
/* 802A1288 0029CEE8 EC 21 10 24 */ fdivs f1, f1, f2
/* 802A128C 0029CEEC EC 00 10 24 */ fdivs f0, f0, f2
/* 802A1290 0029CEF0 D0 3F 00 00 */ stfs f1, 0(r31)
/* 802A1294 0029CEF4 D0 1F 00 04 */ stfs f0, 4(r31)
lbl_802A1298:
/* 802A1298 0029CEF8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A129C 0029CEFC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802A12A0 0029CF00 7C 08 03 A6 */ mtlr r0
/* 802A12A4 0029CF04 38 21 00 20 */ addi r1, r1, 0x20
/* 802A12A8 0029CF08 4E 80 00 20 */ blr
.global read_kpad_stick
read_kpad_stick:
/* 802A12AC 0029CF0C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802A12B0 0029CF10 7C 08 02 A6 */ mflr r0
/* 802A12B4 0029CF14 3C A0 43 30 */ lis r5, 0x4330
/* 802A12B8 0029CF18 90 01 00 34 */ stw r0, 0x34(r1)
/* 802A12BC 0029CF1C 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 802A12C0 0029CF20 3F E0 80 2A */ lis r31, clamp_stick_cross@ha
/* 802A12C4 0029CF24 3B FF 10 88 */ addi r31, r31, clamp_stick_cross@l
/* 802A12C8 0029CF28 93 C1 00 28 */ stw r30, 0x28(r1)
/* 802A12CC 0029CF2C 3B C3 00 60 */ addi r30, r3, 0x60
/* 802A12D0 0029CF30 93 A1 00 24 */ stw r29, 0x24(r1)
/* 802A12D4 0029CF34 7C 9D 23 78 */ mr r29, r4
/* 802A12D8 0029CF38 80 0D AD D0 */ lwz r0, lbl_80640090-_SDA_BASE_(r13)
/* 802A12DC 0029CF3C 90 A1 00 08 */ stw r5, 8(r1)
/* 802A12E0 0029CF40 2C 00 00 00 */ cmpwi r0, 0
/* 802A12E4 0029CF44 90 A1 00 10 */ stw r5, 0x10(r1)
/* 802A12E8 0029CF48 41 82 00 0C */ beq lbl_802A12F4
/* 802A12EC 0029CF4C 3F E0 80 2A */ lis r31, clamp_stick_circle@ha
/* 802A12F0 0029CF50 3B FF 0F 60 */ addi r31, r31, clamp_stick_circle@l
lbl_802A12F4:
/* 802A12F4 0029CF54 88 C4 00 28 */ lbz r6, 0x28(r4)
/* 802A12F8 0029CF58 28 06 00 01 */ cmplwi r6, 1
/* 802A12FC 0029CF5C 40 82 00 88 */ bne lbl_802A1384
/* 802A1300 0029CF60 88 A4 00 36 */ lbz r5, 0x36(r4)
/* 802A1304 0029CF64 38 05 00 FD */ addi r0, r5, 0xfd
/* 802A1308 0029CF68 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 802A130C 0029CF6C 28 00 00 02 */ cmplwi r0, 2
/* 802A1310 0029CF70 41 81 00 74 */ bgt lbl_802A1384
/* 802A1314 0029CF74 88 03 05 1E */ lbz r0, 0x51e(r3)
/* 802A1318 0029CF78 2C 00 00 00 */ cmpwi r0, 0
/* 802A131C 0029CF7C 41 82 00 3C */ beq lbl_802A1358
/* 802A1320 0029CF80 38 00 00 00 */ li r0, 0
/* 802A1324 0029CF84 C0 42 A3 A0 */ lfs f2, lbl_806429A0-_SDA2_BASE_(r2)
/* 802A1328 0029CF88 98 03 05 1E */ stb r0, 0x51e(r3)
/* 802A132C 0029CF8C C0 22 A3 AC */ lfs f1, lbl_806429AC-_SDA2_BASE_(r2)
/* 802A1330 0029CF90 80 6D AD D8 */ lwz r3, lbl_80640098-_SDA_BASE_(r13)
/* 802A1334 0029CF94 80 0D AD DC */ lwz r0, lbl_8064009C-_SDA_BASE_(r13)
/* 802A1338 0029CF98 C0 02 A3 B0 */ lfs f0, lbl_806429B0-_SDA2_BASE_(r2)
/* 802A133C 0029CF9C 90 7E 00 00 */ stw r3, 0(r30)
/* 802A1340 0029CFA0 90 1E 00 04 */ stw r0, 4(r30)
/* 802A1344 0029CFA4 D0 5E 00 10 */ stfs f2, 0x10(r30)
/* 802A1348 0029CFA8 D0 5E 00 08 */ stfs f2, 8(r30)
/* 802A134C 0029CFAC D0 3E 00 0C */ stfs f1, 0xc(r30)
/* 802A1350 0029CFB0 D0 1E 00 14 */ stfs f0, 0x14(r30)
/* 802A1354 0029CFB4 D0 5E 00 18 */ stfs f2, 0x18(r30)
lbl_802A1358:
/* 802A1358 0029CFB8 88 84 00 30 */ lbz r4, 0x30(r4)
/* 802A135C 0029CFBC 7F EC FB 78 */ mr r12, r31
/* 802A1360 0029CFC0 88 BD 00 31 */ lbz r5, 0x31(r29)
/* 802A1364 0029CFC4 7F C3 F3 78 */ mr r3, r30
/* 802A1368 0029CFC8 7C 84 07 74 */ extsb r4, r4
/* 802A136C 0029CFCC 80 CD 89 64 */ lwz r6, lbl_8063DC24-_SDA_BASE_(r13)
/* 802A1370 0029CFD0 7C A5 07 74 */ extsb r5, r5
/* 802A1374 0029CFD4 80 ED 89 68 */ lwz r7, lbl_8063DC28-_SDA_BASE_(r13)
/* 802A1378 0029CFD8 7D 89 03 A6 */ mtctr r12
/* 802A137C 0029CFDC 4E 80 04 21 */ bctrl
/* 802A1380 0029CFE0 48 00 01 88 */ b lbl_802A1508
lbl_802A1384:
/* 802A1384 0029CFE4 28 06 00 02 */ cmplwi r6, 2
/* 802A1388 0029CFE8 40 82 01 80 */ bne lbl_802A1508
/* 802A138C 0029CFEC 88 A4 00 36 */ lbz r5, 0x36(r4)
/* 802A1390 0029CFF0 38 05 00 FA */ addi r0, r5, 0xfa
/* 802A1394 0029CFF4 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 802A1398 0029CFF8 28 00 00 02 */ cmplwi r0, 2
/* 802A139C 0029CFFC 41 81 01 6C */ bgt lbl_802A1508
/* 802A13A0 0029D000 88 03 05 1E */ lbz r0, 0x51e(r3)
/* 802A13A4 0029D004 2C 00 00 00 */ cmpwi r0, 0
/* 802A13A8 0029D008 41 82 00 50 */ beq lbl_802A13F8
/* 802A13AC 0029D00C 38 E0 00 00 */ li r7, 0
/* 802A13B0 0029D010 C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 802A13B4 0029D014 98 E3 05 1E */ stb r7, 0x51e(r3)
/* 802A13B8 0029D018 A0 03 04 D0 */ lhz r0, 0x4d0(r3)
/* 802A13BC 0029D01C 80 CD AD D8 */ lwz r6, lbl_80640098-_SDA_BASE_(r13)
/* 802A13C0 0029D020 80 AD AD DC */ lwz r5, lbl_8064009C-_SDA_BASE_(r13)
/* 802A13C4 0029D024 90 DE 00 0C */ stw r6, 0xc(r30)
/* 802A13C8 0029D028 90 BE 00 10 */ stw r5, 0x10(r30)
/* 802A13CC 0029D02C 80 CD AD D8 */ lwz r6, lbl_80640098-_SDA_BASE_(r13)
/* 802A13D0 0029D030 80 AD AD DC */ lwz r5, lbl_8064009C-_SDA_BASE_(r13)
/* 802A13D4 0029D034 90 DE 00 14 */ stw r6, 0x14(r30)
/* 802A13D8 0029D038 90 BE 00 18 */ stw r5, 0x18(r30)
/* 802A13DC 0029D03C D0 1E 00 20 */ stfs f0, 0x20(r30)
/* 802A13E0 0029D040 D0 1E 00 1C */ stfs f0, 0x1c(r30)
/* 802A13E4 0029D044 90 FE 00 08 */ stw r7, 8(r30)
/* 802A13E8 0029D048 90 FE 00 04 */ stw r7, 4(r30)
/* 802A13EC 0029D04C 90 FE 00 00 */ stw r7, 0(r30)
/* 802A13F0 0029D050 B0 E3 04 D4 */ sth r7, 0x4d4(r3)
/* 802A13F4 0029D054 B0 03 04 D6 */ sth r0, 0x4d6(r3)
lbl_802A13F8:
/* 802A13F8 0029D058 7F EC FB 78 */ mr r12, r31
/* 802A13FC 0029D05C 38 7E 00 0C */ addi r3, r30, 0xc
/* 802A1400 0029D060 A8 84 00 2C */ lha r4, 0x2c(r4)
/* 802A1404 0029D064 A8 BD 00 2E */ lha r5, 0x2e(r29)
/* 802A1408 0029D068 80 CD 89 6C */ lwz r6, lbl_8063DC2C-_SDA_BASE_(r13)
/* 802A140C 0029D06C 80 ED 89 70 */ lwz r7, lbl_8063DC30-_SDA_BASE_(r13)
/* 802A1410 0029D070 7D 89 03 A6 */ mtctr r12
/* 802A1414 0029D074 4E 80 04 21 */ bctrl
/* 802A1418 0029D078 7F EC FB 78 */ mr r12, r31
/* 802A141C 0029D07C 38 7E 00 14 */ addi r3, r30, 0x14
/* 802A1420 0029D080 A8 9D 00 30 */ lha r4, 0x30(r29)
/* 802A1424 0029D084 A8 BD 00 32 */ lha r5, 0x32(r29)
/* 802A1428 0029D088 80 CD 89 6C */ lwz r6, lbl_8063DC2C-_SDA_BASE_(r13)
/* 802A142C 0029D08C 80 ED 89 70 */ lwz r7, lbl_8063DC30-_SDA_BASE_(r13)
/* 802A1430 0029D090 7D 89 03 A6 */ mtctr r12
/* 802A1434 0029D094 4E 80 04 21 */ bctrl
/* 802A1438 0029D098 80 AD 89 74 */ lwz r5, lbl_8063DC34-_SDA_BASE_(r13)
/* 802A143C 0029D09C 88 1D 00 34 */ lbz r0, 0x34(r29)
/* 802A1440 0029D0A0 80 8D 89 78 */ lwz r4, lbl_8063DC38-_SDA_BASE_(r13)
/* 802A1444 0029D0A4 7C 00 28 00 */ cmpw r0, r5
/* 802A1448 0029D0A8 41 81 00 10 */ bgt lbl_802A1458
/* 802A144C 0029D0AC C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 802A1450 0029D0B0 D0 1E 00 1C */ stfs f0, 0x1c(r30)
/* 802A1454 0029D0B4 48 00 00 4C */ b lbl_802A14A0
lbl_802A1458:
/* 802A1458 0029D0B8 7C 00 20 00 */ cmpw r0, r4
/* 802A145C 0029D0BC 41 80 00 10 */ blt lbl_802A146C
/* 802A1460 0029D0C0 C0 02 A3 B0 */ lfs f0, lbl_806429B0-_SDA2_BASE_(r2)
/* 802A1464 0029D0C4 D0 1E 00 1C */ stfs f0, 0x1c(r30)
/* 802A1468 0029D0C8 48 00 00 38 */ b lbl_802A14A0
lbl_802A146C:
/* 802A146C 0029D0CC 7C 65 00 50 */ subf r3, r5, r0
/* 802A1470 0029D0D0 7C 05 20 50 */ subf r0, r5, r4
/* 802A1474 0029D0D4 6C 63 80 00 */ xoris r3, r3, 0x8000
/* 802A1478 0029D0D8 C8 42 A3 C8 */ lfd f2, lbl_806429C8-_SDA2_BASE_(r2)
/* 802A147C 0029D0DC 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802A1480 0029D0E0 90 61 00 0C */ stw r3, 0xc(r1)
/* 802A1484 0029D0E4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A1488 0029D0E8 C8 21 00 08 */ lfd f1, 8(r1)
/* 802A148C 0029D0EC C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802A1490 0029D0F0 EC 21 10 28 */ fsubs f1, f1, f2
/* 802A1494 0029D0F4 EC 00 10 28 */ fsubs f0, f0, f2
/* 802A1498 0029D0F8 EC 01 00 24 */ fdivs f0, f1, f0
/* 802A149C 0029D0FC D0 1E 00 1C */ stfs f0, 0x1c(r30)
lbl_802A14A0:
/* 802A14A0 0029D100 80 AD 89 74 */ lwz r5, lbl_8063DC34-_SDA_BASE_(r13)
/* 802A14A4 0029D104 88 1D 00 35 */ lbz r0, 0x35(r29)
/* 802A14A8 0029D108 80 8D 89 78 */ lwz r4, lbl_8063DC38-_SDA_BASE_(r13)
/* 802A14AC 0029D10C 7C 00 28 00 */ cmpw r0, r5
/* 802A14B0 0029D110 41 81 00 10 */ bgt lbl_802A14C0
/* 802A14B4 0029D114 C0 02 A3 A0 */ lfs f0, lbl_806429A0-_SDA2_BASE_(r2)
/* 802A14B8 0029D118 D0 1E 00 20 */ stfs f0, 0x20(r30)
/* 802A14BC 0029D11C 48 00 00 4C */ b lbl_802A1508
lbl_802A14C0:
/* 802A14C0 0029D120 7C 00 20 00 */ cmpw r0, r4
/* 802A14C4 0029D124 41 80 00 10 */ blt lbl_802A14D4
/* 802A14C8 0029D128 C0 02 A3 B0 */ lfs f0, lbl_806429B0-_SDA2_BASE_(r2)
/* 802A14CC 0029D12C D0 1E 00 20 */ stfs f0, 0x20(r30)
/* 802A14D0 0029D130 48 00 00 38 */ b lbl_802A1508
lbl_802A14D4:
/* 802A14D4 0029D134 7C 65 00 50 */ subf r3, r5, r0
/* 802A14D8 0029D138 7C 05 20 50 */ subf r0, r5, r4
/* 802A14DC 0029D13C 6C 63 80 00 */ xoris r3, r3, 0x8000
/* 802A14E0 0029D140 C8 42 A3 C8 */ lfd f2, lbl_806429C8-_SDA2_BASE_(r2)
/* 802A14E4 0029D144 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 802A14E8 0029D148 90 61 00 0C */ stw r3, 0xc(r1)
/* 802A14EC 0029D14C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A14F0 0029D150 C8 21 00 08 */ lfd f1, 8(r1)
/* 802A14F4 0029D154 C8 01 00 10 */ lfd f0, 0x10(r1)
/* 802A14F8 0029D158 EC 21 10 28 */ fsubs f1, f1, f2
/* 802A14FC 0029D15C EC 00 10 28 */ fsubs f0, f0, f2
/* 802A1500 0029D160 EC 01 00 24 */ fdivs f0, f1, f0
/* 802A1504 0029D164 D0 1E 00 20 */ stfs f0, 0x20(r30)
lbl_802A1508:
/* 802A1508 0029D168 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802A150C 0029D16C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 802A1510 0029D170 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 802A1514 0029D174 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 802A1518 0029D178 7C 08 03 A6 */ mtlr r0
/* 802A151C 0029D17C 38 21 00 30 */ addi r1, r1, 0x30
/* 802A1520 0029D180 4E 80 00 20 */ blr
.global KPADRead
KPADRead:
/* 802A1524 0029D184 94 21 FF 40 */ stwu r1, -0xc0(r1)
/* 802A1528 0029D188 7C 08 02 A6 */ mflr r0
/* 802A152C 0029D18C 90 01 00 C4 */ stw r0, 0xc4(r1)
/* 802A1530 0029D190 39 61 00 C0 */ addi r11, r1, 0xc0
/* 802A1534 0029D194 4B F2 5B C1 */ bl __save_gpr
/* 802A1538 0029D198 1C 03 05 24 */ mulli r0, r3, 0x524
/* 802A153C 0029D19C 3C E0 43 30 */ lis r7, 0x4330
/* 802A1540 0029D1A0 3C C0 80 53 */ lis r6, lbl_805356D0@ha
/* 802A1544 0029D1A4 90 E1 00 50 */ stw r7, 0x50(r1)
/* 802A1548 0029D1A8 7C 7B 1B 78 */ mr r27, r3
/* 802A154C 0029D1AC 38 C6 56 D0 */ addi r6, r6, lbl_805356D0@l
/* 802A1550 0029D1B0 90 E1 00 58 */ stw r7, 0x58(r1)
/* 802A1554 0029D1B4 7C 9C 23 78 */ mr r28, r4
/* 802A1558 0029D1B8 7C AE 2B 78 */ mr r14, r5
/* 802A155C 0029D1BC 7F E6 02 14 */ add r31, r6, r0
/* 802A1560 0029D1C0 3B C0 00 00 */ li r30, 0
/* 802A1564 0029D1C4 4B FC D1 F9 */ bl OSDisableInterrupts
/* 802A1568 0029D1C8 88 1F 05 1C */ lbz r0, 0x51c(r31)
/* 802A156C 0029D1CC 7C 71 1B 78 */ mr r17, r3
/* 802A1570 0029D1D0 2C 00 00 00 */ cmpwi r0, 0
/* 802A1574 0029D1D4 41 82 00 10 */ beq lbl_802A1584
/* 802A1578 0029D1D8 4B FC D2 0D */ bl OSRestoreInterrupts
/* 802A157C 0029D1DC 38 60 00 00 */ li r3, 0
/* 802A1580 0029D1E0 48 00 06 A4 */ b lbl_802A1C24
lbl_802A1584:
/* 802A1584 0029D1E4 3A 00 00 01 */ li r16, 1
/* 802A1588 0029D1E8 7F 63 DB 78 */ mr r3, r27
/* 802A158C 0029D1EC 9A 1F 05 1C */ stb r16, 0x51c(r31)
/* 802A1590 0029D1F0 38 80 00 00 */ li r4, 0
/* 802A1594 0029D1F4 48 00 77 E5 */ bl WPADProbe
/* 802A1598 0029D1F8 2C 03 FF FF */ cmpwi r3, -1
/* 802A159C 0029D1FC 7C 6F 1B 78 */ mr r15, r3
/* 802A15A0 0029D200 40 82 00 58 */ bne lbl_802A15F8
/* 802A15A4 0029D204 80 1F 04 D8 */ lwz r0, 0x4d8(r31)
/* 802A15A8 0029D208 2C 80 00 00 */ cmpwi cr1, r0, 0
/* 802A15AC 0029D20C 41 86 00 4C */ beq cr1, lbl_802A15F8
/* 802A15B0 0029D210 88 1F 05 22 */ lbz r0, 0x522(r31)
/* 802A15B4 0029D214 2C 00 00 00 */ cmpwi r0, 0
/* 802A15B8 0029D218 41 82 00 40 */ beq lbl_802A15F8
/* 802A15BC 0029D21C 88 1F 05 23 */ lbz r0, 0x523(r31)
/* 802A15C0 0029D220 2C 00 00 00 */ cmpwi r0, 0
/* 802A15C4 0029D224 40 82 00 34 */ bne lbl_802A15F8
/* 802A15C8 0029D228 41 86 00 28 */ beq cr1, lbl_802A15F0
/* 802A15CC 0029D22C 40 82 00 24 */ bne lbl_802A15F0
/* 802A15D0 0029D230 9A 1F 05 23 */ stb r16, 0x523(r31)
/* 802A15D4 0029D234 7F 63 DB 78 */ mr r3, r27
/* 802A15D8 0029D238 38 80 00 01 */ li r4, 1
/* 802A15DC 0029D23C 81 9F 04 D8 */ lwz r12, 0x4d8(r31)
/* 802A15E0 0029D240 7D 89 03 A6 */ mtctr r12
/* 802A15E4 0029D244 4E 80 04 21 */ bctrl
/* 802A15E8 0029D248 38 00 00 00 */ li r0, 0
/* 802A15EC 0029D24C 98 1F 05 22 */ stb r0, 0x522(r31)
lbl_802A15F0:
/* 802A15F0 0029D250 38 00 00 00 */ li r0, 0
/* 802A15F4 0029D254 98 1F 05 1F */ stb r0, 0x51f(r31)
lbl_802A15F8:
/* 802A15F8 0029D258 7E 23 8B 78 */ mr r3, r17
/* 802A15FC 0029D25C 4B FC D1 89 */ bl OSRestoreInterrupts
/* 802A1600 0029D260 88 1F 05 1D */ lbz r0, 0x51d(r31)
/* 802A1604 0029D264 2C 00 00 00 */ cmpwi r0, 0
/* 802A1608 0029D268 41 82 00 10 */ beq lbl_802A1618
/* 802A160C 0029D26C 99 FF 00 5D */ stb r15, 0x5d(r31)
/* 802A1610 0029D270 7F E3 FB 78 */ mr r3, r31
/* 802A1614 0029D274 4B FF DD AD */ bl reset_kpad
lbl_802A1618:
/* 802A1618 0029D278 3C 80 80 2A */ lis r4, KPADiSamplingCallback@ha
/* 802A161C 0029D27C 7F 63 DB 78 */ mr r3, r27
/* 802A1620 0029D280 38 84 1F D0 */ addi r4, r4, KPADiSamplingCallback@l
/* 802A1624 0029D284 48 00 77 E1 */ bl WPADSetSamplingCallback
/* 802A1628 0029D288 88 1F 01 0F */ lbz r0, 0x10f(r31)
/* 802A162C 0029D28C 2C 00 00 00 */ cmpwi r0, 0
/* 802A1630 0029D290 41 82 05 E8 */ beq lbl_802A1C18
/* 802A1634 0029D294 2C 1C 00 00 */ cmpwi r28, 0
/* 802A1638 0029D298 41 82 05 E0 */ beq lbl_802A1C18
/* 802A163C 0029D29C 2C 0E 00 00 */ cmpwi r14, 0
/* 802A1640 0029D2A0 41 82 05 D8 */ beq lbl_802A1C18
/* 802A1644 0029D2A4 4B FC D1 19 */ bl OSDisableInterrupts
/* 802A1648 0029D2A8 8B BF 01 0F */ lbz r29, 0x10f(r31)
/* 802A164C 0029D2AC 7C 1D 70 40 */ cmplw r29, r14
/* 802A1650 0029D2B0 7F BE EB 78 */ mr r30, r29
/* 802A1654 0029D2B4 40 81 00 08 */ ble lbl_802A165C
/* 802A1658 0029D2B8 7D DE 73 78 */ mr r30, r14
lbl_802A165C:
/* 802A165C 0029D2BC 38 80 00 00 */ li r4, 0
/* 802A1660 0029D2C0 7F C0 F3 78 */ mr r0, r30
/* 802A1664 0029D2C4 98 9F 01 0F */ stb r4, 0x10f(r31)
/* 802A1668 0029D2C8 1C BE 00 84 */ mulli r5, r30, 0x84
/* 802A166C 0029D2CC 88 9F 01 0E */ lbz r4, 0x10e(r31)
/* 802A1670 0029D2D0 7C BC 2A 14 */ add r5, r28, r5
/* 802A1674 0029D2D4 7C DE 20 51 */ subf. r6, r30, r4
/* 802A1678 0029D2D8 40 80 00 08 */ bge lbl_802A1680
/* 802A167C 0029D2DC 38 C6 00 10 */ addi r6, r6, 0x10
lbl_802A1680:
/* 802A1680 0029D2E0 38 A5 FF 7C */ addi r5, r5, -132
/* 802A1684 0029D2E4 48 00 01 00 */ b lbl_802A1784
lbl_802A1688:
/* 802A1688 0029D2E8 1C 86 00 38 */ mulli r4, r6, 0x38
/* 802A168C 0029D2EC 38 C6 00 01 */ addi r6, r6, 1
/* 802A1690 0029D2F0 2C 06 00 10 */ cmpwi r6, 0x10
/* 802A1694 0029D2F4 7C 9F 22 14 */ add r4, r31, r4
/* 802A1698 0029D2F8 A1 04 01 10 */ lhz r8, 0x110(r4)
/* 802A169C 0029D2FC A0 E4 01 12 */ lhz r7, 0x112(r4)
/* 802A16A0 0029D300 B1 05 FF 7C */ sth r8, -0x84(r5)
/* 802A16A4 0029D304 B0 E5 FF 7E */ sth r7, -0x82(r5)
/* 802A16A8 0029D308 A1 04 01 14 */ lhz r8, 0x114(r4)
/* 802A16AC 0029D30C A0 E4 01 16 */ lhz r7, 0x116(r4)
/* 802A16B0 0029D310 B1 05 FF 80 */ sth r8, -0x80(r5)
/* 802A16B4 0029D314 B0 E5 FF 82 */ sth r7, -0x7e(r5)
/* 802A16B8 0029D318 A1 04 01 18 */ lhz r8, 0x118(r4)
/* 802A16BC 0029D31C A0 E4 01 1A */ lhz r7, 0x11a(r4)
/* 802A16C0 0029D320 B1 05 FF 84 */ sth r8, -0x7c(r5)
/* 802A16C4 0029D324 B0 E5 FF 86 */ sth r7, -0x7a(r5)
/* 802A16C8 0029D328 A1 04 01 1C */ lhz r8, 0x11c(r4)
/* 802A16CC 0029D32C A0 E4 01 1E */ lhz r7, 0x11e(r4)
/* 802A16D0 0029D330 B1 05 FF 88 */ sth r8, -0x78(r5)
/* 802A16D4 0029D334 B0 E5 FF 8A */ sth r7, -0x76(r5)
/* 802A16D8 0029D338 A1 04 01 20 */ lhz r8, 0x120(r4)
/* 802A16DC 0029D33C A0 E4 01 22 */ lhz r7, 0x122(r4)
/* 802A16E0 0029D340 B1 05 FF 8C */ sth r8, -0x74(r5)
/* 802A16E4 0029D344 B0 E5 FF 8E */ sth r7, -0x72(r5)
/* 802A16E8 0029D348 A1 04 01 24 */ lhz r8, 0x124(r4)
/* 802A16EC 0029D34C A0 E4 01 26 */ lhz r7, 0x126(r4)
/* 802A16F0 0029D350 B1 05 FF 90 */ sth r8, -0x70(r5)
/* 802A16F4 0029D354 B0 E5 FF 92 */ sth r7, -0x6e(r5)
/* 802A16F8 0029D358 A1 04 01 28 */ lhz r8, 0x128(r4)
/* 802A16FC 0029D35C A0 E4 01 2A */ lhz r7, 0x12a(r4)
/* 802A1700 0029D360 B1 05 FF 94 */ sth r8, -0x6c(r5)
/* 802A1704 0029D364 B0 E5 FF 96 */ sth r7, -0x6a(r5)
/* 802A1708 0029D368 A1 04 01 2C */ lhz r8, 0x12c(r4)
/* 802A170C 0029D36C A0 E4 01 2E */ lhz r7, 0x12e(r4)
/* 802A1710 0029D370 B1 05 FF 98 */ sth r8, -0x68(r5)
/* 802A1714 0029D374 B0 E5 FF 9A */ sth r7, -0x66(r5)
/* 802A1718 0029D378 A1 04 01 30 */ lhz r8, 0x130(r4)
/* 802A171C 0029D37C A0 E4 01 32 */ lhz r7, 0x132(r4)
/* 802A1720 0029D380 B1 05 FF 9C */ sth r8, -0x64(r5)
/* 802A1724 0029D384 B0 E5 FF 9E */ sth r7, -0x62(r5)
/* 802A1728 0029D388 A1 04 01 34 */ lhz r8, 0x134(r4)
/* 802A172C 0029D38C A0 E4 01 36 */ lhz r7, 0x136(r4)
/* 802A1730 0029D390 B1 05 FF A0 */ sth r8, -0x60(r5)
/* 802A1734 0029D394 B0 E5 FF A2 */ sth r7, -0x5e(r5)
/* 802A1738 0029D398 A1 04 01 38 */ lhz r8, 0x138(r4)
/* 802A173C 0029D39C A0 E4 01 3A */ lhz r7, 0x13a(r4)
/* 802A1740 0029D3A0 B1 05 FF A4 */ sth r8, -0x5c(r5)
/* 802A1744 0029D3A4 B0 E5 FF A6 */ sth r7, -0x5a(r5)
/* 802A1748 0029D3A8 A1 04 01 3C */ lhz r8, 0x13c(r4)
/* 802A174C 0029D3AC A0 E4 01 3E */ lhz r7, 0x13e(r4)
/* 802A1750 0029D3B0 B1 05 FF A8 */ sth r8, -0x58(r5)
/* 802A1754 0029D3B4 B0 E5 FF AA */ sth r7, -0x56(r5)
/* 802A1758 0029D3B8 A1 04 01 40 */ lhz r8, 0x140(r4)
/* 802A175C 0029D3BC A0 E4 01 42 */ lhz r7, 0x142(r4)
/* 802A1760 0029D3C0 B1 05 FF AC */ sth r8, -0x54(r5)
/* 802A1764 0029D3C4 B0 E5 FF AE */ sth r7, -0x52(r5)
/* 802A1768 0029D3C8 A0 E4 01 44 */ lhz r7, 0x144(r4)
/* 802A176C 0029D3CC A0 84 01 46 */ lhz r4, 0x146(r4)
/* 802A1770 0029D3D0 B0 E5 FF B0 */ sth r7, -0x50(r5)
/* 802A1774 0029D3D4 B0 85 FF B2 */ sth r4, -0x4e(r5)
/* 802A1778 0029D3D8 38 A5 FF 7C */ addi r5, r5, -132
/* 802A177C 0029D3DC 41 80 00 08 */ blt lbl_802A1784
/* 802A1780 0029D3E0 38 C0 00 00 */ li r6, 0
lbl_802A1784:
/* 802A1784 0029D3E4 34 00 FF FF */ addic. r0, r0, -1
/* 802A1788 0029D3E8 40 82 FF 00 */ bne lbl_802A1688
/* 802A178C 0029D3EC 1C 06 00 38 */ mulli r0, r6, 0x38
/* 802A1790 0029D3F0 7E 1F 02 14 */ add r16, r31, r0
/* 802A1794 0029D3F4 A1 F0 01 3A */ lhz r15, 0x13a(r16)
/* 802A1798 0029D3F8 A0 10 01 36 */ lhz r0, 0x136(r16)
/* 802A179C 0029D3FC 91 E1 00 74 */ stw r15, 0x74(r1)
/* 802A17A0 0029D400 A1 F0 01 3C */ lhz r15, 0x13c(r16)
/* 802A17A4 0029D404 B0 01 00 3E */ sth r0, 0x3e(r1)
/* 802A17A8 0029D408 80 01 00 74 */ lwz r0, 0x74(r1)
/* 802A17AC 0029D40C 91 E1 00 60 */ stw r15, 0x60(r1)
/* 802A17B0 0029D410 A1 F0 01 3E */ lhz r15, 0x13e(r16)
/* 802A17B4 0029D414 B0 01 00 42 */ sth r0, 0x42(r1)
/* 802A17B8 0029D418 80 01 00 60 */ lwz r0, 0x60(r1)
/* 802A17BC 0029D41C 91 E1 00 64 */ stw r15, 0x64(r1)
/* 802A17C0 0029D420 A1 F0 01 40 */ lhz r15, 0x140(r16)
/* 802A17C4 0029D424 B0 01 00 44 */ sth r0, 0x44(r1)
/* 802A17C8 0029D428 80 01 00 64 */ lwz r0, 0x64(r1)
/* 802A17CC 0029D42C 91 E1 00 68 */ stw r15, 0x68(r1)
/* 802A17D0 0029D430 A1 F0 01 42 */ lhz r15, 0x142(r16)
/* 802A17D4 0029D434 B0 01 00 46 */ sth r0, 0x46(r1)
/* 802A17D8 0029D438 80 01 00 68 */ lwz r0, 0x68(r1)
/* 802A17DC 0029D43C 91 E1 00 6C */ stw r15, 0x6c(r1)
/* 802A17E0 0029D440 A1 F0 01 44 */ lhz r15, 0x144(r16)
/* 802A17E4 0029D444 B0 01 00 48 */ sth r0, 0x48(r1)
/* 802A17E8 0029D448 80 01 00 6C */ lwz r0, 0x6c(r1)
/* 802A17EC 0029D44C 91 E1 00 70 */ stw r15, 0x70(r1)
/* 802A17F0 0029D450 A2 30 01 10 */ lhz r17, 0x110(r16)
/* 802A17F4 0029D454 A2 50 01 12 */ lhz r18, 0x112(r16)
/* 802A17F8 0029D458 A2 70 01 14 */ lhz r19, 0x114(r16)
/* 802A17FC 0029D45C A2 90 01 16 */ lhz r20, 0x116(r16)
/* 802A1800 0029D460 A2 B0 01 18 */ lhz r21, 0x118(r16)
/* 802A1804 0029D464 A2 D0 01 1A */ lhz r22, 0x11a(r16)
/* 802A1808 0029D468 A2 F0 01 1C */ lhz r23, 0x11c(r16)
/* 802A180C 0029D46C A3 10 01 1E */ lhz r24, 0x11e(r16)
/* 802A1810 0029D470 A3 30 01 20 */ lhz r25, 0x120(r16)
/* 802A1814 0029D474 A3 50 01 22 */ lhz r26, 0x122(r16)
/* 802A1818 0029D478 A1 90 01 24 */ lhz r12, 0x124(r16)
/* 802A181C 0029D47C A1 70 01 26 */ lhz r11, 0x126(r16)
/* 802A1820 0029D480 A1 50 01 28 */ lhz r10, 0x128(r16)
/* 802A1824 0029D484 A1 30 01 2A */ lhz r9, 0x12a(r16)
/* 802A1828 0029D488 A1 10 01 2C */ lhz r8, 0x12c(r16)
/* 802A182C 0029D48C A0 F0 01 2E */ lhz r7, 0x12e(r16)
/* 802A1830 0029D490 A0 D0 01 30 */ lhz r6, 0x130(r16)
/* 802A1834 0029D494 A0 B0 01 32 */ lhz r5, 0x132(r16)
/* 802A1838 0029D498 A0 90 01 34 */ lhz r4, 0x134(r16)
/* 802A183C 0029D49C A1 D0 01 38 */ lhz r14, 0x138(r16)
/* 802A1840 0029D4A0 A1 F0 01 46 */ lhz r15, 0x146(r16)
/* 802A1844 0029D4A4 B0 01 00 4A */ sth r0, 0x4a(r1)
/* 802A1848 0029D4A8 80 01 00 70 */ lwz r0, 0x70(r1)
/* 802A184C 0029D4AC B2 21 00 18 */ sth r17, 0x18(r1)
/* 802A1850 0029D4B0 B2 41 00 1A */ sth r18, 0x1a(r1)
/* 802A1854 0029D4B4 B2 61 00 1C */ sth r19, 0x1c(r1)
/* 802A1858 0029D4B8 B2 81 00 1E */ sth r20, 0x1e(r1)
/* 802A185C 0029D4BC B2 A1 00 20 */ sth r21, 0x20(r1)
/* 802A1860 0029D4C0 B2 C1 00 22 */ sth r22, 0x22(r1)
/* 802A1864 0029D4C4 B2 E1 00 24 */ sth r23, 0x24(r1)
/* 802A1868 0029D4C8 B3 01 00 26 */ sth r24, 0x26(r1)
/* 802A186C 0029D4CC B3 21 00 28 */ sth r25, 0x28(r1)
/* 802A1870 0029D4D0 B3 41 00 2A */ sth r26, 0x2a(r1)
/* 802A1874 0029D4D4 B1 81 00 2C */ sth r12, 0x2c(r1)
/* 802A1878 0029D4D8 B1 61 00 2E */ sth r11, 0x2e(r1)
/* 802A187C 0029D4DC B1 41 00 30 */ sth r10, 0x30(r1)
/* 802A1880 0029D4E0 B1 21 00 32 */ sth r9, 0x32(r1)
/* 802A1884 0029D4E4 B1 01 00 34 */ sth r8, 0x34(r1)
/* 802A1888 0029D4E8 B0 E1 00 36 */ sth r7, 0x36(r1)
/* 802A188C 0029D4EC B0 C1 00 38 */ sth r6, 0x38(r1)
/* 802A1890 0029D4F0 B0 A1 00 3A */ sth r5, 0x3a(r1)
/* 802A1894 0029D4F4 B0 81 00 3C */ sth r4, 0x3c(r1)
/* 802A1898 0029D4F8 B1 C1 00 40 */ sth r14, 0x40(r1)
/* 802A189C 0029D4FC B0 01 00 4C */ sth r0, 0x4c(r1)
/* 802A18A0 0029D500 B1 E1 00 4E */ sth r15, 0x4e(r1)
/* 802A18A4 0029D504 4B FC CE E1 */ bl OSRestoreInterrupts
/* 802A18A8 0029D508 A1 42 A3 DC */ lhz r10, lbl_806429DC-_SDA2_BASE_(r2)
/* 802A18AC 0029D50C 7F 63 DB 78 */ mr r3, r27
/* 802A18B0 0029D510 A1 22 A3 DE */ lhz r9, lbl_806429DE-_SDA2_BASE_(r2)
/* 802A18B4 0029D514 38 A1 00 10 */ addi r5, r1, 0x10
/* 802A18B8 0029D518 A1 02 A3 E0 */ lhz r8, lbl_806429E0-_SDA2_BASE_(r2)
/* 802A18BC 0029D51C 38 80 00 00 */ li r4, 0
/* 802A18C0 0029D520 A0 E2 A3 E4 */ lhz r7, lbl_806429E4-_SDA2_BASE_(r2)
/* 802A18C4 0029D524 A0 C2 A3 E6 */ lhz r6, lbl_806429E6-_SDA2_BASE_(r2)
/* 802A18C8 0029D528 A0 02 A3 E8 */ lhz r0, lbl_806429E8-_SDA2_BASE_(r2)
/* 802A18CC 0029D52C B1 41 00 10 */ sth r10, 0x10(r1)
/* 802A18D0 0029D530 B1 21 00 12 */ sth r9, 0x12(r1)
/* 802A18D4 0029D534 B1 01 00 14 */ sth r8, 0x14(r1)
/* 802A18D8 0029D538 B0 E1 00 08 */ sth r7, 8(r1)
/* 802A18DC 0029D53C B0 C1 00 0A */ sth r6, 0xa(r1)
/* 802A18E0 0029D540 B0 01 00 0C */ sth r0, 0xc(r1)
/* 802A18E4 0029D544 48 00 72 D5 */ bl WPADGetAccGravityUnit
/* 802A18E8 0029D548 A8 A1 00 10 */ lha r5, 0x10(r1)
/* 802A18EC 0029D54C A8 81 00 14 */ lha r4, 0x14(r1)
/* 802A18F0 0029D550 A8 61 00 12 */ lha r3, 0x12(r1)
/* 802A18F4 0029D554 7C 04 29 D6 */ mullw r0, r4, r5
/* 802A18F8 0029D558 7C 00 19 D7 */ mullw. r0, r0, r3
/* 802A18FC 0029D55C 41 82 00 58 */ beq lbl_802A1954
/* 802A1900 0029D560 6C A0 80 00 */ xoris r0, r5, 0x8000
/* 802A1904 0029D564 6C 63 80 00 */ xoris r3, r3, 0x8000
/* 802A1908 0029D568 90 01 00 54 */ stw r0, 0x54(r1)
/* 802A190C 0029D56C 6C 80 80 00 */ xoris r0, r4, 0x8000
/* 802A1910 0029D570 C8 82 A3 C8 */ lfd f4, lbl_806429C8-_SDA2_BASE_(r2)
/* 802A1914 0029D574 C8 01 00 50 */ lfd f0, 0x50(r1)
/* 802A1918 0029D578 90 61 00 5C */ stw r3, 0x5c(r1)
/* 802A191C 0029D57C EC 40 20 28 */ fsubs f2, f0, f4
/* 802A1920 0029D580 C0 62 A3 B0 */ lfs f3, lbl_806429B0-_SDA2_BASE_(r2)
/* 802A1924 0029D584 90 01 00 54 */ stw r0, 0x54(r1)
/* 802A1928 0029D588 C8 21 00 58 */ lfd f1, 0x58(r1)
/* 802A192C 0029D58C C8 01 00 50 */ lfd f0, 0x50(r1)
/* 802A1930 0029D590 EC 43 10 24 */ fdivs f2, f3, f2
/* 802A1934 0029D594 EC 21 20 28 */ fsubs f1, f1, f4
/* 802A1938 0029D598 D0 5F 04 DC */ stfs f2, 0x4dc(r31)
/* 802A193C 0029D59C EC 00 20 28 */ fsubs f0, f0, f4
/* 802A1940 0029D5A0 EC 23 08 24 */ fdivs f1, f3, f1
/* 802A1944 0029D5A4 EC 03 00 24 */ fdivs f0, f3, f0
/* 802A1948 0029D5A8 D0 3F 04 E0 */ stfs f1, 0x4e0(r31)
/* 802A194C 0029D5AC D0 1F 04 E4 */ stfs f0, 0x4e4(r31)
/* 802A1950 0029D5B0 48 00 00 14 */ b lbl_802A1964
lbl_802A1954:
/* 802A1954 0029D5B4 C0 02 A3 EC */ lfs f0, lbl_806429EC-_SDA2_BASE_(r2)
/* 802A1958 0029D5B8 D0 1F 04 DC */ stfs f0, 0x4dc(r31)
/* 802A195C 0029D5BC D0 1F 04 E0 */ stfs f0, 0x4e0(r31)
/* 802A1960 0029D5C0 D0 1F 04 E4 */ stfs f0, 0x4e4(r31)
lbl_802A1964:
/* 802A1964 0029D5C4 7F 63 DB 78 */ mr r3, r27
/* 802A1968 0029D5C8 38 A1 00 08 */ addi r5, r1, 8
/* 802A196C 0029D5CC 38 80 00 01 */ li r4, 1
/* 802A1970 0029D5D0 48 00 72 49 */ bl WPADGetAccGravityUnit
/* 802A1974 0029D5D4 A8 A1 00 08 */ lha r5, 8(r1)
/* 802A1978 0029D5D8 A8 81 00 0C */ lha r4, 0xc(r1)
/* 802A197C 0029D5DC A8 61 00 0A */ lha r3, 0xa(r1)
/* 802A1980 0029D5E0 7C 04 29 D6 */ mullw r0, r4, r5
/* 802A1984 0029D5E4 7C 00 19 D7 */ mullw. r0, r0, r3
/* 802A1988 0029D5E8 41 82 00 58 */ beq lbl_802A19E0
/* 802A198C 0029D5EC 6C A0 80 00 */ xoris r0, r5, 0x8000
/* 802A1990 0029D5F0 6C 63 80 00 */ xoris r3, r3, 0x8000
/* 802A1994 0029D5F4 90 01 00 5C */ stw r0, 0x5c(r1)
/* 802A1998 0029D5F8 6C 80 80 00 */ xoris r0, r4, 0x8000
/* 802A199C 0029D5FC C8 82 A3 C8 */ lfd f4, lbl_806429C8-_SDA2_BASE_(r2)
/* 802A19A0 0029D600 C8 01 00 58 */ lfd f0, 0x58(r1)
/* 802A19A4 0029D604 90 61 00 54 */ stw r3, 0x54(r1)
/* 802A19A8 0029D608 EC 40 20 28 */ fsubs f2, f0, f4
/* 802A19AC 0029D60C C0 62 A3 B0 */ lfs f3, lbl_806429B0-_SDA2_BASE_(r2)
/* 802A19B0 0029D610 90 01 00 5C */ stw r0, 0x5c(r1)
/* 802A19B4 0029D614 C8 21 00 50 */ lfd f1, 0x50(r1)
/* 802A19B8 0029D618 C8 01 00 58 */ lfd f0, 0x58(r1)
/* 802A19BC 0029D61C EC 43 10 24 */ fdivs f2, f3, f2
/* 802A19C0 0029D620 EC 21 20 28 */ fsubs f1, f1, f4
/* 802A19C4 0029D624 D0 5F 04 E8 */ stfs f2, 0x4e8(r31)
/* 802A19C8 0029D628 EC 00 20 28 */ fsubs f0, f0, f4
/* 802A19CC 0029D62C EC 23 08 24 */ fdivs f1, f3, f1
/* 802A19D0 0029D630 EC 03 00 24 */ fdivs f0, f3, f0
/* 802A19D4 0029D634 D0 3F 04 EC */ stfs f1, 0x4ec(r31)
/* 802A19D8 0029D638 D0 1F 04 F0 */ stfs f0, 0x4f0(r31)
/* 802A19DC 0029D63C 48 00 00 14 */ b lbl_802A19F0
lbl_802A19E0:
/* 802A19E0 0029D640 C0 02 A3 F0 */ lfs f0, lbl_806429F0-_SDA2_BASE_(r2)
/* 802A19E4 0029D644 D0 1F 04 E8 */ stfs f0, 0x4e8(r31)
/* 802A19E8 0029D648 D0 1F 04 EC */ stfs f0, 0x4ec(r31)
/* 802A19EC 0029D64C D0 1F 04 F0 */ stfs f0, 0x4f0(r31)
lbl_802A19F0:
/* 802A19F0 0029D650 1C 1E 00 84 */ mulli r0, r30, 0x84
/* 802A19F4 0029D654 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
/* 802A19F8 0029D658 7F C6 F3 78 */ mr r6, r30
/* 802A19FC 0029D65C 39 23 FF FF */ addi r9, r3, 0x0000FFFF@l
/* 802A1A00 0029D660 7D DC 02 14 */ add r14, r28, r0
/* 802A1A04 0029D664 38 80 00 FD */ li r4, 0xfd
/* 802A1A08 0029D668 7D 28 4B 78 */ mr r8, r9
/* 802A1A0C 0029D66C 7D 27 4B 78 */ mr r7, r9
/* 802A1A10 0029D670 38 AE FF 7C */ addi r5, r14, -132
lbl_802A1A14:
/* 802A1A14 0029D674 28 06 00 01 */ cmplwi r6, 1
/* 802A1A18 0029D678 38 A5 FF 7C */ addi r5, r5, -132
/* 802A1A1C 0029D67C 40 81 00 0C */ ble lbl_802A1A28
/* 802A1A20 0029D680 7C A3 2B 78 */ mr r3, r5
/* 802A1A24 0029D684 48 00 00 08 */ b lbl_802A1A2C
lbl_802A1A28:
/* 802A1A28 0029D688 38 61 00 18 */ addi r3, r1, 0x18
lbl_802A1A2C:
/* 802A1A2C 0029D68C 88 03 00 29 */ lbz r0, 0x29(r3)
/* 802A1A30 0029D690 7C 00 07 74 */ extsb r0, r0
/* 802A1A34 0029D694 2C 00 FF FE */ cmpwi r0, -2
/* 802A1A38 0029D698 41 82 00 54 */ beq lbl_802A1A8C
/* 802A1A3C 0029D69C 40 80 00 10 */ bge lbl_802A1A4C
/* 802A1A40 0029D6A0 2C 00 FF F9 */ cmpwi r0, -7
/* 802A1A44 0029D6A4 41 82 00 48 */ beq lbl_802A1A8C
/* 802A1A48 0029D6A8 48 00 00 48 */ b lbl_802A1A90
lbl_802A1A4C:
/* 802A1A4C 0029D6AC 2C 00 00 00 */ cmpwi r0, 0
/* 802A1A50 0029D6B0 41 82 00 08 */ beq lbl_802A1A58
/* 802A1A54 0029D6B4 48 00 00 3C */ b lbl_802A1A90
lbl_802A1A58:
/* 802A1A58 0029D6B8 88 83 00 28 */ lbz r4, 0x28(r3)
/* 802A1A5C 0029D6BC 28 04 00 01 */ cmplwi r4, 1
/* 802A1A60 0029D6C0 40 82 00 10 */ bne lbl_802A1A70
/* 802A1A64 0029D6C4 A1 03 00 00 */ lhz r8, 0(r3)
/* 802A1A68 0029D6C8 39 20 00 00 */ li r9, 0
/* 802A1A6C 0029D6CC 48 00 00 20 */ b lbl_802A1A8C
lbl_802A1A70:
/* 802A1A70 0029D6D0 28 04 00 02 */ cmplwi r4, 2
/* 802A1A74 0029D6D4 40 82 00 10 */ bne lbl_802A1A84
/* 802A1A78 0029D6D8 A1 23 00 2A */ lhz r9, 0x2a(r3)
/* 802A1A7C 0029D6DC 39 00 00 00 */ li r8, 0
/* 802A1A80 0029D6E0 48 00 00 0C */ b lbl_802A1A8C
lbl_802A1A84:
/* 802A1A84 0029D6E4 39 20 00 00 */ li r9, 0
/* 802A1A88 0029D6E8 39 00 00 00 */ li r8, 0
lbl_802A1A8C:
/* 802A1A8C 0029D6EC A0 E3 00 00 */ lhz r7, 0(r3)
lbl_802A1A90:
/* 802A1A90 0029D6F0 34 C6 FF FF */ addic. r6, r6, -1
/* 802A1A94 0029D6F4 40 82 FF 80 */ bne lbl_802A1A14
/* 802A1A98 0029D6F8 28 07 FF FF */ cmplwi r7, 0xffff
/* 802A1A9C 0029D6FC 40 82 00 24 */ bne lbl_802A1AC0
lbl_802A1AA0:
/* 802A1AA0 0029D700 7F 83 E3 78 */ mr r3, r28
/* 802A1AA4 0029D704 7F E4 FB 78 */ mr r4, r31
/* 802A1AA8 0029D708 38 A0 00 84 */ li r5, 0x84
/* 802A1AAC 0029D70C 4B D6 25 55 */ bl memcpy
/* 802A1AB0 0029D710 37 DE FF FF */ addic. r30, r30, -1
/* 802A1AB4 0029D714 3B 9C 00 84 */ addi r28, r28, 0x84
/* 802A1AB8 0029D718 40 82 FF E8 */ bne lbl_802A1AA0
/* 802A1ABC 0029D71C 48 00 01 5C */ b lbl_802A1C18
lbl_802A1AC0:
/* 802A1AC0 0029D720 28 08 FF FF */ cmplwi r8, 0xffff
/* 802A1AC4 0029D724 40 82 00 08 */ bne lbl_802A1ACC
/* 802A1AC8 0029D728 81 1F 00 00 */ lwz r8, 0(r31)
lbl_802A1ACC:
/* 802A1ACC 0029D72C 28 09 FF FF */ cmplwi r9, 0xffff
/* 802A1AD0 0029D730 40 82 00 08 */ bne lbl_802A1AD8
/* 802A1AD4 0029D734 81 3F 00 60 */ lwz r9, 0x60(r31)
lbl_802A1AD8:
/* 802A1AD8 0029D738 70 E0 9F FF */ andi. r0, r7, 0x9fff
/* 802A1ADC 0029D73C 80 7F 00 00 */ lwz r3, 0(r31)
/* 802A1AE0 0029D740 51 00 04 64 */ rlwimi r0, r8, 0, 0x11, 0x12
/* 802A1AE4 0029D744 28 04 00 02 */ cmplwi r4, 2
/* 802A1AE8 0029D748 54 65 04 3E */ clrlwi r5, r3, 0x10
/* 802A1AEC 0029D74C 7C 03 2A 78 */ xor r3, r0, r5
/* 802A1AF0 0029D750 90 1F 00 00 */ stw r0, 0(r31)
/* 802A1AF4 0029D754 7C 60 00 38 */ and r0, r3, r0
/* 802A1AF8 0029D758 90 1F 00 04 */ stw r0, 4(r31)
/* 802A1AFC 0029D75C 7C 60 28 38 */ and r0, r3, r5
/* 802A1B00 0029D760 90 1F 00 08 */ stw r0, 8(r31)
/* 802A1B04 0029D764 40 82 00 28 */ bne lbl_802A1B2C
/* 802A1B08 0029D768 80 7F 00 60 */ lwz r3, 0x60(r31)
/* 802A1B0C 0029D76C 55 20 04 3E */ clrlwi r0, r9, 0x10
/* 802A1B10 0029D770 54 65 04 3E */ clrlwi r5, r3, 0x10
/* 802A1B14 0029D774 90 1F 00 60 */ stw r0, 0x60(r31)
/* 802A1B18 0029D778 7C 03 2A 78 */ xor r3, r0, r5
/* 802A1B1C 0029D77C 7C 60 00 38 */ and r0, r3, r0
/* 802A1B20 0029D780 90 1F 00 64 */ stw r0, 0x64(r31)
/* 802A1B24 0029D784 7C 60 28 38 */ and r0, r3, r5
/* 802A1B28 0029D788 90 1F 00 68 */ stw r0, 0x68(r31)
lbl_802A1B2C:
/* 802A1B2C 0029D78C 7F E3 FB 78 */ mr r3, r31
/* 802A1B30 0029D790 7F A5 EB 78 */ mr r5, r29
/* 802A1B34 0029D794 4B FF DA 61 */ bl calc_button_repeat
/* 802A1B38 0029D798 7F CF F3 78 */ mr r15, r30
/* 802A1B3C 0029D79C 39 CE FF 7C */ addi r14, r14, -132
/* 802A1B40 0029D7A0 3A 40 00 01 */ li r18, 1
/* 802A1B44 0029D7A4 3A 20 00 00 */ li r17, 0
/* 802A1B48 0029D7A8 3A 00 00 10 */ li r16, 0x10
lbl_802A1B4C:
/* 802A1B4C 0029D7AC 28 0F 00 01 */ cmplwi r15, 1
/* 802A1B50 0029D7B0 39 CE FF 7C */ addi r14, r14, -132
/* 802A1B54 0029D7B4 40 81 00 0C */ ble lbl_802A1B60
/* 802A1B58 0029D7B8 7D D3 73 78 */ mr r19, r14
/* 802A1B5C 0029D7BC 48 00 00 08 */ b lbl_802A1B64
lbl_802A1B60:
/* 802A1B60 0029D7C0 3A 61 00 18 */ addi r19, r1, 0x18
lbl_802A1B64:
/* 802A1B64 0029D7C4 88 13 00 29 */ lbz r0, 0x29(r19)
/* 802A1B68 0029D7C8 98 1F 00 5D */ stb r0, 0x5d(r31)
/* 802A1B6C 0029D7CC 88 93 00 28 */ lbz r4, 0x28(r19)
/* 802A1B70 0029D7D0 88 1F 00 5C */ lbz r0, 0x5c(r31)
/* 802A1B74 0029D7D4 7C 00 20 40 */ cmplw r0, r4
/* 802A1B78 0029D7D8 41 82 00 20 */ beq lbl_802A1B98
/* 802A1B7C 0029D7DC 88 73 00 29 */ lbz r3, 0x29(r19)
/* 802A1B80 0029D7E0 38 03 00 02 */ addi r0, r3, 2
/* 802A1B84 0029D7E4 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 802A1B88 0029D7E8 28 00 00 02 */ cmplwi r0, 2
/* 802A1B8C 0029D7EC 41 81 00 0C */ bgt lbl_802A1B98
/* 802A1B90 0029D7F0 98 9F 00 5C */ stb r4, 0x5c(r31)
/* 802A1B94 0029D7F4 9A 5F 05 1E */ stb r18, 0x51e(r31)
lbl_802A1B98:
/* 802A1B98 0029D7F8 88 13 00 36 */ lbz r0, 0x36(r19)
/* 802A1B9C 0029D7FC 98 1F 00 5F */ stb r0, 0x5f(r31)
/* 802A1BA0 0029D800 88 13 00 29 */ lbz r0, 0x29(r19)
/* 802A1BA4 0029D804 7C 00 07 75 */ extsb. r0, r0
/* 802A1BA8 0029D808 41 82 00 14 */ beq lbl_802A1BBC
/* 802A1BAC 0029D80C 40 80 00 38 */ bge lbl_802A1BE4
/* 802A1BB0 0029D810 2C 00 FF F9 */ cmpwi r0, -7
/* 802A1BB4 0029D814 41 82 00 14 */ beq lbl_802A1BC8
/* 802A1BB8 0029D818 48 00 00 2C */ b lbl_802A1BE4
lbl_802A1BBC:
/* 802A1BBC 0029D81C 7F E3 FB 78 */ mr r3, r31
/* 802A1BC0 0029D820 7E 64 9B 78 */ mr r4, r19
/* 802A1BC4 0029D824 4B FF F6 E9 */ bl read_kpad_stick
lbl_802A1BC8:
/* 802A1BC8 0029D828 7F E3 FB 78 */ mr r3, r31
/* 802A1BCC 0029D82C 7E 64 9B 78 */ mr r4, r19
/* 802A1BD0 0029D830 4B FF DE 11 */ bl read_kpad_acc
/* 802A1BD4 0029D834 7F E3 FB 78 */ mr r3, r31
/* 802A1BD8 0029D838 7E 64 9B 78 */ mr r4, r19
/* 802A1BDC 0029D83C 4B FF EF 2D */ bl read_kpad_dpd
/* 802A1BE0 0029D840 48 00 00 08 */ b lbl_802A1BE8
lbl_802A1BE4:
/* 802A1BE4 0029D844 9A 3F 00 5E */ stb r17, 0x5e(r31)
lbl_802A1BE8:
/* 802A1BE8 0029D848 38 AE 00 80 */ addi r5, r14, 0x80
/* 802A1BEC 0029D84C 38 9F FF FC */ addi r4, r31, -4
/* 802A1BF0 0029D850 7E 09 03 A6 */ mtctr r16
lbl_802A1BF4:
/* 802A1BF4 0029D854 80 64 00 04 */ lwz r3, 4(r4)
/* 802A1BF8 0029D858 84 04 00 08 */ lwzu r0, 8(r4)
/* 802A1BFC 0029D85C 90 65 00 04 */ stw r3, 4(r5)
/* 802A1C00 0029D860 94 05 00 08 */ stwu r0, 8(r5)
/* 802A1C04 0029D864 42 00 FF F0 */ bdnz lbl_802A1BF4
/* 802A1C08 0029D868 80 04 00 04 */ lwz r0, 4(r4)
/* 802A1C0C 0029D86C 35 EF FF FF */ addic. r15, r15, -1
/* 802A1C10 0029D870 90 05 00 04 */ stw r0, 4(r5)
/* 802A1C14 0029D874 40 82 FF 38 */ bne lbl_802A1B4C
lbl_802A1C18:
/* 802A1C18 0029D878 38 00 00 00 */ li r0, 0
/* 802A1C1C 0029D87C 7F C3 F3 78 */ mr r3, r30
/* 802A1C20 0029D880 98 1F 05 1C */ stb r0, 0x51c(r31)
lbl_802A1C24:
/* 802A1C24 0029D884 39 61 00 C0 */ addi r11, r1, 0xc0
/* 802A1C28 0029D888 4B F2 55 19 */ bl __restore_gpr
/* 802A1C2C 0029D88C 80 01 00 C4 */ lwz r0, 0xc4(r1)
/* 802A1C30 0029D890 7C 08 03 A6 */ mtlr r0
/* 802A1C34 0029D894 38 21 00 C0 */ addi r1, r1, 0xc0
/* 802A1C38 0029D898 4E 80 00 20 */ blr
.global KPADInit
KPADInit:
/* 802A1C3C 0029D89C 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 802A1C40 0029D8A0 7C 08 02 A6 */ mflr r0
/* 802A1C44 0029D8A4 90 01 00 94 */ stw r0, 0x94(r1)
/* 802A1C48 0029D8A8 DB E1 00 80 */ stfd f31, 0x80(r1)
/* 802A1C4C 0029D8AC F3 E1 00 88 */ psq_st f31, 136(r1), 0, qr0
/* 802A1C50 0029D8B0 DB C1 00 70 */ stfd f30, 0x70(r1)
/* 802A1C54 0029D8B4 F3 C1 00 78 */ psq_st f30, 120(r1), 0, qr0
/* 802A1C58 0029D8B8 DB A1 00 60 */ stfd f29, 0x60(r1)
/* 802A1C5C 0029D8BC F3 A1 00 68 */ psq_st f29, 104(r1), 0, qr0
/* 802A1C60 0029D8C0 DB 81 00 50 */ stfd f28, 0x50(r1)
/* 802A1C64 0029D8C4 F3 81 00 58 */ psq_st f28, 88(r1), 0, qr0
/* 802A1C68 0029D8C8 DB 61 00 40 */ stfd f27, 0x40(r1)
/* 802A1C6C 0029D8CC F3 61 00 48 */ psq_st f27, 72(r1), 0, qr0
/* 802A1C70 0029D8D0 DB 41 00 30 */ stfd f26, 0x30(r1)
/* 802A1C74 0029D8D4 F3 41 00 38 */ psq_st f26, 56(r1), 0, qr0
/* 802A1C78 0029D8D8 39 61 00 30 */ addi r11, r1, 0x30
/* 802A1C7C 0029D8DC 4B F2 54 A5 */ bl _savegpr_25
/* 802A1C80 0029D8E0 48 00 5E 0D */ bl WPADInit
lbl_802A1C84:
/* 802A1C84 0029D8E4 48 00 5E 75 */ bl WPADGetStatus
/* 802A1C88 0029D8E8 2C 03 00 03 */ cmpwi r3, 3
/* 802A1C8C 0029D8EC 40 82 FF F8 */ bne lbl_802A1C84
/* 802A1C90 0029D8F0 3F 60 80 53 */ lis r27, lbl_805356D0@ha
/* 802A1C94 0029D8F4 38 80 00 00 */ li r4, 0
/* 802A1C98 0029D8F8 38 7B 56 D0 */ addi r3, r27, lbl_805356D0@l
/* 802A1C9C 0029D8FC 38 A0 14 90 */ li r5, 0x1490
/* 802A1CA0 0029D900 4B D6 24 65 */ bl memset
/* 802A1CA4 0029D904 48 00 99 DD */ bl WPADGetDpdSensitivity
/* 802A1CA8 0029D908 54 63 06 3E */ clrlwi r3, r3, 0x18
/* 802A1CAC 0029D90C 3C 00 43 30 */ lis r0, 0x4330
/* 802A1CB0 0029D910 90 61 00 0C */ stw r3, 0xc(r1)
/* 802A1CB4 0029D914 3C 60 00 01 */ lis r3, 0x00009C40@ha
/* 802A1CB8 0029D918 3B 5B 56 D0 */ addi r26, r27, 0x56d0
/* 802A1CBC 0029D91C C8 22 A3 F8 */ lfd f1, lbl_806429F8-_SDA2_BASE_(r2)
/* 802A1CC0 0029D920 90 01 00 08 */ stw r0, 8(r1)
/* 802A1CC4 0029D924 3B A3 9C 40 */ addi r29, r3, 0x00009C40@l
/* 802A1CC8 0029D928 C3 E2 A3 B0 */ lfs f31, lbl_806429B0-_SDA2_BASE_(r2)
/* 802A1CCC 0029D92C 3B 20 00 00 */ li r25, 0
/* 802A1CD0 0029D930 C8 01 00 08 */ lfd f0, 8(r1)
/* 802A1CD4 0029D934 3B E0 FF FF */ li r31, -1
/* 802A1CD8 0029D938 C3 82 A3 A0 */ lfs f28, lbl_806429A0-_SDA2_BASE_(r2)
/* 802A1CDC 0029D93C 3B C0 00 00 */ li r30, 0
/* 802A1CE0 0029D940 EC 00 08 28 */ fsubs f0, f0, f1
/* 802A1CE4 0029D944 C3 A2 A3 BC */ lfs f29, lbl_806429BC-_SDA2_BASE_(r2)
/* 802A1CE8 0029D948 C3 C2 A3 C0 */ lfs f30, lbl_806429C0-_SDA2_BASE_(r2)
/* 802A1CEC 0029D94C 3B 60 00 01 */ li r27, 1
/* 802A1CF0 0029D950 3B 80 00 FD */ li r28, 0xfd
/* 802A1CF4 0029D954 EC 1F 00 2A */ fadds f0, f31, f0
/* 802A1CF8 0029D958 D0 0D 89 48 */ stfs f0, lbl_8063DC08-_SDA_BASE_(r13)
lbl_802A1CFC:
/* 802A1CFC 0029D95C 9B 7A 05 20 */ stb r27, 0x520(r26)
/* 802A1D00 0029D960 C3 42 A3 B0 */ lfs f26, lbl_806429B0-_SDA2_BASE_(r2)
/* 802A1D04 0029D964 9B DA 05 21 */ stb r30, 0x521(r26)
/* 802A1D08 0029D968 C3 62 A3 B8 */ lfs f27, lbl_806429B8-_SDA2_BASE_(r2)
/* 802A1D0C 0029D96C EC 3A 06 B2 */ fmuls f1, f26, f26
/* 802A1D10 0029D970 9B 9A 00 5C */ stb r28, 0x5c(r26)
/* 802A1D14 0029D974 EC 1B 06 F2 */ fmuls f0, f27, f27
/* 802A1D18 0029D978 C0 4D 89 1C */ lfs f2, lbl_8063DBDC-_SDA_BASE_(r13)
/* 802A1D1C 0029D97C 9B DA 00 5F */ stb r30, 0x5f(r26)
/* 802A1D20 0029D980 80 6D 89 20 */ lwz r3, lbl_8063DBE0-_SDA_BASE_(r13)
/* 802A1D24 0029D984 D0 5A 00 A4 */ stfs f2, 0xa4(r26)
/* 802A1D28 0029D988 EC 21 00 2A */ fadds f1, f1, f0
/* 802A1D2C 0029D98C 80 0D 89 24 */ lwz r0, lbl_8063DBE4-_SDA_BASE_(r13)
/* 802A1D30 0029D990 90 7A 00 A8 */ stw r3, 0xa8(r26)
/* 802A1D34 0029D994 80 6D 89 28 */ lwz r3, lbl_8063DBE8-_SDA_BASE_(r13)
/* 802A1D38 0029D998 90 1A 00 AC */ stw r0, 0xac(r26)
/* 802A1D3C 0029D99C 80 0D 89 2C */ lwz r0, lbl_8063DBEC-_SDA_BASE_(r13)
/* 802A1D40 0029D9A0 90 7A 00 B0 */ stw r3, 0xb0(r26)
/* 802A1D44 0029D9A4 80 6D AD C8 */ lwz r3, lbl_80640088-_SDA_BASE_(r13)
/* 802A1D48 0029D9A8 90 1A 00 B4 */ stw r0, 0xb4(r26)
/* 802A1D4C 0029D9AC 80 0D AD CC */ lwz r0, lbl_8064008C-_SDA_BASE_(r13)
/* 802A1D50 0029D9B0 90 7A 00 B8 */ stw r3, 0xb8(r26)
/* 802A1D54 0029D9B4 90 1A 00 BC */ stw r0, 0xbc(r26)
/* 802A1D58 0029D9B8 4B F3 2A DD */ bl sqrt
/* 802A1D5C 0029D9BC C0 1A 00 B8 */ lfs f0, 0xb8(r26)
/* 802A1D60 0029D9C0 FC 20 08 18 */ frsp f1, f1
/* 802A1D64 0029D9C4 FC 00 E0 40 */ fcmpo cr0, f0, f28
/* 802A1D68 0029D9C8 40 80 00 0C */ bge lbl_802A1D74
/* 802A1D6C 0029D9CC EF 5A 00 2A */ fadds f26, f26, f0
/* 802A1D70 0029D9D0 48 00 00 08 */ b lbl_802A1D78
lbl_802A1D74:
/* 802A1D74 0029D9D4 EF 5A 00 28 */ fsubs f26, f26, f0
lbl_802A1D78:
/* 802A1D78 0029D9D8 C0 1A 00 BC */ lfs f0, 0xbc(r26)
/* 802A1D7C 0029D9DC FC 00 E0 40 */ fcmpo cr0, f0, f28
/* 802A1D80 0029D9E0 40 80 00 0C */ bge lbl_802A1D8C
/* 802A1D84 0029D9E4 EF 7B 00 2A */ fadds f27, f27, f0
/* 802A1D88 0029D9E8 48 00 00 08 */ b lbl_802A1D90
lbl_802A1D8C:
/* 802A1D8C 0029D9EC EF 7B 00 28 */ fsubs f27, f27, f0
lbl_802A1D90:
/* 802A1D90 0029D9F0 FC 1A D8 40 */ fcmpo cr0, f26, f27
/* 802A1D94 0029D9F4 40 80 00 08 */ bge lbl_802A1D9C
/* 802A1D98 0029D9F8 48 00 00 08 */ b lbl_802A1DA0
lbl_802A1D9C:
/* 802A1D9C 0029D9FC FF 40 D8 90 */ fmr f26, f27
lbl_802A1DA0:
/* 802A1DA0 0029DA00 EC 01 D0 24 */ fdivs f0, f1, f26
/* 802A1DA4 0029DA04 D0 1A 00 C0 */ stfs f0, 0xc0(r26)
/* 802A1DA8 0029DA08 D3 9A 00 9C */ stfs f28, 0x9c(r26)
/* 802A1DAC 0029DA0C D3 9A 00 94 */ stfs f28, 0x94(r26)
/* 802A1DB0 0029DA10 D3 9A 00 8C */ stfs f28, 0x8c(r26)
/* 802A1DB4 0029DA14 D3 9A 00 84 */ stfs f28, 0x84(r26)
/* 802A1DB8 0029DA18 D3 FA 00 A0 */ stfs f31, 0xa0(r26)
/* 802A1DBC 0029DA1C D3 FA 00 98 */ stfs f31, 0x98(r26)
/* 802A1DC0 0029DA20 D3 FA 00 90 */ stfs f31, 0x90(r26)
/* 802A1DC4 0029DA24 D3 FA 00 88 */ stfs f31, 0x88(r26)
/* 802A1DC8 0029DA28 B3 BA 04 D0 */ sth r29, 0x4d0(r26)
/* 802A1DCC 0029DA2C B3 DA 04 D2 */ sth r30, 0x4d2(r26)
/* 802A1DD0 0029DA30 B3 DA 04 CC */ sth r30, 0x4cc(r26)
/* 802A1DD4 0029DA34 B3 BA 04 CE */ sth r29, 0x4ce(r26)
/* 802A1DD8 0029DA38 B3 DA 04 D4 */ sth r30, 0x4d4(r26)
/* 802A1DDC 0029DA3C B3 BA 04 D6 */ sth r29, 0x4d6(r26)
/* 802A1DE0 0029DA40 48 00 5D 61 */ bl WPADGetSensorBarPosition
/* 802A1DE4 0029DA44 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 802A1DE8 0029DA48 28 00 00 01 */ cmplwi r0, 1
/* 802A1DEC 0029DA4C 40 82 00 74 */ bne lbl_802A1E60
/* 802A1DF0 0029DA50 C3 42 A3 B0 */ lfs f26, lbl_806429B0-_SDA2_BASE_(r2)
/* 802A1DF4 0029DA54 C3 62 A3 B8 */ lfs f27, lbl_806429B8-_SDA2_BASE_(r2)
/* 802A1DF8 0029DA58 EC 3A 06 B2 */ fmuls f1, f26, f26
/* 802A1DFC 0029DA5C D3 9A 00 B8 */ stfs f28, 0xb8(r26)
/* 802A1E00 0029DA60 EC 1B 06 F2 */ fmuls f0, f27, f27
/* 802A1E04 0029DA64 D3 BA 00 BC */ stfs f29, 0xbc(r26)
/* 802A1E08 0029DA68 EC 21 00 2A */ fadds f1, f1, f0
/* 802A1E0C 0029DA6C 4B F3 2A 29 */ bl sqrt
/* 802A1E10 0029DA70 C0 1A 00 B8 */ lfs f0, 0xb8(r26)
/* 802A1E14 0029DA74 FC 20 08 18 */ frsp f1, f1
/* 802A1E18 0029DA78 FC 00 E0 40 */ fcmpo cr0, f0, f28
/* 802A1E1C 0029DA7C 40 80 00 0C */ bge lbl_802A1E28
/* 802A1E20 0029DA80 EF 5A 00 2A */ fadds f26, f26, f0
/* 802A1E24 0029DA84 48 00 00 08 */ b lbl_802A1E2C
lbl_802A1E28:
/* 802A1E28 0029DA88 EF 5A 00 28 */ fsubs f26, f26, f0
lbl_802A1E2C:
/* 802A1E2C 0029DA8C C0 1A 00 BC */ lfs f0, 0xbc(r26)
/* 802A1E30 0029DA90 FC 00 E0 40 */ fcmpo cr0, f0, f28
/* 802A1E34 0029DA94 40 80 00 0C */ bge lbl_802A1E40
/* 802A1E38 0029DA98 EF 7B 00 2A */ fadds f27, f27, f0
/* 802A1E3C 0029DA9C 48 00 00 08 */ b lbl_802A1E44
lbl_802A1E40:
/* 802A1E40 0029DAA0 EF 7B 00 28 */ fsubs f27, f27, f0
lbl_802A1E44:
/* 802A1E44 0029DAA4 FC 1A D8 40 */ fcmpo cr0, f26, f27
/* 802A1E48 0029DAA8 40 80 00 08 */ bge lbl_802A1E50
/* 802A1E4C 0029DAAC 48 00 00 08 */ b lbl_802A1E54
lbl_802A1E50:
/* 802A1E50 0029DAB0 FF 40 D8 90 */ fmr f26, f27
lbl_802A1E54:
/* 802A1E54 0029DAB4 EC 01 D0 24 */ fdivs f0, f1, f26
/* 802A1E58 0029DAB8 D0 1A 00 C0 */ stfs f0, 0xc0(r26)
/* 802A1E5C 0029DABC 48 00 00 70 */ b lbl_802A1ECC
lbl_802A1E60:
/* 802A1E60 0029DAC0 C3 42 A3 B0 */ lfs f26, lbl_806429B0-_SDA2_BASE_(r2)
/* 802A1E64 0029DAC4 C3 62 A3 B8 */ lfs f27, lbl_806429B8-_SDA2_BASE_(r2)
/* 802A1E68 0029DAC8 EC 3A 06 B2 */ fmuls f1, f26, f26
/* 802A1E6C 0029DACC D3 9A 00 B8 */ stfs f28, 0xb8(r26)
/* 802A1E70 0029DAD0 EC 1B 06 F2 */ fmuls f0, f27, f27
/* 802A1E74 0029DAD4 D3 DA 00 BC */ stfs f30, 0xbc(r26)
/* 802A1E78 0029DAD8 EC 21 00 2A */ fadds f1, f1, f0
/* 802A1E7C 0029DADC 4B F3 29 B9 */ bl sqrt
/* 802A1E80 0029DAE0 C0 1A 00 B8 */ lfs f0, 0xb8(r26)
/* 802A1E84 0029DAE4 FC 20 08 18 */ frsp f1, f1
/* 802A1E88 0029DAE8 FC 00 E0 40 */ fcmpo cr0, f0, f28
/* 802A1E8C 0029DAEC 40 80 00 0C */ bge lbl_802A1E98
/* 802A1E90 0029DAF0 EF 5A 00 2A */ fadds f26, f26, f0
/* 802A1E94 0029DAF4 48 00 00 08 */ b lbl_802A1E9C
lbl_802A1E98:
/* 802A1E98 0029DAF8 EF 5A 00 28 */ fsubs f26, f26, f0
lbl_802A1E9C:
/* 802A1E9C 0029DAFC C0 1A 00 BC */ lfs f0, 0xbc(r26)
/* 802A1EA0 0029DB00 FC 00 E0 40 */ fcmpo cr0, f0, f28
/* 802A1EA4 0029DB04 40 80 00 0C */ bge lbl_802A1EB0
/* 802A1EA8 0029DB08 EF 7B 00 2A */ fadds f27, f27, f0
/* 802A1EAC 0029DB0C 48 00 00 08 */ b lbl_802A1EB4
lbl_802A1EB0:
/* 802A1EB0 0029DB10 EF 7B 00 28 */ fsubs f27, f27, f0
lbl_802A1EB4:
/* 802A1EB4 0029DB14 FC 1A D8 40 */ fcmpo cr0, f26, f27
/* 802A1EB8 0029DB18 40 80 00 08 */ bge lbl_802A1EC0
/* 802A1EBC 0029DB1C 48 00 00 08 */ b lbl_802A1EC4
lbl_802A1EC0:
/* 802A1EC0 0029DB20 FF 40 D8 90 */ fmr f26, f27
lbl_802A1EC4:
/* 802A1EC4 0029DB24 EC 01 D0 24 */ fdivs f0, f1, f26
/* 802A1EC8 0029DB28 D0 1A 00 C0 */ stfs f0, 0xc0(r26)
lbl_802A1ECC:
/* 802A1ECC 0029DB2C 7F 43 D3 78 */ mr r3, r26
/* 802A1ED0 0029DB30 38 80 00 00 */ li r4, 0
lbl_802A1ED4:
/* 802A1ED4 0029DB34 38 84 00 01 */ addi r4, r4, 1
/* 802A1ED8 0029DB38 9B E3 01 39 */ stb r31, 0x139(r3)
/* 802A1EDC 0029DB3C 28 04 00 10 */ cmplwi r4, 0x10
/* 802A1EE0 0029DB40 38 63 00 38 */ addi r3, r3, 0x38
/* 802A1EE4 0029DB44 41 80 FF F0 */ blt lbl_802A1ED4
/* 802A1EE8 0029DB48 3B 39 00 01 */ addi r25, r25, 1
/* 802A1EEC 0029DB4C 3B 5A 05 24 */ addi r26, r26, 0x524
/* 802A1EF0 0029DB50 2C 19 00 04 */ cmpwi r25, 4
/* 802A1EF4 0029DB54 41 80 FE 08 */ blt lbl_802A1CFC
/* 802A1EF8 0029DB58 C3 6D 89 30 */ lfs f27, lbl_8063DBF0-_SDA_BASE_(r13)
/* 802A1EFC 0029DB5C 4B FC C8 61 */ bl OSDisableInterrupts
/* 802A1F00 0029DB60 C0 02 A3 A8 */ lfs f0, lbl_806429A8-_SDA2_BASE_(r2)
/* 802A1F04 0029DB64 D3 6D 89 30 */ stfs f27, lbl_8063DBF0-_SDA_BASE_(r13)
/* 802A1F08 0029DB68 EC 1B 00 24 */ fdivs f0, f27, f0
/* 802A1F0C 0029DB6C D0 0D AD E4 */ stfs f0, lbl_806400A4-_SDA_BASE_(r13)
/* 802A1F10 0029DB70 D0 0D AD E0 */ stfs f0, lbl_806400A0-_SDA_BASE_(r13)
/* 802A1F14 0029DB74 4B FC C8 71 */ bl OSRestoreInterrupts
/* 802A1F18 0029DB78 3C 60 80 53 */ lis r3, lbl_805356D0@ha
/* 802A1F1C 0029DB7C 3B 60 00 03 */ li r27, 3
/* 802A1F20 0029DB80 38 63 56 D0 */ addi r3, r3, lbl_805356D0@l
/* 802A1F24 0029DB84 3B E0 00 01 */ li r31, 1
/* 802A1F28 0029DB88 3B 83 0F 6C */ addi r28, r3, 0xf6c
lbl_802A1F2C:
/* 802A1F2C 0029DB8C 7F 63 DB 78 */ mr r3, r27
/* 802A1F30 0029DB90 38 80 00 00 */ li r4, 0
/* 802A1F34 0029DB94 48 00 73 75 */ bl WPADControlMotor
/* 802A1F38 0029DB98 37 7B FF FF */ addic. r27, r27, -1
/* 802A1F3C 0029DB9C 9B FC 05 1D */ stb r31, 0x51d(r28)
/* 802A1F40 0029DBA0 3B 9C FA DC */ addi r28, r28, -1316
/* 802A1F44 0029DBA4 40 80 FF E8 */ bge lbl_802A1F2C
/* 802A1F48 0029DBA8 80 6D 89 18 */ lwz r3, lbl_8063DBD8-_SDA_BASE_(r13)
/* 802A1F4C 0029DBAC 4B FC 77 05 */ bl OSRegisterVersion
/* 802A1F50 0029DBB0 E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0
/* 802A1F54 0029DBB4 CB E1 00 80 */ lfd f31, 0x80(r1)
/* 802A1F58 0029DBB8 E3 C1 00 78 */ psq_l f30, 120(r1), 0, qr0
/* 802A1F5C 0029DBBC CB C1 00 70 */ lfd f30, 0x70(r1)
/* 802A1F60 0029DBC0 E3 A1 00 68 */ psq_l f29, 104(r1), 0, qr0
/* 802A1F64 0029DBC4 CB A1 00 60 */ lfd f29, 0x60(r1)
/* 802A1F68 0029DBC8 E3 81 00 58 */ psq_l f28, 88(r1), 0, qr0
/* 802A1F6C 0029DBCC CB 81 00 50 */ lfd f28, 0x50(r1)
/* 802A1F70 0029DBD0 E3 61 00 48 */ psq_l f27, 72(r1), 0, qr0
/* 802A1F74 0029DBD4 CB 61 00 40 */ lfd f27, 0x40(r1)
/* 802A1F78 0029DBD8 E3 41 00 38 */ psq_l f26, 56(r1), 0, qr0
/* 802A1F7C 0029DBDC 39 61 00 30 */ addi r11, r1, 0x30
/* 802A1F80 0029DBE0 CB 41 00 30 */ lfd f26, 0x30(r1)
/* 802A1F84 0029DBE4 4B F2 51 E9 */ bl _restgpr_25
/* 802A1F88 0029DBE8 80 01 00 94 */ lwz r0, 0x94(r1)
/* 802A1F8C 0029DBEC 7C 08 03 A6 */ mtlr r0
/* 802A1F90 0029DBF0 38 21 00 90 */ addi r1, r1, 0x90
/* 802A1F94 0029DBF4 4E 80 00 20 */ blr
.global KPADDisableDPD
KPADDisableDPD:
/* 802A1F98 0029DBF8 1C 03 05 24 */ mulli r0, r3, 0x524
/* 802A1F9C 0029DBFC 3C 60 80 53 */ lis r3, lbl_805356D0@ha
/* 802A1FA0 0029DC00 38 80 00 00 */ li r4, 0
/* 802A1FA4 0029DC04 38 63 56 D0 */ addi r3, r3, lbl_805356D0@l
/* 802A1FA8 0029DC08 7C 63 02 14 */ add r3, r3, r0
/* 802A1FAC 0029DC0C 98 83 05 20 */ stb r4, 0x520(r3)
/* 802A1FB0 0029DC10 4E 80 00 20 */ blr
.global KPADEnableDPD
KPADEnableDPD:
/* 802A1FB4 0029DC14 1C 03 05 24 */ mulli r0, r3, 0x524
/* 802A1FB8 0029DC18 3C 60 80 53 */ lis r3, lbl_805356D0@ha
/* 802A1FBC 0029DC1C 38 80 00 01 */ li r4, 1
/* 802A1FC0 0029DC20 38 63 56 D0 */ addi r3, r3, lbl_805356D0@l
/* 802A1FC4 0029DC24 7C 63 02 14 */ add r3, r3, r0
/* 802A1FC8 0029DC28 98 83 05 20 */ stb r4, 0x520(r3)
/* 802A1FCC 0029DC2C 4E 80 00 20 */ blr
KPADiSamplingCallback:
/* 802A1FD0 0029DC30 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802A1FD4 0029DC34 7C 08 02 A6 */ mflr r0
/* 802A1FD8 0029DC38 3C 80 80 53 */ lis r4, lbl_805356D0@ha
/* 802A1FDC 0029DC3C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802A1FE0 0029DC40 1C 03 05 24 */ mulli r0, r3, 0x524
/* 802A1FE4 0029DC44 38 84 56 D0 */ addi r4, r4, lbl_805356D0@l
/* 802A1FE8 0029DC48 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802A1FEC 0029DC4C 7F E4 02 14 */ add r31, r4, r0
/* 802A1FF0 0029DC50 38 81 00 08 */ addi r4, r1, 8
/* 802A1FF4 0029DC54 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802A1FF8 0029DC58 7C 7E 1B 78 */ mr r30, r3
/* 802A1FFC 0029DC5C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802A2000 0029DC60 93 81 00 10 */ stw r28, 0x10(r1)
/* 802A2004 0029DC64 48 00 6D 75 */ bl WPADProbe
/* 802A2008 0029DC68 2C 03 FF FF */ cmpwi r3, -1
/* 802A200C 0029DC6C 41 82 01 84 */ beq lbl_802A2190
/* 802A2010 0029DC70 8B BF 01 0E */ lbz r29, 0x10e(r31)
/* 802A2014 0029DC74 28 1D 00 10 */ cmplwi r29, 0x10
/* 802A2018 0029DC78 41 80 00 08 */ blt lbl_802A2020
/* 802A201C 0029DC7C 3B A0 00 00 */ li r29, 0
lbl_802A2020:
/* 802A2020 0029DC80 1C 1D 00 38 */ mulli r0, r29, 0x38
/* 802A2024 0029DC84 7F C3 F3 78 */ mr r3, r30
/* 802A2028 0029DC88 7C 9F 02 14 */ add r4, r31, r0
/* 802A202C 0029DC8C 3B 84 01 10 */ addi r28, r4, 0x110
/* 802A2030 0029DC90 7F 84 E3 78 */ mr r4, r28
/* 802A2034 0029DC94 48 00 76 3D */ bl WPADRead
/* 802A2038 0029DC98 7F C3 F3 78 */ mr r3, r30
/* 802A203C 0029DC9C 48 00 6F 01 */ bl WPADGetDataFormat
/* 802A2040 0029DCA0 98 7C 00 36 */ stb r3, 0x36(r28)
/* 802A2044 0029DCA4 38 1D 00 01 */ addi r0, r29, 1
/* 802A2048 0029DCA8 98 1F 01 0E */ stb r0, 0x10e(r31)
/* 802A204C 0029DCAC 88 7F 01 0F */ lbz r3, 0x10f(r31)
/* 802A2050 0029DCB0 28 03 00 10 */ cmplwi r3, 0x10
/* 802A2054 0029DCB4 40 80 00 0C */ bge lbl_802A2060
/* 802A2058 0029DCB8 38 03 00 01 */ addi r0, r3, 1
/* 802A205C 0029DCBC 98 1F 01 0F */ stb r0, 0x10f(r31)
lbl_802A2060:
/* 802A2060 0029DCC0 80 01 00 08 */ lwz r0, 8(r1)
/* 802A2064 0029DCC4 2C 00 00 FB */ cmpwi r0, 0xfb
/* 802A2068 0029DCC8 40 80 00 28 */ bge lbl_802A2090
/* 802A206C 0029DCCC 2C 00 00 01 */ cmpwi r0, 1
/* 802A2070 0029DCD0 41 82 00 3C */ beq lbl_802A20AC
/* 802A2074 0029DCD4 40 80 00 10 */ bge lbl_802A2084
/* 802A2078 0029DCD8 2C 00 00 00 */ cmpwi r0, 0
/* 802A207C 0029DCDC 40 80 00 28 */ bge lbl_802A20A4
/* 802A2080 0029DCE0 48 00 01 10 */ b lbl_802A2190
lbl_802A2084:
/* 802A2084 0029DCE4 2C 00 00 03 */ cmpwi r0, 3
/* 802A2088 0029DCE8 40 80 01 08 */ bge lbl_802A2190
/* 802A208C 0029DCEC 48 00 00 28 */ b lbl_802A20B4
lbl_802A2090:
/* 802A2090 0029DCF0 2C 00 00 FF */ cmpwi r0, 0xff
/* 802A2094 0029DCF4 41 82 00 10 */ beq lbl_802A20A4
/* 802A2098 0029DCF8 40 80 00 F8 */ bge lbl_802A2190
/* 802A209C 0029DCFC 2C 00 00 FD */ cmpwi r0, 0xfd
/* 802A20A0 0029DD00 40 80 00 F0 */ bge lbl_802A2190
lbl_802A20A4:
/* 802A20A4 0029DD04 3B A0 00 00 */ li r29, 0
/* 802A20A8 0029DD08 48 00 00 10 */ b lbl_802A20B8
lbl_802A20AC:
/* 802A20AC 0029DD0C 3B A0 00 02 */ li r29, 2
/* 802A20B0 0029DD10 48 00 00 08 */ b lbl_802A20B8
lbl_802A20B4:
/* 802A20B4 0029DD14 3B A0 00 04 */ li r29, 4
lbl_802A20B8:
/* 802A20B8 0029DD18 88 1F 05 20 */ lbz r0, 0x520(r31)
/* 802A20BC 0029DD1C 2C 00 00 00 */ cmpwi r0, 0
/* 802A20C0 0029DD20 41 82 00 08 */ beq lbl_802A20C8
/* 802A20C4 0029DD24 3B BD 00 01 */ addi r29, r29, 1
lbl_802A20C8:
/* 802A20C8 0029DD28 7F C3 F3 78 */ mr r3, r30
/* 802A20CC 0029DD2C 48 00 95 BD */ bl WPADIsDpdEnabled
/* 802A20D0 0029DD30 2C 03 00 00 */ cmpwi r3, 0
/* 802A20D4 0029DD34 41 82 00 0C */ beq lbl_802A20E0
/* 802A20D8 0029DD38 88 9F 05 21 */ lbz r4, 0x521(r31)
/* 802A20DC 0029DD3C 48 00 00 08 */ b lbl_802A20E4
lbl_802A20E0:
/* 802A20E0 0029DD40 38 80 00 00 */ li r4, 0
lbl_802A20E4:
/* 802A20E4 0029DD44 3C 60 80 44 */ lis r3, lbl_8043BF84@ha
/* 802A20E8 0029DD48 57 A0 08 3C */ slwi r0, r29, 1
/* 802A20EC 0029DD4C 38 63 BF 84 */ addi r3, r3, lbl_8043BF84@l
/* 802A20F0 0029DD50 7F A3 02 14 */ add r29, r3, r0
/* 802A20F4 0029DD54 7C 03 00 AE */ lbzx r0, r3, r0
/* 802A20F8 0029DD58 7C 04 00 40 */ cmplw r4, r0
/* 802A20FC 0029DD5C 41 82 00 7C */ beq lbl_802A2178
/* 802A2100 0029DD60 80 1F 04 D8 */ lwz r0, 0x4d8(r31)
/* 802A2104 0029DD64 2C 00 00 00 */ cmpwi r0, 0
/* 802A2108 0029DD68 41 82 00 34 */ beq lbl_802A213C
/* 802A210C 0029DD6C 88 1F 05 22 */ lbz r0, 0x522(r31)
/* 802A2110 0029DD70 2C 00 00 00 */ cmpwi r0, 0
/* 802A2114 0029DD74 40 82 00 28 */ bne lbl_802A213C
/* 802A2118 0029DD78 38 00 00 01 */ li r0, 1
/* 802A211C 0029DD7C 7F C3 F3 78 */ mr r3, r30
/* 802A2120 0029DD80 98 1F 05 22 */ stb r0, 0x522(r31)
/* 802A2124 0029DD84 38 80 00 00 */ li r4, 0
/* 802A2128 0029DD88 81 9F 04 D8 */ lwz r12, 0x4d8(r31)
/* 802A212C 0029DD8C 7D 89 03 A6 */ mtctr r12
/* 802A2130 0029DD90 4E 80 04 21 */ bctrl
/* 802A2134 0029DD94 38 00 00 00 */ li r0, 0
/* 802A2138 0029DD98 98 1F 05 23 */ stb r0, 0x523(r31)
lbl_802A213C:
/* 802A213C 0029DD9C 88 1F 05 1F */ lbz r0, 0x51f(r31)
/* 802A2140 0029DDA0 2C 00 00 00 */ cmpwi r0, 0
/* 802A2144 0029DDA4 40 82 00 4C */ bne lbl_802A2190
/* 802A2148 0029DDA8 38 00 00 01 */ li r0, 1
/* 802A214C 0029DDAC 3C A0 80 2A */ lis r5, KPADiControlDpdCallback@ha
/* 802A2150 0029DDB0 98 1F 05 1F */ stb r0, 0x51f(r31)
/* 802A2154 0029DDB4 7F C3 F3 78 */ mr r3, r30
/* 802A2158 0029DDB8 88 9D 00 00 */ lbz r4, 0(r29)
/* 802A215C 0029DDBC 38 A5 21 C8 */ addi r5, r5, KPADiControlDpdCallback@l
/* 802A2160 0029DDC0 48 00 95 9D */ bl WPADControlDpd
/* 802A2164 0029DDC4 2C 03 00 00 */ cmpwi r3, 0
/* 802A2168 0029DDC8 40 82 00 28 */ bne lbl_802A2190
/* 802A216C 0029DDCC 88 1D 00 00 */ lbz r0, 0(r29)
/* 802A2170 0029DDD0 98 1F 05 21 */ stb r0, 0x521(r31)
/* 802A2174 0029DDD4 48 00 00 1C */ b lbl_802A2190
lbl_802A2178:
/* 802A2178 0029DDD8 88 9D 00 01 */ lbz r4, 1(r29)
/* 802A217C 0029DDDC 88 1C 00 36 */ lbz r0, 0x36(r28)
/* 802A2180 0029DDE0 7C 00 20 40 */ cmplw r0, r4
/* 802A2184 0029DDE4 41 82 00 0C */ beq lbl_802A2190
/* 802A2188 0029DDE8 7F C3 F3 78 */ mr r3, r30
/* 802A218C 0029DDEC 48 00 6D F9 */ bl WPADSetDataFormat
lbl_802A2190:
/* 802A2190 0029DDF0 81 9F 05 18 */ lwz r12, 0x518(r31)
/* 802A2194 0029DDF4 2C 0C 00 00 */ cmpwi r12, 0
/* 802A2198 0029DDF8 41 82 00 10 */ beq lbl_802A21A8
/* 802A219C 0029DDFC 7F C3 F3 78 */ mr r3, r30
/* 802A21A0 0029DE00 7D 89 03 A6 */ mtctr r12
/* 802A21A4 0029DE04 4E 80 04 21 */ bctrl
lbl_802A21A8:
/* 802A21A8 0029DE08 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802A21AC 0029DE0C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802A21B0 0029DE10 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802A21B4 0029DE14 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802A21B8 0029DE18 83 81 00 10 */ lwz r28, 0x10(r1)
/* 802A21BC 0029DE1C 7C 08 03 A6 */ mtlr r0
/* 802A21C0 0029DE20 38 21 00 20 */ addi r1, r1, 0x20
/* 802A21C4 0029DE24 4E 80 00 20 */ blr
KPADiControlDpdCallback:
/* 802A21C8 0029DE28 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802A21CC 0029DE2C 7C 08 02 A6 */ mflr r0
/* 802A21D0 0029DE30 3C A0 80 53 */ lis r5, lbl_805356D0@ha
/* 802A21D4 0029DE34 2C 04 00 00 */ cmpwi r4, 0
/* 802A21D8 0029DE38 90 01 00 14 */ stw r0, 0x14(r1)
/* 802A21DC 0029DE3C 1C 03 05 24 */ mulli r0, r3, 0x524
/* 802A21E0 0029DE40 38 A5 56 D0 */ addi r5, r5, lbl_805356D0@l
/* 802A21E4 0029DE44 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802A21E8 0029DE48 7F E5 02 14 */ add r31, r5, r0
/* 802A21EC 0029DE4C 40 82 00 3C */ bne lbl_802A2228
/* 802A21F0 0029DE50 80 1F 04 D8 */ lwz r0, 0x4d8(r31)
/* 802A21F4 0029DE54 2C 00 00 00 */ cmpwi r0, 0
/* 802A21F8 0029DE58 41 82 00 30 */ beq lbl_802A2228
/* 802A21FC 0029DE5C 88 1F 05 23 */ lbz r0, 0x523(r31)
/* 802A2200 0029DE60 2C 00 00 00 */ cmpwi r0, 0
/* 802A2204 0029DE64 40 82 00 24 */ bne lbl_802A2228
/* 802A2208 0029DE68 38 00 00 01 */ li r0, 1
/* 802A220C 0029DE6C 38 80 00 01 */ li r4, 1
/* 802A2210 0029DE70 98 1F 05 23 */ stb r0, 0x523(r31)
/* 802A2214 0029DE74 81 9F 04 D8 */ lwz r12, 0x4d8(r31)
/* 802A2218 0029DE78 7D 89 03 A6 */ mtctr r12
/* 802A221C 0029DE7C 4E 80 04 21 */ bctrl
/* 802A2220 0029DE80 38 00 00 00 */ li r0, 0
/* 802A2224 0029DE84 98 1F 05 22 */ stb r0, 0x522(r31)
lbl_802A2228:
/* 802A2228 0029DE88 38 00 00 00 */ li r0, 0
/* 802A222C 0029DE8C 98 1F 05 1F */ stb r0, 0x51f(r31)
/* 802A2230 0029DE90 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802A2234 0029DE94 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802A2238 0029DE98 7C 08 03 A6 */ mtlr r0
/* 802A223C 0029DE9C 38 21 00 10 */ addi r1, r1, 0x10
/* 802A2240 0029DEA0 4E 80 00 20 */ blr
|