Function at 0x14009c630
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 [0x140231040]
xor rax, rsp
mov qword [rsp + 0xc0], rax
movaps xmm0, xmmword [0x1401fd000]
movaps xmmword [rsp + 0x60], xmm0
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x80], rax
movaps xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x60], 0
mov byte [rsp + 0x80], 0
mov qword [rsp + 0xb8], 0x82
movzx eax, byte [0x140243602]
test al, al
jne 0x14009ce48
movabs r14, 0x8000000000000001
cmp byte [rsi + 0xe0], 0
jne 0x14009c6e2
mov rax, qword [rsi + 0x70]
mov rcx, qword [rax + 0x240]
mov rax, qword [rcx + 0x10]
cmp rax, qword [rcx + 0x18]
je 0x14009c8da
cmp dword [rax + 0x14], 2
sete bl
cmp byte [rsi + 0x89], bl
jne 0x14009c8e8
movabs r15, 0xfffffffc00000000
mov r12, qword [rsi + 0x70]
mov rdi, qword [r12 + 0x238]
test rdi, rdi
jne 0x14009ceeb
cmp byte [r12 + 0x250], 0
jne 0x14009cc20
lea rdi, [r12 + 0x308]
mov rax, rdi
mov rax, qword [rax + 8]
cmp rax, rdi
jne 0x14009cafe
cmp qword [r12 + 0x2c0], 0
jne 0x14009c73a
lock or dword [r12 + 0x60], 2
cmp byte [rsi + 0x138], 0
je 0x14009c7f3
cmp byte [rsi + 0x120], 0
je 0x14009c7de
mov eax, dword [0x1402403d8]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rdi, qword [rax + 0x160]
test rdi, rdi
je 0x14009c7de
mov rax, qword [rdi + 0x10]
test rax, rax
js 0x14009cd84
cmp dword [rdi + 0x24], 1
movabs rbx, 0x4000000000000000
jne 0x14009ce07
cmp qword [rdi + 0x18], 0
jne 0x14009ce75
movabs rax, 0xbfffffffffffffff
lock and qword [rdi + 0x10], rax
mov r12, qword [rsi + 0x128]
cmp qword [rdi + 0x18], 0
jne 0x14009ce9b
mov rax, qword [rdi + 0x10]
and rax, rbx
movabs rcx, 0xffffffffffffff
and r12, rcx
or r12, rax
mov qword [rdi + 0x10], r12
dec dword [rdi + 0x24]
mov byte [rsi + 0x138], 0
cmp byte [rsp + 0x80], 0
jne 0x14009cd95
lea rdi, [rsi - 0xd0]
mov rax, qword [rsi - 0xd8]
mov byte [rsp + 0x60], 0
mov byte [rsp + 0x68], 0
mov qword [rsp + 0x70], rax
mov rax, rdi
and rax, r15
cmp rax, qword [0x1402336c8]
jne 0x14009c827
mov rcx, rdi
call fcn.1400a3490
mov qword [rsp + 0x78], rdi
mov byte [rsp + 0x80], 1
add r14, 0xfffffffffffffffe
cmp qword [rsi + 0xa0], r14
jne 0x14009cdab
mov rax, qword [rsi + 0x18]
cmp qword [rsi + 0x10], rax
je 0x14009cd71
mov rax, qword [rax - 8]
cmp byte [rax + 0xf], 0
jne 0x14009cab1
mov qword [rsp + 0xb8], 0x82
movzx eax, byte [0x140243602]
test al, al
jne 0x14009cddd
cmp byte [rsp + 0x80], 0
je 0x14009c8b4
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x14009cd6e
lea rdx, [rsp + 0x60]
call fcn.1400a6120
mov rcx, qword [rsp + 0x78]
and r15, rcx
cmp r15, qword [0x1402336c8]
jne 0x14009c8b4
call fcn.1400a3600
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.14012d2c0
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 0x14009c6e2
mov byte [rsi + 0x89], bl
mov eax, dword [0x1402439d0]
mov ecx, dword [0x1402403d8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14009cd0d
mov rdi, qword [0x1402439c8]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14009cd4f
movzx ebp, bl
dec ebp
or ebp, 1
cmp byte [0x140243984], 0
mov eax, 8
mov ecx, 1
cmove ecx, eax
xor r15d, r15d
add ebp, dword [0x140243988]
mov dword [0x140243988], ebp
cmovne r15d, ecx
mov eax, dword [0x14024398c]
cmp r15d, eax
je 0x14009caa3
test eax, eax
je 0x14009ca30
mov rax, qword [0x140233700]
lea rcx, [0x140116ab0]
lea rbx, [rsp + 0x90]
cmp rax, rcx
jne 0x14009cfa7
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 0x14009cff8
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402439e8]
mov qword [rsp + 0x90], rax
mov rcx, qword [0x1402439d8]
xor edx, edx
cmp rax, rcx
setns dl
movabs r8, 0x7fffffffffffffff
add r8, rdx
sub rax, rcx
cmovo rax, r8
lea rdx, [rax + r14]
mov rcx, qword [0x140243990]
cmp rdx, 2
jb 0x14009cfb8
lea rdx, [rcx + rax]
sar rdx, 0x3f
btc rdx, 0x3f
add rcx, rax
cmovo rcx, rdx
mov rax, rcx
mov qword [0x140243990], rax
mov ecx, dword [0x14024398c]
call qword [sym.imp.WINMM.dll_timeEndPeriod]
mov dword [0x14024398c], r15d
test ebp, ebp
je 0x14009caa3
mov rax, qword [0x140233700]
lea rcx, [0x140116ab0]
lea rbx, [rsp + 0x90]
cmp rax, rcx
jne 0x14009cf96
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 0x14009cfd1
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402439e8]
mov qword [0x1402439d8], rax
mov ecx, dword [0x14024398c]
call qword [sym.imp.WINMM.dll_timeBeginPeriod]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x14009c6e2
mov qword [rsp + 0xb8], 0x91
mov cl, byte [0x140243611]
test cl, cl
jne 0x14009d0b2
add rsi, 8
mov qword [rsp + 0xb8], 0x91
mov al, byte [0x140243611]
test al, al
jne 0x14009d088
mov rax, qword [rsi]
mov rax, qword [rax + 0x10]
mov rcx, rsi
call qword [0x1402233e0]
jmp 0x14009c861
cmp qword [rax + 0x10], 0
je 0x14009c71b
mov al, byte [r12 + 0x320]
mov byte [rsp + 0x58], al
mov byte [r12 + 0x320], 1
mov rax, rdi
mov rax, qword [rax + 8]
cmp rax, rdi
je 0x14009cbe3
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14009cb21
lea r13, [r12 + 0x340]
mov rbp, qword [rax + 8]
cmp r13, rax
je 0x14009cb9e
cmp rbp, r13
je 0x14009cb9e
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 [r12 + 0x340]
mov qword [rcx + 8], rax
mov rcx, qword [r12 + 0x340]
mov qword [rax], rcx
mov qword [r12 + 0x340], rax
mov qword [rax + 8], r13
dec qword [r12 + 0x318]
inc qword [r12 + 0x350]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14009d01f
mov qword [rax + 0x10], 0
mov rax, qword [rbx + 8]
mov rcx, rbx
call qword [0x1402233e0]
lock dec dword [rbx]
jne 0x14009cbc5
mov rax, qword [rbx + 0x10]
mov rcx, rbx
call qword [0x1402233e0]
cmp rbp, rdi
je 0x14009cbe3
mov rax, rbp
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14009d022
cmp rax, rdi
jne 0x14009cb3f
mov al, byte [rsp + 0x58]
mov byte [r12 + 0x320], al
test al, al
jne 0x14009c728
mov rcx, rdi
call fcn.1400029f0
cmp qword [r12 + 0x328], 0
je 0x14009c728
lea rcx, [r12 + 0x328]
call fcn.14011f310
jmp 0x14009c728
lea rdi, [r12 - 8]
mov qword [rsp + 0xb0], 0x82
mov al, byte [0x140243602]
test al, al
jne 0x14009d034
mov rcx, rdi
call fcn.14004eda0
mov rax, qword [r12 + 0x358]
mov rax, qword [fcn.140116a00]
lea rcx, [0x140116ab0]
lea rdi, [rsp + 0xb8]
cmp rax, rcx
jne 0x14009cd5d
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 0x14009d061
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402439e8]
add rax, 0x1c9c380
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [r12 + 0x258], rcx
mov byte [r12 + 0x250], 0
mov qword [rsp + 0xb0], 0x82
mov al, byte [0x140243602]
test al, al
je 0x14009c710
movzx ecx, al
lea r8, [rsp + 0xb8]
mov qword [r8], 0
lea rdx, [rsp + 0xb0]
mov r9d, 2
call fcn.14009d110
jmp 0x14009c710
lea rcx, [0x1402439d0]
call fcn.14012ad90
cmp dword [0x1402439d0], 0xffffffff
jne 0x14009c913
mov ecx, 8
call fcn.14012aa30
mov qword [rax], 0
mov qword [0x1402439c8], rax
lea rcx, [0x1402439d0]
call fcn.14012ad24
jmp 0x14009c913
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14009c92b
mov rcx, rdi
call qword [0x1402233e0]
mov rax, qword [rdi]
jmp 0x14009cca4
int3
lea rcx, [0x14020310b]
lea rdx, str....._third_partylibc_srcinclude_vector:622:_assertion__empty___failed:_back___called_on_an_empty_vector_n
call fcn.140164a90
mov rcx, qword [0x140243b48]
call fcn.14018e6f0
jmp 0x14009c780
lea rdi, [rsp + 0x60]
mov rcx, rdi
call fcn.14019d6b0
mov byte [rdi + 0x20], 0
jmp 0x14009c7f3
lea rcx, [rsp + 0x60]
lea rdi, [rsp + 0x90]
mov rdx, rdi
call fcn.1400a75f0
mov rax, qword [rsi + 0xa0]
cmp rax, qword [rdi]
jg 0x14009c845
mov rax, qword [rsi + 8]
add rsi, 8
jmp 0x14009caec
movzx ecx, al
lea r8, [rsp + 0x90]
mov qword [r8], 0
lea rdx, [rsp + 0xb8]
mov r9d, 2
call fcn.14009d110
jmp 0x14009c87c
cmp byte [rsi + 0x130], 0
je 0x14009c7ae
cmp qword [rdi + 0x18], 0
jne 0x14009ce25
lock or qword [rdi + 0x10], rbx
jmp 0x14009c7ae
lea rcx, [rdi + 0x18]
mov r12, qword [rdi + 0x10]
call fcn.14018e740
movabs rcx, 0xff00000000000000
and rcx, r12
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x14009ce1b
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.1400b6b10
jmp 0x14009c6a3
lea rcx, [rdi + 0x18]
mov r12, qword [rdi + 0x10]
call fcn.14018e740
movabs rcx, 0xff00000000000000
and rcx, r12
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x14009c79f
lea rcx, [rdi + 0x18]
mov r13, qword [rdi + 0x10]
call fcn.14018e740
movabs rcx, 0xff00000000000000
and rcx, r13
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x14009c7c0
movabs rax, 0xaaaaaaaaaaaaaa00
lea rcx, [rax + 0xaa]
mov qword [rsp + 0x58], rcx
xor ebp, ebp
xor ebx, ebx
mov r13d, 0xaaaaaaaa
mov dword [rsp + 0x54], 0xaaaaaaaa
jmp 0x14009cf22
mov rcx, qword [r12 + 0x240]
mov rax, qword [rcx + 0x10]
xor r13d, r13d
cmp rax, qword [rcx + 0x18]
je 0x14009cec1
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov qword [rsp + 0x58], rdx
mov eax, dword [rax + 0x14]
mov dword [rsp + 0x54], eax
movzx ebx, cl
mov rax, rcx
and rax, 0xffffffffffffff00
mov bpl, 1
or rbx, rax
mov rcx, qword [r12 + 0x28]
mov rax, qword [rcx]
mov rax, qword [rax + 0x50]
call qword [0x1402233e0]
lea rdx, [rsp + 0x90]
mov qword [rdx], rbx
mov rcx, qword [rsp + 0x58]
mov qword [rdx + 8], rcx
mov dword [rdx + 0x10], r13d
mov ecx, dword [rsp + 0x54]
mov dword [rdx + 0x14], ecx
mov byte [rdx + 0x18], bpl
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 [0x1402233e0]
test al, al
je 0x14009c701
mov rcx, qword [rsi + 0x140]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
jmp 0x14009caf3
mov rcx, rbx
call qword [0x1402233e0]
mov rax, qword [rbx]
jmp 0x14009ca90
mov rcx, rbx
call qword [0x1402233e0]
mov rax, qword [rbx]
jmp 0x14009c9ce
cmp rcx, rax
je 0x14009ca1d
add rcx, r14
cmp rcx, 1
ja 0x14009ca1d
int3
mov rcx, qword [0x1402439e8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14009ca90
mov rcx, qword [0x1402439e8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14009c9c6
int3
mov rax, qword [rax + 8]
cmp rax, rdi
je 0x14009cbe3
jmp 0x14009cbcd
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.1400b6b10
jmp 0x14009cc3f
mov rcx, qword [0x1402439e8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14009cca4
movzx ecx, al
lea r8, [rsp + 0x90]
mov qword [r8], 0
lea rdx, [rsp + 0xb8]
mov r9d, 2
call fcn.14009d110
jmp 0x14009cae9
movzx ecx, cl
lea rdx, str.RunLoop_ExitedOnIdle
lea r8, [rsp + 0x90]
mov qword [r8], rdx
mov qword [rsp + 0x40], rax
lea rax, [0x1402050c0]
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.140014f70
jmp 0x14009cacb