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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global NHTTPi_memcpy
NHTTPi_memcpy:
/* 802FA0DC 002F5D3C 4B D0 9F 24 */ b memcpy
.global NHTTPi_strlen
NHTTPi_strlen:
/* 802FA0E0 002F5D40 4B EC CA 84 */ b strlen
.global NHTTPi_strcmp
NHTTPi_strcmp:
/* 802FA0E4 002F5D44 4B ED 43 68 */ b strcmp
.global NHTTPi_memclr
NHTTPi_memclr:
/* 802FA0E8 002F5D48 7C 85 23 78 */ mr r5, r4
/* 802FA0EC 002F5D4C 38 80 00 00 */ li r4, 0
/* 802FA0F0 002F5D50 4B D0 A0 14 */ b memset
.global NHTTPi_strnicmp
NHTTPi_strnicmp:
/* 802FA0F4 002F5D54 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802FA0F8 002F5D58 39 60 00 41 */ li r11, 0x41
/* 802FA0FC 002F5D5C 39 20 00 5A */ li r9, 0x5a
/* 802FA100 002F5D60 39 40 00 00 */ li r10, 0
/* 802FA104 002F5D64 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802FA108 002F5D68 7C A9 03 A6 */ mtctr r5
/* 802FA10C 002F5D6C 2C 05 00 00 */ cmpwi r5, 0
/* 802FA110 002F5D70 40 81 00 A0 */ ble lbl_802FA1B0
lbl_802FA114:
/* 802FA114 002F5D74 88 C3 00 00 */ lbz r6, 0(r3)
/* 802FA118 002F5D78 38 63 00 01 */ addi r3, r3, 1
/* 802FA11C 002F5D7C 88 04 00 00 */ lbz r0, 0(r4)
/* 802FA120 002F5D80 38 84 00 01 */ addi r4, r4, 1
/* 802FA124 002F5D84 7C CC 07 75 */ extsb. r12, r6
/* 802FA128 002F5D88 7C 1F 07 74 */ extsb r31, r0
/* 802FA12C 002F5D8C 41 82 00 0C */ beq lbl_802FA138
/* 802FA130 002F5D90 2C 1F 00 00 */ cmpwi r31, 0
/* 802FA134 002F5D94 40 82 00 1C */ bne lbl_802FA150
lbl_802FA138:
/* 802FA138 002F5D98 2C 0C 00 00 */ cmpwi r12, 0
/* 802FA13C 002F5D9C 40 82 00 14 */ bne lbl_802FA150
/* 802FA140 002F5DA0 2C 1F 00 00 */ cmpwi r31, 0
/* 802FA144 002F5DA4 40 82 00 0C */ bne lbl_802FA150
/* 802FA148 002F5DA8 38 A0 00 00 */ li r5, 0
/* 802FA14C 002F5DAC 48 00 00 64 */ b lbl_802FA1B0
lbl_802FA150:
/* 802FA150 002F5DB0 7F E7 FE 70 */ srawi r7, r31, 0x1f
/* 802FA154 002F5DB4 57 E6 0F FE */ srwi r6, r31, 0x1f
/* 802FA158 002F5DB8 7C 0B F8 10 */ subfc r0, r11, r31
/* 802FA15C 002F5DBC 7D 07 51 14 */ adde r8, r7, r10
/* 802FA160 002F5DC0 7D 27 FE 70 */ srawi r7, r9, 0x1f
/* 802FA164 002F5DC4 7C 1F 48 10 */ subfc r0, r31, r9
/* 802FA168 002F5DC8 7C 07 31 14 */ adde r0, r7, r6
/* 802FA16C 002F5DCC 7D 00 00 39 */ and. r0, r8, r0
/* 802FA170 002F5DD0 41 82 00 08 */ beq lbl_802FA178
/* 802FA174 002F5DD4 3B FF 00 20 */ addi r31, r31, 0x20
lbl_802FA178:
/* 802FA178 002F5DD8 7D 87 FE 70 */ srawi r7, r12, 0x1f
/* 802FA17C 002F5DDC 55 86 0F FE */ srwi r6, r12, 0x1f
/* 802FA180 002F5DE0 7C 0B 60 10 */ subfc r0, r11, r12
/* 802FA184 002F5DE4 7D 07 51 14 */ adde r8, r7, r10
/* 802FA188 002F5DE8 7D 27 FE 70 */ srawi r7, r9, 0x1f
/* 802FA18C 002F5DEC 7C 0C 48 10 */ subfc r0, r12, r9
/* 802FA190 002F5DF0 7C 07 31 14 */ adde r0, r7, r6
/* 802FA194 002F5DF4 7D 00 00 39 */ and. r0, r8, r0
/* 802FA198 002F5DF8 41 82 00 08 */ beq lbl_802FA1A0
/* 802FA19C 002F5DFC 39 8C 00 20 */ addi r12, r12, 0x20
lbl_802FA1A0:
/* 802FA1A0 002F5E00 7C 0C F8 00 */ cmpw r12, r31
/* 802FA1A4 002F5E04 40 82 00 0C */ bne lbl_802FA1B0
/* 802FA1A8 002F5E08 38 A5 FF FF */ addi r5, r5, -1
/* 802FA1AC 002F5E0C 42 00 FF 68 */ bdnz lbl_802FA114
lbl_802FA1B0:
/* 802FA1B0 002F5E10 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802FA1B4 002F5E14 7C A3 2B 78 */ mr r3, r5
/* 802FA1B8 002F5E18 38 21 00 10 */ addi r1, r1, 0x10
/* 802FA1BC 002F5E1C 4E 80 00 20 */ blr
.global NHTTPi_getUrlEncodedSize
NHTTPi_getUrlEncodedSize:
/* 802FA1C0 002F5E20 88 03 00 00 */ lbz r0, 0(r3)
/* 802FA1C4 002F5E24 38 83 00 01 */ addi r4, r3, 1
/* 802FA1C8 002F5E28 38 60 00 00 */ li r3, 0
/* 802FA1CC 002F5E2C 7C 00 07 74 */ extsb r0, r0
/* 802FA1D0 002F5E30 48 00 00 54 */ b lbl_802FA224
lbl_802FA1D4:
/* 802FA1D4 002F5E34 2C 00 00 30 */ cmpwi r0, 0x30
/* 802FA1D8 002F5E38 41 80 00 0C */ blt lbl_802FA1E4
/* 802FA1DC 002F5E3C 2C 00 00 39 */ cmpwi r0, 0x39
/* 802FA1E0 002F5E40 40 81 00 2C */ ble lbl_802FA20C
lbl_802FA1E4:
/* 802FA1E4 002F5E44 2C 00 00 41 */ cmpwi r0, 0x41
/* 802FA1E8 002F5E48 41 80 00 0C */ blt lbl_802FA1F4
/* 802FA1EC 002F5E4C 2C 00 00 5A */ cmpwi r0, 0x5a
/* 802FA1F0 002F5E50 40 81 00 1C */ ble lbl_802FA20C
lbl_802FA1F4:
/* 802FA1F4 002F5E54 2C 00 00 61 */ cmpwi r0, 0x61
/* 802FA1F8 002F5E58 41 80 00 0C */ blt lbl_802FA204
/* 802FA1FC 002F5E5C 2C 00 00 7A */ cmpwi r0, 0x7a
/* 802FA200 002F5E60 40 81 00 0C */ ble lbl_802FA20C
lbl_802FA204:
/* 802FA204 002F5E64 2C 00 00 20 */ cmpwi r0, 0x20
/* 802FA208 002F5E68 40 82 00 0C */ bne lbl_802FA214
lbl_802FA20C:
/* 802FA20C 002F5E6C 38 63 00 01 */ addi r3, r3, 1
/* 802FA210 002F5E70 48 00 00 08 */ b lbl_802FA218
lbl_802FA214:
/* 802FA214 002F5E74 38 63 00 03 */ addi r3, r3, 3
lbl_802FA218:
/* 802FA218 002F5E78 88 04 00 00 */ lbz r0, 0(r4)
/* 802FA21C 002F5E7C 38 84 00 01 */ addi r4, r4, 1
/* 802FA220 002F5E80 7C 00 07 74 */ extsb r0, r0
lbl_802FA224:
/* 802FA224 002F5E84 2C 00 00 00 */ cmpwi r0, 0
/* 802FA228 002F5E88 40 82 FF AC */ bne lbl_802FA1D4
/* 802FA22C 002F5E8C 4E 80 00 20 */ blr
.global NHTTPi_getUrlEncodedSize2
NHTTPi_getUrlEncodedSize2:
/* 802FA230 002F5E90 88 03 00 00 */ lbz r0, 0(r3)
/* 802FA234 002F5E94 38 A3 00 01 */ addi r5, r3, 1
/* 802FA238 002F5E98 38 60 00 00 */ li r3, 0
/* 802FA23C 002F5E9C 7C 00 07 74 */ extsb r0, r0
/* 802FA240 002F5EA0 7C 89 03 A6 */ mtctr r4
/* 802FA244 002F5EA4 2C 04 00 00 */ cmpwi r4, 0
/* 802FA248 002F5EA8 4C 81 00 20 */ blelr
lbl_802FA24C:
/* 802FA24C 002F5EAC 2C 00 00 30 */ cmpwi r0, 0x30
/* 802FA250 002F5EB0 41 80 00 0C */ blt lbl_802FA25C
/* 802FA254 002F5EB4 2C 00 00 39 */ cmpwi r0, 0x39
/* 802FA258 002F5EB8 40 81 00 2C */ ble lbl_802FA284
lbl_802FA25C:
/* 802FA25C 002F5EBC 2C 00 00 41 */ cmpwi r0, 0x41
/* 802FA260 002F5EC0 41 80 00 0C */ blt lbl_802FA26C
/* 802FA264 002F5EC4 2C 00 00 5A */ cmpwi r0, 0x5a
/* 802FA268 002F5EC8 40 81 00 1C */ ble lbl_802FA284
lbl_802FA26C:
/* 802FA26C 002F5ECC 2C 00 00 61 */ cmpwi r0, 0x61
/* 802FA270 002F5ED0 41 80 00 0C */ blt lbl_802FA27C
/* 802FA274 002F5ED4 2C 00 00 7A */ cmpwi r0, 0x7a
/* 802FA278 002F5ED8 40 81 00 0C */ ble lbl_802FA284
lbl_802FA27C:
/* 802FA27C 002F5EDC 2C 00 00 20 */ cmpwi r0, 0x20
/* 802FA280 002F5EE0 40 82 00 0C */ bne lbl_802FA28C
lbl_802FA284:
/* 802FA284 002F5EE4 38 63 00 01 */ addi r3, r3, 1
/* 802FA288 002F5EE8 48 00 00 08 */ b lbl_802FA290
lbl_802FA28C:
/* 802FA28C 002F5EEC 38 63 00 03 */ addi r3, r3, 3
lbl_802FA290:
/* 802FA290 002F5EF0 88 05 00 00 */ lbz r0, 0(r5)
/* 802FA294 002F5EF4 38 A5 00 01 */ addi r5, r5, 1
/* 802FA298 002F5EF8 7C 00 07 74 */ extsb r0, r0
/* 802FA29C 002F5EFC 42 00 FF B0 */ bdnz lbl_802FA24C
/* 802FA2A0 002F5F00 4E 80 00 20 */ blr
.global NHTTPi_encodeUrlChar
NHTTPi_encodeUrlChar:
/* 802FA2A4 002F5F04 7C 80 07 74 */ extsb r0, r4
/* 802FA2A8 002F5F08 2C 00 00 20 */ cmpwi r0, 0x20
/* 802FA2AC 002F5F0C 40 82 00 14 */ bne lbl_802FA2C0
/* 802FA2B0 002F5F10 38 00 00 2B */ li r0, 0x2b
/* 802FA2B4 002F5F14 98 03 00 00 */ stb r0, 0(r3)
/* 802FA2B8 002F5F18 38 60 00 01 */ li r3, 1
/* 802FA2BC 002F5F1C 4E 80 00 20 */ blr
lbl_802FA2C0:
/* 802FA2C0 002F5F20 2C 00 00 30 */ cmpwi r0, 0x30
/* 802FA2C4 002F5F24 41 80 00 0C */ blt lbl_802FA2D0
/* 802FA2C8 002F5F28 2C 00 00 39 */ cmpwi r0, 0x39
/* 802FA2CC 002F5F2C 40 81 00 2C */ ble lbl_802FA2F8
lbl_802FA2D0:
/* 802FA2D0 002F5F30 7C 80 07 74 */ extsb r0, r4
/* 802FA2D4 002F5F34 2C 00 00 41 */ cmpwi r0, 0x41
/* 802FA2D8 002F5F38 41 80 00 0C */ blt lbl_802FA2E4
/* 802FA2DC 002F5F3C 2C 00 00 5A */ cmpwi r0, 0x5a
/* 802FA2E0 002F5F40 40 81 00 18 */ ble lbl_802FA2F8
lbl_802FA2E4:
/* 802FA2E4 002F5F44 7C 80 07 74 */ extsb r0, r4
/* 802FA2E8 002F5F48 2C 00 00 61 */ cmpwi r0, 0x61
/* 802FA2EC 002F5F4C 41 80 00 18 */ blt lbl_802FA304
/* 802FA2F0 002F5F50 2C 00 00 7A */ cmpwi r0, 0x7a
/* 802FA2F4 002F5F54 41 81 00 10 */ bgt lbl_802FA304
lbl_802FA2F8:
/* 802FA2F8 002F5F58 98 83 00 00 */ stb r4, 0(r3)
/* 802FA2FC 002F5F5C 38 60 00 01 */ li r3, 1
/* 802FA300 002F5F60 4E 80 00 20 */ blr
lbl_802FA304:
/* 802FA304 002F5F64 54 85 E7 3E */ rlwinm r5, r4, 0x1c, 0x1c, 0x1f
/* 802FA308 002F5F68 38 00 00 25 */ li r0, 0x25
/* 802FA30C 002F5F6C 2C 05 00 0A */ cmpwi r5, 0xa
/* 802FA310 002F5F70 98 03 00 00 */ stb r0, 0(r3)
/* 802FA314 002F5F74 54 84 07 3E */ clrlwi r4, r4, 0x1c
/* 802FA318 002F5F78 38 05 00 37 */ addi r0, r5, 0x37
/* 802FA31C 002F5F7C 40 80 00 08 */ bge lbl_802FA324
/* 802FA320 002F5F80 38 05 00 30 */ addi r0, r5, 0x30
lbl_802FA324:
/* 802FA324 002F5F84 2C 04 00 0A */ cmpwi r4, 0xa
/* 802FA328 002F5F88 98 03 00 01 */ stb r0, 1(r3)
/* 802FA32C 002F5F8C 38 04 00 37 */ addi r0, r4, 0x37
/* 802FA330 002F5F90 40 80 00 08 */ bge lbl_802FA338
/* 802FA334 002F5F94 38 04 00 30 */ addi r0, r4, 0x30
lbl_802FA338:
/* 802FA338 002F5F98 98 03 00 02 */ stb r0, 2(r3)
/* 802FA33C 002F5F9C 38 60 00 03 */ li r3, 3
/* 802FA340 002F5FA0 4E 80 00 20 */ blr
.global NHTTPi_strToHex
NHTTPi_strToHex:
/* 802FA344 002F5FA4 2C 04 00 08 */ cmpwi r4, 8
/* 802FA348 002F5FA8 40 81 00 0C */ ble lbl_802FA354
/* 802FA34C 002F5FAC 38 60 FF FF */ li r3, -1
/* 802FA350 002F5FB0 4E 80 00 20 */ blr
lbl_802FA354:
/* 802FA354 002F5FB4 88 03 00 00 */ lbz r0, 0(r3)
/* 802FA358 002F5FB8 38 A4 FF F8 */ addi r5, r4, -8
/* 802FA35C 002F5FBC 7C A5 00 34 */ cntlzw r5, r5
/* 802FA360 002F5FC0 7C 06 07 74 */ extsb r6, r0
/* 802FA364 002F5FC4 68 C0 00 37 */ xori r0, r6, 0x37
/* 802FA368 002F5FC8 54 A7 D9 7E */ srwi r7, r5, 5
/* 802FA36C 002F5FCC 7C 05 0E 70 */ srawi r5, r0, 1
/* 802FA370 002F5FD0 7C 00 30 38 */ and r0, r0, r6
/* 802FA374 002F5FD4 7C 00 28 50 */ subf r0, r0, r5
/* 802FA378 002F5FD8 54 00 0F FE */ srwi r0, r0, 0x1f
/* 802FA37C 002F5FDC 7C E0 00 39 */ and. r0, r7, r0
/* 802FA380 002F5FE0 41 82 00 0C */ beq lbl_802FA38C
/* 802FA384 002F5FE4 38 60 FF FF */ li r3, -1
/* 802FA388 002F5FE8 4E 80 00 20 */ blr
lbl_802FA38C:
/* 802FA38C 002F5FEC 39 60 00 00 */ li r11, 0
/* 802FA390 002F5FF0 39 80 00 00 */ li r12, 0
/* 802FA394 002F5FF4 39 20 00 41 */ li r9, 0x41
/* 802FA398 002F5FF8 39 00 00 00 */ li r8, 0
/* 802FA39C 002F5FFC 38 C0 00 5A */ li r6, 0x5a
/* 802FA3A0 002F6000 7C 89 03 A6 */ mtctr r4
/* 802FA3A4 002F6004 2C 04 00 00 */ cmpwi r4, 0
/* 802FA3A8 002F6008 40 81 00 B8 */ ble lbl_802FA460
lbl_802FA3AC:
/* 802FA3AC 002F600C 88 03 00 00 */ lbz r0, 0(r3)
/* 802FA3B0 002F6010 7C 0A 07 74 */ extsb r10, r0
/* 802FA3B4 002F6014 7D 45 FE 70 */ srawi r5, r10, 0x1f
/* 802FA3B8 002F6018 7C 09 50 10 */ subfc r0, r9, r10
/* 802FA3BC 002F601C 55 44 0F FE */ srwi r4, r10, 0x1f
/* 802FA3C0 002F6020 7C E5 41 14 */ adde r7, r5, r8
/* 802FA3C4 002F6024 7C C5 FE 70 */ srawi r5, r6, 0x1f
/* 802FA3C8 002F6028 7C 0A 30 10 */ subfc r0, r10, r6
/* 802FA3CC 002F602C 7C 05 21 14 */ adde r0, r5, r4
/* 802FA3D0 002F6030 7C E0 00 39 */ and. r0, r7, r0
/* 802FA3D4 002F6034 41 82 00 08 */ beq lbl_802FA3DC
/* 802FA3D8 002F6038 39 4A 00 20 */ addi r10, r10, 0x20
lbl_802FA3DC:
/* 802FA3DC 002F603C 7D 44 07 74 */ extsb r4, r10
/* 802FA3E0 002F6040 2C 04 00 30 */ cmpwi r4, 0x30
/* 802FA3E4 002F6044 41 80 00 20 */ blt lbl_802FA404
/* 802FA3E8 002F6048 2C 04 00 39 */ cmpwi r4, 0x39
/* 802FA3EC 002F604C 41 81 00 18 */ bgt lbl_802FA404
/* 802FA3F0 002F6050 55 60 20 36 */ slwi r0, r11, 4
/* 802FA3F4 002F6054 39 80 00 01 */ li r12, 1
/* 802FA3F8 002F6058 7C 84 02 14 */ add r4, r4, r0
/* 802FA3FC 002F605C 39 64 FF D0 */ addi r11, r4, -48
/* 802FA400 002F6060 48 00 00 58 */ b lbl_802FA458
lbl_802FA404:
/* 802FA404 002F6064 2C 04 00 61 */ cmpwi r4, 0x61
/* 802FA408 002F6068 41 80 00 20 */ blt lbl_802FA428
/* 802FA40C 002F606C 2C 04 00 66 */ cmpwi r4, 0x66
/* 802FA410 002F6070 41 81 00 18 */ bgt lbl_802FA428
/* 802FA414 002F6074 55 60 20 36 */ slwi r0, r11, 4
/* 802FA418 002F6078 39 80 00 01 */ li r12, 1
/* 802FA41C 002F607C 7C 84 02 14 */ add r4, r4, r0
/* 802FA420 002F6080 39 64 FF A9 */ addi r11, r4, -87
/* 802FA424 002F6084 48 00 00 34 */ b lbl_802FA458
lbl_802FA428:
/* 802FA428 002F6088 2C 0C 00 00 */ cmpwi r12, 0
/* 802FA42C 002F608C 41 82 00 14 */ beq lbl_802FA440
/* 802FA430 002F6090 2C 04 00 20 */ cmpwi r4, 0x20
/* 802FA434 002F6094 41 82 00 2C */ beq lbl_802FA460
/* 802FA438 002F6098 2C 04 00 00 */ cmpwi r4, 0
/* 802FA43C 002F609C 41 82 00 24 */ beq lbl_802FA460
lbl_802FA440:
/* 802FA440 002F60A0 2C 0C 00 00 */ cmpwi r12, 0
/* 802FA444 002F60A4 40 82 00 0C */ bne lbl_802FA450
/* 802FA448 002F60A8 2C 04 00 20 */ cmpwi r4, 0x20
/* 802FA44C 002F60AC 41 82 00 0C */ beq lbl_802FA458
lbl_802FA450:
/* 802FA450 002F60B0 38 60 FF FF */ li r3, -1
/* 802FA454 002F60B4 4E 80 00 20 */ blr
lbl_802FA458:
/* 802FA458 002F60B8 38 63 00 01 */ addi r3, r3, 1
/* 802FA45C 002F60BC 42 00 FF 50 */ bdnz lbl_802FA3AC
lbl_802FA460:
/* 802FA460 002F60C0 7D 63 5B 78 */ mr r3, r11
/* 802FA464 002F60C4 4E 80 00 20 */ blr
.global NHTTPi_strToInt
NHTTPi_strToInt:
/* 802FA468 002F60C8 2C 04 00 0A */ cmpwi r4, 0xa
/* 802FA46C 002F60CC 40 81 00 0C */ ble lbl_802FA478
/* 802FA470 002F60D0 38 60 FF FF */ li r3, -1
/* 802FA474 002F60D4 4E 80 00 20 */ blr
lbl_802FA478:
/* 802FA478 002F60D8 38 A0 00 00 */ li r5, 0
/* 802FA47C 002F60DC 38 C0 00 00 */ li r6, 0
/* 802FA480 002F60E0 7C 89 03 A6 */ mtctr r4
/* 802FA484 002F60E4 2C 04 00 00 */ cmpwi r4, 0
/* 802FA488 002F60E8 40 81 00 78 */ ble lbl_802FA500
lbl_802FA48C:
/* 802FA48C 002F60EC 88 03 00 00 */ lbz r0, 0(r3)
/* 802FA490 002F60F0 2C 06 00 00 */ cmpwi r6, 0
/* 802FA494 002F60F4 7C 04 07 74 */ extsb r4, r0
/* 802FA498 002F60F8 41 82 00 14 */ beq lbl_802FA4AC
/* 802FA49C 002F60FC 2C 04 00 20 */ cmpwi r4, 0x20
/* 802FA4A0 002F6100 41 82 00 60 */ beq lbl_802FA500
/* 802FA4A4 002F6104 2C 04 00 00 */ cmpwi r4, 0
/* 802FA4A8 002F6108 41 82 00 58 */ beq lbl_802FA500
lbl_802FA4AC:
/* 802FA4AC 002F610C 2C 06 00 00 */ cmpwi r6, 0
/* 802FA4B0 002F6110 40 82 00 0C */ bne lbl_802FA4BC
/* 802FA4B4 002F6114 2C 04 00 20 */ cmpwi r4, 0x20
/* 802FA4B8 002F6118 41 82 00 40 */ beq lbl_802FA4F8
lbl_802FA4BC:
/* 802FA4BC 002F611C 2C 04 00 30 */ cmpwi r4, 0x30
/* 802FA4C0 002F6120 41 80 00 0C */ blt lbl_802FA4CC
/* 802FA4C4 002F6124 2C 04 00 39 */ cmpwi r4, 0x39
/* 802FA4C8 002F6128 40 81 00 0C */ ble lbl_802FA4D4
lbl_802FA4CC:
/* 802FA4CC 002F612C 38 60 FF FF */ li r3, -1
/* 802FA4D0 002F6130 4E 80 00 20 */ blr
lbl_802FA4D4:
/* 802FA4D4 002F6134 1C 05 00 0A */ mulli r0, r5, 0xa
/* 802FA4D8 002F6138 7C A7 2B 78 */ mr r7, r5
/* 802FA4DC 002F613C 38 C0 00 01 */ li r6, 1
/* 802FA4E0 002F6140 7C 84 02 14 */ add r4, r4, r0
/* 802FA4E4 002F6144 38 A4 FF D0 */ addi r5, r4, -48
/* 802FA4E8 002F6148 7C 07 28 00 */ cmpw r7, r5
/* 802FA4EC 002F614C 40 81 00 0C */ ble lbl_802FA4F8
/* 802FA4F0 002F6150 38 60 FF FF */ li r3, -1
/* 802FA4F4 002F6154 4E 80 00 20 */ blr
lbl_802FA4F8:
/* 802FA4F8 002F6158 38 63 00 01 */ addi r3, r3, 1
/* 802FA4FC 002F615C 42 00 FF 90 */ bdnz lbl_802FA48C
lbl_802FA500:
/* 802FA500 002F6160 7C A3 2B 78 */ mr r3, r5
/* 802FA504 002F6164 4E 80 00 20 */ blr
.global NHTTPi_intToStr
NHTTPi_intToStr:
/* 802FA508 002F6168 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 802FA50C 002F616C 7C 08 02 A6 */ mflr r0
/* 802FA510 002F6170 90 01 00 54 */ stw r0, 0x54(r1)
/* 802FA514 002F6174 39 61 00 50 */ addi r11, r1, 0x50
/* 802FA518 002F6178 4B EC CC 09 */ bl _savegpr_25
/* 802FA51C 002F617C 3C E0 80 40 */ lis r7, lbl_80400004@ha
/* 802FA520 002F6180 87 A7 E1 20 */ lwzu r29, -0x1ee0(r7)
/* 802FA524 002F6184 38 00 00 03 */ li r0, 3
/* 802FA528 002F6188 7C 65 1B 78 */ mr r5, r3
/* 802FA52C 002F618C 83 C7 00 04 */ lwz r30, lbl_80400004@l(r7)
/* 802FA530 002F6190 3B 81 00 08 */ addi r28, r1, 8
/* 802FA534 002F6194 83 E7 00 08 */ lwz r31, 8(r7)
/* 802FA538 002F6198 3B 20 00 00 */ li r25, 0
/* 802FA53C 002F619C 81 87 00 0C */ lwz r12, 0xc(r7)
/* 802FA540 002F61A0 3B 40 00 00 */ li r26, 0
/* 802FA544 002F61A4 81 67 00 10 */ lwz r11, 0x10(r7)
/* 802FA548 002F61A8 3B 60 00 00 */ li r27, 0
/* 802FA54C 002F61AC 81 47 00 14 */ lwz r10, 0x14(r7)
/* 802FA550 002F61B0 38 C0 00 30 */ li r6, 0x30
/* 802FA554 002F61B4 81 27 00 18 */ lwz r9, 0x18(r7)
/* 802FA558 002F61B8 81 07 00 1C */ lwz r8, 0x1c(r7)
/* 802FA55C 002F61BC 80 E7 00 20 */ lwz r7, 0x20(r7)
/* 802FA560 002F61C0 93 A1 00 08 */ stw r29, 8(r1)
/* 802FA564 002F61C4 93 C1 00 0C */ stw r30, 0xc(r1)
/* 802FA568 002F61C8 93 E1 00 10 */ stw r31, 0x10(r1)
/* 802FA56C 002F61CC 91 81 00 14 */ stw r12, 0x14(r1)
/* 802FA570 002F61D0 91 61 00 18 */ stw r11, 0x18(r1)
/* 802FA574 002F61D4 91 41 00 1C */ stw r10, 0x1c(r1)
/* 802FA578 002F61D8 91 21 00 20 */ stw r9, 0x20(r1)
/* 802FA57C 002F61DC 91 01 00 24 */ stw r8, 0x24(r1)
/* 802FA580 002F61E0 90 E1 00 28 */ stw r7, 0x28(r1)
/* 802FA584 002F61E4 7C 09 03 A6 */ mtctr r0
lbl_802FA588:
/* 802FA588 002F61E8 80 1C 00 00 */ lwz r0, 0(r28)
/* 802FA58C 002F61EC 7C 04 00 40 */ cmplw r4, r0
/* 802FA590 002F61F0 41 80 00 28 */ blt lbl_802FA5B8
/* 802FA594 002F61F4 7D 04 03 96 */ divwu r8, r4, r0
/* 802FA598 002F61F8 3B 40 00 01 */ li r26, 1
/* 802FA59C 002F61FC 3B 39 00 01 */ addi r25, r25, 1
/* 802FA5A0 002F6200 7C E8 01 D6 */ mullw r7, r8, r0
/* 802FA5A4 002F6204 38 08 00 30 */ addi r0, r8, 0x30
/* 802FA5A8 002F6208 98 05 00 00 */ stb r0, 0(r5)
/* 802FA5AC 002F620C 38 A5 00 01 */ addi r5, r5, 1
/* 802FA5B0 002F6210 7C 87 20 50 */ subf r4, r7, r4
/* 802FA5B4 002F6214 48 00 00 18 */ b lbl_802FA5CC
lbl_802FA5B8:
/* 802FA5B8 002F6218 2C 1A 00 00 */ cmpwi r26, 0
/* 802FA5BC 002F621C 41 82 00 10 */ beq lbl_802FA5CC
/* 802FA5C0 002F6220 98 C5 00 00 */ stb r6, 0(r5)
/* 802FA5C4 002F6224 3B 39 00 01 */ addi r25, r25, 1
/* 802FA5C8 002F6228 38 A5 00 01 */ addi r5, r5, 1
lbl_802FA5CC:
/* 802FA5CC 002F622C 80 1C 00 04 */ lwz r0, 4(r28)
/* 802FA5D0 002F6230 7C 04 00 40 */ cmplw r4, r0
/* 802FA5D4 002F6234 41 80 00 28 */ blt lbl_802FA5FC
/* 802FA5D8 002F6238 7D 04 03 96 */ divwu r8, r4, r0
/* 802FA5DC 002F623C 3B 40 00 01 */ li r26, 1
/* 802FA5E0 002F6240 3B 39 00 01 */ addi r25, r25, 1
/* 802FA5E4 002F6244 7C E8 01 D6 */ mullw r7, r8, r0
/* 802FA5E8 002F6248 38 08 00 30 */ addi r0, r8, 0x30
/* 802FA5EC 002F624C 98 05 00 00 */ stb r0, 0(r5)
/* 802FA5F0 002F6250 38 A5 00 01 */ addi r5, r5, 1
/* 802FA5F4 002F6254 7C 87 20 50 */ subf r4, r7, r4
/* 802FA5F8 002F6258 48 00 00 18 */ b lbl_802FA610
lbl_802FA5FC:
/* 802FA5FC 002F625C 2C 1A 00 00 */ cmpwi r26, 0
/* 802FA600 002F6260 41 82 00 10 */ beq lbl_802FA610
/* 802FA604 002F6264 98 C5 00 00 */ stb r6, 0(r5)
/* 802FA608 002F6268 3B 39 00 01 */ addi r25, r25, 1
/* 802FA60C 002F626C 38 A5 00 01 */ addi r5, r5, 1
lbl_802FA610:
/* 802FA610 002F6270 80 1C 00 08 */ lwz r0, 8(r28)
/* 802FA614 002F6274 7C 04 00 40 */ cmplw r4, r0
/* 802FA618 002F6278 41 80 00 28 */ blt lbl_802FA640
/* 802FA61C 002F627C 7D 04 03 96 */ divwu r8, r4, r0
/* 802FA620 002F6280 3B 40 00 01 */ li r26, 1
/* 802FA624 002F6284 3B 39 00 01 */ addi r25, r25, 1
/* 802FA628 002F6288 7C E8 01 D6 */ mullw r7, r8, r0
/* 802FA62C 002F628C 38 08 00 30 */ addi r0, r8, 0x30
/* 802FA630 002F6290 98 05 00 00 */ stb r0, 0(r5)
/* 802FA634 002F6294 38 A5 00 01 */ addi r5, r5, 1
/* 802FA638 002F6298 7C 87 20 50 */ subf r4, r7, r4
/* 802FA63C 002F629C 48 00 00 18 */ b lbl_802FA654
lbl_802FA640:
/* 802FA640 002F62A0 2C 1A 00 00 */ cmpwi r26, 0
/* 802FA644 002F62A4 41 82 00 10 */ beq lbl_802FA654
/* 802FA648 002F62A8 98 C5 00 00 */ stb r6, 0(r5)
/* 802FA64C 002F62AC 3B 39 00 01 */ addi r25, r25, 1
/* 802FA650 002F62B0 38 A5 00 01 */ addi r5, r5, 1
lbl_802FA654:
/* 802FA654 002F62B4 3B 9C 00 0C */ addi r28, r28, 0xc
/* 802FA658 002F62B8 3B 7B 00 02 */ addi r27, r27, 2
/* 802FA65C 002F62BC 42 00 FF 2C */ bdnz lbl_802FA588
/* 802FA660 002F62C0 38 04 00 30 */ addi r0, r4, 0x30
/* 802FA664 002F62C4 39 61 00 50 */ addi r11, r1, 0x50
/* 802FA668 002F62C8 7C 03 C9 AE */ stbx r0, r3, r25
/* 802FA66C 002F62CC 38 79 00 01 */ addi r3, r25, 1
/* 802FA670 002F62D0 4B EC CA FD */ bl _restgpr_25
/* 802FA674 002F62D4 80 01 00 54 */ lwz r0, 0x54(r1)
/* 802FA678 002F62D8 7C 08 03 A6 */ mtlr r0
/* 802FA67C 002F62DC 38 21 00 50 */ addi r1, r1, 0x50
/* 802FA680 002F62E0 4E 80 00 20 */ blr
.global NHTTPi_compareToken
NHTTPi_compareToken:
/* 802FA684 002F62E4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802FA688 002F62E8 39 40 00 41 */ li r10, 0x41
/* 802FA68C 002F62EC 38 E0 00 5A */ li r7, 0x5a
/* 802FA690 002F62F0 39 20 00 00 */ li r9, 0
/* 802FA694 002F62F4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802FA698 002F62F8 48 00 00 24 */ b lbl_802FA6BC
lbl_802FA69C:
/* 802FA69C 002F62FC 7F E0 07 75 */ extsb. r0, r31
/* 802FA6A0 002F6300 41 82 00 0C */ beq lbl_802FA6AC
/* 802FA6A4 002F6304 2C 00 00 20 */ cmpwi r0, 0x20
/* 802FA6A8 002F6308 40 82 00 0C */ bne lbl_802FA6B4
lbl_802FA6AC:
/* 802FA6AC 002F630C 38 60 00 00 */ li r3, 0
/* 802FA6B0 002F6310 48 00 00 7C */ b lbl_802FA72C
lbl_802FA6B4:
/* 802FA6B4 002F6314 38 63 00 01 */ addi r3, r3, 1
/* 802FA6B8 002F6318 38 84 00 01 */ addi r4, r4, 1
lbl_802FA6BC:
/* 802FA6BC 002F631C 88 04 00 00 */ lbz r0, 0(r4)
/* 802FA6C0 002F6320 7C 0B 07 74 */ extsb r11, r0
/* 802FA6C4 002F6324 7D 66 FE 70 */ srawi r6, r11, 0x1f
/* 802FA6C8 002F6328 7C 0A 58 10 */ subfc r0, r10, r11
/* 802FA6CC 002F632C 55 65 0F FE */ srwi r5, r11, 0x1f
/* 802FA6D0 002F6330 7D 06 49 14 */ adde r8, r6, r9
/* 802FA6D4 002F6334 39 8B 00 20 */ addi r12, r11, 0x20
/* 802FA6D8 002F6338 7C E6 FE 70 */ srawi r6, r7, 0x1f
/* 802FA6DC 002F633C 7C 0B 38 10 */ subfc r0, r11, r7
/* 802FA6E0 002F6340 7C 06 29 14 */ adde r0, r6, r5
/* 802FA6E4 002F6344 7D 00 00 39 */ and. r0, r8, r0
/* 802FA6E8 002F6348 40 82 00 08 */ bne lbl_802FA6F0
/* 802FA6EC 002F634C 7D 6C 5B 78 */ mr r12, r11
lbl_802FA6F0:
/* 802FA6F0 002F6350 8B E3 00 00 */ lbz r31, 0(r3)
/* 802FA6F4 002F6354 7F EB 07 74 */ extsb r11, r31
/* 802FA6F8 002F6358 7D 66 FE 70 */ srawi r6, r11, 0x1f
/* 802FA6FC 002F635C 7C 0A 58 10 */ subfc r0, r10, r11
/* 802FA700 002F6360 55 65 0F FE */ srwi r5, r11, 0x1f
/* 802FA704 002F6364 7D 06 49 14 */ adde r8, r6, r9
/* 802FA708 002F6368 7C E6 FE 70 */ srawi r6, r7, 0x1f
/* 802FA70C 002F636C 7C 0B 38 10 */ subfc r0, r11, r7
/* 802FA710 002F6370 7C 06 29 14 */ adde r0, r6, r5
/* 802FA714 002F6374 7D 00 00 39 */ and. r0, r8, r0
/* 802FA718 002F6378 41 82 00 08 */ beq lbl_802FA720
/* 802FA71C 002F637C 39 6B 00 20 */ addi r11, r11, 0x20
lbl_802FA720:
/* 802FA720 002F6380 7C 0B 60 00 */ cmpw r11, r12
/* 802FA724 002F6384 41 82 FF 78 */ beq lbl_802FA69C
/* 802FA728 002F6388 38 60 FF FF */ li r3, -1
lbl_802FA72C:
/* 802FA72C 002F638C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802FA730 002F6390 38 21 00 10 */ addi r1, r1, 0x10
/* 802FA734 002F6394 4E 80 00 20 */ blr
.global NHTTPi_strtonum
NHTTPi_strtonum:
/* 802FA738 002F6398 39 80 00 00 */ li r12, 0
/* 802FA73C 002F639C 39 60 00 00 */ li r11, 0
/* 802FA740 002F63A0 39 20 00 30 */ li r9, 0x30
/* 802FA744 002F63A4 39 00 00 00 */ li r8, 0
/* 802FA748 002F63A8 38 C0 00 39 */ li r6, 0x39
/* 802FA74C 002F63AC 7C 89 03 A6 */ mtctr r4
/* 802FA750 002F63B0 2C 04 00 00 */ cmpwi r4, 0
/* 802FA754 002F63B4 41 82 00 60 */ beq lbl_802FA7B4
lbl_802FA758:
/* 802FA758 002F63B8 88 03 00 00 */ lbz r0, 0(r3)
/* 802FA75C 002F63BC 7C 0A 07 74 */ extsb r10, r0
/* 802FA760 002F63C0 2C 0A 00 20 */ cmpwi r10, 0x20
/* 802FA764 002F63C4 41 82 00 48 */ beq lbl_802FA7AC
/* 802FA768 002F63C8 7D 45 FE 70 */ srawi r5, r10, 0x1f
/* 802FA76C 002F63CC 55 44 0F FE */ srwi r4, r10, 0x1f
/* 802FA770 002F63D0 7C 09 50 10 */ subfc r0, r9, r10
/* 802FA774 002F63D4 7C E5 41 14 */ adde r7, r5, r8
/* 802FA778 002F63D8 7C C5 FE 70 */ srawi r5, r6, 0x1f
/* 802FA77C 002F63DC 7C 0A 30 10 */ subfc r0, r10, r6
/* 802FA780 002F63E0 7C 05 21 14 */ adde r0, r5, r4
/* 802FA784 002F63E4 7C E0 00 39 */ and. r0, r7, r0
/* 802FA788 002F63E8 41 82 00 24 */ beq lbl_802FA7AC
/* 802FA78C 002F63EC 1C 0B 00 0A */ mulli r0, r11, 0xa
/* 802FA790 002F63F0 39 8C 00 01 */ addi r12, r12, 1
/* 802FA794 002F63F4 2C 0C 00 09 */ cmpwi r12, 9
/* 802FA798 002F63F8 7C 8A 02 14 */ add r4, r10, r0
/* 802FA79C 002F63FC 39 64 FF D0 */ addi r11, r4, -48
/* 802FA7A0 002F6400 40 81 00 0C */ ble lbl_802FA7AC
/* 802FA7A4 002F6404 38 60 FF FF */ li r3, -1
/* 802FA7A8 002F6408 4E 80 00 20 */ blr
lbl_802FA7AC:
/* 802FA7AC 002F640C 38 63 00 01 */ addi r3, r3, 1
/* 802FA7B0 002F6410 42 00 FF A8 */ bdnz lbl_802FA758
lbl_802FA7B4:
/* 802FA7B4 002F6414 2C 0C 00 00 */ cmpwi r12, 0
/* 802FA7B8 002F6418 38 60 FF FF */ li r3, -1
/* 802FA7BC 002F641C 4D 82 00 20 */ beqlr
/* 802FA7C0 002F6420 7D 63 5B 78 */ mr r3, r11
/* 802FA7C4 002F6424 4E 80 00 20 */ blr
.global NHTTPi_memfind
NHTTPi_memfind:
/* 802FA7C8 002F6428 7C 04 30 00 */ cmpw r4, r6
/* 802FA7CC 002F642C 40 80 00 0C */ bge lbl_802FA7D8
/* 802FA7D0 002F6430 38 60 FF FF */ li r3, -1
/* 802FA7D4 002F6434 4E 80 00 20 */ blr
lbl_802FA7D8:
/* 802FA7D8 002F6438 7C E6 20 50 */ subf r7, r6, r4
/* 802FA7DC 002F643C 7C 64 1B 78 */ mr r4, r3
/* 802FA7E0 002F6440 39 47 00 01 */ addi r10, r7, 1
/* 802FA7E4 002F6444 39 60 00 00 */ li r11, 0
/* 802FA7E8 002F6448 48 00 00 7C */ b lbl_802FA864
lbl_802FA7EC:
/* 802FA7EC 002F644C 88 E5 00 00 */ lbz r7, 0(r5)
/* 802FA7F0 002F6450 88 04 00 00 */ lbz r0, 0(r4)
/* 802FA7F4 002F6454 7C E7 07 74 */ extsb r7, r7
/* 802FA7F8 002F6458 7C 00 07 74 */ extsb r0, r0
/* 802FA7FC 002F645C 7C 07 00 00 */ cmpw r7, r0
/* 802FA800 002F6460 40 82 00 5C */ bne lbl_802FA85C
/* 802FA804 002F6464 7C E3 5A 14 */ add r7, r3, r11
/* 802FA808 002F6468 38 06 FF FF */ addi r0, r6, -1
/* 802FA80C 002F646C 39 07 00 01 */ addi r8, r7, 1
/* 802FA810 002F6470 39 80 00 01 */ li r12, 1
/* 802FA814 002F6474 38 E5 00 01 */ addi r7, r5, 1
/* 802FA818 002F6478 7C 09 03 A6 */ mtctr r0
/* 802FA81C 002F647C 2C 06 00 01 */ cmpwi r6, 1
/* 802FA820 002F6480 40 81 00 2C */ ble lbl_802FA84C
lbl_802FA824:
/* 802FA824 002F6484 89 28 00 00 */ lbz r9, 0(r8)
/* 802FA828 002F6488 88 07 00 00 */ lbz r0, 0(r7)
/* 802FA82C 002F648C 7D 29 07 74 */ extsb r9, r9
/* 802FA830 002F6490 7C 00 07 74 */ extsb r0, r0
/* 802FA834 002F6494 7C 09 00 00 */ cmpw r9, r0
/* 802FA838 002F6498 40 82 00 14 */ bne lbl_802FA84C
/* 802FA83C 002F649C 39 8C 00 01 */ addi r12, r12, 1
/* 802FA840 002F64A0 38 E7 00 01 */ addi r7, r7, 1
/* 802FA844 002F64A4 39 08 00 01 */ addi r8, r8, 1
/* 802FA848 002F64A8 42 00 FF DC */ bdnz lbl_802FA824
lbl_802FA84C:
/* 802FA84C 002F64AC 7C 0C 30 00 */ cmpw r12, r6
/* 802FA850 002F64B0 40 82 00 0C */ bne lbl_802FA85C
/* 802FA854 002F64B4 38 60 00 00 */ li r3, 0
/* 802FA858 002F64B8 4E 80 00 20 */ blr
lbl_802FA85C:
/* 802FA85C 002F64BC 39 6B 00 01 */ addi r11, r11, 1
/* 802FA860 002F64C0 38 84 00 01 */ addi r4, r4, 1
lbl_802FA864:
/* 802FA864 002F64C4 7C 0B 50 00 */ cmpw r11, r10
/* 802FA868 002F64C8 41 80 FF 84 */ blt lbl_802FA7EC
/* 802FA86C 002F64CC 38 60 FF FF */ li r3, -1
/* 802FA870 002F64D0 4E 80 00 20 */ blr
.global NHTTPi_Base64Encode
NHTTPi_Base64Encode:
/* 802FA874 002F64D4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802FA878 002F64D8 7C 08 02 A6 */ mflr r0
/* 802FA87C 002F64DC 90 01 00 24 */ stw r0, 0x24(r1)
/* 802FA880 002F64E0 39 61 00 20 */ addi r11, r1, 0x20
/* 802FA884 002F64E4 4B EC C8 A5 */ bl _savegpr_27
/* 802FA888 002F64E8 7C 7C 1B 78 */ mr r28, r3
/* 802FA88C 002F64EC 7C 9D 23 78 */ mr r29, r4
/* 802FA890 002F64F0 3F E0 80 44 */ lis r31, lbl_804460C8@ha
/* 802FA894 002F64F4 7F 9E E3 78 */ mr r30, r28
/* 802FA898 002F64F8 7F A3 EB 78 */ mr r3, r29
/* 802FA89C 002F64FC 3B FF 60 C8 */ addi r31, r31, lbl_804460C8@l
/* 802FA8A0 002F6500 4B EC C2 C5 */ bl strlen
/* 802FA8A4 002F6504 38 83 00 02 */ addi r4, r3, 2
/* 802FA8A8 002F6508 38 00 00 03 */ li r0, 3
/* 802FA8AC 002F650C 7C 84 03 96 */ divwu r4, r4, r0
/* 802FA8B0 002F6510 2C 03 00 00 */ cmpwi r3, 0
/* 802FA8B4 002F6514 3B 60 00 00 */ li r27, 0
/* 802FA8B8 002F6518 40 81 01 40 */ ble lbl_802FA9F8
/* 802FA8BC 002F651C 54 80 F8 7F */ rlwinm. r0, r4, 0x1f, 1, 0x1f
/* 802FA8C0 002F6520 1F 64 00 03 */ mulli r27, r4, 3
/* 802FA8C4 002F6524 7C 09 03 A6 */ mtctr r0
/* 802FA8C8 002F6528 41 82 00 C8 */ beq lbl_802FA990
lbl_802FA8CC:
/* 802FA8CC 002F652C 89 9D 00 00 */ lbz r12, 0(r29)
/* 802FA8D0 002F6530 89 5D 00 01 */ lbz r10, 1(r29)
/* 802FA8D4 002F6534 7D 8B 07 74 */ extsb r11, r12
/* 802FA8D8 002F6538 55 89 26 B6 */ rlwinm r9, r12, 4, 0x1a, 0x1b
/* 802FA8DC 002F653C 7D 6B 16 70 */ srawi r11, r11, 2
/* 802FA8E0 002F6540 88 FD 00 02 */ lbz r7, 2(r29)
/* 802FA8E4 002F6544 7D 7F 58 AE */ lbzx r11, r31, r11
/* 802FA8E8 002F6548 7D 45 07 74 */ extsb r5, r10
/* 802FA8EC 002F654C 55 48 16 BA */ rlwinm r8, r10, 2, 0x1a, 0x1d
/* 802FA8F0 002F6550 7D 3F 4A 14 */ add r9, r31, r9
/* 802FA8F4 002F6554 99 7E 00 00 */ stb r11, 0(r30)
/* 802FA8F8 002F6558 7C AA 26 70 */ srawi r10, r5, 4
/* 802FA8FC 002F655C 7C E6 07 74 */ extsb r6, r7
/* 802FA900 002F6560 54 E0 06 BE */ clrlwi r0, r7, 0x1a
/* 802FA904 002F6564 7D 2A 48 AE */ lbzx r9, r10, r9
/* 802FA908 002F6568 7C BF 42 14 */ add r5, r31, r8
/* 802FA90C 002F656C 89 9D 00 03 */ lbz r12, 3(r29)
/* 802FA910 002F6570 7C C6 36 70 */ srawi r6, r6, 6
/* 802FA914 002F6574 99 3E 00 01 */ stb r9, 1(r30)
/* 802FA918 002F6578 7D 8B 07 74 */ extsb r11, r12
/* 802FA91C 002F657C 89 5D 00 04 */ lbz r10, 4(r29)
/* 802FA920 002F6580 7C A6 28 AE */ lbzx r5, r6, r5
/* 802FA924 002F6584 55 89 26 B6 */ rlwinm r9, r12, 4, 0x1a, 0x1b
/* 802FA928 002F6588 88 FD 00 05 */ lbz r7, 5(r29)
/* 802FA92C 002F658C 7D 6B 16 70 */ srawi r11, r11, 2
/* 802FA930 002F6590 98 BE 00 02 */ stb r5, 2(r30)
/* 802FA934 002F6594 7D 45 07 74 */ extsb r5, r10
/* 802FA938 002F6598 55 48 16 BA */ rlwinm r8, r10, 2, 0x1a, 0x1d
/* 802FA93C 002F659C 7D 3F 4A 14 */ add r9, r31, r9
/* 802FA940 002F65A0 7C 1F 00 AE */ lbzx r0, r31, r0
/* 802FA944 002F65A4 7C AA 26 70 */ srawi r10, r5, 4
/* 802FA948 002F65A8 7C E6 07 74 */ extsb r6, r7
/* 802FA94C 002F65AC 7C BF 42 14 */ add r5, r31, r8
/* 802FA950 002F65B0 98 1E 00 03 */ stb r0, 3(r30)
/* 802FA954 002F65B4 7C C6 36 70 */ srawi r6, r6, 6
/* 802FA958 002F65B8 54 E0 06 BE */ clrlwi r0, r7, 0x1a
/* 802FA95C 002F65BC 3B BD 00 06 */ addi r29, r29, 6
/* 802FA960 002F65C0 7D 7F 58 AE */ lbzx r11, r31, r11
/* 802FA964 002F65C4 99 7E 00 04 */ stb r11, 4(r30)
/* 802FA968 002F65C8 7D 2A 48 AE */ lbzx r9, r10, r9
/* 802FA96C 002F65CC 99 3E 00 05 */ stb r9, 5(r30)
/* 802FA970 002F65D0 7C A6 28 AE */ lbzx r5, r6, r5
/* 802FA974 002F65D4 98 BE 00 06 */ stb r5, 6(r30)
/* 802FA978 002F65D8 7C 1F 00 AE */ lbzx r0, r31, r0
/* 802FA97C 002F65DC 98 1E 00 07 */ stb r0, 7(r30)
/* 802FA980 002F65E0 3B DE 00 08 */ addi r30, r30, 8
/* 802FA984 002F65E4 42 00 FF 48 */ bdnz lbl_802FA8CC
/* 802FA988 002F65E8 70 84 00 01 */ andi. r4, r4, 1
/* 802FA98C 002F65EC 41 82 00 6C */ beq lbl_802FA9F8
lbl_802FA990:
/* 802FA990 002F65F0 7C 89 03 A6 */ mtctr r4
lbl_802FA994:
/* 802FA994 002F65F4 89 9D 00 00 */ lbz r12, 0(r29)
/* 802FA998 002F65F8 89 5D 00 01 */ lbz r10, 1(r29)
/* 802FA99C 002F65FC 7D 8B 07 74 */ extsb r11, r12
/* 802FA9A0 002F6600 88 FD 00 02 */ lbz r7, 2(r29)
/* 802FA9A4 002F6604 7D 6B 16 70 */ srawi r11, r11, 2
/* 802FA9A8 002F6608 55 89 26 B6 */ rlwinm r9, r12, 4, 0x1a, 0x1b
/* 802FA9AC 002F660C 7D 7F 58 AE */ lbzx r11, r31, r11
/* 802FA9B0 002F6610 7D 45 07 74 */ extsb r5, r10
/* 802FA9B4 002F6614 55 48 16 BA */ rlwinm r8, r10, 2, 0x1a, 0x1d
/* 802FA9B8 002F6618 7D 3F 4A 14 */ add r9, r31, r9
/* 802FA9BC 002F661C 99 7E 00 00 */ stb r11, 0(r30)
/* 802FA9C0 002F6620 7C AA 26 70 */ srawi r10, r5, 4
/* 802FA9C4 002F6624 7C E6 07 74 */ extsb r6, r7
/* 802FA9C8 002F6628 7C BF 42 14 */ add r5, r31, r8
/* 802FA9CC 002F662C 7D 2A 48 AE */ lbzx r9, r10, r9
/* 802FA9D0 002F6630 7C C6 36 70 */ srawi r6, r6, 6
/* 802FA9D4 002F6634 54 E0 06 BE */ clrlwi r0, r7, 0x1a
/* 802FA9D8 002F6638 3B BD 00 03 */ addi r29, r29, 3
/* 802FA9DC 002F663C 99 3E 00 01 */ stb r9, 1(r30)
/* 802FA9E0 002F6640 7C A6 28 AE */ lbzx r5, r6, r5
/* 802FA9E4 002F6644 98 BE 00 02 */ stb r5, 2(r30)
/* 802FA9E8 002F6648 7C 1F 00 AE */ lbzx r0, r31, r0
/* 802FA9EC 002F664C 98 1E 00 03 */ stb r0, 3(r30)
/* 802FA9F0 002F6650 3B DE 00 04 */ addi r30, r30, 4
/* 802FA9F4 002F6654 42 00 FF A0 */ bdnz lbl_802FA994
lbl_802FA9F8:
/* 802FA9F8 002F6658 38 03 00 01 */ addi r0, r3, 1
/* 802FA9FC 002F665C 7C 1B 00 00 */ cmpw r27, r0
/* 802FAA00 002F6660 40 82 00 10 */ bne lbl_802FAA10
/* 802FAA04 002F6664 38 00 00 3D */ li r0, 0x3d
/* 802FAA08 002F6668 98 1E FF FF */ stb r0, -1(r30)
/* 802FAA0C 002F666C 48 00 00 1C */ b lbl_802FAA28
lbl_802FAA10:
/* 802FAA10 002F6670 38 03 00 02 */ addi r0, r3, 2
/* 802FAA14 002F6674 7C 1B 00 00 */ cmpw r27, r0
/* 802FAA18 002F6678 40 82 00 10 */ bne lbl_802FAA28
/* 802FAA1C 002F667C 38 00 00 3D */ li r0, 0x3d
/* 802FAA20 002F6680 98 1E FF FE */ stb r0, -2(r30)
/* 802FAA24 002F6684 98 1E FF FF */ stb r0, -1(r30)
lbl_802FAA28:
/* 802FAA28 002F6688 38 00 00 00 */ li r0, 0
/* 802FAA2C 002F668C 7F 83 E3 78 */ mr r3, r28
/* 802FAA30 002F6690 98 1E 00 00 */ stb r0, 0(r30)
/* 802FAA34 002F6694 4B EC C1 31 */ bl strlen
/* 802FAA38 002F6698 39 61 00 20 */ addi r11, r1, 0x20
/* 802FAA3C 002F669C 4B EC C7 39 */ bl _restgpr_27
/* 802FAA40 002F66A0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802FAA44 002F66A4 7C 08 03 A6 */ mtlr r0
/* 802FAA48 002F66A8 38 21 00 20 */ addi r1, r1, 0x20
/* 802FAA4C 002F66AC 4E 80 00 20 */ blr
|