Function at 0x1400787e0
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 [0x140139028]
xor rax, rsp
mov qword [rsp + 0x50], rax
movabs r12, 0xfffffffc00000000
mov eax, dword [0x140147910]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r14, qword [rax + 0x168]
mov rax, r14
and rax, r12
cmp rax, qword [0x14013b508]
je 0x140078fea
mov qword [rsi], r14
mov eax, dword [0x140147910]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea r15, [rax + 0x170]
mov r14, qword [rax + 0x170]
mov rax, r14
and rax, r12
cmp rax, qword [0x14013b508]
je 0x1400792a1
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 0x140079080
mov rax, qword [rsi + 8]
test rax, rax
jne 0x140079078
xor eax, eax
mov byte [rsi + 0x20], al
mov byte [rsi + 0x28], 0
mov byte [rsi + 0x38], 0
mov eax, dword [0x140147910]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x180], 0
je 0x140078ff7
test ebx, ebx
jne 0x14007902e
cmp byte [rsi + 0x20], 0
mov rax, qword [rsi + 8]
jne 0x140079032
test rax, rax
jne 0x140078a12
lea rbx, [rsi + 0x28]
cmp byte [rsi + 0x38], 0
jne 0x1400792cc
mov rax, qword [fcn.140081bb0]
lea rcx, [0x14009ef00]
cmp rax, rcx
jne 0x14007928b
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 0x14007935b
imul rax, rax, 0xf4240
cqo
idiv qword [0x14014ab70]
mov qword [rbx], rax
mov eax, dword [0x14014d738]
mov ecx, dword [0x140147910]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140079117
lea r14, [0x14014d730]
and r14, r12
cmp r14, qword [0x14013b508]
jne 0x140078991
lea rcx, [0x14014d730]
call fcn.140058e70
lea rcx, [0x14014d730]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140079095
mov eax, dword [0x14014d73c]
mov ecx, dword [0x140147910]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400790e3
mov qword [rsi + 0x30], 0
lea rcx, [0x14014d730]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp r14, qword [0x14013b508]
jne 0x1400789f5
lea rcx, [0x14014d730]
call fcn.140058fd0
mov rax, qword [rsi + 0x30]
test rax, rax
je 0x140078a0e
mov rax, qword [rax + 0x1f0]
cmp qword [rbx], rax
jl 0x14007930a
mov byte [rsi + 0x38], 1
mov r14, qword [rsi]
test r14, r14
je 0x140078d9c
mov rax, qword [rsi + 8]
test rax, rax
jne 0x140078de4
cmp byte [r14 + 0x19], 0
je 0x140078d9c
mov r15, qword [r14 + 8]
mov rax, qword [r15 + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x14007910d
mov ebx, dword [r15 + 0x50]
cmp dword [r15 + 0x54], ebx
jne 0x140079325
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x30], rax
mov rbx, qword [r14 + 0x28]
mov rax, qword [rbx]
mov rax, qword [rax + 0x38]
lea rcx, [0x14009b0c0]
cmp rax, rcx
jne 0x140079335
mov ecx, 0x60
call fcn.14009f7f4
mov r15, rax
mov rax, rbx
and rax, r12
cmp rax, qword [0x14013b508]
je 0x1400792dd
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, [0x14011ac48]
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 [0x14013b508]
jne 0x140078af0
mov rcx, rbx
call fcn.140058e70
test rbx, rbx
je 0x1400792ae
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140079087
mov rax, qword [0x14013b540]
lea rcx, [0x14009ef00]
lea r15, [rsp + 0x48]
cmp rax, rcx
jne 0x140079259
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 0x140079382
imul rax, rax, 0xf4240
cqo
idiv qword [0x14014ab70]
mov qword [r14 + 0x20], rax
cmp byte [r14 + 0x3a], 0
jne 0x140078c92
cmp byte [r14 + 0x19], 0
je 0x1400792ea
cmp byte [r14 + 0x18], 0
jne 0x140078b87
mov rax, qword [r14 + 0x28]
inc dword [rax + 0x134]
cmp edi, 1
je 0x140078f86
mov rax, qword [r14 + 0x28]
inc dword [rax + 0x130]
mov rdi, qword [r14 + 0x28]
cmp byte [rdi + 0x140], 0
jne 0x140078c92
mov r9, qword [rsp + 0x30]
mov r14, qword [rdi + 0x98]
mov r15, qword [rdi + 0x128]
test r14, r14
jne 0x140078ec0
xor r14d, r14d
add r14, r15
cmp r14, qword [rdi + 0x118]
ja 0x14007923b
mov rbp, qword [rdi + 0x98]
mov r15, qword [rdi + 0x120]
test rbp, rbp
jne 0x140078f23
xor ebp, ebp
mov r14, qword [rdi + 0xa8]
add r14, qword [rdi + 0xa0]
je 0x140078dbd
mov rax, qword [rdi + 8]
mov eax, dword [rax + 0x1c]
cmp eax, 1
ja 0x140078dbd
mov rax, qword [rdi + 0x80]
cmp rax, qword [rdi + 0x88]
je 0x140079312
mov cl, byte [rax + 0x10]
dec cl
cmp cl, 1
ja 0x140078c7b
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rdx, qword [rax + 8]
mov eax, 1
lea r8, [0x14005ac90]
cmp rdx, r8
je 0x140078c69
mov rax, rdx
mov r12, r9
call qword [0x14012df48]
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 0x140078dd2
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp r13, qword [0x14013b508]
jne 0x140078cac
mov rcx, rbx
call fcn.140058fd0
mov rdi, qword [rsp + 0x30]
mov qword [rsp + 0x30], 0
test rdi, rdi
je 0x140078d9c
mov rax, qword [rdi]
mov rax, qword [rax]
lea rcx, [0x14009cd70]
cmp rax, rcx
jne 0x140079348
lea rax, [0x14011ac48]
mov qword [rdi], rax
mov r15, qword [rdi + 0x48]
lea r13, [rdi + 0x50]
test r15b, 1
jne 0x1400792b1
lea rbx, [rdi + 0x48]
cmp r15, 2
jae 0x140078dee
test r15, r15
jne 0x140078dc5
lea rax, [0x14011ac40]
mov qword [rdi], rax
mov rdx, qword [rdi + 0x28]
lea r15, [rdi + 0x30]
mov rax, rdx
mov rbp, r15
and rax, 1
jne 0x140079299
lea rbx, [rdi + 0x28]
mov r13, rdx
shr r13, 1
mov cl, 1
cmp rdx, 2
jae 0x14007914c
mov rdx, r15
test rax, rax
jne 0x1400792ba
test cl, cl
je 0x1400790a7
test rax, rax
jne 0x1400792fd
mov qword [rdi + 0x28], 0
cmp byte [rdi + 0x40], 0
jne 0x14007926a
mov r14, qword [rdi + 0x10]
test r14, r14
jne 0x140078e8b
mov rcx, qword [rdi + 8]
and r12, rcx
cmp r12, qword [0x14013b508]
je 0x1400792c2
mov rcx, rdi
call fcn.14009f888
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1400a19c0
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 0x140078c7b
mov rcx, rbx
call fcn.140088100
jmp 0x140078d0c
cmp dword [rdi + 0x130], 0
jle 0x140078c92
jmp 0x140079248
cmp edi, 1
jne 0x140078d9c
jmp 0x1400793cd
shr r15, 1
shl r15, 3
xor ebp, ebp
mov qword [rsp + 0x28], r13
mov r14, qword [r13 + rbp]
test r14, r14
je 0x1400793ac
mov eax, 1
lock xadd dword [r14 + 8], eax
cmp eax, 0x7fffffff
je 0x1400793a9
mov qword [rsp + 0x38], 0x9b
mov al, byte [0x14014a8bb]
test al, al
jne 0x14007940c
mov rax, qword [r14 + 0x68]
lea rdx, [rax + 8]
cmp byte [rax + 0x10], 0
je 0x140078e73
lea r13, [r14 + 8]
mov rcx, qword [rdx]
call qword [sym.imp.KERNEL32.dll_SetEvent]
lock dec dword [r13]
je 0x1400793b8
add rbp, 8
cmp r15, rbp
mov r13, qword [rsp + 0x28]
jne 0x140078dfc
mov r15, qword [rbx]
jmp 0x140078d03
mov qword [rsp + 0x38], 0x9b
mov al, byte [0x14014a8bb]
test al, al
je 0x140078e45
jmp 0x14007945d
mov rbx, qword [rdi + 0x18]
mov rcx, r14
cmp rbx, r14
je 0x140078eb2
add rbx, 0xfffffffffffffff0
je 0x14007944a
mov rcx, rbx
call fcn.140070900
cmp rbx, r14
jne 0x140078e97
mov rcx, qword [rdi + 0x10]
mov qword [rdi + 0x18], r14
call fcn.14009f888
jmp 0x140078d80
mov rax, qword [rdi + 8]
mov eax, dword [rax + 0x1c]
test eax, eax
jne 0x140078bc7
mov rax, qword [rdi + 0x80]
cmp rax, qword [rdi + 0x88]
je 0x140079312
cmp byte [rax + 0x10], 0
jne 0x140078bca
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rdx, qword [rax + 8]
mov eax, 1
lea r8, [0x14005ac90]
cmp rdx, r8
jne 0x1400793e4
lea rcx, [r14 + rax]
dec rcx
add r14, rax
cmp rcx, 1
adc r14, 0xffffffffffffffff
jmp 0x140078bca
mov rax, qword [rdi + 8]
mov eax, dword [rax + 0x1c]
test eax, eax
jne 0x140078bf1
mov rax, qword [rdi + 0x80]
cmp rax, qword [rdi + 0x88]
je 0x140079312
cmp byte [rax + 0x10], 0
jne 0x140078bf3
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rdx, qword [rax + 8]
mov eax, 1
lea r8, [0x14005ac90]
cmp rdx, r8
jne 0x1400793f8
lea rcx, [rax + rbp]
dec rcx
add rbp, rax
cmp rcx, 1
adc rbp, 0xffffffffffffffff
jmp 0x140078bf3
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 0x140078fb9
cmp qword [rax + 0x120], rdx
jae 0x140078fdd
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 [0x14012df48]
jmp 0x140078b9a
movzx ecx, word [rcx + 0x10]
mov word [rax + 0xb8], cx
jmp 0x140078fc2
mov rcx, r14
call fcn.14005e8f0
jmp 0x14007883e
mov eax, dword [0x140150a6c]
mov ecx, dword [0x140147910]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400791f2
cmp byte [0x140150a68], 0
jne 0x140078a12
jmp 0x1400788ca
mov rax, qword [rsi + 8]
test rax, rax
je 0x140078a12
cmp byte [rax + 0x38], 0
je 0x140078a12
mov rbx, qword [rax + 0x30]
mov qword [rax + 0x30], 0
test rbx, rbx
je 0x140078a12
lock dec dword [rbx]
jne 0x140078a12
mov rcx, rbx
call fcn.140033bc0
mov rcx, rbx
call fcn.14009f888
jmp 0x140078a12
mov al, byte [rax + 0x20]
jmp 0x14007889f
mov al, 1
jmp 0x14007889f
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140078b0a
lea rcx, [0x14014d730]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400789a6
lea rbp, [rdx + r13*8]
add rbp, 0xfffffffffffffff8
neg r13
test rbp, rbp
je 0x14007944a
mov r14, qword [rbp]
test r14, r14
je 0x1400790cf
lock dec dword [r14 + 8]
je 0x1400794cd
add rbp, 0xfffffffffffffff8
inc r13
jne 0x1400790b2
mov rax, qword [rbx]
and eax, 1
jmp 0x140078d58
lea rcx, [0x14014d73c]
call fcn.14009f910
cmp dword [0x14014d73c], 0xffffffff
jne 0x1400789cb
lea rcx, [0x14014d73c]
call fcn.14009f8b0
jmp 0x1400789cb
mov ebx, 3
jmp 0x140078a50
lea rcx, [0x14014d738]
call fcn.14009f910
cmp dword [0x14014d738], 0xffffffff
jne 0x140078972
mov qword [0x14014d730], 0
lea rcx, [0x14014d738]
call fcn.14009f8b0
jmp 0x140078972
shl r13, 3
xor ecx, ecx
mov r14, qword [rbp + rcx]
test r14, r14
je 0x140079172
mov eax, 1
lock xadd dword [r14 + 8], eax
cmp eax, 0x7fffffff
je 0x1400794a1
mov qword [rsp + 0x28], rcx
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x40]
mov r8, qword [rax + 0x48]
test rdx, rdx
je 0x14007919d
mov eax, 1
lock xadd dword [rdx + 8], eax
cmp eax, 0x7fffffff
je 0x1400794a4
mov rcx, r14
call fcn.140026bc0
mov rcx, qword [rdi + 8]
cmp byte [rcx + 0x170], 0
jne 0x1400794a7
test r14, r14
je 0x1400791c6
lock dec dword [r14 + 8]
je 0x1400794b8
mov rcx, qword [rsp + 0x28]
add rcx, 8
cmp r13, rcx
jne 0x140079152
mov rcx, qword [rbx]
mov r13, rcx
shr r13, 1
mov eax, ecx
and eax, 1
cmp rcx, 2
setb cl
jmp 0x140078d44
lea rcx, [0x140150a6c]
call fcn.14009f910
cmp dword [0x140150a6c], 0xffffffff
jne 0x14007901c
mov rcx, qword [0x14014aad8]
test rcx, rcx
je 0x140079223
lea rdx, str.enable_background_thread_pool
call fcn.140061420
mov byte [0x140150a68], 1
lea rcx, [0x140150a6c]
call fcn.14009f8b0
jmp 0x14007901c
cmp dword [rdi + 0x134], 0
jle 0x140078bda
mov al, 1
mov byte [r9 + 0x40], al
mov byte [rdi + 0x140], al
jmp 0x140078c92
mov rcx, r15
call qword [0x14012df48]
mov rax, qword [r15]
jmp 0x140078b5c
mov rcx, qword [rdi + 8]
call fcn.1400d3380
cmp qword [rdi + 0x28], 0
je 0x140078d73
mov rcx, rbx
call fcn.140100e20
jmp 0x140078d73
mov rcx, rbx
call qword [0x14012df48]
jmp 0x14007894d
mov rbp, qword [r15]
jmp 0x140078d2e
mov rcx, r14
call fcn.14005e8f0
jmp 0x140078875
int3
mov r13, qword [r13]
jmp 0x140078cf5
mov rdx, qword [r15]
jmp 0x140078d50
call fcn.14005ea50
jmp 0x140078d94
mov rcx, rbx
call fcn.1400f6550
mov byte [rsi + 0x38], 0
jmp 0x1400788f7
mov rcx, rbx
call fcn.14005e8f0
jmp 0x140078aa4
lea rcx, [0x14011bc04]
lea rdx, str....._third_partylibc_srcincludeoptional:801:_assertion_this__has_value___failed:_optional_operator_called_on_a_disengaged_value_n
call fcn.1400d43e0
mov rcx, qword [r15]
call fcn.14009f888
jmp 0x140078d61
mov qword [rbx], rax
jmp 0x140078a0e
lea rcx, [0x14011bc04]
lea rdx, str....._third_partylibc_srcinclude_vector:617:_assertion__empty___failed:_front___called_on_an_empty_vector_n
call fcn.1400d43e0
mov ecx, ebx
call fcn.1400079c0
mov dword [r15 + 0x54], ebx
jmp 0x140078a5a
lea rdx, [rsp + 0x30]
mov rcx, rbx
call qword [0x14012df48]
jmp 0x140078ad1
mov rcx, rdi
mov edx, 1
call qword [0x14012df48]
jmp 0x140078d9c
mov rcx, qword [0x14014ab70]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14007894a
mov rcx, qword [0x14014ab70]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140078b5c
int3
xor ecx, ecx
call fcn.14009f710
jmp 0x140078e5d
mov rcx, r14
call fcn.1400d2f70
mov rcx, r14
call fcn.14009f888
jmp 0x140078e5d
cmp byte [rax + 0x20], 0
jne 0x140078d9c
mov rcx, r14
call fcn.140106760
jmp 0x140078d9c
mov rax, rdx
mov rbp, r9
call qword [0x14012df48]
mov r9, rbp
jmp 0x140078f0c
mov rax, rdx
mov r14, r9
call qword [0x14012df48]
mov r9, r14
jmp 0x140078f6f
movzx ecx, al
mov rax, qword [0x140148dc0]
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.140017da0
jmp 0x140078e37
lea rcx, [0x14011bc04]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:66:_assertion___loc___nullptr_failed:_null_pointer_given_to_destroy_at_n
call fcn.1400d43e0
movzx ecx, al
mov rax, qword [0x140148dc0]
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.140017da0
mov rdx, r13
jmp 0x140078e45
int3
int3
add rcx, 0x160
call fcn.140084ff0
jmp 0x1400791b6
mov rcx, r14
call fcn.1400d2f70
mov rcx, r14
call fcn.14009f888
jmp 0x1400791c6
mov rcx, r14
call fcn.1400d2f70
mov rcx, r14
call fcn.14009f888
jmp 0x1400790cf