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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global NHTTPi_findNextLineHdrRecvBuf
NHTTPi_findNextLineHdrRecvBuf:
/* 802F8618 002F4278 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802F861C 002F427C 2C 06 00 00 */ cmpwi r6, 0
/* 802F8620 002F4280 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802F8624 002F4284 93 C1 00 08 */ stw r30, 8(r1)
/* 802F8628 002F4288 41 82 00 0C */ beq lbl_802F8634
/* 802F862C 002F428C 38 00 FF FF */ li r0, -1
/* 802F8630 002F4290 90 06 00 00 */ stw r0, 0(r6)
lbl_802F8634:
/* 802F8634 002F4294 7C 04 28 00 */ cmpw r4, r5
/* 802F8638 002F4298 40 80 01 C4 */ bge lbl_802F87FC
/* 802F863C 002F429C 2C 04 04 00 */ cmpwi r4, 0x400
/* 802F8640 002F42A0 39 40 FF FF */ li r10, -1
/* 802F8644 002F42A4 3B C0 00 00 */ li r30, 0
/* 802F8648 002F42A8 40 80 00 10 */ bge lbl_802F8658
/* 802F864C 002F42AC 7C 9F 23 78 */ mr r31, r4
/* 802F8650 002F42B0 39 80 00 00 */ li r12, 0
/* 802F8654 002F42B4 48 00 00 60 */ b lbl_802F86B4
lbl_802F8658:
/* 802F8658 002F42B8 38 04 FC 00 */ addi r0, r4, -1024
/* 802F865C 002F42BC 81 83 00 34 */ lwz r12, 0x34(r3)
/* 802F8660 002F42C0 7C 08 4E 71 */ srawi. r8, r0, 9
/* 802F8664 002F42C4 41 82 00 48 */ beq lbl_802F86AC
/* 802F8668 002F42C8 55 00 E8 FF */ rlwinm. r0, r8, 0x1d, 3, 0x1f
/* 802F866C 002F42CC 7C 09 03 A6 */ mtctr r0
/* 802F8670 002F42D0 41 82 00 30 */ beq lbl_802F86A0
lbl_802F8674:
/* 802F8674 002F42D4 81 8C 00 00 */ lwz r12, 0(r12)
/* 802F8678 002F42D8 81 8C 00 00 */ lwz r12, 0(r12)
/* 802F867C 002F42DC 81 8C 00 00 */ lwz r12, 0(r12)
/* 802F8680 002F42E0 81 8C 00 00 */ lwz r12, 0(r12)
/* 802F8684 002F42E4 81 8C 00 00 */ lwz r12, 0(r12)
/* 802F8688 002F42E8 81 8C 00 00 */ lwz r12, 0(r12)
/* 802F868C 002F42EC 81 8C 00 00 */ lwz r12, 0(r12)
/* 802F8690 002F42F0 81 8C 00 00 */ lwz r12, 0(r12)
/* 802F8694 002F42F4 42 00 FF E0 */ bdnz lbl_802F8674
/* 802F8698 002F42F8 71 08 00 07 */ andi. r8, r8, 7
/* 802F869C 002F42FC 41 82 00 10 */ beq lbl_802F86AC
lbl_802F86A0:
/* 802F86A0 002F4300 7D 09 03 A6 */ mtctr r8
lbl_802F86A4:
/* 802F86A4 002F4304 81 8C 00 00 */ lwz r12, 0(r12)
/* 802F86A8 002F4308 42 00 FF FC */ bdnz lbl_802F86A4
lbl_802F86AC:
/* 802F86AC 002F430C 38 04 FC 00 */ addi r0, r4, -1024
/* 802F86B0 002F4310 54 1F 05 FE */ clrlwi r31, r0, 0x17
lbl_802F86B4:
/* 802F86B4 002F4314 7C 04 28 50 */ subf r0, r4, r5
/* 802F86B8 002F4318 39 00 00 01 */ li r8, 1
/* 802F86BC 002F431C 7C 09 03 A6 */ mtctr r0
/* 802F86C0 002F4320 7C 04 28 00 */ cmpw r4, r5
/* 802F86C4 002F4324 40 80 01 38 */ bge lbl_802F87FC
lbl_802F86C8:
/* 802F86C8 002F4328 2C 0C 00 00 */ cmpwi r12, 0
/* 802F86CC 002F432C 40 82 00 2C */ bne lbl_802F86F8
/* 802F86D0 002F4330 2C 1F 04 00 */ cmpwi r31, 0x400
/* 802F86D4 002F4334 40 80 00 18 */ bge lbl_802F86EC
/* 802F86D8 002F4338 7D 23 FA 14 */ add r9, r3, r31
/* 802F86DC 002F433C 3B FF 00 01 */ addi r31, r31, 1
/* 802F86E0 002F4340 88 09 00 38 */ lbz r0, 0x38(r9)
/* 802F86E4 002F4344 7C 0B 07 74 */ extsb r11, r0
/* 802F86E8 002F4348 48 00 00 2C */ b lbl_802F8714
lbl_802F86EC:
/* 802F86EC 002F434C 81 83 00 34 */ lwz r12, 0x34(r3)
/* 802F86F0 002F4350 3B E0 00 00 */ li r31, 0
/* 802F86F4 002F4354 48 00 00 14 */ b lbl_802F8708
lbl_802F86F8:
/* 802F86F8 002F4358 2C 1F 02 00 */ cmpwi r31, 0x200
/* 802F86FC 002F435C 40 82 00 0C */ bne lbl_802F8708
/* 802F8700 002F4360 3B E0 00 00 */ li r31, 0
/* 802F8704 002F4364 81 8C 00 00 */ lwz r12, 0(r12)
lbl_802F8708:
/* 802F8708 002F4368 7D 2C FA 14 */ add r9, r12, r31
/* 802F870C 002F436C 3B FF 00 01 */ addi r31, r31, 1
/* 802F8710 002F4370 89 69 00 04 */ lbz r11, 4(r9)
lbl_802F8714:
/* 802F8714 002F4374 7D 60 07 74 */ extsb r0, r11
/* 802F8718 002F4378 2C 00 00 3A */ cmpwi r0, 0x3a
/* 802F871C 002F437C 40 82 00 1C */ bne lbl_802F8738
/* 802F8720 002F4380 2C 06 00 00 */ cmpwi r6, 0
/* 802F8724 002F4384 41 82 00 14 */ beq lbl_802F8738
/* 802F8728 002F4388 80 06 00 00 */ lwz r0, 0(r6)
/* 802F872C 002F438C 2C 00 00 00 */ cmpwi r0, 0
/* 802F8730 002F4390 40 80 00 08 */ bge lbl_802F8738
/* 802F8734 002F4394 90 86 00 00 */ stw r4, 0(r6)
lbl_802F8738:
/* 802F8738 002F4398 2C 1E 00 00 */ cmpwi r30, 0
/* 802F873C 002F439C 41 82 00 44 */ beq lbl_802F8780
/* 802F8740 002F43A0 7D 60 07 74 */ extsb r0, r11
/* 802F8744 002F43A4 2C 00 00 0A */ cmpwi r0, 0xa
/* 802F8748 002F43A8 40 82 00 30 */ bne lbl_802F8778
/* 802F874C 002F43AC 38 65 FF FF */ addi r3, r5, -1
/* 802F8750 002F43B0 2C 07 00 00 */ cmpwi r7, 0
/* 802F8754 002F43B4 7C A3 20 50 */ subf r5, r3, r4
/* 802F8758 002F43B8 38 04 00 01 */ addi r0, r4, 1
/* 802F875C 002F43BC 7C 64 18 50 */ subf r3, r4, r3
/* 802F8760 002F43C0 7C A3 18 F8 */ nor r3, r5, r3
/* 802F8764 002F43C4 7C 63 FE 70 */ srawi r3, r3, 0x1f
/* 802F8768 002F43C8 7C 0A 18 78 */ andc r10, r0, r3
/* 802F876C 002F43CC 41 82 00 0C */ beq lbl_802F8778
/* 802F8770 002F43D0 38 00 00 02 */ li r0, 2
/* 802F8774 002F43D4 90 07 00 00 */ stw r0, 0(r7)
lbl_802F8778:
/* 802F8778 002F43D8 7D 43 53 78 */ mr r3, r10
/* 802F877C 002F43DC 48 00 00 84 */ b lbl_802F8800
lbl_802F8780:
/* 802F8780 002F43E0 7D 60 07 74 */ extsb r0, r11
/* 802F8784 002F43E4 2C 00 00 0D */ cmpwi r0, 0xd
/* 802F8788 002F43E8 40 82 00 30 */ bne lbl_802F87B8
/* 802F878C 002F43EC 39 25 FF FF */ addi r9, r5, -1
/* 802F8790 002F43F0 2C 07 00 00 */ cmpwi r7, 0
/* 802F8794 002F43F4 7D 49 20 50 */ subf r10, r9, r4
/* 802F8798 002F43F8 38 04 00 01 */ addi r0, r4, 1
/* 802F879C 002F43FC 7D 24 48 50 */ subf r9, r4, r9
/* 802F87A0 002F4400 3B C0 00 01 */ li r30, 1
/* 802F87A4 002F4404 7D 49 48 F8 */ nor r9, r10, r9
/* 802F87A8 002F4408 7D 29 FE 70 */ srawi r9, r9, 0x1f
/* 802F87AC 002F440C 7C 0A 48 78 */ andc r10, r0, r9
/* 802F87B0 002F4410 41 82 00 08 */ beq lbl_802F87B8
/* 802F87B4 002F4414 91 07 00 00 */ stw r8, 0(r7)
lbl_802F87B8:
/* 802F87B8 002F4418 7D 60 07 74 */ extsb r0, r11
/* 802F87BC 002F441C 2C 00 00 0A */ cmpwi r0, 0xa
/* 802F87C0 002F4420 40 82 00 34 */ bne lbl_802F87F4
/* 802F87C4 002F4424 38 65 FF FF */ addi r3, r5, -1
/* 802F87C8 002F4428 2C 07 00 00 */ cmpwi r7, 0
/* 802F87CC 002F442C 7C A3 20 50 */ subf r5, r3, r4
/* 802F87D0 002F4430 38 04 00 01 */ addi r0, r4, 1
/* 802F87D4 002F4434 7C 64 18 50 */ subf r3, r4, r3
/* 802F87D8 002F4438 7C A3 18 F8 */ nor r3, r5, r3
/* 802F87DC 002F443C 7C 63 FE 70 */ srawi r3, r3, 0x1f
/* 802F87E0 002F4440 7C 03 18 78 */ andc r3, r0, r3
/* 802F87E4 002F4444 41 82 00 1C */ beq lbl_802F8800
/* 802F87E8 002F4448 38 00 00 01 */ li r0, 1
/* 802F87EC 002F444C 90 07 00 00 */ stw r0, 0(r7)
/* 802F87F0 002F4450 48 00 00 10 */ b lbl_802F8800
lbl_802F87F4:
/* 802F87F4 002F4454 38 84 00 01 */ addi r4, r4, 1
/* 802F87F8 002F4458 42 00 FE D0 */ bdnz lbl_802F86C8
lbl_802F87FC:
/* 802F87FC 002F445C 38 60 FF FF */ li r3, -1
lbl_802F8800:
/* 802F8800 002F4460 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802F8804 002F4464 83 C1 00 08 */ lwz r30, 8(r1)
/* 802F8808 002F4468 38 21 00 10 */ addi r1, r1, 0x10
/* 802F880C 002F446C 4E 80 00 20 */ blr
.global NHTTPi_skipSpaceHdrRecvBuf
NHTTPi_skipSpaceHdrRecvBuf:
/* 802F8810 002F4470 7C 04 28 00 */ cmpw r4, r5
/* 802F8814 002F4474 40 80 00 EC */ bge lbl_802F8900
/* 802F8818 002F4478 2C 04 04 00 */ cmpwi r4, 0x400
/* 802F881C 002F447C 40 80 00 10 */ bge lbl_802F882C
/* 802F8820 002F4480 7C 86 23 78 */ mr r6, r4
/* 802F8824 002F4484 38 E0 00 00 */ li r7, 0
/* 802F8828 002F4488 48 00 00 60 */ b lbl_802F8888
lbl_802F882C:
/* 802F882C 002F448C 38 04 FC 00 */ addi r0, r4, -1024
/* 802F8830 002F4490 80 E3 00 34 */ lwz r7, 0x34(r3)
/* 802F8834 002F4494 7C 06 4E 71 */ srawi. r6, r0, 9
/* 802F8838 002F4498 41 82 00 48 */ beq lbl_802F8880
/* 802F883C 002F449C 54 C0 E8 FF */ rlwinm. r0, r6, 0x1d, 3, 0x1f
/* 802F8840 002F44A0 7C 09 03 A6 */ mtctr r0
/* 802F8844 002F44A4 41 82 00 30 */ beq lbl_802F8874
lbl_802F8848:
/* 802F8848 002F44A8 80 E7 00 00 */ lwz r7, 0(r7)
/* 802F884C 002F44AC 80 E7 00 00 */ lwz r7, 0(r7)
/* 802F8850 002F44B0 80 E7 00 00 */ lwz r7, 0(r7)
/* 802F8854 002F44B4 80 E7 00 00 */ lwz r7, 0(r7)
/* 802F8858 002F44B8 80 E7 00 00 */ lwz r7, 0(r7)
/* 802F885C 002F44BC 80 E7 00 00 */ lwz r7, 0(r7)
/* 802F8860 002F44C0 80 E7 00 00 */ lwz r7, 0(r7)
/* 802F8864 002F44C4 80 E7 00 00 */ lwz r7, 0(r7)
/* 802F8868 002F44C8 42 00 FF E0 */ bdnz lbl_802F8848
/* 802F886C 002F44CC 70 C6 00 07 */ andi. r6, r6, 7
/* 802F8870 002F44D0 41 82 00 10 */ beq lbl_802F8880
lbl_802F8874:
/* 802F8874 002F44D4 7C C9 03 A6 */ mtctr r6
lbl_802F8878:
/* 802F8878 002F44D8 80 E7 00 00 */ lwz r7, 0(r7)
/* 802F887C 002F44DC 42 00 FF FC */ bdnz lbl_802F8878
lbl_802F8880:
/* 802F8880 002F44E0 38 04 FC 00 */ addi r0, r4, -1024
/* 802F8884 002F44E4 54 06 05 FE */ clrlwi r6, r0, 0x17
lbl_802F8888:
/* 802F8888 002F44E8 7C 04 28 50 */ subf r0, r4, r5
/* 802F888C 002F44EC 7C 09 03 A6 */ mtctr r0
/* 802F8890 002F44F0 7C 04 28 00 */ cmpw r4, r5
/* 802F8894 002F44F4 40 80 00 6C */ bge lbl_802F8900
lbl_802F8898:
/* 802F8898 002F44F8 2C 07 00 00 */ cmpwi r7, 0
/* 802F889C 002F44FC 40 82 00 2C */ bne lbl_802F88C8
/* 802F88A0 002F4500 2C 06 04 00 */ cmpwi r6, 0x400
/* 802F88A4 002F4504 40 80 00 18 */ bge lbl_802F88BC
/* 802F88A8 002F4508 7C A3 32 14 */ add r5, r3, r6
/* 802F88AC 002F450C 38 C6 00 01 */ addi r6, r6, 1
/* 802F88B0 002F4510 88 05 00 38 */ lbz r0, 0x38(r5)
/* 802F88B4 002F4514 7C 00 07 74 */ extsb r0, r0
/* 802F88B8 002F4518 48 00 00 2C */ b lbl_802F88E4
lbl_802F88BC:
/* 802F88BC 002F451C 80 E3 00 34 */ lwz r7, 0x34(r3)
/* 802F88C0 002F4520 38 C0 00 00 */ li r6, 0
/* 802F88C4 002F4524 48 00 00 14 */ b lbl_802F88D8
lbl_802F88C8:
/* 802F88C8 002F4528 2C 06 02 00 */ cmpwi r6, 0x200
/* 802F88CC 002F452C 40 82 00 0C */ bne lbl_802F88D8
/* 802F88D0 002F4530 38 C0 00 00 */ li r6, 0
/* 802F88D4 002F4534 80 E7 00 00 */ lwz r7, 0(r7)
lbl_802F88D8:
/* 802F88D8 002F4538 7C A7 32 14 */ add r5, r7, r6
/* 802F88DC 002F453C 38 C6 00 01 */ addi r6, r6, 1
/* 802F88E0 002F4540 88 05 00 04 */ lbz r0, 4(r5)
lbl_802F88E4:
/* 802F88E4 002F4544 7C 00 07 74 */ extsb r0, r0
/* 802F88E8 002F4548 2C 00 00 20 */ cmpwi r0, 0x20
/* 802F88EC 002F454C 41 82 00 0C */ beq lbl_802F88F8
/* 802F88F0 002F4550 7C 83 23 78 */ mr r3, r4
/* 802F88F4 002F4554 4E 80 00 20 */ blr
lbl_802F88F8:
/* 802F88F8 002F4558 38 84 00 01 */ addi r4, r4, 1
/* 802F88FC 002F455C 42 00 FF 9C */ bdnz lbl_802F8898
lbl_802F8900:
/* 802F8900 002F4560 38 60 FF FF */ li r3, -1
/* 802F8904 002F4564 4E 80 00 20 */ blr
.global NHTTPi_compareTokenN_HdrRecvBuf
NHTTPi_compareTokenN_HdrRecvBuf:
/* 802F8908 002F4568 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802F890C 002F456C 7C 08 02 A6 */ mflr r0
/* 802F8910 002F4570 90 01 00 34 */ stw r0, 0x34(r1)
/* 802F8914 002F4574 39 61 00 30 */ addi r11, r1, 0x30
/* 802F8918 002F4578 4B EC E8 09 */ bl _savegpr_25
/* 802F891C 002F457C 7C 04 28 00 */ cmpw r4, r5
/* 802F8920 002F4580 40 80 01 BC */ bge lbl_802F8ADC
/* 802F8924 002F4584 2C 04 04 00 */ cmpwi r4, 0x400
/* 802F8928 002F4588 40 80 00 10 */ bge lbl_802F8938
/* 802F892C 002F458C 7C 89 23 78 */ mr r9, r4
/* 802F8930 002F4590 39 00 00 00 */ li r8, 0
/* 802F8934 002F4594 48 00 00 60 */ b lbl_802F8994
lbl_802F8938:
/* 802F8938 002F4598 38 04 FC 00 */ addi r0, r4, -1024
/* 802F893C 002F459C 81 03 00 34 */ lwz r8, 0x34(r3)
/* 802F8940 002F45A0 7C 09 4E 71 */ srawi. r9, r0, 9
/* 802F8944 002F45A4 41 82 00 48 */ beq lbl_802F898C
/* 802F8948 002F45A8 55 20 E8 FF */ rlwinm. r0, r9, 0x1d, 3, 0x1f
/* 802F894C 002F45AC 7C 09 03 A6 */ mtctr r0
/* 802F8950 002F45B0 41 82 00 30 */ beq lbl_802F8980
lbl_802F8954:
/* 802F8954 002F45B4 81 08 00 00 */ lwz r8, 0(r8)
/* 802F8958 002F45B8 81 08 00 00 */ lwz r8, 0(r8)
/* 802F895C 002F45BC 81 08 00 00 */ lwz r8, 0(r8)
/* 802F8960 002F45C0 81 08 00 00 */ lwz r8, 0(r8)
/* 802F8964 002F45C4 81 08 00 00 */ lwz r8, 0(r8)
/* 802F8968 002F45C8 81 08 00 00 */ lwz r8, 0(r8)
/* 802F896C 002F45CC 81 08 00 00 */ lwz r8, 0(r8)
/* 802F8970 002F45D0 81 08 00 00 */ lwz r8, 0(r8)
/* 802F8974 002F45D4 42 00 FF E0 */ bdnz lbl_802F8954
/* 802F8978 002F45D8 71 29 00 07 */ andi. r9, r9, 7
/* 802F897C 002F45DC 41 82 00 10 */ beq lbl_802F898C
lbl_802F8980:
/* 802F8980 002F45E0 7D 29 03 A6 */ mtctr r9
lbl_802F8984:
/* 802F8984 002F45E4 81 08 00 00 */ lwz r8, 0(r8)
/* 802F8988 002F45E8 42 00 FF FC */ bdnz lbl_802F8984
lbl_802F898C:
/* 802F898C 002F45EC 38 04 FC 00 */ addi r0, r4, -1024
/* 802F8990 002F45F0 54 09 05 FE */ clrlwi r9, r0, 0x17
lbl_802F8994:
/* 802F8994 002F45F4 2C 08 00 00 */ cmpwi r8, 0
/* 802F8998 002F45F8 40 82 00 2C */ bne lbl_802F89C4
/* 802F899C 002F45FC 2C 09 04 00 */ cmpwi r9, 0x400
/* 802F89A0 002F4600 40 80 00 18 */ bge lbl_802F89B8
/* 802F89A4 002F4604 7D 43 4A 14 */ add r10, r3, r9
/* 802F89A8 002F4608 39 29 00 01 */ addi r9, r9, 1
/* 802F89AC 002F460C 88 0A 00 38 */ lbz r0, 0x38(r10)
/* 802F89B0 002F4610 7C 19 07 74 */ extsb r25, r0
/* 802F89B4 002F4614 48 00 00 2C */ b lbl_802F89E0
lbl_802F89B8:
/* 802F89B8 002F4618 81 03 00 34 */ lwz r8, 0x34(r3)
/* 802F89BC 002F461C 39 20 00 00 */ li r9, 0
/* 802F89C0 002F4620 48 00 00 14 */ b lbl_802F89D4
lbl_802F89C4:
/* 802F89C4 002F4624 2C 09 02 00 */ cmpwi r9, 0x200
/* 802F89C8 002F4628 40 82 00 0C */ bne lbl_802F89D4
/* 802F89CC 002F462C 39 20 00 00 */ li r9, 0
/* 802F89D0 002F4630 81 08 00 00 */ lwz r8, 0(r8)
lbl_802F89D4:
/* 802F89D4 002F4634 7D 48 4A 14 */ add r10, r8, r9
/* 802F89D8 002F4638 39 29 00 01 */ addi r9, r9, 1
/* 802F89DC 002F463C 8B 2A 00 04 */ lbz r25, 4(r10)
lbl_802F89E0:
/* 802F89E0 002F4640 3B 80 00 41 */ li r28, 0x41
/* 802F89E4 002F4644 3B E0 00 5A */ li r31, 0x5a
/* 802F89E8 002F4648 7C E7 07 74 */ extsb r7, r7
/* 802F89EC 002F464C 38 05 FF FF */ addi r0, r5, -1
/* 802F89F0 002F4650 3B A0 00 00 */ li r29, 0
/* 802F89F4 002F4654 48 00 00 80 */ b lbl_802F8A74
lbl_802F89F8:
/* 802F89F8 002F4658 7C A5 07 75 */ extsb. r5, r5
/* 802F89FC 002F465C 41 82 00 1C */ beq lbl_802F8A18
/* 802F8A00 002F4660 2C 05 00 20 */ cmpwi r5, 0x20
/* 802F8A04 002F4664 41 82 00 14 */ beq lbl_802F8A18
/* 802F8A08 002F4668 7C 05 38 00 */ cmpw r5, r7
/* 802F8A0C 002F466C 41 82 00 0C */ beq lbl_802F8A18
/* 802F8A10 002F4670 7C 04 00 00 */ cmpw r4, r0
/* 802F8A14 002F4674 40 82 00 0C */ bne lbl_802F8A20
lbl_802F8A18:
/* 802F8A18 002F4678 38 60 00 00 */ li r3, 0
/* 802F8A1C 002F467C 48 00 00 C4 */ b lbl_802F8AE0
lbl_802F8A20:
/* 802F8A20 002F4680 2C 08 00 00 */ cmpwi r8, 0
/* 802F8A24 002F4684 40 82 00 2C */ bne lbl_802F8A50
/* 802F8A28 002F4688 2C 09 04 00 */ cmpwi r9, 0x400
/* 802F8A2C 002F468C 40 80 00 18 */ bge lbl_802F8A44
/* 802F8A30 002F4690 7C A3 4A 14 */ add r5, r3, r9
/* 802F8A34 002F4694 39 29 00 01 */ addi r9, r9, 1
/* 802F8A38 002F4698 88 A5 00 38 */ lbz r5, 0x38(r5)
/* 802F8A3C 002F469C 7C B9 07 74 */ extsb r25, r5
/* 802F8A40 002F46A0 48 00 00 2C */ b lbl_802F8A6C
lbl_802F8A44:
/* 802F8A44 002F46A4 81 03 00 34 */ lwz r8, 0x34(r3)
/* 802F8A48 002F46A8 39 20 00 00 */ li r9, 0
/* 802F8A4C 002F46AC 48 00 00 14 */ b lbl_802F8A60
lbl_802F8A50:
/* 802F8A50 002F46B0 2C 09 02 00 */ cmpwi r9, 0x200
/* 802F8A54 002F46B4 40 82 00 0C */ bne lbl_802F8A60
/* 802F8A58 002F46B8 39 20 00 00 */ li r9, 0
/* 802F8A5C 002F46BC 81 08 00 00 */ lwz r8, 0(r8)
lbl_802F8A60:
/* 802F8A60 002F46C0 7C A8 4A 14 */ add r5, r8, r9
/* 802F8A64 002F46C4 39 29 00 01 */ addi r9, r9, 1
/* 802F8A68 002F46C8 8B 25 00 04 */ lbz r25, 4(r5)
lbl_802F8A6C:
/* 802F8A6C 002F46CC 38 84 00 01 */ addi r4, r4, 1
/* 802F8A70 002F46D0 38 C6 00 01 */ addi r6, r6, 1
lbl_802F8A74:
/* 802F8A74 002F46D4 88 A6 00 00 */ lbz r5, 0(r6)
/* 802F8A78 002F46D8 7C BE 07 74 */ extsb r30, r5
/* 802F8A7C 002F46DC 7F CC FE 70 */ srawi r12, r30, 0x1f
/* 802F8A80 002F46E0 7D 5C F0 10 */ subfc r10, r28, r30
/* 802F8A84 002F46E4 57 CB 0F FE */ srwi r11, r30, 0x1f
/* 802F8A88 002F46E8 7F 6C E9 14 */ adde r27, r12, r29
/* 802F8A8C 002F46EC 3B 5E 00 20 */ addi r26, r30, 0x20
/* 802F8A90 002F46F0 7F EC FE 70 */ srawi r12, r31, 0x1f
/* 802F8A94 002F46F4 7D 5E F8 10 */ subfc r10, r30, r31
/* 802F8A98 002F46F8 7D 4C 59 14 */ adde r10, r12, r11
/* 802F8A9C 002F46FC 7F 6A 50 39 */ and. r10, r27, r10
/* 802F8AA0 002F4700 40 82 00 08 */ bne lbl_802F8AA8
/* 802F8AA4 002F4704 7F DA F3 78 */ mr r26, r30
lbl_802F8AA8:
/* 802F8AA8 002F4708 7F 3B 07 74 */ extsb r27, r25
/* 802F8AAC 002F470C 7F 6C FE 70 */ srawi r12, r27, 0x1f
/* 802F8AB0 002F4710 7D 5C D8 10 */ subfc r10, r28, r27
/* 802F8AB4 002F4714 57 6B 0F FE */ srwi r11, r27, 0x1f
/* 802F8AB8 002F4718 7F CC E9 14 */ adde r30, r12, r29
/* 802F8ABC 002F471C 7F EC FE 70 */ srawi r12, r31, 0x1f
/* 802F8AC0 002F4720 7D 5B F8 10 */ subfc r10, r27, r31
/* 802F8AC4 002F4724 7D 4C 59 14 */ adde r10, r12, r11
/* 802F8AC8 002F4728 7F CA 50 39 */ and. r10, r30, r10
/* 802F8ACC 002F472C 41 82 00 08 */ beq lbl_802F8AD4
/* 802F8AD0 002F4730 3B 7B 00 20 */ addi r27, r27, 0x20
lbl_802F8AD4:
/* 802F8AD4 002F4734 7C 1B D0 00 */ cmpw r27, r26
/* 802F8AD8 002F4738 41 82 FF 20 */ beq lbl_802F89F8
lbl_802F8ADC:
/* 802F8ADC 002F473C 38 60 FF FF */ li r3, -1
lbl_802F8AE0:
/* 802F8AE0 002F4740 39 61 00 30 */ addi r11, r1, 0x30
/* 802F8AE4 002F4744 4B EC E6 89 */ bl _restgpr_25
/* 802F8AE8 002F4748 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802F8AEC 002F474C 7C 08 03 A6 */ mtlr r0
/* 802F8AF0 002F4750 38 21 00 30 */ addi r1, r1, 0x30
/* 802F8AF4 002F4754 4E 80 00 20 */ blr
.global NHTTPi_loadFromHdrRecvBuf
NHTTPi_loadFromHdrRecvBuf:
/* 802F8AF8 002F4758 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802F8AFC 002F475C 7C 08 02 A6 */ mflr r0
/* 802F8B00 002F4760 90 01 00 24 */ stw r0, 0x24(r1)
/* 802F8B04 002F4764 39 61 00 20 */ addi r11, r1, 0x20
/* 802F8B08 002F4768 4B EC E6 21 */ bl _savegpr_27
/* 802F8B0C 002F476C 80 03 00 00 */ lwz r0, 0(r3)
/* 802F8B10 002F4770 7C E5 32 14 */ add r7, r5, r6
/* 802F8B14 002F4774 7C 7E 1B 78 */ mr r30, r3
/* 802F8B18 002F4778 7C 9B 23 78 */ mr r27, r4
/* 802F8B1C 002F477C 7C 07 00 00 */ cmpw r7, r0
/* 802F8B20 002F4780 7C BC 2B 78 */ mr r28, r5
/* 802F8B24 002F4784 7C DD 33 78 */ mr r29, r6
/* 802F8B28 002F4788 41 81 00 F8 */ bgt lbl_802F8C20
/* 802F8B2C 002F478C 2C 06 00 00 */ cmpwi r6, 0
/* 802F8B30 002F4790 41 82 00 E8 */ beq lbl_802F8C18
/* 802F8B34 002F4794 2C 05 04 00 */ cmpwi r5, 0x400
/* 802F8B38 002F4798 40 80 00 38 */ bge lbl_802F8B70
/* 802F8B3C 002F479C 20 05 04 00 */ subfic r0, r5, 0x400
/* 802F8B40 002F47A0 7F BF EB 78 */ mr r31, r29
/* 802F8B44 002F47A4 7C 06 00 00 */ cmpw r6, r0
/* 802F8B48 002F47A8 40 81 00 08 */ ble lbl_802F8B50
/* 802F8B4C 002F47AC 7C 1F 03 78 */ mr r31, r0
lbl_802F8B50:
/* 802F8B50 002F47B0 7C 9E 2A 14 */ add r4, r30, r5
/* 802F8B54 002F47B4 7F 63 DB 78 */ mr r3, r27
/* 802F8B58 002F47B8 7F E5 FB 78 */ mr r5, r31
/* 802F8B5C 002F47BC 38 84 00 38 */ addi r4, r4, 0x38
/* 802F8B60 002F47C0 48 00 15 7D */ bl NHTTPi_memcpy
/* 802F8B64 002F47C4 7F 9C FA 14 */ add r28, r28, r31
/* 802F8B68 002F47C8 7F BF E8 50 */ subf r29, r31, r29
/* 802F8B6C 002F47CC 7F 7B FA 14 */ add r27, r27, r31
lbl_802F8B70:
/* 802F8B70 002F47D0 2C 1D 00 00 */ cmpwi r29, 0
/* 802F8B74 002F47D4 41 82 00 A4 */ beq lbl_802F8C18
/* 802F8B78 002F47D8 3B 9C FC 00 */ addi r28, r28, -1024
/* 802F8B7C 002F47DC 83 DE 00 34 */ lwz r30, 0x34(r30)
/* 802F8B80 002F47E0 7F 83 4E 71 */ srawi. r3, r28, 9
/* 802F8B84 002F47E4 57 9C 05 FE */ clrlwi r28, r28, 0x17
/* 802F8B88 002F47E8 41 82 00 88 */ beq lbl_802F8C10
/* 802F8B8C 002F47EC 54 60 E8 FF */ rlwinm. r0, r3, 0x1d, 3, 0x1f
/* 802F8B90 002F47F0 7C 09 03 A6 */ mtctr r0
/* 802F8B94 002F47F4 41 82 00 30 */ beq lbl_802F8BC4
lbl_802F8B98:
/* 802F8B98 002F47F8 83 DE 00 00 */ lwz r30, 0(r30)
/* 802F8B9C 002F47FC 83 DE 00 00 */ lwz r30, 0(r30)
/* 802F8BA0 002F4800 83 DE 00 00 */ lwz r30, 0(r30)
/* 802F8BA4 002F4804 83 DE 00 00 */ lwz r30, 0(r30)
/* 802F8BA8 002F4808 83 DE 00 00 */ lwz r30, 0(r30)
/* 802F8BAC 002F480C 83 DE 00 00 */ lwz r30, 0(r30)
/* 802F8BB0 002F4810 83 DE 00 00 */ lwz r30, 0(r30)
/* 802F8BB4 002F4814 83 DE 00 00 */ lwz r30, 0(r30)
/* 802F8BB8 002F4818 42 00 FF E0 */ bdnz lbl_802F8B98
/* 802F8BBC 002F481C 70 63 00 07 */ andi. r3, r3, 7
/* 802F8BC0 002F4820 41 82 00 50 */ beq lbl_802F8C10
lbl_802F8BC4:
/* 802F8BC4 002F4824 7C 69 03 A6 */ mtctr r3
lbl_802F8BC8:
/* 802F8BC8 002F4828 83 DE 00 00 */ lwz r30, 0(r30)
/* 802F8BCC 002F482C 42 00 FF FC */ bdnz lbl_802F8BC8
/* 802F8BD0 002F4830 48 00 00 40 */ b lbl_802F8C10
lbl_802F8BD4:
/* 802F8BD4 002F4834 20 1C 02 00 */ subfic r0, r28, 0x200
/* 802F8BD8 002F4838 7F BF EB 78 */ mr r31, r29
/* 802F8BDC 002F483C 7C 1D 00 00 */ cmpw r29, r0
/* 802F8BE0 002F4840 40 81 00 08 */ ble lbl_802F8BE8
/* 802F8BE4 002F4844 7C 1F 03 78 */ mr r31, r0
lbl_802F8BE8:
/* 802F8BE8 002F4848 7C 9E E2 14 */ add r4, r30, r28
/* 802F8BEC 002F484C 7F 63 DB 78 */ mr r3, r27
/* 802F8BF0 002F4850 7F E5 FB 78 */ mr r5, r31
/* 802F8BF4 002F4854 38 84 00 04 */ addi r4, r4, 4
/* 802F8BF8 002F4858 48 00 14 E5 */ bl NHTTPi_memcpy
/* 802F8BFC 002F485C 7F 9C FA 14 */ add r28, r28, r31
/* 802F8C00 002F4860 83 DE 00 00 */ lwz r30, 0(r30)
/* 802F8C04 002F4864 57 9C 05 FE */ clrlwi r28, r28, 0x17
/* 802F8C08 002F4868 7F BF E8 50 */ subf r29, r31, r29
/* 802F8C0C 002F486C 7F 7B FA 14 */ add r27, r27, r31
lbl_802F8C10:
/* 802F8C10 002F4870 2C 1D 00 00 */ cmpwi r29, 0
/* 802F8C14 002F4874 40 82 FF C0 */ bne lbl_802F8BD4
lbl_802F8C18:
/* 802F8C18 002F4878 38 60 00 01 */ li r3, 1
/* 802F8C1C 002F487C 48 00 00 08 */ b lbl_802F8C24
lbl_802F8C20:
/* 802F8C20 002F4880 38 60 00 00 */ li r3, 0
lbl_802F8C24:
/* 802F8C24 002F4884 39 61 00 20 */ addi r11, r1, 0x20
/* 802F8C28 002F4888 4B EC E5 4D */ bl _restgpr_27
/* 802F8C2C 002F488C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802F8C30 002F4890 7C 08 03 A6 */ mtlr r0
/* 802F8C34 002F4894 38 21 00 20 */ addi r1, r1, 0x20
/* 802F8C38 002F4898 4E 80 00 20 */ blr
.global NHTTPi_isRecvBufFull
NHTTPi_isRecvBufFull:
/* 802F8C3C 002F489C 80 63 00 1C */ lwz r3, 0x1c(r3)
/* 802F8C40 002F48A0 7C 03 20 50 */ subf r0, r3, r4
/* 802F8C44 002F48A4 7C 83 1B 38 */ orc r3, r4, r3
/* 802F8C48 002F48A8 54 00 F8 7E */ srwi r0, r0, 1
/* 802F8C4C 002F48AC 7C 00 18 50 */ subf r0, r0, r3
/* 802F8C50 002F48B0 54 03 0F FE */ srwi r3, r0, 0x1f
/* 802F8C54 002F48B4 4E 80 00 20 */ blr
.global NHTTPi_RecvBuf
NHTTPi_RecvBuf:
/* 802F8C58 002F48B8 81 03 00 2C */ lwz r8, 0x2c(r3)
/* 802F8C5C 002F48BC 7C C7 33 78 */ mr r7, r6
/* 802F8C60 002F48C0 7C A9 2B 78 */ mr r9, r5
/* 802F8C64 002F48C4 80 C8 00 28 */ lwz r6, 0x28(r8)
/* 802F8C68 002F48C8 80 08 00 1C */ lwz r0, 0x1c(r8)
/* 802F8C6C 002F48CC 7C A6 2A 14 */ add r5, r6, r5
/* 802F8C70 002F48D0 7C C9 00 50 */ subf r6, r9, r0
/* 802F8C74 002F48D4 48 00 10 B0 */ b NHTTPi_SocRecv
.global NHTTPi_RecvBufN
NHTTPi_RecvBufN:
/* 802F8C78 002F48D8 81 23 00 2C */ lwz r9, 0x2c(r3)
/* 802F8C7C 002F48DC 80 09 00 1C */ lwz r0, 0x1c(r9)
/* 802F8C80 002F48E0 7C 00 28 40 */ cmplw r0, r5
/* 802F8C84 002F48E4 41 81 00 0C */ bgt lbl_802F8C90
/* 802F8C88 002F48E8 38 60 FC 15 */ li r3, -1003
/* 802F8C8C 002F48EC 4E 80 00 20 */ blr
lbl_802F8C90:
/* 802F8C90 002F48F0 81 09 00 1C */ lwz r8, 0x1c(r9)
/* 802F8C94 002F48F4 80 09 00 28 */ lwz r0, 0x28(r9)
/* 802F8C98 002F48F8 7D 05 40 50 */ subf r8, r5, r8
/* 802F8C9C 002F48FC 7C 06 40 00 */ cmpw r6, r8
/* 802F8CA0 002F4900 7C A0 2A 14 */ add r5, r0, r5
/* 802F8CA4 002F4904 40 81 00 08 */ ble lbl_802F8CAC
/* 802F8CA8 002F4908 7D 06 43 78 */ mr r6, r8
lbl_802F8CAC:
/* 802F8CAC 002F490C 48 00 10 78 */ b NHTTPi_SocRecv
/* 802F8CB0 002F4910 4E 80 00 20 */ blr
|