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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global __strtold
__strtold:
/* 801CE80C 001CA46C 94 21 FF 20 */ stwu r1, -0xe0(r1)
/* 801CE810 001CA470 7C 08 02 A6 */ mflr r0
/* 801CE814 001CA474 90 01 00 E4 */ stw r0, 0xe4(r1)
/* 801CE818 001CA478 39 61 00 E0 */ addi r11, r1, 0xe0
/* 801CE81C 001CA47C 4B FF 88 D9 */ bl __save_gpr
/* 801CE820 001CA480 3B E0 00 00 */ li r31, 0
/* 801CE824 001CA484 3D 00 80 42 */ lis r8, lbl_80422B98@ha
/* 801CE828 001CA488 38 00 00 00 */ li r0, 0
/* 801CE82C 001CA48C 93 E1 00 58 */ stw r31, 0x58(r1)
/* 801CE830 001CA490 81 08 2B 98 */ lwz r8, lbl_80422B98@l(r8)
/* 801CE834 001CA494 7C 92 23 78 */ mr r18, r4
/* 801CE838 001CA498 90 01 00 90 */ stw r0, 0x90(r1)
/* 801CE83C 001CA49C 38 00 00 00 */ li r0, 0
/* 801CE840 001CA4A0 7C B3 2B 78 */ mr r19, r5
/* 801CE844 001CA4A4 7E 4C 93 78 */ mr r12, r18
/* 801CE848 001CA4A8 90 01 00 8C */ stw r0, 0x8c(r1)
/* 801CE84C 001CA4AC 38 00 00 00 */ li r0, 0
/* 801CE850 001CA4B0 7C F4 3B 78 */ mr r20, r7
/* 801CE854 001CA4B4 3A 20 00 01 */ li r17, 1
/* 801CE858 001CA4B8 90 01 00 88 */ stw r0, 0x88(r1)
/* 801CE85C 001CA4BC 38 00 00 00 */ li r0, 0
/* 801CE860 001CA4C0 39 C0 00 00 */ li r14, 0
/* 801CE864 001CA4C4 3B A0 00 00 */ li r29, 0
/* 801CE868 001CA4C8 90 61 00 08 */ stw r3, 8(r1)
/* 801CE86C 001CA4CC 7E 63 9B 78 */ mr r3, r19
/* 801CE870 001CA4D0 3B 80 00 00 */ li r28, 0
/* 801CE874 001CA4D4 3B 20 00 00 */ li r25, 0
/* 801CE878 001CA4D8 93 E1 00 5C */ stw r31, 0x5c(r1)
/* 801CE87C 001CA4DC 3A E0 00 00 */ li r23, 0
/* 801CE880 001CA4E0 3B C0 00 01 */ li r30, 1
/* 801CE884 001CA4E4 38 80 00 00 */ li r4, 0
/* 801CE888 001CA4E8 93 E1 00 60 */ stw r31, 0x60(r1)
/* 801CE88C 001CA4EC 38 A0 00 00 */ li r5, 0
/* 801CE890 001CA4F0 93 E1 00 64 */ stw r31, 0x64(r1)
/* 801CE894 001CA4F4 93 E1 00 68 */ stw r31, 0x68(r1)
/* 801CE898 001CA4F8 93 E1 00 6C */ stw r31, 0x6c(r1)
/* 801CE89C 001CA4FC 93 E1 00 70 */ stw r31, 0x70(r1)
/* 801CE8A0 001CA500 93 E1 00 74 */ stw r31, 0x74(r1)
/* 801CE8A4 001CA504 93 E1 00 78 */ stw r31, 0x78(r1)
/* 801CE8A8 001CA508 93 E1 00 7C */ stw r31, 0x7c(r1)
/* 801CE8AC 001CA50C B3 E1 00 80 */ sth r31, 0x80(r1)
/* 801CE8B0 001CA510 8B 68 00 00 */ lbz r27, 0(r8)
/* 801CE8B4 001CA514 90 C1 00 0C */ stw r6, 0xc(r1)
/* 801CE8B8 001CA518 90 01 00 84 */ stw r0, 0x84(r1)
/* 801CE8BC 001CA51C 93 E7 00 00 */ stw r31, 0(r7)
/* 801CE8C0 001CA520 7D 89 03 A6 */ mtctr r12
/* 801CE8C4 001CA524 4E 80 04 21 */ bctrl
/* 801CE8C8 001CA528 3E 00 80 42 */ lis r16, lbl_80422D48@ha
/* 801CE8CC 001CA52C 3D E0 80 40 */ lis r15, lbl_803FCD18@ha
/* 801CE8D0 001CA530 7C 64 1B 78 */ mr r4, r3
/* 801CE8D4 001CA534 3A 10 2D 48 */ addi r16, r16, lbl_80422D48@l
/* 801CE8D8 001CA538 39 EF CD 18 */ addi r15, r15, lbl_803FCD18@l
/* 801CE8DC 001CA53C 48 00 0F D0 */ b lbl_801CF8AC
lbl_801CE8E0:
/* 801CE8E0 001CA540 2C 11 00 80 */ cmpwi r17, 0x80
/* 801CE8E4 001CA544 41 82 08 A0 */ beq lbl_801CF184
/* 801CE8E8 001CA548 40 80 00 5C */ bge lbl_801CE944
/* 801CE8EC 001CA54C 2C 11 00 08 */ cmpwi r17, 8
/* 801CE8F0 001CA550 41 82 06 64 */ beq lbl_801CEF54
/* 801CE8F4 001CA554 40 80 00 2C */ bge lbl_801CE920
/* 801CE8F8 001CA558 2C 11 00 03 */ cmpwi r17, 3
/* 801CE8FC 001CA55C 41 82 0F B0 */ beq lbl_801CF8AC
/* 801CE900 001CA560 40 80 00 14 */ bge lbl_801CE914
/* 801CE904 001CA564 2C 11 00 01 */ cmpwi r17, 1
/* 801CE908 001CA568 41 82 00 8C */ beq lbl_801CE994
/* 801CE90C 001CA56C 40 80 05 18 */ bge lbl_801CEE24
/* 801CE910 001CA570 48 00 0F 9C */ b lbl_801CF8AC
lbl_801CE914:
/* 801CE914 001CA574 2C 11 00 05 */ cmpwi r17, 5
/* 801CE918 001CA578 40 80 0F 94 */ bge lbl_801CF8AC
/* 801CE91C 001CA57C 48 00 06 04 */ b lbl_801CEF20
lbl_801CE920:
/* 801CE920 001CA580 2C 11 00 20 */ cmpwi r17, 0x20
/* 801CE924 001CA584 41 82 07 4C */ beq lbl_801CF070
/* 801CE928 001CA588 40 80 00 10 */ bge lbl_801CE938
/* 801CE92C 001CA58C 2C 11 00 10 */ cmpwi r17, 0x10
/* 801CE930 001CA590 41 82 06 EC */ beq lbl_801CF01C
/* 801CE934 001CA594 48 00 0F 78 */ b lbl_801CF8AC
lbl_801CE938:
/* 801CE938 001CA598 2C 11 00 40 */ cmpwi r17, 0x40
/* 801CE93C 001CA59C 41 82 07 DC */ beq lbl_801CF118
/* 801CE940 001CA5A0 48 00 0F 6C */ b lbl_801CF8AC
lbl_801CE944:
/* 801CE944 001CA5A4 2C 11 20 00 */ cmpwi r17, 0x2000
/* 801CE948 001CA5A8 41 82 02 D0 */ beq lbl_801CEC18
/* 801CE94C 001CA5AC 40 80 00 28 */ bge lbl_801CE974
/* 801CE950 001CA5B0 2C 11 02 00 */ cmpwi r17, 0x200
/* 801CE954 001CA5B4 41 82 09 18 */ beq lbl_801CF26C
/* 801CE958 001CA5B8 40 80 00 10 */ bge lbl_801CE968
/* 801CE95C 001CA5BC 2C 11 01 00 */ cmpwi r17, 0x100
/* 801CE960 001CA5C0 41 82 08 88 */ beq lbl_801CF1E8
/* 801CE964 001CA5C4 48 00 0F 48 */ b lbl_801CF8AC
lbl_801CE968:
/* 801CE968 001CA5C8 2C 11 04 00 */ cmpwi r17, 0x400
/* 801CE96C 001CA5CC 41 82 09 34 */ beq lbl_801CF2A0
/* 801CE970 001CA5D0 48 00 0F 3C */ b lbl_801CF8AC
lbl_801CE974:
/* 801CE974 001CA5D4 3C 60 00 01 */ lis r3, 0x00008000@ha
/* 801CE978 001CA5D8 38 03 80 00 */ addi r0, r3, 0x00008000@l
/* 801CE97C 001CA5DC 7C 11 00 00 */ cmpw r17, r0
/* 801CE980 001CA5E0 41 82 09 AC */ beq lbl_801CF32C
/* 801CE984 001CA5E4 40 80 0F 28 */ bge lbl_801CF8AC
/* 801CE988 001CA5E8 2C 11 40 00 */ cmpwi r17, 0x4000
/* 801CE98C 001CA5EC 41 82 01 6C */ beq lbl_801CEAF8
/* 801CE990 001CA5F0 48 00 0F 1C */ b lbl_801CF8AC
lbl_801CE994:
/* 801CE994 001CA5F4 2C 04 00 00 */ cmpwi r4, 0
/* 801CE998 001CA5F8 38 00 00 00 */ li r0, 0
/* 801CE99C 001CA5FC 41 80 00 0C */ blt lbl_801CE9A8
/* 801CE9A0 001CA600 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CE9A4 001CA604 41 80 00 08 */ blt lbl_801CE9AC
lbl_801CE9A8:
/* 801CE9A8 001CA608 38 00 00 01 */ li r0, 1
lbl_801CE9AC:
/* 801CE9AC 001CA60C 2C 00 00 00 */ cmpwi r0, 0
/* 801CE9B0 001CA610 41 82 00 0C */ beq lbl_801CE9BC
/* 801CE9B4 001CA614 38 00 00 00 */ li r0, 0
/* 801CE9B8 001CA618 48 00 00 18 */ b lbl_801CE9D0
lbl_801CE9BC:
/* 801CE9BC 001CA61C 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CE9C0 001CA620 54 80 08 3C */ slwi r0, r4, 1
/* 801CE9C4 001CA624 80 63 00 08 */ lwz r3, 8(r3)
/* 801CE9C8 001CA628 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CE9CC 001CA62C 54 00 05 EE */ rlwinm r0, r0, 0, 0x17, 0x17
lbl_801CE9D0:
/* 801CE9D0 001CA630 2C 00 00 00 */ cmpwi r0, 0
/* 801CE9D4 001CA634 41 82 00 28 */ beq lbl_801CE9FC
/* 801CE9D8 001CA638 7E 4C 93 78 */ mr r12, r18
/* 801CE9DC 001CA63C 7E 63 9B 78 */ mr r3, r19
/* 801CE9E0 001CA640 38 80 00 00 */ li r4, 0
/* 801CE9E4 001CA644 38 A0 00 00 */ li r5, 0
/* 801CE9E8 001CA648 7D 89 03 A6 */ mtctr r12
/* 801CE9EC 001CA64C 4E 80 04 21 */ bctrl
/* 801CE9F0 001CA650 7C 64 1B 78 */ mr r4, r3
/* 801CE9F4 001CA654 39 CE 00 01 */ addi r14, r14, 1
/* 801CE9F8 001CA658 48 00 0E B4 */ b lbl_801CF8AC
lbl_801CE9FC:
/* 801CE9FC 001CA65C 2C 04 00 00 */ cmpwi r4, 0
/* 801CEA00 001CA660 38 00 00 00 */ li r0, 0
/* 801CEA04 001CA664 41 80 00 0C */ blt lbl_801CEA10
/* 801CEA08 001CA668 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CEA0C 001CA66C 41 80 00 08 */ blt lbl_801CEA14
lbl_801CEA10:
/* 801CEA10 001CA670 38 00 00 01 */ li r0, 1
lbl_801CEA14:
/* 801CEA14 001CA674 2C 00 00 00 */ cmpwi r0, 0
/* 801CEA18 001CA678 41 82 00 0C */ beq lbl_801CEA24
/* 801CEA1C 001CA67C 7C 80 23 78 */ mr r0, r4
/* 801CEA20 001CA680 48 00 00 10 */ b lbl_801CEA30
lbl_801CEA24:
/* 801CEA24 001CA684 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CEA28 001CA688 80 63 00 0C */ lwz r3, 0xc(r3)
/* 801CEA2C 001CA68C 7C 03 20 AE */ lbzx r0, r3, r4
lbl_801CEA30:
/* 801CEA30 001CA690 2C 00 00 49 */ cmpwi r0, 0x49
/* 801CEA34 001CA694 41 82 00 6C */ beq lbl_801CEAA0
/* 801CEA38 001CA698 40 80 00 28 */ bge lbl_801CEA60
/* 801CEA3C 001CA69C 2C 00 00 2C */ cmpwi r0, 0x2c
/* 801CEA40 001CA6A0 41 82 00 B0 */ beq lbl_801CEAF0
/* 801CEA44 001CA6A4 40 80 00 10 */ bge lbl_801CEA54
/* 801CEA48 001CA6A8 2C 00 00 2B */ cmpwi r0, 0x2b
/* 801CEA4C 001CA6AC 40 80 00 28 */ bge lbl_801CEA74
/* 801CEA50 001CA6B0 48 00 00 A0 */ b lbl_801CEAF0
lbl_801CEA54:
/* 801CEA54 001CA6B4 2C 00 00 2E */ cmpwi r0, 0x2e
/* 801CEA58 001CA6B8 40 80 00 98 */ bge lbl_801CEAF0
/* 801CEA5C 001CA6BC 48 00 00 10 */ b lbl_801CEA6C
lbl_801CEA60:
/* 801CEA60 001CA6C0 2C 00 00 4E */ cmpwi r0, 0x4e
/* 801CEA64 001CA6C4 41 82 00 64 */ beq lbl_801CEAC8
/* 801CEA68 001CA6C8 48 00 00 88 */ b lbl_801CEAF0
lbl_801CEA6C:
/* 801CEA6C 001CA6CC 38 00 00 01 */ li r0, 1
/* 801CEA70 001CA6D0 90 01 00 90 */ stw r0, 0x90(r1)
lbl_801CEA74:
/* 801CEA74 001CA6D4 7E 4C 93 78 */ mr r12, r18
/* 801CEA78 001CA6D8 7E 63 9B 78 */ mr r3, r19
/* 801CEA7C 001CA6DC 38 80 00 00 */ li r4, 0
/* 801CEA80 001CA6E0 38 A0 00 00 */ li r5, 0
/* 801CEA84 001CA6E4 7D 89 03 A6 */ mtctr r12
/* 801CEA88 001CA6E8 3B DE 00 01 */ addi r30, r30, 1
/* 801CEA8C 001CA6EC 4E 80 04 21 */ bctrl
/* 801CEA90 001CA6F0 38 00 00 01 */ li r0, 1
/* 801CEA94 001CA6F4 7C 64 1B 78 */ mr r4, r3
/* 801CEA98 001CA6F8 90 01 00 88 */ stw r0, 0x88(r1)
/* 801CEA9C 001CA6FC 48 00 0E 10 */ b lbl_801CF8AC
lbl_801CEAA0:
/* 801CEAA0 001CA700 7E 4C 93 78 */ mr r12, r18
/* 801CEAA4 001CA704 7E 63 9B 78 */ mr r3, r19
/* 801CEAA8 001CA708 38 80 00 00 */ li r4, 0
/* 801CEAAC 001CA70C 38 A0 00 00 */ li r5, 0
/* 801CEAB0 001CA710 7D 89 03 A6 */ mtctr r12
/* 801CEAB4 001CA714 3B DE 00 01 */ addi r30, r30, 1
/* 801CEAB8 001CA718 4E 80 04 21 */ bctrl
/* 801CEABC 001CA71C 7C 64 1B 78 */ mr r4, r3
/* 801CEAC0 001CA720 3A 20 40 00 */ li r17, 0x4000
/* 801CEAC4 001CA724 48 00 0D E8 */ b lbl_801CF8AC
lbl_801CEAC8:
/* 801CEAC8 001CA728 7E 4C 93 78 */ mr r12, r18
/* 801CEACC 001CA72C 7E 63 9B 78 */ mr r3, r19
/* 801CEAD0 001CA730 38 80 00 00 */ li r4, 0
/* 801CEAD4 001CA734 38 A0 00 00 */ li r5, 0
/* 801CEAD8 001CA738 7D 89 03 A6 */ mtctr r12
/* 801CEADC 001CA73C 3B DE 00 01 */ addi r30, r30, 1
/* 801CEAE0 001CA740 4E 80 04 21 */ bctrl
/* 801CEAE4 001CA744 7C 64 1B 78 */ mr r4, r3
/* 801CEAE8 001CA748 3A 20 20 00 */ li r17, 0x2000
/* 801CEAEC 001CA74C 48 00 0D C0 */ b lbl_801CF8AC
lbl_801CEAF0:
/* 801CEAF0 001CA750 3A 20 00 02 */ li r17, 2
/* 801CEAF4 001CA754 48 00 0D B8 */ b lbl_801CF8AC
lbl_801CEAF8:
/* 801CEAF8 001CA758 89 6F 00 00 */ lbz r11, 0(r15)
/* 801CEAFC 001CA75C 3A 21 00 29 */ addi r17, r1, 0x29
/* 801CEB00 001CA760 89 4F 00 01 */ lbz r10, 1(r15)
/* 801CEB04 001CA764 3A A0 00 01 */ li r21, 1
/* 801CEB08 001CA768 89 2F 00 02 */ lbz r9, 2(r15)
/* 801CEB0C 001CA76C 89 0F 00 03 */ lbz r8, 3(r15)
/* 801CEB10 001CA770 88 EF 00 04 */ lbz r7, 4(r15)
/* 801CEB14 001CA774 88 CF 00 05 */ lbz r6, 5(r15)
/* 801CEB18 001CA778 88 AF 00 06 */ lbz r5, 6(r15)
/* 801CEB1C 001CA77C 88 6F 00 07 */ lbz r3, 7(r15)
/* 801CEB20 001CA780 88 0F 00 08 */ lbz r0, 8(r15)
/* 801CEB24 001CA784 99 61 00 28 */ stb r11, 0x28(r1)
/* 801CEB28 001CA788 99 41 00 29 */ stb r10, 0x29(r1)
/* 801CEB2C 001CA78C 99 21 00 2A */ stb r9, 0x2a(r1)
/* 801CEB30 001CA790 99 01 00 2B */ stb r8, 0x2b(r1)
/* 801CEB34 001CA794 98 E1 00 2C */ stb r7, 0x2c(r1)
/* 801CEB38 001CA798 98 C1 00 2D */ stb r6, 0x2d(r1)
/* 801CEB3C 001CA79C 98 A1 00 2E */ stb r5, 0x2e(r1)
/* 801CEB40 001CA7A0 98 61 00 2F */ stb r3, 0x2f(r1)
/* 801CEB44 001CA7A4 98 01 00 30 */ stb r0, 0x30(r1)
/* 801CEB48 001CA7A8 48 00 00 2C */ b lbl_801CEB74
lbl_801CEB4C:
/* 801CEB4C 001CA7AC 7E 4C 93 78 */ mr r12, r18
/* 801CEB50 001CA7B0 7E 63 9B 78 */ mr r3, r19
/* 801CEB54 001CA7B4 38 80 00 00 */ li r4, 0
/* 801CEB58 001CA7B8 38 A0 00 00 */ li r5, 0
/* 801CEB5C 001CA7BC 7D 89 03 A6 */ mtctr r12
/* 801CEB60 001CA7C0 3A 31 00 01 */ addi r17, r17, 1
/* 801CEB64 001CA7C4 3A B5 00 01 */ addi r21, r21, 1
/* 801CEB68 001CA7C8 3B DE 00 01 */ addi r30, r30, 1
/* 801CEB6C 001CA7CC 4E 80 04 21 */ bctrl
/* 801CEB70 001CA7D0 7C 64 1B 78 */ mr r4, r3
lbl_801CEB74:
/* 801CEB74 001CA7D4 2C 15 00 08 */ cmpwi r21, 8
/* 801CEB78 001CA7D8 40 80 00 48 */ bge lbl_801CEBC0
/* 801CEB7C 001CA7DC 88 71 00 00 */ lbz r3, 0(r17)
/* 801CEB80 001CA7E0 2C 04 00 00 */ cmpwi r4, 0
/* 801CEB84 001CA7E4 38 00 00 00 */ li r0, 0
/* 801CEB88 001CA7E8 7C 65 07 74 */ extsb r5, r3
/* 801CEB8C 001CA7EC 41 80 00 0C */ blt lbl_801CEB98
/* 801CEB90 001CA7F0 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CEB94 001CA7F4 41 80 00 08 */ blt lbl_801CEB9C
lbl_801CEB98:
/* 801CEB98 001CA7F8 38 00 00 01 */ li r0, 1
lbl_801CEB9C:
/* 801CEB9C 001CA7FC 2C 00 00 00 */ cmpwi r0, 0
/* 801CEBA0 001CA800 41 82 00 0C */ beq lbl_801CEBAC
/* 801CEBA4 001CA804 7C 80 23 78 */ mr r0, r4
/* 801CEBA8 001CA808 48 00 00 10 */ b lbl_801CEBB8
lbl_801CEBAC:
/* 801CEBAC 001CA80C 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CEBB0 001CA810 80 63 00 0C */ lwz r3, 0xc(r3)
/* 801CEBB4 001CA814 7C 03 20 AE */ lbzx r0, r3, r4
lbl_801CEBB8:
/* 801CEBB8 001CA818 7C 05 00 00 */ cmpw r5, r0
/* 801CEBBC 001CA81C 41 82 FF 90 */ beq lbl_801CEB4C
lbl_801CEBC0:
/* 801CEBC0 001CA820 2C 15 00 03 */ cmpwi r21, 3
/* 801CEBC4 001CA824 41 82 00 0C */ beq lbl_801CEBD0
/* 801CEBC8 001CA828 2C 15 00 08 */ cmpwi r21, 8
/* 801CEBCC 001CA82C 40 82 00 44 */ bne lbl_801CEC10
lbl_801CEBD0:
/* 801CEBD0 001CA830 80 01 00 90 */ lwz r0, 0x90(r1)
/* 801CEBD4 001CA834 2C 00 00 00 */ cmpwi r0, 0
/* 801CEBD8 001CA838 41 82 00 18 */ beq lbl_801CEBF0
/* 801CEBDC 001CA83C 3C 60 80 64 */ lis r3, lbl_8063D6BC@ha
/* 801CEBE0 001CA840 C0 03 D6 BC */ lfs f0, lbl_8063D6BC@l(r3)
/* 801CEBE4 001CA844 FC 20 00 50 */ fneg f1, f0
/* 801CEBE8 001CA848 FC 20 08 18 */ frsp f1, f1
/* 801CEBEC 001CA84C 48 00 00 0C */ b lbl_801CEBF8
lbl_801CEBF0:
/* 801CEBF0 001CA850 3C 60 80 64 */ lis r3, lbl_8063D6BC@ha
/* 801CEBF4 001CA854 C0 23 D6 BC */ lfs f1, lbl_8063D6BC@l(r3)
lbl_801CEBF8:
/* 801CEBF8 001CA858 80 01 00 88 */ lwz r0, 0x88(r1)
/* 801CEBFC 001CA85C 80 61 00 0C */ lwz r3, 0xc(r1)
/* 801CEC00 001CA860 7C 00 72 14 */ add r0, r0, r14
/* 801CEC04 001CA864 7C 15 02 14 */ add r0, r21, r0
/* 801CEC08 001CA868 90 03 00 00 */ stw r0, 0(r3)
/* 801CEC0C 001CA86C 48 00 0F DC */ b lbl_801CFBE8
lbl_801CEC10:
/* 801CEC10 001CA870 3A 20 10 00 */ li r17, 0x1000
/* 801CEC14 001CA874 48 00 0C 98 */ b lbl_801CF8AC
lbl_801CEC18:
/* 801CEC18 001CA878 88 E2 91 58 */ lbz r7, lbl_80641758-_SDA2_BASE_(r2)
/* 801CEC1C 001CA87C 3A A0 00 00 */ li r21, 0
/* 801CEC20 001CA880 88 C2 91 59 */ lbz r6, lbl_80641759-_SDA2_BASE_(r2)
/* 801CEC24 001CA884 3A 21 00 19 */ addi r17, r1, 0x19
/* 801CEC28 001CA888 88 A2 91 5A */ lbz r5, lbl_8064175A-_SDA2_BASE_(r2)
/* 801CEC2C 001CA88C 3A C0 00 01 */ li r22, 1
/* 801CEC30 001CA890 88 62 91 5B */ lbz r3, lbl_8064175B-_SDA2_BASE_(r2)
/* 801CEC34 001CA894 88 02 91 5C */ lbz r0, lbl_8064175C-_SDA2_BASE_(r2)
/* 801CEC38 001CA898 98 E1 00 18 */ stb r7, 0x18(r1)
/* 801CEC3C 001CA89C 98 C1 00 19 */ stb r6, 0x19(r1)
/* 801CEC40 001CA8A0 98 A1 00 1A */ stb r5, 0x1a(r1)
/* 801CEC44 001CA8A4 98 61 00 1B */ stb r3, 0x1b(r1)
/* 801CEC48 001CA8A8 98 01 00 1C */ stb r0, 0x1c(r1)
/* 801CEC4C 001CA8AC 92 A1 00 38 */ stw r21, 0x38(r1)
/* 801CEC50 001CA8B0 92 A1 00 3C */ stw r21, 0x3c(r1)
/* 801CEC54 001CA8B4 92 A1 00 40 */ stw r21, 0x40(r1)
/* 801CEC58 001CA8B8 92 A1 00 44 */ stw r21, 0x44(r1)
/* 801CEC5C 001CA8BC 92 A1 00 48 */ stw r21, 0x48(r1)
/* 801CEC60 001CA8C0 92 A1 00 4C */ stw r21, 0x4c(r1)
/* 801CEC64 001CA8C4 92 A1 00 50 */ stw r21, 0x50(r1)
/* 801CEC68 001CA8C8 92 A1 00 54 */ stw r21, 0x54(r1)
/* 801CEC6C 001CA8CC 48 00 00 2C */ b lbl_801CEC98
lbl_801CEC70:
/* 801CEC70 001CA8D0 7E 4C 93 78 */ mr r12, r18
/* 801CEC74 001CA8D4 7E 63 9B 78 */ mr r3, r19
/* 801CEC78 001CA8D8 38 80 00 00 */ li r4, 0
/* 801CEC7C 001CA8DC 38 A0 00 00 */ li r5, 0
/* 801CEC80 001CA8E0 7D 89 03 A6 */ mtctr r12
/* 801CEC84 001CA8E4 3A 31 00 01 */ addi r17, r17, 1
/* 801CEC88 001CA8E8 3A D6 00 01 */ addi r22, r22, 1
/* 801CEC8C 001CA8EC 3B DE 00 01 */ addi r30, r30, 1
/* 801CEC90 001CA8F0 4E 80 04 21 */ bctrl
/* 801CEC94 001CA8F4 7C 64 1B 78 */ mr r4, r3
lbl_801CEC98:
/* 801CEC98 001CA8F8 2C 16 00 04 */ cmpwi r22, 4
/* 801CEC9C 001CA8FC 40 80 00 48 */ bge lbl_801CECE4
/* 801CECA0 001CA900 88 71 00 00 */ lbz r3, 0(r17)
/* 801CECA4 001CA904 2C 04 00 00 */ cmpwi r4, 0
/* 801CECA8 001CA908 38 00 00 00 */ li r0, 0
/* 801CECAC 001CA90C 7C 65 07 74 */ extsb r5, r3
/* 801CECB0 001CA910 41 80 00 0C */ blt lbl_801CECBC
/* 801CECB4 001CA914 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CECB8 001CA918 41 80 00 08 */ blt lbl_801CECC0
lbl_801CECBC:
/* 801CECBC 001CA91C 38 00 00 01 */ li r0, 1
lbl_801CECC0:
/* 801CECC0 001CA920 2C 00 00 00 */ cmpwi r0, 0
/* 801CECC4 001CA924 41 82 00 0C */ beq lbl_801CECD0
/* 801CECC8 001CA928 7C 80 23 78 */ mr r0, r4
/* 801CECCC 001CA92C 48 00 00 10 */ b lbl_801CECDC
lbl_801CECD0:
/* 801CECD0 001CA930 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CECD4 001CA934 80 63 00 0C */ lwz r3, 0xc(r3)
/* 801CECD8 001CA938 7C 03 20 AE */ lbzx r0, r3, r4
lbl_801CECDC:
/* 801CECDC 001CA93C 7C 05 00 00 */ cmpw r5, r0
/* 801CECE0 001CA940 41 82 FF 90 */ beq lbl_801CEC70
lbl_801CECE4:
/* 801CECE4 001CA944 38 16 FF FD */ addi r0, r22, -3
/* 801CECE8 001CA948 28 00 00 01 */ cmplwi r0, 1
/* 801CECEC 001CA94C 41 81 01 30 */ bgt lbl_801CEE1C
/* 801CECF0 001CA950 2C 16 00 04 */ cmpwi r22, 4
/* 801CECF4 001CA954 40 82 00 E4 */ bne lbl_801CEDD8
/* 801CECF8 001CA958 3A 21 00 38 */ addi r17, r1, 0x38
/* 801CECFC 001CA95C 48 00 00 30 */ b lbl_801CED2C
lbl_801CED00:
/* 801CED00 001CA960 7E 4C 93 78 */ mr r12, r18
/* 801CED04 001CA964 98 91 00 00 */ stb r4, 0(r17)
/* 801CED08 001CA968 7E 63 9B 78 */ mr r3, r19
/* 801CED0C 001CA96C 38 80 00 00 */ li r4, 0
/* 801CED10 001CA970 38 A0 00 00 */ li r5, 0
/* 801CED14 001CA974 7D 89 03 A6 */ mtctr r12
/* 801CED18 001CA978 3A B5 00 01 */ addi r21, r21, 1
/* 801CED1C 001CA97C 3A 31 00 01 */ addi r17, r17, 1
/* 801CED20 001CA980 3B DE 00 01 */ addi r30, r30, 1
/* 801CED24 001CA984 4E 80 04 21 */ bctrl
/* 801CED28 001CA988 7C 64 1B 78 */ mr r4, r3
lbl_801CED2C:
/* 801CED2C 001CA98C 2C 15 00 20 */ cmpwi r21, 0x20
/* 801CED30 001CA990 40 80 00 94 */ bge lbl_801CEDC4
/* 801CED34 001CA994 2C 04 00 00 */ cmpwi r4, 0
/* 801CED38 001CA998 38 00 00 00 */ li r0, 0
/* 801CED3C 001CA99C 41 80 00 0C */ blt lbl_801CED48
/* 801CED40 001CA9A0 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CED44 001CA9A4 41 80 00 08 */ blt lbl_801CED4C
lbl_801CED48:
/* 801CED48 001CA9A8 38 00 00 01 */ li r0, 1
lbl_801CED4C:
/* 801CED4C 001CA9AC 2C 00 00 00 */ cmpwi r0, 0
/* 801CED50 001CA9B0 41 82 00 0C */ beq lbl_801CED5C
/* 801CED54 001CA9B4 38 00 00 00 */ li r0, 0
/* 801CED58 001CA9B8 48 00 00 18 */ b lbl_801CED70
lbl_801CED5C:
/* 801CED5C 001CA9BC 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CED60 001CA9C0 54 80 08 3C */ slwi r0, r4, 1
/* 801CED64 001CA9C4 80 63 00 08 */ lwz r3, 8(r3)
/* 801CED68 001CA9C8 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CED6C 001CA9CC 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_801CED70:
/* 801CED70 001CA9D0 2C 00 00 00 */ cmpwi r0, 0
/* 801CED74 001CA9D4 40 82 FF 8C */ bne lbl_801CED00
/* 801CED78 001CA9D8 2C 04 00 00 */ cmpwi r4, 0
/* 801CED7C 001CA9DC 38 00 00 00 */ li r0, 0
/* 801CED80 001CA9E0 41 80 00 0C */ blt lbl_801CED8C
/* 801CED84 001CA9E4 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CED88 001CA9E8 41 80 00 08 */ blt lbl_801CED90
lbl_801CED8C:
/* 801CED8C 001CA9EC 38 00 00 01 */ li r0, 1
lbl_801CED90:
/* 801CED90 001CA9F0 2C 00 00 00 */ cmpwi r0, 0
/* 801CED94 001CA9F4 41 82 00 0C */ beq lbl_801CEDA0
/* 801CED98 001CA9F8 38 00 00 00 */ li r0, 0
/* 801CED9C 001CA9FC 48 00 00 18 */ b lbl_801CEDB4
lbl_801CEDA0:
/* 801CEDA0 001CAA00 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CEDA4 001CAA04 54 80 08 3C */ slwi r0, r4, 1
/* 801CEDA8 001CAA08 80 63 00 08 */ lwz r3, 8(r3)
/* 801CEDAC 001CAA0C 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CEDB0 001CAA10 54 00 07 FE */ clrlwi r0, r0, 0x1f
lbl_801CEDB4:
/* 801CEDB4 001CAA14 2C 00 00 00 */ cmpwi r0, 0
/* 801CEDB8 001CAA18 40 82 FF 48 */ bne lbl_801CED00
/* 801CEDBC 001CAA1C 7C 04 D8 00 */ cmpw r4, r27
/* 801CEDC0 001CAA20 41 82 FF 40 */ beq lbl_801CED00
lbl_801CEDC4:
/* 801CEDC4 001CAA24 2C 04 00 29 */ cmpwi r4, 0x29
/* 801CEDC8 001CAA28 41 82 00 0C */ beq lbl_801CEDD4
/* 801CEDCC 001CAA2C 3A 20 10 00 */ li r17, 0x1000
/* 801CEDD0 001CAA30 48 00 0A DC */ b lbl_801CF8AC
lbl_801CEDD4:
/* 801CEDD4 001CAA34 3A B5 00 01 */ addi r21, r21, 1
lbl_801CEDD8:
/* 801CEDD8 001CAA38 80 01 00 90 */ lwz r0, 0x90(r1)
/* 801CEDDC 001CAA3C 38 61 00 38 */ addi r3, r1, 0x38
/* 801CEDE0 001CAA40 2C 00 00 00 */ cmpwi r0, 0
/* 801CEDE4 001CAA44 38 00 00 00 */ li r0, 0
/* 801CEDE8 001CAA48 7C 03 A9 AE */ stbx r0, r3, r21
/* 801CEDEC 001CAA4C 41 82 00 10 */ beq lbl_801CEDFC
/* 801CEDF0 001CAA50 48 00 5A 41 */ bl nan
/* 801CEDF4 001CAA54 FC 20 08 50 */ fneg f1, f1
/* 801CEDF8 001CAA58 48 00 00 08 */ b lbl_801CEE00
lbl_801CEDFC:
/* 801CEDFC 001CAA5C 48 00 5A 35 */ bl nan
lbl_801CEE00:
/* 801CEE00 001CAA60 80 01 00 88 */ lwz r0, 0x88(r1)
/* 801CEE04 001CAA64 7C 60 B2 14 */ add r3, r0, r22
/* 801CEE08 001CAA68 7C 15 72 14 */ add r0, r21, r14
/* 801CEE0C 001CAA6C 7C 03 02 14 */ add r0, r3, r0
/* 801CEE10 001CAA70 80 61 00 0C */ lwz r3, 0xc(r1)
/* 801CEE14 001CAA74 90 03 00 00 */ stw r0, 0(r3)
/* 801CEE18 001CAA78 48 00 0D D0 */ b lbl_801CFBE8
lbl_801CEE1C:
/* 801CEE1C 001CAA7C 3A 20 10 00 */ li r17, 0x1000
/* 801CEE20 001CAA80 48 00 0A 8C */ b lbl_801CF8AC
lbl_801CEE24:
/* 801CEE24 001CAA84 7C 04 D8 00 */ cmpw r4, r27
/* 801CEE28 001CAA88 40 82 00 2C */ bne lbl_801CEE54
/* 801CEE2C 001CAA8C 7E 4C 93 78 */ mr r12, r18
/* 801CEE30 001CAA90 7E 63 9B 78 */ mr r3, r19
/* 801CEE34 001CAA94 3A 20 00 10 */ li r17, 0x10
/* 801CEE38 001CAA98 38 80 00 00 */ li r4, 0
/* 801CEE3C 001CAA9C 38 A0 00 00 */ li r5, 0
/* 801CEE40 001CAAA0 7D 89 03 A6 */ mtctr r12
/* 801CEE44 001CAAA4 3B DE 00 01 */ addi r30, r30, 1
/* 801CEE48 001CAAA8 4E 80 04 21 */ bctrl
/* 801CEE4C 001CAAAC 7C 64 1B 78 */ mr r4, r3
/* 801CEE50 001CAAB0 48 00 0A 5C */ b lbl_801CF8AC
lbl_801CEE54:
/* 801CEE54 001CAAB4 2C 04 00 00 */ cmpwi r4, 0
/* 801CEE58 001CAAB8 38 00 00 00 */ li r0, 0
/* 801CEE5C 001CAABC 41 80 00 0C */ blt lbl_801CEE68
/* 801CEE60 001CAAC0 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CEE64 001CAAC4 41 80 00 08 */ blt lbl_801CEE6C
lbl_801CEE68:
/* 801CEE68 001CAAC8 38 00 00 01 */ li r0, 1
lbl_801CEE6C:
/* 801CEE6C 001CAACC 2C 00 00 00 */ cmpwi r0, 0
/* 801CEE70 001CAAD0 41 82 00 0C */ beq lbl_801CEE7C
/* 801CEE74 001CAAD4 38 00 00 00 */ li r0, 0
/* 801CEE78 001CAAD8 48 00 00 18 */ b lbl_801CEE90
lbl_801CEE7C:
/* 801CEE7C 001CAADC 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CEE80 001CAAE0 54 80 08 3C */ slwi r0, r4, 1
/* 801CEE84 001CAAE4 80 63 00 08 */ lwz r3, 8(r3)
/* 801CEE88 001CAAE8 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CEE8C 001CAAEC 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_801CEE90:
/* 801CEE90 001CAAF0 2C 00 00 00 */ cmpwi r0, 0
/* 801CEE94 001CAAF4 40 82 00 0C */ bne lbl_801CEEA0
/* 801CEE98 001CAAF8 3A 20 10 00 */ li r17, 0x1000
/* 801CEE9C 001CAAFC 48 00 0A 10 */ b lbl_801CF8AC
lbl_801CEEA0:
/* 801CEEA0 001CAB00 2C 04 00 30 */ cmpwi r4, 0x30
/* 801CEEA4 001CAB04 40 82 00 74 */ bne lbl_801CEF18
/* 801CEEA8 001CAB08 7E 4C 93 78 */ mr r12, r18
/* 801CEEAC 001CAB0C 7E 63 9B 78 */ mr r3, r19
/* 801CEEB0 001CAB10 38 80 00 00 */ li r4, 0
/* 801CEEB4 001CAB14 38 A0 00 00 */ li r5, 0
/* 801CEEB8 001CAB18 7D 89 03 A6 */ mtctr r12
/* 801CEEBC 001CAB1C 3B DE 00 01 */ addi r30, r30, 1
/* 801CEEC0 001CAB20 4E 80 04 21 */ bctrl
/* 801CEEC4 001CAB24 2C 03 00 00 */ cmpwi r3, 0
/* 801CEEC8 001CAB28 7C 64 1B 78 */ mr r4, r3
/* 801CEECC 001CAB2C 38 00 00 00 */ li r0, 0
/* 801CEED0 001CAB30 41 80 00 0C */ blt lbl_801CEEDC
/* 801CEED4 001CAB34 2C 03 01 00 */ cmpwi r3, 0x100
/* 801CEED8 001CAB38 41 80 00 08 */ blt lbl_801CEEE0
lbl_801CEEDC:
/* 801CEEDC 001CAB3C 38 00 00 01 */ li r0, 1
lbl_801CEEE0:
/* 801CEEE0 001CAB40 2C 00 00 00 */ cmpwi r0, 0
/* 801CEEE4 001CAB44 41 82 00 08 */ beq lbl_801CEEEC
/* 801CEEE8 001CAB48 48 00 00 10 */ b lbl_801CEEF8
lbl_801CEEEC:
/* 801CEEEC 001CAB4C 80 B0 00 38 */ lwz r5, 0x38(r16)
/* 801CEEF0 001CAB50 80 A5 00 0C */ lwz r5, 0xc(r5)
/* 801CEEF4 001CAB54 7C 65 18 AE */ lbzx r3, r5, r3
lbl_801CEEF8:
/* 801CEEF8 001CAB58 2C 03 00 58 */ cmpwi r3, 0x58
/* 801CEEFC 001CAB5C 40 82 00 14 */ bne lbl_801CEF10
/* 801CEF00 001CAB60 3C 60 00 01 */ lis r3, 0x00008000@ha
/* 801CEF04 001CAB64 3B E0 00 01 */ li r31, 1
/* 801CEF08 001CAB68 3A 23 80 00 */ addi r17, r3, 0x00008000@l
/* 801CEF0C 001CAB6C 48 00 09 A0 */ b lbl_801CF8AC
lbl_801CEF10:
/* 801CEF10 001CAB70 3A 20 00 04 */ li r17, 4
/* 801CEF14 001CAB74 48 00 09 98 */ b lbl_801CF8AC
lbl_801CEF18:
/* 801CEF18 001CAB78 3A 20 00 08 */ li r17, 8
/* 801CEF1C 001CAB7C 48 00 09 90 */ b lbl_801CF8AC
lbl_801CEF20:
/* 801CEF20 001CAB80 2C 04 00 30 */ cmpwi r4, 0x30
/* 801CEF24 001CAB84 40 82 00 28 */ bne lbl_801CEF4C
/* 801CEF28 001CAB88 7E 4C 93 78 */ mr r12, r18
/* 801CEF2C 001CAB8C 7E 63 9B 78 */ mr r3, r19
/* 801CEF30 001CAB90 38 80 00 00 */ li r4, 0
/* 801CEF34 001CAB94 38 A0 00 00 */ li r5, 0
/* 801CEF38 001CAB98 7D 89 03 A6 */ mtctr r12
/* 801CEF3C 001CAB9C 3B DE 00 01 */ addi r30, r30, 1
/* 801CEF40 001CABA0 4E 80 04 21 */ bctrl
/* 801CEF44 001CABA4 7C 64 1B 78 */ mr r4, r3
/* 801CEF48 001CABA8 48 00 09 64 */ b lbl_801CF8AC
lbl_801CEF4C:
/* 801CEF4C 001CABAC 3A 20 00 08 */ li r17, 8
/* 801CEF50 001CABB0 48 00 09 5C */ b lbl_801CF8AC
lbl_801CEF54:
/* 801CEF54 001CABB4 2C 04 00 00 */ cmpwi r4, 0
/* 801CEF58 001CABB8 38 00 00 00 */ li r0, 0
/* 801CEF5C 001CABBC 41 80 00 0C */ blt lbl_801CEF68
/* 801CEF60 001CABC0 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CEF64 001CABC4 41 80 00 08 */ blt lbl_801CEF6C
lbl_801CEF68:
/* 801CEF68 001CABC8 38 00 00 01 */ li r0, 1
lbl_801CEF6C:
/* 801CEF6C 001CABCC 2C 00 00 00 */ cmpwi r0, 0
/* 801CEF70 001CABD0 41 82 00 0C */ beq lbl_801CEF7C
/* 801CEF74 001CABD4 38 00 00 00 */ li r0, 0
/* 801CEF78 001CABD8 48 00 00 18 */ b lbl_801CEF90
lbl_801CEF7C:
/* 801CEF7C 001CABDC 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CEF80 001CABE0 54 80 08 3C */ slwi r0, r4, 1
/* 801CEF84 001CABE4 80 63 00 08 */ lwz r3, 8(r3)
/* 801CEF88 001CABE8 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CEF8C 001CABEC 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_801CEF90:
/* 801CEF90 001CABF0 2C 00 00 00 */ cmpwi r0, 0
/* 801CEF94 001CABF4 40 82 00 3C */ bne lbl_801CEFD0
/* 801CEF98 001CABF8 7C 04 D8 00 */ cmpw r4, r27
/* 801CEF9C 001CABFC 40 82 00 2C */ bne lbl_801CEFC8
/* 801CEFA0 001CAC00 7E 4C 93 78 */ mr r12, r18
/* 801CEFA4 001CAC04 7E 63 9B 78 */ mr r3, r19
/* 801CEFA8 001CAC08 3A 20 00 20 */ li r17, 0x20
/* 801CEFAC 001CAC0C 38 80 00 00 */ li r4, 0
/* 801CEFB0 001CAC10 38 A0 00 00 */ li r5, 0
/* 801CEFB4 001CAC14 7D 89 03 A6 */ mtctr r12
/* 801CEFB8 001CAC18 3B DE 00 01 */ addi r30, r30, 1
/* 801CEFBC 001CAC1C 4E 80 04 21 */ bctrl
/* 801CEFC0 001CAC20 7C 64 1B 78 */ mr r4, r3
/* 801CEFC4 001CAC24 48 00 08 E8 */ b lbl_801CF8AC
lbl_801CEFC8:
/* 801CEFC8 001CAC28 3A 20 00 40 */ li r17, 0x40
/* 801CEFCC 001CAC2C 48 00 08 E0 */ b lbl_801CF8AC
lbl_801CEFD0:
/* 801CEFD0 001CAC30 88 A1 00 5C */ lbz r5, 0x5c(r1)
/* 801CEFD4 001CAC34 28 05 00 14 */ cmplwi r5, 0x14
/* 801CEFD8 001CAC38 40 80 00 1C */ bge lbl_801CEFF4
/* 801CEFDC 001CAC3C 38 01 00 58 */ addi r0, r1, 0x58
/* 801CEFE0 001CAC40 7C 60 2A 14 */ add r3, r0, r5
/* 801CEFE4 001CAC44 98 83 00 05 */ stb r4, 5(r3)
/* 801CEFE8 001CAC48 38 05 00 01 */ addi r0, r5, 1
/* 801CEFEC 001CAC4C 98 01 00 5C */ stb r0, 0x5c(r1)
/* 801CEFF0 001CAC50 48 00 00 08 */ b lbl_801CEFF8
lbl_801CEFF4:
/* 801CEFF4 001CAC54 3B 9C 00 01 */ addi r28, r28, 1
lbl_801CEFF8:
/* 801CEFF8 001CAC58 7E 4C 93 78 */ mr r12, r18
/* 801CEFFC 001CAC5C 7E 63 9B 78 */ mr r3, r19
/* 801CF000 001CAC60 38 80 00 00 */ li r4, 0
/* 801CF004 001CAC64 38 A0 00 00 */ li r5, 0
/* 801CF008 001CAC68 7D 89 03 A6 */ mtctr r12
/* 801CF00C 001CAC6C 3B DE 00 01 */ addi r30, r30, 1
/* 801CF010 001CAC70 4E 80 04 21 */ bctrl
/* 801CF014 001CAC74 7C 64 1B 78 */ mr r4, r3
/* 801CF018 001CAC78 48 00 08 94 */ b lbl_801CF8AC
lbl_801CF01C:
/* 801CF01C 001CAC7C 2C 04 00 00 */ cmpwi r4, 0
/* 801CF020 001CAC80 38 00 00 00 */ li r0, 0
/* 801CF024 001CAC84 41 80 00 0C */ blt lbl_801CF030
/* 801CF028 001CAC88 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CF02C 001CAC8C 41 80 00 08 */ blt lbl_801CF034
lbl_801CF030:
/* 801CF030 001CAC90 38 00 00 01 */ li r0, 1
lbl_801CF034:
/* 801CF034 001CAC94 2C 00 00 00 */ cmpwi r0, 0
/* 801CF038 001CAC98 41 82 00 0C */ beq lbl_801CF044
/* 801CF03C 001CAC9C 38 00 00 00 */ li r0, 0
/* 801CF040 001CACA0 48 00 00 18 */ b lbl_801CF058
lbl_801CF044:
/* 801CF044 001CACA4 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CF048 001CACA8 54 80 08 3C */ slwi r0, r4, 1
/* 801CF04C 001CACAC 80 63 00 08 */ lwz r3, 8(r3)
/* 801CF050 001CACB0 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CF054 001CACB4 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_801CF058:
/* 801CF058 001CACB8 2C 00 00 00 */ cmpwi r0, 0
/* 801CF05C 001CACBC 40 82 00 0C */ bne lbl_801CF068
/* 801CF060 001CACC0 3A 20 10 00 */ li r17, 0x1000
/* 801CF064 001CACC4 48 00 08 48 */ b lbl_801CF8AC
lbl_801CF068:
/* 801CF068 001CACC8 3A 20 00 20 */ li r17, 0x20
/* 801CF06C 001CACCC 48 00 08 40 */ b lbl_801CF8AC
lbl_801CF070:
/* 801CF070 001CACD0 2C 04 00 00 */ cmpwi r4, 0
/* 801CF074 001CACD4 38 00 00 00 */ li r0, 0
/* 801CF078 001CACD8 41 80 00 0C */ blt lbl_801CF084
/* 801CF07C 001CACDC 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CF080 001CACE0 41 80 00 08 */ blt lbl_801CF088
lbl_801CF084:
/* 801CF084 001CACE4 38 00 00 01 */ li r0, 1
lbl_801CF088:
/* 801CF088 001CACE8 2C 00 00 00 */ cmpwi r0, 0
/* 801CF08C 001CACEC 41 82 00 0C */ beq lbl_801CF098
/* 801CF090 001CACF0 38 00 00 00 */ li r0, 0
/* 801CF094 001CACF4 48 00 00 18 */ b lbl_801CF0AC
lbl_801CF098:
/* 801CF098 001CACF8 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CF09C 001CACFC 54 80 08 3C */ slwi r0, r4, 1
/* 801CF0A0 001CAD00 80 63 00 08 */ lwz r3, 8(r3)
/* 801CF0A4 001CAD04 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CF0A8 001CAD08 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_801CF0AC:
/* 801CF0AC 001CAD0C 2C 00 00 00 */ cmpwi r0, 0
/* 801CF0B0 001CAD10 40 82 00 0C */ bne lbl_801CF0BC
/* 801CF0B4 001CAD14 3A 20 00 40 */ li r17, 0x40
/* 801CF0B8 001CAD18 48 00 07 F4 */ b lbl_801CF8AC
lbl_801CF0BC:
/* 801CF0BC 001CAD1C 88 01 00 5C */ lbz r0, 0x5c(r1)
/* 801CF0C0 001CAD20 28 00 00 14 */ cmplwi r0, 0x14
/* 801CF0C4 001CAD24 40 80 00 30 */ bge lbl_801CF0F4
/* 801CF0C8 001CAD28 2C 04 00 30 */ cmpwi r4, 0x30
/* 801CF0CC 001CAD2C 40 82 00 0C */ bne lbl_801CF0D8
/* 801CF0D0 001CAD30 2C 00 00 00 */ cmpwi r0, 0
/* 801CF0D4 001CAD34 41 82 00 1C */ beq lbl_801CF0F0
lbl_801CF0D8:
/* 801CF0D8 001CAD38 88 A1 00 5C */ lbz r5, 0x5c(r1)
/* 801CF0DC 001CAD3C 38 01 00 58 */ addi r0, r1, 0x58
/* 801CF0E0 001CAD40 7C 60 2A 14 */ add r3, r0, r5
/* 801CF0E4 001CAD44 38 05 00 01 */ addi r0, r5, 1
/* 801CF0E8 001CAD48 98 83 00 05 */ stb r4, 5(r3)
/* 801CF0EC 001CAD4C 98 01 00 5C */ stb r0, 0x5c(r1)
lbl_801CF0F0:
/* 801CF0F0 001CAD50 3B 9C FF FF */ addi r28, r28, -1
lbl_801CF0F4:
/* 801CF0F4 001CAD54 7E 4C 93 78 */ mr r12, r18
/* 801CF0F8 001CAD58 7E 63 9B 78 */ mr r3, r19
/* 801CF0FC 001CAD5C 38 80 00 00 */ li r4, 0
/* 801CF100 001CAD60 38 A0 00 00 */ li r5, 0
/* 801CF104 001CAD64 7D 89 03 A6 */ mtctr r12
/* 801CF108 001CAD68 3B DE 00 01 */ addi r30, r30, 1
/* 801CF10C 001CAD6C 4E 80 04 21 */ bctrl
/* 801CF110 001CAD70 7C 64 1B 78 */ mr r4, r3
/* 801CF114 001CAD74 48 00 07 98 */ b lbl_801CF8AC
lbl_801CF118:
/* 801CF118 001CAD78 2C 04 00 00 */ cmpwi r4, 0
/* 801CF11C 001CAD7C 38 00 00 00 */ li r0, 0
/* 801CF120 001CAD80 41 80 00 0C */ blt lbl_801CF12C
/* 801CF124 001CAD84 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CF128 001CAD88 41 80 00 08 */ blt lbl_801CF130
lbl_801CF12C:
/* 801CF12C 001CAD8C 38 00 00 01 */ li r0, 1
lbl_801CF130:
/* 801CF130 001CAD90 2C 00 00 00 */ cmpwi r0, 0
/* 801CF134 001CAD94 41 82 00 0C */ beq lbl_801CF140
/* 801CF138 001CAD98 7C 80 23 78 */ mr r0, r4
/* 801CF13C 001CAD9C 48 00 00 10 */ b lbl_801CF14C
lbl_801CF140:
/* 801CF140 001CADA0 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CF144 001CADA4 80 63 00 0C */ lwz r3, 0xc(r3)
/* 801CF148 001CADA8 7C 03 20 AE */ lbzx r0, r3, r4
lbl_801CF14C:
/* 801CF14C 001CADAC 2C 00 00 45 */ cmpwi r0, 0x45
/* 801CF150 001CADB0 40 82 00 2C */ bne lbl_801CF17C
/* 801CF154 001CADB4 7E 4C 93 78 */ mr r12, r18
/* 801CF158 001CADB8 7E 63 9B 78 */ mr r3, r19
/* 801CF15C 001CADBC 3A 20 00 80 */ li r17, 0x80
/* 801CF160 001CADC0 38 80 00 00 */ li r4, 0
/* 801CF164 001CADC4 38 A0 00 00 */ li r5, 0
/* 801CF168 001CADC8 7D 89 03 A6 */ mtctr r12
/* 801CF16C 001CADCC 3B DE 00 01 */ addi r30, r30, 1
/* 801CF170 001CADD0 4E 80 04 21 */ bctrl
/* 801CF174 001CADD4 7C 64 1B 78 */ mr r4, r3
/* 801CF178 001CADD8 48 00 07 34 */ b lbl_801CF8AC
lbl_801CF17C:
/* 801CF17C 001CADDC 3A 20 08 00 */ li r17, 0x800
/* 801CF180 001CADE0 48 00 07 2C */ b lbl_801CF8AC
lbl_801CF184:
/* 801CF184 001CADE4 2C 04 00 2B */ cmpwi r4, 0x2b
/* 801CF188 001CADE8 40 82 00 28 */ bne lbl_801CF1B0
/* 801CF18C 001CADEC 7E 4C 93 78 */ mr r12, r18
/* 801CF190 001CADF0 7E 63 9B 78 */ mr r3, r19
/* 801CF194 001CADF4 38 80 00 00 */ li r4, 0
/* 801CF198 001CADF8 38 A0 00 00 */ li r5, 0
/* 801CF19C 001CADFC 7D 89 03 A6 */ mtctr r12
/* 801CF1A0 001CAE00 3B DE 00 01 */ addi r30, r30, 1
/* 801CF1A4 001CAE04 4E 80 04 21 */ bctrl
/* 801CF1A8 001CAE08 7C 64 1B 78 */ mr r4, r3
/* 801CF1AC 001CAE0C 48 00 00 34 */ b lbl_801CF1E0
lbl_801CF1B0:
/* 801CF1B0 001CAE10 2C 04 00 2D */ cmpwi r4, 0x2d
/* 801CF1B4 001CAE14 40 82 00 2C */ bne lbl_801CF1E0
/* 801CF1B8 001CAE18 7E 4C 93 78 */ mr r12, r18
/* 801CF1BC 001CAE1C 7E 63 9B 78 */ mr r3, r19
/* 801CF1C0 001CAE20 38 80 00 00 */ li r4, 0
/* 801CF1C4 001CAE24 38 A0 00 00 */ li r5, 0
/* 801CF1C8 001CAE28 7D 89 03 A6 */ mtctr r12
/* 801CF1CC 001CAE2C 3B DE 00 01 */ addi r30, r30, 1
/* 801CF1D0 001CAE30 4E 80 04 21 */ bctrl
/* 801CF1D4 001CAE34 38 00 00 01 */ li r0, 1
/* 801CF1D8 001CAE38 7C 64 1B 78 */ mr r4, r3
/* 801CF1DC 001CAE3C 90 01 00 8C */ stw r0, 0x8c(r1)
lbl_801CF1E0:
/* 801CF1E0 001CAE40 3A 20 01 00 */ li r17, 0x100
/* 801CF1E4 001CAE44 48 00 06 C8 */ b lbl_801CF8AC
lbl_801CF1E8:
/* 801CF1E8 001CAE48 2C 04 00 00 */ cmpwi r4, 0
/* 801CF1EC 001CAE4C 38 00 00 00 */ li r0, 0
/* 801CF1F0 001CAE50 41 80 00 0C */ blt lbl_801CF1FC
/* 801CF1F4 001CAE54 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CF1F8 001CAE58 41 80 00 08 */ blt lbl_801CF200
lbl_801CF1FC:
/* 801CF1FC 001CAE5C 38 00 00 01 */ li r0, 1
lbl_801CF200:
/* 801CF200 001CAE60 2C 00 00 00 */ cmpwi r0, 0
/* 801CF204 001CAE64 41 82 00 0C */ beq lbl_801CF210
/* 801CF208 001CAE68 38 00 00 00 */ li r0, 0
/* 801CF20C 001CAE6C 48 00 00 18 */ b lbl_801CF224
lbl_801CF210:
/* 801CF210 001CAE70 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CF214 001CAE74 54 80 08 3C */ slwi r0, r4, 1
/* 801CF218 001CAE78 80 63 00 08 */ lwz r3, 8(r3)
/* 801CF21C 001CAE7C 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CF220 001CAE80 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_801CF224:
/* 801CF224 001CAE84 2C 00 00 00 */ cmpwi r0, 0
/* 801CF228 001CAE88 40 82 00 0C */ bne lbl_801CF234
/* 801CF22C 001CAE8C 3A 20 10 00 */ li r17, 0x1000
/* 801CF230 001CAE90 48 00 06 7C */ b lbl_801CF8AC
lbl_801CF234:
/* 801CF234 001CAE94 2C 04 00 30 */ cmpwi r4, 0x30
/* 801CF238 001CAE98 40 82 00 2C */ bne lbl_801CF264
/* 801CF23C 001CAE9C 7E 4C 93 78 */ mr r12, r18
/* 801CF240 001CAEA0 7E 63 9B 78 */ mr r3, r19
/* 801CF244 001CAEA4 3A 20 02 00 */ li r17, 0x200
/* 801CF248 001CAEA8 38 80 00 00 */ li r4, 0
/* 801CF24C 001CAEAC 38 A0 00 00 */ li r5, 0
/* 801CF250 001CAEB0 7D 89 03 A6 */ mtctr r12
/* 801CF254 001CAEB4 3B DE 00 01 */ addi r30, r30, 1
/* 801CF258 001CAEB8 4E 80 04 21 */ bctrl
/* 801CF25C 001CAEBC 7C 64 1B 78 */ mr r4, r3
/* 801CF260 001CAEC0 48 00 06 4C */ b lbl_801CF8AC
lbl_801CF264:
/* 801CF264 001CAEC4 3A 20 04 00 */ li r17, 0x400
/* 801CF268 001CAEC8 48 00 06 44 */ b lbl_801CF8AC
lbl_801CF26C:
/* 801CF26C 001CAECC 2C 04 00 30 */ cmpwi r4, 0x30
/* 801CF270 001CAED0 40 82 00 28 */ bne lbl_801CF298
/* 801CF274 001CAED4 7E 4C 93 78 */ mr r12, r18
/* 801CF278 001CAED8 7E 63 9B 78 */ mr r3, r19
/* 801CF27C 001CAEDC 38 80 00 00 */ li r4, 0
/* 801CF280 001CAEE0 38 A0 00 00 */ li r5, 0
/* 801CF284 001CAEE4 7D 89 03 A6 */ mtctr r12
/* 801CF288 001CAEE8 3B DE 00 01 */ addi r30, r30, 1
/* 801CF28C 001CAEEC 4E 80 04 21 */ bctrl
/* 801CF290 001CAEF0 7C 64 1B 78 */ mr r4, r3
/* 801CF294 001CAEF4 48 00 06 18 */ b lbl_801CF8AC
lbl_801CF298:
/* 801CF298 001CAEF8 3A 20 04 00 */ li r17, 0x400
/* 801CF29C 001CAEFC 48 00 06 10 */ b lbl_801CF8AC
lbl_801CF2A0:
/* 801CF2A0 001CAF00 2C 04 00 00 */ cmpwi r4, 0
/* 801CF2A4 001CAF04 38 00 00 00 */ li r0, 0
/* 801CF2A8 001CAF08 41 80 00 0C */ blt lbl_801CF2B4
/* 801CF2AC 001CAF0C 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CF2B0 001CAF10 41 80 00 08 */ blt lbl_801CF2B8
lbl_801CF2B4:
/* 801CF2B4 001CAF14 38 00 00 01 */ li r0, 1
lbl_801CF2B8:
/* 801CF2B8 001CAF18 2C 00 00 00 */ cmpwi r0, 0
/* 801CF2BC 001CAF1C 41 82 00 0C */ beq lbl_801CF2C8
/* 801CF2C0 001CAF20 38 00 00 00 */ li r0, 0
/* 801CF2C4 001CAF24 48 00 00 18 */ b lbl_801CF2DC
lbl_801CF2C8:
/* 801CF2C8 001CAF28 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CF2CC 001CAF2C 54 80 08 3C */ slwi r0, r4, 1
/* 801CF2D0 001CAF30 80 63 00 08 */ lwz r3, 8(r3)
/* 801CF2D4 001CAF34 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CF2D8 001CAF38 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_801CF2DC:
/* 801CF2DC 001CAF3C 2C 00 00 00 */ cmpwi r0, 0
/* 801CF2E0 001CAF40 40 82 00 0C */ bne lbl_801CF2EC
/* 801CF2E4 001CAF44 3A 20 08 00 */ li r17, 0x800
/* 801CF2E8 001CAF48 48 00 05 C4 */ b lbl_801CF8AC
lbl_801CF2EC:
/* 801CF2EC 001CAF4C 1C 1D 00 0A */ mulli r0, r29, 0xa
/* 801CF2F0 001CAF50 7C 64 02 14 */ add r3, r4, r0
/* 801CF2F4 001CAF54 3B A3 FF D0 */ addi r29, r3, -48
/* 801CF2F8 001CAF58 2C 1D 7F FF */ cmpwi r29, 0x7fff
/* 801CF2FC 001CAF5C 40 81 00 0C */ ble lbl_801CF308
/* 801CF300 001CAF60 38 00 00 01 */ li r0, 1
/* 801CF304 001CAF64 90 14 00 00 */ stw r0, 0(r20)
lbl_801CF308:
/* 801CF308 001CAF68 7E 4C 93 78 */ mr r12, r18
/* 801CF30C 001CAF6C 7E 63 9B 78 */ mr r3, r19
/* 801CF310 001CAF70 38 80 00 00 */ li r4, 0
/* 801CF314 001CAF74 38 A0 00 00 */ li r5, 0
/* 801CF318 001CAF78 7D 89 03 A6 */ mtctr r12
/* 801CF31C 001CAF7C 3B DE 00 01 */ addi r30, r30, 1
/* 801CF320 001CAF80 4E 80 04 21 */ bctrl
/* 801CF324 001CAF84 7C 64 1B 78 */ mr r4, r3
/* 801CF328 001CAF88 48 00 05 84 */ b lbl_801CF8AC
lbl_801CF32C:
/* 801CF32C 001CAF8C 2C 1F 00 10 */ cmpwi r31, 0x10
/* 801CF330 001CAF90 41 82 03 74 */ beq lbl_801CF6A4
/* 801CF334 001CAF94 40 80 00 34 */ bge lbl_801CF368
/* 801CF338 001CAF98 2C 1F 00 04 */ cmpwi r31, 4
/* 801CF33C 001CAF9C 41 82 00 D4 */ beq lbl_801CF410
/* 801CF340 001CAFA0 40 80 00 1C */ bge lbl_801CF35C
/* 801CF344 001CAFA4 2C 1F 00 02 */ cmpwi r31, 2
/* 801CF348 001CAFA8 41 82 00 94 */ beq lbl_801CF3DC
/* 801CF34C 001CAFAC 40 80 05 60 */ bge lbl_801CF8AC
/* 801CF350 001CAFB0 2C 1F 00 01 */ cmpwi r31, 1
/* 801CF354 001CAFB4 40 80 00 44 */ bge lbl_801CF398
/* 801CF358 001CAFB8 48 00 05 54 */ b lbl_801CF8AC
lbl_801CF35C:
/* 801CF35C 001CAFBC 2C 1F 00 08 */ cmpwi r31, 8
/* 801CF360 001CAFC0 41 82 02 14 */ beq lbl_801CF574
/* 801CF364 001CAFC4 48 00 05 48 */ b lbl_801CF8AC
lbl_801CF368:
/* 801CF368 001CAFC8 2C 1F 00 80 */ cmpwi r31, 0x80
/* 801CF36C 001CAFCC 41 82 04 84 */ beq lbl_801CF7F0
/* 801CF370 001CAFD0 40 80 00 1C */ bge lbl_801CF38C
/* 801CF374 001CAFD4 2C 1F 00 40 */ cmpwi r31, 0x40
/* 801CF378 001CAFD8 41 82 03 F4 */ beq lbl_801CF76C
/* 801CF37C 001CAFDC 40 80 05 30 */ bge lbl_801CF8AC
/* 801CF380 001CAFE0 2C 1F 00 20 */ cmpwi r31, 0x20
/* 801CF384 001CAFE4 41 82 03 8C */ beq lbl_801CF710
/* 801CF388 001CAFE8 48 00 05 24 */ b lbl_801CF8AC
lbl_801CF38C:
/* 801CF38C 001CAFEC 2C 1F 01 00 */ cmpwi r31, 0x100
/* 801CF390 001CAFF0 41 82 04 94 */ beq lbl_801CF824
/* 801CF394 001CAFF4 48 00 05 18 */ b lbl_801CF8AC
lbl_801CF398:
/* 801CF398 001CAFF8 38 61 00 20 */ addi r3, r1, 0x20
/* 801CF39C 001CAFFC 38 80 00 00 */ li r4, 0
/* 801CF3A0 001CB000 38 A0 00 08 */ li r5, 8
/* 801CF3A4 001CB004 4B E3 4D 61 */ bl memset
/* 801CF3A8 001CB008 7E 4C 93 78 */ mr r12, r18
/* 801CF3AC 001CB00C 7E 63 9B 78 */ mr r3, r19
/* 801CF3B0 001CB010 3B 41 00 20 */ addi r26, r1, 0x20
/* 801CF3B4 001CB014 3A E0 00 00 */ li r23, 0
/* 801CF3B8 001CB018 3B 00 00 00 */ li r24, 0
/* 801CF3BC 001CB01C 3B E0 00 02 */ li r31, 2
/* 801CF3C0 001CB020 38 80 00 00 */ li r4, 0
/* 801CF3C4 001CB024 38 A0 00 00 */ li r5, 0
/* 801CF3C8 001CB028 7D 89 03 A6 */ mtctr r12
/* 801CF3CC 001CB02C 3B DE 00 01 */ addi r30, r30, 1
/* 801CF3D0 001CB030 4E 80 04 21 */ bctrl
/* 801CF3D4 001CB034 7C 64 1B 78 */ mr r4, r3
/* 801CF3D8 001CB038 48 00 04 D4 */ b lbl_801CF8AC
lbl_801CF3DC:
/* 801CF3DC 001CB03C 2C 04 00 30 */ cmpwi r4, 0x30
/* 801CF3E0 001CB040 40 82 00 28 */ bne lbl_801CF408
/* 801CF3E4 001CB044 7E 4C 93 78 */ mr r12, r18
/* 801CF3E8 001CB048 7E 63 9B 78 */ mr r3, r19
/* 801CF3EC 001CB04C 38 80 00 00 */ li r4, 0
/* 801CF3F0 001CB050 38 A0 00 00 */ li r5, 0
/* 801CF3F4 001CB054 7D 89 03 A6 */ mtctr r12
/* 801CF3F8 001CB058 3B DE 00 01 */ addi r30, r30, 1
/* 801CF3FC 001CB05C 4E 80 04 21 */ bctrl
/* 801CF400 001CB060 7C 64 1B 78 */ mr r4, r3
/* 801CF404 001CB064 48 00 04 A8 */ b lbl_801CF8AC
lbl_801CF408:
/* 801CF408 001CB068 3B E0 00 04 */ li r31, 4
/* 801CF40C 001CB06C 48 00 04 A0 */ b lbl_801CF8AC
lbl_801CF410:
/* 801CF410 001CB070 2C 04 00 00 */ cmpwi r4, 0
/* 801CF414 001CB074 38 00 00 00 */ li r0, 0
/* 801CF418 001CB078 41 80 00 0C */ blt lbl_801CF424
/* 801CF41C 001CB07C 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CF420 001CB080 41 80 00 08 */ blt lbl_801CF428
lbl_801CF424:
/* 801CF424 001CB084 38 00 00 01 */ li r0, 1
lbl_801CF428:
/* 801CF428 001CB088 2C 00 00 00 */ cmpwi r0, 0
/* 801CF42C 001CB08C 41 82 00 0C */ beq lbl_801CF438
/* 801CF430 001CB090 38 00 00 00 */ li r0, 0
/* 801CF434 001CB094 48 00 00 18 */ b lbl_801CF44C
lbl_801CF438:
/* 801CF438 001CB098 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CF43C 001CB09C 54 80 08 3C */ slwi r0, r4, 1
/* 801CF440 001CB0A0 80 63 00 08 */ lwz r3, 8(r3)
/* 801CF444 001CB0A4 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CF448 001CB0A8 54 00 05 6A */ rlwinm r0, r0, 0, 0x15, 0x15
lbl_801CF44C:
/* 801CF44C 001CB0AC 2C 00 00 00 */ cmpwi r0, 0
/* 801CF450 001CB0B0 40 82 00 3C */ bne lbl_801CF48C
/* 801CF454 001CB0B4 7C 04 D8 00 */ cmpw r4, r27
/* 801CF458 001CB0B8 40 82 00 2C */ bne lbl_801CF484
/* 801CF45C 001CB0BC 7E 4C 93 78 */ mr r12, r18
/* 801CF460 001CB0C0 7E 63 9B 78 */ mr r3, r19
/* 801CF464 001CB0C4 3B E0 00 08 */ li r31, 8
/* 801CF468 001CB0C8 38 80 00 00 */ li r4, 0
/* 801CF46C 001CB0CC 38 A0 00 00 */ li r5, 0
/* 801CF470 001CB0D0 7D 89 03 A6 */ mtctr r12
/* 801CF474 001CB0D4 3B DE 00 01 */ addi r30, r30, 1
/* 801CF478 001CB0D8 4E 80 04 21 */ bctrl
/* 801CF47C 001CB0DC 7C 64 1B 78 */ mr r4, r3
/* 801CF480 001CB0E0 48 00 04 2C */ b lbl_801CF8AC
lbl_801CF484:
/* 801CF484 001CB0E4 3B E0 00 10 */ li r31, 0x10
/* 801CF488 001CB0E8 48 00 04 24 */ b lbl_801CF8AC
lbl_801CF48C:
/* 801CF48C 001CB0EC 38 00 00 0E */ li r0, 0xe
/* 801CF490 001CB0F0 7C 17 00 40 */ cmplw r23, r0
/* 801CF494 001CB0F4 40 80 00 BC */ bge lbl_801CF550
/* 801CF498 001CB0F8 57 00 0F FE */ srwi r0, r24, 0x1f
/* 801CF49C 001CB0FC 2C 04 00 00 */ cmpwi r4, 0
/* 801CF4A0 001CB100 7C 00 C2 14 */ add r0, r0, r24
/* 801CF4A4 001CB104 38 60 00 00 */ li r3, 0
/* 801CF4A8 001CB108 7C 00 0E 70 */ srawi r0, r0, 1
/* 801CF4AC 001CB10C 3A F7 00 01 */ addi r23, r23, 1
/* 801CF4B0 001CB110 7C 1A 00 AE */ lbzx r0, r26, r0
/* 801CF4B4 001CB114 41 80 00 0C */ blt lbl_801CF4C0
/* 801CF4B8 001CB118 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CF4BC 001CB11C 41 80 00 08 */ blt lbl_801CF4C4
lbl_801CF4C0:
/* 801CF4C0 001CB120 38 60 00 01 */ li r3, 1
lbl_801CF4C4:
/* 801CF4C4 001CB124 2C 03 00 00 */ cmpwi r3, 0
/* 801CF4C8 001CB128 41 82 00 08 */ beq lbl_801CF4D0
/* 801CF4CC 001CB12C 48 00 00 10 */ b lbl_801CF4DC
lbl_801CF4D0:
/* 801CF4D0 001CB130 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CF4D4 001CB134 80 63 00 0C */ lwz r3, 0xc(r3)
/* 801CF4D8 001CB138 7C 83 20 AE */ lbzx r4, r3, r4
lbl_801CF4DC:
/* 801CF4DC 001CB13C 2C 04 00 41 */ cmpwi r4, 0x41
/* 801CF4E0 001CB140 38 C4 FF D0 */ addi r6, r4, -48
/* 801CF4E4 001CB144 41 80 00 08 */ blt lbl_801CF4EC
/* 801CF4E8 001CB148 38 C4 FF C9 */ addi r6, r4, -55
lbl_801CF4EC:
/* 801CF4EC 001CB14C 57 05 0F FE */ srwi r5, r24, 0x1f
/* 801CF4F0 001CB150 57 03 07 FE */ clrlwi r3, r24, 0x1f
/* 801CF4F4 001CB154 7C 64 2A 78 */ xor r4, r3, r5
/* 801CF4F8 001CB158 54 C3 26 36 */ rlwinm r3, r6, 4, 0x18, 0x1b
/* 801CF4FC 001CB15C 7C 85 20 51 */ subf. r4, r5, r4
/* 801CF500 001CB160 7C 03 1B 78 */ or r3, r0, r3
/* 801CF504 001CB164 54 C4 06 3E */ clrlwi r4, r6, 0x18
/* 801CF508 001CB168 54 65 06 3E */ clrlwi r5, r3, 0x18
/* 801CF50C 001CB16C 41 82 00 0C */ beq lbl_801CF518
/* 801CF510 001CB170 7C 00 23 78 */ or r0, r0, r4
/* 801CF514 001CB174 54 05 06 3E */ clrlwi r5, r0, 0x18
lbl_801CF518:
/* 801CF518 001CB178 57 00 0F FE */ srwi r0, r24, 0x1f
/* 801CF51C 001CB17C 7E 4C 93 78 */ mr r12, r18
/* 801CF520 001CB180 7C 00 C2 14 */ add r0, r0, r24
/* 801CF524 001CB184 7E 63 9B 78 */ mr r3, r19
/* 801CF528 001CB188 7C 00 0E 70 */ srawi r0, r0, 1
/* 801CF52C 001CB18C 38 80 00 00 */ li r4, 0
/* 801CF530 001CB190 7C BA 01 AE */ stbx r5, r26, r0
/* 801CF534 001CB194 38 A0 00 00 */ li r5, 0
/* 801CF538 001CB198 7D 89 03 A6 */ mtctr r12
/* 801CF53C 001CB19C 3B 18 00 01 */ addi r24, r24, 1
/* 801CF540 001CB1A0 3B DE 00 01 */ addi r30, r30, 1
/* 801CF544 001CB1A4 4E 80 04 21 */ bctrl
/* 801CF548 001CB1A8 7C 64 1B 78 */ mr r4, r3
/* 801CF54C 001CB1AC 48 00 03 60 */ b lbl_801CF8AC
lbl_801CF550:
/* 801CF550 001CB1B0 7E 4C 93 78 */ mr r12, r18
/* 801CF554 001CB1B4 7E 63 9B 78 */ mr r3, r19
/* 801CF558 001CB1B8 38 80 00 00 */ li r4, 0
/* 801CF55C 001CB1BC 38 A0 00 00 */ li r5, 0
/* 801CF560 001CB1C0 7D 89 03 A6 */ mtctr r12
/* 801CF564 001CB1C4 3B DE 00 01 */ addi r30, r30, 1
/* 801CF568 001CB1C8 4E 80 04 21 */ bctrl
/* 801CF56C 001CB1CC 7C 64 1B 78 */ mr r4, r3
/* 801CF570 001CB1D0 48 00 03 3C */ b lbl_801CF8AC
lbl_801CF574:
/* 801CF574 001CB1D4 2C 04 00 00 */ cmpwi r4, 0
/* 801CF578 001CB1D8 38 00 00 00 */ li r0, 0
/* 801CF57C 001CB1DC 41 80 00 0C */ blt lbl_801CF588
/* 801CF580 001CB1E0 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CF584 001CB1E4 41 80 00 08 */ blt lbl_801CF58C
lbl_801CF588:
/* 801CF588 001CB1E8 38 00 00 01 */ li r0, 1
lbl_801CF58C:
/* 801CF58C 001CB1EC 2C 00 00 00 */ cmpwi r0, 0
/* 801CF590 001CB1F0 41 82 00 0C */ beq lbl_801CF59C
/* 801CF594 001CB1F4 38 00 00 00 */ li r0, 0
/* 801CF598 001CB1F8 48 00 00 18 */ b lbl_801CF5B0
lbl_801CF59C:
/* 801CF59C 001CB1FC 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CF5A0 001CB200 54 80 08 3C */ slwi r0, r4, 1
/* 801CF5A4 001CB204 80 63 00 08 */ lwz r3, 8(r3)
/* 801CF5A8 001CB208 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CF5AC 001CB20C 54 00 05 6A */ rlwinm r0, r0, 0, 0x15, 0x15
lbl_801CF5B0:
/* 801CF5B0 001CB210 2C 00 00 00 */ cmpwi r0, 0
/* 801CF5B4 001CB214 40 82 00 0C */ bne lbl_801CF5C0
/* 801CF5B8 001CB218 3B E0 00 10 */ li r31, 0x10
/* 801CF5BC 001CB21C 48 00 02 F0 */ b lbl_801CF8AC
lbl_801CF5C0:
/* 801CF5C0 001CB220 38 00 00 0E */ li r0, 0xe
/* 801CF5C4 001CB224 7C 17 00 40 */ cmplw r23, r0
/* 801CF5C8 001CB228 40 80 00 B8 */ bge lbl_801CF680
/* 801CF5CC 001CB22C 57 00 0F FE */ srwi r0, r24, 0x1f
/* 801CF5D0 001CB230 2C 04 00 00 */ cmpwi r4, 0
/* 801CF5D4 001CB234 7C 00 C2 14 */ add r0, r0, r24
/* 801CF5D8 001CB238 38 60 00 00 */ li r3, 0
/* 801CF5DC 001CB23C 7C 00 0E 70 */ srawi r0, r0, 1
/* 801CF5E0 001CB240 7C 1A 00 AE */ lbzx r0, r26, r0
/* 801CF5E4 001CB244 41 80 00 0C */ blt lbl_801CF5F0
/* 801CF5E8 001CB248 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CF5EC 001CB24C 41 80 00 08 */ blt lbl_801CF5F4
lbl_801CF5F0:
/* 801CF5F0 001CB250 38 60 00 01 */ li r3, 1
lbl_801CF5F4:
/* 801CF5F4 001CB254 2C 03 00 00 */ cmpwi r3, 0
/* 801CF5F8 001CB258 41 82 00 08 */ beq lbl_801CF600
/* 801CF5FC 001CB25C 48 00 00 10 */ b lbl_801CF60C
lbl_801CF600:
/* 801CF600 001CB260 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CF604 001CB264 80 63 00 0C */ lwz r3, 0xc(r3)
/* 801CF608 001CB268 7C 83 20 AE */ lbzx r4, r3, r4
lbl_801CF60C:
/* 801CF60C 001CB26C 2C 04 00 41 */ cmpwi r4, 0x41
/* 801CF610 001CB270 38 C4 FF D0 */ addi r6, r4, -48
/* 801CF614 001CB274 41 80 00 08 */ blt lbl_801CF61C
/* 801CF618 001CB278 38 C4 FF C9 */ addi r6, r4, -55
lbl_801CF61C:
/* 801CF61C 001CB27C 57 05 0F FE */ srwi r5, r24, 0x1f
/* 801CF620 001CB280 57 03 07 FE */ clrlwi r3, r24, 0x1f
/* 801CF624 001CB284 7C 64 2A 78 */ xor r4, r3, r5
/* 801CF628 001CB288 54 C3 26 36 */ rlwinm r3, r6, 4, 0x18, 0x1b
/* 801CF62C 001CB28C 7C 85 20 51 */ subf. r4, r5, r4
/* 801CF630 001CB290 7C 03 1B 78 */ or r3, r0, r3
/* 801CF634 001CB294 54 C4 06 3E */ clrlwi r4, r6, 0x18
/* 801CF638 001CB298 54 65 06 3E */ clrlwi r5, r3, 0x18
/* 801CF63C 001CB29C 41 82 00 0C */ beq lbl_801CF648
/* 801CF640 001CB2A0 7C 00 23 78 */ or r0, r0, r4
/* 801CF644 001CB2A4 54 05 06 3E */ clrlwi r5, r0, 0x18
lbl_801CF648:
/* 801CF648 001CB2A8 57 00 0F FE */ srwi r0, r24, 0x1f
/* 801CF64C 001CB2AC 7E 4C 93 78 */ mr r12, r18
/* 801CF650 001CB2B0 7C 00 C2 14 */ add r0, r0, r24
/* 801CF654 001CB2B4 7E 63 9B 78 */ mr r3, r19
/* 801CF658 001CB2B8 7C 00 0E 70 */ srawi r0, r0, 1
/* 801CF65C 001CB2BC 38 80 00 00 */ li r4, 0
/* 801CF660 001CB2C0 7C BA 01 AE */ stbx r5, r26, r0
/* 801CF664 001CB2C4 38 A0 00 00 */ li r5, 0
/* 801CF668 001CB2C8 7D 89 03 A6 */ mtctr r12
/* 801CF66C 001CB2CC 3B 18 00 01 */ addi r24, r24, 1
/* 801CF670 001CB2D0 3B DE 00 01 */ addi r30, r30, 1
/* 801CF674 001CB2D4 4E 80 04 21 */ bctrl
/* 801CF678 001CB2D8 7C 64 1B 78 */ mr r4, r3
/* 801CF67C 001CB2DC 48 00 02 30 */ b lbl_801CF8AC
lbl_801CF680:
/* 801CF680 001CB2E0 7E 4C 93 78 */ mr r12, r18
/* 801CF684 001CB2E4 7E 63 9B 78 */ mr r3, r19
/* 801CF688 001CB2E8 38 80 00 00 */ li r4, 0
/* 801CF68C 001CB2EC 38 A0 00 00 */ li r5, 0
/* 801CF690 001CB2F0 7D 89 03 A6 */ mtctr r12
/* 801CF694 001CB2F4 3B DE 00 01 */ addi r30, r30, 1
/* 801CF698 001CB2F8 4E 80 04 21 */ bctrl
/* 801CF69C 001CB2FC 7C 64 1B 78 */ mr r4, r3
/* 801CF6A0 001CB300 48 00 02 0C */ b lbl_801CF8AC
lbl_801CF6A4:
/* 801CF6A4 001CB304 2C 04 00 00 */ cmpwi r4, 0
/* 801CF6A8 001CB308 38 00 00 00 */ li r0, 0
/* 801CF6AC 001CB30C 41 80 00 0C */ blt lbl_801CF6B8
/* 801CF6B0 001CB310 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CF6B4 001CB314 41 80 00 08 */ blt lbl_801CF6BC
lbl_801CF6B8:
/* 801CF6B8 001CB318 38 00 00 01 */ li r0, 1
lbl_801CF6BC:
/* 801CF6BC 001CB31C 2C 00 00 00 */ cmpwi r0, 0
/* 801CF6C0 001CB320 41 82 00 0C */ beq lbl_801CF6CC
/* 801CF6C4 001CB324 7C 80 23 78 */ mr r0, r4
/* 801CF6C8 001CB328 48 00 00 10 */ b lbl_801CF6D8
lbl_801CF6CC:
/* 801CF6CC 001CB32C 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CF6D0 001CB330 80 63 00 0C */ lwz r3, 0xc(r3)
/* 801CF6D4 001CB334 7C 03 20 AE */ lbzx r0, r3, r4
lbl_801CF6D8:
/* 801CF6D8 001CB338 2C 00 00 50 */ cmpwi r0, 0x50
/* 801CF6DC 001CB33C 40 82 00 2C */ bne lbl_801CF708
/* 801CF6E0 001CB340 7E 4C 93 78 */ mr r12, r18
/* 801CF6E4 001CB344 7E 63 9B 78 */ mr r3, r19
/* 801CF6E8 001CB348 3B E0 00 20 */ li r31, 0x20
/* 801CF6EC 001CB34C 38 80 00 00 */ li r4, 0
/* 801CF6F0 001CB350 38 A0 00 00 */ li r5, 0
/* 801CF6F4 001CB354 7D 89 03 A6 */ mtctr r12
/* 801CF6F8 001CB358 3B DE 00 01 */ addi r30, r30, 1
/* 801CF6FC 001CB35C 4E 80 04 21 */ bctrl
/* 801CF700 001CB360 7C 64 1B 78 */ mr r4, r3
/* 801CF704 001CB364 48 00 01 A8 */ b lbl_801CF8AC
lbl_801CF708:
/* 801CF708 001CB368 3A 20 08 00 */ li r17, 0x800
/* 801CF70C 001CB36C 48 00 01 A0 */ b lbl_801CF8AC
lbl_801CF710:
/* 801CF710 001CB370 2C 04 00 2D */ cmpwi r4, 0x2d
/* 801CF714 001CB374 40 82 00 10 */ bne lbl_801CF724
/* 801CF718 001CB378 38 00 00 01 */ li r0, 1
/* 801CF71C 001CB37C 90 01 00 84 */ stw r0, 0x84(r1)
/* 801CF720 001CB380 48 00 00 24 */ b lbl_801CF744
lbl_801CF724:
/* 801CF724 001CB384 2C 04 00 2B */ cmpwi r4, 0x2b
/* 801CF728 001CB388 41 82 00 1C */ beq lbl_801CF744
/* 801CF72C 001CB38C 7E 4C 93 78 */ mr r12, r18
/* 801CF730 001CB390 7E 63 9B 78 */ mr r3, r19
/* 801CF734 001CB394 38 A0 00 01 */ li r5, 1
/* 801CF738 001CB398 7D 89 03 A6 */ mtctr r12
/* 801CF73C 001CB39C 4E 80 04 21 */ bctrl
/* 801CF740 001CB3A0 3B DE FF FF */ addi r30, r30, -1
lbl_801CF744:
/* 801CF744 001CB3A4 7E 4C 93 78 */ mr r12, r18
/* 801CF748 001CB3A8 7E 63 9B 78 */ mr r3, r19
/* 801CF74C 001CB3AC 3B E0 00 40 */ li r31, 0x40
/* 801CF750 001CB3B0 38 80 00 00 */ li r4, 0
/* 801CF754 001CB3B4 38 A0 00 00 */ li r5, 0
/* 801CF758 001CB3B8 7D 89 03 A6 */ mtctr r12
/* 801CF75C 001CB3BC 3B DE 00 01 */ addi r30, r30, 1
/* 801CF760 001CB3C0 4E 80 04 21 */ bctrl
/* 801CF764 001CB3C4 7C 64 1B 78 */ mr r4, r3
/* 801CF768 001CB3C8 48 00 01 44 */ b lbl_801CF8AC
lbl_801CF76C:
/* 801CF76C 001CB3CC 2C 04 00 00 */ cmpwi r4, 0
/* 801CF770 001CB3D0 38 00 00 00 */ li r0, 0
/* 801CF774 001CB3D4 41 80 00 0C */ blt lbl_801CF780
/* 801CF778 001CB3D8 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CF77C 001CB3DC 41 80 00 08 */ blt lbl_801CF784
lbl_801CF780:
/* 801CF780 001CB3E0 38 00 00 01 */ li r0, 1
lbl_801CF784:
/* 801CF784 001CB3E4 2C 00 00 00 */ cmpwi r0, 0
/* 801CF788 001CB3E8 41 82 00 0C */ beq lbl_801CF794
/* 801CF78C 001CB3EC 38 00 00 00 */ li r0, 0
/* 801CF790 001CB3F0 48 00 00 18 */ b lbl_801CF7A8
lbl_801CF794:
/* 801CF794 001CB3F4 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CF798 001CB3F8 54 80 08 3C */ slwi r0, r4, 1
/* 801CF79C 001CB3FC 80 63 00 08 */ lwz r3, 8(r3)
/* 801CF7A0 001CB400 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CF7A4 001CB404 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_801CF7A8:
/* 801CF7A8 001CB408 2C 00 00 00 */ cmpwi r0, 0
/* 801CF7AC 001CB40C 40 82 00 0C */ bne lbl_801CF7B8
/* 801CF7B0 001CB410 3A 20 10 00 */ li r17, 0x1000
/* 801CF7B4 001CB414 48 00 00 F8 */ b lbl_801CF8AC
lbl_801CF7B8:
/* 801CF7B8 001CB418 2C 04 00 30 */ cmpwi r4, 0x30
/* 801CF7BC 001CB41C 40 82 00 2C */ bne lbl_801CF7E8
/* 801CF7C0 001CB420 7E 4C 93 78 */ mr r12, r18
/* 801CF7C4 001CB424 7E 63 9B 78 */ mr r3, r19
/* 801CF7C8 001CB428 3B E0 00 80 */ li r31, 0x80
/* 801CF7CC 001CB42C 38 80 00 00 */ li r4, 0
/* 801CF7D0 001CB430 38 A0 00 00 */ li r5, 0
/* 801CF7D4 001CB434 7D 89 03 A6 */ mtctr r12
/* 801CF7D8 001CB438 3B DE 00 01 */ addi r30, r30, 1
/* 801CF7DC 001CB43C 4E 80 04 21 */ bctrl
/* 801CF7E0 001CB440 7C 64 1B 78 */ mr r4, r3
/* 801CF7E4 001CB444 48 00 00 C8 */ b lbl_801CF8AC
lbl_801CF7E8:
/* 801CF7E8 001CB448 3B E0 01 00 */ li r31, 0x100
/* 801CF7EC 001CB44C 48 00 00 C0 */ b lbl_801CF8AC
lbl_801CF7F0:
/* 801CF7F0 001CB450 2C 04 00 30 */ cmpwi r4, 0x30
/* 801CF7F4 001CB454 40 82 00 28 */ bne lbl_801CF81C
/* 801CF7F8 001CB458 7E 4C 93 78 */ mr r12, r18
/* 801CF7FC 001CB45C 7E 63 9B 78 */ mr r3, r19
/* 801CF800 001CB460 38 80 00 00 */ li r4, 0
/* 801CF804 001CB464 38 A0 00 00 */ li r5, 0
/* 801CF808 001CB468 7D 89 03 A6 */ mtctr r12
/* 801CF80C 001CB46C 3B DE 00 01 */ addi r30, r30, 1
/* 801CF810 001CB470 4E 80 04 21 */ bctrl
/* 801CF814 001CB474 7C 64 1B 78 */ mr r4, r3
/* 801CF818 001CB478 48 00 00 94 */ b lbl_801CF8AC
lbl_801CF81C:
/* 801CF81C 001CB47C 3B E0 01 00 */ li r31, 0x100
/* 801CF820 001CB480 48 00 00 8C */ b lbl_801CF8AC
lbl_801CF824:
/* 801CF824 001CB484 2C 04 00 00 */ cmpwi r4, 0
/* 801CF828 001CB488 38 00 00 00 */ li r0, 0
/* 801CF82C 001CB48C 41 80 00 0C */ blt lbl_801CF838
/* 801CF830 001CB490 2C 04 01 00 */ cmpwi r4, 0x100
/* 801CF834 001CB494 41 80 00 08 */ blt lbl_801CF83C
lbl_801CF838:
/* 801CF838 001CB498 38 00 00 01 */ li r0, 1
lbl_801CF83C:
/* 801CF83C 001CB49C 2C 00 00 00 */ cmpwi r0, 0
/* 801CF840 001CB4A0 41 82 00 0C */ beq lbl_801CF84C
/* 801CF844 001CB4A4 38 00 00 00 */ li r0, 0
/* 801CF848 001CB4A8 48 00 00 18 */ b lbl_801CF860
lbl_801CF84C:
/* 801CF84C 001CB4AC 80 70 00 38 */ lwz r3, 0x38(r16)
/* 801CF850 001CB4B0 54 80 08 3C */ slwi r0, r4, 1
/* 801CF854 001CB4B4 80 63 00 08 */ lwz r3, 8(r3)
/* 801CF858 001CB4B8 7C 03 02 2E */ lhzx r0, r3, r0
/* 801CF85C 001CB4BC 54 00 07 38 */ rlwinm r0, r0, 0, 0x1c, 0x1c
lbl_801CF860:
/* 801CF860 001CB4C0 2C 00 00 00 */ cmpwi r0, 0
/* 801CF864 001CB4C4 40 82 00 0C */ bne lbl_801CF870
/* 801CF868 001CB4C8 3A 20 08 00 */ li r17, 0x800
/* 801CF86C 001CB4CC 48 00 00 40 */ b lbl_801CF8AC
lbl_801CF870:
/* 801CF870 001CB4D0 1C 19 00 0A */ mulli r0, r25, 0xa
/* 801CF874 001CB4D4 2C 1D 7F FF */ cmpwi r29, 0x7fff
/* 801CF878 001CB4D8 7C 64 02 14 */ add r3, r4, r0
/* 801CF87C 001CB4DC 3B 23 FF D0 */ addi r25, r3, -48
/* 801CF880 001CB4E0 40 81 00 0C */ ble lbl_801CF88C
/* 801CF884 001CB4E4 38 00 00 01 */ li r0, 1
/* 801CF888 001CB4E8 90 14 00 00 */ stw r0, 0(r20)
lbl_801CF88C:
/* 801CF88C 001CB4EC 7E 4C 93 78 */ mr r12, r18
/* 801CF890 001CB4F0 7E 63 9B 78 */ mr r3, r19
/* 801CF894 001CB4F4 38 80 00 00 */ li r4, 0
/* 801CF898 001CB4F8 38 A0 00 00 */ li r5, 0
/* 801CF89C 001CB4FC 7D 89 03 A6 */ mtctr r12
/* 801CF8A0 001CB500 3B DE 00 01 */ addi r30, r30, 1
/* 801CF8A4 001CB504 4E 80 04 21 */ bctrl
/* 801CF8A8 001CB508 7C 64 1B 78 */ mr r4, r3
lbl_801CF8AC:
/* 801CF8AC 001CB50C 80 01 00 08 */ lwz r0, 8(r1)
/* 801CF8B0 001CB510 7C 1E 00 00 */ cmpw r30, r0
/* 801CF8B4 001CB514 41 81 00 14 */ bgt lbl_801CF8C8
/* 801CF8B8 001CB518 2C 04 FF FF */ cmpwi r4, -1
/* 801CF8BC 001CB51C 41 82 00 0C */ beq lbl_801CF8C8
/* 801CF8C0 001CB520 56 20 04 E9 */ rlwinm. r0, r17, 0, 0x13, 0x14
/* 801CF8C4 001CB524 41 82 F0 1C */ beq lbl_801CE8E0
lbl_801CF8C8:
/* 801CF8C8 001CB528 3C 11 00 00 */ addis r0, r17, 0
/* 801CF8CC 001CB52C 28 00 80 00 */ cmplwi r0, 0x8000
/* 801CF8D0 001CB530 41 82 00 14 */ beq lbl_801CF8E4
/* 801CF8D4 001CB534 72 20 0E 2C */ andi. r0, r17, 0xe2c
/* 801CF8D8 001CB538 7C 00 00 34 */ cntlzw r0, r0
/* 801CF8DC 001CB53C 54 03 D9 7E */ srwi r3, r0, 5
/* 801CF8E0 001CB540 48 00 00 20 */ b lbl_801CF900
lbl_801CF8E4:
/* 801CF8E4 001CB544 38 1E FF FF */ addi r0, r30, -1
/* 801CF8E8 001CB548 38 60 00 00 */ li r3, 0
/* 801CF8EC 001CB54C 2C 00 00 02 */ cmpwi r0, 2
/* 801CF8F0 001CB550 40 81 00 0C */ ble lbl_801CF8FC
/* 801CF8F4 001CB554 73 E0 01 8E */ andi. r0, r31, 0x18e
/* 801CF8F8 001CB558 40 82 00 08 */ bne lbl_801CF900
lbl_801CF8FC:
/* 801CF8FC 001CB55C 38 60 00 01 */ li r3, 1
lbl_801CF900:
/* 801CF900 001CB560 2C 03 00 00 */ cmpwi r3, 0
/* 801CF904 001CB564 41 82 00 14 */ beq lbl_801CF918
/* 801CF908 001CB568 80 61 00 0C */ lwz r3, 0xc(r1)
/* 801CF90C 001CB56C 38 00 00 00 */ li r0, 0
/* 801CF910 001CB570 90 03 00 00 */ stw r0, 0(r3)
/* 801CF914 001CB574 48 00 00 14 */ b lbl_801CF928
lbl_801CF918:
/* 801CF918 001CB578 7C 7E 72 14 */ add r3, r30, r14
/* 801CF91C 001CB57C 38 03 FF FF */ addi r0, r3, -1
/* 801CF920 001CB580 80 61 00 0C */ lwz r3, 0xc(r1)
/* 801CF924 001CB584 90 03 00 00 */ stw r0, 0(r3)
lbl_801CF928:
/* 801CF928 001CB588 7E 4C 93 78 */ mr r12, r18
/* 801CF92C 001CB58C 7E 63 9B 78 */ mr r3, r19
/* 801CF930 001CB590 38 A0 00 01 */ li r5, 1
/* 801CF934 001CB594 7D 89 03 A6 */ mtctr r12
/* 801CF938 001CB598 4E 80 04 21 */ bctrl
/* 801CF93C 001CB59C 2C 1F 00 00 */ cmpwi r31, 0
/* 801CF940 001CB5A0 40 82 01 30 */ bne lbl_801CFA70
/* 801CF944 001CB5A4 80 01 00 8C */ lwz r0, 0x8c(r1)
/* 801CF948 001CB5A8 2C 00 00 00 */ cmpwi r0, 0
/* 801CF94C 001CB5AC 41 82 00 08 */ beq lbl_801CF954
/* 801CF950 001CB5B0 7F BD 00 D0 */ neg r29, r29
lbl_801CF954:
/* 801CF954 001CB5B4 88 61 00 5C */ lbz r3, 0x5c(r1)
/* 801CF958 001CB5B8 38 81 00 5D */ addi r4, r1, 0x5d
/* 801CF95C 001CB5BC 7C 84 1A 14 */ add r4, r4, r3
/* 801CF960 001CB5C0 48 00 00 08 */ b lbl_801CF968
lbl_801CF964:
/* 801CF964 001CB5C4 3B 9C 00 01 */ addi r28, r28, 1
lbl_801CF968:
/* 801CF968 001CB5C8 2C 03 00 00 */ cmpwi r3, 0
/* 801CF96C 001CB5CC 38 63 FF FF */ addi r3, r3, -1
/* 801CF970 001CB5D0 41 82 00 10 */ beq lbl_801CF980
/* 801CF974 001CB5D4 8C 04 FF FF */ lbzu r0, -1(r4)
/* 801CF978 001CB5D8 28 00 00 30 */ cmplwi r0, 0x30
/* 801CF97C 001CB5DC 41 82 FF E8 */ beq lbl_801CF964
lbl_801CF980:
/* 801CF980 001CB5E0 38 03 00 01 */ addi r0, r3, 1
/* 801CF984 001CB5E4 54 04 06 3F */ clrlwi. r4, r0, 0x18
/* 801CF988 001CB5E8 98 01 00 5C */ stb r0, 0x5c(r1)
/* 801CF98C 001CB5EC 40 82 00 18 */ bne lbl_801CF9A4
/* 801CF990 001CB5F0 38 61 00 5D */ addi r3, r1, 0x5d
/* 801CF994 001CB5F4 38 00 00 30 */ li r0, 0x30
/* 801CF998 001CB5F8 7C 03 21 AE */ stbx r0, r3, r4
/* 801CF99C 001CB5FC 38 04 00 01 */ addi r0, r4, 1
/* 801CF9A0 001CB600 98 01 00 5C */ stb r0, 0x5c(r1)
lbl_801CF9A4:
/* 801CF9A4 001CB604 7F BD E2 14 */ add r29, r29, r28
/* 801CF9A8 001CB608 2C 1D 80 00 */ cmpwi r29, -32768
/* 801CF9AC 001CB60C 41 80 00 0C */ blt lbl_801CF9B8
/* 801CF9B0 001CB610 2C 1D 7F FF */ cmpwi r29, 0x7fff
/* 801CF9B4 001CB614 40 81 00 0C */ ble lbl_801CF9C0
lbl_801CF9B8:
/* 801CF9B8 001CB618 38 00 00 01 */ li r0, 1
/* 801CF9BC 001CB61C 90 14 00 00 */ stw r0, 0(r20)
lbl_801CF9C0:
/* 801CF9C0 001CB620 80 14 00 00 */ lwz r0, 0(r20)
/* 801CF9C4 001CB624 2C 00 00 00 */ cmpwi r0, 0
/* 801CF9C8 001CB628 41 82 00 40 */ beq lbl_801CFA08
/* 801CF9CC 001CB62C 80 01 00 8C */ lwz r0, 0x8c(r1)
/* 801CF9D0 001CB630 2C 00 00 00 */ cmpwi r0, 0
/* 801CF9D4 001CB634 41 82 00 0C */ beq lbl_801CF9E0
/* 801CF9D8 001CB638 C8 22 91 60 */ lfd f1, lbl_80641760-_SDA2_BASE_(r2)
/* 801CF9DC 001CB63C 48 00 02 0C */ b lbl_801CFBE8
lbl_801CF9E0:
/* 801CF9E0 001CB640 80 01 00 90 */ lwz r0, 0x90(r1)
/* 801CF9E4 001CB644 2C 00 00 00 */ cmpwi r0, 0
/* 801CF9E8 001CB648 41 82 00 14 */ beq lbl_801CF9FC
/* 801CF9EC 001CB64C 3C 60 80 64 */ lis r3, lbl_8063D6C0@ha
/* 801CF9F0 001CB650 C8 03 D6 C0 */ lfd f0, lbl_8063D6C0@l(r3)
/* 801CF9F4 001CB654 FC 20 00 50 */ fneg f1, f0
/* 801CF9F8 001CB658 48 00 01 F0 */ b lbl_801CFBE8
lbl_801CF9FC:
/* 801CF9FC 001CB65C 3C 60 80 64 */ lis r3, lbl_8063D6C0@ha
/* 801CFA00 001CB660 C8 23 D6 C0 */ lfd f1, lbl_8063D6C0@l(r3)
/* 801CFA04 001CB664 48 00 01 E4 */ b lbl_801CFBE8
lbl_801CFA08:
/* 801CFA08 001CB668 B3 A1 00 5A */ sth r29, 0x5a(r1)
/* 801CFA0C 001CB66C 38 61 00 58 */ addi r3, r1, 0x58
/* 801CFA10 001CB670 4B FF 91 D9 */ bl __dec2num
/* 801CFA14 001CB674 C8 02 91 60 */ lfd f0, lbl_80641760-_SDA2_BASE_(r2)
/* 801CFA18 001CB678 FC 00 08 00 */ fcmpu cr0, f0, f1
/* 801CFA1C 001CB67C 41 82 00 1C */ beq lbl_801CFA38
/* 801CFA20 001CB680 C8 02 91 68 */ lfd f0, lbl_80641768-_SDA2_BASE_(r2)
/* 801CFA24 001CB684 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801CFA28 001CB688 40 80 00 10 */ bge lbl_801CFA38
/* 801CFA2C 001CB68C 38 00 00 01 */ li r0, 1
/* 801CFA30 001CB690 90 14 00 00 */ stw r0, 0(r20)
/* 801CFA34 001CB694 48 00 00 20 */ b lbl_801CFA54
lbl_801CFA38:
/* 801CFA38 001CB698 C8 02 91 70 */ lfd f0, lbl_80641770-_SDA2_BASE_(r2)
/* 801CFA3C 001CB69C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801CFA40 001CB6A0 40 81 00 14 */ ble lbl_801CFA54
/* 801CFA44 001CB6A4 38 00 00 01 */ li r0, 1
/* 801CFA48 001CB6A8 3C 60 80 64 */ lis r3, lbl_8063D6C0@ha
/* 801CFA4C 001CB6AC 90 14 00 00 */ stw r0, 0(r20)
/* 801CFA50 001CB6B0 C8 23 D6 C0 */ lfd f1, lbl_8063D6C0@l(r3)
lbl_801CFA54:
/* 801CFA54 001CB6B4 80 01 00 90 */ lwz r0, 0x90(r1)
/* 801CFA58 001CB6B8 2C 00 00 00 */ cmpwi r0, 0
/* 801CFA5C 001CB6BC 41 82 01 8C */ beq lbl_801CFBE8
/* 801CFA60 001CB6C0 72 20 0E 2C */ andi. r0, r17, 0xe2c
/* 801CFA64 001CB6C4 41 82 01 84 */ beq lbl_801CFBE8
/* 801CFA68 001CB6C8 FC 20 08 50 */ fneg f1, f1
/* 801CFA6C 001CB6CC 48 00 01 7C */ b lbl_801CFBE8
lbl_801CFA70:
/* 801CFA70 001CB6D0 80 01 00 84 */ lwz r0, 0x84(r1)
/* 801CFA74 001CB6D4 38 61 00 10 */ addi r3, r1, 0x10
/* 801CFA78 001CB6D8 2C 00 00 00 */ cmpwi r0, 0
/* 801CFA7C 001CB6DC 41 82 00 08 */ beq lbl_801CFA84
/* 801CFA80 001CB6E0 7F 39 00 D0 */ neg r25, r25
lbl_801CFA84:
/* 801CFA84 001CB6E4 56 E0 10 3A */ slwi r0, r23, 2
/* 801CFA88 001CB6E8 88 A1 00 20 */ lbz r5, 0x20(r1)
/* 801CFA8C 001CB6EC 7F 39 02 14 */ add r25, r25, r0
/* 801CFA90 001CB6F0 38 C0 00 00 */ li r6, 0
/* 801CFA94 001CB6F4 38 80 00 80 */ li r4, 0x80
/* 801CFA98 001CB6F8 48 00 00 0C */ b lbl_801CFAA4
lbl_801CFA9C:
/* 801CFA9C 001CB6FC 38 C6 00 01 */ addi r6, r6, 1
/* 801CFAA0 001CB700 3B 39 FF FF */ addi r25, r25, -1
lbl_801CFAA4:
/* 801CFAA4 001CB704 28 06 00 04 */ cmplwi r6, 4
/* 801CFAA8 001CB708 40 80 00 10 */ bge lbl_801CFAB8
/* 801CFAAC 001CB70C 7C 80 36 30 */ sraw r0, r4, r6
/* 801CFAB0 001CB710 7C A0 00 39 */ and. r0, r5, r0
/* 801CFAB4 001CB714 41 82 FF E8 */ beq lbl_801CFA9C
lbl_801CFAB8:
/* 801CFAB8 001CB718 34 A6 00 01 */ addic. r5, r6, 1
/* 801CFABC 001CB71C 41 82 00 4C */ beq lbl_801CFB08
/* 801CFAC0 001CB720 3B 41 00 27 */ addi r26, r1, 0x27
/* 801CFAC4 001CB724 38 81 00 20 */ addi r4, r1, 0x20
/* 801CFAC8 001CB728 7C 1A 20 40 */ cmplw r26, r4
/* 801CFACC 001CB72C 38 E0 00 00 */ li r7, 0
/* 801CFAD0 001CB730 41 80 00 38 */ blt lbl_801CFB08
/* 801CFAD4 001CB734 38 1A 00 01 */ addi r0, r26, 1
/* 801CFAD8 001CB738 20 C5 00 08 */ subfic r6, r5, 8
/* 801CFADC 001CB73C 7C 04 00 50 */ subf r0, r4, r0
/* 801CFAE0 001CB740 7C 09 03 A6 */ mtctr r0
/* 801CFAE4 001CB744 41 80 00 24 */ blt lbl_801CFB08
lbl_801CFAE8:
/* 801CFAE8 001CB748 88 1A 00 00 */ lbz r0, 0(r26)
/* 801CFAEC 001CB74C 7C 04 28 30 */ slw r4, r0, r5
/* 801CFAF0 001CB750 7C 00 36 30 */ sraw r0, r0, r6
/* 801CFAF4 001CB754 7C E4 23 78 */ or r4, r7, r4
/* 801CFAF8 001CB758 98 9A 00 00 */ stb r4, 0(r26)
/* 801CFAFC 001CB75C 54 07 06 3E */ clrlwi r7, r0, 0x18
/* 801CFB00 001CB760 3B 5A FF FF */ addi r26, r26, -1
/* 801CFB04 001CB764 42 00 FF E4 */ bdnz lbl_801CFAE8
lbl_801CFB08:
/* 801CFB08 001CB768 38 80 00 00 */ li r4, 0
/* 801CFB0C 001CB76C 38 A0 00 08 */ li r5, 8
/* 801CFB10 001CB770 4B E3 45 F5 */ bl memset
/* 801CFB14 001CB774 38 00 00 07 */ li r0, 7
/* 801CFB18 001CB778 38 81 00 20 */ addi r4, r1, 0x20
/* 801CFB1C 001CB77C 38 61 00 11 */ addi r3, r1, 0x11
/* 801CFB20 001CB780 39 00 00 00 */ li r8, 0
/* 801CFB24 001CB784 38 E0 00 FF */ li r7, 0xff
/* 801CFB28 001CB788 7C 09 03 A6 */ mtctr r0
lbl_801CFB2C:
/* 801CFB2C 001CB78C 38 08 00 08 */ addi r0, r8, 8
/* 801CFB30 001CB790 89 24 00 00 */ lbz r9, 0(r4)
/* 801CFB34 001CB794 28 00 00 34 */ cmplwi r0, 0x34
/* 801CFB38 001CB798 38 A8 00 0C */ addi r5, r8, 0xc
/* 801CFB3C 001CB79C 40 81 00 14 */ ble lbl_801CFB50
/* 801CFB40 001CB7A0 20 08 00 34 */ subfic r0, r8, 0x34
/* 801CFB44 001CB7A4 7C E0 00 30 */ slw r0, r7, r0
/* 801CFB48 001CB7A8 7D 20 00 38 */ and r0, r9, r0
/* 801CFB4C 001CB7AC 54 09 06 3E */ clrlwi r9, r0, 0x18
lbl_801CFB50:
/* 801CFB50 001CB7B0 54 AA 07 7E */ clrlwi r10, r5, 0x1d
/* 801CFB54 001CB7B4 88 C3 00 00 */ lbz r6, 0(r3)
/* 801CFB58 001CB7B8 7D 20 56 30 */ sraw r0, r9, r10
/* 801CFB5C 001CB7BC 38 84 00 01 */ addi r4, r4, 1
/* 801CFB60 001CB7C0 54 05 06 3E */ clrlwi r5, r0, 0x18
/* 801CFB64 001CB7C4 39 08 00 08 */ addi r8, r8, 8
/* 801CFB68 001CB7C8 7C C5 2B 78 */ or r5, r6, r5
/* 801CFB6C 001CB7CC 20 0A 00 08 */ subfic r0, r10, 8
/* 801CFB70 001CB7D0 98 A3 00 00 */ stb r5, 0(r3)
/* 801CFB74 001CB7D4 7D 20 00 30 */ slw r0, r9, r0
/* 801CFB78 001CB7D8 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 801CFB7C 001CB7DC 8C A3 00 01 */ lbzu r5, 1(r3)
/* 801CFB80 001CB7E0 7C A0 03 78 */ or r0, r5, r0
/* 801CFB84 001CB7E4 98 03 00 00 */ stb r0, 0(r3)
/* 801CFB88 001CB7E8 42 00 FF A4 */ bdnz lbl_801CFB2C
/* 801CFB8C 001CB7EC 3B 39 03 FE */ addi r25, r25, 0x3fe
/* 801CFB90 001CB7F0 57 20 00 29 */ rlwinm. r0, r25, 0, 0, 0x14
/* 801CFB94 001CB7F4 41 82 00 14 */ beq lbl_801CFBA8
/* 801CFB98 001CB7F8 38 00 00 01 */ li r0, 1
/* 801CFB9C 001CB7FC C8 22 91 60 */ lfd f1, lbl_80641760-_SDA2_BASE_(r2)
/* 801CFBA0 001CB800 90 14 00 00 */ stw r0, 0(r20)
/* 801CFBA4 001CB804 48 00 00 44 */ b lbl_801CFBE8
lbl_801CFBA8:
/* 801CFBA8 001CB808 57 39 A8 14 */ slwi r25, r25, 0x15
/* 801CFBAC 001CB80C 80 01 00 90 */ lwz r0, 0x90(r1)
/* 801CFBB0 001CB810 88 C1 00 10 */ lbz r6, 0x10(r1)
/* 801CFBB4 001CB814 57 25 3E 7E */ srwi r5, r25, 0x19
/* 801CFBB8 001CB818 88 81 00 11 */ lbz r4, 0x11(r1)
/* 801CFBBC 001CB81C 57 23 7C 7E */ srwi r3, r25, 0x11
/* 801CFBC0 001CB820 2C 00 00 00 */ cmpwi r0, 0
/* 801CFBC4 001CB824 7C C5 2B 78 */ or r5, r6, r5
/* 801CFBC8 001CB828 7C 80 1B 78 */ or r0, r4, r3
/* 801CFBCC 001CB82C 98 A1 00 10 */ stb r5, 0x10(r1)
/* 801CFBD0 001CB830 98 01 00 11 */ stb r0, 0x11(r1)
/* 801CFBD4 001CB834 41 82 00 10 */ beq lbl_801CFBE4
/* 801CFBD8 001CB838 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 801CFBDC 001CB83C 60 00 00 80 */ ori r0, r0, 0x80
/* 801CFBE0 001CB840 98 01 00 10 */ stb r0, 0x10(r1)
lbl_801CFBE4:
/* 801CFBE4 001CB844 C8 21 00 10 */ lfd f1, 0x10(r1)
lbl_801CFBE8:
/* 801CFBE8 001CB848 39 61 00 E0 */ addi r11, r1, 0xe0
/* 801CFBEC 001CB84C 4B FF 75 55 */ bl __restore_gpr
/* 801CFBF0 001CB850 80 01 00 E4 */ lwz r0, 0xe4(r1)
/* 801CFBF4 001CB854 7C 08 03 A6 */ mtlr r0
/* 801CFBF8 001CB858 38 21 00 E0 */ addi r1, r1, 0xe0
/* 801CFBFC 001CB85C 4E 80 00 20 */ blr
.global atof
atof:
/* 801CFC00 001CB860 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801CFC04 001CB864 7C 08 02 A6 */ mflr r0
/* 801CFC08 001CB868 3C 80 80 1D */ lis r4, __StringRead@ha
/* 801CFC0C 001CB86C 90 01 00 24 */ stw r0, 0x24(r1)
/* 801CFC10 001CB870 38 00 00 00 */ li r0, 0
/* 801CFC14 001CB874 38 84 E1 78 */ addi r4, r4, __StringRead@l
/* 801CFC18 001CB878 38 A1 00 10 */ addi r5, r1, 0x10
/* 801CFC1C 001CB87C 90 61 00 10 */ stw r3, 0x10(r1)
/* 801CFC20 001CB880 3C 60 80 00 */ lis r3, 0x7FFFFFFF@ha
/* 801CFC24 001CB884 38 63 FF FF */ addi r3, r3, 0x7FFFFFFF@l
/* 801CFC28 001CB888 38 C1 00 08 */ addi r6, r1, 8
/* 801CFC2C 001CB88C 90 01 00 14 */ stw r0, 0x14(r1)
/* 801CFC30 001CB890 38 E1 00 0C */ addi r7, r1, 0xc
/* 801CFC34 001CB894 4B FF EB D9 */ bl __strtold
/* 801CFC38 001CB898 80 01 00 0C */ lwz r0, 0xc(r1)
/* 801CFC3C 001CB89C FC 40 0A 10 */ fabs f2, f1
/* 801CFC40 001CB8A0 2C 00 00 00 */ cmpwi r0, 0
/* 801CFC44 001CB8A4 40 82 00 28 */ bne lbl_801CFC6C
/* 801CFC48 001CB8A8 C8 02 91 78 */ lfd f0, lbl_80641778-_SDA2_BASE_(r2)
/* 801CFC4C 001CB8AC FC 00 08 00 */ fcmpu cr0, f0, f1
/* 801CFC50 001CB8B0 41 82 00 24 */ beq lbl_801CFC74
/* 801CFC54 001CB8B4 C8 02 91 80 */ lfd f0, lbl_80641780-_SDA2_BASE_(r2)
/* 801CFC58 001CB8B8 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 801CFC5C 001CB8BC 41 80 00 10 */ blt lbl_801CFC6C
/* 801CFC60 001CB8C0 C8 02 91 88 */ lfd f0, lbl_80641788-_SDA2_BASE_(r2)
/* 801CFC64 001CB8C4 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 801CFC68 001CB8C8 40 81 00 0C */ ble lbl_801CFC74
lbl_801CFC6C:
/* 801CFC6C 001CB8CC 38 00 00 22 */ li r0, 0x22
/* 801CFC70 001CB8D0 90 0D 9F C8 */ stw r0, lbl_8063F288-_SDA_BASE_(r13)
lbl_801CFC74:
/* 801CFC74 001CB8D4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801CFC78 001CB8D8 7C 08 03 A6 */ mtlr r0
/* 801CFC7C 001CB8DC 38 21 00 20 */ addi r1, r1, 0x20
/* 801CFC80 001CB8E0 4E 80 00 20 */ blr
|