.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global ghiHandleStatus ghiHandleStatus: /* 80353C6C 0034F8CC 3C 80 51 EC */ lis r4, 0x51EB851F@ha /* 80353C70 0034F8D0 80 A3 01 14 */ lwz r5, 0x114(r3) /* 80353C74 0034F8D4 38 04 85 1F */ addi r0, r4, 0x51EB851F@l /* 80353C78 0034F8D8 7C 00 28 96 */ mulhw r0, r0, r5 /* 80353C7C 0034F8DC 7C 00 2E 70 */ srawi r0, r0, 5 /* 80353C80 0034F8E0 54 04 0F FE */ srwi r4, r0, 0x1f /* 80353C84 0034F8E4 7C 00 22 14 */ add r0, r0, r4 /* 80353C88 0034F8E8 2C 00 00 03 */ cmpwi r0, 3 /* 80353C8C 0034F8EC 4D 82 00 20 */ beqlr /* 80353C90 0034F8F0 40 80 00 14 */ bge lbl_80353CA4 /* 80353C94 0034F8F4 2C 00 00 01 */ cmpwi r0, 1 /* 80353C98 0034F8F8 4D 82 00 20 */ beqlr /* 80353C9C 0034F8FC 4C 80 00 20 */ bgelr /* 80353CA0 0034F900 4E 80 00 20 */ blr lbl_80353CA4: /* 80353CA4 0034F904 2C 00 00 05 */ cmpwi r0, 5 /* 80353CA8 0034F908 41 82 00 78 */ beq lbl_80353D20 /* 80353CAC 0034F90C 4C 80 00 20 */ bgelr /* 80353CB0 0034F910 48 00 00 10 */ b lbl_80353CC0 /* 80353CB4 0034F914 4E 80 00 20 */ blr /* 80353CB8 0034F918 4E 80 00 20 */ blr /* 80353CBC 0034F91C 4E 80 00 20 */ blr lbl_80353CC0: /* 80353CC0 0034F920 2C 05 01 94 */ cmpwi r5, 0x194 /* 80353CC4 0034F924 41 82 00 44 */ beq lbl_80353D08 /* 80353CC8 0034F928 40 80 00 1C */ bge lbl_80353CE4 /* 80353CCC 0034F92C 2C 05 01 92 */ cmpwi r5, 0x192 /* 80353CD0 0034F930 41 82 00 44 */ beq lbl_80353D14 /* 80353CD4 0034F934 40 80 00 28 */ bge lbl_80353CFC /* 80353CD8 0034F938 2C 05 01 91 */ cmpwi r5, 0x191 /* 80353CDC 0034F93C 40 80 00 14 */ bge lbl_80353CF0 /* 80353CE0 0034F940 48 00 00 34 */ b lbl_80353D14 lbl_80353CE4: /* 80353CE4 0034F944 2C 05 01 9A */ cmpwi r5, 0x19a /* 80353CE8 0034F948 41 82 00 20 */ beq lbl_80353D08 /* 80353CEC 0034F94C 48 00 00 28 */ b lbl_80353D14 lbl_80353CF0: /* 80353CF0 0034F950 38 00 00 09 */ li r0, 9 /* 80353CF4 0034F954 90 03 00 3C */ stw r0, 0x3c(r3) /* 80353CF8 0034F958 4E 80 00 20 */ blr lbl_80353CFC: /* 80353CFC 0034F95C 38 00 00 0A */ li r0, 0xa /* 80353D00 0034F960 90 03 00 3C */ stw r0, 0x3c(r3) /* 80353D04 0034F964 4E 80 00 20 */ blr lbl_80353D08: /* 80353D08 0034F968 38 00 00 0B */ li r0, 0xb /* 80353D0C 0034F96C 90 03 00 3C */ stw r0, 0x3c(r3) /* 80353D10 0034F970 4E 80 00 20 */ blr lbl_80353D14: /* 80353D14 0034F974 38 00 00 08 */ li r0, 8 /* 80353D18 0034F978 90 03 00 3C */ stw r0, 0x3c(r3) /* 80353D1C 0034F97C 4E 80 00 20 */ blr lbl_80353D20: /* 80353D20 0034F980 38 00 00 0C */ li r0, 0xc /* 80353D24 0034F984 90 03 00 3C */ stw r0, 0x3c(r3) /* 80353D28 0034F988 4E 80 00 20 */ blr .global ghiProcessConnection ghiProcessConnection: /* 80353D2C 0034F98C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80353D30 0034F990 7C 08 02 A6 */ mflr r0 /* 80353D34 0034F994 90 01 00 14 */ stw r0, 0x14(r1) /* 80353D38 0034F998 93 E1 00 0C */ stw r31, 0xc(r1) /* 80353D3C 0034F99C 7C 7F 1B 78 */ mr r31, r3 /* 80353D40 0034F9A0 93 C1 00 08 */ stw r30, 8(r1) /* 80353D44 0034F9A4 80 03 01 50 */ lwz r0, 0x150(r3) /* 80353D48 0034F9A8 2C 00 00 00 */ cmpwi r0, 0 /* 80353D4C 0034F9AC 41 82 00 0C */ beq lbl_80353D58 /* 80353D50 0034F9B0 38 60 00 00 */ li r3, 0 /* 80353D54 0034F9B4 48 00 01 5C */ b lbl_80353EB0 lbl_80353D58: /* 80353D58 0034F9B8 80 03 00 10 */ lwz r0, 0x10(r3) /* 80353D5C 0034F9BC 38 80 00 01 */ li r4, 1 /* 80353D60 0034F9C0 90 83 01 50 */ stw r4, 0x150(r3) /* 80353D64 0034F9C4 2C 00 00 00 */ cmpwi r0, 0 /* 80353D68 0034F9C8 40 82 00 08 */ bne lbl_80353D70 /* 80353D6C 0034F9CC 48 00 1D 7D */ bl ghiDoSocketInit lbl_80353D70: /* 80353D70 0034F9D0 80 1F 00 10 */ lwz r0, 0x10(r31) /* 80353D74 0034F9D4 2C 00 00 01 */ cmpwi r0, 1 /* 80353D78 0034F9D8 40 82 00 0C */ bne lbl_80353D84 /* 80353D7C 0034F9DC 7F E3 FB 78 */ mr r3, r31 /* 80353D80 0034F9E0 48 00 1E 25 */ bl ghiDoHostLookup lbl_80353D84: /* 80353D84 0034F9E4 80 1F 00 10 */ lwz r0, 0x10(r31) /* 80353D88 0034F9E8 2C 00 00 02 */ cmpwi r0, 2 /* 80353D8C 0034F9EC 40 82 00 0C */ bne lbl_80353D98 /* 80353D90 0034F9F0 7F E3 FB 78 */ mr r3, r31 /* 80353D94 0034F9F4 48 00 1F 15 */ bl ghiDoLookupPending lbl_80353D98: /* 80353D98 0034F9F8 80 1F 00 10 */ lwz r0, 0x10(r31) /* 80353D9C 0034F9FC 2C 00 00 03 */ cmpwi r0, 3 /* 80353DA0 0034FA00 40 82 00 0C */ bne lbl_80353DAC /* 80353DA4 0034FA04 7F E3 FB 78 */ mr r3, r31 /* 80353DA8 0034FA08 48 00 1F A1 */ bl ghiDoConnecting lbl_80353DAC: /* 80353DAC 0034FA0C 80 1F 00 10 */ lwz r0, 0x10(r31) /* 80353DB0 0034FA10 2C 00 00 04 */ cmpwi r0, 4 /* 80353DB4 0034FA14 40 82 00 0C */ bne lbl_80353DC0 /* 80353DB8 0034FA18 7F E3 FB 78 */ mr r3, r31 /* 80353DBC 0034FA1C 48 00 21 9D */ bl ghiDoSecuringSession lbl_80353DC0: /* 80353DC0 0034FA20 80 1F 00 10 */ lwz r0, 0x10(r31) /* 80353DC4 0034FA24 2C 00 00 05 */ cmpwi r0, 5 /* 80353DC8 0034FA28 40 82 00 0C */ bne lbl_80353DD4 /* 80353DCC 0034FA2C 7F E3 FB 78 */ mr r3, r31 /* 80353DD0 0034FA30 48 00 22 C1 */ bl ghiDoSendingRequest lbl_80353DD4: /* 80353DD4 0034FA34 80 1F 00 10 */ lwz r0, 0x10(r31) /* 80353DD8 0034FA38 2C 00 00 06 */ cmpwi r0, 6 /* 80353DDC 0034FA3C 40 82 00 0C */ bne lbl_80353DE8 /* 80353DE0 0034FA40 7F E3 FB 78 */ mr r3, r31 /* 80353DE4 0034FA44 48 00 25 81 */ bl ghiDoPosting lbl_80353DE8: /* 80353DE8 0034FA48 80 1F 00 10 */ lwz r0, 0x10(r31) /* 80353DEC 0034FA4C 2C 00 00 07 */ cmpwi r0, 7 /* 80353DF0 0034FA50 40 82 00 0C */ bne lbl_80353DFC /* 80353DF4 0034FA54 7F E3 FB 78 */ mr r3, r31 /* 80353DF8 0034FA58 48 00 26 65 */ bl ghiDoWaiting lbl_80353DFC: /* 80353DFC 0034FA5C 80 1F 00 10 */ lwz r0, 0x10(r31) /* 80353E00 0034FA60 2C 00 00 08 */ cmpwi r0, 8 /* 80353E04 0034FA64 40 82 00 0C */ bne lbl_80353E10 /* 80353E08 0034FA68 7F E3 FB 78 */ mr r3, r31 /* 80353E0C 0034FA6C 48 00 28 21 */ bl ghiDoReceivingStatus lbl_80353E10: /* 80353E10 0034FA70 80 1F 00 10 */ lwz r0, 0x10(r31) /* 80353E14 0034FA74 2C 00 00 09 */ cmpwi r0, 9 /* 80353E18 0034FA78 40 82 00 0C */ bne lbl_80353E24 /* 80353E1C 0034FA7C 7F E3 FB 78 */ mr r3, r31 /* 80353E20 0034FA80 48 00 2C E1 */ bl ghiDoReceivingHeaders lbl_80353E24: /* 80353E24 0034FA84 80 1F 00 10 */ lwz r0, 0x10(r31) /* 80353E28 0034FA88 2C 00 00 0A */ cmpwi r0, 0xa /* 80353E2C 0034FA8C 40 82 00 0C */ bne lbl_80353E38 /* 80353E30 0034FA90 7F E3 FB 78 */ mr r3, r31 /* 80353E34 0034FA94 48 00 32 41 */ bl ghiDoReceivingFile lbl_80353E38: /* 80353E38 0034FA98 80 1F 01 2C */ lwz r0, 0x12c(r31) /* 80353E3C 0034FA9C 2C 00 00 00 */ cmpwi r0, 0 /* 80353E40 0034FAA0 41 82 00 0C */ beq lbl_80353E4C /* 80353E44 0034FAA4 7F E3 FB 78 */ mr r3, r31 /* 80353E48 0034FAA8 4B FF DE 4D */ bl ghiRedirectConnection lbl_80353E4C: /* 80353E4C 0034FAAC 80 1F 00 3C */ lwz r0, 0x3c(r31) /* 80353E50 0034FAB0 83 DF 01 20 */ lwz r30, 0x120(r31) /* 80353E54 0034FAB4 2C 00 00 12 */ cmpwi r0, 0x12 /* 80353E58 0034FAB8 40 82 00 24 */ bne lbl_80353E7C /* 80353E5C 0034FABC 2C 1E 00 00 */ cmpwi r30, 0 /* 80353E60 0034FAC0 40 82 00 1C */ bne lbl_80353E7C /* 80353E64 0034FAC4 80 7F 00 4C */ lwz r3, 0x4c(r31) /* 80353E68 0034FAC8 4B FE 49 E5 */ bl CanReceiveOnSocket /* 80353E6C 0034FACC 2C 03 00 00 */ cmpwi r3, 0 /* 80353E70 0034FAD0 40 82 00 0C */ bne lbl_80353E7C /* 80353E74 0034FAD4 38 00 00 01 */ li r0, 1 /* 80353E78 0034FAD8 90 1F 01 20 */ stw r0, 0x120(r31) lbl_80353E7C: /* 80353E7C 0034FADC 80 1F 01 20 */ lwz r0, 0x120(r31) /* 80353E80 0034FAE0 2C 00 00 00 */ cmpwi r0, 0 /* 80353E84 0034FAE4 41 82 00 20 */ beq lbl_80353EA4 /* 80353E88 0034FAE8 7F E3 FB 78 */ mr r3, r31 /* 80353E8C 0034FAEC 4B FF FD E1 */ bl ghiHandleStatus /* 80353E90 0034FAF0 7F E3 FB 78 */ mr r3, r31 /* 80353E94 0034FAF4 4B FF D3 31 */ bl ghiCallCompletedCallback /* 80353E98 0034FAF8 7F E3 FB 78 */ mr r3, r31 /* 80353E9C 0034FAFC 4B FF DB 89 */ bl ghiFreeConnection /* 80353EA0 0034FB00 48 00 00 0C */ b lbl_80353EAC lbl_80353EA4: /* 80353EA4 0034FB04 38 00 00 00 */ li r0, 0 /* 80353EA8 0034FB08 90 1F 01 50 */ stw r0, 0x150(r31) lbl_80353EAC: /* 80353EAC 0034FB0C 7F C3 F3 78 */ mr r3, r30 lbl_80353EB0: /* 80353EB0 0034FB10 80 01 00 14 */ lwz r0, 0x14(r1) /* 80353EB4 0034FB14 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80353EB8 0034FB18 83 C1 00 08 */ lwz r30, 8(r1) /* 80353EBC 0034FB1C 7C 08 03 A6 */ mtlr r0 /* 80353EC0 0034FB20 38 21 00 10 */ addi r1, r1, 0x10 /* 80353EC4 0034FB24 4E 80 00 20 */ blr .global ghttpStartup ghttpStartup: /* 80353EC8 0034FB28 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80353ECC 0034FB2C 7C 08 02 A6 */ mflr r0 /* 80353ED0 0034FB30 90 01 00 14 */ stw r0, 0x14(r1) /* 80353ED4 0034FB34 4B FF D4 19 */ bl ghiLock /* 80353ED8 0034FB38 80 6D B0 D8 */ lwz r3, lbl_80640398-_SDA_BASE_(r13) /* 80353EDC 0034FB3C 38 03 00 01 */ addi r0, r3, 1 /* 80353EE0 0034FB40 2C 00 00 01 */ cmpwi r0, 1 /* 80353EE4 0034FB44 90 0D B0 D8 */ stw r0, lbl_80640398-_SDA_BASE_(r13) /* 80353EE8 0034FB48 40 82 00 1C */ bne lbl_80353F04 /* 80353EEC 0034FB4C 4B FF D3 F9 */ bl ghiCreateLock /* 80353EF0 0034FB50 38 60 00 7D */ li r3, 0x7d /* 80353EF4 0034FB54 38 00 00 FA */ li r0, 0xfa /* 80353EF8 0034FB58 90 6D 93 90 */ stw r3, lbl_8063E650-_SDA_BASE_(r13) /* 80353EFC 0034FB5C 90 0D 93 94 */ stw r0, lbl_8063E654-_SDA_BASE_(r13) /* 80353F00 0034FB60 48 00 00 08 */ b lbl_80353F08 lbl_80353F04: /* 80353F04 0034FB64 4B FF D3 ED */ bl ghiUnlock lbl_80353F08: /* 80353F08 0034FB68 80 01 00 14 */ lwz r0, 0x14(r1) /* 80353F0C 0034FB6C 7C 08 03 A6 */ mtlr r0 /* 80353F10 0034FB70 38 21 00 10 */ addi r1, r1, 0x10 /* 80353F14 0034FB74 4E 80 00 20 */ blr .global ghttpCleanup ghttpCleanup: /* 80353F18 0034FB78 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80353F1C 0034FB7C 7C 08 02 A6 */ mflr r0 /* 80353F20 0034FB80 90 01 00 14 */ stw r0, 0x14(r1) /* 80353F24 0034FB84 4B FF D3 C9 */ bl ghiLock /* 80353F28 0034FB88 80 0D B0 D8 */ lwz r0, lbl_80640398-_SDA_BASE_(r13) /* 80353F2C 0034FB8C 34 00 FF FF */ addic. r0, r0, -1 /* 80353F30 0034FB90 90 0D B0 D8 */ stw r0, lbl_80640398-_SDA_BASE_(r13) /* 80353F34 0034FB94 40 82 00 2C */ bne lbl_80353F60 /* 80353F38 0034FB98 4B FF DE A1 */ bl ghiCleanupConnections /* 80353F3C 0034FB9C 80 6D B0 C4 */ lwz r3, lbl_80640384-_SDA_BASE_(r13) /* 80353F40 0034FBA0 2C 03 00 00 */ cmpwi r3, 0 /* 80353F44 0034FBA4 41 82 00 10 */ beq lbl_80353F54 /* 80353F48 0034FBA8 4B FE 53 F1 */ bl gsifree /* 80353F4C 0034FBAC 38 00 00 00 */ li r0, 0 /* 80353F50 0034FBB0 90 0D B0 C4 */ stw r0, lbl_80640384-_SDA_BASE_(r13) lbl_80353F54: /* 80353F54 0034FBB4 4B FF D3 9D */ bl ghiUnlock /* 80353F58 0034FBB8 4B FF D3 91 */ bl ghiFreeLock /* 80353F5C 0034FBBC 48 00 00 08 */ b lbl_80353F64 lbl_80353F60: /* 80353F60 0034FBC0 4B FF D3 91 */ bl ghiUnlock lbl_80353F64: /* 80353F64 0034FBC4 80 01 00 14 */ lwz r0, 0x14(r1) /* 80353F68 0034FBC8 7C 08 03 A6 */ mtlr r0 /* 80353F6C 0034FBCC 38 21 00 10 */ addi r1, r1, 0x10 /* 80353F70 0034FBD0 4E 80 00 20 */ blr .global func_80353F74 func_80353F74: /* 80353F74 0034FBD4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80353F78 0034FBD8 7C 08 02 A6 */ mflr r0 /* 80353F7C 0034FBDC 7C 89 23 78 */ mr r9, r4 /* 80353F80 0034FBE0 38 80 00 00 */ li r4, 0 /* 80353F84 0034FBE4 90 01 00 14 */ stw r0, 0x14(r1) /* 80353F88 0034FBE8 38 E0 00 00 */ li r7, 0 /* 80353F8C 0034FBEC 39 00 00 00 */ li r8, 0 /* 80353F90 0034FBF0 39 40 00 00 */ li r10, 0 /* 80353F94 0034FBF4 90 A1 00 08 */ stw r5, 8(r1) /* 80353F98 0034FBF8 38 A0 00 00 */ li r5, 0 /* 80353F9C 0034FBFC 90 C1 00 0C */ stw r6, 0xc(r1) /* 80353FA0 0034FC00 38 C0 00 00 */ li r6, 0 /* 80353FA4 0034FC04 48 00 00 15 */ bl ghttpGetExA /* 80353FA8 0034FC08 80 01 00 14 */ lwz r0, 0x14(r1) /* 80353FAC 0034FC0C 7C 08 03 A6 */ mtlr r0 /* 80353FB0 0034FC10 38 21 00 10 */ addi r1, r1, 0x10 /* 80353FB4 0034FC14 4E 80 00 20 */ blr .global ghttpGetExA ghttpGetExA: /* 80353FB8 0034FC18 94 21 FF C0 */ stwu r1, -0x40(r1) /* 80353FBC 0034FC1C 7C 08 02 A6 */ mflr r0 /* 80353FC0 0034FC20 90 01 00 44 */ stw r0, 0x44(r1) /* 80353FC4 0034FC24 39 61 00 40 */ addi r11, r1, 0x40 /* 80353FC8 0034FC28 4B E7 31 49 */ bl _savegpr_21 /* 80353FCC 0034FC2C 2C 03 00 00 */ cmpwi r3, 0 /* 80353FD0 0034FC30 83 C1 00 48 */ lwz r30, 0x48(r1) /* 80353FD4 0034FC34 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 80353FD8 0034FC38 7C 76 1B 78 */ mr r22, r3 /* 80353FDC 0034FC3C 7C 97 23 78 */ mr r23, r4 /* 80353FE0 0034FC40 7C B8 2B 78 */ mr r24, r5 /* 80353FE4 0034FC44 7C D9 33 78 */ mr r25, r6 /* 80353FE8 0034FC48 7C FA 3B 78 */ mr r26, r7 /* 80353FEC 0034FC4C 7D 1B 43 78 */ mr r27, r8 /* 80353FF0 0034FC50 7D 3C 4B 78 */ mr r28, r9 /* 80353FF4 0034FC54 7D 5D 53 78 */ mr r29, r10 /* 80353FF8 0034FC58 41 82 00 10 */ beq lbl_80354008 /* 80353FFC 0034FC5C 88 03 00 00 */ lbz r0, 0(r3) /* 80354000 0034FC60 7C 00 07 75 */ extsb. r0, r0 /* 80354004 0034FC64 40 82 00 0C */ bne lbl_80354010 lbl_80354008: /* 80354008 0034FC68 38 60 FF FF */ li r3, -1 /* 8035400C 0034FC6C 48 00 01 AC */ b lbl_803541B8 lbl_80354010: /* 80354010 0034FC70 2C 86 00 00 */ cmpwi cr1, r6, 0 /* 80354014 0034FC74 40 84 00 0C */ bge cr1, lbl_80354020 /* 80354018 0034FC78 38 60 FF FF */ li r3, -1 /* 8035401C 0034FC7C 48 00 01 9C */ b lbl_803541B8 lbl_80354020: /* 80354020 0034FC80 2C 05 00 00 */ cmpwi r5, 0 /* 80354024 0034FC84 41 82 00 10 */ beq lbl_80354034 /* 80354028 0034FC88 40 86 00 0C */ bne cr1, lbl_80354034 /* 8035402C 0034FC8C 38 60 FF FF */ li r3, -1 /* 80354030 0034FC90 48 00 01 88 */ b lbl_803541B8 lbl_80354034: /* 80354034 0034FC94 80 0D B0 D8 */ lwz r0, lbl_80640398-_SDA_BASE_(r13) /* 80354038 0034FC98 2C 00 00 00 */ cmpwi r0, 0 /* 8035403C 0034FC9C 40 82 00 38 */ bne lbl_80354074 /* 80354040 0034FCA0 4B FF D2 AD */ bl ghiLock /* 80354044 0034FCA4 80 6D B0 D8 */ lwz r3, lbl_80640398-_SDA_BASE_(r13) /* 80354048 0034FCA8 38 03 00 01 */ addi r0, r3, 1 /* 8035404C 0034FCAC 2C 00 00 01 */ cmpwi r0, 1 /* 80354050 0034FCB0 90 0D B0 D8 */ stw r0, lbl_80640398-_SDA_BASE_(r13) /* 80354054 0034FCB4 40 82 00 1C */ bne lbl_80354070 /* 80354058 0034FCB8 4B FF D2 8D */ bl ghiCreateLock /* 8035405C 0034FCBC 38 60 00 7D */ li r3, 0x7d /* 80354060 0034FCC0 38 00 00 FA */ li r0, 0xfa /* 80354064 0034FCC4 90 6D 93 90 */ stw r3, lbl_8063E650-_SDA_BASE_(r13) /* 80354068 0034FCC8 90 0D 93 94 */ stw r0, lbl_8063E654-_SDA_BASE_(r13) /* 8035406C 0034FCCC 48 00 00 08 */ b lbl_80354074 lbl_80354070: /* 80354070 0034FCD0 4B FF D2 81 */ bl ghiUnlock lbl_80354074: /* 80354074 0034FCD4 4B FF D7 ED */ bl ghiNewConnection /* 80354078 0034FCD8 2C 03 00 00 */ cmpwi r3, 0 /* 8035407C 0034FCDC 7C 75 1B 78 */ mr r21, r3 /* 80354080 0034FCE0 40 82 00 0C */ bne lbl_8035408C /* 80354084 0034FCE4 38 60 FF FF */ li r3, -1 /* 80354088 0034FCE8 48 00 01 30 */ b lbl_803541B8 lbl_8035408C: /* 8035408C 0034FCEC 38 00 00 00 */ li r0, 0 /* 80354090 0034FCF0 90 03 00 0C */ stw r0, 0xc(r3) /* 80354094 0034FCF4 7E C3 B3 78 */ mr r3, r22 /* 80354098 0034FCF8 4B FE 4E 6D */ bl goastrdup /* 8035409C 0034FCFC 2C 03 00 00 */ cmpwi r3, 0 /* 803540A0 0034FD00 90 75 00 14 */ stw r3, 0x14(r21) /* 803540A4 0034FD04 40 82 00 14 */ bne lbl_803540B8 /* 803540A8 0034FD08 7E A3 AB 78 */ mr r3, r21 /* 803540AC 0034FD0C 4B FF D9 79 */ bl ghiFreeConnection /* 803540B0 0034FD10 38 60 FF FF */ li r3, -1 /* 803540B4 0034FD14 48 00 01 04 */ b lbl_803541B8 lbl_803540B8: /* 803540B8 0034FD18 2C 17 00 00 */ cmpwi r23, 0 /* 803540BC 0034FD1C 41 82 00 34 */ beq lbl_803540F0 /* 803540C0 0034FD20 88 17 00 00 */ lbz r0, 0(r23) /* 803540C4 0034FD24 7C 00 07 75 */ extsb. r0, r0 /* 803540C8 0034FD28 41 82 00 28 */ beq lbl_803540F0 /* 803540CC 0034FD2C 7E E3 BB 78 */ mr r3, r23 /* 803540D0 0034FD30 4B FE 4E 35 */ bl goastrdup /* 803540D4 0034FD34 2C 03 00 00 */ cmpwi r3, 0 /* 803540D8 0034FD38 90 75 00 2C */ stw r3, 0x2c(r21) /* 803540DC 0034FD3C 40 82 00 14 */ bne lbl_803540F0 /* 803540E0 0034FD40 7E A3 AB 78 */ mr r3, r21 /* 803540E4 0034FD44 4B FF D9 41 */ bl ghiFreeConnection /* 803540E8 0034FD48 38 60 FF FF */ li r3, -1 /* 803540EC 0034FD4C 48 00 00 CC */ b lbl_803541B8 lbl_803540F0: /* 803540F0 0034FD50 93 55 01 60 */ stw r26, 0x160(r21) /* 803540F4 0034FD54 7C 18 00 D0 */ neg r0, r24 /* 803540F8 0034FD58 7C 00 C3 78 */ or r0, r0, r24 /* 803540FC 0034FD5C 93 95 00 34 */ stw r28, 0x34(r21) /* 80354100 0034FD60 54 00 0F FF */ rlwinm. r0, r0, 1, 0x1f, 0x1f /* 80354104 0034FD64 93 B5 00 40 */ stw r29, 0x40(r21) /* 80354108 0034FD68 93 D5 00 44 */ stw r30, 0x44(r21) /* 8035410C 0034FD6C 93 F5 00 48 */ stw r31, 0x48(r21) /* 80354110 0034FD70 93 75 01 58 */ stw r27, 0x158(r21) /* 80354114 0034FD74 90 15 01 08 */ stw r0, 0x108(r21) /* 80354118 0034FD78 41 82 00 1C */ beq lbl_80354134 /* 8035411C 0034FD7C 7E A3 AB 78 */ mr r3, r21 /* 80354120 0034FD80 7F 05 C3 78 */ mr r5, r24 /* 80354124 0034FD84 7F 26 CB 78 */ mr r6, r25 /* 80354128 0034FD88 38 95 00 E4 */ addi r4, r21, 0xe4 /* 8035412C 0034FD8C 4B FF C8 45 */ bl ghiInitFixedBuffer /* 80354130 0034FD90 48 00 00 18 */ b lbl_80354148 lbl_80354134: /* 80354134 0034FD94 7E A3 AB 78 */ mr r3, r21 /* 80354138 0034FD98 38 95 00 E4 */ addi r4, r21, 0xe4 /* 8035413C 0034FD9C 38 A0 08 00 */ li r5, 0x800 /* 80354140 0034FDA0 38 C0 08 00 */ li r6, 0x800 /* 80354144 0034FDA4 4B FF C7 31 */ bl ghiInitBuffer lbl_80354148: /* 80354148 0034FDA8 2C 03 00 00 */ cmpwi r3, 0 /* 8035414C 0034FDAC 40 82 00 14 */ bne lbl_80354160 /* 80354150 0034FDB0 7E A3 AB 78 */ mr r3, r21 /* 80354154 0034FDB4 4B FF D8 D1 */ bl ghiFreeConnection /* 80354158 0034FDB8 38 60 FF FF */ li r3, -1 /* 8035415C 0034FDBC 48 00 00 5C */ b lbl_803541B8 lbl_80354160: /* 80354160 0034FDC0 2C 1A 00 00 */ cmpwi r26, 0 /* 80354164 0034FDC4 41 82 00 24 */ beq lbl_80354188 /* 80354168 0034FDC8 7E A3 AB 78 */ mr r3, r21 /* 8035416C 0034FDCC 48 00 06 71 */ bl ghiPostInitState /* 80354170 0034FDD0 2C 03 00 00 */ cmpwi r3, 0 /* 80354174 0034FDD4 40 82 00 14 */ bne lbl_80354188 /* 80354178 0034FDD8 7E A3 AB 78 */ mr r3, r21 /* 8035417C 0034FDDC 4B FF D8 A9 */ bl ghiFreeConnection /* 80354180 0034FDE0 38 60 FF FF */ li r3, -1 /* 80354184 0034FDE4 48 00 00 34 */ b lbl_803541B8 lbl_80354188: /* 80354188 0034FDE8 2C 1C 00 00 */ cmpwi r28, 0 /* 8035418C 0034FDEC 41 82 00 28 */ beq lbl_803541B4 /* 80354190 0034FDF0 48 00 00 0C */ b lbl_8035419C lbl_80354194: /* 80354194 0034FDF4 38 60 00 0A */ li r3, 0xa /* 80354198 0034FDF8 4B FE 4E 8D */ bl msleep lbl_8035419C: /* 8035419C 0034FDFC 7E A3 AB 78 */ mr r3, r21 /* 803541A0 0034FE00 4B FF FB 8D */ bl ghiProcessConnection /* 803541A4 0034FE04 2C 03 00 00 */ cmpwi r3, 0 /* 803541A8 0034FE08 41 82 FF EC */ beq lbl_80354194 /* 803541AC 0034FE0C 38 60 00 00 */ li r3, 0 /* 803541B0 0034FE10 48 00 00 08 */ b lbl_803541B8 lbl_803541B4: /* 803541B4 0034FE14 80 75 00 04 */ lwz r3, 4(r21) lbl_803541B8: /* 803541B8 0034FE18 39 61 00 40 */ addi r11, r1, 0x40 /* 803541BC 0034FE1C 4B E7 2F A1 */ bl _restgpr_21 /* 803541C0 0034FE20 80 01 00 44 */ lwz r0, 0x44(r1) /* 803541C4 0034FE24 7C 08 03 A6 */ mtlr r0 /* 803541C8 0034FE28 38 21 00 40 */ addi r1, r1, 0x40 /* 803541CC 0034FE2C 4E 80 00 20 */ blr .global ghttpThink ghttpThink: /* 803541D0 0034FE30 3C 60 80 35 */ lis r3, ghiProcessConnection@ha /* 803541D4 0034FE34 38 63 3D 2C */ addi r3, r3, ghiProcessConnection@l /* 803541D8 0034FE38 4B FF DA 30 */ b ghiEnumConnections .global ghttpCancelRequest ghttpCancelRequest: /* 803541DC 0034FE3C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803541E0 0034FE40 7C 08 02 A6 */ mflr r0 /* 803541E4 0034FE44 90 01 00 14 */ stw r0, 0x14(r1) /* 803541E8 0034FE48 4B FF D9 B1 */ bl ghiRequestToConnection /* 803541EC 0034FE4C 2C 03 00 00 */ cmpwi r3, 0 /* 803541F0 0034FE50 41 82 00 08 */ beq lbl_803541F8 /* 803541F4 0034FE54 4B FF D8 31 */ bl ghiFreeConnection lbl_803541F8: /* 803541F8 0034FE58 80 01 00 14 */ lwz r0, 0x14(r1) /* 803541FC 0034FE5C 7C 08 03 A6 */ mtlr r0 /* 80354200 0034FE60 38 21 00 10 */ addi r1, r1, 0x10 /* 80354204 0034FE64 4E 80 00 20 */ blr .global ghttpSetMaxRecvTime ghttpSetMaxRecvTime: /* 80354208 0034FE68 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8035420C 0034FE6C 7C 08 02 A6 */ mflr r0 /* 80354210 0034FE70 90 01 00 14 */ stw r0, 0x14(r1) /* 80354214 0034FE74 93 E1 00 0C */ stw r31, 0xc(r1) /* 80354218 0034FE78 7C 9F 23 78 */ mr r31, r4 /* 8035421C 0034FE7C 4B FF D9 7D */ bl ghiRequestToConnection /* 80354220 0034FE80 2C 03 00 00 */ cmpwi r3, 0 /* 80354224 0034FE84 41 82 00 08 */ beq lbl_8035422C /* 80354228 0034FE88 93 E3 01 84 */ stw r31, 0x184(r3) lbl_8035422C: /* 8035422C 0034FE8C 80 01 00 14 */ lwz r0, 0x14(r1) /* 80354230 0034FE90 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80354234 0034FE94 7C 08 03 A6 */ mtlr r0 /* 80354238 0034FE98 38 21 00 10 */ addi r1, r1, 0x10 /* 8035423C 0034FE9C 4E 80 00 20 */ blr