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