summaryrefslogtreecommitdiff
path: root/asm/SDK/NHTTP/d_nhttp_common.s
blob: f945d0baa66a1bb67e20db50ca641c49642204bc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
.include "macros.inc"

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

.global NHTTPi_ControlConnectionList
NHTTPi_ControlConnectionList:
/* 802FF858 002FB4B8  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 802FF85C 002FB4BC  7C 08 02 A6 */	mflr r0
/* 802FF860 002FB4C0  90 01 00 24 */	stw r0, 0x24(r1)
/* 802FF864 002FB4C4  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 802FF868 002FB4C8  3B E0 00 00 */	li r31, 0
/* 802FF86C 002FB4CC  93 C1 00 18 */	stw r30, 0x18(r1)
/* 802FF870 002FB4D0  7C BE 2B 78 */	mr r30, r5
/* 802FF874 002FB4D4  93 A1 00 14 */	stw r29, 0x14(r1)
/* 802FF878 002FB4D8  7C 9D 23 78 */	mr r29, r4
/* 802FF87C 002FB4DC  93 81 00 10 */	stw r28, 0x10(r1)
/* 802FF880 002FB4E0  7C 7C 1B 78 */	mr r28, r3
/* 802FF884 002FB4E4  4B FF 8B C1 */	bl NHTTPi_lockReqList
/* 802FF888 002FB4E8  28 1E 00 03 */	cmplwi r30, 3
/* 802FF88C 002FB4EC  40 82 00 18 */	bne lbl_802FF8A4
/* 802FF890 002FB4F0  80 0D AF 68 */	lwz r0, lbl_80640228-_SDA_BASE_(r13)
/* 802FF894 002FB4F4  7F BF EB 78 */	mr r31, r29
/* 802FF898 002FB4F8  90 1D 00 3C */	stw r0, 0x3c(r29)
/* 802FF89C 002FB4FC  93 AD AF 68 */	stw r29, lbl_80640228-_SDA_BASE_(r13)
/* 802FF8A0 002FB500  48 00 00 9C */	b lbl_802FF93C
lbl_802FF8A4:
/* 802FF8A4 002FB504  38 8D AF 68 */	addi r4, r13, lbl_80640228-_SDA_BASE_
/* 802FF8A8 002FB508  48 00 00 88 */	b lbl_802FF930
lbl_802FF8AC:
/* 802FF8AC 002FB50C  2C 1E 00 02 */	cmpwi r30, 2
/* 802FF8B0 002FB510  41 82 00 48 */	beq lbl_802FF8F8
/* 802FF8B4 002FB514  40 80 00 14 */	bge lbl_802FF8C8
/* 802FF8B8 002FB518  2C 1E 00 00 */	cmpwi r30, 0
/* 802FF8BC 002FB51C  41 82 00 18 */	beq lbl_802FF8D4
/* 802FF8C0 002FB520  40 80 00 24 */	bge lbl_802FF8E4
/* 802FF8C4 002FB524  48 00 00 5C */	b lbl_802FF920
lbl_802FF8C8:
/* 802FF8C8 002FB528  2C 1E 00 04 */	cmpwi r30, 4
/* 802FF8CC 002FB52C  41 82 00 40 */	beq lbl_802FF90C
/* 802FF8D0 002FB530  48 00 00 50 */	b lbl_802FF920
lbl_802FF8D4:
/* 802FF8D4 002FB534  7C 03 E8 40 */	cmplw r3, r29
/* 802FF8D8 002FB538  40 82 00 48 */	bne lbl_802FF920
/* 802FF8DC 002FB53C  7C 7F 1B 78 */	mr r31, r3
/* 802FF8E0 002FB540  48 00 00 40 */	b lbl_802FF920
lbl_802FF8E4:
/* 802FF8E4 002FB544  80 03 00 2C */	lwz r0, 0x2c(r3)
/* 802FF8E8 002FB548  7C 00 E8 40 */	cmplw r0, r29
/* 802FF8EC 002FB54C  40 82 00 34 */	bne lbl_802FF920
/* 802FF8F0 002FB550  7C 7F 1B 78 */	mr r31, r3
/* 802FF8F4 002FB554  48 00 00 2C */	b lbl_802FF920
lbl_802FF8F8:
/* 802FF8F8 002FB558  80 03 00 30 */	lwz r0, 0x30(r3)
/* 802FF8FC 002FB55C  7C 00 E8 40 */	cmplw r0, r29
/* 802FF900 002FB560  40 82 00 20 */	bne lbl_802FF920
/* 802FF904 002FB564  7C 7F 1B 78 */	mr r31, r3
/* 802FF908 002FB568  48 00 00 18 */	b lbl_802FF920
lbl_802FF90C:
/* 802FF90C 002FB56C  7C 03 E8 40 */	cmplw r3, r29
/* 802FF910 002FB570  40 82 00 10 */	bne lbl_802FF920
/* 802FF914 002FB574  80 03 00 3C */	lwz r0, 0x3c(r3)
/* 802FF918 002FB578  7C 7F 1B 78 */	mr r31, r3
/* 802FF91C 002FB57C  90 04 00 00 */	stw r0, 0(r4)
lbl_802FF920:
/* 802FF920 002FB580  2C 1F 00 00 */	cmpwi r31, 0
/* 802FF924 002FB584  40 82 00 18 */	bne lbl_802FF93C
/* 802FF928 002FB588  80 64 00 00 */	lwz r3, 0(r4)
/* 802FF92C 002FB58C  38 83 00 3C */	addi r4, r3, 0x3c
lbl_802FF930:
/* 802FF930 002FB590  80 64 00 00 */	lwz r3, 0(r4)
/* 802FF934 002FB594  2C 03 00 00 */	cmpwi r3, 0
/* 802FF938 002FB598  40 82 FF 74 */	bne lbl_802FF8AC
lbl_802FF93C:
/* 802FF93C 002FB59C  7F 83 E3 78 */	mr r3, r28
/* 802FF940 002FB5A0  4B FF 8B 09 */	bl NHTTPi_unlockReqList
/* 802FF944 002FB5A4  7F E3 FB 78 */	mr r3, r31
/* 802FF948 002FB5A8  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 802FF94C 002FB5AC  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 802FF950 002FB5B0  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 802FF954 002FB5B4  83 81 00 10 */	lwz r28, 0x10(r1)
/* 802FF958 002FB5B8  80 01 00 24 */	lwz r0, 0x24(r1)
/* 802FF95C 002FB5BC  7C 08 03 A6 */	mtlr r0
/* 802FF960 002FB5C0  38 21 00 20 */	addi r1, r1, 0x20
/* 802FF964 002FB5C4  4E 80 00 20 */	blr

