Function at 0x140100260
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, 0xb8
mov rsi, rcx
mov rax, qword [0x1402b4040]
xor rax, rsp
mov qword [rsp + 0xb0], rax
movaps xmm0, xmmword [0x140270080]
movaps xmmword [rsp + 0x50], xmm0
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x70], rax
movaps xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
mov byte [rsp + 0x70], 0
mov qword [rsp + 0xa8], Ordinal_133
movzx eax, byte [0x1402c6952]
test al, al
jne 0x1401009e8
movabs r14, 0x8000000000000001
cmp byte [rsi + 0xe0], 0
jne 0x14010030c
mov rax, qword [rsi + 0x70]
mov rcx, qword [rax + 0x250]
mov rax, qword [rcx + 0x10]
cmp rax, qword [rcx + 0x18]
je 0x1401004ca
cmp dword [rax + 0x14], 2
sete bl
cmp byte [rsi + 0x89], bl
jne 0x1401004d8
mov r15, qword [rsi + 0x70]
mov rdi, qword [r15 + 0x248]
test rdi, rdi
jne 0x140100aca
cmp byte [r15 + 0x260], 1
je 0x140100819
lea rdi, [r15 + 0x318]
mov rax, rdi
mov rax, qword [rax + 8]
cmp rax, rdi
jne 0x1401006ee
cmp qword [r15 + 0x2d0], 0
jne 0x140100355
lock or dword [r15 + 0x60], 2
mov rax, qword [rsi + 0xf0]
mov ecx, dword [rax]
lea edx, [rcx + 1]
cmp edx, 1
adc ecx, 1
mov dword [rax], ecx
cmp byte [rsi + 0x138], 1
jne 0x140100414
cmp byte [rsi + 0x120], 1
jne 0x14010040d
mov eax, dword [0x1402c36f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rdi, qword [rax + 0x160]
test rdi, rdi
je 0x14010040d
mov rax, qword [rdi + 0x10]
test rax, rax
js 0x140100944
cmp dword [rdi + 0x24], 1
movabs rbx, 0x4000000000000000
jne 0x140100a15
cmp qword [rdi + 0x18], 0
jne 0x140100a56
movabs rax, 0xbfffffffffffffff
lock and qword [rdi + 0x10], rax
mov r15, qword [rsi + 0x128]
cmp qword [rdi + 0x18], 0
jne 0x140100a7c
mov rax, qword [rdi + 0x10]
and rax, rbx
movabs rcx, 0xffffffffffffff
and r15, rcx
or r15, rax
mov qword [rdi + 0x10], r15
dec dword [rdi + 0x24]
mov byte [rsi + 0x138], 0
lea rdi, [rsi - 0xd0]
cmp byte [rsp + 0x70], 1
je 0x140100979
mov rax, qword [rsi - 0xe0]
mov byte [rsp + 0x50], 0
mov byte [rsp + 0x58], 0
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rdi
mov byte [rsp + 0x70], 1
add r14, 0xfffffffffffffffe
cmp qword [rsi + 0xa0], r14
jne 0x14010098c
mov rax, qword [rsi + 0x18]
cmp qword [rsi + 0x10], rax
je 0x140100966
mov rax, qword [rax - 8]
cmp byte [rax + 0xf], 1
je 0x1401006a1
mov qword [rsp + 0xa8], Ordinal_133
movzx eax, byte [0x1402c6952]
test al, al
jne 0x1401009be
cmp byte [rsp + 0x70], 1
jne 0x1401004a4
mov rcx, qword [rsp + 0x68]
lea rdx, [rsp + 0x50]
call fcn.140105fd0
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.140192360
xor eax, eax
add rsp, 0xb8
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 0x14010030c
mov byte [rsi + 0x89], bl
mov eax, dword [0x1402c6d20]
mov ecx, dword [0x1402c36f0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140100902
mov rdi, qword [0x1402c6d18]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140100b7e
movzx ebp, bl
dec ebp
or ebp, 1
test byte [0x1402c6cd4], 1
mov eax, 1
mov ecx, 8
cmovne ecx, eax
xor r15d, r15d
add ebp, dword [0x1402c6cd8]
mov dword [0x1402c6cd8], ebp
cmovne r15d, ecx
mov eax, dword [0x1402c6cdc]
cmp r15d, eax
je 0x140100693
test eax, eax
je 0x140100620
mov rax, qword [0x1402b67f0]
lea rcx, [0x1401191b0]
lea rbx, [rsp + 0x80]
cmp rax, rcx
jne 0x140100b9c
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 0x140100bf0
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c6d38]
mov qword [rsp + 0x80], rax
mov rcx, qword [0x1402c6d28]
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 [0x1402c6ce0]
cmp rdx, 2
jb 0x140100bd4
lea rdx, [rcx + rax]
sar rdx, 0x3f
btc rdx, 0x3f
add rcx, rax
cmovo rcx, rdx
mov rax, rcx
mov qword [0x1402c6ce0], rax
mov ecx, dword [0x1402c6cdc]
call qword [sym.imp.WINMM.dll_timeEndPeriod]
mov dword [0x1402c6cdc], r15d
test ebp, ebp
je 0x140100693
mov rax, qword [0x1402b67f0]
lea rcx, [0x1401191b0]
lea rbx, [rsp + 0x80]
cmp rax, rcx
jne 0x140100b8b
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 0x140100bad
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c6d38]
mov qword [0x1402c6d28], rax
mov ecx, dword [0x1402c6cdc]
call qword [sym.imp.WINMM.dll_timeBeginPeriod]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x14010030c
mov qword [rsp + 0xa8], Ordinal_145
mov cl, byte [0x1402c6960]
test cl, cl
jne 0x140100cb2
add rsi, 8
mov qword [rsp + 0xa8], Ordinal_145
mov al, byte [0x1402c6960]
test al, al
jne 0x140100c88
mov rax, qword [rsi]
mov rax, qword [rax + 0x10]
mov rcx, rsi
call qword [0x1402a4f40]
jmp 0x140100473
cmp qword [rax + 0x10], 0
je 0x140100338
mov bpl, byte [r15 + 0x330]
mov byte [r15 + 0x330], 1
mov rax, rdi
mov rax, qword [rax + 8]
cmp rax, rdi
je 0x1401007cf
cmp qword [rax + 0x10], 0
je 0x14010070b
lea r12, [r15 + 0x350]
mov r13, qword [rax + 8]
cmp r12, rax
je 0x140100773
cmp r13, r12
je 0x140100773
mov rcx, qword [rax]
mov qword [rcx + 8], r13
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov qword [rdx], rcx
mov rcx, qword [r15 + 0x350]
mov qword [rcx + 8], rax
mov rcx, qword [r15 + 0x350]
mov qword [rax], rcx
mov qword [r15 + 0x350], rax
mov qword [rax + 8], r12
dec qword [r15 + 0x328]
inc qword [r15 + 0x360]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x140100c17
mov qword [rax + 0x10], 0
mov rax, qword [rbx + 8]
mov rcx, rbx
call qword [0x1402a4f40]
lock dec dword [rbx]
jne 0x1401007b3
mov rax, qword [rbx + 0x10]
lea rcx, [0x14025da60]
cmp rax, rcx
je 0x1401007fa
mov rcx, rbx
call qword [0x1402a4f40]
cmp r13, rdi
je 0x1401007c3
cmp qword [r13 + 0x10], 0
je 0x140100c1a
mov rax, r13
cmp r13, rdi
jne 0x140100726
mov byte [r15 + 0x330], bpl
test bpl, bpl
jne 0x140100345
mov rcx, rdi
call fcn.140002ce0
cmp qword [r15 + 0x338], 0
je 0x140100345
jmp 0x140100c50
mov rcx, qword [rbx + 0x28]
test rcx, rcx
jne 0x14010080d
mov rcx, rbx
call fcn.14018fb90
jmp 0x1401007b3
lock dec dword [rcx]
jne 0x140100803
call fcn.14018fb90
jmp 0x140100803
lea rdi, [r15 - 8]
mov qword [rsp + 0xa0], Ordinal_133
mov al, byte [0x1402c6952]
test al, al
jne 0x140100c23
mov rcx, rdi
call fcn.140049250
mov rax, qword [r15 + 0x368]
mov rax, qword [fcn.140119100]
lea rcx, [0x1401191b0]
lea rdi, [rsp + 0xa8]
cmp rax, rcx
jne 0x140100955
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 0x140100c61
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c6d38]
add rax, 0x1c9c380
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [r15 + 0x268], rcx
mov byte [r15 + 0x260], 0
mov qword [rsp + 0xa0], Ordinal_133
mov al, byte [0x1402c6952]
test al, al
je 0x14010032e
movzx ecx, al
lea r8, [rsp + 0xa8]
mov qword [r8], 0
lea rdx, [rsp + 0xa0]
mov r9d, 2
call fcn.140107b20
jmp 0x14010032e
lea rcx, [0x1402c6d20]
call fcn.14018fd10
cmp dword [0x1402c6d20], 0xffffffff
jne 0x140100503
mov ecx, 8
call fcn.14018fb98
mov qword [rax], 0
mov qword [0x1402c6d18], rax
lea rcx, [0x1402c6d20]
call fcn.14018fca4
jmp 0x140100503
mov rcx, qword [0x1402c6e08]
call fcn.1401ced30
jmp 0x1401003af
mov rcx, rdi
call qword [0x1402a4f40]
mov rax, qword [rdi]
jmp 0x14010089b
lea rcx, [0x140275393]
lea rdx, str....._third_partylibc_srcinclude_vector:622:_assertion__empty___failed:_back___called_on_an_empty_vector_n
call fcn.1401cf0c0
lea rdx, [rsp + 0x50]
mov rcx, qword [rdx + 0x18]
call fcn.140105fd0
jmp 0x140100426
lea rcx, [rsp + 0x50]
lea rdi, [rsp + 0x80]
mov rdx, rdi
call fcn.1401096d0
mov rax, qword [rsi + 0xa0]
cmp rax, qword [rdi]
jg 0x140100457
mov rax, qword [rsi + 8]
add rsi, 8
jmp 0x1401006dc
movzx ecx, al
lea r8, [rsp + 0x80]
mov qword [r8], 0
lea rdx, [rsp + 0xa8]
mov r9d, 2
call fcn.140107b20
jmp 0x14010048e
movzx ecx, al
lea rax, str.SequenceManager::DoIdleWork
lea r8, [rsp + 0x80]
mov qword [r8], rax
lea rdx, [rsp + 0xa8]
mov r9d, 1
call fcn.140107b20
jmp 0x1401002cd
cmp byte [rsi + 0x130], 1
jne 0x1401003dd
cmp qword [rdi + 0x18], 0
jne 0x140100a33
lock or qword [rdi + 0x10], rbx
jmp 0x1401003dd
lea rcx, [rdi + 0x18]
mov r15, qword [rdi + 0x10]
call fcn.140200a40
movabs rcx, 0xff00000000000000
and rcx, r15
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x140100a29
lea rcx, [rdi + 0x18]
mov r15, qword [rdi + 0x10]
call fcn.140200a40
movabs rcx, 0xff00000000000000
and rcx, r15
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x1401003ce
lea rcx, [rdi + 0x18]
mov r12, qword [rdi + 0x10]
call fcn.140200a40
movabs rcx, 0xff00000000000000
and rcx, r12
or rcx, rax
mov qword [rdi + 0x10], rcx
jmp 0x1401003ef
movabs rax, 0xaaaaaaaaaaaaaa00
lea rcx, [rax + 0xaa]
mov qword [rsp + 0x48], rcx
xor ebx, ebx
xor r13d, r13d
mov r12d, 0xaaaaaaaa
mov ebp, 0xaaaaaaaa
jmp 0x140100afc
mov rcx, qword [r15 + 0x250]
mov rax, qword [rcx + 0x10]
xor r12d, r12d
cmp rax, qword [rcx + 0x18]
je 0x140100aa2
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov qword [rsp + 0x48], rdx
mov ebp, dword [rax + 0x14]
movzx r13d, cl
mov rax, rcx
and rax, 0xffffffffffffff00
mov bl, 1
or r13, rax
mov rcx, qword [r15 + 0x28]
mov rax, qword [rcx]
mov rax, qword [rax + 0x50]
call qword [0x1402a4f40]
lea rdx, [rsp + 0x80]
mov qword [rdx], r13
mov rcx, qword [rsp + 0x48]
mov qword [rdx + 8], rcx
mov dword [rdx + 0x10], r12d
mov dword [rdx + 0x14], ebp
mov byte [rdx + 0x18], bl
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 [0x1402a4f40]
test al, al
je 0x140100320
mov rax, qword [rsi + 0xf0]
mov ecx, dword [rax]
lea edx, [rcx + 1]
cmp edx, 1
adc ecx, 1
mov dword [rax], ecx
mov rcx, qword [rsi + 0x140]
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
jmp 0x1401006e3
mov rcx, rdi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
jmp 0x14010051b
mov rcx, rbx
call qword [0x1402a4f40]
mov rax, qword [rbx]
jmp 0x140100680
mov rcx, rbx
call qword [0x1402a4f40]
mov rax, qword [rbx]
jmp 0x1401005be
mov rcx, qword [0x1402c6d38]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140100680
lea rdx, [rcx + r14]
cmp rdx, 2
setae dl
cmp rcx, rax
sete cl
or cl, dl
jne 0x14010060d
int3
mov rcx, qword [0x1402c6d38]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1401005b6
int3
mov r13, qword [r13 + 8]
jmp 0x1401007b3
movzx ecx, al
lea rax, str.SequenceManagerImpl::MaybeReclaimMemory
lea r8, [rsp + 0xa8]
mov qword [r8], rax
lea rdx, [rsp + 0xa0]
mov r9d, 1
call fcn.140107b20
jmp 0x140100837
lea rcx, [r15 + 0x338]
call fcn.14018e2b0
jmp 0x140100345
mov rcx, qword [0x1402c6d38]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14010089b
movzx ecx, al
lea r8, [rsp + 0x80]
mov qword [r8], 0
lea rdx, [rsp + 0xa8]
mov r9d, 2
call fcn.140107b20
jmp 0x1401006d9
movzx ecx, cl
lea rdx, str.RunLoop_ExitedOnIdle
lea r8, [rsp + 0x80]
mov qword [r8], rdx
mov qword [rsp + 0x40], rax
lea rax, [0x140277520]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], Ordinal_133
mov byte [rsp + 0x28], 0x42
lea rdx, [rsp + 0xa8]
mov r9d, 1
call fcn.140147080
jmp 0x1401006bb