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

Disassembly:
sub esp, 0xc
push ebx
push esi
push edi
mov esi, 2
xor ebx, ebx
cmp dword [0x4ae7fc], ebx
je 0x42112c
mov al, byte [0x4ae80d]
dec al
mov byte [0x4ae80d], al
jne 0x4211c9
call fcn.00477f10
test eax, eax
je 0x421312
cmp byte [0x4ae810], bl
je 0x421111
call sub.KERNEL32.dll_GetTickCount
sub eax, dword [0x4ae824]
mov dword [0x4ae824], eax
cmp eax, 0x64
mov eax, dword [0x4ae21c]
jae 0x421078
cmp eax, ebx
je 0x421017
cmp byte [0x4ae0a9], bl
je 0x421009
mov al, byte [0x49090e]
mov byte [esp + 0xc], al
jmp 0x42105a
mov ecx, dword [0x4d6ae8]
mov dl, byte [ecx + str.P_5.__]
jmp 0x421056
mov al, byte [0x4ae80c]
inc al
cmp al, 3
mov byte [0x4ae80c], al
jb 0x42102d
mov byte [0x4ae80c], bl
mov al, byte [0x4ae0a9]
cmp al, bl
mov eax, 5
jne 0x421040
call fcn.004204d0
mov ecx, dword [0x4ae80c]
lea eax, [eax + eax*2]
and ecx, 0xff
mov dl, byte [eax + ecx + str.___22__22___]
mov byte [esp + 0xc], dl
mov eax, dword [esp + 0xc]
mov ecx, dword [0x4ae804]
and eax, 0xff
shr eax, 1
add ecx, eax
mov dword [0x4ae804], ecx
jmp 0x421111
cmp eax, ebx
je 0x42109e
cmp byte [0x4ae0a9], bl
je 0x421090
mov cl, byte [0x49090e]
mov byte [esp + 0x10], cl
jmp 0x4210e1
mov edx, dword [0x4d6ae8]
mov al, byte [edx + str.P_5.__]
jmp 0x4210dd
mov al, byte [0x4ae80c]
inc al
cmp al, 3
mov byte [0x4ae80c], al
jb 0x4210b4
mov byte [0x4ae80c], bl
mov al, byte [0x4ae0a9]
cmp al, bl
mov eax, 5
jne 0x4210c7
call fcn.004204d0
mov edx, dword [0x4ae80c]
lea ecx, [eax + eax*2]
and edx, 0xff
mov al, byte [ecx + edx + str.___22__22___]
mov byte [esp + 0x10], al
call fcn.004204d0
mov edx, dword [esp + 0x10]
xor ecx, ecx
mov cl, byte [eax + 0x4ae7ec]
and edx, 0xff
mov eax, ecx
imul eax, edx
cdq
sub eax, edx
mov edi, eax
sar edi, 1
call sub.KERNEL32.dll_GetTickCount
add edi, eax
mov dword [0x4ae804], edi
mov byte [0x4ae810], bl
call fcn.004204d0
mov al, byte [eax + 0x4ae7ec]
mov byte [0x4ae80d], al
jmp 0x4211c9
mov al, byte [0x4ae80f]
dec al
mov byte [0x4ae80f], al
jne 0x4211c4
cmp byte [0x4ce53a], 2
jne 0x421153
call sub.KERNEL32.dll_GetTickCount
neg eax
mov dword [0x4ae800], eax
call fcn.00436df0
test eax, eax
je 0x42133a
call sub.KERNEL32.dll_GetTickCount
add eax, dword [0x4ae800]
cmp eax, 0xc8
jle 0x421179
mov byte [0x4ae7f5], 1
cmp dword [0x4ae21c], ebx
je 0x4211a0
call fcn.004204d0
xor ecx, ecx
mov cl, byte [0x4b4949]
lea ecx, [ecx + ecx*8]
mov dl, byte [eax + ecx + 0x496d44]
mov byte [0x4ae80f], dl
jmp 0x4211c9
call fcn.004204d0
xor ecx, ecx
mov cl, byte [0x4b4949]
lea edx, [ecx*8]
sub edx, ecx
mov al, byte [eax + edx + 0x496cd4]
mov byte [0x4ae80f], al
jmp 0x4211c9
call fcn.00409d50
cmp byte [0x4ae81c], bl
je 0x421341
cmp dword [0x4ce798], ebx
jne 0x4211e9
cmp byte [0x4b497e], bl
je 0x421269
cmp byte [0x4ae80e], bl
jne 0x421263
push 1
call fcn.004798b0
add esp, 4
call fcn.004540a0
call fcn.0044c260
mov eax, dword [0x4ae808]
cmp eax, ebx
jne 0x42121a
mov eax, dword [0x4ae21c]
neg eax
sbb eax, eax
add eax, 0x65
dec eax
mov dword [0x4ae808], eax
mov eax, 0
sete al
cmp ax, bx
mov word [0x4ae816], ax
je 0x421238
call fcn.0042d4b0
call fcn.00452110
call fcn.00453c80
call fcn.0042d9e0
cmp word [0x4ae816], bx
je 0x421255
call fcn.0042d520
call fcn.00459990
push ebx
call fcn.004798b0
add esp, 4
inc dword [0x4ace78]
cmp dword [0x4ae21c], ebx
je 0x421293
cmp byte [0x4ae0a9], bl
je 0x421285
mov cl, byte [0x49090e]
mov byte [esp + 0x14], cl
jmp 0x4212d6
mov edx, dword [0x4d6ae8]
mov al, byte [edx + str.P_5.__]
jmp 0x4212d2
mov al, byte [0x4ae80c]
inc al
cmp al, 3
mov byte [0x4ae80c], al
jb 0x4212a9
mov byte [0x4ae80c], bl
mov al, byte [0x4ae0a9]
cmp al, bl
mov eax, 5
jne 0x4212bc
call fcn.004204d0
mov edx, dword [0x4ae80c]
lea ecx, [eax + eax*2]
and edx, 0xff
mov al, byte [ecx + edx + str.___22__22___]
mov byte [esp + 0x14], al
mov ecx, dword [esp + 0x14]
mov edx, dword [0x4ae804]
and ecx, 0xff
add edx, ecx
mov dword [0x4ae804], edx
call fcn.00420480
cmp ax, 3
jne 0x421341
call sub.KERNEL32.dll_GetTickCount
sub eax, dword [0x4ae804]
js 0x421341
mov edx, esi
dec esi
test edx, edx
je 0x421341
jmp 0x420f9d
mov al, byte [0x4ae810]
mov byte [0x4ae80d], 1
cmp al, bl
jne 0x421341
mov byte [0x4ae810], 1
call sub.KERNEL32.dll_GetTickCount
pop edi
pop esi
mov dword [0x4ae824], eax
pop ebx
add esp, 0xc
ret
mov byte [0x4ae80f], 1
pop edi
pop esi
pop ebx
add esp, 0xc
ret