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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1268
call fcn.004330f0
mov eax, dword [0x46f06c]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
push edi
mov edi, ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x1260], ecx
mov eax, dword [edi + 0x26d8]
mov ebx, dword [eax + ecx*4]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi + 0x26cc]
xor esi, esi
mov dword [edi + 0x26d0], eax
xor ecx, ecx
mov eax, dword [ebx + 0x20]
inc esi
mov dword [ebx + 0x2c], ecx
cmp dword [eax + 4], esi
je 0x4069f6
cmp dword [ebx + 0x1c], ecx
je 0x406720
mov ecx, ebx
call fcn.00407e99
jmp 0x406722
mov eax, ecx
mov dword [edi + 0x26c8], eax
mov ecx, dword [ebx + 0x20]
test ecx, ecx
je 0x406735
mov dword [ecx + 0x2450], eax
cmp dword [edi + 0x26c8], 0xc8
jne 0x4068c9
push ebx
mov ecx, edi
call fcn.00408b92
push ebx
mov ecx, edi
call fcn.00407d98
push ebx
mov ecx, edi
call fcn.00408c02
push ebx
mov ecx, edi
call fcn.00407ed3
push ebx
mov ecx, edi
call fcn.00407d50
mov eax, dword [ebx + 0x38]
mov edx, dword [ebx + 0x3c]
cmp dword [edi + 0x5d100], eax
jne 0x4068c9
cmp dword [edi + 0x5d104], edx
jne 0x4068c9
cmp dword [edi + 0x2690], 0
je 0x40679e
xor eax, eax
cmp dword [ebx + 0x30], esi
sete al
jmp 0x4067a0
mov eax, esi
test eax, eax
je 0x4068c9
mov ecx, dword [edi + 0x5d108]
mov eax, dword [edi + 0x5d10c]
test ecx, ecx
jne 0x4067bc
test eax, eax
je 0x4067cd
cmp ecx, dword [ebx + 0x38]
jne 0x4068a0
cmp eax, edx
jne 0x4068a0
mov eax, dword [ebx + 0x30]
mov dword [edi + 0x26f0], eax
cmp dword [ebx + 0x1c], 0
je 0x4067e5
mov ecx, ebx
call fcn.00407f50
jmp 0x4067e7
xor eax, eax
test eax, eax
je 0x406a58
and dword [edi + 0x247c], 0
or eax, 0xffffffff
and dword [edi + 0x26f0], 0
mov dword [edi + 0x2690], esi
lea esi, [edi + 0x5d120]
and dword [ebx + 0x30], 0
push esi
mov dword [edi + 0x5d100], eax
mov dword [edi + 0x5d104], eax
push 0x467218
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x3c], eax
lea eax, [edi + 0x5d328]
push 0x103
push eax
call fcn.004093ee
push 0x208
push 0
push esi
call fcn.004352b0
mov ax, word [0x465b08]
add esp, 0x1c
mov word [ebp - 0x214], ax
lea eax, [ebp - 0x212]
push 0x206
push 0
push eax
call fcn.004352b0
add esp, 0xc
lea eax, [ebp - 0x214]
push eax
push 0x103
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push 0x467278
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
xor esi, esi
inc esi
jmp 0x406a58
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x4068ad
mov dword [eax + 0x244c], esi
mov ebx, dword [ebp - 0x1260]
mov ecx, edi
push ebx
call fcn.004073f3
push 0
mov ecx, edi
call fcn.00405f99
jmp 0x406c12
xor edx, edx
cmp dword [edi + 0x2690], edx
je 0x4068f4
mov dword [ebx + 0x28], edx
mov ebx, dword [ebp - 0x1260]
mov ecx, edi
push esi
push ebx
call fcn.004078ce
test eax, eax
je 0x406c08
mov eax, esi
jmp 0x406c12
mov eax, dword [edi + 0x26c8]
cmp eax, 0x12e
jne 0x4069e0
mov ax, word [0x465b08]
push 0x1046
mov word [ebp - 0x125c], ax
lea eax, [ebp - 0x125a]
push edx
push eax
call fcn.004352b0
add esp, 0xc
cmp dword [ebx + 0x1c], 0
je 0x406c02
and dword [ebp - 0x1268], 0
lea eax, [ebp - 0x1268]
push eax
lea eax, [ebp - 0x1264]
mov dword [ebp - 0x1264], 0x1047
push eax
lea eax, [ebp - 0x125c]
push eax
push 0x21
push dword [ebx + 0x1c]
call dword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x406c02
mov edx, dword [ebx + 0x20]
lea ecx, [ebp - 0x125c]
push 0
call fcn.0040573b
pop ecx
test eax, eax
je 0x406c02
cmp dword [ebx + 0x24], 0
jne 0x4069bc
push 0x1048
lea esi, [edi + 0x5f5c0]
push 0
push esi
call fcn.004352b0
add esp, 0xc
lea eax, [ebp - 0x125c]
push eax
push 0x467218
push 0x823
push esi
call fcn.004093cf
xor esi, esi
add esp, 0x10
inc esi
push 0
mov ecx, edi
call fcn.00405f99
mov ebx, dword [ebp - 0x1260]
test eax, eax
je 0x406c08
push ebx
mov ecx, edi
call fcn.004073f3
jmp 0x4068ed
cmp eax, 0x194
jne 0x4068d3
mov dword [edi + 0x2470], esi
jmp 0x4068a0
cmp dword [ebx], ecx
jne 0x406bce
mov eax, dword [ebx + 4]
test eax, eax
je 0x406bce
push ebx
mov ecx, edi
mov dword [ebx + 0x1c], eax
call fcn.00407d98
mov eax, dword [edi + 0x5d100]
cmp eax, dword [ebx + 0x38]
jne 0x406bf9
mov eax, dword [edi + 0x5d104]
cmp eax, dword [ebx + 0x3c]
jne 0x406bf9
cmp dword [edi + 0x2690], 0
je 0x406a45
xor eax, eax
cmp dword [ebx + 0x30], esi
sete al
jmp 0x406a47
mov eax, esi
test eax, eax
je 0x406bf9
mov eax, dword [ebx + 0x30]
mov dword [edi + 0x26f0], eax
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x406a7a
cmp dword [eax + 0x2448], 0xffffffff
jne 0x406a7a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebx + 0x20]
sub eax, dword [ebx + 8]
mov dword [ecx + 0x2448], eax
push dword [ebx + 0x1c]
mov eax, dword [edi]
mov ecx, edi
push 2
call dword [eax + 4]
test eax, eax
je 0x406c10
mov eax, dword [edi]
mov ecx, edi
push 0
push 3
call dword [eax + 4]
test eax, eax
je 0x406c10
mov ecx, edi
call fcn.0040800e
test eax, eax
je 0x406c02
mov eax, dword [edi]
mov ecx, edi
push 0
push 4
call dword [eax + 4]
test eax, eax
je 0x406c10
cmp dword [edi + 0x26f0], 0
je 0x406bb3
mov eax, dword [edi + 0x5d100]
cmp eax, dword [edi + 0x5d110]
jne 0x406b09
mov eax, dword [edi + 0x5d104]
cmp eax, dword [edi + 0x5d114]
jne 0x406b09
mov ebx, dword [ebp - 0x1260]
mov ecx, edi
push ebx
call fcn.004073f3
mov dword [edi + 0x5d0f8], 7
jmp 0x4068ed
push 4
lea eax, [ebp - 0x1264]
mov dword [ebp - 0x1264], 0x4e20
push eax
push 6
push dword [ebx + 0x1c]
call dword [sym.imp.WININET.dll_InternetSetOptionW]
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
push ebx
mov ecx, edi
call fcn.00408893
test eax, eax
je 0x406ba8
mov eax, dword [ebx + 0x8040]
cmp dword [eax + 8], 0
jne 0x406b57
cmp dword [eax + 0xc], 0
jne 0x406b57
mov dword [eax + 4], esi
mov dword [ebx + 0x28], 8
jmp 0x406b6e
mov dword [ebx + 0x28], 4
mov ecx, edi
mov ebx, dword [ebp - 0x1260]
push 0
push ebx
call fcn.004078ce
cmp dword [edi + 0x2690], 0
jne 0x406b95
cmp dword [edi + 0x2468], esi
jbe 0x406b95
push 4
mov ecx, edi
call fcn.00405f99
test eax, eax
je 0x406b95
inc esi
cmp esi, dword [edi + 0x2468]
jb 0x406b7f
mov eax, dword [edi]
mov ecx, edi
push 0
push 5
call dword [eax + 4]
neg eax
sbb eax, eax
neg eax
jmp 0x406c12
mov ebx, dword [ebp - 0x1260]
jmp 0x4069d3
mov eax, dword [edi]
mov ecx, edi
push 0
push 5
call dword [eax + 4]
test eax, eax
je 0x406c10
mov dword [ebx + 0x28], 8
jmp 0x4068ed
push 0x467280
lea eax, [ebx + 0x806c]
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
je 0x406bf9
and dword [edi + 0x26f0], 0
and dword [ebx + 0x30], 0
mov dword [edi + 0x26d4], 0x8000000
and dword [ebx + 0x28], 0
jmp 0x4068d6
mov ebx, dword [ebp - 0x1260]
push ebx
mov ecx, edi
call fcn.004073f3
xor eax, eax
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043223c
mov esp, ebp
pop ebp
ret 4