.global NHTTPi_CommitConnectionList
NHTTPi_CommitConnectionList:
/* 802FF968 002FB5C8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802FF96C 002FB5CC  7C 08 02 A6 */	mflr r0
/* 802FF970 002FB5D0  38 A0 00 03 */	li r5, 3
/* 802FF974 002FB5D4  90 01 00 14 */	stw r0, 0x14(r1)
/* 802FF978 002FB5D8  4B FF FE E1 */	bl NHTTPi_ControlConnectionList
/* 802FF97C 002FB5DC  7C 03 00 D0 */	neg r0, r3
/* 802FF980 002FB5E0  7C 60 00 F8 */	nor r0, r3, r0
/* 802FF984 002FB5E4  7C 03 FE 70 */	srawi r3, r0, 0x1f
/* 802FF988 002FB5E8  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802FF98C 002FB5EC  7C 08 03 A6 */	mtlr r0
/* 802FF990 002FB5F0  38 21 00 10 */	addi r1, r1, 0x10
/* 802FF994 002FB5F4  4E 80 00 20 */	blr

.global NHTTPi_OmitConnectionList
NHTTPi_OmitConnectionList:
/* 802FF998 002FB5F8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802FF99C 002FB5FC  7C 08 02 A6 */	mflr r0
/* 802FF9A0 002FB600  38 A0 00 04 */	li r5, 4
/* 802FF9A4 002FB604  90 01 00 14 */	stw r0, 0x14(r1)
/* 802FF9A8 002FB608  4B FF FE B1 */	bl NHTTPi_ControlConnectionList
/* 802FF9AC 002FB60C  7C 03 00 D0 */	neg r0, r3
/* 802FF9B0 002FB610  7C 60 00 F8 */	nor r0, r3, r0
/* 802FF9B4 002FB614  7C 03 FE 70 */	srawi r3, r0, 0x1f
/* 802FF9B8 002FB618  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802FF9BC 002FB61C  7C 08 03 A6 */	mtlr r0
/* 802FF9C0 002FB620  38 21 00 10 */	addi r1, r1, 0x10
/* 802FF9C4 002FB624  4E 80 00 20 */	blr

.global NHTTPi_Connection2Request
NHTTPi_Connection2Request:
/* 802FF9C8 002FB628  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802FF9CC 002FB62C  7C 08 02 A6 */	mflr r0
/* 802FF9D0 002FB630  38 A0 00 00 */	li r5, 0
/* 802FF9D4 002FB634  90 01 00 14 */	stw r0, 0x14(r1)
/* 802FF9D8 002FB638  4B FF FE 81 */	bl NHTTPi_ControlConnectionList
/* 802FF9DC 002FB63C  2C 03 00 00 */	cmpwi r3, 0
/* 802FF9E0 002FB640  41 82 00 0C */	beq lbl_802FF9EC
/* 802FF9E4 002FB644  80 63 00 2C */	lwz r3, 0x2c(r3)
/* 802FF9E8 002FB648  48 00 00 08 */	b lbl_802FF9F0
lbl_802FF9EC:
/* 802FF9EC 002FB64C  38 60 00 00 */	li r3, 0
lbl_802FF9F0:
/* 802FF9F0 002FB650  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802FF9F4 002FB654  7C 08 03 A6 */	mtlr r0
/* 802FF9F8 002FB658  38 21 00 10 */	addi r1, r1, 0x10
/* 802FF9FC 002FB65C  4E 80 00 20 */	blr

