Function at 0x428814
Capabilities:
Check for time delay via gettickcount
Check http status code
Connect to http server
Create http request
Parse url
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x4464
call fcn.00517f10
mov eax, dword [0x6f4e3c]
xor eax, ebp
mov dword [ebp - 0x10], eax
xor edi, edi
cmp dword [ebp + 8], 0
je 0x428b18
lea eax, [ebp - 0x218]
push 0x208
push edi
push eax
call fcn.006030b0
add esp, 0xc
lea ebx, [ebp - 0x2218]
push 0x2000
push edi
push ebx
call fcn.006030b0
add esp, 0xc
xorps xmm0, xmm0
lea esi, [ebp - 0x4460]
movups xmmword [esi + 4], xmm0
movups xmmword [esi + 0x14], xmm0
movups xmmword [esi + 0x24], xmm0
mov dword [esi + 0x38], edi
mov dword [esi + 0x34], edi
mov dword [esi], 0x3c
lea eax, [ebp - 0x218]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 0x104
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], 0x1000
mov eax, dword [ebp + 8]
mov ebx, dword [eax]
push ebx
call fcn.006208d5
add esp, 4
push esi
push edi
push eax
push ebx
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
je 0x428b18
mov eax, dword [ebp - 0x4454]
cmp eax, 4
je 0x4288e2
cmp eax, 3
mov ebx, dword [ebp + 8]
jne 0x428b18
mov dword [ebp - 0x446c], 0
jmp 0x4288ee
xor eax, eax
inc eax
mov dword [ebp - 0x446c], eax
mov ebx, dword [ebp + 8]
movzx esi, word [ebp - 0x4448]
sub esp, 0x14
xorps xmm0, xmm0
movups xmmword [esp + 4], xmm0
mov dword [esp], 0x6390a0
call dword [sym.imp.WININET.dll_InternetOpenW]
mov dword [ebx + 0x18], eax
test eax, eax
je 0x428a5d
sub esp, 0x20
movaps xmm0, xmmword [0x647da0]
movups xmmword [esp + 0xc], xmm0
movzx esi, si
mov dword [esp + 8], esi
lea ecx, [ebp - 0x218]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0x1c], 0
call dword [sym.imp.WININET.dll_InternetConnectW]
mov dword [ebx + 0x1c], eax
test eax, eax
je 0x428a5d
mov ecx, ebx
push dword [ebp - 0x446c]
lea eax, [ebp - 0x2218]
push eax
lea eax, [ebp - 0x218]
push eax
push esi
call fcn.00428cca
test eax, eax
je 0x428b18
mov eax, dword [ebx + 0x24]
lea ecx, [ebp - 0x2420]
inc eax
mov dword [ebx + 0x24], eax
mov dword [ebp - 0x4424], 0
mov eax, 4
mov dword [ebp - 0x2420], eax
mov edi, ecx
push ecx
lea esi, [ebp - 0x4424]
push esi
mov eax, 0x1f
push eax
push dword [ebx + 0x20]
call dword [sym.imp.WININET.dll_InternetQueryOptionW]
or dword [ebp - 0x4424], 0x3180
mov eax, 4
push eax
push esi
mov eax, 0x1f
push eax
push dword [ebx + 0x20]
call dword [sym.imp.WININET.dll_InternetSetOptionW]
mov eax, dword [ebx + 0x20]
sub esp, 0x14
xorps xmm0, xmm0
movups xmmword [esp + 4], xmm0
mov dword [esp], eax
call dword [sym.imp.WININET.dll_HttpSendRequestW]
test eax, eax
jne 0x428a69
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x2f0d
jne 0x428a47
mov dword [ebp - 0x4424], 0
mov eax, 4
mov dword [ebp - 0x2420], eax
push edi
lea esi, [ebp - 0x4424]
push esi
mov eax, 0x1f
push eax
mov ebx, dword [ebp + 8]
push dword [ebx + 0x20]
call dword [sym.imp.WININET.dll_InternetQueryOptionW]
or byte [ebp - 0x4423], 1
mov eax, 4
push eax
push esi
mov eax, 0x1f
push eax
push dword [ebx + 0x20]
call dword [sym.imp.WININET.dll_InternetSetOptionW]
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x24]
cmp eax, 2
mov ecx, edi
jl 0x428981
jmp 0x428b0f
mov ecx, ebx
call fcn.00428c70
jmp 0x428b18
xor ebx, ebx
push 0x208
push ebx
push edi
call fcn.006030b0
add esp, 0xc
lea esi, [ebp - 0x4464]
mov dword [esi], 0x104
push ebx
push esi
push edi
push 0x13
mov ebx, dword [ebp + 8]
push dword [ebx + 0x20]
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x428b0f
push edi
call fcn.0061d786
add esp, 4
cmp eax, 0xc8
jne 0x428b0f
xor eax, eax
push 0x104
push eax
push edi
call fcn.006030b0
add esp, 0xc
mov dword [ebp - 0x4470], 0
xor eax, eax
push eax
push esi
push edi
push 5
push dword [ebx + 0x20]
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x428ae9
push edi
call fcn.0061d786
add esp, 4
mov dword [ebp - 0x4470], eax
push 0x2001
push 0
lea eax, [ebp - 0x4424]
push eax
call fcn.006030b0
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebx + 0x28]
cmp eax, 0xbb7
jbe 0x428b31
mov ecx, ebx
call fcn.00428c70
xor edi, edi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00517c1a
mov eax, edi
add esp, 0x4464
pop esi
pop edi
pop ebx
pop ebp
ret 4
mov edi, ebx
xor esi, esi
mov dword [ebp - 0x446c], 0
push 0x2001
xor eax, eax
push eax
lea ebx, [ebp - 0x4424]
push ebx
call fcn.006030b0
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x4468], eax
lea eax, [ebp - 0x4468]
push eax
push 0x2000
push ebx
push dword [edi + 0x20]
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x428bed
mov eax, dword [ebp - 0x4468]
add eax, esi
push eax
push dword [ebp - 0x446c]
call fcn.004912b0
add esp, 8
mov dword [ebp - 0x446c], eax
add eax, esi
mov edi, dword [ebp - 0x4468]
push edi
push ebx
push eax
call fcn.006025b0
add esp, 0xc
add esi, edi
cmp esi, 0x500001
jae 0x428c07
test edi, edi
je 0x428c24
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, dword [ebp + 8]
sub eax, dword [edi + 0x28]
cmp eax, 0xbb7
jbe 0x428b3f
mov eax, dword [ebp - 0x446c]
test eax, eax
mov ebx, edi
je 0x428b0f
push 0
push eax
call fcn.004912b0
add esp, 8
jmp 0x428b0f
mov eax, dword [ebp - 0x4470]
test eax, eax
je 0x428c51
cmp esi, eax
jne 0x428c51
mov dword [ebp - 0x4468], 0
jmp 0x428c26
mov eax, dword [ebp - 0x446c]
test eax, eax
je 0x428c1c
push 0
push eax
call fcn.004912b0
add esp, 8
mov ecx, dword [ebp + 8]
jmp 0x428b11
mov eax, esi
mov ecx, dword [ebp + 8]
push eax
mov esi, dword [ebp - 0x446c]
push esi
call fcn.00428e04
xor edi, edi
inc edi
test esi, esi
je 0x428b18
push 0
push esi
call fcn.004912b0
add esp, 8
jmp 0x428b18
mov eax, dword [ebp - 0x446c]
test eax, eax
mov esi, dword [ebp + 8]
je 0x428c69
push 0
push eax
call fcn.004912b0
add esp, 8
mov ecx, esi
jmp 0x428b11