summaryrefslogtreecommitdiff
path: root/asm/libstdc++/ansi_fp.s
blob: 9104000d2ca79a183446cf49405f9b764305cbe7 (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
.include "macros.inc"

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

.global __ull2dec
__ull2dec:
/* 801C7A28 001C3688  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 801C7A2C 001C368C  7C 08 02 A6 */	mflr r0
/* 801C7A30 001C3690  90 01 00 24 */	stw r0, 0x24(r1)
/* 801C7A34 001C3694  38 00 00 00 */	li r0, 0
/* 801C7A38 001C3698  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 801C7A3C 001C369C  7C BF 2B 78 */	mr r31, r5
/* 801C7A40 001C36A0  93 C1 00 18 */	stw r30, 0x18(r1)
/* 801C7A44 001C36A4  7C DE 33 78 */	mr r30, r6
/* 801C7A48 001C36A8  93 A1 00 14 */	stw r29, 0x14(r1)
/* 801C7A4C 001C36AC  7C 7D 1B 78 */	mr r29, r3
/* 801C7A50 001C36B0  98 03 00 00 */	stb r0, 0(r3)
/* 801C7A54 001C36B4  98 03 00 04 */	stb r0, 4(r3)
/* 801C7A58 001C36B8  48 00 00 48 */	b lbl_801C7AA0
lbl_801C7A5C:
/* 801C7A5C 001C36BC  7F E3 FB 78 */	mr r3, r31
/* 801C7A60 001C36C0  7F C4 F3 78 */	mr r4, r30
/* 801C7A64 001C36C4  38 C0 00 0A */	li r6, 0xa
/* 801C7A68 001C36C8  38 A0 00 00 */	li r5, 0
/* 801C7A6C 001C36CC  4B FF F9 45 */	bl __mod2u
/* 801C7A70 001C36D0  89 1D 00 04 */	lbz r8, 4(r29)
/* 801C7A74 001C36D4  7F E3 FB 78 */	mr r3, r31
/* 801C7A78 001C36D8  38 C0 00 0A */	li r6, 0xa
/* 801C7A7C 001C36DC  38 A0 00 00 */	li r5, 0
/* 801C7A80 001C36E0  7C FD 42 14 */	add r7, r29, r8
/* 801C7A84 001C36E4  38 08 00 01 */	addi r0, r8, 1
/* 801C7A88 001C36E8  98 87 00 05 */	stb r4, 5(r7)
/* 801C7A8C 001C36EC  7F C4 F3 78 */	mr r4, r30
/* 801C7A90 001C36F0  98 1D 00 04 */	stb r0, 4(r29)
/* 801C7A94 001C36F4  4B FF F6 F9 */	bl __div2u
/* 801C7A98 001C36F8  7C 9E 23 78 */	mr r30, r4
/* 801C7A9C 001C36FC  7C 7F 1B 78 */	mr r31, r3
lbl_801C7AA0:
/* 801C7AA0 001C3700  7F C0 FB 79 */	or. r0, r30, r31
/* 801C7AA4 001C3704  40 82 FF B8 */	bne lbl_801C7A5C
/* 801C7AA8 001C3708  88 1D 00 04 */	lbz r0, 4(r29)
/* 801C7AAC 001C370C  38 9D 00 05 */	addi r4, r29, 5
/* 801C7AB0 001C3710  7C 7D 02 14 */	add r3, r29, r0
/* 801C7AB4 001C3714  38 63 00 05 */	addi r3, r3, 5
/* 801C7AB8 001C3718  48 00 00 18 */	b lbl_801C7AD0
lbl_801C7ABC:
/* 801C7ABC 001C371C  88 A4 00 00 */	lbz r5, 0(r4)
/* 801C7AC0 001C3720  88 03 00 00 */	lbz r0, 0(r3)
/* 801C7AC4 001C3724  98 04 00 00 */	stb r0, 0(r4)
/* 801C7AC8 001C3728  38 84 00 01 */	addi r4, r4, 1
/* 801C7ACC 001C372C  98 A3 00 00 */	stb r5, 0(r3)
lbl_801C7AD0:
/* 801C7AD0 001C3730  38 63 FF FF */	addi r3, r3, -1
/* 801C7AD4 001C3734  7C 04 18 40 */	cmplw r4, r3
/* 801C7AD8 001C3738  41 80 FF E4 */	blt lbl_801C7ABC
/* 801C7ADC 001C373C  88 7D 00 04 */	lbz r3, 4(r29)
/* 801C7AE0 001C3740  38 03 FF FF */	addi r0, r3, -1
/* 801C7AE4 001C3744  B0 1D 00 02 */	sth r0, 2(r29)
/* 801C7AE8 001C3748  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 801C7AEC 001C374C  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 801C7AF0 001C3750  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 801C7AF4 001C3754  80 01 00 24 */	lwz r0, 0x24(r1)
/* 801C7AF8 001C3758  7C 08 03 A6 */	mtlr r0
/* 801C7AFC 001C375C  38 21 00 20 */	addi r1, r1, 0x20
/* 801C7B00 001C3760  4E 80 00 20 */	blr

.global __timesdec
__timesdec:
/* 801C7B04 001C3764  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 801C7B08 001C3768  3C C0 CC CD */	lis r6, 0xCCCCCCCD@ha
/* 801C7B0C 001C376C  89 04 00 04 */	lbz r8, 4(r4)
/* 801C7B10 001C3770  39 60 00 00 */	li r11, 0
/* 801C7B14 001C3774  93 E1 00 5C */	stw r31, 0x5c(r1)
/* 801C7B18 001C3778  38 01 00 08 */	addi r0, r1, 8
/* 801C7B1C 001C377C  88 E5 00 04 */	lbz r7, 4(r5)
/* 801C7B20 001C3780  39 26 CC CD */	addi r9, r6, 0xCCCCCCCD@l
/* 801C7B24 001C3784  93 C1 00 58 */	stw r30, 0x58(r1)
/* 801C7B28 001C3788  7D 88 3A 14 */	add r12, r8, r7
/* 801C7B2C 001C378C  93 A1 00 54 */	stw r29, 0x54(r1)
/* 801C7B30 001C3790  39 8C FF FF */	addi r12, r12, -1
/* 801C7B34 001C3794  7C C0 62 14 */	add r6, r0, r12
/* 801C7B38 001C3798  38 C6 00 01 */	addi r6, r6, 1
/* 801C7B3C 001C379C  99 63 00 00 */	stb r11, 0(r3)
/* 801C7B40 001C37A0  7C C0 33 78 */	mr r0, r6
/* 801C7B44 001C37A4  48 00 01 30 */	b lbl_801C7C74
lbl_801C7B48:
/* 801C7B48 001C37A8  88 E5 00 04 */	lbz r7, 4(r5)
/* 801C7B4C 001C37AC  3B E7 FF FF */	addi r31, r7, -1
/* 801C7B50 001C37B0  7C FF 60 50 */	subf r7, r31, r12
/* 801C7B54 001C37B4  37 C7 FF FF */	addic. r30, r7, -1
/* 801C7B58 001C37B8  40 80 00 0C */	bge lbl_801C7B64
/* 801C7B5C 001C37BC  3B C0 00 00 */	li r30, 0
/* 801C7B60 001C37C0  3B EC FF FF */	addi r31, r12, -1
lbl_801C7B64:
/* 801C7B64 001C37C4  88 E4 00 04 */	lbz r7, 4(r4)
/* 801C7B68 001C37C8  7D 05 FA 14 */	add r8, r5, r31
/* 801C7B6C 001C37CC  3B FF 00 01 */	addi r31, r31, 1
/* 801C7B70 001C37D0  7D 44 F2 14 */	add r10, r4, r30
/* 801C7B74 001C37D4  7C FE 38 50 */	subf r7, r30, r7
/* 801C7B78 001C37D8  3B A8 00 05 */	addi r29, r8, 5
/* 801C7B7C 001C37DC  7C 1F 38 00 */	cmpw r31, r7
/* 801C7B80 001C37E0  3B CA 00 05 */	addi r30, r10, 5
/* 801C7B84 001C37E4  40 81 00 08 */	ble lbl_801C7B8C
/* 801C7B88 001C37E8  7C FF 3B 78 */	mr r31, r7
lbl_801C7B8C:
/* 801C7B8C 001C37EC  2C 1F 00 00 */	cmpwi r31, 0
/* 801C7B90 001C37F0  40 81 00 C4 */	ble lbl_801C7C54
/* 801C7B94 001C37F4  57 E7 E8 FF */	rlwinm. r7, r31, 0x1d, 3, 0x1f
/* 801C7B98 001C37F8  7C E9 03 A6 */	mtctr r7
/* 801C7B9C 001C37FC  41 82 00 98 */	beq lbl_801C7C34
lbl_801C7BA0:
/* 801C7BA0 001C3800  89 5E 00 00 */	lbz r10, 0(r30)
/* 801C7BA4 001C3804  89 1D 00 00 */	lbz r8, 0(r29)
/* 801C7BA8 001C3808  7C EA 41 D6 */	mullw r7, r10, r8
/* 801C7BAC 001C380C  89 5E 00 01 */	lbz r10, 1(r30)
/* 801C7BB0 001C3810  89 1D FF FF */	lbz r8, -1(r29)
/* 801C7BB4 001C3814  7D 6B 3A 14 */	add r11, r11, r7
/* 801C7BB8 001C3818  7C EA 41 D6 */	mullw r7, r10, r8
/* 801C7BBC 001C381C  89 5E 00 02 */	lbz r10, 2(r30)
/* 801C7BC0 001C3820  89 1D FF FE */	lbz r8, -2(r29)
/* 801C7BC4 001C3824  7D 6B 3A 14 */	add r11, r11, r7
/* 801C7BC8 001C3828  7C EA 41 D6 */	mullw r7, r10, r8
/* 801C7BCC 001C382C  89 5E 00 03 */	lbz r10, 3(r30)
/* 801C7BD0 001C3830  89 1D FF FD */	lbz r8, -3(r29)
/* 801C7BD4 001C3834  7D 6B 3A 14 */	add r11, r11, r7
/* 801C7BD8 001C3838  7C EA 41 D6 */	mullw r7, r10, r8
/* 801C7BDC 001C383C  89 5E 00 04 */	lbz r10, 4(r30)
/* 801C7BE0 001C3840  89 1D FF FC */	lbz r8, -4(r29)
/* 801C7BE4 001C3844  7D 6B 3A 14 */	add r11, r11, r7
/* 801C7BE8 001C3848  7C EA 41 D6 */	mullw r7, r10, r8
/* 801C7BEC 001C384C  89 5E 00 05 */	lbz r10, 5(r30)
/* 801C7BF0 001C3850  89 1D FF FB */	lbz r8, -5(r29)
/* 801C7BF4 001C3854  7D 6B 3A 14 */	add r11, r11, r7
/* 801C7BF8 001C3858  7C EA 41 D6 */	mullw r7, r10, r8
/* 801C7BFC 001C385C  89 5E 00 06 */	lbz r10, 6(r30)
/* 801C7C00 001C3860  89 1D FF FA */	lbz r8, -6(r29)
/* 801C7C04 001C3864  7D 6B 3A 14 */	add r11, r11, r7
/* 801C7C08 001C3868  7C EA 41 D6 */	mullw r7, r10, r8
/* 801C7C0C 001C386C  89 5E 00 07 */	lbz r10, 7(r30)
/* 801C7C10 001C3870  89 1D FF F9 */	lbz r8, -7(r29)
/* 801C7C14 001C3874  3B DE 00 08 */	addi r30, r30, 8
/* 801C7C18 001C3878  3B BD FF F8 */	addi r29, r29, -8
/* 801C7C1C 001C387C  7D 6B 3A 14 */	add r11, r11, r7
/* 801C7C20 001C3880  7C EA 41 D6 */	mullw r7, r10, r8
/* 801C7C24 001C3884  7D 6B 3A 14 */	add r11, r11, r7
/* 801C7C28 001C3888  42 00 FF 78 */	bdnz lbl_801C7BA0
/* 801C7C2C 001C388C  73 FF 00 07 */	andi. r31, r31, 7
/* 801C7C30 001C3890  41 82 00 24 */	beq lbl_801C7C54
lbl_801C7C34:
/* 801C7C34 001C3894  7F E9 03 A6 */	mtctr r31
lbl_801C7C38:
/* 801C7C38 001C3898  89 5E 00 00 */	lbz r10, 0(r30)
/* 801C7C3C 001C389C  3B DE 00 01 */	addi r30, r30, 1
/* 801C7C40 001C38A0  89 1D 00 00 */	lbz r8, 0(r29)
/* 801C7C44 001C38A4  3B BD FF FF */	addi r29, r29, -1
/* 801C7C48 001C38A8  7C EA 41 D6 */	mullw r7, r10, r8
/* 801C7C4C 001C38AC  7D 6B 3A 14 */	add r11, r11, r7
/* 801C7C50 001C38B0  42 00 FF E8 */	bdnz lbl_801C7C38
lbl_801C7C54:
/* 801C7C54 001C38B4  7D 09 58 16 */	mulhwu r8, r9, r11
/* 801C7C58 001C38B8  39 8C FF FF */	addi r12, r12, -1
/* 801C7C5C 001C38BC  7D 07 43 78 */	mr r7, r8
/* 801C7C60 001C38C0  55 08 E8 FE */	srwi r8, r8, 3
/* 801C7C64 001C38C4  1D 08 00 0A */	mulli r8, r8, 0xa
/* 801C7C68 001C38C8  7D 08 58 50 */	subf r8, r8, r11
/* 801C7C6C 001C38CC  54 EB E8 FE */	srwi r11, r7, 3
/* 801C7C70 001C38D0  9D 06 FF FF */	stbu r8, -1(r6)
lbl_801C7C74:
/* 801C7C74 001C38D4  2C 0C 00 00 */	cmpwi r12, 0
/* 801C7C78 001C38D8  41 81 FE D0 */	bgt lbl_801C7B48
/* 801C7C7C 001C38DC  A8 E4 00 02 */	lha r7, 2(r4)
/* 801C7C80 001C38E0  2C 0B 00 00 */	cmpwi r11, 0
/* 801C7C84 001C38E4  A8 85 00 02 */	lha r4, 2(r5)
/* 801C7C88 001C38E8  7C 87 22 14 */	add r4, r7, r4
/* 801C7C8C 001C38EC  B0 83 00 02 */	sth r4, 2(r3)
/* 801C7C90 001C38F0  41 82 00 14 */	beq lbl_801C7CA4
/* 801C7C94 001C38F4  9D 66 FF FF */	stbu r11, -1(r6)
/* 801C7C98 001C38F8  A8 83 00 02 */	lha r4, 2(r3)
/* 801C7C9C 001C38FC  38 84 00 01 */	addi r4, r4, 1
/* 801C7CA0 001C3900  B0 83 00 02 */	sth r4, 2(r3)
lbl_801C7CA4:
/* 801C7CA4 001C3904  38 E0 00 00 */	li r7, 0
/* 801C7CA8 001C3908  48 00 00 18 */	b lbl_801C7CC0
lbl_801C7CAC:
/* 801C7CAC 001C390C  88 A6 00 00 */	lbz r5, 0(r6)
/* 801C7CB0 001C3910  7C 83 3A 14 */	add r4, r3, r7
/* 801C7CB4 001C3914  38 E7 00 01 */	addi r7, r7, 1
/* 801C7CB8 001C3918  38 C6 00 01 */	addi r6, r6, 1
/* 801C7CBC 001C391C  98 A4 00 05 */	stb r5, 5(r4)
lbl_801C7CC0:
/* 801C7CC0 001C3920  2C 07 00 24 */	cmpwi r7, 0x24
/* 801C7CC4 001C3924  40 80 00 0C */	bge lbl_801C7CD0
/* 801C7CC8 001C3928  7C 06 00 40 */	cmplw r6, r0
/* 801C7CCC 001C392C  41 80 FF E0 */	blt lbl_801C7CAC
lbl_801C7CD0:
/* 801C7CD0 001C3930  7C 06 00 40 */	cmplw r6, r0
/* 801C7CD4 001C3934  98 E3 00 04 */	stb r7, 4(r3)
/* 801C7CD8 001C3938  40 80 00 A0 */	bge lbl_801C7D78
/* 801C7CDC 001C393C  88 86 00 00 */	lbz r4, 0(r6)
/* 801C7CE0 001C3940  28 04 00 05 */	cmplwi r4, 5
/* 801C7CE4 001C3944  41 80 00 94 */	blt lbl_801C7D78
/* 801C7CE8 001C3948  40 82 00 38 */	bne lbl_801C7D20
/* 801C7CEC 001C394C  38 A6 00 01 */	addi r5, r6, 1
/* 801C7CF0 001C3950  7C 85 00 50 */	subf r4, r5, r0
/* 801C7CF4 001C3954  7C 89 03 A6 */	mtctr r4
/* 801C7CF8 001C3958  7C 05 00 40 */	cmplw r5, r0
/* 801C7CFC 001C395C  40 80 00 18 */	bge lbl_801C7D14
lbl_801C7D00:
/* 801C7D00 001C3960  88 05 00 00 */	lbz r0, 0(r5)
/* 801C7D04 001C3964  2C 00 00 00 */	cmpwi r0, 0
/* 801C7D08 001C3968  40 82 00 18 */	bne lbl_801C7D20
/* 801C7D0C 001C396C  38 A5 00 01 */	addi r5, r5, 1
/* 801C7D10 001C3970  42 00 FF F0 */	bdnz lbl_801C7D00
lbl_801C7D14:
/* 801C7D14 001C3974  88 06 FF FF */	lbz r0, -1(r6)
/* 801C7D18 001C3978  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 801C7D1C 001C397C  41 82 00 5C */	beq lbl_801C7D78
lbl_801C7D20:
/* 801C7D20 001C3980  88 83 00 04 */	lbz r4, 4(r3)
/* 801C7D24 001C3984  38 C3 00 05 */	addi r6, r3, 5
/* 801C7D28 001C3988  38 00 00 00 */	li r0, 0
/* 801C7D2C 001C398C  7C A6 22 14 */	add r5, r6, r4
/* 801C7D30 001C3990  38 A5 FF FF */	addi r5, r5, -1
lbl_801C7D34:
/* 801C7D34 001C3994  88 85 00 00 */	lbz r4, 0(r5)
/* 801C7D38 001C3998  28 04 00 09 */	cmplwi r4, 9
/* 801C7D3C 001C399C  40 80 00 10 */	bge lbl_801C7D4C
/* 801C7D40 001C39A0  38 04 00 01 */	addi r0, r4, 1
/* 801C7D44 001C39A4  98 05 00 00 */	stb r0, 0(r5)
/* 801C7D48 001C39A8  48 00 00 30 */	b lbl_801C7D78
lbl_801C7D4C:
/* 801C7D4C 001C39AC  7C 05 30 40 */	cmplw r5, r6
/* 801C7D50 001C39B0  40 82 00 1C */	bne lbl_801C7D6C
/* 801C7D54 001C39B4  38 00 00 01 */	li r0, 1
/* 801C7D58 001C39B8  98 05 00 00 */	stb r0, 0(r5)
/* 801C7D5C 001C39BC  A8 83 00 02 */	lha r4, 2(r3)
/* 801C7D60 001C39C0  38 04 00 01 */	addi r0, r4, 1
/* 801C7D64 001C39C4  B0 03 00 02 */	sth r0, 2(r3)
/* 801C7D68 001C39C8  48 00 00 10 */	b lbl_801C7D78
lbl_801C7D6C:
/* 801C7D6C 001C39CC  98 05 00 00 */	stb r0, 0(r5)
/* 801C7D70 001C39D0  38 A5 FF FF */	addi r5, r5, -1
/* 801C7D74 001C39D4  4B FF FF C0 */	b lbl_801C7D34
lbl_801C7D78:
/* 801C7D78 001C39D8  83 E1 00 5C */	lwz r31, 0x5c(r1)
/* 801C7D7C 001C39DC  83 C1 00 58 */	lwz r30, 0x58(r1)
/* 801C7D80 001C39E0  83 A1 00 54 */	lwz r29, 0x54(r1)
/* 801C7D84 001C39E4  38 21 00 60 */	addi r1, r1, 0x60
/* 801C7D88 001C39E8  4E 80 00 20 */	blr

.global __str2dec
__str2dec:
/* 801C7D8C 001C39EC  38 00 00 00 */	li r0, 0
/* 801C7D90 001C39F0  B0 A3 00 02 */	sth r5, 2(r3)
/* 801C7D94 001C39F4  38 E0 00 00 */	li r7, 0
/* 801C7D98 001C39F8  98 03 00 00 */	stb r0, 0(r3)
/* 801C7D9C 001C39FC  48 00 00 1C */	b lbl_801C7DB8
lbl_801C7DA0:
/* 801C7DA0 001C3A00  88 C4 00 00 */	lbz r6, 0(r4)
/* 801C7DA4 001C3A04  7C A3 3A 14 */	add r5, r3, r7
/* 801C7DA8 001C3A08  38 84 00 01 */	addi r4, r4, 1
/* 801C7DAC 001C3A0C  38 E7 00 01 */	addi r7, r7, 1
/* 801C7DB0 001C3A10  38 06 FF D0 */	addi r0, r6, -48
/* 801C7DB4 001C3A14  98 05 00 05 */	stb r0, 5(r5)
lbl_801C7DB8:
/* 801C7DB8 001C3A18  2C 07 00 24 */	cmpwi r7, 0x24
/* 801C7DBC 001C3A1C  40 80 00 10 */	bge lbl_801C7DCC
/* 801C7DC0 001C3A20  88 04 00 00 */	lbz r0, 0(r4)
/* 801C7DC4 001C3A24  7C 00 07 75 */	extsb. r0, r0
/* 801C7DC8 001C3A28  40 82 FF D8 */	bne lbl_801C7DA0
lbl_801C7DCC:
/* 801C7DCC 001C3A2C  88 04 00 00 */	lbz r0, 0(r4)
/* 801C7DD0 001C3A30  98 E3 00 04 */	stb r7, 4(r3)
/* 801C7DD4 001C3A34  7C 00 07 75 */	extsb. r0, r0
/* 801C7DD8 001C3A38  4D 82 00 20 */	beqlr
/* 801C7DDC 001C3A3C  2C 00 00 05 */	cmpwi r0, 5
/* 801C7DE0 001C3A40  4D 80 00 20 */	bltlr
/* 801C7DE4 001C3A44  41 81 00 38 */	bgt lbl_801C7E1C
/* 801C7DE8 001C3A48  38 A4 00 01 */	addi r5, r4, 1
/* 801C7DEC 001C3A4C  48 00 00 14 */	b lbl_801C7E00
lbl_801C7DF0:
/* 801C7DF0 001C3A50  7C 80 07 74 */	extsb r0, r4
/* 801C7DF4 001C3A54  2C 00 00 30 */	cmpwi r0, 0x30
/* 801C7DF8 001C3A58  40 82 00 24 */	bne lbl_801C7E1C
/* 801C7DFC 001C3A5C  38 A5 00 01 */	addi r5, r5, 1
lbl_801C7E00:
/* 801C7E00 001C3A60  88 85 00 00 */	lbz r4, 0(r5)
/* 801C7E04 001C3A64  7C 80 07 75 */	extsb. r0, r4
/* 801C7E08 001C3A68  40 82 FF E8 */	bne lbl_801C7DF0
/* 801C7E0C 001C3A6C  7C 87 1A 14 */	add r4, r7, r3
/* 801C7E10 001C3A70  88 04 00 04 */	lbz r0, 4(r4)
/* 801C7E14 001C3A74  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 801C7E18 001C3A78  4D 82 00 20 */	beqlr
lbl_801C7E1C:
/* 801C7E1C 001C3A7C  88 83 00 04 */	lbz r4, 4(r3)
/* 801C7E20 001C3A80  38 C3 00 05 */	addi r6, r3, 5
/* 801C7E24 001C3A84  38 00 00 00 */	li r0, 0
/* 801C7E28 001C3A88  7C A6 22 14 */	add r5, r6, r4
/* 801C7E2C 001C3A8C  38 A5 FF FF */	addi r5, r5, -1
lbl_801C7E30:
/* 801C7E30 001C3A90  88 85 00 00 */	lbz r4, 0(r5)
/* 801C7E34 001C3A94  28 04 00 09 */	cmplwi r4, 9
/* 801C7E38 001C3A98  40 80 00 10 */	bge lbl_801C7E48
/* 801C7E3C 001C3A9C  38 04 00 01 */	addi r0, r4, 1
/* 801C7E40 001C3AA0  98 05 00 00 */	stb r0, 0(r5)
/* 801C7E44 001C3AA4  4E 80 00 20 */	blr
lbl_801C7E48:
/* 801C7E48 001C3AA8  7C 05 30 40 */	cmplw r5, r6
/* 801C7E4C 001C3AAC  40 82 00 1C */	bne lbl_801C7E68
/* 801C7E50 001C3AB0  38 00 00 01 */	li r0, 1
/* 801C7E54 001C3AB4  98 05 00 00 */	stb r0, 0(r5)
/* 801C7E58 001C3AB8  A8 83 00 02 */	lha r4, 2(r3)
/* 801C7E5C 001C3ABC  38 04 00 01 */	addi r0, r4, 1
/* 801C7E60 001C3AC0  B0 03 00 02 */	sth r0, 2(r3)
/* 801C7E64 001C3AC4  4E 80 00 20 */	blr
lbl_801C7E68:
/* 801C7E68 001C3AC8  98 05 00 00 */	stb r0, 0(r5)
/* 801C7E6C 001C3ACC  38 A5 FF FF */	addi r5, r5, -1
/* 801C7E70 001C3AD0  4B FF FF C0 */	b lbl_801C7E30
/* 801C7E74 001C3AD4  4E 80 00 20 */	blr

.global __two_exp
__two_exp:
/* 801C7E78 001C3AD8  94 21 FF 90 */	stwu r1, -0x70(r1)
/* 801C7E7C 001C3ADC  7C 08 02 A6 */	mflr r0
/* 801C7E80 001C3AE0  90 01 00 74 */	stw r0, 0x74(r1)
/* 801C7E84 001C3AE4  38 04 00 40 */	addi r0, r4, 0x40
/* 801C7E88 001C3AE8  28 00 00 48 */	cmplwi r0, 0x48
/* 801C7E8C 001C3AEC  93 E1 00 6C */	stw r31, 0x6c(r1)
/* 801C7E90 001C3AF0  7C 7F 1B 78 */	mr r31, r3
/* 801C7E94 001C3AF4  93 C1 00 68 */	stw r30, 0x68(r1)
/* 801C7E98 001C3AF8  7C 9E 23 78 */	mr r30, r4
/* 801C7E9C 001C3AFC  41 81 02 10 */	bgt lbl_801C80AC
/* 801C7EA0 001C3B00  3C A0 80 42 */	lis r5, lbl_80422A30@ha
/* 801C7EA4 001C3B04  54 00 10 3A */	slwi r0, r0, 2
/* 801C7EA8 001C3B08  38 A5 2A 30 */	addi r5, r5, lbl_80422A30@l
/* 801C7EAC 001C3B0C  7C A5 00 2E */	lwzx r5, r5, r0
/* 801C7EB0 001C3B10  7C A9 03 A6 */	mtctr r5
/* 801C7EB4 001C3B14  4E 80 04 20 */	bctr
/* 801C7EB8 001C3B18  3C 80 80 40 */	lis r4, lbl_803FC6D8@ha
/* 801C7EBC 001C3B1C  38 A0 FF EC */	li r5, -20
/* 801C7EC0 001C3B20  38 84 C6 D8 */	addi r4, r4, lbl_803FC6D8@l
/* 801C7EC4 001C3B24  4B FF FE C9 */	bl __str2dec
/* 801C7EC8 001C3B28  48 00 03 04 */	b lbl_801C81CC
/* 801C7ECC 001C3B2C  3C 80 80 40 */	lis r4, lbl_803FC6D8@ha
/* 801C7ED0 001C3B30  38 A0 FF F0 */	li r5, -16
/* 801C7ED4 001C3B34  38 84 C6 D8 */	addi r4, r4, lbl_803FC6D8@l
/* 801C7ED8 001C3B38  38 84 00 2E */	addi r4, r4, 0x2e
/* 801C7EDC 001C3B3C  4B FF FE B1 */	bl __str2dec
/* 801C7EE0 001C3B40  48 00 02 EC */	b lbl_801C81CC
/* 801C7EE4 001C3B44  3C 80 80 40 */	lis r4, lbl_803FC6D8@ha
/* 801C7EE8 001C3B48  38 A0 FF F6 */	li r5, -10
/* 801C7EEC 001C3B4C  38 84 C6 D8 */	addi r4, r4, lbl_803FC6D8@l
/* 801C7EF0 001C3B50  38 84 00 55 */	addi r4, r4, 0x55
/* 801C7EF4 001C3B54  4B FF FE 99 */	bl __str2dec
/* 801C7EF8 001C3B58  48 00 02 D4 */	b lbl_801C81CC
/* 801C7EFC 001C3B5C  3C 80 80 40 */	lis r4, lbl_803FC6D8@ha
/* 801C7F00 001C3B60  38 A0 FF FB */	li r5, -5
/* 801C7F04 001C3B64  38 84 C6 D8 */	addi r4, r4, lbl_803FC6D8@l
/* 801C7F08 001C3B68  38 84 00 6D */	addi r4, r4, 0x6d
/* 801C7F0C 001C3B6C  4B FF FE 81 */	bl __str2dec
/* 801C7F10 001C3B70  48 00 02 BC */	b lbl_801C81CC
/* 801C7F14 001C3B74  3C 80 80 40 */	lis r4, lbl_803FC6D8@ha
/* 801C7F18 001C3B78  38 A0 FF FD */	li r5, -3
/* 801C7F1C 001C3B7C  38 84 C6 D8 */	addi r4, r4, lbl_803FC6D8@l
/* 801C7F20 001C3B80  38 84 00 7A */	addi r4, r4, 0x7a
/* 801C7F24 001C3B84  4B FF FE 69 */	bl __str2dec
/* 801C7F28 001C3B88  48 00 02 A4 */	b lbl_801C81CC
/* 801C7F2C 001C3B8C  3C 80 80 40 */	lis r4, lbl_803FC6D8@ha
/* 801C7F30 001C3B90  38 A0 FF FD */	li r5, -3
/* 801C7F34 001C3B94  38 84 C6 D8 */	addi r4, r4, lbl_803FC6D8@l
/* 801C7F38 001C3B98  38 84 00 81 */	addi r4, r4, 0x81
/* 801C7F3C 001C3B9C  4B FF FE 51 */	bl __str2dec
/* 801C7F40 001C3BA0  48 00 02 8C */	b lbl_801C81CC
/* 801C7F44 001C3BA4  3C 80 80 40 */	lis r4, lbl_803FC6D8@ha
/* 801C7F48 001C3BA8  38 A0 FF FE */	li r5, -2
/* 801C7F4C 001C3BAC  38 84 C6 D8 */	addi r4, r4, lbl_803FC6D8@l
/* 801C7F50 001C3BB0  38 84 00 87 */	addi r4, r4, 0x87
/* 801C7F54 001C3BB4  4B FF FE 39 */	bl __str2dec
/* 801C7F58 001C3BB8  48 00 02 74 */	b lbl_801C81CC
/* 801C7F5C 001C3BBC  3C 80 80 40 */	lis r4, lbl_803FC6D8@ha
/* 801C7F60 001C3BC0  38 A0 FF FE */	li r5, -2
/* 801C7F64 001C3BC4  38 84 C6 D8 */	addi r4, r4, lbl_803FC6D8@l
/* 801C7F68 001C3BC8  38 84 00 8D */	addi r4, r4, 0x8d
/* 801C7F6C 001C3BCC  4B FF FE 21 */	bl __str2dec
/* 801C7F70 001C3BD0  48 00 02 5C */	b lbl_801C81CC
/* 801C7F74 001C3BD4  3C 80 80 40 */	lis r4, lbl_803FC6D8@ha
/* 801C7F78 001C3BD8  38 A0 FF FE */	li r5, -2
/* 801C7F7C 001C3BDC  38 84 C6 D8 */	addi r4, r4, lbl_803FC6D8@l
/* 801C7F80 001C3BE0  38 84 00 92 */	addi r4, r4, 0x92
/* 801C7F84 001C3BE4  4B FF FE 09 */	bl __str2dec
/* 801C7F88 001C3BE8  48 00 02 44 */	b lbl_801C81CC
/* 801C7F8C 001C3BEC  3C 80 80 40 */	lis r4, lbl_803FC6D8@ha
/* 801C7F90 001C3BF0  38 A0 FF FF */	li r5, -1
/* 801C7F94 001C3BF4  38 84 C6 D8 */	addi r4, r4, lbl_803FC6D8@l
/* 801C7F98 001C3BF8  38 84 00 96 */	addi r4, r4, 0x96
/* 801C7F9C 001C3BFC  4B FF FD F1 */	bl __str2dec
/* 801C7FA0 001C3C00  48 00 02 2C */	b lbl_801C81CC
/* 801C7FA4 001C3C04  3C 80 80 40 */	lis r4, lbl_803FC6D8@ha
/* 801C7FA8 001C3C08  38 A0 FF FF */	li r5, -1
/* 801C7FAC 001C3C0C  38 84 C6 D8 */	addi r4, r4, lbl_803FC6D8@l
/* 801C7FB0 001C3C10  38 84 00 9A */	addi r4, r4, 0x9a
/* 801C7FB4 001C3C14  4B FF FD D9 */	bl __str2dec
/* 801C7FB8 001C3C18  48 00 02 14 */	b lbl_801C81CC
/* 801C7FBC 001C3C1C  3C 80 80 40 */	lis r4, lbl_803FC6D8@ha
/* 801C7FC0 001C3C20  38 A0 FF FF */	li r5, -1
/* 801C7FC4 001C3C24  38 84 C6 D8 */	addi r4, r4, lbl_803FC6D8@l
/* 801C7FC8 001C3C28  38 84 00 9D */	addi r4, r4, 0x9d
/* 801C7FCC 001C3C2C  4B FF FD C1 */	bl __str2dec
/* 801C7FD0 001C3C30  48 00 01 FC */	b lbl_801C81CC
/* 801C7FD4 001C3C34  3C 80 80 40 */	lis r4, lbl_803FC6D8@ha
/* 801C7FD8 001C3C38  38 A0 00 00 */	li r5, 0
/* 801C7FDC 001C3C3C  38 84 C6 D8 */	addi r4, r4, lbl_803FC6D8@l
/* 801C7FE0 001C3C40  38 84 00 9F */	addi r4, r4, 0x9f
/* 801C7FE4 001C3C44  4B FF FD A9 */	bl __str2dec
/* 801C7FE8 001C3C48  48 00 01 E4 */	b lbl_801C81CC
/* 801C7FEC 001C3C4C  3C 80 80 40 */	lis r4, lbl_803FC6D8@ha
/* 801C7FF0 001C3C50  38 A0 00 00 */	li r5, 0
/* 801C7FF4 001C3C54  38 84 C6 D8 */	addi r4, r4, lbl_803FC6D8@l
/* 801C7FF8 001C3C58  38 84 00 A1 */	addi r4, r4, 0xa1
/* 801C7FFC 001C3C5C  4B FF FD 91 */	bl __str2dec
/* 801C8000 001C3C60  48 00 01 CC */	b lbl_801C81CC
/* 801C8004 001C3C64  3C 80 80 40 */	lis r4, lbl_803FC6D8@ha
/* 801C8008 001C3C68  38 A0 00 00 */	li r5, 0
/* 801C800C 001C3C6C  38 84 C6 D8 */	addi r4, r4, lbl_803FC6D8@l
/* 801C8010 001C3C70  38 84 00 A3 */	addi r4, r4, 0xa3
/* 801C8014 001C3C74  4B FF FD 79 */	bl __str2dec
/* 801C8018 001C3C78  48 00 01 B4 */	b lbl_801C81CC
/* 801C801C 001C3C7C  3C 80 80 40 */	lis r4, lbl_803FC6D8@ha
/* 801C8020 001C3C80  38 A0 00 00 */	li r5, 0
/* 801C8024 001C3C84  38 84 C6 D8 */	addi r4, r4, lbl_803FC6D8@l
/* 801C8028 001C3C88  38 84 00 A5 */	addi r4, r4, 0xa5
/* 801C802C 001C3C8C  4B FF FD 61 */	bl __str2dec
/* 801C8030 001C3C90  48 00 01 9C */	b lbl_801C81CC
/* 801C8034 001C3C94  3C 80 80 40 */	lis r4, lbl_803FC6D8@ha
/* 801C8038 001C3C98  38 A0 00 01 */	li r5, 1
/* 801C803C 001C3C9C  38 84 C6 D8 */	addi r4, r4, lbl_803FC6D8@l
/* 801C8040 001C3CA0  38 84 00 A7 */	addi r4, r4, 0xa7
/* 801C8044 001C3CA4  4B FF FD 49 */	bl __str2dec
/* 801C8048 001C3CA8  48 00 01 84 */	b lbl_801C81CC
/* 801C804C 001C3CAC  3C 80 80 40 */	lis r4, lbl_803FC6D8@ha
/* 801C8050 001C3CB0  38 A0 00 01 */	li r5, 1
/* 801C8054 001C3CB4  38 84 C6 D8 */	addi r4, r4, lbl_803FC6D8@l
/* 801C8058 001C3CB8  38 84 00 AA */	addi r4, r4, 0xaa
/* 801C805C 001C3CBC  4B FF FD 31 */	bl __str2dec
/* 801C8060 001C3CC0  48 00 01 6C */	b lbl_801C81CC
/* 801C8064 001C3CC4  3C 80 80 40 */	lis r4, lbl_803FC6D8@ha
/* 801C8068 001C3CC8  38 A0 00 01 */	li r5, 1
/* 801C806C 001C3CCC  38 84 C6 D8 */	addi r4, r4, lbl_803FC6D8@l
/* 801C8070 001C3CD0  38 84 00 AD */	addi r4, r4, 0xad
/* 801C8074 001C3CD4  4B FF FD 19 */	bl __str2dec
/* 801C8078 001C3CD8  48 00 01 54 */	b lbl_801C81CC
/* 801C807C 001C3CDC  3C 80 80 40 */	lis r4, lbl_803FC6D8@ha
/* 801C8080 001C3CE0  38 A0 00 02 */	li r5, 2
/* 801C8084 001C3CE4  38 84 C6 D8 */	addi r4, r4, lbl_803FC6D8@l
/* 801C8088 001C3CE8  38 84 00 B0 */	addi r4, r4, 0xb0
/* 801C808C 001C3CEC  4B FF FD 01 */	bl __str2dec
/* 801C8090 001C3CF0  48 00 01 3C */	b lbl_801C81CC
/* 801C8094 001C3CF4  3C 80 80 40 */	lis r4, lbl_803FC6D8@ha
/* 801C8098 001C3CF8  38 A0 00 02 */	li r5, 2
/* 801C809C 001C3CFC  38 84 C6 D8 */	addi r4, r4, lbl_803FC6D8@l
/* 801C80A0 001C3D00  38 84 00 B4 */	addi r4, r4, 0xb4
/* 801C80A4 001C3D04  4B FF FC E9 */	bl __str2dec
/* 801C80A8 001C3D08  48 00 01 24 */	b lbl_801C81CC
lbl_801C80AC:
/* 801C80AC 001C3D0C  54 80 0F FE */	srwi r0, r4, 0x1f
/* 801C80B0 001C3D10  38 61 00 34 */	addi r3, r1, 0x34
/* 801C80B4 001C3D14  7C 00 22 14 */	add r0, r0, r4
/* 801C80B8 001C3D18  7C 04 0E 70 */	srawi r4, r0, 1
/* 801C80BC 001C3D1C  4B FF FD BD */	bl __two_exp
/* 801C80C0 001C3D20  38 81 00 34 */	addi r4, r1, 0x34
/* 801C80C4 001C3D24  7F E3 FB 78 */	mr r3, r31
/* 801C80C8 001C3D28  7C 85 23 78 */	mr r5, r4
/* 801C80CC 001C3D2C  4B FF FA 39 */	bl __timesdec
/* 801C80D0 001C3D30  57 C0 07 FF */	clrlwi. r0, r30, 0x1f
/* 801C80D4 001C3D34  41 82 00 F8 */	beq lbl_801C81CC
/* 801C80D8 001C3D38  A0 7F 00 00 */	lhz r3, 0(r31)
/* 801C80DC 001C3D3C  2C 1E 00 00 */	cmpwi r30, 0
/* 801C80E0 001C3D40  A0 1F 00 02 */	lhz r0, 2(r31)
/* 801C80E4 001C3D44  B0 61 00 08 */	sth r3, 8(r1)
/* 801C80E8 001C3D48  B0 01 00 0A */	sth r0, 0xa(r1)
/* 801C80EC 001C3D4C  A0 7F 00 04 */	lhz r3, 4(r31)
/* 801C80F0 001C3D50  A0 1F 00 06 */	lhz r0, 6(r31)
/* 801C80F4 001C3D54  B0 61 00 0C */	sth r3, 0xc(r1)
/* 801C80F8 001C3D58  B0 01 00 0E */	sth r0, 0xe(r1)
/* 801C80FC 001C3D5C  A0 7F 00 08 */	lhz r3, 8(r31)
/* 801C8100 001C3D60  A0 1F 00 0A */	lhz r0, 0xa(r31)
/* 801C8104 001C3D64  B0 61 00 10 */	sth r3, 0x10(r1)
/* 801C8108 001C3D68  B0 01 00 12 */	sth r0, 0x12(r1)
/* 801C810C 001C3D6C  A0 7F 00 0C */	lhz r3, 0xc(r31)
/* 801C8110 001C3D70  A0 1F 00 0E */	lhz r0, 0xe(r31)
/* 801C8114 001C3D74  B0 61 00 14 */	sth r3, 0x14(r1)
/* 801C8118 001C3D78  B0 01 00 16 */	sth r0, 0x16(r1)
/* 801C811C 001C3D7C  A0 7F 00 10 */	lhz r3, 0x10(r31)
/* 801C8120 001C3D80  A0 1F 00 12 */	lhz r0, 0x12(r31)
/* 801C8124 001C3D84  B0 61 00 18 */	sth r3, 0x18(r1)
/* 801C8128 001C3D88  B0 01 00 1A */	sth r0, 0x1a(r1)
/* 801C812C 001C3D8C  A0 7F 00 14 */	lhz r3, 0x14(r31)
/* 801C8130 001C3D90  A0 1F 00 16 */	lhz r0, 0x16(r31)
/* 801C8134 001C3D94  B0 61 00 1C */	sth r3, 0x1c(r1)
/* 801C8138 001C3D98  B0 01 00 1E */	sth r0, 0x1e(r1)
/* 801C813C 001C3D9C  A0 7F 00 18 */	lhz r3, 0x18(r31)
/* 801C8140 001C3DA0  A0 1F 00 1A */	lhz r0, 0x1a(r31)
/* 801C8144 001C3DA4  B0 61 00 20 */	sth r3, 0x20(r1)
/* 801C8148 001C3DA8  B0 01 00 22 */	sth r0, 0x22(r1)
/* 801C814C 001C3DAC  A0 7F 00 1C */	lhz r3, 0x1c(r31)
/* 801C8150 001C3DB0  A0 1F 00 1E */	lhz r0, 0x1e(r31)
/* 801C8154 001C3DB4  B0 61 00 24 */	sth r3, 0x24(r1)
/* 801C8158 001C3DB8  B0 01 00 26 */	sth r0, 0x26(r1)
/* 801C815C 001C3DBC  A0 7F 00 20 */	lhz r3, 0x20(r31)
/* 801C8160 001C3DC0  A0 1F 00 22 */	lhz r0, 0x22(r31)
/* 801C8164 001C3DC4  B0 61 00 28 */	sth r3, 0x28(r1)
/* 801C8168 001C3DC8  B0 01 00 2A */	sth r0, 0x2a(r1)
/* 801C816C 001C3DCC  A0 7F 00 24 */	lhz r3, 0x24(r31)
/* 801C8170 001C3DD0  A0 1F 00 26 */	lhz r0, 0x26(r31)
/* 801C8174 001C3DD4  B0 61 00 2C */	sth r3, 0x2c(r1)
/* 801C8178 001C3DD8  B0 01 00 2E */	sth r0, 0x2e(r1)
/* 801C817C 001C3DDC  A0 1F 00 28 */	lhz r0, 0x28(r31)
/* 801C8180 001C3DE0  B0 01 00 30 */	sth r0, 0x30(r1)
/* 801C8184 001C3DE4  40 81 00 20 */	ble lbl_801C81A4
/* 801C8188 001C3DE8  3C 80 80 40 */	lis r4, lbl_803FC6D8@ha
/* 801C818C 001C3DEC  38 61 00 34 */	addi r3, r1, 0x34
/* 801C8190 001C3DF0  38 84 C6 D8 */	addi r4, r4, lbl_803FC6D8@l
/* 801C8194 001C3DF4  38 A0 00 00 */	li r5, 0
/* 801C8198 001C3DF8  38 84 00 A1 */	addi r4, r4, 0xa1
/* 801C819C 001C3DFC  4B FF FB F1 */	bl __str2dec
/* 801C81A0 001C3E00  48 00 00 1C */	b lbl_801C81BC
lbl_801C81A4:
/* 801C81A4 001C3E04  3C 80 80 40 */	lis r4, lbl_803FC6D8@ha
/* 801C81A8 001C3E08  38 61 00 34 */	addi r3, r1, 0x34
/* 801C81AC 001C3E0C  38 84 C6 D8 */	addi r4, r4, lbl_803FC6D8@l
/* 801C81B0 001C3E10  38 A0 FF FF */	li r5, -1
/* 801C81B4 001C3E14  38 84 00 9D */	addi r4, r4, 0x9d
/* 801C81B8 001C3E18  4B FF FB D5 */	bl __str2dec
lbl_801C81BC:
/* 801C81BC 001C3E1C  7F E3 FB 78 */	mr r3, r31
/* 801C81C0 001C3E20  38 81 00 08 */	addi r4, r1, 8
/* 801C81C4 001C3E24  38 A1 00 34 */	addi r5, r1, 0x34
/* 801C81C8 001C3E28  4B FF F9 3D */	bl __timesdec
lbl_801C81CC:
/* 801C81CC 001C3E2C  80 01 00 74 */	lwz r0, 0x74(r1)
/* 801C81D0 001C3E30  83 E1 00 6C */	lwz r31, 0x6c(r1)
/* 801C81D4 001C3E34  83 C1 00 68 */	lwz r30, 0x68(r1)
/* 801C81D8 001C3E38  7C 08 03 A6 */	mtlr r0
/* 801C81DC 001C3E3C  38 21 00 70 */	addi r1, r1, 0x70
/* 801C81E0 001C3E40  4E 80 00 20 */	blr

.global __equals_dec
__equals_dec:
/* 801C81E4 001C3E44  88 A3 00 05 */	lbz r5, 5(r3)
/* 801C81E8 001C3E48  2C 05 00 00 */	cmpwi r5, 0
/* 801C81EC 001C3E4C  40 82 00 14 */	bne lbl_801C8200
/* 801C81F0 001C3E50  88 04 00 05 */	lbz r0, 5(r4)
/* 801C81F4 001C3E54  7C 00 00 34 */	cntlzw r0, r0
/* 801C81F8 001C3E58  54 03 D9 7E */	srwi r3, r0, 5
/* 801C81FC 001C3E5C  4E 80 00 20 */	blr
lbl_801C8200:
/* 801C8200 001C3E60  88 04 00 05 */	lbz r0, 5(r4)
/* 801C8204 001C3E64  2C 00 00 00 */	cmpwi r0, 0
/* 801C8208 001C3E68  40 82 00 10 */	bne lbl_801C8218
/* 801C820C 001C3E6C  7C A0 00 34 */	cntlzw r0, r5
/* 801C8210 001C3E70  54 03 D9 7E */	srwi r3, r0, 5
/* 801C8214 001C3E74  4E 80 00 20 */	blr
lbl_801C8218:
/* 801C8218 001C3E78  A8 A3 00 02 */	lha r5, 2(r3)
/* 801C821C 001C3E7C  A8 04 00 02 */	lha r0, 2(r4)
/* 801C8220 001C3E80  7C 05 00 00 */	cmpw r5, r0
/* 801C8224 001C3E84  40 82 00 9C */	bne lbl_801C82C0
/* 801C8228 001C3E88  88 E3 00 04 */	lbz r7, 4(r3)
/* 801C822C 001C3E8C  88 04 00 04 */	lbz r0, 4(r4)
/* 801C8230 001C3E90  7C E9 3B 78 */	mr r9, r7
/* 801C8234 001C3E94  7C 07 00 00 */	cmpw r7, r0
/* 801C8238 001C3E98  40 81 00 08 */	ble lbl_801C8240
/* 801C823C 001C3E9C  7C 09 03 78 */	mr r9, r0
lbl_801C8240:
/* 801C8240 001C3EA0  39 00 00 00 */	li r8, 0
/* 801C8244 001C3EA4  7D 29 03 A6 */	mtctr r9
/* 801C8248 001C3EA8  2C 09 00 00 */	cmpwi r9, 0
/* 801C824C 001C3EAC  40 81 00 2C */	ble lbl_801C8278
lbl_801C8250:
/* 801C8250 001C3EB0  7C C3 42 14 */	add r6, r3, r8
/* 801C8254 001C3EB4  7C A4 42 14 */	add r5, r4, r8
/* 801C8258 001C3EB8  88 C6 00 05 */	lbz r6, 5(r6)
/* 801C825C 001C3EBC  88 05 00 05 */	lbz r0, 5(r5)
/* 801C8260 001C3EC0  7C 06 00 40 */	cmplw r6, r0
/* 801C8264 001C3EC4  41 82 00 0C */	beq lbl_801C8270
/* 801C8268 001C3EC8  38 60 00 00 */	li r3, 0
/* 801C826C 001C3ECC  4E 80 00 20 */	blr
lbl_801C8270:
/* 801C8270 001C3ED0  39 08 00 01 */	addi r8, r8, 1
/* 801C8274 001C3ED4  42 00 FF DC */	bdnz lbl_801C8250
lbl_801C8278:
/* 801C8278 001C3ED8  7C 09 38 00 */	cmpw r9, r7
/* 801C827C 001C3EDC  40 82 00 08 */	bne lbl_801C8284
/* 801C8280 001C3EE0  7C 83 23 78 */	mr r3, r4
lbl_801C8284:
/* 801C8284 001C3EE4  88 83 00 04 */	lbz r4, 4(r3)
/* 801C8288 001C3EE8  7C 08 20 50 */	subf r0, r8, r4
/* 801C828C 001C3EEC  7C 09 03 A6 */	mtctr r0
/* 801C8290 001C3EF0  7C 08 20 00 */	cmpw r8, r4
/* 801C8294 001C3EF4  40 80 00 24 */	bge lbl_801C82B8
lbl_801C8298:
/* 801C8298 001C3EF8  7C 83 42 14 */	add r4, r3, r8
/* 801C829C 001C3EFC  88 04 00 05 */	lbz r0, 5(r4)
/* 801C82A0 001C3F00  2C 00 00 00 */	cmpwi r0, 0
/* 801C82A4 001C3F04  41 82 00 0C */	beq lbl_801C82B0
/* 801C82A8 001C3F08  38 60 00 00 */	li r3, 0
/* 801C82AC 001C3F0C  4E 80 00 20 */	blr
lbl_801C82B0:
/* 801C82B0 001C3F10  39 08 00 01 */	addi r8, r8, 1
/* 801C82B4 001C3F14  42 00 FF E4 */	bdnz lbl_801C8298
lbl_801C82B8:
/* 801C82B8 001C3F18  38 60 00 01 */	li r3, 1
/* 801C82BC 001C3F1C  4E 80 00 20 */	blr
lbl_801C82C0:
/* 801C82C0 001C3F20  38 60 00 00 */	li r3, 0
/* 801C82C4 001C3F24  4E 80 00 20 */	blr

.global __less_dec
__less_dec:
/* 801C82C8 001C3F28  88 03 00 05 */	lbz r0, 5(r3)
/* 801C82CC 001C3F2C  2C 00 00 00 */	cmpwi r0, 0
/* 801C82D0 001C3F30  40 82 00 18 */	bne lbl_801C82E8
/* 801C82D4 001C3F34  88 64 00 05 */	lbz r3, 5(r4)
/* 801C82D8 001C3F38  7C 03 00 D0 */	neg r0, r3
/* 801C82DC 001C3F3C  7C 00 1B 78 */	or r0, r0, r3
/* 801C82E0 001C3F40  54 03 0F FE */	srwi r3, r0, 0x1f
/* 801C82E4 001C3F44  4E 80 00 20 */	blr
lbl_801C82E8:
/* 801C82E8 001C3F48  88 04 00 05 */	lbz r0, 5(r4)
/* 801C82EC 001C3F4C  2C 00 00 00 */	cmpwi r0, 0
/* 801C82F0 001C3F50  40 82 00 0C */	bne lbl_801C82FC
/* 801C82F4 001C3F54  38 60 00 00 */	li r3, 0
/* 801C82F8 001C3F58  4E 80 00 20 */	blr
lbl_801C82FC:
/* 801C82FC 001C3F5C  A8 A4 00 02 */	lha r5, 2(r4)
/* 801C8300 001C3F60  A8 03 00 02 */	lha r0, 2(r3)
/* 801C8304 001C3F64  7C 00 28 00 */	cmpw r0, r5
/* 801C8308 001C3F68  40 82 00 A8 */	bne lbl_801C83B0
/* 801C830C 001C3F6C  88 E3 00 04 */	lbz r7, 4(r3)
/* 801C8310 001C3F70  88 04 00 04 */	lbz r0, 4(r4)
/* 801C8314 001C3F74  7C E9 3B 78 */	mr r9, r7
/* 801C8318 001C3F78  7C 07 00 00 */	cmpw r7, r0
/* 801C831C 001C3F7C  40 81 00 08 */	ble lbl_801C8324
/* 801C8320 001C3F80  7C 09 03 78 */	mr r9, r0
lbl_801C8324:
/* 801C8324 001C3F84  39 00 00 00 */	li r8, 0
/* 801C8328 001C3F88  7D 29 03 A6 */	mtctr r9
/* 801C832C 001C3F8C  2C 09 00 00 */	cmpwi r9, 0
/* 801C8330 001C3F90  40 81 00 3C */	ble lbl_801C836C
lbl_801C8334:
/* 801C8334 001C3F94  7C C4 42 14 */	add r6, r4, r8
/* 801C8338 001C3F98  7C A3 42 14 */	add r5, r3, r8
/* 801C833C 001C3F9C  88 C6 00 05 */	lbz r6, 5(r6)
/* 801C8340 001C3FA0  88 05 00 05 */	lbz r0, 5(r5)
/* 801C8344 001C3FA4  7C 00 30 40 */	cmplw r0, r6
/* 801C8348 001C3FA8  40 80 00 0C */	bge lbl_801C8354
/* 801C834C 001C3FAC  38 60 00 01 */	li r3, 1
/* 801C8350 001C3FB0  4E 80 00 20 */	blr
lbl_801C8354:
/* 801C8354 001C3FB4  7C 06 00 40 */	cmplw r6, r0
/* 801C8358 001C3FB8  40 80 00 0C */	bge lbl_801C8364
/* 801C835C 001C3FBC  38 60 00 00 */	li r3, 0
/* 801C8360 001C3FC0  4E 80 00 20 */	blr
lbl_801C8364:
/* 801C8364 001C3FC4  39 08 00 01 */	addi r8, r8, 1
/* 801C8368 001C3FC8  42 00 FF CC */	bdnz lbl_801C8334
lbl_801C836C:
/* 801C836C 001C3FCC  7C 09 38 00 */	cmpw r9, r7
/* 801C8370 001C3FD0  40 82 00 38 */	bne lbl_801C83A8
/* 801C8374 001C3FD4  88 64 00 04 */	lbz r3, 4(r4)
/* 801C8378 001C3FD8  7C 08 18 50 */	subf r0, r8, r3
/* 801C837C 001C3FDC  7C 09 03 A6 */	mtctr r0
/* 801C8380 001C3FE0  7C 08 18 00 */	cmpw r8, r3
/* 801C8384 001C3FE4  40 80 00 24 */	bge lbl_801C83A8
lbl_801C8388:
/* 801C8388 001C3FE8  7C 64 42 14 */	add r3, r4, r8
/* 801C838C 001C3FEC  88 03 00 05 */	lbz r0, 5(r3)
/* 801C8390 001C3FF0  2C 00 00 00 */	cmpwi r0, 0
/* 801C8394 001C3FF4  41 82 00 0C */	beq lbl_801C83A0
/* 801C8398 001C3FF8  38 60 00 01 */	li r3, 1
/* 801C839C 001C3FFC  4E 80 00 20 */	blr
lbl_801C83A0:
/* 801C83A0 001C4000  39 08 00 01 */	addi r8, r8, 1
/* 801C83A4 001C4004  42 00 FF E4 */	bdnz lbl_801C8388
lbl_801C83A8:
/* 801C83A8 001C4008  38 60 00 00 */	li r3, 0
/* 801C83AC 001C400C  4E 80 00 20 */	blr
lbl_801C83B0:
/* 801C83B0 001C4010  7C A0 02 78 */	xor r0, r5, r0
/* 801C83B4 001C4014  7C 03 0E 70 */	srawi r3, r0, 1
/* 801C83B8 001C4018  7C 00 28 38 */	and r0, r0, r5
/* 801C83BC 001C401C  7C 00 18 50 */	subf r0, r0, r3
/* 801C83C0 001C4020  54 03 0F FE */	srwi r3, r0, 0x1f
/* 801C83C4 001C4024  4E 80 00 20 */	blr

.global __minus_dec
__minus_dec:
/* 801C83C8 001C4028  94 21 FF C0 */	stwu r1, -0x40(r1)
/* 801C83CC 001C402C  A1 84 00 1A */	lhz r12, 0x1a(r4)
/* 801C83D0 001C4030  BE 61 00 0C */	stmw r19, 0xc(r1)
/* 801C83D4 001C4034  A2 64 00 00 */	lhz r19, 0(r4)
/* 801C83D8 001C4038  A2 84 00 02 */	lhz r20, 2(r4)
/* 801C83DC 001C403C  A2 A4 00 04 */	lhz r21, 4(r4)
/* 801C83E0 001C4040  A2 C4 00 06 */	lhz r22, 6(r4)
/* 801C83E4 001C4044  A2 E4 00 08 */	lhz r23, 8(r4)
/* 801C83E8 001C4048  A3 04 00 0A */	lhz r24, 0xa(r4)
/* 801C83EC 001C404C  A3 24 00 0C */	lhz r25, 0xc(r4)
/* 801C83F0 001C4050  A3 44 00 0E */	lhz r26, 0xe(r4)
/* 801C83F4 001C4054  A3 64 00 10 */	lhz r27, 0x10(r4)
/* 801C83F8 001C4058  A3 84 00 12 */	lhz r28, 0x12(r4)
/* 801C83FC 001C405C  A3 A4 00 14 */	lhz r29, 0x14(r4)
/* 801C8400 001C4060  A3 C4 00 16 */	lhz r30, 0x16(r4)
/* 801C8404 001C4064  A3 E4 00 18 */	lhz r31, 0x18(r4)
/* 801C8408 001C4068  A1 64 00 1C */	lhz r11, 0x1c(r4)
/* 801C840C 001C406C  A1 44 00 1E */	lhz r10, 0x1e(r4)
/* 801C8410 001C4070  A1 24 00 20 */	lhz r9, 0x20(r4)
/* 801C8414 001C4074  A1 04 00 22 */	lhz r8, 0x22(r4)
/* 801C8418 001C4078  A0 E4 00 24 */	lhz r7, 0x24(r4)
/* 801C841C 001C407C  A0 C4 00 26 */	lhz r6, 0x26(r4)
/* 801C8420 001C4080  A0 04 00 28 */	lhz r0, 0x28(r4)
/* 801C8424 001C4084  B2 63 00 00 */	sth r19, 0(r3)
/* 801C8428 001C4088  B2 83 00 02 */	sth r20, 2(r3)
/* 801C842C 001C408C  B2 A3 00 04 */	sth r21, 4(r3)
/* 801C8430 001C4090  B2 C3 00 06 */	sth r22, 6(r3)
/* 801C8434 001C4094  B2 E3 00 08 */	sth r23, 8(r3)
/* 801C8438 001C4098  B3 03 00 0A */	sth r24, 0xa(r3)
/* 801C843C 001C409C  B3 23 00 0C */	sth r25, 0xc(r3)
/* 801C8440 001C40A0  B3 43 00 0E */	sth r26, 0xe(r3)
/* 801C8444 001C40A4  B3 63 00 10 */	sth r27, 0x10(r3)
/* 801C8448 001C40A8  B3 83 00 12 */	sth r28, 0x12(r3)
/* 801C844C 001C40AC  B3 A3 00 14 */	sth r29, 0x14(r3)
/* 801C8450 001C40B0  B3 C3 00 16 */	sth r30, 0x16(r3)
/* 801C8454 001C40B4  B3 E3 00 18 */	sth r31, 0x18(r3)
/* 801C8458 001C40B8  B1 83 00 1A */	sth r12, 0x1a(r3)
/* 801C845C 001C40BC  B1 63 00 1C */	sth r11, 0x1c(r3)
/* 801C8460 001C40C0  B1 43 00 1E */	sth r10, 0x1e(r3)
/* 801C8464 001C40C4  B1 23 00 20 */	sth r9, 0x20(r3)
/* 801C8468 001C40C8  B1 03 00 22 */	sth r8, 0x22(r3)
/* 801C846C 001C40CC  B0 E3 00 24 */	sth r7, 0x24(r3)
/* 801C8470 001C40D0  B0 C3 00 26 */	sth r6, 0x26(r3)
/* 801C8474 001C40D4  B0 03 00 28 */	sth r0, 0x28(r3)
/* 801C8478 001C40D8  88 05 00 05 */	lbz r0, 5(r5)
/* 801C847C 001C40DC  2C 00 00 00 */	cmpwi r0, 0
/* 801C8480 001C40E0  41 82 04 58 */	beq lbl_801C88D8
/* 801C8484 001C40E4  89 03 00 04 */	lbz r8, 4(r3)
/* 801C8488 001C40E8  88 05 00 04 */	lbz r0, 4(r5)
/* 801C848C 001C40EC  7C 08 00 00 */	cmpw r8, r0
/* 801C8490 001C40F0  40 80 00 08 */	bge lbl_801C8498
/* 801C8494 001C40F4  7C 08 03 78 */	mr r8, r0
lbl_801C8498:
/* 801C8498 001C40F8  A8 85 00 02 */	lha r4, 2(r5)
/* 801C849C 001C40FC  A8 03 00 02 */	lha r0, 2(r3)
/* 801C84A0 001C4100  7C 04 00 50 */	subf r0, r4, r0
/* 801C84A4 001C4104  7D 08 02 14 */	add r8, r8, r0
/* 801C84A8 001C4108  2C 08 00 24 */	cmpwi r8, 0x24
/* 801C84AC 001C410C  40 81 00 08 */	ble lbl_801C84B4
/* 801C84B0 001C4110  39 00 00 24 */	li r8, 0x24
lbl_801C84B4:
/* 801C84B4 001C4114  38 E0 00 00 */	li r7, 0
/* 801C84B8 001C4118  48 00 00 18 */	b lbl_801C84D0
lbl_801C84BC:
/* 801C84BC 001C411C  88 C3 00 04 */	lbz r6, 4(r3)
/* 801C84C0 001C4120  7C 83 32 14 */	add r4, r3, r6
/* 801C84C4 001C4124  38 C6 00 01 */	addi r6, r6, 1
/* 801C84C8 001C4128  98 E4 00 05 */	stb r7, 5(r4)
/* 801C84CC 001C412C  98 C3 00 04 */	stb r6, 4(r3)
lbl_801C84D0:
/* 801C84D0 001C4130  88 83 00 04 */	lbz r4, 4(r3)
/* 801C84D4 001C4134  7C 04 40 00 */	cmpw r4, r8
/* 801C84D8 001C4138  41 80 FF E4 */	blt lbl_801C84BC
/* 801C84DC 001C413C  88 E5 00 04 */	lbz r7, 4(r5)
/* 801C84E0 001C4140  38 83 00 05 */	addi r4, r3, 5
/* 801C84E4 001C4144  7C C4 42 14 */	add r6, r4, r8
/* 801C84E8 001C4148  7C E7 02 14 */	add r7, r7, r0
/* 801C84EC 001C414C  7C 07 40 00 */	cmpw r7, r8
/* 801C84F0 001C4150  40 80 00 08 */	bge lbl_801C84F8
/* 801C84F4 001C4154  7C C4 3A 14 */	add r6, r4, r7
lbl_801C84F8:
/* 801C84F8 001C4158  7C E4 30 50 */	subf r7, r4, r6
/* 801C84FC 001C415C  39 25 00 05 */	addi r9, r5, 5
/* 801C8500 001C4160  7C E0 38 50 */	subf r7, r0, r7
/* 801C8504 001C4164  7D 49 3A 14 */	add r10, r9, r7
/* 801C8508 001C4168  7D 4B 53 78 */	mr r11, r10
/* 801C850C 001C416C  48 00 01 24 */	b lbl_801C8630
lbl_801C8510:
/* 801C8510 001C4170  8D 06 FF FF */	lbzu r8, -1(r6)
/* 801C8514 001C4174  8C EA FF FF */	lbzu r7, -1(r10)
/* 801C8518 001C4178  7C 08 38 40 */	cmplw r8, r7
/* 801C851C 001C417C  40 80 01 04 */	bge lbl_801C8620
/* 801C8520 001C4180  39 86 FF FF */	addi r12, r6, -1
/* 801C8524 001C4184  48 00 00 08 */	b lbl_801C852C
lbl_801C8528:
/* 801C8528 001C4188  39 8C FF FF */	addi r12, r12, -1
lbl_801C852C:
/* 801C852C 001C418C  88 EC 00 00 */	lbz r7, 0(r12)
/* 801C8530 001C4190  2C 07 00 00 */	cmpwi r7, 0
/* 801C8534 001C4194  41 82 FF F4 */	beq lbl_801C8528
/* 801C8538 001C4198  7C 0C 30 40 */	cmplw r12, r6
/* 801C853C 001C419C  7D 0C 30 50 */	subf r8, r12, r6
/* 801C8540 001C41A0  41 82 00 E0 */	beq lbl_801C8620
/* 801C8544 001C41A4  55 07 E8 FF */	rlwinm. r7, r8, 0x1d, 3, 0x1f
/* 801C8548 001C41A8  7C E9 03 A6 */	mtctr r7
/* 801C854C 001C41AC  41 82 00 B4 */	beq lbl_801C8600
lbl_801C8550:
/* 801C8550 001C41B0  88 EC 00 00 */	lbz r7, 0(r12)
/* 801C8554 001C41B4  38 E7 FF FF */	addi r7, r7, -1
/* 801C8558 001C41B8  98 EC 00 00 */	stb r7, 0(r12)
/* 801C855C 001C41BC  88 EC 00 01 */	lbz r7, 1(r12)
/* 801C8560 001C41C0  38 E7 00 0A */	addi r7, r7, 0xa
/* 801C8564 001C41C4  54 E7 06 3E */	clrlwi r7, r7, 0x18
/* 801C8568 001C41C8  38 E7 FF FF */	addi r7, r7, -1
/* 801C856C 001C41CC  98 EC 00 01 */	stb r7, 1(r12)
/* 801C8570 001C41D0  88 EC 00 02 */	lbz r7, 2(r12)
/* 801C8574 001C41D4  38 E7 00 0A */	addi r7, r7, 0xa
/* 801C8578 001C41D8  54 E7 06 3E */	clrlwi r7, r7, 0x18
/* 801C857C 001C41DC  38 E7 FF FF */	addi r7, r7, -1
/* 801C8580 001C41E0  98 EC 00 02 */	stb r7, 2(r12)
/* 801C8584 001C41E4  88 EC 00 03 */	lbz r7, 3(r12)
/* 801C8588 001C41E8  38 E7 00 0A */	addi r7, r7, 0xa
/* 801C858C 001C41EC  54 E7 06 3E */	clrlwi r7, r7, 0x18
/* 801C8590 001C41F0  38 E7 FF FF */	addi r7, r7, -1
/* 801C8594 001C41F4  98 EC 00 03 */	stb r7, 3(r12)
/* 801C8598 001C41F8  88 EC 00 04 */	lbz r7, 4(r12)
/* 801C859C 001C41FC  38 E7 00 0A */	addi r7, r7, 0xa
/* 801C85A0 001C4200  54 E7 06 3E */	clrlwi r7, r7, 0x18
/* 801C85A4 001C4204  38 E7 FF FF */	addi r7, r7, -1
/* 801C85A8 001C4208  98 EC 00 04 */	stb r7, 4(r12)
/* 801C85AC 001C420C  88 EC 00 05 */	lbz r7, 5(r12)
/* 801C85B0 001C4210  38 E7 00 0A */	addi r7, r7, 0xa
/* 801C85B4 001C4214  54 E7 06 3E */	clrlwi r7, r7, 0x18
/* 801C85B8 001C4218  38 E7 FF FF */	addi r7, r7, -1
/* 801C85BC 001C421C  98 EC 00 05 */	stb r7, 5(r12)
/* 801C85C0 001C4220  88 EC 00 06 */	lbz r7, 6(r12)
/* 801C85C4 001C4224  38 E7 00 0A */	addi r7, r7, 0xa
/* 801C85C8 001C4228  54 E7 06 3E */	clrlwi r7, r7, 0x18
/* 801C85CC 001C422C  38 E7 FF FF */	addi r7, r7, -1
/* 801C85D0 001C4230  98 EC 00 06 */	stb r7, 6(r12)
/* 801C85D4 001C4234  88 EC 00 07 */	lbz r7, 7(r12)
/* 801C85D8 001C4238  38 E7 00 0A */	addi r7, r7, 0xa
/* 801C85DC 001C423C  54 E7 06 3E */	clrlwi r7, r7, 0x18
/* 801C85E0 001C4240  38 E7 FF FF */	addi r7, r7, -1
/* 801C85E4 001C4244  98 EC 00 07 */	stb r7, 7(r12)
/* 801C85E8 001C4248  88 EC 00 08 */	lbz r7, 8(r12)
/* 801C85EC 001C424C  38 E7 00 0A */	addi r7, r7, 0xa
/* 801C85F0 001C4250  9C EC 00 08 */	stbu r7, 8(r12)
/* 801C85F4 001C4254  42 00 FF 5C */	bdnz lbl_801C8550
/* 801C85F8 001C4258  71 08 00 07 */	andi. r8, r8, 7
/* 801C85FC 001C425C  41 82 00 24 */	beq lbl_801C8620
lbl_801C8600:
/* 801C8600 001C4260  7D 09 03 A6 */	mtctr r8
lbl_801C8604:
/* 801C8604 001C4264  88 EC 00 00 */	lbz r7, 0(r12)
/* 801C8608 001C4268  38 E7 FF FF */	addi r7, r7, -1
/* 801C860C 001C426C  98 EC 00 00 */	stb r7, 0(r12)
/* 801C8610 001C4270  88 EC 00 01 */	lbz r7, 1(r12)
/* 801C8614 001C4274  38 E7 00 0A */	addi r7, r7, 0xa
/* 801C8618 001C4278  9C EC 00 01 */	stbu r7, 1(r12)
/* 801C861C 001C427C  42 00 FF E8 */	bdnz lbl_801C8604
lbl_801C8620:
/* 801C8620 001C4280  89 0A 00 00 */	lbz r8, 0(r10)
/* 801C8624 001C4284  88 E6 00 00 */	lbz r7, 0(r6)
/* 801C8628 001C4288  7C E8 38 50 */	subf r7, r8, r7
/* 801C862C 001C428C  98 E6 00 00 */	stb r7, 0(r6)
lbl_801C8630:
/* 801C8630 001C4290  7C 06 20 40 */	cmplw r6, r4
/* 801C8634 001C4294  40 81 00 0C */	ble lbl_801C8640
/* 801C8638 001C4298  7C 0A 48 40 */	cmplw r10, r9
/* 801C863C 001C429C  41 81 FE D4 */	bgt lbl_801C8510
lbl_801C8640:
/* 801C8640 001C42A0  89 05 00 04 */	lbz r8, 4(r5)
/* 801C8644 001C42A4  7D 29 58 50 */	subf r9, r9, r11
/* 801C8648 001C42A8  7C 09 40 00 */	cmpw r9, r8
/* 801C864C 001C42AC  40 80 01 88 */	bge lbl_801C87D4
/* 801C8650 001C42B0  88 EB 00 00 */	lbz r7, 0(r11)
/* 801C8654 001C42B4  39 40 00 00 */	li r10, 0
/* 801C8658 001C42B8  28 07 00 05 */	cmplwi r7, 5
/* 801C865C 001C42BC  40 80 00 0C */	bge lbl_801C8668
/* 801C8660 001C42C0  39 40 00 01 */	li r10, 1
/* 801C8664 001C42C4  48 00 00 50 */	b lbl_801C86B4
lbl_801C8668:
/* 801C8668 001C42C8  40 82 00 4C */	bne lbl_801C86B4
/* 801C866C 001C42CC  7C A5 42 14 */	add r5, r5, r8
/* 801C8670 001C42D0  38 CB 00 01 */	addi r6, r11, 1
/* 801C8674 001C42D4  38 E5 00 05 */	addi r7, r5, 5
/* 801C8678 001C42D8  7C A6 38 50 */	subf r5, r6, r7
/* 801C867C 001C42DC  7C A9 03 A6 */	mtctr r5
/* 801C8680 001C42E0  7C 06 38 40 */	cmplw r6, r7
/* 801C8684 001C42E4  40 80 00 18 */	bge lbl_801C869C
lbl_801C8688:
/* 801C8688 001C42E8  88 A6 00 00 */	lbz r5, 0(r6)
/* 801C868C 001C42EC  2C 05 00 00 */	cmpwi r5, 0
/* 801C8690 001C42F0  40 82 01 44 */	bne lbl_801C87D4
/* 801C8694 001C42F4  38 C6 00 01 */	addi r6, r6, 1
/* 801C8698 001C42F8  42 00 FF F0 */	bdnz lbl_801C8688
lbl_801C869C:
/* 801C869C 001C42FC  7C A4 4A 14 */	add r5, r4, r9
/* 801C86A0 001C4300  7C C0 2A 14 */	add r6, r0, r5
/* 801C86A4 001C4304  8C 06 FF FF */	lbzu r0, -1(r6)
/* 801C86A8 001C4308  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 801C86AC 001C430C  41 82 00 08 */	beq lbl_801C86B4
/* 801C86B0 001C4310  39 40 00 01 */	li r10, 1
lbl_801C86B4:
/* 801C86B4 001C4314  2C 0A 00 00 */	cmpwi r10, 0
/* 801C86B8 001C4318  41 82 01 1C */	beq lbl_801C87D4
/* 801C86BC 001C431C  88 06 00 00 */	lbz r0, 0(r6)
/* 801C86C0 001C4320  28 00 00 01 */	cmplwi r0, 1
/* 801C86C4 001C4324  40 80 01 04 */	bge lbl_801C87C8
/* 801C86C8 001C4328  39 06 FF FF */	addi r8, r6, -1
/* 801C86CC 001C432C  48 00 00 08 */	b lbl_801C86D4
lbl_801C86D0:
/* 801C86D0 001C4330  39 08 FF FF */	addi r8, r8, -1
lbl_801C86D4:
/* 801C86D4 001C4334  88 08 00 00 */	lbz r0, 0(r8)
/* 801C86D8 001C4338  2C 00 00 00 */	cmpwi r0, 0
/* 801C86DC 001C433C  41 82 FF F4 */	beq lbl_801C86D0
/* 801C86E0 001C4340  7C 08 30 40 */	cmplw r8, r6
/* 801C86E4 001C4344  7C A8 30 50 */	subf r5, r8, r6
/* 801C86E8 001C4348  41 82 00 E0 */	beq lbl_801C87C8
/* 801C86EC 001C434C  54 A0 E8 FF */	rlwinm. r0, r5, 0x1d, 3, 0x1f
/* 801C86F0 001C4350  7C 09 03 A6 */	mtctr r0
/* 801C86F4 001C4354  41 82 00 B4 */	beq lbl_801C87A8
lbl_801C86F8:
/* 801C86F8 001C4358  88 E8 00 00 */	lbz r7, 0(r8)
/* 801C86FC 001C435C  38 07 FF FF */	addi r0, r7, -1
/* 801C8700 001C4360  98 08 00 00 */	stb r0, 0(r8)
/* 801C8704 001C4364  88 E8 00 01 */	lbz r7, 1(r8)
/* 801C8708 001C4368  38 07 00 0A */	addi r0, r7, 0xa
/* 801C870C 001C436C  54 07 06 3E */	clrlwi r7, r0, 0x18
/* 801C8710 001C4370  38 07 FF FF */	addi r0, r7, -1
/* 801C8714 001C4374  98 08 00 01 */	stb r0, 1(r8)
/* 801C8718 001C4378  88 E8 00 02 */	lbz r7, 2(r8)
/* 801C871C 001C437C  38 07 00 0A */	addi r0, r7, 0xa
/* 801C8720 001C4380  54 07 06 3E */	clrlwi r7, r0, 0x18
/* 801C8724 001C4384  38 07 FF FF */	addi r0, r7, -1
/* 801C8728 001C4388  98 08 00 02 */	stb r0, 2(r8)
/* 801C872C 001C438C  88 E8 00 03 */	lbz r7, 3(r8)
/* 801C8730 001C4390  38 07 00 0A */	addi r0, r7, 0xa
/* 801C8734 001C4394  54 07 06 3E */	clrlwi r7, r0, 0x18
/* 801C8738 001C4398  38 07 FF FF */	addi r0, r7, -1
/* 801C873C 001C439C  98 08 00 03 */	stb r0, 3(r8)
/* 801C8740 001C43A0  88 E8 00 04 */	lbz r7, 4(r8)
/* 801C8744 001C43A4  38 07 00 0A */	addi r0, r7, 0xa
/* 801C8748 001C43A8  54 07 06 3E */	clrlwi r7, r0, 0x18
/* 801C874C 001C43AC  38 07 FF FF */	addi r0, r7, -1
/* 801C8750 001C43B0  98 08 00 04 */	stb r0, 4(r8)
/* 801C8754 001C43B4  88 E8 00 05 */	lbz r7, 5(r8)
/* 801C8758 001C43B8  38 07 00 0A */	addi r0, r7, 0xa
/* 801C875C 001C43BC  54 07 06 3E */	clrlwi r7, r0, 0x18
/* 801C8760 001C43C0  38 07 FF FF */	addi r0, r7, -1
/* 801C8764 001C43C4  98 08 00 05 */	stb r0, 5(r8)
/* 801C8768 001C43C8  88 E8 00 06 */	lbz r7, 6(r8)
/* 801C876C 001C43CC  38 07 00 0A */	addi r0, r7, 0xa
/* 801C8770 001C43D0  54 07 06 3E */	clrlwi r7, r0, 0x18
/* 801C8774 001C43D4  38 07 FF FF */	addi r0, r7, -1
/* 801C8778 001C43D8  98 08 00 06 */	stb r0, 6(r8)
/* 801C877C 001C43DC  88 E8 00 07 */	lbz r7, 7(r8)
/* 801C8780 001C43E0  38 07 00 0A */	addi r0, r7, 0xa
/* 801C8784 001C43E4  54 07 06 3E */	clrlwi r7, r0, 0x18
/* 801C8788 001C43E8  38 07 FF FF */	addi r0, r7, -1
/* 801C878C 001C43EC  98 08 00 07 */	stb r0, 7(r8)
/* 801C8790 001C43F0  88 E8 00 08 */	lbz r7, 8(r8)
/* 801C8794 001C43F4  38 07 00 0A */	addi r0, r7, 0xa
/* 801C8798 001C43F8  9C 08 00 08 */	stbu r0, 8(r8)
/* 801C879C 001C43FC  42 00 FF 5C */	bdnz lbl_801C86F8
/* 801C87A0 001C4400  70 A5 00 07 */	andi. r5, r5, 7
/* 801C87A4 001C4404  41 82 00 24 */	beq lbl_801C87C8
lbl_801C87A8:
/* 801C87A8 001C4408  7C A9 03 A6 */	mtctr r5
lbl_801C87AC:
/* 801C87AC 001C440C  88 E8 00 00 */	lbz r7, 0(r8)
/* 801C87B0 001C4410  38 07 FF FF */	addi r0, r7, -1
/* 801C87B4 001C4414  98 08 00 00 */	stb r0, 0(r8)
/* 801C87B8 001C4418  88 E8 00 01 */	lbz r7, 1(r8)
/* 801C87BC 001C441C  38 07 00 0A */	addi r0, r7, 0xa
/* 801C87C0 001C4420  9C 08 00 01 */	stbu r0, 1(r8)
/* 801C87C4 001C4424  42 00 FF E8 */	bdnz lbl_801C87AC
lbl_801C87C8:
/* 801C87C8 001C4428  88 A6 00 00 */	lbz r5, 0(r6)
/* 801C87CC 001C442C  38 05 FF FF */	addi r0, r5, -1
/* 801C87D0 001C4430  98 06 00 00 */	stb r0, 0(r6)
lbl_801C87D4:
/* 801C87D4 001C4434  7C 87 23 78 */	mr r7, r4
/* 801C87D8 001C4438  48 00 00 08 */	b lbl_801C87E0
lbl_801C87DC:
/* 801C87DC 001C443C  38 E7 00 01 */	addi r7, r7, 1
lbl_801C87E0:
/* 801C87E0 001C4440  88 07 00 00 */	lbz r0, 0(r7)
/* 801C87E4 001C4444  2C 00 00 00 */	cmpwi r0, 0
/* 801C87E8 001C4448  41 82 FF F4 */	beq lbl_801C87DC
/* 801C87EC 001C444C  7C 07 20 40 */	cmplw r7, r4
/* 801C87F0 001C4450  40 81 00 B0 */	ble lbl_801C88A0
/* 801C87F4 001C4454  88 03 00 04 */	lbz r0, 4(r3)
/* 801C87F8 001C4458  7C C4 38 50 */	subf r6, r4, r7
/* 801C87FC 001C445C  A8 A3 00 02 */	lha r5, 2(r3)
/* 801C8800 001C4460  54 C8 06 3E */	clrlwi r8, r6, 0x18
/* 801C8804 001C4464  7C C4 02 14 */	add r6, r4, r0
/* 801C8808 001C4468  7C 08 28 50 */	subf r0, r8, r5
/* 801C880C 001C446C  7C 07 30 40 */	cmplw r7, r6
/* 801C8810 001C4470  B0 03 00 02 */	sth r0, 2(r3)
/* 801C8814 001C4474  7C A7 30 50 */	subf r5, r7, r6
/* 801C8818 001C4478  40 80 00 7C */	bge lbl_801C8894
/* 801C881C 001C447C  54 A0 E8 FF */	rlwinm. r0, r5, 0x1d, 3, 0x1f
/* 801C8820 001C4480  7C 09 03 A6 */	mtctr r0
/* 801C8824 001C4484  41 82 00 58 */	beq lbl_801C887C
lbl_801C8828:
/* 801C8828 001C4488  88 07 00 00 */	lbz r0, 0(r7)
/* 801C882C 001C448C  98 04 00 00 */	stb r0, 0(r4)
/* 801C8830 001C4490  88 07 00 01 */	lbz r0, 1(r7)
/* 801C8834 001C4494  98 04 00 01 */	stb r0, 1(r4)
/* 801C8838 001C4498  88 07 00 02 */	lbz r0, 2(r7)
/* 801C883C 001C449C  98 04 00 02 */	stb r0, 2(r4)
/* 801C8840 001C44A0  88 07 00 03 */	lbz r0, 3(r7)
/* 801C8844 001C44A4  98 04 00 03 */	stb r0, 3(r4)
/* 801C8848 001C44A8  88 07 00 04 */	lbz r0, 4(r7)
/* 801C884C 001C44AC  98 04 00 04 */	stb r0, 4(r4)
/* 801C8850 001C44B0  88 07 00 05 */	lbz r0, 5(r7)
/* 801C8854 001C44B4  98 04 00 05 */	stb r0, 5(r4)
/* 801C8858 001C44B8  88 07 00 06 */	lbz r0, 6(r7)
/* 801C885C 001C44BC  98 04 00 06 */	stb r0, 6(r4)
/* 801C8860 001C44C0  88 07 00 07 */	lbz r0, 7(r7)
/* 801C8864 001C44C4  38 E7 00 08 */	addi r7, r7, 8
/* 801C8868 001C44C8  98 04 00 07 */	stb r0, 7(r4)
/* 801C886C 001C44CC  38 84 00 08 */	addi r4, r4, 8
/* 801C8870 001C44D0  42 00 FF B8 */	bdnz lbl_801C8828
/* 801C8874 001C44D4  70 A5 00 07 */	andi. r5, r5, 7
/* 801C8878 001C44D8  41 82 00 1C */	beq lbl_801C8894
lbl_801C887C:
/* 801C887C 001C44DC  7C A9 03 A6 */	mtctr r5
lbl_801C8880:
/* 801C8880 001C44E0  88 07 00 00 */	lbz r0, 0(r7)
/* 801C8884 001C44E4  38 E7 00 01 */	addi r7, r7, 1
/* 801C8888 001C44E8  98 04 00 00 */	stb r0, 0(r4)
/* 801C888C 001C44EC  38 84 00 01 */	addi r4, r4, 1
/* 801C8890 001C44F0  42 00 FF F0 */	bdnz lbl_801C8880
lbl_801C8894:
/* 801C8894 001C44F4  88 03 00 04 */	lbz r0, 4(r3)
/* 801C8898 001C44F8  7C 08 00 50 */	subf r0, r8, r0
/* 801C889C 001C44FC  98 03 00 04 */	stb r0, 4(r3)
lbl_801C88A0:
/* 801C88A0 001C4500  88 03 00 04 */	lbz r0, 4(r3)
/* 801C88A4 001C4504  38 83 00 05 */	addi r4, r3, 5
/* 801C88A8 001C4508  7C A4 02 14 */	add r5, r4, r0
/* 801C88AC 001C450C  7C 04 28 50 */	subf r0, r4, r5
/* 801C88B0 001C4510  7C 09 03 A6 */	mtctr r0
/* 801C88B4 001C4514  7C 05 20 40 */	cmplw r5, r4
/* 801C88B8 001C4518  40 81 00 14 */	ble lbl_801C88CC
lbl_801C88BC:
/* 801C88BC 001C451C  8C 05 FF FF */	lbzu r0, -1(r5)
/* 801C88C0 001C4520  2C 00 00 00 */	cmpwi r0, 0
/* 801C88C4 001C4524  40 82 00 08 */	bne lbl_801C88CC
/* 801C88C8 001C4528  42 00 FF F4 */	bdnz lbl_801C88BC
lbl_801C88CC:
/* 801C88CC 001C452C  7C 84 28 50 */	subf r4, r4, r5
/* 801C88D0 001C4530  38 04 00 01 */	addi r0, r4, 1
/* 801C88D4 001C4534  98 03 00 04 */	stb r0, 4(r3)
lbl_801C88D8:
/* 801C88D8 001C4538  BA 61 00 0C */	lmw r19, 0xc(r1)
/* 801C88DC 001C453C  38 21 00 40 */	addi r1, r1, 0x40
/* 801C88E0 001C4540  4E 80 00 20 */	blr

.global __num2dec_internal
__num2dec_internal:
/* 801C88E4 001C4544  94 21 FF 70 */	stwu r1, -0x90(r1)
/* 801C88E8 001C4548  7C 08 02 A6 */	mflr r0
/* 801C88EC 001C454C  90 01 00 94 */	stw r0, 0x94(r1)
/* 801C88F0 001C4550  DB E1 00 88 */	stfd f31, 0x88(r1)
/* 801C88F4 001C4554  FF E0 08 90 */	fmr f31, f1
/* 801C88F8 001C4558  93 E1 00 84 */	stw r31, 0x84(r1)
/* 801C88FC 001C455C  93 C1 00 80 */	stw r30, 0x80(r1)
/* 801C8900 001C4560  7C 7E 1B 78 */	mr r30, r3
/* 801C8904 001C4564  93 A1 00 7C */	stw r29, 0x7c(r1)
/* 801C8908 001C4568  48 00 1E 11 */	bl __signbitd
/* 801C890C 001C456C  C8 02 90 F8 */	lfd f0, lbl_806416F8-_SDA2_BASE_(r2)
/* 801C8910 001C4570  7C 03 00 D0 */	neg r0, r3
/* 801C8914 001C4574  7C 00 1B 78 */	or r0, r0, r3
/* 801C8918 001C4578  FC 00 F8 00 */	fcmpu cr0, f0, f31
/* 801C891C 001C457C  54 00 0F FE */	srwi r0, r0, 0x1f
/* 801C8920 001C4580  7C 1F 07 74 */	extsb r31, r0
/* 801C8924 001C4584  40 82 00 20 */	bne lbl_801C8944
/* 801C8928 001C4588  38 60 00 00 */	li r3, 0
/* 801C892C 001C458C  38 00 00 01 */	li r0, 1
/* 801C8930 001C4590  9B FE 00 00 */	stb r31, 0(r30)
/* 801C8934 001C4594  B0 7E 00 02 */	sth r3, 2(r30)
/* 801C8938 001C4598  98 1E 00 04 */	stb r0, 4(r30)
/* 801C893C 001C459C  98 7E 00 05 */	stb r3, 5(r30)
/* 801C8940 001C45A0  48 00 00 E8 */	b lbl_801C8A28
lbl_801C8944:
/* 801C8944 001C45A4  FC 20 F8 90 */	fmr f1, f31
/* 801C8948 001C45A8  48 00 1D E9 */	bl __fpclassifyd
/* 801C894C 001C45AC  2C 03 00 02 */	cmpwi r3, 2
/* 801C8950 001C45B0  41 81 00 38 */	bgt lbl_801C8988
/* 801C8954 001C45B4  38 60 00 00 */	li r3, 0
/* 801C8958 001C45B8  38 00 00 01 */	li r0, 1
/* 801C895C 001C45BC  FC 20 F8 90 */	fmr f1, f31
/* 801C8960 001C45C0  9B FE 00 00 */	stb r31, 0(r30)
/* 801C8964 001C45C4  B0 7E 00 02 */	sth r3, 2(r30)
/* 801C8968 001C45C8  98 1E 00 04 */	stb r0, 4(r30)
/* 801C896C 001C45CC  48 00 1D C5 */	bl __fpclassifyd
/* 801C8970 001C45D0  2C 03 00 01 */	cmpwi r3, 1
/* 801C8974 001C45D4  38 00 00 49 */	li r0, 0x49
/* 801C8978 001C45D8  40 82 00 08 */	bne lbl_801C8980
/* 801C897C 001C45DC  38 00 00 4E */	li r0, 0x4e
lbl_801C8980:
/* 801C8980 001C45E0  98 1E 00 05 */	stb r0, 5(r30)
/* 801C8984 001C45E4  48 00 00 A4 */	b lbl_801C8A28
lbl_801C8988:
/* 801C8988 001C45E8  2C 1F 00 00 */	cmpwi r31, 0
/* 801C898C 001C45EC  41 82 00 08 */	beq lbl_801C8994
/* 801C8990 001C45F0  FF E0 F8 50 */	fneg f31, f31
lbl_801C8994:
/* 801C8994 001C45F4  FC 20 F8 90 */	fmr f1, f31
/* 801C8998 001C45F8  38 61 00 08 */	addi r3, r1, 8
/* 801C899C 001C45FC  48 00 B8 F5 */	bl frexp
/* 801C89A0 001C4600  D8 21 00 10 */	stfd f1, 0x10(r1)
/* 801C89A4 001C4604  FF E0 08 90 */	fmr f31, f1
/* 801C89A8 001C4608  80 81 00 14 */	lwz r4, 0x14(r1)
/* 801C89AC 001C460C  80 61 00 10 */	lwz r3, 0x10(r1)
/* 801C89B0 001C4610  38 04 FF FF */	addi r0, r4, -1
/* 801C89B4 001C4614  2C 04 00 00 */	cmpwi r4, 0
/* 801C89B8 001C4618  7C 00 20 78 */	andc r0, r0, r4
/* 801C89BC 001C461C  64 63 00 10 */	oris r3, r3, 0x10
/* 801C89C0 001C4620  7C 00 00 34 */	cntlzw r0, r0
/* 801C89C4 001C4624  20 80 00 20 */	subfic r4, r0, 0x20
/* 801C89C8 001C4628  40 82 00 18 */	bne lbl_801C89E0
/* 801C89CC 001C462C  38 03 FF FF */	addi r0, r3, -1
/* 801C89D0 001C4630  7C 00 18 78 */	andc r0, r0, r3
/* 801C89D4 001C4634  7C 00 00 34 */	cntlzw r0, r0
/* 801C89D8 001C4638  20 60 00 20 */	subfic r3, r0, 0x20
/* 801C89DC 001C463C  38 83 00 20 */	addi r4, r3, 0x20
lbl_801C89E0:
/* 801C89E0 001C4640  80 01 00 08 */	lwz r0, 8(r1)
/* 801C89E4 001C4644  23 A4 00 35 */	subfic r29, r4, 0x35
/* 801C89E8 001C4648  38 61 00 18 */	addi r3, r1, 0x18
/* 801C89EC 001C464C  7C 9D 00 50 */	subf r4, r29, r0
/* 801C89F0 001C4650  4B FF F4 89 */	bl __two_exp
/* 801C89F4 001C4654  FC 20 F8 90 */	fmr f1, f31
/* 801C89F8 001C4658  7F A3 EB 78 */	mr r3, r29
/* 801C89FC 001C465C  48 00 B9 1D */	bl ldexp
/* 801C8A00 001C4660  4B FF ED 19 */	bl __cvt_dbl_ull
/* 801C8A04 001C4664  7C 65 1B 78 */	mr r5, r3
/* 801C8A08 001C4668  7C 86 23 78 */	mr r6, r4
/* 801C8A0C 001C466C  38 61 00 44 */	addi r3, r1, 0x44
/* 801C8A10 001C4670  4B FF F0 19 */	bl __ull2dec
/* 801C8A14 001C4674  7F C3 F3 78 */	mr r3, r30
/* 801C8A18 001C4678  38 81 00 44 */	addi r4, r1, 0x44
/* 801C8A1C 001C467C  38 A1 00 18 */	addi r5, r1, 0x18
/* 801C8A20 001C4680  4B FF F0 E5 */	bl __timesdec
/* 801C8A24 001C4684  9B FE 00 00 */	stb r31, 0(r30)
lbl_801C8A28:
/* 801C8A28 001C4688  80 01 00 94 */	lwz r0, 0x94(r1)
/* 801C8A2C 001C468C  CB E1 00 88 */	lfd f31, 0x88(r1)
/* 801C8A30 001C4690  83 E1 00 84 */	lwz r31, 0x84(r1)
/* 801C8A34 001C4694  83 C1 00 80 */	lwz r30, 0x80(r1)
/* 801C8A38 001C4698  83 A1 00 7C */	lwz r29, 0x7c(r1)
/* 801C8A3C 001C469C  7C 08 03 A6 */	mtlr r0
/* 801C8A40 001C46A0  38 21 00 90 */	addi r1, r1, 0x90
/* 801C8A44 001C46A4  4E 80 00 20 */	blr

.global __num2dec
__num2dec:
/* 801C8A48 001C46A8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 801C8A4C 001C46AC  7C 08 02 A6 */	mflr r0
/* 801C8A50 001C46B0  90 01 00 14 */	stw r0, 0x14(r1)
/* 801C8A54 001C46B4  93 E1 00 0C */	stw r31, 0xc(r1)
/* 801C8A58 001C46B8  AB E3 00 02 */	lha r31, 2(r3)
/* 801C8A5C 001C46BC  93 C1 00 08 */	stw r30, 8(r1)
/* 801C8A60 001C46C0  7C 9E 23 78 */	mr r30, r4
/* 801C8A64 001C46C4  7F C3 F3 78 */	mr r3, r30
/* 801C8A68 001C46C8  4B FF FE 7D */	bl __num2dec_internal
/* 801C8A6C 001C46CC  88 1E 00 05 */	lbz r0, 5(r30)
/* 801C8A70 001C46D0  28 00 00 09 */	cmplwi r0, 9
/* 801C8A74 001C46D4  41 81 01 5C */	bgt lbl_801C8BD0
/* 801C8A78 001C46D8  2C 1F 00 24 */	cmpwi r31, 0x24
/* 801C8A7C 001C46DC  40 81 00 08 */	ble lbl_801C8A84
/* 801C8A80 001C46E0  3B E0 00 24 */	li r31, 0x24
lbl_801C8A84:
/* 801C8A84 001C46E4  2C 1F 00 00 */	cmpwi r31, 0
/* 801C8A88 001C46E8  40 81 00 E8 */	ble lbl_801C8B70
/* 801C8A8C 001C46EC  88 1E 00 04 */	lbz r0, 4(r30)
/* 801C8A90 001C46F0  7C 1F 00 00 */	cmpw r31, r0
/* 801C8A94 001C46F4  40 80 00 DC */	bge lbl_801C8B70
/* 801C8A98 001C46F8  38 9E 00 05 */	addi r4, r30, 5
/* 801C8A9C 001C46FC  7C 04 F8 AE */	lbzx r0, r4, r31
/* 801C8AA0 001C4700  7C 64 FA 14 */	add r3, r4, r31
/* 801C8AA4 001C4704  28 00 00 05 */	cmplwi r0, 5
/* 801C8AA8 001C4708  40 81 00 0C */	ble lbl_801C8AB4
/* 801C8AAC 001C470C  38 80 00 01 */	li r4, 1
/* 801C8AB0 001C4710  48 00 00 60 */	b lbl_801C8B10
lbl_801C8AB4:
/* 801C8AB4 001C4714  40 80 00 0C */	bge lbl_801C8AC0
/* 801C8AB8 001C4718  38 80 FF FF */	li r4, -1
/* 801C8ABC 001C471C  48 00 00 54 */	b lbl_801C8B10
lbl_801C8AC0:
/* 801C8AC0 001C4720  88 1E 00 04 */	lbz r0, 4(r30)
/* 801C8AC4 001C4724  38 63 00 01 */	addi r3, r3, 1
/* 801C8AC8 001C4728  7C 84 02 14 */	add r4, r4, r0
/* 801C8ACC 001C472C  7C 03 20 50 */	subf r0, r3, r4
/* 801C8AD0 001C4730  7C 09 03 A6 */	mtctr r0
/* 801C8AD4 001C4734  7C 03 20 40 */	cmplw r3, r4
/* 801C8AD8 001C4738  40 80 00 20 */	bge lbl_801C8AF8
lbl_801C8ADC:
/* 801C8ADC 001C473C  88 03 00 00 */	lbz r0, 0(r3)
/* 801C8AE0 001C4740  2C 00 00 00 */	cmpwi r0, 0
/* 801C8AE4 001C4744  41 82 00 0C */	beq lbl_801C8AF0
/* 801C8AE8 001C4748  38 80 00 01 */	li r4, 1
/* 801C8AEC 001C474C  48 00 00 24 */	b lbl_801C8B10
lbl_801C8AF0:
/* 801C8AF0 001C4750  38 63 00 01 */	addi r3, r3, 1
/* 801C8AF4 001C4754  42 00 FF E8 */	bdnz lbl_801C8ADC
lbl_801C8AF8:
/* 801C8AF8 001C4758  7C 7F F2 14 */	add r3, r31, r30
/* 801C8AFC 001C475C  38 80 FF FF */	li r4, -1
/* 801C8B00 001C4760  88 03 00 04 */	lbz r0, 4(r3)
/* 801C8B04 001C4764  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 801C8B08 001C4768  41 82 00 08 */	beq lbl_801C8B10
/* 801C8B0C 001C476C  38 80 00 01 */	li r4, 1
lbl_801C8B10:
/* 801C8B10 001C4770  2C 04 00 00 */	cmpwi r4, 0
/* 801C8B14 001C4774  9B FE 00 04 */	stb r31, 4(r30)
/* 801C8B18 001C4778  41 80 00 58 */	blt lbl_801C8B70
/* 801C8B1C 001C477C  38 9E 00 05 */	addi r4, r30, 5
/* 801C8B20 001C4780  38 00 00 00 */	li r0, 0
/* 801C8B24 001C4784  7C A4 FA 14 */	add r5, r4, r31
/* 801C8B28 001C4788  38 A5 FF FF */	addi r5, r5, -1
lbl_801C8B2C:
/* 801C8B2C 001C478C  88 65 00 00 */	lbz r3, 0(r5)
/* 801C8B30 001C4790  28 03 00 09 */	cmplwi r3, 9
/* 801C8B34 001C4794  40 80 00 10 */	bge lbl_801C8B44
/* 801C8B38 001C4798  38 03 00 01 */	addi r0, r3, 1
/* 801C8B3C 001C479C  98 05 00 00 */	stb r0, 0(r5)
/* 801C8B40 001C47A0  48 00 00 30 */	b lbl_801C8B70
lbl_801C8B44:
/* 801C8B44 001C47A4  7C 05 20 40 */	cmplw r5, r4
/* 801C8B48 001C47A8  40 82 00 1C */	bne lbl_801C8B64
/* 801C8B4C 001C47AC  38 00 00 01 */	li r0, 1
/* 801C8B50 001C47B0  98 05 00 00 */	stb r0, 0(r5)
/* 801C8B54 001C47B4  A8 7E 00 02 */	lha r3, 2(r30)
/* 801C8B58 001C47B8  38 03 00 01 */	addi r0, r3, 1
/* 801C8B5C 001C47BC  B0 1E 00 02 */	sth r0, 2(r30)
/* 801C8B60 001C47C0  48 00 00 10 */	b lbl_801C8B70
lbl_801C8B64:
/* 801C8B64 001C47C4  98 05 00 00 */	stb r0, 0(r5)
/* 801C8B68 001C47C8  38 A5 FF FF */	addi r5, r5, -1
/* 801C8B6C 001C47CC  4B FF FF C0 */	b lbl_801C8B2C
lbl_801C8B70:
/* 801C8B70 001C47D0  38 A0 00 00 */	li r5, 0
/* 801C8B74 001C47D4  48 00 00 18 */	b lbl_801C8B8C
lbl_801C8B78:
/* 801C8B78 001C47D8  88 9E 00 04 */	lbz r4, 4(r30)
/* 801C8B7C 001C47DC  7C 7E 22 14 */	add r3, r30, r4
/* 801C8B80 001C47E0  38 04 00 01 */	addi r0, r4, 1
/* 801C8B84 001C47E4  98 A3 00 05 */	stb r5, 5(r3)
/* 801C8B88 001C47E8  98 1E 00 04 */	stb r0, 4(r30)
lbl_801C8B8C:
/* 801C8B8C 001C47EC  88 7E 00 04 */	lbz r3, 4(r30)
/* 801C8B90 001C47F0  7C 03 F8 00 */	cmpw r3, r31
/* 801C8B94 001C47F4  41 80 FF E4 */	blt lbl_801C8B78
/* 801C8B98 001C47F8  A8 1E 00 02 */	lha r0, 2(r30)
/* 801C8B9C 001C47FC  38 63 FF FF */	addi r3, r3, -1
/* 801C8BA0 001C4800  38 A0 00 00 */	li r5, 0
/* 801C8BA4 001C4804  7C 03 00 50 */	subf r0, r3, r0
/* 801C8BA8 001C4808  B0 1E 00 02 */	sth r0, 2(r30)
/* 801C8BAC 001C480C  48 00 00 18 */	b lbl_801C8BC4
lbl_801C8BB0:
/* 801C8BB0 001C4810  7C 9E 2A 14 */	add r4, r30, r5
/* 801C8BB4 001C4814  38 A5 00 01 */	addi r5, r5, 1
/* 801C8BB8 001C4818  88 64 00 05 */	lbz r3, 5(r4)
/* 801C8BBC 001C481C  38 03 00 30 */	addi r0, r3, 0x30
/* 801C8BC0 001C4820  98 04 00 05 */	stb r0, 5(r4)
lbl_801C8BC4:
/* 801C8BC4 001C4824  88 1E 00 04 */	lbz r0, 4(r30)
/* 801C8BC8 001C4828  7C 05 00 00 */	cmpw r5, r0
/* 801C8BCC 001C482C  41 80 FF E4 */	blt lbl_801C8BB0
lbl_801C8BD0:
/* 801C8BD0 001C4830  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801C8BD4 001C4834  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 801C8BD8 001C4838  83 C1 00 08 */	lwz r30, 8(r1)
/* 801C8BDC 001C483C  7C 08 03 A6 */	mtlr r0
/* 801C8BE0 001C4840  38 21 00 10 */	addi r1, r1, 0x10
/* 801C8BE4 001C4844  4E 80 00 20 */	blr

.global __dec2num
__dec2num:
/* 801C8BE8 001C4848  94 21 FE 80 */	stwu r1, -0x180(r1)
/* 801C8BEC 001C484C  7C 08 02 A6 */	mflr r0
/* 801C8BF0 001C4850  90 01 01 84 */	stw r0, 0x184(r1)
/* 801C8BF4 001C4854  DB E1 01 70 */	stfd f31, 0x170(r1)
/* 801C8BF8 001C4858  F3 E1 01 78 */	psq_st f31, 376(r1), 0, qr0
/* 801C8BFC 001C485C  39 61 01 70 */	addi r11, r1, 0x170
/* 801C8C00 001C4860  4B FF E5 09 */	bl _savegpr_19
/* 801C8C04 001C4864  88 03 00 04 */	lbz r0, 4(r3)
/* 801C8C08 001C4868  3C 80 43 30 */	lis r4, 0x4330
/* 801C8C0C 001C486C  90 81 01 28 */	stw r4, 0x128(r1)
/* 801C8C10 001C4870  7C 7B 1B 78 */	mr r27, r3
/* 801C8C14 001C4874  2C 00 00 00 */	cmpwi r0, 0
/* 801C8C18 001C4878  90 81 01 30 */	stw r4, 0x130(r1)
/* 801C8C1C 001C487C  40 82 00 28 */	bne lbl_801C8C44
/* 801C8C20 001C4880  88 03 00 00 */	lbz r0, 0(r3)
/* 801C8C24 001C4884  7C 00 07 75 */	extsb. r0, r0
/* 801C8C28 001C4888  40 82 00 0C */	bne lbl_801C8C34
/* 801C8C2C 001C488C  C8 42 91 00 */	lfd f2, lbl_80641700-_SDA2_BASE_(r2)
/* 801C8C30 001C4890  48 00 00 08 */	b lbl_801C8C38
lbl_801C8C34:
/* 801C8C34 001C4894  C8 42 91 08 */	lfd f2, lbl_80641708-_SDA2_BASE_(r2)
lbl_801C8C38:
/* 801C8C38 001C4898  C8 22 90 F8 */	lfd f1, lbl_806416F8-_SDA2_BASE_(r2)
/* 801C8C3C 001C489C  48 00 B4 11 */	bl copysign
/* 801C8C40 001C48A0  48 00 07 38 */	b lbl_801C9378
lbl_801C8C44:
/* 801C8C44 001C48A4  88 03 00 05 */	lbz r0, 5(r3)
/* 801C8C48 001C48A8  2C 00 00 49 */	cmpwi r0, 0x49
/* 801C8C4C 001C48AC  41 82 00 44 */	beq lbl_801C8C90
/* 801C8C50 001C48B0  40 80 00 10 */	bge lbl_801C8C60
/* 801C8C54 001C48B4  2C 00 00 30 */	cmpwi r0, 0x30
/* 801C8C58 001C48B8  41 82 00 14 */	beq lbl_801C8C6C
/* 801C8C5C 001C48BC  48 00 00 A0 */	b lbl_801C8CFC
lbl_801C8C60:
/* 801C8C60 001C48C0  2C 00 00 4E */	cmpwi r0, 0x4e
/* 801C8C64 001C48C4  41 82 00 54 */	beq lbl_801C8CB8
/* 801C8C68 001C48C8  48 00 00 94 */	b lbl_801C8CFC
lbl_801C8C6C:
/* 801C8C6C 001C48CC  88 03 00 00 */	lbz r0, 0(r3)
/* 801C8C70 001C48D0  7C 00 07 75 */	extsb. r0, r0
/* 801C8C74 001C48D4  40 82 00 0C */	bne lbl_801C8C80
/* 801C8C78 001C48D8  C8 42 91 00 */	lfd f2, lbl_80641700-_SDA2_BASE_(r2)
/* 801C8C7C 001C48DC  48 00 00 08 */	b lbl_801C8C84
lbl_801C8C80:
/* 801C8C80 001C48E0  C8 42 91 08 */	lfd f2, lbl_80641708-_SDA2_BASE_(r2)
lbl_801C8C84:
/* 801C8C84 001C48E4  C8 22 90 F8 */	lfd f1, lbl_806416F8-_SDA2_BASE_(r2)
/* 801C8C88 001C48E8  48 00 B3 C5 */	bl copysign
/* 801C8C8C 001C48EC  48 00 06 EC */	b lbl_801C9378
lbl_801C8C90:
/* 801C8C90 001C48F0  88 03 00 00 */	lbz r0, 0(r3)
/* 801C8C94 001C48F4  7C 00 07 75 */	extsb. r0, r0
/* 801C8C98 001C48F8  40 82 00 0C */	bne lbl_801C8CA4
/* 801C8C9C 001C48FC  C8 42 91 00 */	lfd f2, lbl_80641700-_SDA2_BASE_(r2)
/* 801C8CA0 001C4900  48 00 00 08 */	b lbl_801C8CA8
lbl_801C8CA4:
/* 801C8CA4 001C4904  C8 42 91 08 */	lfd f2, lbl_80641708-_SDA2_BASE_(r2)
lbl_801C8CA8:
/* 801C8CA8 001C4908  3C 60 80 64 */	lis r3, lbl_8063D6BC@ha
/* 801C8CAC 001C490C  C0 23 D6 BC */	lfs f1, lbl_8063D6BC@l(r3)
/* 801C8CB0 001C4910  48 00 B3 9D */	bl copysign
/* 801C8CB4 001C4914  48 00 06 C4 */	b lbl_801C9378
lbl_801C8CB8:
/* 801C8CB8 001C4918  88 03 00 00 */	lbz r0, 0(r3)
/* 801C8CBC 001C491C  38 80 00 00 */	li r4, 0
/* 801C8CC0 001C4920  3C 60 7F F0 */	lis r3, 0x7ff0
/* 801C8CC4 001C4924  90 81 00 1C */	stw r4, 0x1c(r1)
/* 801C8CC8 001C4928  7C 00 07 75 */	extsb. r0, r0
/* 801C8CCC 001C492C  90 61 00 18 */	stw r3, 0x18(r1)
/* 801C8CD0 001C4930  41 82 00 18 */	beq lbl_801C8CE8
/* 801C8CD4 001C4934  3C 00 80 00 */	lis r0, 0x8000
/* 801C8CD8 001C4938  38 60 00 00 */	li r3, 0
/* 801C8CDC 001C493C  64 00 7F F0 */	oris r0, r0, 0x7ff0
/* 801C8CE0 001C4940  90 61 00 1C */	stw r3, 0x1c(r1)
/* 801C8CE4 001C4944  90 01 00 18 */	stw r0, 0x18(r1)
lbl_801C8CE8:
/* 801C8CE8 001C4948  80 01 00 18 */	lwz r0, 0x18(r1)
/* 801C8CEC 001C494C  64 00 00 08 */	oris r0, r0, 8
/* 801C8CF0 001C4950  90 01 00 18 */	stw r0, 0x18(r1)
/* 801C8CF4 001C4954  C8 21 00 18 */	lfd f1, 0x18(r1)
/* 801C8CF8 001C4958  48 00 06 80 */	b lbl_801C9378
lbl_801C8CFC:
/* 801C8CFC 001C495C  A0 03 00 04 */	lhz r0, 4(r3)
/* 801C8D00 001C4960  38 81 01 01 */	addi r4, r1, 0x101
/* 801C8D04 001C4964  A2 63 00 00 */	lhz r19, 0(r3)
/* 801C8D08 001C4968  B0 01 01 00 */	sth r0, 0x100(r1)
/* 801C8D0C 001C496C  A2 83 00 02 */	lhz r20, 2(r3)
/* 801C8D10 001C4970  88 01 01 00 */	lbz r0, 0x100(r1)
/* 801C8D14 001C4974  A3 E3 00 06 */	lhz r31, 6(r3)
/* 801C8D18 001C4978  7F 84 02 14 */	add r28, r4, r0
/* 801C8D1C 001C497C  A3 C3 00 08 */	lhz r30, 8(r3)
/* 801C8D20 001C4980  A3 A3 00 0A */	lhz r29, 0xa(r3)
/* 801C8D24 001C4984  7C 84 E0 40 */	cmplw cr1, r4, r28
/* 801C8D28 001C4988  A3 43 00 0C */	lhz r26, 0xc(r3)
/* 801C8D2C 001C498C  A3 23 00 0E */	lhz r25, 0xe(r3)
/* 801C8D30 001C4990  A3 03 00 10 */	lhz r24, 0x10(r3)
/* 801C8D34 001C4994  A2 E3 00 12 */	lhz r23, 0x12(r3)
/* 801C8D38 001C4998  A2 C3 00 14 */	lhz r22, 0x14(r3)
/* 801C8D3C 001C499C  A2 A3 00 16 */	lhz r21, 0x16(r3)
/* 801C8D40 001C49A0  A1 83 00 18 */	lhz r12, 0x18(r3)
/* 801C8D44 001C49A4  A1 63 00 1A */	lhz r11, 0x1a(r3)
/* 801C8D48 001C49A8  A1 43 00 1C */	lhz r10, 0x1c(r3)
/* 801C8D4C 001C49AC  A1 23 00 1E */	lhz r9, 0x1e(r3)
/* 801C8D50 001C49B0  A1 03 00 20 */	lhz r8, 0x20(r3)
/* 801C8D54 001C49B4  A0 E3 00 22 */	lhz r7, 0x22(r3)
/* 801C8D58 001C49B8  A0 C3 00 24 */	lhz r6, 0x24(r3)
/* 801C8D5C 001C49BC  A0 A3 00 26 */	lhz r5, 0x26(r3)
/* 801C8D60 001C49C0  A0 03 00 28 */	lhz r0, 0x28(r3)
/* 801C8D64 001C49C4  B2 61 00 FC */	sth r19, 0xfc(r1)
/* 801C8D68 001C49C8  B2 81 00 FE */	sth r20, 0xfe(r1)
/* 801C8D6C 001C49CC  B3 E1 01 02 */	sth r31, 0x102(r1)
/* 801C8D70 001C49D0  B3 C1 01 04 */	sth r30, 0x104(r1)
/* 801C8D74 001C49D4  B3 A1 01 06 */	sth r29, 0x106(r1)
/* 801C8D78 001C49D8  B3 41 01 08 */	sth r26, 0x108(r1)
/* 801C8D7C 001C49DC  B3 21 01 0A */	sth r25, 0x10a(r1)
/* 801C8D80 001C49E0  B3 01 01 0C */	sth r24, 0x10c(r1)
/* 801C8D84 001C49E4  B2 E1 01 0E */	sth r23, 0x10e(r1)
/* 801C8D88 001C49E8  B2 C1 01 10 */	sth r22, 0x110(r1)
/* 801C8D8C 001C49EC  B2 A1 01 12 */	sth r21, 0x112(r1)
/* 801C8D90 001C49F0  B1 81 01 14 */	sth r12, 0x114(r1)
/* 801C8D94 001C49F4  B1 61 01 16 */	sth r11, 0x116(r1)
/* 801C8D98 001C49F8  B1 41 01 18 */	sth r10, 0x118(r1)
/* 801C8D9C 001C49FC  B1 21 01 1A */	sth r9, 0x11a(r1)
/* 801C8DA0 001C4A00  B1 01 01 1C */	sth r8, 0x11c(r1)
/* 801C8DA4 001C4A04  B0 E1 01 1E */	sth r7, 0x11e(r1)
/* 801C8DA8 001C4A08  B0 C1 01 20 */	sth r6, 0x120(r1)
/* 801C8DAC 001C4A0C  B0 A1 01 22 */	sth r5, 0x122(r1)
/* 801C8DB0 001C4A10  B0 01 01 24 */	sth r0, 0x124(r1)
/* 801C8DB4 001C4A14  40 84 00 BC */	bge cr1, lbl_801C8E70
/* 801C8DB8 001C4A18  7C 04 E0 50 */	subf r0, r4, r28
/* 801C8DBC 001C4A1C  38 7C FF F8 */	addi r3, r28, -8
/* 801C8DC0 001C4A20  2C 00 00 08 */	cmpwi r0, 8
/* 801C8DC4 001C4A24  40 81 00 88 */	ble lbl_801C8E4C
/* 801C8DC8 001C4A28  41 85 00 84 */	bgt cr1, lbl_801C8E4C
/* 801C8DCC 001C4A2C  38 03 00 07 */	addi r0, r3, 7
/* 801C8DD0 001C4A30  7C 04 00 50 */	subf r0, r4, r0
/* 801C8DD4 001C4A34  54 00 E8 FE */	srwi r0, r0, 3
/* 801C8DD8 001C4A38  7C 09 03 A6 */	mtctr r0
/* 801C8DDC 001C4A3C  7C 04 18 40 */	cmplw r4, r3
/* 801C8DE0 001C4A40  40 80 00 6C */	bge lbl_801C8E4C
lbl_801C8DE4:
/* 801C8DE4 001C4A44  88 64 00 00 */	lbz r3, 0(r4)
/* 801C8DE8 001C4A48  38 03 FF D0 */	addi r0, r3, -48
/* 801C8DEC 001C4A4C  98 04 00 00 */	stb r0, 0(r4)
/* 801C8DF0 001C4A50  88 64 00 01 */	lbz r3, 1(r4)
/* 801C8DF4 001C4A54  38 03 FF D0 */	addi r0, r3, -48
/* 801C8DF8 001C4A58  98 04 00 01 */	stb r0, 1(r4)
/* 801C8DFC 001C4A5C  88 64 00 02 */	lbz r3, 2(r4)
/* 801C8E00 001C4A60  38 03 FF D0 */	addi r0, r3, -48
/* 801C8E04 001C4A64  98 04 00 02 */	stb r0, 2(r4)
/* 801C8E08 001C4A68  88 64 00 03 */	lbz r3, 3(r4)
/* 801C8E0C 001C4A6C  38 03 FF D0 */	addi r0, r3, -48
/* 801C8E10 001C4A70  98 04 00 03 */	stb r0, 3(r4)
/* 801C8E14 001C4A74  88 64 00 04 */	lbz r3, 4(r4)
/* 801C8E18 001C4A78  38 03 FF D0 */	addi r0, r3, -48
/* 801C8E1C 001C4A7C  98 04 00 04 */	stb r0, 4(r4)
/* 801C8E20 001C4A80  88 64 00 05 */	lbz r3, 5(r4)
/* 801C8E24 001C4A84  38 03 FF D0 */	addi r0, r3, -48
/* 801C8E28 001C4A88  98 04 00 05 */	stb r0, 5(r4)
/* 801C8E2C 001C4A8C  88 64 00 06 */	lbz r3, 6(r4)
/* 801C8E30 001C4A90  38 03 FF D0 */	addi r0, r3, -48
/* 801C8E34 001C4A94  98 04 00 06 */	stb r0, 6(r4)
/* 801C8E38 001C4A98  88 64 00 07 */	lbz r3, 7(r4)
/* 801C8E3C 001C4A9C  38 03 FF D0 */	addi r0, r3, -48
/* 801C8E40 001C4AA0  98 04 00 07 */	stb r0, 7(r4)
/* 801C8E44 001C4AA4  38 84 00 08 */	addi r4, r4, 8
/* 801C8E48 001C4AA8  42 00 FF 9C */	bdnz lbl_801C8DE4
lbl_801C8E4C:
/* 801C8E4C 001C4AAC  7C 04 E0 50 */	subf r0, r4, r28
/* 801C8E50 001C4AB0  7C 09 03 A6 */	mtctr r0
/* 801C8E54 001C4AB4  7C 04 E0 40 */	cmplw r4, r28
/* 801C8E58 001C4AB8  40 80 00 18 */	bge lbl_801C8E70
lbl_801C8E5C:
/* 801C8E5C 001C4ABC  88 64 00 00 */	lbz r3, 0(r4)
/* 801C8E60 001C4AC0  38 03 FF D0 */	addi r0, r3, -48
/* 801C8E64 001C4AC4  98 04 00 00 */	stb r0, 0(r4)
/* 801C8E68 001C4AC8  38 84 00 01 */	addi r4, r4, 1
/* 801C8E6C 001C4ACC  42 00 FF F0 */	bdnz lbl_801C8E5C
lbl_801C8E70:
/* 801C8E70 001C4AD0  A8 A1 00 FE */	lha r5, 0xfe(r1)
/* 801C8E74 001C4AD4  3C 80 80 40 */	lis r4, lbl_803FC6D8@ha
/* 801C8E78 001C4AD8  88 01 01 00 */	lbz r0, 0x100(r1)
/* 801C8E7C 001C4ADC  38 84 C6 D8 */	addi r4, r4, lbl_803FC6D8@l
/* 801C8E80 001C4AE0  38 61 00 D0 */	addi r3, r1, 0xd0
/* 801C8E84 001C4AE4  7C A0 2A 14 */	add r5, r0, r5
/* 801C8E88 001C4AE8  38 84 00 B8 */	addi r4, r4, 0xb8
/* 801C8E8C 001C4AEC  38 05 FF FF */	addi r0, r5, -1
/* 801C8E90 001C4AF0  B0 01 00 FE */	sth r0, 0xfe(r1)
/* 801C8E94 001C4AF4  38 A0 01 34 */	li r5, 0x134
/* 801C8E98 001C4AF8  7C 1D 07 34 */	extsh r29, r0
/* 801C8E9C 001C4AFC  4B FF EE F1 */	bl __str2dec
/* 801C8EA0 001C4B00  38 61 00 D0 */	addi r3, r1, 0xd0
/* 801C8EA4 001C4B04  38 81 00 FC */	addi r4, r1, 0xfc
/* 801C8EA8 001C4B08  4B FF F4 21 */	bl __less_dec
/* 801C8EAC 001C4B0C  2C 03 00 00 */	cmpwi r3, 0
/* 801C8EB0 001C4B10  41 82 00 2C */	beq lbl_801C8EDC
/* 801C8EB4 001C4B14  88 1B 00 00 */	lbz r0, 0(r27)
/* 801C8EB8 001C4B18  7C 00 07 75 */	extsb. r0, r0
/* 801C8EBC 001C4B1C  40 82 00 0C */	bne lbl_801C8EC8
/* 801C8EC0 001C4B20  C8 42 91 00 */	lfd f2, lbl_80641700-_SDA2_BASE_(r2)
/* 801C8EC4 001C4B24  48 00 00 08 */	b lbl_801C8ECC
lbl_801C8EC8:
/* 801C8EC8 001C4B28  C8 42 91 08 */	lfd f2, lbl_80641708-_SDA2_BASE_(r2)
lbl_801C8ECC:
/* 801C8ECC 001C4B2C  3C 60 80 64 */	lis r3, lbl_8063D6BC@ha
/* 801C8ED0 001C4B30  C0 23 D6 BC */	lfs f1, lbl_8063D6BC@l(r3)
/* 801C8ED4 001C4B34  48 00 B1 79 */	bl copysign
/* 801C8ED8 001C4B38  48 00 04 A0 */	b lbl_801C9378
lbl_801C8EDC:
/* 801C8EDC 001C4B3C  88 01 01 01 */	lbz r0, 0x101(r1)
/* 801C8EE0 001C4B40  3C E0 80 42 */	lis r7, lbl_80422B58@ha
/* 801C8EE4 001C4B44  C8 42 91 20 */	lfd f2, lbl_80641720-_SDA2_BASE_(r2)
/* 801C8EE8 001C4B48  38 81 01 02 */	addi r4, r1, 0x102
/* 801C8EEC 001C4B4C  90 01 01 2C */	stw r0, 0x12c(r1)
/* 801C8EF0 001C4B50  38 E7 2B 58 */	addi r7, r7, lbl_80422B58@l
/* 801C8EF4 001C4B54  3C 60 80 00 */	lis r3, 0x8000
/* 801C8EF8 001C4B58  C8 01 01 28 */	lfd f0, 0x128(r1)
/* 801C8EFC 001C4B5C  FF E0 10 28 */	fsub f31, f0, f2
/* 801C8F00 001C4B60  48 00 01 40 */	b lbl_801C9040
lbl_801C8F04:
/* 801C8F04 001C4B64  7C A4 E0 50 */	subf r5, r4, r28
/* 801C8F08 001C4B68  39 40 00 00 */	li r10, 0
/* 801C8F0C 001C4B6C  54 A0 E8 04 */	slwi r0, r5, 0x1d
/* 801C8F10 001C4B70  54 A5 0F FE */	srwi r5, r5, 0x1f
/* 801C8F14 001C4B74  7C 05 00 50 */	subf r0, r5, r0
/* 801C8F18 001C4B78  54 00 18 3E */	rotlwi r0, r0, 3
/* 801C8F1C 001C4B7C  7C C0 2A 15 */	add. r6, r0, r5
/* 801C8F20 001C4B80  40 82 00 08 */	bne lbl_801C8F28
/* 801C8F24 001C4B84  38 C0 00 08 */	li r6, 8
lbl_801C8F28:
/* 801C8F28 001C4B88  2C 86 00 00 */	cmpwi cr1, r6, 0
/* 801C8F2C 001C4B8C  38 A0 00 00 */	li r5, 0
/* 801C8F30 001C4B90  40 85 00 D8 */	ble cr1, lbl_801C9008
/* 801C8F34 001C4B94  2C 06 00 08 */	cmpwi r6, 8
/* 801C8F38 001C4B98  39 06 FF F8 */	addi r8, r6, -8
/* 801C8F3C 001C4B9C  40 81 00 A4 */	ble lbl_801C8FE0
/* 801C8F40 001C4BA0  39 20 00 00 */	li r9, 0
/* 801C8F44 001C4BA4  41 84 00 14 */	blt cr1, lbl_801C8F58
/* 801C8F48 001C4BA8  38 03 FF FE */	addi r0, r3, -2
/* 801C8F4C 001C4BAC  7C 06 00 00 */	cmpw r6, r0
/* 801C8F50 001C4BB0  41 81 00 08 */	bgt lbl_801C8F58
/* 801C8F54 001C4BB4  39 20 00 01 */	li r9, 1
lbl_801C8F58:
/* 801C8F58 001C4BB8  2C 09 00 00 */	cmpwi r9, 0
/* 801C8F5C 001C4BBC  41 82 00 84 */	beq lbl_801C8FE0
/* 801C8F60 001C4BC0  38 08 00 07 */	addi r0, r8, 7
/* 801C8F64 001C4BC4  54 00 E8 FE */	srwi r0, r0, 3
/* 801C8F68 001C4BC8  7C 09 03 A6 */	mtctr r0
/* 801C8F6C 001C4BCC  2C 08 00 00 */	cmpwi r8, 0
/* 801C8F70 001C4BD0  40 81 00 70 */	ble lbl_801C8FE0
lbl_801C8F74:
/* 801C8F74 001C4BD4  1C 0A 00 0A */	mulli r0, r10, 0xa
/* 801C8F78 001C4BD8  89 24 00 00 */	lbz r9, 0(r4)
/* 801C8F7C 001C4BDC  89 04 00 01 */	lbz r8, 1(r4)
/* 801C8F80 001C4BE0  38 A5 00 08 */	addi r5, r5, 8
/* 801C8F84 001C4BE4  8A A4 00 02 */	lbz r21, 2(r4)
/* 801C8F88 001C4BE8  7C 09 02 14 */	add r0, r9, r0
/* 801C8F8C 001C4BEC  1C 00 00 0A */	mulli r0, r0, 0xa
/* 801C8F90 001C4BF0  89 84 00 03 */	lbz r12, 3(r4)
/* 801C8F94 001C4BF4  89 64 00 04 */	lbz r11, 4(r4)
/* 801C8F98 001C4BF8  89 44 00 05 */	lbz r10, 5(r4)
/* 801C8F9C 001C4BFC  7C 08 02 14 */	add r0, r8, r0
/* 801C8FA0 001C4C00  89 24 00 06 */	lbz r9, 6(r4)
/* 801C8FA4 001C4C04  1C 00 00 0A */	mulli r0, r0, 0xa
/* 801C8FA8 001C4C08  89 04 00 07 */	lbz r8, 7(r4)
/* 801C8FAC 001C4C0C  38 84 00 08 */	addi r4, r4, 8
/* 801C8FB0 001C4C10  7C 15 02 14 */	add r0, r21, r0
/* 801C8FB4 001C4C14  1C 00 00 0A */	mulli r0, r0, 0xa
/* 801C8FB8 001C4C18  7C 0C 02 14 */	add r0, r12, r0
/* 801C8FBC 001C4C1C  1C 00 00 0A */	mulli r0, r0, 0xa
/* 801C8FC0 001C4C20  7C 0B 02 14 */	add r0, r11, r0
/* 801C8FC4 001C4C24  1C 00 00 0A */	mulli r0, r0, 0xa
/* 801C8FC8 001C4C28  7C 0A 02 14 */	add r0, r10, r0
/* 801C8FCC 001C4C2C  1C 00 00 0A */	mulli r0, r0, 0xa
/* 801C8FD0 001C4C30  7C 09 02 14 */	add r0, r9, r0
/* 801C8FD4 001C4C34  1C 00 00 0A */	mulli r0, r0, 0xa
/* 801C8FD8 001C4C38  7D 48 02 14 */	add r10, r8, r0
/* 801C8FDC 001C4C3C  42 00 FF 98 */	bdnz lbl_801C8F74
lbl_801C8FE0:
/* 801C8FE0 001C4C40  7C 05 30 50 */	subf r0, r5, r6
/* 801C8FE4 001C4C44  7C 09 03 A6 */	mtctr r0
/* 801C8FE8 001C4C48  7C 05 30 00 */	cmpw r5, r6
/* 801C8FEC 001C4C4C  40 80 00 1C */	bge lbl_801C9008
lbl_801C8FF0:
/* 801C8FF0 001C4C50  1C 0A 00 0A */	mulli r0, r10, 0xa
/* 801C8FF4 001C4C54  89 04 00 00 */	lbz r8, 0(r4)
/* 801C8FF8 001C4C58  38 A5 00 01 */	addi r5, r5, 1
/* 801C8FFC 001C4C5C  38 84 00 01 */	addi r4, r4, 1
/* 801C9000 001C4C60  7D 48 02 14 */	add r10, r8, r0
/* 801C9004 001C4C64  42 00 FF EC */	bdnz lbl_801C8FF0
lbl_801C9008:
/* 801C9008 001C4C68  54 C0 18 38 */	slwi r0, r6, 3
/* 801C900C 001C4C6C  91 41 01 34 */	stw r10, 0x134(r1)
/* 801C9010 001C4C70  7C A7 02 14 */	add r5, r7, r0
/* 801C9014 001C4C74  2C 0A 00 00 */	cmpwi r10, 0
/* 801C9018 001C4C78  C8 25 FF F8 */	lfd f1, -8(r5)
/* 801C901C 001C4C7C  C8 01 01 30 */	lfd f0, 0x130(r1)
/* 801C9020 001C4C80  FC 3F 00 72 */	fmul f1, f31, f1
/* 801C9024 001C4C84  FC 00 10 28 */	fsub f0, f0, f2
/* 801C9028 001C4C88  FC 01 00 2A */	fadd f0, f1, f0
/* 801C902C 001C4C8C  41 82 00 0C */	beq lbl_801C9038
/* 801C9030 001C4C90  FC 01 00 00 */	fcmpu cr0, f1, f0
/* 801C9034 001C4C94  41 82 00 14 */	beq lbl_801C9048
lbl_801C9038:
/* 801C9038 001C4C98  FF E0 00 90 */	fmr f31, f0
/* 801C903C 001C4C9C  7F A6 E8 50 */	subf r29, r6, r29
lbl_801C9040:
/* 801C9040 001C4CA0  7C 04 E0 40 */	cmplw r4, r28
/* 801C9044 001C4CA4  41 80 FE C0 */	blt lbl_801C8F04
lbl_801C9048:
/* 801C9048 001C4CA8  2C 1D 00 00 */	cmpwi r29, 0
/* 801C904C 001C4CAC  40 80 00 2C */	bge lbl_801C9078
/* 801C9050 001C4CB0  7C 1D 00 D0 */	neg r0, r29
/* 801C9054 001C4CB4  C8 42 91 28 */	lfd f2, lbl_80641728-_SDA2_BASE_(r2)
/* 801C9058 001C4CB8  6C 00 80 00 */	xoris r0, r0, 0x8000
/* 801C905C 001C4CBC  C8 22 91 10 */	lfd f1, lbl_80641710-_SDA2_BASE_(r2)
/* 801C9060 001C4CC0  90 01 01 2C */	stw r0, 0x12c(r1)
/* 801C9064 001C4CC4  C8 01 01 28 */	lfd f0, 0x128(r1)
/* 801C9068 001C4CC8  FC 40 10 28 */	fsub f2, f0, f2
/* 801C906C 001C4CCC  48 00 B5 79 */	bl pow
/* 801C9070 001C4CD0  FF FF 08 24 */	fdiv f31, f31, f1
/* 801C9074 001C4CD4  48 00 00 24 */	b lbl_801C9098
lbl_801C9078:
/* 801C9078 001C4CD8  6F A0 80 00 */	xoris r0, r29, 0x8000
/* 801C907C 001C4CDC  C8 42 91 28 */	lfd f2, lbl_80641728-_SDA2_BASE_(r2)
/* 801C9080 001C4CE0  90 01 01 34 */	stw r0, 0x134(r1)
/* 801C9084 001C4CE4  C8 22 91 10 */	lfd f1, lbl_80641710-_SDA2_BASE_(r2)
/* 801C9088 001C4CE8  C8 01 01 30 */	lfd f0, 0x130(r1)
/* 801C908C 001C4CEC  FC 40 10 28 */	fsub f2, f0, f2
/* 801C9090 001C4CF0  48 00 B5 55 */	bl pow
/* 801C9094 001C4CF4  FF FF 00 72 */	fmul f31, f31, f1
lbl_801C9098:
/* 801C9098 001C4CF8  FC 20 F8 90 */	fmr f1, f31
/* 801C909C 001C4CFC  7F A3 EB 78 */	mr r3, r29
/* 801C90A0 001C4D00  48 00 B2 79 */	bl ldexp
/* 801C90A4 001C4D04  FF E0 08 90 */	fmr f31, f1
/* 801C90A8 001C4D08  D8 21 00 10 */	stfd f1, 0x10(r1)
/* 801C90AC 001C4D0C  48 00 16 85 */	bl __fpclassifyd
/* 801C90B0 001C4D10  2C 03 00 02 */	cmpwi r3, 2
/* 801C90B4 001C4D14  40 82 00 0C */	bne lbl_801C90C0
/* 801C90B8 001C4D18  CB E2 91 18 */	lfd f31, lbl_80641718-_SDA2_BASE_(r2)
/* 801C90BC 001C4D1C  DB E1 00 10 */	stfd f31, 0x10(r1)
lbl_801C90C0:
/* 801C90C0 001C4D20  FC 20 F8 90 */	fmr f1, f31
/* 801C90C4 001C4D24  38 61 00 A4 */	addi r3, r1, 0xa4
/* 801C90C8 001C4D28  3B 60 00 00 */	li r27, 0
/* 801C90CC 001C4D2C  4B FF F8 19 */	bl __num2dec_internal
/* 801C90D0 001C4D30  38 61 00 A4 */	addi r3, r1, 0xa4
/* 801C90D4 001C4D34  38 81 00 FC */	addi r4, r1, 0xfc
/* 801C90D8 001C4D38  4B FF F1 0D */	bl __equals_dec
/* 801C90DC 001C4D3C  2C 03 00 00 */	cmpwi r3, 0
/* 801C90E0 001C4D40  40 82 02 80 */	bne lbl_801C9360
/* 801C90E4 001C4D44  38 61 00 A4 */	addi r3, r1, 0xa4
/* 801C90E8 001C4D48  38 81 00 FC */	addi r4, r1, 0xfc
/* 801C90EC 001C4D4C  4B FF F1 DD */	bl __less_dec
/* 801C90F0 001C4D50  2C 03 00 00 */	cmpwi r3, 0
/* 801C90F4 001C4D54  41 82 00 08 */	beq lbl_801C90FC
/* 801C90F8 001C4D58  3B 60 00 01 */	li r27, 1
lbl_801C90FC:
/* 801C90FC 001C4D5C  7F 60 00 34 */	cntlzw r0, r27
/* 801C9100 001C4D60  DB E1 00 08 */	stfd f31, 8(r1)
/* 801C9104 001C4D64  54 1C D9 7E */	srwi r28, r0, 5
/* 801C9108 001C4D68  3B A0 00 01 */	li r29, 1
/* 801C910C 001C4D6C  3B C0 00 00 */	li r30, 0
/* 801C9110 001C4D70  3B E0 FF FF */	li r31, -1
lbl_801C9114:
/* 801C9114 001C4D74  2C 1C 00 00 */	cmpwi r28, 0
/* 801C9118 001C4D78  40 82 00 30 */	bne lbl_801C9148
/* 801C911C 001C4D7C  80 61 00 0C */	lwz r3, 0xc(r1)
/* 801C9120 001C4D80  80 01 00 08 */	lwz r0, 8(r1)
/* 801C9124 001C4D84  7C 63 E8 14 */	addc r3, r3, r29
/* 801C9128 001C4D88  7C 00 F1 14 */	adde r0, r0, r30
/* 801C912C 001C4D8C  90 61 00 0C */	stw r3, 0xc(r1)
/* 801C9130 001C4D90  90 01 00 08 */	stw r0, 8(r1)
/* 801C9134 001C4D94  C8 21 00 08 */	lfd f1, 8(r1)
/* 801C9138 001C4D98  48 00 15 F9 */	bl __fpclassifyd
/* 801C913C 001C4D9C  2C 03 00 02 */	cmpwi r3, 2
/* 801C9140 001C4DA0  41 82 02 20 */	beq lbl_801C9360
/* 801C9144 001C4DA4  48 00 00 1C */	b lbl_801C9160
lbl_801C9148:
/* 801C9148 001C4DA8  80 61 00 0C */	lwz r3, 0xc(r1)
/* 801C914C 001C4DAC  80 01 00 08 */	lwz r0, 8(r1)
/* 801C9150 001C4DB0  7C 63 F8 14 */	addc r3, r3, r31
/* 801C9154 001C4DB4  7C 00 F9 14 */	adde r0, r0, r31
/* 801C9158 001C4DB8  90 61 00 0C */	stw r3, 0xc(r1)
/* 801C915C 001C4DBC  90 01 00 08 */	stw r0, 8(r1)
lbl_801C9160:
/* 801C9160 001C4DC0  C8 21 00 08 */	lfd f1, 8(r1)
/* 801C9164 001C4DC4  38 61 00 78 */	addi r3, r1, 0x78
/* 801C9168 001C4DC8  4B FF F7 7D */	bl __num2dec_internal
/* 801C916C 001C4DCC  2C 1B 00 00 */	cmpwi r27, 0
/* 801C9170 001C4DD0  41 82 00 18 */	beq lbl_801C9188
/* 801C9174 001C4DD4  38 61 00 78 */	addi r3, r1, 0x78
/* 801C9178 001C4DD8  38 81 00 FC */	addi r4, r1, 0xfc
/* 801C917C 001C4DDC  4B FF F1 4D */	bl __less_dec
/* 801C9180 001C4DE0  2C 03 00 00 */	cmpwi r3, 0
/* 801C9184 001C4DE4  41 82 01 74 */	beq lbl_801C92F8
lbl_801C9188:
/* 801C9188 001C4DE8  2C 1B 00 00 */	cmpwi r27, 0
/* 801C918C 001C4DEC  40 82 01 08 */	bne lbl_801C9294
/* 801C9190 001C4DF0  38 61 00 FC */	addi r3, r1, 0xfc
/* 801C9194 001C4DF4  38 81 00 78 */	addi r4, r1, 0x78
/* 801C9198 001C4DF8  4B FF F1 31 */	bl __less_dec
/* 801C919C 001C4DFC  2C 03 00 00 */	cmpwi r3, 0
/* 801C91A0 001C4E00  40 82 00 F4 */	bne lbl_801C9294
/* 801C91A4 001C4E04  FC 00 F8 90 */	fmr f0, f31
/* 801C91A8 001C4E08  CB E1 00 08 */	lfd f31, 8(r1)
/* 801C91AC 001C4E0C  82 A1 00 A4 */	lwz r21, 0xa4(r1)
/* 801C91B0 001C4E10  81 81 00 78 */	lwz r12, 0x78(r1)
/* 801C91B4 001C4E14  82 C1 00 A8 */	lwz r22, 0xa8(r1)
/* 801C91B8 001C4E18  81 61 00 7C */	lwz r11, 0x7c(r1)
/* 801C91BC 001C4E1C  82 E1 00 AC */	lwz r23, 0xac(r1)
/* 801C91C0 001C4E20  81 41 00 80 */	lwz r10, 0x80(r1)
/* 801C91C4 001C4E24  83 01 00 B0 */	lwz r24, 0xb0(r1)
/* 801C91C8 001C4E28  81 21 00 84 */	lwz r9, 0x84(r1)
/* 801C91CC 001C4E2C  83 21 00 B4 */	lwz r25, 0xb4(r1)
/* 801C91D0 001C4E30  81 01 00 88 */	lwz r8, 0x88(r1)
/* 801C91D4 001C4E34  83 41 00 B8 */	lwz r26, 0xb8(r1)
/* 801C91D8 001C4E38  80 E1 00 8C */	lwz r7, 0x8c(r1)
/* 801C91DC 001C4E3C  83 E1 00 BC */	lwz r31, 0xbc(r1)
/* 801C91E0 001C4E40  80 C1 00 90 */	lwz r6, 0x90(r1)
/* 801C91E4 001C4E44  83 C1 00 C0 */	lwz r30, 0xc0(r1)
/* 801C91E8 001C4E48  80 A1 00 94 */	lwz r5, 0x94(r1)
/* 801C91EC 001C4E4C  83 A1 00 C4 */	lwz r29, 0xc4(r1)
/* 801C91F0 001C4E50  80 81 00 98 */	lwz r4, 0x98(r1)
/* 801C91F4 001C4E54  83 81 00 C8 */	lwz r28, 0xc8(r1)
/* 801C91F8 001C4E58  80 61 00 9C */	lwz r3, 0x9c(r1)
/* 801C91FC 001C4E5C  A3 61 00 CC */	lhz r27, 0xcc(r1)
/* 801C9200 001C4E60  A0 01 00 A0 */	lhz r0, 0xa0(r1)
/* 801C9204 001C4E64  92 A1 00 4C */	stw r21, 0x4c(r1)
/* 801C9208 001C4E68  92 C1 00 50 */	stw r22, 0x50(r1)
/* 801C920C 001C4E6C  92 E1 00 54 */	stw r23, 0x54(r1)
/* 801C9210 001C4E70  93 01 00 58 */	stw r24, 0x58(r1)
/* 801C9214 001C4E74  93 21 00 5C */	stw r25, 0x5c(r1)
/* 801C9218 001C4E78  93 41 00 60 */	stw r26, 0x60(r1)
/* 801C921C 001C4E7C  93 E1 00 64 */	stw r31, 0x64(r1)
/* 801C9220 001C4E80  93 C1 00 68 */	stw r30, 0x68(r1)
/* 801C9224 001C4E84  93 A1 00 6C */	stw r29, 0x6c(r1)
/* 801C9228 001C4E88  93 81 00 70 */	stw r28, 0x70(r1)
/* 801C922C 001C4E8C  B3 61 00 74 */	sth r27, 0x74(r1)
/* 801C9230 001C4E90  91 81 00 A4 */	stw r12, 0xa4(r1)
/* 801C9234 001C4E94  91 61 00 A8 */	stw r11, 0xa8(r1)
/* 801C9238 001C4E98  91 41 00 AC */	stw r10, 0xac(r1)
/* 801C923C 001C4E9C  91 21 00 B0 */	stw r9, 0xb0(r1)
/* 801C9240 001C4EA0  91 01 00 B4 */	stw r8, 0xb4(r1)
/* 801C9244 001C4EA4  90 E1 00 B8 */	stw r7, 0xb8(r1)
/* 801C9248 001C4EA8  90 C1 00 BC */	stw r6, 0xbc(r1)
/* 801C924C 001C4EAC  90 A1 00 C0 */	stw r5, 0xc0(r1)
/* 801C9250 001C4EB0  90 81 00 C4 */	stw r4, 0xc4(r1)
/* 801C9254 001C4EB4  90 61 00 C8 */	stw r3, 0xc8(r1)
/* 801C9258 001C4EB8  B0 01 00 CC */	sth r0, 0xcc(r1)
/* 801C925C 001C4EBC  92 A1 00 78 */	stw r21, 0x78(r1)
/* 801C9260 001C4EC0  92 C1 00 7C */	stw r22, 0x7c(r1)
/* 801C9264 001C4EC4  92 E1 00 80 */	stw r23, 0x80(r1)
/* 801C9268 001C4EC8  93 01 00 84 */	stw r24, 0x84(r1)
/* 801C926C 001C4ECC  93 21 00 88 */	stw r25, 0x88(r1)
/* 801C9270 001C4ED0  93 41 00 8C */	stw r26, 0x8c(r1)
/* 801C9274 001C4ED4  93 E1 00 90 */	stw r31, 0x90(r1)
/* 801C9278 001C4ED8  93 C1 00 94 */	stw r30, 0x94(r1)
/* 801C927C 001C4EDC  93 A1 00 98 */	stw r29, 0x98(r1)
/* 801C9280 001C4EE0  93 81 00 9C */	stw r28, 0x9c(r1)
/* 801C9284 001C4EE4  B3 61 00 A0 */	sth r27, 0xa0(r1)
/* 801C9288 001C4EE8  DB E1 00 10 */	stfd f31, 0x10(r1)
/* 801C928C 001C4EEC  D8 01 00 08 */	stfd f0, 8(r1)
/* 801C9290 001C4EF0  48 00 00 68 */	b lbl_801C92F8
lbl_801C9294:
/* 801C9294 001C4EF4  81 81 00 78 */	lwz r12, 0x78(r1)
/* 801C9298 001C4EF8  81 61 00 7C */	lwz r11, 0x7c(r1)
/* 801C929C 001C4EFC  81 41 00 80 */	lwz r10, 0x80(r1)
/* 801C92A0 001C4F00  81 21 00 84 */	lwz r9, 0x84(r1)
/* 801C92A4 001C4F04  81 01 00 88 */	lwz r8, 0x88(r1)
/* 801C92A8 001C4F08  80 E1 00 8C */	lwz r7, 0x8c(r1)
/* 801C92AC 001C4F0C  80 C1 00 90 */	lwz r6, 0x90(r1)
/* 801C92B0 001C4F10  80 A1 00 94 */	lwz r5, 0x94(r1)
/* 801C92B4 001C4F14  80 81 00 98 */	lwz r4, 0x98(r1)
/* 801C92B8 001C4F18  80 61 00 9C */	lwz r3, 0x9c(r1)
/* 801C92BC 001C4F1C  A0 01 00 A0 */	lhz r0, 0xa0(r1)
/* 801C92C0 001C4F20  CB E1 00 08 */	lfd f31, 8(r1)
/* 801C92C4 001C4F24  91 81 00 A4 */	stw r12, 0xa4(r1)
/* 801C92C8 001C4F28  91 61 00 A8 */	stw r11, 0xa8(r1)
/* 801C92CC 001C4F2C  91 41 00 AC */	stw r10, 0xac(r1)
/* 801C92D0 001C4F30  91 21 00 B0 */	stw r9, 0xb0(r1)
/* 801C92D4 001C4F34  91 01 00 B4 */	stw r8, 0xb4(r1)
/* 801C92D8 001C4F38  90 E1 00 B8 */	stw r7, 0xb8(r1)
/* 801C92DC 001C4F3C  90 C1 00 BC */	stw r6, 0xbc(r1)
/* 801C92E0 001C4F40  90 A1 00 C0 */	stw r5, 0xc0(r1)
/* 801C92E4 001C4F44  90 81 00 C4 */	stw r4, 0xc4(r1)
/* 801C92E8 001C4F48  90 61 00 C8 */	stw r3, 0xc8(r1)
/* 801C92EC 001C4F4C  B0 01 00 CC */	sth r0, 0xcc(r1)
/* 801C92F0 001C4F50  DB E1 00 10 */	stfd f31, 0x10(r1)
/* 801C92F4 001C4F54  4B FF FE 20 */	b lbl_801C9114
lbl_801C92F8:
/* 801C92F8 001C4F58  38 61 00 4C */	addi r3, r1, 0x4c
/* 801C92FC 001C4F5C  38 81 00 FC */	addi r4, r1, 0xfc
/* 801C9300 001C4F60  38 A1 00 A4 */	addi r5, r1, 0xa4
/* 801C9304 001C4F64  4B FF F0 C5 */	bl __minus_dec
/* 801C9308 001C4F68  38 61 00 20 */	addi r3, r1, 0x20
/* 801C930C 001C4F6C  38 81 00 78 */	addi r4, r1, 0x78
/* 801C9310 001C4F70  38 A1 00 FC */	addi r5, r1, 0xfc
/* 801C9314 001C4F74  4B FF F0 B5 */	bl __minus_dec
/* 801C9318 001C4F78  38 61 00 4C */	addi r3, r1, 0x4c
/* 801C931C 001C4F7C  38 81 00 20 */	addi r4, r1, 0x20
/* 801C9320 001C4F80  4B FF EE C5 */	bl __equals_dec
/* 801C9324 001C4F84  2C 03 00 00 */	cmpwi r3, 0
/* 801C9328 001C4F88  41 82 00 1C */	beq lbl_801C9344
/* 801C932C 001C4F8C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 801C9330 001C4F90  54 00 07 FF */	clrlwi. r0, r0, 0x1f
/* 801C9334 001C4F94  41 82 00 2C */	beq lbl_801C9360
/* 801C9338 001C4F98  CB E1 00 08 */	lfd f31, 8(r1)
/* 801C933C 001C4F9C  DB E1 00 10 */	stfd f31, 0x10(r1)
/* 801C9340 001C4FA0  48 00 00 20 */	b lbl_801C9360
lbl_801C9344:
/* 801C9344 001C4FA4  38 61 00 4C */	addi r3, r1, 0x4c
/* 801C9348 001C4FA8  38 81 00 20 */	addi r4, r1, 0x20
/* 801C934C 001C4FAC  4B FF EF 7D */	bl __less_dec
/* 801C9350 001C4FB0  2C 03 00 00 */	cmpwi r3, 0
/* 801C9354 001C4FB4  40 82 00 0C */	bne lbl_801C9360
/* 801C9358 001C4FB8  CB E1 00 08 */	lfd f31, 8(r1)
/* 801C935C 001C4FBC  DB E1 00 10 */	stfd f31, 0x10(r1)
lbl_801C9360:
/* 801C9360 001C4FC0  88 01 00 FC */	lbz r0, 0xfc(r1)
/* 801C9364 001C4FC4  7C 00 07 75 */	extsb. r0, r0
/* 801C9368 001C4FC8  41 82 00 0C */	beq lbl_801C9374
/* 801C936C 001C4FCC  FF E0 F8 50 */	fneg f31, f31
/* 801C9370 001C4FD0  DB E1 00 10 */	stfd f31, 0x10(r1)
lbl_801C9374:
/* 801C9374 001C4FD4  FC 20 F8 90 */	fmr f1, f31
lbl_801C9378:
/* 801C9378 001C4FD8  E3 E1 01 78 */	psq_l f31, 376(r1), 0, qr0
/* 801C937C 001C4FDC  39 61 01 70 */	addi r11, r1, 0x170
/* 801C9380 001C4FE0  CB E1 01 70 */	lfd f31, 0x170(r1)
/* 801C9384 001C4FE4  4B FF DD D1 */	bl _restgpr_19
/* 801C9388 001C4FE8  80 01 01 84 */	lwz r0, 0x184(r1)
/* 801C938C 001C4FEC  7C 08 03 A6 */	mtlr r0
/* 801C9390 001C4FF0  38 21 01 80 */	addi r1, r1, 0x180
/* 801C9394 001C4FF4  4E 80 00 20 */	blr