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

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

.global ghttpSetRequestEncryptionEngine
ghttpSetRequestEncryptionEngine:
/* 80351EA0 0034DB00  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80351EA4 0034DB04  7C 08 02 A6 */	mflr r0
/* 80351EA8 0034DB08  90 01 00 14 */	stw r0, 0x14(r1)
/* 80351EAC 0034DB0C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80351EB0 0034DB10  93 C1 00 08 */	stw r30, 8(r1)
/* 80351EB4 0034DB14  7C 9E 23 78 */	mr r30, r4
/* 80351EB8 0034DB18  4B FF FC E1 */	bl ghiRequestToConnection
/* 80351EBC 0034DB1C  2C 03 00 00 */	cmpwi r3, 0
/* 80351EC0 0034DB20  7C 7F 1B 78 */	mr r31, r3
/* 80351EC4 0034DB24  40 82 00 0C */	bne lbl_80351ED0
/* 80351EC8 0034DB28  38 60 00 00 */	li r3, 0
/* 80351ECC 0034DB2C  48 00 00 BC */	b lbl_80351F88
lbl_80351ED0:
/* 80351ED0 0034DB30  80 03 01 94 */	lwz r0, 0x194(r3)
/* 80351ED4 0034DB34  7C 80 F0 00 */	cmpw cr1, r0, r30
/* 80351ED8 0034DB38  40 86 00 0C */	bne cr1, lbl_80351EE4
/* 80351EDC 0034DB3C  38 60 00 01 */	li r3, 1
/* 80351EE0 0034DB40  48 00 00 A8 */	b lbl_80351F88
lbl_80351EE4:
/* 80351EE4 0034DB44  80 03 01 90 */	lwz r0, 0x190(r3)
/* 80351EE8 0034DB48  2C 00 00 00 */	cmpwi r0, 0
/* 80351EEC 0034DB4C  41 82 00 10 */	beq lbl_80351EFC
/* 80351EF0 0034DB50  41 86 00 0C */	beq cr1, lbl_80351EFC
/* 80351EF4 0034DB54  38 60 00 00 */	li r3, 0
/* 80351EF8 0034DB58  48 00 00 90 */	b lbl_80351F88
lbl_80351EFC:
/* 80351EFC 0034DB5C  2C 1E 00 00 */	cmpwi r30, 0
/* 80351F00 0034DB60  40 82 00 28 */	bne lbl_80351F28
/* 80351F04 0034DB64  3C 80 80 45 */	lis r4, lbl_8044BF80@ha
/* 80351F08 0034DB68  80 63 00 14 */	lwz r3, 0x14(r3)
/* 80351F0C 0034DB6C  38 84 BF 80 */	addi r4, r4, lbl_8044BF80@l
/* 80351F10 0034DB70  38 A0 00 08 */	li r5, 8
/* 80351F14 0034DB74  4B E7 C6 55 */	bl strncmp
/* 80351F18 0034DB78  2C 03 00 00 */	cmpwi r3, 0
/* 80351F1C 0034DB7C  40 82 00 0C */	bne lbl_80351F28
/* 80351F20 0034DB80  38 60 00 00 */	li r3, 0
/* 80351F24 0034DB84  48 00 00 64 */	b lbl_80351F88
lbl_80351F28:
/* 80351F28 0034DB88  2C 1E 00 00 */	cmpwi r30, 0
/* 80351F2C 0034DB8C  93 DF 01 94 */	stw r30, 0x194(r31)
/* 80351F30 0034DB90  40 82 00 14 */	bne lbl_80351F44
/* 80351F34 0034DB94  38 00 00 00 */	li r0, 0
/* 80351F38 0034DB98  38 60 00 01 */	li r3, 1
/* 80351F3C 0034DB9C  90 1F 01 90 */	stw r0, 0x190(r31)
/* 80351F40 0034DBA0  48 00 00 48 */	b lbl_80351F88
lbl_80351F44:
/* 80351F44 0034DBA4  38 00 00 00 */	li r0, 0
/* 80351F48 0034DBA8  3C 80 80 35 */	lis r4, ghttpEncryptorSslInitFunc@ha
/* 80351F4C 0034DBAC  90 1F 01 90 */	stw r0, 0x190(r31)
/* 80351F50 0034DBB0  38 84 25 50 */	addi r4, r4, ghttpEncryptorSslInitFunc@l
/* 80351F54 0034DBB4  3C 60 80 35 */	lis r3, ghttpEncryptorSslCleanupFunc@ha
/* 80351F58 0034DBB8  3C A0 80 35 */	lis r5, ghttpEncryptorSslEncryptFunc@ha
/* 80351F5C 0034DBBC  90 9F 01 A0 */	stw r4, 0x1a0(r31)
/* 80351F60 0034DBC0  38 63 27 24 */	addi r3, r3, ghttpEncryptorSslCleanupFunc@l
/* 80351F64 0034DBC4  3C 80 80 35 */	lis r4, ghttpEncryptorSslDecryptFunc@ha
/* 80351F68 0034DBC8  38 A5 27 7C */	addi r5, r5, ghttpEncryptorSslEncryptFunc@l
/* 80351F6C 0034DBCC  90 7F 01 A4 */	stw r3, 0x1a4(r31)
/* 80351F70 0034DBD0  38 84 29 98 */	addi r4, r4, ghttpEncryptorSslDecryptFunc@l
/* 80351F74 0034DBD4  38 60 00 01 */	li r3, 1
/* 80351F78 0034DBD8  90 BF 01 A8 */	stw r5, 0x1a8(r31)
/* 80351F7C 0034DBDC  90 9F 01 AC */	stw r4, 0x1ac(r31)
/* 80351F80 0034DBE0  90 1F 01 98 */	stw r0, 0x198(r31)
/* 80351F84 0034DBE4  90 1F 01 9C */	stw r0, 0x19c(r31)
lbl_80351F88:
/* 80351F88 0034DBE8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80351F8C 0034DBEC  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80351F90 0034DBF0  83 C1 00 08 */	lwz r30, 8(r1)
/* 80351F94 0034DBF4  7C 08 03 A6 */	mtlr r0
/* 80351F98 0034DBF8  38 21 00 10 */	addi r1, r1, 0x10
/* 80351F9C 0034DBFC  4E 80 00 20 */	blr

.global ghiEncryptorParseASN1Sequence
ghiEncryptorParseASN1Sequence:
/* 80351FA0 0034DC00  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80351FA4 0034DC04  7C 08 02 A6 */	mflr r0
/* 80351FA8 0034DC08  38 A0 00 01 */	li r5, 1
/* 80351FAC 0034DC0C  90 01 00 24 */	stw r0, 0x24(r1)
/* 80351FB0 0034DC10  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 80351FB4 0034DC14  3B E0 00 00 */	li r31, 0
/* 80351FB8 0034DC18  93 C1 00 18 */	stw r30, 0x18(r1)
/* 80351FBC 0034DC1C  7C 9E 23 78 */	mr r30, r4
/* 80351FC0 0034DC20  38 81 00 08 */	addi r4, r1, 8
/* 80351FC4 0034DC24  93 A1 00 14 */	stw r29, 0x14(r1)
/* 80351FC8 0034DC28  7C 7D 1B 78 */	mr r29, r3
/* 80351FCC 0034DC2C  9B E1 00 08 */	stb r31, 8(r1)
/* 80351FD0 0034DC30  4B FF F1 79 */	bl ghiReadDataFromBufferFixed
/* 80351FD4 0034DC34  2C 03 00 00 */	cmpwi r3, 0
/* 80351FD8 0034DC38  40 82 00 0C */	bne lbl_80351FE4
/* 80351FDC 0034DC3C  38 60 00 00 */	li r3, 0
/* 80351FE0 0034DC40  48 00 01 00 */	b lbl_803520E0
lbl_80351FE4:
/* 80351FE4 0034DC44  88 01 00 08 */	lbz r0, 8(r1)
/* 80351FE8 0034DC48  2C 00 00 30 */	cmpwi r0, 0x30
/* 80351FEC 0034DC4C  41 82 00 0C */	beq lbl_80351FF8
/* 80351FF0 0034DC50  38 60 00 00 */	li r3, 0
/* 80351FF4 0034DC54  48 00 00 EC */	b lbl_803520E0
lbl_80351FF8:
/* 80351FF8 0034DC58  7F A3 EB 78 */	mr r3, r29
/* 80351FFC 0034DC5C  38 81 00 08 */	addi r4, r1, 8
/* 80352000 0034DC60  38 A0 00 01 */	li r5, 1
/* 80352004 0034DC64  4B FF F1 45 */	bl ghiReadDataFromBufferFixed
/* 80352008 0034DC68  2C 03 00 00 */	cmpwi r3, 0
/* 8035200C 0034DC6C  40 82 00 0C */	bne lbl_80352018
/* 80352010 0034DC70  38 60 00 00 */	li r3, 0
/* 80352014 0034DC74  48 00 00 CC */	b lbl_803520E0
lbl_80352018:
/* 80352018 0034DC78  88 81 00 08 */	lbz r4, 8(r1)
/* 8035201C 0034DC7C  54 80 06 30 */	rlwinm r0, r4, 0, 0x18, 0x18
/* 80352020 0034DC80  2C 00 00 80 */	cmpwi r0, 0x80
/* 80352024 0034DC84  40 82 00 94 */	bne lbl_803520B8
/* 80352028 0034DC88  68 80 00 80 */	xori r0, r4, 0x80
/* 8035202C 0034DC8C  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80352030 0034DC90  7C 05 07 74 */	extsb r5, r0
/* 80352034 0034DC94  28 05 00 04 */	cmplwi r5, 4
/* 80352038 0034DC98  98 01 00 08 */	stb r0, 8(r1)
/* 8035203C 0034DC9C  40 81 00 0C */	ble lbl_80352048
/* 80352040 0034DCA0  38 00 00 00 */	li r0, 0
/* 80352044 0034DCA4  48 00 00 38 */	b lbl_8035207C
lbl_80352048:
/* 80352048 0034DCA8  20 05 00 04 */	subfic r0, r5, 4
/* 8035204C 0034DCAC  38 81 00 0C */	addi r4, r1, 0xc
/* 80352050 0034DCB0  7F A3 EB 78 */	mr r3, r29
/* 80352054 0034DCB4  7C 84 02 14 */	add r4, r4, r0
/* 80352058 0034DCB8  4B FF F0 F1 */	bl ghiReadDataFromBufferFixed
/* 8035205C 0034DCBC  2C 03 00 00 */	cmpwi r3, 0
/* 80352060 0034DCC0  40 82 00 0C */	bne lbl_8035206C
/* 80352064 0034DCC4  38 00 00 00 */	li r0, 0
/* 80352068 0034DCC8  48 00 00 14 */	b lbl_8035207C
lbl_8035206C:
/* 8035206C 0034DCCC  80 61 00 0C */	lwz r3, 0xc(r1)
/* 80352070 0034DCD0  4B FA 4D 09 */	bl SOHtoNl
/* 80352074 0034DCD4  90 61 00 0C */	stw r3, 0xc(r1)
/* 80352078 0034DCD8  38 00 00 01 */	li r0, 1
lbl_8035207C:
/* 8035207C 0034DCDC  2C 00 00 00 */	cmpwi r0, 0
/* 80352080 0034DCE0  40 82 00 0C */	bne lbl_8035208C
/* 80352084 0034DCE4  38 60 00 00 */	li r3, 0
/* 80352088 0034DCE8  48 00 00 58 */	b lbl_803520E0
lbl_8035208C:
/* 8035208C 0034DCEC  80 7D 00 10 */	lwz r3, 0x10(r29)
/* 80352090 0034DCF0  80 1D 00 0C */	lwz r0, 0xc(r29)
/* 80352094 0034DCF4  80 81 00 0C */	lwz r4, 0xc(r1)
/* 80352098 0034DCF8  7C 03 00 50 */	subf r0, r3, r0
/* 8035209C 0034DCFC  7C 04 00 00 */	cmpw r4, r0
/* 803520A0 0034DD00  40 81 00 0C */	ble lbl_803520AC
/* 803520A4 0034DD04  38 60 00 00 */	li r3, 0
/* 803520A8 0034DD08  48 00 00 38 */	b lbl_803520E0
lbl_803520AC:
/* 803520AC 0034DD0C  90 9E 00 00 */	stw r4, 0(r30)
/* 803520B0 0034DD10  38 60 00 01 */	li r3, 1
/* 803520B4 0034DD14  48 00 00 2C */	b lbl_803520E0
lbl_803520B8:
/* 803520B8 0034DD18  80 7D 00 10 */	lwz r3, 0x10(r29)
/* 803520BC 0034DD1C  7C 84 07 74 */	extsb r4, r4
/* 803520C0 0034DD20  80 1D 00 0C */	lwz r0, 0xc(r29)
/* 803520C4 0034DD24  7C 03 00 50 */	subf r0, r3, r0
/* 803520C8 0034DD28  7C 04 00 00 */	cmpw r4, r0
/* 803520CC 0034DD2C  40 81 00 0C */	ble lbl_803520D8
/* 803520D0 0034DD30  38 60 00 00 */	li r3, 0
/* 803520D4 0034DD34  48 00 00 0C */	b lbl_803520E0
lbl_803520D8:
/* 803520D8 0034DD38  90 9E 00 00 */	stw r4, 0(r30)
/* 803520DC 0034DD3C  38 60 00 01 */	li r3, 1
lbl_803520E0:
/* 803520E0 0034DD40  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803520E4 0034DD44  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 803520E8 0034DD48  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 803520EC 0034DD4C  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 803520F0 0034DD50  7C 08 03 A6 */	mtlr r0
/* 803520F4 0034DD54  38 21 00 20 */	addi r1, r1, 0x20
/* 803520F8 0034DD58  4E 80 00 20 */	blr

