Function at 0x459a60
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x50
movsd xmm0, qword [0x525710]
movsd qword [ebp - 0x14], xmm0
movsd qword [ebp - 0x1c], xmm0
call fcn.00459d30
call fcn.00458750
test eax, eax
jge 0x459a9d
mov dword [0x56c070], 0xffff
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, 0x4d7ab8
cmp dword [esi - 4], 0
jne 0x459cee
push dword [esi + 4]
push dword [esi]
push 0
push 0xf4240
call fcn.0047b960
mov esi, eax
add esi, 1
mov edi, edx
adc edi, 0
mov dword [ebp - 0x44], 0xa
mov eax, 8
add eax, eax
mov dword [ebp - 0x20], eax
lea edx, [ebp - 0x28]
push edx
call sub.KERNEL32.dll_QueryPerformanceCounter
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x4c], edx
cmp dword [0x56db20], 0
jne 0x459cf8
mov ecx, dword [ebp - 0x20]
test ecx, ecx
jle 0x459b35
mov dword [ebp - 0x20], ecx
mov ebx, ecx
call fcn.00458750
dec ebx
jne 0x459b06
lea eax, [ebp - 0x30]
push eax
call sub.KERNEL32.dll_QueryPerformanceCounter
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x48]
sbb edx, dword [ebp - 0x4c]
mov ebx, eax
mov eax, edx
cmp dword [0x56db20], 0
je 0x459b3a
jmp 0x459d02
mov dword [ebp - 0x20], ecx
jmp 0x459b0e
cmp ebx, esi
mov edx, eax
sbb edx, edi
jl 0x459bcf
mov ecx, eax
mov edx, ebx
push ecx
push edx
call fcn.004042f0
fstp qword [ebp - 0x5c]
mov eax, dword [ebp - 0x20]
xorps xmm1, xmm1
cvtsi2sd xmm1, eax
movsd xmm0, qword [ebp - 0x5c]
divsd xmm0, xmm1
movsd xmm1, qword [ebp - 0x14]
ucomisd xmm1, xmm0
jp 0x459b78
je 0x459cca
movsd xmm1, qword [ebp - 0x14]
ucomisd xmm1, qword [ebp - 0x14]
jp 0x459cd4
ucomisd xmm0, qword [ebp - 0x14]
ja 0x459cd4
movsd qword [ebp - 0x14], xmm0
mov edx, eax
sar edx, 0x1f
and edx, 3
add edx, eax
mov eax, edx
sar eax, 2
add eax, eax
mov dword [ebp - 0x20], eax
lea edx, [ebp - 0x38]
push edx
call sub.KERNEL32.dll_QueryPerformanceCounter
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x4c], ecx
cmp dword [0x56db20], 0
je 0x459bd7
jmp 0x459d12
mov eax, dword [ebp - 0x20]
jmp 0x459ad3
mov ecx, dword [ebp - 0x20]
test ecx, ecx
jle 0x459c12
mov dword [ebp - 0x20], ecx
mov ebx, ecx
call fcn.00459d30
dec ebx
jne 0x459be3
lea eax, [ebp - 0x40]
push eax
call sub.KERNEL32.dll_QueryPerformanceCounter
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x48]
sbb edx, dword [ebp - 0x4c]
mov ebx, eax
mov eax, edx
cmp dword [0x56db20], 0
je 0x459c17
jmp 0x459d1c
mov dword [ebp - 0x20], ecx
jmp 0x459beb
cmp ebx, esi
mov edx, eax
sbb edx, edi
jl 0x459cc2
mov ecx, eax
mov edx, ebx
push ecx
push edx
call fcn.004042f0
fstp qword [ebp - 0x5c]
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [ebp - 0x20]
movsd xmm0, qword [ebp - 0x5c]
divsd xmm0, xmm1
movsd xmm1, qword [ebp - 0x1c]
ucomisd xmm1, xmm0
jp 0x459c53
je 0x459cde
movsd xmm1, qword [ebp - 0x1c]
ucomisd xmm1, qword [ebp - 0x1c]
jp 0x459ce4
ucomisd xmm0, qword [ebp - 0x1c]
ja 0x459ce4
movsd qword [ebp - 0x1c], xmm0
mov ebx, dword [ebp - 0x44]
dec ebx
mov dword [ebp - 0x44], ebx
jne 0x459ace
movsd xmm0, qword [ebp - 0x14]
mulsd xmm0, qword [0x525718]
divsd xmm0, qword [ebp - 0x1c]
sub esp, 8
movsd qword [esp], xmm0
call fcn.004042a0
mov edx, 0x1388
cmp eax, 0x1388
cmovg eax, edx
mov dword [0x56c070], eax
cmp dword [0x56c070], 5
setle al
movzx eax, al
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp - 0x20]
jmp 0x459ba7
cmp dword [ebp - 0x10], 0
jge 0x459b93
movsd xmm0, qword [ebp - 0x14]
jmp 0x459b93
cmp dword [ebp - 0x18], 0
jge 0x459c6a
movsd xmm0, qword [ebp - 0x1c]
jmp 0x459c6a
call fcn.0040112b
jmp 0x459aac
call fcn.00402631
jmp 0x459afa
mov dword [ebp - 0x4c], eax
call fcn.00402631
mov eax, dword [ebp - 0x4c]
jmp 0x459b3a
call fcn.00402631
jmp 0x459bd7
mov dword [ebp - 0x4c], eax
call fcn.00402631
mov eax, dword [ebp - 0x4c]
jmp 0x459c17