Function at 0x402850
Capabilities:
Check http status code
Create http request
Read data from internet
Receive data

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x19054
call fcn.00410660
mov eax, dword [0x41c024]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 0
push 0
push 0
push 1
push 0
mov esi, ecx
call dword [sym.imp.WININET.dll_InternetOpenA]
mov edi, eax
test edi, edi
jne 0x4028c8
lea eax, [esi + 4]
push edi
push 0x41840e
push eax
mov dword [esi], eax
mov byte [eax], 0
call fcn.00409387
mov eax, dword [esi]
mov byte [eax], 0
mov eax, dword [ebp + 8]
lea ecx, [ebp + 0xc]
add esp, 0xc
cmp eax, ecx
je 0x402a98
push eax
call fcn.004093a1
add esp, 4
pop edi
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00408b8e
mov esp, ebp
pop ebp
ret 0x44
mov edx, dword [ebp + 8]
push ebx
push 0
push 0x102
push 0
push 0
push edx
push edi
call dword [sym.imp.WININET.dll_InternetOpenUrlA]
mov ebx, eax
test ebx, ebx
jne 0x402908
push edi
call dword [sym.imp.WININET.dll_InternetCloseHandle]
lea eax, [esi + 4]
push ebx
push 0x41840e
push eax
mov dword [esi], eax
mov byte [eax], bl
call fcn.00409387
mov eax, dword [esi]
mov byte [eax], bl
jmp 0x402a81
push 0
lea edx, [ebp - 0x19054]
push edx
lea eax, [ebp - 0x19050]
push eax
push 0x20000013
push ebx
mov dword [ebp - 0x19054], 4
call dword [sym.imp.WININET.dll_HttpQueryInfoA]
cmp dword [ebp - 0x19050], 0x190
jb 0x402964
lea eax, [esi + 4]
push 0
push 0x41840e
push eax
mov dword [esi], eax
mov byte [eax], 0
call fcn.00409387
mov ecx, dword [esi]
mov byte [ecx], 0
mov eax, dword [ebp + 8]
lea edx, [ebp + 0xc]
add esp, 0xc
cmp eax, edx
jmp 0x402a8c
push 0x19000
lea eax, [ebp - 0x19004]
push 0
push eax
mov dword [ebp - 0x1904c], 0
call fcn.0040d540
add esp, 0xc
lea ecx, [ebp - 0x1904c]
push ecx
push 0x19000
lea edx, [ebp - 0x19004]
push edx
push ebx
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x402a67
mov eax, dword [ebp - 0x1904c]
test eax, eax
je 0x402a67
push ebx
mov ebx, dword [sym.imp.WININET.dll_InternetCloseHandle]
mov byte [ebp + eax - 0x19004], 0
call ebx
push edi
call ebx
lea eax, [ebp - 0x19044]
lea ecx, [ebp - 0x19004]
mov dword [ebp - 0x19048], eax
mov byte [ebp - 0x19044], 0
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4029e4
sub ecx, edi
mov edi, ecx
cmp edi, 0x3f
jl 0x402a12
lea eax, [edi + 1]
push eax
push 0
mov dword [ebp - 0x19048], 0
call fcn.00409671
add esp, 8
mov dword [ebp - 0x19048], eax
push edi
lea ecx, [ebp - 0x19004]
push ecx
push eax
call fcn.00409387
mov edx, dword [ebp - 0x19048]
push 0x19000
lea eax, [ebp - 0x19004]
push 0
push eax
mov byte [edi + edx], 0
call fcn.0040d540
add esp, 0x18
lea ecx, [ebp - 0x19048]
push ecx
call fcn.00402cf0
mov eax, dword [ebp - 0x19048]
lea edx, [ebp - 0x19044]
cmp eax, edx
je 0x402a84
push eax
call fcn.004093a1
add esp, 4
jmp 0x402a84
lea eax, [esi + 4]
push 0
push 0x41840e
push eax
mov dword [esi], eax
mov byte [eax], 0
call fcn.00409387
mov edx, dword [esi]
mov byte [edx], 0
add esp, 0xc
mov eax, dword [ebp + 8]
lea ecx, [ebp + 0xc]
cmp eax, ecx
je 0x402a97
push eax
call fcn.004093a1
add esp, 4
pop ebx
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
xor ecx, ebp
pop esi
call fcn.00408b8e
mov esp, ebp
pop ebp
ret 0x44