Function at 0x4a7fa0
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, 0x38c
push ebx
push esi
push edi
push ecx
lea edi, [ebp - 0x38c]
mov ecx, 0xe3
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov eax, dword [0x5ddc34]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x220], str.Mozilla_4.0_compatible_MSIE9.0_WindowsNT6.1_LinLauncher_
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x244], 0
mov esi, esp
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x220]
push eax
call dword [sym.imp.WININET.dll_InternetOpenW]
cmp esi, esp
call fcn.004f4cf0
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], 0
jne 0x4a8027
jmp 0x4a83b4
mov esi, esp
push 0
push 0
push 0
push 0
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x238]
push ecx
call dword [sym.imp.WININET.dll_InternetOpenUrlW]
cmp esi, esp
call fcn.004f4cf0
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 0
jne 0x4a805d
jmp 0x4a83b4
mov dword [ebp - 0x268], 4
mov dword [ebp - 0x274], 0
mov esi, esp
lea eax, [ebp - 0x274]
push eax
lea ecx, [ebp - 0x268]
push ecx
lea edx, [ebp - 0x25c]
push edx
push 0x20000013
mov eax, dword [ebp - 0x244]
push eax
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
cmp esi, esp
call fcn.004f4cf0
test eax, eax
jne 0x4a80aa
jmp 0x4a83b4
cmp dword [ebp - 0x25c], 0xc8
je 0x4a80bb
jmp 0x4a83b4
mov esi, esp
lea eax, [ebp - 0x274]
push eax
lea ecx, [ebp - 0x268]
push ecx
lea edx, [ebp - 0x25c]
push edx
push 0x20000005
mov eax, dword [ebp - 0x244]
push eax
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
cmp esi, esp
call fcn.004f4cf0
test eax, eax
jne 0x4a80f4
jmp 0x4a83b4
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x25c]
mov dword [eax], ecx
push 0
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x504]
call fcn.004195a0
push 0x64
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x504]
call fcn.00419540
mov eax, dword [ebp + 0xc]
push eax
push 0x591084
lea ecx, [ebp - 0x214]
push ecx
call fcn.004010d2
add esp, 0xc
mov esi, esp
lea eax, [ebp - 0x214]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x504]
mov eax, dword [ebp - 0xc]
mov edx, dword [edx]
mov ecx, dword [eax + 0x504]
mov eax, dword [edx + 0x2c]
call eax
cmp esi, esp
call fcn.004f4cf0
mov eax, dword [ebp + 0x10]
cmp dword [eax], 0
jne 0x4a816d
jmp 0x4a83b4
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
push ecx
call fcn.004bcb10
add esp, 4
mov dword [ebp - 0x370], eax
mov edx, dword [ebp - 0x370]
mov dword [ebp - 0x22c], edx
cmp dword [ebp - 0x22c], 0
jne 0x4a819b
jmp 0x4a83b4
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp esi, esp
call fcn.004f4cf0
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x28c], 0
mov esi, esp
lea eax, [ebp - 0x250]
push eax
push 0x800
mov ecx, dword [ebp - 0x22c]
add ecx, dword [ebp - 0x28c]
push ecx
mov edx, dword [ebp - 0x244]
push edx
call dword [sym.imp.WININET.dll_InternetReadFile]
cmp esi, esp
call fcn.004f4cf0
test eax, eax
jne 0x4a8229
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
cmp dword [ebp - 0x22c], 0
je 0x4a821a
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x364], eax
mov ecx, dword [ebp - 0x364]
push ecx
call fcn.004f9cb0
add esp, 4
mov dword [ebp - 0x22c], 0
jmp 0x4a835b
mov eax, dword [ebp - 0x28c]
add eax, dword [ebp - 0x250]
mov dword [ebp - 0x28c], eax
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp esi, esp
call fcn.004f4cf0
sub eax, dword [ebp - 0x280]
cmp eax, 0x64
jbe 0x4a834e
imul eax, dword [ebp - 0x28c], 0x64
mov dword [ebp - 0x378], eax
cvtsi2sd xmm0, dword [ebp - 0x378]
mov ecx, dword [ebp - 0x378]
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x591e20]
movsd qword [ebp - 0x380], xmm0
cvtsd2ss xmm0, qword [ebp - 0x380]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
mov dword [ebp - 0x384], eax
cvtsi2sd xmm1, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x384]
shr ecx, 0x1f
addsd xmm1, qword [ecx*8 + 0x591e20]
movsd qword [ebp - 0x38c], xmm1
cvtsd2ss xmm1, qword [ebp - 0x38c]
divss xmm0, xmm1
movss dword [ebp - 0x298], xmm0
cvtss2sd xmm0, dword [ebp - 0x298]
sub esp, 8
movsd qword [esp], xmm0
mov eax, dword [ebp + 0xc]
push eax
push 0x5910b8
lea ecx, [ebp - 0x214]
push ecx
call fcn.004010d2
add esp, 0x14
cvttss2si eax, dword [ebp - 0x298]
push eax
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx + 0x504]
call fcn.004195a0
mov esi, esp
lea eax, [ebp - 0x214]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x504]
mov eax, dword [ebp - 0xc]
mov edx, dword [edx]
mov ecx, dword [eax + 0x504]
mov eax, dword [edx + 0x2c]
call eax
cmp esi, esp
call fcn.004f4cf0
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp esi, esp
call fcn.004f4cf0
mov dword [ebp - 0x280], eax
cmp dword [ebp - 0x250], 0
jne 0x4a81ba
mov eax, dword [ebp + 0xc]
push eax
push str.ck_W_vN_t
lea ecx, [ebp - 0x214]
push ecx
call fcn.004010d2
add esp, 0xc
push 0x64
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x504]
call fcn.004195a0
mov esi, esp
lea eax, [ebp - 0x214]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x504]
mov eax, dword [ebp - 0xc]
mov edx, dword [edx]
mov ecx, dword [eax + 0x504]
mov eax, dword [edx + 0x2c]
call eax
cmp esi, esp
call fcn.004f4cf0
xor eax, eax
jne 0x4a7ff5
cmp dword [ebp - 0x244], 0
je 0x4a83d3
mov esi, esp
mov eax, dword [ebp - 0x244]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp esi, esp
call fcn.004f4cf0
cmp dword [ebp - 0x238], 0
je 0x4a83f2
mov esi, esp
mov eax, dword [ebp - 0x238]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp esi, esp
call fcn.004f4cf0
mov eax, dword [ebp - 0x22c]
push edx
mov ecx, ebp
push eax
lea edx, [0x4a842c]
call fcn.004f4c90
pop eax
pop edx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004f4d70
add esp, 0x38c
cmp ebp, esp
call fcn.004f4cf0
mov esp, ebp
pop ebp
ret 0xc