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

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
sub esp, 0x20
cmp eax, 2
push ebx
push esi
push edi
mov esi, ecx
je 0x5e109a
cmp eax, 0x21
je 0x5e1082
mov edi, 0x100
cmp eax, edi
je 0x5e105e
cmp eax, 0x103
jbe 0x5e1055
mov ecx, 0x105
cmp eax, ecx
jbe 0x5e1034
cmp eax, 0x113
je 0x5e0e17
mov edi, 0x200
cmp eax, edi
jne 0x5e1055
mov eax, dword [esi + 0x108]
test al, 1
je 0x5e0de9
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xf4]
jmp 0x5e0df6
test ax, 0x500
je 0x5e0df6
mov ecx, esi
call fcn.005e091b
test byte [esi + 0x108], 0x10
je 0x5e0e0b
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0xf4], eax
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push edi
jmp 0x5e10cf
cmp dword [ebp + 0x10], 0xed4c5
jne 0x5e1024
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0xf4]
mov ecx, esi
cdq
mov edi, eax
mov eax, dword [esi]
xor edi, edx
sub edi, edx
call dword [eax + 0x10c]
mov dword [ebp + 0xc], eax
call fcn.005b36be
test word [esi + 0x108], 0x500
mov ebx, eax
je 0x5e0fd9
test byte [esi + 0x79], 4
jne 0x5e0fd9
test ebx, ebx
je 0x5e0fd9
push dword [ebp + 8]
mov ecx, ebx
call fcn.00600591
test al, al
je 0x5e0fd9
push dword [ebp + 8]
mov ecx, ebx
call fcn.00600608
test al, al
jne 0x5e0fd9
push 2
call fcn.005b3666
test eax, eax
jne 0x5e0fd9
xor ebx, ebx
mov dword [ebp - 8], ebx
lea edi, [ebp - 4]
stosd dword es:[edi], eax
lea eax, [ebp - 8]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
xor eax, eax
mov dword [ebp - 0x20], ebx
lea edi, [ebp - 0x1c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
jge 0x5e0eda
sub ecx, eax
mov eax, ecx
jmp 0x5e0ee6
cmp eax, dword [ebp - 0x18]
jle 0x5e0ee4
sub eax, dword [ebp - 0x18]
jmp 0x5e0ee6
xor eax, eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x1c]
cmp ecx, edx
jge 0x5e0ef6
sub edx, ecx
mov ecx, edx
jmp 0x5e0f02
cmp ecx, dword [ebp - 0x14]
jle 0x5e0f00
sub ecx, dword [ebp - 0x14]
jmp 0x5e0f02
xor ecx, ecx
cmp eax, ebx
jne 0x5e0f26
cmp ecx, ebx
jne 0x5e0f26
and dword [esi + 0x108], 0xfffff7ff
mov ecx, esi
mov dword [esi + 0x110], ebx
call fcn.005e091b
jmp 0x5e0fd3
cmp eax, ecx
jge 0x5e0f2f
mov dword [ebp + 0xc], ecx
jmp 0x5e0f34
mov ecx, eax
mov dword [ebp + 0xc], eax
test word [esi + 0x108], 0x800
je 0x5e0f56
lea eax, [esi + 0x110]
mov edx, dword [eax]
cmp edx, ebx
je 0x5e0f4f
cmp ecx, edx
jge 0x5e0f51
mov dword [eax], ecx
sub ecx, dword [eax]
mov dword [ebp + 0xc], ecx
fild dword [ebp + 0xc]
push 0x3e8
fadd qword [0x451ba0]
fstp qword [ebp - 0x10]
call fcn.006555cc
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
fdiv qword [0x411838]
fdivr qword [ebp - 0x10]
fadd qword [0x451ba0]
call fcn.0066e41f
mov ecx, dword [esi + 0x108]
and ecx, 0x400
neg ecx
sbb ecx, ecx
and ecx, 0xfffffff5
add ecx, 0xe
mov edi, eax
mov ebx, ecx
imul ebx, edi
mov eax, 0xff
mov edx, eax
sub edx, ebx
test edx, edx
jg 0x5e0fcb
cdq
idiv ecx
add eax, 0x64
cmp edi, eax
jl 0x5e0fc9
push 0
push dword [ebp + 8]
call fcn.005b402d
jmp 0x5e104e
xor edx, edx
push edx
mov ecx, esi
call fcn.005e0145
push 0
push 0x1e
jmp 0x5e1016
cmp dword [ebp + 0xc], 0
jle 0x5e1007
cmp edi, dword [ebp + 0xc]
jbe 0x5e1007
cmp byte [esi + 0x104], 0
je 0x5e0ffb
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x110]
test eax, eax
jne 0x5e1007
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xf4]
jmp 0x5e1024
mov eax, dword [ebp + 0xc]
cdq
and edx, 7
add eax, edx
push 0
sar eax, 3
push eax
push 0xed4c5
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetTimer]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push 0x113
jmp 0x5e10cf
cmp dword [ebp + 0x10], 0x12
jne 0x5e1055
test byte [esi + 0x108], 0x40
je 0x5e1055
cmp eax, ecx
jne 0x5e104e
push 0
call fcn.005b3f70
xor eax, eax
jmp 0x5e10d9
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
jmp 0x5e10cf
cmp dword [ebp + 0x10], 0x1b
jne 0x5e0e0b
test byte [esi + 0x108], 0x40
jne 0x5e0e0b
mov eax, dword [esi]
call dword [eax + 0xf4]
jmp 0x5e0e0b
call fcn.005df4bd
test al, al
jne 0x5e1090
push 3
pop eax
jmp 0x5e10d9
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push 0x21
jmp 0x5e10cf
push 0xed4c5
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_KillTimer]
and dword [esi + 0x10c], 0
call fcn.005b36be
test eax, eax
je 0x5e10c7
push 0
push dword [esi + 0x84]
mov ecx, eax
call fcn.006017c1
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push 2
push dword [ebp + 8]
mov ecx, esi
call fcn.005cb970
pop edi
pop esi
pop ebx
leave
ret 0x10