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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global NHTTPi_SocOpen
NHTTPi_SocOpen:
/* 802F9880 002F54E0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802F9884 002F54E4 7C 08 02 A6 */ mflr r0
/* 802F9888 002F54E8 38 80 00 01 */ li r4, 1
/* 802F988C 002F54EC 38 A0 00 00 */ li r5, 0
/* 802F9890 002F54F0 90 01 00 24 */ stw r0, 0x24(r1)
/* 802F9894 002F54F4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802F9898 002F54F8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802F989C 002F54FC 7C 7E 1B 78 */ mr r30, r3
/* 802F98A0 002F5500 38 60 00 02 */ li r3, 2
/* 802F98A4 002F5504 4B FF C9 59 */ bl __SOCreateSocket
/* 802F98A8 002F5508 38 00 00 00 */ li r0, 0
/* 802F98AC 002F550C 2C 1E 00 00 */ cmpwi r30, 0
/* 802F98B0 002F5510 90 01 00 08 */ stw r0, 8(r1)
/* 802F98B4 002F5514 7C 7F 1B 78 */ mr r31, r3
/* 802F98B8 002F5518 41 82 00 0C */ beq lbl_802F98C4
/* 802F98BC 002F551C 80 1E 02 38 */ lwz r0, 0x238(r30)
/* 802F98C0 002F5520 90 01 00 08 */ stw r0, 8(r1)
lbl_802F98C4:
/* 802F98C4 002F5524 2C 03 00 00 */ cmpwi r3, 0
/* 802F98C8 002F5528 41 80 00 28 */ blt lbl_802F98F0
/* 802F98CC 002F552C 2C 00 00 00 */ cmpwi r0, 0
/* 802F98D0 002F5530 41 82 00 20 */ beq lbl_802F98F0
/* 802F98D4 002F5534 3C 80 00 01 */ lis r4, 0x0000FFFF@ha
/* 802F98D8 002F5538 7F E3 FB 78 */ mr r3, r31
/* 802F98DC 002F553C 38 84 FF FF */ addi r4, r4, 0x0000FFFF@l
/* 802F98E0 002F5540 38 C1 00 08 */ addi r6, r1, 8
/* 802F98E4 002F5544 38 A0 10 02 */ li r5, 0x1002
/* 802F98E8 002F5548 38 E0 00 04 */ li r7, 4
/* 802F98EC 002F554C 4B FF DF 69 */ bl SOSetSockOpt
lbl_802F98F0:
/* 802F98F0 002F5550 7F E3 FB 78 */ mr r3, r31
/* 802F98F4 002F5554 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802F98F8 002F5558 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802F98FC 002F555C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802F9900 002F5560 7C 08 03 A6 */ mtlr r0
/* 802F9904 002F5564 38 21 00 20 */ addi r1, r1, 0x20
/* 802F9908 002F5568 4E 80 00 20 */ blr
.global NHTTPi_SocClose
NHTTPi_SocClose:
/* 802F990C 002F556C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802F9910 002F5570 7C 08 02 A6 */ mflr r0
/* 802F9914 002F5574 90 01 00 24 */ stw r0, 0x24(r1)
/* 802F9918 002F5578 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802F991C 002F557C 7C BF 2B 78 */ mr r31, r5
/* 802F9920 002F5580 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802F9924 002F5584 7C 9E 23 78 */ mr r30, r4
/* 802F9928 002F5588 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802F992C 002F558C 7C 7D 1B 78 */ mr r29, r3
/* 802F9930 002F5590 4B FF EB 15 */ bl NHTTPi_lockReqList
/* 802F9934 002F5594 80 7E 00 AC */ lwz r3, 0xac(r30)
/* 802F9938 002F5598 2C 03 00 00 */ cmpwi r3, 0
/* 802F993C 002F559C 40 81 00 10 */ ble lbl_802F994C
/* 802F9940 002F55A0 48 00 6E 0D */ bl SSLShutdown
/* 802F9944 002F55A4 38 00 FF FF */ li r0, -1
/* 802F9948 002F55A8 90 1E 00 AC */ stw r0, 0xac(r30)
lbl_802F994C:
/* 802F994C 002F55AC 7F A3 EB 78 */ mr r3, r29
/* 802F9950 002F55B0 4B FF EA F9 */ bl NHTTPi_unlockReqList
/* 802F9954 002F55B4 7F E3 FB 78 */ mr r3, r31
/* 802F9958 002F55B8 4B FF C9 79 */ bl SOClose
/* 802F995C 002F55BC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802F9960 002F55C0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802F9964 002F55C4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802F9968 002F55C8 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802F996C 002F55CC 7C 08 03 A6 */ mtlr r0
/* 802F9970 002F55D0 38 21 00 20 */ addi r1, r1, 0x20
/* 802F9974 002F55D4 4E 80 00 20 */ blr
.global NHTTPi_SocConnect
NHTTPi_SocConnect:
/* 802F9978 002F55D8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802F997C 002F55DC 7C 08 02 A6 */ mflr r0
/* 802F9980 002F55E0 90 01 00 34 */ stw r0, 0x34(r1)
/* 802F9984 002F55E4 39 61 00 30 */ addi r11, r1, 0x30
/* 802F9988 002F55E8 4B EC D7 A1 */ bl _savegpr_27
/* 802F998C 002F55EC 39 20 00 08 */ li r9, 8
/* 802F9990 002F55F0 38 00 00 02 */ li r0, 2
/* 802F9994 002F55F4 99 21 00 08 */ stb r9, 8(r1)
/* 802F9998 002F55F8 7C 7B 1B 78 */ mr r27, r3
/* 802F999C 002F55FC 7C 9C 23 78 */ mr r28, r4
/* 802F99A0 002F5600 7C BD 2B 78 */ mr r29, r5
/* 802F99A4 002F5604 98 01 00 09 */ stb r0, 9(r1)
/* 802F99A8 002F5608 7C DE 33 78 */ mr r30, r6
/* 802F99AC 002F560C 7C FF 3B 78 */ mr r31, r7
/* 802F99B0 002F5610 55 03 04 3E */ clrlwi r3, r8, 0x10
/* 802F99B4 002F5614 4B FF D3 C9 */ bl SOHtoNs
/* 802F99B8 002F5618 B0 61 00 0A */ sth r3, 0xa(r1)
/* 802F99BC 002F561C 7F C3 F3 78 */ mr r3, r30
/* 802F99C0 002F5620 38 81 00 08 */ addi r4, r1, 8
/* 802F99C4 002F5624 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802F99C8 002F5628 4B FF CC 89 */ bl SOConnect
/* 802F99CC 002F562C 2C 03 00 00 */ cmpwi r3, 0
/* 802F99D0 002F5630 40 80 00 1C */ bge lbl_802F99EC
/* 802F99D4 002F5634 80 1D 00 00 */ lwz r0, 0(r29)
/* 802F99D8 002F5638 38 60 FC 17 */ li r3, -1001
/* 802F99DC 002F563C 2C 00 00 00 */ cmpwi r0, 0
/* 802F99E0 002F5640 41 82 00 40 */ beq lbl_802F9A20
/* 802F99E4 002F5644 38 60 FC 16 */ li r3, -1002
/* 802F99E8 002F5648 48 00 00 38 */ b lbl_802F9A20
lbl_802F99EC:
/* 802F99EC 002F564C 80 1D 00 08 */ lwz r0, 8(r29)
/* 802F99F0 002F5650 2C 00 00 00 */ cmpwi r0, 0
/* 802F99F4 002F5654 41 82 00 28 */ beq lbl_802F9A1C
/* 802F99F8 002F5658 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 802F99FC 002F565C 2C 00 00 00 */ cmpwi r0, 0
/* 802F9A00 002F5660 40 82 00 1C */ bne lbl_802F9A1C
/* 802F9A04 002F5664 7F 63 DB 78 */ mr r3, r27
/* 802F9A08 002F5668 7F 84 E3 78 */ mr r4, r28
/* 802F9A0C 002F566C 7F A5 EB 78 */ mr r5, r29
/* 802F9A10 002F5670 7F C6 F3 78 */ mr r6, r30
/* 802F9A14 002F5674 48 00 00 25 */ bl NHTTPi_SocSSLConnect
/* 802F9A18 002F5678 48 00 00 08 */ b lbl_802F9A20
lbl_802F9A1C:
/* 802F9A1C 002F567C 38 60 00 00 */ li r3, 0
lbl_802F9A20:
/* 802F9A20 002F5680 39 61 00 30 */ addi r11, r1, 0x30
/* 802F9A24 002F5684 4B EC D7 51 */ bl _restgpr_27
/* 802F9A28 002F5688 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802F9A2C 002F568C 7C 08 03 A6 */ mtlr r0
/* 802F9A30 002F5690 38 21 00 30 */ addi r1, r1, 0x30
/* 802F9A34 002F5694 4E 80 00 20 */ blr
.global NHTTPi_SocSSLConnect
NHTTPi_SocSSLConnect:
/* 802F9A38 002F5698 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802F9A3C 002F569C 7C 08 02 A6 */ mflr r0
/* 802F9A40 002F56A0 90 01 00 24 */ stw r0, 0x24(r1)
/* 802F9A44 002F56A4 39 61 00 20 */ addi r11, r1, 0x20
/* 802F9A48 002F56A8 4B EC D6 DD */ bl _savegpr_26
/* 802F9A4C 002F56AC 7C 7A 1B 78 */ mr r26, r3
/* 802F9A50 002F56B0 7C 9B 23 78 */ mr r27, r4
/* 802F9A54 002F56B4 80 65 00 CC */ lwz r3, 0xcc(r5)
/* 802F9A58 002F56B8 7C BC 2B 78 */ mr r28, r5
/* 802F9A5C 002F56BC 80 85 00 28 */ lwz r4, 0x28(r5)
/* 802F9A60 002F56C0 7C DD 33 78 */ mr r29, r6
/* 802F9A64 002F56C4 3B C0 00 00 */ li r30, 0
/* 802F9A68 002F56C8 48 00 64 B5 */ bl SSLNew
/* 802F9A6C 002F56CC 80 1C 00 C8 */ lwz r0, 0xc8(r28)
/* 802F9A70 002F56D0 90 7C 00 AC */ stw r3, 0xac(r28)
/* 802F9A74 002F56D4 2C 00 00 01 */ cmpwi r0, 1
/* 802F9A78 002F56D8 40 82 00 0C */ bne lbl_802F9A84
/* 802F9A7C 002F56DC 48 00 6E E9 */ bl SSLSetClientCertDefault
/* 802F9A80 002F56E0 48 00 00 28 */ b lbl_802F9AA8
lbl_802F9A84:
/* 802F9A84 002F56E4 80 9C 00 B0 */ lwz r4, 0xb0(r28)
/* 802F9A88 002F56E8 2C 04 00 00 */ cmpwi r4, 0
/* 802F9A8C 002F56EC 41 82 00 1C */ beq lbl_802F9AA8
/* 802F9A90 002F56F0 80 DC 00 B8 */ lwz r6, 0xb8(r28)
/* 802F9A94 002F56F4 2C 06 00 00 */ cmpwi r6, 0
/* 802F9A98 002F56F8 41 82 00 10 */ beq lbl_802F9AA8
/* 802F9A9C 002F56FC 80 BC 00 B4 */ lwz r5, 0xb4(r28)
/* 802F9AA0 002F5700 80 FC 00 BC */ lwz r7, 0xbc(r28)
/* 802F9AA4 002F5704 48 00 6D 55 */ bl SSLSetClientCert
lbl_802F9AA8:
/* 802F9AA8 002F5708 80 9C 00 C0 */ lwz r4, 0xc0(r28)
/* 802F9AAC 002F570C 2C 04 00 00 */ cmpwi r4, 0
/* 802F9AB0 002F5710 41 82 00 14 */ beq lbl_802F9AC4
/* 802F9AB4 002F5714 80 7C 00 AC */ lwz r3, 0xac(r28)
/* 802F9AB8 002F5718 80 BC 00 C4 */ lwz r5, 0xc4(r28)
/* 802F9ABC 002F571C 48 00 6F 55 */ bl SSLSetRootCA
/* 802F9AC0 002F5720 48 00 00 0C */ b lbl_802F9ACC
lbl_802F9AC4:
/* 802F9AC4 002F5724 80 7C 00 AC */ lwz r3, 0xac(r28)
/* 802F9AC8 002F5728 48 00 70 91 */ bl SSLSetBuiltinRootCA
lbl_802F9ACC:
/* 802F9ACC 002F572C 80 7C 00 AC */ lwz r3, 0xac(r28)
/* 802F9AD0 002F5730 7F A4 EB 78 */ mr r4, r29
/* 802F9AD4 002F5734 48 00 65 85 */ bl SSLConnect
/* 802F9AD8 002F5738 2C 03 FF FF */ cmpwi r3, -1
/* 802F9ADC 002F573C 40 80 00 80 */ bge lbl_802F9B5C
/* 802F9AE0 002F5740 38 60 FC 17 */ li r3, -1001
/* 802F9AE4 002F5744 48 00 00 84 */ b lbl_802F9B68
/* 802F9AE8 002F5748 48 00 00 74 */ b lbl_802F9B5C
lbl_802F9AEC:
/* 802F9AEC 002F574C 7F 63 DB 78 */ mr r3, r27
/* 802F9AF0 002F5750 7F 84 E3 78 */ mr r4, r28
/* 802F9AF4 002F5754 48 00 5F 45 */ bl NHTTPi_Request2Connection
/* 802F9AF8 002F5758 7C 7F 1B 78 */ mr r31, r3
/* 802F9AFC 002F575C 80 7C 00 AC */ lwz r3, 0xac(r28)
/* 802F9B00 002F5760 48 00 66 21 */ bl SSLDoHandshake
/* 802F9B04 002F5764 7C 7D 1B 78 */ mr r29, r3
/* 802F9B08 002F5768 7F 43 D3 78 */ mr r3, r26
/* 802F9B0C 002F576C 7F A4 EB 78 */ mr r4, r29
/* 802F9B10 002F5770 4B FF E0 F9 */ bl NHTTPi_SetSSLError
/* 802F9B14 002F5774 2C 1F 00 00 */ cmpwi r31, 0
/* 802F9B18 002F5778 41 82 00 08 */ beq lbl_802F9B20
/* 802F9B1C 002F577C 93 BF 00 08 */ stw r29, 8(r31)
lbl_802F9B20:
/* 802F9B20 002F5780 2C 1D FF FF */ cmpwi r29, -1
/* 802F9B24 002F5784 41 82 00 30 */ beq lbl_802F9B54
/* 802F9B28 002F5788 40 80 00 1C */ bge lbl_802F9B44
/* 802F9B2C 002F578C 2C 1D FF F9 */ cmpwi r29, -7
/* 802F9B30 002F5790 41 82 00 2C */ beq lbl_802F9B5C
/* 802F9B34 002F5794 41 80 00 20 */ blt lbl_802F9B54
/* 802F9B38 002F5798 2C 1D FF FD */ cmpwi r29, -3
/* 802F9B3C 002F579C 40 80 00 20 */ bge lbl_802F9B5C
/* 802F9B40 002F57A0 48 00 00 14 */ b lbl_802F9B54
lbl_802F9B44:
/* 802F9B44 002F57A4 2C 1D 00 01 */ cmpwi r29, 1
/* 802F9B48 002F57A8 40 80 00 0C */ bge lbl_802F9B54
/* 802F9B4C 002F57AC 3B C0 00 01 */ li r30, 1
/* 802F9B50 002F57B0 48 00 00 0C */ b lbl_802F9B5C
lbl_802F9B54:
/* 802F9B54 002F57B4 38 60 FC 17 */ li r3, -1001
/* 802F9B58 002F57B8 48 00 00 10 */ b lbl_802F9B68
lbl_802F9B5C:
/* 802F9B5C 002F57BC 2C 1E 00 00 */ cmpwi r30, 0
/* 802F9B60 002F57C0 41 82 FF 8C */ beq lbl_802F9AEC
/* 802F9B64 002F57C4 38 60 00 00 */ li r3, 0
lbl_802F9B68:
/* 802F9B68 002F57C8 39 61 00 20 */ addi r11, r1, 0x20
/* 802F9B6C 002F57CC 4B EC D6 05 */ bl _restgpr_26
/* 802F9B70 002F57D0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802F9B74 002F57D4 7C 08 03 A6 */ mtlr r0
/* 802F9B78 002F57D8 38 21 00 20 */ addi r1, r1, 0x20
/* 802F9B7C 002F57DC 4E 80 00 20 */ blr
.global NHTTPi_SocRecv_sub
NHTTPi_SocRecv_sub:
/* 802F9B80 002F57E0 54 2B 06 FE */ clrlwi r11, r1, 0x1b
/* 802F9B84 002F57E4 7C 2C 0B 78 */ mr r12, r1
/* 802F9B88 002F57E8 21 6B FF A0 */ subfic r11, r11, -96
/* 802F9B8C 002F57EC 7C 21 59 6E */ stwux r1, r1, r11
/* 802F9B90 002F57F0 7C 08 02 A6 */ mflr r0
/* 802F9B94 002F57F4 7D 8B 63 78 */ mr r11, r12
/* 802F9B98 002F57F8 90 0C 00 04 */ stw r0, 4(r12)
/* 802F9B9C 002F57FC 4B EC D5 85 */ bl _savegpr_25
/* 802F9BA0 002F5800 54 80 06 FF */ clrlwi. r0, r4, 0x1b
/* 802F9BA4 002F5804 7C 79 1B 78 */ mr r25, r3
/* 802F9BA8 002F5808 7C 9A 23 78 */ mr r26, r4
/* 802F9BAC 002F580C 7C BB 2B 78 */ mr r27, r5
/* 802F9BB0 002F5810 7C DC 33 78 */ mr r28, r6
/* 802F9BB4 002F5814 41 82 00 0C */ beq lbl_802F9BC0
/* 802F9BB8 002F5818 23 E0 00 20 */ subfic r31, r0, 0x20
/* 802F9BBC 002F581C 48 00 00 08 */ b lbl_802F9BC4
lbl_802F9BC0:
/* 802F9BC0 002F5820 3B E0 00 00 */ li r31, 0
lbl_802F9BC4:
/* 802F9BC4 002F5824 38 61 00 20 */ addi r3, r1, 0x20
/* 802F9BC8 002F5828 3B C0 00 00 */ li r30, 0
/* 802F9BCC 002F582C 38 80 00 20 */ li r4, 0x20
/* 802F9BD0 002F5830 48 00 05 19 */ bl NHTTPi_memclr
/* 802F9BD4 002F5834 2C 1F 00 00 */ cmpwi r31, 0
/* 802F9BD8 002F5838 41 82 00 64 */ beq lbl_802F9C3C
/* 802F9BDC 002F583C 7C 1F D8 40 */ cmplw r31, r27
/* 802F9BE0 002F5840 40 81 00 08 */ ble lbl_802F9BE8
/* 802F9BE4 002F5844 7F 7F DB 78 */ mr r31, r27
lbl_802F9BE8:
/* 802F9BE8 002F5848 7F 23 CB 78 */ mr r3, r25
/* 802F9BEC 002F584C 7F E5 FB 78 */ mr r5, r31
/* 802F9BF0 002F5850 7F 86 E3 78 */ mr r6, r28
/* 802F9BF4 002F5854 38 81 00 20 */ addi r4, r1, 0x20
/* 802F9BF8 002F5858 4B FF CC 65 */ bl SORecv
/* 802F9BFC 002F585C 2C 03 00 00 */ cmpwi r3, 0
/* 802F9C00 002F5860 7C 7D 1B 78 */ mr r29, r3
/* 802F9C04 002F5864 40 81 01 04 */ ble lbl_802F9D08
/* 802F9C08 002F5868 7F BE EB 78 */ mr r30, r29
/* 802F9C0C 002F586C 7F 43 D3 78 */ mr r3, r26
/* 802F9C10 002F5870 7F A5 EB 78 */ mr r5, r29
/* 802F9C14 002F5874 38 81 00 20 */ addi r4, r1, 0x20
/* 802F9C18 002F5878 48 00 04 C5 */ bl NHTTPi_memcpy
/* 802F9C1C 002F587C 7C 1D F8 40 */ cmplw r29, r31
/* 802F9C20 002F5880 40 80 00 0C */ bge lbl_802F9C2C
/* 802F9C24 002F5884 7F C3 F3 78 */ mr r3, r30
/* 802F9C28 002F5888 48 00 00 E0 */ b lbl_802F9D08
lbl_802F9C2C:
/* 802F9C2C 002F588C 7F 5A EA 14 */ add r26, r26, r29
/* 802F9C30 002F5890 7F 7D D8 50 */ subf r27, r29, r27
/* 802F9C34 002F5894 48 00 00 08 */ b lbl_802F9C3C
/* 802F9C38 002F5898 48 00 00 D0 */ b lbl_802F9D08
lbl_802F9C3C:
/* 802F9C3C 002F589C 2C 1B 00 00 */ cmpwi r27, 0
/* 802F9C40 002F58A0 40 81 00 5C */ ble lbl_802F9C9C
/* 802F9C44 002F58A4 57 7D 00 35 */ rlwinm. r29, r27, 0, 0, 0x1a
/* 802F9C48 002F58A8 41 82 00 54 */ beq lbl_802F9C9C
/* 802F9C4C 002F58AC 7F 23 CB 78 */ mr r3, r25
/* 802F9C50 002F58B0 7F 44 D3 78 */ mr r4, r26
/* 802F9C54 002F58B4 7F A5 EB 78 */ mr r5, r29
/* 802F9C58 002F58B8 7F 86 E3 78 */ mr r6, r28
/* 802F9C5C 002F58BC 4B FF CC 01 */ bl SORecv
/* 802F9C60 002F58C0 2C 03 00 00 */ cmpwi r3, 0
/* 802F9C64 002F58C4 40 81 00 24 */ ble lbl_802F9C88
/* 802F9C68 002F58C8 7C 03 E8 40 */ cmplw r3, r29
/* 802F9C6C 002F58CC 7F DE 1A 14 */ add r30, r30, r3
/* 802F9C70 002F58D0 40 80 00 0C */ bge lbl_802F9C7C
/* 802F9C74 002F58D4 7F C3 F3 78 */ mr r3, r30
/* 802F9C78 002F58D8 48 00 00 90 */ b lbl_802F9D08
lbl_802F9C7C:
/* 802F9C7C 002F58DC 7F 5A 1A 14 */ add r26, r26, r3
/* 802F9C80 002F58E0 7F 63 D8 50 */ subf r27, r3, r27
/* 802F9C84 002F58E4 48 00 00 18 */ b lbl_802F9C9C
lbl_802F9C88:
/* 802F9C88 002F58E8 2C 1E 00 00 */ cmpwi r30, 0
/* 802F9C8C 002F58EC 40 81 00 7C */ ble lbl_802F9D08
/* 802F9C90 002F58F0 7F C3 F3 78 */ mr r3, r30
/* 802F9C94 002F58F4 48 00 00 74 */ b lbl_802F9D08
/* 802F9C98 002F58F8 48 00 00 70 */ b lbl_802F9D08
lbl_802F9C9C:
/* 802F9C9C 002F58FC 2C 1B 00 00 */ cmpwi r27, 0
/* 802F9CA0 002F5900 40 81 00 64 */ ble lbl_802F9D04
/* 802F9CA4 002F5904 57 7D 06 FF */ clrlwi. r29, r27, 0x1b
/* 802F9CA8 002F5908 41 82 00 5C */ beq lbl_802F9D04
/* 802F9CAC 002F590C 38 61 00 20 */ addi r3, r1, 0x20
/* 802F9CB0 002F5910 38 80 00 20 */ li r4, 0x20
/* 802F9CB4 002F5914 48 00 04 35 */ bl NHTTPi_memclr
/* 802F9CB8 002F5918 7F 23 CB 78 */ mr r3, r25
/* 802F9CBC 002F591C 7F A5 EB 78 */ mr r5, r29
/* 802F9CC0 002F5920 7F 86 E3 78 */ mr r6, r28
/* 802F9CC4 002F5924 38 81 00 20 */ addi r4, r1, 0x20
/* 802F9CC8 002F5928 4B FF CB 95 */ bl SORecv
/* 802F9CCC 002F592C 2C 03 00 00 */ cmpwi r3, 0
/* 802F9CD0 002F5930 7C 7D 1B 78 */ mr r29, r3
/* 802F9CD4 002F5934 40 81 00 1C */ ble lbl_802F9CF0
/* 802F9CD8 002F5938 7F DE 1A 14 */ add r30, r30, r3
/* 802F9CDC 002F593C 7F 43 D3 78 */ mr r3, r26
/* 802F9CE0 002F5940 7F A5 EB 78 */ mr r5, r29
/* 802F9CE4 002F5944 38 81 00 20 */ addi r4, r1, 0x20
/* 802F9CE8 002F5948 48 00 03 F5 */ bl NHTTPi_memcpy
/* 802F9CEC 002F594C 48 00 00 18 */ b lbl_802F9D04
lbl_802F9CF0:
/* 802F9CF0 002F5950 2C 1E 00 00 */ cmpwi r30, 0
/* 802F9CF4 002F5954 40 81 00 14 */ ble lbl_802F9D08
/* 802F9CF8 002F5958 7F C3 F3 78 */ mr r3, r30
/* 802F9CFC 002F595C 48 00 00 0C */ b lbl_802F9D08
/* 802F9D00 002F5960 48 00 00 08 */ b lbl_802F9D08
lbl_802F9D04:
/* 802F9D04 002F5964 7F C3 F3 78 */ mr r3, r30
lbl_802F9D08:
/* 802F9D08 002F5968 81 41 00 00 */ lwz r10, 0(r1)
/* 802F9D0C 002F596C 7D 4B 53 78 */ mr r11, r10
/* 802F9D10 002F5970 4B EC D4 5D */ bl _restgpr_25
/* 802F9D14 002F5974 80 0A 00 04 */ lwz r0, 4(r10)
/* 802F9D18 002F5978 7C 08 03 A6 */ mtlr r0
/* 802F9D1C 002F597C 7D 41 53 78 */ mr r1, r10
/* 802F9D20 002F5980 4E 80 00 20 */ blr
.global NHTTPi_SocRecv
NHTTPi_SocRecv:
/* 802F9D24 002F5984 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802F9D28 002F5988 7C 08 02 A6 */ mflr r0
/* 802F9D2C 002F598C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802F9D30 002F5990 80 03 00 AC */ lwz r0, 0xac(r3)
/* 802F9D34 002F5994 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802F9D38 002F5998 7C 7F 1B 78 */ mr r31, r3
/* 802F9D3C 002F599C 2C 00 00 00 */ cmpwi r0, 0
/* 802F9D40 002F59A0 40 81 00 18 */ ble lbl_802F9D58
/* 802F9D44 002F59A4 7C A4 2B 78 */ mr r4, r5
/* 802F9D48 002F59A8 7C 03 03 78 */ mr r3, r0
/* 802F9D4C 002F59AC 7C C5 33 78 */ mr r5, r6
/* 802F9D50 002F59B0 48 00 64 7D */ bl SSLRead
/* 802F9D54 002F59B4 48 00 00 18 */ b lbl_802F9D6C
lbl_802F9D58:
/* 802F9D58 002F59B8 7C 83 23 78 */ mr r3, r4
/* 802F9D5C 002F59BC 7C A4 2B 78 */ mr r4, r5
/* 802F9D60 002F59C0 7C C5 33 78 */ mr r5, r6
/* 802F9D64 002F59C4 7C E6 3B 78 */ mr r6, r7
/* 802F9D68 002F59C8 4B FF FE 19 */ bl NHTTPi_SocRecv_sub
lbl_802F9D6C:
/* 802F9D6C 002F59CC 2C 03 00 00 */ cmpwi r3, 0
/* 802F9D70 002F59D0 40 80 00 4C */ bge lbl_802F9DBC
/* 802F9D74 002F59D4 80 1F 00 00 */ lwz r0, 0(r31)
/* 802F9D78 002F59D8 2C 00 00 00 */ cmpwi r0, 0
/* 802F9D7C 002F59DC 41 82 00 0C */ beq lbl_802F9D88
/* 802F9D80 002F59E0 38 60 FC 16 */ li r3, -1002
/* 802F9D84 002F59E4 48 00 00 38 */ b lbl_802F9DBC
lbl_802F9D88:
/* 802F9D88 002F59E8 80 1F 00 AC */ lwz r0, 0xac(r31)
/* 802F9D8C 002F59EC 2C 00 00 00 */ cmpwi r0, 0
/* 802F9D90 002F59F0 40 81 00 18 */ ble lbl_802F9DA8
/* 802F9D94 002F59F4 38 03 00 07 */ addi r0, r3, 7
/* 802F9D98 002F59F8 28 00 00 01 */ cmplwi r0, 1
/* 802F9D9C 002F59FC 41 81 00 1C */ bgt lbl_802F9DB8
/* 802F9DA0 002F5A00 38 60 00 00 */ li r3, 0
/* 802F9DA4 002F5A04 48 00 00 18 */ b lbl_802F9DBC
lbl_802F9DA8:
/* 802F9DA8 002F5A08 2C 03 FF C8 */ cmpwi r3, -56
/* 802F9DAC 002F5A0C 40 82 00 0C */ bne lbl_802F9DB8
/* 802F9DB0 002F5A10 38 60 00 00 */ li r3, 0
/* 802F9DB4 002F5A14 48 00 00 08 */ b lbl_802F9DBC
lbl_802F9DB8:
/* 802F9DB8 002F5A18 38 60 FC 17 */ li r3, -1001
lbl_802F9DBC:
/* 802F9DBC 002F5A1C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802F9DC0 002F5A20 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802F9DC4 002F5A24 7C 08 03 A6 */ mtlr r0
/* 802F9DC8 002F5A28 38 21 00 10 */ addi r1, r1, 0x10
/* 802F9DCC 002F5A2C 4E 80 00 20 */ blr
.global NHTTPi_SocSend_sub
NHTTPi_SocSend_sub:
/* 802F9DD0 002F5A30 54 2B 06 FE */ clrlwi r11, r1, 0x1b
/* 802F9DD4 002F5A34 7C 2C 0B 78 */ mr r12, r1
/* 802F9DD8 002F5A38 21 6B FF A0 */ subfic r11, r11, -96
/* 802F9DDC 002F5A3C 7C 21 59 6E */ stwux r1, r1, r11
/* 802F9DE0 002F5A40 7C 08 02 A6 */ mflr r0
/* 802F9DE4 002F5A44 7D 8B 63 78 */ mr r11, r12
/* 802F9DE8 002F5A48 90 0C 00 04 */ stw r0, 4(r12)
/* 802F9DEC 002F5A4C 4B EC D3 39 */ bl _savegpr_26
/* 802F9DF0 002F5A50 54 80 06 FF */ clrlwi. r0, r4, 0x1b
/* 802F9DF4 002F5A54 7C 7A 1B 78 */ mr r26, r3
/* 802F9DF8 002F5A58 7C 9B 23 78 */ mr r27, r4
/* 802F9DFC 002F5A5C 7C BC 2B 78 */ mr r28, r5
/* 802F9E00 002F5A60 7C DD 33 78 */ mr r29, r6
/* 802F9E04 002F5A64 41 82 00 0C */ beq lbl_802F9E10
/* 802F9E08 002F5A68 23 E0 00 20 */ subfic r31, r0, 0x20
/* 802F9E0C 002F5A6C 48 00 00 08 */ b lbl_802F9E14
lbl_802F9E10:
/* 802F9E10 002F5A70 3B E0 00 00 */ li r31, 0
lbl_802F9E14:
/* 802F9E14 002F5A74 38 61 00 20 */ addi r3, r1, 0x20
/* 802F9E18 002F5A78 3B C0 00 00 */ li r30, 0
/* 802F9E1C 002F5A7C 38 80 00 20 */ li r4, 0x20
/* 802F9E20 002F5A80 48 00 02 C9 */ bl NHTTPi_memclr
/* 802F9E24 002F5A84 2C 1F 00 00 */ cmpwi r31, 0
/* 802F9E28 002F5A88 41 82 00 5C */ beq lbl_802F9E84
/* 802F9E2C 002F5A8C 7C 1F E0 40 */ cmplw r31, r28
/* 802F9E30 002F5A90 40 81 00 08 */ ble lbl_802F9E38
/* 802F9E34 002F5A94 7F 9F E3 78 */ mr r31, r28
lbl_802F9E38:
/* 802F9E38 002F5A98 7F 64 DB 78 */ mr r4, r27
/* 802F9E3C 002F5A9C 7F E5 FB 78 */ mr r5, r31
/* 802F9E40 002F5AA0 38 61 00 20 */ addi r3, r1, 0x20
/* 802F9E44 002F5AA4 48 00 02 99 */ bl NHTTPi_memcpy
/* 802F9E48 002F5AA8 7F 43 D3 78 */ mr r3, r26
/* 802F9E4C 002F5AAC 7F E5 FB 78 */ mr r5, r31
/* 802F9E50 002F5AB0 7F A6 EB 78 */ mr r6, r29
/* 802F9E54 002F5AB4 38 81 00 20 */ addi r4, r1, 0x20
/* 802F9E58 002F5AB8 4B FF CA 51 */ bl SOSend
/* 802F9E5C 002F5ABC 2C 03 00 00 */ cmpwi r3, 0
/* 802F9E60 002F5AC0 40 81 00 EC */ ble lbl_802F9F4C
/* 802F9E64 002F5AC4 7C 03 F8 40 */ cmplw r3, r31
/* 802F9E68 002F5AC8 7C 7E 1B 78 */ mr r30, r3
/* 802F9E6C 002F5ACC 40 80 00 08 */ bge lbl_802F9E74
/* 802F9E70 002F5AD0 48 00 00 DC */ b lbl_802F9F4C
lbl_802F9E74:
/* 802F9E74 002F5AD4 7F 7B 1A 14 */ add r27, r27, r3
/* 802F9E78 002F5AD8 7F 83 E0 50 */ subf r28, r3, r28
/* 802F9E7C 002F5ADC 48 00 00 08 */ b lbl_802F9E84
/* 802F9E80 002F5AE0 48 00 00 CC */ b lbl_802F9F4C
lbl_802F9E84:
/* 802F9E84 002F5AE4 2C 1C 00 00 */ cmpwi r28, 0
/* 802F9E88 002F5AE8 40 81 00 5C */ ble lbl_802F9EE4
/* 802F9E8C 002F5AEC 57 9F 00 35 */ rlwinm. r31, r28, 0, 0, 0x1a
/* 802F9E90 002F5AF0 41 82 00 54 */ beq lbl_802F9EE4
/* 802F9E94 002F5AF4 7F 43 D3 78 */ mr r3, r26
/* 802F9E98 002F5AF8 7F 64 DB 78 */ mr r4, r27
/* 802F9E9C 002F5AFC 7F E5 FB 78 */ mr r5, r31
/* 802F9EA0 002F5B00 7F A6 EB 78 */ mr r6, r29
/* 802F9EA4 002F5B04 4B FF CA 05 */ bl SOSend
/* 802F9EA8 002F5B08 2C 03 00 00 */ cmpwi r3, 0
/* 802F9EAC 002F5B0C 40 81 00 24 */ ble lbl_802F9ED0
/* 802F9EB0 002F5B10 7C 03 F8 40 */ cmplw r3, r31
/* 802F9EB4 002F5B14 7F DE 1A 14 */ add r30, r30, r3
/* 802F9EB8 002F5B18 40 80 00 0C */ bge lbl_802F9EC4
/* 802F9EBC 002F5B1C 7F C3 F3 78 */ mr r3, r30
/* 802F9EC0 002F5B20 48 00 00 8C */ b lbl_802F9F4C
lbl_802F9EC4:
/* 802F9EC4 002F5B24 7F 7B 1A 14 */ add r27, r27, r3
/* 802F9EC8 002F5B28 7F 83 E0 50 */ subf r28, r3, r28
/* 802F9ECC 002F5B2C 48 00 00 18 */ b lbl_802F9EE4
lbl_802F9ED0:
/* 802F9ED0 002F5B30 2C 1E 00 00 */ cmpwi r30, 0
/* 802F9ED4 002F5B34 40 81 00 78 */ ble lbl_802F9F4C
/* 802F9ED8 002F5B38 7F C3 F3 78 */ mr r3, r30
/* 802F9EDC 002F5B3C 48 00 00 70 */ b lbl_802F9F4C
/* 802F9EE0 002F5B40 48 00 00 6C */ b lbl_802F9F4C
lbl_802F9EE4:
/* 802F9EE4 002F5B44 2C 1C 00 00 */ cmpwi r28, 0
/* 802F9EE8 002F5B48 40 81 00 60 */ ble lbl_802F9F48
/* 802F9EEC 002F5B4C 57 9F 06 FF */ clrlwi. r31, r28, 0x1b
/* 802F9EF0 002F5B50 41 82 00 58 */ beq lbl_802F9F48
/* 802F9EF4 002F5B54 38 61 00 20 */ addi r3, r1, 0x20
/* 802F9EF8 002F5B58 38 80 00 20 */ li r4, 0x20
/* 802F9EFC 002F5B5C 48 00 01 ED */ bl NHTTPi_memclr
/* 802F9F00 002F5B60 7F 64 DB 78 */ mr r4, r27
/* 802F9F04 002F5B64 7F E5 FB 78 */ mr r5, r31
/* 802F9F08 002F5B68 38 61 00 20 */ addi r3, r1, 0x20
/* 802F9F0C 002F5B6C 48 00 01 D1 */ bl NHTTPi_memcpy
/* 802F9F10 002F5B70 7F 43 D3 78 */ mr r3, r26
/* 802F9F14 002F5B74 7F E5 FB 78 */ mr r5, r31
/* 802F9F18 002F5B78 7F A6 EB 78 */ mr r6, r29
/* 802F9F1C 002F5B7C 38 81 00 20 */ addi r4, r1, 0x20
/* 802F9F20 002F5B80 4B FF C9 89 */ bl SOSend
/* 802F9F24 002F5B84 2C 03 00 00 */ cmpwi r3, 0
/* 802F9F28 002F5B88 40 81 00 0C */ ble lbl_802F9F34
/* 802F9F2C 002F5B8C 7F DE 1A 14 */ add r30, r30, r3
/* 802F9F30 002F5B90 48 00 00 18 */ b lbl_802F9F48
lbl_802F9F34:
/* 802F9F34 002F5B94 2C 1E 00 00 */ cmpwi r30, 0
/* 802F9F38 002F5B98 40 81 00 14 */ ble lbl_802F9F4C
/* 802F9F3C 002F5B9C 7F C3 F3 78 */ mr r3, r30
/* 802F9F40 002F5BA0 48 00 00 0C */ b lbl_802F9F4C
/* 802F9F44 002F5BA4 48 00 00 08 */ b lbl_802F9F4C
lbl_802F9F48:
/* 802F9F48 002F5BA8 7F C3 F3 78 */ mr r3, r30
lbl_802F9F4C:
/* 802F9F4C 002F5BAC 81 41 00 00 */ lwz r10, 0(r1)
/* 802F9F50 002F5BB0 7D 4B 53 78 */ mr r11, r10
/* 802F9F54 002F5BB4 4B EC D2 1D */ bl _restgpr_26
/* 802F9F58 002F5BB8 80 0A 00 04 */ lwz r0, 4(r10)
/* 802F9F5C 002F5BBC 7C 08 03 A6 */ mtlr r0
/* 802F9F60 002F5BC0 7D 41 53 78 */ mr r1, r10
/* 802F9F64 002F5BC4 4E 80 00 20 */ blr
.global NHTTPi_SocSend
NHTTPi_SocSend:
/* 802F9F68 002F5BC8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802F9F6C 002F5BCC 7C 08 02 A6 */ mflr r0
/* 802F9F70 002F5BD0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802F9F74 002F5BD4 80 03 00 AC */ lwz r0, 0xac(r3)
/* 802F9F78 002F5BD8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802F9F7C 002F5BDC 7C 7F 1B 78 */ mr r31, r3
/* 802F9F80 002F5BE0 2C 00 00 00 */ cmpwi r0, 0
/* 802F9F84 002F5BE4 40 81 00 18 */ ble lbl_802F9F9C
/* 802F9F88 002F5BE8 7C A4 2B 78 */ mr r4, r5
/* 802F9F8C 002F5BEC 7C 03 03 78 */ mr r3, r0
/* 802F9F90 002F5BF0 7C C5 33 78 */ mr r5, r6
/* 802F9F94 002F5BF4 48 00 64 F9 */ bl SSLWrite
/* 802F9F98 002F5BF8 48 00 00 18 */ b lbl_802F9FB0
lbl_802F9F9C:
/* 802F9F9C 002F5BFC 7C 83 23 78 */ mr r3, r4
/* 802F9FA0 002F5C00 7C A4 2B 78 */ mr r4, r5
/* 802F9FA4 002F5C04 7C C5 33 78 */ mr r5, r6
/* 802F9FA8 002F5C08 7C E6 3B 78 */ mr r6, r7
/* 802F9FAC 002F5C0C 4B FF FE 25 */ bl NHTTPi_SocSend_sub
lbl_802F9FB0:
/* 802F9FB0 002F5C10 2C 03 00 00 */ cmpwi r3, 0
/* 802F9FB4 002F5C14 40 80 00 4C */ bge lbl_802FA000
/* 802F9FB8 002F5C18 80 1F 00 00 */ lwz r0, 0(r31)
/* 802F9FBC 002F5C1C 2C 00 00 00 */ cmpwi r0, 0
/* 802F9FC0 002F5C20 41 82 00 0C */ beq lbl_802F9FCC
/* 802F9FC4 002F5C24 38 60 FC 16 */ li r3, -1002
/* 802F9FC8 002F5C28 48 00 00 38 */ b lbl_802FA000
lbl_802F9FCC:
/* 802F9FCC 002F5C2C 80 1F 00 AC */ lwz r0, 0xac(r31)
/* 802F9FD0 002F5C30 2C 00 00 00 */ cmpwi r0, 0
/* 802F9FD4 002F5C34 40 81 00 18 */ ble lbl_802F9FEC
/* 802F9FD8 002F5C38 38 03 00 07 */ addi r0, r3, 7
/* 802F9FDC 002F5C3C 28 00 00 01 */ cmplwi r0, 1
/* 802F9FE0 002F5C40 41 81 00 1C */ bgt lbl_802F9FFC
/* 802F9FE4 002F5C44 38 60 00 00 */ li r3, 0
/* 802F9FE8 002F5C48 48 00 00 18 */ b lbl_802FA000
lbl_802F9FEC:
/* 802F9FEC 002F5C4C 2C 03 FF C8 */ cmpwi r3, -56
/* 802F9FF0 002F5C50 40 82 00 0C */ bne lbl_802F9FFC
/* 802F9FF4 002F5C54 38 60 00 00 */ li r3, 0
/* 802F9FF8 002F5C58 48 00 00 08 */ b lbl_802FA000
lbl_802F9FFC:
/* 802F9FFC 002F5C5C 38 60 FC 17 */ li r3, -1001
lbl_802FA000:
/* 802FA000 002F5C60 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802FA004 002F5C64 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802FA008 002F5C68 7C 08 03 A6 */ mtlr r0
/* 802FA00C 002F5C6C 38 21 00 10 */ addi r1, r1, 0x10
/* 802FA010 002F5C70 4E 80 00 20 */ blr
.global NHTTPi_SocCancel
NHTTPi_SocCancel:
/* 802FA014 002F5C74 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802FA018 002F5C78 7C 08 02 A6 */ mflr r0
/* 802FA01C 002F5C7C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802FA020 002F5C80 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802FA024 002F5C84 7C BF 2B 78 */ mr r31, r5
/* 802FA028 002F5C88 93 C1 00 08 */ stw r30, 8(r1)
/* 802FA02C 002F5C8C 7C 7E 1B 78 */ mr r30, r3
/* 802FA030 002F5C90 4B FF E4 15 */ bl NHTTPi_lockReqList
/* 802FA034 002F5C94 2C 1F 00 00 */ cmpwi r31, 0
/* 802FA038 002F5C98 41 80 00 10 */ blt lbl_802FA048
/* 802FA03C 002F5C9C 7F E3 FB 78 */ mr r3, r31
/* 802FA040 002F5CA0 38 80 00 02 */ li r4, 2
/* 802FA044 002F5CA4 4B FF C9 B9 */ bl SOShutdown
lbl_802FA048:
/* 802FA048 002F5CA8 7F C3 F3 78 */ mr r3, r30
/* 802FA04C 002F5CAC 4B FF E3 FD */ bl NHTTPi_unlockReqList
/* 802FA050 002F5CB0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802FA054 002F5CB4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802FA058 002F5CB8 83 C1 00 08 */ lwz r30, 8(r1)
/* 802FA05C 002F5CBC 7C 08 03 A6 */ mtlr r0
/* 802FA060 002F5CC0 38 21 00 10 */ addi r1, r1, 0x10
/* 802FA064 002F5CC4 4E 80 00 20 */ blr
.global NHTTPi_resolveHostname
NHTTPi_resolveHostname:
/* 802FA068 002F5CC8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802FA06C 002F5CCC 7C 08 02 A6 */ mflr r0
/* 802FA070 002F5CD0 7C 83 23 78 */ mr r3, r4
/* 802FA074 002F5CD4 38 80 00 00 */ li r4, 0
/* 802FA078 002F5CD8 90 01 00 24 */ stw r0, 0x24(r1)
/* 802FA07C 002F5CDC 38 C1 00 08 */ addi r6, r1, 8
/* 802FA080 002F5CE0 38 A0 00 00 */ li r5, 0
/* 802FA084 002F5CE4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802FA088 002F5CE8 3B E0 00 00 */ li r31, 0
/* 802FA08C 002F5CEC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802FA090 002F5CF0 4B FF D3 79 */ bl SOGetAddrInfo
/* 802FA094 002F5CF4 2C 03 00 00 */ cmpwi r3, 0
/* 802FA098 002F5CF8 40 82 00 28 */ bne lbl_802FA0C0
/* 802FA09C 002F5CFC 80 81 00 08 */ lwz r4, 8(r1)
/* 802FA0A0 002F5D00 38 61 00 0C */ addi r3, r1, 0xc
/* 802FA0A4 002F5D04 38 A0 00 04 */ li r5, 4
/* 802FA0A8 002F5D08 80 84 00 18 */ lwz r4, 0x18(r4)
/* 802FA0AC 002F5D0C 38 84 00 04 */ addi r4, r4, 4
/* 802FA0B0 002F5D10 48 00 00 2D */ bl NHTTPi_memcpy
/* 802FA0B4 002F5D14 80 61 00 08 */ lwz r3, 8(r1)
/* 802FA0B8 002F5D18 4B FF D6 35 */ bl SOFreeAddrInfo
/* 802FA0BC 002F5D1C 48 00 00 08 */ b lbl_802FA0C4
lbl_802FA0C0:
/* 802FA0C0 002F5D20 93 E1 00 0C */ stw r31, 0xc(r1)
lbl_802FA0C4:
/* 802FA0C4 002F5D24 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802FA0C8 002F5D28 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802FA0CC 002F5D2C 80 61 00 0C */ lwz r3, 0xc(r1)
/* 802FA0D0 002F5D30 7C 08 03 A6 */ mtlr r0
/* 802FA0D4 002F5D34 38 21 00 20 */ addi r1, r1, 0x20
/* 802FA0D8 002F5D38 4E 80 00 20 */ blr
|