Function at 0x628cf0
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 + 0x4ce], 1
xor ebx, ebx
push ebp
push 0x628f57
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.0044e2a0
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 + 0x3ec]
mov eax, dword [ebp - 0xd]
cmp edx, eax
jl 0x628d6b
sub eax, edx
mov edx, eax
mov eax, 0xffffffec
call fcn.00431e18
mov dword [ebp - 0x14], eax
jmp 0x628d93
mov ecx, edx
mov edx, dword [ebp - 4]
add ecx, dword [edx + 0x3f4]
dec ecx
cmp eax, ecx
jl 0x628d8e
mov edx, eax
sub edx, ecx
mov eax, 0x14
call fcn.00431edc
mov dword [ebp - 0x14], eax
jmp 0x628d93
xor eax, eax
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x3f0]
mov eax, dword [ebp - 9]
cmp edx, eax
jl 0x628dbd
sub eax, edx
sar eax, 1
jns 0x628dac
adc eax, 0
mov edx, eax
mov eax, 0xfffffff1
call fcn.00431e18
mov dword [ebp - 0x18], eax
jmp 0x628dec
mov ecx, edx
mov edx, dword [ebp - 4]
add ecx, dword [edx + 0x3f8]
dec ecx
cmp eax, ecx
jl 0x628de7
mov edx, eax
sub edx, ecx
sar edx, 1
jns 0x628dd8
adc edx, 0
mov eax, 0xf
call fcn.00431edc
mov dword [ebp - 0x18], eax
jmp 0x628dec
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x14], 0
jne 0x628dfc
cmp dword [ebp - 0x18], 0
je 0x628f3f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3bc]
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x3c0]
mov dword [ebp - 0x20], edx
cmp dword [ebp - 0x14], 0x1e
jle 0x628e21
mov dword [ebp - 0x14], 0x1e
cmp dword [ebp - 0x14], 0xffffffe2
jge 0x628e2e
mov dword [ebp - 0x14], 0xffffffe2
cmp dword [ebp - 0x18], 0x1e
jle 0x628e3b
mov dword [ebp - 0x18], 0x1e
cmp dword [ebp - 0x18], 0xffffffe2
jge 0x628e48
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.00623258
xor eax, eax
push ebp
push 0x628e83
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 0x628e8d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3bc]
cmp eax, dword [ebp - 0x1c]
jne 0x628ead
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x3c0]
cmp edx, dword [ebp - 0x20]
je 0x628f3f
mov byte [ebp - 5], 1
sub dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c0]
sub dword [ebp - 0x20], eax
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x1c]
add dword [eax + 0x450], edx
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x20]
add dword [eax + 0x454], 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 0x628f0e
cmp dword [ebp - 0x28], 0
jbe 0x628d18
jmp 0x628f14
jle 0x628d18
cmp dword [ebp - 0x24], 0
jne 0x628f26
cmp dword [ebp - 0x28], 0x19
jae 0x628d18
jmp 0x628f2c
jge 0x628d18
mov eax, 0x19
sub eax, dword [ebp - 0x28]
push eax
call sub.kernel32.dll_Sleep_1
jmp 0x628d18
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x628f5e
mov eax, dword [ebp - 4]
mov byte [eax + 0x4ce], 0
ret