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

Disassembly:
sub esp, 8
push ebx
push esi
mov esi, ecx
xor ebx, ebx
cmp dword [esi + 0xd4], ebx
jne 0x414c3b
pop esi
xor eax, eax
pop ebx
add esp, 8
ret 8
mov eax, dword [esp + 0x18]
push edi
mov edi, dword [esp + 0x18]
push eax
push edi
call fcn.0040b2a0
cmp eax, 1
je 0x414f2d
mov eax, edi
sub eax, 4
je 0x414e86
sub eax, 1
je 0x414d9a
sub eax, 1
jne 0x414f2d
fldz
fcomp dword [esi + 0x198]
fnstsw ax
test ah, 5
jp 0x414d71
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
sub eax, dword [esi + 0x14c]
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x414ca4
fadd dword [0x5542b8]
fdiv qword [0x5542b0]
fcomp qword [0x553070]
fnstsw ax
test ah, 0x41
jne 0x414ce6
call edi
sub eax, dword [esi + 0x14c]
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x414cd1
fadd dword [0x5542b8]
fdiv qword [0x5542b0]
fld1
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x414d35
fstp st(0)
call edi
sub eax, dword [esi + 0x14c]
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x414d00
fadd dword [0x5542b8]
fdiv qword [0x5542b0]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x414d35
fstp st(0)
call edi
sub eax, dword [esi + 0x14c]
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x414d2f
fadd dword [0x5542b8]
fdiv qword [0x5542b0]
mov ecx, dword [esi + 0x10]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push ebx
fld1
push 0xc
fsubrp st(1)
push 6
push ecx
fmul qword [0x5542a0]
fstp dword [esi + 0x198]
call dword [sym.imp.USER32.dll_SetTimer]
mov ecx, esi
call fcn.0042a380
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 8
ret 8
lea edx, [esi + 0x188]
push edx
mov ecx, esi
call fcn.00428d90
mov dword [esi + 0x14c], ebx
mov ecx, esi
call fcn.0042a380
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 8
ret 8
fld dword [0x554048]
fcomp dword [esi + 0x198]
fnstsw ax
test ah, 0x41
jne 0x414d7f
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call edi
sub eax, dword [esi + 0x14c]
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x414dcd
fadd dword [0x5542b8]
fdiv qword [0x5542b0]
fcomp qword [0x553070]
fnstsw ax
test ah, 0x41
jne 0x414e0f
call edi
sub eax, dword [esi + 0x14c]
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x414dfa
fadd dword [0x5542b8]
fdiv qword [0x5542b0]
fld1
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x414e5e
fstp st(0)
call edi
sub eax, dword [esi + 0x14c]
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x414e29
fadd dword [0x5542b8]
fdiv qword [0x5542b0]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x414e5e
fstp st(0)
call edi
sub eax, dword [esi + 0x14c]
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x414e58
fadd dword [0x5542b8]
fdiv qword [0x5542b0]
mov eax, dword [esi + 0x10]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push ebx
fmul qword [0x5542a0]
push 0xc
push 5
push eax
fstp dword [esi + 0x198]
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x414d85
cmp dword [esi + 0xd0], ebx
jne 0x414ea4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esi + 0xcc]
cmp eax, ecx
jae 0x414eaf
mov dword [esi + 0xcc], eax
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 8
ret 8
mov edi, dword [0x5aa988]
sub eax, ecx
imul edi, edi, 0x3e8
push ebp
lea ecx, [esp + 0x10]
push ecx
mov ebx, eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea edx, [esp + 0x10]
push edx
mov ecx, esi
call fcn.00414720
mov ebp, eax
call dword [sym.imp.USER32.dll_GetCapture]
cmp ebx, edi
jbe 0x414f21
test ebp, ebp
jne 0x414f25
cmp dword [0x5aa984], 0x3e7
je 0x414f2c
cmp dword [esi + 0x1b4], ebp
jne 0x414f2c
test eax, eax
jne 0x414f2c
mov eax, dword [esi]
mov edx, dword [eax + 0x200]
lea ecx, [esi + 0x188]
push ecx
mov ecx, esi
call edx
pop ebp
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 8
ret 8
test ebp, ebp
je 0x414f2c
mov ecx, esi
call fcn.00414890
pop ebp
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 8
ret 8