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

Disassembly:
push ebx
push ebp
push esi
push edi
mov esi, ecx
call fcn.0041fdfe
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
mov edi, eax
add edi, 0x9c40
jmp 0x42044e
call ebx
cmp eax, edi
jae 0x420457
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [0x45af98], 0
je 0x42043d
call ebx
push eax
call fcn.00421658
pop ecx
call fcn.00421662
push 3
cdq
pop ecx
idiv ecx
mov edi, edx
inc edi
xor ebp, ebp
cmp edi, 1
jne 0x420483
mov ecx, esi
call fcn.004201c2
test al, al
mov byte [esi + 0x27], al
jne 0x4204b9
cmp edi, 2
jne 0x420496
mov ecx, esi
call fcn.0042009c
test al, al
mov byte [esi + 0x27], al
jne 0x4204b9
cmp edi, 3
jne 0x4204ab
mov ecx, esi
call fcn.004202ef
test al, al
mov byte [esi + 0x27], al
jne 0x4204b9
cmp edi, edi
jl 0x4204b2
xor edi, edi
inc edi
jmp 0x4204b3
inc edi
inc ebp
cmp ebp, 3
jl 0x420470
cmp byte [esi + 0x27], 0
jne 0x4205f4
mov eax, dword [esi]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [esi + 0x27], 1
mov eax, dword [eax + 8]
test eax, eax
push 5
pop ebp
je 0x4204f4
push eax
call edi
cmp eax, ebp
jl 0x4204f4
mov eax, dword [esi]
push dword [eax + 8]
mov ecx, esi
call fcn.0041fd5b
test al, al
jne 0x4205e4
mov eax, dword [esi]
mov eax, dword [eax + 4]
test eax, eax
je 0x420518
push eax
call edi
cmp eax, ebp
jl 0x420518
mov eax, dword [esi]
push dword [eax + 4]
mov ecx, esi
call fcn.0041fd5b
test al, al
jne 0x4205e4
mov eax, dword [esi]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x42053c
push eax
call edi
cmp eax, ebp
jl 0x42053c
mov eax, dword [esi]
push dword [eax + 0x20]
mov ecx, esi
call fcn.0041fd5b
test al, al
jne 0x4205e4
mov eax, dword [esi]
mov eax, dword [eax + 0x48]
test eax, eax
je 0x420560
push eax
call edi
cmp eax, ebp
jl 0x420560
mov eax, dword [esi]
push dword [eax + 0x48]
mov ecx, esi
call fcn.0041fd5b
test al, al
jne 0x4205e4
mov eax, dword [esi]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x420580
push eax
call edi
cmp eax, ebp
jl 0x420580
mov eax, dword [esi]
push dword [eax + 0x1c]
mov ecx, esi
call fcn.0041fd5b
test al, al
jne 0x4205e4
mov eax, dword [esi]
mov eax, dword [eax + 0x28]
test eax, eax
je 0x4205a0
push eax
call edi
cmp eax, ebp
jl 0x4205a0
mov eax, dword [esi]
push dword [eax + 0x28]
mov ecx, esi
call fcn.0041fd5b
test al, al
jne 0x4205e4
mov eax, dword [esi]
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x4205c0
push eax
call edi
cmp eax, ebp
jl 0x4205c0
mov eax, dword [esi]
push dword [eax + 0x2c]
mov ecx, esi
call fcn.0041fd5b
test al, al
jne 0x4205e4
mov eax, dword [esi]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x4205e0
push eax
call edi
cmp eax, ebp
jl 0x4205e0
mov eax, dword [esi]
push dword [eax + 0x24]
mov ecx, esi
call fcn.0041fd5b
test al, al
jne 0x4205e4
mov byte [esi + 0x27], 0
cmp byte [esi + 0x27], 0
jne 0x4205f4
mov ecx, esi
call fcn.0041fe58
mov byte [esi + 0x27], al
xor eax, eax
cmp dword [esi + 8], eax
jne 0x420618
push eax
push eax
mov eax, dword [esi]
movzx eax, byte [eax + 0x10]
push eax
push 3
call fcn.0041ef37
add esp, 0xc
push eax
mov ecx, esi
call fcn.0041fbcb
jmp 0x42061f
mov ecx, esi
call fcn.0041fc9f
call ebx
mov ebp, eax
add ebp, 0x3e80
xor edi, edi
mov ecx, esi
call fcn.0041f0cb
cmp dword [esi + 8], 0
jne 0x420647
call ebx
cmp edi, eax
jbe 0x420647
cmp byte [esi + 0xa9], 0
jne 0x42062b
mov ecx, esi
mov byte [esi + 0x27], 0
call fcn.0041fc9f
test al, al
jne 0x42072a
call fcn.00421662
push 3
cdq
pop ecx
idiv ecx
mov edi, edx
inc edi
xor ebx, ebx
cmp edi, 1
jne 0x42067d
mov ecx, esi
call fcn.004201c2
test al, al
mov byte [esi + 0x27], al
jne 0x4206b3
cmp edi, 2
jne 0x420690
mov ecx, esi
call fcn.0042009c
test al, al
mov byte [esi + 0x27], al
jne 0x4206b3
cmp edi, 3
jne 0x4206a5
mov ecx, esi
call fcn.004202ef
test al, al
mov byte [esi + 0x27], al
jne 0x4206b3
cmp edi, edi
jl 0x4206ac
xor edi, edi
inc edi
jmp 0x4206ad
inc edi
inc ebx
cmp ebx, 3
jl 0x42066a
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp byte [esi + 0x27], 0
jne 0x4206e1
mov eax, dword [esi + 0x20]
cmp eax, 1
jb 0x4206d2
push 6
xor edx, edx
pop ecx
div ecx
test edx, edx
jne 0x4206e1
mov ecx, esi
call fcn.0041fe58
test al, al
je 0x4206e1
mov byte [esi + 0x27], 1
cmp dword [esi + 0x20], 2
jb 0x4206ff
cmp byte [esi + 0xa9], 0
je 0x4206ff
call ebx
sub eax, dword [esi + 0xac]
cmp eax, 0x493e0
jbe 0x420706
mov ecx, esi
call fcn.0041fdfe
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp ebp, 0x1b7740
jae 0x42071f
add ebp, 0x1d4c0
call ebx
mov edi, eax
add edi, ebp
jmp 0x42062b
mov byte [esi + 0x27], 1
jmp 0x4206b9