Function at 0x14014c740
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, 0xe8
movaps xmmword [rsp + 0xd0], xmm6
mov r14, rcx
mov rax, qword [0x14029b028]
xor rax, rsp
mov qword [rsp + 0xc8], rax
mov bl, byte [0x1402a99c0]
test bl, 0x19
jne 0x14014ceb0
movabs r15, 0xaaaaaaaaaaaaaaaa
xor eax, eax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], r15
mov rax, qword [r14 + 0x210]
mov byte [rax + 4], 1
mov ecx, 8
call fcn.1401833f4
mov dword [rax], 0
mov byte [rax + 4], 0
test rax, rax
je 0x14014c7ce
mov ecx, 1
lock xadd dword [rax], ecx
cmp ecx, 0x7fffffff
je 0x14014cf64
mov rcx, qword [r14 + 0x210]
mov qword [r14 + 0x210], rax
test rcx, rcx
je 0x14014c7ea
lock dec dword [rcx]
je 0x14014cb5d
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 + 0x78]
mov rcx, rdi
mov r9d, 0x11a
call fcn.1400ed1b0
mov rcx, rsi
mov rdx, rdi
call fcn.14014d2e0
mov rsi, qword [r14 + 0x18]
mov eax, dword [rsi + 8]
nop dword [rax + rax]
mov ecx, eax
or ecx, 0x80000000
lock cmpxchg dword [rsi + 8], ecx
jne 0x14014c830
mov edx, eax
shr edx, 0x1e
and edx, 1
test eax, eax
mov ecx, 2
cmovns ecx, edx
cmp ecx, 1
jne 0x14014d007
test eax, 0x3fffffff
jne 0x14014cf56
movabs r13, 0xfffffffc00000000
mov rcx, qword [rsi + 0x20]
mov rax, rcx
and rax, r13
cmp rax, qword [0x14029be48]
je 0x14014ce75
mov qword [rsi + 0x20], 0
test byte [0x1402a99c0], 0x19
jne 0x14014cc3a
mov qword [rsp + 0x70], r15
mov byte [rsp + 0x57], bl
lea rsi, [r14 + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14014cfac
mov byte [r14 + 0x52], 1
mov r15, qword [r14 + 0x28]
mov r12, qword [r14 + 0x60]
lea rdi, [r14 + 0x60]
xorps xmm6, xmm6
movups xmmword [r14 + 0x38], xmm6
movups xmmword [r14 + 0x28], xmm6
mov qword [r14 + 0x48], 0
mov rbx, qword [r14 + 0x68]
cmp r12, rbx
jne 0x14014cfc8
mov qword [rsp + 0x58], 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 0x14014c974
mov rax, qword [rcx]
mov rax, qword [rax + 8]
lea rdx, [0x14017c310]
cmp rax, rdx
jne 0x14014cfba
movaps xmm0, xmmword [0x14026cc70]
lea r8, [rsp + 0xa0]
movaps xmmword [r8 + 0x10], xmm0
movaps xmmword [r8], xmm0
mov rax, qword [rcx + 0x38]
mov rax, qword [rax + 0x308]
xor edx, edx
mov byte [r8], dl
mov qword [r8 + 0x18], rax
lea r9, [rsp + 0x78]
mov byte [r9], dl
xorps xmm0, xmm0
movups xmmword [r9 + 8], xmm0
mov qword [r9 + 0x18], 0
mov rdx, r14
call fcn.1401546e0
mov rsi, qword [r14 + 0x180]
mov qword [r14 + 0x180], 0
test rsi, rsi
jne 0x14014ccfd
mov rsi, qword [r14 + 0x188]
mov qword [r14 + 0x188], 0
test rsi, rsi
jne 0x14014ccd6
mov rcx, qword [r14 + 0xa0]
mov rax, rcx
and rax, r13
cmp rax, qword [0x14029be48]
je 0x14014cc26
mov qword [r14 + 0xa0], 0
mov rcx, qword [r14 + 0xa8]
mov rax, rcx
and rax, r13
cmp rax, qword [0x14029be48]
je 0x14014cf67
xor esi, esi
mov qword [r14 + 0xa8], rsi
lea rcx, [r14 + 0x1f0]
call fcn.14014d120
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 0x14014caa0
cmp byte [rsi + 0x50], 0
jne 0x14014cb67
mov rcx, qword [rsi + 0x30]
mov rax, rcx
and rax, r13
cmp rax, qword [0x14029be48]
je 0x14014cc1c
mov qword [rsi + 0x30], 0
mov rcx, qword [rsi + 0x28]
mov rax, rcx
and rax, r13
cmp rax, qword [0x14029be48]
je 0x14014cf71
mov qword [rsi + 0x28], 0
mov rcx, qword [rsi]
test rcx, rcx
jne 0x14014cb9f
mov rcx, rsi
call fcn.1401833ec
test rbx, rbx
je 0x14014cafe
cmp byte [rbx + 0x50], 0
jne 0x14014cb70
mov rcx, qword [rbx + 0x30]
mov rax, rcx
and rax, r13
cmp rax, qword [0x14029be48]
je 0x14014cc30
mov qword [rbx + 0x30], 0
mov rcx, qword [rbx + 0x28]
and r13, rcx
cmp r13, qword [0x14029be48]
je 0x14014cf7b
mov qword [rbx + 0x28], 0
mov rcx, qword [rbx]
test rcx, rcx
jne 0x14014cbd7
mov rcx, rbx
call fcn.1401833ec
mov rcx, rdi
sub rcx, rbp
jne 0x14014cd93
test rbp, rbp
jne 0x14014cc0f
mov rax, qword [rsp + 0x58]
test rax, rax
jne 0x14014cf85
test r15, r15
jne 0x14014cb79
test byte [rsp + 0x57], 0x19
jne 0x14014cd6c
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
call fcn.140186020
movaps xmm6, xmmword [rsp + 0xd0]
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.1401833ec
jmp 0x14014c7ea
mov byte [rsi + 0x50], 0
jmp 0x14014ca4e
mov byte [rbx + 0x50], 0
jmp 0x14014caaf
mov rsi, qword [r15 + 0x20]
mov qword [r15 + 0x20], 0
mov rcx, r15
call fcn.14014d050
mov rcx, r15
call fcn.1401833ec
mov r15, rsi
test rsi, rsi
je 0x14014cb26
jmp 0x14014cb79
mov rax, qword [rcx + 0x20]
mov qword [rcx + 0x20], 0
mov r14, qword [rsi]
mov qword [rsi], rax
test r14, r14
je 0x14014cbc9
mov rcx, r14
call fcn.14014d050
mov rcx, r14
call fcn.1401833ec
mov rax, qword [rsi]
mov rcx, rax
test rax, rax
je 0x14014ca98
jmp 0x14014cb9f
mov rax, qword [rcx + 0x20]
mov qword [rcx + 0x20], 0
mov rsi, qword [rbx]
mov qword [rbx], rax
test rsi, rsi
je 0x14014cc01
mov rcx, rsi
call fcn.14014d050
mov rcx, rsi
call fcn.1401833ec
mov rax, qword [rbx]
mov rcx, rax
test rax, rax
je 0x14014caf6
jmp 0x14014cbd7
mov rcx, rbp
call fcn.1401833ec
jmp 0x14014cb13
call fcn.1400dca60
jmp 0x14014ca65
call fcn.1400dca60
jmp 0x14014c9c4
call fcn.1400dca60
jmp 0x14014cac6
mov rax, qword [0x1402aaf18]
lea rcx, [0x140181ca0]
cmp rax, rcx
jne 0x14014ce3b
lea rsi, [rsp + 0x78]
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 0x14014ce4b
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b6458]
mov qword [rsp + 0x78], 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, [0x1402a99c0]
lea r8, str.ScopedAllowBaseSyncPrimitivesOutsideBlockingScope
mov cl, 0x45
xor r9d, r9d
call fcn.14013ac20
jmp 0x14014c89b
lock dec dword [rsi]
jne 0x14014c9aa
mov rax, qword [rsi + 0x10]
lea rcx, [0x140200e10]
cmp rax, rcx
je 0x14014cd48
mov rcx, rsi
call qword [0x1402c9008]
jmp 0x14014c9aa
lock dec dword [rsi]
jne 0x14014c98f
mov rax, qword [rsi + 0x10]
lea rcx, [0x140200e10]
cmp rax, rcx
je 0x14014cd24
mov rcx, rsi
call qword [0x1402c9008]
jmp 0x14014c98f
mov rcx, qword [rsi + 0x28]
mov rax, rcx
and rax, r13
cmp rax, qword [0x14029be48]
je 0x14014ce31
mov rcx, rsi
call fcn.1401833ec
jmp 0x14014c98f
mov rcx, qword [rsi + 0x28]
mov rax, rcx
and rax, r13
cmp rax, qword [0x14029be48]
je 0x14014ce27
mov rcx, rsi
call fcn.1401833ec
jmp 0x14014c9aa
mov rax, qword [rsp + 0x60]
cmp byte [rax], 0
je 0x14014cb31
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x68]
call fcn.14014f640
jmp 0x14014cb31
movabs rdx, 0xc30c30c30c30c30d
mov rax, rcx
imul rdx
add rdx, rcx
mov rax, rdx
shr rax, 0x3f
sar rdx, 7
lea rcx, [rdx + rax]
cmp rcx, 1
adc rdx, rax
lea rax, [rbp + 0xa0]
mov rcx, qword [rax - 8]
test rcx, rcx
je 0x14014cdfc
mov cl, byte [rcx + 4]
test cl, cl
jne 0x14014cdfc
cmp qword [rax], 0
je 0x14014cdfc
mov rcx, qword [rax - 8]
test rcx, rcx
je 0x14014ce72
mov cl, byte [rcx + 4]
test cl, cl
jne 0x14014ce72
mov rcx, qword [rax]
mov qword [rcx + 0x10], 0xffffffffffffffff
add rax, 0xa8
dec rdx
jne 0x14014cdc3
add rdi, 0xffffffffffffff58
je 0x14014d03f
mov rcx, rdi
call fcn.1400f6230
cmp rdi, rbp
je 0x14014cb0a
jmp 0x14014ce07
call fcn.1400dfe50
jmp 0x14014cd5f
call fcn.1400dfe50
jmp 0x14014cd3b
lea rcx, [rsp + 0x78]
call qword [0x1402c9008]
jmp 0x14014cc91
mov rcx, qword [0x1402b6458]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14014cc8c
int3
call fcn.1400dca60
jmp 0x14014c886
mov rcx, qword [0x1402b6458]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14014cefa
lea rcx, [rsp + 0x78]
call qword [0x1402c9008]
jmp 0x14014ceff
mov rax, qword [0x1402aaf18]
lea rcx, [0x140181ca0]
cmp rax, rcx
jne 0x14014cea3
lea rsi, [rsp + 0x78]
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 0x14014ce7f
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b6458]
mov qword [rsp + 0x78], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rcx, [rsp + 0x78]
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, [0x1402a99c0]
lea r15, str.TaskQueueImpl::UnregisterTaskQueue
mov cl, 0x58
mov qword [rsp + 0x60], rdx
mov r8, r15
xor r9d, r9d
call fcn.14013ac20
mov qword [rsp + 0x68], rax
jmp 0x14014c795
lea rcx, [rsi + 0x10]
call fcn.14014a1a0
jmp 0x14014c865
int3
call fcn.1400dca60
jmp 0x14014c9e9
call fcn.1400dca60
jmp 0x14014ca84
call fcn.1400dca60
jmp 0x14014cae2
cmp r12, rax
je 0x14014cf9d
add r12, 0xfffffffffffffff0
mov rcx, r12
call fcn.14020a230
cmp r12, qword [rsp + 0x58]
jne 0x14014cf8a
mov rcx, qword [rsp + 0x58]
call fcn.1401833ec
jmp 0x14014cb21
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14014c8b9
mov rdx, r14
call qword [0x1402c9008]
jmp 0x14014c974
mov rbp, qword [r12]
mov rcx, qword [rbp + 8]
mov rax, rcx
and rax, r13
cmp rax, qword [0x14029be48]
jne 0x14014cfe4
call fcn.1400dca60
mov qword [rbp + 8], 0
add r12, 0x10
cmp r12, rbx
jne 0x14014cfc8
mov rax, qword [r14 + 0x60]
mov qword [rsp + 0x58], rax
mov r12, qword [r14 + 0x68]
jmp 0x14014c8f1
test ecx, ecx
jne 0x14014c865
mov ecx, 0x3fffffff
and eax, ecx
mov edx, eax
neg edx
lock xadd dword [rsi + 8], edx
test edx, edx
jns 0x14014c865
and edx, ecx
cmp edx, eax
jne 0x14014c865
lea rcx, [rsi + 0x10]
call fcn.140124ea0
jmp 0x14014c865
int3