Function at 0x459f28
Capabilities:
Read data from internet
Receive data

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 2
add esp, 0xfffff004
push eax
dec eax
jne 0x459f31
mov eax, dword [ebp - 4]
add esp, 0xffffffc4
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x2038], ebx
mov dword [ebp - 0x203c], ebx
mov dword [ebp - 0x2040], ebx
mov dword [ebp - 0x201c], ebx
mov dword [ebp - 0x14], ebx
mov ebx, ecx
mov esi, edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x45a253
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
push ebp
push 0x45a21b
push dword fs:[edx]
mov dword fs:[edx], esp
xor eax, eax
mov dword [ebp - 8], eax
xor eax, eax
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x18], eax
xor edx, edx
push ebp
push 0x45a1c6
push dword fs:[edx]
mov dword fs:[edx], esp
test ebx, ebx
jb 0x45a1bc
push 0
push 0x80000000
push 0
push 0
push 0x45a264
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x68]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x64]
lea eax, [ebp - 0x201c]
call fcn.004043bc
mov eax, dword [ebp - 0x201c]
call fcn.00404570
push eax
push 0x45a270
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
push eax
call sub.wininet.dll_HttpOpenRequestA
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x45a00c
mov ecx, 0x45a27c
mov dl, 1
mov eax, dword [0x40709c]
call fcn.0040bae0
call fcn.00403a68
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3d], 0
je 0x45a091
test ebx, ebx
jne 0x45a03e
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 0x2024], esi
mov byte [ebp - 0x2020], 0
lea edx, [ebp - 0x2024]
xor ecx, ecx
mov eax, 0x45a294
call fcn.004090b0
jmp 0x45a071
lea eax, [ebp - 0x14]
push eax
mov dword [ebp - 0x2034], esi
mov byte [ebp - 0x2030], 0
mov dword [ebp - 0x202c], ebx
mov byte [ebp - 0x2028], 0
lea edx, [ebp - 0x2034]
mov ecx, 1
mov eax, 0x45a2b0
call fcn.004090b0
push 0x10000000
mov eax, dword [ebp - 0x14]
call fcn.00404370
push eax
mov eax, dword [ebp - 0x14]
call fcn.00404570
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.wininet.dll_HttpAddRequestHeadersA
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0045977c
test al, al
je 0x45a161
mov dl, 1
mov eax, dword [0x4127f8]
call fcn.004032ac
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x45a1bc
lea eax, [ebp - 0x2018]
mov edx, 0x2000
call fcn.00406ab0
lea eax, [ebp - 0xc]
push eax
push 0x2000
lea eax, [ebp - 0x2018]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.wininet.dll_InternetReadFile
test eax, eax
jne 0x45a0f1
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x45a14c
lea edx, [ebp - 0x2018]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x18]
call fcn.00416758
mov eax, dword [ebp - 4]
call fcn.00458f08
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
add dword [eax + 0x1c], edx
mov eax, dword [ebp - 4]
cmp dword [eax + 0x10], 0
jne 0x45a12a
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 4]
mov dword [edx + 0x18], eax
jmp 0x45a144
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
sub dword [eax + 0x18], edx
mov eax, dword [ebp - 4]
cmp dword [eax + 0x18], 0
jae 0x45a144
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 4]
call fcn.00458f14
cmp dword [ebp - 0xc], 0
jbe 0x45a1bc
mov eax, dword [ebp - 4]
cmp byte [eax + 0x3e], 0
je 0x45a0bd
jmp 0x45a1bc
push 0x45a2cc
mov eax, esi
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x203c]
call fcn.004082b8
push dword [ebp - 0x203c]
push 0x45a2ec
mov eax, ebx
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x2040]
call fcn.004082b8
push dword [ebp - 0x2040]
push 0x45a2f8
lea eax, [ebp - 0x2038]
mov edx, 5
call fcn.00404430
mov edx, dword [ebp - 0x2038]
mov eax, dword [ebp - 4]
call fcn.0045b00c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45a1e6
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45a222
cmp dword [ebp - 0x10], 0
je 0x45a202
mov eax, dword [ebp - 0x10]
push eax
call sub.wininet.dll_InternetCloseHandle
cmp dword [ebp - 0x18], 0
je 0x45a21a
push 0
push 0
mov eax, dword [ebp - 0x18]
call fcn.00416514
mov eax, dword [ebp - 0x18]
mov dword [ebp - 8], eax
ret