Function at 0x40a07f
Capabilities:
Download url
Receive data

Disassembly:
push ebx
mov edx, 0xa
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x40a085
mov eax, dword [esp + 0x44]
mov dword [0x4ab00c], eax
mov edx, dword [esp + 0x30]
lea ecx, [esp]
call fcn.0041f000
mov edx, dword [esp + 0x34]
lea ecx, [esp + 4]
call fcn.0041f000
push dword [esp + 4]
mov edx, 0x4a102e
pop ecx
call fcn.0041f180
je 0x40a0dd
mov edx, str._tmp.tmp
lea ecx, [esp + 4]
call fcn.0041f008
mov dword [esp + 0x38], 2
jmp 0x40a10d
push dword [esp + 4]
call fcn.0040bc4b
and eax, eax
je 0x40a10d
mov ebx, dword [esp + 0x38]
cmp ebx, 1
jne 0x40a0fe
push dword [esp + 4]
call fcn.00430b89
jmp 0x40a10d
mov dword [0x4a977c], 2
jmp 0x40a30d
cmp dword [esp + 0x40], 0
je 0x40a11d
call fcn.00430a80
mov dword [esp + 8], eax
cmp dword [esp + 0x3c], 0
je 0x40a146
push 0
push 0
push dword [esp + 0xc]
push dword [esp + 0xc]
push 0
call sub.urlmon.dll_URLDownloadToFileW
mov dword [esp + 0xc], eax
jmp 0x40a16e
mov ebx, dword [esp + 0x38]
cmp ebx, 2
jne 0x40a15d
push dword [esp]
call fcn.00424a15
mov dword [esp + 0x10], eax
jmp 0x40a16e
push dword [esp + 4]
push dword [esp + 4]
call fcn.00424ce8
mov dword [esp + 0x14], eax
cmp dword [esp + 0x40], 0
je 0x40a18c
call fcn.00430a80
mov dword [esp + 0x18], eax
mov ebx, dword [esp + 0x18]
sub ebx, dword [esp + 8]
mov dword [0x4a9a04], ebx
push dword [esp + 4]
call fcn.0040bc4b
mov ebx, eax
and ebx, ebx
jne 0x40a1ab
mov ebx, dword [esp + 0x38]
cmp ebx, 2
jge 0x40a1ab
mov eax, 1
jmp 0x40a1ad
xor eax, eax
and eax, eax
jne 0x40a1d1
mov ebx, dword [esp + 0x10]
and ebx, ebx
jne 0x40a1c9
mov ebx, dword [esp + 0x38]
cmp ebx, 2
jne 0x40a1c9
mov eax, 1
jmp 0x40a1cb
xor eax, eax
and eax, eax
jne 0x40a1d1
jmp 0x40a1d8
mov eax, 1
jmp 0x40a1da
xor eax, eax
and eax, eax
je 0x40a1ea
mov dword [0x4a977c], 1
jmp 0x40a203
cmp dword [esp + 0x3c], 0
je 0x40a1f9
push dword [esp]
call sub.WININET.dll_DeleteUrlCacheEntryW
mov dword [0x4a977c], 0
mov ebx, dword [esp + 0x38]
cmp ebx, 2
jne 0x40a30d
cmp dword [esp + 0x3c], 0
je 0x40a2b3
mov edx, dword [esp + 4]
push dword [0x4ab00c]
push edx
call fcn.0043cf40
lea eax, [esp + 0x20]
push eax
call fcn.0043cfa0
mov edx, 0x4a102e
lea ecx, [esp + 4]
call fcn.0041f008
push dword [esp + 0x1c]
call fcn.0040bc4b
and eax, eax
je 0x40a2b1
push dword [esp + 0x1c]
push 0xffffffff
call fcn.00431a30
mov dword [esp + 0x20], eax
push dword [0x4ab00c]
push dword [0x4ab00c]
push 0x10018
push dword [esp + 0x2c]
call fcn.00431af0
lea eax, [esp + 8]
push eax
call fcn.0043cfa0
push dword [esp + 0x20]
call fcn.00431620
push dword [esp + 0x1c]
call fcn.00430b89
mov edx, dword [esp + 4]
push dword [0x4ab00c]
push edx
call fcn.0043cf40
pop eax
add eax, dword [0x4a6978]
jmp 0x40a31d
jmp 0x40a30d
mov ebx, dword [0x4a977c]
and ebx, ebx
jne 0x40a30d
push dword [0x4ab00c]
push dword [0x4ab00c]
push 0x18
push dword [esp + 0x1c]
call fcn.0043c370
push eax
push dword [esp + 0x20]
call fcn.0043c250
lea eax, [esp + 0x28]
push eax
call fcn.0043cfa0
push dword [esp + 0x10]
call fcn.0043c390
mov edx, dword [esp + 0x24]
push dword [0x4ab00c]
push edx
call fcn.0043cf40
pop eax
add eax, dword [0x4a6978]
jmp 0x40a31d
mov eax, dword [0x4ab00c]
add eax, dword [0x4a6978]
mov word [eax], 0
push dword [esp]
call fcn.0043d020
push dword [esp + 0x24]
call fcn.0043d020
push dword [esp + 4]
call fcn.0043d020
push dword [esp + 0x1c]
call fcn.0043d020
add esp, 0x28
pop ebx
ret 0x14