.global NHTTPi_Connection2Response
NHTTPi_Connection2Response:
/* 802FFA00 002FB660  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802FFA04 002FB664  7C 08 02 A6 */	mflr r0
/* 802FFA08 002FB668  38 A0 00 00 */	li r5, 0
/* 802FFA0C 002FB66C  90 01 00 14 */	stw r0, 0x14(r1)
/* 802FFA10 002FB670  4B FF FE 49 */	bl NHTTPi_ControlConnectionList
/* 802FFA14 002FB674  2C 03 00 00 */	cmpwi r3, 0
/* 802FFA18 002FB678  41 82 00 0C */	beq lbl_802FFA24
/* 802FFA1C 002FB67C  80 63 00 30 */	lwz r3, 0x30(r3)
/* 802FFA20 002FB680  48 00 00 08 */	b lbl_802FFA28
lbl_802FFA24:
/* 802FFA24 002FB684  38 60 00 00 */	li r3, 0
lbl_802FFA28:
/* 802FFA28 002FB688  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802FFA2C 002FB68C  7C 08 03 A6 */	mtlr r0
/* 802FFA30 002FB690  38 21 00 10 */	addi r1, r1, 0x10
/* 802FFA34 002FB694  4E 80 00 20 */	blr

.global NHTTPi_Request2Connection
NHTTPi_Request2Connection:
/* 802FFA38 002FB698  38 A0 00 01 */	li r5, 1
/* 802FFA3C 002FB69C  4B FF FE 1C */	b NHTTPi_ControlConnectionList

.global NHTTPi_Response2Connection
NHTTPi_Response2Connection:
/* 802FFA40 002FB6A0  38 A0 00 02 */	li r5, 2
/* 802FFA44 002FB6A4  4B FF FE 14 */	b NHTTPi_ControlConnectionList

.global NHTTPi_GetConnection
NHTTPi_GetConnection:
/* 802FFA48 002FB6A8  38 A0 00 00 */	li r5, 0
/* 802FFA4C 002FB6AC  4B FF FE 0C */	b NHTTPi_ControlConnectionList

.global NHTTPi_GetRequest
NHTTPi_GetRequest:
/* 802FFA50 002FB6B0  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802FFA54 002FB6B4  7C 08 02 A6 */	mflr r0
/* 802FFA58 002FB6B8  38 A0 00 00 */	li r5, 0
/* 802FFA5C 002FB6BC  90 01 00 14 */	stw r0, 0x14(r1)
/* 802FFA60 002FB6C0  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802FFA64 002FB6C4  7C 9F 23 78 */	mr r31, r4
/* 802FFA68 002FB6C8  4B FF FD F1 */	bl NHTTPi_ControlConnectionList
/* 802FFA6C 002FB6CC  2C 03 00 00 */	cmpwi r3, 0
/* 802FFA70 002FB6D0  41 82 00 0C */	beq lbl_802FFA7C
/* 802FFA74 002FB6D4  80 63 00 2C */	lwz r3, 0x2c(r3)
/* 802FFA78 002FB6D8  48 00 00 08 */	b lbl_802FFA80
lbl_802FFA7C:
/* 802FFA7C 002FB6DC  7F E3 FB 78 */	mr r3, r31
lbl_802FFA80:
/* 802FFA80 002FB6E0  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802FFA84 002FB6E4  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802FFA88 002FB6E8  7C 08 03 A6 */	mtlr r0
/* 802FFA8C 002FB6EC  38 21 00 10 */	addi r1, r1, 0x10
/* 802FFA90 002FB6F0  4E 80 00 20 */	blr

.global NHTTPi_GetResponse
NHTTPi_GetResponse:
/* 802FFA94 002FB6F4  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802FFA98 002FB6F8  7C 08 02 A6 */	mflr r0
/* 802FFA9C 002FB6FC  38 A0 00 00 */	li r5, 0
/* 802FFAA0 002FB700  90 01 00 14 */	stw r0, 0x14(r1)
/* 802FFAA4 002FB704  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802FFAA8 002FB708  7C 9F 23 78 */	mr r31, r4
/* 802FFAAC 002FB70C  4B FF FD AD */	bl NHTTPi_ControlConnectionList
/* 802FFAB0 002FB710  2C 03 00 00 */	cmpwi r3, 0
/* 802FFAB4 002FB714  41 82 00 0C */	beq lbl_802FFAC0
/* 802FFAB8 002FB718  80 63 00 30 */	lwz r3, 0x30(r3)
/* 802FFABC 002FB71C  48 00 00 08 */	b lbl_802FFAC4
lbl_802FFAC0:
/* 802FFAC0 002FB720  7F E3 FB 78 */	mr r3, r31
lbl_802FFAC4:
/* 802FFAC4 002FB724  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802FFAC8 002FB728  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802FFACC 002FB72C  7C 08 03 A6 */	mtlr r0
/* 802FFAD0 002FB730  38 21 00 10 */	addi r1, r1, 0x10
/* 802FFAD4 002FB734  4E 80 00 20 */	blr

.global NHTTPi_GetConnectionListLength
NHTTPi_GetConnectionListLength:
/* 802FFAD8 002FB738  80 8D AF 68 */	lwz r4, lbl_80640228-_SDA_BASE_(r13)
/* 802FFADC 002FB73C  38 60 00 00 */	li r3, 0
/* 802FFAE0 002FB740  48 00 00 0C */	b lbl_802FFAEC
lbl_802FFAE4:
/* 802FFAE4 002FB744  80 84 00 3C */	lwz r4, 0x3c(r4)
/* 802FFAE8 002FB748  38 63 00 01 */	addi r3, r3, 1
lbl_802FFAEC:
/* 802FFAEC 002FB74C  2C 04 00 00 */	cmpwi r4, 0
/* 802FFAF0 002FB750  40 82 FF F4 */	bne lbl_802FFAE4
/* 802FFAF4 002FB754  4E 80 00 20 */	blr

