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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xf8
mov rsi, rcx
mov rax, qword [0x1401ff028]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov rax, qword [rdx]
test rax, rax
jle 0x1400b9a7a
mov rdi, rdx
movaps xmm0, xmmword [0x1401d8770]
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xd0], xmm0
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xe0], rcx
mov byte [rsp + 0xc0], 0
xorps xmm1, xmm1
movups xmmword [rsp + 0xc8], xmm1
mov qword [rsp + 0xd8], 0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0xa0], xmm0
mov qword [rsp + 0xb0], rcx
mov byte [rsp + 0x50], 0
movups xmmword [rsp + 0x58], xmm1
movups xmmword [rsp + 0x68], xmm1
movups xmmword [rsp + 0x78], xmm1
movups xmmword [rsp + 0x88], xmm1
movups xmmword [rsp + 0x98], xmm1
mov qword [rsp + 0xa8], 0
cmp byte [rsi + 8], 0
jne 0x1400b9a8f
movabs rbx, 0x7fffffffffffffff
movabs r15, 0x8637bd05af7
cmp rax, rbx
je 0x1400b9a44
mov rax, qword [0x140200ee8]
lea rcx, [0x140103600]
cmp rax, rcx
jne 0x1400b9a59
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x30]
cmp rax, r15
jge 0x1400b9b29
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402070a0]
mov qword [rsp + 0x28], rax
mov rcx, qword [rdi]
lea rdx, [rbx + rcx]
add rdx, 2
cmp rdx, 2
jb 0x1400b9b05
xor edx, edx
mov rbp, rax
add rbp, rcx
setns dl
movabs rbp, 0x7fffffffffffffff
add rbp, rdx
add rax, rcx
cmovo rax, rbp
mov r13, rax
test rcx, rcx
jle 0x1400b9a3a
mov r12, qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebp, 1
movabs r14, 0x20c49ba5e353f7cf
cmp rcx, rbx
je 0x1400b9a4f
mov rax, rcx
shr rax, 3
mul r14
mov rax, rdx
shr rax, 4
imul rdi, rax, 0x3e8
xor edx, edx
cmp rcx, rdi
setg dl
add rdx, rax
mov rax, rdx
shr rax, 0x20
jne 0x1400b9a4f
mov rcx, qword [rsi]
call r12
xor ecx, ecx
cmp eax, 0x102
sete cl
shl ecx, 2
test eax, eax
cmove ecx, ebp
test cl, 1
je 0x1400b99e4
cmp ecx, 2
setne bl
cmp byte [rsp + 0x50], 0
jne 0x1400b9ae4
cmp byte [rsp + 0xc0], 0
jne 0x1400b9af3
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.140106510
mov eax, ebx
add rsp, 0xf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [0x140200ee8]
lea rcx, [0x140103600]
cmp rax, rcx
jne 0x1400b9a6b
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x30]
cmp rax, r15
jge 0x1400b9b50
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402070a0]
mov qword [rsp + 0x20], rax
mov rcx, r13
sub rcx, rax
jg 0x1400b9949
mov ecx, 2
jmp 0x1400b999f
mov r13, rbx
mov rcx, rbx
jmp 0x1400b9933
mov edx, 0xffffffff
jmp 0x1400b9982
lea r14, [rsp + 0x28]
mov rcx, r14
call rax
mov rax, qword [r14]
jmp 0x1400b98f3
lea rdi, [rsp + 0x20]
mov rcx, rdi
call rax
mov rax, qword [rdi]
jmp 0x1400b9a2e
mov rcx, qword [rsi]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
sete bl
jmp 0x1400b99be
lea rdx, [rsp + 0x30]
mov qword [rdx], rsi
lea rcx, [rsp + 0xc0]
int3
lea rcx, [rsp + 0x58]
int3
lea rcx, [rsp + 0xc8]
int3
lea rdx, [rbx + rax]
add rdx, 2
mov r13, rcx
cmp rdx, 1
ja 0x1400b992a
mov r13, rcx
cmp rax, rcx
je 0x1400b992a
int3
mov rcx, qword [0x1402070a0]
cqo
idiv rcx
imul rbp, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, rbp
jmp 0x1400b98ee
mov rcx, qword [0x1402070a0]
cqo
idiv rcx
imul rdi, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, rdi
jmp 0x1400b9a29