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

Disassembly:
jmp 0x416a30
sub esp, 0x28
push ebx
push ebp
push esi
mov esi, dword [ecx]
xor ebx, ebx
push edi
cmp esi, ebx
mov dword [esp + 0x10], ecx
je 0x416c94
jmp 0x416a4d
mov ecx, dword [esp + 0x10]
cmp dword [esi + 0xc], ebx
je 0x416c85
cmp dword [0x5537f0], ebx
jne 0x416a74
cmp dword [0x546f90], ebx
je 0x416a93
cmp dword [0x546378], ebx
je 0x416a93
mov eax, dword [esi + 0x28]
mov dword [esi + 0x14], eax
cmp dword [0x5537f0], 1
jne 0x416a93
cmp dword [0x546f90], ebx
je 0x416a93
cmp dword [0x549938], ebx
je 0x416a93
mov edx, dword [esi + 0x28]
mov dword [esi + 0x14], edx
mov eax, dword [esi + 8]
cmp eax, ebx
mov eax, dword [esi + 0x14]
je 0x416b97
cmp eax, dword [esi + 0x28]
jl 0x416b20
cmp dword [esi + 0x48], ebx
je 0x416ab6
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x14], ecx
jmp 0x416c85
mov eax, dword [ecx]
mov ebp, dword [esi + 0x5c]
cmp eax, ebx
je 0x416b17
mov edi, dword [eax + 0x5c]
cmp eax, esi
je 0x416ad7
mov ebx, eax
mov eax, edi
test edi, edi
jne 0x416abf
mov esi, ebp
xor ebx, ebx
jmp 0x416c85
mov ecx, dword [eax + 0x24]
cmp ecx, 0x30
jl 0x416af8
xor edx, edx
mov dword [ecx*4 + 0x53e94c], edx
mov ecx, dword [0x546ac8]
cmp ecx, edx
je 0x416af8
mov dword [0x546ac8], edx
push eax
call fcn.0050ef54
add esp, 4
test ebx, ebx
je 0x416b11
mov dword [ebx + 0x5c], edi
mov esi, ebp
xor ebx, ebx
jmp 0x416c85
mov edx, dword [esp + 0x10]
mov dword [edx], edi
mov esi, ebp
xor ebx, ebx
jmp 0x416c85
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov edx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x44]
sub eax, edx
mov dword [esp + 0x1c], ebx
add ecx, eax
mov eax, ecx
mov dword [esi + 0x44], ecx
mov dword [esp + 0x18], eax
fild qword [esp + 0x18]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fcomp dword [esi + 0x40]
fnstsw ax
test ah, 0x41
jne 0x416c80
fld dword [esi + 0x40]
call fcn.0050ef70
mov ecx, eax
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x44]
inc edx
sub eax, ecx
mov dword [esi + 0x14], edx
mov edx, eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ebx
fild qword [esp + 0x20]
mov dword [esi + 0x44], eax
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fcomp dword [esi + 0x40]
fnstsw ax
test ah, 0x41
je 0x416b63
jmp 0x416c80
cmp eax, dword [esi + 0x28]
jg 0x416c14
cmp dword [esi + 0x48], ebx
je 0x416bac
mov ecx, dword [esi + 0x18]
mov dword [esi + 0x14], ecx
jmp 0x416c85
mov edx, dword [esp + 0x10]
mov ebp, dword [esi + 0x5c]
mov eax, dword [edx]
cmp eax, ebx
je 0x416c0e
mov edi, dword [eax + 0x5c]
cmp eax, esi
je 0x416bd1
mov ebx, eax
mov eax, edi
test edi, edi
jne 0x416bb9
mov esi, ebp
xor ebx, ebx
jmp 0x416c85
mov ecx, dword [eax + 0x24]
cmp ecx, 0x30
jl 0x416bf2
xor edx, edx
mov dword [ecx*4 + 0x53e94c], edx
mov ecx, dword [0x546ac8]
cmp ecx, edx
je 0x416bf2
mov dword [0x546ac8], edx
push eax
call fcn.0050ef54
add esp, 4
test ebx, ebx
je 0x416c08
mov dword [ebx + 0x5c], edi
mov esi, ebp
xor ebx, ebx
jmp 0x416c85
mov eax, dword [esp + 0x10]
mov dword [eax], edi
mov esi, ebp
xor ebx, ebx
jmp 0x416c85
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
mov edx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x44]
sub eax, edx
mov dword [esp + 0x2c], ebx
add ecx, eax
mov dword [esp + 0x28], ecx
mov dword [esi + 0x44], ecx
fild qword [esp + 0x28]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fcomp dword [esi + 0x40]
fnstsw ax
test ah, 0x41
jne 0x416c80
fld dword [esi + 0x40]
call fcn.0050ef70
mov ecx, eax
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x44]
inc edx
sub eax, ecx
mov dword [esi + 0x14], edx
mov edx, eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], ebx
fild qword [esp + 0x30]
mov dword [esi + 0x44], eax
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fcomp dword [esi + 0x40]
fnstsw ax
test ah, 0x41
je 0x416c51
call edi
mov dword [esi + 0x3c], eax
cmp esi, ebx
je 0x416c94
mov esi, dword [esi + 0x5c]
cmp esi, ebx
jne 0x416a49
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret