Function at 0x423d60
Capabilities:
Create http request
Print debug messages
Read data from internet
Receive data

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x40038
call fcn.00424000
mov eax, dword [0x42fc60]
mov dword [ebp - 0x18], eax
push edi
mov dword [ebp - 0x2c], 0xffffffff
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
push ecx
push 0
mov edx, dword [ebp + 0xc]
push edx
call sub.MSVCR71.dll_memset
add esp, 0xc
push 0
push 0
push 0
push 0
push str.Http
call dword [sym.imp.WININET.dll_InternetOpenA]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x423db5
mov eax, dword [ebp - 0x2c]
jmp 0x423f37
push 0
push 0x4000000
push 0
push 0
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x423de9
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, dword [ebp - 0x2c]
jmp 0x423f37
mov byte [ebp - 0x28], 0
xor eax, eax
mov dword [ebp - 0x27], eax
mov dword [ebp - 0x23], eax
mov dword [ebp - 0x1f], eax
mov word [ebp - 0x1b], ax
mov byte [ebp - 0x19], al
mov dword [ebp - 8], 0
mov dword [ebp - 0x14], 0x10
push 0
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 0x28]
push edx
push 5
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x423e73
lea ecx, [ebp - 0x28]
push ecx
call dword [sym.imp.MSVCR71.dll_atol]
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jbe 0x423e73
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 8]
cmp eax, dword [edx]
jbe 0x423e73
push str.HttpGetFile_pvBuffer_not_enough_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, dword [ebp - 0x2c]
jmp 0x423f37
mov dword [ebp - 0x34], 0
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x30], ecx
mov edx, 1
test edx, edx
je 0x423f20
mov byte [ebp - 0x40038], 0
mov ecx, 0xffff
xor eax, eax
lea edi, [ebp - 0x40037]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x34], 0
lea eax, [ebp - 0x34]
push eax
push 0x40000
lea ecx, [ebp - 0x40038]
push ecx
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.WININET.dll_InternetReadFile]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
je 0x423f19
mov dword [ebp - 0x2c], 0
cmp dword [ebp - 0x34], 0
jbe 0x423f15
mov eax, dword [ebp - 0x34]
push eax
lea ecx, [ebp - 0x40038]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call sub.MSVCR71.dll_memcpy
add esp, 0xc
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x34]
mov edx, dword [ebp + 0x10]
mov dword [edx], ecx
mov eax, dword [ebp - 0x30]
add eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
jmp 0x423f17
jmp 0x423f20
jmp 0x423f1b
jmp 0x423f20
jmp 0x423e89
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x18]
call fcn.00423fdd
pop edi
mov esp, ebp
pop ebp
ret