.global NHTTPi_PostSendCallback
NHTTPi_PostSendCallback:
/* 802FFAF8 002FB758  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802FFAFC 002FB75C  7C 08 02 A6 */	mflr r0
/* 802FFB00 002FB760  90 01 00 34 */	stw r0, 0x34(r1)
/* 802FFB04 002FB764  39 61 00 30 */	addi r11, r1, 0x30
/* 802FFB08 002FB768  4B EC 76 21 */	bl _savegpr_27
/* 802FFB0C 002FB76C  7C BF 2B 78 */	mr r31, r5
/* 802FFB10 002FB770  7C 7B 1B 78 */	mr r27, r3
/* 802FFB14 002FB774  7C 9C 23 78 */	mr r28, r4
/* 802FFB18 002FB778  7C DE 33 78 */	mr r30, r6
/* 802FFB1C 002FB77C  3B A0 FF FF */	li r29, -1
/* 802FFB20 002FB780  38 A0 00 00 */	li r5, 0
/* 802FFB24 002FB784  4B FF FD 35 */	bl NHTTPi_ControlConnectionList
/* 802FFB28 002FB788  2C 03 00 00 */	cmpwi r3, 0
/* 802FFB2C 002FB78C  41 82 00 98 */	beq lbl_802FFBC4
/* 802FFB30 002FB790  7F 63 DB 78 */	mr r3, r27
/* 802FFB34 002FB794  7F 84 E3 78 */	mr r4, r28
/* 802FFB38 002FB798  38 A0 00 00 */	li r5, 0
/* 802FFB3C 002FB79C  4B FF FD 1D */	bl NHTTPi_ControlConnectionList
/* 802FFB40 002FB7A0  2C 03 00 00 */	cmpwi r3, 0
/* 802FFB44 002FB7A4  41 82 00 0C */	beq lbl_802FFB50
/* 802FFB48 002FB7A8  80 03 00 30 */	lwz r0, 0x30(r3)
/* 802FFB4C 002FB7AC  48 00 00 08 */	b lbl_802FFB54
lbl_802FFB50:
/* 802FFB50 002FB7B0  38 00 00 00 */	li r0, 0
lbl_802FFB54:
/* 802FFB54 002FB7B4  2C 00 00 00 */	cmpwi r0, 0
/* 802FFB58 002FB7B8  41 82 00 6C */	beq lbl_802FFBC4
/* 802FFB5C 002FB7BC  80 1C 00 38 */	lwz r0, 0x38(r28)
/* 802FFB60 002FB7C0  2C 00 00 00 */	cmpwi r0, 0
/* 802FFB64 002FB7C4  41 82 00 60 */	beq lbl_802FFBC4
/* 802FFB68 002FB7C8  93 E1 00 08 */	stw r31, 8(r1)
/* 802FFB6C 002FB7CC  7F 83 E3 78 */	mr r3, r28
/* 802FFB70 002FB7D0  38 A1 00 08 */	addi r5, r1, 8
/* 802FFB74 002FB7D4  38 80 00 01 */	li r4, 1
/* 802FFB78 002FB7D8  80 1C 00 40 */	lwz r0, 0x40(r28)
/* 802FFB7C 002FB7DC  90 01 00 0C */	stw r0, 0xc(r1)
/* 802FFB80 002FB7E0  80 1C 00 44 */	lwz r0, 0x44(r28)
/* 802FFB84 002FB7E4  90 01 00 10 */	stw r0, 0x10(r1)
/* 802FFB88 002FB7E8  93 C1 00 14 */	stw r30, 0x14(r1)
/* 802FFB8C 002FB7EC  81 9C 00 38 */	lwz r12, 0x38(r28)
/* 802FFB90 002FB7F0  7D 89 03 A6 */	mtctr r12
/* 802FFB94 002FB7F4  4E 80 04 21 */	bctrl
/* 802FFB98 002FB7F8  83 C1 00 10 */	lwz r30, 0x10(r1)
/* 802FFB9C 002FB7FC  7C 7D 1B 78 */	mr r29, r3
/* 802FFBA0 002FB800  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802FFBA4 002FB804  7F 63 DB 78 */	mr r3, r27
/* 802FFBA8 002FB808  7F 84 E3 78 */	mr r4, r28
/* 802FFBAC 002FB80C  38 A0 00 00 */	li r5, 0
/* 802FFBB0 002FB810  4B FF FC A9 */	bl NHTTPi_ControlConnectionList
/* 802FFBB4 002FB814  2C 03 00 00 */	cmpwi r3, 0
/* 802FFBB8 002FB818  41 82 00 0C */	beq lbl_802FFBC4
/* 802FFBBC 002FB81C  93 E3 00 40 */	stw r31, 0x40(r3)
/* 802FFBC0 002FB820  93 C3 00 44 */	stw r30, 0x44(r3)
lbl_802FFBC4:
/* 802FFBC4 002FB824  39 61 00 30 */	addi r11, r1, 0x30
/* 802FFBC8 002FB828  7F A3 EB 78 */	mr r3, r29
/* 802FFBCC 002FB82C  4B EC 75 A9 */	bl _restgpr_27
/* 802FFBD0 002FB830  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802FFBD4 002FB834  7C 08 03 A6 */	mtlr r0
/* 802FFBD8 002FB838  38 21 00 30 */	addi r1, r1, 0x30
/* 802FFBDC 002FB83C  4E 80 00 20 */	blr

.global NHTTPi_BufferFullCallback
NHTTPi_BufferFullCallback:
/* 802FFBE0 002FB840  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802FFBE4 002FB844  7C 08 02 A6 */	mflr r0
/* 802FFBE8 002FB848  38 A0 00 00 */	li r5, 0
/* 802FFBEC 002FB84C  90 01 00 34 */	stw r0, 0x34(r1)
/* 802FFBF0 002FB850  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 802FFBF4 002FB854  7C 9F 23 78 */	mr r31, r4
/* 802FFBF8 002FB858  93 C1 00 28 */	stw r30, 0x28(r1)
/* 802FFBFC 002FB85C  93 A1 00 24 */	stw r29, 0x24(r1)
/* 802FFC00 002FB860  93 81 00 20 */	stw r28, 0x20(r1)
/* 802FFC04 002FB864  7C 7C 1B 78 */	mr r28, r3
/* 802FFC08 002FB868  4B FF FC 51 */	bl NHTTPi_ControlConnectionList
/* 802FFC0C 002FB86C  2C 03 00 00 */	cmpwi r3, 0
/* 802FFC10 002FB870  41 82 00 C8 */	beq lbl_802FFCD8
/* 802FFC14 002FB874  7F 83 E3 78 */	mr r3, r28
/* 802FFC18 002FB878  7F E4 FB 78 */	mr r4, r31
/* 802FFC1C 002FB87C  38 A0 00 00 */	li r5, 0
/* 802FFC20 002FB880  4B FF FC 39 */	bl NHTTPi_ControlConnectionList
/* 802FFC24 002FB884  2C 03 00 00 */	cmpwi r3, 0
/* 802FFC28 002FB888  41 82 00 0C */	beq lbl_802FFC34
/* 802FFC2C 002FB88C  80 C3 00 30 */	lwz r6, 0x30(r3)
/* 802FFC30 002FB890  48 00 00 08 */	b lbl_802FFC38
lbl_802FFC34:
/* 802FFC34 002FB894  38 C0 00 00 */	li r6, 0
lbl_802FFC38:
/* 802FFC38 002FB898  2C 06 00 00 */	cmpwi r6, 0
/* 802FFC3C 002FB89C  41 82 00 9C */	beq lbl_802FFCD8
/* 802FFC40 002FB8A0  80 1F 00 38 */	lwz r0, 0x38(r31)
/* 802FFC44 002FB8A4  2C 00 00 00 */	cmpwi r0, 0
/* 802FFC48 002FB8A8  41 82 00 90 */	beq lbl_802FFCD8
/* 802FFC4C 002FB8AC  80 06 00 28 */	lwz r0, 0x28(r6)
/* 802FFC50 002FB8B0  7F E3 FB 78 */	mr r3, r31
/* 802FFC54 002FB8B4  38 A1 00 08 */	addi r5, r1, 8
/* 802FFC58 002FB8B8  38 80 00 02 */	li r4, 2
/* 802FFC5C 002FB8BC  90 01 00 08 */	stw r0, 8(r1)
/* 802FFC60 002FB8C0  80 06 00 1C */	lwz r0, 0x1c(r6)
/* 802FFC64 002FB8C4  90 01 00 0C */	stw r0, 0xc(r1)
/* 802FFC68 002FB8C8  80 06 00 04 */	lwz r0, 4(r6)
/* 802FFC6C 002FB8CC  90 01 00 10 */	stw r0, 0x10(r1)
/* 802FFC70 002FB8D0  81 9F 00 38 */	lwz r12, 0x38(r31)
/* 802FFC74 002FB8D4  7D 89 03 A6 */	mtctr r12
/* 802FFC78 002FB8D8  4E 80 04 21 */	bctrl
/* 802FFC7C 002FB8DC  7F E4 FB 78 */	mr r4, r31
/* 802FFC80 002FB8E0  83 A1 00 10 */	lwz r29, 0x10(r1)
/* 802FFC84 002FB8E4  83 C1 00 0C */	lwz r30, 0xc(r1)
/* 802FFC88 002FB8E8  7F 83 E3 78 */	mr r3, r28
/* 802FFC8C 002FB8EC  83 E1 00 08 */	lwz r31, 8(r1)
/* 802FFC90 002FB8F0  38 A0 00 00 */	li r5, 0
/* 802FFC94 002FB8F4  4B FF FB C5 */	bl NHTTPi_ControlConnectionList
/* 802FFC98 002FB8F8  2C 03 00 00 */	cmpwi r3, 0
/* 802FFC9C 002FB8FC  7C 64 1B 78 */	mr r4, r3
/* 802FFCA0 002FB900  41 82 00 38 */	beq lbl_802FFCD8
/* 802FFCA4 002FB904  7F 83 E3 78 */	mr r3, r28
/* 802FFCA8 002FB908  38 A0 00 00 */	li r5, 0
/* 802FFCAC 002FB90C  4B FF FB AD */	bl NHTTPi_ControlConnectionList
/* 802FFCB0 002FB910  2C 03 00 00 */	cmpwi r3, 0
/* 802FFCB4 002FB914  41 82 00 0C */	beq lbl_802FFCC0
/* 802FFCB8 002FB918  80 63 00 30 */	lwz r3, 0x30(r3)
/* 802FFCBC 002FB91C  48 00 00 08 */	b lbl_802FFCC4
lbl_802FFCC0:
/* 802FFCC0 002FB920  38 60 00 00 */	li r3, 0
lbl_802FFCC4:
/* 802FFCC4 002FB924  2C 03 00 00 */	cmpwi r3, 0
/* 802FFCC8 002FB928  41 82 00 10 */	beq lbl_802FFCD8
/* 802FFCCC 002FB92C  93 E3 00 28 */	stw r31, 0x28(r3)
/* 802FFCD0 002FB930  93 C3 00 1C */	stw r30, 0x1c(r3)
/* 802FFCD4 002FB934  93 A3 00 04 */	stw r29, 4(r3)
lbl_802FFCD8:
/* 802FFCD8 002FB938  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802FFCDC 002FB93C  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 802FFCE0 002FB940  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 802FFCE4 002FB944  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 802FFCE8 002FB948  83 81 00 20 */	lwz r28, 0x20(r1)
/* 802FFCEC 002FB94C  7C 08 03 A6 */	mtlr r0
/* 802FFCF0 002FB950  38 21 00 30 */	addi r1, r1, 0x30
/* 802FFCF4 002FB954  4E 80 00 20 */	blr

