Function at 0x1400b4470
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, 0xd8
movapd xmmword [rsp + 0xc0], xmm6
mov rdi, rcx
mov rax, qword [0x14022d028]
xor rax, rsp
mov qword [rsp + 0xb8], rax
test rdx, rdx
jle 0x1400b4b48
mov rsi, rdx
movapd xmm0, xmmword [0x1401fa0c0]
movapd xmmword [rsp + 0x50], xmm0
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x90], rax
movapd xmmword [rsp + 0x80], xmm0
movapd xmmword [rsp + 0x70], xmm0
movapd xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
mov byte [rsp + 0x90], 0
cmp byte [rdi + 8], 0
je 0x1400b4641
movabs r15, 0x7fffffffffffffff
movabs rbx, 0x8637bd05af7
cmp rsi, r15
je 0x1400b461e
mov rax, qword [0x14022f6c0]
lea rcx, [0x140142f90]
cmp rax, rcx
jne 0x1400b4a02
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x30]
cmp rax, rbx
jge 0x1400b4b1e
imul rax, rax, 0xf4240
cqo
idiv qword [0x14023f400]
mov rbx, rax
lea rax, [rbx + rsi]
sar rax, 0x3f
movabs rcx, 0x8000000000000000
xor rcx, rax
add rbx, rsi
cmovo rbx, rcx
mov rbp, qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea r14, [rsp + 0x30]
mov r13, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
movabs r12, 0x20c49ba5e353f7cf
cmp rsi, r15
je 0x1400b4617
mov rax, rsi
shr rax, 3
mul r12
shr rdx, 4
imul rax, rdx, 0x3e8
cmp rax, rsi
adc rdx, 0
mov rax, rdx
shr rax, 0x20
jne 0x1400b4617
mov rcx, qword [rdi]
call rbp
test eax, eax
jne 0x1400b493c
mov sil, 1
cmp byte [rdi + 8], 0
je 0x1400b4626
cmp byte [rsp + 0x90], 0
jne 0x1400b46cd
mov rcx, qword [rsp + 0xb8]
xor rcx, rsp
call fcn.140146540
mov eax, esi
movaps xmm6, xmmword [rsp + 0xc0]
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov edx, 0xffffffff
jmp 0x1400b45c5
mov rbx, r15
jmp 0x1400b457e
mov qword [rsp + 0xa8], 0x9b
mov al, byte [0x14023f05b]
test al, al
je 0x1400b45db
jmp 0x1400b4b98
lea rdx, str.TimedWait
lea r8, str....._base_synchronizationwaitable_event.cc
lea rbx, [rsp + 0x30]
mov rcx, rbx
mov r9d, 0x24
call fcn.1400ce6a0
cmp byte [rsp + 0x90], 0
jne 0x1400b4b7b
lea rcx, [rsp + 0x50]
xor edx, edx
mov r8d, 1
call fcn.1400f43b0
mov qword [rsp + 0xa0], 0xa
mov al, byte [0x14023efca]
test al, al
jne 0x1400b4860
mov byte [rsp + 0x90], 1
jmp 0x1400b44f9
movzx ecx, al
lea r8, [rsp + 0x30]
mov qword [r8], 0
lea rdx, [rsp + 0xb0]
mov r9d, 2
call fcn.1400bf990
jmp 0x1400b46e3
mov qword [rsp + 0xb0], 0xa
mov al, byte [0x14023efca]
test al, al
jne 0x1400b46a9
movabs r14, 0xfffffffc00000000
call fcn.140143d20
mov ebp, dword [rax]
call fcn.140143d20
mov dword [rax], 0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r12, qword [rsp + 0x50]
test r12, r12
je 0x1400b47e4
cmp qword [rsp + 0x58], 0
jne 0x1400b47e4
cmp byte [r12 + 0x19], 0
je 0x1400b47e4
mov rbx, qword [r12 + 0x28]
add rbx, 0x68
mov r13, rbx
and r13, r14
cmp r13, qword [0x14022f688]
jne 0x1400b4755
mov rcx, rbx
call fcn.1400b3f20
test rbx, rbx
je 0x1400b4b92
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400b49f4
mov qword [r12 + 0x20], 0
cmp byte [r12 + 0x3a], 0
jne 0x1400b47c2
cmp byte [r12 + 0x38], 0
mov rax, qword [r12 + 0x28]
jne 0x1400b49ac
dec dword [rax + 0x130]
cmp byte [r12 + 0x19], 0
je 0x1400b4b95
cmp byte [r12 + 0x18], 0
jne 0x1400b47c2
cmp byte [r12 + 0x39], 0
mov rcx, qword [r12 + 0x28]
jne 0x1400b4bd6
dec dword [rcx + 0x134]
mov word [r12 + 0x38], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp r13, qword [0x14022f688]
jne 0x1400b47e4
mov rcx, rbx
call fcn.1400b4080
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
call fcn.140143d20
mov dword [rax], ebp
cmp byte [rsp + 0x88], 0
je 0x1400b480e
mov rdi, qword [rsp + 0x80]
test rdi, rdi
jne 0x1400b4892
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x1400b4820
mov rcx, qword [rsp + 0x68]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
and rax, r14
cmp rax, qword [0x14022f688]
je 0x1400b4b14
mov qword [rsp + 0x58], 0
mov rcx, qword [rsp + 0x50]
and r14, rcx
cmp r14, qword [0x14022f688]
jne 0x1400b45e9
call fcn.1400c5e10
jmp 0x1400b45e9
movzx ecx, al
lea r9, [rsp + 0xb0]
mov qword [r9], rbx
lea rax, str.ScopedBlockingCallWithBaseSyncPrimitives
lea r8, [rsp + 0xa8]
mov qword [r8], rax
lea rdx, [rsp + 0xa0]
call fcn.140015c10
jmp 0x1400b469c
mov rax, qword [fcn.1400fc780]
lea rcx, [0x140142f90]
cmp rax, rcx
jne 0x1400b4afb
lea rbx, [rsp + 0x30]
mov qword [rbx], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbx]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400b4bf5
imul rax, rax, 0xf4240
cqo
idiv qword [0x14023f400]
mov qword [rsp + 0xb0], rax
mov r13, qword [rsp + 0x78]
xor ecx, ecx
cmp rax, r13
setns cl
movabs rbp, 0x7fffffffffffffff
add rcx, rbp
mov r12, rax
sub r12, r13
cmovo r12, rcx
cmp r12, 0xf4240
jge 0x1400b4a1b
mov rdi, qword [rsp + 0x80]
test rdi, rdi
je 0x1400b480e
lock dec dword [rdi]
jne 0x1400b480e
jmp 0x1400b4be0
mov rax, qword [0x14022f6c0]
lea rcx, [0x140142f90]
cmp rax, rcx
jne 0x1400b4ae5
mov qword [rsp + 0x30], 0
mov rcx, r14
call r13
mov rax, qword [rsp + 0x30]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400b4c1c
imul rax, rax, 0xf4240
cqo
idiv qword [0x14023f400]
xor ecx, ecx
cmp rbx, rax
setns cl
add rcx, r15
mov rsi, rbx
sub rsi, rax
cmovo rsi, rcx
jg 0x1400b459b
xor esi, esi
jmp 0x1400b45db
mov rcx, qword [rax + 0x80]
mov rdx, qword [rax + 0x110]
dec rdx
mov qword [rax + 0x110], rdx
cmp rcx, qword [rax + 0x88]
je 0x1400b49d6
cmp qword [rax + 0x120], rdx
jae 0x1400b49e4
mov word [rax + 0xb8], 0
jmp 0x1400b4797
movzx ecx, word [rcx + 0x10]
mov word [rax + 0xb8], cx
jmp 0x1400b4797
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400b476f
lea rbx, [rsp + 0xb0]
mov rcx, rbx
call qword [0x14021f820]
mov rbx, qword [rbx]
jmp 0x1400b4562
mov ecx, 0x3938700
add rcx, qword [rdi + 0x1f0]
cmovo rcx, rbp
cmp rcx, rax
jle 0x1400b4c8c
mov rax, qword [rdi + 0x1f0]
xor edx, edx
cmp r13, rax
setns dl
add rdx, rbp
mov rcx, r13
sub rcx, rax
cmovo rcx, rdx
lea rdx, [r15 + rcx]
add rdx, 2
cmp rdx, 2
jb 0x1400b4c73
cvtsi2sd xmm0, rcx
divsd xmm0, qword [0x14020c1a0]
call fcn.14017ad80
movsd xmm6, qword [0x14020c1a8]
ucomisd xmm6, xmm0
jb 0x1400b4c43
maxsd xmm0, qword [0x14020c1b0]
cvttsd2si ebx, xmm0
lea rax, [r15 + r12]
add rax, 2
cmp rax, 2
jae 0x1400b4aaa
movsd xmm0, qword [0x14020c1b8]
jmp 0x1400b4aba
xorps xmm0, xmm0
cvtsi2sd xmm0, r12
divsd xmm0, qword [0x14020c1a0]
call fcn.14017ae30
ucomisd xmm6, xmm0
jb 0x1400b4c5a
maxsd xmm0, qword [0x14020c1b0]
cvttsd2si r8d, xmm0
mov rcx, rdi
mov edx, ebx
call fcn.140005f30
jmp 0x1400b491d
lea rsi, [rsp + 0x30]
mov rcx, rsi
call qword [0x14021f820]
mov rax, qword [rsi]
jmp 0x1400b498a
lea rbx, [rsp + 0xb0]
mov rcx, rbx
call qword [0x14021f820]
mov rax, qword [rbx]
jmp 0x1400b48ec
call fcn.1400c5e10
jmp 0x1400b4838
mov rcx, qword [0x14023f400]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
mov rbx, rax
add rbx, r8
jmp 0x1400b4562
mov rcx, qword [rsp + 0xb8]
xor rcx, rsp
call fcn.140146540
mov rcx, rdi
movaps xmm6, xmmword [rsp + 0xc0]
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x140090960
lea r14, [rsp + 0x50]
mov rcx, r14
call fcn.140107b40
mov byte [r14 + 0x40], 0
jmp 0x1400b4670
int3
int3
movzx ecx, al
xor rdi, qword [0x14023d560]
mov qword [rsp + 0x30], rdi
lea rax, str.WaitableEvent::Wait_Complete
lea r8, [rsp + 0xb0]
mov qword [r8], rax
mov qword [rsp + 0x20], r14
lea rdx, [rsp + 0xa8]
mov r9d, 3
call fcn.1400c9a30
jmp 0x1400b45db
call fcn.1401b2930
jmp 0x1400b47c2
mov rcx, rdi
call fcn.1400581d0
mov rcx, rdi
call fcn.140143bb0
jmp 0x1400b480e
mov rcx, qword [0x14023f400]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400b48e4
mov rcx, qword [0x14023f400]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400b498a
xor eax, eax
ucomisd xmm0, qword [0x14020c1b0]
mov ebx, 0x7fffffff
cmovb ebx, eax
jmp 0x1400b4a92
xor eax, eax
ucomisd xmm0, qword [0x14020c1b0]
mov r8d, 0x7fffffff
cmovb r8d, eax
jmp 0x1400b4ad6
xor ecx, ecx
cmp rax, r13
setg cl
lea rax, [0x14020c190]
movsd xmm0, qword [rax + rcx*8]
jmp 0x1400b4a67
lea rbx, [rsp + 0x30]
mov rcx, rbx
mov rdx, rax
call fcn.1400629c0
mov rbx, qword [rbx]
test rbx, rbx
je 0x1400b4a34
lock dec dword [rbx]
jne 0x1400b4a34
mov rcx, rbx
call fcn.1400581d0
mov rcx, rbx
call fcn.140143bb0
jmp 0x1400b4a34