Function at 0x14015e2d0
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, 0x118
movaps xmmword [rsp + 0x100], xmm6
mov rsi, rcx
mov rax, qword [0x14029c028]
xor rax, rsp
mov qword [rsp + 0xf8], rax
movabs r15, 0xaaaaaaaaaaaaaaaa
movaps xmm0, xmmword [0x14026dc70]
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc0], r15
mov byte [rsp + 0x90], 0
xorps xmm6, xmm6
movups xmmword [rsp + 0x98], xmm6
movups xmmword [rsp + 0xa8], xmm6
mov qword [rsp + 0xb8], 0
movzx ebp, byte [0x1402ab130]
test bpl, 0x19
jne 0x14015eda2
xor edx, edx
mov r8, r15
mov r9, r15
movabs rdi, 0x8000000000000001
cmp byte [rsi + 0xe0], 0
jne 0x14015e3b0
mov rax, qword [rsi + 0x70]
mov rcx, qword [rax + 0x230]
mov rax, qword [rcx + 0x10]
cmp rax, qword [rcx + 0x18]
je 0x14015e57e
cmp dword [rax + 0x14], 2
sete bl
cmp byte [rsi + 0x89], bl
jne 0x14015e5d4
lea r12, [rsp + 0x98]
movabs rbx, 0xfffffffc00000000
mov r14, qword [rsi + 0x70]
mov r13, qword [r14 + 0x228]
test r13, r13
jne 0x14015ec26
cmp byte [r14 + 0x240], 0
jne 0x14015e839
mov r15, qword [r14 + 0x2f8]
test r15, r15
jne 0x14015eadb
cmp byte [rsi + 0x128], 0
je 0x14015e4a1
cmp byte [rsi + 0x130], 0
je 0x14015e49a
mov eax, dword [0x1402ac5e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r14, qword [rax + 0x190]
test r14, r14
je 0x14015e49a
mov rax, qword [r14 + 0x10]
test rax, rax
js 0x14015e912
cmp dword [r14 + 0x24], 1
movabs r15, 0x4000000000000000
jne 0x14015eb52
cmp qword [r14 + 0x18], 0
jne 0x14015ed5b
movabs rax, 0xbfffffffffffffff
lock and qword [r14 + 0x10], rax
mov r13, qword [rsi + 0x138]
cmp qword [r14 + 0x18], 0
jne 0x14015ed10
mov rax, qword [r14 + 0x10]
and rax, r15
movabs rcx, 0xffffffffffffff
and r13, rcx
or r13, rax
mov qword [r14 + 0x10], r13
dec dword [r14 + 0x24]
mov byte [rsi + 0x128], 0
lea r15, [rsi - 0xc0]
mov rax, qword [rsi - 0xc8]
mov byte [rsp + 0x98], 0
mov qword [rsp + 0xb0], rax
mov rax, r15
and rax, rbx
cmp rax, qword [0x14029ce48]
je 0x14015e595
mov qword [rsp + 0xb8], r15
mov byte [rsp + 0x90], 1
add rdi, 0xfffffffffffffffe
cmp qword [rsi + 0xa8], rdi
jne 0x14015ebb4
mov rax, qword [rsi + 0x18]
cmp qword [rsi + 0x10], rax
je 0x14015eb30
mov rdi, qword [rax - 8]
cmp byte [rdi + 0xf], 0
jne 0x14015e801
test bpl, 0x19
jne 0x14015eb36
cmp byte [rsp + 0x90], 0
je 0x14015e550
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x14015eb33
mov rdx, r12
call fcn.1400e4030
mov rcx, qword [rsp + 0xb8]
and rbx, rcx
cmp rbx, qword [0x14029ce48]
je 0x14015e58e
mov rcx, qword [rsp + 0xf8]
xor rcx, rsp
call fcn.1401879f0
xor eax, eax
movaps xmm6, xmmword [rsp + 0x100]
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor ebx, ebx
cmp byte [rsi + 0x89], bl
je 0x14015e3b0
jmp 0x14015e5d4
call fcn.1400de590
jmp 0x14015e550
mov rcx, r15
mov r14, rdx
mov r13, r8
mov qword [rsp + 0x60], rsi
mov rsi, rbx
mov rbx, rdi
mov edi, ebp
mov rbp, r12
mov r12, r9
call fcn.1400ddc60
mov r9, r12
mov r12, rbp
mov ebp, edi
mov rdi, rbx
mov rbx, rsi
mov rsi, qword [rsp + 0x60]
mov r8, r13
mov rdx, r14
jmp 0x14015e4d2
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x68], rdx
mov byte [rsi + 0x89], bl
mov eax, dword [0x1402b7440]
mov ecx, dword [0x1402ac5e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14015e7bf
mov r12, qword [0x1402b7438]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14015ee03
movzx ebx, bl
dec ebx
or ebx, 1
cmp byte [0x1402b73f4], 0
mov eax, 8
mov ecx, 1
cmove ecx, eax
xor r14d, r14d
add ebx, dword [0x1402b73f8]
mov dword [0x1402b73f8], ebx
cmovne r14d, ecx
mov eax, dword [0x1402b73fc]
cmp r14d, eax
je 0x14015e7a2
test eax, eax
je 0x14015e72d
mov rax, qword [0x1402abf18]
lea rcx, [0x140183600]
lea r13, [rsp + 0xd0]
cmp rax, rcx
jne 0x14015e948
mov qword [r13], 0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [r13]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x14015e9ae
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b7458]
mov qword [rsp + 0xd0], rax
mov rcx, qword [0x1402b7448]
xor edx, edx
cmp rax, rcx
setns dl
movabs r8, 0x7fffffffffffffff
add r8, rdx
sub rax, rcx
cmovo rax, r8
lea rdx, [rax + rdi]
mov rcx, qword [0x1402b7400]
cmp rdx, 2
jb 0x14015e96c
lea rdx, [rcx + rax]
sar rdx, 0x3f
btc rdx, 0x3f
add rcx, rax
cmovo rcx, rdx
mov rax, rcx
mov qword [0x1402b7400], rax
mov ecx, dword [0x1402b73fc]
call qword [sym.imp.WINMM.dll_timeEndPeriod]
mov dword [0x1402b73fc], r14d
test ebx, ebx
je 0x14015e7a2
mov rax, qword [0x1402abf18]
lea rcx, [0x140183600]
lea r13, [rsp + 0xd0]
cmp rax, rcx
jne 0x14015e95a
mov qword [r13], 0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [r13]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x14015e987
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b7458]
mov qword [0x1402b7448], rax
mov ecx, dword [0x1402b73fc]
call qword [sym.imp.WINMM.dll_timeBeginPeriod]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x58]
mov r9, qword [rsp + 0x50]
jmp 0x14015e3b0
lea rcx, [0x1402b7440]
call fcn.140184f58
cmp dword [0x1402b7440], 0xffffffff
jne 0x14015e60e
mov ecx, 8
call fcn.140184dc4
mov qword [rax], 0
mov qword [0x1402b7438], rax
lea rcx, [0x1402b7440]
call fcn.140184fc0
jmp 0x14015e60e
mov r15, r9
mov r13, r8
mov r14, rdx
add rsi, 8
test byte [0x1402ab220], 0x19
jne 0x14015e9fc
mov rax, qword [rsi]
mov rax, qword [rax + 0x10]
mov rcx, rsi
call qword [0x1402ca008]
mov rdx, r14
mov r8, r13
mov r9, r15
jmp 0x14015e50f
lea r13, [r14 - 8]
mov al, byte [0x1402ab130]
mov byte [rsp + 0x60], al
test al, 0x19
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x50], r9
jne 0x14015ea79
xor eax, eax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], r15
mov rcx, r13
call fcn.1400012f0
mov rax, qword [r14 + 0x300]
mov rax, qword [fcn.14014f070]
lea rcx, [0x140183600]
lea r13, [rsp + 0x88]
cmp rax, rcx
jne 0x14015e939
mov qword [r13], 0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [r13]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x14015e9d5
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b7458]
mov r8, qword [rsp + 0x58]
mov r9, qword [rsp + 0x50]
add rax, 0x1c9c380
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [r14 + 0x248], rcx
mov byte [r14 + 0x240], 0
test byte [rsp + 0x60], 0x19
mov rdx, qword [rsp + 0x68]
je 0x14015e3e4
jmp 0x14015ee11
mov rcx, qword [0x1402b7790]
mov r15, rdx
mov r13, r8
mov qword [rsp + 0x50], r9
call fcn.1401c26a0
mov r9, qword [rsp + 0x50]
mov r8, r13
mov rdx, r15
jmp 0x14015e43a
mov rcx, r13
call qword [0x1402ca008]
mov rax, qword [r13]
jmp 0x14015e8d0
mov rcx, r13
call qword [0x1402ca008]
mov rax, qword [r13]
jmp 0x14015e6cb
mov rcx, r13
call qword [0x1402ca008]
mov rax, qword [r13]
jmp 0x14015e78f
cmp rcx, rax
je 0x14015e71a
add rcx, rdi
cmp rcx, 1
ja 0x14015e71a
jmp 0x14015ee47
mov rcx, qword [0x1402b7458]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14015e78f
mov rcx, qword [0x1402b7458]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14015e6c3
mov rcx, qword [0x1402b7458]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14015e8d0
lea rcx, [rsp + 0xd0]
call fcn.14014f070
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
xor ecx, ecx
mov qword [rsp + 0x40], rcx
lea rdx, [rsp + 0xd0]
mov qword [rsp + 0x38], rdx
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x48], 0x880
lea rdx, [0x1402ab220]
lea r8, str.RunLoop_ExitedOnIdle
mov cl, 0x58
xor r9d, r9d
call fcn.14013bad0
cmp byte [0x1402ab220], 0
je 0x14015e81b
lea rcx, [0x1402ab220]
lea rdx, str.RunLoop_ExitedOnIdle
mov r8, rax
call fcn.140153530
jmp 0x14015e81b
lea r15, [rsp + 0x88]
mov rcx, r15
call fcn.14014f070
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov qword [rsp + 0x38], r15
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, [0x1402ab130]
lea r8, str.SequenceManagerImpl::MaybeReclaimMemory
mov cl, 0x58
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], r8
xor r9d, r9d
call fcn.14013bad0
mov r15, rax
jmp 0x14015e86a
mov qword [r14 + 0x2f8], 0
mov rax, qword [r15 + 8]
mov rcx, r15
mov r14, rdx
mov r13, r8
mov qword [rsp + 0x50], r9
call qword [0x1402ca008]
mov r9, qword [rsp + 0x50]
mov r8, r13
mov rdx, r14
lock dec dword [r15]
jne 0x14015e3f4
mov rax, qword [r15 + 0x10]
mov rcx, r15
call qword [0x1402ca008]
mov r9, qword [rsp + 0x50]
mov r8, r13
mov rdx, r14
jmp 0x14015e3f4
int3
int3
cmp byte [rdx], 0
je 0x14015e519
mov rcx, rdx
mov rdx, r8
mov r8, r9
call fcn.140153530
jmp 0x14015e519
cmp byte [rsi + 0x140], 0
je 0x14015e469
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x58], r8
mov r13, rdx
cmp qword [r14 + 0x18], 0
jne 0x14015eb8a
lock or qword [r14 + 0x10], r15
mov rdx, r13
mov r8, qword [rsp + 0x58]
mov r9, qword [rsp + 0x50]
jmp 0x14015e469
lea rcx, [r14 + 0x18]
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x60], rax
call fcn.1401c26f0
movabs rcx, 0xff00000000000000
and rcx, qword [rsp + 0x60]
or rcx, rax
mov qword [r14 + 0x10], rcx
jmp 0x14015eb73
lea r15, [rsp + 0xd0]
mov rcx, r12
mov rdi, rdx
mov rdx, r15
mov r14, r8
mov r13, r9
call fcn.140184720
mov r9, r13
mov r8, r14
mov rdx, rdi
mov rax, qword [rsi + 0xa8]
cmp rax, qword [r15]
jg 0x14015e4f3
mov rax, qword [rsi + 8]
add rsi, 8
mov rax, qword [rax + 0x10]
mov rcx, rsi
call qword [0x1402ca008]
mov r9, r13
mov r8, r14
mov rdx, rdi
jmp 0x14015e50f
xor eax, eax
mov qword [rsp + 0x60], rax
xor eax, eax
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x78], 0
xor eax, eax
jmp 0x14015ec60
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x68], rdx
mov rcx, qword [r14 + 0x230]
mov rax, qword [rcx + 0x10]
cmp rax, qword [rcx + 0x18]
je 0x14015ec0c
mov rcx, qword [rax]
mov qword [rsp + 0x60], rcx
mov rcx, qword [rax + 8]
mov qword [rsp + 0x70], rcx
mov eax, dword [rax + 0x14]
mov dword [rsp + 0x78], eax
mov al, 1
mov qword [rsp + 0x80], rax
mov rcx, qword [r14 + 0x28]
mov rax, qword [rcx]
mov rax, qword [rax + 0x50]
call qword [0x1402ca008]
lea rdx, [rsp + 0xd0]
mov rcx, qword [rsp + 0x80]
mov byte [rdx], cl
mov ecx, 0xaaaaaaaa
mov dword [rdx + 1], ecx
mov dword [rdx + 4], ecx
mov rcx, qword [rsp + 0x60]
mov qword [rdx + 8], rcx
mov rcx, qword [rsp + 0x70]
mov qword [rdx + 0x10], rcx
mov dword [rdx + 0x18], 0
mov ecx, dword [rsp + 0x78]
mov dword [rdx + 0x1c], ecx
mov qword [rdx + 0x20], r15
mov rcx, qword [r13]
mov r9, qword [rcx + 0x10]
mov rcx, r13
mov r8d, eax
mov rax, r9
call qword [0x1402ca008]
test al, al
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x58]
mov r9, qword [rsp + 0x50]
je 0x14015e3d6
mov rcx, qword [rsi + 0x150]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
call qword [0x1402ca008]
mov r9, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x68]
jmp 0x14015e50f
lea rcx, [r14 + 0x18]
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x50], r9
call fcn.1401c26f0
mov r9, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x68]
movabs rcx, 0xff00000000000000
and rcx, qword [rsp + 0x60]
or rcx, rax
mov qword [r14 + 0x10], rcx
jmp 0x14015e47b
lea rcx, [r14 + 0x18]
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rdx
mov r13, r8
mov qword [rsp + 0x50], r9
call fcn.1401c26f0
mov r9, qword [rsp + 0x50]
mov r8, r13
mov rdx, qword [rsp + 0x68]
movabs rcx, 0xff00000000000000
and rcx, qword [rsp + 0x60]
or rcx, rax
mov qword [r14 + 0x10], rcx
jmp 0x14015e45a
lea rdi, [rsp + 0xd0]
mov rcx, rdi
call fcn.14014f070
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x30], eax
movups xmmword [rsp + 0x20], xmm6
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
lea rdi, [0x1402ab130]
lea rbx, str.SequenceManager::DoIdleWork
mov cl, 0x58
mov rdx, rdi
mov r8, rbx
xor r9d, r9d
call fcn.14013bad0
mov r8, rbx
mov rdx, rdi
mov r9, rax
jmp 0x14015e371
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14015e626
mov rax, qword [rsp + 0x70]
cmp byte [rax], 0
je 0x14015e3e4
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov r13, r8
mov r8, r15
mov r15, r9
call fcn.140153530
mov r9, r15
mov r8, r13
mov rdx, qword [rsp + 0x68]
jmp 0x14015e3e4
int3