Function at 0x403e60
Capabilities:
Check for time delay via gettickcount
Check http status code
Create http request
Get http content length
Read data from internet
Receive data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x234
mov eax, dword [0x464ce4]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push esi
push edi
push 0
push 0
push 0
push 0
push str.Mozilla_4.0_compatible_MSIE9.0_WindowsNT6.1_LinLauncher_
mov esi, ecx
mov edi, edx
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x214], 0
call dword [sym.imp.WININET.dll_InternetOpenW]
mov dword [ebp - 0x230], eax
test eax, eax
je 0x40411b
push 0
push 0
push 0
push 0
push edi
push eax
call dword [sym.imp.WININET.dll_InternetOpenUrlW]
mov edi, eax
mov dword [ebp - 0x224], edi
test edi, edi
je 0x40410e
lea ecx, [ebp - 0x228]
push ecx
lea edx, [ebp - 0x220]
push edx
lea eax, [ebp - 0x21c]
push eax
push 0x20000013
push edi
mov dword [ebp - 0x220], 4
mov dword [ebp - 0x228], 0
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x404107
cmp dword [ebp - 0x21c], 0xc8
jne 0x404107
lea ecx, [ebp - 0x228]
push ecx
lea edx, [ebp - 0x220]
push edx
lea eax, [ebp - 0x21c]
push eax
push 0x20000005
push edi
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x404107
mov ecx, dword [ebp - 0x21c]
mov dword [ebx], ecx
mov ecx, dword [esi + 0x2a0]
push 0
call fcn.0040cf52
mov ecx, dword [esi + 0x2a0]
push 0x64
call fcn.0040cf3d
mov edx, dword [ebp - 0x218]
push edx
push 0x45daf0
lea edx, [ebp - 0x20c]
call fcn.00405e10
mov ecx, dword [esi + 0x2a0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
add esp, 8
lea edx, [ebp - 0x20c]
push edx
call eax
mov eax, dword [ebx]
test eax, eax
je 0x404107
push eax
call fcn.004061d0
add esp, 4
mov dword [ebp - 0x214], eax
test eax, eax
je 0x404107
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x210], eax
xor edi, edi
mov edx, dword [ebp - 0x214]
lea ecx, [ebp - 0x22c]
push ecx
mov ecx, dword [ebp - 0x224]
push 0x800
lea eax, [edi + edx]
push eax
push ecx
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x4040a5
add edi, dword [ebp - 0x22c]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x210]
cmp eax, 0x64
jbe 0x404096
mov edx, edi
imul edx, edx, 0x64
mov dword [ebp - 0x210], edx
fild dword [ebp - 0x210]
test edx, edx
jns 0x404023
fadd dword [0x45e03c]
mov eax, dword [ebx]
fild dword [ebx]
test eax, eax
jns 0x404031
fadd dword [0x45e03c]
fdivp st(1)
mov ecx, dword [ebp - 0x218]
sub esp, 8
lea edx, [ebp - 0x20c]
fstp dword [ebp - 0x210]
fld dword [ebp - 0x210]
fstp qword [esp]
push ecx
push 0x45db1c
call fcn.00405e10
fld dword [ebp - 0x210]
add esp, 0x10
call fcn.0043d0b0
mov ecx, dword [esi + 0x2a0]
push eax
call fcn.0040cf52
mov ecx, dword [esi + 0x2a0]
mov edx, dword [ecx]
mov edx, dword [edx + 0x2c]
lea eax, [ebp - 0x20c]
push eax
call edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x22c], 0
jne 0x403fc2
jmp 0x4040c4
mov eax, dword [ebp - 0x214]
push eax
mov dword [ebx], 0
call fcn.00438a6d
add esp, 4
mov dword [ebp - 0x214], 0
mov ecx, dword [ebp - 0x218]
push ecx
push str.ck_W_vN_t
lea edx, [ebp - 0x20c]
call fcn.00405e10
mov ecx, dword [esi + 0x2a0]
add esp, 8
push 0x64
call fcn.0040cf52
mov esi, dword [esi + 0x2a0]
mov edx, dword [esi]
mov edx, dword [edx + 0x2c]
lea eax, [ebp - 0x20c]
push eax
mov ecx, esi
call edx
mov edi, dword [ebp - 0x224]
push edi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, dword [ebp - 0x230]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x214]
pop edi
xor ecx, ebp
pop esi
call fcn.0043836a
mov esp, ebp
pop ebp
ret 4