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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x505ee5
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x556754]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov ebx, dword [ebp + 8]
xor esi, esi
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x10], 1
cmp ebx, 0x40a
ja 0x4210bf
je 0x421042
lea eax, [ebx - 1]
cmp eax, 0xa2
ja case.0x420dfe.4
movzx eax, byte [eax + 0x4211b0]
jmp dword [eax*4 + 0x421178]
mov eax, dword [edi]
lea edx, [ebp - 0x10]
push edx
push dword [ebp + 0x10]
push ecx
push ebx
mov ecx, edi
call dword [eax + 0x78]
mov esi, eax
jmp 0x4210d7
mov eax, dword [edi]
lea edx, [ebp - 0x10]
push edx
push dword [ebp + 0x10]
push ecx
push ebx
mov ecx, edi
call dword [eax + 0x48]
mov esi, eax
jmp 0x4210d7
mov eax, dword [edi]
lea edx, [ebp - 0x10]
push edx
push dword [ebp + 0x10]
push ecx
push ebx
mov ecx, edi
call dword [eax + 0x4c]
mov esi, eax
jmp 0x4210d7
push dword [edi + 4]
call dword [sym.imp.USER32.dll_IsWindowVisible]
push eax
mov ecx, edi
call fcn.004223b0
mov dword [ebp - 0x10], esi
xor esi, esi
jmp 0x4210d7
mov ecx, edi
call fcn.0043c0e0
push eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
xor eax, eax
mov ecx, edi
cmp dword [ebp + 0xc], 1
sete al
push eax
call fcn.004223b0
mov dword [ebp - 0x10], esi
xor esi, esi
jmp 0x4210d7
mov dword [ebp - 0x10], esi
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x420eb4
mov ecx, dword [edi + 0x378]
test ecx, ecx
je 0x420eb4
add ecx, 0x280
call fcn.0043c0e0
and dword [esi + 0x18], 0xfffffffb
mov dword [esi + 4], eax
xor esi, esi
jmp 0x4210d7
lea ecx, [edi + 0x30]
call fcn.0043e7d0
test eax, eax
je case.0x420dfe.6
push dword [edi + 4]
call dword [sym.imp.USER32.dll_IsZoomed]
lea ecx, [edi + 0x30]
test eax, eax
je 0x420ef8
push str.restore
call fcn.0043e0d0
test eax, eax
je 0x420ef1
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx + 0x10c]
push 0x517a98
jmp 0x420f17
push 0x517a98
call fcn.0043e0d0
test eax, eax
je 0x420f12
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx + 0x10c]
push str.restore
lea ecx, [edi + 0x30]
call fcn.0043e0d0
test eax, eax
je case.0x420dfe.6
mov edx, dword [eax]
mov ecx, eax
push 0
call dword [edx + 0x10c]
mov dword [ebp - 0x10], esi
xor esi, esi
jmp 0x4210d7
mov ecx, dword [edi + 0x378]
mov dword [ebp - 0x10], esi
test ecx, ecx
je 0x420f58
add ecx, 0x280
call fcn.0043c0e0
push eax
call dword [sym.imp.USER32.dll_SetFocus]
cmp dword [edi + 0x388], esi
jne 0x420eb4
push 0
lea esi, [edi + 0x384]
mov dword [edi + 0x388], 1
push esi
push 0
push 0x26
mov dword [esi], 0
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
cmp dword [esi], 0
je 0x420eb4
push 0
push 0
push 0
push 0x25
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
xor esi, esi
jmp 0x4210d7
mov dword [ebp - 0x10], esi
cmp dword [edi + 0x388], esi
je 0x420fd2
mov dword [edi + 0x388], esi
cmp dword [edi + 0x384], esi
je 0x420fcc
push 0
push 0
push 1
push 0x25
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
mov dword [edi + 0x384], esi
xor esi, esi
jmp 0x4210d7
call fcn.00418950
mov ecx, eax
call fcn.00418a40
test eax, eax
je 0x420eb4
push dword [edi + 4]
call dword [sym.imp.USER32.dll_IsZoomed]
mov ecx, edi
test eax, eax
je 0x421008
call fcn.00420320
xor esi, esi
jmp 0x4210d7
call fcn.004202d0
xor esi, esi
jmp 0x4210d7
mov eax, dword [edi]
lea edx, [ebp - 0x10]
push edx
push dword [ebp + 0x10]
push ecx
push ebx
mov ecx, edi
call dword [eax + 0x5c]
mov esi, eax
jmp 0x4210d7
mov eax, dword [edi]
lea edx, [ebp - 0x10]
push edx
push dword [ebp + 0x10]
push ecx
push ebx
mov ecx, edi
call dword [eax + 0x6c]
mov esi, eax
jmp 0x4210d7
call fcn.0040b050
mov ecx, eax
test ecx, ecx
je 0x42116b
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push 0x517344
lea ecx, [ebp + 8]
mov dword [ebp - 4], 0
call fcn.0040f500
test al, al
jne 0x421083
push 4
push 0x517344
lea ecx, [ebp + 8]
call fcn.0040b860
lea eax, [ebp + 8]
mov dword [ebp - 4], 1
push eax
mov ecx, edi
call fcn.00422680
mov edx, dword [ebp + 8]
or eax, 0xffffffff
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x420eb4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
xor esi, esi
jmp 0x4210d7
cmp ebx, 0x464
je 0x4210cc
mov dword [ebp - 0x10], esi
jmp 0x4210d7
push 1
push dword [edi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [edi + 0x360]
test eax, eax
je 0x42112d
cmp ebx, eax
jne 0x42112d
mov eax, dword [ebp + 0x10]
sub eax, 0x202
je 0x4210f4
sub eax, 1
jne 0x42112b
cmp dword [0x55bc64], 0
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
je 0x421112
call esi
sub eax, dword [0x55bc64]
cmp eax, 0x1f4
jb 0x421124
call esi
push 1
push 1
mov ecx, edi
mov dword [0x55bc64], eax
call fcn.004429e0
mov dword [ebp - 0x10], 1
xor esi, esi
cmp dword [ebp - 0x10], 0
je 0x421149
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push dword [ebp + 0x10]
mov ecx, edi
push dword [ebp + 0xc]
push ebx
call fcn.00446310
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0x80004005
call fcn.00404b30
nop dword [eax]
add eax, 0x3300420e
push cs
inc edx
add byte [edx + 0xe], cl
inc edx
add byte [ebx], ch
adc byte [edx], al
das
cmovb eax, dword [eax]
sbb al, 0xe
inc edx
add byte [ebp + 0xe], ah
inc edx
add byte [esi - 0x44ffbdf2], cl
push cs
inc edx
add byte [eax + edx], dl
inc edx
add byte [ebp + 0x3900420f], ah
cmovb eax, dword [eax]
invalid