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

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0xb0
lea rbp, [rsp + 0x40]
movsxd r10, dword [rcx]
mov r13, rdx
mov qword [rbp + 0xa8], rbx
add r10, rcx
xor ebx, ebx
mov qword [rbp + 0xb0], rsi
mov eax, ebx
mov qword [rbp + 0xb8], rdi
sub eax, dword [rcx]
mov r12, r9
neg eax
mov rdi, rcx
mov rdx, 0xffffffffffffffff
sbb rax, rax
and r10, rax
nop
inc rdx
cmp byte [r10 + rdx], bl
jne 0x14004ac40
add edx, 0x14
movabs rsi, 0xffffffffffffff0
movsxd rax, edx
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x14004ac65
mov rcx, rsi
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.14004e0f0
movsxd r9, dword [rdi]
sub rsp, rcx
add r9, rdi
movsxd rdx, edx
mov eax, ebx
sub eax, dword [rdi]
neg eax
lea r15, [rsp + 0x40]
mov rcx, r15
sbb rax, rax
and r9, rax
call fcn.140003900
movsxd r14, dword [rdi + 0xc]
mov rax, r14
shl rax, 4
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x14004acad
mov rcx, rsi
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.14004e0f0
sub rsp, rcx
lea rsi, [rsp + 0x40]
test r14d, r14d
jle 0x14004ad3a
mov r8, rbx
add rdi, 0x10
mov r9, rsi
movsxd rcx, dword [rdi]
lea r9, [r9 + 0x10]
add rcx, rdi
mov eax, ebx
sub eax, dword [rdi]
neg eax
sbb rax, rax
and rcx, rax
mov eax, ebx
sub eax, dword [rcx + r8*8]
lea rcx, [rcx + r8*8]
movsxd rdx, dword [rcx]
add rdx, rcx
neg eax
sbb rax, rax
and rdx, rax
mov eax, ebx
mov qword [r9 - 0x10], rdx
sub eax, dword [rdi]
movsxd rcx, dword [rdi]
add rcx, rdi
neg eax
sbb rax, rax
and rcx, rax
mov eax, ebx
lea rcx, [rcx + r8*8]
add rcx, 4
sub eax, dword [rcx]
movsxd rdx, dword [rcx]
add rdx, rcx
neg eax
sbb rax, rax
inc r8
and rdx, rax
mov qword [r9 - 8], rdx
cmp r8, r14
jl 0x14004acd0
lea rcx, [rbp + 0xa0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x14004ae85
mov rax, qword [rbp + 0xa0]
lea rcx, [rbp + 0x38]
sub rax, qword [0x14009c1f8]
xor edx, edx
imul rax, rax, 0xf4240
mov qword [rsp + 0x38], rbx
mov r9, rsi
div qword [0x14009c1f0]
mov qword [rsp + 0x30], rbx
mov r8d, r14d
mov rdi, rax
mov dword [rsp + 0x28], ebx
add rdi, qword [0x14009c200]
mov rdx, r13
mov qword [rsp + 0x20], r12
call fcn.140026df0
lea rcx, [rbp]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 8], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rbp + 0x18], xmm1
movups xmmword [rbp + 0x28], xmm0
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x14004ae92
mov rax, qword [rbp]
xor edx, edx
sub rax, qword [0x14009c1f8]
xorps xmm0, xmm0
imul rax, rax, 0xf4240
div qword [0x14009c1f0]
mov rcx, rax
sub rcx, rdi
add rcx, qword [0x14009c200]
js 0x14004adf9
cvtsi2sd xmm0, rcx
jmp 0x14004ae0e
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
divsd xmm0, qword [0x14008fed0]
mov edi, dword [rbp + 8]
lea r9, [0x14008bbf8]
test edi, edi
mov qword [rsp + 0x20], r15
lea r8, [rbp + 8]
setne bl
mov ecx, ebx
cvttsd2si edx, xmm0
call fcn.14003de60
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x14004ae5d
mov rdx, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
mov rax, qword [rbp + 0x30]
neg rdx
lock add qword [rax], rdx
call fcn.14005a480
mov edi, dword [rbp + 8]
mov rbx, qword [rbp + 0xa8]
test edi, edi
mov rsi, qword [rbp + 0xb0]
mov rdi, qword [rbp + 0xb8]
sete al
lea rsp, [rbp + 0x70]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rcx, str.QueryPerformanceCounter_failed
call fcn.140014f00
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.140014f00
int3