summaryrefslogtreecommitdiff
path: root/asm/SDK/NHTTP
diff options
context:
space:
mode:
Diffstat (limited to 'asm/SDK/NHTTP')
-rw-r--r--asm/SDK/NHTTP/d_nhttp.s755
-rw-r--r--asm/SDK/NHTTP/d_nhttp_private.s229
2 files changed, 984 insertions, 0 deletions
diff --git a/asm/SDK/NHTTP/d_nhttp.s b/asm/SDK/NHTTP/d_nhttp.s
new file mode 100644
index 0000000..bb72610
--- /dev/null
+++ b/asm/SDK/NHTTP/d_nhttp.s
@@ -0,0 +1,755 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global NHTTPStartup
+NHTTPStartup:
+/* 802FEE28 002FAA88 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802FEE2C 002FAA8C 7C 08 02 A6 */ mflr r0
+/* 802FEE30 002FAA90 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802FEE34 002FAA94 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802FEE38 002FAA98 7C BF 2B 78 */ mr r31, r5
+/* 802FEE3C 002FAA9C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802FEE40 002FAAA0 7C 9E 23 78 */ mr r30, r4
+/* 802FEE44 002FAAA4 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802FEE48 002FAAA8 7C 7D 1B 78 */ mr r29, r3
+/* 802FEE4C 002FAAAC 48 00 10 1D */ bl func_802FFE68
+/* 802FEE50 002FAAB0 7F A4 EB 78 */ mr r4, r29
+/* 802FEE54 002FAAB4 7F C5 F3 78 */ mr r5, r30
+/* 802FEE58 002FAAB8 7F E6 FB 78 */ mr r6, r31
+/* 802FEE5C 002FAABC 4B FF 8D BD */ bl NHTTPi_Startup
+/* 802FEE60 002FAAC0 7C 60 00 34 */ cntlzw r0, r3
+/* 802FEE64 002FAAC4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802FEE68 002FAAC8 54 00 D9 7E */ srwi r0, r0, 5
+/* 802FEE6C 002FAACC 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802FEE70 002FAAD0 7C 60 00 D0 */ neg r3, r0
+/* 802FEE74 002FAAD4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802FEE78 002FAAD8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802FEE7C 002FAADC 7C 08 03 A6 */ mtlr r0
+/* 802FEE80 002FAAE0 38 21 00 20 */ addi r1, r1, 0x20
+/* 802FEE84 002FAAE4 4E 80 00 20 */ blr
+
+.global NHTTPCleanupAsync
+NHTTPCleanupAsync:
+/* 802FEE88 002FAAE8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802FEE8C 002FAAEC 7C 08 02 A6 */ mflr r0
+/* 802FEE90 002FAAF0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802FEE94 002FAAF4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802FEE98 002FAAF8 7C 7F 1B 78 */ mr r31, r3
+/* 802FEE9C 002FAAFC 48 00 0F CD */ bl func_802FFE68
+/* 802FEEA0 002FAB00 7F E4 FB 78 */ mr r4, r31
+/* 802FEEA4 002FAB04 4B FF 8F 01 */ bl NHTTPi_CleanupAsync
+/* 802FEEA8 002FAB08 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802FEEAC 002FAB0C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802FEEB0 002FAB10 7C 08 03 A6 */ mtlr r0
+/* 802FEEB4 002FAB14 38 21 00 10 */ addi r1, r1, 0x10
+/* 802FEEB8 002FAB18 4E 80 00 20 */ blr
+
+.global NHTTPSSLGetError
+NHTTPSSLGetError:
+/* 802FEEBC 002FAB1C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802FEEC0 002FAB20 7C 08 02 A6 */ mflr r0
+/* 802FEEC4 002FAB24 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802FEEC8 002FAB28 48 00 0F A1 */ bl func_802FFE68
+/* 802FEECC 002FAB2C 4B FF 8D 45 */ bl NHTTPi_GetSSLError
+/* 802FEED0 002FAB30 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802FEED4 002FAB34 7C 08 03 A6 */ mtlr r0
+/* 802FEED8 002FAB38 38 21 00 10 */ addi r1, r1, 0x10
+/* 802FEEDC 002FAB3C 4E 80 00 20 */ blr
+
+NHTTPi_TemplateConnectionCallback:
+/* 802FEEE0 002FAB40 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802FEEE4 002FAB44 7C 08 02 A6 */ mflr r0
+/* 802FEEE8 002FAB48 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802FEEEC 002FAB4C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802FEEF0 002FAB50 7C 9F 23 78 */ mr r31, r4
+/* 802FEEF4 002FAB54 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802FEEF8 002FAB58 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802FEEFC 002FAB5C 7C BD 2B 78 */ mr r29, r5
+/* 802FEF00 002FAB60 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802FEF04 002FAB64 7C 7C 1B 78 */ mr r28, r3
+/* 802FEF08 002FAB68 48 00 0F 61 */ bl func_802FFE68
+/* 802FEF0C 002FAB6C 48 00 0F E1 */ bl func_802FFEEC
+/* 802FEF10 002FAB70 7C 7E 1B 78 */ mr r30, r3
+/* 802FEF14 002FAB74 7F 84 E3 78 */ mr r4, r28
+/* 802FEF18 002FAB78 48 00 0B 31 */ bl func_802FFA48
+/* 802FEF1C 002FAB7C 2C 1F 00 03 */ cmpwi r31, 3
+/* 802FEF20 002FAB80 7C 7C 1B 78 */ mr r28, r3
+/* 802FEF24 002FAB84 38 00 00 00 */ li r0, 0
+/* 802FEF28 002FAB88 41 82 01 78 */ beq lbl_802FF0A0
+/* 802FEF2C 002FAB8C 40 80 00 14 */ bge lbl_802FEF40
+/* 802FEF30 002FAB90 2C 1F 00 01 */ cmpwi r31, 1
+/* 802FEF34 002FAB94 41 82 00 18 */ beq lbl_802FEF4C
+/* 802FEF38 002FAB98 40 80 00 74 */ bge lbl_802FEFAC
+/* 802FEF3C 002FAB9C 48 00 01 64 */ b lbl_802FF0A0
+lbl_802FEF40:
+/* 802FEF40 002FABA0 2C 1F 00 05 */ cmpwi r31, 5
+/* 802FEF44 002FABA4 40 80 01 5C */ bge lbl_802FF0A0
+/* 802FEF48 002FABA8 48 00 00 FC */ b lbl_802FF044
+lbl_802FEF4C:
+/* 802FEF4C 002FABAC 2C 03 00 00 */ cmpwi r3, 0
+/* 802FEF50 002FABB0 41 82 00 50 */ beq lbl_802FEFA0
+/* 802FEF54 002FABB4 7F C3 F3 78 */ mr r3, r30
+/* 802FEF58 002FABB8 7F 84 E3 78 */ mr r4, r28
+/* 802FEF5C 002FABBC 48 00 0A 6D */ bl func_802FF9C8
+/* 802FEF60 002FABC0 2C 03 00 00 */ cmpwi r3, 0
+/* 802FEF64 002FABC4 41 82 00 3C */ beq lbl_802FEFA0
+/* 802FEF68 002FABC8 83 E3 02 44 */ lwz r31, 0x244(r3)
+/* 802FEF6C 002FABCC 2C 1F 00 00 */ cmpwi r31, 0
+/* 802FEF70 002FABD0 41 82 00 30 */ beq lbl_802FEFA0
+/* 802FEF74 002FABD4 7F 83 E3 78 */ mr r3, r28
+/* 802FEF78 002FABD8 4B FF FD F1 */ bl NHTTPGetUserParam
+/* 802FEF7C 002FABDC 7F EC FB 78 */ mr r12, r31
+/* 802FEF80 002FABE0 7C 67 1B 78 */ mr r7, r3
+/* 802FEF84 002FABE4 38 9D 00 04 */ addi r4, r29, 4
+/* 802FEF88 002FABE8 38 BD 00 08 */ addi r5, r29, 8
+/* 802FEF8C 002FABEC 80 7D 00 00 */ lwz r3, 0(r29)
+/* 802FEF90 002FABF0 80 DD 00 0C */ lwz r6, 0xc(r29)
+/* 802FEF94 002FABF4 7D 89 03 A6 */ mtctr r12
+/* 802FEF98 002FABF8 4E 80 04 21 */ bctrl
+/* 802FEF9C 002FABFC 48 00 00 08 */ b lbl_802FEFA4
+lbl_802FEFA0:
+/* 802FEFA0 002FAC00 38 60 FF FF */ li r3, -1
+lbl_802FEFA4:
+/* 802FEFA4 002FAC04 7C 60 1B 78 */ mr r0, r3
+/* 802FEFA8 002FAC08 48 00 00 F8 */ b lbl_802FF0A0
+lbl_802FEFAC:
+/* 802FEFAC 002FAC0C 2C 03 00 00 */ cmpwi r3, 0
+/* 802FEFB0 002FAC10 41 82 00 8C */ beq lbl_802FF03C
+/* 802FEFB4 002FAC14 7F C3 F3 78 */ mr r3, r30
+/* 802FEFB8 002FAC18 7F 84 E3 78 */ mr r4, r28
+/* 802FEFBC 002FAC1C 48 00 0A 45 */ bl func_802FFA00
+/* 802FEFC0 002FAC20 2C 03 00 00 */ cmpwi r3, 0
+/* 802FEFC4 002FAC24 41 82 00 78 */ beq lbl_802FF03C
+/* 802FEFC8 002FAC28 83 C3 00 2C */ lwz r30, 0x2c(r3)
+/* 802FEFCC 002FAC2C 2C 1E 00 00 */ cmpwi r30, 0
+/* 802FEFD0 002FAC30 41 82 00 6C */ beq lbl_802FF03C
+/* 802FEFD4 002FAC34 80 1D 00 00 */ lwz r0, 0(r29)
+/* 802FEFD8 002FAC38 7F 83 E3 78 */ mr r3, r28
+/* 802FEFDC 002FAC3C 90 01 00 08 */ stw r0, 8(r1)
+/* 802FEFE0 002FAC40 48 00 0F 25 */ bl func_802FFF04
+/* 802FEFE4 002FAC44 7C 7F 1B 78 */ mr r31, r3
+/* 802FEFE8 002FAC48 7F 83 E3 78 */ mr r3, r28
+/* 802FEFEC 002FAC4C 4B FF FD 7D */ bl NHTTPGetUserParam
+/* 802FEFF0 002FAC50 3C C0 80 2F */ lis r6, NHTTPi_alloc@ha
+/* 802FEFF4 002FAC54 3C E0 80 2F */ lis r7, NHTTPi_free@ha
+/* 802FEFF8 002FAC58 7C 68 1B 78 */ mr r8, r3
+/* 802FEFFC 002FAC5C 7F CC F3 78 */ mr r12, r30
+/* 802FF000 002FAC60 7F E5 FB 78 */ mr r5, r31
+/* 802FF004 002FAC64 38 61 00 08 */ addi r3, r1, 8
+/* 802FF008 002FAC68 38 9D 00 04 */ addi r4, r29, 4
+/* 802FF00C 002FAC6C 38 C6 7B 60 */ addi r6, r6, NHTTPi_alloc@l
+/* 802FF010 002FAC70 38 E7 7B BC */ addi r7, r7, NHTTPi_free@l
+/* 802FF014 002FAC74 7D 89 03 A6 */ mtctr r12
+/* 802FF018 002FAC78 4E 80 04 21 */ bctrl
+/* 802FF01C 002FAC7C 2C 03 00 00 */ cmpwi r3, 0
+/* 802FF020 002FAC80 90 7D 00 00 */ stw r3, 0(r29)
+/* 802FF024 002FAC84 41 82 00 18 */ beq lbl_802FF03C
+/* 802FF028 002FAC88 80 01 00 08 */ lwz r0, 8(r1)
+/* 802FF02C 002FAC8C 2C 00 00 00 */ cmpwi r0, 0
+/* 802FF030 002FAC90 41 82 00 0C */ beq lbl_802FF03C
+/* 802FF034 002FAC94 38 00 00 00 */ li r0, 0
+/* 802FF038 002FAC98 90 1D 00 08 */ stw r0, 8(r29)
+lbl_802FF03C:
+/* 802FF03C 002FAC9C 38 00 00 00 */ li r0, 0
+/* 802FF040 002FACA0 48 00 00 60 */ b lbl_802FF0A0
+lbl_802FF044:
+/* 802FF044 002FACA4 2C 03 00 00 */ cmpwi r3, 0
+/* 802FF048 002FACA8 41 82 00 54 */ beq lbl_802FF09C
+/* 802FF04C 002FACAC 83 A3 00 4C */ lwz r29, 0x4c(r3)
+/* 802FF050 002FACB0 2C 1D 00 00 */ cmpwi r29, 0
+/* 802FF054 002FACB4 41 82 00 48 */ beq lbl_802FF09C
+/* 802FF058 002FACB8 7F C3 F3 78 */ mr r3, r30
+/* 802FF05C 002FACBC 7F 84 E3 78 */ mr r4, r28
+/* 802FF060 002FACC0 48 00 09 A1 */ bl func_802FFA00
+/* 802FF064 002FACC4 2C 03 00 00 */ cmpwi r3, 0
+/* 802FF068 002FACC8 7C 7F 1B 78 */ mr r31, r3
+/* 802FF06C 002FACCC 41 82 00 30 */ beq lbl_802FF09C
+/* 802FF070 002FACD0 7F 83 E3 78 */ mr r3, r28
+/* 802FF074 002FACD4 4B FF FD 69 */ bl NHTTPGetConnectionError
+/* 802FF078 002FACD8 7C 7E 1B 78 */ mr r30, r3
+/* 802FF07C 002FACDC 7F 83 E3 78 */ mr r3, r28
+/* 802FF080 002FACE0 4B FF FC E9 */ bl NHTTPGetUserParam
+/* 802FF084 002FACE4 7F AC EB 78 */ mr r12, r29
+/* 802FF088 002FACE8 7C 65 1B 78 */ mr r5, r3
+/* 802FF08C 002FACEC 7F C3 F3 78 */ mr r3, r30
+/* 802FF090 002FACF0 7F E4 FB 78 */ mr r4, r31
+/* 802FF094 002FACF4 7D 89 03 A6 */ mtctr r12
+/* 802FF098 002FACF8 4E 80 04 21 */ bctrl
+lbl_802FF09C:
+/* 802FF09C 002FACFC 38 00 00 00 */ li r0, 0
+lbl_802FF0A0:
+/* 802FF0A0 002FAD00 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802FF0A4 002FAD04 7C 03 03 78 */ mr r3, r0
+/* 802FF0A8 002FAD08 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802FF0AC 002FAD0C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802FF0B0 002FAD10 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802FF0B4 002FAD14 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802FF0B8 002FAD18 7C 08 03 A6 */ mtlr r0
+/* 802FF0BC 002FAD1C 38 21 00 20 */ addi r1, r1, 0x20
+/* 802FF0C0 002FAD20 4E 80 00 20 */ blr
+
+.global NHTTPCreateRequest
+NHTTPCreateRequest:
+/* 802FF0C4 002FAD24 39 20 00 00 */ li r9, 0
+/* 802FF0C8 002FAD28 39 40 00 00 */ li r10, 0
+/* 802FF0CC 002FAD2C 48 00 00 04 */ b NHTTPCreateRequestEx
+NHTTPCreateRequestEx:
+/* 802FF0D0 002FAD30 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802FF0D4 002FAD34 7C 08 02 A6 */ mflr r0
+/* 802FF0D8 002FAD38 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802FF0DC 002FAD3C 39 61 00 20 */ addi r11, r1, 0x20
+/* 802FF0E0 002FAD40 4B EC 80 45 */ bl _savegpr_26
+/* 802FF0E4 002FAD44 3D 60 80 30 */ lis r11, NHTTPi_TemplateConnectionCallback@ha
+/* 802FF0E8 002FAD48 7C FA 3B 78 */ mr r26, r7
+/* 802FF0EC 002FAD4C 7D 3B 4B 78 */ mr r27, r9
+/* 802FF0F0 002FAD50 7D 5C 53 78 */ mr r28, r10
+/* 802FF0F4 002FAD54 38 EB EE E0 */ addi r7, r11, NHTTPi_TemplateConnectionCallback@l
+/* 802FF0F8 002FAD58 4B FF FA 21 */ bl NHTTPCreateConnection
+/* 802FF0FC 002FAD5C 2C 03 00 00 */ cmpwi r3, 0
+/* 802FF100 002FAD60 7C 7F 1B 78 */ mr r31, r3
+/* 802FF104 002FAD64 38 80 00 00 */ li r4, 0
+/* 802FF108 002FAD68 41 82 00 7C */ beq lbl_802FF184
+/* 802FF10C 002FAD6C 48 00 0D 5D */ bl func_802FFE68
+/* 802FF110 002FAD70 7C 7E 1B 78 */ mr r30, r3
+/* 802FF114 002FAD74 48 00 0D D9 */ bl func_802FFEEC
+/* 802FF118 002FAD78 7C 7D 1B 78 */ mr r29, r3
+/* 802FF11C 002FAD7C 7F E4 FB 78 */ mr r4, r31
+/* 802FF120 002FAD80 48 00 09 29 */ bl func_802FFA48
+/* 802FF124 002FAD84 7C 7F 1B 78 */ mr r31, r3
+/* 802FF128 002FAD88 7F A3 EB 78 */ mr r3, r29
+/* 802FF12C 002FAD8C 7F E4 FB 78 */ mr r4, r31
+/* 802FF130 002FAD90 48 00 08 99 */ bl func_802FF9C8
+/* 802FF134 002FAD94 2C 03 00 00 */ cmpwi r3, 0
+/* 802FF138 002FAD98 7C 64 1B 78 */ mr r4, r3
+/* 802FF13C 002FAD9C 41 82 00 48 */ beq lbl_802FF184
+/* 802FF140 002FADA0 80 03 00 2C */ lwz r0, 0x2c(r3)
+/* 802FF144 002FADA4 2C 00 00 00 */ cmpwi r0, 0
+/* 802FF148 002FADA8 41 82 00 1C */ beq lbl_802FF164
+/* 802FF14C 002FADAC 93 5F 00 4C */ stw r26, 0x4c(r31)
+/* 802FF150 002FADB0 80 83 00 2C */ lwz r4, 0x2c(r3)
+/* 802FF154 002FADB4 93 64 00 2C */ stw r27, 0x2c(r4)
+/* 802FF158 002FADB8 80 83 00 2C */ lwz r4, 0x2c(r3)
+/* 802FF15C 002FADBC 93 84 00 30 */ stw r28, 0x30(r4)
+/* 802FF160 002FADC0 48 00 00 28 */ b lbl_802FF188
+lbl_802FF164:
+/* 802FF164 002FADC4 7F C3 F3 78 */ mr r3, r30
+/* 802FF168 002FADC8 4B FF A1 11 */ bl NHTTP_DestroyRequest
+/* 802FF16C 002FADCC 7F A3 EB 78 */ mr r3, r29
+/* 802FF170 002FADD0 7F E4 FB 78 */ mr r4, r31
+/* 802FF174 002FADD4 48 00 08 25 */ bl func_802FF998
+/* 802FF178 002FADD8 7F E3 FB 78 */ mr r3, r31
+/* 802FF17C 002FADDC 4B FF 8A 41 */ bl NHTTPi_free
+/* 802FF180 002FADE0 38 80 00 00 */ li r4, 0
+lbl_802FF184:
+/* 802FF184 002FADE4 7C 83 23 78 */ mr r3, r4
+lbl_802FF188:
+/* 802FF188 002FADE8 39 61 00 20 */ addi r11, r1, 0x20
+/* 802FF18C 002FADEC 4B EC 7F E5 */ bl _restgpr_26
+/* 802FF190 002FADF0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802FF194 002FADF4 7C 08 03 A6 */ mtlr r0
+/* 802FF198 002FADF8 38 21 00 20 */ addi r1, r1, 0x20
+/* 802FF19C 002FADFC 4E 80 00 20 */ blr
+
+.global NHTTPAddHeaderField
+NHTTPAddHeaderField:
+/* 802FF1A0 002FAE00 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802FF1A4 002FAE04 7C 08 02 A6 */ mflr r0
+/* 802FF1A8 002FAE08 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802FF1AC 002FAE0C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802FF1B0 002FAE10 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802FF1B4 002FAE14 7C 7E 1B 78 */ mr r30, r3
+/* 802FF1B8 002FAE18 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802FF1BC 002FAE1C 7C BD 2B 78 */ mr r29, r5
+/* 802FF1C0 002FAE20 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802FF1C4 002FAE24 7C 9C 23 78 */ mr r28, r4
+/* 802FF1C8 002FAE28 48 00 0C A1 */ bl func_802FFE68
+/* 802FF1CC 002FAE2C 7C 7F 1B 78 */ mr r31, r3
+/* 802FF1D0 002FAE30 48 00 0D 1D */ bl func_802FFEEC
+/* 802FF1D4 002FAE34 7F C4 F3 78 */ mr r4, r30
+/* 802FF1D8 002FAE38 48 00 08 79 */ bl func_802FFA50
+/* 802FF1DC 002FAE3C 2C 03 00 00 */ cmpwi r3, 0
+/* 802FF1E0 002FAE40 7C 7E 1B 78 */ mr r30, r3
+/* 802FF1E4 002FAE44 41 82 00 30 */ beq lbl_802FF214
+/* 802FF1E8 002FAE48 7F E3 FB 78 */ mr r3, r31
+/* 802FF1EC 002FAE4C 48 00 0C E5 */ bl func_802FFED0
+/* 802FF1F0 002FAE50 7C 64 1B 78 */ mr r4, r3
+/* 802FF1F4 002FAE54 7F C3 F3 78 */ mr r3, r30
+/* 802FF1F8 002FAE58 7F 85 E3 78 */ mr r5, r28
+/* 802FF1FC 002FAE5C 7F A6 EB 78 */ mr r6, r29
+/* 802FF200 002FAE60 4B FF 8E 09 */ bl NHTTP_AddHeaderField
+/* 802FF204 002FAE64 7C 60 00 34 */ cntlzw r0, r3
+/* 802FF208 002FAE68 54 00 D9 7E */ srwi r0, r0, 5
+/* 802FF20C 002FAE6C 7C 60 00 D0 */ neg r3, r0
+/* 802FF210 002FAE70 48 00 00 08 */ b lbl_802FF218
+lbl_802FF214:
+/* 802FF214 002FAE74 38 60 FF FF */ li r3, -1
+lbl_802FF218:
+/* 802FF218 002FAE78 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802FF21C 002FAE7C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802FF220 002FAE80 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802FF224 002FAE84 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802FF228 002FAE88 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802FF22C 002FAE8C 7C 08 03 A6 */ mtlr r0
+/* 802FF230 002FAE90 38 21 00 20 */ addi r1, r1, 0x20
+/* 802FF234 002FAE94 4E 80 00 20 */ blr
+
+.global NHTTPAddPostDataAscii
+NHTTPAddPostDataAscii:
+/* 802FF238 002FAE98 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802FF23C 002FAE9C 7C 08 02 A6 */ mflr r0
+/* 802FF240 002FAEA0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802FF244 002FAEA4 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802FF248 002FAEA8 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802FF24C 002FAEAC 7C 7E 1B 78 */ mr r30, r3
+/* 802FF250 002FAEB0 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802FF254 002FAEB4 7C BD 2B 78 */ mr r29, r5
+/* 802FF258 002FAEB8 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802FF25C 002FAEBC 7C 9C 23 78 */ mr r28, r4
+/* 802FF260 002FAEC0 48 00 0C 09 */ bl func_802FFE68
+/* 802FF264 002FAEC4 7C 7F 1B 78 */ mr r31, r3
+/* 802FF268 002FAEC8 48 00 0C 85 */ bl func_802FFEEC
+/* 802FF26C 002FAECC 7F C4 F3 78 */ mr r4, r30
+/* 802FF270 002FAED0 48 00 07 E1 */ bl func_802FFA50
+/* 802FF274 002FAED4 2C 03 00 00 */ cmpwi r3, 0
+/* 802FF278 002FAED8 7C 7E 1B 78 */ mr r30, r3
+/* 802FF27C 002FAEDC 41 82 00 30 */ beq lbl_802FF2AC
+/* 802FF280 002FAEE0 7F E3 FB 78 */ mr r3, r31
+/* 802FF284 002FAEE4 48 00 0C 4D */ bl func_802FFED0
+/* 802FF288 002FAEE8 7C 64 1B 78 */ mr r4, r3
+/* 802FF28C 002FAEEC 7F C3 F3 78 */ mr r3, r30
+/* 802FF290 002FAEF0 7F 85 E3 78 */ mr r5, r28
+/* 802FF294 002FAEF4 7F A6 EB 78 */ mr r6, r29
+/* 802FF298 002FAEF8 4B FF 8D 91 */ bl NHTTP_AddPostDataAscii
+/* 802FF29C 002FAEFC 7C 60 00 34 */ cntlzw r0, r3
+/* 802FF2A0 002FAF00 54 00 D9 7E */ srwi r0, r0, 5
+/* 802FF2A4 002FAF04 7C 60 00 D0 */ neg r3, r0
+/* 802FF2A8 002FAF08 48 00 00 08 */ b lbl_802FF2B0
+lbl_802FF2AC:
+/* 802FF2AC 002FAF0C 38 60 FF FF */ li r3, -1
+lbl_802FF2B0:
+/* 802FF2B0 002FAF10 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802FF2B4 002FAF14 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802FF2B8 002FAF18 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802FF2BC 002FAF1C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802FF2C0 002FAF20 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802FF2C4 002FAF24 7C 08 03 A6 */ mtlr r0
+/* 802FF2C8 002FAF28 38 21 00 20 */ addi r1, r1, 0x20
+/* 802FF2CC 002FAF2C 4E 80 00 20 */ blr
+
+.global NHTTPSendRequestAsync
+NHTTPSendRequestAsync:
+/* 802FF2D0 002FAF30 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802FF2D4 002FAF34 7C 08 02 A6 */ mflr r0
+/* 802FF2D8 002FAF38 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802FF2DC 002FAF3C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802FF2E0 002FAF40 7C 7F 1B 78 */ mr r31, r3
+/* 802FF2E4 002FAF44 48 00 0B 85 */ bl func_802FFE68
+/* 802FF2E8 002FAF48 48 00 0C 05 */ bl func_802FFEEC
+/* 802FF2EC 002FAF4C 7F E4 FB 78 */ mr r4, r31
+/* 802FF2F0 002FAF50 48 00 07 49 */ bl func_802FFA38
+/* 802FF2F4 002FAF54 2C 03 00 00 */ cmpwi r3, 0
+/* 802FF2F8 002FAF58 7C 7F 1B 78 */ mr r31, r3
+/* 802FF2FC 002FAF5C 41 82 00 18 */ beq lbl_802FF314
+/* 802FF300 002FAF60 4B FF F9 41 */ bl NHTTPStartConnection
+/* 802FF304 002FAF64 2C 03 00 00 */ cmpwi r3, 0
+/* 802FF308 002FAF68 40 82 00 0C */ bne lbl_802FF314
+/* 802FF30C 002FAF6C 80 7F 00 34 */ lwz r3, 0x34(r31)
+/* 802FF310 002FAF70 48 00 00 08 */ b lbl_802FF318
+lbl_802FF314:
+/* 802FF314 002FAF74 38 60 FF FF */ li r3, -1
+lbl_802FF318:
+/* 802FF318 002FAF78 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802FF31C 002FAF7C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802FF320 002FAF80 7C 08 03 A6 */ mtlr r0
+/* 802FF324 002FAF84 38 21 00 10 */ addi r1, r1, 0x10
+/* 802FF328 002FAF88 4E 80 00 20 */ blr
+
+.global NHTTPCancelRequestAsync
+NHTTPCancelRequestAsync:
+/* 802FF32C 002FAF8C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802FF330 002FAF90 7C 08 02 A6 */ mflr r0
+/* 802FF334 002FAF94 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802FF338 002FAF98 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802FF33C 002FAF9C 7C 7F 1B 78 */ mr r31, r3
+/* 802FF340 002FAFA0 48 00 0B 29 */ bl func_802FFE68
+/* 802FF344 002FAFA4 7F E4 FB 78 */ mr r4, r31
+/* 802FF348 002FAFA8 4B FF A1 CD */ bl NHTTP_CancelRequestAsync
+/* 802FF34C 002FAFAC 7C 60 00 34 */ cntlzw r0, r3
+/* 802FF350 002FAFB0 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802FF354 002FAFB4 54 00 D9 7E */ srwi r0, r0, 5
+/* 802FF358 002FAFB8 7C 60 00 D0 */ neg r3, r0
+/* 802FF35C 002FAFBC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802FF360 002FAFC0 7C 08 03 A6 */ mtlr r0
+/* 802FF364 002FAFC4 38 21 00 10 */ addi r1, r1, 0x10
+/* 802FF368 002FAFC8 4E 80 00 20 */ blr
+
+.global NHTTPDestroyResponse
+NHTTPDestroyResponse:
+/* 802FF36C 002FAFCC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802FF370 002FAFD0 7C 08 02 A6 */ mflr r0
+/* 802FF374 002FAFD4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802FF378 002FAFD8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802FF37C 002FAFDC 93 C1 00 08 */ stw r30, 8(r1)
+/* 802FF380 002FAFE0 7C 7E 1B 78 */ mr r30, r3
+/* 802FF384 002FAFE4 48 00 0A E5 */ bl func_802FFE68
+/* 802FF388 002FAFE8 48 00 0B 65 */ bl func_802FFEEC
+/* 802FF38C 002FAFEC 7C 7F 1B 78 */ mr r31, r3
+/* 802FF390 002FAFF0 7F C4 F3 78 */ mr r4, r30
+/* 802FF394 002FAFF4 48 00 06 AD */ bl func_802FFA40
+/* 802FF398 002FAFF8 2C 03 00 00 */ cmpwi r3, 0
+/* 802FF39C 002FAFFC 7C 7E 1B 78 */ mr r30, r3
+/* 802FF3A0 002FB000 41 82 00 38 */ beq lbl_802FF3D8
+/* 802FF3A4 002FB004 7F E3 FB 78 */ mr r3, r31
+/* 802FF3A8 002FB008 7F C4 F3 78 */ mr r4, r30
+/* 802FF3AC 002FB00C 48 00 06 55 */ bl func_802FFA00
+/* 802FF3B0 002FB010 2C 03 00 00 */ cmpwi r3, 0
+/* 802FF3B4 002FB014 41 82 00 10 */ beq lbl_802FF3C4
+/* 802FF3B8 002FB018 80 9E 00 30 */ lwz r4, 0x30(r30)
+/* 802FF3BC 002FB01C 7F E3 FB 78 */ mr r3, r31
+/* 802FF3C0 002FB020 4B FF A2 C1 */ bl NHTTP_DestroyResponse
+lbl_802FF3C4:
+/* 802FF3C4 002FB024 7F E3 FB 78 */ mr r3, r31
+/* 802FF3C8 002FB028 7F C4 F3 78 */ mr r4, r30
+/* 802FF3CC 002FB02C 48 00 05 CD */ bl func_802FF998
+/* 802FF3D0 002FB030 7F C3 F3 78 */ mr r3, r30
+/* 802FF3D4 002FB034 4B FF 87 E9 */ bl NHTTPi_free
+lbl_802FF3D8:
+/* 802FF3D8 002FB038 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802FF3DC 002FB03C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802FF3E0 002FB040 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802FF3E4 002FB044 7C 08 03 A6 */ mtlr r0
+/* 802FF3E8 002FB048 38 21 00 10 */ addi r1, r1, 0x10
+/* 802FF3EC 002FB04C 4E 80 00 20 */ blr
+
+.global NHTTPGetBodyAll
+NHTTPGetBodyAll:
+/* 802FF3F0 002FB050 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802FF3F4 002FB054 7C 08 02 A6 */ mflr r0
+/* 802FF3F8 002FB058 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802FF3FC 002FB05C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802FF400 002FB060 7C 9F 23 78 */ mr r31, r4
+/* 802FF404 002FB064 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802FF408 002FB068 7C 7E 1B 78 */ mr r30, r3
+/* 802FF40C 002FB06C 48 00 0A 5D */ bl func_802FFE68
+/* 802FF410 002FB070 48 00 0A DD */ bl func_802FFEEC
+/* 802FF414 002FB074 7F C4 F3 78 */ mr r4, r30
+/* 802FF418 002FB078 48 00 06 29 */ bl func_802FFA40
+/* 802FF41C 002FB07C 2C 03 00 00 */ cmpwi r3, 0
+/* 802FF420 002FB080 41 82 00 1C */ beq lbl_802FF43C
+/* 802FF424 002FB084 38 00 00 00 */ li r0, 0
+/* 802FF428 002FB088 7F E4 FB 78 */ mr r4, r31
+/* 802FF42C 002FB08C 90 01 00 08 */ stw r0, 8(r1)
+/* 802FF430 002FB090 38 A1 00 08 */ addi r5, r1, 8
+/* 802FF434 002FB094 4B FF F8 99 */ bl NHTTPGetBodyBuffer
+/* 802FF438 002FB098 48 00 00 08 */ b lbl_802FF440
+lbl_802FF43C:
+/* 802FF43C 002FB09C 38 60 FF FF */ li r3, -1
+lbl_802FF440:
+/* 802FF440 002FB0A0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802FF444 002FB0A4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802FF448 002FB0A8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802FF44C 002FB0AC 7C 08 03 A6 */ mtlr r0
+/* 802FF450 002FB0B0 38 21 00 20 */ addi r1, r1, 0x20
+/* 802FF454 002FB0B4 4E 80 00 20 */ blr
+
+.global NHTTPGetResultCode
+NHTTPGetResultCode:
+/* 802FF458 002FB0B8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802FF45C 002FB0BC 7C 08 02 A6 */ mflr r0
+/* 802FF460 002FB0C0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802FF464 002FB0C4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802FF468 002FB0C8 7C 7F 1B 78 */ mr r31, r3
+/* 802FF46C 002FB0CC 48 00 09 FD */ bl func_802FFE68
+/* 802FF470 002FB0D0 48 00 0A 7D */ bl func_802FFEEC
+/* 802FF474 002FB0D4 7F E4 FB 78 */ mr r4, r31
+/* 802FF478 002FB0D8 48 00 06 1D */ bl func_802FFA94
+/* 802FF47C 002FB0DC 2C 03 00 00 */ cmpwi r3, 0
+/* 802FF480 002FB0E0 40 82 00 0C */ bne lbl_802FF48C
+/* 802FF484 002FB0E4 38 60 FF FF */ li r3, -1
+/* 802FF488 002FB0E8 48 00 00 1C */ b lbl_802FF4A4
+lbl_802FF48C:
+/* 802FF48C 002FB0EC 80 03 00 14 */ lwz r0, 0x14(r3)
+/* 802FF490 002FB0F0 2C 00 00 00 */ cmpwi r0, 0
+/* 802FF494 002FB0F4 41 82 00 0C */ beq lbl_802FF4A0
+/* 802FF498 002FB0F8 80 63 00 18 */ lwz r3, 0x18(r3)
+/* 802FF49C 002FB0FC 48 00 00 08 */ b lbl_802FF4A4
+lbl_802FF4A0:
+/* 802FF4A0 002FB100 38 60 FF FF */ li r3, -1
+lbl_802FF4A4:
+/* 802FF4A4 002FB104 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802FF4A8 002FB108 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802FF4AC 002FB10C 7C 08 03 A6 */ mtlr r0
+/* 802FF4B0 002FB110 38 21 00 10 */ addi r1, r1, 0x10
+/* 802FF4B4 002FB114 4E 80 00 20 */ blr
+
+.global NHTTPSetVerifyOption
+NHTTPSetVerifyOption:
+/* 802FF4B8 002FB118 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802FF4BC 002FB11C 7C 08 02 A6 */ mflr r0
+/* 802FF4C0 002FB120 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802FF4C4 002FB124 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802FF4C8 002FB128 7C 9F 23 78 */ mr r31, r4
+/* 802FF4CC 002FB12C 93 C1 00 08 */ stw r30, 8(r1)
+/* 802FF4D0 002FB130 7C 7E 1B 78 */ mr r30, r3
+/* 802FF4D4 002FB134 48 00 09 95 */ bl func_802FFE68
+/* 802FF4D8 002FB138 48 00 0A 15 */ bl func_802FFEEC
+/* 802FF4DC 002FB13C 7F C4 F3 78 */ mr r4, r30
+/* 802FF4E0 002FB140 48 00 05 71 */ bl func_802FFA50
+/* 802FF4E4 002FB144 2C 03 00 00 */ cmpwi r3, 0
+/* 802FF4E8 002FB148 40 82 00 0C */ bne lbl_802FF4F4
+/* 802FF4EC 002FB14C 38 60 FF FF */ li r3, -1
+/* 802FF4F0 002FB150 48 00 00 0C */ b lbl_802FF4FC
+lbl_802FF4F4:
+/* 802FF4F4 002FB154 93 E3 00 CC */ stw r31, 0xcc(r3)
+/* 802FF4F8 002FB158 38 60 00 00 */ li r3, 0
+lbl_802FF4FC:
+/* 802FF4FC 002FB15C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802FF500 002FB160 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802FF504 002FB164 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802FF508 002FB168 7C 08 03 A6 */ mtlr r0
+/* 802FF50C 002FB16C 38 21 00 10 */ addi r1, r1, 0x10
+/* 802FF510 002FB170 4E 80 00 20 */ blr
+
+.global NHTTPSetProxy
+NHTTPSetProxy:
+/* 802FF514 002FB174 94 21 FF 90 */ stwu r1, -0x70(r1)
+/* 802FF518 002FB178 7C 08 02 A6 */ mflr r0
+/* 802FF51C 002FB17C 90 01 00 74 */ stw r0, 0x74(r1)
+/* 802FF520 002FB180 39 61 00 70 */ addi r11, r1, 0x70
+/* 802FF524 002FB184 4B EC 7C 05 */ bl _savegpr_27
+/* 802FF528 002FB188 7C 7F 1B 78 */ mr r31, r3
+/* 802FF52C 002FB18C 7C 9E 23 78 */ mr r30, r4
+/* 802FF530 002FB190 7C BD 2B 78 */ mr r29, r5
+/* 802FF534 002FB194 7C DB 33 78 */ mr r27, r6
+/* 802FF538 002FB198 7C FC 3B 78 */ mr r28, r7
+/* 802FF53C 002FB19C 48 00 09 2D */ bl func_802FFE68
+/* 802FF540 002FB1A0 48 00 09 AD */ bl func_802FFEEC
+/* 802FF544 002FB1A4 7F E4 FB 78 */ mr r4, r31
+/* 802FF548 002FB1A8 48 00 05 09 */ bl func_802FFA50
+/* 802FF54C 002FB1AC 2C 03 00 00 */ cmpwi r3, 0
+/* 802FF550 002FB1B0 7C 7F 1B 78 */ mr r31, r3
+/* 802FF554 002FB1B4 41 82 00 0C */ beq lbl_802FF560
+/* 802FF558 002FB1B8 2C 1E 00 00 */ cmpwi r30, 0
+/* 802FF55C 002FB1BC 40 82 00 0C */ bne lbl_802FF568
+lbl_802FF560:
+/* 802FF560 002FB1C0 38 60 FF FF */ li r3, -1
+/* 802FF564 002FB1C4 48 00 00 D8 */ b lbl_802FF63C
+lbl_802FF568:
+/* 802FF568 002FB1C8 7F C3 F3 78 */ mr r3, r30
+/* 802FF56C 002FB1CC 4B FF AB 75 */ bl NHTTPi_strlen
+/* 802FF570 002FB1D0 2C 03 01 00 */ cmpwi r3, 0x100
+/* 802FF574 002FB1D4 40 81 00 0C */ ble lbl_802FF580
+/* 802FF578 002FB1D8 38 60 FF FF */ li r3, -1
+/* 802FF57C 002FB1DC 48 00 00 C0 */ b lbl_802FF63C
+lbl_802FF580:
+/* 802FF580 002FB1E0 7C 65 1B 78 */ mr r5, r3
+/* 802FF584 002FB1E4 7F C4 F3 78 */ mr r4, r30
+/* 802FF588 002FB1E8 38 7F 00 D4 */ addi r3, r31, 0xd4
+/* 802FF58C 002FB1EC 4B FF AB 51 */ bl NHTTPi_memcpy
+/* 802FF590 002FB1F0 2C 1B 00 00 */ cmpwi r27, 0
+/* 802FF594 002FB1F4 93 BF 01 D4 */ stw r29, 0x1d4(r31)
+/* 802FF598 002FB1F8 41 82 00 98 */ beq lbl_802FF630
+/* 802FF59C 002FB1FC 2C 1C 00 00 */ cmpwi r28, 0
+/* 802FF5A0 002FB200 41 82 00 90 */ beq lbl_802FF630
+/* 802FF5A4 002FB204 7F 63 DB 78 */ mr r3, r27
+/* 802FF5A8 002FB208 4B FF AB 39 */ bl NHTTPi_strlen
+/* 802FF5AC 002FB20C 7C 7E 1B 78 */ mr r30, r3
+/* 802FF5B0 002FB210 7F 83 E3 78 */ mr r3, r28
+/* 802FF5B4 002FB214 4B FF AB 2D */ bl NHTTPi_strlen
+/* 802FF5B8 002FB218 2C 1E 00 20 */ cmpwi r30, 0x20
+/* 802FF5BC 002FB21C 7C 7D 1B 78 */ mr r29, r3
+/* 802FF5C0 002FB220 41 81 00 68 */ bgt lbl_802FF628
+/* 802FF5C4 002FB224 2C 03 00 20 */ cmpwi r3, 0x20
+/* 802FF5C8 002FB228 41 81 00 60 */ bgt lbl_802FF628
+/* 802FF5CC 002FB22C 38 61 00 08 */ addi r3, r1, 8
+/* 802FF5D0 002FB230 38 80 00 41 */ li r4, 0x41
+/* 802FF5D4 002FB234 4B FF AB 15 */ bl NHTTPi_memclr
+/* 802FF5D8 002FB238 7F 64 DB 78 */ mr r4, r27
+/* 802FF5DC 002FB23C 7F C5 F3 78 */ mr r5, r30
+/* 802FF5E0 002FB240 38 61 00 08 */ addi r3, r1, 8
+/* 802FF5E4 002FB244 4B FF AA F9 */ bl NHTTPi_memcpy
+/* 802FF5E8 002FB248 38 61 00 08 */ addi r3, r1, 8
+/* 802FF5EC 002FB24C 38 8D 8C 78 */ addi r4, r13, lbl_8063DF38-_SDA_BASE_
+/* 802FF5F0 002FB250 7C 63 F2 14 */ add r3, r3, r30
+/* 802FF5F4 002FB254 38 A0 00 01 */ li r5, 1
+/* 802FF5F8 002FB258 4B FF AA E5 */ bl NHTTPi_memcpy
+/* 802FF5FC 002FB25C 38 61 00 08 */ addi r3, r1, 8
+/* 802FF600 002FB260 7F 84 E3 78 */ mr r4, r28
+/* 802FF604 002FB264 7C 7E 1A 14 */ add r3, r30, r3
+/* 802FF608 002FB268 7F A5 EB 78 */ mr r5, r29
+/* 802FF60C 002FB26C 38 63 00 01 */ addi r3, r3, 1
+/* 802FF610 002FB270 4B FF AA CD */ bl NHTTPi_memcpy
+/* 802FF614 002FB274 38 7F 01 D8 */ addi r3, r31, 0x1d8
+/* 802FF618 002FB278 38 81 00 08 */ addi r4, r1, 8
+/* 802FF61C 002FB27C 4B FF B2 59 */ bl NHTTPi_Base64Encode
+/* 802FF620 002FB280 90 7F 02 34 */ stw r3, 0x234(r31)
+/* 802FF624 002FB284 48 00 00 0C */ b lbl_802FF630
+lbl_802FF628:
+/* 802FF628 002FB288 38 60 FF FF */ li r3, -1
+/* 802FF62C 002FB28C 48 00 00 10 */ b lbl_802FF63C
+lbl_802FF630:
+/* 802FF630 002FB290 38 00 00 01 */ li r0, 1
+/* 802FF634 002FB294 38 60 00 00 */ li r3, 0
+/* 802FF638 002FB298 90 1F 00 0C */ stw r0, 0xc(r31)
+lbl_802FF63C:
+/* 802FF63C 002FB29C 39 61 00 70 */ addi r11, r1, 0x70
+/* 802FF640 002FB2A0 4B EC 7B 35 */ bl _restgpr_27
+/* 802FF644 002FB2A4 80 01 00 74 */ lwz r0, 0x74(r1)
+/* 802FF648 002FB2A8 7C 08 03 A6 */ mtlr r0
+/* 802FF64C 002FB2AC 38 21 00 70 */ addi r1, r1, 0x70
+/* 802FF650 002FB2B0 4E 80 00 20 */ blr
+
+.global NHTTPSetProxyDefault
+NHTTPSetProxyDefault:
+/* 802FF654 002FB2B4 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802FF658 002FB2B8 7C 08 02 A6 */ mflr r0
+/* 802FF65C 002FB2BC 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802FF660 002FB2C0 39 61 00 20 */ addi r11, r1, 0x20
+/* 802FF664 002FB2C4 4B EC 7A C1 */ bl _savegpr_26
+/* 802FF668 002FB2C8 3F E0 80 44 */ lis r31, lbl_804461D8@ha
+/* 802FF66C 002FB2CC 7C 7A 1B 78 */ mr r26, r3
+/* 802FF670 002FB2D0 3B FF 61 D8 */ addi r31, r31, lbl_804461D8@l
+/* 802FF674 002FB2D4 48 00 07 F5 */ bl func_802FFE68
+/* 802FF678 002FB2D8 7C 7D 1B 78 */ mr r29, r3
+/* 802FF67C 002FB2DC 48 00 08 71 */ bl func_802FFEEC
+/* 802FF680 002FB2E0 7F 44 D3 78 */ mr r4, r26
+/* 802FF684 002FB2E4 48 00 03 CD */ bl func_802FFA50
+/* 802FF688 002FB2E8 7C 7C 1B 78 */ mr r28, r3
+/* 802FF68C 002FB2EC 7F A3 EB 78 */ mr r3, r29
+/* 802FF690 002FB2F0 48 00 08 41 */ bl func_802FFED0
+/* 802FF694 002FB2F4 80 1C 00 08 */ lwz r0, 8(r28)
+/* 802FF698 002FB2F8 2C 00 00 00 */ cmpwi r0, 0
+/* 802FF69C 002FB2FC 41 82 00 0C */ beq lbl_802FF6A8
+/* 802FF6A0 002FB300 3B A3 01 70 */ addi r29, r3, 0x170
+/* 802FF6A4 002FB304 48 00 00 08 */ b lbl_802FF6AC
+lbl_802FF6A8:
+/* 802FF6A8 002FB308 3B A3 00 28 */ addi r29, r3, 0x28
+lbl_802FF6AC:
+/* 802FF6AC 002FB30C 88 1D 00 00 */ lbz r0, 0(r29)
+/* 802FF6B0 002FB310 28 00 00 01 */ cmplwi r0, 1
+/* 802FF6B4 002FB314 40 82 00 C8 */ bne lbl_802FF77C
+/* 802FF6B8 002FB318 A3 DD 01 04 */ lhz r30, 0x104(r29)
+/* 802FF6BC 002FB31C 2C 1E 00 00 */ cmpwi r30, 0
+/* 802FF6C0 002FB320 41 82 00 BC */ beq lbl_802FF77C
+/* 802FF6C4 002FB324 38 7D 00 04 */ addi r3, r29, 4
+/* 802FF6C8 002FB328 4B EC 74 9D */ bl strlen
+/* 802FF6CC 002FB32C 28 03 00 06 */ cmplwi r3, 6
+/* 802FF6D0 002FB330 41 80 00 AC */ blt lbl_802FF77C
+/* 802FF6D4 002FB334 88 1D 00 01 */ lbz r0, 1(r29)
+/* 802FF6D8 002FB338 3B 60 00 00 */ li r27, 0
+/* 802FF6DC 002FB33C 3B 40 00 00 */ li r26, 0
+/* 802FF6E0 002FB340 28 00 00 01 */ cmplwi r0, 1
+/* 802FF6E4 002FB344 40 82 00 0C */ bne lbl_802FF6F0
+/* 802FF6E8 002FB348 3B 7D 01 06 */ addi r27, r29, 0x106
+/* 802FF6EC 002FB34C 3B 5D 01 27 */ addi r26, r29, 0x127
+lbl_802FF6F0:
+/* 802FF6F0 002FB350 2C 1A 00 00 */ cmpwi r26, 0
+/* 802FF6F4 002FB354 41 82 00 0C */ beq lbl_802FF700
+/* 802FF6F8 002FB358 7F 47 D3 78 */ mr r7, r26
+/* 802FF6FC 002FB35C 48 00 00 08 */ b lbl_802FF704
+lbl_802FF700:
+/* 802FF700 002FB360 38 FF 00 00 */ addi r7, r31, 0
+lbl_802FF704:
+/* 802FF704 002FB364 2C 1B 00 00 */ cmpwi r27, 0
+/* 802FF708 002FB368 7F C5 F3 78 */ mr r5, r30
+/* 802FF70C 002FB36C 38 7F 00 0C */ addi r3, r31, 0xc
+/* 802FF710 002FB370 38 9D 00 04 */ addi r4, r29, 4
+/* 802FF714 002FB374 41 82 00 0C */ beq lbl_802FF720
+/* 802FF718 002FB378 7F 66 DB 78 */ mr r6, r27
+/* 802FF71C 002FB37C 48 00 00 08 */ b lbl_802FF724
+lbl_802FF720:
+/* 802FF720 002FB380 38 DF 00 00 */ addi r6, r31, 0
+lbl_802FF724:
+/* 802FF724 002FB384 4C C6 31 82 */ crclr 6
+/* 802FF728 002FB388 4B D0 83 9D */ bl func_80007AC4
+/* 802FF72C 002FB38C A0 BD 01 04 */ lhz r5, 0x104(r29)
+/* 802FF730 002FB390 7F 83 E3 78 */ mr r3, r28
+/* 802FF734 002FB394 7F 66 DB 78 */ mr r6, r27
+/* 802FF738 002FB398 7F 47 D3 78 */ mr r7, r26
+/* 802FF73C 002FB39C 38 9D 00 04 */ addi r4, r29, 4
+/* 802FF740 002FB3A0 4B FF FD D5 */ bl NHTTPSetProxy
+/* 802FF744 002FB3A4 2C 03 00 00 */ cmpwi r3, 0
+/* 802FF748 002FB3A8 40 80 00 2C */ bge lbl_802FF774
+/* 802FF74C 002FB3AC 7C 64 1B 78 */ mr r4, r3
+/* 802FF750 002FB3B0 38 7F 00 30 */ addi r3, r31, 0x30
+/* 802FF754 002FB3B4 4C C6 31 82 */ crclr 6
+/* 802FF758 002FB3B8 4B D0 83 6D */ bl func_80007AC4
+/* 802FF75C 002FB3BC 38 7F 00 4C */ addi r3, r31, 0x4c
+/* 802FF760 002FB3C0 38 BF 00 58 */ addi r5, r31, 0x58
+/* 802FF764 002FB3C4 38 80 03 46 */ li r4, 0x346
+/* 802FF768 002FB3C8 4C C6 31 82 */ crclr 6
+/* 802FF76C 002FB3CC 4B F6 BD 31 */ bl OSPanic
+/* 802FF770 002FB3D0 48 00 00 0C */ b lbl_802FF77C
+lbl_802FF774:
+/* 802FF774 002FB3D4 38 60 00 00 */ li r3, 0
+/* 802FF778 002FB3D8 48 00 00 08 */ b lbl_802FF780
+lbl_802FF77C:
+/* 802FF77C 002FB3DC 38 60 FF FF */ li r3, -1
+lbl_802FF780:
+/* 802FF780 002FB3E0 39 61 00 20 */ addi r11, r1, 0x20
+/* 802FF784 002FB3E4 4B EC 79 ED */ bl _restgpr_26
+/* 802FF788 002FB3E8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802FF78C 002FB3EC 7C 08 03 A6 */ mtlr r0
+/* 802FF790 002FB3F0 38 21 00 20 */ addi r1, r1, 0x20
+/* 802FF794 002FB3F4 4E 80 00 20 */ blr
+
+# NHTTPSetClientCertDefault?
+.global func_802FF798
+func_802FF798:
+/* 802FF798 002FB3F8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802FF79C 002FB3FC 7C 08 02 A6 */ mflr r0
+/* 802FF7A0 002FB400 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802FF7A4 002FB404 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802FF7A8 002FB408 7C 7F 1B 78 */ mr r31, r3
+/* 802FF7AC 002FB40C 48 00 06 BD */ bl func_802FFE68
+/* 802FF7B0 002FB410 48 00 07 3D */ bl func_802FFEEC
+/* 802FF7B4 002FB414 7F E4 FB 78 */ mr r4, r31
+/* 802FF7B8 002FB418 48 00 02 99 */ bl func_802FFA50
+/* 802FF7BC 002FB41C 2C 03 00 00 */ cmpwi r3, 0
+/* 802FF7C0 002FB420 40 82 00 0C */ bne lbl_802FF7CC
+/* 802FF7C4 002FB424 38 60 FF FF */ li r3, -1
+/* 802FF7C8 002FB428 48 00 00 24 */ b lbl_802FF7EC
+lbl_802FF7CC:
+/* 802FF7CC 002FB42C 38 80 00 01 */ li r4, 1
+/* 802FF7D0 002FB430 38 00 00 00 */ li r0, 0
+/* 802FF7D4 002FB434 90 83 00 C8 */ stw r4, 0xc8(r3)
+/* 802FF7D8 002FB438 90 03 00 B0 */ stw r0, 0xb0(r3)
+/* 802FF7DC 002FB43C 90 03 00 B4 */ stw r0, 0xb4(r3)
+/* 802FF7E0 002FB440 90 03 00 B8 */ stw r0, 0xb8(r3)
+/* 802FF7E4 002FB444 90 03 00 BC */ stw r0, 0xbc(r3)
+/* 802FF7E8 002FB448 38 60 00 00 */ li r3, 0
+lbl_802FF7EC:
+/* 802FF7EC 002FB44C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802FF7F0 002FB450 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802FF7F4 002FB454 7C 08 03 A6 */ mtlr r0
+/* 802FF7F8 002FB458 38 21 00 10 */ addi r1, r1, 0x10
+/* 802FF7FC 002FB45C 4E 80 00 20 */ blr
+
+# NHTTPSetRootCADefault?
+.global func_802FF800
+func_802FF800:
+/* 802FF800 002FB460 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802FF804 002FB464 7C 08 02 A6 */ mflr r0
+/* 802FF808 002FB468 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802FF80C 002FB46C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802FF810 002FB470 7C 7F 1B 78 */ mr r31, r3
+/* 802FF814 002FB474 48 00 06 55 */ bl func_802FFE68
+/* 802FF818 002FB478 48 00 06 D5 */ bl func_802FFEEC
+/* 802FF81C 002FB47C 7F E4 FB 78 */ mr r4, r31
+/* 802FF820 002FB480 48 00 02 31 */ bl func_802FFA50
+/* 802FF824 002FB484 2C 03 00 00 */ cmpwi r3, 0
+/* 802FF828 002FB488 40 82 00 0C */ bne lbl_802FF834
+/* 802FF82C 002FB48C 38 60 FF FF */ li r3, -1
+/* 802FF830 002FB490 48 00 00 14 */ b lbl_802FF844
+lbl_802FF834:
+/* 802FF834 002FB494 38 00 00 00 */ li r0, 0
+/* 802FF838 002FB498 90 03 00 C0 */ stw r0, 0xc0(r3)
+/* 802FF83C 002FB49C 90 03 00 C4 */ stw r0, 0xc4(r3)
+/* 802FF840 002FB4A0 38 60 00 00 */ li r3, 0
+lbl_802FF844:
+/* 802FF844 002FB4A4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802FF848 002FB4A8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802FF84C 002FB4AC 7C 08 03 A6 */ mtlr r0
+/* 802FF850 002FB4B0 38 21 00 10 */ addi r1, r1, 0x10
+/* 802FF854 002FB4B4 4E 80 00 20 */ blr
diff --git a/asm/SDK/NHTTP/d_nhttp_private.s b/asm/SDK/NHTTP/d_nhttp_private.s
new file mode 100644
index 0000000..ca92697
--- /dev/null
+++ b/asm/SDK/NHTTP/d_nhttp_private.s
@@ -0,0 +1,229 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global NHTTPCreateConnection
+NHTTPCreateConnection:
+/* 802FEB18 002FA778 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802FEB1C 002FA77C 7C 08 02 A6 */ mflr r0
+/* 802FEB20 002FA780 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802FEB24 002FA784 39 61 00 30 */ addi r11, r1, 0x30
+/* 802FEB28 002FA788 4B EC 85 F1 */ bl _savegpr_23
+/* 802FEB2C 002FA78C 7C 77 1B 78 */ mr r23, r3
+/* 802FEB30 002FA790 7C 98 23 78 */ mr r24, r4
+/* 802FEB34 002FA794 7C B9 2B 78 */ mr r25, r5
+/* 802FEB38 002FA798 7C DA 33 78 */ mr r26, r6
+/* 802FEB3C 002FA79C 7C FB 3B 78 */ mr r27, r7
+/* 802FEB40 002FA7A0 7D 1C 43 78 */ mr r28, r8
+/* 802FEB44 002FA7A4 48 00 13 25 */ bl func_802FFE68
+/* 802FEB48 002FA7A8 7C 7E 1B 78 */ mr r30, r3
+/* 802FEB4C 002FA7AC 48 00 13 85 */ bl func_802FFED0
+/* 802FEB50 002FA7B0 7C 7F 1B 78 */ mr r31, r3
+/* 802FEB54 002FA7B4 7F C3 F3 78 */ mr r3, r30
+/* 802FEB58 002FA7B8 48 00 13 95 */ bl func_802FFEEC
+/* 802FEB5C 002FA7BC 7C 7D 1B 78 */ mr r29, r3
+/* 802FEB60 002FA7C0 38 60 00 50 */ li r3, 0x50
+/* 802FEB64 002FA7C4 38 80 00 04 */ li r4, 4
+/* 802FEB68 002FA7C8 4B FF 8F F9 */ bl NHTTPi_alloc
+/* 802FEB6C 002FA7CC 2C 03 00 00 */ cmpwi r3, 0
+/* 802FEB70 002FA7D0 7C 7E 1B 78 */ mr r30, r3
+/* 802FEB74 002FA7D4 40 82 00 18 */ bne lbl_802FEB8C
+/* 802FEB78 002FA7D8 7F E3 FB 78 */ mr r3, r31
+/* 802FEB7C 002FA7DC 38 80 00 01 */ li r4, 1
+/* 802FEB80 002FA7E0 4B FF 90 81 */ bl NHTTPi_SetError
+/* 802FEB84 002FA7E4 38 60 00 00 */ li r3, 0
+/* 802FEB88 002FA7E8 48 00 00 A0 */ b lbl_802FEC28
+lbl_802FEB8C:
+/* 802FEB8C 002FA7EC 7F E3 FB 78 */ mr r3, r31
+/* 802FEB90 002FA7F0 7E E4 BB 78 */ mr r4, r23
+/* 802FEB94 002FA7F4 7F 05 C3 78 */ mr r5, r24
+/* 802FEB98 002FA7F8 7F 26 CB 78 */ mr r6, r25
+/* 802FEB9C 002FA7FC 7F 47 D3 78 */ mr r7, r26
+/* 802FEBA0 002FA800 7F 88 E3 78 */ mr r8, r28
+/* 802FEBA4 002FA804 39 20 00 00 */ li r9, 0
+/* 802FEBA8 002FA808 39 40 00 00 */ li r10, 0
+/* 802FEBAC 002FA80C 4B FF A1 15 */ bl NHTTP_CreateRequest
+/* 802FEBB0 002FA810 2C 03 00 00 */ cmpwi r3, 0
+/* 802FEBB4 002FA814 90 7E 00 2C */ stw r3, 0x2c(r30)
+/* 802FEBB8 002FA818 40 82 00 14 */ bne lbl_802FEBCC
+/* 802FEBBC 002FA81C 7F C3 F3 78 */ mr r3, r30
+/* 802FEBC0 002FA820 4B FF 8F FD */ bl NHTTPi_free
+/* 802FEBC4 002FA824 38 60 00 00 */ li r3, 0
+/* 802FEBC8 002FA828 48 00 00 60 */ b lbl_802FEC28
+lbl_802FEBCC:
+/* 802FEBCC 002FA82C 80 83 00 2C */ lwz r4, 0x2c(r3)
+/* 802FEBD0 002FA830 3B E0 00 00 */ li r31, 0
+/* 802FEBD4 002FA834 38 00 FF FF */ li r0, -1
+/* 802FEBD8 002FA838 7F A3 EB 78 */ mr r3, r29
+/* 802FEBDC 002FA83C 90 9E 00 30 */ stw r4, 0x30(r30)
+/* 802FEBE0 002FA840 7F C4 F3 78 */ mr r4, r30
+/* 802FEBE4 002FA844 93 FE 00 00 */ stw r31, 0(r30)
+/* 802FEBE8 002FA848 93 7E 00 38 */ stw r27, 0x38(r30)
+/* 802FEBEC 002FA84C 93 FE 00 40 */ stw r31, 0x40(r30)
+/* 802FEBF0 002FA850 93 FE 00 44 */ stw r31, 0x44(r30)
+/* 802FEBF4 002FA854 90 1E 00 34 */ stw r0, 0x34(r30)
+/* 802FEBF8 002FA858 48 00 0D 71 */ bl func_802FF968
+/* 802FEBFC 002FA85C 38 00 00 0F */ li r0, 0xf
+/* 802FEC00 002FA860 38 7E 00 0C */ addi r3, r30, 0xc
+/* 802FEC04 002FA864 90 1E 00 04 */ stw r0, 4(r30)
+/* 802FEC08 002FA868 4B F7 10 0D */ bl OSInitCond
+/* 802FEC0C 002FA86C 38 7E 00 14 */ addi r3, r30, 0x14
+/* 802FEC10 002FA870 4B F7 0D 01 */ bl OSInitMutex
+/* 802FEC14 002FA874 7F C3 F3 78 */ mr r3, r30
+/* 802FEC18 002FA878 38 80 00 00 */ li r4, 0
+/* 802FEC1C 002FA87C 48 00 12 D9 */ bl func_802FFEF4
+/* 802FEC20 002FA880 93 FE 00 4C */ stw r31, 0x4c(r30)
+/* 802FEC24 002FA884 7F C3 F3 78 */ mr r3, r30
+lbl_802FEC28:
+/* 802FEC28 002FA888 39 61 00 30 */ addi r11, r1, 0x30
+/* 802FEC2C 002FA88C 4B EC 85 39 */ bl _restgpr_23
+/* 802FEC30 002FA890 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802FEC34 002FA894 7C 08 03 A6 */ mtlr r0
+/* 802FEC38 002FA898 38 21 00 30 */ addi r1, r1, 0x30
+/* 802FEC3C 002FA89C 4E 80 00 20 */ blr
+
+.global NHTTPStartConnection
+NHTTPStartConnection:
+/* 802FEC40 002FA8A0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802FEC44 002FA8A4 7C 08 02 A6 */ mflr r0
+/* 802FEC48 002FA8A8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802FEC4C 002FA8AC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802FEC50 002FA8B0 7C 7F 1B 78 */ mr r31, r3
+/* 802FEC54 002FA8B4 93 C1 00 08 */ stw r30, 8(r1)
+/* 802FEC58 002FA8B8 48 00 12 11 */ bl func_802FFE68
+/* 802FEC5C 002FA8BC 7C 7E 1B 78 */ mr r30, r3
+/* 802FEC60 002FA8C0 48 00 12 8D */ bl func_802FFEEC
+/* 802FEC64 002FA8C4 7F E4 FB 78 */ mr r4, r31
+/* 802FEC68 002FA8C8 48 00 0D E1 */ bl func_802FFA48
+/* 802FEC6C 002FA8CC 2C 03 00 00 */ cmpwi r3, 0
+/* 802FEC70 002FA8D0 7C 7F 1B 78 */ mr r31, r3
+/* 802FEC74 002FA8D4 40 82 00 0C */ bne lbl_802FEC80
+/* 802FEC78 002FA8D8 38 60 FF FF */ li r3, -1
+/* 802FEC7C 002FA8DC 48 00 00 38 */ b lbl_802FECB4
+lbl_802FEC80:
+/* 802FEC80 002FA8E0 80 83 00 2C */ lwz r4, 0x2c(r3)
+/* 802FEC84 002FA8E4 2C 04 00 00 */ cmpwi r4, 0
+/* 802FEC88 002FA8E8 40 82 00 0C */ bne lbl_802FEC94
+/* 802FEC8C 002FA8EC 38 60 FF FF */ li r3, -1
+/* 802FEC90 002FA8F0 48 00 00 24 */ b lbl_802FECB4
+lbl_802FEC94:
+/* 802FEC94 002FA8F4 7F C3 F3 78 */ mr r3, r30
+/* 802FEC98 002FA8F8 4B FF A7 BD */ bl NHTTP_SendRequestAsync
+/* 802FEC9C 002FA8FC 2C 03 00 00 */ cmpwi r3, 0
+/* 802FECA0 002FA900 90 7F 00 34 */ stw r3, 0x34(r31)
+/* 802FECA4 002FA904 41 80 00 0C */ blt lbl_802FECB0
+/* 802FECA8 002FA908 38 00 00 01 */ li r0, 1
+/* 802FECAC 002FA90C 90 1F 00 00 */ stw r0, 0(r31)
+lbl_802FECB0:
+/* 802FECB0 002FA910 38 60 00 00 */ li r3, 0
+lbl_802FECB4:
+/* 802FECB4 002FA914 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802FECB8 002FA918 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802FECBC 002FA91C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802FECC0 002FA920 7C 08 03 A6 */ mtlr r0
+/* 802FECC4 002FA924 38 21 00 10 */ addi r1, r1, 0x10
+/* 802FECC8 002FA928 4E 80 00 20 */ blr
+
+.global NHTTPGetBodyBuffer
+NHTTPGetBodyBuffer:
+/* 802FECCC 002FA92C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802FECD0 002FA930 7C 08 02 A6 */ mflr r0
+/* 802FECD4 002FA934 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802FECD8 002FA938 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802FECDC 002FA93C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802FECE0 002FA940 7C BE 2B 78 */ mr r30, r5
+/* 802FECE4 002FA944 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802FECE8 002FA948 7C 9D 23 78 */ mr r29, r4
+/* 802FECEC 002FA94C 93 81 00 10 */ stw r28, 0x10(r1)
+/* 802FECF0 002FA950 7C 7C 1B 78 */ mr r28, r3
+/* 802FECF4 002FA954 48 00 11 75 */ bl func_802FFE68
+/* 802FECF8 002FA958 48 00 11 F5 */ bl func_802FFEEC
+/* 802FECFC 002FA95C 7C 7F 1B 78 */ mr r31, r3
+/* 802FED00 002FA960 7F 84 E3 78 */ mr r4, r28
+/* 802FED04 002FA964 48 00 0D 45 */ bl func_802FFA48
+/* 802FED08 002FA968 2C 03 00 00 */ cmpwi r3, 0
+/* 802FED0C 002FA96C 7C 64 1B 78 */ mr r4, r3
+/* 802FED10 002FA970 41 82 00 34 */ beq lbl_802FED44
+/* 802FED14 002FA974 7F E3 FB 78 */ mr r3, r31
+/* 802FED18 002FA978 48 00 0C E9 */ bl func_802FFA00
+/* 802FED1C 002FA97C 2C 03 00 00 */ cmpwi r3, 0
+/* 802FED20 002FA980 41 82 00 1C */ beq lbl_802FED3C
+/* 802FED24 002FA984 80 03 00 28 */ lwz r0, 0x28(r3)
+/* 802FED28 002FA988 90 1D 00 00 */ stw r0, 0(r29)
+/* 802FED2C 002FA98C 80 03 00 1C */ lwz r0, 0x1c(r3)
+/* 802FED30 002FA990 90 1E 00 00 */ stw r0, 0(r30)
+/* 802FED34 002FA994 80 63 00 04 */ lwz r3, 4(r3)
+/* 802FED38 002FA998 48 00 00 10 */ b lbl_802FED48
+lbl_802FED3C:
+/* 802FED3C 002FA99C 38 60 FF FF */ li r3, -1
+/* 802FED40 002FA9A0 48 00 00 08 */ b lbl_802FED48
+lbl_802FED44:
+/* 802FED44 002FA9A4 38 60 FF FF */ li r3, -1
+lbl_802FED48:
+/* 802FED48 002FA9A8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802FED4C 002FA9AC 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 802FED50 002FA9B0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 802FED54 002FA9B4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 802FED58 002FA9B8 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 802FED5C 002FA9BC 7C 08 03 A6 */ mtlr r0
+/* 802FED60 002FA9C0 38 21 00 20 */ addi r1, r1, 0x20
+/* 802FED64 002FA9C4 4E 80 00 20 */ blr
+
+.global NHTTPGetUserParam
+NHTTPGetUserParam:
+/* 802FED68 002FA9C8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802FED6C 002FA9CC 7C 08 02 A6 */ mflr r0
+/* 802FED70 002FA9D0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802FED74 002FA9D4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802FED78 002FA9D8 93 C1 00 08 */ stw r30, 8(r1)
+/* 802FED7C 002FA9DC 7C 7E 1B 78 */ mr r30, r3
+/* 802FED80 002FA9E0 48 00 10 E9 */ bl func_802FFE68
+/* 802FED84 002FA9E4 48 00 11 69 */ bl func_802FFEEC
+/* 802FED88 002FA9E8 7C 7F 1B 78 */ mr r31, r3
+/* 802FED8C 002FA9EC 7F C4 F3 78 */ mr r4, r30
+/* 802FED90 002FA9F0 48 00 0C B9 */ bl func_802FFA48
+/* 802FED94 002FA9F4 2C 03 00 00 */ cmpwi r3, 0
+/* 802FED98 002FA9F8 7C 64 1B 78 */ mr r4, r3
+/* 802FED9C 002FA9FC 41 82 00 24 */ beq lbl_802FEDC0
+/* 802FEDA0 002FAA00 7F E3 FB 78 */ mr r3, r31
+/* 802FEDA4 002FAA04 48 00 0C 5D */ bl func_802FFA00
+/* 802FEDA8 002FAA08 2C 03 00 00 */ cmpwi r3, 0
+/* 802FEDAC 002FAA0C 41 82 00 0C */ beq lbl_802FEDB8
+/* 802FEDB0 002FAA10 80 63 04 38 */ lwz r3, 0x438(r3)
+/* 802FEDB4 002FAA14 48 00 00 10 */ b lbl_802FEDC4
+lbl_802FEDB8:
+/* 802FEDB8 002FAA18 38 60 00 00 */ li r3, 0
+/* 802FEDBC 002FAA1C 48 00 00 08 */ b lbl_802FEDC4
+lbl_802FEDC0:
+/* 802FEDC0 002FAA20 38 60 00 00 */ li r3, 0
+lbl_802FEDC4:
+/* 802FEDC4 002FAA24 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802FEDC8 002FAA28 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802FEDCC 002FAA2C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 802FEDD0 002FAA30 7C 08 03 A6 */ mtlr r0
+/* 802FEDD4 002FAA34 38 21 00 10 */ addi r1, r1, 0x10
+/* 802FEDD8 002FAA38 4E 80 00 20 */ blr
+
+.global NHTTPGetConnectionError
+NHTTPGetConnectionError:
+/* 802FEDDC 002FAA3C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 802FEDE0 002FAA40 7C 08 02 A6 */ mflr r0
+/* 802FEDE4 002FAA44 90 01 00 14 */ stw r0, 0x14(r1)
+/* 802FEDE8 002FAA48 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 802FEDEC 002FAA4C 7C 7F 1B 78 */ mr r31, r3
+/* 802FEDF0 002FAA50 48 00 10 79 */ bl func_802FFE68
+/* 802FEDF4 002FAA54 48 00 10 F9 */ bl func_802FFEEC
+/* 802FEDF8 002FAA58 7F E4 FB 78 */ mr r4, r31
+/* 802FEDFC 002FAA5C 48 00 0C 4D */ bl func_802FFA48
+/* 802FEE00 002FAA60 2C 03 00 00 */ cmpwi r3, 0
+/* 802FEE04 002FAA64 41 82 00 0C */ beq lbl_802FEE10
+/* 802FEE08 002FAA68 80 63 00 04 */ lwz r3, 4(r3)
+/* 802FEE0C 002FAA6C 48 00 00 08 */ b lbl_802FEE14
+lbl_802FEE10:
+/* 802FEE10 002FAA70 38 60 FF FF */ li r3, -1
+lbl_802FEE14:
+/* 802FEE14 002FAA74 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 802FEE18 002FAA78 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 802FEE1C 002FAA7C 7C 08 03 A6 */ mtlr r0
+/* 802FEE20 002FAA80 38 21 00 10 */ addi r1, r1, 0x10
+/* 802FEE24 002FAA84 4E 80 00 20 */ blr