.global ghttpEncryptorGenerateEncryptionKeys
ghttpEncryptorGenerateEncryptionKeys:
/* 803520FC 0034DD5C  94 21 FE D0 */	stwu r1, -0x130(r1)
/* 80352100 0034DD60  7C 08 02 A6 */	mflr r0
/* 80352104 0034DD64  90 01 01 34 */	stw r0, 0x134(r1)
/* 80352108 0034DD68  93 E1 01 2C */	stw r31, 0x12c(r1)
/* 8035210C 0034DD6C  7C 7F 1B 78 */	mr r31, r3
/* 80352110 0034DD70  38 61 00 B8 */	addi r3, r1, 0xb8
/* 80352114 0034DD74  4B FE A3 1D */	bl SHA1Reset
/* 80352118 0034DD78  38 61 00 B8 */	addi r3, r1, 0xb8
/* 8035211C 0034DD7C  38 8D 93 98 */	addi r4, r13, lbl_8063E658-_SDA_BASE_
/* 80352120 0034DD80  38 A0 00 01 */	li r5, 1
/* 80352124 0034DD84  4B FE A5 69 */	bl SHA1Input
/* 80352128 0034DD88  38 61 00 B8 */	addi r3, r1, 0xb8
/* 8035212C 0034DD8C  38 9F 06 A4 */	addi r4, r31, 0x6a4
/* 80352130 0034DD90  38 A0 00 30 */	li r5, 0x30
/* 80352134 0034DD94  4B FE A5 59 */	bl SHA1Input
/* 80352138 0034DD98  38 61 00 B8 */	addi r3, r1, 0xb8
/* 8035213C 0034DD9C  38 9F 06 84 */	addi r4, r31, 0x684
/* 80352140 0034DDA0  38 A0 00 20 */	li r5, 0x20
/* 80352144 0034DDA4  4B FE A5 49 */	bl SHA1Input
/* 80352148 0034DDA8  38 61 00 B8 */	addi r3, r1, 0xb8
/* 8035214C 0034DDAC  38 9F 06 64 */	addi r4, r31, 0x664
/* 80352150 0034DDB0  38 A0 00 20 */	li r5, 0x20
/* 80352154 0034DDB4  4B FE A5 39 */	bl SHA1Input
/* 80352158 0034DDB8  38 61 00 B8 */	addi r3, r1, 0xb8
/* 8035215C 0034DDBC  38 81 00 08 */	addi r4, r1, 8
/* 80352160 0034DDC0  4B FE A3 3D */	bl SHA1Result
/* 80352164 0034DDC4  38 61 00 60 */	addi r3, r1, 0x60
/* 80352168 0034DDC8  4B FE 4B 3D */	bl MD5Init
/* 8035216C 0034DDCC  38 61 00 60 */	addi r3, r1, 0x60
/* 80352170 0034DDD0  38 9F 06 A4 */	addi r4, r31, 0x6a4
/* 80352174 0034DDD4  38 A0 00 30 */	li r5, 0x30
/* 80352178 0034DDD8  4B FE 4B 6D */	bl MD5Update
/* 8035217C 0034DDDC  38 61 00 60 */	addi r3, r1, 0x60
/* 80352180 0034DDE0  38 81 00 08 */	addi r4, r1, 8
/* 80352184 0034DDE4  38 A0 00 14 */	li r5, 0x14
/* 80352188 0034DDE8  4B FE 4B 5D */	bl MD5Update
/* 8035218C 0034DDEC  38 7F 06 D4 */	addi r3, r31, 0x6d4
/* 80352190 0034DDF0  38 81 00 60 */	addi r4, r1, 0x60
/* 80352194 0034DDF4  4B FE 4C 3D */	bl MD5Final
/* 80352198 0034DDF8  38 61 00 B8 */	addi r3, r1, 0xb8
/* 8035219C 0034DDFC  4B FE A2 95 */	bl SHA1Reset
/* 803521A0 0034DE00  38 61 00 B8 */	addi r3, r1, 0xb8
/* 803521A4 0034DE04  38 8D 93 9C */	addi r4, r13, lbl_8063E65C-_SDA_BASE_
/* 803521A8 0034DE08  38 A0 00 02 */	li r5, 2
/* 803521AC 0034DE0C  4B FE A4 E1 */	bl SHA1Input
/* 803521B0 0034DE10  38 61 00 B8 */	addi r3, r1, 0xb8
/* 803521B4 0034DE14  38 9F 06 A4 */	addi r4, r31, 0x6a4
/* 803521B8 0034DE18  38 A0 00 30 */	li r5, 0x30
/* 803521BC 0034DE1C  4B FE A4 D1 */	bl SHA1Input
/* 803521C0 0034DE20  38 61 00 B8 */	addi r3, r1, 0xb8
/* 803521C4 0034DE24  38 9F 06 84 */	addi r4, r31, 0x684
/* 803521C8 0034DE28  38 A0 00 20 */	li r5, 0x20
/* 803521CC 0034DE2C  4B FE A4 C1 */	bl SHA1Input
/* 803521D0 0034DE30  38 61 00 B8 */	addi r3, r1, 0xb8
/* 803521D4 0034DE34  38 9F 06 64 */	addi r4, r31, 0x664
/* 803521D8 0034DE38  38 A0 00 20 */	li r5, 0x20
/* 803521DC 0034DE3C  4B FE A4 B1 */	bl SHA1Input
/* 803521E0 0034DE40  38 61 00 B8 */	addi r3, r1, 0xb8
/* 803521E4 0034DE44  38 81 00 08 */	addi r4, r1, 8
/* 803521E8 0034DE48  4B FE A2 B5 */	bl SHA1Result
/* 803521EC 0034DE4C  38 61 00 60 */	addi r3, r1, 0x60
/* 803521F0 0034DE50  4B FE 4A B5 */	bl MD5Init
/* 803521F4 0034DE54  38 61 00 60 */	addi r3, r1, 0x60
/* 803521F8 0034DE58  38 9F 06 A4 */	addi r4, r31, 0x6a4
/* 803521FC 0034DE5C  38 A0 00 30 */	li r5, 0x30
/* 80352200 0034DE60  4B FE 4A E5 */	bl MD5Update
/* 80352204 0034DE64  38 61 00 60 */	addi r3, r1, 0x60
/* 80352208 0034DE68  38 81 00 08 */	addi r4, r1, 8
/* 8035220C 0034DE6C  38 A0 00 14 */	li r5, 0x14
/* 80352210 0034DE70  4B FE 4A D5 */	bl MD5Update
/* 80352214 0034DE74  38 7F 06 E4 */	addi r3, r31, 0x6e4
/* 80352218 0034DE78  38 81 00 60 */	addi r4, r1, 0x60
/* 8035221C 0034DE7C  4B FE 4B B5 */	bl MD5Final
/* 80352220 0034DE80  38 61 00 B8 */	addi r3, r1, 0xb8
/* 80352224 0034DE84  4B FE A2 0D */	bl SHA1Reset
/* 80352228 0034DE88  38 61 00 B8 */	addi r3, r1, 0xb8
/* 8035222C 0034DE8C  38 8D 93 A0 */	addi r4, r13, lbl_8063E660-_SDA_BASE_
/* 80352230 0034DE90  38 A0 00 03 */	li r5, 3
/* 80352234 0034DE94  4B FE A4 59 */	bl SHA1Input
/* 80352238 0034DE98  38 61 00 B8 */	addi r3, r1, 0xb8
/* 8035223C 0034DE9C  38 9F 06 A4 */	addi r4, r31, 0x6a4
/* 80352240 0034DEA0  38 A0 00 30 */	li r5, 0x30
/* 80352244 0034DEA4  4B FE A4 49 */	bl SHA1Input
/* 80352248 0034DEA8  38 61 00 B8 */	addi r3, r1, 0xb8
/* 8035224C 0034DEAC  38 9F 06 84 */	addi r4, r31, 0x684
/* 80352250 0034DEB0  38 A0 00 20 */	li r5, 0x20
/* 80352254 0034DEB4  4B FE A4 39 */	bl SHA1Input
/* 80352258 0034DEB8  38 61 00 B8 */	addi r3, r1, 0xb8
/* 8035225C 0034DEBC  38 9F 06 64 */	addi r4, r31, 0x664
/* 80352260 0034DEC0  38 A0 00 20 */	li r5, 0x20
/* 80352264 0034DEC4  4B FE A4 29 */	bl SHA1Input
/* 80352268 0034DEC8  38 61 00 B8 */	addi r3, r1, 0xb8
/* 8035226C 0034DECC  38 81 00 08 */	addi r4, r1, 8
/* 80352270 0034DED0  4B FE A2 2D */	bl SHA1Result
/* 80352274 0034DED4  38 61 00 60 */	addi r3, r1, 0x60
/* 80352278 0034DED8  4B FE 4A 2D */	bl MD5Init
/* 8035227C 0034DEDC  38 61 00 60 */	addi r3, r1, 0x60
/* 80352280 0034DEE0  38 9F 06 A4 */	addi r4, r31, 0x6a4
/* 80352284 0034DEE4  38 A0 00 30 */	li r5, 0x30
/* 80352288 0034DEE8  4B FE 4A 5D */	bl MD5Update
/* 8035228C 0034DEEC  38 61 00 60 */	addi r3, r1, 0x60
/* 80352290 0034DEF0  38 81 00 08 */	addi r4, r1, 8
/* 80352294 0034DEF4  38 A0 00 14 */	li r5, 0x14
/* 80352298 0034DEF8  4B FE 4A 4D */	bl MD5Update
/* 8035229C 0034DEFC  38 7F 06 F4 */	addi r3, r31, 0x6f4
/* 803522A0 0034DF00  38 81 00 60 */	addi r4, r1, 0x60
/* 803522A4 0034DF04  4B FE 4B 2D */	bl MD5Final
/* 803522A8 0034DF08  38 61 00 B8 */	addi r3, r1, 0xb8
/* 803522AC 0034DF0C  4B FE A1 85 */	bl SHA1Reset
/* 803522B0 0034DF10  38 61 00 B8 */	addi r3, r1, 0xb8
/* 803522B4 0034DF14  38 8D 93 98 */	addi r4, r13, lbl_8063E658-_SDA_BASE_
/* 803522B8 0034DF18  38 A0 00 01 */	li r5, 1
/* 803522BC 0034DF1C  4B FE A3 D1 */	bl SHA1Input
/* 803522C0 0034DF20  38 61 00 B8 */	addi r3, r1, 0xb8
/* 803522C4 0034DF24  38 9F 06 D4 */	addi r4, r31, 0x6d4
/* 803522C8 0034DF28  38 A0 00 30 */	li r5, 0x30
/* 803522CC 0034DF2C  4B FE A3 C1 */	bl SHA1Input
/* 803522D0 0034DF30  38 61 00 B8 */	addi r3, r1, 0xb8
/* 803522D4 0034DF34  38 9F 06 64 */	addi r4, r31, 0x664
/* 803522D8 0034DF38  38 A0 00 20 */	li r5, 0x20
/* 803522DC 0034DF3C  4B FE A3 B1 */	bl SHA1Input
/* 803522E0 0034DF40  38 61 00 B8 */	addi r3, r1, 0xb8
/* 803522E4 0034DF44  38 9F 06 84 */	addi r4, r31, 0x684
/* 803522E8 0034DF48  38 A0 00 20 */	li r5, 0x20
/* 803522EC 0034DF4C  4B FE A3 A1 */	bl SHA1Input
/* 803522F0 0034DF50  38 61 00 B8 */	addi r3, r1, 0xb8
/* 803522F4 0034DF54  38 81 00 08 */	addi r4, r1, 8
/* 803522F8 0034DF58  4B FE A1 A5 */	bl SHA1Result
/* 803522FC 0034DF5C  38 61 00 60 */	addi r3, r1, 0x60
/* 80352300 0034DF60  4B FE 49 A5 */	bl MD5Init
/* 80352304 0034DF64  38 61 00 60 */	addi r3, r1, 0x60
/* 80352308 0034DF68  38 9F 06 D4 */	addi r4, r31, 0x6d4
/* 8035230C 0034DF6C  38 A0 00 30 */	li r5, 0x30
/* 80352310 0034DF70  4B FE 49 D5 */	bl MD5Update
/* 80352314 0034DF74  38 61 00 60 */	addi r3, r1, 0x60
/* 80352318 0034DF78  38 81 00 08 */	addi r4, r1, 8
/* 8035231C 0034DF7C  38 A0 00 14 */	li r5, 0x14
/* 80352320 0034DF80  4B FE 49 C5 */	bl MD5Update
/* 80352324 0034DF84  38 61 00 20 */	addi r3, r1, 0x20
/* 80352328 0034DF88  38 81 00 60 */	addi r4, r1, 0x60
/* 8035232C 0034DF8C  4B FE 4A A5 */	bl MD5Final
/* 80352330 0034DF90  38 61 00 B8 */	addi r3, r1, 0xb8
/* 80352334 0034DF94  4B FE A0 FD */	bl SHA1Reset
/* 80352338 0034DF98  38 61 00 B8 */	addi r3, r1, 0xb8
/* 8035233C 0034DF9C  38 8D 93 9C */	addi r4, r13, lbl_8063E65C-_SDA_BASE_
/* 80352340 0034DFA0  38 A0 00 02 */	li r5, 2
/* 80352344 0034DFA4  4B FE A3 49 */	bl SHA1Input
/* 80352348 0034DFA8  38 61 00 B8 */	addi r3, r1, 0xb8
/* 8035234C 0034DFAC  38 9F 06 D4 */	addi r4, r31, 0x6d4
/* 80352350 0034DFB0  38 A0 00 30 */	li r5, 0x30
/* 80352354 0034DFB4  4B FE A3 39 */	bl SHA1Input
/* 80352358 0034DFB8  38 61 00 B8 */	addi r3, r1, 0xb8
/* 8035235C 0034DFBC  38 9F 06 64 */	addi r4, r31, 0x664
/* 80352360 0034DFC0  38 A0 00 20 */	li r5, 0x20
/* 80352364 0034DFC4  4B FE A3 29 */	bl SHA1Input
/* 80352368 0034DFC8  38 61 00 B8 */	addi r3, r1, 0xb8
/* 8035236C 0034DFCC  38 9F 06 84 */	addi r4, r31, 0x684
/* 80352370 0034DFD0  38 A0 00 20 */	li r5, 0x20
/* 80352374 0034DFD4  4B FE A3 19 */	bl SHA1Input
/* 80352378 0034DFD8  38 61 00 B8 */	addi r3, r1, 0xb8
/* 8035237C 0034DFDC  38 81 00 08 */	addi r4, r1, 8
/* 80352380 0034DFE0  4B FE A1 1D */	bl SHA1Result
/* 80352384 0034DFE4  38 61 00 60 */	addi r3, r1, 0x60
/* 80352388 0034DFE8  4B FE 49 1D */	bl MD5Init
/* 8035238C 0034DFEC  38 61 00 60 */	addi r3, r1, 0x60
/* 80352390 0034DFF0  38 9F 06 D4 */	addi r4, r31, 0x6d4
/* 80352394 0034DFF4  38 A0 00 30 */	li r5, 0x30
/* 80352398 0034DFF8  4B FE 49 4D */	bl MD5Update
/* 8035239C 0034DFFC  38 61 00 60 */	addi r3, r1, 0x60
/* 803523A0 0034E000  38 81 00 08 */	addi r4, r1, 8
/* 803523A4 0034E004  38 A0 00 14 */	li r5, 0x14
/* 803523A8 0034E008  4B FE 49 3D */	bl MD5Update
/* 803523AC 0034E00C  38 61 00 30 */	addi r3, r1, 0x30
/* 803523B0 0034E010  38 81 00 60 */	addi r4, r1, 0x60
/* 803523B4 0034E014  4B FE 4A 1D */	bl MD5Final
/* 803523B8 0034E018  38 61 00 B8 */	addi r3, r1, 0xb8
/* 803523BC 0034E01C  4B FE A0 75 */	bl SHA1Reset
/* 803523C0 0034E020  38 61 00 B8 */	addi r3, r1, 0xb8
/* 803523C4 0034E024  38 8D 93 A0 */	addi r4, r13, lbl_8063E660-_SDA_BASE_
/* 803523C8 0034E028  38 A0 00 03 */	li r5, 3
/* 803523CC 0034E02C  4B FE A2 C1 */	bl SHA1Input
/* 803523D0 0034E030  38 61 00 B8 */	addi r3, r1, 0xb8
/* 803523D4 0034E034  38 9F 06 D4 */	addi r4, r31, 0x6d4
/* 803523D8 0034E038  38 A0 00 30 */	li r5, 0x30
/* 803523DC 0034E03C  4B FE A2 B1 */	bl SHA1Input
/* 803523E0 0034E040  38 61 00 B8 */	addi r3, r1, 0xb8
/* 803523E4 0034E044  38 9F 06 64 */	addi r4, r31, 0x664
/* 803523E8 0034E048  38 A0 00 20 */	li r5, 0x20
/* 803523EC 0034E04C  4B FE A2 A1 */	bl SHA1Input
/* 803523F0 0034E050  38 61 00 B8 */	addi r3, r1, 0xb8
/* 803523F4 0034E054  38 9F 06 84 */	addi r4, r31, 0x684
/* 803523F8 0034E058  38 A0 00 20 */	li r5, 0x20
/* 803523FC 0034E05C  4B FE A2 91 */	bl SHA1Input
/* 80352400 0034E060  38 61 00 B8 */	addi r3, r1, 0xb8
/* 80352404 0034E064  38 81 00 08 */	addi r4, r1, 8
/* 80352408 0034E068  4B FE A0 95 */	bl SHA1Result
/* 8035240C 0034E06C  38 61 00 60 */	addi r3, r1, 0x60
/* 80352410 0034E070  4B FE 48 95 */	bl MD5Init
/* 80352414 0034E074  38 61 00 60 */	addi r3, r1, 0x60
/* 80352418 0034E078  38 9F 06 D4 */	addi r4, r31, 0x6d4
/* 8035241C 0034E07C  38 A0 00 30 */	li r5, 0x30
/* 80352420 0034E080  4B FE 48 C5 */	bl MD5Update
/* 80352424 0034E084  38 61 00 60 */	addi r3, r1, 0x60
/* 80352428 0034E088  38 81 00 08 */	addi r4, r1, 8
/* 8035242C 0034E08C  38 A0 00 14 */	li r5, 0x14
/* 80352430 0034E090  4B FE 48 B5 */	bl MD5Update
/* 80352434 0034E094  38 61 00 40 */	addi r3, r1, 0x40
/* 80352438 0034E098  38 81 00 60 */	addi r4, r1, 0x60
/* 8035243C 0034E09C  4B FE 49 95 */	bl MD5Final
/* 80352440 0034E0A0  38 61 00 B8 */	addi r3, r1, 0xb8
/* 80352444 0034E0A4  4B FE 9F ED */	bl SHA1Reset
/* 80352448 0034E0A8  38 61 00 B8 */	addi r3, r1, 0xb8
/* 8035244C 0034E0AC  38 8D 93 A4 */	addi r4, r13, lbl_8063E664-_SDA_BASE_
/* 80352450 0034E0B0  38 A0 00 04 */	li r5, 4
/* 80352454 0034E0B4  4B FE A2 39 */	bl SHA1Input
/* 80352458 0034E0B8  38 61 00 B8 */	addi r3, r1, 0xb8
/* 8035245C 0034E0BC  38 9F 06 D4 */	addi r4, r31, 0x6d4
/* 80352460 0034E0C0  38 A0 00 30 */	li r5, 0x30
/* 80352464 0034E0C4  4B FE A2 29 */	bl SHA1Input
/* 80352468 0034E0C8  38 61 00 B8 */	addi r3, r1, 0xb8
/* 8035246C 0034E0CC  38 9F 06 64 */	addi r4, r31, 0x664
/* 80352470 0034E0D0  38 A0 00 20 */	li r5, 0x20
/* 80352474 0034E0D4  4B FE A2 19 */	bl SHA1Input
/* 80352478 0034E0D8  38 61 00 B8 */	addi r3, r1, 0xb8
/* 8035247C 0034E0DC  38 9F 06 84 */	addi r4, r31, 0x684
/* 80352480 0034E0E0  38 A0 00 20 */	li r5, 0x20
/* 80352484 0034E0E4  4B FE A2 09 */	bl SHA1Input
/* 80352488 0034E0E8  38 61 00 B8 */	addi r3, r1, 0xb8
/* 8035248C 0034E0EC  38 81 00 08 */	addi r4, r1, 8
/* 80352490 0034E0F0  4B FE A0 0D */	bl SHA1Result
/* 80352494 0034E0F4  38 61 00 60 */	addi r3, r1, 0x60
/* 80352498 0034E0F8  4B FE 48 0D */	bl MD5Init
/* 8035249C 0034E0FC  38 61 00 60 */	addi r3, r1, 0x60
/* 803524A0 0034E100  38 9F 06 D4 */	addi r4, r31, 0x6d4
/* 803524A4 0034E104  38 A0 00 30 */	li r5, 0x30
/* 803524A8 0034E108  4B FE 48 3D */	bl MD5Update
/* 803524AC 0034E10C  38 61 00 60 */	addi r3, r1, 0x60
/* 803524B0 0034E110  38 81 00 08 */	addi r4, r1, 8
/* 803524B4 0034E114  38 A0 00 14 */	li r5, 0x14
/* 803524B8 0034E118  4B FE 48 2D */	bl MD5Update
/* 803524BC 0034E11C  38 61 00 50 */	addi r3, r1, 0x50
/* 803524C0 0034E120  38 81 00 60 */	addi r4, r1, 0x60
/* 803524C4 0034E124  4B FE 49 0D */	bl MD5Final
/* 803524C8 0034E128  38 7F 03 20 */	addi r3, r31, 0x320
/* 803524CC 0034E12C  38 81 00 20 */	addi r4, r1, 0x20
/* 803524D0 0034E130  38 A0 00 10 */	li r5, 0x10
/* 803524D4 0034E134  4B CB 1B 2D */	bl memcpy
/* 803524D8 0034E138  38 7F 03 34 */	addi r3, r31, 0x334
/* 803524DC 0034E13C  38 81 00 30 */	addi r4, r1, 0x30
/* 803524E0 0034E140  38 A0 00 10 */	li r5, 0x10
/* 803524E4 0034E144  4B CB 1B 1D */	bl memcpy
/* 803524E8 0034E148  38 7F 03 48 */	addi r3, r31, 0x348
/* 803524EC 0034E14C  38 81 00 40 */	addi r4, r1, 0x40
/* 803524F0 0034E150  38 A0 00 10 */	li r5, 0x10
/* 803524F4 0034E154  4B CB 1B 0D */	bl memcpy
/* 803524F8 0034E158  38 7F 03 58 */	addi r3, r31, 0x358
/* 803524FC 0034E15C  38 81 00 50 */	addi r4, r1, 0x50
/* 80352500 0034E160  38 A0 00 10 */	li r5, 0x10
/* 80352504 0034E164  4B CB 1A FD */	bl memcpy
/* 80352508 0034E168  38 00 00 10 */	li r0, 0x10
/* 8035250C 0034E16C  38 7F 03 A0 */	addi r3, r31, 0x3a0
/* 80352510 0034E170  90 1F 03 88 */	stw r0, 0x388(r31)
/* 80352514 0034E174  38 9F 03 48 */	addi r4, r31, 0x348
/* 80352518 0034E178  38 A0 00 10 */	li r5, 0x10
/* 8035251C 0034E17C  90 1F 03 8C */	stw r0, 0x38c(r31)
/* 80352520 0034E180  90 1F 03 90 */	stw r0, 0x390(r31)
/* 80352524 0034E184  90 1F 03 94 */	stw r0, 0x394(r31)
/* 80352528 0034E188  4B FE 9A 39 */	bl RC4Init
/* 8035252C 0034E18C  80 BF 03 94 */	lwz r5, 0x394(r31)
/* 80352530 0034E190  38 7F 04 A2 */	addi r3, r31, 0x4a2
/* 80352534 0034E194  38 9F 03 58 */	addi r4, r31, 0x358
/* 80352538 0034E198  4B FE 9A 29 */	bl RC4Init
/* 8035253C 0034E19C  80 01 01 34 */	lwz r0, 0x134(r1)
/* 80352540 0034E1A0  83 E1 01 2C */	lwz r31, 0x12c(r1)
/* 80352544 0034E1A4  7C 08 03 A6 */	mtlr r0
/* 80352548 0034E1A8  38 21 01 30 */	addi r1, r1, 0x130
/* 8035254C 0034E1AC  4E 80 00 20 */	blr

