Function at 0x1400f43b0
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, 0x58
mov ebx, r8d
mov edi, edx
mov rsi, rcx
mov rax, qword [0x14022d028]
xor rax, rsp
mov qword [rsp + 0x50], rax
movabs r12, 0xfffffffc00000000
mov eax, dword [0x14023be10]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r14, qword [rax + 0x170]
mov rax, r14
and rax, r12
cmp rax, qword [0x14022f688]
je 0x1400f4bba
mov qword [rsi], r14
mov eax, dword [0x14023be10]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea r15, [rax + 0x178]
mov r14, qword [rax + 0x178]
mov rax, r14
and rax, r12
cmp rax, qword [0x14022f688]
je 0x1400f4e71
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], r15
mov rax, qword [r15]
mov qword [r15], rsi
mov qword [rsi + 0x18], rax
cmp edi, 1
je 0x1400f4c50
mov rax, qword [rsi + 8]
test rax, rax
jne 0x1400f4c48
xor eax, eax
mov byte [rsi + 0x20], al
mov byte [rsi + 0x28], 0
mov byte [rsi + 0x38], 0
mov eax, dword [0x14023be10]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x198], 0
je 0x1400f4bc7
test ebx, ebx
jne 0x1400f4bfe
cmp byte [rsi + 0x20], 0
mov rax, qword [rsi + 8]
jne 0x1400f4c02
test rax, rax
jne 0x1400f45e2
lea rbx, [rsi + 0x28]
cmp byte [rsi + 0x38], 0
jne 0x1400f4e9c
mov rax, qword [fcn.1400fc780]
lea rcx, [0x140142f90]
cmp rax, rcx
jne 0x1400f4e5b
mov qword [rsp + 0x48], 0
lea rcx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x48]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400f4f2b
imul rax, rax, 0xf4240
cqo
idiv qword [0x14023f400]
mov qword [rbx], rax
mov eax, dword [0x14023f578]
mov ecx, dword [0x14023be10]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400f4ce7
lea r14, [0x14023f570]
and r14, r12
cmp r14, qword [0x14022f688]
jne 0x1400f4561
lea rcx, [0x14023f570]
call fcn.1400b3f20
lea rcx, [0x14023f570]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400f4c65
mov eax, dword [0x14023f57c]
mov ecx, dword [0x14023be10]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400f4cb3
mov qword [rsi + 0x30], 0
lea rcx, [0x14023f570]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp r14, qword [0x14022f688]
jne 0x1400f45c5
lea rcx, [0x14023f570]
call fcn.1400b4080
mov rax, qword [rsi + 0x30]
test rax, rax
je 0x1400f45de
mov rax, qword [rax + 0x1f0]
cmp qword [rbx], rax
jl 0x1400f4eda
mov byte [rsi + 0x38], 1
mov r14, qword [rsi]
test r14, r14
je 0x1400f496c
mov rax, qword [rsi + 8]
test rax, rax
jne 0x1400f49b4
cmp byte [r14 + 0x19], 0
je 0x1400f496c
mov r15, qword [r14 + 8]
mov rax, qword [r15 + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x1400f4cdd
mov ebx, dword [r15 + 0x50]
cmp dword [r15 + 0x54], ebx
jne 0x1400f4ef5
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x30], rax
mov rbx, qword [r14 + 0x28]
mov rax, qword [rbx]
mov rax, qword [rax + 0x38]
lea rcx, [0x14013dcc0]
cmp rax, rcx
jne 0x1400f4f05
mov ecx, 0x60
call fcn.140143bb8
mov r15, rax
mov rax, rbx
and rax, r12
cmp rax, qword [0x14022f688]
je 0x1400f4ead
mov qword [r15 + 8], rbx
mov byte [r15 + 0x40], 0
xorps xmm0, xmm0
movups xmmword [r15 + 0x10], xmm0
movups xmmword [r15 + 0x20], xmm0
lea rax, [0x1401fccb0]
mov qword [r15], rax
mov qword [r15 + 0x48], 0
mov qword [rsp + 0x30], r15
mov rbx, qword [r14 + 0x28]
add rbx, 0x68
mov r13, rbx
and r13, r12
cmp r13, qword [0x14022f688]
jne 0x1400f46c0
mov rcx, rbx
call fcn.1400b3f20
test rbx, rbx
je 0x1400f4e7e
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400f4c57
mov rax, qword [0x14022f6c0]
lea rcx, [0x140142f90]
lea r15, [rsp + 0x48]
cmp rax, rcx
jne 0x1400f4e29
mov qword [r15], 0
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [r15]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400f4f52
imul rax, rax, 0xf4240
cqo
idiv qword [0x14023f400]
mov qword [r14 + 0x20], rax
cmp byte [r14 + 0x3a], 0
jne 0x1400f4862
cmp byte [r14 + 0x19], 0
je 0x1400f4eba
cmp byte [r14 + 0x18], 0
jne 0x1400f4757
mov rax, qword [r14 + 0x28]
inc dword [rax + 0x134]
cmp edi, 1
je 0x1400f4b56
mov rax, qword [r14 + 0x28]
inc dword [rax + 0x130]
mov rdi, qword [r14 + 0x28]
cmp byte [rdi + 0x140], 0
jne 0x1400f4862
mov r9, qword [rsp + 0x30]
mov r14, qword [rdi + 0x98]
mov r15, qword [rdi + 0x128]
test r14, r14
jne 0x1400f4a90
xor r14d, r14d
add r14, r15
cmp r14, qword [rdi + 0x118]
ja 0x1400f4e0b
mov rbp, qword [rdi + 0x98]
mov r15, qword [rdi + 0x120]
test rbp, rbp
jne 0x1400f4af3
xor ebp, ebp
mov r14, qword [rdi + 0xa8]
add r14, qword [rdi + 0xa0]
je 0x1400f498d
mov rax, qword [rdi + 8]
mov eax, dword [rax + 0x1c]
cmp eax, 1
ja 0x1400f498d
mov rax, qword [rdi + 0x80]
cmp rax, qword [rdi + 0x88]
je 0x1400f4ee2
mov cl, byte [rax + 0x10]
dec cl
cmp cl, 1
ja 0x1400f484b
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rdx, qword [rax + 8]
mov eax, 1
lea r8, [0x1400b71c0]
cmp rdx, r8
je 0x1400f4839
mov rax, rdx
mov r12, r9
call qword [0x14021f820]
mov r9, r12
movabs r12, 0xfffffffc00000000
lea rcx, [r14 + rax]
dec rcx
add r14, rax
cmp rcx, 1
adc r14, 0xffffffffffffffff
add r15, rbp
lea rax, [r14 + r15]
inc rax
cmp rax, qword [rdi + 0x110]
ja 0x1400f49a2
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp r13, qword [0x14022f688]
jne 0x1400f487c
mov rcx, rbx
call fcn.1400b4080
mov rdi, qword [rsp + 0x30]
mov qword [rsp + 0x30], 0
test rdi, rdi
je 0x1400f496c
mov rax, qword [rdi]
mov rax, qword [rax]
lea rcx, [0x14013f970]
cmp rax, rcx
jne 0x1400f4f18
lea rax, [0x1401fccb0]
mov qword [rdi], rax
mov r15, qword [rdi + 0x48]
lea r13, [rdi + 0x50]
test r15b, 1
jne 0x1400f4e81
lea rbx, [rdi + 0x48]
cmp r15, 2
jae 0x1400f49be
test r15, r15
jne 0x1400f4995
lea rax, str.p_e_
mov qword [rdi], rax
mov rdx, qword [rdi + 0x28]
lea r15, [rdi + 0x30]
mov rax, rdx
mov rbp, r15
and rax, 1
jne 0x1400f4e69
lea rbx, [rdi + 0x28]
mov r13, rdx
shr r13, 1
mov cl, 1
cmp rdx, 2
jae 0x1400f4d1c
mov rdx, r15
test rax, rax
jne 0x1400f4e8a
test cl, cl
je 0x1400f4c77
test rax, rax
jne 0x1400f4ecd
mov qword [rdi + 0x28], 0
cmp byte [rdi + 0x40], 0
jne 0x1400f4e3a
mov r14, qword [rdi + 0x10]
test r14, r14
jne 0x1400f4a5b
mov rcx, qword [rdi + 8]
and r12, rcx
cmp r12, qword [0x14022f688]
je 0x1400f4e92
mov rcx, rdi
call fcn.140143bb0
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.140146540
mov rax, rsi
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor r14d, r14d
jmp 0x1400f484b
mov rcx, rbx
call fcn.14010d670
jmp 0x1400f48dc
cmp dword [rdi + 0x130], 0
jle 0x1400f4862
jmp 0x1400f4e18
cmp edi, 1
jne 0x1400f496c
jmp 0x1400f4f9d
shr r15, 1
shl r15, 3
xor ebp, ebp
mov qword [rsp + 0x28], r13
mov r14, qword [r13 + rbp]
test r14, r14
je 0x1400f4f7c
mov eax, 1
lock xadd dword [r14 + 8], eax
cmp eax, 0x7fffffff
je 0x1400f4f79
mov qword [rsp + 0x38], 0x9b
mov al, byte [0x14023f05b]
test al, al
jne 0x1400f4fdc
mov rax, qword [r14 + 0x68]
lea rdx, [rax + 8]
cmp byte [rax + 0x10], 0
je 0x1400f4a43
lea r13, [r14 + 8]
mov rcx, qword [rdx]
call qword [sym.imp.KERNEL32.dll_SetEvent]
lock dec dword [r13]
je 0x1400f4f88
add rbp, 8
cmp r15, rbp
mov r13, qword [rsp + 0x28]
jne 0x1400f49cc
mov r15, qword [rbx]
jmp 0x1400f48d3
mov qword [rsp + 0x38], 0x9b
mov al, byte [0x14023f05b]
test al, al
je 0x1400f4a15
jmp 0x1400f502d
mov rbx, qword [rdi + 0x18]
mov rcx, r14
cmp rbx, r14
je 0x1400f4a82
add rbx, 0xfffffffffffffff0
je 0x1400f501a
mov rcx, rbx
call fcn.1400f38e0
cmp rbx, r14
jne 0x1400f4a67
mov rcx, qword [rdi + 0x10]
mov qword [rdi + 0x18], r14
call fcn.140143bb0
jmp 0x1400f4950
mov rax, qword [rdi + 8]
mov eax, dword [rax + 0x1c]
test eax, eax
jne 0x1400f4797
mov rax, qword [rdi + 0x80]
cmp rax, qword [rdi + 0x88]
je 0x1400f4ee2
cmp byte [rax + 0x10], 0
jne 0x1400f479a
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rdx, qword [rax + 8]
mov eax, 1
lea r8, [0x1400b71c0]
cmp rdx, r8
jne 0x1400f4fb4
lea rcx, [r14 + rax]
dec rcx
add r14, rax
cmp rcx, 1
adc r14, 0xffffffffffffffff
jmp 0x1400f479a
mov rax, qword [rdi + 8]
mov eax, dword [rax + 0x1c]
test eax, eax
jne 0x1400f47c1
mov rax, qword [rdi + 0x80]
cmp rax, qword [rdi + 0x88]
je 0x1400f4ee2
cmp byte [rax + 0x10], 0
jne 0x1400f47c3
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rdx, qword [rax + 8]
mov eax, 1
lea r8, [0x1400b71c0]
cmp rdx, r8
jne 0x1400f4fc8
lea rcx, [rax + rbp]
dec rcx
add rbp, rax
cmp rcx, 1
adc rbp, 0xffffffffffffffff
jmp 0x1400f47c3
mov byte [r14 + 0x38], 1
mov rax, qword [r14 + 0x28]
mov rcx, qword [rax + 0x80]
mov rdx, qword [rax + 0x110]
inc rdx
mov qword [rax + 0x110], rdx
cmp rcx, qword [rax + 0x88]
je 0x1400f4b89
cmp qword [rax + 0x120], rdx
jae 0x1400f4bad
mov word [rax + 0xb8], 0
mov rcx, qword [r14 + 0x28]
mov rdx, qword [rsp + 0x30]
mov rax, qword [rcx]
mov rax, qword [rax + 0x40]
call qword [0x14021f820]
jmp 0x1400f476a
movzx ecx, word [rcx + 0x10]
mov word [rax + 0xb8], cx
jmp 0x1400f4b92
mov rcx, r14
call fcn.1400c5cb0
jmp 0x1400f440e
mov eax, dword [0x1402438a8]
mov ecx, dword [0x14023be10]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400f4dc2
cmp byte [0x1402438a4], 0
jne 0x1400f45e2
jmp 0x1400f449a
mov rax, qword [rsi + 8]
test rax, rax
je 0x1400f45e2
cmp byte [rax + 0x38], 0
je 0x1400f45e2
mov rbx, qword [rax + 0x30]
mov qword [rax + 0x30], 0
test rbx, rbx
je 0x1400f45e2
lock dec dword [rbx]
jne 0x1400f45e2
mov rcx, rbx
call fcn.1400581d0
mov rcx, rbx
call fcn.140143bb0
jmp 0x1400f45e2
mov al, byte [rax + 0x20]
jmp 0x1400f446f
mov al, 1
jmp 0x1400f446f
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400f46da
lea rcx, [0x14023f570]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400f4576
lea rbp, [rdx + r13*8]
add rbp, 0xfffffffffffffff8
neg r13
test rbp, rbp
je 0x1400f501a
mov r14, qword [rbp]
test r14, r14
je 0x1400f4c9f
lock dec dword [r14 + 8]
je 0x1400f509d
add rbp, 0xfffffffffffffff8
inc r13
jne 0x1400f4c82
mov rax, qword [rbx]
and eax, 1
jmp 0x1400f4928
lea rcx, [0x14023f57c]
call fcn.140143cb8
cmp dword [0x14023f57c], 0xffffffff
jne 0x1400f459b
lea rcx, [0x14023f57c]
call fcn.140143c58
jmp 0x1400f459b
mov ebx, 3
jmp 0x1400f4620
lea rcx, [0x14023f578]
call fcn.140143cb8
cmp dword [0x14023f578], 0xffffffff
jne 0x1400f4542
mov qword [0x14023f570], 0
lea rcx, [0x14023f578]
call fcn.140143c58
jmp 0x1400f4542
shl r13, 3
xor ecx, ecx
mov r14, qword [rbp + rcx]
test r14, r14
je 0x1400f4d42
mov eax, 1
lock xadd dword [r14 + 8], eax
cmp eax, 0x7fffffff
je 0x1400f5071
mov qword [rsp + 0x28], rcx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x40]
mov r8, qword [rax + 0x48]
test rdx, rdx
je 0x1400f4d6d
mov eax, 1
lock xadd dword [rdx + 8], eax
cmp eax, 0x7fffffff
je 0x1400f5074
mov rcx, r14
call fcn.14003f110
mov rcx, qword [rdi + 8]
cmp byte [rcx + 0x170], 0
jne 0x1400f5077
test r14, r14
je 0x1400f4d96
lock dec dword [r14 + 8]
je 0x1400f5088
mov rcx, qword [rsp + 0x28]
add rcx, 8
cmp r13, rcx
jne 0x1400f4d22
mov rcx, qword [rbx]
mov r13, rcx
shr r13, 1
mov eax, ecx
and eax, 1
cmp rcx, 2
setb cl
jmp 0x1400f4914
lea rcx, [0x1402438a8]
call fcn.140143cb8
cmp dword [0x1402438a8], 0xffffffff
jne 0x1400f4bec
mov rcx, qword [0x14023f320]
test rcx, rcx
je 0x1400f4df3
lea rdx, str.enable_background_thread_pool
call fcn.1400ce110
mov byte [0x1402438a4], 1
lea rcx, [0x1402438a8]
call fcn.140143c58
jmp 0x1400f4bec
cmp dword [rdi + 0x134], 0
jle 0x1400f47aa
mov al, 1
mov byte [r9 + 0x40], al
mov byte [rdi + 0x140], al
jmp 0x1400f4862
mov rcx, r15
call qword [0x14021f820]
mov rax, qword [r15]
jmp 0x1400f472c
mov rcx, qword [rdi + 8]
call fcn.14017dc30
cmp qword [rdi + 0x28], 0
je 0x1400f4943
mov rcx, rbx
call fcn.1401b2b10
jmp 0x1400f4943
mov rcx, rbx
call qword [0x14021f820]
jmp 0x1400f451d
mov rbp, qword [r15]
jmp 0x1400f48fe
mov rcx, r14
call fcn.1400c5cb0
jmp 0x1400f4445
int3
mov r13, qword [r13]
jmp 0x1400f48c5
mov rdx, qword [r15]
jmp 0x1400f4920
call fcn.1400c5e10
jmp 0x1400f4964
mov rcx, rbx
call fcn.1401a60f0
mov byte [rsi + 0x38], 0
jmp 0x1400f44c7
mov rcx, rbx
call fcn.1400c5cb0
jmp 0x1400f4674
lea rcx, [0x1401fff03]
lea rdx, str....._third_partylibc_srcincludeoptional:801:_assertion_this__has_value___failed:_optional_operator_called_on_a_disengaged_value_n
call fcn.140180910
mov rcx, qword [r15]
call fcn.140143bb0
jmp 0x1400f4931
mov qword [rbx], rax
jmp 0x1400f45de
lea rcx, [0x1401fff03]
lea rdx, str....._third_partylibc_srcinclude_vector:617:_assertion__empty___failed:_front___called_on_an_empty_vector_n
call fcn.140180910
mov ecx, ebx
call fcn.14001c6d0
mov dword [r15 + 0x54], ebx
jmp 0x1400f462a
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [0x14021f820]
jmp 0x1400f46a1
mov rcx, rdi
mov edx, 1
call qword [0x14021f820]
jmp 0x1400f496c
mov rcx, qword [0x14023f400]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400f451a
mov rcx, qword [0x14023f400]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400f472c
int3
xor ecx, ecx
call fcn.140143a90
jmp 0x1400f4a2d
mov rcx, r14
call fcn.14017d440
mov rcx, r14
call fcn.140143bb0
jmp 0x1400f4a2d
cmp byte [rax + 0x20], 0
jne 0x1400f496c
mov rcx, r14
call fcn.1401c34e0
jmp 0x1400f496c
mov rax, rdx
mov rbp, r9
call qword [0x14021f820]
mov r9, rbp
jmp 0x1400f4adc
mov rax, rdx
mov r14, r9
call qword [0x14021f820]
mov r9, r14
jmp 0x1400f4b3f
movzx ecx, al
mov rax, qword [0x14023d560]
xor rax, r14
lea rdx, [rsp + 0x48]
mov qword [rdx], rax
lea rax, str.WorkerThreadWaitableEvent::WakeUp
lea r8, [rsp + 0x40]
mov qword [r8], rax
mov qword [rsp + 0x20], rdx
lea rdx, [rsp + 0x38]
mov r9d, 3
call fcn.14002c690
jmp 0x1400f4a07
lea rcx, [0x1401fff03]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:66:_assertion___loc___nullptr_failed:_null_pointer_given_to_destroy_at_n
call fcn.140180910
movzx ecx, al
mov rax, qword [0x14023d560]
xor rax, rdx
mov r13, rdx
lea rdx, [rsp + 0x48]
mov qword [rdx], rax
lea rax, str.WaitableEvent::Signal
lea r8, [rsp + 0x40]
mov qword [r8], rax
mov qword [rsp + 0x20], rdx
lea rdx, [rsp + 0x38]
mov r9d, 3
call fcn.14002c690
mov rdx, r13
jmp 0x1400f4a15
int3
int3
add rcx, 0x160
call fcn.140107870
jmp 0x1400f4d86
mov rcx, r14
call fcn.14017d440
mov rcx, r14
call fcn.140143bb0
jmp 0x1400f4d96
mov rcx, r14
call fcn.14017d440
mov rcx, r14
call fcn.140143bb0
jmp 0x1400f4c9f