Function at 0x45e464
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, 0xfffff7e0
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x820], ebx
mov dword [ebp - 0x81c], ebx
mov dword [ebp - 0x818], ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov edi, eax
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp + 0x14]
xor eax, eax
push ebp
push 0x45e717
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0xc], eax
push 0x45e72c
lea eax, [ebp - 0x414]
push eax
call sub.kernel32.dll_lstrcpyA
push 0x45e76c
push ebx
call sub.kernel32.dll_lstrcmpiA
test eax, eax
jne 0x45e4d6
push 0x45e770
lea eax, [ebp - 0x814]
push eax
call sub.kernel32.dll_lstrcpyA
push 0x45e774
push ebx
call sub.kernel32.dll_lstrcmpiA
test eax, eax
jne 0x45e4f6
push 0x45e77c
lea eax, [ebp - 0x814]
push eax
call sub.kernel32.dll_lstrcpyA
mov edx, 0x45e7ac
xor ecx, ecx
mov eax, edi
call fcn.0045e340
test eax, eax
jg 0x45e51e
mov edx, 0x45e7b4
xor ecx, ecx
mov eax, edi
call fcn.0045e340
test eax, eax
jle 0x45e5ee
call fcn.004029dc
push 0x45e7c0
lea eax, [ebp - 0x414]
push eax
call sub.kernel32.dll_lstrcpyA
mov eax, 5
call fcn.00402f60
lea edx, [ebp - 0x818]
call fcn.00408984
mov eax, dword [ebp - 0x818]
call fcn.004048b8
push eax
lea eax, [ebp - 0x414]
push eax
call sub.kernel32.dll_lstrcatA
push 0x45e80c
lea eax, [ebp - 0x414]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, 5
call fcn.00402f60
lea edx, [ebp - 0x81c]
call fcn.00408984
mov eax, dword [ebp - 0x81c]
call fcn.004048b8
push eax
lea eax, [ebp - 0x414]
push eax
call sub.kernel32.dll_lstrcatA
push 0x45e80c
lea eax, [ebp - 0x414]
push eax
call sub.kernel32.dll_lstrcatA
mov eax, 0x1869f
call fcn.00402f60
lea edx, [ebp - 0x820]
call fcn.00408984
mov eax, dword [ebp - 0x820]
call fcn.004048b8
push eax
lea eax, [ebp - 0x414]
push eax
call sub.kernel32.dll_lstrcatA
push 0x45e810
lea eax, [ebp - 0x414]
push eax
call sub.kernel32.dll_lstrcatA
push 0x45e774
push ebx
call sub.kernel32.dll_lstrcmpiA
test eax, eax
jne 0x45e631
push 0x45e814
mov eax, dword [ebp - 4]
push eax
call sub.kernel32.dll_lstrcmpiA
test eax, eax
jne 0x45e631
push 0x45e824
lea eax, [ebp - 0x814]
push eax
call sub.kernel32.dll_lstrcatA
push 0x45e828
lea eax, [ebp - 0x814]
push eax
call sub.kernel32.dll_lstrcatA
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x414]
push eax
call sub.wininet.dll_InternetOpenA
mov dword [ebp - 0x10], eax
push 0
push 0
push 3
push 0
push 0
push 0x50
push edi
mov eax, dword [ebp - 0x10]
push eax
call sub.wininet.dll_InternetConnectA
mov edi, eax
push 0
push 0x80000000
push 0
push 0
push 0x45e84c
mov eax, dword [ebp - 4]
push eax
push ebx
push edi
call sub.wininet.dll_HttpOpenRequestA
mov ebx, eax
mov eax, dword [ebp - 8]
push eax
call sub.kernel32.dll_lstrlenA_1
push eax
mov eax, dword [ebp - 8]
push eax
lea eax, [ebp - 0x814]
push eax
call sub.kernel32.dll_lstrlenA_1
push eax
lea eax, [ebp - 0x814]
push eax
push ebx
call sub.wininet.dll_HttpSendRequestA
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp + 0xc]
push eax
push esi
push ebx
call sub.wininet.dll_InternetReadFile
cmp eax, 1
sbb edx, edx
inc edx
cmp dl, 1
jne 0x45e6ce
cmp dword [ebp - 0x14], 0
jbe 0x45e6ce
add esi, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
add dword [ebp - 0xc], edx
cmp eax, 1
sbb eax, eax
inc eax
test al, al
je 0x45e6e4
cmp dword [ebp - 0x14], 0
je 0x45e6e4
cmp byte [ebp + 8], 0
jne 0x45e6a5
push ebx
call sub.wininet.dll_InternetCloseHandle
push edi
call sub.wininet.dll_InternetCloseHandle
mov eax, dword [ebp - 0x10]
push eax
call sub.wininet.dll_InternetCloseHandle
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45e71e
lea eax, [ebp - 0x820]
mov edx, 3
call fcn.0040442c
ret