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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global socket
socket:
/* 80337BC4 00333824 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80337BC8 00333828 7C 08 02 A6 */ mflr r0
/* 80337BCC 0033382C 38 A0 00 00 */ li r5, 0
/* 80337BD0 00333830 90 01 00 14 */ stw r0, 0x14(r1)
/* 80337BD4 00333834 4B FB E6 29 */ bl __SOCreateSocket
/* 80337BD8 00333838 2C 03 00 00 */ cmpwi r3, 0
/* 80337BDC 0033383C 41 80 00 08 */ blt lbl_80337BE4
/* 80337BE0 00333840 48 00 00 0C */ b lbl_80337BEC
lbl_80337BE4:
/* 80337BE4 00333844 90 6D B0 A4 */ stw r3, lbl_80640364-_SDA_BASE_(r13)
/* 80337BE8 00333848 38 60 FF FF */ li r3, -1
lbl_80337BEC:
/* 80337BEC 0033384C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80337BF0 00333850 7C 08 03 A6 */ mtlr r0
/* 80337BF4 00333854 38 21 00 10 */ addi r1, r1, 0x10
/* 80337BF8 00333858 4E 80 00 20 */ blr
.global closesocket
closesocket:
/* 80337BFC 0033385C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80337C00 00333860 7C 08 02 A6 */ mflr r0
/* 80337C04 00333864 90 01 00 14 */ stw r0, 0x14(r1)
/* 80337C08 00333868 4B FB E6 C9 */ bl SOClose
/* 80337C0C 0033386C 2C 03 00 00 */ cmpwi r3, 0
/* 80337C10 00333870 41 80 00 08 */ blt lbl_80337C18
/* 80337C14 00333874 48 00 00 0C */ b lbl_80337C20
lbl_80337C18:
/* 80337C18 00333878 90 6D B0 A4 */ stw r3, lbl_80640364-_SDA_BASE_(r13)
/* 80337C1C 0033387C 38 60 FF FF */ li r3, -1
lbl_80337C20:
/* 80337C20 00333880 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80337C24 00333884 7C 08 03 A6 */ mtlr r0
/* 80337C28 00333888 38 21 00 10 */ addi r1, r1, 0x10
/* 80337C2C 0033388C 4E 80 00 20 */ blr
.global shutdown
shutdown:
/* 80337C30 00333890 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80337C34 00333894 7C 08 02 A6 */ mflr r0
/* 80337C38 00333898 90 01 00 14 */ stw r0, 0x14(r1)
/* 80337C3C 0033389C 4B FB ED C1 */ bl SOShutdown
/* 80337C40 003338A0 2C 03 00 00 */ cmpwi r3, 0
/* 80337C44 003338A4 41 80 00 08 */ blt lbl_80337C4C
/* 80337C48 003338A8 48 00 00 0C */ b lbl_80337C54
lbl_80337C4C:
/* 80337C4C 003338AC 90 6D B0 A4 */ stw r3, lbl_80640364-_SDA_BASE_(r13)
/* 80337C50 003338B0 38 60 FF FF */ li r3, -1
lbl_80337C54:
/* 80337C54 003338B4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80337C58 003338B8 7C 08 03 A6 */ mtlr r0
/* 80337C5C 003338BC 38 21 00 10 */ addi r1, r1, 0x10
/* 80337C60 003338C0 4E 80 00 20 */ blr
.global bind
bind:
/* 80337C64 003338C4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80337C68 003338C8 7C 08 02 A6 */ mflr r0
/* 80337C6C 003338CC 90 01 00 24 */ stw r0, 0x24(r1)
/* 80337C70 003338D0 A0 04 00 02 */ lhz r0, 2(r4)
/* 80337C74 003338D4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80337C78 003338D8 7C BF 2B 78 */ mr r31, r5
/* 80337C7C 003338DC 2C 00 00 00 */ cmpwi r0, 0
/* 80337C80 003338E0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80337C84 003338E4 7C 7E 1B 78 */ mr r30, r3
/* 80337C88 003338E8 40 82 00 0C */ bne lbl_80337C94
/* 80337C8C 003338EC 38 60 00 00 */ li r3, 0
/* 80337C90 003338F0 48 00 00 34 */ b lbl_80337CC4
lbl_80337C94:
/* 80337C94 003338F4 38 61 00 08 */ addi r3, r1, 8
/* 80337C98 003338F8 38 A0 00 08 */ li r5, 8
/* 80337C9C 003338FC 4B CC C3 65 */ bl memcpy
/* 80337CA0 00333900 9B E1 00 08 */ stb r31, 8(r1)
/* 80337CA4 00333904 7F C3 F3 78 */ mr r3, r30
/* 80337CA8 00333908 38 81 00 08 */ addi r4, r1, 8
/* 80337CAC 0033390C 4B FB E8 BD */ bl SOBind
/* 80337CB0 00333910 2C 03 00 00 */ cmpwi r3, 0
/* 80337CB4 00333914 41 80 00 08 */ blt lbl_80337CBC
/* 80337CB8 00333918 48 00 00 0C */ b lbl_80337CC4
lbl_80337CBC:
/* 80337CBC 0033391C 90 6D B0 A4 */ stw r3, lbl_80640364-_SDA_BASE_(r13)
/* 80337CC0 00333920 38 60 FF FF */ li r3, -1
lbl_80337CC4:
/* 80337CC4 00333924 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80337CC8 00333928 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80337CCC 0033392C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80337CD0 00333930 7C 08 03 A6 */ mtlr r0
/* 80337CD4 00333934 38 21 00 20 */ addi r1, r1, 0x20
/* 80337CD8 00333938 4E 80 00 20 */ blr
.global connect
connect:
/* 80337CDC 0033393C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80337CE0 00333940 7C 08 02 A6 */ mflr r0
/* 80337CE4 00333944 90 01 00 24 */ stw r0, 0x24(r1)
/* 80337CE8 00333948 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80337CEC 0033394C 7C BF 2B 78 */ mr r31, r5
/* 80337CF0 00333950 38 A0 00 08 */ li r5, 8
/* 80337CF4 00333954 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80337CF8 00333958 7C 7E 1B 78 */ mr r30, r3
/* 80337CFC 0033395C 38 61 00 08 */ addi r3, r1, 8
/* 80337D00 00333960 4B CC C3 01 */ bl memcpy
/* 80337D04 00333964 9B E1 00 08 */ stb r31, 8(r1)
/* 80337D08 00333968 7F C3 F3 78 */ mr r3, r30
/* 80337D0C 0033396C 38 81 00 08 */ addi r4, r1, 8
/* 80337D10 00333970 4B FB E9 41 */ bl SOConnect
/* 80337D14 00333974 2C 03 00 00 */ cmpwi r3, 0
/* 80337D18 00333978 41 80 00 08 */ blt lbl_80337D20
/* 80337D1C 0033397C 48 00 00 0C */ b lbl_80337D28
lbl_80337D20:
/* 80337D20 00333980 90 6D B0 A4 */ stw r3, lbl_80640364-_SDA_BASE_(r13)
/* 80337D24 00333984 38 60 FF FF */ li r3, -1
lbl_80337D28:
/* 80337D28 00333988 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80337D2C 0033398C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80337D30 00333990 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80337D34 00333994 7C 08 03 A6 */ mtlr r0
/* 80337D38 00333998 38 21 00 20 */ addi r1, r1, 0x20
/* 80337D3C 0033399C 4E 80 00 20 */ blr
.global listen
listen:
/* 80337D40 003339A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80337D44 003339A4 7C 08 02 A6 */ mflr r0
/* 80337D48 003339A8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80337D4C 003339AC 4B FB E6 29 */ bl SOListen
/* 80337D50 003339B0 2C 03 00 00 */ cmpwi r3, 0
/* 80337D54 003339B4 41 80 00 08 */ blt lbl_80337D5C
/* 80337D58 003339B8 48 00 00 0C */ b lbl_80337D64
lbl_80337D5C:
/* 80337D5C 003339BC 90 6D B0 A4 */ stw r3, lbl_80640364-_SDA_BASE_(r13)
/* 80337D60 003339C0 38 60 FF FF */ li r3, -1
lbl_80337D64:
/* 80337D64 003339C4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80337D68 003339C8 7C 08 03 A6 */ mtlr r0
/* 80337D6C 003339CC 38 21 00 10 */ addi r1, r1, 0x10
/* 80337D70 003339D0 4E 80 00 20 */ blr
.global accept
accept:
/* 80337D74 003339D4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80337D78 003339D8 7C 08 02 A6 */ mflr r0
/* 80337D7C 003339DC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80337D80 003339E0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80337D84 003339E4 7C BF 2B 78 */ mr r31, r5
/* 80337D88 003339E8 93 C1 00 08 */ stw r30, 8(r1)
/* 80337D8C 003339EC 7C 9E 23 78 */ mr r30, r4
/* 80337D90 003339F0 80 05 00 00 */ lwz r0, 0(r5)
/* 80337D94 003339F4 98 04 00 00 */ stb r0, 0(r4)
/* 80337D98 003339F8 4B FB E6 91 */ bl SOAccept
/* 80337D9C 003339FC 88 1E 00 00 */ lbz r0, 0(r30)
/* 80337DA0 00333A00 2C 03 00 00 */ cmpwi r3, 0
/* 80337DA4 00333A04 90 1F 00 00 */ stw r0, 0(r31)
/* 80337DA8 00333A08 41 80 00 08 */ blt lbl_80337DB0
/* 80337DAC 00333A0C 48 00 00 0C */ b lbl_80337DB8
lbl_80337DB0:
/* 80337DB0 00333A10 90 6D B0 A4 */ stw r3, lbl_80640364-_SDA_BASE_(r13)
/* 80337DB4 00333A14 38 60 FF FF */ li r3, -1
lbl_80337DB8:
/* 80337DB8 00333A18 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80337DBC 00333A1C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80337DC0 00333A20 83 C1 00 08 */ lwz r30, 8(r1)
/* 80337DC4 00333A24 7C 08 03 A6 */ mtlr r0
/* 80337DC8 00333A28 38 21 00 10 */ addi r1, r1, 0x10
/* 80337DCC 00333A2C 4E 80 00 20 */ blr
.global recv
recv:
/* 80337DD0 00333A30 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80337DD4 00333A34 7C 08 02 A6 */ mflr r0
/* 80337DD8 00333A38 90 01 00 14 */ stw r0, 0x14(r1)
/* 80337DDC 00333A3C 4B FB EA 81 */ bl SORecv
/* 80337DE0 00333A40 2C 03 00 00 */ cmpwi r3, 0
/* 80337DE4 00333A44 41 80 00 08 */ blt lbl_80337DEC
/* 80337DE8 00333A48 48 00 00 0C */ b lbl_80337DF4
lbl_80337DEC:
/* 80337DEC 00333A4C 90 6D B0 A4 */ stw r3, lbl_80640364-_SDA_BASE_(r13)
/* 80337DF0 00333A50 38 60 FF FF */ li r3, -1
lbl_80337DF4:
/* 80337DF4 00333A54 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80337DF8 00333A58 7C 08 03 A6 */ mtlr r0
/* 80337DFC 00333A5C 38 21 00 10 */ addi r1, r1, 0x10
/* 80337E00 00333A60 4E 80 00 20 */ blr
.global recvfrom
recvfrom:
/* 80337E04 00333A64 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80337E08 00333A68 7C 08 02 A6 */ mflr r0
/* 80337E0C 00333A6C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80337E10 00333A70 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80337E14 00333A74 7D 1F 43 78 */ mr r31, r8
/* 80337E18 00333A78 93 C1 00 08 */ stw r30, 8(r1)
/* 80337E1C 00333A7C 7C FE 3B 78 */ mr r30, r7
/* 80337E20 00333A80 80 08 00 00 */ lwz r0, 0(r8)
/* 80337E24 00333A84 98 07 00 00 */ stb r0, 0(r7)
/* 80337E28 00333A88 4B FB EA 0D */ bl SORecvFrom
/* 80337E2C 00333A8C 88 1E 00 00 */ lbz r0, 0(r30)
/* 80337E30 00333A90 2C 03 00 00 */ cmpwi r3, 0
/* 80337E34 00333A94 90 1F 00 00 */ stw r0, 0(r31)
/* 80337E38 00333A98 41 80 00 08 */ blt lbl_80337E40
/* 80337E3C 00333A9C 48 00 00 0C */ b lbl_80337E48
lbl_80337E40:
/* 80337E40 00333AA0 90 6D B0 A4 */ stw r3, lbl_80640364-_SDA_BASE_(r13)
/* 80337E44 00333AA4 38 60 FF FF */ li r3, -1
lbl_80337E48:
/* 80337E48 00333AA8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80337E4C 00333AAC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80337E50 00333AB0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80337E54 00333AB4 7C 08 03 A6 */ mtlr r0
/* 80337E58 00333AB8 38 21 00 10 */ addi r1, r1, 0x10
/* 80337E5C 00333ABC 4E 80 00 20 */ blr
.global send
send:
/* 80337E60 00333AC0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80337E64 00333AC4 7C 08 02 A6 */ mflr r0
/* 80337E68 00333AC8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80337E6C 00333ACC 4B FB EA 3D */ bl SOSend
/* 80337E70 00333AD0 2C 03 00 00 */ cmpwi r3, 0
/* 80337E74 00333AD4 41 80 00 08 */ blt lbl_80337E7C
/* 80337E78 00333AD8 48 00 00 0C */ b lbl_80337E84
lbl_80337E7C:
/* 80337E7C 00333ADC 90 6D B0 A4 */ stw r3, lbl_80640364-_SDA_BASE_(r13)
/* 80337E80 00333AE0 38 60 FF FF */ li r3, -1
lbl_80337E84:
/* 80337E84 00333AE4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80337E88 00333AE8 7C 08 03 A6 */ mtlr r0
/* 80337E8C 00333AEC 38 21 00 10 */ addi r1, r1, 0x10
/* 80337E90 00333AF0 4E 80 00 20 */ blr
.global sendto
sendto:
/* 80337E94 00333AF4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80337E98 00333AF8 7C 08 02 A6 */ mflr r0
/* 80337E9C 00333AFC 90 01 00 34 */ stw r0, 0x34(r1)
/* 80337EA0 00333B00 39 61 00 30 */ addi r11, r1, 0x30
/* 80337EA4 00333B04 4B E8 F2 85 */ bl _savegpr_27
/* 80337EA8 00333B08 7C 7B 1B 78 */ mr r27, r3
/* 80337EAC 00333B0C 7C 9C 23 78 */ mr r28, r4
/* 80337EB0 00333B10 7C BD 2B 78 */ mr r29, r5
/* 80337EB4 00333B14 7C DE 33 78 */ mr r30, r6
/* 80337EB8 00333B18 7C E4 3B 78 */ mr r4, r7
/* 80337EBC 00333B1C 7D 1F 43 78 */ mr r31, r8
/* 80337EC0 00333B20 38 61 00 08 */ addi r3, r1, 8
/* 80337EC4 00333B24 38 A0 00 08 */ li r5, 8
/* 80337EC8 00333B28 4B CC C1 39 */ bl memcpy
/* 80337ECC 00333B2C 9B E1 00 08 */ stb r31, 8(r1)
/* 80337ED0 00333B30 7F 63 DB 78 */ mr r3, r27
/* 80337ED4 00333B34 7F 84 E3 78 */ mr r4, r28
/* 80337ED8 00333B38 7F A5 EB 78 */ mr r5, r29
/* 80337EDC 00333B3C 7F C6 F3 78 */ mr r6, r30
/* 80337EE0 00333B40 38 E1 00 08 */ addi r7, r1, 8
/* 80337EE4 00333B44 4B FB E9 9D */ bl SOSendTo
/* 80337EE8 00333B48 2C 03 00 00 */ cmpwi r3, 0
/* 80337EEC 00333B4C 41 80 00 08 */ blt lbl_80337EF4
/* 80337EF0 00333B50 48 00 00 0C */ b lbl_80337EFC
lbl_80337EF4:
/* 80337EF4 00333B54 90 6D B0 A4 */ stw r3, lbl_80640364-_SDA_BASE_(r13)
/* 80337EF8 00333B58 38 60 FF FF */ li r3, -1
lbl_80337EFC:
/* 80337EFC 00333B5C 39 61 00 30 */ addi r11, r1, 0x30
/* 80337F00 00333B60 4B E8 F2 75 */ bl _restgpr_27
/* 80337F04 00333B64 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80337F08 00333B68 7C 08 03 A6 */ mtlr r0
/* 80337F0C 00333B6C 38 21 00 30 */ addi r1, r1, 0x30
/* 80337F10 00333B70 4E 80 00 20 */ blr
.global getsockname
getsockname:
/* 80337F14 00333B74 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80337F18 00333B78 7C 08 02 A6 */ mflr r0
/* 80337F1C 00333B7C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80337F20 00333B80 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80337F24 00333B84 7C BF 2B 78 */ mr r31, r5
/* 80337F28 00333B88 93 C1 00 08 */ stw r30, 8(r1)
/* 80337F2C 00333B8C 7C 9E 23 78 */ mr r30, r4
/* 80337F30 00333B90 80 05 00 00 */ lwz r0, 0(r5)
/* 80337F34 00333B94 98 04 00 00 */ stb r0, 0(r4)
/* 80337F38 00333B98 4B FB E8 01 */ bl SOGetSockName
/* 80337F3C 00333B9C 88 1E 00 00 */ lbz r0, 0(r30)
/* 80337F40 00333BA0 2C 03 00 00 */ cmpwi r3, 0
/* 80337F44 00333BA4 90 1F 00 00 */ stw r0, 0(r31)
/* 80337F48 00333BA8 41 80 00 08 */ blt lbl_80337F50
/* 80337F4C 00333BAC 48 00 00 0C */ b lbl_80337F58
lbl_80337F50:
/* 80337F50 00333BB0 90 6D B0 A4 */ stw r3, lbl_80640364-_SDA_BASE_(r13)
/* 80337F54 00333BB4 38 60 FF FF */ li r3, -1
lbl_80337F58:
/* 80337F58 00333BB8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80337F5C 00333BBC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80337F60 00333BC0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80337F64 00333BC4 7C 08 03 A6 */ mtlr r0
/* 80337F68 00333BC8 38 21 00 10 */ addi r1, r1, 0x10
/* 80337F6C 00333BCC 4E 80 00 20 */ blr
.global inet_addr
inet_addr:
/* 80337F70 00333BD0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80337F74 00333BD4 7C 08 02 A6 */ mflr r0
/* 80337F78 00333BD8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80337F7C 00333BDC 38 81 00 08 */ addi r4, r1, 8
/* 80337F80 00333BE0 4B FB EC 8D */ bl SOInetAtoN
/* 80337F84 00333BE4 2C 03 00 00 */ cmpwi r3, 0
/* 80337F88 00333BE8 40 82 00 0C */ bne lbl_80337F94
/* 80337F8C 00333BEC 38 60 FF FF */ li r3, -1
/* 80337F90 00333BF0 48 00 00 08 */ b lbl_80337F98
lbl_80337F94:
/* 80337F94 00333BF4 80 61 00 08 */ lwz r3, 8(r1)
lbl_80337F98:
/* 80337F98 00333BF8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80337F9C 00333BFC 7C 08 03 A6 */ mtlr r0
/* 80337FA0 00333C00 38 21 00 10 */ addi r1, r1, 0x10
/* 80337FA4 00333C04 4E 80 00 20 */ blr
.global GOAGetLastError
GOAGetLastError:
/* 80337FA8 00333C08 80 6D B0 A4 */ lwz r3, lbl_80640364-_SDA_BASE_(r13)
/* 80337FAC 00333C0C 4E 80 00 20 */ blr
.global GSISocketSelect
GSISocketSelect:
/* 80337FB0 00333C10 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80337FB4 00333C14 7C 08 02 A6 */ mflr r0
/* 80337FB8 00333C18 2C 04 00 00 */ cmpwi r4, 0
/* 80337FBC 00333C1C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80337FC0 00333C20 38 00 00 00 */ li r0, 0
/* 80337FC4 00333C24 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80337FC8 00333C28 7C DF 33 78 */ mr r31, r6
/* 80337FCC 00333C2C 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80337FD0 00333C30 7C BE 2B 78 */ mr r30, r5
/* 80337FD4 00333C34 93 A1 00 24 */ stw r29, 0x24(r1)
/* 80337FD8 00333C38 7C 9D 23 78 */ mr r29, r4
/* 80337FDC 00333C3C 90 61 00 08 */ stw r3, 8(r1)
/* 80337FE0 00333C40 90 01 00 0C */ stw r0, 0xc(r1)
/* 80337FE4 00333C44 41 82 00 0C */ beq lbl_80337FF0
/* 80337FE8 00333C48 60 00 00 01 */ ori r0, r0, 1
/* 80337FEC 00333C4C 90 01 00 0C */ stw r0, 0xc(r1)
lbl_80337FF0:
/* 80337FF0 00333C50 2C 05 00 00 */ cmpwi r5, 0
/* 80337FF4 00333C54 41 82 00 10 */ beq lbl_80338004
/* 80337FF8 00333C58 80 01 00 0C */ lwz r0, 0xc(r1)
/* 80337FFC 00333C5C 60 00 00 08 */ ori r0, r0, 8
/* 80338000 00333C60 90 01 00 0C */ stw r0, 0xc(r1)
lbl_80338004:
/* 80338004 00333C64 38 00 00 00 */ li r0, 0
/* 80338008 00333C68 38 61 00 08 */ addi r3, r1, 8
/* 8033800C 00333C6C 90 01 00 10 */ stw r0, 0x10(r1)
/* 80338010 00333C70 38 80 00 01 */ li r4, 1
/* 80338014 00333C74 38 C0 00 00 */ li r6, 0
/* 80338018 00333C78 38 A0 00 00 */ li r5, 0
/* 8033801C 00333C7C 4B FB EA 95 */ bl SOPoll
/* 80338020 00333C80 2C 83 00 00 */ cmpwi cr1, r3, 0
/* 80338024 00333C84 40 84 00 0C */ bge cr1, lbl_80338030
/* 80338028 00333C88 38 60 FF FF */ li r3, -1
/* 8033802C 00333C8C 48 00 00 90 */ b lbl_803380BC
lbl_80338030:
/* 80338030 00333C90 2C 1D 00 00 */ cmpwi r29, 0
/* 80338034 00333C94 41 82 00 28 */ beq lbl_8033805C
/* 80338038 00333C98 40 85 00 1C */ ble cr1, lbl_80338054
/* 8033803C 00333C9C 80 01 00 10 */ lwz r0, 0x10(r1)
/* 80338040 00333CA0 70 00 00 41 */ andi. r0, r0, 0x41
/* 80338044 00333CA4 41 82 00 10 */ beq lbl_80338054
/* 80338048 00333CA8 38 00 00 01 */ li r0, 1
/* 8033804C 00333CAC 90 1D 00 00 */ stw r0, 0(r29)
/* 80338050 00333CB0 48 00 00 0C */ b lbl_8033805C
lbl_80338054:
/* 80338054 00333CB4 38 00 00 00 */ li r0, 0
/* 80338058 00333CB8 90 1D 00 00 */ stw r0, 0(r29)
lbl_8033805C:
/* 8033805C 00333CBC 2C 1E 00 00 */ cmpwi r30, 0
/* 80338060 00333CC0 41 82 00 2C */ beq lbl_8033808C
/* 80338064 00333CC4 2C 03 00 00 */ cmpwi r3, 0
/* 80338068 00333CC8 40 81 00 1C */ ble lbl_80338084
/* 8033806C 00333CCC 80 01 00 10 */ lwz r0, 0x10(r1)
/* 80338070 00333CD0 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80338074 00333CD4 41 82 00 10 */ beq lbl_80338084
/* 80338078 00333CD8 38 00 00 01 */ li r0, 1
/* 8033807C 00333CDC 90 1E 00 00 */ stw r0, 0(r30)
/* 80338080 00333CE0 48 00 00 0C */ b lbl_8033808C
lbl_80338084:
/* 80338084 00333CE4 38 00 00 00 */ li r0, 0
/* 80338088 00333CE8 90 1E 00 00 */ stw r0, 0(r30)
lbl_8033808C:
/* 8033808C 00333CEC 2C 1F 00 00 */ cmpwi r31, 0
/* 80338090 00333CF0 41 82 00 2C */ beq lbl_803380BC
/* 80338094 00333CF4 2C 03 00 00 */ cmpwi r3, 0
/* 80338098 00333CF8 40 81 00 1C */ ble lbl_803380B4
/* 8033809C 00333CFC 80 01 00 10 */ lwz r0, 0x10(r1)
/* 803380A0 00333D00 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
/* 803380A4 00333D04 41 82 00 10 */ beq lbl_803380B4
/* 803380A8 00333D08 38 00 00 01 */ li r0, 1
/* 803380AC 00333D0C 90 1F 00 00 */ stw r0, 0(r31)
/* 803380B0 00333D10 48 00 00 0C */ b lbl_803380BC
lbl_803380B4:
/* 803380B4 00333D14 38 00 00 00 */ li r0, 0
/* 803380B8 00333D18 90 1F 00 00 */ stw r0, 0(r31)
lbl_803380BC:
/* 803380BC 00333D1C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803380C0 00333D20 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 803380C4 00333D24 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 803380C8 00333D28 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 803380CC 00333D2C 7C 08 03 A6 */ mtlr r0
/* 803380D0 00333D30 38 21 00 30 */ addi r1, r1, 0x30
/* 803380D4 00333D34 4E 80 00 20 */ blr
.global gethostbyname
gethostbyname:
/* 803380D8 00333D38 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803380DC 00333D3C 7C 08 02 A6 */ mflr r0
/* 803380E0 00333D40 90 01 00 34 */ stw r0, 0x34(r1)
/* 803380E4 00333D44 39 61 00 30 */ addi r11, r1, 0x30
/* 803380E8 00333D48 4B E8 F0 31 */ bl _savegpr_23
/* 803380EC 00333D4C 7C 7B 1B 78 */ mr r27, r3
/* 803380F0 00333D50 38 6D 8F 28 */ addi r3, r13, lbl_8063E1E8-_SDA_BASE_
/* 803380F4 00333D54 4B E8 EA 71 */ bl strlen
/* 803380F8 00333D58 7C 65 1B 78 */ mr r5, r3
/* 803380FC 00333D5C 7F 64 DB 78 */ mr r4, r27
/* 80338100 00333D60 38 6D 8F 28 */ addi r3, r13, lbl_8063E1E8-_SDA_BASE_
/* 80338104 00333D64 4B E9 64 65 */ bl strncmp
/* 80338108 00333D68 2C 03 00 00 */ cmpwi r3, 0
/* 8033810C 00333D6C 40 82 01 28 */ bne lbl_80338234
/* 80338110 00333D70 80 0D B0 98 */ lwz r0, lbl_80640358-_SDA_BASE_(r13)
/* 80338114 00333D74 2C 00 00 00 */ cmpwi r0, 0
/* 80338118 00333D78 41 82 01 14 */ beq lbl_8033822C
/* 8033811C 00333D7C 3C 60 80 61 */ lis r3, lbl_80610928@ha
/* 80338120 00333D80 3A E0 00 00 */ li r23, 0
/* 80338124 00333D84 3B 20 00 00 */ li r25, 0
/* 80338128 00333D88 3B 03 09 28 */ addi r24, r3, lbl_80610928@l
lbl_8033812C:
/* 8033812C 00333D8C 80 6D B0 98 */ lwz r3, lbl_80640358-_SDA_BASE_(r13)
/* 80338130 00333D90 7C 03 C8 2E */ lwzx r0, r3, r25
/* 80338134 00333D94 2C 00 00 00 */ cmpwi r0, 0
/* 80338138 00333D98 41 82 00 A0 */ beq lbl_803381D8
/* 8033813C 00333D9C 3B 60 00 00 */ li r27, 0
/* 80338140 00333DA0 3B 40 00 00 */ li r26, 0
/* 80338144 00333DA4 48 00 00 20 */ b lbl_80338164
lbl_80338148:
/* 80338148 00333DA8 2C 03 00 00 */ cmpwi r3, 0
/* 8033814C 00333DAC 41 82 00 10 */ beq lbl_8033815C
/* 80338150 00333DB0 81 98 00 04 */ lwz r12, 4(r24)
/* 80338154 00333DB4 7D 89 03 A6 */ mtctr r12
/* 80338158 00333DB8 4E 80 04 21 */ bctrl
lbl_8033815C:
/* 8033815C 00333DBC 3B 5A 00 04 */ addi r26, r26, 4
/* 80338160 00333DC0 3B 7B 00 01 */ addi r27, r27, 1
lbl_80338164:
/* 80338164 00333DC4 80 0D B0 98 */ lwz r0, lbl_80640358-_SDA_BASE_(r13)
/* 80338168 00333DC8 7C 79 00 2E */ lwzx r3, r25, r0
/* 8033816C 00333DCC 80 83 00 0C */ lwz r4, 0xc(r3)
/* 80338170 00333DD0 7C 64 D0 2E */ lwzx r3, r4, r26
/* 80338174 00333DD4 2C 03 00 00 */ cmpwi r3, 0
/* 80338178 00333DD8 40 82 FF D0 */ bne lbl_80338148
/* 8033817C 00333DDC 57 60 10 3A */ slwi r0, r27, 2
/* 80338180 00333DE0 7C 64 00 2E */ lwzx r3, r4, r0
/* 80338184 00333DE4 2C 03 00 00 */ cmpwi r3, 0
/* 80338188 00333DE8 41 82 00 10 */ beq lbl_80338198
/* 8033818C 00333DEC 81 98 00 04 */ lwz r12, 4(r24)
/* 80338190 00333DF0 7D 89 03 A6 */ mtctr r12
/* 80338194 00333DF4 4E 80 04 21 */ bctrl
lbl_80338198:
/* 80338198 00333DF8 80 6D B0 98 */ lwz r3, lbl_80640358-_SDA_BASE_(r13)
/* 8033819C 00333DFC 7C 63 C8 2E */ lwzx r3, r3, r25
/* 803381A0 00333E00 80 63 00 0C */ lwz r3, 0xc(r3)
/* 803381A4 00333E04 2C 03 00 00 */ cmpwi r3, 0
/* 803381A8 00333E08 41 82 00 10 */ beq lbl_803381B8
/* 803381AC 00333E0C 81 98 00 04 */ lwz r12, 4(r24)
/* 803381B0 00333E10 7D 89 03 A6 */ mtctr r12
/* 803381B4 00333E14 4E 80 04 21 */ bctrl
lbl_803381B8:
/* 803381B8 00333E18 80 6D B0 98 */ lwz r3, lbl_80640358-_SDA_BASE_(r13)
/* 803381BC 00333E1C 7C 63 C8 2E */ lwzx r3, r3, r25
/* 803381C0 00333E20 80 63 00 10 */ lwz r3, 0x10(r3)
/* 803381C4 00333E24 2C 03 00 00 */ cmpwi r3, 0
/* 803381C8 00333E28 41 82 00 10 */ beq lbl_803381D8
/* 803381CC 00333E2C 81 98 00 04 */ lwz r12, 4(r24)
/* 803381D0 00333E30 7D 89 03 A6 */ mtctr r12
/* 803381D4 00333E34 4E 80 04 21 */ bctrl
lbl_803381D8:
/* 803381D8 00333E38 80 6D B0 98 */ lwz r3, lbl_80640358-_SDA_BASE_(r13)
/* 803381DC 00333E3C 7C 63 C8 2E */ lwzx r3, r3, r25
/* 803381E0 00333E40 2C 03 00 00 */ cmpwi r3, 0
/* 803381E4 00333E44 41 82 00 10 */ beq lbl_803381F4
/* 803381E8 00333E48 81 98 00 04 */ lwz r12, 4(r24)
/* 803381EC 00333E4C 7D 89 03 A6 */ mtctr r12
/* 803381F0 00333E50 4E 80 04 21 */ bctrl
lbl_803381F4:
/* 803381F4 00333E54 3A F7 00 01 */ addi r23, r23, 1
/* 803381F8 00333E58 3B 39 00 04 */ addi r25, r25, 4
/* 803381FC 00333E5C 28 17 00 1F */ cmplwi r23, 0x1f
/* 80338200 00333E60 41 80 FF 2C */ blt lbl_8033812C
/* 80338204 00333E64 80 6D B0 98 */ lwz r3, lbl_80640358-_SDA_BASE_(r13)
/* 80338208 00333E68 2C 03 00 00 */ cmpwi r3, 0
/* 8033820C 00333E6C 41 82 00 18 */ beq lbl_80338224
/* 80338210 00333E70 3C 80 80 61 */ lis r4, lbl_80610928@ha
/* 80338214 00333E74 38 84 09 28 */ addi r4, r4, lbl_80610928@l
/* 80338218 00333E78 81 84 00 04 */ lwz r12, 4(r4)
/* 8033821C 00333E7C 7D 89 03 A6 */ mtctr r12
/* 80338220 00333E80 4E 80 04 21 */ bctrl
lbl_80338224:
/* 80338224 00333E84 38 00 00 00 */ li r0, 0
/* 80338228 00333E88 90 0D B0 98 */ stw r0, lbl_80640358-_SDA_BASE_(r13)
lbl_8033822C:
/* 8033822C 00333E8C 38 60 00 00 */ li r3, 0
/* 80338230 00333E90 48 00 04 0C */ b lbl_8033863C
lbl_80338234:
/* 80338234 00333E94 80 0D B0 98 */ lwz r0, lbl_80640358-_SDA_BASE_(r13)
/* 80338238 00333E98 2C 00 00 00 */ cmpwi r0, 0
/* 8033823C 00333E9C 40 82 00 28 */ bne lbl_80338264
/* 80338240 00333EA0 3C 80 80 61 */ lis r4, lbl_80610928@ha
/* 80338244 00333EA4 38 60 00 7C */ li r3, 0x7c
/* 80338248 00333EA8 81 84 09 28 */ lwz r12, lbl_80610928@l(r4)
/* 8033824C 00333EAC 7D 89 03 A6 */ mtctr r12
/* 80338250 00333EB0 4E 80 04 21 */ bctrl
/* 80338254 00333EB4 90 6D B0 98 */ stw r3, lbl_80640358-_SDA_BASE_(r13)
/* 80338258 00333EB8 38 80 00 00 */ li r4, 0
/* 8033825C 00333EBC 38 A0 00 7C */ li r5, 0x7c
/* 80338260 00333EC0 4B CC BE A5 */ bl memset
lbl_80338264:
/* 80338264 00333EC4 7F 63 DB 78 */ mr r3, r27
/* 80338268 00333EC8 4B E8 E8 FD */ bl strlen
/* 8033826C 00333ECC 2C 03 00 00 */ cmpwi r3, 0
/* 80338270 00333ED0 3B 80 00 00 */ li r28, 0
/* 80338274 00333ED4 38 80 00 00 */ li r4, 0
/* 80338278 00333ED8 41 82 01 20 */ beq lbl_80338398
/* 8033827C 00333EDC 28 03 00 08 */ cmplwi r3, 8
/* 80338280 00333EE0 38 A3 FF F8 */ addi r5, r3, -8
/* 80338284 00333EE4 40 81 00 E0 */ ble lbl_80338364
/* 80338288 00333EE8 38 05 00 07 */ addi r0, r5, 7
/* 8033828C 00333EEC 54 00 E8 FE */ srwi r0, r0, 3
/* 80338290 00333EF0 7C 09 03 A6 */ mtctr r0
/* 80338294 00333EF4 28 05 00 00 */ cmplwi r5, 0
/* 80338298 00333EF8 40 81 00 CC */ ble lbl_80338364
lbl_8033829C:
/* 8033829C 00333EFC 7E FB 22 14 */ add r23, r27, r4
/* 803382A0 00333F00 7C 1B 20 AE */ lbzx r0, r27, r4
/* 803382A4 00333F04 8B 37 00 01 */ lbz r25, 1(r23)
/* 803382A8 00333F08 3B 44 00 01 */ addi r26, r4, 1
/* 803382AC 00333F0C 8B F7 00 02 */ lbz r31, 2(r23)
/* 803382B0 00333F10 7C 05 07 74 */ extsb r5, r0
/* 803382B4 00333F14 54 80 16 FA */ rlwinm r0, r4, 2, 0x1b, 0x1d
/* 803382B8 00333F18 3B C4 00 02 */ addi r30, r4, 2
/* 803382BC 00333F1C 7C B8 00 30 */ slw r24, r5, r0
/* 803382C0 00333F20 8B B7 00 03 */ lbz r29, 3(r23)
/* 803382C4 00333F24 39 84 00 03 */ addi r12, r4, 3
/* 803382C8 00333F28 89 77 00 04 */ lbz r11, 4(r23)
/* 803382CC 00333F2C 39 44 00 04 */ addi r10, r4, 4
/* 803382D0 00333F30 89 37 00 05 */ lbz r9, 5(r23)
/* 803382D4 00333F34 39 04 00 05 */ addi r8, r4, 5
/* 803382D8 00333F38 88 F7 00 06 */ lbz r7, 6(r23)
/* 803382DC 00333F3C 38 C4 00 06 */ addi r6, r4, 6
/* 803382E0 00333F40 38 04 00 07 */ addi r0, r4, 7
/* 803382E4 00333F44 88 B7 00 07 */ lbz r5, 7(r23)
/* 803382E8 00333F48 7F 39 07 74 */ extsb r25, r25
/* 803382EC 00333F4C 57 5A 16 FA */ rlwinm r26, r26, 2, 0x1b, 0x1d
/* 803382F0 00333F50 7F 9C C2 14 */ add r28, r28, r24
/* 803382F4 00333F54 7F 3A D0 30 */ slw r26, r25, r26
/* 803382F8 00333F58 7F FF 07 74 */ extsb r31, r31
/* 803382FC 00333F5C 57 DE 16 FA */ rlwinm r30, r30, 2, 0x1b, 0x1d
/* 80338300 00333F60 7F BD 07 74 */ extsb r29, r29
/* 80338304 00333F64 55 8C 16 FA */ rlwinm r12, r12, 2, 0x1b, 0x1d
/* 80338308 00333F68 7F 9C D2 14 */ add r28, r28, r26
/* 8033830C 00333F6C 7F FE F0 30 */ slw r30, r31, r30
/* 80338310 00333F70 7D 6B 07 74 */ extsb r11, r11
/* 80338314 00333F74 55 4A 16 FA */ rlwinm r10, r10, 2, 0x1b, 0x1d
/* 80338318 00333F78 7F AC 60 30 */ slw r12, r29, r12
/* 8033831C 00333F7C 7F 9C F2 14 */ add r28, r28, r30
/* 80338320 00333F80 7D 29 07 74 */ extsb r9, r9
/* 80338324 00333F84 55 08 16 FA */ rlwinm r8, r8, 2, 0x1b, 0x1d
/* 80338328 00333F88 7D 6A 50 30 */ slw r10, r11, r10
/* 8033832C 00333F8C 7F 9C 62 14 */ add r28, r28, r12
/* 80338330 00333F90 7C E7 07 74 */ extsb r7, r7
/* 80338334 00333F94 54 C6 16 FA */ rlwinm r6, r6, 2, 0x1b, 0x1d
/* 80338338 00333F98 7D 28 40 30 */ slw r8, r9, r8
/* 8033833C 00333F9C 7F 9C 52 14 */ add r28, r28, r10
/* 80338340 00333FA0 7C A5 07 74 */ extsb r5, r5
/* 80338344 00333FA4 54 00 16 FA */ rlwinm r0, r0, 2, 0x1b, 0x1d
/* 80338348 00333FA8 7C E6 30 30 */ slw r6, r7, r6
/* 8033834C 00333FAC 7F 9C 42 14 */ add r28, r28, r8
/* 80338350 00333FB0 38 84 00 08 */ addi r4, r4, 8
/* 80338354 00333FB4 7F 9C 32 14 */ add r28, r28, r6
/* 80338358 00333FB8 7C A0 00 30 */ slw r0, r5, r0
/* 8033835C 00333FBC 7F 9C 02 14 */ add r28, r28, r0
/* 80338360 00333FC0 42 00 FF 3C */ bdnz lbl_8033829C
lbl_80338364:
/* 80338364 00333FC4 7C 04 18 50 */ subf r0, r4, r3
/* 80338368 00333FC8 7C BB 22 14 */ add r5, r27, r4
/* 8033836C 00333FCC 7C 09 03 A6 */ mtctr r0
/* 80338370 00333FD0 7C 04 18 40 */ cmplw r4, r3
/* 80338374 00333FD4 40 80 00 24 */ bge lbl_80338398
lbl_80338378:
/* 80338378 00333FD8 88 65 00 00 */ lbz r3, 0(r5)
/* 8033837C 00333FDC 54 80 16 FA */ rlwinm r0, r4, 2, 0x1b, 0x1d
/* 80338380 00333FE0 38 84 00 01 */ addi r4, r4, 1
/* 80338384 00333FE4 38 A5 00 01 */ addi r5, r5, 1
/* 80338388 00333FE8 7C 63 07 74 */ extsb r3, r3
/* 8033838C 00333FEC 7C 60 00 30 */ slw r0, r3, r0
/* 80338390 00333FF0 7F 9C 02 14 */ add r28, r28, r0
/* 80338394 00333FF4 42 00 FF E4 */ bdnz lbl_80338378
lbl_80338398:
/* 80338398 00333FF8 3C 60 08 42 */ lis r3, 0x08421085@ha
/* 8033839C 00333FFC 83 CD B0 98 */ lwz r30, lbl_80640358-_SDA_BASE_(r13)
/* 803383A0 00334000 3B E3 10 85 */ addi r31, r3, 0x08421085@l
/* 803383A4 00334004 3B A0 00 00 */ li r29, 0
/* 803383A8 00334008 7C 7F E0 16 */ mulhwu r3, r31, r28
/* 803383AC 0033400C 7C 03 E0 50 */ subf r0, r3, r28
/* 803383B0 00334010 54 00 F8 7E */ srwi r0, r0, 1
/* 803383B4 00334014 7C 00 1A 14 */ add r0, r0, r3
/* 803383B8 00334018 54 00 E1 3E */ srwi r0, r0, 4
/* 803383BC 0033401C 1C 00 00 1F */ mulli r0, r0, 0x1f
/* 803383C0 00334020 7F 80 E0 50 */ subf r28, r0, r28
lbl_803383C4:
/* 803383C4 00334024 7C 1D E9 D6 */ mullw r0, r29, r29
/* 803383C8 00334028 7C 9C 02 14 */ add r4, r28, r0
/* 803383CC 0033402C 7C 7F 20 16 */ mulhwu r3, r31, r4
/* 803383D0 00334030 7C 03 20 50 */ subf r0, r3, r4
/* 803383D4 00334034 54 00 F8 7E */ srwi r0, r0, 1
/* 803383D8 00334038 7C 00 1A 14 */ add r0, r0, r3
/* 803383DC 0033403C 54 00 E1 3E */ srwi r0, r0, 4
/* 803383E0 00334040 1C 00 00 1F */ mulli r0, r0, 0x1f
/* 803383E4 00334044 7C 00 20 50 */ subf r0, r0, r4
/* 803383E8 00334048 54 00 10 3A */ slwi r0, r0, 2
/* 803383EC 0033404C 7E FE 00 2E */ lwzx r23, r30, r0
/* 803383F0 00334050 2C 17 00 00 */ cmpwi r23, 0
/* 803383F4 00334054 41 82 00 20 */ beq lbl_80338414
/* 803383F8 00334058 80 77 00 10 */ lwz r3, 0x10(r23)
/* 803383FC 0033405C 7F 64 DB 78 */ mr r4, r27
/* 80338400 00334060 4B E9 60 4D */ bl strcmp
/* 80338404 00334064 2C 03 00 00 */ cmpwi r3, 0
/* 80338408 00334068 40 82 00 0C */ bne lbl_80338414
/* 8033840C 0033406C 7E E3 BB 78 */ mr r3, r23
/* 80338410 00334070 48 00 02 2C */ b lbl_8033863C
lbl_80338414:
/* 80338414 00334074 3B BD 00 01 */ addi r29, r29, 1
/* 80338418 00334078 28 1D 00 0F */ cmplwi r29, 0xf
/* 8033841C 0033407C 41 80 FF A8 */ blt lbl_803383C4
/* 80338420 00334080 57 80 10 3A */ slwi r0, r28, 2
/* 80338424 00334084 7C 1E 00 2E */ lwzx r0, r30, r0
/* 80338428 00334088 2C 00 00 00 */ cmpwi r0, 0
/* 8033842C 0033408C 41 82 00 B0 */ beq lbl_803384DC
/* 80338430 00334090 3C 60 08 42 */ lis r3, 0x08421085@ha
/* 80338434 00334094 38 00 00 07 */ li r0, 7
/* 80338438 00334098 38 63 10 85 */ addi r3, r3, 0x08421085@l
/* 8033843C 0033409C 38 C0 00 01 */ li r6, 1
/* 80338440 003340A0 7C 09 03 A6 */ mtctr r0
lbl_80338444:
/* 80338444 003340A4 7C 06 31 D6 */ mullw r0, r6, r6
/* 80338448 003340A8 7C BC 02 14 */ add r5, r28, r0
/* 8033844C 003340AC 7C 83 28 16 */ mulhwu r4, r3, r5
/* 80338450 003340B0 7C 04 28 50 */ subf r0, r4, r5
/* 80338454 003340B4 54 00 F8 7E */ srwi r0, r0, 1
/* 80338458 003340B8 7C 00 22 14 */ add r0, r0, r4
/* 8033845C 003340BC 54 00 E1 3E */ srwi r0, r0, 4
/* 80338460 003340C0 1C 00 00 1F */ mulli r0, r0, 0x1f
/* 80338464 003340C4 7C 80 28 50 */ subf r4, r0, r5
/* 80338468 003340C8 54 80 10 3A */ slwi r0, r4, 2
/* 8033846C 003340CC 7C 1E 00 2E */ lwzx r0, r30, r0
/* 80338470 003340D0 2C 00 00 00 */ cmpwi r0, 0
/* 80338474 003340D4 40 82 00 0C */ bne lbl_80338480
/* 80338478 003340D8 7C 9C 23 78 */ mr r28, r4
/* 8033847C 003340DC 48 00 00 4C */ b lbl_803384C8
lbl_80338480:
/* 80338480 003340E0 38 C6 00 01 */ addi r6, r6, 1
/* 80338484 003340E4 7C 06 31 D6 */ mullw r0, r6, r6
/* 80338488 003340E8 7C BC 02 14 */ add r5, r28, r0
/* 8033848C 003340EC 7C 83 28 16 */ mulhwu r4, r3, r5
/* 80338490 003340F0 7C 04 28 50 */ subf r0, r4, r5
/* 80338494 003340F4 54 00 F8 7E */ srwi r0, r0, 1
/* 80338498 003340F8 7C 00 22 14 */ add r0, r0, r4
/* 8033849C 003340FC 54 00 E1 3E */ srwi r0, r0, 4
/* 803384A0 00334100 1C 00 00 1F */ mulli r0, r0, 0x1f
/* 803384A4 00334104 7C 80 28 50 */ subf r4, r0, r5
/* 803384A8 00334108 54 80 10 3A */ slwi r0, r4, 2
/* 803384AC 0033410C 7C 1E 00 2E */ lwzx r0, r30, r0
/* 803384B0 00334110 2C 00 00 00 */ cmpwi r0, 0
/* 803384B4 00334114 40 82 00 0C */ bne lbl_803384C0
/* 803384B8 00334118 7C 9C 23 78 */ mr r28, r4
/* 803384BC 0033411C 48 00 00 0C */ b lbl_803384C8
lbl_803384C0:
/* 803384C0 00334120 38 C6 00 01 */ addi r6, r6, 1
/* 803384C4 00334124 42 00 FF 80 */ bdnz lbl_80338444
lbl_803384C8:
/* 803384C8 00334128 28 06 00 0F */ cmplwi r6, 0xf
/* 803384CC 0033412C 40 82 00 10 */ bne lbl_803384DC
/* 803384D0 00334130 7F 63 DB 78 */ mr r3, r27
/* 803384D4 00334134 4B FB ED F5 */ bl SOGetHostByName
/* 803384D8 00334138 48 00 01 64 */ b lbl_8033863C
lbl_803384DC:
/* 803384DC 0033413C 7F 63 DB 78 */ mr r3, r27
/* 803384E0 00334140 4B FB ED E9 */ bl SOGetHostByName
/* 803384E4 00334144 2C 03 00 00 */ cmpwi r3, 0
/* 803384E8 00334148 7C 7D 1B 78 */ mr r29, r3
/* 803384EC 0033414C 40 82 00 0C */ bne lbl_803384F8
/* 803384F0 00334150 38 60 00 00 */ li r3, 0
/* 803384F4 00334154 48 00 01 48 */ b lbl_8033863C
lbl_803384F8:
/* 803384F8 00334158 3C 80 80 61 */ lis r4, lbl_80610928@ha
/* 803384FC 0033415C 38 60 00 14 */ li r3, 0x14
/* 80338500 00334160 81 84 09 28 */ lwz r12, lbl_80610928@l(r4)
/* 80338504 00334164 7D 89 03 A6 */ mtctr r12
/* 80338508 00334168 4E 80 04 21 */ bctrl
/* 8033850C 0033416C 80 CD B0 98 */ lwz r6, lbl_80640358-_SDA_BASE_(r13)
/* 80338510 00334170 57 9E 10 3A */ slwi r30, r28, 2
/* 80338514 00334174 38 A0 00 00 */ li r5, 0
/* 80338518 00334178 7C 66 F1 2E */ stwx r3, r6, r30
/* 8033851C 0033417C 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 80338520 00334180 48 00 00 0C */ b lbl_8033852C
lbl_80338524:
/* 80338524 00334184 38 63 00 04 */ addi r3, r3, 4
/* 80338528 00334188 38 A5 00 01 */ addi r5, r5, 1
lbl_8033852C:
/* 8033852C 0033418C 80 03 00 00 */ lwz r0, 0(r3)
/* 80338530 00334190 2C 00 00 00 */ cmpwi r0, 0
/* 80338534 00334194 40 82 FF F0 */ bne lbl_80338524
/* 80338538 00334198 7C 66 F0 2E */ lwzx r3, r6, r30
/* 8033853C 0033419C 38 80 00 02 */ li r4, 2
/* 80338540 003341A0 38 05 00 01 */ addi r0, r5, 1
/* 80338544 003341A4 38 A0 00 00 */ li r5, 0
/* 80338548 003341A8 B0 83 00 08 */ sth r4, 8(r3)
/* 8033854C 003341AC 54 03 10 3A */ slwi r3, r0, 2
/* 80338550 003341B0 3F 80 80 61 */ lis r28, lbl_80610928@ha
/* 80338554 003341B4 A8 1D 00 0A */ lha r0, 0xa(r29)
/* 80338558 003341B8 7C 86 F0 2E */ lwzx r4, r6, r30
/* 8033855C 003341BC B0 04 00 0A */ sth r0, 0xa(r4)
/* 80338560 003341C0 7C 86 F0 2E */ lwzx r4, r6, r30
/* 80338564 003341C4 90 A4 00 00 */ stw r5, 0(r4)
/* 80338568 003341C8 7C 86 F0 2E */ lwzx r4, r6, r30
/* 8033856C 003341CC 90 A4 00 04 */ stw r5, 4(r4)
/* 80338570 003341D0 81 9C 09 28 */ lwz r12, lbl_80610928@l(r28)
/* 80338574 003341D4 7D 89 03 A6 */ mtctr r12
/* 80338578 003341D8 4E 80 04 21 */ bctrl
/* 8033857C 003341DC 80 8D B0 98 */ lwz r4, lbl_80640358-_SDA_BASE_(r13)
/* 80338580 003341E0 3A E0 00 00 */ li r23, 0
/* 80338584 003341E4 3B 00 00 00 */ li r24, 0
/* 80338588 003341E8 7C 84 F0 2E */ lwzx r4, r4, r30
/* 8033858C 003341EC 90 64 00 0C */ stw r3, 0xc(r4)
/* 80338590 003341F0 48 00 00 48 */ b lbl_803385D8
lbl_80338594:
/* 80338594 003341F4 81 9C 09 28 */ lwz r12, 0x928(r28)
/* 80338598 003341F8 A8 7D 00 0A */ lha r3, 0xa(r29)
/* 8033859C 003341FC 7D 89 03 A6 */ mtctr r12
/* 803385A0 00334200 4E 80 04 21 */ bctrl
/* 803385A4 00334204 80 0D B0 98 */ lwz r0, lbl_80640358-_SDA_BASE_(r13)
/* 803385A8 00334208 7C 9E 00 2E */ lwzx r4, r30, r0
/* 803385AC 0033420C 80 84 00 0C */ lwz r4, 0xc(r4)
/* 803385B0 00334210 7C 64 C1 2E */ stwx r3, r4, r24
/* 803385B4 00334214 7C 9E 00 2E */ lwzx r4, r30, r0
/* 803385B8 00334218 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 803385BC 0033421C 80 A4 00 0C */ lwz r5, 0xc(r4)
/* 803385C0 00334220 7C 83 C0 2E */ lwzx r4, r3, r24
/* 803385C4 00334224 7C 65 C0 2E */ lwzx r3, r5, r24
/* 803385C8 00334228 A8 BD 00 0A */ lha r5, 0xa(r29)
/* 803385CC 0033422C 4B CC BA 35 */ bl memcpy
/* 803385D0 00334230 3B 18 00 04 */ addi r24, r24, 4
/* 803385D4 00334234 3A F7 00 01 */ addi r23, r23, 1
lbl_803385D8:
/* 803385D8 00334238 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 803385DC 0033423C 7C 03 C0 2E */ lwzx r0, r3, r24
/* 803385E0 00334240 2C 00 00 00 */ cmpwi r0, 0
/* 803385E4 00334244 40 82 FF B0 */ bne lbl_80338594
/* 803385E8 00334248 80 8D B0 98 */ lwz r4, lbl_80640358-_SDA_BASE_(r13)
/* 803385EC 0033424C 56 E0 10 3A */ slwi r0, r23, 2
/* 803385F0 00334250 38 A0 00 00 */ li r5, 0
/* 803385F4 00334254 7F 63 DB 78 */ mr r3, r27
/* 803385F8 00334258 7C 84 F0 2E */ lwzx r4, r4, r30
/* 803385FC 0033425C 80 84 00 0C */ lwz r4, 0xc(r4)
/* 80338600 00334260 7C A4 01 2E */ stwx r5, r4, r0
/* 80338604 00334264 4B E8 E5 61 */ bl strlen
/* 80338608 00334268 3C 80 80 61 */ lis r4, lbl_80610928@ha
/* 8033860C 0033426C 81 84 09 28 */ lwz r12, lbl_80610928@l(r4)
/* 80338610 00334270 7D 89 03 A6 */ mtctr r12
/* 80338614 00334274 38 63 00 01 */ addi r3, r3, 1
/* 80338618 00334278 4E 80 04 21 */ bctrl
/* 8033861C 0033427C 80 CD B0 98 */ lwz r6, lbl_80640358-_SDA_BASE_(r13)
/* 80338620 00334280 7F 64 DB 78 */ mr r4, r27
/* 80338624 00334284 7C A6 F0 2E */ lwzx r5, r6, r30
/* 80338628 00334288 90 65 00 10 */ stw r3, 0x10(r5)
/* 8033862C 0033428C 7C 66 F0 2E */ lwzx r3, r6, r30
/* 80338630 00334290 80 63 00 10 */ lwz r3, 0x10(r3)
/* 80338634 00334294 4B E9 5C 9D */ bl strcpy
/* 80338638 00334298 7F A3 EB 78 */ mr r3, r29
lbl_8033863C:
/* 8033863C 0033429C 39 61 00 30 */ addi r11, r1, 0x30
/* 80338640 003342A0 4B E8 EB 25 */ bl _restgpr_23
/* 80338644 003342A4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80338648 003342A8 7C 08 03 A6 */ mtlr r0
/* 8033864C 003342AC 38 21 00 30 */ addi r1, r1, 0x30
/* 80338650 003342B0 4E 80 00 20 */ blr
.global SetSockBlocking
SetSockBlocking:
/* 80338654 003342B4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80338658 003342B8 7C 08 02 A6 */ mflr r0
/* 8033865C 003342BC 38 A0 00 00 */ li r5, 0
/* 80338660 003342C0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80338664 003342C4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80338668 003342C8 7C 9F 23 78 */ mr r31, r4
/* 8033866C 003342CC 38 80 00 03 */ li r4, 3
/* 80338670 003342D0 93 C1 00 08 */ stw r30, 8(r1)
/* 80338674 003342D4 7C 7E 1B 78 */ mr r30, r3
/* 80338678 003342D8 4C C6 31 82 */ crclr 6
/* 8033867C 003342DC 4B FB E2 51 */ bl SOFcntl
/* 80338680 003342E0 2C 1F 00 00 */ cmpwi r31, 0
/* 80338684 003342E4 60 65 00 04 */ ori r5, r3, 4
/* 80338688 003342E8 41 82 00 08 */ beq lbl_80338690
/* 8033868C 003342EC 54 65 07 B8 */ rlwinm r5, r3, 0, 0x1e, 0x1c
lbl_80338690:
/* 80338690 003342F0 7F C3 F3 78 */ mr r3, r30
/* 80338694 003342F4 38 80 00 04 */ li r4, 4
/* 80338698 003342F8 4C C6 31 82 */ crclr 6
/* 8033869C 003342FC 4B FB E2 31 */ bl SOFcntl
/* 803386A0 00334300 2C 03 00 00 */ cmpwi r3, 0
/* 803386A4 00334304 40 82 00 0C */ bne lbl_803386B0
/* 803386A8 00334308 38 60 00 01 */ li r3, 1
/* 803386AC 0033430C 48 00 00 08 */ b lbl_803386B4
lbl_803386B0:
/* 803386B0 00334310 38 60 00 00 */ li r3, 0
lbl_803386B4:
/* 803386B4 00334314 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803386B8 00334318 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803386BC 0033431C 83 C1 00 08 */ lwz r30, 8(r1)
/* 803386C0 00334320 7C 08 03 A6 */ mtlr r0
/* 803386C4 00334324 38 21 00 10 */ addi r1, r1, 0x10
/* 803386C8 00334328 4E 80 00 20 */ blr
.global SetReceiveBufferSize
SetReceiveBufferSize:
/* 803386CC 0033432C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803386D0 00334330 7C 08 02 A6 */ mflr r0
/* 803386D4 00334334 38 A0 10 02 */ li r5, 0x1002
/* 803386D8 00334338 38 E0 00 04 */ li r7, 4
/* 803386DC 0033433C 90 01 00 14 */ stw r0, 0x14(r1)
/* 803386E0 00334340 38 C1 00 08 */ addi r6, r1, 8
/* 803386E4 00334344 90 81 00 08 */ stw r4, 8(r1)
/* 803386E8 00334348 3C 80 00 01 */ lis r4, 0x0000FFFF@ha
/* 803386EC 0033434C 38 84 FF FF */ addi r4, r4, 0x0000FFFF@l
/* 803386F0 00334350 4B FB F1 65 */ bl SOSetSockOpt
/* 803386F4 00334354 2C 03 00 00 */ cmpwi r3, 0
/* 803386F8 00334358 41 80 00 08 */ blt lbl_80338700
/* 803386FC 0033435C 48 00 00 0C */ b lbl_80338708
lbl_80338700:
/* 80338700 00334360 90 6D B0 A4 */ stw r3, lbl_80640364-_SDA_BASE_(r13)
/* 80338704 00334364 38 60 FF FF */ li r3, -1
lbl_80338708:
/* 80338708 00334368 20 83 FF FF */ subfic r4, r3, -1
/* 8033870C 0033436C 38 03 00 01 */ addi r0, r3, 1
/* 80338710 00334370 7C 80 03 78 */ or r0, r4, r0
/* 80338714 00334374 54 03 0F FE */ srwi r3, r0, 0x1f
/* 80338718 00334378 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8033871C 0033437C 7C 08 03 A6 */ mtlr r0
/* 80338720 00334380 38 21 00 10 */ addi r1, r1, 0x10
/* 80338724 00334384 4E 80 00 20 */ blr
.global SetSendBufferSize
SetSendBufferSize:
/* 80338728 00334388 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8033872C 0033438C 7C 08 02 A6 */ mflr r0
/* 80338730 00334390 38 A0 10 01 */ li r5, 0x1001
/* 80338734 00334394 38 E0 00 04 */ li r7, 4
/* 80338738 00334398 90 01 00 14 */ stw r0, 0x14(r1)
/* 8033873C 0033439C 38 C1 00 08 */ addi r6, r1, 8
/* 80338740 003343A0 90 81 00 08 */ stw r4, 8(r1)
/* 80338744 003343A4 3C 80 00 01 */ lis r4, 0x0000FFFF@ha
/* 80338748 003343A8 38 84 FF FF */ addi r4, r4, 0x0000FFFF@l
/* 8033874C 003343AC 4B FB F1 09 */ bl SOSetSockOpt
/* 80338750 003343B0 2C 03 00 00 */ cmpwi r3, 0
/* 80338754 003343B4 41 80 00 08 */ blt lbl_8033875C
/* 80338758 003343B8 48 00 00 0C */ b lbl_80338764
lbl_8033875C:
/* 8033875C 003343BC 90 6D B0 A4 */ stw r3, lbl_80640364-_SDA_BASE_(r13)
/* 80338760 003343C0 38 60 FF FF */ li r3, -1
lbl_80338764:
/* 80338764 003343C4 20 83 FF FF */ subfic r4, r3, -1
/* 80338768 003343C8 38 03 00 01 */ addi r0, r3, 1
/* 8033876C 003343CC 7C 80 03 78 */ or r0, r4, r0
/* 80338770 003343D0 54 03 0F FE */ srwi r3, r0, 0x1f
/* 80338774 003343D4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80338778 003343D8 7C 08 03 A6 */ mtlr r0
/* 8033877C 003343DC 38 21 00 10 */ addi r1, r1, 0x10
/* 80338780 003343E0 4E 80 00 20 */ blr
.global GetReceiveBufferSize
GetReceiveBufferSize:
/* 80338784 003343E4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80338788 003343E8 7C 08 02 A6 */ mflr r0
/* 8033878C 003343EC 3C 80 00 01 */ lis r4, 0x0000FFFF@ha
/* 80338790 003343F0 38 A0 10 02 */ li r5, 0x1002
/* 80338794 003343F4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80338798 003343F8 38 00 00 04 */ li r0, 4
/* 8033879C 003343FC 38 84 FF FF */ addi r4, r4, 0x0000FFFF@l
/* 803387A0 00334400 38 C1 00 0C */ addi r6, r1, 0xc
/* 803387A4 00334404 90 01 00 08 */ stw r0, 8(r1)
/* 803387A8 00334408 38 E1 00 08 */ addi r7, r1, 8
/* 803387AC 0033440C 4B FB EF A5 */ bl SOGetSockOpt
/* 803387B0 00334410 2C 03 00 00 */ cmpwi r3, 0
/* 803387B4 00334414 41 80 00 08 */ blt lbl_803387BC
/* 803387B8 00334418 48 00 00 0C */ b lbl_803387C4
lbl_803387BC:
/* 803387BC 0033441C 90 6D B0 A4 */ stw r3, lbl_80640364-_SDA_BASE_(r13)
/* 803387C0 00334420 38 60 FF FF */ li r3, -1
lbl_803387C4:
/* 803387C4 00334424 2C 03 FF FF */ cmpwi r3, -1
/* 803387C8 00334428 40 82 00 0C */ bne lbl_803387D4
/* 803387CC 0033442C 38 60 FF FF */ li r3, -1
/* 803387D0 00334430 48 00 00 08 */ b lbl_803387D8
lbl_803387D4:
/* 803387D4 00334434 80 61 00 0C */ lwz r3, 0xc(r1)
lbl_803387D8:
/* 803387D8 00334438 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803387DC 0033443C 7C 08 03 A6 */ mtlr r0
/* 803387E0 00334440 38 21 00 10 */ addi r1, r1, 0x10
/* 803387E4 00334444 4E 80 00 20 */ blr
.global GetSendBufferSize
GetSendBufferSize:
/* 803387E8 00334448 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803387EC 0033444C 7C 08 02 A6 */ mflr r0
/* 803387F0 00334450 3C 80 00 01 */ lis r4, 0x0000FFFF@ha
/* 803387F4 00334454 38 A0 10 01 */ li r5, 0x1001
/* 803387F8 00334458 90 01 00 14 */ stw r0, 0x14(r1)
/* 803387FC 0033445C 38 00 00 04 */ li r0, 4
/* 80338800 00334460 38 84 FF FF */ addi r4, r4, 0x0000FFFF@l
/* 80338804 00334464 38 C1 00 0C */ addi r6, r1, 0xc
/* 80338808 00334468 90 01 00 08 */ stw r0, 8(r1)
/* 8033880C 0033446C 38 E1 00 08 */ addi r7, r1, 8
/* 80338810 00334470 4B FB EF 41 */ bl SOGetSockOpt
/* 80338814 00334474 2C 03 00 00 */ cmpwi r3, 0
/* 80338818 00334478 41 80 00 08 */ blt lbl_80338820
/* 8033881C 0033447C 48 00 00 0C */ b lbl_80338828
lbl_80338820:
/* 80338820 00334480 90 6D B0 A4 */ stw r3, lbl_80640364-_SDA_BASE_(r13)
/* 80338824 00334484 38 60 FF FF */ li r3, -1
lbl_80338828:
/* 80338828 00334488 2C 03 FF FF */ cmpwi r3, -1
/* 8033882C 0033448C 40 82 00 0C */ bne lbl_80338838
/* 80338830 00334490 38 60 FF FF */ li r3, -1
/* 80338834 00334494 48 00 00 08 */ b lbl_8033883C
lbl_80338838:
/* 80338838 00334498 80 61 00 0C */ lwz r3, 0xc(r1)
lbl_8033883C:
/* 8033883C 0033449C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80338840 003344A0 7C 08 03 A6 */ mtlr r0
/* 80338844 003344A4 38 21 00 10 */ addi r1, r1, 0x10
/* 80338848 003344A8 4E 80 00 20 */ blr
.global CanReceiveOnSocket
CanReceiveOnSocket:
/* 8033884C 003344AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80338850 003344B0 7C 08 02 A6 */ mflr r0
/* 80338854 003344B4 38 A0 00 00 */ li r5, 0
/* 80338858 003344B8 38 C0 00 00 */ li r6, 0
/* 8033885C 003344BC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80338860 003344C0 38 00 00 00 */ li r0, 0
/* 80338864 003344C4 38 81 00 08 */ addi r4, r1, 8
/* 80338868 003344C8 90 01 00 08 */ stw r0, 8(r1)
/* 8033886C 003344CC 4B FF F7 45 */ bl GSISocketSelect
/* 80338870 003344D0 2C 03 00 01 */ cmpwi r3, 1
/* 80338874 003344D4 40 82 00 0C */ bne lbl_80338880
/* 80338878 003344D8 80 61 00 08 */ lwz r3, 8(r1)
/* 8033887C 003344DC 48 00 00 08 */ b lbl_80338884
lbl_80338880:
/* 80338880 003344E0 38 60 00 00 */ li r3, 0
lbl_80338884:
/* 80338884 003344E4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80338888 003344E8 7C 08 03 A6 */ mtlr r0
/* 8033888C 003344EC 38 21 00 10 */ addi r1, r1, 0x10
/* 80338890 003344F0 4E 80 00 20 */ blr
.global CanSendOnSocket
CanSendOnSocket:
/* 80338894 003344F4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80338898 003344F8 7C 08 02 A6 */ mflr r0
/* 8033889C 003344FC 38 80 00 00 */ li r4, 0
/* 803388A0 00334500 38 C0 00 00 */ li r6, 0
/* 803388A4 00334504 90 01 00 14 */ stw r0, 0x14(r1)
/* 803388A8 00334508 38 00 00 00 */ li r0, 0
/* 803388AC 0033450C 38 A1 00 08 */ addi r5, r1, 8
/* 803388B0 00334510 90 01 00 08 */ stw r0, 8(r1)
/* 803388B4 00334514 4B FF F6 FD */ bl GSISocketSelect
/* 803388B8 00334518 2C 03 00 01 */ cmpwi r3, 1
/* 803388BC 0033451C 40 82 00 0C */ bne lbl_803388C8
/* 803388C0 00334520 80 61 00 08 */ lwz r3, 8(r1)
/* 803388C4 00334524 48 00 00 08 */ b lbl_803388CC
lbl_803388C8:
/* 803388C8 00334528 38 60 00 00 */ li r3, 0
lbl_803388CC:
/* 803388CC 0033452C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803388D0 00334530 7C 08 03 A6 */ mtlr r0
/* 803388D4 00334534 38 21 00 10 */ addi r1, r1, 0x10
/* 803388D8 00334538 4E 80 00 20 */ blr
.global getlocalhost
getlocalhost:
/* 803388DC 0033453C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803388E0 00334540 7C 08 02 A6 */ mflr r0
/* 803388E4 00334544 38 60 00 00 */ li r3, 0
/* 803388E8 00334548 38 A0 40 02 */ li r5, 0x4002
/* 803388EC 0033454C 90 01 00 24 */ stw r0, 0x24(r1)
/* 803388F0 00334550 38 00 00 04 */ li r0, 4
/* 803388F4 00334554 38 C1 00 10 */ addi r6, r1, 0x10
/* 803388F8 00334558 38 E1 00 0C */ addi r7, r1, 0xc
/* 803388FC 0033455C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80338900 00334560 3F E0 80 61 */ lis r31, lbl_80610928@ha
/* 80338904 00334564 3B FF 09 28 */ addi r31, r31, lbl_80610928@l
/* 80338908 00334568 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8033890C 0033456C 3F C0 00 01 */ lis r30, 0x0000FFFE@ha
/* 80338910 00334570 38 9E FF FE */ addi r4, r30, 0x0000FFFE@l
/* 80338914 00334574 90 01 00 0C */ stw r0, 0xc(r1)
/* 80338918 00334578 4B FB F0 41 */ bl SOGetInterfaceOpt
/* 8033891C 0033457C 80 01 00 10 */ lwz r0, 0x10(r1)
/* 80338920 00334580 38 7F 00 60 */ addi r3, r31, 0x60
/* 80338924 00334584 38 80 00 BE */ li r4, 0xbe
/* 80338928 00334588 1C A0 00 0C */ mulli r5, r0, 0xc
/* 8033892C 0033458C 4B CC B7 D9 */ bl memset
/* 80338930 00334590 80 01 00 10 */ lwz r0, 0x10(r1)
/* 80338934 00334594 38 9E FF FE */ addi r4, r30, -2
/* 80338938 00334598 38 DF 00 60 */ addi r6, r31, 0x60
/* 8033893C 0033459C 38 E1 00 08 */ addi r7, r1, 8
/* 80338940 003345A0 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80338944 003345A4 38 60 00 00 */ li r3, 0
/* 80338948 003345A8 38 A0 40 03 */ li r5, 0x4003
/* 8033894C 003345AC 90 01 00 08 */ stw r0, 8(r1)
/* 80338950 003345B0 4B FB F0 09 */ bl SOGetInterfaceOpt
/* 80338954 003345B4 80 E1 00 10 */ lwz r7, 0x10(r1)
/* 80338958 003345B8 3C 80 80 45 */ lis r4, lbl_8044A420@ha
/* 8033895C 003345BC 38 84 A4 20 */ addi r4, r4, lbl_8044A420@l
/* 80338960 003345C0 38 7F 00 10 */ addi r3, r31, 0x10
/* 80338964 003345C4 38 AD B0 9C */ addi r5, r13, lbl_8064035C-_SDA_BASE_
/* 80338968 003345C8 38 00 00 02 */ li r0, 2
/* 8033896C 003345CC 90 9F 00 10 */ stw r4, 0x10(r31)
/* 80338970 003345D0 2C 87 00 00 */ cmpwi cr1, r7, 0
/* 80338974 003345D4 38 80 00 00 */ li r4, 0
/* 80338978 003345D8 90 A3 00 04 */ stw r5, 4(r3)
/* 8033897C 003345DC B0 03 00 08 */ sth r0, 8(r3)
/* 80338980 003345E0 B0 E3 00 0A */ sth r7, 0xa(r3)
/* 80338984 003345E4 40 85 00 DC */ ble cr1, lbl_80338A60
/* 80338988 003345E8 2C 07 00 08 */ cmpwi r7, 8
/* 8033898C 003345EC 38 A7 FF F8 */ addi r5, r7, -8
/* 80338990 003345F0 40 81 00 90 */ ble lbl_80338A20
/* 80338994 003345F4 38 C0 00 00 */ li r6, 0
/* 80338998 003345F8 41 84 00 18 */ blt cr1, lbl_803389B0
/* 8033899C 003345FC 3C 60 80 00 */ lis r3, 0x7FFFFFFE@ha
/* 803389A0 00334600 38 03 FF FE */ addi r0, r3, 0x7FFFFFFE@l
/* 803389A4 00334604 7C 07 00 00 */ cmpw r7, r0
/* 803389A8 00334608 41 81 00 08 */ bgt lbl_803389B0
/* 803389AC 0033460C 38 C0 00 01 */ li r6, 1
lbl_803389B0:
/* 803389B0 00334610 2C 06 00 00 */ cmpwi r6, 0
/* 803389B4 00334614 41 82 00 6C */ beq lbl_80338A20
/* 803389B8 00334618 38 05 00 07 */ addi r0, r5, 7
/* 803389BC 0033461C 39 1F 00 60 */ addi r8, r31, 0x60
/* 803389C0 00334620 54 00 E8 FE */ srwi r0, r0, 3
/* 803389C4 00334624 39 3F 00 20 */ addi r9, r31, 0x20
/* 803389C8 00334628 7C 09 03 A6 */ mtctr r0
/* 803389CC 0033462C 2C 05 00 00 */ cmpwi r5, 0
/* 803389D0 00334630 40 81 00 50 */ ble lbl_80338A20
lbl_803389D4:
/* 803389D4 00334634 91 09 00 00 */ stw r8, 0(r9)
/* 803389D8 00334638 38 68 00 0C */ addi r3, r8, 0xc
/* 803389DC 0033463C 38 08 00 18 */ addi r0, r8, 0x18
/* 803389E0 00334640 38 E8 00 24 */ addi r7, r8, 0x24
/* 803389E4 00334644 90 69 00 04 */ stw r3, 4(r9)
/* 803389E8 00334648 38 C8 00 30 */ addi r6, r8, 0x30
/* 803389EC 0033464C 38 A8 00 3C */ addi r5, r8, 0x3c
/* 803389F0 00334650 38 68 00 48 */ addi r3, r8, 0x48
/* 803389F4 00334654 90 09 00 08 */ stw r0, 8(r9)
/* 803389F8 00334658 38 08 00 54 */ addi r0, r8, 0x54
/* 803389FC 0033465C 39 08 00 60 */ addi r8, r8, 0x60
/* 80338A00 00334660 38 84 00 08 */ addi r4, r4, 8
/* 80338A04 00334664 90 E9 00 0C */ stw r7, 0xc(r9)
/* 80338A08 00334668 90 C9 00 10 */ stw r6, 0x10(r9)
/* 80338A0C 0033466C 90 A9 00 14 */ stw r5, 0x14(r9)
/* 80338A10 00334670 90 69 00 18 */ stw r3, 0x18(r9)
/* 80338A14 00334674 90 09 00 1C */ stw r0, 0x1c(r9)
/* 80338A18 00334678 39 29 00 20 */ addi r9, r9, 0x20
/* 80338A1C 0033467C 42 00 FF B8 */ bdnz lbl_803389D4
lbl_80338A20:
/* 80338A20 00334680 81 01 00 10 */ lwz r8, 0x10(r1)
/* 80338A24 00334684 1C E4 00 0C */ mulli r7, r4, 0xc
/* 80338A28 00334688 38 DF 00 60 */ addi r6, r31, 0x60
/* 80338A2C 0033468C 54 85 10 3A */ slwi r5, r4, 2
/* 80338A30 00334690 38 7F 00 20 */ addi r3, r31, 0x20
/* 80338A34 00334694 7C 04 40 50 */ subf r0, r4, r8
/* 80338A38 00334698 7C C6 3A 14 */ add r6, r6, r7
/* 80338A3C 0033469C 7C 63 2A 14 */ add r3, r3, r5
/* 80338A40 003346A0 7C 09 03 A6 */ mtctr r0
/* 80338A44 003346A4 7C 04 40 00 */ cmpw r4, r8
/* 80338A48 003346A8 40 80 00 18 */ bge lbl_80338A60
lbl_80338A4C:
/* 80338A4C 003346AC 90 C3 00 00 */ stw r6, 0(r3)
/* 80338A50 003346B0 38 C6 00 0C */ addi r6, r6, 0xc
/* 80338A54 003346B4 38 63 00 04 */ addi r3, r3, 4
/* 80338A58 003346B8 38 84 00 01 */ addi r4, r4, 1
/* 80338A5C 003346BC 42 00 FF F0 */ bdnz lbl_80338A4C
lbl_80338A60:
/* 80338A60 003346C0 54 80 10 3A */ slwi r0, r4, 2
/* 80338A64 003346C4 38 7F 00 10 */ addi r3, r31, 0x10
/* 80338A68 003346C8 38 BF 00 20 */ addi r5, r31, 0x20
/* 80338A6C 003346CC 38 80 00 00 */ li r4, 0
/* 80338A70 003346D0 7C 85 01 2E */ stwx r4, r5, r0
/* 80338A74 003346D4 90 A3 00 0C */ stw r5, 0xc(r3)
/* 80338A78 003346D8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80338A7C 003346DC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80338A80 003346E0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80338A84 003346E4 7C 08 03 A6 */ mtlr r0
/* 80338A88 003346E8 38 21 00 20 */ addi r1, r1, 0x20
/* 80338A8C 003346EC 4E 80 00 20 */ blr
.global IsPrivateIP
IsPrivateIP:
/* 80338A90 003346F0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80338A94 003346F4 7C 08 02 A6 */ mflr r0
/* 80338A98 003346F8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80338A9C 003346FC 80 63 00 00 */ lwz r3, 0(r3)
/* 80338AA0 00334700 4B FB E2 CD */ bl SONtoHl
/* 80338AA4 00334704 54 60 46 3E */ srwi r0, r3, 0x18
/* 80338AA8 00334708 54 63 86 3E */ rlwinm r3, r3, 0x10, 0x18, 0x1f
/* 80338AAC 0033470C 2C 00 00 0A */ cmpwi r0, 0xa
/* 80338AB0 00334710 40 82 00 0C */ bne lbl_80338ABC
/* 80338AB4 00334714 38 60 00 01 */ li r3, 1
/* 80338AB8 00334718 48 00 00 40 */ b lbl_80338AF8
lbl_80338ABC:
/* 80338ABC 0033471C 2C 00 00 AC */ cmpwi r0, 0xac
/* 80338AC0 00334720 40 82 00 1C */ bne lbl_80338ADC
/* 80338AC4 00334724 2C 03 00 10 */ cmpwi r3, 0x10
/* 80338AC8 00334728 41 80 00 14 */ blt lbl_80338ADC
/* 80338ACC 0033472C 2C 03 00 1F */ cmpwi r3, 0x1f
/* 80338AD0 00334730 41 81 00 0C */ bgt lbl_80338ADC
/* 80338AD4 00334734 38 60 00 01 */ li r3, 1
/* 80338AD8 00334738 48 00 00 20 */ b lbl_80338AF8
lbl_80338ADC:
/* 80338ADC 0033473C 2C 00 00 C0 */ cmpwi r0, 0xc0
/* 80338AE0 00334740 40 82 00 14 */ bne lbl_80338AF4
/* 80338AE4 00334744 2C 03 00 A8 */ cmpwi r3, 0xa8
/* 80338AE8 00334748 40 82 00 0C */ bne lbl_80338AF4
/* 80338AEC 0033474C 38 60 00 01 */ li r3, 1
/* 80338AF0 00334750 48 00 00 08 */ b lbl_80338AF8
lbl_80338AF4:
/* 80338AF4 00334754 38 60 00 00 */ li r3, 0
lbl_80338AF8:
/* 80338AF8 00334758 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80338AFC 0033475C 7C 08 03 A6 */ mtlr r0
/* 80338B00 00334760 38 21 00 10 */ addi r1, r1, 0x10
/* 80338B04 00334764 4E 80 00 20 */ blr
.global gsiTimeInSec
gsiTimeInSec:
/* 80338B08 00334768 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80338B0C 0033476C 7C 08 02 A6 */ mflr r0
/* 80338B10 00334770 90 01 00 14 */ stw r0, 0x14(r1)
/* 80338B14 00334774 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80338B18 00334778 7C 7F 1B 78 */ mr r31, r3
/* 80338B1C 0033477C 4B F3 9C 9D */ bl OSGetTime
/* 80338B20 00334780 3C C0 80 00 */ lis r6, 0x800000F8@ha
/* 80338B24 00334784 38 A0 00 00 */ li r5, 0
/* 80338B28 00334788 80 06 00 F8 */ lwz r0, 0x800000F8@l(r6)
/* 80338B2C 0033478C 54 06 F0 BE */ srwi r6, r0, 2
/* 80338B30 00334790 4B E8 E7 49 */ bl __div2i
/* 80338B34 00334794 2C 1F 00 00 */ cmpwi r31, 0
/* 80338B38 00334798 41 82 00 0C */ beq lbl_80338B44
/* 80338B3C 0033479C 90 9F 00 04 */ stw r4, 4(r31)
/* 80338B40 003347A0 90 7F 00 00 */ stw r3, 0(r31)
lbl_80338B44:
/* 80338B44 003347A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80338B48 003347A8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80338B4C 003347AC 7C 08 03 A6 */ mtlr r0
/* 80338B50 003347B0 38 21 00 10 */ addi r1, r1, 0x10
/* 80338B54 003347B4 4E 80 00 20 */ blr
lbl_80338B58:
/* 80338B58 003347B8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80338B5C 003347BC 7C 08 02 A6 */ mflr r0
/* 80338B60 003347C0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80338B64 003347C4 80 0D B0 A0 */ lwz r0, lbl_80640360-_SDA_BASE_(r13)
/* 80338B68 003347C8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80338B6C 003347CC 7C 7F 1B 78 */ mr r31, r3
/* 80338B70 003347D0 2C 00 00 00 */ cmpwi r0, 0
/* 80338B74 003347D4 40 82 00 18 */ bne lbl_80338B8C
/* 80338B78 003347D8 3C 60 80 61 */ lis r3, lbl_80610AA0@ha
/* 80338B7C 003347DC 38 63 0A A0 */ addi r3, r3, lbl_80610AA0@l
/* 80338B80 003347E0 4B F3 6D 91 */ bl OSInitMutex
/* 80338B84 003347E4 38 00 00 01 */ li r0, 1
/* 80338B88 003347E8 90 0D B0 A0 */ stw r0, lbl_80640360-_SDA_BASE_(r13)
lbl_80338B8C:
/* 80338B8C 003347EC 3C 60 80 61 */ lis r3, lbl_80610AA0@ha
/* 80338B90 003347F0 38 63 0A A0 */ addi r3, r3, lbl_80610AA0@l
/* 80338B94 003347F4 4B F3 6D B5 */ bl OSLockMutex
/* 80338B98 003347F8 80 7F 00 00 */ lwz r3, 0(r31)
/* 80338B9C 003347FC 4B FF F5 3D */ bl gethostbyname
/* 80338BA0 00334800 2C 03 00 00 */ cmpwi r3, 0
/* 80338BA4 00334804 41 82 00 40 */ beq lbl_80338BE4
/* 80338BA8 00334808 80 83 00 0C */ lwz r4, 0xc(r3)
/* 80338BAC 0033480C 38 61 00 0C */ addi r3, r1, 0xc
/* 80338BB0 00334810 80 84 00 00 */ lwz r4, 0(r4)
/* 80338BB4 00334814 80 04 00 00 */ lwz r0, 0(r4)
/* 80338BB8 00334818 90 01 00 0C */ stw r0, 0xc(r1)
/* 80338BBC 0033481C 4B FB E1 5D */ bl SOInetNtoA
/* 80338BC0 00334820 38 81 00 08 */ addi r4, r1, 8
/* 80338BC4 00334824 4B FB E0 49 */ bl SOInetAtoN
/* 80338BC8 00334828 2C 03 00 00 */ cmpwi r3, 0
/* 80338BCC 0033482C 40 82 00 0C */ bne lbl_80338BD8
/* 80338BD0 00334830 38 00 FF FF */ li r0, -1
/* 80338BD4 00334834 48 00 00 08 */ b lbl_80338BDC
lbl_80338BD8:
/* 80338BD8 00334838 80 01 00 08 */ lwz r0, 8(r1)
lbl_80338BDC:
/* 80338BDC 0033483C 90 1F 00 04 */ stw r0, 4(r31)
/* 80338BE0 00334840 48 00 00 0C */ b lbl_80338BEC
lbl_80338BE4:
/* 80338BE4 00334844 38 00 FF FF */ li r0, -1
/* 80338BE8 00334848 90 1F 00 04 */ stw r0, 4(r31)
lbl_80338BEC:
/* 80338BEC 0033484C 38 00 00 01 */ li r0, 1
/* 80338BF0 00334850 3C 60 80 61 */ lis r3, lbl_80610AA0@ha
/* 80338BF4 00334854 90 1F 00 08 */ stw r0, 8(r31)
/* 80338BF8 00334858 38 63 0A A0 */ addi r3, r3, lbl_80610AA0@l
/* 80338BFC 0033485C 4B F3 6E 29 */ bl OSUnlockMutex
/* 80338C00 00334860 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80338C04 00334864 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80338C08 00334868 7C 08 03 A6 */ mtlr r0
/* 80338C0C 0033486C 38 21 00 20 */ addi r1, r1, 0x20
/* 80338C10 00334870 4E 80 00 20 */ blr
.global gsiStartResolvingHostname
gsiStartResolvingHostname:
/* 80338C14 00334874 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80338C18 00334878 7C 08 02 A6 */ mflr r0
/* 80338C1C 0033487C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80338C20 00334880 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80338C24 00334884 3F E0 80 61 */ lis r31, lbl_80610928@ha
/* 80338C28 00334888 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80338C2C 0033488C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80338C30 00334890 7C 9D 23 78 */ mr r29, r4
/* 80338C34 00334894 93 81 00 10 */ stw r28, 0x10(r1)
/* 80338C38 00334898 7C 7C 1B 78 */ mr r28, r3
/* 80338C3C 0033489C 38 60 03 30 */ li r3, 0x330
/* 80338C40 003348A0 81 9F 09 28 */ lwz r12, lbl_80610928@l(r31)
/* 80338C44 003348A4 7D 89 03 A6 */ mtctr r12
/* 80338C48 003348A8 4E 80 04 21 */ bctrl
/* 80338C4C 003348AC 2C 03 00 00 */ cmpwi r3, 0
/* 80338C50 003348B0 7C 7E 1B 78 */ mr r30, r3
/* 80338C54 003348B4 40 82 00 0C */ bne lbl_80338C60
/* 80338C58 003348B8 38 60 FF FF */ li r3, -1
/* 80338C5C 003348BC 48 00 00 CC */ b lbl_80338D28
lbl_80338C60:
/* 80338C60 003348C0 2C 1C 00 00 */ cmpwi r28, 0
/* 80338C64 003348C4 40 82 00 0C */ bne lbl_80338C70
/* 80338C68 003348C8 3B E0 00 00 */ li r31, 0
/* 80338C6C 003348CC 48 00 00 30 */ b lbl_80338C9C
lbl_80338C70:
/* 80338C70 003348D0 7F 83 E3 78 */ mr r3, r28
/* 80338C74 003348D4 4B E8 DE F1 */ bl strlen
/* 80338C78 003348D8 81 9F 09 28 */ lwz r12, 0x928(r31)
/* 80338C7C 003348DC 7D 89 03 A6 */ mtctr r12
/* 80338C80 003348E0 38 63 00 01 */ addi r3, r3, 1
/* 80338C84 003348E4 4E 80 04 21 */ bctrl
/* 80338C88 003348E8 2C 03 00 00 */ cmpwi r3, 0
/* 80338C8C 003348EC 7C 7F 1B 78 */ mr r31, r3
/* 80338C90 003348F0 41 82 00 0C */ beq lbl_80338C9C
/* 80338C94 003348F4 7F 84 E3 78 */ mr r4, r28
/* 80338C98 003348F8 4B E9 56 39 */ bl strcpy
lbl_80338C9C:
/* 80338C9C 003348FC 2C 1F 00 00 */ cmpwi r31, 0
/* 80338CA0 00334900 93 FE 00 00 */ stw r31, 0(r30)
/* 80338CA4 00334904 40 82 00 2C */ bne lbl_80338CD0
/* 80338CA8 00334908 2C 1E 00 00 */ cmpwi r30, 0
/* 80338CAC 0033490C 41 82 00 1C */ beq lbl_80338CC8
/* 80338CB0 00334910 3C 80 80 61 */ lis r4, lbl_80610928@ha
/* 80338CB4 00334914 7F C3 F3 78 */ mr r3, r30
/* 80338CB8 00334918 38 84 09 28 */ addi r4, r4, lbl_80610928@l
/* 80338CBC 0033491C 81 84 00 04 */ lwz r12, 4(r4)
/* 80338CC0 00334920 7D 89 03 A6 */ mtctr r12
/* 80338CC4 00334924 4E 80 04 21 */ bctrl
lbl_80338CC8:
/* 80338CC8 00334928 38 60 FF FF */ li r3, -1
/* 80338CCC 0033492C 48 00 00 5C */ b lbl_80338D28
lbl_80338CD0:
/* 80338CD0 00334930 38 00 00 00 */ li r0, 0
/* 80338CD4 00334934 3C 80 80 61 */ lis r4, lbl_80610928@ha
/* 80338CD8 00334938 90 1E 00 08 */ stw r0, 8(r30)
/* 80338CDC 0033493C 38 60 10 00 */ li r3, 0x1000
/* 80338CE0 00334940 81 84 09 28 */ lwz r12, lbl_80610928@l(r4)
/* 80338CE4 00334944 7D 89 03 A6 */ mtctr r12
/* 80338CE8 00334948 4E 80 04 21 */ bctrl
/* 80338CEC 0033494C 7C 66 1B 78 */ mr r6, r3
/* 80338CF0 00334950 90 7E 03 28 */ stw r3, 0x328(r30)
/* 80338CF4 00334954 3C 80 80 34 */ lis r4, lbl_80338B58@ha
/* 80338CF8 00334958 7F C5 F3 78 */ mr r5, r30
/* 80338CFC 0033495C 38 7E 00 10 */ addi r3, r30, 0x10
/* 80338D00 00334960 38 C6 10 00 */ addi r6, r6, 0x1000
/* 80338D04 00334964 38 84 8B 58 */ addi r4, r4, lbl_80338B58@l
/* 80338D08 00334968 38 E0 10 00 */ li r7, 0x1000
/* 80338D0C 0033496C 39 00 00 10 */ li r8, 0x10
/* 80338D10 00334970 39 20 00 01 */ li r9, 1
/* 80338D14 00334974 4B F3 8B CD */ bl OSCreateThread
/* 80338D18 00334978 38 7E 00 10 */ addi r3, r30, 0x10
/* 80338D1C 0033497C 4B F3 92 2D */ bl OSResumeThread
/* 80338D20 00334980 93 DD 00 00 */ stw r30, 0(r29)
/* 80338D24 00334984 38 60 00 00 */ li r3, 0
lbl_80338D28:
/* 80338D28 00334988 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80338D2C 0033498C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80338D30 00334990 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80338D34 00334994 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80338D38 00334998 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80338D3C 0033499C 7C 08 03 A6 */ mtlr r0
/* 80338D40 003349A0 38 21 00 20 */ addi r1, r1, 0x20
/* 80338D44 003349A4 4E 80 00 20 */ blr
.global gsiCancelResolvingHostname
gsiCancelResolvingHostname:
/* 80338D48 003349A8 94 21 FC D0 */ stwu r1, -0x330(r1)
/* 80338D4C 003349AC 7C 08 02 A6 */ mflr r0
/* 80338D50 003349B0 38 83 00 0C */ addi r4, r3, 0xc
/* 80338D54 003349B4 90 01 03 34 */ stw r0, 0x334(r1)
/* 80338D58 003349B8 38 00 00 64 */ li r0, 0x64
/* 80338D5C 003349BC 38 A1 00 04 */ addi r5, r1, 4
/* 80338D60 003349C0 93 E1 03 2C */ stw r31, 0x32c(r1)
/* 80338D64 003349C4 7C 7F 1B 78 */ mr r31, r3
/* 80338D68 003349C8 7C 09 03 A6 */ mtctr r0
lbl_80338D6C:
/* 80338D6C 003349CC 80 64 00 04 */ lwz r3, 4(r4)
/* 80338D70 003349D0 84 04 00 08 */ lwzu r0, 8(r4)
/* 80338D74 003349D4 90 65 00 04 */ stw r3, 4(r5)
/* 80338D78 003349D8 94 05 00 08 */ stwu r0, 8(r5)
/* 80338D7C 003349DC 42 00 FF F0 */ bdnz lbl_80338D6C
/* 80338D80 003349E0 38 61 00 08 */ addi r3, r1, 8
/* 80338D84 003349E4 4B F3 8E AD */ bl OSCancelThread
/* 80338D88 003349E8 80 61 03 20 */ lwz r3, 0x320(r1)
/* 80338D8C 003349EC 2C 03 00 00 */ cmpwi r3, 0
/* 80338D90 003349F0 41 82 00 24 */ beq lbl_80338DB4
/* 80338D94 003349F4 41 82 00 18 */ beq lbl_80338DAC
/* 80338D98 003349F8 3C 80 80 61 */ lis r4, lbl_80610928@ha
/* 80338D9C 003349FC 38 84 09 28 */ addi r4, r4, lbl_80610928@l
/* 80338DA0 00334A00 81 84 00 04 */ lwz r12, 4(r4)
/* 80338DA4 00334A04 7D 89 03 A6 */ mtctr r12
/* 80338DA8 00334A08 4E 80 04 21 */ bctrl
lbl_80338DAC:
/* 80338DAC 00334A0C 38 00 00 00 */ li r0, 0
/* 80338DB0 00334A10 90 01 03 20 */ stw r0, 0x320(r1)
lbl_80338DB4:
/* 80338DB4 00334A14 80 7F 00 00 */ lwz r3, 0(r31)
/* 80338DB8 00334A18 2C 03 00 00 */ cmpwi r3, 0
/* 80338DBC 00334A1C 41 82 00 18 */ beq lbl_80338DD4
/* 80338DC0 00334A20 3C 80 80 61 */ lis r4, lbl_80610928@ha
/* 80338DC4 00334A24 38 84 09 28 */ addi r4, r4, lbl_80610928@l
/* 80338DC8 00334A28 81 84 00 04 */ lwz r12, 4(r4)
/* 80338DCC 00334A2C 7D 89 03 A6 */ mtctr r12
/* 80338DD0 00334A30 4E 80 04 21 */ bctrl
lbl_80338DD4:
/* 80338DD4 00334A34 38 00 00 00 */ li r0, 0
/* 80338DD8 00334A38 2C 1F 00 00 */ cmpwi r31, 0
/* 80338DDC 00334A3C 90 1F 00 00 */ stw r0, 0(r31)
/* 80338DE0 00334A40 41 82 00 1C */ beq lbl_80338DFC
/* 80338DE4 00334A44 3C 80 80 61 */ lis r4, lbl_80610928@ha
/* 80338DE8 00334A48 7F E3 FB 78 */ mr r3, r31
/* 80338DEC 00334A4C 38 84 09 28 */ addi r4, r4, lbl_80610928@l
/* 80338DF0 00334A50 81 84 00 04 */ lwz r12, 4(r4)
/* 80338DF4 00334A54 7D 89 03 A6 */ mtctr r12
/* 80338DF8 00334A58 4E 80 04 21 */ bctrl
lbl_80338DFC:
/* 80338DFC 00334A5C 80 01 03 34 */ lwz r0, 0x334(r1)
/* 80338E00 00334A60 83 E1 03 2C */ lwz r31, 0x32c(r1)
/* 80338E04 00334A64 7C 08 03 A6 */ mtlr r0
/* 80338E08 00334A68 38 21 03 30 */ addi r1, r1, 0x330
/* 80338E0C 00334A6C 4E 80 00 20 */ blr
.global gsiGetResolvedIP
gsiGetResolvedIP:
/* 80338E10 00334A70 94 21 FC D0 */ stwu r1, -0x330(r1)
/* 80338E14 00334A74 7C 08 02 A6 */ mflr r0
/* 80338E18 00334A78 90 01 03 34 */ stw r0, 0x334(r1)
/* 80338E1C 00334A7C 93 E1 03 2C */ stw r31, 0x32c(r1)
/* 80338E20 00334A80 93 C1 03 28 */ stw r30, 0x328(r1)
/* 80338E24 00334A84 7C 7E 1B 78 */ mr r30, r3
/* 80338E28 00334A88 80 03 00 08 */ lwz r0, 8(r3)
/* 80338E2C 00334A8C 2C 00 00 00 */ cmpwi r0, 0
/* 80338E30 00334A90 40 82 00 0C */ bne lbl_80338E3C
/* 80338E34 00334A94 38 60 00 00 */ li r3, 0
/* 80338E38 00334A98 48 00 00 B4 */ b lbl_80338EEC
lbl_80338E3C:
/* 80338E3C 00334A9C 38 00 00 64 */ li r0, 0x64
/* 80338E40 00334AA0 38 A1 00 04 */ addi r5, r1, 4
/* 80338E44 00334AA4 38 83 00 0C */ addi r4, r3, 0xc
/* 80338E48 00334AA8 83 E3 00 04 */ lwz r31, 4(r3)
/* 80338E4C 00334AAC 7C 09 03 A6 */ mtctr r0
lbl_80338E50:
/* 80338E50 00334AB0 80 64 00 04 */ lwz r3, 4(r4)
/* 80338E54 00334AB4 84 04 00 08 */ lwzu r0, 8(r4)
/* 80338E58 00334AB8 90 65 00 04 */ stw r3, 4(r5)
/* 80338E5C 00334ABC 94 05 00 08 */ stwu r0, 8(r5)
/* 80338E60 00334AC0 42 00 FF F0 */ bdnz lbl_80338E50
/* 80338E64 00334AC4 38 61 00 08 */ addi r3, r1, 8
/* 80338E68 00334AC8 4B F3 84 B1 */ bl OSIsThreadTerminated
/* 80338E6C 00334ACC 2C 03 00 00 */ cmpwi r3, 0
/* 80338E70 00334AD0 40 82 00 0C */ bne lbl_80338E7C
/* 80338E74 00334AD4 38 61 00 08 */ addi r3, r1, 8
/* 80338E78 00334AD8 4B F3 8D B9 */ bl OSCancelThread
lbl_80338E7C:
/* 80338E7C 00334ADC 80 61 03 20 */ lwz r3, 0x320(r1)
/* 80338E80 00334AE0 2C 03 00 00 */ cmpwi r3, 0
/* 80338E84 00334AE4 41 82 00 24 */ beq lbl_80338EA8
/* 80338E88 00334AE8 41 82 00 18 */ beq lbl_80338EA0
/* 80338E8C 00334AEC 3C 80 80 61 */ lis r4, lbl_80610928@ha
/* 80338E90 00334AF0 38 84 09 28 */ addi r4, r4, lbl_80610928@l
/* 80338E94 00334AF4 81 84 00 04 */ lwz r12, 4(r4)
/* 80338E98 00334AF8 7D 89 03 A6 */ mtctr r12
/* 80338E9C 00334AFC 4E 80 04 21 */ bctrl
lbl_80338EA0:
/* 80338EA0 00334B00 38 00 00 00 */ li r0, 0
/* 80338EA4 00334B04 90 01 03 20 */ stw r0, 0x320(r1)
lbl_80338EA8:
/* 80338EA8 00334B08 80 7E 00 00 */ lwz r3, 0(r30)
/* 80338EAC 00334B0C 2C 03 00 00 */ cmpwi r3, 0
/* 80338EB0 00334B10 41 82 00 18 */ beq lbl_80338EC8
/* 80338EB4 00334B14 3C 80 80 61 */ lis r4, lbl_80610928@ha
/* 80338EB8 00334B18 38 84 09 28 */ addi r4, r4, lbl_80610928@l
/* 80338EBC 00334B1C 81 84 00 04 */ lwz r12, 4(r4)
/* 80338EC0 00334B20 7D 89 03 A6 */ mtctr r12
/* 80338EC4 00334B24 4E 80 04 21 */ bctrl
lbl_80338EC8:
/* 80338EC8 00334B28 2C 1E 00 00 */ cmpwi r30, 0
/* 80338ECC 00334B2C 41 82 00 1C */ beq lbl_80338EE8
/* 80338ED0 00334B30 3C 80 80 61 */ lis r4, lbl_80610928@ha
/* 80338ED4 00334B34 7F C3 F3 78 */ mr r3, r30
/* 80338ED8 00334B38 38 84 09 28 */ addi r4, r4, lbl_80610928@l
/* 80338EDC 00334B3C 81 84 00 04 */ lwz r12, 4(r4)
/* 80338EE0 00334B40 7D 89 03 A6 */ mtctr r12
/* 80338EE4 00334B44 4E 80 04 21 */ bctrl
lbl_80338EE8:
/* 80338EE8 00334B48 7F E3 FB 78 */ mr r3, r31
lbl_80338EEC:
/* 80338EEC 00334B4C 80 01 03 34 */ lwz r0, 0x334(r1)
/* 80338EF0 00334B50 83 E1 03 2C */ lwz r31, 0x32c(r1)
/* 80338EF4 00334B54 83 C1 03 28 */ lwz r30, 0x328(r1)
/* 80338EF8 00334B58 7C 08 03 A6 */ mtlr r0
/* 80338EFC 00334B5C 38 21 03 30 */ addi r1, r1, 0x330
/* 80338F00 00334B60 4E 80 00 20 */ blr
.global goastrdup
goastrdup:
/* 80338F04 00334B64 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80338F08 00334B68 7C 08 02 A6 */ mflr r0
/* 80338F0C 00334B6C 2C 03 00 00 */ cmpwi r3, 0
/* 80338F10 00334B70 90 01 00 14 */ stw r0, 0x14(r1)
/* 80338F14 00334B74 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80338F18 00334B78 93 C1 00 08 */ stw r30, 8(r1)
/* 80338F1C 00334B7C 7C 7E 1B 78 */ mr r30, r3
/* 80338F20 00334B80 40 82 00 0C */ bne lbl_80338F2C
/* 80338F24 00334B84 38 60 00 00 */ li r3, 0
/* 80338F28 00334B88 48 00 00 34 */ b lbl_80338F5C
lbl_80338F2C:
/* 80338F2C 00334B8C 4B E8 DC 39 */ bl strlen
/* 80338F30 00334B90 3C 80 80 61 */ lis r4, lbl_80610928@ha
/* 80338F34 00334B94 81 84 09 28 */ lwz r12, lbl_80610928@l(r4)
/* 80338F38 00334B98 7D 89 03 A6 */ mtctr r12
/* 80338F3C 00334B9C 38 63 00 01 */ addi r3, r3, 1
/* 80338F40 00334BA0 4E 80 04 21 */ bctrl
/* 80338F44 00334BA4 2C 03 00 00 */ cmpwi r3, 0
/* 80338F48 00334BA8 7C 7F 1B 78 */ mr r31, r3
/* 80338F4C 00334BAC 41 82 00 0C */ beq lbl_80338F58
/* 80338F50 00334BB0 7F C4 F3 78 */ mr r4, r30
/* 80338F54 00334BB4 4B E9 53 7D */ bl strcpy
lbl_80338F58:
/* 80338F58 00334BB8 7F E3 FB 78 */ mr r3, r31
lbl_80338F5C:
/* 80338F5C 00334BBC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80338F60 00334BC0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80338F64 00334BC4 83 C1 00 08 */ lwz r30, 8(r1)
/* 80338F68 00334BC8 7C 08 03 A6 */ mtlr r0
/* 80338F6C 00334BCC 38 21 00 10 */ addi r1, r1, 0x10
/* 80338F70 00334BD0 4E 80 00 20 */ blr
.global _strlwr
_strlwr:
/* 80338F74 00334BD4 3C A0 80 42 */ lis r5, lbl_80422D48@ha
/* 80338F78 00334BD8 7C 67 1B 78 */ mr r7, r3
/* 80338F7C 00334BDC 38 A5 2D 48 */ addi r5, r5, lbl_80422D48@l
/* 80338F80 00334BE0 48 00 00 3C */ b lbl_80338FBC
lbl_80338F84:
/* 80338F84 00334BE4 7C 86 07 75 */ extsb. r6, r4
/* 80338F88 00334BE8 38 00 00 00 */ li r0, 0
/* 80338F8C 00334BEC 41 80 00 0C */ blt lbl_80338F98
/* 80338F90 00334BF0 2C 06 01 00 */ cmpwi r6, 0x100
/* 80338F94 00334BF4 41 80 00 08 */ blt lbl_80338F9C
lbl_80338F98:
/* 80338F98 00334BF8 38 00 00 01 */ li r0, 1
lbl_80338F9C:
/* 80338F9C 00334BFC 2C 00 00 00 */ cmpwi r0, 0
/* 80338FA0 00334C00 41 82 00 08 */ beq lbl_80338FA8
/* 80338FA4 00334C04 48 00 00 10 */ b lbl_80338FB4
lbl_80338FA8:
/* 80338FA8 00334C08 80 85 00 38 */ lwz r4, 0x38(r5)
/* 80338FAC 00334C0C 80 84 00 10 */ lwz r4, 0x10(r4)
/* 80338FB0 00334C10 7C C4 30 AE */ lbzx r6, r4, r6
lbl_80338FB4:
/* 80338FB4 00334C14 98 C3 00 00 */ stb r6, 0(r3)
/* 80338FB8 00334C18 38 63 00 01 */ addi r3, r3, 1
lbl_80338FBC:
/* 80338FBC 00334C1C 88 83 00 00 */ lbz r4, 0(r3)
/* 80338FC0 00334C20 7C 80 07 75 */ extsb. r0, r4
/* 80338FC4 00334C24 40 82 FF C0 */ bne lbl_80338F84
/* 80338FC8 00334C28 7C E3 3B 78 */ mr r3, r7
/* 80338FCC 00334C2C 4E 80 00 20 */ blr
.global SocketStartUp
SocketStartUp:
/* 80338FD0 00334C30 4E 80 00 20 */ blr
.global SocketShutDown
SocketShutDown:
/* 80338FD4 00334C34 4E 80 00 20 */ blr
.global current_time
current_time:
/* 80338FD8 00334C38 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80338FDC 00334C3C 7C 08 02 A6 */ mflr r0
/* 80338FE0 00334C40 90 01 00 14 */ stw r0, 0x14(r1)
/* 80338FE4 00334C44 4B F3 97 D5 */ bl OSGetTime
/* 80338FE8 00334C48 3C C0 80 00 */ lis r6, 0x800000F8@ha
/* 80338FEC 00334C4C 3C A0 10 62 */ lis r5, 0x10624DD3@ha
/* 80338FF0 00334C50 80 06 00 F8 */ lwz r0, 0x800000F8@l(r6)
/* 80338FF4 00334C54 38 C5 4D D3 */ addi r6, r5, 0x10624DD3@l
/* 80338FF8 00334C58 38 A0 00 00 */ li r5, 0
/* 80338FFC 00334C5C 54 00 F0 BE */ srwi r0, r0, 2
/* 80339000 00334C60 7C 06 00 16 */ mulhwu r0, r6, r0
/* 80339004 00334C64 54 06 D1 BE */ srwi r6, r0, 6
/* 80339008 00334C68 4B E8 E2 71 */ bl __div2i
/* 8033900C 00334C6C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80339010 00334C70 7C 83 23 78 */ mr r3, r4
/* 80339014 00334C74 7C 08 03 A6 */ mtlr r0
/* 80339018 00334C78 38 21 00 10 */ addi r1, r1, 0x10
/* 8033901C 00334C7C 4E 80 00 20 */ blr
.global current_time_hires
current_time_hires:
/* 80339020 00334C80 4E 80 00 20 */ blr
.global msleep
msleep:
/* 80339024 00334C84 3C A0 80 00 */ lis r5, 0x800000F8@ha
/* 80339028 00334C88 3C 80 10 62 */ lis r4, 0x10624DD3@ha
/* 8033902C 00334C8C 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5)
/* 80339030 00334C90 38 84 4D D3 */ addi r4, r4, 0x10624DD3@l
/* 80339034 00334C94 38 C0 00 00 */ li r6, 0
/* 80339038 00334C98 54 00 F0 BE */ srwi r0, r0, 2
/* 8033903C 00334C9C 7C 84 00 16 */ mulhwu r4, r4, r0
/* 80339040 00334CA0 7C 03 31 D6 */ mullw r0, r3, r6
/* 80339044 00334CA4 54 84 D1 BE */ srwi r4, r4, 6
/* 80339048 00334CA8 7C A3 20 16 */ mulhwu r5, r3, r4
/* 8033904C 00334CAC 7C C6 21 D6 */ mullw r6, r6, r4
/* 80339050 00334CB0 7C 83 21 D6 */ mullw r4, r3, r4
/* 80339054 00334CB4 7C 65 32 14 */ add r3, r5, r6
/* 80339058 00334CB8 7C 63 02 14 */ add r3, r3, r0
/* 8033905C 00334CBC 4B F3 96 A8 */ b OSSleepTicks
.global Util_RandSeed
Util_RandSeed:
/* 80339060 00334CC0 2C 03 00 00 */ cmpwi r3, 0
/* 80339064 00334CC4 38 00 00 01 */ li r0, 1
/* 80339068 00334CC8 41 82 00 08 */ beq lbl_80339070
/* 8033906C 00334CCC 54 60 00 7E */ clrlwi r0, r3, 1
lbl_80339070:
/* 80339070 00334CD0 90 0D 8F 30 */ stw r0, lbl_8063E1F0-_SDA_BASE_(r13)
/* 80339074 00334CD4 4E 80 00 20 */ blr
.global Util_RandInt
Util_RandInt:
/* 80339078 00334CD8 7C E3 20 51 */ subf. r7, r3, r4
/* 8033907C 00334CDC 4D 82 00 20 */ beqlr
/* 80339080 00334CE0 80 AD 8F 30 */ lwz r5, lbl_8063E1F0-_SDA_BASE_(r13)
/* 80339084 00334CE4 3C 80 80 00 */ lis r4, 0x7FFFFFFF@ha
/* 80339088 00334CE8 38 04 FF FF */ addi r0, r4, 0x7FFFFFFF@l
/* 8033908C 00334CEC 54 A4 84 3E */ srwi r4, r5, 0x10
/* 80339090 00334CF0 54 A5 04 3E */ clrlwi r5, r5, 0x10
/* 80339094 00334CF4 1C C4 41 A7 */ mulli r6, r4, 0x41a7
/* 80339098 00334CF8 1C A5 41 A7 */ mulli r5, r5, 0x41a7
/* 8033909C 00334CFC 54 C4 80 5E */ rlwinm r4, r6, 0x10, 1, 0xf
/* 803390A0 00334D00 7C A5 22 14 */ add r5, r5, r4
/* 803390A4 00334D04 7C 05 00 40 */ cmplw r5, r0
/* 803390A8 00334D08 40 81 00 0C */ ble lbl_803390B4
/* 803390AC 00334D0C 54 A5 00 7E */ clrlwi r5, r5, 1
/* 803390B0 00334D10 38 A5 00 01 */ addi r5, r5, 1
lbl_803390B4:
/* 803390B4 00334D14 54 C0 8B FE */ srwi r0, r6, 0xf
/* 803390B8 00334D18 3C 80 80 00 */ lis r4, 0x7FFFFFFF@ha
/* 803390BC 00334D1C 7C A5 02 14 */ add r5, r5, r0
/* 803390C0 00334D20 38 04 FF FF */ addi r0, r4, 0x7FFFFFFF@l
/* 803390C4 00334D24 7C 05 00 40 */ cmplw r5, r0
/* 803390C8 00334D28 40 81 00 0C */ ble lbl_803390D4
/* 803390CC 00334D2C 54 A5 00 7E */ clrlwi r5, r5, 1
/* 803390D0 00334D30 38 A5 00 01 */ addi r5, r5, 1
lbl_803390D4:
/* 803390D4 00334D34 7C 05 3B 96 */ divwu r0, r5, r7
/* 803390D8 00334D38 90 AD 8F 30 */ stw r5, lbl_8063E1F0-_SDA_BASE_(r13)
/* 803390DC 00334D3C 7C 00 39 D6 */ mullw r0, r0, r7
/* 803390E0 00334D40 7C 00 28 50 */ subf r0, r0, r5
/* 803390E4 00334D44 7C 60 1A 14 */ add r3, r0, r3
/* 803390E8 00334D48 4E 80 00 20 */ blr
.global B64Encode
B64Encode:
/* 803390EC 00334D4C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803390F0 00334D50 2C 06 00 02 */ cmpwi r6, 2
/* 803390F4 00334D54 7C 80 23 78 */ mr r0, r4
/* 803390F8 00334D58 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803390FC 00334D5C 7C BF 2B 78 */ mr r31, r5
/* 80339100 00334D60 41 82 00 1C */ beq lbl_8033911C
/* 80339104 00334D64 40 80 00 20 */ bge lbl_80339124
/* 80339108 00334D68 2C 06 00 01 */ cmpwi r6, 1
/* 8033910C 00334D6C 40 80 00 08 */ bge lbl_80339114
/* 80339110 00334D70 48 00 00 14 */ b lbl_80339124
lbl_80339114:
/* 80339114 00334D74 38 C2 A4 BC */ addi r6, r2, lbl_80642ABC-_SDA2_BASE_
/* 80339118 00334D78 48 00 00 10 */ b lbl_80339128
lbl_8033911C:
/* 8033911C 00334D7C 38 C2 A4 C0 */ addi r6, r2, lbl_80642AC0-_SDA2_BASE_
/* 80339120 00334D80 48 00 00 08 */ b lbl_80339128
lbl_80339124:
/* 80339124 00334D84 38 C2 A4 B8 */ addi r6, r2, lbl_80642AB8-_SDA2_BASE_
lbl_80339128:
/* 80339128 00334D88 39 80 00 00 */ li r12, 0
/* 8033912C 00334D8C 48 00 00 E0 */ b lbl_8033920C
lbl_80339130:
/* 80339130 00334D90 7C 67 1B 78 */ mr r7, r3
/* 80339134 00334D94 39 41 00 08 */ addi r10, r1, 8
/* 80339138 00334D98 39 20 00 00 */ li r9, 0
/* 8033913C 00334D9C 48 00 00 18 */ b lbl_80339154
lbl_80339140:
/* 80339140 00334DA0 89 07 00 00 */ lbz r8, 0(r7)
/* 80339144 00334DA4 39 29 00 01 */ addi r9, r9, 1
/* 80339148 00334DA8 38 E7 00 01 */ addi r7, r7, 1
/* 8033914C 00334DAC 99 0A 00 00 */ stb r8, 0(r10)
/* 80339150 00334DB0 39 4A 00 01 */ addi r10, r10, 1
lbl_80339154:
/* 80339154 00334DB4 2C 1F 00 03 */ cmpwi r31, 3
/* 80339158 00334DB8 39 00 00 03 */ li r8, 3
/* 8033915C 00334DBC 40 80 00 08 */ bge lbl_80339164
/* 80339160 00334DC0 7F E8 FB 78 */ mr r8, r31
lbl_80339164:
/* 80339164 00334DC4 7C 09 40 00 */ cmpw r9, r8
/* 80339168 00334DC8 41 80 FF D8 */ blt lbl_80339140
/* 8033916C 00334DCC 2C 09 00 03 */ cmpwi r9, 3
/* 80339170 00334DD0 39 41 00 08 */ addi r10, r1, 8
/* 80339174 00334DD4 7D 4A 4A 14 */ add r10, r10, r9
/* 80339178 00334DD8 21 09 00 03 */ subfic r8, r9, 3
/* 8033917C 00334DDC 40 80 00 50 */ bge lbl_803391CC
/* 80339180 00334DE0 55 07 E8 FF */ rlwinm. r7, r8, 0x1d, 3, 0x1f
/* 80339184 00334DE4 7C E9 03 A6 */ mtctr r7
/* 80339188 00334DE8 41 82 00 34 */ beq lbl_803391BC
lbl_8033918C:
/* 8033918C 00334DEC 99 8A 00 00 */ stb r12, 0(r10)
/* 80339190 00334DF0 99 8A 00 01 */ stb r12, 1(r10)
/* 80339194 00334DF4 99 8A 00 02 */ stb r12, 2(r10)
/* 80339198 00334DF8 99 8A 00 03 */ stb r12, 3(r10)
/* 8033919C 00334DFC 99 8A 00 04 */ stb r12, 4(r10)
/* 803391A0 00334E00 99 8A 00 05 */ stb r12, 5(r10)
/* 803391A4 00334E04 99 8A 00 06 */ stb r12, 6(r10)
/* 803391A8 00334E08 99 8A 00 07 */ stb r12, 7(r10)
/* 803391AC 00334E0C 39 4A 00 08 */ addi r10, r10, 8
/* 803391B0 00334E10 42 00 FF DC */ bdnz lbl_8033918C
/* 803391B4 00334E14 71 08 00 07 */ andi. r8, r8, 7
/* 803391B8 00334E18 41 82 00 14 */ beq lbl_803391CC
lbl_803391BC:
/* 803391BC 00334E1C 7D 09 03 A6 */ mtctr r8
lbl_803391C0:
/* 803391C0 00334E20 99 8A 00 00 */ stb r12, 0(r10)
/* 803391C4 00334E24 39 4A 00 01 */ addi r10, r10, 1
/* 803391C8 00334E28 42 00 FF F8 */ bdnz lbl_803391C0
lbl_803391CC:
/* 803391CC 00334E2C 89 61 00 08 */ lbz r11, 8(r1)
/* 803391D0 00334E30 38 63 00 03 */ addi r3, r3, 3
/* 803391D4 00334E34 89 41 00 09 */ lbz r10, 9(r1)
/* 803391D8 00334E38 3B FF FF FD */ addi r31, r31, -3
/* 803391DC 00334E3C 7D 67 16 70 */ srawi r7, r11, 2
/* 803391E0 00334E40 89 01 00 0A */ lbz r8, 0xa(r1)
/* 803391E4 00334E44 98 E4 00 00 */ stb r7, 0(r4)
/* 803391E8 00334E48 7D 49 26 70 */ srawi r9, r10, 4
/* 803391EC 00334E4C 51 69 26 B6 */ rlwimi r9, r11, 4, 0x1a, 0x1b
/* 803391F0 00334E50 55 07 06 BE */ clrlwi r7, r8, 0x1a
/* 803391F4 00334E54 99 24 00 01 */ stb r9, 1(r4)
/* 803391F8 00334E58 7D 08 36 70 */ srawi r8, r8, 6
/* 803391FC 00334E5C 51 48 16 BA */ rlwimi r8, r10, 2, 0x1a, 0x1d
/* 80339200 00334E60 99 04 00 02 */ stb r8, 2(r4)
/* 80339204 00334E64 98 E4 00 03 */ stb r7, 3(r4)
/* 80339208 00334E68 38 84 00 04 */ addi r4, r4, 4
lbl_8033920C:
/* 8033920C 00334E6C 2C 1F 00 00 */ cmpwi r31, 0
/* 80339210 00334E70 41 81 FF 20 */ bgt lbl_80339130
/* 80339214 00334E74 3C 60 55 55 */ lis r3, 0x55555556@ha
/* 80339218 00334E78 7C 88 23 78 */ mr r8, r4
/* 8033921C 00334E7C 38 63 55 56 */ addi r3, r3, 0x55555556@l
/* 80339220 00334E80 7C E3 28 96 */ mulhw r7, r3, r5
/* 80339224 00334E84 54 E3 0F FE */ srwi r3, r7, 0x1f
/* 80339228 00334E88 7C 67 1A 14 */ add r3, r7, r3
/* 8033922C 00334E8C 1C 63 00 03 */ mulli r3, r3, 3
/* 80339230 00334E90 7C 63 28 50 */ subf r3, r3, r5
/* 80339234 00334E94 2C 03 00 01 */ cmpwi r3, 1
/* 80339238 00334E98 40 82 00 0C */ bne lbl_80339244
/* 8033923C 00334E9C 39 04 FF FE */ addi r8, r4, -2
/* 80339240 00334EA0 48 00 00 10 */ b lbl_80339250
lbl_80339244:
/* 80339244 00334EA4 2C 03 00 02 */ cmpwi r3, 2
/* 80339248 00334EA8 40 82 00 08 */ bne lbl_80339250
/* 8033924C 00334EAC 39 04 FF FF */ addi r8, r4, -1
lbl_80339250:
/* 80339250 00334EB0 38 A0 00 00 */ li r5, 0
/* 80339254 00334EB4 7C 60 20 50 */ subf r3, r0, r4
/* 80339258 00334EB8 98 A4 00 00 */ stb r5, 0(r4)
/* 8033925C 00334EBC 7C 69 03 A6 */ mtctr r3
/* 80339260 00334EC0 7C 04 00 40 */ cmplw r4, r0
/* 80339264 00334EC4 40 81 00 88 */ ble lbl_803392EC
lbl_80339268:
/* 80339268 00334EC8 38 84 FF FF */ addi r4, r4, -1
/* 8033926C 00334ECC 7C 04 40 40 */ cmplw r4, r8
/* 80339270 00334ED0 41 80 00 10 */ blt lbl_80339280
/* 80339274 00334ED4 88 06 00 02 */ lbz r0, 2(r6)
/* 80339278 00334ED8 98 04 00 00 */ stb r0, 0(r4)
/* 8033927C 00334EDC 48 00 00 6C */ b lbl_803392E8
lbl_80339280:
/* 80339280 00334EE0 88 64 00 00 */ lbz r3, 0(r4)
/* 80339284 00334EE4 7C 60 07 74 */ extsb r0, r3
/* 80339288 00334EE8 2C 00 00 19 */ cmpwi r0, 0x19
/* 8033928C 00334EEC 41 81 00 10 */ bgt lbl_8033929C
/* 80339290 00334EF0 38 03 00 41 */ addi r0, r3, 0x41
/* 80339294 00334EF4 98 04 00 00 */ stb r0, 0(r4)
/* 80339298 00334EF8 48 00 00 50 */ b lbl_803392E8
lbl_8033929C:
/* 8033929C 00334EFC 2C 00 00 33 */ cmpwi r0, 0x33
/* 803392A0 00334F00 41 81 00 10 */ bgt lbl_803392B0
/* 803392A4 00334F04 38 03 00 47 */ addi r0, r3, 0x47
/* 803392A8 00334F08 98 04 00 00 */ stb r0, 0(r4)
/* 803392AC 00334F0C 48 00 00 3C */ b lbl_803392E8
lbl_803392B0:
/* 803392B0 00334F10 2C 00 00 3D */ cmpwi r0, 0x3d
/* 803392B4 00334F14 41 81 00 10 */ bgt lbl_803392C4
/* 803392B8 00334F18 38 03 FF FC */ addi r0, r3, -4
/* 803392BC 00334F1C 98 04 00 00 */ stb r0, 0(r4)
/* 803392C0 00334F20 48 00 00 28 */ b lbl_803392E8
lbl_803392C4:
/* 803392C4 00334F24 2C 00 00 3E */ cmpwi r0, 0x3e
/* 803392C8 00334F28 40 82 00 10 */ bne lbl_803392D8
/* 803392CC 00334F2C 88 06 00 00 */ lbz r0, 0(r6)
/* 803392D0 00334F30 98 04 00 00 */ stb r0, 0(r4)
/* 803392D4 00334F34 48 00 00 14 */ b lbl_803392E8
lbl_803392D8:
/* 803392D8 00334F38 2C 00 00 3F */ cmpwi r0, 0x3f
/* 803392DC 00334F3C 40 82 00 0C */ bne lbl_803392E8
/* 803392E0 00334F40 88 06 00 01 */ lbz r0, 1(r6)
/* 803392E4 00334F44 98 04 00 00 */ stb r0, 0(r4)
lbl_803392E8:
/* 803392E8 00334F48 42 00 FF 80 */ bdnz lbl_80339268
lbl_803392EC:
/* 803392EC 00334F4C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803392F0 00334F50 38 21 00 20 */ addi r1, r1, 0x20
/* 803392F4 00334F54 4E 80 00 20 */ blr
.global gsiMemoryCallbacksSet
gsiMemoryCallbacksSet:
/* 803392F8 00334F58 3D 00 80 61 */ lis r8, lbl_80610928@ha
/* 803392FC 00334F5C 38 E8 09 28 */ addi r7, r8, lbl_80610928@l
/* 80339300 00334F60 90 68 09 28 */ stw r3, 0x928(r8)
/* 80339304 00334F64 90 87 00 04 */ stw r4, 4(r7)
/* 80339308 00334F68 90 A7 00 08 */ stw r5, 8(r7)
/* 8033930C 00334F6C 90 C7 00 0C */ stw r6, 0xc(r7)
/* 80339310 00334F70 4E 80 00 20 */ blr
.global gsimalloc
gsimalloc:
/* 80339314 00334F74 3C 80 80 61 */ lis r4, lbl_80610928@ha
/* 80339318 00334F78 81 84 09 28 */ lwz r12, lbl_80610928@l(r4)
/* 8033931C 00334F7C 7D 89 03 A6 */ mtctr r12
/* 80339320 00334F80 4E 80 04 20 */ bctr
.global gsirealloc
gsirealloc:
/* 80339324 00334F84 3C A0 80 61 */ lis r5, lbl_80610928@ha
/* 80339328 00334F88 38 A5 09 28 */ addi r5, r5, lbl_80610928@l
/* 8033932C 00334F8C 81 85 00 08 */ lwz r12, 8(r5)
/* 80339330 00334F90 7D 89 03 A6 */ mtctr r12
/* 80339334 00334F94 4E 80 04 20 */ bctr
.global gsifree
gsifree:
/* 80339338 00334F98 2C 03 00 00 */ cmpwi r3, 0
/* 8033933C 00334F9C 4D 82 00 20 */ beqlr
/* 80339340 00334FA0 3C 80 80 61 */ lis r4, lbl_80610928@ha
/* 80339344 00334FA4 38 84 09 28 */ addi r4, r4, lbl_80610928@l
/* 80339348 00334FA8 81 84 00 04 */ lwz r12, 4(r4)
/* 8033934C 00334FAC 7D 89 03 A6 */ mtctr r12
/* 80339350 00334FB0 4E 80 04 20 */ bctr
/* 80339354 00334FB4 4E 80 00 20 */ blr
|