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

Disassembly:
push rbp
push r14
push rdi
push rsi
push rbx
sub rsp, 0x60
lea rbp, [rsp + 0x80]
xorps xmm4, xmm4
movups xmmword [rbp - 0x38], xmm4
xor eax, eax
mov qword [rbp - 0x28], rax
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x20], r8
mov qword [rbp + 0x28], r9
mov rbx, rdx
lea rcx, [0x1402ec668]
call fcn.140004890
mov rsi, rax
mov rcx, rsi
mov edx, 2
call fcn.1400864c0
mov qword [rbp - 0x40], rsi
lea rcx, [0x1402f1498]
call fcn.140004890
mov rsi, rax
mov rcx, rsi
mov qword [rbp + 0x18], rbx
mov rdx, rbx
mov r8d, 0x14eb
call fcn.1400c5e90
mov qword [rbp - 0x28], rsi
mov byte [0x14050fd71], 1
lea rcx, [0x1402fc060]
call fcn.140004890
xor ecx, ecx
mov qword [rax + 8], rcx
mov byte [rax + 0x18], 0
mov qword [rax + 0x10], rcx
mov qword [rbp - 0x50], rax
mov esi, dword [rbp + 0x30]
test esi, esi
jle 0x140084908
lea rcx, [rbp - 0x30]
call sub.KERNEL32.dll_QueryPerformanceCounter
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x50]
mov qword [rax + 0x10], rcx
mov byte [rax + 0x18], 1
cmp dword [0x14051a940], 0
jne 0x140084b2a
mov edi, 2
mov ecx, 0x17
mov rbx, qword [rbp + 0x18]
cmp qword [rbx + 8], 0
cmovne edi, ecx
lea rcx, [0x1402f16a8]
call fcn.140004890
mov rcx, rax
mov dword [rcx + 8], edi
mov rax, qword [rcx]
call qword [rax + 0x18]
test rax, rax
je 0x140084998
cmp dword [rax + 8], 0xc
jne 0x140084998
movups xmm0, xmmword [rax + 0xc]
movups xmm1, xmmword [0x1404160c0]
pxor xmm0, xmm1
movups xmm1, xmmword [rax + 0x14]
movups xmm2, xmmword [0x1404160d0]
pxor xmm1, xmm2
por xmm0, xmm1
xorps xmm1, xmm1
pcmpeqd xmm0, xmm1
pmovmskb ecx, xmm0
cmp ecx, 0xffff
sete cl
movzx ecx, cl
test ecx, ecx
je 0x140084998
lea rcx, [0x1402a3df0]
call fcn.1400c5330
mov rdx, rax
mov rcx, qword [rbp - 0x40]
call fcn.1400e26b0
jmp 0x1400849cf
lea rcx, [0x1402ec668]
call fcn.140004890
mov rbx, rax
mov rcx, rbx
mov edx, 0x17
call fcn.1400864c0
mov qword [rbp - 0x40], rbx
lea rcx, [0x1402d61f8]
call fcn.1400c5330
mov rdx, rax
mov rcx, rbx
call fcn.1400e26b0
mov rcx, qword [rbp - 0x40]
mov rcx, qword [rcx + 8]
mov rdx, qword [rbp - 0x28]
cmp dword [rcx], ecx
call fcn.1400daf70
cmp byte [0x14050fd71], 0
je 0x140084b1f
mov rcx, qword [rbp - 0x40]
xor edx, edx
xor r8d, r8d
call fcn.1400e24d0
mov qword [rbp - 0x48], rax
mov rbx, qword [rbp - 0x48]
mov ecx, 0xa
call fcn.140132430
cmp byte [0x14050fd71], 0
je 0x140084b06
mov rax, qword [rbp - 0x50]
movzx ecx, byte [rax + 0x18]
test ecx, ecx
je 0x140084a9b
mov rdi, qword [rax + 8]
test ecx, ecx
je 0x140084a59
lea rcx, [rbp - 0x38]
call sub.KERNEL32.dll_QueryPerformanceCounter
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x50]
sub rcx, qword [rax + 0x10]
add rdi, rcx
cmp dword [0x14051a940], 0
mov rbx, qword [rbp - 0x48]
jne 0x140084afc
lea r14, [0x1402e57f0]
cmp qword [r14 - 8], 0
jne 0x140084af2
xorps xmm0, xmm0
cvtsi2sd xmm0, rdi
mulsd xmm0, qword [r14 + 0x10]
cvttsd2si rcx, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rcx
divsd xmm0, qword [0x1404160e0]
xorps xmm1, xmm1
cvtsi2sd xmm1, esi
ucomisd xmm0, xmm1
jae 0x140084b06
mov rcx, rbx
lea r10, [0x1402e87a0]
call qword [r10]
test eax, eax
je 0x140084a05
cmp byte [0x14050fd71], 0
je 0x140084b0f
lea r8, [rbp - 0x28]
mov rcx, qword [rbp - 0x40]
mov rdx, rbx
call fcn.1400e2590
mov rdx, rax
mov r8, qword [rbp + 0x20]
mov qword [rsp + 0x20], r8
mov r9, qword [rbp + 0x28]
mov qword [rsp + 0x28], r9
mov rcx, qword [rbp + 0x10]
mov r8, qword [rbp - 0x40]
mov r9, qword [rbp - 0x28]
mov rax, qword [rcx]
call qword [rax + 0x30]
jmp 0x140084b0f
call fcn.1400014a5
jmp 0x140084a6b
call fcn.1400055b0
jmp 0x140084a59
mov byte [0x14050fd71], 0
jmp 0x140084ab0
cmp byte [0x14050fd71], 0
mov esi, dword [rbp + 0x30]
jne 0x1400849ef
add rsp, 0x60
pop rbx
pop rsi
pop rdi
pop r14
pop rbp
ret
call fcn.1400055b0
jmp 0x140084908