.global ghttpEncryptorSslInitFunc
ghttpEncryptorSslInitFunc:
/* 80352550 0034E1B0  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 80352554 0034E1B4  7C 08 02 A6 */	mflr r0
/* 80352558 0034E1B8  90 01 00 64 */	stw r0, 0x64(r1)
/* 8035255C 0034E1BC  39 61 00 60 */	addi r11, r1, 0x60
/* 80352560 0034E1C0  4B E7 4B C9 */	bl _savegpr_27
/* 80352564 0034E1C4  80 A3 00 60 */	lwz r5, 0x60(r3)
/* 80352568 0034E1C8  7C 7B 1B 78 */	mr r27, r3
/* 8035256C 0034E1CC  80 03 00 5C */	lwz r0, 0x5c(r3)
/* 80352570 0034E1D0  7C 9E 23 78 */	mr r30, r4
/* 80352574 0034E1D4  7C 05 00 50 */	subf r0, r5, r0
/* 80352578 0034E1D8  28 00 00 32 */	cmplwi r0, 0x32
/* 8035257C 0034E1DC  40 80 00 0C */	bge lbl_80352588
/* 80352580 0034E1E0  38 60 00 02 */	li r3, 2
/* 80352584 0034E1E4  48 00 01 88 */	b lbl_8035270C
lbl_80352588:
/* 80352588 0034E1E8  38 60 07 04 */	li r3, 0x704
/* 8035258C 0034E1EC  4B FE 6D 89 */	bl gsimalloc
/* 80352590 0034E1F0  2C 03 00 00 */	cmpwi r3, 0
/* 80352594 0034E1F4  90 7E 00 00 */	stw r3, 0(r30)
/* 80352598 0034E1F8  40 82 00 0C */	bne lbl_803525A4
/* 8035259C 0034E1FC  38 60 00 03 */	li r3, 3
/* 803525A0 0034E200  48 00 01 6C */	b lbl_8035270C
lbl_803525A4:
/* 803525A4 0034E204  38 80 00 00 */	li r4, 0
/* 803525A8 0034E208  38 A0 07 04 */	li r5, 0x704
/* 803525AC 0034E20C  4B CB 1B 59 */	bl memset
/* 803525B0 0034E210  83 9E 00 00 */	lwz r28, 0(r30)
/* 803525B4 0034E214  3B A0 00 01 */	li r29, 1
/* 803525B8 0034E218  3B E0 00 00 */	li r31, 0
/* 803525BC 0034E21C  93 BE 00 08 */	stw r29, 8(r30)
/* 803525C0 0034E220  38 7C 05 A4 */	addi r3, r28, 0x5a4
/* 803525C4 0034E224  93 FE 00 0C */	stw r31, 0xc(r30)
/* 803525C8 0034E228  4B FE 46 DD */	bl MD5Init
/* 803525CC 0034E22C  38 7C 05 FC */	addi r3, r28, 0x5fc
/* 803525D0 0034E230  4B FE 9E 61 */	bl SHA1Reset
/* 803525D4 0034E234  38 00 00 16 */	li r0, 0x16
/* 803525D8 0034E238  3B C0 00 03 */	li r30, 3
/* 803525DC 0034E23C  98 01 00 14 */	stb r0, 0x14(r1)
/* 803525E0 0034E240  38 60 00 2D */	li r3, 0x2d
/* 803525E4 0034E244  9B C1 00 15 */	stb r30, 0x15(r1)
/* 803525E8 0034E248  9B E1 00 16 */	stb r31, 0x16(r1)
/* 803525EC 0034E24C  4B FA 47 8D */	bl SOHtoNl
/* 803525F0 0034E250  90 61 00 10 */	stw r3, 0x10(r1)
/* 803525F4 0034E254  38 61 00 17 */	addi r3, r1, 0x17
/* 803525F8 0034E258  38 81 00 12 */	addi r4, r1, 0x12
/* 803525FC 0034E25C  38 A0 00 02 */	li r5, 2
/* 80352600 0034E260  4B CB 1A 01 */	bl memcpy
/* 80352604 0034E264  9B A1 00 19 */	stb r29, 0x19(r1)
/* 80352608 0034E268  38 60 00 29 */	li r3, 0x29
/* 8035260C 0034E26C  9B C1 00 1D */	stb r30, 0x1d(r1)
/* 80352610 0034E270  9B E1 00 1E */	stb r31, 0x1e(r1)
/* 80352614 0034E274  4B FA 47 65 */	bl SOHtoNl
/* 80352618 0034E278  90 61 00 0C */	stw r3, 0xc(r1)
/* 8035261C 0034E27C  38 61 00 1A */	addi r3, r1, 0x1a
/* 80352620 0034E280  38 81 00 0D */	addi r4, r1, 0xd
/* 80352624 0034E284  38 A0 00 03 */	li r5, 3
/* 80352628 0034E288  4B CB 19 D9 */	bl memcpy
/* 8035262C 0034E28C  38 60 00 00 */	li r3, 0
/* 80352630 0034E290  4B FA 47 49 */	bl SOHtoNl
/* 80352634 0034E294  90 61 00 08 */	stw r3, 8(r1)
/* 80352638 0034E298  38 61 00 1F */	addi r3, r1, 0x1f
/* 8035263C 0034E29C  38 81 00 08 */	addi r4, r1, 8
/* 80352640 0034E2A0  38 A0 00 04 */	li r5, 4
/* 80352644 0034E2A4  4B CB 19 BD */	bl memcpy
/* 80352648 0034E2A8  4B FE 69 91 */	bl current_time
/* 8035264C 0034E2AC  4B FE 6A 15 */	bl Util_RandSeed
/* 80352650 0034E2B0  3B A1 00 14 */	addi r29, r1, 0x14
/* 80352654 0034E2B4  3B C0 00 00 */	li r30, 0
lbl_80352658:
/* 80352658 0034E2B8  38 60 00 00 */	li r3, 0
/* 8035265C 0034E2BC  38 80 00 FF */	li r4, 0xff
/* 80352660 0034E2C0  4B FE 6A 19 */	bl Util_RandInt
/* 80352664 0034E2C4  3B DE 00 01 */	addi r30, r30, 1
/* 80352668 0034E2C8  98 7D 00 0F */	stb r3, 0xf(r29)
/* 8035266C 0034E2CC  2C 1E 00 1C */	cmpwi r30, 0x1c
/* 80352670 0034E2D0  3B BD 00 01 */	addi r29, r29, 1
/* 80352674 0034E2D4  41 80 FF E4 */	blt lbl_80352658
/* 80352678 0034E2D8  38 7C 06 84 */	addi r3, r28, 0x684
/* 8035267C 0034E2DC  38 81 00 1F */	addi r4, r1, 0x1f
/* 80352680 0034E2E0  38 A0 00 04 */	li r5, 4
/* 80352684 0034E2E4  4B CB 19 7D */	bl memcpy
/* 80352688 0034E2E8  38 7C 06 88 */	addi r3, r28, 0x688
/* 8035268C 0034E2EC  38 81 00 23 */	addi r4, r1, 0x23
/* 80352690 0034E2F0  38 A0 00 1C */	li r5, 0x1c
/* 80352694 0034E2F4  4B CB 19 6D */	bl memcpy
/* 80352698 0034E2F8  3B C0 00 00 */	li r30, 0
/* 8035269C 0034E2FC  38 60 00 02 */	li r3, 2
/* 803526A0 0034E300  9B C1 00 3F */	stb r30, 0x3f(r1)
/* 803526A4 0034E304  4B FA 46 D9 */	bl SOHtoNs
/* 803526A8 0034E308  B0 61 00 40 */	sth r3, 0x40(r1)
/* 803526AC 0034E30C  3C 80 80 40 */	lis r4, lbl_80402560@ha
/* 803526B0 0034E310  80 04 25 60 */	lwz r0, lbl_80402560@l(r4)
/* 803526B4 0034E314  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 803526B8 0034E318  4B FA 46 C5 */	bl SOHtoNs
/* 803526BC 0034E31C  3B E0 00 01 */	li r31, 1
/* 803526C0 0034E320  B0 61 00 42 */	sth r3, 0x42(r1)
/* 803526C4 0034E324  38 7C 05 A4 */	addi r3, r28, 0x5a4
/* 803526C8 0034E328  38 81 00 19 */	addi r4, r1, 0x19
/* 803526CC 0034E32C  9B E1 00 44 */	stb r31, 0x44(r1)
/* 803526D0 0034E330  38 A0 00 2D */	li r5, 0x2d
/* 803526D4 0034E334  9B C1 00 45 */	stb r30, 0x45(r1)
/* 803526D8 0034E338  4B FE 46 0D */	bl MD5Update
/* 803526DC 0034E33C  38 7C 05 FC */	addi r3, r28, 0x5fc
/* 803526E0 0034E340  38 81 00 19 */	addi r4, r1, 0x19
/* 803526E4 0034E344  38 A0 00 2D */	li r5, 0x2d
/* 803526E8 0034E348  4B FE 9F A5 */	bl SHA1Input
/* 803526EC 0034E34C  38 7B 00 54 */	addi r3, r27, 0x54
/* 803526F0 0034E350  38 81 00 14 */	addi r4, r1, 0x14
/* 803526F4 0034E354  38 A0 00 32 */	li r5, 0x32
/* 803526F8 0034E358  4B FF E3 C5 */	bl ghiAppendDataToBuffer
/* 803526FC 0034E35C  2C 03 00 00 */	cmpwi r3, 0
/* 80352700 0034E360  40 82 00 08 */	bne lbl_80352708
/* 80352704 0034E364  3B E0 00 02 */	li r31, 2
lbl_80352708:
/* 80352708 0034E368  7F E3 FB 78 */	mr r3, r31
lbl_8035270C:
/* 8035270C 0034E36C  39 61 00 60 */	addi r11, r1, 0x60
/* 80352710 0034E370  4B E7 4A 65 */	bl _restgpr_27
/* 80352714 0034E374  80 01 00 64 */	lwz r0, 0x64(r1)
/* 80352718 0034E378  7C 08 03 A6 */	mtlr r0
/* 8035271C 0034E37C  38 21 00 60 */	addi r1, r1, 0x60
/* 80352720 0034E380  4E 80 00 20 */	blr

.global ghttpEncryptorSslCleanupFunc
ghttpEncryptorSslCleanupFunc:
/* 80352724 0034E384  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80352728 0034E388  7C 08 02 A6 */	mflr r0
/* 8035272C 0034E38C  2C 04 00 00 */	cmpwi r4, 0
/* 80352730 0034E390  90 01 00 14 */	stw r0, 0x14(r1)
/* 80352734 0034E394  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80352738 0034E398  7C 9F 23 78 */	mr r31, r4
/* 8035273C 0034E39C  41 82 00 28 */	beq lbl_80352764
/* 80352740 0034E3A0  80 64 00 00 */	lwz r3, 0(r4)
/* 80352744 0034E3A4  2C 03 00 00 */	cmpwi r3, 0
/* 80352748 0034E3A8  41 82 00 10 */	beq lbl_80352758
/* 8035274C 0034E3AC  4B FE 6B ED */	bl gsifree
/* 80352750 0034E3B0  38 00 00 00 */	li r0, 0
/* 80352754 0034E3B4  90 1F 00 00 */	stw r0, 0(r31)
lbl_80352758:
/* 80352758 0034E3B8  38 00 00 00 */	li r0, 0
/* 8035275C 0034E3BC  90 1F 00 08 */	stw r0, 8(r31)
/* 80352760 0034E3C0  90 1F 00 0C */	stw r0, 0xc(r31)
lbl_80352764:
/* 80352764 0034E3C4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80352768 0034E3C8  38 60 00 01 */	li r3, 1
/* 8035276C 0034E3CC  80 01 00 14 */	lwz r0, 0x14(r1)
/* 80352770 0034E3D0  7C 08 03 A6 */	mtlr r0
/* 80352774 0034E3D4  38 21 00 10 */	addi r1, r1, 0x10
/* 80352778 0034E3D8  4E 80 00 20 */	blr

.global ghttpEncryptorSslEncryptFunc
ghttpEncryptorSslEncryptFunc:
/* 8035277C 0034E3DC  94 21 FF 70 */	stwu r1, -0x90(r1)
/* 80352780 0034E3E0  7C 08 02 A6 */	mflr r0
/* 80352784 0034E3E4  90 01 00 94 */	stw r0, 0x94(r1)
/* 80352788 0034E3E8  39 61 00 90 */	addi r11, r1, 0x90
/* 8035278C 0034E3EC  4B E7 49 99 */	bl _savegpr_26
/* 80352790 0034E3F0  2C 04 00 00 */	cmpwi r4, 0
/* 80352794 0034E3F4  7C BA 2B 78 */	mr r26, r5
/* 80352798 0034E3F8  7C DD 33 78 */	mr r29, r6
/* 8035279C 0034E3FC  7C FB 3B 78 */	mr r27, r7
/* 803527A0 0034E400  7D 1C 43 78 */	mr r28, r8
/* 803527A4 0034E404  41 82 01 D8 */	beq lbl_8035297C
/* 803527A8 0034E408  83 C4 00 00 */	lwz r30, 0(r4)
/* 803527AC 0034E40C  2C 1E 00 00 */	cmpwi r30, 0
/* 803527B0 0034E410  41 82 00 10 */	beq lbl_803527C0
/* 803527B4 0034E414  80 04 00 0C */	lwz r0, 0xc(r4)
/* 803527B8 0034E418  2C 00 00 00 */	cmpwi r0, 0
/* 803527BC 0034E41C  40 82 00 38 */	bne lbl_803527F4
lbl_803527C0:
/* 803527C0 0034E420  80 08 00 00 */	lwz r0, 0(r8)
/* 803527C4 0034E424  7C 06 00 00 */	cmpw r6, r0
/* 803527C8 0034E428  40 81 00 0C */	ble lbl_803527D4
/* 803527CC 0034E42C  38 60 00 02 */	li r3, 2
/* 803527D0 0034E430  48 00 01 B0 */	b lbl_80352980
lbl_803527D4:
/* 803527D4 0034E434  7F 63 DB 78 */	mr r3, r27
/* 803527D8 0034E438  7F 44 D3 78 */	mr r4, r26
/* 803527DC 0034E43C  7F A5 EB 78 */	mr r5, r29
/* 803527E0 0034E440  4B CB 18 21 */	bl memcpy
/* 803527E4 0034E444  80 1C 00 00 */	lwz r0, 0(r28)
/* 803527E8 0034E448  7C 00 EA 14 */	add r0, r0, r29
/* 803527EC 0034E44C  90 1C 00 00 */	stw r0, 0(r28)
/* 803527F0 0034E450  48 00 01 8C */	b lbl_8035297C
lbl_803527F4:
/* 803527F4 0034E454  54 C3 04 3E */	clrlwi r3, r6, 0x10
/* 803527F8 0034E458  4B FA 45 85 */	bl SOHtoNs
/* 803527FC 0034E45C  B0 61 00 08 */	sth r3, 8(r1)
/* 80352800 0034E460  38 1D 00 05 */	addi r0, r29, 5
/* 80352804 0034E464  80 7C 00 00 */	lwz r3, 0(r28)
/* 80352808 0034E468  7C 03 00 00 */	cmpw r3, r0
/* 8035280C 0034E46C  40 80 00 0C */	bge lbl_80352818
/* 80352810 0034E470  38 60 00 02 */	li r3, 2
/* 80352814 0034E474  48 00 01 6C */	b lbl_80352980
lbl_80352818:
/* 80352818 0034E478  38 60 00 17 */	li r3, 0x17
/* 8035281C 0034E47C  38 00 00 03 */	li r0, 3
/* 80352820 0034E480  3B E0 00 00 */	li r31, 0
/* 80352824 0034E484  98 7B 00 00 */	stb r3, 0(r27)
/* 80352828 0034E488  38 61 00 20 */	addi r3, r1, 0x20
/* 8035282C 0034E48C  98 1B 00 01 */	stb r0, 1(r27)
/* 80352830 0034E490  9B FB 00 02 */	stb r31, 2(r27)
/* 80352834 0034E494  4B FE 44 71 */	bl MD5Init
/* 80352838 0034E498  80 BE 03 88 */	lwz r5, 0x388(r30)
/* 8035283C 0034E49C  38 61 00 20 */	addi r3, r1, 0x20
/* 80352840 0034E4A0  38 9E 03 20 */	addi r4, r30, 0x320
/* 80352844 0034E4A4  4B FE 44 A1 */	bl MD5Update
/* 80352848 0034E4A8  3C 80 80 45 */	lis r4, lbl_8044BF8C@ha
/* 8035284C 0034E4AC  38 61 00 20 */	addi r3, r1, 0x20
/* 80352850 0034E4B0  38 84 BF 8C */	addi r4, r4, lbl_8044BF8C@l
/* 80352854 0034E4B4  38 A0 00 30 */	li r5, 0x30
/* 80352858 0034E4B8  4B FE 44 8D */	bl MD5Update
/* 8035285C 0034E4BC  38 61 00 20 */	addi r3, r1, 0x20
/* 80352860 0034E4C0  38 9E 03 10 */	addi r4, r30, 0x310
/* 80352864 0034E4C4  38 A0 00 08 */	li r5, 8
/* 80352868 0034E4C8  4B FE 44 7D */	bl MD5Update
/* 8035286C 0034E4CC  38 61 00 20 */	addi r3, r1, 0x20
/* 80352870 0034E4D0  38 8D 93 AC */	addi r4, r13, lbl_8063E66C-_SDA_BASE_
/* 80352874 0034E4D4  38 A0 00 01 */	li r5, 1
/* 80352878 0034E4D8  4B FE 44 6D */	bl MD5Update
/* 8035287C 0034E4DC  38 61 00 20 */	addi r3, r1, 0x20
/* 80352880 0034E4E0  38 81 00 08 */	addi r4, r1, 8
/* 80352884 0034E4E4  38 A0 00 02 */	li r5, 2
/* 80352888 0034E4E8  4B FE 44 5D */	bl MD5Update
/* 8035288C 0034E4EC  7F 44 D3 78 */	mr r4, r26
/* 80352890 0034E4F0  7F A5 EB 78 */	mr r5, r29
/* 80352894 0034E4F4  38 61 00 20 */	addi r3, r1, 0x20
/* 80352898 0034E4F8  4B FE 44 4D */	bl MD5Update
/* 8035289C 0034E4FC  38 61 00 10 */	addi r3, r1, 0x10
/* 803528A0 0034E500  38 81 00 20 */	addi r4, r1, 0x20
/* 803528A4 0034E504  4B FE 45 2D */	bl MD5Final
/* 803528A8 0034E508  38 61 00 20 */	addi r3, r1, 0x20
/* 803528AC 0034E50C  4B FE 43 F9 */	bl MD5Init
/* 803528B0 0034E510  80 BE 03 88 */	lwz r5, 0x388(r30)
/* 803528B4 0034E514  38 61 00 20 */	addi r3, r1, 0x20
/* 803528B8 0034E518  38 9E 03 20 */	addi r4, r30, 0x320
/* 803528BC 0034E51C  4B FE 44 29 */	bl MD5Update
/* 803528C0 0034E520  3C 80 80 45 */	lis r4, lbl_8044BFC0@ha
/* 803528C4 0034E524  38 61 00 20 */	addi r3, r1, 0x20
/* 803528C8 0034E528  38 84 BF C0 */	addi r4, r4, lbl_8044BFC0@l
/* 803528CC 0034E52C  38 A0 00 30 */	li r5, 0x30
/* 803528D0 0034E530  4B FE 44 15 */	bl MD5Update
/* 803528D4 0034E534  38 61 00 20 */	addi r3, r1, 0x20
/* 803528D8 0034E538  38 81 00 10 */	addi r4, r1, 0x10
/* 803528DC 0034E53C  38 A0 00 10 */	li r5, 0x10
/* 803528E0 0034E540  4B FE 44 05 */	bl MD5Update
/* 803528E4 0034E544  38 61 00 10 */	addi r3, r1, 0x10
/* 803528E8 0034E548  38 81 00 20 */	addi r4, r1, 0x20
/* 803528EC 0034E54C  4B FE 44 E5 */	bl MD5Final
/* 803528F0 0034E550  7F 44 D3 78 */	mr r4, r26
/* 803528F4 0034E554  7F A6 EB 78 */	mr r6, r29
/* 803528F8 0034E558  38 7E 03 A0 */	addi r3, r30, 0x3a0
/* 803528FC 0034E55C  38 BB 00 05 */	addi r5, r27, 5
/* 80352900 0034E560  4B FE 99 A5 */	bl RC4Encrypt
/* 80352904 0034E564  3B BD 00 05 */	addi r29, r29, 5
/* 80352908 0034E568  38 7E 03 A0 */	addi r3, r30, 0x3a0
/* 8035290C 0034E56C  38 81 00 10 */	addi r4, r1, 0x10
/* 80352910 0034E570  38 C0 00 10 */	li r6, 0x10
/* 80352914 0034E574  7C BB EA 14 */	add r5, r27, r29
/* 80352918 0034E578  4B FE 99 8D */	bl RC4Encrypt
/* 8035291C 0034E57C  38 7D 00 0B */	addi r3, r29, 0xb
/* 80352920 0034E580  4B FA 44 59 */	bl SOHtoNl
/* 80352924 0034E584  90 61 00 0C */	stw r3, 0xc(r1)
/* 80352928 0034E588  38 7B 00 03 */	addi r3, r27, 3
/* 8035292C 0034E58C  38 81 00 0E */	addi r4, r1, 0xe
/* 80352930 0034E590  38 A0 00 02 */	li r5, 2
/* 80352934 0034E594  4B CB 16 CD */	bl memcpy
/* 80352938 0034E598  80 1C 00 00 */	lwz r0, 0(r28)
/* 8035293C 0034E59C  38 7D 00 10 */	addi r3, r29, 0x10
/* 80352940 0034E5A0  38 A0 00 07 */	li r5, 7
/* 80352944 0034E5A4  7C 03 00 50 */	subf r0, r3, r0
/* 80352948 0034E5A8  90 1C 00 00 */	stw r0, 0(r28)
lbl_8035294C:
/* 8035294C 0034E5AC  7C 9E 2A 14 */	add r4, r30, r5
/* 80352950 0034E5B0  88 64 03 10 */	lbz r3, 0x310(r4)
/* 80352954 0034E5B4  28 03 00 FF */	cmplwi r3, 0xff
/* 80352958 0034E5B8  40 82 00 10 */	bne lbl_80352968
/* 8035295C 0034E5BC  9B E4 03 10 */	stb r31, 0x310(r4)
/* 80352960 0034E5C0  38 A5 FF FF */	addi r5, r5, -1
/* 80352964 0034E5C4  48 00 00 10 */	b lbl_80352974
lbl_80352968:
/* 80352968 0034E5C8  38 03 00 01 */	addi r0, r3, 1
/* 8035296C 0034E5CC  38 A0 00 00 */	li r5, 0
/* 80352970 0034E5D0  98 04 03 10 */	stb r0, 0x310(r4)
lbl_80352974:
/* 80352974 0034E5D4  2C 05 00 00 */	cmpwi r5, 0
/* 80352978 0034E5D8  40 80 FF D4 */	bge lbl_8035294C
lbl_8035297C:
/* 8035297C 0034E5DC  38 60 00 01 */	li r3, 1
lbl_80352980:
/* 80352980 0034E5E0  39 61 00 90 */	addi r11, r1, 0x90
/* 80352984 0034E5E4  4B E7 47 ED */	bl _restgpr_26
/* 80352988 0034E5E8  80 01 00 94 */	lwz r0, 0x94(r1)
/* 8035298C 0034E5EC  7C 08 03 A6 */	mtlr r0
/* 80352990 0034E5F0  38 21 00 90 */	addi r1, r1, 0x90
/* 80352994 0034E5F4  4E 80 00 20 */	blr

