Function at 0x1400ec970
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
movaps xmmword [rsp + 0xc0], xmm6
mov r14, rcx
mov rax, qword [0x140219028]
xor rax, rsp
mov qword [rsp + 0xb8], rax
mov bl, byte [0x1402270d0]
test bl, 0x19
jne 0x1400ed07e
movabs r15, 0xaaaaaaaaaaaaaaaa
xor eax, eax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], r15
mov rax, qword [r14 + 0x1f8]
mov byte [rax + 4], 1
mov ecx, 8
call fcn.14012c264
mov dword [rax], 0
mov byte [rax + 4], 0
test rax, rax
je 0x1400ec9fe
mov ecx, 1
lock xadd dword [rax], ecx
cmp ecx, 0x7fffffff
je 0x1400ed13b
mov rcx, qword [r14 + 0x1f8]
mov qword [r14 + 0x1f8], rax
test rcx, rcx
je 0x1400eca1a
lock dec dword [rcx]
je 0x1400ecd81
lea rsi, [rsp + 0xa0]
mov byte [rsi], 0xaa
lea rdx, str.UnregisterTaskQueue
lea r8, str....._base_task_sequence_manager_task_queue_impl.cc
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov r9d, 0x125
call fcn.1400ba440
mov rcx, rsi
mov rdx, rdi
call fcn.1400ed3c0
mov rsi, qword [r14 + 0x20]
mov eax, dword [rsi + 8]
nop dword [rax + rax]
mov ecx, eax
or ecx, 0x80000000
lock cmpxchg dword [rsi + 8], ecx
jne 0x1400eca60
mov edx, eax
shr edx, 0x1e
and edx, 1
test eax, eax
mov ecx, 2
cmovns ecx, edx
cmp ecx, 1
jne 0x1400ed1de
test eax, 0x3fffffff
jne 0x1400ed12d
movabs r13, 0xfffffffc00000000
mov rcx, qword [rsi + 0x20]
mov rax, rcx
and rax, r13
cmp rax, qword [0x140219dc8]
jne 0x1400ecab7
call fcn.1400ace30
mov qword [rsi + 0x20], 0
test byte [0x1402270d0], 0x19
jne 0x1400ece2e
mov qword [rsp + 0x78], r15
mov byte [rsp + 0x5f], bl
lea rsi, [r14 + 0x28]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400ed183
mov byte [r14 + 0x5a], 1
mov r15, qword [r14 + 0x30]
mov r12, qword [r14 + 0x68]
lea rdi, [r14 + 0x68]
xorps xmm6, xmm6
movups xmmword [r14 + 0x40], xmm6
movups xmmword [r14 + 0x30], xmm6
mov qword [r14 + 0x50], 0
mov rbx, qword [r14 + 0x70]
cmp r12, rbx
jne 0x1400ed19f
mov qword [rsp + 0x60], r12
movups xmmword [rdi], xmm6
mov qword [rdi + 0x10], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [r14 + 0xa0]
test rcx, rcx
je 0x1400ecba9
mov rax, qword [rcx]
mov rax, qword [rax + 8]
lea rdx, [0x1401257d0]
cmp rax, rdx
jne 0x1400ed191
movabs rax, 0xaaaaaaaaaaaaaaaa
lea r8, [rsp + 0xa0]
mov qword [r8 + 0x10], rax
movaps xmm0, xmmword [0x1401ee3a0]
movaps xmmword [r8], xmm0
mov rax, qword [rcx + 0x38]
mov rax, qword [rax + 0x300]
xor edx, edx
mov byte [r8], dl
mov byte [r8 + 8], dl
mov qword [r8 + 0x10], rax
lea r9, [rsp + 0x80]
mov byte [r9], dl
mov byte [r9 + 0x18], dl
mov rdx, r14
call fcn.1400f9730
mov rsi, qword [r14 + 0x170]
mov qword [r14 + 0x170], 0
test rsi, rsi
jne 0x1400ecef7
mov rsi, qword [r14 + 0x178]
mov qword [r14 + 0x178], 0
test rsi, rsi
jne 0x1400eced0
mov rcx, qword [r14 + 0xa0]
mov rax, rcx
and rax, r13
cmp rax, qword [0x140219dc8]
jne 0x1400ecbfa
call fcn.1400ace30
mov qword [r14 + 0xa0], 0
mov rcx, qword [r14 + 0xa8]
mov rax, rcx
and rax, r13
cmp rax, qword [0x140219dc8]
je 0x1400ed13e
xor esi, esi
mov qword [r14 + 0xa8], rsi
lea rcx, [r14 + 0x1d0]
call fcn.1400ed220
mov dword [r14 + 0xe0], 0
mov rbp, qword [r14 + 0xc8]
mov rdi, qword [r14 + 0xd0]
mov qword [r14 + 0xd8], rsi
xorps xmm0, xmm0
movups xmmword [r14 + 0xc8], xmm0
mov rsi, qword [r14 + 0xb0]
mov rbx, qword [r14 + 0xb8]
movups xmmword [r14 + 0xb0], xmm0
test rsi, rsi
je 0x1400ecccd
mov rcx, qword [rsi + 0x30]
mov rax, rcx
and rax, r13
cmp rax, qword [0x140219dc8]
jne 0x1400ecc92
call fcn.1400ace30
mov qword [rsi + 0x30], 0
mov rcx, qword [rsi + 0x28]
mov rax, rcx
and rax, r13
cmp rax, qword [0x140219dc8]
je 0x1400ed152
mov qword [rsi + 0x28], 0
mov rcx, qword [rsi]
test rcx, rcx
jne 0x1400ecde9
mov rcx, rsi
call fcn.14012c25c
test rbx, rbx
je 0x1400ecd22
mov rcx, qword [rbx + 0x30]
mov rax, rcx
and rax, r13
cmp rax, qword [0x140219dc8]
jne 0x1400eccea
call fcn.1400ace30
mov qword [rbx + 0x30], 0
mov rcx, qword [rbx + 0x28]
and r13, rcx
cmp r13, qword [0x140219dc8]
je 0x1400ed148
mov qword [rbx + 0x28], 0
mov rcx, qword [rbx]
test rcx, rcx
jne 0x1400ecdb1
mov rcx, rbx
call fcn.14012c25c
mov rcx, rdi
sub rcx, rbp
jne 0x1400ecf8f
test rbp, rbp
jne 0x1400ece21
mov rax, qword [rsp + 0x60]
test rax, rax
jne 0x1400ed15c
test r15, r15
jne 0x1400ecd8b
test byte [rsp + 0x5f], 0x19
jne 0x1400ecf68
mov rcx, qword [rsp + 0xb8]
xor rcx, rsp
call fcn.14012ec00
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
call fcn.14012c25c
jmp 0x1400eca1a
mov rsi, qword [r15 + 0x20]
mov qword [r15 + 0x20], 0
mov rcx, r15
call fcn.1400c73e0
mov rcx, r15
call fcn.14012c25c
mov r15, rsi
test rsi, rsi
je 0x1400ecd4a
jmp 0x1400ecd8b
mov rax, qword [rcx + 0x20]
mov qword [rcx + 0x20], 0
mov rsi, qword [rbx]
mov qword [rbx], rax
test rsi, rsi
je 0x1400ecddb
mov rcx, rsi
call fcn.1400c73e0
mov rcx, rsi
call fcn.14012c25c
mov rax, qword [rbx]
mov rcx, rax
test rax, rax
je 0x1400ecd1a
jmp 0x1400ecdb1
mov rax, qword [rcx + 0x20]
mov qword [rcx + 0x20], 0
mov r14, qword [rsi]
mov qword [rsi], rax
test r14, r14
je 0x1400ece13
mov rcx, r14
call fcn.1400c73e0
mov rcx, r14
call fcn.14012c25c
mov rax, qword [rsi]
mov rcx, rax
test rax, rax
je 0x1400eccc5
jmp 0x1400ecde9
mov rcx, rbp
call fcn.14012c25c
jmp 0x1400ecd37
mov rax, qword [0x140228618]
lea rcx, [0x14012ac60]
cmp rax, rcx
jne 0x1400ed00d
lea rsi, [rsp + 0x80]
mov qword [rsi], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsi]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400ed020
imul rax, rax, 0xf4240
cqo
idiv qword [0x140231a18]
mov qword [rsp + 0x80], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x1402270d0]
lea r8, str.ScopedAllowBaseSyncPrimitivesOutsideBlockingScope
mov cl, 0x45
xor r9d, r9d
call fcn.1401049c0
jmp 0x1400ecacc
lock dec dword [rsi]
jne 0x1400ecbdf
mov rax, qword [rsi + 0x10]
lea rcx, [0x140191090]
cmp rax, rcx
je 0x1400ecf43
mov rcx, rsi
call qword [0x140243008]
jmp 0x1400ecbdf
lock dec dword [rsi]
jne 0x1400ecbc4
mov rax, qword [rsi + 0x10]
lea rcx, [0x140191090]
cmp rax, rcx
je 0x1400ecf1e
mov rcx, rsi
call qword [0x140243008]
jmp 0x1400ecbc4
mov rcx, qword [rsi + 0x28]
mov rax, rcx
and rax, r13
cmp rax, qword [0x140219dc8]
jne 0x1400ecf36
call fcn.1400b2070
mov rcx, rsi
call fcn.14012c25c
jmp 0x1400ecbc4
mov rcx, qword [rsi + 0x28]
mov rax, rcx
and rax, r13
cmp rax, qword [0x140219dc8]
jne 0x1400ecf5b
call fcn.1400b2070
mov rcx, rsi
call fcn.14012c25c
jmp 0x1400ecbdf
mov rax, qword [rsp + 0x68]
cmp byte [rax], 0
je 0x1400ecd55
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x70]
call fcn.1400ef510
jmp 0x1400ecd55
sar rcx, 3
movabs rax, 0xcf3cf3cf3cf3cf3d
imul rax, rcx
cmp rax, 1
adc rax, 0
lea rcx, [rbp + 0xa0]
mov rdx, qword [rcx - 8]
test rdx, rdx
je 0x1400ecfe1
mov dl, byte [rdx + 4]
test dl, dl
jne 0x1400ecfe1
cmp qword [rcx], 0
je 0x1400ecfe1
mov rdx, qword [rcx - 8]
test rdx, rdx
je 0x1400ed047
mov dl, byte [rdx + 4]
test dl, dl
jne 0x1400ed047
mov rdx, qword [rcx]
mov qword [rdx + 0x10], 0xffffffffffffffff
add rcx, 0xa8
dec rax
jne 0x1400ecfb0
add rdi, 0xffffffffffffff58
je 0x1400ed216
mov rcx, rdi
call fcn.1400c1890
cmp rdi, rbp
je 0x1400ecd2e
jmp 0x1400ecfed
lea rcx, [rsp + 0x80]
call qword [0x140243008]
jmp 0x1400ece8b
mov rcx, qword [0x140231a18]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400ece83
int3
mov rcx, qword [0x140231a18]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400ed0cb
lea rcx, [rsp + 0x80]
call qword [0x140243008]
jmp 0x1400ed0d3
mov rax, qword [0x140228618]
lea rcx, [0x14012ac60]
cmp rax, rcx
jne 0x1400ed06e
lea rsi, [rsp + 0x80]
mov qword [rsi], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsi]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400ed04a
imul rax, rax, 0xf4240
cqo
idiv qword [0x140231a18]
mov qword [rsp + 0x80], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rcx, [rsp + 0x80]
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x30], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdx, [0x1402270d0]
lea r15, str.TaskQueueImpl::UnregisterTaskQueue
mov cl, 0x58
mov qword [rsp + 0x68], rdx
mov r8, r15
xor r9d, r9d
call fcn.1401049c0
mov qword [rsp + 0x70], rax
jmp 0x1400ec9c5
lea rcx, [rsi + 0x10]
call fcn.1400f09d0
jmp 0x1400eca95
int3
call fcn.1400ace30
jmp 0x1400ecc1f
call fcn.1400ace30
jmp 0x1400ecd06
call fcn.1400ace30
jmp 0x1400eccb1
cmp r12, rax
je 0x1400ed174
add r12, 0xfffffffffffffff0
mov rcx, r12
call fcn.1401a32e0
cmp r12, qword [rsp + 0x60]
jne 0x1400ed161
mov rcx, qword [rsp + 0x60]
call fcn.14012c25c
jmp 0x1400ecd45
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400ecaea
mov rdx, r14
call qword [0x140243008]
jmp 0x1400ecba9
mov rbp, qword [r12]
mov rcx, qword [rbp + 8]
mov rax, rcx
and rax, r13
cmp rax, qword [0x140219dc8]
jne 0x1400ed1bb
call fcn.1400ace30
mov qword [rbp + 8], 0
add r12, 0x10
cmp r12, rbx
jne 0x1400ed19f
mov rax, qword [r14 + 0x68]
mov qword [rsp + 0x60], rax
mov r12, qword [r14 + 0x70]
jmp 0x1400ecb22
test ecx, ecx
jne 0x1400eca95
mov ecx, 0x3fffffff
and eax, ecx
mov edx, eax
neg edx
lock xadd dword [rsi + 8], edx
test edx, edx
jns 0x1400eca95
and edx, ecx
cmp edx, eax
jne 0x1400eca95
lea rcx, [rsi + 0x10]
call fcn.1400d8b30
jmp 0x1400eca95
int3