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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global __SOCreateSocket
__SOCreateSocket:
/* 802F61FC 002F1E5C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802F6200 002F1E60 7C 08 02 A6 */ mflr r0
/* 802F6204 002F1E64 90 01 00 24 */ stw r0, 0x24(r1)
/* 802F6208 002F1E68 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802F620C 002F1E6C 7C BF 2B 78 */ mr r31, r5
/* 802F6210 002F1E70 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802F6214 002F1E74 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802F6218 002F1E78 7C 9D 23 78 */ mr r29, r4
/* 802F621C 002F1E7C 38 81 00 08 */ addi r4, r1, 8
/* 802F6220 002F1E80 93 81 00 10 */ stw r28, 0x10(r1)
/* 802F6224 002F1E84 7C 7C 1B 78 */ mr r28, r3
/* 802F6228 002F1E88 38 60 00 00 */ li r3, 0
/* 802F622C 002F1E8C 4B FF F9 99 */ bl SOiPrepare
/* 802F6230 002F1E90 2C 03 00 00 */ cmpwi r3, 0
/* 802F6234 002F1E94 40 82 00 7C */ bne lbl_802F62B0
/* 802F6238 002F1E98 2C 1C 00 17 */ cmpwi r28, 0x17
/* 802F623C 002F1E9C 40 82 00 0C */ bne lbl_802F6248
/* 802F6240 002F1EA0 3B E0 FF FB */ li r31, -5
/* 802F6244 002F1EA4 48 00 00 60 */ b lbl_802F62A4
lbl_802F6248:
/* 802F6248 002F1EA8 38 60 00 0C */ li r3, 0xc
/* 802F624C 002F1EAC 38 80 00 20 */ li r4, 0x20
/* 802F6250 002F1EB0 4B FF F8 59 */ bl SOiAlloc
/* 802F6254 002F1EB4 2C 03 00 00 */ cmpwi r3, 0
/* 802F6258 002F1EB8 7C 7E 1B 78 */ mr r30, r3
/* 802F625C 002F1EBC 40 82 00 0C */ bne lbl_802F6268
/* 802F6260 002F1EC0 3B E0 FF CF */ li r31, -49
/* 802F6264 002F1EC4 48 00 00 40 */ b lbl_802F62A4
lbl_802F6268:
/* 802F6268 002F1EC8 93 83 00 00 */ stw r28, 0(r3)
/* 802F626C 002F1ECC 7F C5 F3 78 */ mr r5, r30
/* 802F6270 002F1ED0 38 80 00 0F */ li r4, 0xf
/* 802F6274 002F1ED4 38 C0 00 0C */ li r6, 0xc
/* 802F6278 002F1ED8 93 A3 00 04 */ stw r29, 4(r3)
/* 802F627C 002F1EDC 38 E0 00 00 */ li r7, 0
/* 802F6280 002F1EE0 39 00 00 00 */ li r8, 0
/* 802F6284 002F1EE4 93 E3 00 08 */ stw r31, 8(r3)
/* 802F6288 002F1EE8 80 61 00 08 */ lwz r3, 8(r1)
/* 802F628C 002F1EEC 4B FA D8 65 */ bl IOS_Ioctl
/* 802F6290 002F1EF0 7C 7F 1B 78 */ mr r31, r3
/* 802F6294 002F1EF4 7F C4 F3 78 */ mr r4, r30
/* 802F6298 002F1EF8 38 60 00 0C */ li r3, 0xc
/* 802F629C 002F1EFC 38 A0 00 20 */ li r5, 0x20
/* 802F62A0 002F1F00 4B FF F8 F1 */ bl SOiFree
lbl_802F62A4:
/* 802F62A4 002F1F04 7F E4 FB 78 */ mr r4, r31
/* 802F62A8 002F1F08 38 60 00 00 */ li r3, 0
/* 802F62AC 002F1F0C 4B FF FA 01 */ bl SOiConclude
lbl_802F62B0:
/* 802F62B0 002F1F10 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802F62B4 002F1F14 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802F62B8 002F1F18 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802F62BC 002F1F1C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802F62C0 002F1F20 83 81 00 10 */ lwz r28, 0x10(r1)
/* 802F62C4 002F1F24 7C 08 03 A6 */ mtlr r0
/* 802F62C8 002F1F28 38 21 00 20 */ addi r1, r1, 0x20
/* 802F62CC 002F1F2C 4E 80 00 20 */ blr
.global SOClose
SOClose:
/* 802F62D0 002F1F30 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802F62D4 002F1F34 7C 08 02 A6 */ mflr r0
/* 802F62D8 002F1F38 90 01 00 24 */ stw r0, 0x24(r1)
/* 802F62DC 002F1F3C 38 81 00 08 */ addi r4, r1, 8
/* 802F62E0 002F1F40 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802F62E4 002F1F44 7C 7F 1B 78 */ mr r31, r3
/* 802F62E8 002F1F48 38 60 00 00 */ li r3, 0
/* 802F62EC 002F1F4C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802F62F0 002F1F50 4B FF F8 D5 */ bl SOiPrepare
/* 802F62F4 002F1F54 2C 03 00 00 */ cmpwi r3, 0
/* 802F62F8 002F1F58 40 82 00 64 */ bne lbl_802F635C
/* 802F62FC 002F1F5C 38 60 00 0C */ li r3, 0xc
/* 802F6300 002F1F60 38 80 00 20 */ li r4, 0x20
/* 802F6304 002F1F64 4B FF F7 A5 */ bl SOiAlloc
/* 802F6308 002F1F68 2C 03 00 00 */ cmpwi r3, 0
/* 802F630C 002F1F6C 7C 7E 1B 78 */ mr r30, r3
/* 802F6310 002F1F70 40 82 00 0C */ bne lbl_802F631C
/* 802F6314 002F1F74 3B E0 FF CF */ li r31, -49
/* 802F6318 002F1F78 48 00 00 38 */ b lbl_802F6350
lbl_802F631C:
/* 802F631C 002F1F7C 93 E3 00 00 */ stw r31, 0(r3)
/* 802F6320 002F1F80 7F C5 F3 78 */ mr r5, r30
/* 802F6324 002F1F84 38 80 00 03 */ li r4, 3
/* 802F6328 002F1F88 38 C0 00 04 */ li r6, 4
/* 802F632C 002F1F8C 80 61 00 08 */ lwz r3, 8(r1)
/* 802F6330 002F1F90 38 E0 00 00 */ li r7, 0
/* 802F6334 002F1F94 39 00 00 00 */ li r8, 0
/* 802F6338 002F1F98 4B FA D7 B9 */ bl IOS_Ioctl
/* 802F633C 002F1F9C 7C 7F 1B 78 */ mr r31, r3
/* 802F6340 002F1FA0 7F C4 F3 78 */ mr r4, r30
/* 802F6344 002F1FA4 38 60 00 0C */ li r3, 0xc
/* 802F6348 002F1FA8 38 A0 00 20 */ li r5, 0x20
/* 802F634C 002F1FAC 4B FF F8 45 */ bl SOiFree
lbl_802F6350:
/* 802F6350 002F1FB0 7F E4 FB 78 */ mr r4, r31
/* 802F6354 002F1FB4 38 60 00 00 */ li r3, 0
/* 802F6358 002F1FB8 4B FF F9 55 */ bl SOiConclude
lbl_802F635C:
/* 802F635C 002F1FBC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802F6360 002F1FC0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802F6364 002F1FC4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802F6368 002F1FC8 7C 08 03 A6 */ mtlr r0
/* 802F636C 002F1FCC 38 21 00 20 */ addi r1, r1, 0x20
/* 802F6370 002F1FD0 4E 80 00 20 */ blr
.global SOListen
SOListen:
/* 802F6374 002F1FD4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802F6378 002F1FD8 7C 08 02 A6 */ mflr r0
/* 802F637C 002F1FDC 90 01 00 24 */ stw r0, 0x24(r1)
/* 802F6380 002F1FE0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802F6384 002F1FE4 7C 9F 23 78 */ mr r31, r4
/* 802F6388 002F1FE8 38 81 00 08 */ addi r4, r1, 8
/* 802F638C 002F1FEC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802F6390 002F1FF0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802F6394 002F1FF4 7C 7D 1B 78 */ mr r29, r3
/* 802F6398 002F1FF8 38 60 00 00 */ li r3, 0
/* 802F639C 002F1FFC 4B FF F8 29 */ bl SOiPrepare
/* 802F63A0 002F2000 2C 03 00 00 */ cmpwi r3, 0
/* 802F63A4 002F2004 40 82 00 68 */ bne lbl_802F640C
/* 802F63A8 002F2008 38 60 00 0C */ li r3, 0xc
/* 802F63AC 002F200C 38 80 00 20 */ li r4, 0x20
/* 802F63B0 002F2010 4B FF F6 F9 */ bl SOiAlloc
/* 802F63B4 002F2014 2C 03 00 00 */ cmpwi r3, 0
/* 802F63B8 002F2018 7C 7E 1B 78 */ mr r30, r3
/* 802F63BC 002F201C 40 82 00 0C */ bne lbl_802F63C8
/* 802F63C0 002F2020 3B E0 FF CF */ li r31, -49
/* 802F63C4 002F2024 48 00 00 3C */ b lbl_802F6400
lbl_802F63C8:
/* 802F63C8 002F2028 93 A3 00 00 */ stw r29, 0(r3)
/* 802F63CC 002F202C 7F C5 F3 78 */ mr r5, r30
/* 802F63D0 002F2030 38 80 00 0A */ li r4, 0xa
/* 802F63D4 002F2034 38 C0 00 08 */ li r6, 8
/* 802F63D8 002F2038 93 E3 00 04 */ stw r31, 4(r3)
/* 802F63DC 002F203C 38 E0 00 00 */ li r7, 0
/* 802F63E0 002F2040 39 00 00 00 */ li r8, 0
/* 802F63E4 002F2044 80 61 00 08 */ lwz r3, 8(r1)
/* 802F63E8 002F2048 4B FA D7 09 */ bl IOS_Ioctl
/* 802F63EC 002F204C 7C 7F 1B 78 */ mr r31, r3
/* 802F63F0 002F2050 7F C4 F3 78 */ mr r4, r30
/* 802F63F4 002F2054 38 60 00 0C */ li r3, 0xc
/* 802F63F8 002F2058 38 A0 00 20 */ li r5, 0x20
/* 802F63FC 002F205C 4B FF F7 95 */ bl SOiFree
lbl_802F6400:
/* 802F6400 002F2060 7F E4 FB 78 */ mr r4, r31
/* 802F6404 002F2064 38 60 00 00 */ li r3, 0
/* 802F6408 002F2068 4B FF F8 A5 */ bl SOiConclude
lbl_802F640C:
/* 802F640C 002F206C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802F6410 002F2070 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802F6414 002F2074 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802F6418 002F2078 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802F641C 002F207C 7C 08 03 A6 */ mtlr r0
/* 802F6420 002F2080 38 21 00 20 */ addi r1, r1, 0x20
/* 802F6424 002F2084 4E 80 00 20 */ blr
.global SOAccept
SOAccept:
/* 802F6428 002F2088 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802F642C 002F208C 7C 08 02 A6 */ mflr r0
/* 802F6430 002F2090 90 01 00 34 */ stw r0, 0x34(r1)
/* 802F6434 002F2094 39 61 00 30 */ addi r11, r1, 0x30
/* 802F6438 002F2098 4B ED 0C F1 */ bl _savegpr_27
/* 802F643C 002F209C 7C 7C 1B 78 */ mr r28, r3
/* 802F6440 002F20A0 7C 9B 23 78 */ mr r27, r4
/* 802F6444 002F20A4 38 81 00 08 */ addi r4, r1, 8
/* 802F6448 002F20A8 38 60 00 00 */ li r3, 0
/* 802F644C 002F20AC 4B FF F7 79 */ bl SOiPrepare
/* 802F6450 002F20B0 2C 03 00 00 */ cmpwi r3, 0
/* 802F6454 002F20B4 40 82 00 FC */ bne lbl_802F6550
/* 802F6458 002F20B8 2C 1B 00 00 */ cmpwi r27, 0
/* 802F645C 002F20BC 41 82 00 1C */ beq lbl_802F6478
/* 802F6460 002F20C0 88 1B 00 00 */ lbz r0, 0(r27)
/* 802F6464 002F20C4 28 00 00 08 */ cmplwi r0, 8
/* 802F6468 002F20C8 41 81 00 08 */ bgt lbl_802F6470
/* 802F646C 002F20CC 40 80 00 0C */ bge lbl_802F6478
lbl_802F6470:
/* 802F6470 002F20D0 3B C0 FF E4 */ li r30, -28
/* 802F6474 002F20D4 48 00 00 D0 */ b lbl_802F6544
lbl_802F6478:
/* 802F6478 002F20D8 2C 1B 00 00 */ cmpwi r27, 0
/* 802F647C 002F20DC 40 82 00 0C */ bne lbl_802F6488
/* 802F6480 002F20E0 38 60 00 04 */ li r3, 4
/* 802F6484 002F20E4 48 00 00 0C */ b lbl_802F6490
lbl_802F6488:
/* 802F6488 002F20E8 88 7B 00 00 */ lbz r3, 0(r27)
/* 802F648C 002F20EC 38 63 00 20 */ addi r3, r3, 0x20
lbl_802F6490:
/* 802F6490 002F20F0 38 03 00 1F */ addi r0, r3, 0x1f
/* 802F6494 002F20F4 38 60 00 0C */ li r3, 0xc
/* 802F6498 002F20F8 54 1F 00 34 */ rlwinm r31, r0, 0, 0, 0x1a
/* 802F649C 002F20FC 7F E4 FB 78 */ mr r4, r31
/* 802F64A0 002F2100 4B FF F6 09 */ bl SOiAlloc
/* 802F64A4 002F2104 2C 03 00 00 */ cmpwi r3, 0
/* 802F64A8 002F2108 7C 7D 1B 78 */ mr r29, r3
/* 802F64AC 002F210C 40 82 00 0C */ bne lbl_802F64B8
/* 802F64B0 002F2110 3B C0 FF CF */ li r30, -49
/* 802F64B4 002F2114 48 00 00 90 */ b lbl_802F6544
lbl_802F64B8:
/* 802F64B8 002F2118 2C 1B 00 00 */ cmpwi r27, 0
/* 802F64BC 002F211C 93 83 00 00 */ stw r28, 0(r3)
/* 802F64C0 002F2120 3B 83 00 20 */ addi r28, r3, 0x20
/* 802F64C4 002F2124 40 82 00 28 */ bne lbl_802F64EC
/* 802F64C8 002F2128 80 61 00 08 */ lwz r3, 8(r1)
/* 802F64CC 002F212C 7F A5 EB 78 */ mr r5, r29
/* 802F64D0 002F2130 38 80 00 01 */ li r4, 1
/* 802F64D4 002F2134 38 C0 00 04 */ li r6, 4
/* 802F64D8 002F2138 38 E0 00 00 */ li r7, 0
/* 802F64DC 002F213C 39 00 00 00 */ li r8, 0
/* 802F64E0 002F2140 4B FA D6 11 */ bl IOS_Ioctl
/* 802F64E4 002F2144 7C 7E 1B 78 */ mr r30, r3
/* 802F64E8 002F2148 48 00 00 4C */ b lbl_802F6534
lbl_802F64EC:
/* 802F64EC 002F214C 88 BB 00 00 */ lbz r5, 0(r27)
/* 802F64F0 002F2150 7F 83 E3 78 */ mr r3, r28
/* 802F64F4 002F2154 7F 64 DB 78 */ mr r4, r27
/* 802F64F8 002F2158 4B D0 DB 09 */ bl memcpy
/* 802F64FC 002F215C 80 61 00 08 */ lwz r3, 8(r1)
/* 802F6500 002F2160 7F A5 EB 78 */ mr r5, r29
/* 802F6504 002F2164 89 1B 00 00 */ lbz r8, 0(r27)
/* 802F6508 002F2168 7F 87 E3 78 */ mr r7, r28
/* 802F650C 002F216C 38 80 00 01 */ li r4, 1
/* 802F6510 002F2170 38 C0 00 04 */ li r6, 4
/* 802F6514 002F2174 4B FA D5 DD */ bl IOS_Ioctl
/* 802F6518 002F2178 2C 03 00 00 */ cmpwi r3, 0
/* 802F651C 002F217C 7C 7E 1B 78 */ mr r30, r3
/* 802F6520 002F2180 41 80 00 14 */ blt lbl_802F6534
/* 802F6524 002F2184 88 BC 00 00 */ lbz r5, 0(r28)
/* 802F6528 002F2188 7F 63 DB 78 */ mr r3, r27
/* 802F652C 002F218C 7F 84 E3 78 */ mr r4, r28
/* 802F6530 002F2190 4B D0 DA D1 */ bl memcpy
lbl_802F6534:
/* 802F6534 002F2194 7F A4 EB 78 */ mr r4, r29
/* 802F6538 002F2198 7F E5 FB 78 */ mr r5, r31
/* 802F653C 002F219C 38 60 00 0C */ li r3, 0xc
/* 802F6540 002F21A0 4B FF F6 51 */ bl SOiFree
lbl_802F6544:
/* 802F6544 002F21A4 7F C4 F3 78 */ mr r4, r30
/* 802F6548 002F21A8 38 60 00 00 */ li r3, 0
/* 802F654C 002F21AC 4B FF F7 61 */ bl SOiConclude
lbl_802F6550:
/* 802F6550 002F21B0 39 61 00 30 */ addi r11, r1, 0x30
/* 802F6554 002F21B4 4B ED 0C 21 */ bl _restgpr_27
/* 802F6558 002F21B8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802F655C 002F21BC 7C 08 03 A6 */ mtlr r0
/* 802F6560 002F21C0 38 21 00 30 */ addi r1, r1, 0x30
/* 802F6564 002F21C4 4E 80 00 20 */ blr
.global SOBind
SOBind:
/* 802F6568 002F21C8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802F656C 002F21CC 7C 08 02 A6 */ mflr r0
/* 802F6570 002F21D0 90 01 00 24 */ stw r0, 0x24(r1)
/* 802F6574 002F21D4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802F6578 002F21D8 7C 9F 23 78 */ mr r31, r4
/* 802F657C 002F21DC 38 81 00 08 */ addi r4, r1, 8
/* 802F6580 002F21E0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802F6584 002F21E4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802F6588 002F21E8 7C 7D 1B 78 */ mr r29, r3
/* 802F658C 002F21EC 38 60 00 00 */ li r3, 0
/* 802F6590 002F21F0 4B FF F6 35 */ bl SOiPrepare
/* 802F6594 002F21F4 2C 03 00 00 */ cmpwi r3, 0
/* 802F6598 002F21F8 40 82 00 9C */ bne lbl_802F6634
/* 802F659C 002F21FC 2C 1F 00 00 */ cmpwi r31, 0
/* 802F65A0 002F2200 41 82 00 14 */ beq lbl_802F65B4
/* 802F65A4 002F2204 88 1F 00 00 */ lbz r0, 0(r31)
/* 802F65A8 002F2208 28 00 00 08 */ cmplwi r0, 8
/* 802F65AC 002F220C 41 81 00 08 */ bgt lbl_802F65B4
/* 802F65B0 002F2210 40 80 00 0C */ bge lbl_802F65BC
lbl_802F65B4:
/* 802F65B4 002F2214 3B E0 FF E4 */ li r31, -28
/* 802F65B8 002F2218 48 00 00 70 */ b lbl_802F6628
lbl_802F65BC:
/* 802F65BC 002F221C 38 60 00 0C */ li r3, 0xc
/* 802F65C0 002F2220 38 80 00 40 */ li r4, 0x40
/* 802F65C4 002F2224 4B FF F4 E5 */ bl SOiAlloc
/* 802F65C8 002F2228 2C 03 00 00 */ cmpwi r3, 0
/* 802F65CC 002F222C 7C 7E 1B 78 */ mr r30, r3
/* 802F65D0 002F2230 40 82 00 0C */ bne lbl_802F65DC
/* 802F65D4 002F2234 3B E0 FF CF */ li r31, -49
/* 802F65D8 002F2238 48 00 00 50 */ b lbl_802F6628
lbl_802F65DC:
/* 802F65DC 002F223C 93 A3 00 00 */ stw r29, 0(r3)
/* 802F65E0 002F2240 38 00 00 01 */ li r0, 1
/* 802F65E4 002F2244 7F E4 FB 78 */ mr r4, r31
/* 802F65E8 002F2248 90 03 00 04 */ stw r0, 4(r3)
/* 802F65EC 002F224C 38 63 00 08 */ addi r3, r3, 8
/* 802F65F0 002F2250 88 BF 00 00 */ lbz r5, 0(r31)
/* 802F65F4 002F2254 4B D0 DA 0D */ bl memcpy
/* 802F65F8 002F2258 80 61 00 08 */ lwz r3, 8(r1)
/* 802F65FC 002F225C 7F C5 F3 78 */ mr r5, r30
/* 802F6600 002F2260 38 80 00 02 */ li r4, 2
/* 802F6604 002F2264 38 C0 00 24 */ li r6, 0x24
/* 802F6608 002F2268 38 E0 00 00 */ li r7, 0
/* 802F660C 002F226C 39 00 00 00 */ li r8, 0
/* 802F6610 002F2270 4B FA D4 E1 */ bl IOS_Ioctl
/* 802F6614 002F2274 7C 7F 1B 78 */ mr r31, r3
/* 802F6618 002F2278 7F C4 F3 78 */ mr r4, r30
/* 802F661C 002F227C 38 60 00 0C */ li r3, 0xc
/* 802F6620 002F2280 38 A0 00 40 */ li r5, 0x40
/* 802F6624 002F2284 4B FF F5 6D */ bl SOiFree
lbl_802F6628:
/* 802F6628 002F2288 7F E4 FB 78 */ mr r4, r31
/* 802F662C 002F228C 38 60 00 00 */ li r3, 0
/* 802F6630 002F2290 4B FF F6 7D */ bl SOiConclude
lbl_802F6634:
/* 802F6634 002F2294 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802F6638 002F2298 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802F663C 002F229C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802F6640 002F22A0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802F6644 002F22A4 7C 08 03 A6 */ mtlr r0
/* 802F6648 002F22A8 38 21 00 20 */ addi r1, r1, 0x20
/* 802F664C 002F22AC 4E 80 00 20 */ blr
.global SOConnect
SOConnect:
/* 802F6650 002F22B0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802F6654 002F22B4 7C 08 02 A6 */ mflr r0
/* 802F6658 002F22B8 90 01 00 24 */ stw r0, 0x24(r1)
/* 802F665C 002F22BC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802F6660 002F22C0 7C 9F 23 78 */ mr r31, r4
/* 802F6664 002F22C4 38 81 00 08 */ addi r4, r1, 8
/* 802F6668 002F22C8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802F666C 002F22CC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802F6670 002F22D0 7C 7D 1B 78 */ mr r29, r3
/* 802F6674 002F22D4 38 60 00 00 */ li r3, 0
/* 802F6678 002F22D8 4B FF F5 4D */ bl SOiPrepare
/* 802F667C 002F22DC 2C 03 00 00 */ cmpwi r3, 0
/* 802F6680 002F22E0 40 82 00 9C */ bne lbl_802F671C
/* 802F6684 002F22E4 2C 1F 00 00 */ cmpwi r31, 0
/* 802F6688 002F22E8 41 82 00 14 */ beq lbl_802F669C
/* 802F668C 002F22EC 88 1F 00 00 */ lbz r0, 0(r31)
/* 802F6690 002F22F0 28 00 00 08 */ cmplwi r0, 8
/* 802F6694 002F22F4 41 81 00 08 */ bgt lbl_802F669C
/* 802F6698 002F22F8 40 80 00 0C */ bge lbl_802F66A4
lbl_802F669C:
/* 802F669C 002F22FC 3B E0 FF E4 */ li r31, -28
/* 802F66A0 002F2300 48 00 00 70 */ b lbl_802F6710
lbl_802F66A4:
/* 802F66A4 002F2304 38 60 00 0C */ li r3, 0xc
/* 802F66A8 002F2308 38 80 00 40 */ li r4, 0x40
/* 802F66AC 002F230C 4B FF F3 FD */ bl SOiAlloc
/* 802F66B0 002F2310 2C 03 00 00 */ cmpwi r3, 0
/* 802F66B4 002F2314 7C 7E 1B 78 */ mr r30, r3
/* 802F66B8 002F2318 40 82 00 0C */ bne lbl_802F66C4
/* 802F66BC 002F231C 3B E0 FF CF */ li r31, -49
/* 802F66C0 002F2320 48 00 00 50 */ b lbl_802F6710
lbl_802F66C4:
/* 802F66C4 002F2324 93 A3 00 00 */ stw r29, 0(r3)
/* 802F66C8 002F2328 38 00 00 01 */ li r0, 1
/* 802F66CC 002F232C 7F E4 FB 78 */ mr r4, r31
/* 802F66D0 002F2330 90 03 00 04 */ stw r0, 4(r3)
/* 802F66D4 002F2334 38 63 00 08 */ addi r3, r3, 8
/* 802F66D8 002F2338 88 BF 00 00 */ lbz r5, 0(r31)
/* 802F66DC 002F233C 4B D0 D9 25 */ bl memcpy
/* 802F66E0 002F2340 80 61 00 08 */ lwz r3, 8(r1)
/* 802F66E4 002F2344 7F C5 F3 78 */ mr r5, r30
/* 802F66E8 002F2348 38 80 00 04 */ li r4, 4
/* 802F66EC 002F234C 38 C0 00 24 */ li r6, 0x24
/* 802F66F0 002F2350 38 E0 00 00 */ li r7, 0
/* 802F66F4 002F2354 39 00 00 00 */ li r8, 0
/* 802F66F8 002F2358 4B FA D3 F9 */ bl IOS_Ioctl
/* 802F66FC 002F235C 7C 7F 1B 78 */ mr r31, r3
/* 802F6700 002F2360 7F C4 F3 78 */ mr r4, r30
/* 802F6704 002F2364 38 60 00 0C */ li r3, 0xc
/* 802F6708 002F2368 38 A0 00 40 */ li r5, 0x40
/* 802F670C 002F236C 4B FF F4 85 */ bl SOiFree
lbl_802F6710:
/* 802F6710 002F2370 7F E4 FB 78 */ mr r4, r31
/* 802F6714 002F2374 38 60 00 00 */ li r3, 0
/* 802F6718 002F2378 4B FF F5 95 */ bl SOiConclude
lbl_802F671C:
/* 802F671C 002F237C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802F6720 002F2380 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802F6724 002F2384 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802F6728 002F2388 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802F672C 002F238C 7C 08 03 A6 */ mtlr r0
/* 802F6730 002F2390 38 21 00 20 */ addi r1, r1, 0x20
/* 802F6734 002F2394 4E 80 00 20 */ blr
.global SOGetSockName
SOGetSockName:
/* 802F6738 002F2398 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802F673C 002F239C 7C 08 02 A6 */ mflr r0
/* 802F6740 002F23A0 90 01 00 34 */ stw r0, 0x34(r1)
/* 802F6744 002F23A4 39 61 00 30 */ addi r11, r1, 0x30
/* 802F6748 002F23A8 4B ED 09 E1 */ bl _savegpr_27
/* 802F674C 002F23AC 7C 7C 1B 78 */ mr r28, r3
/* 802F6750 002F23B0 7C 9B 23 78 */ mr r27, r4
/* 802F6754 002F23B4 38 81 00 08 */ addi r4, r1, 8
/* 802F6758 002F23B8 38 60 00 00 */ li r3, 0
/* 802F675C 002F23BC 4B FF F4 69 */ bl SOiPrepare
/* 802F6760 002F23C0 2C 03 00 00 */ cmpwi r3, 0
/* 802F6764 002F23C4 40 82 00 B8 */ bne lbl_802F681C
/* 802F6768 002F23C8 2C 1B 00 00 */ cmpwi r27, 0
/* 802F676C 002F23CC 41 82 00 14 */ beq lbl_802F6780
/* 802F6770 002F23D0 88 7B 00 00 */ lbz r3, 0(r27)
/* 802F6774 002F23D4 28 03 00 08 */ cmplwi r3, 8
/* 802F6778 002F23D8 41 81 00 08 */ bgt lbl_802F6780
/* 802F677C 002F23DC 40 80 00 0C */ bge lbl_802F6788
lbl_802F6780:
/* 802F6780 002F23E0 3B C0 FF E4 */ li r30, -28
/* 802F6784 002F23E4 48 00 00 8C */ b lbl_802F6810
lbl_802F6788:
/* 802F6788 002F23E8 38 03 00 3F */ addi r0, r3, 0x3f
/* 802F678C 002F23EC 38 60 00 0C */ li r3, 0xc
/* 802F6790 002F23F0 54 1F 00 34 */ rlwinm r31, r0, 0, 0, 0x1a
/* 802F6794 002F23F4 7F E4 FB 78 */ mr r4, r31
/* 802F6798 002F23F8 4B FF F3 11 */ bl SOiAlloc
/* 802F679C 002F23FC 2C 03 00 00 */ cmpwi r3, 0
/* 802F67A0 002F2400 7C 7D 1B 78 */ mr r29, r3
/* 802F67A4 002F2404 40 82 00 0C */ bne lbl_802F67B0
/* 802F67A8 002F2408 3B C0 FF CF */ li r30, -49
/* 802F67AC 002F240C 48 00 00 64 */ b lbl_802F6810
lbl_802F67B0:
/* 802F67B0 002F2410 93 83 00 00 */ stw r28, 0(r3)
/* 802F67B4 002F2414 3B 83 00 20 */ addi r28, r3, 0x20
/* 802F67B8 002F2418 7F 64 DB 78 */ mr r4, r27
/* 802F67BC 002F241C 88 BB 00 00 */ lbz r5, 0(r27)
/* 802F67C0 002F2420 7F 83 E3 78 */ mr r3, r28
/* 802F67C4 002F2424 4B D0 D8 3D */ bl memcpy
/* 802F67C8 002F2428 80 61 00 08 */ lwz r3, 8(r1)
/* 802F67CC 002F242C 7F A5 EB 78 */ mr r5, r29
/* 802F67D0 002F2430 89 1B 00 00 */ lbz r8, 0(r27)
/* 802F67D4 002F2434 7F 87 E3 78 */ mr r7, r28
/* 802F67D8 002F2438 38 80 00 07 */ li r4, 7
/* 802F67DC 002F243C 38 C0 00 04 */ li r6, 4
/* 802F67E0 002F2440 4B FA D3 11 */ bl IOS_Ioctl
/* 802F67E4 002F2444 2C 03 00 00 */ cmpwi r3, 0
/* 802F67E8 002F2448 7C 7E 1B 78 */ mr r30, r3
/* 802F67EC 002F244C 41 80 00 14 */ blt lbl_802F6800
/* 802F67F0 002F2450 88 BC 00 00 */ lbz r5, 0(r28)
/* 802F67F4 002F2454 7F 63 DB 78 */ mr r3, r27
/* 802F67F8 002F2458 7F 84 E3 78 */ mr r4, r28
/* 802F67FC 002F245C 4B D0 D8 05 */ bl memcpy
lbl_802F6800:
/* 802F6800 002F2460 7F A4 EB 78 */ mr r4, r29
/* 802F6804 002F2464 7F E5 FB 78 */ mr r5, r31
/* 802F6808 002F2468 38 60 00 0C */ li r3, 0xc
/* 802F680C 002F246C 4B FF F3 85 */ bl SOiFree
lbl_802F6810:
/* 802F6810 002F2470 7F C4 F3 78 */ mr r4, r30
/* 802F6814 002F2474 38 60 00 00 */ li r3, 0
/* 802F6818 002F2478 4B FF F4 95 */ bl SOiConclude
lbl_802F681C:
/* 802F681C 002F247C 39 61 00 30 */ addi r11, r1, 0x30
/* 802F6820 002F2480 4B ED 09 55 */ bl _restgpr_27
/* 802F6824 002F2484 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802F6828 002F2488 7C 08 03 A6 */ mtlr r0
/* 802F682C 002F248C 38 21 00 30 */ addi r1, r1, 0x30
/* 802F6830 002F2490 4E 80 00 20 */ blr
.global SORecvFrom
SORecvFrom:
/* 802F6834 002F2494 7C 8A 23 78 */ mr r10, r4
/* 802F6838 002F2498 7C A9 2B 78 */ mr r9, r5
/* 802F683C 002F249C 7C C0 33 78 */ mr r0, r6
/* 802F6840 002F24A0 7C E8 3B 78 */ mr r8, r7
/* 802F6844 002F24A4 7C 64 1B 78 */ mr r4, r3
/* 802F6848 002F24A8 7D 45 53 78 */ mr r5, r10
/* 802F684C 002F24AC 7D 26 4B 78 */ mr r6, r9
/* 802F6850 002F24B0 7C 07 03 78 */ mr r7, r0
/* 802F6854 002F24B4 38 60 00 00 */ li r3, 0
/* 802F6858 002F24B8 48 00 05 2C */ b RecvFrom
.global SORecv
SORecv:
/* 802F685C 002F24BC 7C 88 23 78 */ mr r8, r4
/* 802F6860 002F24C0 7C A0 2B 78 */ mr r0, r5
/* 802F6864 002F24C4 7C C7 33 78 */ mr r7, r6
/* 802F6868 002F24C8 7C 64 1B 78 */ mr r4, r3
/* 802F686C 002F24CC 7D 05 43 78 */ mr r5, r8
/* 802F6870 002F24D0 7C 06 03 78 */ mr r6, r0
/* 802F6874 002F24D4 38 60 00 00 */ li r3, 0
/* 802F6878 002F24D8 39 00 00 00 */ li r8, 0
/* 802F687C 002F24DC 48 00 05 08 */ b RecvFrom
.global SOSendTo
SOSendTo:
/* 802F6880 002F24E0 7C 8A 23 78 */ mr r10, r4
/* 802F6884 002F24E4 7C A9 2B 78 */ mr r9, r5
/* 802F6888 002F24E8 7C C0 33 78 */ mr r0, r6
/* 802F688C 002F24EC 7C E8 3B 78 */ mr r8, r7
/* 802F6890 002F24F0 7C 64 1B 78 */ mr r4, r3
/* 802F6894 002F24F4 7D 45 53 78 */ mr r5, r10
/* 802F6898 002F24F8 7D 26 4B 78 */ mr r6, r9
/* 802F689C 002F24FC 7C 07 03 78 */ mr r7, r0
/* 802F68A0 002F2500 38 60 00 00 */ li r3, 0
/* 802F68A4 002F2504 48 00 07 80 */ b SendTo
.global SOSend
SOSend:
/* 802F68A8 002F2508 7C 88 23 78 */ mr r8, r4
/* 802F68AC 002F250C 7C A0 2B 78 */ mr r0, r5
/* 802F68B0 002F2510 7C C7 33 78 */ mr r7, r6
/* 802F68B4 002F2514 7C 64 1B 78 */ mr r4, r3
/* 802F68B8 002F2518 7D 05 43 78 */ mr r5, r8
/* 802F68BC 002F251C 7C 06 03 78 */ mr r6, r0
/* 802F68C0 002F2520 38 60 00 00 */ li r3, 0
/* 802F68C4 002F2524 39 00 00 00 */ li r8, 0
/* 802F68C8 002F2528 48 00 07 5C */ b SendTo
.global SOFcntl
SOFcntl:
/* 802F68CC 002F252C 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 802F68D0 002F2530 7C 08 02 A6 */ mflr r0
/* 802F68D4 002F2534 90 01 00 94 */ stw r0, 0x94(r1)
/* 802F68D8 002F2538 93 E1 00 8C */ stw r31, 0x8c(r1)
/* 802F68DC 002F253C 93 C1 00 88 */ stw r30, 0x88(r1)
/* 802F68E0 002F2540 93 A1 00 84 */ stw r29, 0x84(r1)
/* 802F68E4 002F2544 7C 9D 23 78 */ mr r29, r4
/* 802F68E8 002F2548 93 81 00 80 */ stw r28, 0x80(r1)
/* 802F68EC 002F254C 7C 7C 1B 78 */ mr r28, r3
/* 802F68F0 002F2550 40 86 00 24 */ bne cr1, lbl_802F6914
/* 802F68F4 002F2554 D8 21 00 28 */ stfd f1, 0x28(r1)
/* 802F68F8 002F2558 D8 41 00 30 */ stfd f2, 0x30(r1)
/* 802F68FC 002F255C D8 61 00 38 */ stfd f3, 0x38(r1)
/* 802F6900 002F2560 D8 81 00 40 */ stfd f4, 0x40(r1)
/* 802F6904 002F2564 D8 A1 00 48 */ stfd f5, 0x48(r1)
/* 802F6908 002F2568 D8 C1 00 50 */ stfd f6, 0x50(r1)
/* 802F690C 002F256C D8 E1 00 58 */ stfd f7, 0x58(r1)
/* 802F6910 002F2570 D9 01 00 60 */ stfd f8, 0x60(r1)
lbl_802F6914:
/* 802F6914 002F2574 39 61 00 98 */ addi r11, r1, 0x98
/* 802F6918 002F2578 38 01 00 08 */ addi r0, r1, 8
/* 802F691C 002F257C 3D 80 02 00 */ lis r12, 0x200
/* 802F6920 002F2580 90 81 00 0C */ stw r4, 0xc(r1)
/* 802F6924 002F2584 3B E1 00 6C */ addi r31, r1, 0x6c
/* 802F6928 002F2588 38 80 00 01 */ li r4, 1
/* 802F692C 002F258C 90 61 00 08 */ stw r3, 8(r1)
/* 802F6930 002F2590 7F E3 FB 78 */ mr r3, r31
/* 802F6934 002F2594 90 A1 00 10 */ stw r5, 0x10(r1)
/* 802F6938 002F2598 90 C1 00 14 */ stw r6, 0x14(r1)
/* 802F693C 002F259C 90 E1 00 18 */ stw r7, 0x18(r1)
/* 802F6940 002F25A0 91 01 00 1C */ stw r8, 0x1c(r1)
/* 802F6944 002F25A4 91 21 00 20 */ stw r9, 0x20(r1)
/* 802F6948 002F25A8 91 41 00 24 */ stw r10, 0x24(r1)
/* 802F694C 002F25AC 91 81 00 6C */ stw r12, 0x6c(r1)
/* 802F6950 002F25B0 91 61 00 70 */ stw r11, 0x70(r1)
/* 802F6954 002F25B4 90 01 00 74 */ stw r0, 0x74(r1)
/* 802F6958 002F25B8 4B ED 02 29 */ bl __va_arg
/* 802F695C 002F25BC 83 E3 00 00 */ lwz r31, 0(r3)
/* 802F6960 002F25C0 38 81 00 68 */ addi r4, r1, 0x68
/* 802F6964 002F25C4 38 60 00 00 */ li r3, 0
/* 802F6968 002F25C8 4B FF F2 5D */ bl SOiPrepare
/* 802F696C 002F25CC 2C 03 00 00 */ cmpwi r3, 0
/* 802F6970 002F25D0 40 82 00 6C */ bne lbl_802F69DC
/* 802F6974 002F25D4 38 60 00 0C */ li r3, 0xc
/* 802F6978 002F25D8 38 80 00 20 */ li r4, 0x20
/* 802F697C 002F25DC 4B FF F1 2D */ bl SOiAlloc
/* 802F6980 002F25E0 2C 03 00 00 */ cmpwi r3, 0
/* 802F6984 002F25E4 7C 7E 1B 78 */ mr r30, r3
/* 802F6988 002F25E8 40 82 00 0C */ bne lbl_802F6994
/* 802F698C 002F25EC 3B E0 FF CF */ li r31, -49
/* 802F6990 002F25F0 48 00 00 40 */ b lbl_802F69D0
lbl_802F6994:
/* 802F6994 002F25F4 93 83 00 00 */ stw r28, 0(r3)
/* 802F6998 002F25F8 7F C5 F3 78 */ mr r5, r30
/* 802F699C 002F25FC 38 80 00 05 */ li r4, 5
/* 802F69A0 002F2600 38 C0 00 0C */ li r6, 0xc
/* 802F69A4 002F2604 93 A3 00 04 */ stw r29, 4(r3)
/* 802F69A8 002F2608 38 E0 00 00 */ li r7, 0
/* 802F69AC 002F260C 39 00 00 00 */ li r8, 0
/* 802F69B0 002F2610 93 E3 00 08 */ stw r31, 8(r3)
/* 802F69B4 002F2614 80 61 00 68 */ lwz r3, 0x68(r1)
/* 802F69B8 002F2618 4B FA D1 39 */ bl IOS_Ioctl
/* 802F69BC 002F261C 7C 7F 1B 78 */ mr r31, r3
/* 802F69C0 002F2620 7F C4 F3 78 */ mr r4, r30
/* 802F69C4 002F2624 38 60 00 0C */ li r3, 0xc
/* 802F69C8 002F2628 38 A0 00 20 */ li r5, 0x20
/* 802F69CC 002F262C 4B FF F1 C5 */ bl SOiFree
lbl_802F69D0:
/* 802F69D0 002F2630 7F E4 FB 78 */ mr r4, r31
/* 802F69D4 002F2634 38 60 00 00 */ li r3, 0
/* 802F69D8 002F2638 4B FF F2 D5 */ bl SOiConclude
lbl_802F69DC:
/* 802F69DC 002F263C 80 01 00 94 */ lwz r0, 0x94(r1)
/* 802F69E0 002F2640 83 E1 00 8C */ lwz r31, 0x8c(r1)
/* 802F69E4 002F2644 83 C1 00 88 */ lwz r30, 0x88(r1)
/* 802F69E8 002F2648 83 A1 00 84 */ lwz r29, 0x84(r1)
/* 802F69EC 002F264C 83 81 00 80 */ lwz r28, 0x80(r1)
/* 802F69F0 002F2650 7C 08 03 A6 */ mtlr r0
/* 802F69F4 002F2654 38 21 00 90 */ addi r1, r1, 0x90
/* 802F69F8 002F2658 4E 80 00 20 */ blr
.global SOShutdown
SOShutdown:
/* 802F69FC 002F265C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802F6A00 002F2660 7C 08 02 A6 */ mflr r0
/* 802F6A04 002F2664 90 01 00 24 */ stw r0, 0x24(r1)
/* 802F6A08 002F2668 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802F6A0C 002F266C 7C 9F 23 78 */ mr r31, r4
/* 802F6A10 002F2670 38 81 00 08 */ addi r4, r1, 8
/* 802F6A14 002F2674 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802F6A18 002F2678 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802F6A1C 002F267C 7C 7D 1B 78 */ mr r29, r3
/* 802F6A20 002F2680 38 60 00 00 */ li r3, 0
/* 802F6A24 002F2684 4B FF F1 A1 */ bl SOiPrepare
/* 802F6A28 002F2688 2C 03 00 00 */ cmpwi r3, 0
/* 802F6A2C 002F268C 40 82 00 68 */ bne lbl_802F6A94
/* 802F6A30 002F2690 38 60 00 0C */ li r3, 0xc
/* 802F6A34 002F2694 38 80 00 20 */ li r4, 0x20
/* 802F6A38 002F2698 4B FF F0 71 */ bl SOiAlloc
/* 802F6A3C 002F269C 2C 03 00 00 */ cmpwi r3, 0
/* 802F6A40 002F26A0 7C 7E 1B 78 */ mr r30, r3
/* 802F6A44 002F26A4 40 82 00 0C */ bne lbl_802F6A50
/* 802F6A48 002F26A8 3B E0 FF CF */ li r31, -49
/* 802F6A4C 002F26AC 48 00 00 3C */ b lbl_802F6A88
lbl_802F6A50:
/* 802F6A50 002F26B0 93 A3 00 00 */ stw r29, 0(r3)
/* 802F6A54 002F26B4 7F C5 F3 78 */ mr r5, r30
/* 802F6A58 002F26B8 38 80 00 0E */ li r4, 0xe
/* 802F6A5C 002F26BC 38 C0 00 08 */ li r6, 8
/* 802F6A60 002F26C0 93 E3 00 04 */ stw r31, 4(r3)
/* 802F6A64 002F26C4 38 E0 00 00 */ li r7, 0
/* 802F6A68 002F26C8 39 00 00 00 */ li r8, 0
/* 802F6A6C 002F26CC 80 61 00 08 */ lwz r3, 8(r1)
/* 802F6A70 002F26D0 4B FA D0 81 */ bl IOS_Ioctl
/* 802F6A74 002F26D4 7C 7F 1B 78 */ mr r31, r3
/* 802F6A78 002F26D8 7F C4 F3 78 */ mr r4, r30
/* 802F6A7C 002F26DC 38 60 00 0C */ li r3, 0xc
/* 802F6A80 002F26E0 38 A0 00 20 */ li r5, 0x20
/* 802F6A84 002F26E4 4B FF F1 0D */ bl SOiFree
lbl_802F6A88:
/* 802F6A88 002F26E8 7F E4 FB 78 */ mr r4, r31
/* 802F6A8C 002F26EC 38 60 00 00 */ li r3, 0
/* 802F6A90 002F26F0 4B FF F2 1D */ bl SOiConclude
lbl_802F6A94:
/* 802F6A94 002F26F4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802F6A98 002F26F8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802F6A9C 002F26FC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802F6AA0 002F2700 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802F6AA4 002F2704 7C 08 03 A6 */ mtlr r0
/* 802F6AA8 002F2708 38 21 00 20 */ addi r1, r1, 0x20
/* 802F6AAC 002F270C 4E 80 00 20 */ blr
.global SOPoll
SOPoll:
/* 802F6AB0 002F2710 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802F6AB4 002F2714 7C 08 02 A6 */ mflr r0
/* 802F6AB8 002F2718 90 01 00 34 */ stw r0, 0x34(r1)
/* 802F6ABC 002F271C 39 61 00 30 */ addi r11, r1, 0x30
/* 802F6AC0 002F2720 4B ED 06 65 */ bl _savegpr_26
/* 802F6AC4 002F2724 90 A1 00 08 */ stw r5, 8(r1)
/* 802F6AC8 002F2728 7C 7F 1B 78 */ mr r31, r3
/* 802F6ACC 002F272C 7C 9A 23 78 */ mr r26, r4
/* 802F6AD0 002F2730 38 81 00 10 */ addi r4, r1, 0x10
/* 802F6AD4 002F2734 90 C1 00 0C */ stw r6, 0xc(r1)
/* 802F6AD8 002F2738 38 60 00 00 */ li r3, 0
/* 802F6ADC 002F273C 4B FF F0 E9 */ bl SOiPrepare
/* 802F6AE0 002F2740 2C 03 00 00 */ cmpwi r3, 0
/* 802F6AE4 002F2744 40 82 01 10 */ bne lbl_802F6BF4
/* 802F6AE8 002F2748 2C 1F 00 00 */ cmpwi r31, 0
/* 802F6AEC 002F274C 40 82 00 0C */ bne lbl_802F6AF8
/* 802F6AF0 002F2750 3B 80 FF E4 */ li r28, -28
/* 802F6AF4 002F2754 48 00 00 F4 */ b lbl_802F6BE8
lbl_802F6AF8:
/* 802F6AF8 002F2758 1F BA 00 0C */ mulli r29, r26, 0xc
/* 802F6AFC 002F275C 38 60 00 0C */ li r3, 0xc
/* 802F6B00 002F2760 38 1D 00 3F */ addi r0, r29, 0x3f
/* 802F6B04 002F2764 54 1E 00 34 */ rlwinm r30, r0, 0, 0, 0x1a
/* 802F6B08 002F2768 7F C4 F3 78 */ mr r4, r30
/* 802F6B0C 002F276C 4B FF EF 9D */ bl SOiAlloc
/* 802F6B10 002F2770 2C 03 00 00 */ cmpwi r3, 0
/* 802F6B14 002F2774 7C 7B 1B 78 */ mr r27, r3
/* 802F6B18 002F2778 40 82 00 0C */ bne lbl_802F6B24
/* 802F6B1C 002F277C 3B 80 FF CF */ li r28, -49
/* 802F6B20 002F2780 48 00 00 C8 */ b lbl_802F6BE8
lbl_802F6B24:
/* 802F6B24 002F2784 80 E1 00 08 */ lwz r7, 8(r1)
/* 802F6B28 002F2788 38 A0 FF FF */ li r5, -1
/* 802F6B2C 002F278C 80 81 00 0C */ lwz r4, 0xc(r1)
/* 802F6B30 002F2790 6C A0 80 00 */ xoris r0, r5, 0x8000
/* 802F6B34 002F2794 6C E6 80 00 */ xoris r6, r7, 0x8000
/* 802F6B38 002F2798 3B 43 00 20 */ addi r26, r3, 0x20
/* 802F6B3C 002F279C 7C A4 28 10 */ subfc r5, r4, r5
/* 802F6B40 002F27A0 7C C6 01 10 */ subfe r6, r6, r0
/* 802F6B44 002F27A4 7C C0 01 10 */ subfe r6, r0, r0
/* 802F6B48 002F27A8 7C C6 00 D1 */ neg. r6, r6
/* 802F6B4C 002F27AC 40 82 00 14 */ bne lbl_802F6B60
/* 802F6B50 002F27B0 38 81 00 08 */ addi r4, r1, 8
/* 802F6B54 002F27B4 38 A0 00 08 */ li r5, 8
/* 802F6B58 002F27B8 4B D0 D4 A9 */ bl memcpy
/* 802F6B5C 002F27BC 48 00 00 34 */ b lbl_802F6B90
lbl_802F6B60:
/* 802F6B60 002F27C0 3C A0 80 00 */ lis r5, 0x800000F8@ha
/* 802F6B64 002F27C4 3C 60 10 62 */ lis r3, 0x10624DD3@ha
/* 802F6B68 002F27C8 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5)
/* 802F6B6C 002F27CC 38 C3 4D D3 */ addi r6, r3, 0x10624DD3@l
/* 802F6B70 002F27D0 7C E3 3B 78 */ mr r3, r7
/* 802F6B74 002F27D4 38 A0 00 00 */ li r5, 0
/* 802F6B78 002F27D8 54 00 F0 BE */ srwi r0, r0, 2
/* 802F6B7C 002F27DC 7C 06 00 16 */ mulhwu r0, r6, r0
/* 802F6B80 002F27E0 54 06 D1 BE */ srwi r6, r0, 6
/* 802F6B84 002F27E4 4B ED 06 F5 */ bl __div2i
/* 802F6B88 002F27E8 90 9B 00 04 */ stw r4, 4(r27)
/* 802F6B8C 002F27EC 90 7B 00 00 */ stw r3, 0(r27)
lbl_802F6B90:
/* 802F6B90 002F27F0 7F 43 D3 78 */ mr r3, r26
/* 802F6B94 002F27F4 7F E4 FB 78 */ mr r4, r31
/* 802F6B98 002F27F8 7F A5 EB 78 */ mr r5, r29
/* 802F6B9C 002F27FC 4B D0 D4 65 */ bl memcpy
/* 802F6BA0 002F2800 80 61 00 10 */ lwz r3, 0x10(r1)
/* 802F6BA4 002F2804 7F 65 DB 78 */ mr r5, r27
/* 802F6BA8 002F2808 7F 47 D3 78 */ mr r7, r26
/* 802F6BAC 002F280C 7F A8 EB 78 */ mr r8, r29
/* 802F6BB0 002F2810 38 80 00 0B */ li r4, 0xb
/* 802F6BB4 002F2814 38 C0 00 08 */ li r6, 8
/* 802F6BB8 002F2818 4B FA CF 39 */ bl IOS_Ioctl
/* 802F6BBC 002F281C 2C 03 00 00 */ cmpwi r3, 0
/* 802F6BC0 002F2820 7C 7C 1B 78 */ mr r28, r3
/* 802F6BC4 002F2824 41 80 00 14 */ blt lbl_802F6BD8
/* 802F6BC8 002F2828 7F E3 FB 78 */ mr r3, r31
/* 802F6BCC 002F282C 7F 44 D3 78 */ mr r4, r26
/* 802F6BD0 002F2830 7F A5 EB 78 */ mr r5, r29
/* 802F6BD4 002F2834 4B D0 D4 2D */ bl memcpy
lbl_802F6BD8:
/* 802F6BD8 002F2838 7F 64 DB 78 */ mr r4, r27
/* 802F6BDC 002F283C 7F C5 F3 78 */ mr r5, r30
/* 802F6BE0 002F2840 38 60 00 0C */ li r3, 0xc
/* 802F6BE4 002F2844 4B FF EF AD */ bl SOiFree
lbl_802F6BE8:
/* 802F6BE8 002F2848 7F 84 E3 78 */ mr r4, r28
/* 802F6BEC 002F284C 38 60 00 00 */ li r3, 0
/* 802F6BF0 002F2850 4B FF F0 BD */ bl SOiConclude
lbl_802F6BF4:
/* 802F6BF4 002F2854 39 61 00 30 */ addi r11, r1, 0x30
/* 802F6BF8 002F2858 4B ED 05 79 */ bl _restgpr_26
/* 802F6BFC 002F285C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802F6C00 002F2860 7C 08 03 A6 */ mtlr r0
/* 802F6C04 002F2864 38 21 00 30 */ addi r1, r1, 0x30
/* 802F6C08 002F2868 4E 80 00 20 */ blr
.global SOInetAtoN
SOInetAtoN:
/* 802F6C0C 002F286C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802F6C10 002F2870 7C 08 02 A6 */ mflr r0
/* 802F6C14 002F2874 90 01 00 34 */ stw r0, 0x34(r1)
/* 802F6C18 002F2878 39 61 00 30 */ addi r11, r1, 0x30
/* 802F6C1C 002F287C 4B ED 05 0D */ bl _savegpr_27
/* 802F6C20 002F2880 7C 7B 1B 78 */ mr r27, r3
/* 802F6C24 002F2884 7C 9C 23 78 */ mr r28, r4
/* 802F6C28 002F2888 38 81 00 0C */ addi r4, r1, 0xc
/* 802F6C2C 002F288C 38 A1 00 08 */ addi r5, r1, 8
/* 802F6C30 002F2890 38 60 00 00 */ li r3, 0
/* 802F6C34 002F2894 4B FF F0 D5 */ bl SOiPrepareTempRm
/* 802F6C38 002F2898 2C 03 00 00 */ cmpwi r3, 0
/* 802F6C3C 002F289C 40 82 00 C4 */ bne lbl_802F6D00
/* 802F6C40 002F28A0 2C 1B 00 00 */ cmpwi r27, 0
/* 802F6C44 002F28A4 40 82 00 0C */ bne lbl_802F6C50
/* 802F6C48 002F28A8 3B C0 FF E4 */ li r30, -28
/* 802F6C4C 002F28AC 48 00 00 A4 */ b lbl_802F6CF0
lbl_802F6C50:
/* 802F6C50 002F28B0 7F 63 DB 78 */ mr r3, r27
/* 802F6C54 002F28B4 4B EC FF 11 */ bl strlen
/* 802F6C58 002F28B8 38 03 00 40 */ addi r0, r3, 0x40
/* 802F6C5C 002F28BC 38 60 00 0C */ li r3, 0xc
/* 802F6C60 002F28C0 54 1F 00 34 */ rlwinm r31, r0, 0, 0, 0x1a
/* 802F6C64 002F28C4 7F E4 FB 78 */ mr r4, r31
/* 802F6C68 002F28C8 4B FF EE 41 */ bl SOiAlloc
/* 802F6C6C 002F28CC 2C 03 00 00 */ cmpwi r3, 0
/* 802F6C70 002F28D0 7C 7D 1B 78 */ mr r29, r3
/* 802F6C74 002F28D4 40 82 00 0C */ bne lbl_802F6C80
/* 802F6C78 002F28D8 3B C0 FF CF */ li r30, -49
/* 802F6C7C 002F28DC 48 00 00 74 */ b lbl_802F6CF0
lbl_802F6C80:
/* 802F6C80 002F28E0 2C 1B 00 00 */ cmpwi r27, 0
/* 802F6C84 002F28E4 3B C3 00 20 */ addi r30, r3, 0x20
/* 802F6C88 002F28E8 41 82 00 10 */ beq lbl_802F6C98
/* 802F6C8C 002F28EC 7F C3 F3 78 */ mr r3, r30
/* 802F6C90 002F28F0 7F 64 DB 78 */ mr r4, r27
/* 802F6C94 002F28F4 4B ED 76 3D */ bl strcpy
lbl_802F6C98:
/* 802F6C98 002F28F8 7F 63 DB 78 */ mr r3, r27
/* 802F6C9C 002F28FC 4B EC FE C9 */ bl strlen
/* 802F6CA0 002F2900 7C 66 1B 78 */ mr r6, r3
/* 802F6CA4 002F2904 80 61 00 0C */ lwz r3, 0xc(r1)
/* 802F6CA8 002F2908 7F C5 F3 78 */ mr r5, r30
/* 802F6CAC 002F290C 7F A7 EB 78 */ mr r7, r29
/* 802F6CB0 002F2910 38 80 00 15 */ li r4, 0x15
/* 802F6CB4 002F2914 39 00 00 04 */ li r8, 4
/* 802F6CB8 002F2918 4B FA CE 39 */ bl IOS_Ioctl
/* 802F6CBC 002F291C 2C 03 00 00 */ cmpwi r3, 0
/* 802F6CC0 002F2920 7C 7E 1B 78 */ mr r30, r3
/* 802F6CC4 002F2924 41 80 00 1C */ blt lbl_802F6CE0
/* 802F6CC8 002F2928 2C 1C 00 00 */ cmpwi r28, 0
/* 802F6CCC 002F292C 41 82 00 14 */ beq lbl_802F6CE0
/* 802F6CD0 002F2930 7F 83 E3 78 */ mr r3, r28
/* 802F6CD4 002F2934 7F A4 EB 78 */ mr r4, r29
/* 802F6CD8 002F2938 38 A0 00 04 */ li r5, 4
/* 802F6CDC 002F293C 4B D0 D3 25 */ bl memcpy
lbl_802F6CE0:
/* 802F6CE0 002F2940 7F A4 EB 78 */ mr r4, r29
/* 802F6CE4 002F2944 7F E5 FB 78 */ mr r5, r31
/* 802F6CE8 002F2948 38 60 00 0C */ li r3, 0xc
/* 802F6CEC 002F294C 4B FF EE A5 */ bl SOiFree
lbl_802F6CF0:
/* 802F6CF0 002F2950 80 A1 00 08 */ lwz r5, 8(r1)
/* 802F6CF4 002F2954 7F C4 F3 78 */ mr r4, r30
/* 802F6CF8 002F2958 38 60 00 00 */ li r3, 0
/* 802F6CFC 002F295C 4B FF F2 E5 */ bl SOiConcludeTempRm
lbl_802F6D00:
/* 802F6D00 002F2960 39 61 00 30 */ addi r11, r1, 0x30
/* 802F6D04 002F2964 4B ED 04 71 */ bl _restgpr_27
/* 802F6D08 002F2968 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802F6D0C 002F296C 7C 08 03 A6 */ mtlr r0
/* 802F6D10 002F2970 38 21 00 30 */ addi r1, r1, 0x30
/* 802F6D14 002F2974 4E 80 00 20 */ blr
.global SOInetNtoA
SOInetNtoA:
/* 802F6D18 002F2978 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802F6D1C 002F297C 7C 08 02 A6 */ mflr r0
/* 802F6D20 002F2980 7C 68 1B 78 */ mr r8, r3
/* 802F6D24 002F2984 3C 80 80 44 */ lis r4, lbl_80445FE0@ha
/* 802F6D28 002F2988 90 01 00 14 */ stw r0, 0x14(r1)
/* 802F6D2C 002F298C 38 84 5F E0 */ addi r4, r4, lbl_80445FE0@l
/* 802F6D30 002F2990 88 E8 00 02 */ lbz r7, 2(r8)
/* 802F6D34 002F2994 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802F6D38 002F2998 3F E0 80 58 */ lis r31, lbl_8057AAD0@ha
/* 802F6D3C 002F299C 88 A3 00 00 */ lbz r5, 0(r3)
/* 802F6D40 002F29A0 88 C3 00 01 */ lbz r6, 1(r3)
/* 802F6D44 002F29A4 38 7F AA D0 */ addi r3, r31, lbl_8057AAD0@l
/* 802F6D48 002F29A8 89 08 00 03 */ lbz r8, 3(r8)
/* 802F6D4C 002F29AC 4C C6 31 82 */ crclr 6
/* 802F6D50 002F29B0 4B ED 5D AD */ bl sprintf
/* 802F6D54 002F29B4 38 7F AA D0 */ addi r3, r31, -21808
/* 802F6D58 002F29B8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802F6D5C 002F29BC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802F6D60 002F29C0 7C 08 03 A6 */ mtlr r0
/* 802F6D64 002F29C4 38 21 00 10 */ addi r1, r1, 0x10
/* 802F6D68 002F29C8 4E 80 00 20 */ blr
.global SONtoHl
SONtoHl:
/* 802F6D6C 002F29CC 4E 80 00 20 */ blr
.global SONtoHs
SONtoHs:
/* 802F6D70 002F29D0 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 802F6D74 002F29D4 4E 80 00 20 */ blr
.global SOHtoNl
SOHtoNl:
/* 802F6D78 002F29D8 4E 80 00 20 */ blr
.global SOHtoNs
SOHtoNs:
/* 802F6D7C 002F29DC 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 802F6D80 002F29E0 4E 80 00 20 */ blr
RecvFrom:
/* 802F6D84 002F29E4 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 802F6D88 002F29E8 7C 08 02 A6 */ mflr r0
/* 802F6D8C 002F29EC 90 01 00 44 */ stw r0, 0x44(r1)
/* 802F6D90 002F29F0 39 61 00 40 */ addi r11, r1, 0x40
/* 802F6D94 002F29F4 4B ED 03 7D */ bl _savegpr_21
/* 802F6D98 002F29F8 7C 9A 23 78 */ mr r26, r4
/* 802F6D9C 002F29FC 7C 79 1B 78 */ mr r25, r3
/* 802F6DA0 002F2A00 7C BB 2B 78 */ mr r27, r5
/* 802F6DA4 002F2A04 7C DC 33 78 */ mr r28, r6
/* 802F6DA8 002F2A08 7C FD 3B 78 */ mr r29, r7
/* 802F6DAC 002F2A0C 7D 1E 43 78 */ mr r30, r8
/* 802F6DB0 002F2A10 38 81 00 08 */ addi r4, r1, 8
/* 802F6DB4 002F2A14 4B FF EE 11 */ bl SOiPrepare
/* 802F6DB8 002F2A18 2C 03 00 00 */ cmpwi r3, 0
/* 802F6DBC 002F2A1C 40 82 02 50 */ bne lbl_802F700C
/* 802F6DC0 002F2A20 2C 1E 00 00 */ cmpwi r30, 0
/* 802F6DC4 002F2A24 41 82 00 1C */ beq lbl_802F6DE0
/* 802F6DC8 002F2A28 88 1E 00 00 */ lbz r0, 0(r30)
/* 802F6DCC 002F2A2C 28 00 00 08 */ cmplwi r0, 8
/* 802F6DD0 002F2A30 41 81 00 08 */ bgt lbl_802F6DD8
/* 802F6DD4 002F2A34 40 80 00 0C */ bge lbl_802F6DE0
lbl_802F6DD8:
/* 802F6DD8 002F2A38 3B 40 FF E4 */ li r26, -28
/* 802F6DDC 002F2A3C 48 00 02 24 */ b lbl_802F7000
lbl_802F6DE0:
/* 802F6DE0 002F2A40 2C 1C 00 00 */ cmpwi r28, 0
/* 802F6DE4 002F2A44 41 80 00 10 */ blt lbl_802F6DF4
/* 802F6DE8 002F2A48 40 81 00 14 */ ble lbl_802F6DFC
/* 802F6DEC 002F2A4C 2C 1B 00 00 */ cmpwi r27, 0
/* 802F6DF0 002F2A50 40 82 00 0C */ bne lbl_802F6DFC
lbl_802F6DF4:
/* 802F6DF4 002F2A54 3B 40 FF E4 */ li r26, -28
/* 802F6DF8 002F2A58 48 00 02 08 */ b lbl_802F7000
lbl_802F6DFC:
/* 802F6DFC 002F2A5C 2C 1C 00 00 */ cmpwi r28, 0
/* 802F6E00 002F2A60 3B E0 00 01 */ li r31, 1
/* 802F6E04 002F2A64 41 82 00 90 */ beq lbl_802F6E94
/* 802F6E08 002F2A68 57 60 06 FF */ clrlwi. r0, r27, 0x1b
/* 802F6E0C 002F2A6C 3B 00 00 00 */ li r24, 0
/* 802F6E10 002F2A70 38 80 00 00 */ li r4, 0
/* 802F6E14 002F2A74 40 82 00 20 */ bne lbl_802F6E34
/* 802F6E18 002F2A78 57 80 D8 08 */ slwi r0, r28, 0x1b
/* 802F6E1C 002F2A7C 57 83 0F FE */ srwi r3, r28, 0x1f
/* 802F6E20 002F2A80 7C 03 00 50 */ subf r0, r3, r0
/* 802F6E24 002F2A84 54 00 28 3E */ rotlwi r0, r0, 5
/* 802F6E28 002F2A88 7C 00 1A 15 */ add. r0, r0, r3
/* 802F6E2C 002F2A8C 40 82 00 08 */ bne lbl_802F6E34
/* 802F6E30 002F2A90 38 80 00 01 */ li r4, 1
lbl_802F6E34:
/* 802F6E34 002F2A94 2C 04 00 00 */ cmpwi r4, 0
/* 802F6E38 002F2A98 41 82 00 50 */ beq lbl_802F6E88
/* 802F6E3C 002F2A9C 3A E0 00 01 */ li r23, 1
/* 802F6E40 002F2AA0 4B FF EC 11 */ bl SOiIsBufferAddrCheck
/* 802F6E44 002F2AA4 2C 03 00 00 */ cmpwi r3, 0
/* 802F6E48 002F2AA8 41 82 00 34 */ beq lbl_802F6E7C
/* 802F6E4C 002F2AAC 57 64 00 FE */ clrlwi r4, r27, 3
/* 802F6E50 002F2AB0 3C 00 10 00 */ lis r0, 0x1000
/* 802F6E54 002F2AB4 7C 04 00 40 */ cmplw r4, r0
/* 802F6E58 002F2AB8 38 60 00 00 */ li r3, 0
/* 802F6E5C 002F2ABC 41 80 00 14 */ blt lbl_802F6E70
/* 802F6E60 002F2AC0 3C 00 18 00 */ lis r0, 0x1800
/* 802F6E64 002F2AC4 7C 04 00 40 */ cmplw r4, r0
/* 802F6E68 002F2AC8 40 80 00 08 */ bge lbl_802F6E70
/* 802F6E6C 002F2ACC 38 60 00 01 */ li r3, 1
lbl_802F6E70:
/* 802F6E70 002F2AD0 2C 03 00 00 */ cmpwi r3, 0
/* 802F6E74 002F2AD4 40 82 00 08 */ bne lbl_802F6E7C
/* 802F6E78 002F2AD8 3A E0 00 00 */ li r23, 0
lbl_802F6E7C:
/* 802F6E7C 002F2ADC 2C 17 00 00 */ cmpwi r23, 0
/* 802F6E80 002F2AE0 41 82 00 08 */ beq lbl_802F6E88
/* 802F6E84 002F2AE4 3B 00 00 01 */ li r24, 1
lbl_802F6E88:
/* 802F6E88 002F2AE8 2C 18 00 00 */ cmpwi r24, 0
/* 802F6E8C 002F2AEC 40 82 00 08 */ bne lbl_802F6E94
/* 802F6E90 002F2AF0 3B E0 00 00 */ li r31, 0
lbl_802F6E94:
/* 802F6E94 002F2AF4 2C 1E 00 00 */ cmpwi r30, 0
/* 802F6E98 002F2AF8 40 82 00 0C */ bne lbl_802F6EA4
/* 802F6E9C 002F2AFC 38 60 00 00 */ li r3, 0
/* 802F6EA0 002F2B00 48 00 00 08 */ b lbl_802F6EA8
lbl_802F6EA4:
/* 802F6EA4 002F2B04 88 7E 00 00 */ lbz r3, 0(r30)
lbl_802F6EA8:
/* 802F6EA8 002F2B08 38 03 00 5F */ addi r0, r3, 0x5f
/* 802F6EAC 002F2B0C 38 60 00 0C */ li r3, 0xc
/* 802F6EB0 002F2B10 54 18 00 34 */ rlwinm r24, r0, 0, 0, 0x1a
/* 802F6EB4 002F2B14 7F 04 C3 78 */ mr r4, r24
/* 802F6EB8 002F2B18 4B FF EB F1 */ bl SOiAlloc
/* 802F6EBC 002F2B1C 2C 1F 00 00 */ cmpwi r31, 0
/* 802F6EC0 002F2B20 7C 76 1B 78 */ mr r22, r3
/* 802F6EC4 002F2B24 40 82 00 18 */ bne lbl_802F6EDC
/* 802F6EC8 002F2B28 38 1C 00 1F */ addi r0, r28, 0x1f
/* 802F6ECC 002F2B2C 38 60 00 0D */ li r3, 0xd
/* 802F6ED0 002F2B30 54 04 00 34 */ rlwinm r4, r0, 0, 0, 0x1a
/* 802F6ED4 002F2B34 4B FF EB D5 */ bl SOiAlloc
/* 802F6ED8 002F2B38 48 00 00 08 */ b lbl_802F6EE0
lbl_802F6EDC:
/* 802F6EDC 002F2B3C 7F 63 DB 78 */ mr r3, r27
lbl_802F6EE0:
/* 802F6EE0 002F2B40 2C 16 00 00 */ cmpwi r22, 0
/* 802F6EE4 002F2B44 7C 77 1B 78 */ mr r23, r3
/* 802F6EE8 002F2B48 41 82 00 0C */ beq lbl_802F6EF4
/* 802F6EEC 002F2B4C 2C 03 00 00 */ cmpwi r3, 0
/* 802F6EF0 002F2B50 40 82 00 0C */ bne lbl_802F6EFC
lbl_802F6EF4:
/* 802F6EF4 002F2B54 3B 40 FF CF */ li r26, -49
/* 802F6EF8 002F2B58 48 00 00 DC */ b lbl_802F6FD4
lbl_802F6EFC:
/* 802F6EFC 002F2B5C 93 56 00 20 */ stw r26, 0x20(r22)
/* 802F6F00 002F2B60 38 96 00 20 */ addi r4, r22, 0x20
/* 802F6F04 002F2B64 38 00 00 08 */ li r0, 8
/* 802F6F08 002F2B68 2C 1E 00 00 */ cmpwi r30, 0
/* 802F6F0C 002F2B6C 93 B6 00 24 */ stw r29, 0x24(r22)
/* 802F6F10 002F2B70 3A A4 00 20 */ addi r21, r4, 0x20
/* 802F6F14 002F2B74 90 96 00 00 */ stw r4, 0(r22)
/* 802F6F18 002F2B78 90 16 00 04 */ stw r0, 4(r22)
/* 802F6F1C 002F2B7C 90 76 00 08 */ stw r3, 8(r22)
/* 802F6F20 002F2B80 93 96 00 0C */ stw r28, 0xc(r22)
/* 802F6F24 002F2B84 40 82 00 30 */ bne lbl_802F6F54
/* 802F6F28 002F2B88 38 00 00 00 */ li r0, 0
/* 802F6F2C 002F2B8C 7E C7 B3 78 */ mr r7, r22
/* 802F6F30 002F2B90 90 16 00 10 */ stw r0, 0x10(r22)
/* 802F6F34 002F2B94 38 80 00 0C */ li r4, 0xc
/* 802F6F38 002F2B98 38 A0 00 01 */ li r5, 1
/* 802F6F3C 002F2B9C 38 C0 00 02 */ li r6, 2
/* 802F6F40 002F2BA0 90 16 00 14 */ stw r0, 0x14(r22)
/* 802F6F44 002F2BA4 80 61 00 08 */ lwz r3, 8(r1)
/* 802F6F48 002F2BA8 4B FA CE F9 */ bl IOS_Ioctlv
/* 802F6F4C 002F2BAC 7C 7A 1B 78 */ mr r26, r3
/* 802F6F50 002F2BB0 48 00 00 64 */ b lbl_802F6FB4
lbl_802F6F54:
/* 802F6F54 002F2BB4 88 BE 00 00 */ lbz r5, 0(r30)
/* 802F6F58 002F2BB8 7E A3 AB 78 */ mr r3, r21
/* 802F6F5C 002F2BBC 7F C4 F3 78 */ mr r4, r30
/* 802F6F60 002F2BC0 4B D0 D0 A1 */ bl memcpy
/* 802F6F64 002F2BC4 92 B6 00 10 */ stw r21, 0x10(r22)
/* 802F6F68 002F2BC8 7E C7 B3 78 */ mr r7, r22
/* 802F6F6C 002F2BCC 38 80 00 0C */ li r4, 0xc
/* 802F6F70 002F2BD0 38 A0 00 01 */ li r5, 1
/* 802F6F74 002F2BD4 88 1E 00 00 */ lbz r0, 0(r30)
/* 802F6F78 002F2BD8 38 C0 00 02 */ li r6, 2
/* 802F6F7C 002F2BDC 90 16 00 14 */ stw r0, 0x14(r22)
/* 802F6F80 002F2BE0 80 61 00 08 */ lwz r3, 8(r1)
/* 802F6F84 002F2BE4 4B FA CE BD */ bl IOS_Ioctlv
/* 802F6F88 002F2BE8 2C 03 00 00 */ cmpwi r3, 0
/* 802F6F8C 002F2BEC 7C 7A 1B 78 */ mr r26, r3
/* 802F6F90 002F2BF0 41 80 00 24 */ blt lbl_802F6FB4
/* 802F6F94 002F2BF4 88 BE 00 00 */ lbz r5, 0(r30)
/* 802F6F98 002F2BF8 7F C3 F3 78 */ mr r3, r30
/* 802F6F9C 002F2BFC 88 15 00 00 */ lbz r0, 0(r21)
/* 802F6FA0 002F2C00 7E A4 AB 78 */ mr r4, r21
/* 802F6FA4 002F2C04 7C 05 00 40 */ cmplw r5, r0
/* 802F6FA8 002F2C08 40 81 00 08 */ ble lbl_802F6FB0
/* 802F6FAC 002F2C0C 7C 05 03 78 */ mr r5, r0
lbl_802F6FB0:
/* 802F6FB0 002F2C10 4B D0 D0 51 */ bl memcpy
lbl_802F6FB4:
/* 802F6FB4 002F2C14 2C 1A 00 00 */ cmpwi r26, 0
/* 802F6FB8 002F2C18 41 80 00 1C */ blt lbl_802F6FD4
/* 802F6FBC 002F2C1C 2C 1F 00 00 */ cmpwi r31, 0
/* 802F6FC0 002F2C20 40 82 00 14 */ bne lbl_802F6FD4
/* 802F6FC4 002F2C24 7F 63 DB 78 */ mr r3, r27
/* 802F6FC8 002F2C28 7E E4 BB 78 */ mr r4, r23
/* 802F6FCC 002F2C2C 7F 85 E3 78 */ mr r5, r28
/* 802F6FD0 002F2C30 4B D0 D0 31 */ bl memcpy
lbl_802F6FD4:
/* 802F6FD4 002F2C34 2C 1F 00 00 */ cmpwi r31, 0
/* 802F6FD8 002F2C38 40 82 00 18 */ bne lbl_802F6FF0
/* 802F6FDC 002F2C3C 38 1C 00 1F */ addi r0, r28, 0x1f
/* 802F6FE0 002F2C40 7E E4 BB 78 */ mr r4, r23
/* 802F6FE4 002F2C44 54 05 00 34 */ rlwinm r5, r0, 0, 0, 0x1a
/* 802F6FE8 002F2C48 38 60 00 0D */ li r3, 0xd
/* 802F6FEC 002F2C4C 4B FF EB A5 */ bl SOiFree
lbl_802F6FF0:
/* 802F6FF0 002F2C50 7E C4 B3 78 */ mr r4, r22
/* 802F6FF4 002F2C54 7F 05 C3 78 */ mr r5, r24
/* 802F6FF8 002F2C58 38 60 00 0C */ li r3, 0xc
/* 802F6FFC 002F2C5C 4B FF EB 95 */ bl SOiFree
lbl_802F7000:
/* 802F7000 002F2C60 7F 23 CB 78 */ mr r3, r25
/* 802F7004 002F2C64 7F 44 D3 78 */ mr r4, r26
/* 802F7008 002F2C68 4B FF EC A5 */ bl SOiConclude
lbl_802F700C:
/* 802F700C 002F2C6C 39 61 00 40 */ addi r11, r1, 0x40
/* 802F7010 002F2C70 4B ED 01 4D */ bl _restgpr_21
/* 802F7014 002F2C74 80 01 00 44 */ lwz r0, 0x44(r1)
/* 802F7018 002F2C78 7C 08 03 A6 */ mtlr r0
/* 802F701C 002F2C7C 38 21 00 40 */ addi r1, r1, 0x40
/* 802F7020 002F2C80 4E 80 00 20 */ blr
SendTo:
/* 802F7024 002F2C84 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 802F7028 002F2C88 7C 08 02 A6 */ mflr r0
/* 802F702C 002F2C8C 90 01 00 44 */ stw r0, 0x44(r1)
/* 802F7030 002F2C90 39 61 00 40 */ addi r11, r1, 0x40
/* 802F7034 002F2C94 4B ED 00 E1 */ bl _savegpr_22
/* 802F7038 002F2C98 7C 9A 23 78 */ mr r26, r4
/* 802F703C 002F2C9C 7C 79 1B 78 */ mr r25, r3
/* 802F7040 002F2CA0 7C BB 2B 78 */ mr r27, r5
/* 802F7044 002F2CA4 7C DC 33 78 */ mr r28, r6
/* 802F7048 002F2CA8 7C FD 3B 78 */ mr r29, r7
/* 802F704C 002F2CAC 7D 1E 43 78 */ mr r30, r8
/* 802F7050 002F2CB0 38 81 00 08 */ addi r4, r1, 8
/* 802F7054 002F2CB4 4B FF EB 71 */ bl SOiPrepare
/* 802F7058 002F2CB8 2C 03 00 00 */ cmpwi r3, 0
/* 802F705C 002F2CBC 40 82 01 DC */ bne lbl_802F7238
/* 802F7060 002F2CC0 2C 1E 00 00 */ cmpwi r30, 0
/* 802F7064 002F2CC4 41 82 00 1C */ beq lbl_802F7080
/* 802F7068 002F2CC8 88 1E 00 00 */ lbz r0, 0(r30)
/* 802F706C 002F2CCC 28 00 00 08 */ cmplwi r0, 8
/* 802F7070 002F2CD0 41 81 00 08 */ bgt lbl_802F7078
/* 802F7074 002F2CD4 40 80 00 0C */ bge lbl_802F7080
lbl_802F7078:
/* 802F7078 002F2CD8 3B 00 FF E4 */ li r24, -28
/* 802F707C 002F2CDC 48 00 01 B0 */ b lbl_802F722C
lbl_802F7080:
/* 802F7080 002F2CE0 2C 1C 00 00 */ cmpwi r28, 0
/* 802F7084 002F2CE4 41 80 00 10 */ blt lbl_802F7094
/* 802F7088 002F2CE8 40 81 00 14 */ ble lbl_802F709C
/* 802F708C 002F2CEC 2C 1B 00 00 */ cmpwi r27, 0
/* 802F7090 002F2CF0 40 82 00 0C */ bne lbl_802F709C
lbl_802F7094:
/* 802F7094 002F2CF4 3B 00 FF E4 */ li r24, -28
/* 802F7098 002F2CF8 48 00 01 94 */ b lbl_802F722C
lbl_802F709C:
/* 802F709C 002F2CFC 2C 1C 00 00 */ cmpwi r28, 0
/* 802F70A0 002F2D00 3B E0 00 01 */ li r31, 1
/* 802F70A4 002F2D04 41 82 00 90 */ beq lbl_802F7134
/* 802F70A8 002F2D08 57 60 06 FF */ clrlwi. r0, r27, 0x1b
/* 802F70AC 002F2D0C 3B 00 00 00 */ li r24, 0
/* 802F70B0 002F2D10 38 80 00 00 */ li r4, 0
/* 802F70B4 002F2D14 40 82 00 20 */ bne lbl_802F70D4
/* 802F70B8 002F2D18 57 80 D8 08 */ slwi r0, r28, 0x1b
/* 802F70BC 002F2D1C 57 83 0F FE */ srwi r3, r28, 0x1f
/* 802F70C0 002F2D20 7C 03 00 50 */ subf r0, r3, r0
/* 802F70C4 002F2D24 54 00 28 3E */ rotlwi r0, r0, 5
/* 802F70C8 002F2D28 7C 00 1A 15 */ add. r0, r0, r3
/* 802F70CC 002F2D2C 40 82 00 08 */ bne lbl_802F70D4
/* 802F70D0 002F2D30 38 80 00 01 */ li r4, 1
lbl_802F70D4:
/* 802F70D4 002F2D34 2C 04 00 00 */ cmpwi r4, 0
/* 802F70D8 002F2D38 41 82 00 50 */ beq lbl_802F7128
/* 802F70DC 002F2D3C 3A E0 00 01 */ li r23, 1
/* 802F70E0 002F2D40 4B FF E9 71 */ bl SOiIsBufferAddrCheck
/* 802F70E4 002F2D44 2C 03 00 00 */ cmpwi r3, 0
/* 802F70E8 002F2D48 41 82 00 34 */ beq lbl_802F711C
/* 802F70EC 002F2D4C 57 64 00 FE */ clrlwi r4, r27, 3
/* 802F70F0 002F2D50 3C 00 10 00 */ lis r0, 0x1000
/* 802F70F4 002F2D54 7C 04 00 40 */ cmplw r4, r0
/* 802F70F8 002F2D58 38 60 00 00 */ li r3, 0
/* 802F70FC 002F2D5C 41 80 00 14 */ blt lbl_802F7110
/* 802F7100 002F2D60 3C 00 18 00 */ lis r0, 0x1800
/* 802F7104 002F2D64 7C 04 00 40 */ cmplw r4, r0
/* 802F7108 002F2D68 40 80 00 08 */ bge lbl_802F7110
/* 802F710C 002F2D6C 38 60 00 01 */ li r3, 1
lbl_802F7110:
/* 802F7110 002F2D70 2C 03 00 00 */ cmpwi r3, 0
/* 802F7114 002F2D74 40 82 00 08 */ bne lbl_802F711C
/* 802F7118 002F2D78 3A E0 00 00 */ li r23, 0
lbl_802F711C:
/* 802F711C 002F2D7C 2C 17 00 00 */ cmpwi r23, 0
/* 802F7120 002F2D80 41 82 00 08 */ beq lbl_802F7128
/* 802F7124 002F2D84 3B 00 00 01 */ li r24, 1
lbl_802F7128:
/* 802F7128 002F2D88 2C 18 00 00 */ cmpwi r24, 0
/* 802F712C 002F2D8C 40 82 00 08 */ bne lbl_802F7134
/* 802F7130 002F2D90 3B E0 00 00 */ li r31, 0
lbl_802F7134:
/* 802F7134 002F2D94 38 60 00 0C */ li r3, 0xc
/* 802F7138 002F2D98 38 80 00 60 */ li r4, 0x60
/* 802F713C 002F2D9C 4B FF E9 6D */ bl SOiAlloc
/* 802F7140 002F2DA0 2C 1F 00 00 */ cmpwi r31, 0
/* 802F7144 002F2DA4 7C 76 1B 78 */ mr r22, r3
/* 802F7148 002F2DA8 40 82 00 1C */ bne lbl_802F7164
/* 802F714C 002F2DAC 38 1C 00 1F */ addi r0, r28, 0x1f
/* 802F7150 002F2DB0 38 60 00 0E */ li r3, 0xe
/* 802F7154 002F2DB4 54 04 00 34 */ rlwinm r4, r0, 0, 0, 0x1a
/* 802F7158 002F2DB8 4B FF E9 51 */ bl SOiAlloc
/* 802F715C 002F2DBC 7C 77 1B 78 */ mr r23, r3
/* 802F7160 002F2DC0 48 00 00 08 */ b lbl_802F7168
lbl_802F7164:
/* 802F7164 002F2DC4 7F 77 DB 78 */ mr r23, r27
lbl_802F7168:
/* 802F7168 002F2DC8 2C 16 00 00 */ cmpwi r22, 0
/* 802F716C 002F2DCC 41 82 00 0C */ beq lbl_802F7178
/* 802F7170 002F2DD0 2C 17 00 00 */ cmpwi r23, 0
/* 802F7174 002F2DD4 40 82 00 0C */ bne lbl_802F7180
lbl_802F7178:
/* 802F7178 002F2DD8 3B 00 FF CF */ li r24, -49
/* 802F717C 002F2DDC 48 00 00 84 */ b lbl_802F7200
lbl_802F7180:
/* 802F7180 002F2DE0 93 56 00 20 */ stw r26, 0x20(r22)
/* 802F7184 002F2DE4 2C 1E 00 00 */ cmpwi r30, 0
/* 802F7188 002F2DE8 3B 16 00 20 */ addi r24, r22, 0x20
/* 802F718C 002F2DEC 93 B6 00 24 */ stw r29, 0x24(r22)
/* 802F7190 002F2DF0 40 82 00 10 */ bne lbl_802F71A0
/* 802F7194 002F2DF4 38 00 00 00 */ li r0, 0
/* 802F7198 002F2DF8 90 18 00 08 */ stw r0, 8(r24)
/* 802F719C 002F2DFC 48 00 00 1C */ b lbl_802F71B8
lbl_802F71A0:
/* 802F71A0 002F2E00 38 00 00 01 */ li r0, 1
/* 802F71A4 002F2E04 7F C4 F3 78 */ mr r4, r30
/* 802F71A8 002F2E08 90 18 00 08 */ stw r0, 8(r24)
/* 802F71AC 002F2E0C 38 78 00 0C */ addi r3, r24, 0xc
/* 802F71B0 002F2E10 88 BE 00 00 */ lbz r5, 0(r30)
/* 802F71B4 002F2E14 4B D0 CE 4D */ bl memcpy
lbl_802F71B8:
/* 802F71B8 002F2E18 2C 1F 00 00 */ cmpwi r31, 0
/* 802F71BC 002F2E1C 40 82 00 14 */ bne lbl_802F71D0
/* 802F71C0 002F2E20 7E E3 BB 78 */ mr r3, r23
/* 802F71C4 002F2E24 7F 64 DB 78 */ mr r4, r27
/* 802F71C8 002F2E28 7F 85 E3 78 */ mr r5, r28
/* 802F71CC 002F2E2C 4B D0 CE 35 */ bl memcpy
lbl_802F71D0:
/* 802F71D0 002F2E30 92 F6 00 00 */ stw r23, 0(r22)
/* 802F71D4 002F2E34 38 00 00 28 */ li r0, 0x28
/* 802F71D8 002F2E38 7E C7 B3 78 */ mr r7, r22
/* 802F71DC 002F2E3C 38 80 00 0D */ li r4, 0xd
/* 802F71E0 002F2E40 93 96 00 04 */ stw r28, 4(r22)
/* 802F71E4 002F2E44 38 A0 00 02 */ li r5, 2
/* 802F71E8 002F2E48 38 C0 00 00 */ li r6, 0
/* 802F71EC 002F2E4C 93 16 00 08 */ stw r24, 8(r22)
/* 802F71F0 002F2E50 90 16 00 0C */ stw r0, 0xc(r22)
/* 802F71F4 002F2E54 80 61 00 08 */ lwz r3, 8(r1)
/* 802F71F8 002F2E58 4B FA CC 49 */ bl IOS_Ioctlv
/* 802F71FC 002F2E5C 7C 78 1B 78 */ mr r24, r3
lbl_802F7200:
/* 802F7200 002F2E60 2C 1F 00 00 */ cmpwi r31, 0
/* 802F7204 002F2E64 40 82 00 18 */ bne lbl_802F721C
/* 802F7208 002F2E68 38 1C 00 1F */ addi r0, r28, 0x1f
/* 802F720C 002F2E6C 7E E4 BB 78 */ mr r4, r23
/* 802F7210 002F2E70 54 05 00 34 */ rlwinm r5, r0, 0, 0, 0x1a
/* 802F7214 002F2E74 38 60 00 0E */ li r3, 0xe
/* 802F7218 002F2E78 4B FF E9 79 */ bl SOiFree
lbl_802F721C:
/* 802F721C 002F2E7C 7E C4 B3 78 */ mr r4, r22
/* 802F7220 002F2E80 38 60 00 0C */ li r3, 0xc
/* 802F7224 002F2E84 38 A0 00 60 */ li r5, 0x60
/* 802F7228 002F2E88 4B FF E9 69 */ bl SOiFree
lbl_802F722C:
/* 802F722C 002F2E8C 7F 23 CB 78 */ mr r3, r25
/* 802F7230 002F2E90 7F 04 C3 78 */ mr r4, r24
/* 802F7234 002F2E94 4B FF EA 79 */ bl SOiConclude
lbl_802F7238:
/* 802F7238 002F2E98 39 61 00 40 */ addi r11, r1, 0x40
/* 802F723C 002F2E9C 4B EC FF 25 */ bl _restgpr_22
/* 802F7240 002F2EA0 80 01 00 44 */ lwz r0, 0x44(r1)
/* 802F7244 002F2EA4 7C 08 03 A6 */ mtlr r0
/* 802F7248 002F2EA8 38 21 00 40 */ addi r1, r1, 0x40
/* 802F724C 002F2EAC 4E 80 00 20 */ blr
|