.global NHTTPi_ReceivedCallback
NHTTPi_ReceivedCallback:
/* 802FFCF8 002FB958  94 21 FF D0 */	stwu r1, -0x30(r1)
/* 802FFCFC 002FB95C  7C 08 02 A6 */	mflr r0
/* 802FFD00 002FB960  38 A0 00 00 */	li r5, 0
/* 802FFD04 002FB964  90 01 00 34 */	stw r0, 0x34(r1)
/* 802FFD08 002FB968  93 E1 00 2C */	stw r31, 0x2c(r1)
/* 802FFD0C 002FB96C  7C 9F 23 78 */	mr r31, r4
/* 802FFD10 002FB970  93 C1 00 28 */	stw r30, 0x28(r1)
/* 802FFD14 002FB974  93 A1 00 24 */	stw r29, 0x24(r1)
/* 802FFD18 002FB978  93 81 00 20 */	stw r28, 0x20(r1)
/* 802FFD1C 002FB97C  7C 7C 1B 78 */	mr r28, r3
/* 802FFD20 002FB980  4B FF FB 39 */	bl NHTTPi_ControlConnectionList
/* 802FFD24 002FB984  2C 03 00 00 */	cmpwi r3, 0
/* 802FFD28 002FB988  41 82 00 C8 */	beq lbl_802FFDF0
/* 802FFD2C 002FB98C  7F 83 E3 78 */	mr r3, r28
/* 802FFD30 002FB990  7F E4 FB 78 */	mr r4, r31
/* 802FFD34 002FB994  38 A0 00 00 */	li r5, 0
/* 802FFD38 002FB998  4B FF FB 21 */	bl NHTTPi_ControlConnectionList
/* 802FFD3C 002FB99C  2C 03 00 00 */	cmpwi r3, 0
/* 802FFD40 002FB9A0  41 82 00 0C */	beq lbl_802FFD4C
/* 802FFD44 002FB9A4  80 C3 00 30 */	lwz r6, 0x30(r3)
/* 802FFD48 002FB9A8  48 00 00 08 */	b lbl_802FFD50
lbl_802FFD4C:
/* 802FFD4C 002FB9AC  38 C0 00 00 */	li r6, 0
lbl_802FFD50:
/* 802FFD50 002FB9B0  2C 06 00 00 */	cmpwi r6, 0
/* 802FFD54 002FB9B4  41 82 00 9C */	beq lbl_802FFDF0
/* 802FFD58 002FB9B8  80 1F 00 38 */	lwz r0, 0x38(r31)
/* 802FFD5C 002FB9BC  2C 00 00 00 */	cmpwi r0, 0
/* 802FFD60 002FB9C0  41 82 00 90 */	beq lbl_802FFDF0
/* 802FFD64 002FB9C4  80 06 00 28 */	lwz r0, 0x28(r6)
/* 802FFD68 002FB9C8  7F E3 FB 78 */	mr r3, r31
/* 802FFD6C 002FB9CC  38 A1 00 08 */	addi r5, r1, 8
/* 802FFD70 002FB9D0  38 80 00 03 */	li r4, 3
/* 802FFD74 002FB9D4  90 01 00 08 */	stw r0, 8(r1)
/* 802FFD78 002FB9D8  80 06 00 1C */	lwz r0, 0x1c(r6)
/* 802FFD7C 002FB9DC  90 01 00 0C */	stw r0, 0xc(r1)
/* 802FFD80 002FB9E0  80 06 00 04 */	lwz r0, 4(r6)
/* 802FFD84 002FB9E4  90 01 00 10 */	stw r0, 0x10(r1)
/* 802FFD88 002FB9E8  81 9F 00 38 */	lwz r12, 0x38(r31)
/* 802FFD8C 002FB9EC  7D 89 03 A6 */	mtctr r12
/* 802FFD90 002FB9F0  4E 80 04 21 */	bctrl
/* 802FFD94 002FB9F4  7F E4 FB 78 */	mr r4, r31
/* 802FFD98 002FB9F8  83 A1 00 10 */	lwz r29, 0x10(r1)
/* 802FFD9C 002FB9FC  83 C1 00 0C */	lwz r30, 0xc(r1)
/* 802FFDA0 002FBA00  7F 83 E3 78 */	mr r3, r28
/* 802FFDA4 002FBA04  83 E1 00 08 */	lwz r31, 8(r1)
/* 802FFDA8 002FBA08  38 A0 00 00 */	li r5, 0
/* 802FFDAC 002FBA0C  4B FF FA AD */	bl NHTTPi_ControlConnectionList
/* 802FFDB0 002FBA10  2C 03 00 00 */	cmpwi r3, 0
/* 802FFDB4 002FBA14  7C 64 1B 78 */	mr r4, r3
/* 802FFDB8 002FBA18  41 82 00 38 */	beq lbl_802FFDF0
/* 802FFDBC 002FBA1C  7F 83 E3 78 */	mr r3, r28
/* 802FFDC0 002FBA20  38 A0 00 00 */	li r5, 0
/* 802FFDC4 002FBA24  4B FF FA 95 */	bl NHTTPi_ControlConnectionList
/* 802FFDC8 002FBA28  2C 03 00 00 */	cmpwi r3, 0
/* 802FFDCC 002FBA2C  41 82 00 0C */	beq lbl_802FFDD8
/* 802FFDD0 002FBA30  80 63 00 30 */	lwz r3, 0x30(r3)
/* 802FFDD4 002FBA34  48 00 00 08 */	b lbl_802FFDDC
lbl_802FFDD8:
/* 802FFDD8 002FBA38  38 60 00 00 */	li r3, 0
lbl_802FFDDC:
/* 802FFDDC 002FBA3C  2C 03 00 00 */	cmpwi r3, 0
/* 802FFDE0 002FBA40  41 82 00 10 */	beq lbl_802FFDF0
/* 802FFDE4 002FBA44  93 E3 00 28 */	stw r31, 0x28(r3)
/* 802FFDE8 002FBA48  93 C3 00 1C */	stw r30, 0x1c(r3)
/* 802FFDEC 002FBA4C  93 A3 00 04 */	stw r29, 4(r3)
lbl_802FFDF0:
/* 802FFDF0 002FBA50  80 01 00 34 */	lwz r0, 0x34(r1)
/* 802FFDF4 002FBA54  83 E1 00 2C */	lwz r31, 0x2c(r1)
/* 802FFDF8 002FBA58  83 C1 00 28 */	lwz r30, 0x28(r1)
/* 802FFDFC 002FBA5C  83 A1 00 24 */	lwz r29, 0x24(r1)
/* 802FFE00 002FBA60  83 81 00 20 */	lwz r28, 0x20(r1)
/* 802FFE04 002FBA64  7C 08 03 A6 */	mtlr r0
/* 802FFE08 002FBA68  38 21 00 30 */	addi r1, r1, 0x30
/* 802FFE0C 002FBA6C  4E 80 00 20 */	blr

