Function at 0x1400be010
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, 0xc8
mov rsi, rcx
mov rax, qword [0x14022d028]
xor rax, rsp
mov qword [rsp + 0xc0], rax
movaps xmm0, xmmword [0x1401fa0c0]
movaps xmmword [rsp + 0x60], xmm0
movabs r12, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x80], r12
movaps xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x60], 0
mov byte [rsp + 0x80], 0
mov qword [rsp + 0xb8], 0x82
movzx eax, byte [0x14023f042]
test al, al
jne 0x1400be878
movabs r14, 0xfffffffc00000000
movabs r15, 0x8000000000000001
cmp byte [rsi + 0xe0], 0
jne 0x1400be0cc
mov rax, qword [rsi + 0x70]
mov rcx, qword [rax + 0x240]
mov rax, qword [rcx + 0x10]
cmp rax, qword [rcx + 0x18]
je 0x1400be2b5
cmp dword [rax + 0x14], 2
sete bl
cmp byte [rsi + 0x89], bl
jne 0x1400be2c3
mov r13, qword [rsi + 0x70]
mov rdi, qword [r13 + 0x238]
test rdi, rdi
jne 0x1400be911
cmp byte [r13 + 0x250], 0
jne 0x1400be63d
lea rdi, [r13 + 0x308]
mov rax, rdi
mov rax, qword [rax + 8]
cmp rax, rdi
jne 0x1400be518
cmp qword [r13 + 0x2c0], 0
jne 0x1400be115
lock or dword [r13 + 0x60], 2
cmp byte [rsi + 0x138], 0
je 0x1400be1ce
cmp byte [rsi + 0x120], 0
je 0x1400be1b9
mov eax, dword [0x14023be10]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rbx, qword [rax + 0x160]
test rbx, rbx
je 0x1400be1b9
mov rax, qword [rbx + 0x10]
test rax, rax
js 0x1400be768
cmp dword [rbx + 0x24], 1
movabs rdi, 0x4000000000000000
jne 0x1400be837
cmp qword [rbx + 0x18], 0
jne 0x1400be8a5
movabs rax, 0xbfffffffffffffff
lock and qword [rbx + 0x10], rax
mov r12, qword [rsi + 0x128]
cmp qword [rbx + 0x18], 0
jne 0x1400be8cb
mov rax, qword [rbx + 0x10]
and rax, rdi
movabs rcx, 0xffffffffffffff
and r12, rcx
or r12, rax
mov qword [rbx + 0x10], r12
dec dword [rbx + 0x24]
mov byte [rsi + 0x138], 0
cmp byte [rsp + 0x80], 0
jne 0x1400be7c5
lea rdi, [rsi - 0xb8]
mov rax, qword [rsi - 0xc0]
mov byte [rsp + 0x60], 0
mov byte [rsp + 0x68], 0
mov qword [rsp + 0x70], rax
mov rax, rdi
and rax, r14
cmp rax, qword [0x14022f688]
jne 0x1400be202
mov rcx, rdi
call fcn.1400c5cb0
mov qword [rsp + 0x78], rdi
mov byte [rsp + 0x80], 1
add r15, 0xfffffffffffffffe
cmp qword [rsi + 0xa0], r15
jne 0x1400be7db
mov rax, qword [rsi + 0x18]
cmp qword [rsi + 0x10], rax
je 0x1400be7bf
mov rax, qword [rax - 8]
cmp byte [rax + 0xf], 0
jne 0x1400be4cb
mov qword [rsp + 0xb8], 0x82
movzx eax, byte [0x14023f042]
test al, al
jne 0x1400be80d
cmp byte [rsp + 0x80], 0
je 0x1400be28f
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x1400be7c2
lea rdx, [rsp + 0x60]
call fcn.1400c77c0
mov rcx, qword [rsp + 0x78]
and r14, rcx
cmp r14, qword [0x14022f688]
jne 0x1400be28f
call fcn.1400c5e10
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.140146540
xor eax, eax
add rsp, 0xc8
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 0x1400be0cc
mov byte [rsi + 0x89], bl
mov eax, dword [0x14023f3e8]
mov ecx, dword [0x14023be10]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400be726
mov rdi, qword [0x14023f3e0]
mov r13, rdi
and r13, r14
cmp r13, qword [0x14022f688]
jne 0x1400be30c
mov rcx, rdi
call fcn.1400b3f20
test rdi, rdi
je 0x1400be9b6
mov qword [rsp + 0x50], r13
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400be62f
movzx ebp, bl
dec ebp
or ebp, 1
cmp byte [0x14023f39c], 0
mov eax, 8
mov ecx, 1
cmove ecx, eax
xor r13d, r13d
add ebp, dword [0x14023f3a0]
mov dword [0x14023f3a0], ebp
cmovne r13d, ecx
mov eax, dword [0x14023f3a4]
cmp r13d, eax
je 0x1400be4a3
test eax, eax
je 0x1400be430
mov rax, qword [0x14022f6c0]
lea rcx, [0x140142f90]
lea rbx, [rsp + 0x90]
cmp rax, rcx
jne 0x1400be9ca
mov qword [rbx], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbx]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400bea1b
imul rax, rax, 0xf4240
cqo
idiv qword [0x14023f400]
mov qword [rsp + 0x90], rax
mov rcx, qword [0x14023f3f0]
xor edx, edx
cmp rax, rcx
setns dl
movabs r8, 0x7fffffffffffffff
add r8, rdx
sub rax, rcx
cmovo rax, r8
lea rdx, [rax + r15]
mov rcx, qword [0x14023f3a8]
cmp rdx, 2
jb 0x1400be9db
lea rdx, [rcx + rax]
sar rdx, 0x3f
btc rdx, 0x3f
add rcx, rax
cmovo rcx, rdx
mov rax, rcx
mov qword [0x14023f3a8], rax
mov ecx, dword [0x14023f3a4]
call qword [sym.imp.WINMM.dll_timeEndPeriod]
mov dword [0x14023f3a4], r13d
test ebp, ebp
je 0x1400be4a3
mov rax, qword [0x14022f6c0]
lea rcx, [0x140142f90]
lea rbx, [rsp + 0x90]
cmp rax, rcx
jne 0x1400be9b9
mov qword [rbx], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbx]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400be9f4
imul rax, rax, 0xf4240
cqo
idiv qword [0x14023f400]
mov qword [0x14023f3f0], rax
mov ecx, dword [0x14023f3a4]
call qword [sym.imp.WINMM.dll_timeBeginPeriod]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [rsp + 0x50]
cmp rax, qword [0x14022f688]
jne 0x1400be0cc
mov rcx, rdi
call fcn.1400b4080
jmp 0x1400be0cc
mov qword [rsp + 0xb8], 0x91
mov cl, byte [0x14023f051]
test cl, cl
jne 0x1400bead5
add rsi, 8
mov qword [rsp + 0xb8], 0x91
mov al, byte [0x14023f051]
test al, al
jne 0x1400bea57
mov rax, qword [rsi]
mov rax, qword [rax + 0x10]
mov rcx, rsi
call qword [0x14021f820]
jmp 0x1400be23c
cmp qword [rax + 0x10], 0
je 0x1400be0f8
mov al, byte [r13 + 0x320]
mov byte [rsp + 0x50], al
mov byte [r13 + 0x320], 1
mov rax, rdi
mov rax, qword [rax + 8]
cmp rax, rdi
je 0x1400be5f5
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1400be539
lea r12, [r13 + 0x340]
mov rbp, qword [rax + 8]
cmp r12, rax
je 0x1400be5b0
cmp rbp, r12
je 0x1400be5b0
mov rcx, qword [rax]
mov qword [rcx + 8], rbp
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov qword [rdx], rcx
mov rcx, qword [r13 + 0x340]
mov qword [rcx + 8], rax
mov rcx, qword [r13 + 0x340]
mov qword [rax], rcx
mov qword [r13 + 0x340], rax
mov qword [rax + 8], r12
dec qword [r13 + 0x318]
inc qword [r13 + 0x350]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1400bea42
mov qword [rax + 0x10], 0
mov rax, qword [rbx + 8]
mov rcx, rbx
call qword [0x14021f820]
lock dec dword [rbx]
jne 0x1400be5d7
mov rax, qword [rbx + 0x10]
mov rcx, rbx
call qword [0x14021f820]
cmp rbp, rdi
je 0x1400be5f5
mov rax, rbp
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1400bea45
cmp rax, rdi
jne 0x1400be556
mov al, byte [rsp + 0x50]
mov byte [r13 + 0x320], al
test al, al
jne 0x1400be105
mov rcx, rdi
call fcn.1400049e0
cmp qword [r13 + 0x328], 0
je 0x1400be105
lea rcx, [r13 + 0x328]
call fcn.140139c30
jmp 0x1400be105
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400be32b
lea rdi, [r13 - 8]
mov qword [rsp + 0xb0], 0x82
mov al, byte [0x14023f042]
test al, al
jne 0x1400bea81
mov rcx, rdi
call fcn.140048af0
mov rax, qword [r13 + 0x358]
mov rax, qword [fcn.1400fc780]
lea rcx, [0x140142f90]
lea rdi, [rsp + 0xb8]
cmp rax, rcx
jne 0x1400be7ae
mov qword [rdi], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rdi]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400beaae
imul rax, rax, 0xf4240
cqo
idiv qword [0x14023f400]
add rax, 0x1c9c380
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [r13 + 0x258], rcx
mov byte [r13 + 0x250], 0
mov qword [rsp + 0xb0], 0x82
mov al, byte [0x14023f042]
test al, al
je 0x1400be0ee
movzx ecx, al
lea r8, [rsp + 0xb8]
mov qword [r8], 0
lea rdx, [rsp + 0xb0]
mov r9d, 2
call fcn.1400bf990
jmp 0x1400be0ee
lea rcx, [0x14023f3e8]
call fcn.140143cb8
cmp dword [0x14023f3e8], 0xffffffff
jne 0x1400be2ee
mov ecx, 8
call fcn.140143bb8
mov qword [rax], 0
mov qword [0x14023f3e0], rax
lea rcx, [0x14023f3e8]
call fcn.140143c58
jmp 0x1400be2ee
mov rdx, qword [0x14023f558]
mov al, byte [rdx + 0xe0]
test al, 1
je 0x1400be15b
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x90]
mov qword [rdi], rax
add rdx, 0xd8
mov rcx, rdi
call fcn.1400bb110
mov rcx, rdi
call fcn.1400bb0c0
jmp 0x1400be15b
mov rcx, rdi
call qword [0x14021f820]
mov rax, qword [rdi]
jmp 0x1400be6bf
int3
int3
lea rdi, [rsp + 0x60]
mov rcx, rdi
call fcn.1401b1f80
mov byte [rdi + 0x20], 0
jmp 0x1400be1ce
lea rcx, [rsp + 0x60]
lea rdi, [rsp + 0x90]
mov rdx, rdi
call fcn.140131110
mov rax, qword [rsi + 0xa0]
cmp rax, qword [rdi]
jg 0x1400be220
mov rax, qword [rsi + 8]
add rsi, 8
jmp 0x1400be506
movzx ecx, al
lea r8, [rsp + 0x90]
mov qword [r8], 0
lea rdx, [rsp + 0xb8]
mov r9d, 2
call fcn.1400bf990
jmp 0x1400be257
cmp byte [rsi + 0x130], 0
je 0x1400be189
cmp qword [rbx + 0x18], 0
jne 0x1400be855
lock or qword [rbx + 0x10], rdi
jmp 0x1400be189
lea rcx, [rbx + 0x18]
mov r12, qword [rbx + 0x10]
call fcn.1401a49e0
movabs rcx, 0xff00000000000000
and rcx, r12
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x1400be84b
movzx ecx, al
lea rax, str.SequenceManager::DoIdleWork
lea r8, [rsp + 0x90]
mov qword [r8], rax
lea rdx, [rsp + 0xb8]
mov r9d, 1
call fcn.140123d50
jmp 0x1400be083
lea rcx, [rbx + 0x18]
mov r12, qword [rbx + 0x10]
call fcn.1401a49e0
movabs rcx, 0xff00000000000000
and rcx, r12
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x1400be17a
lea rcx, [rbx + 0x18]
mov r13, qword [rbx + 0x10]
call fcn.1401a49e0
movabs rcx, 0xff00000000000000
and rcx, r13
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x1400be19b
lea rax, [r12 - 0xaa]
xor ecx, ecx
mov qword [rsp + 0x58], rcx
xor ebx, ebx
mov ebp, 0xaaaaaaaa
mov dword [rsp + 0x50], 0xaaaaaaaa
jmp 0x1400be945
mov rcx, qword [r13 + 0x240]
mov rax, qword [rcx + 0x10]
xor ebp, ebp
cmp rax, qword [rcx + 0x18]
je 0x1400be8f1
mov rcx, qword [rax]
mov r12, qword [rax + 8]
mov eax, dword [rax + 0x14]
mov dword [rsp + 0x50], eax
movzx ebx, cl
mov rax, rcx
and rax, 0xffffffffffffff00
mov cl, 1
mov qword [rsp + 0x58], rcx
or rbx, rax
mov rcx, qword [r13 + 0x28]
mov rax, qword [rcx]
mov rax, qword [rax + 0x50]
call qword [0x14021f820]
lea rdx, [rsp + 0x90]
mov qword [rdx], rbx
mov qword [rdx + 8], r12
mov dword [rdx + 0x10], ebp
mov ecx, dword [rsp + 0x50]
mov dword [rdx + 0x14], ecx
mov rcx, qword [rsp + 0x58]
mov byte [rdx + 0x18], cl
mov ecx, 0xaaaaaaaa
mov dword [rdx + 0x19], ecx
mov dword [rdx + 0x1c], ecx
mov rcx, qword [rdi]
mov r9, qword [rcx + 0x10]
mov rcx, rdi
mov r8d, eax
mov rax, r9
call qword [0x14021f820]
test al, al
je 0x1400be0e0
mov rcx, qword [rsi + 0x140]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
jmp 0x1400be50d
int3
mov rcx, rbx
call qword [0x14021f820]
mov rax, qword [rbx]
jmp 0x1400be490
mov rcx, rbx
call qword [0x14021f820]
mov rax, qword [rbx]
jmp 0x1400be3ce
cmp rcx, rax
je 0x1400be41d
add rcx, r15
cmp rcx, 1
ja 0x1400be41d
int3
mov rcx, qword [0x14023f400]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400be490
mov rcx, qword [0x14023f400]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400be3c6
int3
mov rax, qword [rax + 8]
cmp rax, rdi
je 0x1400be5f5
jmp 0x1400be5df
movzx ecx, al
lea r8, [rsp + 0x90]
mov qword [r8], 0
lea rdx, [rsp + 0xb8]
mov r9d, 2
call fcn.1400bf990
jmp 0x1400be503
movzx ecx, al
lea rax, str.SequenceManagerImpl::MaybeReclaimMemory
lea r8, [rsp + 0xb8]
mov qword [r8], rax
lea rdx, [rsp + 0xb0]
mov r9d, 1
call fcn.140123d50
jmp 0x1400be65b
mov rcx, qword [0x14023f400]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400be6bf
movzx ecx, cl
lea rdx, str.RunLoop_ExitedOnIdle
lea r8, [rsp + 0x90]
mov qword [r8], rdx
mov qword [rsp + 0x40], rax
lea rax, [0x140201ce0]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0x80
mov byte [rsp + 0x28], 0x42
lea rdx, [rsp + 0xb8]
mov r9d, 1
call fcn.14001ae70
jmp 0x1400be4e5