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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb4
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x496], 1
xor ebx, ebx
push ebp
push 0x59bb3b
push dword fs:[ebx]
mov dword fs:[ebx], esp
mov byte [ebp - 5], 0
call sub.KERNEL32.DLL_GetTickCount
xor edx, edx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
lea eax, [ebp - 0xd]
push eax
call sub.user32.dll_GetCursorPos
lea ecx, [ebp - 0x4c]
lea edx, [ebp - 0xd]
mov eax, dword [ebp - 4]
call fcn.00449e44
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0xd], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 9], eax
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x3b4]
mov eax, dword [ebp - 0xd]
cmp edx, eax
jl 0x59b94f
sub eax, edx
mov edx, eax
mov eax, 0xffffffec
call fcn.00430194
mov dword [ebp - 0x14], eax
jmp 0x59b977
mov ecx, edx
mov edx, dword [ebp - 4]
add ecx, dword [edx + 0x3bc]
dec ecx
cmp eax, ecx
jl 0x59b972
mov edx, eax
sub edx, ecx
mov eax, 0x14
call fcn.00430258
mov dword [ebp - 0x14], eax
jmp 0x59b977
xor eax, eax
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x3b8]
mov eax, dword [ebp - 9]
cmp edx, eax
jl 0x59b9a1
sub eax, edx
sar eax, 1
jns 0x59b990
adc eax, 0
mov edx, eax
mov eax, 0xfffffff1
call fcn.00430194
mov dword [ebp - 0x18], eax
jmp 0x59b9d0
mov ecx, edx
mov edx, dword [ebp - 4]
add ecx, dword [edx + 0x3c0]
dec ecx
cmp eax, ecx
jl 0x59b9cb
mov edx, eax
sub edx, ecx
sar edx, 1
jns 0x59b9bc
adc edx, 0
mov eax, 0xf
call fcn.00430258
mov dword [ebp - 0x18], eax
jmp 0x59b9d0
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x14], 0
jne 0x59b9e0
cmp dword [ebp - 0x18], 0
je 0x59bb23
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x384]
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x388]
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x14], 0x1e
jle 0x59ba05
mov dword [ebp - 0x14], 0x1e
cmp dword [ebp - 0x14], 0xffffffe2
jge 0x59ba12
mov dword [ebp - 0x14], 0xffffffe2
cmp dword [ebp - 0x18], 0x1e
jle 0x59ba1f
mov dword [ebp - 0x18], 0x1e
cmp dword [ebp - 0x18], 0xffffffe2
jge 0x59ba2c
mov dword [ebp - 0x18], 0xffffffe2
mov ecx, edx
add ecx, dword [ebp - 0x18]
mov edx, eax
add edx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
call fcn.00596910
xor eax, eax
push ebp
push 0x59ba67
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x44]
push eax
call sub.user32.dll_PeekMessageA
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x59ba71
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x384]
cmp eax, dword [ebp - 0x1c]
jne 0x59ba91
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x388]
cmp edx, dword [ebp - 0x20]
je 0x59bb23
mov byte [ebp - 5], 1
sub dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x388]
sub dword [ebp - 0x20], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x1c]
add dword [eax + 0x418], edx
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x20]
add dword [eax + 0x41c], edx
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x10c]
call sub.KERNEL32.DLL_GetTickCount
xor edx, edx
sub eax, dword [ebp - 0x28]
sbb edx, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 0
jne 0x59baf2
cmp dword [ebp - 0x28], 0
jbe 0x59b8fc
jmp 0x59baf8
jle 0x59b8fc
cmp dword [ebp - 0x24], 0
jne 0x59bb0a
cmp dword [ebp - 0x28], 0x19
jae 0x59b8fc
jmp 0x59bb10
jge 0x59b8fc
mov eax, 0x19
sub eax, dword [ebp - 0x28]
push eax
call sub.KERNEL32.DLL_Sleep
jmp 0x59b8fc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x59bb42
mov eax, dword [ebp - 4]
mov byte [eax + 0x496], 0
ret