Function at 0x47c190
Capabilities:
Query remote server for available data
Read data from internet
Receive data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x63c788
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x6eed24]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp + 0xc]
mov dword [edx], 0
mov eax, dword [ecx]
test eax, eax
je 0x47c454
cmp eax, 0xffffffff
je 0x47c454
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
push eax
push 5
call fcn.0047bf60
mov ebx, dword [ebp - 0x1c]
mov edi, eax
xor ecx, ecx
mov dword [ebp - 0x18], ebx
mov eax, ebx
mov dword [ebp - 0x14], ecx
or eax, ecx
je 0x47c206
and edi, 0x80000000
je 0x47c217
jmp 0x47c20c
and edi, 0x80000000
mov ebx, 0x1001
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], ebx
push 0x800
mov dword [ebp - 0x1c], 0x800
call fcn.004463f0
mov esi, eax
add esp, 4
mov dword [ebp - 0x2c], esi
mov dword [ebp - 4], 0
test esi, esi
jne 0x47c245
mov edi, 0x822103e8
jmp 0x47c42a
push 0x800
push 0
push esi
call fcn.004b40a0
mov ecx, dword [ebp + 8]
add esp, 0xc
mov eax, dword [ecx]
push 0
push ebx
mov ebx, ecx
call dword [eax + 0x2c]
test eax, eax
jns 0x47c277
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
jmp 0x47c283
test edi, edi
je 0x47c283
xor ebx, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
xor ebx, ebx
mov dword [ebp - 0x10], 0
push ebx
push ebx
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x20]
push dword [eax]
call dword [sym.imp.WININET.dll_InternetQueryDataAvailable]
test eax, eax
jne 0x47c2bc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
test ebx, ebx
js 0x47c2bc
jne 0x47c2b3
xor ebx, ebx
jmp 0x47c2bc
movzx ebx, bx
or ebx, 0x83ff0000
mov edi, ebx
test ebx, ebx
js 0x47c41b
mov edi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
test edi, edi
jne 0x47c2d6
lea edi, [eax - 1]
mov dword [ebp - 0x10], edi
cmp eax, edi
jae 0x47c30a
push edi
push esi
call fcn.00446580
add esp, 8
test eax, eax
jne 0x47c2f7
push esi
call fcn.00446420
push edi
call fcn.004463f0
add esp, 8
mov esi, eax
mov dword [ebp - 0x2c], esi
test eax, eax
je 0x47c40f
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
push eax
push 0
push esi
call fcn.004b40a0
mov ebx, dword [ebp - 0x18]
add esp, 0xc
mov ecx, dword [ebp - 0x14]
mov eax, ebx
or eax, ecx
je 0x47c34e
mov eax, dword [ebp + 0xc]
mov edx, ebx
mov dword [ebp - 0x24], 0
mov edi, dword [eax]
sub edx, edi
mov eax, ecx
mov ecx, dword [ebp - 0x10]
sbb eax, 0
cmp dword [ebp - 0x24], eax
jb 0x47c351
ja 0x47c345
cmp ecx, edx
jbe 0x47c351
mov ecx, ebx
sub ecx, edi
mov dword [ebp - 0x10], ecx
jmp 0x47c351
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], 0
mov eax, dword [eax]
test eax, eax
je 0x47c416
cmp eax, 0xffffffff
je 0x47c416
lea edx, [ebp - 0x24]
xor edi, edi
push edx
push ecx
push esi
push eax
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x47c3a0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test edi, edi
js 0x47c41b
jne 0x47c397
xor edi, edi
jmp 0x47c3a4
movzx edi, di
or edi, 0x83ff0000
test edi, edi
js 0x47c41b
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x47c41b
mov edx, dword [ebp + 8]
lea edi, [ebp - 0x28]
push edi
push ecx
push esi
mov eax, dword [edx]
mov ecx, edx
mov dword [ebp - 0x28], 0
call dword [eax + 0x20]
mov edi, eax
test edi, edi
js 0x47c41b
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
mov ecx, dword [edx]
add ecx, dword [ebp - 0x28]
mov dword [edx], ecx
test eax, eax
je 0x47c3ea
push dword [ebp + 0x14]
push ecx
call eax
mov edi, eax
test edi, edi
js 0x47c41b
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov edi, dword [ebp - 0x14]
mov eax, ebx
or eax, edi
je 0x47c283
xor eax, eax
cmp eax, edi
ja 0x47c40b
jb 0x47c283
cmp ecx, ebx
jb 0x47c283
xor edi, edi
jmp 0x47c41b
mov edi, 0x822103e8
jmp 0x47c41b
mov edi, 0x82211003
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push 0
mov eax, dword [ecx]
push dword [edx]
call dword [eax + 0x2c]
mov dword [ebp - 4], 1
test esi, esi
je 0x47c43e
push esi
call fcn.00446420
add esp, 4
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, 0x82211003
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10