.global ghttpEncryptorSslDecryptFunc
ghttpEncryptorSslDecryptFunc:
/* 80352998 0034E5F8  94 21 FF A0 */	stwu r1, -0x60(r1)
/* 8035299C 0034E5FC  7C 08 02 A6 */	mflr r0
/* 803529A0 0034E600  90 01 00 64 */	stw r0, 0x64(r1)
/* 803529A4 0034E604  39 61 00 60 */	addi r11, r1, 0x60
/* 803529A8 0034E608  4B E7 47 65 */	bl _savegpr_20
/* 803529AC 0034E60C  2C 04 00 00 */	cmpwi r4, 0
/* 803529B0 0034E610  7C 75 1B 78 */	mr r21, r3
/* 803529B4 0034E614  7C 96 23 78 */	mr r22, r4
/* 803529B8 0034E618  7C B7 2B 78 */	mr r23, r5
/* 803529BC 0034E61C  7C D8 33 78 */	mr r24, r6
/* 803529C0 0034E620  7C F9 3B 78 */	mr r25, r7
/* 803529C4 0034E624  7D 1A 43 78 */	mr r26, r8
/* 803529C8 0034E628  3B A0 00 00 */	li r29, 0
/* 803529CC 0034E62C  3B 80 00 00 */	li r28, 0
/* 803529D0 0034E630  41 82 00 10 */	beq lbl_803529E0
/* 803529D4 0034E634  83 C4 00 00 */	lwz r30, 0(r4)
/* 803529D8 0034E638  2C 1E 00 00 */	cmpwi r30, 0
/* 803529DC 0034E63C  40 82 00 2C */	bne lbl_80352A08
lbl_803529E0:
/* 803529E0 0034E640  80 A6 00 00 */	lwz r5, 0(r6)
/* 803529E4 0034E644  7F 23 CB 78 */	mr r3, r25
/* 803529E8 0034E648  7E E4 BB 78 */	mr r4, r23
/* 803529EC 0034E64C  4B CB 16 15 */	bl memcpy
/* 803529F0 0034E650  80 98 00 00 */	lwz r4, 0(r24)
/* 803529F4 0034E654  38 00 00 00 */	li r0, 0
/* 803529F8 0034E658  38 60 00 01 */	li r3, 1
/* 803529FC 0034E65C  90 9A 00 00 */	stw r4, 0(r26)
/* 80352A00 0034E660  90 18 00 00 */	stw r0, 0(r24)
/* 80352A04 0034E664  48 00 01 94 */	b lbl_80352B98
lbl_80352A08:
/* 80352A08 0034E668  40 82 00 0C */	bne lbl_80352A14
/* 80352A0C 0034E66C  38 60 00 03 */	li r3, 3
/* 80352A10 0034E670  48 00 01 88 */	b lbl_80352B98
lbl_80352A14:
/* 80352A14 0034E674  3A 80 00 01 */	li r20, 1
/* 80352A18 0034E678  48 00 01 58 */	b lbl_80352B70
lbl_80352A1C:
/* 80352A1C 0034E67C  7C 1D 00 50 */	subf r0, r29, r0
/* 80352A20 0034E680  28 00 00 05 */	cmplwi r0, 5
/* 80352A24 0034E684  41 80 01 58 */	blt lbl_80352B7C
/* 80352A28 0034E688  7F 77 EA 14 */	add r27, r23, r29
/* 80352A2C 0034E68C  88 1B 00 04 */	lbz r0, 4(r27)
/* 80352A30 0034E690  88 7B 00 03 */	lbz r3, 3(r27)
/* 80352A34 0034E694  50 03 44 2E */	rlwimi r3, r0, 8, 0x10, 0x17
/* 80352A38 0034E698  4B FA 43 39 */	bl SONtoHs
/* 80352A3C 0034E69C  54 65 04 3E */	clrlwi r5, r3, 0x10
/* 80352A40 0034E6A0  80 D8 00 00 */	lwz r6, 0(r24)
/* 80352A44 0034E6A4  7C 9D 2A 14 */	add r4, r29, r5
/* 80352A48 0034E6A8  7C 7F 1B 78 */	mr r31, r3
/* 80352A4C 0034E6AC  38 04 00 05 */	addi r0, r4, 5
/* 80352A50 0034E6B0  7C 06 00 00 */	cmpw r6, r0
/* 80352A54 0034E6B4  41 80 01 28 */	blt lbl_80352B7C
/* 80352A58 0034E6B8  80 75 01 9C */	lwz r3, 0x19c(r21)
/* 80352A5C 0034E6BC  2C 03 00 00 */	cmpwi r3, 0
/* 80352A60 0034E6C0  41 82 00 30 */	beq lbl_80352A90
/* 80352A64 0034E6C4  80 1A 00 00 */	lwz r0, 0(r26)
/* 80352A68 0034E6C8  7C 1C 00 50 */	subf r0, r28, r0
/* 80352A6C 0034E6CC  7C 00 28 00 */	cmpw r0, r5
/* 80352A70 0034E6D0  40 80 00 20 */	bge lbl_80352A90
/* 80352A74 0034E6D4  93 B8 00 00 */	stw r29, 0(r24)
/* 80352A78 0034E6D8  2C 1C 00 00 */	cmpwi r28, 0
/* 80352A7C 0034E6DC  38 60 00 02 */	li r3, 2
/* 80352A80 0034E6E0  93 9A 00 00 */	stw r28, 0(r26)
/* 80352A84 0034E6E4  40 81 01 14 */	ble lbl_80352B98
/* 80352A88 0034E6E8  38 60 00 01 */	li r3, 1
/* 80352A8C 0034E6EC  48 00 01 0C */	b lbl_80352B98
lbl_80352A90:
/* 80352A90 0034E6F0  88 1B 00 00 */	lbz r0, 0(r27)
/* 80352A94 0034E6F4  2C 00 00 16 */	cmpwi r0, 0x16
/* 80352A98 0034E6F8  41 82 00 24 */	beq lbl_80352ABC
/* 80352A9C 0034E6FC  40 80 00 14 */	bge lbl_80352AB0
/* 80352AA0 0034E700  2C 00 00 14 */	cmpwi r0, 0x14
/* 80352AA4 0034E704  41 82 00 A8 */	beq lbl_80352B4C
/* 80352AA8 0034E708  40 80 00 B0 */	bge lbl_80352B58
/* 80352AAC 0034E70C  48 00 00 B4 */	b lbl_80352B60
lbl_80352AB0:
/* 80352AB0 0034E710  2C 00 00 18 */	cmpwi r0, 0x18
/* 80352AB4 0034E714  40 80 00 AC */	bge lbl_80352B60
/* 80352AB8 0034E718  48 00 00 54 */	b lbl_80352B0C
lbl_80352ABC:
/* 80352ABC 0034E71C  2C 03 00 00 */	cmpwi r3, 0
/* 80352AC0 0034E720  3B BD 00 05 */	addi r29, r29, 5
/* 80352AC4 0034E724  41 82 00 18 */	beq lbl_80352ADC
/* 80352AC8 0034E728  7C 97 EA 14 */	add r4, r23, r29
/* 80352ACC 0034E72C  38 7E 04 A2 */	addi r3, r30, 0x4a2
/* 80352AD0 0034E730  57 E6 04 3E */	clrlwi r6, r31, 0x10
/* 80352AD4 0034E734  7C 85 23 78 */	mr r5, r4
/* 80352AD8 0034E738  4B FE 97 CD */	bl RC4Encrypt
lbl_80352ADC:
/* 80352ADC 0034E73C  7E A3 AB 78 */	mr r3, r21
/* 80352AE0 0034E740  38 81 00 08 */	addi r4, r1, 8
/* 80352AE4 0034E744  7C B7 EA 14 */	add r5, r23, r29
/* 80352AE8 0034E748  57 E6 04 3E */	clrlwi r6, r31, 0x10
/* 80352AEC 0034E74C  4B FF DE FD */	bl ghiInitReadOnlyBuffer
/* 80352AF0 0034E750  7E A3 AB 78 */	mr r3, r21
/* 80352AF4 0034E754  7E C4 B3 78 */	mr r4, r22
/* 80352AF8 0034E758  38 A1 00 08 */	addi r5, r1, 8
/* 80352AFC 0034E75C  48 00 00 B5 */	bl ghttpEncryptorProcessSSLHandshake
/* 80352B00 0034E760  2C 03 00 01 */	cmpwi r3, 1
/* 80352B04 0034E764  41 82 00 64 */	beq lbl_80352B68
/* 80352B08 0034E768  48 00 00 90 */	b lbl_80352B98
lbl_80352B0C:
/* 80352B0C 0034E76C  2C 03 00 00 */	cmpwi r3, 0
/* 80352B10 0034E770  3B BD 00 05 */	addi r29, r29, 5
/* 80352B14 0034E774  41 82 00 18 */	beq lbl_80352B2C
/* 80352B18 0034E778  7C 97 EA 14 */	add r4, r23, r29
/* 80352B1C 0034E77C  38 7E 04 A2 */	addi r3, r30, 0x4a2
/* 80352B20 0034E780  57 E6 04 3E */	clrlwi r6, r31, 0x10
/* 80352B24 0034E784  7C 85 23 78 */	mr r5, r4
/* 80352B28 0034E788  4B FE 97 7D */	bl RC4Encrypt
lbl_80352B2C:
/* 80352B2C 0034E78C  57 E4 04 3E */	clrlwi r4, r31, 0x10
/* 80352B30 0034E790  7C 79 E2 14 */	add r3, r25, r28
/* 80352B34 0034E794  3B 64 FF F0 */	addi r27, r4, -16
/* 80352B38 0034E798  7C 97 EA 14 */	add r4, r23, r29
/* 80352B3C 0034E79C  7F 65 DB 78 */	mr r5, r27
/* 80352B40 0034E7A0  4B CB 14 C1 */	bl memcpy
/* 80352B44 0034E7A4  7F 9C DA 14 */	add r28, r28, r27
/* 80352B48 0034E7A8  48 00 00 20 */	b lbl_80352B68
lbl_80352B4C:
/* 80352B4C 0034E7AC  92 95 01 9C */	stw r20, 0x19c(r21)
/* 80352B50 0034E7B0  3B BD 00 05 */	addi r29, r29, 5
/* 80352B54 0034E7B4  48 00 00 14 */	b lbl_80352B68
lbl_80352B58:
/* 80352B58 0034E7B8  3B BD 00 05 */	addi r29, r29, 5
/* 80352B5C 0034E7BC  48 00 00 0C */	b lbl_80352B68
lbl_80352B60:
/* 80352B60 0034E7C0  38 60 00 03 */	li r3, 3
/* 80352B64 0034E7C4  48 00 00 34 */	b lbl_80352B98
lbl_80352B68:
/* 80352B68 0034E7C8  57 E0 04 3E */	clrlwi r0, r31, 0x10
/* 80352B6C 0034E7CC  7F BD 02 14 */	add r29, r29, r0
lbl_80352B70:
/* 80352B70 0034E7D0  80 18 00 00 */	lwz r0, 0(r24)
/* 80352B74 0034E7D4  7C 1D 00 00 */	cmpw r29, r0
/* 80352B78 0034E7D8  41 80 FE A4 */	blt lbl_80352A1C
lbl_80352B7C:
/* 80352B7C 0034E7DC  93 B8 00 00 */	stw r29, 0(r24)
/* 80352B80 0034E7E0  38 60 00 01 */	li r3, 1
/* 80352B84 0034E7E4  93 9A 00 00 */	stw r28, 0(r26)
/* 80352B88 0034E7E8  80 18 00 00 */	lwz r0, 0(r24)
/* 80352B8C 0034E7EC  2C 00 00 00 */	cmpwi r0, 0
/* 80352B90 0034E7F0  40 80 00 08 */	bge lbl_80352B98
/* 80352B94 0034E7F4  38 60 00 03 */	li r3, 3
lbl_80352B98:
/* 80352B98 0034E7F8  39 61 00 60 */	addi r11, r1, 0x60
/* 80352B9C 0034E7FC  4B E7 45 BD */	bl _restgpr_20
/* 80352BA0 0034E800  80 01 00 64 */	lwz r0, 0x64(r1)
/* 80352BA4 0034E804  7C 08 03 A6 */	mtlr r0
/* 80352BA8 0034E808  38 21 00 60 */	addi r1, r1, 0x60
/* 80352BAC 0034E80C  4E 80 00 20 */	blr

