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

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rax, qword [0x14029b028]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov rax, qword [rcx + 0xd0]
cmp qword [rcx + 0xc8], rax
je 0x1400e0ad6
mov rdi, rdx
mov rsi, rcx
mov eax, dword [rax - 0x40]
test eax, eax
je 0x1400e0af1
cmp eax, 2
je 0x1400e0e66
cmp qword [rsi + 0x60], 0
je 0x1400e0ab1
cmp qword [rsi + 0x48], 0
je 0x1400e0ab1
mov rax, qword [rsi + 0x90]
test rax, rax
je 0x1400e0e9f
mov rcx, qword [rax + 0xd0]
sub rcx, qword [rax + 0xc8]
cmp rcx, 0x40
jne 0x1400e0ab1
cmp byte [rdi], 0
jne 0x1400e0cf3
mov rax, qword [fcn.140105050]
lea rcx, [0x140182e50]
cmp rax, rcx
jne 0x1400e0e34
mov qword [rsp + 0x38], 0
lea rcx, [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x38]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400e0edf
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b0aa0]
mov rbx, rax
cmp byte [rdi], 0
mov qword [rdi + 8], rbx
jne 0x1400e0a12
mov byte [rdi], 1
mov rax, qword [rsi + 0x48]
xor edx, edx
cmp rbx, rax
setns dl
movabs r14, 0x7fffffffffffffff
add rdx, r14
mov rcx, rbx
sub rcx, rax
cmovo rcx, rdx
cmp rcx, 0x1c9c37f
jg 0x1400e0a95
movabs rax, 0x8000000000000001
lea r8, [rcx + rax]
mov rdx, qword [rsi + 0x10]
cmp r8, 1
jbe 0x1400e0ea2
lea rax, [rdx + rcx]
sar rax, 0x3f
movabs r8, 0x8000000000000000
xor r8, rax
add rdx, rcx
cmovo rdx, r8
mov qword [rsi + 0x10], rdx
cmp rdx, 0x186a0
jge 0x1400e0dda
cmp qword [rsi + 0x90], 0
je 0x1400e0ebf
movzx eax, byte [0x14029e290]
test al, 9
jne 0x1400e0ec2
test al, 9
setne byte [rsi + 0x88]
mov qword [rsi + 0x48], rbx
mov rdi, qword [rsi + 0xd0]
cmp qword [rsi + 0xc8], rdi
je 0x1400e0e63
cmp dword [rdi - 0x40], 0
mov dword [rdi - 0x40], 2
je 0x1400e0ba5
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1401874c0
nop
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
cmp qword [rsi + 0x60], 0
je 0x1400e0ab1
mov rax, qword [rsi + 0x90]
test rax, rax
je 0x1400e0edc
mov rcx, qword [rax + 0xd0]
sub rcx, qword [rax + 0xc8]
cmp rcx, 0x40
jne 0x1400e0ab1
cmp byte [rdi], 0
jne 0x1400e0cfc
mov rax, qword [fcn.140105050]
lea rcx, [0x140182e50]
cmp rax, rcx
jne 0x1400e0e4a
mov qword [rsp + 0x38], 0
lea rcx, [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x38]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400e0f09
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b0aa0]
cmp byte [rdi], 0
mov qword [rdi + 8], rax
jne 0x1400e0b84
mov byte [rdi], 1
mov qword [rsi + 0x40], rax
mov qword [rsi + 0x48], rax
test byte [0x14029e290], 0x19
je 0x1400e0ab1
cmp byte [rsi + 0x68], 0
jne 0x1400e0ab1
ud2
test byte [0x14029d8b0], 0x19
jne 0x1400e0d05
mov rbx, qword [rdi - 0x18]
inc rbx
mov qword [rdi - 0x18], rbx
mov eax, dword [0x1402b9378]
mov ecx, dword [0x1402ab7ac]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400e0d60
mov r15d, dword [rdi - 0x20]
test r15d, r15d
je 0x1400e0e2d
mov bpl, 1
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
mov r14, qword [rdi - 0x28]
lea rcx, [0x1402b9368]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400e0d13
mov rdi, qword [0x1402b9358]
test rdi, rdi
je 0x1400e0c68
lea rax, [0x1402b8710]
xor ecx, ecx
cmp rcx, 0x32
je 0x1400e0e60
cmp qword [rax - 0x30], r14
jne 0x1400e0c5c
cmp byte [rax - 0x28], 0
jne 0x1400e0c5c
movzx edx, byte [rax - 0x10]
test r15d, r15d
je 0x1400e0d25
test dl, dl
je 0x1400e0d25
cmp dword [rax - 0xc], esi
je 0x1400e0d3a
inc rcx
add rax, 0x40
cmp rdi, rcx
jne 0x1400e0c28
mov rax, qword [0x1402b9360]
test rax, rax
je 0x1400e0cb1
mov ecx, 0x32
sub rcx, rdi
cmp rax, rcx
jb 0x1400e0cb1
lea rcx, [0x1402b9370]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400e0cb1
lea rcx, [0x1402b86d0]
mov rdx, rdi
call fcn.14011f0e0
mov rdi, rax
lea rcx, [0x1402b9370]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp rdi, 0x32
je 0x1400e0d4e
jae 0x1400e0f30
shl rdi, 6
lea rax, [0x1402b86d0]
mov qword [rdi + rax + 0x10], r14
mov byte [rdi + rax + 0x18], 0
mov byte [rdi + rax + 0x30], bpl
mov dword [rdi + rax + 0x34], esi
mov qword [rdi + rax + 0x40], rbx
mov byte [rdi + rax + 8], 1
lock inc qword [0x1402b9358]
jmp 0x1400e0d4e
mov rbx, qword [rdi + 8]
jmp 0x1400e0a12
mov rax, qword [rdi + 8]
jmp 0x1400e0b84
cmp qword [rdi - 0x10], 0
jne 0x1400e0bb2
int3
lea rcx, [0x1402b9368]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400e0c13
test dl, dl
setne dl
test r15d, r15d
setne r8b
xor r8b, dl
jne 0x1400e0c5c
mov qword [rax], rbx
mov cl, 1
xchg byte [rax - 0x38], cl
test cl, 1
jne 0x1400e0d4e
dec qword [0x1402b9360]
lea rcx, [0x1402b9368]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1400e0ad6
lea rcx, [0x1402b9378]
call fcn.140184b80
cmp dword [0x1402b9378], 0xffffffff
jne 0x1400e0be2
lea rax, [0x14026e5a8]
mov qword [0x1402b86d0], rax
mov eax, 0x40
lea rcx, [0x1402b86d0]
xor edx, edx
mov byte [rax + rcx - 0x38], dl
mov byte [rax + rcx - 0x28], dl
mov byte [rax + rcx - 0x10], dl
mov qword [rax + rcx], 0
add rax, 0x40
cmp rax, 0xcc0
jne 0x1400e0d95
xorpd xmm0, xmm0
movupd xmmword [0x1402b9368], xmm0
movupd xmmword [0x1402b9358], xmm0
lea rcx, [0x1402b9378]
call fcn.140184be8
jmp 0x1400e0be2
cvtsi2sd xmm0, rdx
divsd xmm0, qword [0x14027a568]
cvttsd2si edi, xmm0
mov rcx, qword [rsi + 0x60]
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 2
mov r8d, edi
call qword [case.0x1401eda70.0]
movsxd rax, edi
imul rcx, rax, 0x3e8
mov rax, qword [rsi + 0x10]
xor edx, edx
cmp rax, rcx
setns dl
add rdx, r14
sub rax, rcx
cmovo rax, rdx
mov qword [rsi + 0x10], rax
jmp 0x1400e0a87
xor ebp, ebp
jmp 0x1400e0bfa
lea rbx, [rsp + 0x30]
mov rcx, rbx
call qword [case.0x1401eda70.0]
mov rbx, qword [rbx]
jmp 0x1400e0a06
lea rbx, [rsp + 0x30]
mov rcx, rbx
call qword [case.0x1401eda70.0]
mov rax, qword [rbx]
jmp 0x1400e0b78
int3
int3
lea rcx, [rsi + 0xc8]
lea rax, [rsi + 0xa0]
lea r8, [rsp + 0x30]
mov byte [r8], 1
lea rdx, [rsp + 0x38]
mov dword [rdx], 2
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
mov r9, rsi
call fcn.1402082e0
jmp 0x1400e0ad6
int3
lea r8, [rdx + rax]
dec rax
cmp r8, 1
ja 0x1400e0e24
cmp rdx, rcx
je 0x1400e0e24
int3
int3
cmp byte [rsi + 0x88], 0
jne 0x1400e0ed2
mov ecx, eax
and cl, 0x19
jne 0x1400e0f33
test al, 0x19
je 0x1400e0aa4
jmp 0x1400e0f3d
int3
mov rcx, qword [0x1402b0aa0]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
mov rbx, rax
add rbx, r8
jmp 0x1400e0a06
mov rcx, qword [0x1402b0aa0]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400e0b78
int3
cmp byte [rsi + 0x68], 0
je 0x1400e0ba3
cmp byte [rsi + 0x68], 0
jne 0x1400e0aa4
jmp 0x1400e0ba3