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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global ghiParseURL
ghiParseURL:
/* 8035593C 0035159C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80355940 003515A0 7C 08 02 A6 */ mflr r0
/* 80355944 003515A4 2C 03 00 00 */ cmpwi r3, 0
/* 80355948 003515A8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8035594C 003515AC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80355950 003515B0 7C 7F 1B 78 */ mr r31, r3
/* 80355954 003515B4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80355958 003515B8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8035595C 003515BC 93 81 00 10 */ stw r28, 0x10(r1)
/* 80355960 003515C0 40 82 00 0C */ bne lbl_8035596C
/* 80355964 003515C4 38 60 00 00 */ li r3, 0
/* 80355968 003515C8 48 00 01 60 */ b lbl_80355AC8
lbl_8035596C:
/* 8035596C 003515CC 83 C3 00 14 */ lwz r30, 0x14(r3)
/* 80355970 003515D0 2C 1E 00 00 */ cmpwi r30, 0
/* 80355974 003515D4 40 82 00 0C */ bne lbl_80355980
/* 80355978 003515D8 38 60 00 00 */ li r3, 0
/* 8035597C 003515DC 48 00 01 4C */ b lbl_80355AC8
lbl_80355980:
/* 80355980 003515E0 7F C3 F3 78 */ mr r3, r30
/* 80355984 003515E4 38 8D 93 D8 */ addi r4, r13, lbl_8063E698-_SDA_BASE_
/* 80355988 003515E8 38 A0 00 07 */ li r5, 7
/* 8035598C 003515EC 4B E7 8B DD */ bl strncmp
/* 80355990 003515F0 2C 03 00 00 */ cmpwi r3, 0
/* 80355994 003515F4 40 82 00 14 */ bne lbl_803559A8
/* 80355998 003515F8 38 00 00 00 */ li r0, 0
/* 8035599C 003515FC 3B BE 00 07 */ addi r29, r30, 7
/* 803559A0 00351600 90 1F 00 28 */ stw r0, 0x28(r31)
/* 803559A4 00351604 48 00 00 38 */ b lbl_803559DC
lbl_803559A8:
/* 803559A8 00351608 3C 80 80 45 */ lis r4, lbl_8044C238@ha
/* 803559AC 0035160C 7F C3 F3 78 */ mr r3, r30
/* 803559B0 00351610 38 84 C2 38 */ addi r4, r4, lbl_8044C238@l
/* 803559B4 00351614 38 A0 00 08 */ li r5, 8
/* 803559B8 00351618 4B E7 8B B1 */ bl strncmp
/* 803559BC 0035161C 2C 03 00 00 */ cmpwi r3, 0
/* 803559C0 00351620 40 82 00 14 */ bne lbl_803559D4
/* 803559C4 00351624 38 00 00 01 */ li r0, 1
/* 803559C8 00351628 3B BE 00 08 */ addi r29, r30, 8
/* 803559CC 0035162C 90 1F 00 28 */ stw r0, 0x28(r31)
/* 803559D0 00351630 48 00 00 0C */ b lbl_803559DC
lbl_803559D4:
/* 803559D4 00351634 38 60 00 00 */ li r3, 0
/* 803559D8 00351638 48 00 00 F0 */ b lbl_80355AC8
lbl_803559DC:
/* 803559DC 0035163C 7F A3 EB 78 */ mr r3, r29
/* 803559E0 00351640 38 8D 93 E0 */ addi r4, r13, lbl_8063E6A0-_SDA_BASE_
/* 803559E4 00351644 4B E7 8B F5 */ bl strcspn
/* 803559E8 00351648 7F 9D 18 AE */ lbzx r28, r29, r3
/* 803559EC 0035164C 38 00 00 00 */ li r0, 0
/* 803559F0 00351650 7C 7E 1B 78 */ mr r30, r3
/* 803559F4 00351654 7C 1D 19 AE */ stbx r0, r29, r3
/* 803559F8 00351658 7F A3 EB 78 */ mr r3, r29
/* 803559FC 0035165C 4B FE 35 09 */ bl goastrdup
/* 80355A00 00351660 2C 03 00 00 */ cmpwi r3, 0
/* 80355A04 00351664 90 7F 00 18 */ stw r3, 0x18(r31)
/* 80355A08 00351668 40 82 00 0C */ bne lbl_80355A14
/* 80355A0C 0035166C 38 60 00 00 */ li r3, 0
/* 80355A10 00351670 48 00 00 B8 */ b lbl_80355AC8
lbl_80355A14:
/* 80355A14 00351674 7F 9D F1 AE */ stbx r28, r29, r30
/* 80355A18 00351678 7C 1D F0 EE */ lbzux r0, r29, r30
/* 80355A1C 0035167C 2C 00 00 3A */ cmpwi r0, 0x3a
/* 80355A20 00351680 40 82 00 3C */ bne lbl_80355A5C
/* 80355A24 00351684 3B BD 00 01 */ addi r29, r29, 1
/* 80355A28 00351688 7F A3 EB 78 */ mr r3, r29
/* 80355A2C 0035168C 4B E7 AC E1 */ bl atoi
/* 80355A30 00351690 54 60 04 3F */ clrlwi. r0, r3, 0x10
/* 80355A34 00351694 B0 7F 00 20 */ sth r3, 0x20(r31)
/* 80355A38 00351698 40 82 00 0C */ bne lbl_80355A44
/* 80355A3C 0035169C 38 60 00 00 */ li r3, 0
/* 80355A40 003516A0 48 00 00 88 */ b lbl_80355AC8
lbl_80355A44:
/* 80355A44 003516A4 8C 1D 00 01 */ lbzu r0, 1(r29)
/* 80355A48 003516A8 7C 00 07 75 */ extsb. r0, r0
/* 80355A4C 003516AC 41 82 00 30 */ beq lbl_80355A7C
/* 80355A50 003516B0 2C 00 00 2F */ cmpwi r0, 0x2f
/* 80355A54 003516B4 40 82 FF F0 */ bne lbl_80355A44
/* 80355A58 003516B8 48 00 00 24 */ b lbl_80355A7C
lbl_80355A5C:
/* 80355A5C 003516BC 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 80355A60 003516C0 2C 00 00 01 */ cmpwi r0, 1
/* 80355A64 003516C4 40 82 00 10 */ bne lbl_80355A74
/* 80355A68 003516C8 38 00 01 BB */ li r0, 0x1bb
/* 80355A6C 003516CC B0 1F 00 20 */ sth r0, 0x20(r31)
/* 80355A70 003516D0 48 00 00 0C */ b lbl_80355A7C
lbl_80355A74:
/* 80355A74 003516D4 38 00 00 50 */ li r0, 0x50
/* 80355A78 003516D8 B0 1F 00 20 */ sth r0, 0x20(r31)
lbl_80355A7C:
/* 80355A7C 003516DC 88 1D 00 00 */ lbz r0, 0(r29)
/* 80355A80 003516E0 7C 00 07 75 */ extsb. r0, r0
/* 80355A84 003516E4 40 82 00 08 */ bne lbl_80355A8C
/* 80355A88 003516E8 3B AD 93 E4 */ addi r29, r13, lbl_8063E6A4-_SDA_BASE_
lbl_80355A8C:
/* 80355A8C 003516EC 7F A3 EB 78 */ mr r3, r29
/* 80355A90 003516F0 4B FE 34 75 */ bl goastrdup
/* 80355A94 003516F4 90 7F 00 24 */ stw r3, 0x24(r31)
/* 80355A98 003516F8 3B C0 00 2B */ li r30, 0x2b
/* 80355A9C 003516FC 48 00 00 08 */ b lbl_80355AA4
lbl_80355AA0:
/* 80355AA0 00351700 9B C3 00 00 */ stb r30, 0(r3)
lbl_80355AA4:
/* 80355AA4 00351704 83 BF 00 24 */ lwz r29, 0x24(r31)
/* 80355AA8 00351708 38 80 00 20 */ li r4, 0x20
/* 80355AAC 0035170C 7F A3 EB 78 */ mr r3, r29
/* 80355AB0 00351710 4B E7 8A F9 */ bl strchr
/* 80355AB4 00351714 2C 03 00 00 */ cmpwi r3, 0
/* 80355AB8 00351718 40 82 FF E8 */ bne lbl_80355AA0
/* 80355ABC 0035171C 7C 1D 00 D0 */ neg r0, r29
/* 80355AC0 00351720 7C 00 EB 78 */ or r0, r0, r29
/* 80355AC4 00351724 54 03 0F FE */ srwi r3, r0, 0x1f
lbl_80355AC8:
/* 80355AC8 00351728 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80355ACC 0035172C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80355AD0 00351730 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80355AD4 00351734 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80355AD8 00351738 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80355ADC 0035173C 7C 08 03 A6 */ mtlr r0
/* 80355AE0 00351740 38 21 00 20 */ addi r1, r1, 0x20
/* 80355AE4 00351744 4E 80 00 20 */ blr
.global ghiDoSocketInit
ghiDoSocketInit:
/* 80355AE8 00351748 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80355AEC 0035174C 7C 08 02 A6 */ mflr r0
/* 80355AF0 00351750 38 80 00 00 */ li r4, 0
/* 80355AF4 00351754 38 A0 00 00 */ li r5, 0
/* 80355AF8 00351758 90 01 00 14 */ stw r0, 0x14(r1)
/* 80355AFC 0035175C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80355B00 00351760 7C 7F 1B 78 */ mr r31, r3
/* 80355B04 00351764 4B FF B7 49 */ bl ghiCallProgressCallback
/* 80355B08 00351768 4B FE 34 C9 */ bl SocketStartUp
/* 80355B0C 0035176C 7F E3 FB 78 */ mr r3, r31
/* 80355B10 00351770 4B FF FE 2D */ bl ghiParseURL
/* 80355B14 00351774 2C 03 00 00 */ cmpwi r3, 0
/* 80355B18 00351778 40 82 00 18 */ bne lbl_80355B30
/* 80355B1C 0035177C 38 60 00 01 */ li r3, 1
/* 80355B20 00351780 38 00 00 03 */ li r0, 3
/* 80355B24 00351784 90 7F 01 20 */ stw r3, 0x120(r31)
/* 80355B28 00351788 90 1F 00 3C */ stw r0, 0x3c(r31)
/* 80355B2C 0035178C 48 00 00 64 */ b lbl_80355B90
lbl_80355B30:
/* 80355B30 00351790 80 7F 00 28 */ lwz r3, 0x28(r31)
/* 80355B34 00351794 2C 03 00 01 */ cmpwi r3, 1
/* 80355B38 00351798 40 82 00 20 */ bne lbl_80355B58
/* 80355B3C 0035179C 80 1F 01 94 */ lwz r0, 0x194(r31)
/* 80355B40 003517A0 2C 00 00 00 */ cmpwi r0, 0
/* 80355B44 003517A4 40 82 00 14 */ bne lbl_80355B58
/* 80355B48 003517A8 80 7F 00 04 */ lwz r3, 4(r31)
/* 80355B4C 003517AC 38 80 00 01 */ li r4, 1
/* 80355B50 003517B0 4B FF C3 51 */ bl ghttpSetRequestEncryptionEngine
/* 80355B54 003517B4 48 00 00 24 */ b lbl_80355B78
lbl_80355B58:
/* 80355B58 003517B8 2C 03 00 01 */ cmpwi r3, 1
/* 80355B5C 003517BC 41 82 00 1C */ beq lbl_80355B78
/* 80355B60 003517C0 80 1F 01 94 */ lwz r0, 0x194(r31)
/* 80355B64 003517C4 2C 00 00 00 */ cmpwi r0, 0
/* 80355B68 003517C8 41 82 00 10 */ beq lbl_80355B78
/* 80355B6C 003517CC 80 7F 00 04 */ lwz r3, 4(r31)
/* 80355B70 003517D0 38 80 00 00 */ li r4, 0
/* 80355B74 003517D4 4B FF C3 2D */ bl ghttpSetRequestEncryptionEngine
lbl_80355B78:
/* 80355B78 003517D8 38 00 00 01 */ li r0, 1
/* 80355B7C 003517DC 7F E3 FB 78 */ mr r3, r31
/* 80355B80 003517E0 90 1F 00 10 */ stw r0, 0x10(r31)
/* 80355B84 003517E4 38 80 00 00 */ li r4, 0
/* 80355B88 003517E8 38 A0 00 00 */ li r5, 0
/* 80355B8C 003517EC 4B FF B6 C1 */ bl ghiCallProgressCallback
lbl_80355B90:
/* 80355B90 003517F0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80355B94 003517F4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80355B98 003517F8 7C 08 03 A6 */ mtlr r0
/* 80355B9C 003517FC 38 21 00 10 */ addi r1, r1, 0x10
/* 80355BA0 00351800 4E 80 00 20 */ blr
.global ghiDoHostLookup
ghiDoHostLookup:
/* 80355BA4 00351804 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80355BA8 00351808 7C 08 02 A6 */ mflr r0
/* 80355BAC 0035180C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80355BB0 00351810 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80355BB4 00351814 93 C1 00 08 */ stw r30, 8(r1)
/* 80355BB8 00351818 7C 7E 1B 78 */ mr r30, r3
/* 80355BBC 0035181C 80 03 01 B0 */ lwz r0, 0x1b0(r3)
/* 80355BC0 00351820 2C 00 00 00 */ cmpwi r0, 0
/* 80355BC4 00351824 41 82 00 1C */ beq lbl_80355BE0
/* 80355BC8 00351828 38 00 00 02 */ li r0, 2
/* 80355BCC 0035182C 38 80 00 00 */ li r4, 0
/* 80355BD0 00351830 90 03 00 10 */ stw r0, 0x10(r3)
/* 80355BD4 00351834 38 A0 00 00 */ li r5, 0
/* 80355BD8 00351838 4B FF B6 75 */ bl ghiCallProgressCallback
/* 80355BDC 0035183C 48 00 00 B4 */ b lbl_80355C90
lbl_80355BE0:
/* 80355BE0 00351840 83 E3 01 88 */ lwz r31, 0x188(r3)
/* 80355BE4 00351844 2C 1F 00 00 */ cmpwi r31, 0
/* 80355BE8 00351848 41 82 00 08 */ beq lbl_80355BF0
/* 80355BEC 0035184C 48 00 00 18 */ b lbl_80355C04
lbl_80355BF0:
/* 80355BF0 00351850 83 ED B0 C4 */ lwz r31, lbl_80640384-_SDA_BASE_(r13)
/* 80355BF4 00351854 2C 1F 00 00 */ cmpwi r31, 0
/* 80355BF8 00351858 41 82 00 08 */ beq lbl_80355C00
/* 80355BFC 0035185C 48 00 00 08 */ b lbl_80355C04
lbl_80355C00:
/* 80355C00 00351860 83 E3 00 18 */ lwz r31, 0x18(r3)
lbl_80355C04:
/* 80355C04 00351864 7F E3 FB 78 */ mr r3, r31
/* 80355C08 00351868 4B FE 23 69 */ bl inet_addr
/* 80355C0C 0035186C 3C 03 00 01 */ addis r0, r3, 1
/* 80355C10 00351870 90 7E 00 1C */ stw r3, 0x1c(r30)
/* 80355C14 00351874 28 00 FF FF */ cmplwi r0, 0xffff
/* 80355C18 00351878 40 82 00 34 */ bne lbl_80355C4C
/* 80355C1C 0035187C 7F E3 FB 78 */ mr r3, r31
/* 80355C20 00351880 38 9E 01 B0 */ addi r4, r30, 0x1b0
/* 80355C24 00351884 4B FE 2F F1 */ bl gsiStartResolvingHostname
/* 80355C28 00351888 2C 03 FF FF */ cmpwi r3, -1
/* 80355C2C 0035188C 40 82 00 20 */ bne lbl_80355C4C
/* 80355C30 00351890 38 80 00 00 */ li r4, 0
/* 80355C34 00351894 38 60 00 01 */ li r3, 1
/* 80355C38 00351898 38 00 00 04 */ li r0, 4
/* 80355C3C 0035189C 90 9E 01 B0 */ stw r4, 0x1b0(r30)
/* 80355C40 003518A0 90 7E 01 20 */ stw r3, 0x120(r30)
/* 80355C44 003518A4 90 1E 00 3C */ stw r0, 0x3c(r30)
/* 80355C48 003518A8 48 00 00 48 */ b lbl_80355C90
lbl_80355C4C:
/* 80355C4C 003518AC 80 7E 00 1C */ lwz r3, 0x1c(r30)
/* 80355C50 003518B0 3C 03 00 01 */ addis r0, r3, 1
/* 80355C54 003518B4 28 00 FF FF */ cmplwi r0, 0xffff
/* 80355C58 003518B8 40 82 00 20 */ bne lbl_80355C78
/* 80355C5C 003518BC 38 00 00 02 */ li r0, 2
/* 80355C60 003518C0 7F C3 F3 78 */ mr r3, r30
/* 80355C64 003518C4 90 1E 00 10 */ stw r0, 0x10(r30)
/* 80355C68 003518C8 38 80 00 00 */ li r4, 0
/* 80355C6C 003518CC 38 A0 00 00 */ li r5, 0
/* 80355C70 003518D0 4B FF B5 DD */ bl ghiCallProgressCallback
/* 80355C74 003518D4 48 00 00 1C */ b lbl_80355C90
lbl_80355C78:
/* 80355C78 003518D8 38 00 00 03 */ li r0, 3
/* 80355C7C 003518DC 7F C3 F3 78 */ mr r3, r30
/* 80355C80 003518E0 90 1E 00 10 */ stw r0, 0x10(r30)
/* 80355C84 003518E4 38 80 00 00 */ li r4, 0
/* 80355C88 003518E8 38 A0 00 00 */ li r5, 0
/* 80355C8C 003518EC 4B FF B5 C1 */ bl ghiCallProgressCallback
lbl_80355C90:
/* 80355C90 003518F0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80355C94 003518F4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80355C98 003518F8 83 C1 00 08 */ lwz r30, 8(r1)
/* 80355C9C 003518FC 7C 08 03 A6 */ mtlr r0
/* 80355CA0 00351900 38 21 00 10 */ addi r1, r1, 0x10
/* 80355CA4 00351904 4E 80 00 20 */ blr
.global ghiDoLookupPending
ghiDoLookupPending:
/* 80355CA8 00351908 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80355CAC 0035190C 7C 08 02 A6 */ mflr r0
/* 80355CB0 00351910 90 01 00 14 */ stw r0, 0x14(r1)
/* 80355CB4 00351914 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80355CB8 00351918 7C 7F 1B 78 */ mr r31, r3
/* 80355CBC 0035191C 80 63 01 B0 */ lwz r3, 0x1b0(r3)
/* 80355CC0 00351920 4B FE 31 51 */ bl gsiGetResolvedIP
/* 80355CC4 00351924 3C 03 00 01 */ addis r0, r3, 1
/* 80355CC8 00351928 90 7F 00 1C */ stw r3, 0x1c(r31)
/* 80355CCC 0035192C 28 00 FF FF */ cmplwi r0, 0xffff
/* 80355CD0 00351930 40 82 00 20 */ bne lbl_80355CF0
/* 80355CD4 00351934 38 80 00 00 */ li r4, 0
/* 80355CD8 00351938 38 60 00 01 */ li r3, 1
/* 80355CDC 0035193C 38 00 00 04 */ li r0, 4
/* 80355CE0 00351940 90 9F 01 B0 */ stw r4, 0x1b0(r31)
/* 80355CE4 00351944 90 7F 01 20 */ stw r3, 0x120(r31)
/* 80355CE8 00351948 90 1F 00 3C */ stw r0, 0x3c(r31)
/* 80355CEC 0035194C 48 00 00 48 */ b lbl_80355D34
lbl_80355CF0:
/* 80355CF0 00351950 2C 03 00 00 */ cmpwi r3, 0
/* 80355CF4 00351954 40 82 00 20 */ bne lbl_80355D14
/* 80355CF8 00351958 38 00 00 02 */ li r0, 2
/* 80355CFC 0035195C 7F E3 FB 78 */ mr r3, r31
/* 80355D00 00351960 90 1F 00 10 */ stw r0, 0x10(r31)
/* 80355D04 00351964 38 80 00 00 */ li r4, 0
/* 80355D08 00351968 38 A0 00 00 */ li r5, 0
/* 80355D0C 0035196C 4B FF B5 41 */ bl ghiCallProgressCallback
/* 80355D10 00351970 48 00 00 24 */ b lbl_80355D34
lbl_80355D14:
/* 80355D14 00351974 38 60 00 00 */ li r3, 0
/* 80355D18 00351978 38 00 00 03 */ li r0, 3
/* 80355D1C 0035197C 90 7F 01 B0 */ stw r3, 0x1b0(r31)
/* 80355D20 00351980 7F E3 FB 78 */ mr r3, r31
/* 80355D24 00351984 38 80 00 00 */ li r4, 0
/* 80355D28 00351988 38 A0 00 00 */ li r5, 0
/* 80355D2C 0035198C 90 1F 00 10 */ stw r0, 0x10(r31)
/* 80355D30 00351990 4B FF B5 1D */ bl ghiCallProgressCallback
lbl_80355D34:
/* 80355D34 00351994 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80355D38 00351998 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80355D3C 0035199C 7C 08 03 A6 */ mtlr r0
/* 80355D40 003519A0 38 21 00 10 */ addi r1, r1, 0x10
/* 80355D44 003519A4 4E 80 00 20 */ blr
.global ghiDoConnecting
ghiDoConnecting:
/* 80355D48 003519A8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80355D4C 003519AC 7C 08 02 A6 */ mflr r0
/* 80355D50 003519B0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80355D54 003519B4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80355D58 003519B8 7C 7F 1B 78 */ mr r31, r3
/* 80355D5C 003519BC 80 03 00 4C */ lwz r0, 0x4c(r3)
/* 80355D60 003519C0 2C 00 FF FF */ cmpwi r0, -1
/* 80355D64 003519C4 40 82 01 38 */ bne lbl_80355E9C
/* 80355D68 003519C8 38 60 00 02 */ li r3, 2
/* 80355D6C 003519CC 38 80 00 01 */ li r4, 1
/* 80355D70 003519D0 38 A0 00 06 */ li r5, 6
/* 80355D74 003519D4 4B FE 1E 51 */ bl socket
/* 80355D78 003519D8 2C 03 FF FF */ cmpwi r3, -1
/* 80355D7C 003519DC 90 7F 00 4C */ stw r3, 0x4c(r31)
/* 80355D80 003519E0 40 82 00 20 */ bne lbl_80355DA0
/* 80355D84 003519E4 38 80 00 01 */ li r4, 1
/* 80355D88 003519E8 38 00 00 05 */ li r0, 5
/* 80355D8C 003519EC 90 9F 01 20 */ stw r4, 0x120(r31)
/* 80355D90 003519F0 90 1F 00 3C */ stw r0, 0x3c(r31)
/* 80355D94 003519F4 4B FE 22 15 */ bl GOAGetLastError
/* 80355D98 003519F8 90 7F 00 50 */ stw r3, 0x50(r31)
/* 80355D9C 003519FC 48 00 01 A8 */ b lbl_80355F44
lbl_80355DA0:
/* 80355DA0 00351A00 38 80 00 00 */ li r4, 0
/* 80355DA4 00351A04 4B FE 28 B1 */ bl SetSockBlocking
/* 80355DA8 00351A08 2C 03 00 00 */ cmpwi r3, 0
/* 80355DAC 00351A0C 40 82 00 24 */ bne lbl_80355DD0
/* 80355DB0 00351A10 38 60 00 01 */ li r3, 1
/* 80355DB4 00351A14 38 00 00 05 */ li r0, 5
/* 80355DB8 00351A18 90 7F 01 20 */ stw r3, 0x120(r31)
/* 80355DBC 00351A1C 80 7F 00 4C */ lwz r3, 0x4c(r31)
/* 80355DC0 00351A20 90 1F 00 3C */ stw r0, 0x3c(r31)
/* 80355DC4 00351A24 4B FE 21 E5 */ bl GOAGetLastError
/* 80355DC8 00351A28 90 7F 00 50 */ stw r3, 0x50(r31)
/* 80355DCC 00351A2C 48 00 01 78 */ b lbl_80355F44
lbl_80355DD0:
/* 80355DD0 00351A30 80 1F 01 58 */ lwz r0, 0x158(r31)
/* 80355DD4 00351A34 2C 00 00 00 */ cmpwi r0, 0
/* 80355DD8 00351A38 41 82 00 10 */ beq lbl_80355DE8
/* 80355DDC 00351A3C 80 7F 00 4C */ lwz r3, 0x4c(r31)
/* 80355DE0 00351A40 80 8D 93 90 */ lwz r4, lbl_8063E650-_SDA_BASE_(r13)
/* 80355DE4 00351A44 4B FE 28 E9 */ bl SetReceiveBufferSize
lbl_80355DE8:
/* 80355DE8 00351A48 38 61 00 10 */ addi r3, r1, 0x10
/* 80355DEC 00351A4C 38 80 00 00 */ li r4, 0
/* 80355DF0 00351A50 38 A0 00 08 */ li r5, 8
/* 80355DF4 00351A54 4B CA E3 11 */ bl memset
/* 80355DF8 00351A58 38 00 00 02 */ li r0, 2
/* 80355DFC 00351A5C 98 01 00 11 */ stb r0, 0x11(r1)
/* 80355E00 00351A60 80 1F 01 88 */ lwz r0, 0x188(r31)
/* 80355E04 00351A64 2C 00 00 00 */ cmpwi r0, 0
/* 80355E08 00351A68 41 82 00 14 */ beq lbl_80355E1C
/* 80355E0C 00351A6C A0 7F 01 8C */ lhz r3, 0x18c(r31)
/* 80355E10 00351A70 4B FA 0F 6D */ bl SOHtoNs
/* 80355E14 00351A74 B0 61 00 12 */ sth r3, 0x12(r1)
/* 80355E18 00351A78 48 00 00 2C */ b lbl_80355E44
lbl_80355E1C:
/* 80355E1C 00351A7C 80 0D B0 C4 */ lwz r0, lbl_80640384-_SDA_BASE_(r13)
/* 80355E20 00351A80 2C 00 00 00 */ cmpwi r0, 0
/* 80355E24 00351A84 41 82 00 14 */ beq lbl_80355E38
/* 80355E28 00351A88 A0 6D B0 C0 */ lhz r3, lbl_80640380-_SDA_BASE_(r13)
/* 80355E2C 00351A8C 4B FA 0F 51 */ bl SOHtoNs
/* 80355E30 00351A90 B0 61 00 12 */ sth r3, 0x12(r1)
/* 80355E34 00351A94 48 00 00 10 */ b lbl_80355E44
lbl_80355E38:
/* 80355E38 00351A98 A0 7F 00 20 */ lhz r3, 0x20(r31)
/* 80355E3C 00351A9C 4B FA 0F 41 */ bl SOHtoNs
/* 80355E40 00351AA0 B0 61 00 12 */ sth r3, 0x12(r1)
lbl_80355E44:
/* 80355E44 00351AA4 80 1F 00 1C */ lwz r0, 0x1c(r31)
/* 80355E48 00351AA8 38 81 00 10 */ addi r4, r1, 0x10
/* 80355E4C 00351AAC 38 A0 00 08 */ li r5, 8
/* 80355E50 00351AB0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80355E54 00351AB4 80 7F 00 4C */ lwz r3, 0x4c(r31)
/* 80355E58 00351AB8 4B FE 1E 85 */ bl connect
/* 80355E5C 00351ABC 2C 03 FF FF */ cmpwi r3, -1
/* 80355E60 00351AC0 40 82 00 3C */ bne lbl_80355E9C
/* 80355E64 00351AC4 80 7F 00 4C */ lwz r3, 0x4c(r31)
/* 80355E68 00351AC8 4B FE 21 41 */ bl GOAGetLastError
/* 80355E6C 00351ACC 2C 03 FF FA */ cmpwi r3, -6
/* 80355E70 00351AD0 41 82 00 2C */ beq lbl_80355E9C
/* 80355E74 00351AD4 2C 03 FF E6 */ cmpwi r3, -26
/* 80355E78 00351AD8 41 82 00 24 */ beq lbl_80355E9C
/* 80355E7C 00351ADC 2C 03 FF B4 */ cmpwi r3, -76
/* 80355E80 00351AE0 41 82 00 1C */ beq lbl_80355E9C
/* 80355E84 00351AE4 38 80 00 01 */ li r4, 1
/* 80355E88 00351AE8 38 00 00 06 */ li r0, 6
/* 80355E8C 00351AEC 90 9F 01 20 */ stw r4, 0x120(r31)
/* 80355E90 00351AF0 90 1F 00 3C */ stw r0, 0x3c(r31)
/* 80355E94 00351AF4 90 7F 00 50 */ stw r3, 0x50(r31)
/* 80355E98 00351AF8 48 00 00 AC */ b lbl_80355F44
lbl_80355E9C:
/* 80355E9C 00351AFC 80 7F 00 4C */ lwz r3, 0x4c(r31)
/* 80355EA0 00351B00 38 A1 00 0C */ addi r5, r1, 0xc
/* 80355EA4 00351B04 38 C1 00 08 */ addi r6, r1, 8
/* 80355EA8 00351B08 38 80 00 00 */ li r4, 0
/* 80355EAC 00351B0C 4B FE 21 05 */ bl GSISocketSelect
/* 80355EB0 00351B10 2C 03 FF FF */ cmpwi r3, -1
/* 80355EB4 00351B14 41 82 00 18 */ beq lbl_80355ECC
/* 80355EB8 00351B18 2C 03 00 01 */ cmpwi r3, 1
/* 80355EBC 00351B1C 40 82 00 44 */ bne lbl_80355F00
/* 80355EC0 00351B20 80 01 00 08 */ lwz r0, 8(r1)
/* 80355EC4 00351B24 2C 00 00 00 */ cmpwi r0, 0
/* 80355EC8 00351B28 41 82 00 38 */ beq lbl_80355F00
lbl_80355ECC:
/* 80355ECC 00351B2C 38 80 00 01 */ li r4, 1
/* 80355ED0 00351B30 38 00 00 06 */ li r0, 6
/* 80355ED4 00351B34 2C 03 FF FF */ cmpwi r3, -1
/* 80355ED8 00351B38 90 9F 01 20 */ stw r4, 0x120(r31)
/* 80355EDC 00351B3C 90 1F 00 3C */ stw r0, 0x3c(r31)
/* 80355EE0 00351B40 40 82 00 14 */ bne lbl_80355EF4
/* 80355EE4 00351B44 80 7F 00 4C */ lwz r3, 0x4c(r31)
/* 80355EE8 00351B48 4B FE 20 C1 */ bl GOAGetLastError
/* 80355EEC 00351B4C 90 7F 00 50 */ stw r3, 0x50(r31)
/* 80355EF0 00351B50 48 00 00 54 */ b lbl_80355F44
lbl_80355EF4:
/* 80355EF4 00351B54 38 00 00 00 */ li r0, 0
/* 80355EF8 00351B58 90 1F 00 50 */ stw r0, 0x50(r31)
/* 80355EFC 00351B5C 48 00 00 48 */ b lbl_80355F44
lbl_80355F00:
/* 80355F00 00351B60 2C 03 00 01 */ cmpwi r3, 1
/* 80355F04 00351B64 40 82 00 40 */ bne lbl_80355F44
/* 80355F08 00351B68 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80355F0C 00351B6C 2C 00 00 00 */ cmpwi r0, 0
/* 80355F10 00351B70 41 82 00 34 */ beq lbl_80355F44
/* 80355F14 00351B74 80 1F 01 94 */ lwz r0, 0x194(r31)
/* 80355F18 00351B78 2C 00 00 00 */ cmpwi r0, 0
/* 80355F1C 00351B7C 40 82 00 10 */ bne lbl_80355F2C
/* 80355F20 00351B80 38 00 00 05 */ li r0, 5
/* 80355F24 00351B84 90 1F 00 10 */ stw r0, 0x10(r31)
/* 80355F28 00351B88 48 00 00 0C */ b lbl_80355F34
lbl_80355F2C:
/* 80355F2C 00351B8C 38 00 00 04 */ li r0, 4
/* 80355F30 00351B90 90 1F 00 10 */ stw r0, 0x10(r31)
lbl_80355F34:
/* 80355F34 00351B94 7F E3 FB 78 */ mr r3, r31
/* 80355F38 00351B98 38 80 00 00 */ li r4, 0
/* 80355F3C 00351B9C 38 A0 00 00 */ li r5, 0
/* 80355F40 00351BA0 4B FF B3 0D */ bl ghiCallProgressCallback
lbl_80355F44:
/* 80355F44 00351BA4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80355F48 00351BA8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80355F4C 00351BAC 7C 08 03 A6 */ mtlr r0
/* 80355F50 00351BB0 38 21 00 20 */ addi r1, r1, 0x20
/* 80355F54 00351BB4 4E 80 00 20 */ blr
.global ghiDoSecuringSession
ghiDoSecuringSession:
/* 80355F58 00351BB8 94 21 FB E0 */ stwu r1, -0x420(r1)
/* 80355F5C 00351BBC 7C 08 02 A6 */ mflr r0
/* 80355F60 00351BC0 90 01 04 24 */ stw r0, 0x424(r1)
/* 80355F64 00351BC4 93 E1 04 1C */ stw r31, 0x41c(r1)
/* 80355F68 00351BC8 7C 7F 1B 78 */ mr r31, r3
/* 80355F6C 00351BCC 80 03 01 98 */ lwz r0, 0x198(r3)
/* 80355F70 00351BD0 2C 00 00 00 */ cmpwi r0, 0
/* 80355F74 00351BD4 40 82 00 30 */ bne lbl_80355FA4
/* 80355F78 00351BD8 81 83 01 A0 */ lwz r12, 0x1a0(r3)
/* 80355F7C 00351BDC 38 83 01 90 */ addi r4, r3, 0x190
/* 80355F80 00351BE0 7D 89 03 A6 */ mtctr r12
/* 80355F84 00351BE4 4E 80 04 21 */ bctrl
/* 80355F88 00351BE8 2C 03 00 03 */ cmpwi r3, 3
/* 80355F8C 00351BEC 40 82 00 18 */ bne lbl_80355FA4
/* 80355F90 00351BF0 38 60 00 01 */ li r3, 1
/* 80355F94 00351BF4 38 00 00 11 */ li r0, 0x11
/* 80355F98 00351BF8 90 7F 01 20 */ stw r3, 0x120(r31)
/* 80355F9C 00351BFC 90 1F 00 3C */ stw r0, 0x3c(r31)
/* 80355FA0 00351C00 48 00 00 DC */ b lbl_8035607C
lbl_80355FA4:
/* 80355FA4 00351C04 80 7F 00 64 */ lwz r3, 0x64(r31)
/* 80355FA8 00351C08 80 1F 00 60 */ lwz r0, 0x60(r31)
/* 80355FAC 00351C0C 7C 03 00 00 */ cmpw r3, r0
/* 80355FB0 00351C10 40 80 00 2C */ bge lbl_80355FDC
/* 80355FB4 00351C14 7F E3 FB 78 */ mr r3, r31
/* 80355FB8 00351C18 4B FF B0 9D */ bl ghiSendBufferedData
/* 80355FBC 00351C1C 2C 03 00 00 */ cmpwi r3, 0
/* 80355FC0 00351C20 41 82 00 BC */ beq lbl_8035607C
/* 80355FC4 00351C24 80 7F 00 64 */ lwz r3, 0x64(r31)
/* 80355FC8 00351C28 80 1F 00 60 */ lwz r0, 0x60(r31)
/* 80355FCC 00351C2C 7C 03 00 00 */ cmpw r3, r0
/* 80355FD0 00351C30 41 80 00 AC */ blt lbl_8035607C
/* 80355FD4 00351C34 38 7F 00 54 */ addi r3, r31, 0x54
/* 80355FD8 00351C38 4B FF B0 59 */ bl ghiResetBuffer
lbl_80355FDC:
/* 80355FDC 00351C3C 38 00 04 01 */ li r0, 0x401
/* 80355FE0 00351C40 7F E3 FB 78 */ mr r3, r31
/* 80355FE4 00351C44 90 01 00 08 */ stw r0, 8(r1)
/* 80355FE8 00351C48 38 81 00 0C */ addi r4, r1, 0xc
/* 80355FEC 00351C4C 38 A1 00 08 */ addi r5, r1, 8
/* 80355FF0 00351C50 4B FF B4 55 */ bl ghiDoReceive
/* 80355FF4 00351C54 38 03 FF FE */ addi r0, r3, -2
/* 80355FF8 00351C58 28 00 00 01 */ cmplwi r0, 1
/* 80355FFC 00351C5C 41 81 00 18 */ bgt lbl_80356014
/* 80356000 00351C60 38 60 00 01 */ li r3, 1
/* 80356004 00351C64 38 00 00 11 */ li r0, 0x11
/* 80356008 00351C68 90 7F 01 20 */ stw r3, 0x120(r31)
/* 8035600C 00351C6C 90 1F 00 3C */ stw r0, 0x3c(r31)
/* 80356010 00351C70 48 00 00 6C */ b lbl_8035607C
lbl_80356014:
/* 80356014 00351C74 2C 03 00 00 */ cmpwi r3, 0
/* 80356018 00351C78 40 82 00 64 */ bne lbl_8035607C
/* 8035601C 00351C7C 80 A1 00 08 */ lwz r5, 8(r1)
/* 80356020 00351C80 38 7F 00 C0 */ addi r3, r31, 0xc0
/* 80356024 00351C84 38 81 00 0C */ addi r4, r1, 0xc
/* 80356028 00351C88 4B FF AA 95 */ bl ghiAppendDataToBuffer
/* 8035602C 00351C8C 2C 03 00 00 */ cmpwi r3, 0
/* 80356030 00351C90 41 82 00 4C */ beq lbl_8035607C
/* 80356034 00351C94 7F E3 FB 78 */ mr r3, r31
/* 80356038 00351C98 4B FF B2 BD */ bl ghiDecryptReceivedData
/* 8035603C 00351C9C 2C 03 00 00 */ cmpwi r3, 0
/* 80356040 00351CA0 40 82 00 18 */ bne lbl_80356058
/* 80356044 00351CA4 38 60 00 01 */ li r3, 1
/* 80356048 00351CA8 38 00 00 11 */ li r0, 0x11
/* 8035604C 00351CAC 90 7F 01 20 */ stw r3, 0x120(r31)
/* 80356050 00351CB0 90 1F 00 3C */ stw r0, 0x3c(r31)
/* 80356054 00351CB4 48 00 00 28 */ b lbl_8035607C
lbl_80356058:
/* 80356058 00351CB8 80 1F 01 9C */ lwz r0, 0x19c(r31)
/* 8035605C 00351CBC 2C 00 00 00 */ cmpwi r0, 0
/* 80356060 00351CC0 41 82 00 1C */ beq lbl_8035607C
/* 80356064 00351CC4 38 00 00 05 */ li r0, 5
/* 80356068 00351CC8 7F E3 FB 78 */ mr r3, r31
/* 8035606C 00351CCC 90 1F 00 10 */ stw r0, 0x10(r31)
/* 80356070 00351CD0 38 80 00 00 */ li r4, 0
/* 80356074 00351CD4 38 A0 00 00 */ li r5, 0
/* 80356078 00351CD8 4B FF B1 D5 */ bl ghiCallProgressCallback
lbl_8035607C:
/* 8035607C 00351CDC 80 01 04 24 */ lwz r0, 0x424(r1)
/* 80356080 00351CE0 83 E1 04 1C */ lwz r31, 0x41c(r1)
/* 80356084 00351CE4 7C 08 03 A6 */ mtlr r0
/* 80356088 00351CE8 38 21 04 20 */ addi r1, r1, 0x420
/* 8035608C 00351CEC 4E 80 00 20 */ blr
.global ghiDoSendingRequest
ghiDoSendingRequest:
/* 80356090 00351CF0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80356094 00351CF4 7C 08 02 A6 */ mflr r0
/* 80356098 00351CF8 90 01 00 34 */ stw r0, 0x34(r1)
/* 8035609C 00351CFC 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 803560A0 00351D00 7C 7F 1B 78 */ mr r31, r3
/* 803560A4 00351D04 93 C1 00 28 */ stw r30, 0x28(r1)
/* 803560A8 00351D08 3F C0 80 45 */ lis r30, lbl_8044C238@ha
/* 803560AC 00351D0C 3B DE C2 38 */ addi r30, r30, lbl_8044C238@l
/* 803560B0 00351D10 93 A1 00 24 */ stw r29, 0x24(r1)
/* 803560B4 00351D14 80 03 00 60 */ lwz r0, 0x60(r3)
/* 803560B8 00351D18 2C 00 00 00 */ cmpwi r0, 0
/* 803560BC 00351D1C 40 82 02 28 */ bne lbl_803562E4
/* 803560C0 00351D20 80 03 01 94 */ lwz r0, 0x194(r3)
/* 803560C4 00351D24 2C 00 00 00 */ cmpwi r0, 0
/* 803560C8 00351D28 40 82 00 0C */ bne lbl_803560D4
/* 803560CC 00351D2C 3B A3 00 54 */ addi r29, r3, 0x54
/* 803560D0 00351D30 48 00 00 08 */ b lbl_803560D8
lbl_803560D4:
/* 803560D4 00351D34 3B A3 00 78 */ addi r29, r3, 0x78
lbl_803560D8:
/* 803560D8 00351D38 80 03 01 60 */ lwz r0, 0x160(r3)
/* 803560DC 00351D3C 2C 00 00 00 */ cmpwi r0, 0
/* 803560E0 00351D40 41 82 00 18 */ beq lbl_803560F8
/* 803560E4 00351D44 80 03 01 80 */ lwz r0, 0x180(r3)
/* 803560E8 00351D48 2C 00 00 00 */ cmpwi r0, 0
/* 803560EC 00351D4C 40 82 00 0C */ bne lbl_803560F8
/* 803560F0 00351D50 38 8D 93 E8 */ addi r4, r13, lbl_8063E6A8-_SDA_BASE_
/* 803560F4 00351D54 48 00 00 18 */ b lbl_8035610C
lbl_803560F8:
/* 803560F8 00351D58 80 03 00 0C */ lwz r0, 0xc(r3)
/* 803560FC 00351D5C 38 8D 93 F8 */ addi r4, r13, lbl_8063E6B8-_SDA_BASE_
/* 80356100 00351D60 2C 00 00 03 */ cmpwi r0, 3
/* 80356104 00351D64 40 82 00 08 */ bne lbl_8035610C
/* 80356108 00351D68 38 8D 93 F0 */ addi r4, r13, lbl_8063E6B0-_SDA_BASE_
lbl_8035610C:
/* 8035610C 00351D6C 7F A3 EB 78 */ mr r3, r29
/* 80356110 00351D70 38 A0 00 00 */ li r5, 0
/* 80356114 00351D74 4B FF A9 A9 */ bl ghiAppendDataToBuffer
/* 80356118 00351D78 80 1F 01 88 */ lwz r0, 0x188(r31)
/* 8035611C 00351D7C 2C 00 00 00 */ cmpwi r0, 0
/* 80356120 00351D80 40 82 00 10 */ bne lbl_80356130
/* 80356124 00351D84 80 0D B0 C4 */ lwz r0, lbl_80640384-_SDA_BASE_(r13)
/* 80356128 00351D88 2C 00 00 00 */ cmpwi r0, 0
/* 8035612C 00351D8C 41 82 00 18 */ beq lbl_80356144
lbl_80356130:
/* 80356130 00351D90 80 9F 00 14 */ lwz r4, 0x14(r31)
/* 80356134 00351D94 7F A3 EB 78 */ mr r3, r29
/* 80356138 00351D98 38 A0 00 00 */ li r5, 0
/* 8035613C 00351D9C 4B FF A9 81 */ bl ghiAppendDataToBuffer
/* 80356140 00351DA0 48 00 00 14 */ b lbl_80356154
lbl_80356144:
/* 80356144 00351DA4 80 9F 00 24 */ lwz r4, 0x24(r31)
/* 80356148 00351DA8 7F A3 EB 78 */ mr r3, r29
/* 8035614C 00351DAC 38 A0 00 00 */ li r5, 0
/* 80356150 00351DB0 4B FF A9 6D */ bl ghiAppendDataToBuffer
lbl_80356154:
/* 80356154 00351DB4 7F A3 EB 78 */ mr r3, r29
/* 80356158 00351DB8 38 9E 00 0C */ addi r4, r30, 0xc
/* 8035615C 00351DBC 38 A0 00 00 */ li r5, 0
/* 80356160 00351DC0 4B FF A9 5D */ bl ghiAppendDataToBuffer
/* 80356164 00351DC4 A0 1F 00 20 */ lhz r0, 0x20(r31)
/* 80356168 00351DC8 28 00 00 50 */ cmplwi r0, 0x50
/* 8035616C 00351DCC 40 82 00 18 */ bne lbl_80356184
/* 80356170 00351DD0 80 BF 00 18 */ lwz r5, 0x18(r31)
/* 80356174 00351DD4 7F A3 EB 78 */ mr r3, r29
/* 80356178 00351DD8 38 8D 94 00 */ addi r4, r13, lbl_8063E6C0-_SDA_BASE_
/* 8035617C 00351DDC 4B FF AC 89 */ bl ghiAppendHeaderToBuffer
/* 80356180 00351DE0 48 00 00 4C */ b lbl_803561CC
lbl_80356184:
/* 80356184 00351DE4 7F A3 EB 78 */ mr r3, r29
/* 80356188 00351DE8 38 8D 94 08 */ addi r4, r13, lbl_8063E6C8-_SDA_BASE_
/* 8035618C 00351DEC 38 A0 00 00 */ li r5, 0
/* 80356190 00351DF0 4B FF A9 2D */ bl ghiAppendDataToBuffer
/* 80356194 00351DF4 80 9F 00 18 */ lwz r4, 0x18(r31)
/* 80356198 00351DF8 7F A3 EB 78 */ mr r3, r29
/* 8035619C 00351DFC 38 A0 00 00 */ li r5, 0
/* 803561A0 00351E00 4B FF A9 1D */ bl ghiAppendDataToBuffer
/* 803561A4 00351E04 7F A3 EB 78 */ mr r3, r29
/* 803561A8 00351E08 38 80 00 3A */ li r4, 0x3a
/* 803561AC 00351E0C 4B FF AD 01 */ bl ghiAppendCharToBuffer
/* 803561B0 00351E10 A0 9F 00 20 */ lhz r4, 0x20(r31)
/* 803561B4 00351E14 7F A3 EB 78 */ mr r3, r29
/* 803561B8 00351E18 4B FF AE 2D */ bl ghiAppendIntToBuffer
/* 803561BC 00351E1C 7F A3 EB 78 */ mr r3, r29
/* 803561C0 00351E20 38 8D 94 10 */ addi r4, r13, lbl_8063E6D0-_SDA_BASE_
/* 803561C4 00351E24 38 A0 00 02 */ li r5, 2
/* 803561C8 00351E28 4B FF A8 F5 */ bl ghiAppendDataToBuffer
lbl_803561CC:
/* 803561CC 00351E2C 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 803561D0 00351E30 2C 03 00 00 */ cmpwi r3, 0
/* 803561D4 00351E34 41 82 00 14 */ beq lbl_803561E8
/* 803561D8 00351E38 38 9E 00 18 */ addi r4, r30, 0x18
/* 803561DC 00351E3C 4B E7 85 C5 */ bl strstr
/* 803561E0 00351E40 2C 03 00 00 */ cmpwi r3, 0
/* 803561E4 00351E44 40 82 00 14 */ bne lbl_803561F8
lbl_803561E8:
/* 803561E8 00351E48 7F A3 EB 78 */ mr r3, r29
/* 803561EC 00351E4C 38 9E 00 18 */ addi r4, r30, 0x18
/* 803561F0 00351E50 38 BE 00 28 */ addi r5, r30, 0x28
/* 803561F4 00351E54 4B FF AC 11 */ bl ghiAppendHeaderToBuffer
lbl_803561F8:
/* 803561F8 00351E58 80 1F 00 38 */ lwz r0, 0x38(r31)
/* 803561FC 00351E5C 2C 00 00 00 */ cmpwi r0, 0
/* 80356200 00351E60 41 82 00 18 */ beq lbl_80356218
/* 80356204 00351E64 7F A3 EB 78 */ mr r3, r29
/* 80356208 00351E68 38 9E 00 38 */ addi r4, r30, 0x38
/* 8035620C 00351E6C 38 BE 00 44 */ addi r5, r30, 0x44
/* 80356210 00351E70 4B FF AB F5 */ bl ghiAppendHeaderToBuffer
/* 80356214 00351E74 48 00 00 14 */ b lbl_80356228
lbl_80356218:
/* 80356218 00351E78 7F A3 EB 78 */ mr r3, r29
/* 8035621C 00351E7C 38 9E 00 38 */ addi r4, r30, 0x38
/* 80356220 00351E80 38 AD 94 14 */ addi r5, r13, lbl_8063E6D4-_SDA_BASE_
/* 80356224 00351E84 4B FF AB E1 */ bl ghiAppendHeaderToBuffer
lbl_80356228:
/* 80356228 00351E88 80 1F 01 60 */ lwz r0, 0x160(r31)
/* 8035622C 00351E8C 2C 00 00 00 */ cmpwi r0, 0
/* 80356230 00351E90 41 82 00 4C */ beq lbl_8035627C
/* 80356234 00351E94 80 1F 01 80 */ lwz r0, 0x180(r31)
/* 80356238 00351E98 2C 00 00 00 */ cmpwi r0, 0
/* 8035623C 00351E9C 40 82 00 40 */ bne lbl_8035627C
/* 80356240 00351EA0 80 BF 01 70 */ lwz r5, 0x170(r31)
/* 80356244 00351EA4 38 61 00 08 */ addi r3, r1, 8
/* 80356248 00351EA8 38 8D 94 1C */ addi r4, r13, lbl_8063E6DC-_SDA_BASE_
/* 8035624C 00351EAC 4C C6 31 82 */ crclr 6
/* 80356250 00351EB0 4B E7 68 AD */ bl sprintf
/* 80356254 00351EB4 7F A3 EB 78 */ mr r3, r29
/* 80356258 00351EB8 38 9E 00 50 */ addi r4, r30, 0x50
/* 8035625C 00351EBC 38 A1 00 08 */ addi r5, r1, 8
/* 80356260 00351EC0 4B FF AB A5 */ bl ghiAppendHeaderToBuffer
/* 80356264 00351EC4 7F E3 FB 78 */ mr r3, r31
/* 80356268 00351EC8 4B FF E0 19 */ bl ghiPostGetContentType
/* 8035626C 00351ECC 7C 65 1B 78 */ mr r5, r3
/* 80356270 00351ED0 7F A3 EB 78 */ mr r3, r29
/* 80356274 00351ED4 38 9E 00 60 */ addi r4, r30, 0x60
/* 80356278 00351ED8 4B FF AB 8D */ bl ghiAppendHeaderToBuffer
lbl_8035627C:
/* 8035627C 00351EDC 80 9F 00 2C */ lwz r4, 0x2c(r31)
/* 80356280 00351EE0 2C 04 00 00 */ cmpwi r4, 0
/* 80356284 00351EE4 41 82 00 10 */ beq lbl_80356294
/* 80356288 00351EE8 7F A3 EB 78 */ mr r3, r29
/* 8035628C 00351EEC 38 A0 00 00 */ li r5, 0
/* 80356290 00351EF0 4B FF A8 2D */ bl ghiAppendDataToBuffer
lbl_80356294:
/* 80356294 00351EF4 7F A3 EB 78 */ mr r3, r29
/* 80356298 00351EF8 38 8D 94 10 */ addi r4, r13, lbl_8063E6D0-_SDA_BASE_
/* 8035629C 00351EFC 38 A0 00 02 */ li r5, 2
/* 803562A0 00351F00 4B FF A8 1D */ bl ghiAppendDataToBuffer
/* 803562A4 00351F04 80 1F 01 94 */ lwz r0, 0x194(r31)
/* 803562A8 00351F08 2C 00 00 00 */ cmpwi r0, 0
/* 803562AC 00351F0C 41 82 00 38 */ beq lbl_803562E4
/* 803562B0 00351F10 80 9D 00 04 */ lwz r4, 4(r29)
/* 803562B4 00351F14 38 7F 00 54 */ addi r3, r31, 0x54
/* 803562B8 00351F18 80 BD 00 0C */ lwz r5, 0xc(r29)
/* 803562BC 00351F1C 4B FF A9 71 */ bl ghiEncryptDataToBuffer
/* 803562C0 00351F20 2C 03 00 00 */ cmpwi r3, 0
/* 803562C4 00351F24 40 82 00 18 */ bne lbl_803562DC
/* 803562C8 00351F28 38 60 00 01 */ li r3, 1
/* 803562CC 00351F2C 38 00 00 11 */ li r0, 0x11
/* 803562D0 00351F30 90 7F 01 20 */ stw r3, 0x120(r31)
/* 803562D4 00351F34 90 1F 00 3C */ stw r0, 0x3c(r31)
/* 803562D8 00351F38 48 00 00 70 */ b lbl_80356348
lbl_803562DC:
/* 803562DC 00351F3C 7F A3 EB 78 */ mr r3, r29
/* 803562E0 00351F40 4B FF AD 51 */ bl ghiResetBuffer
lbl_803562E4:
/* 803562E4 00351F44 7F E3 FB 78 */ mr r3, r31
/* 803562E8 00351F48 4B FF AD 6D */ bl ghiSendBufferedData
/* 803562EC 00351F4C 2C 03 00 00 */ cmpwi r3, 0
/* 803562F0 00351F50 41 82 00 58 */ beq lbl_80356348
/* 803562F4 00351F54 80 7F 00 64 */ lwz r3, 0x64(r31)
/* 803562F8 00351F58 80 1F 00 60 */ lwz r0, 0x60(r31)
/* 803562FC 00351F5C 7C 03 00 00 */ cmpw r3, r0
/* 80356300 00351F60 41 80 00 48 */ blt lbl_80356348
/* 80356304 00351F64 38 7F 00 54 */ addi r3, r31, 0x54
/* 80356308 00351F68 4B FF AD 29 */ bl ghiResetBuffer
/* 8035630C 00351F6C 80 1F 01 60 */ lwz r0, 0x160(r31)
/* 80356310 00351F70 2C 00 00 00 */ cmpwi r0, 0
/* 80356314 00351F74 41 82 00 1C */ beq lbl_80356330
/* 80356318 00351F78 80 1F 01 80 */ lwz r0, 0x180(r31)
/* 8035631C 00351F7C 2C 00 00 00 */ cmpwi r0, 0
/* 80356320 00351F80 40 82 00 10 */ bne lbl_80356330
/* 80356324 00351F84 38 00 00 06 */ li r0, 6
/* 80356328 00351F88 90 1F 00 10 */ stw r0, 0x10(r31)
/* 8035632C 00351F8C 48 00 00 0C */ b lbl_80356338
lbl_80356330:
/* 80356330 00351F90 38 00 00 07 */ li r0, 7
/* 80356334 00351F94 90 1F 00 10 */ stw r0, 0x10(r31)
lbl_80356338:
/* 80356338 00351F98 7F E3 FB 78 */ mr r3, r31
/* 8035633C 00351F9C 38 80 00 00 */ li r4, 0
/* 80356340 00351FA0 38 A0 00 00 */ li r5, 0
/* 80356344 00351FA4 4B FF AF 09 */ bl ghiCallProgressCallback
lbl_80356348:
/* 80356348 00351FA8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8035634C 00351FAC 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80356350 00351FB0 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 80356354 00351FB4 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 80356358 00351FB8 7C 08 03 A6 */ mtlr r0
/* 8035635C 00351FBC 38 21 00 30 */ addi r1, r1, 0x30
/* 80356360 00351FC0 4E 80 00 20 */ blr
.global ghiDoPosting
ghiDoPosting:
/* 80356364 00351FC4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80356368 00351FC8 7C 08 02 A6 */ mflr r0
/* 8035636C 00351FCC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80356370 00351FD0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80356374 00351FD4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80356378 00351FD8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8035637C 00351FDC 7C 7D 1B 78 */ mr r29, r3
/* 80356380 00351FE0 83 C3 01 6C */ lwz r30, 0x16c(r3)
/* 80356384 00351FE4 4B FF F3 6D */ bl ghiPostDoPosting
/* 80356388 00351FE8 2C 03 00 00 */ cmpwi r3, 0
/* 8035638C 00351FEC 7C 7F 1B 78 */ mr r31, r3
/* 80356390 00351FF0 40 82 00 58 */ bne lbl_803563E8
/* 80356394 00351FF4 38 00 00 00 */ li r0, 0
/* 80356398 00351FF8 7F A3 EB 78 */ mr r3, r29
/* 8035639C 00351FFC 90 01 00 08 */ stw r0, 8(r1)
/* 803563A0 00352000 4B FF E5 ED */ bl ghiPostCleanupState
/* 803563A4 00352004 80 7D 00 4C */ lwz r3, 0x4c(r29)
/* 803563A8 00352008 38 81 00 08 */ addi r4, r1, 8
/* 803563AC 0035200C 38 A0 00 00 */ li r5, 0
/* 803563B0 00352010 38 C0 00 00 */ li r6, 0
/* 803563B4 00352014 4B FE 1B FD */ bl GSISocketSelect
/* 803563B8 00352018 2C 03 00 01 */ cmpwi r3, 1
/* 803563BC 0035201C 40 82 00 84 */ bne lbl_80356440
/* 803563C0 00352020 80 01 00 08 */ lwz r0, 8(r1)
/* 803563C4 00352024 2C 00 00 00 */ cmpwi r0, 0
/* 803563C8 00352028 41 82 00 78 */ beq lbl_80356440
/* 803563CC 0035202C 38 00 00 08 */ li r0, 8
/* 803563D0 00352030 7F A3 EB 78 */ mr r3, r29
/* 803563D4 00352034 90 1D 00 10 */ stw r0, 0x10(r29)
/* 803563D8 00352038 38 80 00 00 */ li r4, 0
/* 803563DC 0035203C 38 A0 00 00 */ li r5, 0
/* 803563E0 00352040 4B FF AE 6D */ bl ghiCallProgressCallback
/* 803563E4 00352044 48 00 00 5C */ b lbl_80356440
lbl_803563E8:
/* 803563E8 00352048 2C 03 00 03 */ cmpwi r3, 3
/* 803563EC 0035204C 40 82 00 10 */ bne lbl_803563FC
/* 803563F0 00352050 38 00 00 00 */ li r0, 0
/* 803563F4 00352054 90 1D 01 7C */ stw r0, 0x17c(r29)
/* 803563F8 00352058 48 00 00 48 */ b lbl_80356440
lbl_803563FC:
/* 803563FC 0035205C 80 1D 01 6C */ lwz r0, 0x16c(r29)
/* 80356400 00352060 7C 1E 00 00 */ cmpw r30, r0
/* 80356404 00352064 41 82 00 0C */ beq lbl_80356410
/* 80356408 00352068 7F A3 EB 78 */ mr r3, r29
/* 8035640C 0035206C 4B FF AE 79 */ bl ghiCallPostCallback
lbl_80356410:
/* 80356410 00352070 2C 1F 00 01 */ cmpwi r31, 1
/* 80356414 00352074 40 82 00 2C */ bne lbl_80356440
/* 80356418 00352078 7F A3 EB 78 */ mr r3, r29
/* 8035641C 0035207C 4B FF E5 71 */ bl ghiPostCleanupState
/* 80356420 00352080 38 60 00 01 */ li r3, 1
/* 80356424 00352084 38 00 00 07 */ li r0, 7
/* 80356428 00352088 90 7D 01 80 */ stw r3, 0x180(r29)
/* 8035642C 0035208C 7F A3 EB 78 */ mr r3, r29
/* 80356430 00352090 38 80 00 00 */ li r4, 0
/* 80356434 00352094 38 A0 00 00 */ li r5, 0
/* 80356438 00352098 90 1D 00 10 */ stw r0, 0x10(r29)
/* 8035643C 0035209C 4B FF AE 11 */ bl ghiCallProgressCallback
lbl_80356440:
/* 80356440 003520A0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80356444 003520A4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80356448 003520A8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8035644C 003520AC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80356450 003520B0 7C 08 03 A6 */ mtlr r0
/* 80356454 003520B4 38 21 00 20 */ addi r1, r1, 0x20
/* 80356458 003520B8 4E 80 00 20 */ blr
.global ghiDoWaiting
ghiDoWaiting:
/* 8035645C 003520BC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80356460 003520C0 7C 08 02 A6 */ mflr r0
/* 80356464 003520C4 38 A0 00 00 */ li r5, 0
/* 80356468 003520C8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8035646C 003520CC 38 81 00 0C */ addi r4, r1, 0xc
/* 80356470 003520D0 38 C1 00 08 */ addi r6, r1, 8
/* 80356474 003520D4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80356478 003520D8 7C 7F 1B 78 */ mr r31, r3
/* 8035647C 003520DC 80 63 00 4C */ lwz r3, 0x4c(r3)
/* 80356480 003520E0 4B FE 1B 31 */ bl GSISocketSelect
/* 80356484 003520E4 2C 03 FF FF */ cmpwi r3, -1
/* 80356488 003520E8 41 82 00 18 */ beq lbl_803564A0
/* 8035648C 003520EC 2C 03 00 01 */ cmpwi r3, 1
/* 80356490 003520F0 40 82 00 44 */ bne lbl_803564D4
/* 80356494 003520F4 80 01 00 08 */ lwz r0, 8(r1)
/* 80356498 003520F8 2C 00 00 00 */ cmpwi r0, 0
/* 8035649C 003520FC 41 82 00 38 */ beq lbl_803564D4
lbl_803564A0:
/* 803564A0 00352100 38 80 00 01 */ li r4, 1
/* 803564A4 00352104 38 00 00 05 */ li r0, 5
/* 803564A8 00352108 2C 03 FF FF */ cmpwi r3, -1
/* 803564AC 0035210C 90 9F 01 20 */ stw r4, 0x120(r31)
/* 803564B0 00352110 90 1F 00 3C */ stw r0, 0x3c(r31)
/* 803564B4 00352114 40 82 00 14 */ bne lbl_803564C8
/* 803564B8 00352118 80 7F 00 4C */ lwz r3, 0x4c(r31)
/* 803564BC 0035211C 4B FE 1A ED */ bl GOAGetLastError
/* 803564C0 00352120 90 7F 00 50 */ stw r3, 0x50(r31)
/* 803564C4 00352124 48 00 00 3C */ b lbl_80356500
lbl_803564C8:
/* 803564C8 00352128 38 00 00 00 */ li r0, 0
/* 803564CC 0035212C 90 1F 00 50 */ stw r0, 0x50(r31)
/* 803564D0 00352130 48 00 00 30 */ b lbl_80356500
lbl_803564D4:
/* 803564D4 00352134 2C 03 00 01 */ cmpwi r3, 1
/* 803564D8 00352138 40 82 00 28 */ bne lbl_80356500
/* 803564DC 0035213C 80 01 00 0C */ lwz r0, 0xc(r1)
/* 803564E0 00352140 2C 00 00 00 */ cmpwi r0, 0
/* 803564E4 00352144 41 82 00 1C */ beq lbl_80356500
/* 803564E8 00352148 38 00 00 08 */ li r0, 8
/* 803564EC 0035214C 7F E3 FB 78 */ mr r3, r31
/* 803564F0 00352150 90 1F 00 10 */ stw r0, 0x10(r31)
/* 803564F4 00352154 38 80 00 00 */ li r4, 0
/* 803564F8 00352158 38 A0 00 00 */ li r5, 0
/* 803564FC 0035215C 4B FF AD 51 */ bl ghiCallProgressCallback
lbl_80356500:
/* 80356500 00352160 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80356504 00352164 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80356508 00352168 7C 08 03 A6 */ mtlr r0
/* 8035650C 0035216C 38 21 00 20 */ addi r1, r1, 0x20
/* 80356510 00352170 4E 80 00 20 */ blr
.global ghiParseStatus
ghiParseStatus:
/* 80356514 00352174 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80356518 00352178 7C 08 02 A6 */ mflr r0
/* 8035651C 0035217C 3C 80 80 45 */ lis r4, lbl_8044C2A8@ha
/* 80356520 00352180 90 01 00 24 */ stw r0, 0x24(r1)
/* 80356524 00352184 38 84 C2 A8 */ addi r4, r4, lbl_8044C2A8@l
/* 80356528 00352188 38 A1 00 14 */ addi r5, r1, 0x14
/* 8035652C 0035218C 38 C1 00 10 */ addi r6, r1, 0x10
/* 80356530 00352190 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80356534 00352194 7C 7F 1B 78 */ mr r31, r3
/* 80356538 00352198 38 E1 00 0C */ addi r7, r1, 0xc
/* 8035653C 0035219C 39 01 00 08 */ addi r8, r1, 8
/* 80356540 003521A0 80 63 00 A0 */ lwz r3, 0xa0(r3)
/* 80356544 003521A4 4C C6 31 82 */ crclr 6
/* 80356548 003521A8 4B E7 7C C1 */ bl sscanf
/* 8035654C 003521AC 2C 03 00 03 */ cmpwi r3, 3
/* 80356550 003521B0 40 82 00 24 */ bne lbl_80356574
/* 80356554 003521B4 80 C1 00 14 */ lwz r6, 0x14(r1)
/* 80356558 003521B8 2C 06 00 01 */ cmpwi r6, 1
/* 8035655C 003521BC 41 80 00 18 */ blt lbl_80356574
/* 80356560 003521C0 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80356564 003521C4 2C 00 00 64 */ cmpwi r0, 0x64
/* 80356568 003521C8 41 80 00 0C */ blt lbl_80356574
/* 8035656C 003521CC 2C 00 02 58 */ cmpwi r0, 0x258
/* 80356570 003521D0 41 80 00 1C */ blt lbl_8035658C
lbl_80356574:
/* 80356574 003521D4 38 60 00 01 */ li r3, 1
/* 80356578 003521D8 38 00 00 07 */ li r0, 7
/* 8035657C 003521DC 90 7F 01 20 */ stw r3, 0x120(r31)
/* 80356580 003521E0 38 60 00 00 */ li r3, 0
/* 80356584 003521E4 90 1F 00 3C */ stw r0, 0x3c(r31)
/* 80356588 003521E8 48 00 00 90 */ b lbl_80356618
lbl_8035658C:
/* 8035658C 003521EC 3C 60 80 42 */ lis r3, lbl_80422D48@ha
/* 80356590 003521F0 80 81 00 08 */ lwz r4, 8(r1)
/* 80356594 003521F4 38 63 2D 48 */ addi r3, r3, lbl_80422D48@l
/* 80356598 003521F8 80 A3 00 38 */ lwz r5, 0x38(r3)
/* 8035659C 003521FC 48 00 00 0C */ b lbl_803565A8
lbl_803565A0:
/* 803565A0 00352200 38 84 00 01 */ addi r4, r4, 1
/* 803565A4 00352204 90 81 00 08 */ stw r4, 8(r1)
lbl_803565A8:
/* 803565A8 00352208 80 7F 00 A0 */ lwz r3, 0xa0(r31)
/* 803565AC 0035220C 7C E3 20 AE */ lbzx r7, r3, r4
/* 803565B0 00352210 7C E3 07 75 */ extsb. r3, r7
/* 803565B4 00352214 41 82 00 44 */ beq lbl_803565F8
/* 803565B8 00352218 38 00 00 00 */ li r0, 0
/* 803565BC 0035221C 41 80 00 0C */ blt lbl_803565C8
/* 803565C0 00352220 2C 03 01 00 */ cmpwi r3, 0x100
/* 803565C4 00352224 41 80 00 08 */ blt lbl_803565CC
lbl_803565C8:
/* 803565C8 00352228 38 00 00 01 */ li r0, 1
lbl_803565CC:
/* 803565CC 0035222C 2C 00 00 00 */ cmpwi r0, 0
/* 803565D0 00352230 41 82 00 0C */ beq lbl_803565DC
/* 803565D4 00352234 38 00 00 00 */ li r0, 0
/* 803565D8 00352238 48 00 00 18 */ b lbl_803565F0
lbl_803565DC:
/* 803565DC 0035223C 7C E0 07 74 */ extsb r0, r7
/* 803565E0 00352240 80 65 00 08 */ lwz r3, 8(r5)
/* 803565E4 00352244 54 00 08 3C */ slwi r0, r0, 1
/* 803565E8 00352248 7C 03 02 2E */ lhzx r0, r3, r0
/* 803565EC 0035224C 54 00 05 EE */ rlwinm r0, r0, 0, 0x17, 0x17
lbl_803565F0:
/* 803565F0 00352250 2C 00 00 00 */ cmpwi r0, 0
/* 803565F4 00352254 40 82 FF AC */ bne lbl_803565A0
lbl_803565F8:
/* 803565F8 00352258 90 DF 01 0C */ stw r6, 0x10c(r31)
/* 803565FC 0035225C 38 60 00 01 */ li r3, 1
/* 80356600 00352260 80 01 00 10 */ lwz r0, 0x10(r1)
/* 80356604 00352264 90 1F 01 10 */ stw r0, 0x110(r31)
/* 80356608 00352268 80 01 00 0C */ lwz r0, 0xc(r1)
/* 8035660C 0035226C 90 1F 01 14 */ stw r0, 0x114(r31)
/* 80356610 00352270 80 01 00 08 */ lwz r0, 8(r1)
/* 80356614 00352274 90 1F 01 18 */ stw r0, 0x118(r31)
lbl_80356618:
/* 80356618 00352278 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8035661C 0035227C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80356620 00352280 7C 08 03 A6 */ mtlr r0
/* 80356624 00352284 38 21 00 20 */ addi r1, r1, 0x20
/* 80356628 00352288 4E 80 00 20 */ blr
.global ghiDoReceivingStatus
ghiDoReceivingStatus:
/* 8035662C 0035228C 94 21 FB E0 */ stwu r1, -0x420(r1)
/* 80356630 00352290 7C 08 02 A6 */ mflr r0
/* 80356634 00352294 90 01 04 24 */ stw r0, 0x424(r1)
/* 80356638 00352298 38 00 04 00 */ li r0, 0x400
/* 8035663C 0035229C 38 81 00 10 */ addi r4, r1, 0x10
/* 80356640 003522A0 38 A1 00 08 */ addi r5, r1, 8
/* 80356644 003522A4 93 E1 04 1C */ stw r31, 0x41c(r1)
/* 80356648 003522A8 93 C1 04 18 */ stw r30, 0x418(r1)
/* 8035664C 003522AC 93 A1 04 14 */ stw r29, 0x414(r1)
/* 80356650 003522B0 7C 7D 1B 78 */ mr r29, r3
/* 80356654 003522B4 90 01 00 08 */ stw r0, 8(r1)
/* 80356658 003522B8 4B FF AD ED */ bl ghiDoReceive
/* 8035665C 003522BC 2C 03 00 03 */ cmpwi r3, 3
/* 80356660 003522C0 7C 7F 1B 78 */ mr r31, r3
/* 80356664 003522C4 41 82 01 30 */ beq lbl_80356794
/* 80356668 003522C8 2C 03 00 01 */ cmpwi r3, 1
/* 8035666C 003522CC 41 82 01 28 */ beq lbl_80356794
/* 80356670 003522D0 2C 03 00 00 */ cmpwi r3, 0
/* 80356674 003522D4 40 82 00 64 */ bne lbl_803566D8
/* 80356678 003522D8 80 1D 01 94 */ lwz r0, 0x194(r29)
/* 8035667C 003522DC 2C 00 00 00 */ cmpwi r0, 0
/* 80356680 003522E0 41 82 00 40 */ beq lbl_803566C0
/* 80356684 003522E4 80 A1 00 08 */ lwz r5, 8(r1)
/* 80356688 003522E8 38 7D 00 C0 */ addi r3, r29, 0xc0
/* 8035668C 003522EC 38 81 00 10 */ addi r4, r1, 0x10
/* 80356690 003522F0 4B FF A4 2D */ bl ghiAppendDataToBuffer
/* 80356694 003522F4 2C 03 00 00 */ cmpwi r3, 0
/* 80356698 003522F8 41 82 00 FC */ beq lbl_80356794
/* 8035669C 003522FC 7F A3 EB 78 */ mr r3, r29
/* 803566A0 00352300 4B FF AC 55 */ bl ghiDecryptReceivedData
/* 803566A4 00352304 2C 03 00 00 */ cmpwi r3, 0
/* 803566A8 00352308 40 82 00 30 */ bne lbl_803566D8
/* 803566AC 0035230C 38 60 00 01 */ li r3, 1
/* 803566B0 00352310 38 00 00 11 */ li r0, 0x11
/* 803566B4 00352314 90 7D 01 20 */ stw r3, 0x120(r29)
/* 803566B8 00352318 90 1D 00 3C */ stw r0, 0x3c(r29)
/* 803566BC 0035231C 48 00 00 D8 */ b lbl_80356794
lbl_803566C0:
/* 803566C0 00352320 80 A1 00 08 */ lwz r5, 8(r1)
/* 803566C4 00352324 38 7D 00 9C */ addi r3, r29, 0x9c
/* 803566C8 00352328 38 81 00 10 */ addi r4, r1, 0x10
/* 803566CC 0035232C 4B FF A3 F1 */ bl ghiAppendDataToBuffer
/* 803566D0 00352330 2C 03 00 00 */ cmpwi r3, 0
/* 803566D4 00352334 41 82 00 C0 */ beq lbl_80356794
lbl_803566D8:
/* 803566D8 00352338 80 7D 00 A0 */ lwz r3, 0xa0(r29)
/* 803566DC 0035233C 38 8D 94 10 */ addi r4, r13, lbl_8063E6D0-_SDA_BASE_
/* 803566E0 00352340 4B E7 80 C1 */ bl strstr
/* 803566E4 00352344 2C 03 00 00 */ cmpwi r3, 0
/* 803566E8 00352348 41 82 00 88 */ beq lbl_80356770
/* 803566EC 0035234C 3B E0 00 00 */ li r31, 0
/* 803566F0 00352350 9B E3 00 00 */ stb r31, 0(r3)
/* 803566F4 00352354 80 1D 00 A0 */ lwz r0, 0xa0(r29)
/* 803566F8 00352358 7F C0 18 50 */ subf r30, r0, r3
/* 803566FC 0035235C 7F A3 EB 78 */ mr r3, r29
/* 80356700 00352360 4B FF FE 15 */ bl ghiParseStatus
/* 80356704 00352364 2C 03 00 00 */ cmpwi r3, 0
/* 80356708 00352368 41 82 00 8C */ beq lbl_80356794
/* 8035670C 0035236C 80 1D 01 14 */ lwz r0, 0x114(r29)
/* 80356710 00352370 38 7E 00 02 */ addi r3, r30, 2
/* 80356714 00352374 90 7D 01 1C */ stw r3, 0x11c(r29)
/* 80356718 00352378 2C 00 00 64 */ cmpwi r0, 0x64
/* 8035671C 0035237C 40 82 00 38 */ bne lbl_80356754
/* 80356720 00352380 80 1D 01 7C */ lwz r0, 0x17c(r29)
/* 80356724 00352384 2C 00 00 00 */ cmpwi r0, 0
/* 80356728 00352388 41 82 00 2C */ beq lbl_80356754
/* 8035672C 0035238C 93 FD 01 7C */ stw r31, 0x17c(r29)
/* 80356730 00352390 38 7D 00 9C */ addi r3, r29, 0x9c
/* 80356734 00352394 4B FF A8 FD */ bl ghiResetBuffer
/* 80356738 00352398 38 00 00 06 */ li r0, 6
/* 8035673C 0035239C 7F A3 EB 78 */ mr r3, r29
/* 80356740 003523A0 90 1D 00 10 */ stw r0, 0x10(r29)
/* 80356744 003523A4 38 80 00 00 */ li r4, 0
/* 80356748 003523A8 38 A0 00 00 */ li r5, 0
/* 8035674C 003523AC 4B FF AB 01 */ bl ghiCallProgressCallback
/* 80356750 003523B0 48 00 00 44 */ b lbl_80356794
lbl_80356754:
/* 80356754 003523B4 38 00 00 09 */ li r0, 9
/* 80356758 003523B8 7F A3 EB 78 */ mr r3, r29
/* 8035675C 003523BC 90 1D 00 10 */ stw r0, 0x10(r29)
/* 80356760 003523C0 38 80 00 00 */ li r4, 0
/* 80356764 003523C4 38 A0 00 00 */ li r5, 0
/* 80356768 003523C8 4B FF AA E5 */ bl ghiCallProgressCallback
/* 8035676C 003523CC 48 00 00 28 */ b lbl_80356794
lbl_80356770:
/* 80356770 003523D0 2C 1F 00 02 */ cmpwi r31, 2
/* 80356774 003523D4 40 82 00 20 */ bne lbl_80356794
/* 80356778 003523D8 38 60 00 01 */ li r3, 1
/* 8035677C 003523DC 38 00 00 07 */ li r0, 7
/* 80356780 003523E0 90 7D 01 20 */ stw r3, 0x120(r29)
/* 80356784 003523E4 80 7D 00 4C */ lwz r3, 0x4c(r29)
/* 80356788 003523E8 90 1D 00 3C */ stw r0, 0x3c(r29)
/* 8035678C 003523EC 4B FE 18 1D */ bl GOAGetLastError
/* 80356790 003523F0 90 7D 00 50 */ stw r3, 0x50(r29)
lbl_80356794:
/* 80356794 003523F4 80 01 04 24 */ lwz r0, 0x424(r1)
/* 80356798 003523F8 83 E1 04 1C */ lwz r31, 0x41c(r1)
/* 8035679C 003523FC 83 C1 04 18 */ lwz r30, 0x418(r1)
/* 803567A0 00352400 83 A1 04 14 */ lwz r29, 0x414(r1)
/* 803567A4 00352404 7C 08 03 A6 */ mtlr r0
/* 803567A8 00352408 38 21 04 20 */ addi r1, r1, 0x420
/* 803567AC 0035240C 4E 80 00 20 */ blr
.global ghiDeliverIncomingFileData
ghiDeliverIncomingFileData:
/* 803567B0 00352410 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803567B4 00352414 7C 08 02 A6 */ mflr r0
/* 803567B8 00352418 38 E0 00 00 */ li r7, 0
/* 803567BC 0035241C 90 01 00 14 */ stw r0, 0x14(r1)
/* 803567C0 00352420 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803567C4 00352424 7C 7F 1B 78 */ mr r31, r3
/* 803567C8 00352428 80 C3 01 24 */ lwz r6, 0x124(r3)
/* 803567CC 0035242C 80 03 01 28 */ lwz r0, 0x128(r3)
/* 803567D0 00352430 7C C6 2A 14 */ add r6, r6, r5
/* 803567D4 00352434 7C 06 00 00 */ cmpw r6, r0
/* 803567D8 00352438 90 C3 01 24 */ stw r6, 0x124(r3)
/* 803567DC 0035243C 38 C0 00 00 */ li r6, 0
/* 803567E0 00352440 41 82 00 10 */ beq lbl_803567F0
/* 803567E4 00352444 80 03 01 54 */ lwz r0, 0x154(r3)
/* 803567E8 00352448 2C 00 00 00 */ cmpwi r0, 0
/* 803567EC 0035244C 41 82 00 0C */ beq lbl_803567F8
lbl_803567F0:
/* 803567F0 00352450 38 00 00 01 */ li r0, 1
/* 803567F4 00352454 90 03 01 20 */ stw r0, 0x120(r3)
lbl_803567F8:
/* 803567F8 00352458 80 03 00 0C */ lwz r0, 0xc(r3)
/* 803567FC 0035245C 2C 00 00 00 */ cmpwi r0, 0
/* 80356800 00352460 40 82 00 28 */ bne lbl_80356828
/* 80356804 00352464 38 63 00 E4 */ addi r3, r3, 0xe4
/* 80356808 00352468 4B FF A2 B5 */ bl ghiAppendDataToBuffer
/* 8035680C 0035246C 2C 03 00 00 */ cmpwi r3, 0
/* 80356810 00352470 40 82 00 0C */ bne lbl_8035681C
/* 80356814 00352474 38 60 00 00 */ li r3, 0
/* 80356818 00352478 48 00 00 68 */ b lbl_80356880
lbl_8035681C:
/* 8035681C 0035247C 80 DF 00 E8 */ lwz r6, 0xe8(r31)
/* 80356820 00352480 80 FF 00 F0 */ lwz r7, 0xf0(r31)
/* 80356824 00352484 48 00 00 48 */ b lbl_8035686C
lbl_80356828:
/* 80356828 00352488 2C 00 00 01 */ cmpwi r0, 1
/* 8035682C 0035248C 40 82 00 30 */ bne lbl_8035685C
/* 80356830 00352490 2C 05 00 00 */ cmpwi r5, 0
/* 80356834 00352494 41 82 00 1C */ beq lbl_80356850
/* 80356838 00352498 38 80 00 01 */ li r4, 1
/* 8035683C 0035249C 38 00 00 0D */ li r0, 0xd
/* 80356840 003524A0 90 83 01 20 */ stw r4, 0x120(r3)
/* 80356844 003524A4 90 03 00 3C */ stw r0, 0x3c(r3)
/* 80356848 003524A8 38 60 00 00 */ li r3, 0
/* 8035684C 003524AC 48 00 00 34 */ b lbl_80356880
lbl_80356850:
/* 80356850 003524B0 7C 86 23 78 */ mr r6, r4
/* 80356854 003524B4 7C A7 2B 78 */ mr r7, r5
/* 80356858 003524B8 48 00 00 14 */ b lbl_8035686C
lbl_8035685C:
/* 8035685C 003524BC 2C 00 00 02 */ cmpwi r0, 2
/* 80356860 003524C0 40 82 00 0C */ bne lbl_8035686C
/* 80356864 003524C4 7C 86 23 78 */ mr r6, r4
/* 80356868 003524C8 7C A7 2B 78 */ mr r7, r5
lbl_8035686C:
/* 8035686C 003524CC 7F E3 FB 78 */ mr r3, r31
/* 80356870 003524D0 7C C4 33 78 */ mr r4, r6
/* 80356874 003524D4 7C E5 3B 78 */ mr r5, r7
/* 80356878 003524D8 4B FF A9 D5 */ bl ghiCallProgressCallback
/* 8035687C 003524DC 38 60 00 01 */ li r3, 1
lbl_80356880:
/* 80356880 003524E0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80356884 003524E4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80356888 003524E8 7C 08 03 A6 */ mtlr r0
/* 8035688C 003524EC 38 21 00 10 */ addi r1, r1, 0x10
/* 80356890 003524F0 4E 80 00 20 */ blr
.global ghiProcessIncomingFileData
ghiProcessIncomingFileData:
/* 80356894 003524F4 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80356898 003524F8 7C 08 02 A6 */ mflr r0
/* 8035689C 003524FC 90 01 00 44 */ stw r0, 0x44(r1)
/* 803568A0 00352500 39 61 00 40 */ addi r11, r1, 0x40
/* 803568A4 00352504 4B E7 08 75 */ bl _savegpr_23
/* 803568A8 00352508 80 03 01 34 */ lwz r0, 0x134(r3)
/* 803568AC 0035250C 7C 7D 1B 78 */ mr r29, r3
/* 803568B0 00352510 7C 9E 23 78 */ mr r30, r4
/* 803568B4 00352514 7C BF 2B 78 */ mr r31, r5
/* 803568B8 00352518 2C 00 00 00 */ cmpwi r0, 0
/* 803568BC 0035251C 41 82 02 28 */ beq lbl_80356AE4
/* 803568C0 00352520 3B 00 00 00 */ li r24, 0
/* 803568C4 00352524 3B 80 00 02 */ li r28, 2
/* 803568C8 00352528 3B 40 00 01 */ li r26, 1
/* 803568CC 0035252C 3B 20 00 03 */ li r25, 3
/* 803568D0 00352530 48 00 02 04 */ b lbl_80356AD4
lbl_803568D4:
/* 803568D4 00352534 80 1D 01 4C */ lwz r0, 0x14c(r29)
/* 803568D8 00352538 2C 00 00 00 */ cmpwi r0, 0
/* 803568DC 0035253C 40 82 01 34 */ bne lbl_80356A10
/* 803568E0 00352540 7F C3 F3 78 */ mr r3, r30
/* 803568E4 00352544 38 80 00 0A */ li r4, 0xa
/* 803568E8 00352548 4B E7 7C C1 */ bl strchr
/* 803568EC 0035254C 2C 03 00 00 */ cmpwi r3, 0
/* 803568F0 00352550 7C 7B 1B 78 */ mr r27, r3
/* 803568F4 00352554 41 82 00 C4 */ beq lbl_803569B8
/* 803568F8 00352558 7E FE 18 51 */ subf. r23, r30, r3
/* 803568FC 0035255C 41 82 00 48 */ beq lbl_80356944
/* 80356900 00352560 80 1D 01 44 */ lwz r0, 0x144(r29)
/* 80356904 00352564 2C 00 00 0A */ cmpwi r0, 0xa
/* 80356908 00352568 40 80 00 3C */ bge lbl_80356944
/* 8035690C 0035256C 20 60 00 0A */ subfic r3, r0, 0xa
/* 80356910 00352570 7C 03 B8 00 */ cmpw r3, r23
/* 80356914 00352574 40 80 00 08 */ bge lbl_8035691C
/* 80356918 00352578 7C 77 1B 78 */ mr r23, r3
lbl_8035691C:
/* 8035691C 0035257C 7C 7D 02 14 */ add r3, r29, r0
/* 80356920 00352580 7F C4 F3 78 */ mr r4, r30
/* 80356924 00352584 7E E5 BB 78 */ mr r5, r23
/* 80356928 00352588 38 63 01 38 */ addi r3, r3, 0x138
/* 8035692C 0035258C 4B CA D6 D5 */ bl memcpy
/* 80356930 00352590 80 1D 01 44 */ lwz r0, 0x144(r29)
/* 80356934 00352594 7C 00 BA 14 */ add r0, r0, r23
/* 80356938 00352598 90 1D 01 44 */ stw r0, 0x144(r29)
/* 8035693C 0035259C 7C 7D 02 14 */ add r3, r29, r0
/* 80356940 003525A0 9B 03 01 38 */ stb r24, 0x138(r3)
lbl_80356944:
/* 80356944 003525A4 38 9B 00 01 */ addi r4, r27, 1
/* 80356948 003525A8 38 7D 01 38 */ addi r3, r29, 0x138
/* 8035694C 003525AC 7C 1E 20 50 */ subf r0, r30, r4
/* 80356950 003525B0 38 A1 00 08 */ addi r5, r1, 8
/* 80356954 003525B4 7C 9E 23 78 */ mr r30, r4
/* 80356958 003525B8 38 8D 94 20 */ addi r4, r13, lbl_8063E6E0-_SDA_BASE_
/* 8035695C 003525BC 7F E0 F8 50 */ subf r31, r0, r31
/* 80356960 003525C0 4C C6 31 82 */ crclr 6
/* 80356964 003525C4 4B E7 78 A5 */ bl sscanf
/* 80356968 003525C8 2C 03 00 01 */ cmpwi r3, 1
/* 8035696C 003525CC 41 82 00 0C */ beq lbl_80356978
/* 80356970 003525D0 38 00 FF FF */ li r0, -1
/* 80356974 003525D4 48 00 00 08 */ b lbl_8035697C
lbl_80356978:
/* 80356978 003525D8 80 01 00 08 */ lwz r0, 8(r1)
lbl_8035697C:
/* 8035697C 003525DC 2C 00 FF FF */ cmpwi r0, -1
/* 80356980 003525E0 90 1D 01 48 */ stw r0, 0x148(r29)
/* 80356984 003525E4 40 82 00 1C */ bne lbl_803569A0
/* 80356988 003525E8 38 60 00 01 */ li r3, 1
/* 8035698C 003525EC 38 00 00 07 */ li r0, 7
/* 80356990 003525F0 90 7D 01 20 */ stw r3, 0x120(r29)
/* 80356994 003525F4 38 60 00 00 */ li r3, 0
/* 80356998 003525F8 90 1D 00 3C */ stw r0, 0x3c(r29)
/* 8035699C 003525FC 48 00 01 4C */ b lbl_80356AE8
lbl_803569A0:
/* 803569A0 00352600 2C 00 00 00 */ cmpwi r0, 0
/* 803569A4 00352604 40 82 00 0C */ bne lbl_803569B0
/* 803569A8 00352608 93 3D 01 4C */ stw r25, 0x14c(r29)
/* 803569AC 0035260C 48 00 01 28 */ b lbl_80356AD4
lbl_803569B0:
/* 803569B0 00352610 93 5D 01 4C */ stw r26, 0x14c(r29)
/* 803569B4 00352614 48 00 01 20 */ b lbl_80356AD4
lbl_803569B8:
/* 803569B8 00352618 2C 1F 00 00 */ cmpwi r31, 0
/* 803569BC 0035261C 41 82 00 4C */ beq lbl_80356A08
/* 803569C0 00352620 80 1D 01 44 */ lwz r0, 0x144(r29)
/* 803569C4 00352624 2C 00 00 0A */ cmpwi r0, 0xa
/* 803569C8 00352628 40 80 00 40 */ bge lbl_80356A08
/* 803569CC 0035262C 20 60 00 0A */ subfic r3, r0, 0xa
/* 803569D0 00352630 7C 03 F8 00 */ cmpw r3, r31
/* 803569D4 00352634 40 80 00 08 */ bge lbl_803569DC
/* 803569D8 00352638 7C 7F 1B 78 */ mr r31, r3
lbl_803569DC:
/* 803569DC 0035263C 7C 7D 02 14 */ add r3, r29, r0
/* 803569E0 00352640 7F C4 F3 78 */ mr r4, r30
/* 803569E4 00352644 7F E5 FB 78 */ mr r5, r31
/* 803569E8 00352648 38 63 01 38 */ addi r3, r3, 0x138
/* 803569EC 0035264C 4B CA D6 15 */ bl memcpy
/* 803569F0 00352650 80 7D 01 44 */ lwz r3, 0x144(r29)
/* 803569F4 00352654 38 00 00 00 */ li r0, 0
/* 803569F8 00352658 7C 63 FA 14 */ add r3, r3, r31
/* 803569FC 0035265C 90 7D 01 44 */ stw r3, 0x144(r29)
/* 80356A00 00352660 7C 7D 1A 14 */ add r3, r29, r3
/* 80356A04 00352664 98 03 01 38 */ stb r0, 0x138(r3)
lbl_80356A08:
/* 80356A08 00352668 38 60 00 01 */ li r3, 1
/* 80356A0C 0035266C 48 00 00 DC */ b lbl_80356AE8
lbl_80356A10:
/* 80356A10 00352670 2C 00 00 01 */ cmpwi r0, 1
/* 80356A14 00352674 40 82 00 58 */ bne lbl_80356A6C
/* 80356A18 00352678 80 1D 01 48 */ lwz r0, 0x148(r29)
/* 80356A1C 0035267C 7F FB FB 78 */ mr r27, r31
/* 80356A20 00352680 7C 00 F8 00 */ cmpw r0, r31
/* 80356A24 00352684 40 80 00 08 */ bge lbl_80356A2C
/* 80356A28 00352688 7C 1B 03 78 */ mr r27, r0
lbl_80356A2C:
/* 80356A2C 0035268C 7F A3 EB 78 */ mr r3, r29
/* 80356A30 00352690 7F C4 F3 78 */ mr r4, r30
/* 80356A34 00352694 7F 65 DB 78 */ mr r5, r27
/* 80356A38 00352698 4B FF FD 79 */ bl ghiDeliverIncomingFileData
/* 80356A3C 0035269C 2C 03 00 00 */ cmpwi r3, 0
/* 80356A40 003526A0 40 82 00 0C */ bne lbl_80356A4C
/* 80356A44 003526A4 38 60 00 00 */ li r3, 0
/* 80356A48 003526A8 48 00 00 A0 */ b lbl_80356AE8
lbl_80356A4C:
/* 80356A4C 003526AC 80 1D 01 48 */ lwz r0, 0x148(r29)
/* 80356A50 003526B0 7F DE DA 14 */ add r30, r30, r27
/* 80356A54 003526B4 7F FB F8 50 */ subf r31, r27, r31
/* 80356A58 003526B8 7C 1B 00 51 */ subf. r0, r27, r0
/* 80356A5C 003526BC 90 1D 01 48 */ stw r0, 0x148(r29)
/* 80356A60 003526C0 40 82 00 74 */ bne lbl_80356AD4
/* 80356A64 003526C4 93 9D 01 4C */ stw r28, 0x14c(r29)
/* 80356A68 003526C8 48 00 00 6C */ b lbl_80356AD4
lbl_80356A6C:
/* 80356A6C 003526CC 2C 00 00 02 */ cmpwi r0, 2
/* 80356A70 003526D0 40 82 00 44 */ bne lbl_80356AB4
/* 80356A74 003526D4 7F C3 F3 78 */ mr r3, r30
/* 80356A78 003526D8 38 80 00 0A */ li r4, 0xa
/* 80356A7C 003526DC 4B E7 7B 2D */ bl strchr
/* 80356A80 003526E0 2C 03 00 00 */ cmpwi r3, 0
/* 80356A84 003526E4 40 82 00 0C */ bne lbl_80356A90
/* 80356A88 003526E8 38 60 00 01 */ li r3, 1
/* 80356A8C 003526EC 48 00 00 5C */ b lbl_80356AE8
lbl_80356A90:
/* 80356A90 003526F0 38 63 00 01 */ addi r3, r3, 1
/* 80356A94 003526F4 9B 1D 01 38 */ stb r24, 0x138(r29)
/* 80356A98 003526F8 7C 1E 18 50 */ subf r0, r30, r3
/* 80356A9C 003526FC 93 1D 01 44 */ stw r24, 0x144(r29)
/* 80356AA0 00352700 7C 7E 1B 78 */ mr r30, r3
/* 80356AA4 00352704 7F E0 F8 50 */ subf r31, r0, r31
/* 80356AA8 00352708 93 1D 01 48 */ stw r24, 0x148(r29)
/* 80356AAC 0035270C 93 1D 01 4C */ stw r24, 0x14c(r29)
/* 80356AB0 00352710 48 00 00 24 */ b lbl_80356AD4
lbl_80356AB4:
/* 80356AB4 00352714 2C 00 00 03 */ cmpwi r0, 3
/* 80356AB8 00352718 40 82 00 14 */ bne lbl_80356ACC
/* 80356ABC 0035271C 38 00 00 01 */ li r0, 1
/* 80356AC0 00352720 38 60 00 01 */ li r3, 1
/* 80356AC4 00352724 90 1D 01 20 */ stw r0, 0x120(r29)
/* 80356AC8 00352728 48 00 00 20 */ b lbl_80356AE8
lbl_80356ACC:
/* 80356ACC 0035272C 38 60 00 00 */ li r3, 0
/* 80356AD0 00352730 48 00 00 18 */ b lbl_80356AE8
lbl_80356AD4:
/* 80356AD4 00352734 2C 1F 00 00 */ cmpwi r31, 0
/* 80356AD8 00352738 41 81 FD FC */ bgt lbl_803568D4
/* 80356ADC 0035273C 38 60 00 01 */ li r3, 1
/* 80356AE0 00352740 48 00 00 08 */ b lbl_80356AE8
lbl_80356AE4:
/* 80356AE4 00352744 4B FF FC CD */ bl ghiDeliverIncomingFileData
lbl_80356AE8:
/* 80356AE8 00352748 39 61 00 40 */ addi r11, r1, 0x40
/* 80356AEC 0035274C 4B E7 06 79 */ bl _restgpr_23
/* 80356AF0 00352750 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80356AF4 00352754 7C 08 03 A6 */ mtlr r0
/* 80356AF8 00352758 38 21 00 40 */ addi r1, r1, 0x40
/* 80356AFC 0035275C 4E 80 00 20 */ blr
.global ghiDoReceivingHeaders
ghiDoReceivingHeaders:
/* 80356B00 00352760 94 21 EF C0 */ stwu r1, -0x1040(r1)
/* 80356B04 00352764 7C 08 02 A6 */ mflr r0
/* 80356B08 00352768 90 01 10 44 */ stw r0, 0x1044(r1)
/* 80356B0C 0035276C 39 61 10 40 */ addi r11, r1, 0x1040
/* 80356B10 00352770 4B E7 06 05 */ bl _savegpr_22
/* 80356B14 00352774 38 00 10 00 */ li r0, 0x1000
/* 80356B18 00352778 3F C0 80 45 */ lis r30, lbl_8044C238@ha
/* 80356B1C 0035277C 90 01 00 08 */ stw r0, 8(r1)
/* 80356B20 00352780 7C 78 1B 78 */ mr r24, r3
/* 80356B24 00352784 3B DE C2 38 */ addi r30, r30, lbl_8044C238@l
/* 80356B28 00352788 38 81 00 18 */ addi r4, r1, 0x18
/* 80356B2C 0035278C 38 A1 00 08 */ addi r5, r1, 8
/* 80356B30 00352790 3A E0 00 01 */ li r23, 1
/* 80356B34 00352794 4B FF A9 11 */ bl ghiDoReceive
/* 80356B38 00352798 2C 03 00 03 */ cmpwi r3, 3
/* 80356B3C 0035279C 7C 76 1B 78 */ mr r22, r3
/* 80356B40 003527A0 41 82 05 1C */ beq lbl_8035705C
/* 80356B44 003527A4 2C 03 00 01 */ cmpwi r3, 1
/* 80356B48 003527A8 41 82 05 14 */ beq lbl_8035705C
/* 80356B4C 003527AC 2C 03 00 00 */ cmpwi r3, 0
/* 80356B50 003527B0 40 82 00 64 */ bne lbl_80356BB4
/* 80356B54 003527B4 80 18 01 94 */ lwz r0, 0x194(r24)
/* 80356B58 003527B8 2C 00 00 00 */ cmpwi r0, 0
/* 80356B5C 003527BC 41 82 00 40 */ beq lbl_80356B9C
/* 80356B60 003527C0 80 A1 00 08 */ lwz r5, 8(r1)
/* 80356B64 003527C4 38 78 00 C0 */ addi r3, r24, 0xc0
/* 80356B68 003527C8 38 81 00 18 */ addi r4, r1, 0x18
/* 80356B6C 003527CC 4B FF 9F 51 */ bl ghiAppendDataToBuffer
/* 80356B70 003527D0 2C 03 00 00 */ cmpwi r3, 0
/* 80356B74 003527D4 41 82 04 E8 */ beq lbl_8035705C
/* 80356B78 003527D8 7F 03 C3 78 */ mr r3, r24
/* 80356B7C 003527DC 4B FF A7 79 */ bl ghiDecryptReceivedData
/* 80356B80 003527E0 2C 03 00 00 */ cmpwi r3, 0
/* 80356B84 003527E4 40 82 00 30 */ bne lbl_80356BB4
/* 80356B88 003527E8 38 60 00 01 */ li r3, 1
/* 80356B8C 003527EC 38 00 00 11 */ li r0, 0x11
/* 80356B90 003527F0 90 78 01 20 */ stw r3, 0x120(r24)
/* 80356B94 003527F4 90 18 00 3C */ stw r0, 0x3c(r24)
/* 80356B98 003527F8 48 00 04 C4 */ b lbl_8035705C
lbl_80356B9C:
/* 80356B9C 003527FC 80 A1 00 08 */ lwz r5, 8(r1)
/* 80356BA0 00352800 38 78 00 9C */ addi r3, r24, 0x9c
/* 80356BA4 00352804 38 81 00 18 */ addi r4, r1, 0x18
/* 80356BA8 00352808 4B FF 9F 15 */ bl ghiAppendDataToBuffer
/* 80356BAC 0035280C 2C 03 00 00 */ cmpwi r3, 0
/* 80356BB0 00352810 41 82 04 AC */ beq lbl_8035705C
lbl_80356BB4:
/* 80356BB4 00352814 3C 60 51 EC */ lis r3, 0x51EB851F@ha
/* 80356BB8 00352818 80 18 01 14 */ lwz r0, 0x114(r24)
/* 80356BBC 0035281C 38 63 85 1F */ addi r3, r3, 0x51EB851F@l
/* 80356BC0 00352820 80 98 00 A0 */ lwz r4, 0xa0(r24)
/* 80356BC4 00352824 7C 03 00 96 */ mulhw r0, r3, r0
/* 80356BC8 00352828 80 78 01 1C */ lwz r3, 0x11c(r24)
/* 80356BCC 0035282C 7F A4 1A 14 */ add r29, r4, r3
/* 80356BD0 00352830 7C 00 2E 70 */ srawi r0, r0, 5
/* 80356BD4 00352834 54 03 0F FE */ srwi r3, r0, 0x1f
/* 80356BD8 00352838 7C 00 1A 14 */ add r0, r0, r3
/* 80356BDC 0035283C 2C 00 00 01 */ cmpwi r0, 1
/* 80356BE0 00352840 40 82 00 40 */ bne lbl_80356C20
/* 80356BE4 00352844 7F A3 EB 78 */ mr r3, r29
/* 80356BE8 00352848 38 8D 94 10 */ addi r4, r13, lbl_8063E6D0-_SDA_BASE_
/* 80356BEC 0035284C 38 A0 00 02 */ li r5, 2
/* 80356BF0 00352850 4B E7 79 79 */ bl strncmp
/* 80356BF4 00352854 2C 03 00 00 */ cmpwi r3, 0
/* 80356BF8 00352858 41 82 00 1C */ beq lbl_80356C14
/* 80356BFC 0035285C 7F A3 EB 78 */ mr r3, r29
/* 80356C00 00352860 38 8D 94 24 */ addi r4, r13, lbl_8063E6E4-_SDA_BASE_
/* 80356C04 00352864 38 A0 00 02 */ li r5, 2
/* 80356C08 00352868 4B E7 79 61 */ bl strncmp
/* 80356C0C 0035286C 2C 03 00 00 */ cmpwi r3, 0
/* 80356C10 00352870 40 82 00 10 */ bne lbl_80356C20
lbl_80356C14:
/* 80356C14 00352874 7F A3 EB 78 */ mr r3, r29
/* 80356C18 00352878 3A E0 00 00 */ li r23, 0
/* 80356C1C 0035287C 48 00 00 10 */ b lbl_80356C2C
lbl_80356C20:
/* 80356C20 00352880 7F A3 EB 78 */ mr r3, r29
/* 80356C24 00352884 38 8D 94 28 */ addi r4, r13, lbl_8063E6E8-_SDA_BASE_
/* 80356C28 00352888 4B E7 7B 79 */ bl strstr
lbl_80356C2C:
/* 80356C2C 0035288C 2C 03 00 00 */ cmpwi r3, 0
/* 80356C30 00352890 40 82 00 10 */ bne lbl_80356C40
/* 80356C34 00352894 7F A3 EB 78 */ mr r3, r29
/* 80356C38 00352898 38 8D 94 24 */ addi r4, r13, lbl_8063E6E4-_SDA_BASE_
/* 80356C3C 0035289C 4B E7 7B 65 */ bl strstr
lbl_80356C40:
/* 80356C40 003528A0 2C 03 00 00 */ cmpwi r3, 0
/* 80356C44 003528A4 41 82 03 F4 */ beq lbl_80357038
/* 80356C48 003528A8 2C 17 00 01 */ cmpwi r23, 1
/* 80356C4C 003528AC 40 82 00 08 */ bne lbl_80356C54
/* 80356C50 003528B0 38 63 00 02 */ addi r3, r3, 2
lbl_80356C54:
/* 80356C54 003528B4 38 00 00 00 */ li r0, 0
/* 80356C58 003528B8 3C 80 51 EC */ lis r4, 0x51EB851F@ha
/* 80356C5C 003528BC 98 03 00 00 */ stb r0, 0(r3)
/* 80356C60 003528C0 38 84 85 1F */ addi r4, r4, 0x51EB851F@l
/* 80356C64 003528C4 3B 83 00 02 */ addi r28, r3, 2
/* 80356C68 003528C8 80 18 01 14 */ lwz r0, 0x114(r24)
/* 80356C6C 003528CC 80 D8 00 A0 */ lwz r6, 0xa0(r24)
/* 80356C70 003528D0 7C 04 00 96 */ mulhw r0, r4, r0
/* 80356C74 003528D4 80 98 00 A8 */ lwz r4, 0xa8(r24)
/* 80356C78 003528D8 7C 66 18 50 */ subf r3, r6, r3
/* 80356C7C 003528DC 7C A6 E0 50 */ subf r5, r6, r28
/* 80356C80 003528E0 38 63 00 01 */ addi r3, r3, 1
/* 80356C84 003528E4 90 78 00 A8 */ stw r3, 0xa8(r24)
/* 80356C88 003528E8 7C 00 2E 70 */ srawi r0, r0, 5
/* 80356C8C 003528EC 90 78 00 AC */ stw r3, 0xac(r24)
/* 80356C90 003528F0 54 03 0F FE */ srwi r3, r0, 0x1f
/* 80356C94 003528F4 7F 65 20 50 */ subf r27, r5, r4
/* 80356C98 003528F8 7C 00 1A 14 */ add r0, r0, r3
/* 80356C9C 003528FC 2C 00 00 01 */ cmpwi r0, 1
/* 80356CA0 00352900 40 82 00 74 */ bne lbl_80356D14
/* 80356CA4 00352904 2C 1B 00 00 */ cmpwi r27, 0
/* 80356CA8 00352908 41 82 00 1C */ beq lbl_80356CC4
/* 80356CAC 0035290C 7C C3 33 78 */ mr r3, r6
/* 80356CB0 00352910 7F 84 E3 78 */ mr r4, r28
/* 80356CB4 00352914 38 BB 00 01 */ addi r5, r27, 1
/* 80356CB8 00352918 4B E7 35 BD */ bl memmove
/* 80356CBC 0035291C 93 78 00 A8 */ stw r27, 0xa8(r24)
/* 80356CC0 00352920 48 00 00 0C */ b lbl_80356CCC
lbl_80356CC4:
/* 80356CC4 00352924 38 78 00 9C */ addi r3, r24, 0x9c
/* 80356CC8 00352928 4B FF A3 69 */ bl ghiResetBuffer
lbl_80356CCC:
/* 80356CCC 0035292C 80 18 01 7C */ lwz r0, 0x17c(r24)
/* 80356CD0 00352930 2C 00 00 00 */ cmpwi r0, 0
/* 80356CD4 00352934 41 82 00 24 */ beq lbl_80356CF8
/* 80356CD8 00352938 38 60 00 00 */ li r3, 0
/* 80356CDC 0035293C 38 00 00 06 */ li r0, 6
/* 80356CE0 00352940 90 78 01 7C */ stw r3, 0x17c(r24)
/* 80356CE4 00352944 7F 03 C3 78 */ mr r3, r24
/* 80356CE8 00352948 38 80 00 00 */ li r4, 0
/* 80356CEC 0035294C 38 A0 00 00 */ li r5, 0
/* 80356CF0 00352950 90 18 00 10 */ stw r0, 0x10(r24)
/* 80356CF4 00352954 4B FF A5 59 */ bl ghiCallProgressCallback
lbl_80356CF8:
/* 80356CF8 00352958 38 00 00 08 */ li r0, 8
/* 80356CFC 0035295C 7F 03 C3 78 */ mr r3, r24
/* 80356D00 00352960 90 18 00 10 */ stw r0, 0x10(r24)
/* 80356D04 00352964 38 80 00 00 */ li r4, 0
/* 80356D08 00352968 38 A0 00 00 */ li r5, 0
/* 80356D0C 0035296C 4B FF A5 41 */ bl ghiCallProgressCallback
/* 80356D10 00352970 48 00 03 4C */ b lbl_8035705C
lbl_80356D14:
/* 80356D14 00352974 2C 00 00 03 */ cmpwi r0, 3
/* 80356D18 00352978 40 82 01 78 */ bne lbl_80356E90
/* 80356D1C 0035297C 80 18 01 30 */ lwz r0, 0x130(r24)
/* 80356D20 00352980 2C 00 00 0A */ cmpwi r0, 0xa
/* 80356D24 00352984 40 81 00 18 */ ble lbl_80356D3C
/* 80356D28 00352988 38 60 00 01 */ li r3, 1
/* 80356D2C 0035298C 38 00 00 0B */ li r0, 0xb
/* 80356D30 00352990 90 78 01 20 */ stw r3, 0x120(r24)
/* 80356D34 00352994 90 18 00 3C */ stw r0, 0x3c(r24)
/* 80356D38 00352998 48 00 03 24 */ b lbl_8035705C
lbl_80356D3C:
/* 80356D3C 0035299C 7F A3 EB 78 */ mr r3, r29
/* 80356D40 003529A0 38 9E 00 80 */ addi r4, r30, 0x80
/* 80356D44 003529A4 4B E7 7A 5D */ bl strstr
/* 80356D48 003529A8 2C 03 00 00 */ cmpwi r3, 0
/* 80356D4C 003529AC 41 82 01 44 */ beq lbl_80356E90
/* 80356D50 003529B0 3C 80 80 42 */ lis r4, lbl_80422D48@ha
/* 80356D54 003529B4 3B 63 00 09 */ addi r27, r3, 9
/* 80356D58 003529B8 38 84 2D 48 */ addi r4, r4, lbl_80422D48@l
/* 80356D5C 003529BC 80 A4 00 38 */ lwz r5, 0x38(r4)
/* 80356D60 003529C0 48 00 00 08 */ b lbl_80356D68
lbl_80356D64:
/* 80356D64 003529C4 3B 7B 00 01 */ addi r27, r27, 1
lbl_80356D68:
/* 80356D68 003529C8 88 9B 00 00 */ lbz r4, 0(r27)
/* 80356D6C 003529CC 38 00 00 00 */ li r0, 0
/* 80356D70 003529D0 7C 84 07 75 */ extsb. r4, r4
/* 80356D74 003529D4 41 80 00 0C */ blt lbl_80356D80
/* 80356D78 003529D8 2C 04 01 00 */ cmpwi r4, 0x100
/* 80356D7C 003529DC 41 80 00 08 */ blt lbl_80356D84
lbl_80356D80:
/* 80356D80 003529E0 38 00 00 01 */ li r0, 1
lbl_80356D84:
/* 80356D84 003529E4 2C 00 00 00 */ cmpwi r0, 0
/* 80356D88 003529E8 41 82 00 0C */ beq lbl_80356D94
/* 80356D8C 003529EC 38 00 00 00 */ li r0, 0
/* 80356D90 003529F0 48 00 00 14 */ b lbl_80356DA4
lbl_80356D94:
/* 80356D94 003529F4 80 65 00 08 */ lwz r3, 8(r5)
/* 80356D98 003529F8 54 80 08 3C */ slwi r0, r4, 1
/* 80356D9C 003529FC 7C 03 02 2E */ lhzx r0, r3, r0
/* 80356DA0 00352A00 54 00 05 EE */ rlwinm r0, r0, 0, 0x17, 0x17
lbl_80356DA4:
/* 80356DA4 00352A04 2C 00 00 00 */ cmpwi r0, 0
/* 80356DA8 00352A08 40 82 FF BC */ bne lbl_80356D64
/* 80356DAC 00352A0C 7F 66 DB 78 */ mr r6, r27
/* 80356DB0 00352A10 48 00 00 08 */ b lbl_80356DB8
lbl_80356DB4:
/* 80356DB4 00352A14 38 C6 00 01 */ addi r6, r6, 1
lbl_80356DB8:
/* 80356DB8 00352A18 88 06 00 00 */ lbz r0, 0(r6)
/* 80356DBC 00352A1C 7C 04 07 75 */ extsb. r4, r0
/* 80356DC0 00352A20 41 82 00 40 */ beq lbl_80356E00
/* 80356DC4 00352A24 38 00 00 00 */ li r0, 0
/* 80356DC8 00352A28 41 80 00 0C */ blt lbl_80356DD4
/* 80356DCC 00352A2C 2C 04 01 00 */ cmpwi r4, 0x100
/* 80356DD0 00352A30 41 80 00 08 */ blt lbl_80356DD8
lbl_80356DD4:
/* 80356DD4 00352A34 38 00 00 01 */ li r0, 1
lbl_80356DD8:
/* 80356DD8 00352A38 2C 00 00 00 */ cmpwi r0, 0
/* 80356DDC 00352A3C 41 82 00 0C */ beq lbl_80356DE8
/* 80356DE0 00352A40 38 00 00 00 */ li r0, 0
/* 80356DE4 00352A44 48 00 00 14 */ b lbl_80356DF8
lbl_80356DE8:
/* 80356DE8 00352A48 80 65 00 08 */ lwz r3, 8(r5)
/* 80356DEC 00352A4C 54 80 08 3C */ slwi r0, r4, 1
/* 80356DF0 00352A50 7C 03 02 2E */ lhzx r0, r3, r0
/* 80356DF4 00352A54 54 00 05 EE */ rlwinm r0, r0, 0, 0x17, 0x17
lbl_80356DF8:
/* 80356DF8 00352A58 2C 00 00 00 */ cmpwi r0, 0
/* 80356DFC 00352A5C 41 82 FF B8 */ beq lbl_80356DB4
lbl_80356E00:
/* 80356E00 00352A60 38 00 00 00 */ li r0, 0
/* 80356E04 00352A64 98 06 00 00 */ stb r0, 0(r6)
/* 80356E08 00352A68 88 1B 00 00 */ lbz r0, 0(r27)
/* 80356E0C 00352A6C 2C 00 00 2F */ cmpwi r0, 0x2f
/* 80356E10 00352A70 40 82 00 5C */ bne lbl_80356E6C
/* 80356E14 00352A74 7F 63 DB 78 */ mr r3, r27
/* 80356E18 00352A78 4B E6 FD 4D */ bl strlen
/* 80356E1C 00352A7C 7C 76 1B 78 */ mr r22, r3
/* 80356E20 00352A80 80 78 00 18 */ lwz r3, 0x18(r24)
/* 80356E24 00352A84 4B E6 FD 41 */ bl strlen
/* 80356E28 00352A88 7C 63 B2 14 */ add r3, r3, r22
/* 80356E2C 00352A8C 38 63 00 0E */ addi r3, r3, 0xe
/* 80356E30 00352A90 4B FE 24 E5 */ bl gsimalloc
/* 80356E34 00352A94 2C 03 00 00 */ cmpwi r3, 0
/* 80356E38 00352A98 90 78 01 2C */ stw r3, 0x12c(r24)
/* 80356E3C 00352A9C 40 82 00 10 */ bne lbl_80356E4C
/* 80356E40 00352AA0 38 00 00 01 */ li r0, 1
/* 80356E44 00352AA4 90 18 01 20 */ stw r0, 0x120(r24)
/* 80356E48 00352AA8 90 18 00 3C */ stw r0, 0x3c(r24)
lbl_80356E4C:
/* 80356E4C 00352AAC 80 78 01 2C */ lwz r3, 0x12c(r24)
/* 80356E50 00352AB0 7F 67 DB 78 */ mr r7, r27
/* 80356E54 00352AB4 80 B8 00 18 */ lwz r5, 0x18(r24)
/* 80356E58 00352AB8 38 9E 00 8C */ addi r4, r30, 0x8c
/* 80356E5C 00352ABC A0 D8 00 20 */ lhz r6, 0x20(r24)
/* 80356E60 00352AC0 4C C6 31 82 */ crclr 6
/* 80356E64 00352AC4 4B E7 5C 99 */ bl sprintf
/* 80356E68 00352AC8 48 00 01 F4 */ b lbl_8035705C
lbl_80356E6C:
/* 80356E6C 00352ACC 7F 63 DB 78 */ mr r3, r27
/* 80356E70 00352AD0 4B FE 20 95 */ bl goastrdup
/* 80356E74 00352AD4 2C 03 00 00 */ cmpwi r3, 0
/* 80356E78 00352AD8 90 78 01 2C */ stw r3, 0x12c(r24)
/* 80356E7C 00352ADC 40 82 01 E0 */ bne lbl_8035705C
/* 80356E80 00352AE0 38 00 00 01 */ li r0, 1
/* 80356E84 00352AE4 90 18 01 20 */ stw r0, 0x120(r24)
/* 80356E88 00352AE8 90 18 00 3C */ stw r0, 0x3c(r24)
/* 80356E8C 00352AEC 48 00 01 D0 */ b lbl_8035705C
lbl_80356E90:
/* 80356E90 00352AF0 7F A3 EB 78 */ mr r3, r29
/* 80356E94 00352AF4 38 9E 00 A0 */ addi r4, r30, 0xa0
/* 80356E98 00352AF8 4B E7 79 09 */ bl strstr
/* 80356E9C 00352AFC 2C 03 00 00 */ cmpwi r3, 0
/* 80356EA0 00352B00 7C 7F 1B 78 */ mr r31, r3
/* 80356EA4 00352B04 41 82 01 00 */ beq lbl_80356FA4
/* 80356EA8 00352B08 3E C0 80 40 */ lis r22, lbl_80402580@ha
/* 80356EAC 00352B0C 8E F6 25 80 */ lbzu r23, lbl_80402580@l(r22)
/* 80356EB0 00352B10 3B 43 00 10 */ addi r26, r3, 0x10
/* 80356EB4 00352B14 38 61 00 0C */ addi r3, r1, 0xc
/* 80356EB8 00352B18 89 96 00 01 */ lbz r12, 1(r22)
/* 80356EBC 00352B1C 7F 59 D3 78 */ mr r25, r26
/* 80356EC0 00352B20 89 76 00 02 */ lbz r11, 2(r22)
/* 80356EC4 00352B24 89 56 00 03 */ lbz r10, 3(r22)
/* 80356EC8 00352B28 89 36 00 04 */ lbz r9, 4(r22)
/* 80356ECC 00352B2C 89 16 00 05 */ lbz r8, 5(r22)
/* 80356ED0 00352B30 88 F6 00 06 */ lbz r7, 6(r22)
/* 80356ED4 00352B34 88 D6 00 07 */ lbz r6, 7(r22)
/* 80356ED8 00352B38 88 B6 00 08 */ lbz r5, 8(r22)
/* 80356EDC 00352B3C 88 96 00 09 */ lbz r4, 9(r22)
/* 80356EE0 00352B40 88 16 00 0A */ lbz r0, 0xa(r22)
/* 80356EE4 00352B44 9A E1 00 0C */ stb r23, 0xc(r1)
/* 80356EE8 00352B48 99 81 00 0D */ stb r12, 0xd(r1)
/* 80356EEC 00352B4C 99 61 00 0E */ stb r11, 0xe(r1)
/* 80356EF0 00352B50 99 41 00 0F */ stb r10, 0xf(r1)
/* 80356EF4 00352B54 99 21 00 10 */ stb r9, 0x10(r1)
/* 80356EF8 00352B58 99 01 00 11 */ stb r8, 0x11(r1)
/* 80356EFC 00352B5C 98 E1 00 12 */ stb r7, 0x12(r1)
/* 80356F00 00352B60 98 C1 00 13 */ stb r6, 0x13(r1)
/* 80356F04 00352B64 98 A1 00 14 */ stb r5, 0x14(r1)
/* 80356F08 00352B68 98 81 00 15 */ stb r4, 0x15(r1)
/* 80356F0C 00352B6C 98 01 00 16 */ stb r0, 0x16(r1)
/* 80356F10 00352B70 4B E6 FC 55 */ bl strlen
/* 80356F14 00352B74 48 00 00 08 */ b lbl_80356F1C
lbl_80356F18:
/* 80356F18 00352B78 3B 39 00 01 */ addi r25, r25, 1
lbl_80356F1C:
/* 80356F1C 00352B7C 2C 19 00 00 */ cmpwi r25, 0
/* 80356F20 00352B80 41 82 00 28 */ beq lbl_80356F48
/* 80356F24 00352B84 88 19 00 00 */ lbz r0, 0(r25)
/* 80356F28 00352B88 7C 00 07 75 */ extsb. r0, r0
/* 80356F2C 00352B8C 41 82 00 1C */ beq lbl_80356F48
/* 80356F30 00352B90 2C 00 00 0A */ cmpwi r0, 0xa
/* 80356F34 00352B94 41 82 00 14 */ beq lbl_80356F48
/* 80356F38 00352B98 2C 00 00 0D */ cmpwi r0, 0xd
/* 80356F3C 00352B9C 41 82 00 0C */ beq lbl_80356F48
/* 80356F40 00352BA0 2C 00 00 20 */ cmpwi r0, 0x20
/* 80356F44 00352BA4 40 82 FF D4 */ bne lbl_80356F18
lbl_80356F48:
/* 80356F48 00352BA8 7C BA C8 50 */ subf r5, r26, r25
/* 80356F4C 00352BAC 7C 05 18 00 */ cmpw r5, r3
/* 80356F50 00352BB0 40 81 00 18 */ ble lbl_80356F68
/* 80356F54 00352BB4 38 60 00 01 */ li r3, 1
/* 80356F58 00352BB8 38 00 00 10 */ li r0, 0x10
/* 80356F5C 00352BBC 90 78 01 20 */ stw r3, 0x120(r24)
/* 80356F60 00352BC0 90 18 00 3C */ stw r0, 0x3c(r24)
/* 80356F64 00352BC4 48 00 00 F8 */ b lbl_8035705C
lbl_80356F68:
/* 80356F68 00352BC8 7C 03 28 00 */ cmpw r3, r5
/* 80356F6C 00352BCC 40 82 00 2C */ bne lbl_80356F98
/* 80356F70 00352BD0 7F 43 D3 78 */ mr r3, r26
/* 80356F74 00352BD4 38 81 00 0C */ addi r4, r1, 0xc
/* 80356F78 00352BD8 4B E7 75 F1 */ bl strncmp
/* 80356F7C 00352BDC 2C 03 00 00 */ cmpwi r3, 0
/* 80356F80 00352BE0 41 80 00 18 */ blt lbl_80356F98
/* 80356F84 00352BE4 38 60 00 01 */ li r3, 1
/* 80356F88 00352BE8 38 00 00 10 */ li r0, 0x10
/* 80356F8C 00352BEC 90 78 01 20 */ stw r3, 0x120(r24)
/* 80356F90 00352BF0 90 18 00 3C */ stw r0, 0x3c(r24)
/* 80356F94 00352BF4 48 00 00 C8 */ b lbl_8035705C
lbl_80356F98:
/* 80356F98 00352BF8 7F 43 D3 78 */ mr r3, r26
/* 80356F9C 00352BFC 4B E7 97 71 */ bl atoi
/* 80356FA0 00352C00 90 78 01 28 */ stw r3, 0x128(r24)
lbl_80356FA4:
/* 80356FA4 00352C04 7F A3 EB 78 */ mr r3, r29
/* 80356FA8 00352C08 38 9E 00 B0 */ addi r4, r30, 0xb0
/* 80356FAC 00352C0C 4B E7 77 F5 */ bl strstr
/* 80356FB0 00352C10 7C 03 00 D0 */ neg r0, r3
/* 80356FB4 00352C14 7C 00 1B 78 */ or r0, r0, r3
/* 80356FB8 00352C18 54 00 0F FF */ rlwinm. r0, r0, 1, 0x1f, 0x1f
/* 80356FBC 00352C1C 90 18 01 34 */ stw r0, 0x134(r24)
/* 80356FC0 00352C20 41 82 00 18 */ beq lbl_80356FD8
/* 80356FC4 00352C24 38 00 00 00 */ li r0, 0
/* 80356FC8 00352C28 98 18 01 38 */ stb r0, 0x138(r24)
/* 80356FCC 00352C2C 90 18 01 44 */ stw r0, 0x144(r24)
/* 80356FD0 00352C30 90 18 01 48 */ stw r0, 0x148(r24)
/* 80356FD4 00352C34 90 18 01 4C */ stw r0, 0x14c(r24)
lbl_80356FD8:
/* 80356FD8 00352C38 80 78 00 0C */ lwz r3, 0xc(r24)
/* 80356FDC 00352C3C 38 03 FF FD */ addi r0, r3, -3
/* 80356FE0 00352C40 28 00 00 01 */ cmplwi r0, 1
/* 80356FE4 00352C44 41 81 00 10 */ bgt lbl_80356FF4
/* 80356FE8 00352C48 38 00 00 01 */ li r0, 1
/* 80356FEC 00352C4C 90 18 01 20 */ stw r0, 0x120(r24)
/* 80356FF0 00352C50 48 00 00 6C */ b lbl_8035705C
lbl_80356FF4:
/* 80356FF4 00352C54 38 00 00 0A */ li r0, 0xa
/* 80356FF8 00352C58 2C 1F 00 00 */ cmpwi r31, 0
/* 80356FFC 00352C5C 90 18 00 10 */ stw r0, 0x10(r24)
/* 80357000 00352C60 41 82 00 1C */ beq lbl_8035701C
/* 80357004 00352C64 80 18 01 28 */ lwz r0, 0x128(r24)
/* 80357008 00352C68 2C 00 00 00 */ cmpwi r0, 0
/* 8035700C 00352C6C 40 82 00 10 */ bne lbl_8035701C
/* 80357010 00352C70 38 00 00 01 */ li r0, 1
/* 80357014 00352C74 90 18 01 20 */ stw r0, 0x120(r24)
/* 80357018 00352C78 48 00 00 44 */ b lbl_8035705C
lbl_8035701C:
/* 8035701C 00352C7C 2C 1B 00 00 */ cmpwi r27, 0
/* 80357020 00352C80 40 81 00 3C */ ble lbl_8035705C
/* 80357024 00352C84 7F 03 C3 78 */ mr r3, r24
/* 80357028 00352C88 7F 84 E3 78 */ mr r4, r28
/* 8035702C 00352C8C 7F 65 DB 78 */ mr r5, r27
/* 80357030 00352C90 4B FF F8 65 */ bl ghiProcessIncomingFileData
/* 80357034 00352C94 48 00 00 28 */ b lbl_8035705C
lbl_80357038:
/* 80357038 00352C98 2C 16 00 02 */ cmpwi r22, 2
/* 8035703C 00352C9C 40 82 00 20 */ bne lbl_8035705C
/* 80357040 00352CA0 38 60 00 01 */ li r3, 1
/* 80357044 00352CA4 38 00 00 07 */ li r0, 7
/* 80357048 00352CA8 90 78 01 20 */ stw r3, 0x120(r24)
/* 8035704C 00352CAC 80 78 00 4C */ lwz r3, 0x4c(r24)
/* 80357050 00352CB0 90 18 00 3C */ stw r0, 0x3c(r24)
/* 80357054 00352CB4 4B FE 0F 55 */ bl GOAGetLastError
/* 80357058 00352CB8 90 78 00 50 */ stw r3, 0x50(r24)
lbl_8035705C:
/* 8035705C 00352CBC 39 61 10 40 */ addi r11, r1, 0x1040
/* 80357060 00352CC0 4B E7 01 01 */ bl _restgpr_22
/* 80357064 00352CC4 80 01 10 44 */ lwz r0, 0x1044(r1)
/* 80357068 00352CC8 7C 08 03 A6 */ mtlr r0
/* 8035706C 00352CCC 38 21 10 40 */ addi r1, r1, 0x1040
/* 80357070 00352CD0 4E 80 00 20 */ blr
.global ghiDoReceivingFile
ghiDoReceivingFile:
/* 80357074 00352CD4 94 21 DF E0 */ stwu r1, -0x2020(r1)
/* 80357078 00352CD8 7C 08 02 A6 */ mflr r0
/* 8035707C 00352CDC 90 01 20 24 */ stw r0, 0x2024(r1)
/* 80357080 00352CE0 93 E1 20 1C */ stw r31, 0x201c(r1)
/* 80357084 00352CE4 93 C1 20 18 */ stw r30, 0x2018(r1)
/* 80357088 00352CE8 93 A1 20 14 */ stw r29, 0x2014(r1)
/* 8035708C 00352CEC 7C 7D 1B 78 */ mr r29, r3
/* 80357090 00352CF0 4B FE 1F 49 */ bl current_time
/* 80357094 00352CF4 7C 7E 1B 78 */ mr r30, r3
/* 80357098 00352CF8 38 60 00 00 */ li r3, 0
/* 8035709C 00352CFC 3B E0 20 00 */ li r31, 0x2000
/* 803570A0 00352D00 48 00 00 F8 */ b lbl_80357198
lbl_803570A4:
/* 803570A4 00352D04 93 E1 00 08 */ stw r31, 8(r1)
/* 803570A8 00352D08 7F A3 EB 78 */ mr r3, r29
/* 803570AC 00352D0C 38 81 00 10 */ addi r4, r1, 0x10
/* 803570B0 00352D10 38 A1 00 08 */ addi r5, r1, 8
/* 803570B4 00352D14 4B FF A3 91 */ bl ghiDoReceive
/* 803570B8 00352D18 2C 03 00 03 */ cmpwi r3, 3
/* 803570BC 00352D1C 41 82 00 F4 */ beq lbl_803571B0
/* 803570C0 00352D20 2C 03 00 01 */ cmpwi r3, 1
/* 803570C4 00352D24 41 82 00 EC */ beq lbl_803571B0
/* 803570C8 00352D28 2C 03 00 02 */ cmpwi r3, 2
/* 803570CC 00352D2C 40 82 00 30 */ bne lbl_803570FC
/* 803570D0 00352D30 80 7D 01 28 */ lwz r3, 0x128(r29)
/* 803570D4 00352D34 38 00 00 01 */ li r0, 1
/* 803570D8 00352D38 90 1D 01 20 */ stw r0, 0x120(r29)
/* 803570DC 00352D3C 2C 03 00 00 */ cmpwi r3, 0
/* 803570E0 00352D40 40 81 00 D0 */ ble lbl_803571B0
/* 803570E4 00352D44 80 1D 01 24 */ lwz r0, 0x124(r29)
/* 803570E8 00352D48 7C 00 18 00 */ cmpw r0, r3
/* 803570EC 00352D4C 40 80 00 C4 */ bge lbl_803571B0
/* 803570F0 00352D50 38 00 00 0F */ li r0, 0xf
/* 803570F4 00352D54 90 1D 00 3C */ stw r0, 0x3c(r29)
/* 803570F8 00352D58 48 00 00 B8 */ b lbl_803571B0
lbl_803570FC:
/* 803570FC 00352D5C 80 1D 01 94 */ lwz r0, 0x194(r29)
/* 80357100 00352D60 2C 00 00 00 */ cmpwi r0, 0
/* 80357104 00352D64 41 82 00 74 */ beq lbl_80357178
/* 80357108 00352D68 80 A1 00 08 */ lwz r5, 8(r1)
/* 8035710C 00352D6C 38 7D 00 C0 */ addi r3, r29, 0xc0
/* 80357110 00352D70 38 81 00 10 */ addi r4, r1, 0x10
/* 80357114 00352D74 4B FF 99 A9 */ bl ghiAppendDataToBuffer
/* 80357118 00352D78 2C 03 00 00 */ cmpwi r3, 0
/* 8035711C 00352D7C 41 82 00 94 */ beq lbl_803571B0
/* 80357120 00352D80 80 1D 00 AC */ lwz r0, 0xac(r29)
/* 80357124 00352D84 7F A3 EB 78 */ mr r3, r29
/* 80357128 00352D88 90 1D 00 A8 */ stw r0, 0xa8(r29)
/* 8035712C 00352D8C 4B FF A1 C9 */ bl ghiDecryptReceivedData
/* 80357130 00352D90 2C 03 00 00 */ cmpwi r3, 0
/* 80357134 00352D94 40 82 00 18 */ bne lbl_8035714C
/* 80357138 00352D98 38 60 00 01 */ li r3, 1
/* 8035713C 00352D9C 38 00 00 11 */ li r0, 0x11
/* 80357140 00352DA0 90 7D 01 20 */ stw r3, 0x120(r29)
/* 80357144 00352DA4 90 1D 00 3C */ stw r0, 0x3c(r29)
/* 80357148 00352DA8 48 00 00 68 */ b lbl_803571B0
lbl_8035714C:
/* 8035714C 00352DAC 80 9D 00 AC */ lwz r4, 0xac(r29)
/* 80357150 00352DB0 80 1D 00 A8 */ lwz r0, 0xa8(r29)
/* 80357154 00352DB4 7C A4 00 51 */ subf. r5, r4, r0
/* 80357158 00352DB8 41 82 00 38 */ beq lbl_80357190
/* 8035715C 00352DBC 80 1D 00 A0 */ lwz r0, 0xa0(r29)
/* 80357160 00352DC0 7F A3 EB 78 */ mr r3, r29
/* 80357164 00352DC4 7C 80 22 14 */ add r4, r0, r4
/* 80357168 00352DC8 4B FF F7 2D */ bl ghiProcessIncomingFileData
/* 8035716C 00352DCC 2C 03 00 00 */ cmpwi r3, 0
/* 80357170 00352DD0 40 82 00 20 */ bne lbl_80357190
/* 80357174 00352DD4 48 00 00 3C */ b lbl_803571B0
lbl_80357178:
/* 80357178 00352DD8 80 A1 00 08 */ lwz r5, 8(r1)
/* 8035717C 00352DDC 7F A3 EB 78 */ mr r3, r29
/* 80357180 00352DE0 38 81 00 10 */ addi r4, r1, 0x10
/* 80357184 00352DE4 4B FF F7 11 */ bl ghiProcessIncomingFileData
/* 80357188 00352DE8 2C 03 00 00 */ cmpwi r3, 0
/* 8035718C 00352DEC 41 82 00 24 */ beq lbl_803571B0
lbl_80357190:
/* 80357190 00352DF0 4B FE 1E 49 */ bl current_time
/* 80357194 00352DF4 7C 7E 18 50 */ subf r3, r30, r3
lbl_80357198:
/* 80357198 00352DF8 80 1D 01 20 */ lwz r0, 0x120(r29)
/* 8035719C 00352DFC 2C 00 00 00 */ cmpwi r0, 0
/* 803571A0 00352E00 40 82 00 10 */ bne lbl_803571B0
/* 803571A4 00352E04 80 1D 01 84 */ lwz r0, 0x184(r29)
/* 803571A8 00352E08 7C 03 00 40 */ cmplw r3, r0
/* 803571AC 00352E0C 41 80 FE F8 */ blt lbl_803570A4
lbl_803571B0:
/* 803571B0 00352E10 80 01 20 24 */ lwz r0, 0x2024(r1)
/* 803571B4 00352E14 83 E1 20 1C */ lwz r31, 0x201c(r1)
/* 803571B8 00352E18 83 C1 20 18 */ lwz r30, 0x2018(r1)
/* 803571BC 00352E1C 83 A1 20 14 */ lwz r29, 0x2014(r1)
/* 803571C0 00352E20 7C 08 03 A6 */ mtlr r0
/* 803571C4 00352E24 38 21 20 20 */ addi r1, r1, 0x2020
/* 803571C8 00352E28 4E 80 00 20 */ blr
|