Function at 0x1400fe570
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
mov rsi, rcx
mov rax, qword [0x140219028]
xor rax, rsp
mov qword [rsp + 0xe0], rax
movabs r15, 0xaaaaaaaaaaaaaaaa
movaps xmm0, xmmword [0x1401ee3a0]
movaps xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xb0], r15
movaps xmmword [rsp + 0xa0], xmm0
mov byte [rsp + 0x90], 0
mov byte [rsp + 0xb0], 0
movzx ebp, byte [0x140227850]
test bpl, 0x19
jne 0x1400fee0e
xor eax, eax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x88], r15
mov r14, r15
movabs rdi, 0x8000000000000001
cmp byte [rsi + 0xd8], 0
jne 0x1400fe633
mov rax, qword [rsi + 0x70]
mov rcx, qword [rax + 0x228]
mov rax, qword [rcx + 0x10]
cmp rax, qword [rcx + 0x18]
je 0x1400fe815
cmp dword [rax + 0x14], 2
sete bl
cmp byte [rsi + 0x89], bl
jne 0x1400fe823
movabs r13, 0xfffffffc00000000
mov rbx, qword [rsi + 0x70]
mov r12, qword [rbx + 0x220]
test r12, r12
jne 0x1400febcd
cmp byte [rbx + 0x238], 0
jne 0x1400fea68
mov r15, qword [rbx + 0x2f0]
test r15, r15
jne 0x1400feaf4
cmp byte [rsi + 0x138], 0
je 0x1400fe727
cmp byte [rsi + 0x120], 0
je 0x1400fe712
mov eax, dword [0x140228d28]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rbx, qword [rax + 0x170]
test rbx, rbx
je 0x1400fe712
mov rax, qword [rbx + 0x10]
test rax, rax
js 0x1400feb28
cmp dword [rbx + 0x24], 1
movabs r15, 0x4000000000000000
jne 0x1400fed7a
cmp qword [rbx + 0x18], 0
jne 0x1400fedbb
movabs rax, 0xbfffffffffffffff
lock and qword [rbx + 0x10], rax
mov r12, qword [rsi + 0x128]
cmp qword [rbx + 0x18], 0
jne 0x1400fede1
mov rax, qword [rbx + 0x10]
and rax, r15
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 + 0xb0], 0
jne 0x1400fed60
lea r15, [rsi - 0xb8]
mov rax, qword [rsi - 0xc0]
mov byte [rsp + 0x90], 0
mov byte [rsp + 0x98], 0
mov qword [rsp + 0xa0], rax
mov rax, r15
and rax, r13
cmp rax, qword [0x140219dc8]
jne 0x1400fe764
mov rcx, r15
call fcn.1400ad040
mov qword [rsp + 0xa8], r15
mov byte [rsp + 0xb0], 1
mov rax, qword [rsi + 0xa0]
add rdi, 0xfffffffffffffffe
cmp rax, rdi
jne 0x1400feb39
mov rax, qword [rsi + 0x18]
cmp qword [rsi + 0x10], rax
je 0x1400fed32
mov rdi, qword [rax - 8]
cmp byte [rdi + 0xf], 0
jne 0x1400fea00
test bpl, 0x19
jne 0x1400fed38
cmp byte [rsp + 0xb0], 0
je 0x1400fe7ef
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x1400fed35
lea rdx, [rsp + 0x90]
call fcn.1400b42b0
mov rcx, qword [rsp + 0xa8]
and r13, rcx
cmp r13, qword [0x140219dc8]
jne 0x1400fe7ef
call fcn.1400ad190
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.14012f6f0
xor eax, eax
add rsp, 0xe8
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 0x1400fe633
mov byte [rsi + 0x89], bl
mov eax, dword [0x140231a00]
mov ecx, dword [0x140228d28]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400fea26
mov r13, qword [0x1402319f8]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400feae6
movzx ebx, bl
dec ebx
or ebx, 1
cmp byte [0x1402319b4], 0
mov eax, 8
mov ecx, 1
cmove ecx, eax
xor r12d, r12d
add ebx, dword [0x1402319b8]
mov dword [0x1402319b8], ebx
cmovne r12d, ecx
mov eax, dword [0x1402319bc]
cmp r12d, eax
je 0x1400fe9f2
test eax, eax
je 0x1400fe977
mov qword [rsp + 0x58], r13
mov rax, qword [0x140228618]
lea rcx, [0x14012b780]
lea r13, [rsp + 0xb8]
cmp rax, rcx
jne 0x1400fee73
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 0x1400feea9
imul rax, rax, 0xf4240
cqo
idiv qword [0x140231a18]
mov qword [rsp + 0xb8], rax
mov r13, qword [rsp + 0x58]
mov rcx, qword [0x140231a08]
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 [0x1402319c0]
cmp rdx, 2
jb 0x1400fee85
lea rdx, [rcx + rax]
sar rdx, 0x3f
btc rdx, 0x3f
add rcx, rax
cmovo rcx, rdx
mov rax, rcx
mov qword [0x1402319c0], rax
mov ecx, dword [0x1402319bc]
call qword [sym.imp.WINMM.dll_timeEndPeriod]
mov dword [0x1402319bc], r12d
test ebx, ebx
je 0x1400fe9f2
mov rbx, r13
mov rax, qword [0x140228618]
lea rcx, [0x14012b780]
lea r13, [rsp + 0xb8]
cmp rax, rcx
jne 0x1400fec97
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 0x1400feca9
imul rax, rax, 0xf4240
cqo
idiv qword [0x140231a18]
mov r13, rbx
mov qword [0x140231a08], rax
mov ecx, dword [0x1402319bc]
call qword [sym.imp.WINMM.dll_timeBeginPeriod]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1400fe633
add rsi, 8
test byte [0x140227940], 0x19
jne 0x1400feef5
mov rax, qword [rsi]
mov rax, qword [rax + 0x10]
mov rcx, rsi
call qword [0x140243008]
jmp 0x1400fe7a4
lea rcx, [0x140231a00]
call fcn.14012ce30
cmp dword [0x140231a00], 0xffffffff
jne 0x1400fe84e
mov ecx, 8
call fcn.14012cd5c
mov qword [rax], 0
mov qword [0x1402319f8], rax
lea rcx, [0x140231a00]
call fcn.14012ce98
jmp 0x1400fe84e
lea r12, [rbx - 8]
mov al, byte [0x140227850]
mov byte [rsp + 0x58], al
test al, 0x19
jne 0x1400fecd0
xor eax, eax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x60], r15
mov rcx, r12
call fcn.140001380
mov rax, qword [rbx + 0x2f8]
mov rax, qword [fcn.140109860]
lea r12, [rsp + 0xd8]
mov rcx, r12
call qword [0x140243008]
mov eax, 0x1c9c380
add rax, qword [r12]
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [rbx + 0x240], rcx
mov byte [rbx + 0x238], 0
test byte [rsp + 0x58], 0x19
je 0x1400fe65e
jmp 0x1400feed0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400fe866
mov qword [rbx + 0x2f0], 0
mov rax, qword [r15 + 8]
mov rcx, r15
call qword [0x140243008]
lock dec dword [r15]
jne 0x1400fe66e
mov rax, qword [r15 + 0x10]
mov rcx, r15
call qword [0x140243008]
jmp 0x1400fe66e
mov rcx, qword [0x140231d18]
call fcn.140167760
jmp 0x1400fe6b4
cmp byte [rsp + 0x98], 0
je 0x1400feb61
mov rcx, qword [rsp + 0x90]
cmp rax, rcx
jg 0x1400fe788
mov rax, qword [rsi + 8]
add rsi, 8
jmp 0x1400fea14
mov rax, qword [fcn.140109860]
lea r15, [rsp + 0xb8]
mov rcx, r15
call qword [0x140243008]
cmp byte [rsp + 0x98], 0
mov rcx, qword [r15]
jne 0x1400feb8e
mov byte [rsp + 0x98], 1
mov qword [rsp + 0x90], rcx
mov rax, qword [rsi + 0xa0]
jmp 0x1400feb4b
mov rax, r15
add rax, 0xffffffffffffff56
xor ecx, ecx
mov qword [rsp + 0x80], rcx
xor edx, edx
mov qword [rsp + 0x60], r15
mov ecx, 0xaaaaaaaa
mov qword [rsp + 0x58], rcx
mov dword [rsp + 0x74], 0xaaaaaaaa
jmp 0x1400fec0e
mov rcx, qword [rbx + 0x228]
mov rax, qword [rcx + 0x10]
xor edx, edx
mov qword [rsp + 0x58], rdx
cmp rax, qword [rcx + 0x18]
je 0x1400feb9f
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov qword [rsp + 0x60], rdx
mov eax, dword [rax + 0x14]
mov dword [rsp + 0x74], eax
movzx edx, cl
mov rax, rcx
and rax, 0xffffffffffffff00
mov cl, 1
mov qword [rsp + 0x80], rcx
or rdx, rax
mov qword [rsp + 0x68], rdx
mov rcx, qword [rbx + 0x28]
mov rax, qword [rcx]
mov rax, qword [rax + 0x50]
call qword [0x140243008]
lea rdx, [rsp + 0xb8]
mov rcx, qword [rsp + 0x68]
mov qword [rdx], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rdx + 8], rcx
mov rcx, qword [rsp + 0x58]
mov dword [rdx + 0x10], ecx
mov ecx, dword [rsp + 0x74]
mov dword [rdx + 0x14], ecx
mov rcx, qword [rsp + 0x80]
mov byte [rdx + 0x18], cl
mov ecx, 0xaaaaaaaa
mov dword [rdx + 0x19], ecx
mov dword [rdx + 0x1c], ecx
mov rcx, qword [r12]
mov r9, qword [rcx + 0x10]
mov rcx, r12
mov r8d, eax
mov rax, r9
call qword [0x140243008]
test al, al
je 0x1400fe651
mov rcx, qword [rsi + 0x140]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
jmp 0x1400fea1b
mov rcx, r13
call qword [0x140243008]
mov rax, qword [r13]
jmp 0x1400fe9dc
mov rcx, qword [0x140231a18]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400fe9dc
lea r15, [rsp + 0xd8]
mov rcx, r15
call fcn.140109860
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, [0x140227850]
lea r8, str.SequenceManagerImpl::MaybeReclaimMemory
mov cl, 0x58
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], r8
xor r9d, r9d
call fcn.140106570
mov r15, rax
jmp 0x1400fea8a
int3
int3
mov rax, qword [rsp + 0x78]
cmp byte [rax], 0
je 0x1400fe7ae
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x88]
mov r8, r14
call fcn.1400efa90
jmp 0x1400fe7ae
lea r15, [rsp + 0x90]
mov rcx, r15
call fcn.1401a36a0
mov byte [r15 + 0x20], 0
jmp 0x1400fe727
cmp byte [rsi + 0x130], 0
je 0x1400fe6e2
cmp qword [rbx + 0x18], 0
jne 0x1400fed98
lock or qword [rbx + 0x10], r15
jmp 0x1400fe6e2
lea rcx, [rbx + 0x18]
mov r12, qword [rbx + 0x10]
call fcn.1401995a0
movabs rcx, 0xff00000000000000
and rcx, r12
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x1400fed8e
lea rcx, [rbx + 0x18]
mov r12, qword [rbx + 0x10]
call fcn.1401995a0
movabs rcx, 0xff00000000000000
and rcx, r12
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x1400fe6d3
lea rcx, [rbx + 0x18]
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x58], rax
call fcn.1401995a0
movabs rcx, 0xff00000000000000
and rcx, qword [rsp + 0x58]
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x1400fe6f4
lea rdi, [rsp + 0xb8]
mov rcx, rdi
call fcn.140109860
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, [0x140227850]
lea r8, str.SequenceManager::DoIdleWork
mov cl, 0x58
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x88], r8
xor r9d, r9d
call fcn.140106570
mov r14, rax
jmp 0x1400fe5f4
mov rcx, r13
call qword [0x140243008]
mov rax, qword [r13]
jmp 0x1400fe910
cmp rcx, rax
jne 0x1400fee94
mov r13, qword [rsp + 0x58]
jmp 0x1400fe964
add rcx, rdi
cmp rcx, 1
mov r13, qword [rsp + 0x58]
ja 0x1400fe964
int3
mov rcx, qword [0x140231a18]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400fe908
mov rax, qword [rsp + 0x68]
cmp byte [rax], 0
je 0x1400fe65e
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
mov r8, r15
call fcn.1400efa90
jmp 0x1400fe65e
lea r15, [rsp + 0xb8]
mov rcx, r15
call fcn.140109860
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
xor ecx, ecx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], r15
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x48], 0x880
lea rdx, [0x140227940]
lea r8, str.RunLoop_ExitedOnIdle
mov cl, 0x58
xor r9d, r9d
call fcn.140106570
cmp byte [0x140227940], 0
je 0x1400fea11
lea rcx, [0x140227940]
lea rdx, str.RunLoop_ExitedOnIdle
mov r8, rax
call fcn.1400efa90
jmp 0x1400fea11