.global ghttpEncryptorProcessSSLHandshake
ghttpEncryptorProcessSSLHandshake:
/* 80352BB0 0034E810  94 21 FF 50 */	stwu r1, -0xb0(r1)
/* 80352BB4 0034E814  7C 08 02 A6 */	mflr r0
/* 80352BB8 0034E818  90 01 00 B4 */	stw r0, 0xb4(r1)
/* 80352BBC 0034E81C  39 61 00 B0 */	addi r11, r1, 0xb0
/* 80352BC0 0034E820  4B E7 45 35 */	bl __save_gpr
/* 80352BC4 0034E824  83 E4 00 00 */	lwz r31, 0(r4)
/* 80352BC8 0034E828  7C 7B 1B 78 */	mr r27, r3
/* 80352BCC 0034E82C  7C BC 2B 78 */	mr r28, r5
/* 80352BD0 0034E830  3A 21 00 25 */	addi r17, r1, 0x25
/* 80352BD4 0034E834  3A 40 00 00 */	li r18, 0
/* 80352BD8 0034E838  3E A0 80 40 */	lis r21, 0x8040
/* 80352BDC 0034E83C  3A C0 00 03 */	li r22, 3
/* 80352BE0 0034E840  3A E0 00 16 */	li r23, 0x16
/* 80352BE4 0034E844  3B 00 00 14 */	li r24, 0x14
/* 80352BE8 0034E848  39 C0 00 01 */	li r14, 1
/* 80352BEC 0034E84C  3F 20 80 45 */	lis r25, 0x8045
/* 80352BF0 0034E850  3F 40 80 45 */	lis r26, 0x8045
/* 80352BF4 0034E854  48 00 10 44 */	b lbl_80353C38
lbl_80352BF8:
/* 80352BF8 0034E858  9A 41 00 09 */	stb r18, 9(r1)
/* 80352BFC 0034E85C  7F 83 E3 78 */	mr r3, r28
/* 80352C00 0034E860  38 81 00 09 */	addi r4, r1, 9
/* 80352C04 0034E864  38 A0 00 01 */	li r5, 1
/* 80352C08 0034E868  4B FF E5 41 */	bl ghiReadDataFromBufferFixed
/* 80352C0C 0034E86C  2C 03 00 00 */	cmpwi r3, 0
/* 80352C10 0034E870  40 82 00 0C */	bne lbl_80352C1C
/* 80352C14 0034E874  38 60 00 03 */	li r3, 3
/* 80352C18 0034E878  48 00 10 3C */	b lbl_80353C54
lbl_80352C1C:
/* 80352C1C 0034E87C  88 01 00 09 */	lbz r0, 9(r1)
/* 80352C20 0034E880  7C 00 07 74 */	extsb r0, r0
/* 80352C24 0034E884  2C 00 00 02 */	cmpwi r0, 2
/* 80352C28 0034E888  40 82 01 AC */	bne lbl_80352DD4
/* 80352C2C 0034E88C  92 41 00 34 */	stw r18, 0x34(r1)
/* 80352C30 0034E890  92 41 00 30 */	stw r18, 0x30(r1)
/* 80352C34 0034E894  9A 41 00 08 */	stb r18, 8(r1)
/* 80352C38 0034E898  80 1F 00 00 */	lwz r0, 0(r31)
/* 80352C3C 0034E89C  2C 00 00 00 */	cmpwi r0, 0
/* 80352C40 0034E8A0  41 82 00 0C */	beq lbl_80352C4C
/* 80352C44 0034E8A4  38 60 00 03 */	li r3, 3
/* 80352C48 0034E8A8  48 00 10 0C */	b lbl_80353C54
lbl_80352C4C:
/* 80352C4C 0034E8AC  7F 83 E3 78 */	mr r3, r28
/* 80352C50 0034E8B0  38 81 00 35 */	addi r4, r1, 0x35
/* 80352C54 0034E8B4  38 A0 00 03 */	li r5, 3
/* 80352C58 0034E8B8  4B FF E4 F1 */	bl ghiReadDataFromBufferFixed
/* 80352C5C 0034E8BC  2C 03 00 00 */	cmpwi r3, 0
/* 80352C60 0034E8C0  40 82 00 0C */	bne lbl_80352C6C
/* 80352C64 0034E8C4  38 00 00 00 */	li r0, 0
/* 80352C68 0034E8C8  48 00 00 14 */	b lbl_80352C7C
lbl_80352C6C:
/* 80352C6C 0034E8CC  80 61 00 34 */	lwz r3, 0x34(r1)
/* 80352C70 0034E8D0  4B FA 41 09 */	bl SOHtoNl
/* 80352C74 0034E8D4  90 61 00 34 */	stw r3, 0x34(r1)
/* 80352C78 0034E8D8  38 00 00 01 */	li r0, 1
lbl_80352C7C:
/* 80352C7C 0034E8DC  2C 00 00 00 */	cmpwi r0, 0
/* 80352C80 0034E8E0  40 82 00 0C */	bne lbl_80352C8C
/* 80352C84 0034E8E4  38 60 00 03 */	li r3, 3
/* 80352C88 0034E8E8  48 00 0F CC */	b lbl_80353C54
lbl_80352C8C:
/* 80352C8C 0034E8EC  80 7C 00 10 */	lwz r3, 0x10(r28)
/* 80352C90 0034E8F0  80 1C 00 0C */	lwz r0, 0xc(r28)
/* 80352C94 0034E8F4  80 81 00 34 */	lwz r4, 0x34(r1)
/* 80352C98 0034E8F8  7C 03 00 50 */	subf r0, r3, r0
/* 80352C9C 0034E8FC  7C 04 00 00 */	cmpw r4, r0
/* 80352CA0 0034E900  40 81 00 0C */	ble lbl_80352CAC
/* 80352CA4 0034E904  38 60 00 03 */	li r3, 3
/* 80352CA8 0034E908  48 00 0F AC */	b lbl_80353C54
lbl_80352CAC:
/* 80352CAC 0034E90C  38 03 00 02 */	addi r0, r3, 2
/* 80352CB0 0034E910  7F 83 E3 78 */	mr r3, r28
/* 80352CB4 0034E914  90 1C 00 10 */	stw r0, 0x10(r28)
/* 80352CB8 0034E918  38 9F 06 64 */	addi r4, r31, 0x664
/* 80352CBC 0034E91C  38 A0 00 20 */	li r5, 0x20
/* 80352CC0 0034E920  4B FF E4 89 */	bl ghiReadDataFromBufferFixed
/* 80352CC4 0034E924  2C 03 00 00 */	cmpwi r3, 0
/* 80352CC8 0034E928  40 82 00 0C */	bne lbl_80352CD4
/* 80352CCC 0034E92C  38 60 00 03 */	li r3, 3
/* 80352CD0 0034E930  48 00 0F 84 */	b lbl_80353C54
lbl_80352CD4:
/* 80352CD4 0034E934  7F 83 E3 78 */	mr r3, r28
/* 80352CD8 0034E938  38 81 00 08 */	addi r4, r1, 8
/* 80352CDC 0034E93C  38 A0 00 01 */	li r5, 1
/* 80352CE0 0034E940  4B FF E4 69 */	bl ghiReadDataFromBufferFixed
/* 80352CE4 0034E944  2C 03 00 00 */	cmpwi r3, 0
/* 80352CE8 0034E948  40 82 00 0C */	bne lbl_80352CF4
/* 80352CEC 0034E94C  38 60 00 03 */	li r3, 3
/* 80352CF0 0034E950  48 00 0F 64 */	b lbl_80353C54
lbl_80352CF4:
/* 80352CF4 0034E954  88 A1 00 08 */	lbz r5, 8(r1)
/* 80352CF8 0034E958  7F 83 E3 78 */	mr r3, r28
/* 80352CFC 0034E95C  38 9F 00 04 */	addi r4, r31, 4
/* 80352D00 0034E960  7C A5 07 74 */	extsb r5, r5
/* 80352D04 0034E964  4B FF E4 45 */	bl ghiReadDataFromBufferFixed
/* 80352D08 0034E968  2C 03 00 00 */	cmpwi r3, 0
/* 80352D0C 0034E96C  40 82 00 0C */	bne lbl_80352D18
/* 80352D10 0034E970  38 60 00 03 */	li r3, 3
/* 80352D14 0034E974  48 00 0F 40 */	b lbl_80353C54
lbl_80352D18:
/* 80352D18 0034E978  88 01 00 08 */	lbz r0, 8(r1)
/* 80352D1C 0034E97C  7F 83 E3 78 */	mr r3, r28
/* 80352D20 0034E980  38 81 00 32 */	addi r4, r1, 0x32
/* 80352D24 0034E984  38 A0 00 02 */	li r5, 2
/* 80352D28 0034E988  7C 00 07 74 */	extsb r0, r0
/* 80352D2C 0034E98C  90 1F 00 00 */	stw r0, 0(r31)
/* 80352D30 0034E990  4B FF E4 19 */	bl ghiReadDataFromBufferFixed
/* 80352D34 0034E994  2C 03 00 00 */	cmpwi r3, 0
/* 80352D38 0034E998  40 82 00 0C */	bne lbl_80352D44
/* 80352D3C 0034E99C  38 00 00 00 */	li r0, 0
/* 80352D40 0034E9A0  48 00 00 14 */	b lbl_80352D54
lbl_80352D44:
/* 80352D44 0034E9A4  80 61 00 30 */	lwz r3, 0x30(r1)
/* 80352D48 0034E9A8  4B FA 40 31 */	bl SOHtoNl
/* 80352D4C 0034E9AC  90 61 00 30 */	stw r3, 0x30(r1)
/* 80352D50 0034E9B0  38 00 00 01 */	li r0, 1
lbl_80352D54:
/* 80352D54 0034E9B4  2C 00 00 00 */	cmpwi r0, 0
/* 80352D58 0034E9B8  40 82 00 0C */	bne lbl_80352D64
/* 80352D5C 0034E9BC  38 60 00 03 */	li r3, 3
/* 80352D60 0034E9C0  48 00 0E F4 */	b lbl_80353C54
lbl_80352D64:
/* 80352D64 0034E9C4  80 01 00 30 */	lwz r0, 0x30(r1)
/* 80352D68 0034E9C8  7F 83 E3 78 */	mr r3, r28
/* 80352D6C 0034E9CC  38 81 00 08 */	addi r4, r1, 8
/* 80352D70 0034E9D0  38 A0 00 01 */	li r5, 1
/* 80352D74 0034E9D4  B0 1F 01 04 */	sth r0, 0x104(r31)
/* 80352D78 0034E9D8  4B FF E3 D1 */	bl ghiReadDataFromBufferFixed
/* 80352D7C 0034E9DC  2C 03 00 00 */	cmpwi r3, 0
/* 80352D80 0034E9E0  40 82 00 0C */	bne lbl_80352D8C
/* 80352D84 0034E9E4  38 60 00 03 */	li r3, 3
/* 80352D88 0034E9E8  48 00 0E CC */	b lbl_80353C54
lbl_80352D8C:
/* 80352D8C 0034E9EC  88 01 00 08 */	lbz r0, 8(r1)
/* 80352D90 0034E9F0  7C 00 07 75 */	extsb. r0, r0
/* 80352D94 0034E9F4  41 82 00 0C */	beq lbl_80352DA0
/* 80352D98 0034E9F8  38 60 00 03 */	li r3, 3
/* 80352D9C 0034E9FC  48 00 0E B8 */	b lbl_80353C54
lbl_80352DA0:
/* 80352DA0 0034EA00  80 9C 00 10 */	lwz r4, 0x10(r28)
/* 80352DA4 0034EA04  38 7F 05 A4 */	addi r3, r31, 0x5a4
/* 80352DA8 0034EA08  80 1C 00 04 */	lwz r0, 4(r28)
/* 80352DAC 0034EA0C  7D F0 20 50 */	subf r15, r16, r4
/* 80352DB0 0034EA10  7D E5 7B 78 */	mr r5, r15
/* 80352DB4 0034EA14  7C 80 82 14 */	add r4, r0, r16
/* 80352DB8 0034EA18  4B FE 3F 2D */	bl MD5Update
/* 80352DBC 0034EA1C  80 1C 00 04 */	lwz r0, 4(r28)
/* 80352DC0 0034EA20  7D E5 7B 78 */	mr r5, r15
/* 80352DC4 0034EA24  38 7F 05 FC */	addi r3, r31, 0x5fc
/* 80352DC8 0034EA28  7C 80 82 14 */	add r4, r0, r16
/* 80352DCC 0034EA2C  4B FE 98 C1 */	bl SHA1Input
/* 80352DD0 0034EA30  48 00 0E 68 */	b lbl_80353C38
lbl_80352DD4:
/* 80352DD4 0034EA34  2C 00 00 0B */	cmpwi r0, 0xb
/* 80352DD8 0034EA38  40 82 09 34 */	bne lbl_8035370C
/* 80352DDC 0034EA3C  92 41 00 2C */	stw r18, 0x2c(r1)
/* 80352DE0 0034EA40  7F 83 E3 78 */	mr r3, r28
/* 80352DE4 0034EA44  38 81 00 2D */	addi r4, r1, 0x2d
/* 80352DE8 0034EA48  3B C0 00 00 */	li r30, 0
/* 80352DEC 0034EA4C  92 41 00 28 */	stw r18, 0x28(r1)
/* 80352DF0 0034EA50  38 A0 00 03 */	li r5, 3
/* 80352DF4 0034EA54  4B FF E3 55 */	bl ghiReadDataFromBufferFixed
/* 80352DF8 0034EA58  2C 03 00 00 */	cmpwi r3, 0
/* 80352DFC 0034EA5C  40 82 00 0C */	bne lbl_80352E08
/* 80352E00 0034EA60  38 00 00 00 */	li r0, 0
/* 80352E04 0034EA64  48 00 00 14 */	b lbl_80352E18
lbl_80352E08:
/* 80352E08 0034EA68  80 61 00 2C */	lwz r3, 0x2c(r1)
/* 80352E0C 0034EA6C  4B FA 3F 6D */	bl SOHtoNl
/* 80352E10 0034EA70  90 61 00 2C */	stw r3, 0x2c(r1)
/* 80352E14 0034EA74  38 00 00 01 */	li r0, 1
lbl_80352E18:
/* 80352E18 0034EA78  2C 00 00 00 */	cmpwi r0, 0
/* 80352E1C 0034EA7C  40 82 00 0C */	bne lbl_80352E28
/* 80352E20 0034EA80  38 60 00 03 */	li r3, 3
/* 80352E24 0034EA84  48 00 0E 30 */	b lbl_80353C54
lbl_80352E28:
/* 80352E28 0034EA88  7F 83 E3 78 */	mr r3, r28
/* 80352E2C 0034EA8C  38 81 00 29 */	addi r4, r1, 0x29
/* 80352E30 0034EA90  38 A0 00 03 */	li r5, 3
/* 80352E34 0034EA94  4B FF E3 15 */	bl ghiReadDataFromBufferFixed
/* 80352E38 0034EA98  2C 03 00 00 */	cmpwi r3, 0
/* 80352E3C 0034EA9C  40 82 00 0C */	bne lbl_80352E48
/* 80352E40 0034EAA0  38 00 00 00 */	li r0, 0
/* 80352E44 0034EAA4  48 00 00 14 */	b lbl_80352E58
lbl_80352E48:
/* 80352E48 0034EAA8  80 61 00 28 */	lwz r3, 0x28(r1)
/* 80352E4C 0034EAAC  4B FA 3F 2D */	bl SOHtoNl
/* 80352E50 0034EAB0  90 61 00 28 */	stw r3, 0x28(r1)
/* 80352E54 0034EAB4  38 00 00 01 */	li r0, 1
lbl_80352E58:
/* 80352E58 0034EAB8  2C 00 00 00 */	cmpwi r0, 0
/* 80352E5C 0034EABC  40 82 00 0C */	bne lbl_80352E68
/* 80352E60 0034EAC0  38 60 00 03 */	li r3, 3
/* 80352E64 0034EAC4  48 00 0D F0 */	b lbl_80353C54
lbl_80352E68:
/* 80352E68 0034EAC8  80 81 00 28 */	lwz r4, 0x28(r1)
/* 80352E6C 0034EACC  80 61 00 2C */	lwz r3, 0x2c(r1)
/* 80352E70 0034EAD0  38 04 00 03 */	addi r0, r4, 3
/* 80352E74 0034EAD4  7C 03 00 00 */	cmpw r3, r0
/* 80352E78 0034EAD8  41 82 00 0C */	beq lbl_80352E84
/* 80352E7C 0034EADC  38 60 00 03 */	li r3, 3
/* 80352E80 0034EAE0  48 00 0D D4 */	b lbl_80353C54
lbl_80352E84:
/* 80352E84 0034EAE4  80 7C 00 10 */	lwz r3, 0x10(r28)
/* 80352E88 0034EAE8  80 1C 00 0C */	lwz r0, 0xc(r28)
/* 80352E8C 0034EAEC  7F A3 22 14 */	add r29, r3, r4
/* 80352E90 0034EAF0  7C 03 00 50 */	subf r0, r3, r0
/* 80352E94 0034EAF4  7C 04 00 00 */	cmpw r4, r0
/* 80352E98 0034EAF8  40 81 00 0C */	ble lbl_80352EA4
/* 80352E9C 0034EAFC  38 60 00 03 */	li r3, 3
/* 80352EA0 0034EB00  48 00 0D B4 */	b lbl_80353C54
lbl_80352EA4:
/* 80352EA4 0034EB04  3C 60 00 01 */	lis r3, 0x0000FFFF@ha
/* 80352EA8 0034EB08  3A 63 FF FF */	addi r19, r3, 0x0000FFFF@l
/* 80352EAC 0034EB0C  48 00 08 18 */	b lbl_803536C4
lbl_80352EB0:
/* 80352EB0 0034EB10  92 41 00 24 */	stw r18, 0x24(r1)
/* 80352EB4 0034EB14  7F 83 E3 78 */	mr r3, r28
/* 80352EB8 0034EB18  7E 24 8B 78 */	mr r4, r17
/* 80352EBC 0034EB1C  38 A0 00 03 */	li r5, 3
/* 80352EC0 0034EB20  4B FF E2 89 */	bl ghiReadDataFromBufferFixed
/* 80352EC4 0034EB24  2C 03 00 00 */	cmpwi r3, 0
/* 80352EC8 0034EB28  40 82 00 0C */	bne lbl_80352ED4
/* 80352ECC 0034EB2C  38 00 00 00 */	li r0, 0
/* 80352ED0 0034EB30  48 00 00 14 */	b lbl_80352EE4
lbl_80352ED4:
/* 80352ED4 0034EB34  80 61 00 24 */	lwz r3, 0x24(r1)
/* 80352ED8 0034EB38  4B FA 3E A1 */	bl SOHtoNl
/* 80352EDC 0034EB3C  90 61 00 24 */	stw r3, 0x24(r1)
/* 80352EE0 0034EB40  38 00 00 01 */	li r0, 1
lbl_80352EE4:
/* 80352EE4 0034EB44  2C 00 00 00 */	cmpwi r0, 0
/* 80352EE8 0034EB48  40 82 00 0C */	bne lbl_80352EF4
/* 80352EEC 0034EB4C  38 60 00 03 */	li r3, 3
/* 80352EF0 0034EB50  48 00 0D 64 */	b lbl_80353C54
lbl_80352EF4:
/* 80352EF4 0034EB54  81 FC 00 10 */	lwz r15, 0x10(r28)
/* 80352EF8 0034EB58  80 1C 00 0C */	lwz r0, 0xc(r28)
/* 80352EFC 0034EB5C  80 61 00 24 */	lwz r3, 0x24(r1)
/* 80352F00 0034EB60  7C 0F 00 50 */	subf r0, r15, r0
/* 80352F04 0034EB64  7C 03 00 00 */	cmpw r3, r0
/* 80352F08 0034EB68  40 81 00 0C */	ble lbl_80352F14
/* 80352F0C 0034EB6C  38 60 00 03 */	li r3, 3
/* 80352F10 0034EB70  48 00 0D 44 */	b lbl_80353C54
lbl_80352F14:
/* 80352F14 0034EB74  7C 03 98 00 */	cmpw r3, r19
/* 80352F18 0034EB78  40 81 00 0C */	ble lbl_80352F24
/* 80352F1C 0034EB7C  38 60 00 03 */	li r3, 3
/* 80352F20 0034EB80  48 00 0D 34 */	b lbl_80353C54
lbl_80352F24:
/* 80352F24 0034EB84  3B DE 00 01 */	addi r30, r30, 1
/* 80352F28 0034EB88  2C 1E 00 01 */	cmpwi r30, 1
/* 80352F2C 0034EB8C  40 82 07 8C */	bne lbl_803536B8
/* 80352F30 0034EB90  92 41 00 20 */	stw r18, 0x20(r1)
/* 80352F34 0034EB94  7F 83 E3 78 */	mr r3, r28
/* 80352F38 0034EB98  38 81 00 20 */	addi r4, r1, 0x20
/* 80352F3C 0034EB9C  4B FF F0 65 */	bl ghiEncryptorParseASN1Sequence
/* 80352F40 0034EBA0  2C 03 00 00 */	cmpwi r3, 0
/* 80352F44 0034EBA4  40 82 00 0C */	bne lbl_80352F50
/* 80352F48 0034EBA8  38 60 00 03 */	li r3, 3
/* 80352F4C 0034EBAC  48 00 0D 08 */	b lbl_80353C54
lbl_80352F50:
/* 80352F50 0034EBB0  7F 83 E3 78 */	mr r3, r28
/* 80352F54 0034EBB4  38 81 00 20 */	addi r4, r1, 0x20
/* 80352F58 0034EBB8  4B FF F0 49 */	bl ghiEncryptorParseASN1Sequence
/* 80352F5C 0034EBBC  2C 03 00 00 */	cmpwi r3, 0
/* 80352F60 0034EBC0  40 82 00 0C */	bne lbl_80352F6C
/* 80352F64 0034EBC4  38 60 00 03 */	li r3, 3
/* 80352F68 0034EBC8  48 00 0C EC */	b lbl_80353C54
lbl_80352F6C:
/* 80352F6C 0034EBCC  80 9C 00 10 */	lwz r4, 0x10(r28)
/* 80352F70 0034EBD0  80 1C 00 0C */	lwz r0, 0xc(r28)
/* 80352F74 0034EBD4  7C 04 00 50 */	subf r0, r4, r0
/* 80352F78 0034EBD8  2C 00 00 05 */	cmpwi r0, 5
/* 80352F7C 0034EBDC  40 80 00 0C */	bge lbl_80352F88
/* 80352F80 0034EBE0  38 60 00 03 */	li r3, 3
/* 80352F84 0034EBE4  48 00 0C D0 */	b lbl_80353C54
lbl_80352F88:
/* 80352F88 0034EBE8  38 A4 00 01 */	addi r5, r4, 1
/* 80352F8C 0034EBEC  80 7C 00 04 */	lwz r3, 4(r28)
/* 80352F90 0034EBF0  90 BC 00 10 */	stw r5, 0x10(r28)
/* 80352F94 0034EBF4  7C 03 20 AE */	lbzx r0, r3, r4
/* 80352F98 0034EBF8  28 00 00 A0 */	cmplwi r0, 0xa0
/* 80352F9C 0034EBFC  41 82 00 0C */	beq lbl_80352FA8
/* 80352FA0 0034EC00  38 60 00 03 */	li r3, 3
/* 80352FA4 0034EC04  48 00 0C B0 */	b lbl_80353C54
lbl_80352FA8:
/* 80352FA8 0034EC08  38 85 00 01 */	addi r4, r5, 1
/* 80352FAC 0034EC0C  90 9C 00 10 */	stw r4, 0x10(r28)
/* 80352FB0 0034EC10  7C 03 28 AE */	lbzx r0, r3, r5
/* 80352FB4 0034EC14  28 00 00 03 */	cmplwi r0, 3
/* 80352FB8 0034EC18  41 82 00 0C */	beq lbl_80352FC4
/* 80352FBC 0034EC1C  38 60 00 03 */	li r3, 3
/* 80352FC0 0034EC20  48 00 0C 94 */	b lbl_80353C54
lbl_80352FC4:
/* 80352FC4 0034EC24  38 A4 00 01 */	addi r5, r4, 1
/* 80352FC8 0034EC28  90 BC 00 10 */	stw r5, 0x10(r28)
/* 80352FCC 0034EC2C  7C 03 20 AE */	lbzx r0, r3, r4
/* 80352FD0 0034EC30  28 00 00 02 */	cmplwi r0, 2
/* 80352FD4 0034EC34  41 82 00 0C */	beq lbl_80352FE0
/* 80352FD8 0034EC38  38 60 00 03 */	li r3, 3
/* 80352FDC 0034EC3C  48 00 0C 78 */	b lbl_80353C54
lbl_80352FE0:
/* 80352FE0 0034EC40  38 85 00 01 */	addi r4, r5, 1
/* 80352FE4 0034EC44  90 9C 00 10 */	stw r4, 0x10(r28)
/* 80352FE8 0034EC48  7C 03 28 AE */	lbzx r0, r3, r5
/* 80352FEC 0034EC4C  28 00 00 01 */	cmplwi r0, 1
/* 80352FF0 0034EC50  41 82 00 0C */	beq lbl_80352FFC
/* 80352FF4 0034EC54  38 60 00 03 */	li r3, 3
/* 80352FF8 0034EC58  48 00 0C 5C */	b lbl_80353C54
lbl_80352FFC:
/* 80352FFC 0034EC5C  38 A4 00 01 */	addi r5, r4, 1
/* 80353000 0034EC60  38 85 00 01 */	addi r4, r5, 1
/* 80353004 0034EC64  90 9C 00 10 */	stw r4, 0x10(r28)
/* 80353008 0034EC68  7C 03 28 AE */	lbzx r0, r3, r5
/* 8035300C 0034EC6C  28 00 00 02 */	cmplwi r0, 2
/* 80353010 0034EC70  41 82 00 0C */	beq lbl_8035301C
/* 80353014 0034EC74  38 60 00 03 */	li r3, 3
/* 80353018 0034EC78  48 00 0C 3C */	b lbl_80353C54
lbl_8035301C:
/* 8035301C 0034EC7C  38 04 00 01 */	addi r0, r4, 1
/* 80353020 0034EC80  90 1C 00 10 */	stw r0, 0x10(r28)
/* 80353024 0034EC84  7E 83 20 AE */	lbzx r20, r3, r4
/* 80353028 0034EC88  7C 00 A2 14 */	add r0, r0, r20
/* 8035302C 0034EC8C  7C 00 E8 00 */	cmpw r0, r29
/* 80353030 0034EC90  40 81 00 0C */	ble lbl_8035303C
/* 80353034 0034EC94  38 60 00 03 */	li r3, 3
/* 80353038 0034EC98  48 00 0C 1C */	b lbl_80353C54
lbl_8035303C:
/* 8035303C 0034EC9C  90 1C 00 10 */	stw r0, 0x10(r28)
/* 80353040 0034ECA0  7F 83 E3 78 */	mr r3, r28
/* 80353044 0034ECA4  38 81 00 20 */	addi r4, r1, 0x20
/* 80353048 0034ECA8  4B FF EF 59 */	bl ghiEncryptorParseASN1Sequence
/* 8035304C 0034ECAC  2C 03 00 00 */	cmpwi r3, 0
/* 80353050 0034ECB0  40 82 00 0C */	bne lbl_8035305C
/* 80353054 0034ECB4  38 60 00 03 */	li r3, 3
/* 80353058 0034ECB8  48 00 0B FC */	b lbl_80353C54
lbl_8035305C:
/* 8035305C 0034ECBC  80 BC 00 10 */	lwz r5, 0x10(r28)
/* 80353060 0034ECC0  7F 83 E3 78 */	mr r3, r28
/* 80353064 0034ECC4  80 01 00 20 */	lwz r0, 0x20(r1)
/* 80353068 0034ECC8  38 81 00 20 */	addi r4, r1, 0x20
/* 8035306C 0034ECCC  7C 05 02 14 */	add r0, r5, r0
/* 80353070 0034ECD0  90 1C 00 10 */	stw r0, 0x10(r28)
/* 80353074 0034ECD4  4B FF EF 2D */	bl ghiEncryptorParseASN1Sequence
/* 80353078 0034ECD8  2C 03 00 00 */	cmpwi r3, 0
/* 8035307C 0034ECDC  40 82 00 0C */	bne lbl_80353088
/* 80353080 0034ECE0  38 60 00 03 */	li r3, 3
/* 80353084 0034ECE4  48 00 0B D0 */	b lbl_80353C54
lbl_80353088:
/* 80353088 0034ECE8  80 BC 00 10 */	lwz r5, 0x10(r28)
/* 8035308C 0034ECEC  7F 83 E3 78 */	mr r3, r28
/* 80353090 0034ECF0  80 01 00 20 */	lwz r0, 0x20(r1)
/* 80353094 0034ECF4  38 81 00 20 */	addi r4, r1, 0x20
/* 80353098 0034ECF8  7C 05 02 14 */	add r0, r5, r0
/* 8035309C 0034ECFC  90 1C 00 10 */	stw r0, 0x10(r28)
/* 803530A0 0034ED00  4B FF EF 01 */	bl ghiEncryptorParseASN1Sequence
/* 803530A4 0034ED04  2C 03 00 00 */	cmpwi r3, 0
/* 803530A8 0034ED08  40 82 00 0C */	bne lbl_803530B4
/* 803530AC 0034ED0C  38 60 00 03 */	li r3, 3
/* 803530B0 0034ED10  48 00 0B A4 */	b lbl_80353C54
lbl_803530B4:
/* 803530B4 0034ED14  80 BC 00 10 */	lwz r5, 0x10(r28)
/* 803530B8 0034ED18  7F 83 E3 78 */	mr r3, r28
/* 803530BC 0034ED1C  80 01 00 20 */	lwz r0, 0x20(r1)
/* 803530C0 0034ED20  38 81 00 20 */	addi r4, r1, 0x20
/* 803530C4 0034ED24  7C 05 02 14 */	add r0, r5, r0
/* 803530C8 0034ED28  90 1C 00 10 */	stw r0, 0x10(r28)
/* 803530CC 0034ED2C  4B FF EE D5 */	bl ghiEncryptorParseASN1Sequence
/* 803530D0 0034ED30  2C 03 00 00 */	cmpwi r3, 0
/* 803530D4 0034ED34  40 82 00 0C */	bne lbl_803530E0
/* 803530D8 0034ED38  38 60 00 03 */	li r3, 3
/* 803530DC 0034ED3C  48 00 0B 78 */	b lbl_80353C54
lbl_803530E0:
/* 803530E0 0034ED40  80 BC 00 10 */	lwz r5, 0x10(r28)
/* 803530E4 0034ED44  7F 83 E3 78 */	mr r3, r28
/* 803530E8 0034ED48  80 01 00 20 */	lwz r0, 0x20(r1)
/* 803530EC 0034ED4C  38 81 00 20 */	addi r4, r1, 0x20
/* 803530F0 0034ED50  7C 05 02 14 */	add r0, r5, r0
/* 803530F4 0034ED54  90 1C 00 10 */	stw r0, 0x10(r28)
/* 803530F8 0034ED58  4B FF EE A9 */	bl ghiEncryptorParseASN1Sequence
/* 803530FC 0034ED5C  2C 03 00 00 */	cmpwi r3, 0
/* 80353100 0034ED60  40 82 00 0C */	bne lbl_8035310C
/* 80353104 0034ED64  38 60 00 03 */	li r3, 3
/* 80353108 0034ED68  48 00 0B 4C */	b lbl_80353C54
lbl_8035310C:
/* 8035310C 0034ED6C  7F 83 E3 78 */	mr r3, r28
/* 80353110 0034ED70  38 81 00 20 */	addi r4, r1, 0x20
/* 80353114 0034ED74  4B FF EE 8D */	bl ghiEncryptorParseASN1Sequence
/* 80353118 0034ED78  2C 03 00 00 */	cmpwi r3, 0
/* 8035311C 0034ED7C  40 82 00 0C */	bne lbl_80353128
/* 80353120 0034ED80  38 60 00 03 */	li r3, 3
/* 80353124 0034ED84  48 00 0B 30 */	b lbl_80353C54
lbl_80353128:
/* 80353128 0034ED88  80 01 00 20 */	lwz r0, 0x20(r1)
/* 8035312C 0034ED8C  2C 00 00 0D */	cmpwi r0, 0xd
/* 80353130 0034ED90  41 82 00 0C */	beq lbl_8035313C
/* 80353134 0034ED94  38 60 00 03 */	li r3, 3
/* 80353138 0034ED98  48 00 0B 1C */	b lbl_80353C54
lbl_8035313C:
/* 8035313C 0034ED9C  80 7C 00 10 */	lwz r3, 0x10(r28)
/* 80353140 0034EDA0  80 BC 00 04 */	lwz r5, 4(r28)
/* 80353144 0034EDA4  38 83 00 01 */	addi r4, r3, 1
/* 80353148 0034EDA8  90 9C 00 10 */	stw r4, 0x10(r28)
/* 8035314C 0034EDAC  7C 05 18 AE */	lbzx r0, r5, r3
/* 80353150 0034EDB0  28 00 00 06 */	cmplwi r0, 6
/* 80353154 0034EDB4  41 82 00 0C */	beq lbl_80353160
/* 80353158 0034EDB8  38 60 00 03 */	li r3, 3
/* 8035315C 0034EDBC  48 00 0A F8 */	b lbl_80353C54
lbl_80353160:
/* 80353160 0034EDC0  38 64 00 01 */	addi r3, r4, 1
/* 80353164 0034EDC4  90 7C 00 10 */	stw r3, 0x10(r28)
/* 80353168 0034EDC8  7C 05 20 AE */	lbzx r0, r5, r4
/* 8035316C 0034EDCC  28 00 00 09 */	cmplwi r0, 9
/* 80353170 0034EDD0  41 82 00 0C */	beq lbl_8035317C
/* 80353174 0034EDD4  38 60 00 03 */	li r3, 3
/* 80353178 0034EDD8  48 00 0A DC */	b lbl_80353C54
lbl_8035317C:
/* 8035317C 0034EDDC  7C 65 1A 14 */	add r3, r5, r3
/* 80353180 0034EDE0  38 95 25 70 */	addi r4, r21, 0x2570
/* 80353184 0034EDE4  38 A0 00 09 */	li r5, 9
/* 80353188 0034EDE8  4B E7 72 11 */	bl memcmp
/* 8035318C 0034EDEC  2C 03 00 00 */	cmpwi r3, 0
/* 80353190 0034EDF0  41 82 00 0C */	beq lbl_8035319C
/* 80353194 0034EDF4  38 60 00 03 */	li r3, 3
/* 80353198 0034EDF8  48 00 0A BC */	b lbl_80353C54
lbl_8035319C:
/* 8035319C 0034EDFC  80 9C 00 10 */	lwz r4, 0x10(r28)
/* 803531A0 0034EE00  80 7C 00 04 */	lwz r3, 4(r28)
/* 803531A4 0034EE04  38 84 00 09 */	addi r4, r4, 9
/* 803531A8 0034EE08  38 A4 00 01 */	addi r5, r4, 1
/* 803531AC 0034EE0C  90 BC 00 10 */	stw r5, 0x10(r28)
/* 803531B0 0034EE10  7C 03 20 AE */	lbzx r0, r3, r4
/* 803531B4 0034EE14  28 00 00 05 */	cmplwi r0, 5
/* 803531B8 0034EE18  41 82 00 0C */	beq lbl_803531C4
/* 803531BC 0034EE1C  38 60 00 03 */	li r3, 3
/* 803531C0 0034EE20  48 00 0A 94 */	b lbl_80353C54
lbl_803531C4:
/* 803531C4 0034EE24  38 85 00 01 */	addi r4, r5, 1
/* 803531C8 0034EE28  90 9C 00 10 */	stw r4, 0x10(r28)
/* 803531CC 0034EE2C  7C 03 28 AE */	lbzx r0, r3, r5
/* 803531D0 0034EE30  2C 00 00 00 */	cmpwi r0, 0
/* 803531D4 0034EE34  41 82 00 0C */	beq lbl_803531E0
/* 803531D8 0034EE38  38 60 00 03 */	li r3, 3
/* 803531DC 0034EE3C  48 00 0A 78 */	b lbl_80353C54
lbl_803531E0:
/* 803531E0 0034EE40  7C 04 E8 50 */	subf r0, r4, r29
/* 803531E4 0034EE44  2C 00 00 02 */	cmpwi r0, 2
/* 803531E8 0034EE48  40 80 00 0C */	bge lbl_803531F4
/* 803531EC 0034EE4C  38 60 00 03 */	li r3, 3
/* 803531F0 0034EE50  48 00 0A 64 */	b lbl_80353C54
lbl_803531F4:
/* 803531F4 0034EE54  38 A4 00 01 */	addi r5, r4, 1
/* 803531F8 0034EE58  90 BC 00 10 */	stw r5, 0x10(r28)
/* 803531FC 0034EE5C  7C 03 20 AE */	lbzx r0, r3, r4
/* 80353200 0034EE60  28 00 00 03 */	cmplwi r0, 3
/* 80353204 0034EE64  41 82 00 0C */	beq lbl_80353210
/* 80353208 0034EE68  38 60 00 03 */	li r3, 3
/* 8035320C 0034EE6C  48 00 0A 48 */	b lbl_80353C54
lbl_80353210:
/* 80353210 0034EE70  38 85 00 01 */	addi r4, r5, 1
/* 80353214 0034EE74  90 9C 00 10 */	stw r4, 0x10(r28)
/* 80353218 0034EE78  7C 03 28 AE */	lbzx r0, r3, r5
/* 8035321C 0034EE7C  28 00 00 81 */	cmplwi r0, 0x81
/* 80353220 0034EE80  41 82 00 0C */	beq lbl_8035322C
/* 80353224 0034EE84  38 60 00 03 */	li r3, 3
/* 80353228 0034EE88  48 00 0A 2C */	b lbl_80353C54
lbl_8035322C:
/* 8035322C 0034EE8C  7C 04 E8 50 */	subf r0, r4, r29
/* 80353230 0034EE90  7C 14 00 00 */	cmpw r20, r0
/* 80353234 0034EE94  40 81 00 0C */	ble lbl_80353240
/* 80353238 0034EE98  38 60 00 03 */	li r3, 3
/* 8035323C 0034EE9C  48 00 0A 18 */	b lbl_80353C54
lbl_80353240:
/* 80353240 0034EEA0  38 84 00 01 */	addi r4, r4, 1
/* 80353244 0034EEA4  38 04 00 01 */	addi r0, r4, 1
/* 80353248 0034EEA8  90 1C 00 10 */	stw r0, 0x10(r28)
/* 8035324C 0034EEAC  7C 03 20 AE */	lbzx r0, r3, r4
/* 80353250 0034EEB0  2C 00 00 00 */	cmpwi r0, 0
/* 80353254 0034EEB4  41 82 00 0C */	beq lbl_80353260
/* 80353258 0034EEB8  38 60 00 03 */	li r3, 3
/* 8035325C 0034EEBC  48 00 09 F8 */	b lbl_80353C54
lbl_80353260:
/* 80353260 0034EEC0  7F 83 E3 78 */	mr r3, r28
/* 80353264 0034EEC4  38 81 00 20 */	addi r4, r1, 0x20
/* 80353268 0034EEC8  4B FF ED 39 */	bl ghiEncryptorParseASN1Sequence
/* 8035326C 0034EECC  2C 03 00 00 */	cmpwi r3, 0
/* 80353270 0034EED0  40 82 00 0C */	bne lbl_8035327C
/* 80353274 0034EED4  38 60 00 03 */	li r3, 3
/* 80353278 0034EED8  48 00 09 DC */	b lbl_80353C54
lbl_8035327C:
/* 8035327C 0034EEDC  80 9C 00 10 */	lwz r4, 0x10(r28)
/* 80353280 0034EEE0  80 BC 00 04 */	lwz r5, 4(r28)
/* 80353284 0034EEE4  38 64 00 01 */	addi r3, r4, 1
/* 80353288 0034EEE8  90 7C 00 10 */	stw r3, 0x10(r28)
/* 8035328C 0034EEEC  7C 05 20 AE */	lbzx r0, r5, r4
/* 80353290 0034EEF0  7C 00 07 74 */	extsb r0, r0
/* 80353294 0034EEF4  2C 00 00 02 */	cmpwi r0, 2
/* 80353298 0034EEF8  41 82 00 0C */	beq lbl_803532A4
/* 8035329C 0034EEFC  38 60 00 03 */	li r3, 3
/* 803532A0 0034EF00  48 00 09 B4 */	b lbl_80353C54
lbl_803532A4:
/* 803532A4 0034EF04  7C 05 18 AE */	lbzx r0, r5, r3
/* 803532A8 0034EF08  54 00 06 30 */	rlwinm r0, r0, 0, 0x18, 0x18
/* 803532AC 0034EF0C  2C 00 00 80 */	cmpwi r0, 0x80
/* 803532B0 0034EF10  40 82 01 34 */	bne lbl_803533E4
/* 803532B4 0034EF14  38 03 00 01 */	addi r0, r3, 1
/* 803532B8 0034EF18  90 1C 00 10 */	stw r0, 0x10(r28)
/* 803532BC 0034EF1C  7C 05 18 AE */	lbzx r0, r5, r3
/* 803532C0 0034EF20  54 07 06 7E */	clrlwi r7, r0, 0x19
/* 803532C4 0034EF24  2C 07 00 04 */	cmpwi r7, 4
/* 803532C8 0034EF28  40 81 00 0C */	ble lbl_803532D4
/* 803532CC 0034EF2C  38 60 00 03 */	li r3, 3
/* 803532D0 0034EF30  48 00 09 84 */	b lbl_80353C54
lbl_803532D4:
/* 803532D4 0034EF34  2C 07 00 00 */	cmpwi r7, 0
/* 803532D8 0034EF38  3A 80 00 00 */	li r20, 0
/* 803532DC 0034EF3C  40 81 01 14 */	ble lbl_803533F0
/* 803532E0 0034EF40  54 E0 E8 FF */	rlwinm. r0, r7, 0x1d, 3, 0x1f
/* 803532E4 0034EF44  7C 09 03 A6 */	mtctr r0
/* 803532E8 0034EF48  41 82 00 D4 */	beq lbl_803533BC
lbl_803532EC:
/* 803532EC 0034EF4C  80 9C 00 10 */	lwz r4, 0x10(r28)
/* 803532F0 0034EF50  56 86 40 2E */	slwi r6, r20, 8
/* 803532F4 0034EF54  80 BC 00 04 */	lwz r5, 4(r28)
/* 803532F8 0034EF58  38 64 00 01 */	addi r3, r4, 1
/* 803532FC 0034EF5C  90 7C 00 10 */	stw r3, 0x10(r28)
/* 80353300 0034EF60  7C 05 20 AE */	lbzx r0, r5, r4
/* 80353304 0034EF64  7C 64 1B 78 */	mr r4, r3
/* 80353308 0034EF68  38 63 00 01 */	addi r3, r3, 1
/* 8035330C 0034EF6C  90 7C 00 10 */	stw r3, 0x10(r28)
/* 80353310 0034EF70  7C D4 03 78 */	or r20, r6, r0
/* 80353314 0034EF74  56 86 40 2E */	slwi r6, r20, 8
/* 80353318 0034EF78  7C 05 20 AE */	lbzx r0, r5, r4
/* 8035331C 0034EF7C  7C 64 1B 78 */	mr r4, r3
/* 80353320 0034EF80  38 63 00 01 */	addi r3, r3, 1
/* 80353324 0034EF84  90 7C 00 10 */	stw r3, 0x10(r28)
/* 80353328 0034EF88  7C D4 03 78 */	or r20, r6, r0
/* 8035332C 0034EF8C  56 86 40 2E */	slwi r6, r20, 8
/* 80353330 0034EF90  7C 05 20 AE */	lbzx r0, r5, r4
/* 80353334 0034EF94  7C 64 1B 78 */	mr r4, r3
/* 80353338 0034EF98  38 63 00 01 */	addi r3, r3, 1
/* 8035333C 0034EF9C  90 7C 00 10 */	stw r3, 0x10(r28)
/* 80353340 0034EFA0  7C D4 03 78 */	or r20, r6, r0
/* 80353344 0034EFA4  56 86 40 2E */	slwi r6, r20, 8
/* 80353348 0034EFA8  7C 05 20 AE */	lbzx r0, r5, r4
/* 8035334C 0034EFAC  7C 64 1B 78 */	mr r4, r3
/* 80353350 0034EFB0  38 63 00 01 */	addi r3, r3, 1
/* 80353354 0034EFB4  90 7C 00 10 */	stw r3, 0x10(r28)
/* 80353358 0034EFB8  7C D4 03 78 */	or r20, r6, r0
/* 8035335C 0034EFBC  56 86 40 2E */	slwi r6, r20, 8
/* 80353360 0034EFC0  7C 05 20 AE */	lbzx r0, r5, r4
/* 80353364 0034EFC4  7C 64 1B 78 */	mr r4, r3
/* 80353368 0034EFC8  38 63 00 01 */	addi r3, r3, 1
/* 8035336C 0034EFCC  90 7C 00 10 */	stw r3, 0x10(r28)
/* 80353370 0034EFD0  7C D4 03 78 */	or r20, r6, r0
/* 80353374 0034EFD4  56 86 40 2E */	slwi r6, r20, 8
/* 80353378 0034EFD8  7C 05 20 AE */	lbzx r0, r5, r4
/* 8035337C 0034EFDC  7C 64 1B 78 */	mr r4, r3
/* 80353380 0034EFE0  38 63 00 01 */	addi r3, r3, 1
/* 80353384 0034EFE4  90 7C 00 10 */	stw r3, 0x10(r28)
/* 80353388 0034EFE8  7C D4 03 78 */	or r20, r6, r0
/* 8035338C 0034EFEC  56 86 40 2E */	slwi r6, r20, 8
/* 80353390 0034EFF0  7C 05 20 AE */	lbzx r0, r5, r4
/* 80353394 0034EFF4  7C 64 1B 78 */	mr r4, r3
/* 80353398 0034EFF8  38 63 00 01 */	addi r3, r3, 1
/* 8035339C 0034EFFC  90 7C 00 10 */	stw r3, 0x10(r28)
/* 803533A0 0034F000  7C D4 03 78 */	or r20, r6, r0
/* 803533A4 0034F004  56 86 40 2E */	slwi r6, r20, 8
/* 803533A8 0034F008  7C 05 20 AE */	lbzx r0, r5, r4
/* 803533AC 0034F00C  7C D4 03 78 */	or r20, r6, r0
/* 803533B0 0034F010  42 00 FF 3C */	bdnz lbl_803532EC
/* 803533B4 0034F014  70 E7 00 07 */	andi. r7, r7, 7
/* 803533B8 0034F018  41 82 00 38 */	beq lbl_803533F0
lbl_803533BC:
/* 803533BC 0034F01C  7C E9 03 A6 */	mtctr r7
lbl_803533C0:
/* 803533C0 0034F020  80 9C 00 10 */	lwz r4, 0x10(r28)
/* 803533C4 0034F024  56 86 40 2E */	slwi r6, r20, 8
/* 803533C8 0034F028  80 BC 00 04 */	lwz r5, 4(r28)
/* 803533CC 0034F02C  38 64 00 01 */	addi r3, r4, 1
/* 803533D0 0034F030  90 7C 00 10 */	stw r3, 0x10(r28)
/* 803533D4 0034F034  7C 05 20 AE */	lbzx r0, r5, r4
/* 803533D8 0034F038  7C D4 03 78 */	or r20, r6, r0
/* 803533DC 0034F03C  42 00 FF E4 */	bdnz lbl_803533C0
/* 803533E0 0034F040  48 00 00 10 */	b lbl_803533F0
lbl_803533E4:
/* 803533E4 0034F044  38 03 00 01 */	addi r0, r3, 1
/* 803533E8 0034F048  90 1C 00 10 */	stw r0, 0x10(r28)
/* 803533EC 0034F04C  7E 85 18 AE */	lbzx r20, r5, r3
lbl_803533F0:
/* 803533F0 0034F050  80 9C 00 10 */	lwz r4, 0x10(r28)
/* 803533F4 0034F054  7C 04 A2 14 */	add r0, r4, r20
/* 803533F8 0034F058  7C 00 E8 00 */	cmpw r0, r29
/* 803533FC 0034F05C  40 81 00 0C */	ble lbl_80353408
/* 80353400 0034F060  38 60 00 03 */	li r3, 3
/* 80353404 0034F064  48 00 08 50 */	b lbl_80353C54
lbl_80353408:
/* 80353408 0034F068  38 04 00 01 */	addi r0, r4, 1
/* 8035340C 0034F06C  80 7C 00 04 */	lwz r3, 4(r28)
/* 80353410 0034F070  90 1C 00 10 */	stw r0, 0x10(r28)
/* 80353414 0034F074  7C 03 20 AE */	lbzx r0, r3, r4
/* 80353418 0034F078  7C 00 07 75 */	extsb. r0, r0
/* 8035341C 0034F07C  41 82 00 0C */	beq lbl_80353428
/* 80353420 0034F080  38 60 00 03 */	li r3, 3
/* 80353424 0034F084  48 00 08 30 */	b lbl_80353C54
lbl_80353428:
/* 80353428 0034F088  38 B4 FF FF */	addi r5, r20, -1
/* 8035342C 0034F08C  28 05 08 00 */	cmplwi r5, 0x800
/* 80353430 0034F090  40 81 00 0C */	ble lbl_8035343C
/* 80353434 0034F094  38 60 00 03 */	li r3, 3
/* 80353438 0034F098  48 00 08 1C */	b lbl_80353C54
lbl_8035343C:
/* 8035343C 0034F09C  54 A0 F0 02 */	slwi r0, r5, 0x1e
/* 80353440 0034F0A0  54 A3 0F FE */	srwi r3, r5, 0x1f
/* 80353444 0034F0A4  7C 03 00 50 */	subf r0, r3, r0
/* 80353448 0034F0A8  7C A4 16 70 */	srawi r4, r5, 2
/* 8035344C 0034F0AC  54 00 10 3E */	rotlwi r0, r0, 2
/* 80353450 0034F0B0  7C 84 01 94 */	addze r4, r4
/* 80353454 0034F0B4  7C 00 1A 14 */	add r0, r0, r3
/* 80353458 0034F0B8  90 9F 01 08 */	stw r4, 0x108(r31)
/* 8035345C 0034F0BC  20 00 00 04 */	subfic r0, r0, 4
/* 80353460 0034F0C0  54 04 F0 02 */	slwi r4, r0, 0x1e
/* 80353464 0034F0C4  80 7C 00 04 */	lwz r3, 4(r28)
/* 80353468 0034F0C8  54 07 0F FE */	srwi r7, r0, 0x1f
/* 8035346C 0034F0CC  80 1C 00 10 */	lwz r0, 0x10(r28)
/* 80353470 0034F0D0  7C 87 20 50 */	subf r4, r7, r4
/* 80353474 0034F0D4  54 86 10 3E */	rotlwi r6, r4, 2
/* 80353478 0034F0D8  7C 83 02 14 */	add r4, r3, r0
/* 8035347C 0034F0DC  7C 06 3A 14 */	add r0, r6, r7
/* 80353480 0034F0E0  7C 7F 02 14 */	add r3, r31, r0
/* 80353484 0034F0E4  38 63 01 0C */	addi r3, r3, 0x10c
/* 80353488 0034F0E8  4B CB 0B 79 */	bl memcpy
/* 8035348C 0034F0EC  38 7F 01 08 */	addi r3, r31, 0x108
/* 80353490 0034F0F0  4B FE 8A 81 */	bl gsLargeIntReverseBytes
/* 80353494 0034F0F4  80 1C 00 10 */	lwz r0, 0x10(r28)
/* 80353498 0034F0F8  80 BC 00 04 */	lwz r5, 4(r28)
/* 8035349C 0034F0FC  7C 74 02 14 */	add r3, r20, r0
/* 803534A0 0034F100  38 83 FF FF */	addi r4, r3, -1
/* 803534A4 0034F104  38 64 00 01 */	addi r3, r4, 1
/* 803534A8 0034F108  90 7C 00 10 */	stw r3, 0x10(r28)
/* 803534AC 0034F10C  7C 05 20 AE */	lbzx r0, r5, r4
/* 803534B0 0034F110  7C 00 07 74 */	extsb r0, r0
/* 803534B4 0034F114  2C 00 00 02 */	cmpwi r0, 2
/* 803534B8 0034F118  41 82 00 0C */	beq lbl_803534C4
/* 803534BC 0034F11C  38 60 00 03 */	li r3, 3
/* 803534C0 0034F120  48 00 07 94 */	b lbl_80353C54
lbl_803534C4:
/* 803534C4 0034F124  7C 05 18 AE */	lbzx r0, r5, r3
/* 803534C8 0034F128  54 00 06 30 */	rlwinm r0, r0, 0, 0x18, 0x18
/* 803534CC 0034F12C  2C 00 00 80 */	cmpwi r0, 0x80
/* 803534D0 0034F130  40 82 01 34 */	bne lbl_80353604
/* 803534D4 0034F134  38 03 00 01 */	addi r0, r3, 1
/* 803534D8 0034F138  90 1C 00 10 */	stw r0, 0x10(r28)
/* 803534DC 0034F13C  7C 05 18 AE */	lbzx r0, r5, r3
/* 803534E0 0034F140  54 07 06 7E */	clrlwi r7, r0, 0x19
/* 803534E4 0034F144  2C 07 00 04 */	cmpwi r7, 4
/* 803534E8 0034F148  40 81 00 0C */	ble lbl_803534F4
/* 803534EC 0034F14C  38 60 00 03 */	li r3, 3
/* 803534F0 0034F150  48 00 07 64 */	b lbl_80353C54
lbl_803534F4:
/* 803534F4 0034F154  2C 07 00 00 */	cmpwi r7, 0
/* 803534F8 0034F158  3A 80 00 00 */	li r20, 0
/* 803534FC 0034F15C  40 81 01 14 */	ble lbl_80353610
/* 80353500 0034F160  54 E0 E8 FF */	rlwinm. r0, r7, 0x1d, 3, 0x1f
/* 80353504 0034F164  7C 09 03 A6 */	mtctr r0
/* 80353508 0034F168  41 82 00 D4 */	beq lbl_803535DC
lbl_8035350C:
/* 8035350C 0034F16C  80 9C 00 10 */	lwz r4, 0x10(r28)
/* 80353510 0034F170  56 86 40 2E */	slwi r6, r20, 8
/* 80353514 0034F174  80 BC 00 04 */	lwz r5, 4(r28)
/* 80353518 0034F178  38 64 00 01 */	addi r3, r4, 1
/* 8035351C 0034F17C  90 7C 00 10 */	stw r3, 0x10(r28)
/* 80353520 0034F180  7C 05 20 AE */	lbzx r0, r5, r4
/* 80353524 0034F184  7C 64 1B 78 */	mr r4, r3
/* 80353528 0034F188  38 63 00 01 */	addi r3, r3, 1
/* 8035352C 0034F18C  90 7C 00 10 */	stw r3, 0x10(r28)
/* 80353530 0034F190  7C D4 03 78 */	or r20, r6, r0
/* 80353534 0034F194  56 86 40 2E */	slwi r6, r20, 8
/* 80353538 0034F198  7C 05 20 AE */	lbzx r0, r5, r4
/* 8035353C 0034F19C  7C 64 1B 78 */	mr r4, r3
/* 80353540 0034F1A0  38 63 00 01 */	addi r3, r3, 1
/* 80353544 0034F1A4  90 7C 00 10 */	stw r3, 0x10(r28)
/* 80353548 0034F1A8  7C D4 03 78 */	or r20, r6, r0
/* 8035354C 0034F1AC  56 86 40 2E */	slwi r6, r20, 8
/* 80353550 0034F1B0  7C 05 20 AE */	lbzx r0, r5, r4
/* 80353554 0034F1B4  7C 64 1B 78 */	mr r4, r3
/* 80353558 0034F1B8  38 63 00 01 */	addi r3, r3, 1
/* 8035355C 0034F1BC  90 7C 00 10 */	stw r3, 0x10(r28)
/* 80353560 0034F1C0  7C D4 03 78 */	or r20, r6, r0
/* 80353564 0034F1C4  56 86 40 2E */	slwi r6, r20, 8
/* 80353568 0034F1C8  7C 05 20 AE */	lbzx r0, r5, r4
/* 8035356C 0034F1CC  7C 64 1B 78 */	mr r4, r3
/* 80353570 0034F1D0  38 63 00 01 */	addi r3, r3, 1
/* 80353574 0034F1D4  90 7C 00 10 */	stw r3, 0x10(r28)
/* 80353578 0034F1D8  7C D4 03 78 */	or r20, r6, r0
/* 8035357C 0034F1DC  56 86 40 2E */	slwi r6, r20, 8
/* 80353580 0034F1E0  7C 05 20 AE */	lbzx r0, r5, r4
/* 80353584 0034F1E4  7C 64 1B 78 */	mr r4, r3
/* 80353588 0034F1E8  38 63 00 01 */	addi r3, r3, 1
/* 8035358C 0034F1EC  90 7C 00 10 */	stw r3, 0x10(r28)
/* 80353590 0034F1F0  7C D4 03 78 */	or r20, r6, r0
/* 80353594 0034F1F4  56 86 40 2E */	slwi r6, r20, 8
/* 80353598 0034F1F8  7C 05 20 AE */	lbzx r0, r5, r4
/* 8035359C 0034F1FC  7C 64 1B 78 */	mr r4, r3
/* 803535A0 0034F200  38 63 00 01 */	addi r3, r3, 1
/* 803535A4 0034F204  90 7C 00 10 */	stw r3, 0x10(r28)
/* 803535A8 0034F208  7C D4 03 78 */	or r20, r6, r0
/* 803535AC 0034F20C  56 86 40 2E */	slwi r6, r20, 8
/* 803535B0 0034F210  7C 05 20 AE */	lbzx r0, r5, r4
/* 803535B4 0034F214  7C 64 1B 78 */	mr r4, r3
/* 803535B8 0034F218  38 63 00 01 */	addi r3, r3, 1
/* 803535BC 0034F21C  90 7C 00 10 */	stw r3, 0x10(r28)
/* 803535C0 0034F220  7C D4 03 78 */	or r20, r6, r0
/* 803535C4 0034F224  56 86 40 2E */	slwi r6, r20, 8
/* 803535C8 0034F228  7C 05 20 AE */	lbzx r0, r5, r4
/* 803535CC 0034F22C  7C D4 03 78 */	or r20, r6, r0
/* 803535D0 0034F230  42 00 FF 3C */	bdnz lbl_8035350C
/* 803535D4 0034F234  70 E7 00 07 */	andi. r7, r7, 7
/* 803535D8 0034F238  41 82 00 38 */	beq lbl_80353610
lbl_803535DC:
/* 803535DC 0034F23C  7C E9 03 A6 */	mtctr r7
lbl_803535E0:
/* 803535E0 0034F240  80 9C 00 10 */	lwz r4, 0x10(r28)
/* 803535E4 0034F244  56 86 40 2E */	slwi r6, r20, 8
/* 803535E8 0034F248  80 BC 00 04 */	lwz r5, 4(r28)
/* 803535EC 0034F24C  38 64 00 01 */	addi r3, r4, 1
/* 803535F0 0034F250  90 7C 00 10 */	stw r3, 0x10(r28)
/* 803535F4 0034F254  7C 05 20 AE */	lbzx r0, r5, r4
/* 803535F8 0034F258  7C D4 03 78 */	or r20, r6, r0
/* 803535FC 0034F25C  42 00 FF E4 */	bdnz lbl_803535E0
/* 80353600 0034F260  48 00 00 10 */	b lbl_80353610
lbl_80353604:
/* 80353604 0034F264  38 03 00 01 */	addi r0, r3, 1
/* 80353608 0034F268  90 1C 00 10 */	stw r0, 0x10(r28)
/* 8035360C 0034F26C  7E 85 18 AE */	lbzx r20, r5, r3
lbl_80353610:
/* 80353610 0034F270  80 1C 00 10 */	lwz r0, 0x10(r28)
/* 80353614 0034F274  7C 00 A2 14 */	add r0, r0, r20
/* 80353618 0034F278  7C 00 E8 00 */	cmpw r0, r29
/* 8035361C 0034F27C  40 81 00 0C */	ble lbl_80353628
/* 80353620 0034F280  38 60 00 03 */	li r3, 3
/* 80353624 0034F284  48 00 06 30 */	b lbl_80353C54
lbl_80353628:
/* 80353628 0034F288  2C 14 00 00 */	cmpwi r20, 0
/* 8035362C 0034F28C  40 82 00 0C */	bne lbl_80353638
/* 80353630 0034F290  38 60 00 03 */	li r3, 3
/* 80353634 0034F294  48 00 06 20 */	b lbl_80353C54
lbl_80353638:
/* 80353638 0034F298  28 14 08 00 */	cmplwi r20, 0x800
/* 8035363C 0034F29C  40 81 00 0C */	ble lbl_80353648
/* 80353640 0034F2A0  38 60 00 03 */	li r3, 3
/* 80353644 0034F2A4  48 00 06 10 */	b lbl_80353C54
lbl_80353648:
/* 80353648 0034F2A8  56 80 F0 02 */	slwi r0, r20, 0x1e
/* 8035364C 0034F2AC  56 83 0F FE */	srwi r3, r20, 0x1f
/* 80353650 0034F2B0  38 94 FF FF */	addi r4, r20, -1
/* 80353654 0034F2B4  7E 85 A3 78 */	mr r5, r20
/* 80353658 0034F2B8  7C 03 00 50 */	subf r0, r3, r0
/* 8035365C 0034F2BC  7C 84 16 70 */	srawi r4, r4, 2
/* 80353660 0034F2C0  54 00 10 3E */	rotlwi r0, r0, 2
/* 80353664 0034F2C4  7C 84 01 94 */	addze r4, r4
/* 80353668 0034F2C8  7C 00 1A 14 */	add r0, r0, r3
/* 8035366C 0034F2CC  20 60 00 04 */	subfic r3, r0, 4
/* 80353670 0034F2D0  38 04 00 01 */	addi r0, r4, 1
/* 80353674 0034F2D4  90 1F 02 0C */	stw r0, 0x20c(r31)
/* 80353678 0034F2D8  54 60 F0 02 */	slwi r0, r3, 0x1e
/* 8035367C 0034F2DC  54 66 0F FE */	srwi r6, r3, 0x1f
/* 80353680 0034F2E0  7C 06 00 50 */	subf r0, r6, r0
/* 80353684 0034F2E4  80 7C 00 04 */	lwz r3, 4(r28)
/* 80353688 0034F2E8  54 04 10 3E */	rotlwi r4, r0, 2
/* 8035368C 0034F2EC  80 1C 00 10 */	lwz r0, 0x10(r28)
/* 80353690 0034F2F0  7C 84 32 14 */	add r4, r4, r6
/* 80353694 0034F2F4  7C DF 22 14 */	add r6, r31, r4
/* 80353698 0034F2F8  7C 83 02 14 */	add r4, r3, r0
/* 8035369C 0034F2FC  38 66 02 10 */	addi r3, r6, 0x210
/* 803536A0 0034F300  4B CB 09 61 */	bl memcpy
/* 803536A4 0034F304  38 7F 02 0C */	addi r3, r31, 0x20c
/* 803536A8 0034F308  4B FE 88 69 */	bl gsLargeIntReverseBytes
/* 803536AC 0034F30C  80 1C 00 10 */	lwz r0, 0x10(r28)
/* 803536B0 0034F310  7C 00 A2 14 */	add r0, r0, r20
/* 803536B4 0034F314  90 1C 00 10 */	stw r0, 0x10(r28)
lbl_803536B8:
/* 803536B8 0034F318  80 01 00 24 */	lwz r0, 0x24(r1)
/* 803536BC 0034F31C  7C 0F 02 14 */	add r0, r15, r0
/* 803536C0 0034F320  90 1C 00 10 */	stw r0, 0x10(r28)
lbl_803536C4:
/* 803536C4 0034F324  80 7C 00 10 */	lwz r3, 0x10(r28)
/* 803536C8 0034F328  7C 03 E8 00 */	cmpw r3, r29
/* 803536CC 0034F32C  41 80 F7 E4 */	blt lbl_80352EB0
/* 803536D0 0034F330  41 82 00 0C */	beq lbl_803536DC
/* 803536D4 0034F334  38 60 00 03 */	li r3, 3
/* 803536D8 0034F338  48 00 05 7C */	b lbl_80353C54
lbl_803536DC:
/* 803536DC 0034F33C  80 1C 00 04 */	lwz r0, 4(r28)
/* 803536E0 0034F340  7D F0 18 50 */	subf r15, r16, r3
/* 803536E4 0034F344  7D E5 7B 78 */	mr r5, r15
/* 803536E8 0034F348  38 7F 05 A4 */	addi r3, r31, 0x5a4
/* 803536EC 0034F34C  7C 80 82 14 */	add r4, r0, r16
/* 803536F0 0034F350  4B FE 35 F5 */	bl MD5Update
/* 803536F4 0034F354  80 1C 00 04 */	lwz r0, 4(r28)
/* 803536F8 0034F358  7D E5 7B 78 */	mr r5, r15
/* 803536FC 0034F35C  38 7F 05 FC */	addi r3, r31, 0x5fc
/* 80353700 0034F360  7C 80 82 14 */	add r4, r0, r16
/* 80353704 0034F364  4B FE 8F 89 */	bl SHA1Input
/* 80353708 0034F368  48 00 05 30 */	b lbl_80353C38
lbl_8035370C:
/* 8035370C 0034F36C  2C 00 00 0E */	cmpwi r0, 0xe
/* 80353710 0034F370  40 82 05 0C */	bne lbl_80353C1C
/* 80353714 0034F374  92 41 00 1C */	stw r18, 0x1c(r1)
/* 80353718 0034F378  7F 83 E3 78 */	mr r3, r28
/* 8035371C 0034F37C  38 81 00 1D */	addi r4, r1, 0x1d
/* 80353720 0034F380  38 A0 00 03 */	li r5, 3
/* 80353724 0034F384  4B FF DA 25 */	bl ghiReadDataFromBufferFixed
/* 80353728 0034F388  2C 03 00 00 */	cmpwi r3, 0
/* 8035372C 0034F38C  40 82 00 0C */	bne lbl_80353738
/* 80353730 0034F390  38 00 00 00 */	li r0, 0
/* 80353734 0034F394  48 00 00 14 */	b lbl_80353748
lbl_80353738:
/* 80353738 0034F398  80 61 00 1C */	lwz r3, 0x1c(r1)
/* 8035373C 0034F39C  4B FA 36 3D */	bl SOHtoNl
/* 80353740 0034F3A0  90 61 00 1C */	stw r3, 0x1c(r1)
/* 80353744 0034F3A4  38 00 00 01 */	li r0, 1
lbl_80353748:
/* 80353748 0034F3A8  2C 00 00 00 */	cmpwi r0, 0
/* 8035374C 0034F3AC  40 82 00 0C */	bne lbl_80353758
/* 80353750 0034F3B0  38 60 00 03 */	li r3, 3
/* 80353754 0034F3B4  48 00 05 00 */	b lbl_80353C54
lbl_80353758:
/* 80353758 0034F3B8  80 01 00 1C */	lwz r0, 0x1c(r1)
/* 8035375C 0034F3BC  2C 00 00 00 */	cmpwi r0, 0
/* 80353760 0034F3C0  41 82 00 0C */	beq lbl_8035376C
/* 80353764 0034F3C4  38 60 00 03 */	li r3, 3
/* 80353768 0034F3C8  48 00 04 EC */	b lbl_80353C54
lbl_8035376C:
/* 8035376C 0034F3CC  80 9C 00 04 */	lwz r4, 4(r28)
/* 80353770 0034F3D0  38 7F 05 A4 */	addi r3, r31, 0x5a4
/* 80353774 0034F3D4  80 1C 00 10 */	lwz r0, 0x10(r28)
/* 80353778 0034F3D8  7C 84 82 14 */	add r4, r4, r16
/* 8035377C 0034F3DC  7C B0 00 50 */	subf r5, r16, r0
/* 80353780 0034F3E0  4B FE 35 65 */	bl MD5Update
/* 80353784 0034F3E4  80 9C 00 04 */	lwz r4, 4(r28)
/* 80353788 0034F3E8  38 7F 05 FC */	addi r3, r31, 0x5fc
/* 8035378C 0034F3EC  80 1C 00 10 */	lwz r0, 0x10(r28)
/* 80353790 0034F3F0  7C 84 82 14 */	add r4, r4, r16
/* 80353794 0034F3F4  7C B0 00 50 */	subf r5, r16, r0
/* 80353798 0034F3F8  4B FE 8E F5 */	bl SHA1Input
/* 8035379C 0034F3FC  80 1F 01 08 */	lwz r0, 0x108(r31)
/* 803537A0 0034F400  54 03 10 3A */	slwi r3, r0, 2
/* 803537A4 0034F404  38 03 00 09 */	addi r0, r3, 9
/* 803537A8 0034F408  90 01 00 1C */	stw r0, 0x1c(r1)
/* 803537AC 0034F40C  48 00 00 20 */	b lbl_803537CC
lbl_803537B0:
/* 803537B0 0034F410  80 9B 00 68 */	lwz r4, 0x68(r27)
/* 803537B4 0034F414  38 7B 00 54 */	addi r3, r27, 0x54
/* 803537B8 0034F418  4B FF D0 3D */	bl ghiResizeBuffer
/* 803537BC 0034F41C  2C 03 00 00 */	cmpwi r3, 0
/* 803537C0 0034F420  40 82 00 0C */	bne lbl_803537CC
/* 803537C4 0034F424  38 60 00 03 */	li r3, 3
/* 803537C8 0034F428  48 00 04 8C */	b lbl_80353C54
lbl_803537CC:
/* 803537CC 0034F42C  80 9B 00 60 */	lwz r4, 0x60(r27)
/* 803537D0 0034F430  80 7B 00 5C */	lwz r3, 0x5c(r27)
/* 803537D4 0034F434  80 01 00 1C */	lwz r0, 0x1c(r1)
/* 803537D8 0034F438  7C 64 18 50 */	subf r3, r4, r3
/* 803537DC 0034F43C  7C 03 00 00 */	cmpw r3, r0
/* 803537E0 0034F440  41 80 FF D0 */	blt lbl_803537B0
/* 803537E4 0034F444  9A DF 06 A4 */	stb r22, 0x6a4(r31)
/* 803537E8 0034F448  39 E0 00 02 */	li r15, 2
/* 803537EC 0034F44C  9A 5F 06 A5 */	stb r18, 0x6a5(r31)
lbl_803537F0:
/* 803537F0 0034F450  4B FE 57 E9 */	bl current_time
/* 803537F4 0034F454  4B FE 58 6D */	bl Util_RandSeed
/* 803537F8 0034F458  38 60 00 00 */	li r3, 0
/* 803537FC 0034F45C  38 80 01 00 */	li r4, 0x100
/* 80353800 0034F460  4B FE 58 79 */	bl Util_RandInt
/* 80353804 0034F464  7C 9F 7A 14 */	add r4, r31, r15
/* 80353808 0034F468  39 EF 00 01 */	addi r15, r15, 1
/* 8035380C 0034F46C  2C 0F 00 30 */	cmpwi r15, 0x30
/* 80353810 0034F470  98 64 06 A4 */	stb r3, 0x6a4(r4)
/* 80353814 0034F474  41 80 FF DC */	blt lbl_803537F0
/* 80353818 0034F478  80 7B 00 60 */	lwz r3, 0x60(r27)
/* 8035381C 0034F47C  80 9B 00 58 */	lwz r4, 0x58(r27)
/* 80353820 0034F480  38 03 00 09 */	addi r0, r3, 9
/* 80353824 0034F484  90 1B 00 60 */	stw r0, 0x60(r27)
/* 80353828 0034F488  7D E4 1A 14 */	add r15, r4, r3
/* 8035382C 0034F48C  7E E4 19 AE */	stbx r23, r4, r3
/* 80353830 0034F490  9A CF 00 01 */	stb r22, 1(r15)
/* 80353834 0034F494  9A 4F 00 02 */	stb r18, 2(r15)
/* 80353838 0034F498  80 1F 01 08 */	lwz r0, 0x108(r31)
/* 8035383C 0034F49C  54 03 10 3A */	slwi r3, r0, 2
/* 80353840 0034F4A0  38 63 00 04 */	addi r3, r3, 4
/* 80353844 0034F4A4  4B FA 35 35 */	bl SOHtoNl
/* 80353848 0034F4A8  90 61 00 18 */	stw r3, 0x18(r1)
/* 8035384C 0034F4AC  38 81 00 1A */	addi r4, r1, 0x1a
/* 80353850 0034F4B0  38 6F 00 03 */	addi r3, r15, 3
/* 80353854 0034F4B4  38 A0 00 02 */	li r5, 2
/* 80353858 0034F4B8  4B CB 07 A9 */	bl memcpy
/* 8035385C 0034F4BC  38 00 00 10 */	li r0, 0x10
/* 80353860 0034F4C0  98 0F 00 05 */	stb r0, 5(r15)
/* 80353864 0034F4C4  80 1F 01 08 */	lwz r0, 0x108(r31)
/* 80353868 0034F4C8  54 03 10 3A */	slwi r3, r0, 2
/* 8035386C 0034F4CC  4B FA 35 0D */	bl SOHtoNl
/* 80353870 0034F4D0  90 61 00 14 */	stw r3, 0x14(r1)
/* 80353874 0034F4D4  38 81 00 15 */	addi r4, r1, 0x15
/* 80353878 0034F4D8  38 6F 00 06 */	addi r3, r15, 6
/* 8035387C 0034F4DC  38 A0 00 03 */	li r5, 3
/* 80353880 0034F4E0  4B CB 07 81 */	bl memcpy
/* 80353884 0034F4E4  80 DB 00 58 */	lwz r6, 0x58(r27)
/* 80353888 0034F4E8  38 7F 01 08 */	addi r3, r31, 0x108
/* 8035388C 0034F4EC  80 1B 00 60 */	lwz r0, 0x60(r27)
/* 80353890 0034F4F0  38 9F 06 A4 */	addi r4, r31, 0x6a4
/* 80353894 0034F4F4  38 A0 00 30 */	li r5, 0x30
/* 80353898 0034F4F8  7C C6 02 14 */	add r6, r6, r0
/* 8035389C 0034F4FC  4B FE 5D F9 */	bl gsCryptRSAEncryptBuffer
/* 803538A0 0034F500  80 1F 01 08 */	lwz r0, 0x108(r31)
/* 803538A4 0034F504  38 7F 05 A4 */	addi r3, r31, 0x5a4
/* 803538A8 0034F508  80 BB 00 60 */	lwz r5, 0x60(r27)
/* 803538AC 0034F50C  38 8F 00 05 */	addi r4, r15, 5
/* 803538B0 0034F510  54 00 10 3A */	slwi r0, r0, 2
/* 803538B4 0034F514  7C 05 02 14 */	add r0, r5, r0
/* 803538B8 0034F518  90 1B 00 60 */	stw r0, 0x60(r27)
/* 803538BC 0034F51C  80 1F 01 08 */	lwz r0, 0x108(r31)
/* 803538C0 0034F520  54 05 10 3A */	slwi r5, r0, 2
/* 803538C4 0034F524  38 A5 00 04 */	addi r5, r5, 4
/* 803538C8 0034F528  4B FE 34 1D */	bl MD5Update
/* 803538CC 0034F52C  80 1F 01 08 */	lwz r0, 0x108(r31)
/* 803538D0 0034F530  38 7F 05 FC */	addi r3, r31, 0x5fc
/* 803538D4 0034F534  38 8F 00 05 */	addi r4, r15, 5
/* 803538D8 0034F538  54 05 10 3A */	slwi r5, r0, 2
/* 803538DC 0034F53C  38 A5 00 04 */	addi r5, r5, 4
/* 803538E0 0034F540  4B FE 8D AD */	bl SHA1Input
/* 803538E4 0034F544  80 9B 00 58 */	lwz r4, 0x58(r27)
/* 803538E8 0034F548  7F E3 FB 78 */	mr r3, r31
/* 803538EC 0034F54C  80 1B 00 60 */	lwz r0, 0x60(r27)
/* 803538F0 0034F550  7F 04 01 EE */	stbux r24, r4, r0
/* 803538F4 0034F554  9A C4 00 01 */	stb r22, 1(r4)
/* 803538F8 0034F558  9A 44 00 02 */	stb r18, 2(r4)
/* 803538FC 0034F55C  9A 44 00 03 */	stb r18, 3(r4)
/* 80353900 0034F560  99 C4 00 04 */	stb r14, 4(r4)
/* 80353904 0034F564  80 BB 00 60 */	lwz r5, 0x60(r27)
/* 80353908 0034F568  80 9B 00 58 */	lwz r4, 0x58(r27)
/* 8035390C 0034F56C  38 A5 00 05 */	addi r5, r5, 5
/* 80353910 0034F570  90 BB 00 60 */	stw r5, 0x60(r27)
/* 80353914 0034F574  38 05 00 01 */	addi r0, r5, 1
/* 80353918 0034F578  7D C4 29 AE */	stbx r14, r4, r5
/* 8035391C 0034F57C  90 1B 00 60 */	stw r0, 0x60(r27)
/* 80353920 0034F580  4B FF E7 DD */	bl ghttpEncryptorGenerateEncryptionKeys
/* 80353924 0034F584  80 9B 00 58 */	lwz r4, 0x58(r27)
/* 80353928 0034F588  38 60 00 24 */	li r3, 0x24
/* 8035392C 0034F58C  80 1B 00 60 */	lwz r0, 0x60(r27)
/* 80353930 0034F590  7E E4 01 AE */	stbx r23, r4, r0
/* 80353934 0034F594  7D E4 02 14 */	add r15, r4, r0
/* 80353938 0034F598  38 00 00 38 */	li r0, 0x38
/* 8035393C 0034F59C  9A CF 00 01 */	stb r22, 1(r15)
/* 80353940 0034F5A0  9A 4F 00 02 */	stb r18, 2(r15)
/* 80353944 0034F5A4  9A 4F 00 03 */	stb r18, 3(r15)
/* 80353948 0034F5A8  98 0F 00 04 */	stb r0, 4(r15)
/* 8035394C 0034F5AC  80 9B 00 60 */	lwz r4, 0x60(r27)
/* 80353950 0034F5B0  80 BB 00 58 */	lwz r5, 0x58(r27)
/* 80353954 0034F5B4  38 C4 00 05 */	addi r6, r4, 5
/* 80353958 0034F5B8  90 DB 00 60 */	stw r6, 0x60(r27)
/* 8035395C 0034F5BC  38 86 00 01 */	addi r4, r6, 1
/* 80353960 0034F5C0  7F 05 31 AE */	stbx r24, r5, r6
/* 80353964 0034F5C4  80 1B 00 58 */	lwz r0, 0x58(r27)
/* 80353968 0034F5C8  90 9B 00 60 */	stw r4, 0x60(r27)
/* 8035396C 0034F5CC  7E 00 22 14 */	add r16, r0, r4
/* 80353970 0034F5D0  4B FA 34 09 */	bl SOHtoNl
/* 80353974 0034F5D4  90 61 00 10 */	stw r3, 0x10(r1)
/* 80353978 0034F5D8  7E 03 83 78 */	mr r3, r16
/* 8035397C 0034F5DC  38 81 00 11 */	addi r4, r1, 0x11
/* 80353980 0034F5E0  38 A0 00 03 */	li r5, 3
/* 80353984 0034F5E4  4B CB 06 7D */	bl memcpy
/* 80353988 0034F5E8  80 DB 00 60 */	lwz r6, 0x60(r27)
/* 8035398C 0034F5EC  38 7F 05 A4 */	addi r3, r31, 0x5a4
/* 80353990 0034F5F0  38 8D 93 B0 */	addi r4, r13, lbl_8063E670-_SDA_BASE_
/* 80353994 0034F5F4  38 A0 00 04 */	li r5, 4
/* 80353998 0034F5F8  38 06 00 03 */	addi r0, r6, 3
/* 8035399C 0034F5FC  90 1B 00 60 */	stw r0, 0x60(r27)
/* 803539A0 0034F600  4B FE 33 45 */	bl MD5Update
/* 803539A4 0034F604  38 7F 05 A4 */	addi r3, r31, 0x5a4
/* 803539A8 0034F608  38 9F 06 D4 */	addi r4, r31, 0x6d4
/* 803539AC 0034F60C  38 A0 00 30 */	li r5, 0x30
/* 803539B0 0034F610  4B FE 33 35 */	bl MD5Update
/* 803539B4 0034F614  38 7F 05 A4 */	addi r3, r31, 0x5a4
/* 803539B8 0034F618  38 99 BF 8C */	addi r4, r25, -16500
/* 803539BC 0034F61C  38 A0 00 30 */	li r5, 0x30
/* 803539C0 0034F620  4B FE 33 25 */	bl MD5Update
/* 803539C4 0034F624  38 61 00 40 */	addi r3, r1, 0x40
/* 803539C8 0034F628  38 9F 05 A4 */	addi r4, r31, 0x5a4
/* 803539CC 0034F62C  4B FE 34 05 */	bl MD5Final
/* 803539D0 0034F630  38 7F 05 FC */	addi r3, r31, 0x5fc
/* 803539D4 0034F634  38 8D 93 B0 */	addi r4, r13, lbl_8063E670-_SDA_BASE_
/* 803539D8 0034F638  38 A0 00 04 */	li r5, 4
/* 803539DC 0034F63C  4B FE 8C B1 */	bl SHA1Input
/* 803539E0 0034F640  38 7F 05 FC */	addi r3, r31, 0x5fc
/* 803539E4 0034F644  38 9F 06 D4 */	addi r4, r31, 0x6d4
/* 803539E8 0034F648  38 A0 00 30 */	li r5, 0x30
/* 803539EC 0034F64C  4B FE 8C A1 */	bl SHA1Input
/* 803539F0 0034F650  38 7F 05 FC */	addi r3, r31, 0x5fc
/* 803539F4 0034F654  38 99 BF 8C */	addi r4, r25, -16500
/* 803539F8 0034F658  38 A0 00 28 */	li r5, 0x28
/* 803539FC 0034F65C  4B FE 8C 91 */	bl SHA1Input
/* 80353A00 0034F660  38 7F 05 FC */	addi r3, r31, 0x5fc
/* 80353A04 0034F664  38 81 00 50 */	addi r4, r1, 0x50
/* 80353A08 0034F668  4B FE 8A 95 */	bl SHA1Result
/* 80353A0C 0034F66C  38 7F 05 A4 */	addi r3, r31, 0x5a4
/* 80353A10 0034F670  4B FE 32 95 */	bl MD5Init
/* 80353A14 0034F674  38 7F 05 A4 */	addi r3, r31, 0x5a4
/* 80353A18 0034F678  38 9F 06 D4 */	addi r4, r31, 0x6d4
/* 80353A1C 0034F67C  38 A0 00 30 */	li r5, 0x30
/* 80353A20 0034F680  4B FE 32 C5 */	bl MD5Update
/* 80353A24 0034F684  38 7F 05 A4 */	addi r3, r31, 0x5a4
/* 80353A28 0034F688  38 9A BF C0 */	addi r4, r26, -16448
/* 80353A2C 0034F68C  38 A0 00 30 */	li r5, 0x30
/* 80353A30 0034F690  4B FE 32 B5 */	bl MD5Update
/* 80353A34 0034F694  38 7F 05 A4 */	addi r3, r31, 0x5a4
/* 80353A38 0034F698  38 81 00 40 */	addi r4, r1, 0x40
/* 80353A3C 0034F69C  38 A0 00 10 */	li r5, 0x10
/* 80353A40 0034F6A0  4B FE 32 A5 */	bl MD5Update
/* 80353A44 0034F6A4  38 61 00 40 */	addi r3, r1, 0x40
/* 80353A48 0034F6A8  38 9F 05 A4 */	addi r4, r31, 0x5a4
/* 80353A4C 0034F6AC  4B FE 33 85 */	bl MD5Final
/* 80353A50 0034F6B0  38 7F 05 FC */	addi r3, r31, 0x5fc
/* 80353A54 0034F6B4  4B FE 89 DD */	bl SHA1Reset
/* 80353A58 0034F6B8  38 7F 05 FC */	addi r3, r31, 0x5fc
/* 80353A5C 0034F6BC  38 9F 06 D4 */	addi r4, r31, 0x6d4
/* 80353A60 0034F6C0  38 A0 00 30 */	li r5, 0x30
/* 80353A64 0034F6C4  4B FE 8C 29 */	bl SHA1Input
/* 80353A68 0034F6C8  38 7F 05 FC */	addi r3, r31, 0x5fc
/* 80353A6C 0034F6CC  38 9A BF C0 */	addi r4, r26, -16448
/* 80353A70 0034F6D0  38 A0 00 28 */	li r5, 0x28
/* 80353A74 0034F6D4  4B FE 8C 19 */	bl SHA1Input
/* 80353A78 0034F6D8  38 7F 05 FC */	addi r3, r31, 0x5fc
/* 80353A7C 0034F6DC  38 81 00 50 */	addi r4, r1, 0x50
/* 80353A80 0034F6E0  38 A0 00 14 */	li r5, 0x14
/* 80353A84 0034F6E4  4B FE 8C 09 */	bl SHA1Input
/* 80353A88 0034F6E8  38 7F 05 FC */	addi r3, r31, 0x5fc
/* 80353A8C 0034F6EC  38 81 00 50 */	addi r4, r1, 0x50
/* 80353A90 0034F6F0  4B FE 8A 0D */	bl SHA1Result
/* 80353A94 0034F6F4  80 7B 00 58 */	lwz r3, 0x58(r27)
/* 80353A98 0034F6F8  38 81 00 40 */	addi r4, r1, 0x40
/* 80353A9C 0034F6FC  80 1B 00 60 */	lwz r0, 0x60(r27)
/* 80353AA0 0034F700  38 A0 00 10 */	li r5, 0x10
/* 80353AA4 0034F704  7C 63 02 14 */	add r3, r3, r0
/* 80353AA8 0034F708  4B CB 05 59 */	bl memcpy
/* 80353AAC 0034F70C  80 7B 00 60 */	lwz r3, 0x60(r27)
/* 80353AB0 0034F710  38 81 00 50 */	addi r4, r1, 0x50
/* 80353AB4 0034F714  80 1B 00 58 */	lwz r0, 0x58(r27)
/* 80353AB8 0034F718  38 A0 00 14 */	li r5, 0x14
/* 80353ABC 0034F71C  38 63 00 10 */	addi r3, r3, 0x10
/* 80353AC0 0034F720  90 7B 00 60 */	stw r3, 0x60(r27)
/* 80353AC4 0034F724  7C 60 1A 14 */	add r3, r0, r3
/* 80353AC8 0034F728  4B CB 05 39 */	bl memcpy
/* 80353ACC 0034F72C  80 9B 00 60 */	lwz r4, 0x60(r27)
/* 80353AD0 0034F730  38 7F 05 A4 */	addi r3, r31, 0x5a4
/* 80353AD4 0034F734  38 04 00 14 */	addi r0, r4, 0x14
/* 80353AD8 0034F738  90 1B 00 60 */	stw r0, 0x60(r27)
/* 80353ADC 0034F73C  4B FE 31 C9 */	bl MD5Init
/* 80353AE0 0034F740  38 7F 05 A4 */	addi r3, r31, 0x5a4
/* 80353AE4 0034F744  38 9F 03 20 */	addi r4, r31, 0x320
/* 80353AE8 0034F748  38 A0 00 10 */	li r5, 0x10
/* 80353AEC 0034F74C  4B FE 31 F9 */	bl MD5Update
/* 80353AF0 0034F750  38 7F 05 A4 */	addi r3, r31, 0x5a4
/* 80353AF4 0034F754  38 99 BF 8C */	addi r4, r25, -16500
/* 80353AF8 0034F758  38 A0 00 30 */	li r5, 0x30
/* 80353AFC 0034F75C  4B FE 31 E9 */	bl MD5Update
/* 80353B00 0034F760  38 7F 05 A4 */	addi r3, r31, 0x5a4
/* 80353B04 0034F764  38 9F 03 10 */	addi r4, r31, 0x310
/* 80353B08 0034F768  38 A0 00 08 */	li r5, 8
/* 80353B0C 0034F76C  4B FE 31 D9 */	bl MD5Update
/* 80353B10 0034F770  38 00 00 28 */	li r0, 0x28
/* 80353B14 0034F774  9A E1 00 38 */	stb r23, 0x38(r1)
/* 80353B18 0034F778  38 7F 05 A4 */	addi r3, r31, 0x5a4
/* 80353B1C 0034F77C  38 81 00 38 */	addi r4, r1, 0x38
/* 80353B20 0034F780  98 01 00 3A */	stb r0, 0x3a(r1)
/* 80353B24 0034F784  38 00 00 24 */	li r0, 0x24
/* 80353B28 0034F788  38 A0 00 07 */	li r5, 7
/* 80353B2C 0034F78C  9A 41 00 39 */	stb r18, 0x39(r1)
/* 80353B30 0034F790  9B 01 00 3B */	stb r24, 0x3b(r1)
/* 80353B34 0034F794  9A 41 00 3C */	stb r18, 0x3c(r1)
/* 80353B38 0034F798  9A 41 00 3D */	stb r18, 0x3d(r1)
/* 80353B3C 0034F79C  98 01 00 3E */	stb r0, 0x3e(r1)
/* 80353B40 0034F7A0  4B FE 31 A5 */	bl MD5Update
/* 80353B44 0034F7A4  38 7F 05 A4 */	addi r3, r31, 0x5a4
/* 80353B48 0034F7A8  38 81 00 40 */	addi r4, r1, 0x40
/* 80353B4C 0034F7AC  38 A0 00 10 */	li r5, 0x10
/* 80353B50 0034F7B0  4B FE 31 95 */	bl MD5Update
/* 80353B54 0034F7B4  38 7F 05 A4 */	addi r3, r31, 0x5a4
/* 80353B58 0034F7B8  38 81 00 50 */	addi r4, r1, 0x50
/* 80353B5C 0034F7BC  38 A0 00 14 */	li r5, 0x14
/* 80353B60 0034F7C0  4B FE 31 85 */	bl MD5Update
/* 80353B64 0034F7C4  38 61 00 40 */	addi r3, r1, 0x40
/* 80353B68 0034F7C8  38 9F 05 A4 */	addi r4, r31, 0x5a4
/* 80353B6C 0034F7CC  4B FE 32 65 */	bl MD5Final
/* 80353B70 0034F7D0  38 7F 05 A4 */	addi r3, r31, 0x5a4
/* 80353B74 0034F7D4  4B FE 31 31 */	bl MD5Init
/* 80353B78 0034F7D8  38 7F 05 A4 */	addi r3, r31, 0x5a4
/* 80353B7C 0034F7DC  38 9F 03 20 */	addi r4, r31, 0x320
/* 80353B80 0034F7E0  38 A0 00 10 */	li r5, 0x10
/* 80353B84 0034F7E4  4B FE 31 61 */	bl MD5Update
/* 80353B88 0034F7E8  38 7F 05 A4 */	addi r3, r31, 0x5a4
/* 80353B8C 0034F7EC  38 9A BF C0 */	addi r4, r26, -16448
/* 80353B90 0034F7F0  38 A0 00 30 */	li r5, 0x30
/* 80353B94 0034F7F4  4B FE 31 51 */	bl MD5Update
/* 80353B98 0034F7F8  38 7F 05 A4 */	addi r3, r31, 0x5a4
/* 80353B9C 0034F7FC  38 81 00 40 */	addi r4, r1, 0x40
/* 80353BA0 0034F800  38 A0 00 10 */	li r5, 0x10
/* 80353BA4 0034F804  4B FE 31 41 */	bl MD5Update
/* 80353BA8 0034F808  38 61 00 40 */	addi r3, r1, 0x40
/* 80353BAC 0034F80C  38 9F 05 A4 */	addi r4, r31, 0x5a4
/* 80353BB0 0034F810  4B FE 32 21 */	bl MD5Final
/* 80353BB4 0034F814  80 7B 00 58 */	lwz r3, 0x58(r27)
/* 80353BB8 0034F818  38 81 00 40 */	addi r4, r1, 0x40
/* 80353BBC 0034F81C  80 1B 00 60 */	lwz r0, 0x60(r27)
/* 80353BC0 0034F820  38 A0 00 10 */	li r5, 0x10
/* 80353BC4 0034F824  7C 63 02 14 */	add r3, r3, r0
/* 80353BC8 0034F828  4B CB 04 39 */	bl memcpy
/* 80353BCC 0034F82C  80 DB 00 60 */	lwz r6, 0x60(r27)
/* 80353BD0 0034F830  38 7F 03 10 */	addi r3, r31, 0x310
/* 80353BD4 0034F834  38 80 00 00 */	li r4, 0
/* 80353BD8 0034F838  38 A0 00 08 */	li r5, 8
/* 80353BDC 0034F83C  38 06 00 10 */	addi r0, r6, 0x10
/* 80353BE0 0034F840  90 1B 00 60 */	stw r0, 0x60(r27)
/* 80353BE4 0034F844  4B CB 05 21 */	bl memset
/* 80353BE8 0034F848  38 60 00 01 */	li r3, 1
/* 80353BEC 0034F84C  4B FA 31 8D */	bl SOHtoNl
/* 80353BF0 0034F850  90 61 00 0C */	stw r3, 0xc(r1)
/* 80353BF4 0034F854  38 7F 03 14 */	addi r3, r31, 0x314
/* 80353BF8 0034F858  38 81 00 0C */	addi r4, r1, 0xc
/* 80353BFC 0034F85C  38 A0 00 04 */	li r5, 4
/* 80353C00 0034F860  4B CB 04 01 */	bl memcpy
/* 80353C04 0034F864  38 8F 00 05 */	addi r4, r15, 5
/* 80353C08 0034F868  38 7F 03 A0 */	addi r3, r31, 0x3a0
/* 80353C0C 0034F86C  7C 85 23 78 */	mr r5, r4
/* 80353C10 0034F870  38 C0 00 38 */	li r6, 0x38
/* 80353C14 0034F874  4B FE 86 91 */	bl RC4Encrypt
/* 80353C18 0034F878  48 00 00 20 */	b lbl_80353C38
lbl_80353C1C:
/* 80353C1C 0034F87C  2C 00 00 14 */	cmpwi r0, 0x14
/* 80353C20 0034F880  40 82 00 10 */	bne lbl_80353C30
/* 80353C24 0034F884  80 1C 00 0C */	lwz r0, 0xc(r28)
/* 80353C28 0034F888  90 1C 00 10 */	stw r0, 0x10(r28)
/* 80353C2C 0034F88C  48 00 00 0C */	b lbl_80353C38
lbl_80353C30:
/* 80353C30 0034F890  38 60 00 03 */	li r3, 3
/* 80353C34 0034F894  48 00 00 20 */	b lbl_80353C54
lbl_80353C38:
/* 80353C38 0034F898  80 1C 00 0C */	lwz r0, 0xc(r28)
/* 80353C3C 0034F89C  82 1C 00 10 */	lwz r16, 0x10(r28)
/* 80353C40 0034F8A0  7C 10 00 00 */	cmpw r16, r0
/* 80353C44 0034F8A4  41 80 EF B4 */	blt lbl_80352BF8
/* 80353C48 0034F8A8  38 60 00 03 */	li r3, 3
/* 80353C4C 0034F8AC  40 82 00 08 */	bne lbl_80353C54
/* 80353C50 0034F8B0  38 60 00 01 */	li r3, 1
lbl_80353C54:
/* 80353C54 0034F8B4  39 61 00 B0 */	addi r11, r1, 0xb0
/* 80353C58 0034F8B8  4B E7 34 E9 */	bl __restore_gpr
/* 80353C5C 0034F8BC  80 01 00 B4 */	lwz r0, 0xb4(r1)
/* 80353C60 0034F8C0  7C 08 03 A6 */	mtlr r0
/* 80353C64 0034F8C4  38 21 00 B0 */	addi r1, r1, 0xb0
/* 80353C68 0034F8C8  4E 80 00 20 */	blr