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

Disassembly:
sub rsp, 0x28
mov rcx, qword [rcx]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
sete al
add rsp, 0x28
ret
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x128
movaps xmmword [rsp + 0x110], xmm6
mov rdi, rcx
mov rax, qword [0x1402cb038]
xor rax, rsp
mov qword [rsp + 0x108], rax
test rdx, rdx
jle 0x14014bca5
mov rsi, rdx
movapd xmm6, xmmword [0x14029ca60]
movapd xmmword [rsp + 0x40], xmm6
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x80], rax
movapd xmmword [rsp + 0x70], xmm6
movapd xmmword [rsp + 0x60], xmm6
movapd xmmword [rsp + 0x50], xmm6
mov byte [rsp + 0x40], 0
mov byte [rsp + 0x80], 0
cmp byte [rdi + 8], 0
je 0x14014b8d2
movabs rax, 0x7fffffffffffffff
movabs r12, 0x8637bd05af7
cmp rsi, rax
je 0x14014b681
mov rax, qword [0x1402da988]
lea rcx, [0x1401c94c0]
cmp rax, rcx
jne 0x14014b69e
mov qword [rsp + 0xe0], 0
lea rcx, [rsp + 0xe0]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0xe0]
cmp rax, r12
jge 0x14014bc7b
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402e4008]
mov rbx, rax
lea rax, [rbx + rsi]
sar rax, 0x3f
movabs rcx, 0x8000000000000000
xor rcx, rax
add rbx, rsi
cmovo rbx, rcx
mov r13, qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea rbp, [0x1401c94c0]
lea r14, [rsp + 0xe0]
movabs r15, 0x20c49ba5e353f7cf
movabs rax, 0x7fffffffffffffff
cmp rsi, rax
je 0x14014b67a
mov rax, rsi
shr rax, 3
mul r15
shr rdx, 4
imul rax, rdx, 0x3e8
cmp rax, rsi
adc rdx, 0
mov rax, rdx
shr rax, 0x20
jne 0x14014b67a
mov rcx, qword [rdi]
call r13
test eax, eax
jne 0x14014b6b7
mov sil, 1
cmp byte [rdi + 8], 0
je 0x14014b690
cmp byte [rsp + 0x80], 0
jne 0x14014b738
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.1401ce5b0
mov eax, esi
movaps xmm6, xmmword [rsp + 0x110]
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov edx, 0xffffffff
jmp 0x14014b627
movabs rbx, 0x7fffffffffffffff
jmp 0x14014b5d3
test byte [0x1402d99f0], 0x19
je 0x14014b63e
jmp 0x14014bd99
lea rbx, [rsp + 0x90]
mov rcx, rbx
call qword [0x1402f5008]
mov rbx, qword [rbx]
jmp 0x14014b5b7
mov rax, qword [0x1402da988]
cmp rax, rbp
jne 0x14014b725
mov qword [rsp + 0xe0], 0
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0xe0]
cmp rax, r12
jge 0x14014bcef
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402e4008]
xor ecx, ecx
cmp rbx, rax
setns cl
movabs rdx, 0x7fffffffffffffff
add rcx, rdx
mov rsi, rbx
sub rsi, rax
cmovo rsi, rcx
jg 0x14014b5f3
xor esi, esi
jmp 0x14014b63e
mov rcx, r14
call qword [0x1402f5008]
mov rax, qword [rsp + 0xe0]
jmp 0x14014b6f9
test byte [0x1402d90d0], 0x19
jne 0x14014bd16
call fcn.1401cbc78
mov ebp, dword [rax]
call fcn.1401cbc78
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 r14, qword [rsp + 0x40]
test r14, r14
je 0x14014b7e3
cmp qword [rsp + 0x48], 0
jne 0x14014b7e3
cmp byte [r14 + 0x19], 0
je 0x14014b7e3
mov rbx, qword [r14 + 0x28]
add rbx, 0x28
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14014ba53
mov qword [r14 + 0x20], 0
cmp byte [r14 + 0x3b], 0
jne 0x14014b7d3
cmp byte [r14 + 0x39], 0
mov rax, qword [r14 + 0x28]
jne 0x14014ba61
dec dword [rax + 0x140]
cmp byte [r14 + 0x19], 0
je 0x14014be6d
cmp byte [r14 + 0x18], 0
je 0x14014b9f6
mov word [r14 + 0x39], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_SetLastError]
call fcn.1401cbc78
mov dword [rax], ebp
cmp byte [rsp + 0x78], 0
je 0x14014b803
mov r14, qword [rsp + 0x70]
test r14, r14
jne 0x14014b860
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x14014b815
mov rcx, qword [rsp + 0x58]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x48]
mov rax, qword [0x1402cbde0]
and rax, rcx
cmp rax, qword [0x1402cbdc8]
je 0x14014bad5
mov qword [rsp + 0x48], 0
mov rcx, qword [rsp + 0x40]
mov rax, qword [0x1402cbde0]
and rax, rcx
cmp rax, qword [0x1402cbdc8]
jne 0x14014b64c
call fcn.1401509f0
jmp 0x14014b64c
mov rax, qword [fcn.1401c9410]
lea rdi, [rsp + 0x90]
mov rcx, rdi
call qword [0x1402f5008]
mov r15, qword [rsp + 0x68]
mov rdi, qword [rdi]
xor eax, eax
cmp rdi, r15
setns al
movabs r13, 0x7fffffffffffffff
add rax, r13
mov r12, rdi
sub r12, r15
cmovo r12, rax
cmp r12, 0xf4240
jge 0x14014baf9
mov rdi, qword [rsp + 0x70]
test rdi, rdi
je 0x14014b803
lock dec dword [rdi]
jne 0x14014b803
jmp 0x14014be58
mov rcx, r14
call fcn.1401508a0
jmp 0x14014b931
lea rdx, str.TimedWait
lea r8, str.waitable_event.cc
lea rbx, [rsp + 0xe0]
mov rcx, rbx
mov r9d, 0x24
call fcn.140158eb0
cmp byte [rsp + 0x80], 0
jne 0x14014bcd8
mov eax, dword [0x1402db110]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r14, qword [rax + 0x180]
mov rax, qword [0x1402cbde0]
and rax, r14
cmp rax, qword [0x1402cbdc8]
je 0x14014b8c8
mov qword [rsp + 0x40], r14
mov eax, dword [0x1402db110]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea r15, [rax + 0x188]
mov r14, qword [r15]
mov rax, qword [0x1402cbde0]
and rax, r14
cmp rax, qword [0x1402cbdc8]
je 0x14014badf
lea rax, [rsp + 0x40]
mov qword [rax + 8], r14
mov qword [rax + 0x10], r15
mov rcx, qword [r15]
mov qword [r15], rax
mov qword [rax + 0x18], rcx
mov rax, qword [rax + 8]
test rax, rax
jne 0x14014b9f1
xor ecx, ecx
mov byte [rsp + 0x60], cl
xor ecx, ecx
mov byte [rsp + 0x68], cl
mov byte [rsp + 0x78], cl
mov edx, dword [0x1402db110]
mov r8, qword gs:[0x58]
mov rdx, qword [r8 + rdx*8]
cmp byte [rdx + 0x208], cl
je 0x14014ba10
test rax, rax
jne 0x14014ba44
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14014b9d7
cmp qword [rsp + 0x48], 0
jne 0x14014b9d7
xor edx, edx
call fcn.1401c6f60
test byte [0x1402d90d0], 0x19
jne 0x14014bc2b
mov byte [rsp + 0x80], 1
jmp 0x14014b545
mov cl, byte [rax + 0x20]
jmp 0x14014b98c
cmp byte [r14 + 0x3a], 0
mov rcx, qword [r14 + 0x28]
jne 0x14014bc1a
dec dword [rcx + 0x144]
jmp 0x14014b7d3
mov eax, dword [0x1402e6028]
mov ecx, dword [0x1402db110]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14014ba90
cmp byte [0x1402e6024], 0
jne 0x14014b9be
mov rax, qword [rsp + 0x48]
jmp 0x14014b9b5
cmp byte [rax + 0x38], 0
je 0x14014b9be
jmp 0x14014bc47
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14014b799
mov rcx, qword [rax + 0x40]
mov rdx, qword [rax + 0x120]
dec rdx
mov qword [rax + 0x120], rdx
cmp rcx, qword [rax + 0x48]
je 0x14014ba85
cmp qword [rax + 0x130], rdx
jae 0x14014baec
mov word [rax + 0x78], 0
jmp 0x14014b7bd
lea rcx, [0x1402e6028]
call fcn.1401cc16c
cmp dword [0x1402e6028], 0xffffffff
jne 0x14014ba31
mov rcx, qword [0x1402e5ab0]
test rcx, rcx
je 0x14014babd
lea rdx, str.enable_background_thread_pool
call fcn.1401a49f0
mov byte [0x1402e6024], 1
lea rcx, [0x1402e6028]
call fcn.1401cc1d4
jmp 0x14014ba31
call fcn.1401509f0
jmp 0x14014b831
mov rcx, r14
call fcn.1401508a0
jmp 0x14014b96a
movzx ecx, word [rcx + 0x10]
mov word [rax + 0x78], cx
jmp 0x14014b7bd
mov eax, 0x3938700
add rax, qword [r14 + 0x1f0]
cmovo rax, r13
cmp rax, rdi
jle 0x14014bf21
mov rax, qword [r14 + 0x1f0]
xor edx, edx
cmp r15, rax
setns dl
add rdx, r13
mov rcx, r15
sub rcx, rax
cmovo rcx, rdx
movabs rdx, 0x7fffffffffffffff
add rdx, rcx
add rdx, 2
cmp rdx, 2
jb 0x14014beef
cvtsi2sd xmm0, rcx
divsd xmm0, qword [0x1402a8c80]
call fcn.140206160
movsd xmm6, qword [0x1402909c0]
ucomisd xmm6, xmm0
jb 0x14014bea7
maxsd xmm0, qword [0x1402909d8]
cvttsd2si ebx, xmm0
movabs rax, 0x7fffffffffffffff
add rax, r12
add rax, 2
cmp rax, 2
jb 0x14014bf08
xorps xmm0, xmm0
cvtsi2sd xmm0, r12
divsd xmm0, qword [0x1402a8c80]
call fcn.140206210
ucomisd xmm6, xmm0
jb 0x14014bebe
maxsd xmm0, qword [0x1402909d8]
cvttsd2si ebp, xmm0
mov r15, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov r12, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
add ebp, ebx
cmp ebp, 0x3c
mov r13d, 0x3c
cmovl r13d, ebp
lea rdi, [r14 + 8]
mov rcx, rdi
call r15
test al, al
je 0x14014be99
cmp ebx, r13d
jge 0x14014bc06
movsxd rax, ebx
movsxd rcx, r13d
inc qword [r14 + rax*8 + 0x10]
inc rax
cmp rcx, rax
jne 0x14014bbf9
mov rcx, rdi
call r12
cmp ebp, 0x3d
jl 0x14014b8ac
jmp 0x14014bed5
dec qword [rcx + 0x128]
call fcn.140207030
jmp 0x14014b7d3
lea rdx, [rsp + 0x90]
mov qword [rdx], rbx
lea rcx, str.ScopedBlockingCallWithBaseSyncPrimitives
call fcn.1402384f0
jmp 0x14014b9e4
mov r14, qword [rax + 0x30]
mov qword [rax + 0x30], 0
test r14, r14
je 0x14014b9be
lock dec dword [r14]
jne 0x14014b9be
mov rcx, r14
call fcn.140016cb0
mov rcx, r14
call fcn.1401cbbbc
jmp 0x14014b9be
mov rcx, qword [0x1402e4008]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
mov rbx, rax
add rbx, r8
jmp 0x14014b5b7
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.1401ce5b0
mov rcx, rdi
movaps xmm6, xmmword [rsp + 0x110]
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x140125ec0
lea r14, [rsp + 0x40]
mov rcx, r14
call fcn.140181760
mov byte [r14 + 0x40], 0
jmp 0x14014b904
mov rcx, qword [0x1402e4008]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14014b6f9
lea rdi, [rsp + 0x90]
movapd xmmword [rdi + 0x10], xmm6
movapd xmmword [rdi], xmm6
xorpd xmm0, xmm0
movupd xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x30], 0
lea r8, [0x1402d90d0]
lea r9, [0x1402a4a7e]
mov rcx, rdi
mov dl, 0x45
call fcn.140206a10
mov rax, qword [rdi]
test rax, rax
je 0x14014bd87
mov dl, byte [rsp + 0xa8]
mov r8, qword [rsp + 0x98]
xor r9d, r9d
lea rcx, [rsp + 0xe0]
mov qword [rcx], r9
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], r8
mov qword [rcx + 0x18], r9
mov byte [rcx + 0x20], dl
call fcn.140206a20
lea rcx, [rsp + 0x90]
call fcn.1402308a0
jmp 0x14014b745
mov rbx, qword [0x1402e23f8]
lea r14, [rsp + 0xc0]
movapd xmmword [r14 + 0x10], xmm6
movapd xmmword [r14], xmm6
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x30], 0
lea r8, [0x1402d99f0]
lea r9, str.WaitableEvent::Wait_Complete
mov rcx, r14
mov dl, 0x49
call fcn.140206a10
mov rcx, qword [r14]
test rcx, rcx
jne 0x14014bdf2
lea rcx, [rsp + 0xc0]
call fcn.1402308a0
jmp 0x14014b63e
xor rbx, rdi
mov al, byte [rsp + 0xd8]
mov rdx, qword [rsp + 0xc8]
lea rdi, [rsp + 0x90]
mov qword [rdi + 8], rcx
mov qword [rdi + 0x10], rdx
xor r14d, r14d
mov qword [rdi + 0x18], r14
mov byte [rdi + 0x20], al
mov edx, 0x30
mov r8, rbx
call fcn.140215690
lea rcx, [rsp + 0xe0]
mov qword [rcx], r14
mov qword [rdi], r14
movups xmm0, xmmword [rdi + 8]
movups xmm1, xmmword [rdi + 0x11]
movups xmmword [rcx + 8], xmm0
movups xmmword [rcx + 0x11], xmm1
call fcn.140206a20
mov rcx, rdi
call fcn.140206a20
jmp 0x14014bde0
mov rcx, rdi
call fcn.140016cb0
mov rcx, rdi
call fcn.1401cbbbc
jmp 0x14014b803
lea rax, str.optional_operator_called_on_a_disengaged_value
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcincludeoptional
lea r9, str.this__has_value__
mov r8d, 0x3fd
call fcn.140207060
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14014bbee
xor eax, eax
ucomisd xmm0, qword [0x1402909d8]
mov ebx, 0x7fffffff
cmovb ebx, eax
jmp 0x14014bb79
xor eax, eax
ucomisd xmm0, qword [0x1402909d8]
mov ebp, 0x7fffffff
cmovb ebp, eax
jmp 0x14014bbbf
mov r14, qword [r14 + 0x1f8]
sub ebp, r13d
xor ebx, ebx
test r14, r14
jne 0x14014bbcd
jmp 0x14014b8ac
xor ecx, ecx
cmp rax, r15
setg cl
lea rax, [0x1402a70d0]
movsd xmm0, qword [rax + rcx*8]
jmp 0x14014bb4e
xor eax, eax
cmp rdi, r15
setl al
lea rcx, [0x1402a70d0]
movsd xmm0, qword [rcx + rax*8]
jmp 0x14014bb9c
lea rbx, [rsp + 0xe0]
mov rcx, rbx
mov rdx, rdi
call fcn.1400586d0
mov rbx, qword [rbx]
test rbx, rbx
je 0x14014bb12
lock dec dword [rbx]
jne 0x14014bb12
mov rcx, rbx
call fcn.140016cb0
mov rcx, rbx
call fcn.1401cbbbc
jmp 0x14014bb12