Function at 0x4086f6
Capabilities:
Check for time delay via gettickcount
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x125c
call fcn.004170c0
mov eax, dword [0x43f434]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push dword [ebp + 8]
mov esi, ecx
lea ecx, [esi + 0x26e4]
call fcn.0040375a
mov edi, dword [eax]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0x26d8]
xor ebx, ebx
mov dword [esi + 0x26dc], eax
mov eax, dword [edi + 0x20]
mov dword [edi + 0x2c], ebx
cmp dword [eax + 4], 1
je 0x408a7a
push edi
mov ecx, esi
call fcn.004033a6
mov dword [esi + 0x26d4], eax
mov ecx, dword [edi + 0x20]
cmp ecx, ebx
je 0x408761
mov dword [ecx + 0x2450], eax
cmp dword [esi + 0x26d4], 0xc8
jne 0x40898d
push edi
mov ecx, esi
call fcn.00404f23
push edi
mov ecx, esi
call fcn.0040329b
push edi
mov ecx, esi
call fcn.00403623
push edi
mov ecx, esi
call fcn.004033eb
push edi
mov ecx, esi
call fcn.00403257
mov eax, dword [edi + 0x38]
mov edx, dword [esi + 0x5d120]
mov ecx, dword [edi + 0x3c]
cmp edx, eax
jne 0x40898d
mov eax, dword [esi + 0x5d124]
cmp eax, ecx
jne 0x40898d
xor ecx, ecx
xor eax, eax
cmp dword [esi + 0x2690], ebx
je 0x4087d0
inc eax
cmp dword [edi + 0x30], eax
sete cl
jmp 0x4087d2
inc ecx
inc eax
cmp ecx, ebx
je 0x408990
mov ecx, dword [esi + 0x5d128]
mov edx, dword [esi + 0x5d12c]
cmp ecx, ebx
jne 0x4087ee
cmp edx, ebx
je 0x408822
cmp ecx, dword [edi + 0x38]
jne 0x4087fe
mov ecx, dword [esi + 0x5d12c]
cmp ecx, dword [edi + 0x3c]
je 0x408822
mov edi, dword [edi + 0x20]
cmp edi, ebx
je 0x40880b
mov dword [edi + 0x244c], eax
push dword [ebp + 8]
mov ecx, esi
call fcn.00405c73
push ebx
mov ecx, esi
call fcn.00408039
jmp 0x408bd0
mov eax, dword [edi + 0x30]
push edi
mov ecx, esi
mov dword [esi + 0x2714], eax
call fcn.0040348c
test eax, eax
je 0x4088de
or eax, 0xffffffff
mov dword [esi + 0x2690], 1
mov dword [esi + 0x247c], ebx
mov dword [esi + 0x2714], ebx
mov dword [edi + 0x30], ebx
mov dword [esi + 0x5d120], eax
mov dword [esi + 0x5d124], eax
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], eax
lea eax, [esi + 0x5d140]
push eax
lea eax, [esi + 0x5d348]
push eax
call fcn.004026d7
push 0x208
lea eax, [esi + 0x5d140]
push ebx
push eax
call fcn.00414ce0
xor eax, eax
push 0x206
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20a]
push ebx
push eax
call fcn.00414ce0
add esp, 0x20
lea eax, [ebp - 0x20c]
push eax
push 0x103
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea eax, [esi + 0x5d140]
push eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push 0x42f4f8
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
mov eax, dword [edi + 0x20]
cmp eax, ebx
je 0x408900
cmp dword [eax + 0x2448], 0xffffffff
jne 0x408900
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi + 8]
mov ecx, dword [edi + 0x20]
mov dword [ecx + 0x2448], eax
push dword [edi + 0x1c]
mov eax, dword [esi]
push 2
mov ecx, esi
call dword [eax + 4]
test eax, eax
je 0x408bce
mov eax, dword [esi]
push ebx
push 3
mov ecx, esi
call dword [eax + 4]
test eax, eax
je 0x408bce
mov ecx, esi
call fcn.004083ac
test eax, eax
je 0x408bc4
mov eax, dword [esi]
push ebx
push 4
mov ecx, esi
call dword [eax + 4]
test eax, eax
je 0x408bce
cmp dword [esi + 0x2714], ebx
je 0x408baa
mov eax, dword [esi + 0x5d120]
cmp eax, dword [esi + 0x5d130]
jne 0x408afc
mov eax, dword [esi + 0x5d124]
cmp eax, dword [esi + 0x5d134]
jne 0x408afc
push dword [ebp + 8]
mov ecx, esi
call fcn.00405c73
mov dword [esi + 0x5d118], 7
jmp 0x4089ae
xor eax, eax
inc eax
cmp dword [esi + 0x2690], ebx
je 0x4089b6
push eax
push dword [ebp + 8]
mov ecx, esi
mov dword [edi + 0x28], ebx
call fcn.004082d7
test eax, eax
je 0x408bc4
xor eax, eax
inc eax
jmp 0x408bd0
mov ecx, dword [esi + 0x26d4]
cmp ecx, 0x12e
jne 0x408a63
xor eax, eax
push 0x1046
mov word [ebp - 0x1254], ax
lea eax, [ebp - 0x1252]
push ebx
push eax
call fcn.00414ce0
add esp, 0xc
push 0x1048
lea eax, [ebp - 0x1254]
push eax
push edi
mov ecx, esi
call fcn.00403451
test eax, eax
je 0x408bc4
push ebx
push dword [edi + 0x20]
lea eax, [ebp - 0x1254]
push eax
call fcn.004030af
add esp, 0xc
test eax, eax
je 0x408bc4
cmp dword [edi + 0x24], ebx
jne 0x408a44
push 0x1048
lea edi, [esi + 0x5f5e0]
push ebx
push edi
call fcn.00414ce0
lea eax, [ebp - 0x1254]
push eax
push edi
call fcn.00403b72
add esp, 0x14
push ebx
mov ecx, esi
call fcn.00408039
test eax, eax
je 0x408bc4
push dword [ebp + 8]
mov ecx, esi
call fcn.00405c73
jmp 0x4089ae
cmp ecx, 0x194
jne 0x408998
mov dword [esi + 0x2470], eax
jmp 0x4087fe
cmp dword [edi], ebx
jne 0x408acc
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x408acc
push edi
mov ecx, esi
mov dword [edi + 0x1c], eax
call fcn.0040329b
mov eax, dword [esi + 0x5d120]
cmp eax, dword [edi + 0x38]
jne 0x408af5
mov eax, dword [esi + 0x5d124]
cmp eax, dword [edi + 0x3c]
jne 0x408af5
xor eax, eax
cmp dword [esi + 0x2690], ebx
je 0x408ab9
cmp dword [edi + 0x30], 1
sete al
jmp 0x408aba
inc eax
cmp eax, ebx
je 0x408af5
mov eax, dword [edi + 0x30]
mov dword [esi + 0x2714], eax
jmp 0x4088de
push 0x42f4f0
lea eax, [edi + 0x806c]
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
je 0x408af5
mov dword [esi + 0x2714], ebx
mov dword [edi + 0x30], ebx
mov dword [esi + 0x26e0], 0x8000000
push 1
jmp 0x408999
push 4
lea eax, [ebp - 0x125c]
push eax
push 6
push dword [edi + 0x1c]
mov dword [ebp - 0x125c], 0x4e20
call dword [sym.imp.WININET.dll_InternetSetOptionW]
push 0xffffffffffffffff
push 0xffffffffffffffff
push ebx
push edi
mov ecx, esi
call fcn.00407846
test eax, eax
je 0x408a54
mov eax, dword [edi + 0x8040]
cmp dword [eax + 8], ebx
jne 0x408b4e
cmp dword [eax + 0xc], ebx
jne 0x408b4e
xor ecx, ecx
inc ecx
mov dword [eax + 4], ecx
mov dword [edi + 0x28], 8
jmp 0x408b63
push ebx
push dword [ebp + 8]
mov ecx, esi
mov dword [edi + 0x28], 4
call fcn.004082d7
xor ecx, ecx
inc ecx
cmp dword [esi + 0x2690], ebx
jne 0x408b98
lea edi, [esi + 0x2468]
mov dword [ebp - 0x1258], ecx
cmp dword [edi], ecx
jbe 0x408b98
push 4
mov ecx, esi
call fcn.00408039
test eax, eax
je 0x408b98
inc dword [ebp - 0x1258]
mov eax, dword [ebp - 0x1258]
cmp eax, dword [edi]
jb 0x408b7b
mov eax, dword [esi]
push ebx
push 5
mov ecx, esi
call dword [eax + 4]
neg eax
sbb eax, eax
neg eax
jmp 0x408bd0
mov eax, dword [esi]
push ebx
push 5
mov ecx, esi
call dword [eax + 4]
test eax, eax
je 0x408bce
mov dword [edi + 0x28], 8
jmp 0x4089ae
push dword [ebp + 8]
mov ecx, esi
call fcn.00405c73
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00414cce
leave
ret 4