Function at 0x45d2b4
Capabilities:
Create http request
Get http content length
Read data from internet
Receive data

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffdc
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov ebx, eax
mov byte [0x46cd3c], 0
mov eax, dword [ebp + 8]
call fcn.004040e4
push 0
push 0
push 0
mov eax, dword [ebp + 0x10]
push eax
push 0x45d500
call sub.wininet.dll_InternetOpenA
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x24], 0x7d0
push 4
lea eax, [ebp - 0x24]
push eax
push 2
mov eax, dword [ebp - 0xc]
push eax
call sub.wininet.dll_InternetSetOptionA
push 0
mov eax, dword [ebp + 0xc]
push eax
push 0
push 0
mov eax, ebx
call fcn.004045a4
push eax
mov eax, dword [ebp - 0xc]
push eax
call sub.wininet.dll_InternetOpenUrlA
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [0x46cd34], eax
xor eax, eax
mov dword [0x46cd38], eax
mov dword [ebp - 0x1c], 4
xor eax, eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x1c]
push eax
push 0x46cd34
push 0x20000005
mov eax, dword [ebp - 0x10]
push eax
call sub.wininet.dll_HttpQueryInfoA
xor eax, eax
push ebp
push 0x45d37b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x4000
call fcn.00402744
mov dword [ebp - 0x14], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45d385
xor eax, eax
push ebp
push 0x45d428
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 8], 0
je 0x45d3a1
mov eax, dword [ebp - 8]
mov dword [ebp - 0x20], eax
jmp 0x45d3c6
cmp dword [ebp - 4], 0
je 0x45d3c6
mov eax, dword [ebp - 4]
call fcn.00408f6c
push 0xffff
mov ecx, dword [ebp - 4]
mov dl, 1
mov eax, dword [0x41669c]
call fcn.0041a738
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x45d41e
cmp byte [0x46cd3c], 0
jne 0x45d41e
lea eax, [ebp - 0x18]
push eax
push 0x4000
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.wininet.dll_InternetReadFile
test eax, eax
je 0x45d41e
cmp dword [ebp - 0x18], 0
jbe 0x45d403
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [ebp - 0x18]
add dword [0x46cd38], eax
mov eax, dword [0x46b2d0]
mov eax, dword [eax]
call fcn.0045bafc
cmp dword [ebp - 0x18], 0
ja 0x45d3cc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45d432
xor eax, eax
push ebp
push 0x45d452
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x14]
call fcn.00402764
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45d45c
xor eax, eax
mov dword [0x46cd38], eax
xor eax, eax
push ebp
push 0x45d49b
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 0x20], 0
je 0x45d491
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
call dword [edx]
mov dword [0x46cd38], eax
cmp dword [ebp - 8], 0
jne 0x45d491
mov eax, dword [ebp - 0x20]
call fcn.00403394
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45d4a5
cmp dword [0x46cd38], 0
jne 0x45d4be
cmp dword [ebp - 4], 0
je 0x45d4e2
mov eax, dword [ebp - 4]
call fcn.00408f6c
jmp 0x45d4e2
cmp dword [ebp - 8], 0
je 0x45d4d7
mov eax, dword [0x46cd38]
xor edx, edx
push edx
push eax
mov eax, dword [ebp + 8]
call fcn.00408a4c
jmp 0x45d4e2
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 4]
call fcn.00404138
mov eax, dword [ebp - 0x10]
push eax
call sub.wininet.dll_InternetCloseHandle
mov eax, dword [ebp - 0xc]
push eax
call sub.wininet.dll_InternetCloseHandle
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc