Function at 0x406a90
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5685c0
mov eax, dword fs:[0]
push eax
sub esp, 0x8c
mov eax, dword [0x5d4050]
xor eax, esp
mov dword [esp + 0x84], eax
push esi
push edi
mov eax, dword [0x5d4050]
xor eax, esp
push eax
lea eax, [esp + 0x98]
mov dword fs:[0], eax
mov edi, ecx
mov byte [esp + 0xd], 0
mov dword [esp + 0x8c], 0xf
mov dword [esp + 0x88], 0
mov byte [esp + 0x78], 0
mov dword [esp + 0xa0], 0
mov eax, dword [edi + 0x28]
mov eax, dword [eax]
cmp eax, 1
jne 0x406b67
mov byte [esp + 0xd], al
mov dword [esp + 0x5c], 0xf
mov dword [esp + 0x58], 0
mov byte [esp + 0x48], 0
mov dword [esp + 0x44], 0xf
mov dword [esp + 0x40], 0
mov byte [esp + 0x30], 0
push 0x10
mov byte [esp + 0xa4], 2
call fcn.00421bdb
mov esi, eax
add esp, 4
test esi, esi
je 0x406b86
xorps xmm0, xmm0
movdqu xmmword [esi], xmm0
mov byte [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
jmp 0x406b88
test eax, eax
je 0x406b0a
push 0
push str.RegPathFinish
push str.Invalid_Finish_Item
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor al, al
jmp 0x406dd7
xor esi, esi
mov edx, dword [edi + 0x28]
lea ecx, [esp + 0x60]
add edx, 0xc
call fcn.004174a0
push 1
sub esp, 8
mov byte [esp + 0xac], 3
lea ecx, [esp + 0x6c]
call fcn.00407b60
mov dword [esp + 0x10], eax
cmp eax, 0xffffffff
je 0x406d6b
push eax
push 0
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x6c]
call fcn.00402680
lea ecx, [esp + 0x48]
mov dword [esp + 0x14], eax
cmp ecx, eax
je 0x406c0d
cmp dword [esp + 0x5c], 0x10
jb 0x406bee
push dword [esp + 0x48]
call fcn.00421c08
mov eax, dword [esp + 0x18]
add esp, 4
push eax
lea ecx, [esp + 0x4c]
mov dword [esp + 0x60], 0xf
mov dword [esp + 0x5c], 0
mov byte [esp + 0x4c], 0
call fcn.004028b0
cmp dword [esp + 0x2c], 0x10
jb 0x406c20
push dword [esp + 0x18]
call fcn.00421c08
add esp, 4
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x70]
sub eax, ecx
push eax
lea eax, [ecx + 1]
push eax
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x6c]
call fcn.00402680
lea ecx, [esp + 0x30]
mov dword [esp + 0x10], eax
cmp ecx, eax
je 0x406c7f
cmp dword [esp + 0x44], 0x10
jb 0x406c60
push dword [esp + 0x30]
call fcn.00421c08
mov eax, dword [esp + 0x14]
add esp, 4
push eax
lea ecx, [esp + 0x34]
mov dword [esp + 0x48], 0xf
mov dword [esp + 0x44], 0
mov byte [esp + 0x34], 0
call fcn.004028b0
cmp dword [esp + 0x2c], 0x10
jb 0x406c92
push dword [esp + 0x18]
call fcn.00421c08
add esp, 4
push 0xb
push ecx
push str.WOW6432NODE
lea ecx, [esp + 0x6c]
call fcn.00402e20
cmp eax, 0xffffffff
lea eax, [esp + 0x48]
setne byte [esp + 0xf]
sub esp, 0x18
mov ecx, esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.00402ac0
call fcn.00406800
cmp byte [esp + 0xd], 0
mov dword [esp + 0x10], eax
mov byte [esp + 0xe], 0
jne 0x406d49
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [edi + 0x28]
sub eax, dword [edi + 8]
imul ecx, dword [ecx + 0x42c], 0x3e8
cmp eax, ecx
jae 0x406d49
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [esp + 0xe], 0
jne 0x406d3d
cmp dword [esp + 0x44], 0x10
lea ecx, [esp + 0x30]
cmovae ecx, dword [esp + 0x30]
cmp byte [esp + 0xf], 0
sete al
movzx eax, al
push eax
push ecx
push ecx
push dword [esp + 0x1c]
mov ecx, esi
call fcn.00404bf0
mov byte [esp + 0xe], al
jmp 0x406ce4
push esi
mov ecx, edi
call fcn.00406930
test al, al
je 0x406ce4
mov ecx, esi
call fcn.00404ca0
test esi, esi
je 0x406d64
mov ecx, esi
call fcn.00404ca0
push esi
call fcn.00421c08
add esp, 4
mov byte [esp + 0xd], 1
jmp 0x406d70
mov byte [esp + 0xd], 0
cmp dword [esp + 0x74], 0x10
jb 0x406d83
push dword [esp + 0x60]
call fcn.00421c08
add esp, 4
cmp dword [esp + 0x44], 0x10
mov dword [esp + 0x74], 0xf
mov dword [esp + 0x70], 0
mov byte [esp + 0x60], 0
jb 0x406dab
push dword [esp + 0x30]
call fcn.00421c08
add esp, 4
cmp dword [esp + 0x5c], 0x10
mov dword [esp + 0x44], 0xf
mov dword [esp + 0x40], 0
mov byte [esp + 0x30], 0
jb 0x406dd3
push dword [esp + 0x48]
call fcn.00421c08
add esp, 4
mov al, byte [esp + 0xd]
mov ecx, dword [esp + 0x98]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x84]
xor ecx, esp
call fcn.00549fe1
mov esp, ebp
pop ebp
ret