Function at 0x1400fedb0
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 0x1400ff64e
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 0x1400fee73
mov rax, qword [rsi + 0x70]
mov rcx, qword [rax + 0x228]
mov rax, qword [rcx + 0x10]
cmp rax, qword [rcx + 0x18]
je 0x1400ff055
cmp dword [rax + 0x14], 2
sete bl
cmp byte [rsi + 0x89], bl
jne 0x1400ff063
movabs r13, 0xfffffffc00000000
mov rbx, qword [rsi + 0x70]
mov r12, qword [rbx + 0x220]
test r12, r12
jne 0x1400ff40d
cmp byte [rbx + 0x238], 0
jne 0x1400ff2a8
mov r15, qword [rbx + 0x2f0]
test r15, r15
jne 0x1400ff326
cmp byte [rsi + 0x138], 0
je 0x1400fef67
cmp byte [rsi + 0x120], 0
je 0x1400fef52
mov eax, dword [0x140228d28]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rbx, qword [rax + 0x170]
test rbx, rbx
je 0x1400fef52
mov rax, qword [rbx + 0x10]
test rax, rax
js 0x1400ff368
cmp dword [rbx + 0x24], 1
movabs r15, 0x4000000000000000
jne 0x1400ff5ba
cmp qword [rbx + 0x18], 0
jne 0x1400ff5fb
movabs rax, 0xbfffffffffffffff
lock and qword [rbx + 0x10], rax
mov r12, qword [rsi + 0x128]
cmp qword [rbx + 0x18], 0
jne 0x1400ff621
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 0x1400ff5a0
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 0x1400fefa4
mov rcx, r15
call fcn.1400acce0
mov qword [rsp + 0xa8], r15
mov byte [rsp + 0xb0], 1
mov rax, qword [rsi + 0xa0]
add rdi, 0xfffffffffffffffe
cmp rax, rdi
jne 0x1400ff379
mov rax, qword [rsi + 0x18]
cmp qword [rsi + 0x10], rax
je 0x1400ff572
mov rdi, qword [rax - 8]
cmp byte [rdi + 0xf], 0
jne 0x1400ff240
test bpl, 0x19
jne 0x1400ff578
cmp byte [rsp + 0xb0], 0
je 0x1400ff02f
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x1400ff575
lea rdx, [rsp + 0x90]
call fcn.1400b3f30
mov rcx, qword [rsp + 0xa8]
and r13, rcx
cmp r13, qword [0x140219dc8]
jne 0x1400ff02f
call fcn.1400ace30
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.14012ec00
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 0x1400fee73
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 0x1400ff266
mov r13, qword [0x1402319f8]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400ff35a
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 0x1400ff232
test eax, eax
je 0x1400ff1b7
mov qword [rsp + 0x58], r13
mov rax, qword [0x140228618]
lea rcx, [0x14012ac60]
lea r13, [rsp + 0xb8]
cmp rax, rcx
jne 0x1400ff6b3
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 0x1400ff6e9
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 0x1400ff6c5
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 0x1400ff232
mov rbx, r13
mov rax, qword [0x140228618]
lea rcx, [0x14012ac60]
lea r13, [rsp + 0xb8]
cmp rax, rcx
jne 0x1400ff4d7
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 0x1400ff4e9
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 0x1400fee73
add rsi, 8
test byte [0x140227940], 0x19
jne 0x1400ff735
mov rax, qword [rsi]
mov rax, qword [rax + 0x10]
mov rcx, rsi
call qword [0x140243008]
jmp 0x1400fefe4
lea rcx, [0x140231a00]
call fcn.14012c340
cmp dword [0x140231a00], 0xffffffff
jne 0x1400ff08e
mov ecx, 8
call fcn.14012c264
mov qword [rax], 0
mov qword [0x1402319f8], rax
lea rcx, [0x140231a00]
call fcn.14012c3a8
jmp 0x1400ff08e
lea r12, [rbx - 8]
mov al, byte [0x140227850]
test al, 0x19
mov byte [rsp + 0x58], al
jne 0x1400ff510
xor eax, eax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x60], r15
mov rcx, r12
call fcn.1400013d0
mov rax, qword [rbx + 0x2f8]
mov rax, qword [fcn.1400c93d0]
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 0x1400fee9e
jmp 0x1400ff710
mov qword [rbx + 0x2f0], 0
mov rax, qword [r15 + 8]
mov rcx, r15
call qword [0x140243008]
lock dec dword [r15]
jne 0x1400feeae
mov rax, qword [r15 + 0x10]
mov rcx, r15
call qword [0x140243008]
jmp 0x1400feeae
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400ff0a6
mov rcx, qword [0x140231d18]
call fcn.140166c20
jmp 0x1400feef4
cmp byte [rsp + 0x98], 0
je 0x1400ff3a1
mov rcx, qword [rsp + 0x90]
cmp rax, rcx
jg 0x1400fefc8
mov rax, qword [rsi + 8]
add rsi, 8
jmp 0x1400ff254
mov rax, qword [fcn.1400c93d0]
lea r15, [rsp + 0xb8]
mov rcx, r15
call qword [0x140243008]
cmp byte [rsp + 0x98], 0
mov rcx, qword [r15]
jne 0x1400ff3ce
mov byte [rsp + 0x98], 1
mov qword [rsp + 0x90], rcx
mov rax, qword [rsi + 0xa0]
jmp 0x1400ff38b
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 0x1400ff44e
mov rcx, qword [rbx + 0x228]
mov rax, qword [rcx + 0x10]
xor edx, edx
mov qword [rsp + 0x58], rdx
cmp rax, qword [rcx + 0x18]
je 0x1400ff3df
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 0x1400fee91
mov rcx, qword [rsi + 0x140]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
jmp 0x1400ff25b
mov rcx, r13
call qword [0x140243008]
mov rax, qword [r13]
jmp 0x1400ff21c
mov rcx, qword [0x140231a18]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400ff21c
lea r15, [rsp + 0xd8]
mov rcx, r15
call fcn.1400c93d0
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.1401049c0
mov r15, rax
jmp 0x1400ff2ca
int3
int3
mov rax, qword [rsp + 0x78]
cmp byte [rax], 0
je 0x1400fefee
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x88]
mov r8, r14
call fcn.1400ef510
jmp 0x1400fefee
lea r15, [rsp + 0x90]
mov rcx, r15
call fcn.1401a37c0
mov byte [r15 + 0x20], 0
jmp 0x1400fef67
cmp byte [rsi + 0x130], 0
je 0x1400fef22
cmp qword [rbx + 0x18], 0
jne 0x1400ff5d8
lock or qword [rbx + 0x10], r15
jmp 0x1400fef22
lea rcx, [rbx + 0x18]
mov r12, qword [rbx + 0x10]
call fcn.140199640
movabs rcx, 0xff00000000000000
and rcx, r12
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x1400ff5ce
lea rcx, [rbx + 0x18]
mov r12, qword [rbx + 0x10]
call fcn.140199640
movabs rcx, 0xff00000000000000
and rcx, r12
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x1400fef13
lea rcx, [rbx + 0x18]
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x58], rax
call fcn.140199640
movabs rcx, 0xff00000000000000
and rcx, qword [rsp + 0x58]
or rcx, rax
mov qword [rbx + 0x10], rcx
jmp 0x1400fef34
lea rdi, [rsp + 0xb8]
mov rcx, rdi
call fcn.1400c93d0
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.1401049c0
mov r14, rax
jmp 0x1400fee34
mov rcx, r13
call qword [0x140243008]
mov rax, qword [r13]
jmp 0x1400ff150
cmp rcx, rax
jne 0x1400ff6d4
mov r13, qword [rsp + 0x58]
jmp 0x1400ff1a4
add rcx, rdi
cmp rcx, 1
mov r13, qword [rsp + 0x58]
ja 0x1400ff1a4
int3
mov rcx, qword [0x140231a18]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400ff148
mov rax, qword [rsp + 0x68]
cmp byte [rax], 0
je 0x1400fee9e
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
mov r8, r15
call fcn.1400ef510
jmp 0x1400fee9e
lea r15, [rsp + 0xb8]
mov rcx, r15
call fcn.1400c93d0
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.1401049c0
cmp byte [0x140227940], 0
je 0x1400ff251
lea rcx, [0x140227940]
lea rdx, str.RunLoop_ExitedOnIdle
mov r8, rax
call fcn.1400ef510
jmp 0x1400ff251