Function at 0x5077d8
Capabilities:
Connect to http server
Create http request
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffbd8
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 8], ebx
mov edi, ecx
mov ebx, edx
mov dword [ebp - 0xc], eax
mov esi, dword [ebp + 0xc]
xor eax, eax
push ebp
push 0x507a3a
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0xd], 0
xor eax, eax
mov dword [esi], eax
mov eax, ebx
call fcn.00407a40
push eax
call sub.wininet.dll_DeleteUrlCacheEntryW
lea ecx, [ebp - 8]
lea edx, [ebp - 4]
mov eax, ebx
call fcn.005075ec
test al, al
je 0x507a1f
mov eax, dword [ebp - 4]
call fcn.0040720c
test eax, eax
jle 0x507a1f
mov eax, dword [ebp - 8]
call fcn.0040720c
test eax, eax
jle 0x507a1f
push 0
push 0
push 0
push 0
push 0
call sub.wininet.dll_InternetOpenW
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x507a1f
xor eax, eax
push ebp
push 0x507a18
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0
push 3
push 0
push 0
push 0x50
mov eax, dword [ebp - 4]
call fcn.00407a40
push eax
mov eax, dword [ebp - 0x14]
push eax
call sub.wininet.dll_InternetConnectW
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x507a01
xor eax, eax
push ebp
push 0x5079fa
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0x84080300
push 0
push 0
push 0
mov eax, dword [ebp - 8]
call fcn.00407a40
push eax
mov eax, dword [ebp - 0xc]
call fcn.00407a40
push eax
mov eax, dword [ebp - 0x18]
push eax
call sub.wininet.dll_HttpOpenRequestW
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x5079e3
xor eax, eax
push ebp
push 0x5079dc
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, edi
call fcn.0040720c
test eax, eax
jle 0x507913
mov eax, edi
call fcn.00407a40
mov ebx, eax
mov eax, edi
call fcn.0040720c
mov edi, eax
jmp 0x507917
xor ebx, ebx
xor edi, edi
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0x14]
push eax
push edi
push ebx
mov eax, dword [ebp - 0x1c]
push eax
call sub.wininet.dll_HttpSendRequestW
test eax, eax
jne 0x507942
call fcn.0040653c
call fcn.0040653c
call fcn.0040653c
jmp 0x507a1f
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], 4
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x24]
push eax
push esi
push 0x20000013
mov eax, dword [ebp - 0x1c]
push eax
call sub.wininet.dll_HttpQueryInfoW
xor eax, eax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x428]
mov edx, 0x400
call fcn.0040d5bc
lea eax, [ebp - 0x20]
push eax
push 0x400
lea eax, [ebp - 0x428]
push eax
mov eax, dword [ebp - 0x1c]
push eax
call sub.wininet.dll_InternetReadFile
cmp eax, 1
sbb eax, eax
inc eax
mov byte [ebp - 0xd], al
cmp dword [ebp - 0x20], 0
jbe 0x5079b9
cmp dword [ebp + 8], 0
je 0x5079b9
lea edx, [ebp - 0x428]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp + 8]
mov ebx, dword [eax]
call dword [ebx + 0x10]
cmp byte [ebp - 0xd], 0
je 0x5079c5
cmp dword [ebp - 0x20], 0
jne 0x507965
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5079e3
mov eax, dword [ebp - 0x1c]
push eax
call sub.wininet.dll_InternetCloseHandle
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x507a01
mov eax, dword [ebp - 0x18]
push eax
call sub.wininet.dll_InternetCloseHandle
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x507a1f
mov eax, dword [ebp - 0x14]
push eax
call sub.wininet.dll_InternetCloseHandle
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x507a41
lea eax, [ebp - 8]
mov edx, 2
call fcn.00406d74
ret