Function at 0x469777
Capabilities:
Check if file exists
Download url
Get common file path
Receive data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c4ecd
mov eax, dword fs:[0]
push eax
mov eax, 0x26ab8
call fcn.004b9090
mov eax, dword [0x6554f4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x26ac4], edi
mov esi, 0x208
mov dword [ebp - 4], 1
push esi
lea eax, [ebp - 0x420]
push edi
push eax
call fcn.005991a0
push esi
lea eax, [ebp - 0x218]
push edi
push eax
call fcn.005991a0
push esi
lea eax, [ebp - 0x628]
push edi
push eax
call fcn.005991a0
add esp, 0x24
lea eax, [ebp - 0x628]
mov esi, 0x104
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push esi
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.KERNEL32.dll_GetLongPathNameW]
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x420]
push eax
call fcn.0059c3fa
cmp dword [ebp + 0x38], 8
lea eax, [ebp + 0x24]
cmovae eax, dword [ebp + 0x24]
push eax
lea eax, [ebp - 0x420]
push eax
call fcn.0059c389
lea eax, [ebp - 0x420]
push eax
call fcn.0043b5c7
xor eax, eax
mov dword [ebp - 0x62c], 7
add esp, 0x14
mov dword [ebp - 0x630], edi
mov word [ebp - 0x640], ax
cmp word [ebp - 0x218], ax
jne 0x469875
mov eax, edi
jmp 0x469882
lea eax, [ebp - 0x218]
push eax
call fcn.0059c41c
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x640]
call fcn.00420960
push 0xffffffffffffffff
push edi
lea eax, [ebp + 0x24]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x640]
call fcn.00422e30
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x670]
push eax
call fcn.0043e435
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x4698c5
mov eax, dword [eax]
push eax
lea eax, [ebp - 0xc88]
push eax
call fcn.0059ca70
pop ecx
pop ecx
push edi
push 1
lea ecx, [ebp - 0x670]
call fcn.00420a60
xor eax, eax
mov dword [ebp - 0x644], 7
mov dword [ebp - 0x648], edi
mov word [ebp - 0x658], ax
cmp word [ebp - 0x218], ax
jne 0x469908
mov eax, edi
jmp 0x469915
lea eax, [ebp - 0x218]
push eax
call fcn.0059c41c
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x658]
call fcn.00420960
lea eax, [ebp - 0x658]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x670]
push eax
call fcn.0043e435
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x469949
mov eax, dword [eax]
push eax
lea eax, [ebp - 0xa88]
push eax
call fcn.0059ca70
pop ecx
pop ecx
push edi
push 1
lea ecx, [ebp - 0x670]
call fcn.00420a60
push edi
push 1
lea ecx, [ebp - 0x658]
mov byte [ebp - 4], 2
call fcn.004208a0
lea ecx, [ebp - 0x26ab8]
call fcn.0043f177
sub esp, 0x300
mov byte [ebp - 4], 4
mov edi, esp
lea esi, [ebp - 0xc88]
mov ecx, 0xc0
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x26ab8]
call fcn.0043f2d2
lea ecx, [ebp - 0x26ab8]
call fcn.0043ff2b
lea ecx, [ebp - 0x988]
call fcn.0043f1d0
lea ecx, [ebp - 0x26ab8]
call fcn.0043fae1
test eax, eax
je 0x4699e6
lea eax, [ebp - 0x988]
push eax
lea ecx, [ebp - 0x26ab8]
call fcn.0043f7a5
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0x26ab8]
call fcn.0043faed
test eax, eax
je 0x4699bd
lea eax, [ebp - 0x988]
push eax
lea ecx, [ebp - 0x26ab8]
call fcn.0043f7a5
movsd xmm0, qword [ebp - 0x678]
movsd xmm1, qword [ebp - 0x680]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x469a65
ucomisd xmm0, qword [0x5c91a8]
lahf
test ah, 0x44
jnp 0x469a81
xor edi, edi
cmp dword [ebp - 0x62c], 8
lea eax, [ebp - 0x640]
cmovae eax, dword [ebp - 0x640]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov ecx, ebx
test eax, eax
jne 0x469b70
push 0x625cd8
call fcn.00420790
jmp 0x469b7c
ucomisd xmm0, qword [0x5c91a8]
lahf
test ah, 0x44
jnp 0x469a81
ucomisd xmm1, qword [0x5cc3a0]
lahf
test ah, 0x44
jnp 0x469a2f
lea ecx, [ebp - 0x26ac0]
call fcn.00420580
xor eax, eax
mov byte [ebp - 4], 5
xor edi, edi
mov dword [ebp - 0x644], 7
mov dword [ebp - 0x648], edi
mov word [ebp - 0x658], ax
cmp word [ebp - 0x218], ax
je 0x469ac1
lea eax, [ebp - 0x218]
push eax
call fcn.0059c41c
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x658]
call fcn.00420960
cmp dword [ebp + 0x20], 8
lea eax, [ebp + 0xc]
lea ecx, [ebp - 0x670]
mov byte [ebp - 4], 6
cmovae eax, dword [ebp + 0xc]
push eax
call fcn.00420790
lea eax, [ebp - 0x658]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x670]
push eax
lea ecx, [ebp - 0x26ac0]
call fcn.00420650
push edi
push 1
lea ecx, [ebp - 0x670]
movzx esi, al
call fcn.004208a0
push edi
push 1
lea ecx, [ebp - 0x658]
call fcn.004208a0
lea ecx, [ebp - 0x26ac0]
mov byte [ebp - 4], 4
call fcn.00420640
test esi, esi
jne 0x469a31
cmp dword [ebp - 0x62c], 8
lea ecx, [ebp - 0x640]
push edi
cmovae ecx, dword [ebp - 0x640]
lea eax, [ebp + 0xc]
cmp dword [ebp + 0x20], 8
push edi
cmovae eax, dword [ebp + 0xc]
push ecx
push eax
push edi
call sub.urlmon.dll_URLDownloadToFileW
jmp 0x469a31
lea eax, [ebp - 0x640]
push eax
call fcn.00423070
lea ecx, [ebp - 0x26ab8]
call fcn.0043f215
push edi
push 1
lea ecx, [ebp - 0x640]
call fcn.004208a0
push edi
push 1
lea ecx, [ebp + 0xc]
call fcn.004208a0
push edi
push 1
lea ecx, [ebp + 0x24]
call fcn.004208a0
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004b8f5e
mov esp, ebp
pop ebp
ret 0x34