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

Disassembly:
push 0x278
mov eax, 0x10143a0
call fcn.010083c1
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
xor ebx, ebx
mov dword [ecx], ebx
push 0xffffffffffffffff
mov dword [ebp - 0x254], ecx
push esi
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x248], edi
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x238], ebx
mov dword [eax], 9
call fcn.010035af
lea eax, [ebp - 0x220]
mov dword [ebp - 4], ebx
mov dword [ebp - 0x230], ebx
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x228], 0x80
mov dword [ebp - 0x22c], ebx
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x238]
push eax
push esi
push edi
mov byte [ebp - 4], 1
mov dword [ebp - 0x240], ebx
mov dword [ebp - 0x244], 0xa
mov dword [ebp - 0x23c], ebx
call fcn.01003641
mov esi, eax
cmp esi, ebx
jge 0x1004617
lea ecx, [ebp - 0x230]
call fcn.01002a06
lea ecx, [ebp - 0x120]
call fcn.01002a06
mov eax, esi
jmp 0x1004859
sub esp, 0x28
push 0xa
pop ecx
mov edi, esp
push dword [ebp - 0x234]
lea esi, [ebp - 0x280]
push dword [ebp - 0x238]
mov dword [ebp - 0x280], 0x28
mov dword [ebp - 0x27c], ebx
mov dword [ebp - 0x278], 0x100156c
mov dword [ebp - 0x274], ebx
mov dword [ebp - 0x270], ebx
mov dword [ebp - 0x26c], ebx
mov dword [ebp - 0x268], ebx
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x260], ebx
mov dword [ebp - 0x25c], ebx
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x120]
call fcn.0100345b
push eax
call fcn.0100421a
mov edi, eax
cmp edi, ebx
jge 0x100465c
cmp edi, 0xc00d1388
je 0x100455d
cmp edi, 0xc00d2ee1
jne 0x1004805
mov eax, dword [ebp - 0x244]
dec dword [ebp - 0x244]
test eax, eax
jbe 0x1004805
push dword [ebp - 0x23c]
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x120]
push eax
xor eax, eax
cmp edi, 0xc00d2ee1
sete al
push eax
push dword [ebp - 0x234]
push dword [ebp - 0x248]
call fcn.01003e56
mov edi, eax
cmp edi, ebx
jl 0x1004805
push dword [ebp - 0x234]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x230], ebx
mov dword [ebp - 0x234], ebx
jl 0x1004609
cmp dword [ebp - 0x22c], ebx
je 0x1004609
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x11c], ebx
mov dword [ebp - 0x120], ebx
call fcn.01003615
mov dword [ebp - 0x22c], ebx
mov dword [ebp - 0x230], ebx
mov dword [ebp - 0x240], 1
mov edi, dword [ebp - 0x120]
cmp edi, ebx
jl 0x1004805
push ebx
push 0x4600300
push ebx
push ebx
push 0x1001558
push dword [ebp - 0x23c]
push 0x1001428
push dword [ebp - 0x238]
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
cmp eax, ebx
mov dword [ebp - 0x234], eax
jne 0x10044ce
jmp 0x1004675
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
jmp 0x1004805
push ebx
push ebx
lea eax, [ebp - 0x250]
push eax
push dword [ebp - 0x234]
call dword [sym.imp.WININET.dll_InternetQueryDataAvailable]
test eax, eax
jne 0x1004681
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
jg 0x100464b
jmp 0x1004655
mov eax, dword [ebp - 0x250]
inc eax
push eax
call sub.msvcrt.dll_void____cdecl_operator_new___unsigned_int_
mov esi, eax
cmp esi, ebx
pop ecx
mov dword [ebp - 0x248], esi
jne 0x10046a5
mov edi, 0x8007000e
jmp 0x1004805
lea eax, [ebp - 0x258]
push eax
push dword [ebp - 0x250]
push esi
push dword [ebp - 0x234]
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x10046e5
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
jle 0x10046d7
and eax, 0xffff
or eax, 0x80070000
push esi
mov edi, eax
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
pop ecx
jmp 0x1004805
mov eax, dword [ebp - 0x258]
push 0x100154c
push esi
mov byte [eax + esi], bl
mov edi, 0x80004005
call fcn.0100b6e6
mov esi, eax
cmp esi, ebx
pop ecx
pop ecx
je 0x1004781
add esi, 0xa
push 0x1001544
push esi
call fcn.0100b6e6
cmp eax, ebx
pop ecx
pop ecx
je 0x1004781
push 0x100152c
push esi
mov byte [eax], bl
call dword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
pop ecx
pop ecx
jne 0x100473c
mov eax, dword [ebp - 0x24c]
mov dword [eax], 4
jmp 0x100477f
push 0x1001518
push esi
call fcn.0100b6e6
cmp eax, ebx
pop ecx
pop ecx
je 0x1004781
lea ecx, [ebp - 0x24c]
push ecx
lea ecx, [ebp - 0x244]
push ecx
lea ecx, [ebp - 0x284]
push ecx
push dword [ebp - 0x24c]
add eax, 0x12
push 0x100150c
push eax
call dword [sym.imp.msvcrt.dll_sscanf]
add esp, 0x18
cmp eax, 4
jne 0x1004781
xor edi, edi
push dword [ebp - 0x248]
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
cmp dword [ebp - 0x240], ebx
pop ecx
je 0x1004805
cmp dword [ebp - 0x120], ebx
jge 0x10047a1
xor eax, eax
jmp 0x10047a7
mov eax, dword [ebp - 0x11c]
xor ecx, ecx
push 2
inc eax
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new___unsigned_int_
mov esi, eax
cmp esi, ebx
mov eax, dword [ebp - 0x254]
pop ecx
mov dword [eax], esi
je 0x100469b
cmp dword [ebp - 0x120], ebx
jge 0x10047df
mov dword [ebp - 0x240], ebx
jmp 0x10047eb
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x240], eax
lea ecx, [ebp - 0x120]
call fcn.0100345b
push eax
mov eax, dword [ebp - 0x240]
inc eax
push eax
push esi
call fcn.01002d41
cmp dword [ebp - 0x238], ebx
je 0x1004819
push dword [ebp - 0x238]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x234], ebx
je 0x100482d
push dword [ebp - 0x234]
call dword [sym.imp.WININET.dll_InternetCloseHandle]
cmp dword [ebp - 0x23c], ebx
je 0x1004841
push dword [ebp - 0x23c]
call sub.msvcrt.dll_void___cdecl_operator_delete___void__
pop ecx
lea ecx, [ebp - 0x230]
call fcn.01002a06
lea ecx, [ebp - 0x120]
call fcn.01002a06
mov eax, edi
call fcn.01008415
ret 0x10