.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 NHTTPi_GetSystemInfoP /* 802FEB48 002FA7A8 7C 7E 1B 78 */ mr r30, r3 /* 802FEB4C 002FA7AC 48 00 13 85 */ bl NHTTPi_GetBgnEndInfoP /* 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 NHTTPi_GetMutexInfoP /* 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 NHTTPi_CommitConnectionList /* 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 NHTTPi_SetVirtualContentLength /* 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 NHTTPi_GetSystemInfoP /* 802FEC5C 002FA8BC 7C 7E 1B 78 */ mr r30, r3 /* 802FEC60 002FA8C0 48 00 12 8D */ bl NHTTPi_GetMutexInfoP /* 802FEC64 002FA8C4 7F E4 FB 78 */ mr r4, r31 /* 802FEC68 002FA8C8 48 00 0D E1 */ bl NHTTPi_GetConnection /* 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 NHTTPi_GetSystemInfoP /* 802FECF8 002FA958 48 00 11 F5 */ bl NHTTPi_GetMutexInfoP /* 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 NHTTPi_GetConnection /* 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 NHTTPi_Connection2Response /* 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 NHTTPi_GetSystemInfoP /* 802FED84 002FA9E4 48 00 11 69 */ bl NHTTPi_GetMutexInfoP /* 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 NHTTPi_GetConnection /* 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 NHTTPi_Connection2Response /* 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 NHTTPi_GetSystemInfoP /* 802FEDF4 002FAA54 48 00 10 F9 */ bl NHTTPi_GetMutexInfoP /* 802FEDF8 002FAA58 7F E4 FB 78 */ mr r4, r31 /* 802FEDFC 002FAA5C 48 00 0C 4D */ bl NHTTPi_GetConnection /* 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