.global NHTTPi_CompleteCallback
NHTTPi_CompleteCallback:
/* 802FFE10 002FBA70  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802FFE14 002FBA74  7C 08 02 A6 */	mflr r0
/* 802FFE18 002FBA78  38 A0 00 00 */	li r5, 0
/* 802FFE1C 002FBA7C  90 01 00 14 */	stw r0, 0x14(r1)
/* 802FFE20 002FBA80  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802FFE24 002FBA84  7C 9F 23 78 */	mr r31, r4
/* 802FFE28 002FBA88  4B FF FA 31 */	bl NHTTPi_ControlConnectionList
/* 802FFE2C 002FBA8C  2C 03 00 00 */	cmpwi r3, 0
/* 802FFE30 002FBA90  41 82 00 24 */	beq lbl_802FFE54
/* 802FFE34 002FBA94  81 9F 00 38 */	lwz r12, 0x38(r31)
/* 802FFE38 002FBA98  2C 0C 00 00 */	cmpwi r12, 0
/* 802FFE3C 002FBA9C  41 82 00 18 */	beq lbl_802FFE54
/* 802FFE40 002FBAA0  7F E3 FB 78 */	mr r3, r31
/* 802FFE44 002FBAA4  38 80 00 04 */	li r4, 4
/* 802FFE48 002FBAA8  38 A0 00 00 */	li r5, 0
/* 802FFE4C 002FBAAC  7D 89 03 A6 */	mtctr r12
/* 802FFE50 002FBAB0  4E 80 04 21 */	bctrl
lbl_802FFE54:
/* 802FFE54 002FBAB4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802FFE58 002FBAB8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802FFE5C 002FBABC  7C 08 03 A6 */	mtlr r0
/* 802FFE60 002FBAC0  38 21 00 10 */	addi r1, r1, 0x10
/* 802FFE64 002FBAC4  4E 80 00 20 */	blr

.global NHTTPi_GetSystemInfoP
NHTTPi_GetSystemInfoP:
/* 802FFE68 002FBAC8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 802FFE6C 002FBACC  7C 08 02 A6 */	mflr r0
/* 802FFE70 002FBAD0  90 01 00 14 */	stw r0, 0x14(r1)
/* 802FFE74 002FBAD4  80 0D AF 6C */	lwz r0, lbl_8064022C-_SDA_BASE_(r13)
/* 802FFE78 002FBAD8  93 E1 00 0C */	stw r31, 0xc(r1)
/* 802FFE7C 002FBADC  2C 00 00 00 */	cmpwi r0, 0
/* 802FFE80 002FBAE0  40 82 00 38 */	bne lbl_802FFEB8
/* 802FFE84 002FBAE4  3F E0 80 58 */	lis r31, lbl_8057AAE0@ha
/* 802FFE88 002FBAE8  3B FF AA E0 */	addi r31, r31, lbl_8057AAE0@l
/* 802FFE8C 002FBAEC  93 ED AF 6C */	stw r31, lbl_8064022C-_SDA_BASE_(r13)
/* 802FFE90 002FBAF0  7F E3 FB 78 */	mr r3, r31
/* 802FFE94 002FBAF4  4B FF 7C A1 */	bl NHTTPi_InitBgnEndInfo
/* 802FFE98 002FBAF8  38 7F 08 00 */	addi r3, r31, 0x800
/* 802FFE9C 002FBAFC  4B FF 83 09 */	bl NHTTPi_InitListInfo
/* 802FFEA0 002FBB00  38 7F 08 08 */	addi r3, r31, 0x808
/* 802FFEA4 002FBB04  4B FF 8E 11 */	bl NHTTPi_InitRequestInfo
/* 802FFEA8 002FBB08  38 7F 08 0C */	addi r3, r31, 0x80c
/* 802FFEAC 002FBB0C  4B FF 85 49 */	bl NHTTPi_InitMutexInfo
/* 802FFEB0 002FBB10  38 7F 08 40 */	addi r3, r31, 0x840
/* 802FFEB4 002FBB14  4B FF AB 9D */	bl NHTTPi_InitThreadInfo
lbl_802FFEB8:
/* 802FFEB8 002FBB18  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 802FFEBC 002FBB1C  80 01 00 14 */	lwz r0, 0x14(r1)
/* 802FFEC0 002FBB20  80 6D AF 6C */	lwz r3, lbl_8064022C-_SDA_BASE_(r13)
/* 802FFEC4 002FBB24  7C 08 03 A6 */	mtlr r0
/* 802FFEC8 002FBB28  38 21 00 10 */	addi r1, r1, 0x10
/* 802FFECC 002FBB2C  4E 80 00 20 */	blr

.global NHTTPi_GetBgnEndInfoP
NHTTPi_GetBgnEndInfoP:
/* 802FFED0 002FBB30  4E 80 00 20 */	blr

.global NHTTPi_GetListInfoP
NHTTPi_GetListInfoP:
/* 802FFED4 002FBB34  38 63 08 00 */	addi r3, r3, 0x800
/* 802FFED8 002FBB38  4E 80 00 20 */	blr

.global NHTTPi_GetReqInfoP
NHTTPi_GetReqInfoP:
/* 802FFEDC 002FBB3C  38 63 08 08 */	addi r3, r3, 0x808
/* 802FFEE0 002FBB40  4E 80 00 20 */	blr

.global NHTTPi_GetThreadInfoP
NHTTPi_GetThreadInfoP:
/* 802FFEE4 002FBB44  38 63 08 40 */	addi r3, r3, 0x840
/* 802FFEE8 002FBB48  4E 80 00 20 */	blr

.global NHTTPi_GetMutexInfoP
NHTTPi_GetMutexInfoP:
/* 802FFEEC 002FBB4C  38 63 08 0C */	addi r3, r3, 0x80c
/* 802FFEF0 002FBB50  4E 80 00 20 */	blr

.global NHTTPi_SetVirtualContentLength
NHTTPi_SetVirtualContentLength:
/* 802FFEF4 002FBB54  2C 03 00 00 */	cmpwi r3, 0
/* 802FFEF8 002FBB58  4D 82 00 20 */	beqlr
/* 802FFEFC 002FBB5C  90 83 00 48 */	stw r4, 0x48(r3)
/* 802FFF00 002FBB60  4E 80 00 20 */	blr

.global NHTTPi_GetVirtualContentLength
NHTTPi_GetVirtualContentLength:
/* 802FFF04 002FBB64  2C 03 00 00 */	cmpwi r3, 0
/* 802FFF08 002FBB68  41 82 00 0C */	beq lbl_802FFF14
/* 802FFF0C 002FBB6C  80 63 00 48 */	lwz r3, 0x48(r3)
/* 802FFF10 002FBB70  4E 80 00 20 */	blr
lbl_802FFF14:
/* 802FFF14 002FBB74  38 60 00 00 */	li r3, 0
/* 802FFF18 002FBB78  4E 80 00 20 */	blr