Function at 0x14005ad50
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, 0xa8
movaps xmmword [rsp + 0x90], xmm6
mov ebx, r8d
mov edi, edx
mov rsi, rcx
mov rax, qword [0x140140040]
xor rax, rsp
mov qword [rsp + 0x88], rax
movabs r12, 0xfffffffc00000000
mov eax, dword [0x14014e950]
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 [0x140142588]
je 0x14005afb7
mov qword [rsi], r14
mov eax, dword [0x14014e950]
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 [0x140142588]
je 0x14005bcac
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 0x14005b087
mov rax, qword [rsi + 8]
test rax, rax
jne 0x14005afc4
xor eax, eax
mov byte [rsi + 0x20], al
mov byte [rsi + 0x28], 0
mov byte [rsi + 0x38], 0
mov eax, dword [0x14014e950]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x180], 0
je 0x14005afcc
test ebx, ebx
jne 0x14005af98
mov rax, qword [rsi + 8]
cmp byte [rsi + 0x20], 0
jne 0x14005af9c
test rax, rax
jne 0x14005af5d
lea rbx, [rsi + 0x28]
cmp byte [rsi + 0x38], 0
jne 0x14005bcb9
mov rax, qword [fcn.140094280]
lea rcx, [0x140094330]
cmp rax, rcx
jne 0x14005bc4f
mov qword [rsp + 0x50], 0
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x50]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x14005bd31
imul rax, rax, 0xf4240
cqo
idiv qword [0x140151bd8]
mov r14, rax
mov qword [rbx], rax
mov eax, dword [0x140154778]
mov ecx, dword [0x14014e950]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14005b716
lea rcx, [0x140154770]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14005b896
mov eax, dword [0x140154798]
mov ecx, dword [0x14014e950]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14005b74b
cmp qword [0x140154790], 0
jne 0x14005b003
mov qword [rsi + 0x30], 0
lea rcx, [0x140154770]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov r15, qword [rsi + 0x30]
test r15, r15
jne 0x14005afa6
mov byte [rsi + 0x38], 1
mov r14, qword [rsi]
test r14, r14
jne 0x14005b09c
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.1400a4d90
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x90]
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsi + 8]
test rax, rax
je 0x14005af5d
jmp 0x14005b6d9
mov rax, qword [r15 + 0x1f0]
cmp qword [rbx], rax
jge 0x14005af59
jmp 0x14005bcdd
mov rcx, r14
call fcn.14005d1c0
jmp 0x14005adbc
mov al, byte [rax + 0x20]
jmp 0x14005ae1d
mov eax, dword [0x140157aac]
mov ecx, dword [0x14014e950]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14005b780
cmp byte [0x140157aa8], 0
jne 0x14005af5d
jmp 0x14005ae48
mov eax, dword [0x140154788]
mov ecx, dword [0x14014e950]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14005b861
mov rbp, qword [0x140154780]
movabs r13, 0x7fffffffffffffff
mov r12, r14
test rbp, rbp
je 0x14005ba92
mov r12d, 0x3938700
add r12, qword [rbp + 0x1f0]
cmovo r12, r13
cmp r12, r14
jle 0x14005ba92
mov qword [rsi + 0x30], rbp
mov eax, 1
lock xadd dword [rbp], eax
cmp eax, 0x7fffffff
movabs r12, 0xfffffffc00000000
jne 0x14005af43
jmp 0x14005bce5
mov al, 1
jmp 0x14005ae1d
cmp edi, 1
jne 0x14005af69
jmp 0x14005bdc1
mov rax, qword [rsi + 8]
test rax, rax
jne 0x14005b08e
cmp byte [r14 + 0x19], 0
je 0x14005af69
mov r15, qword [r14 + 8]
mov rax, qword [r15 + 0x38]
mov rax, qword [rax + 0x10]
mov eax, dword [rax]
test al, 1
jne 0x14005b695
mov ebx, dword [r15 + 0x50]
cmp dword [r15 + 0x54], ebx
jne 0x14005bcfb
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x70], rax
mov rbx, qword [r14 + 0x28]
mov rax, qword [rbx]
mov rax, qword [rax + 0x48]
lea rcx, [0x14009e3f0]
cmp rax, rcx
jne 0x14005bd0b
mov ecx, 0x50
call fcn.1400a2d04
mov r15, rax
mov rax, rbx
and rax, r12
cmp rax, qword [0x140142588]
jne 0x14005b122
mov rcx, rbx
call fcn.14005d1c0
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, fcn.14008c5f0
mov qword [r15], rax
mov dword [r15 + 0x48], 0
mov qword [rsp + 0x70], r15
mov r13, qword [r14 + 0x28]
add r13, 0x68
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14005b687
mov rax, qword [0x1401425c0]
lea rcx, [0x140094330]
lea r15, [rsp + 0x50]
cmp rax, rcx
jne 0x14005bc21
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 0x14005bd67
imul rax, rax, 0xf4240
cqo
idiv qword [0x140151bd8]
mov qword [r14 + 0x20], rax
cmp byte [r14 + 0x3b], 0
jne 0x14005b381
cmp byte [r14 + 0x19], 0
je 0x14005bcca
cmp byte [r14 + 0x18], 0
jne 0x14005b1e5
mov rax, qword [r14 + 0x28]
inc dword [rax + 0x134]
cmp edi, 1
je 0x14005b623
mov rax, qword [r14 + 0x28]
inc dword [rax + 0x130]
mov r12, qword [r14 + 0x28]
cmp byte [r12 + 0x140], 0
jne 0x14005b381
mov r14, qword [rsp + 0x70]
mov rbx, qword [r12 + 0x98]
mov rdi, qword [r12 + 0x128]
test rbx, rbx
jne 0x14005b528
xor ebx, ebx
add rbx, rdi
cmp rbx, qword [r12 + 0x118]
ja 0x14005b9e5
mov qword [rsp + 0x28], r13
mov r13, qword [r12 + 0x98]
mov rbp, qword [r12 + 0x120]
test r13, r13
jne 0x14005b4d1
xor r13d, r13d
mov rbx, qword [r12 + 0xa8]
add rbx, qword [r12 + 0xa0]
je 0x14005b46b
mov rax, qword [r12 + 8]
mov eax, dword [rax + 0x1c]
cmp eax, 1
ja 0x14005b46b
mov rax, qword [r12 + 0x80]
cmp rax, qword [r12 + 0x88]
je 0x14005bce8
mov cl, byte [rax + 0x10]
dec cl
cmp cl, 1
ja 0x14005b364
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rdx, qword [rax + 8]
mov eax, 1
lea r8, [0x14007e880]
cmp rdx, r8
je 0x14005b352
lea rax, [0x1400a2b20]
cmp rdx, rax
jne 0x14005bd8e
mov eax, dword [rcx + 0x40]
test al, 1
jne 0x14005ba07
mov rdi, qword [rcx + 0x58]
test rdi, rdi
je 0x14005bd5e
mov edx, 1
lock xadd dword [rdi], edx
test edx, edx
jle 0x14005bd61
mov qword [rsp + 0x40], r14
cmp edx, 0x7fffffff
je 0x14005bd64
shr eax, 1
movzx r14d, al
mov rax, qword [rcx + 0x58]
mov rax, qword [rax + 8]
mov rcx, rdi
mov rdx, r14
call qword [0x140134870]
mov r15, rax
lock dec dword [rdi]
je 0x14005bd9c
cmp r15, 0x20
mov ecx, 0x20
cmovb rcx, r15
xor eax, eax
sub rcx, r14
cmovae rax, rcx
mov r14, qword [rsp + 0x40]
lea rcx, [rbx + rax]
dec rcx
add rbx, rax
cmp rcx, 1
adc rbx, 0xffffffffffffffff
add rbp, r13
lea rax, [rbx + rbp]
inc rax
cmp rax, qword [r12 + 0x110]
mov r13, qword [rsp + 0x28]
ja 0x14005b472
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rdi, qword [rsp + 0x70]
mov qword [rsp + 0x70], 0
test rdi, rdi
je 0x14005af69
mov rax, qword [rdi]
mov rax, qword [rax]
lea rcx, [fcn.14008c5f0]
cmp rax, rcx
jne 0x14005bd1e
lea rax, fcn.14008c5f0
mov qword [rdi], rax
cmp dword [rdi + 0x48], 0
jg 0x14005b486
lea rax, [0x140120f78]
mov qword [rdi], rax
mov rdx, qword [rdi + 0x28]
lea r15, [rdi + 0x30]
mov rax, rdx
mov r13, r15
and rax, 1
jne 0x14005bc32
lea rbx, [rdi + 0x28]
mov r12, rdx
shr r12, 1
mov cl, 1
cmp rdx, 2
jae 0x14005b7c9
mov rdx, r15
test rax, rax
jne 0x14005bc3a
test cl, cl
je 0x14005b69f
test rax, rax
jne 0x14005bc42
mov qword [rdi + 0x28], 0
cmp byte [rdi + 0x40], 0
movabs r14, 0xfffffffc00000000
jne 0x14005ba0e
mov rbp, qword [rdi + 0x10]
test rbp, rbp
jne 0x14005b57f
mov rcx, qword [rdi + 8]
and r14, rcx
cmp r14, qword [0x140142588]
jne 0x14005b45e
call fcn.14005d490
mov rcx, rdi
call fcn.1400a2cfc
jmp 0x14005af69
xor ebx, ebx
jmp 0x14005b364
cmp dword [r12 + 0x130], 0
jle 0x14005b381
jmp 0x14005b9f4
xor ebx, ebx
mov r14, qword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
mov qword [rsp + 0x78], 0x9b
mov al, byte [0x1401518fb]
test al, al
jne 0x14005bdeb
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 0x190]
mov edx, 1
xor r8d, r8d
call r14
test eax, eax
je 0x14005bda9
inc ebx
cmp ebx, dword [rdi + 0x48]
jge 0x14005b3cb
jmp 0x14005b48f
mov rax, qword [r12 + 8]
mov eax, dword [rax + 0x1c]
test eax, eax
jne 0x14005b25a
mov rax, qword [r12 + 0x80]
cmp rax, qword [r12 + 0x88]
je 0x14005bce8
cmp byte [rax + 0x10], 0
jne 0x14005b25d
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140134870]
lea rcx, [rax + r13]
dec rcx
add r13, rax
cmp rcx, 1
adc r13, 0xffffffffffffffff
jmp 0x14005b25d
mov rax, qword [r12 + 8]
mov eax, dword [rax + 0x1c]
test eax, eax
jne 0x14005b229
mov rax, qword [r12 + 0x80]
cmp rax, qword [r12 + 0x88]
je 0x14005bce8
cmp byte [rax + 0x10], 0
jne 0x14005b22b
mov rcx, qword [rax]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [0x140134870]
lea rcx, [rbx + rax]
dec rcx
add rbx, rax
cmp rcx, 1
adc rbx, 0xffffffffffffffff
jmp 0x14005b22b
mov r15, qword [rdi + 0x18]
mov rcx, rbp
cmp r15, rbp
je 0x14005b615
mov rdx, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov r8, qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov r9, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
xorps xmm6, xmm6
lea r10, fcn.140061ab0
mov r12, r15
add r15, 0xfffffffffffffff0
je 0x14005bdd8
mov rbx, r14
mov r14, qword [r15]
test r14, r14
jne 0x14005b8bf
mov qword [r15], 0
test r14, r14
jne 0x14005b8e5
mov rcx, qword [r12 - 8]
mov rax, rcx
and rax, rbx
cmp rax, qword [0x140142588]
je 0x14005be32
mov qword [r12 - 8], 0
mov rcx, qword [r12 - 0x10]
test rcx, rcx
jne 0x14005be56
cmp r15, rbp
mov r14, rbx
jne 0x14005b5ae
mov rcx, qword [rdi + 0x10]
mov qword [rdi + 0x18], rbp
call fcn.1400a2cfc
jmp 0x14005b449
mov byte [r14 + 0x39], 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 0x14005b656
cmp qword [rax + 0x120], rdx
jae 0x14005b67a
mov word [rax + 0xb8], 0
mov rcx, qword [r14 + 0x28]
mov rdx, qword [rsp + 0x70]
mov rax, qword [rcx]
mov rax, qword [rax + 0x50]
call qword [0x140134870]
jmp 0x14005b1f8
movzx ecx, word [rcx + 0x10]
mov word [rax + 0xb8], cx
jmp 0x14005b65f
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14005b168
mov ebx, 3
jmp 0x14005b0ca
lea r14, [rdx + r12*8]
add r14, 0xfffffffffffffff8
neg r12
test r14, r14
je 0x14005bdd8
mov rcx, qword [r14]
test rcx, rcx
je 0x14005b6c5
lock dec dword [rcx + 8]
je 0x14005bec7
add r14, 0xfffffffffffffff8
inc r12
jne 0x14005b6aa
mov rax, qword [rbx]
and eax, 1
jmp 0x14005b417
cmp byte [rax + 0x38], 0
je 0x14005af5d
mov rbx, qword [rax + 0x30]
mov qword [rax + 0x30], 0
test rbx, rbx
je 0x14005af5d
lock dec dword [rbx]
jne 0x14005af5d
mov rcx, rbx
call fcn.140014c60
mov rcx, rbx
call fcn.1400a2cfc
jmp 0x14005af5d
lea rcx, [0x140154778]
call fcn.1400a35c4
cmp dword [0x140154778], 0xffffffff
jne 0x14005aef3
mov qword [0x140154770], 0
lea rcx, [0x140154778]
call fcn.1400a3558
jmp 0x14005aef3
lea rcx, [0x140154798]
call fcn.1400a35c4
cmp dword [0x140154798], 0xffffffff
jne 0x14005af2d
mov qword [0x140154790], 0
lea rcx, [0x140154798]
call fcn.1400a3558
jmp 0x14005af2d
lea rcx, [0x140157aac]
call fcn.1400a35c4
cmp dword [0x140157aac], 0xffffffff
jne 0x14005aff1
mov rcx, qword [0x140151b30]
test rcx, rcx
je 0x14005b7b1
lea rdx, str.enable_background_thread_pool
call fcn.1400838e0
mov byte [0x140157aa8], 1
lea rcx, [0x140157aac]
call fcn.1400a3558
jmp 0x14005aff1
shl r12, 3
xor ebp, ebp
mov r14, qword [r13 + rbp]
test r14, r14
je 0x14005b7ef
mov eax, 1
lock xadd dword [r14 + 8], eax
cmp eax, 0x7fffffff
je 0x14005be90
mov rax, qword [rdi + 8]
mov rdx, qword [rax + 0x40]
mov r8, qword [rax + 0x48]
test rdx, rdx
je 0x14005b815
mov eax, 1
lock xadd dword [rdx + 8], eax
cmp eax, 0x7fffffff
je 0x14005be93
mov rcx, r14
call fcn.140011340
mov rcx, qword [rdi + 8]
cmp byte [rcx + 0x180], 0
jne 0x14005be96
test r14, r14
je 0x14005b83e
lock dec dword [r14 + 8]
je 0x14005bede
add rbp, 8
cmp r12, rbp
jne 0x14005b7cf
mov rcx, qword [rbx]
mov r12, rcx
shr r12, 1
mov eax, ecx
and eax, 1
cmp rcx, 2
setb cl
jmp 0x14005b403
lea rcx, [0x140154788]
call fcn.1400a35c4
cmp dword [0x140154788], 0xffffffff
jne 0x14005b028
mov qword [0x140154780], 0
lea rcx, [0x140154788]
call fcn.1400a3558
jmp 0x14005b028
lea rcx, [0x140154770]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14005af08
mov rax, qword [r13 + 0x10]
mov ecx, 0xfffffffe
lock xadd dword [rax], ecx
cmp ecx, 3
jne 0x14005b8de
jmp 0x14005bc60
mov r13, qword [r12 - 8]
test r13, r13
je 0x14005b5ca
mov qword [r15], 0
mov al, byte [r14 + 0xd]
and al, 0x7f
cmp al, 2
je 0x14005b8a8
lock dec dword [r13 + 0x18]
je 0x14005b924
lock dec dword [r14 + 8]
jne 0x14005b5da
mov rax, qword [r14]
mov rax, qword [rax + 0x30]
mov rcx, r14
mov edx, 1
mov r13, r8
mov r14, r9
call qword [0x140134870]
lea r10, fcn.140061ab0
mov r9, r14
mov r8, r13
mov rdx, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
jmp 0x14005b5da
lea rcx, [r13 + 0x20]
mov qword [rsp + 0x28], rcx
call rdx
test al, al
je 0x14005bea7
mov rcx, qword [r13 + 0x28]
call qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov rcx, qword [rsp + 0x28]
mov rax, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
call rax
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14005beb7
mov rax, qword [r13 + 0x30]
mov qword [rsp + 0x40], rax
mov rax, qword [r13 + 0x38]
mov qword [rsp + 0x48], rax
movups xmmword [r13 + 0x30], xmm6
mov rax, qword [r13 + 0x40]
mov qword [rsp + 0x38], rax
mov rax, qword [r13 + 0x48]
mov qword [rsp + 0x30], rax
movups xmmword [r13 + 0x40], xmm6
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x30]
mov r13, rcx
cmp rcx, rax
jne 0x14005bef8
lea r13, fcn.140061ab0
mov rcx, r13
mov rdx, qword [rsp + 0x40]
xor r8d, r8d
call fcn.140060910
mov r10, r13
mov rdx, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov r8, qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov r9, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x14005b5d1
cmp dword [r12 + 0x134], 0
jle 0x14005b23c
mov al, 1
mov byte [r14 + 0x40], al
mov byte [r12 + 0x140], al
jmp 0x14005b381
xor eax, eax
jmp 0x14005b352
mov rcx, qword [rdi + 8]
call fcn.1400d7280
cmp qword [rdi + 0x28], 0
je 0x14005b43c
mov rcx, rbx
call fcn.1401079f0
jmp 0x14005b43c
cmp byte [rbp + 0x200], 0
jne 0x14005bb15
test r15, r15
je 0x14005ba56
mov eax, 1
lock xadd dword [r15], eax
cmp eax, 0x7fffffff
je 0x14005c00a
mov r12, qword [rbp + 0x1f8]
mov qword [rbp + 0x1f8], r15
test r12, r12
je 0x14005bb15
jmp 0x14005c00d
lock dec dword [r12]
jne 0x14005bb46
mov rcx, r12
call fcn.140014c60
mov rcx, r12
call fcn.1400a2cfc
jmp 0x14005bb46
xor eax, eax
cmp r14, r12
setns al
add rax, r13
mov rcx, r14
sub rcx, r12
cmovo rcx, rax
cmp rcx, 0x989680
jge 0x14005bfeb
mov ecx, 0x208
call fcn.1400a2d04
mov r15, rax
mov dword [rax], 0
lea rcx, [rax + 8]
mov r8d, 0x1e8
xor edx, edx
call fcn.1400d6750
mov qword [r15 + 0x1f0], r12
mov qword [r15 + 0x1f8], 0
mov byte [r15 + 0x200], 0
test r15, r15
je 0x14005bb0c
mov eax, 1
lock xadd dword [r15], eax
cmp eax, 0x7fffffff
je 0x14005bfe5
test rbp, rbp
jne 0x14005ba2f
test r15, r15
je 0x14005bb2f
mov eax, 1
lock xadd dword [r15], eax
cmp eax, 0x7fffffff
je 0x14005bfe8
mov r12, qword [0x140154780]
mov qword [0x140154780], r15
test r12, r12
jne 0x14005ba72
lea rcx, [0x140154770]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [r15 + 0x1f0]
xor edx, edx
cmp r14, rax
setns dl
add rdx, r13
mov rcx, r14
sub rcx, rax
cmovo rcx, rdx
lea rdx, [rcx + r13]
add rdx, 2
cmp rdx, 2
jb 0x14005bffa
mov ebp, 0x3938700
xor eax, eax
cmp rbp, rcx
setns al
add rax, r13
sub rbp, rcx
cmovo rbp, rax
mov ecx, 0x28
call fcn.1400a2d04
mov r14, rax
mov dword [rax], 1
lea rax, [0x140038990]
mov qword [r14 + 8], rax
lea rax, [0x14003cc90]
mov qword [r14 + 0x10], rax
lea rax, [0x1400f4da0]
mov qword [r14 + 0x18], rax
lea rdx, str.MonitorNextJankWindowIfNecessary
lea r8, str....._base_threading_scoped_blocking_call_internal.cc
lea r12, [rsp + 0x50]
mov rcx, r12
mov r9d, 0xca
call fcn.140058f40
lea r9, [rsp + 0x80]
mov qword [r9], r14
mov qword [rsp + 0x20], rbp
lea r8, [0x14012de95]
xor ecx, ecx
mov rdx, r12
call fcn.1400149c0
mov qword [rsi + 0x30], r15
movabs r12, 0xfffffffc00000000
jmp 0x14005af54
mov rcx, r15
call qword [0x140134870]
mov rax, qword [r15]
jmp 0x14005b1ba
mov r13, qword [r15]
jmp 0x14005b3ed
mov rdx, qword [r15]
jmp 0x14005b40f
mov rcx, qword [r15]
call fcn.1400a2cfc
jmp 0x14005b420
mov rcx, rbx
call qword [0x140134870]
mov r14, qword [rbx]
jmp 0x14005aece
lea rcx, [r13 + 0x50]
mov qword [rsp + 0x28], rcx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14005c0de
mov rcx, qword [r13 + 0x58]
call fcn.14006f0b0
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rdx, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
mov r8, qword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov r9, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
lea r10, fcn.140061ab0
jmp 0x14005b8de
mov rcx, r14
call fcn.14005d1c0
jmp 0x14005adf3
mov rcx, rbx
call fcn.1400fc900
mov byte [rsi + 0x38], 0
jmp 0x14005ae75
lea rcx, [0x140121d8c]
lea rdx, str....._third_partylibc_srcincludeoptional:801:_assertion_this__has_value___failed:_optional_operator_called_on_a_disengaged_value_n
call fcn.1400d6ae0
mov qword [rbx], rax
jmp 0x14005af59
int3
lea rcx, [0x140121d8c]
lea rdx, str....._third_partylibc_srcinclude_vector:618:_assertion__empty___failed:_front___called_on_an_empty_vector_n
call fcn.1400d6ae0
mov ecx, ebx
call fcn.14000c360
mov dword [r15 + 0x54], ebx
jmp 0x14005b0d4
lea rdx, [rsp + 0x70]
mov rcx, rbx
call qword [0x140134870]
jmp 0x14005b14f
mov rcx, rdi
mov edx, 1
call qword [0x140134870]
jmp 0x14005af69
mov rcx, qword [0x140151bd8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
mov r14, rax
add r14, r8
mov qword [rbx], r14
jmp 0x14005aece
int3
int3
int3
mov rcx, qword [0x140151bd8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14005b1ba
mov rax, rdx
call qword [0x140134870]
jmp 0x14005b352
mov rcx, rdi
call fcn.1400a1e20
jmp 0x14005b337
int3
int3
int3
int3
int3
int3
int3
int3
cmp byte [rax + 0x20], 0
jne 0x14005af69
mov rcx, r14
call fcn.14010cbf0
jmp 0x14005af69
lea rcx, [0x140121d8c]
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h:66:_assertion___loc___nullptr_failed:_null_pointer_given_to_destroy_at_n
call fcn.1400d6ae0
mov edx, 0x190
add rdx, qword [rdi + 8]
movzx ecx, al
xor rdx, qword [0x14014fe00]
lea rax, [rsp + 0x50]
mov qword [rax], rdx
lea rdx, [0x14012ffa8]
lea r8, [rsp + 0x80]
mov qword [r8], rdx
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x78]
mov r9d, 3
call fcn.14000d780
jmp 0x14005b4a6
mov r14, rdx
mov r13, r8
call fcn.14005d840
lea r10, fcn.140061ab0
mov r9, qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov r8, r13
mov rdx, r14
jmp 0x14005b5f2
lock dec dword [rcx + 8]
jne 0x14005b609
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 1
mov r12, r8
mov r13, r9
mov r14, r10
call qword [0x140134870]
mov r10, r14
mov r9, r13
mov r8, r12
mov rdx, qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
jmp 0x14005b609
int3
int3
add rcx, 0x170
call fcn.14008bc80
jmp 0x14005b82e
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14005b937
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14005b962
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov edx, 1
call qword [0x140134870]
jmp 0x14005b6c5
mov rax, qword [r14]
mov rax, qword [rax + 8]
mov rcx, r14
mov edx, 1
call qword [0x140134870]
jmp 0x14005b83e
cmp qword [rsp + 0x48], r13
jb 0x14005bdac
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + r13*8]
mov qword [rsp + 0x28], rax
test rax, rax
je 0x14005bdaf
mov rax, qword [rsp + 0x40]
mov qword [rax + r13*8], 0
mov rcx, qword [rsp + 0x28]
mov rax, qword [rcx + 8]
call qword [0x140134870]
mov rax, qword [rsp + 0x28]
lock dec dword [rax]
jne 0x14005bf4f
mov rcx, qword [rsp + 0x28]
mov rax, qword [rcx + 0x10]
call qword [0x140134870]
inc r13
xor eax, eax
cmp r13, qword [rsp + 0x48]
cmove r13, rax
mov rax, qword [rsp + 0x30]
cmp r13, rax
mov rcx, qword [rsp + 0x38]
jne 0x14005bef8
cmp rax, rcx
jbe 0x14005c02d
mov rax, qword [rsp + 0x48]
cmp rax, qword [rsp + 0x30]
jb 0x14005bdb2
mov rax, qword [rsp + 0x38]
cmp rax, qword [rsp + 0x30]
jg 0x14005bdb5
mov rcx, qword [rsp + 0x30]
shl rcx, 3
mov rax, qword [rsp + 0x38]
shl rax, 3
mov qword [rsp + 0x30], rcx
mov r13, rax
mov rcx, qword [rsp + 0x40]
mov rcx, qword [rcx + rax]
test rcx, rcx
jne 0x14005bfd4
mov rax, r13
add rax, 8
mov rcx, qword [rsp + 0x30]
cmp rcx, rax
je 0x14005b9b1
jmp 0x14005bfac
lock dec dword [rcx]
jne 0x14005bfbd
mov rax, qword [rcx + 0x10]
call qword [0x140134870]
jmp 0x14005bfbd
int3
int3
mov byte [rbp + 0x200], 1
mov r12, r14
jmp 0x14005bab4
lea rbp, [r13 + 1]
cmp rax, r14
cmovg rbp, r13
jmp 0x14005bb98
int3
lock dec dword [r12]
jne 0x14005bb15
mov rcx, r12
call fcn.140014c60
mov rcx, r12
call fcn.1400a2cfc
jmp 0x14005bb15
mov rax, qword [rsp + 0x48]
cmp rax, qword [rsp + 0x38]
jb 0x14005bdb8
jl 0x14005bdbb
je 0x14005c08b
shl qword [rsp + 0x48], 3
shl qword [rsp + 0x38], 3
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
mov rcx, qword [rax + rcx]
test rcx, rcx
je 0x14005c073
lock dec dword [rcx]
jne 0x14005c073
mov rax, qword [rcx + 0x10]
call qword [0x140134870]
mov rcx, qword [rsp + 0x38]
add rcx, 8
mov rax, rcx
mov qword [rsp + 0x38], rcx
cmp qword [rsp + 0x48], rcx
jne 0x14005c051
cmp qword [rsp + 0x30], 0
js 0x14005bdbe
mov rax, qword [rsp + 0x30]
je 0x14005b9b1
shl rax, 3
xor r13d, r13d
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + r13]
test rcx, rcx
je 0x14005c0cb
lock dec dword [rcx]
jne 0x14005c0cb
mov rax, qword [rcx + 0x10]
call qword [0x140134870]
add r13, 8
mov rax, qword [rsp + 0x30]
cmp rax, r13
jne 0x14005c0a9
jmp 0x14005b9b1
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14005bc77