Function at 0x140136c40
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
movaps xmmword [rsp + 0xb0], xmm6
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x1402b3040]
xor rax, rsp
mov qword [rsp + 0xa8], rax
movabs rbp, 0xaaaaaaaaaaaaaaaa
mov qword [rdx + 0xa0], rbp
movaps xmm6, xmmword [0x14026f080]
movups xmmword [rdx + 0x90], xmm6
movups xmmword [rdx + 0x80], xmm6
movups xmmword [rdx + 0x70], xmm6
movups xmmword [rdx + 0x60], xmm6
movups xmmword [rdx + 0x50], xmm6
movups xmmword [rdx + 0x40], xmm6
movups xmmword [rdx + 0x30], xmm6
movups xmmword [rdx + 0x20], xmm6
movups xmmword [rdx + 0x10], xmm6
movups xmmword [rdx], xmm6
mov rax, qword [rcx]
mov rdx, qword [rax]
mov r8, qword [rax + 0x20]
inc rdx
xor ecx, ecx
cmp rdx, r8
cmovne rcx, rdx
cmp r8, rcx
jbe 0x1401372ea
mov rax, qword [rax + 0x18]
imul rcx, rcx, 0xa8
movups xmm0, xmmword [rax + rcx]
movups xmm1, xmmword [rax + rcx + 0x10]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
movups xmm0, xmmword [rax + rcx + 0x20]
movups xmm1, xmmword [rax + rcx + 0x30]
movups xmm2, xmmword [rax + rcx + 0x40]
movups xmm3, xmmword [rax + rcx + 0x50]
movups xmmword [rsi + 0x20], xmm0
movups xmmword [rsi + 0x30], xmm1
movups xmmword [rsi + 0x40], xmm2
movups xmmword [rsi + 0x50], xmm3
movups xmm0, xmmword [rax + rcx + 0x60]
movups xmmword [rsi + 0x60], xmm0
mov rdx, qword [rax + rcx + 0x6d]
mov qword [rsi + 0x6d], rdx
mov rdx, qword [rax + rcx + 0x78]
mov qword [rsi + 0x78], rdx
mov qword [rax + rcx + 0x78], 0
movzx edx, byte [rax + rcx + 0x82]
mov byte [rsi + 0x82], dl
movzx edx, word [rax + rcx + 0x80]
mov word [rsi + 0x80], dx
mov rdx, qword [rax + rcx + 0x88]
mov qword [rsi + 0x88], rdx
mov qword [rax + rcx + 0x88], 0
mov rdx, qword [rax + rcx + 0x90]
mov qword [rsi + 0x90], rdx
mov rdx, qword [rax + rcx + 0x98]
mov qword [rsi + 0x98], rdx
mov qword [rax + rcx + 0x98], 0
mov rax, qword [rax + rcx + 0xa0]
mov qword [rsi + 0xa0], rax
mov rax, qword [rdi]
mov rdx, qword [rax]
mov r8, qword [rax + 0x20]
inc rdx
xor ecx, ecx
cmp rdx, r8
cmovne rcx, rdx
mov qword [rax], rcx
cmp r8, rcx
jbe 0x1401372ed
mov rax, qword [rax + 0x18]
imul rcx, rcx, 0xa8
lea r15, [rax + rcx]
mov rcx, qword [rax + rcx + 0x98]
test rcx, rcx
jne 0x14013712a
mov rbx, qword [r15 + 0x88]
test rbx, rbx
jne 0x14013711b
mov rbx, qword [r15 + 0x78]
test rbx, rbx
jne 0x14013713d
mov rax, qword [rdi]
mov rcx, qword [rax + 8]
cmp rcx, qword [rax]
jne 0x140136e23
mov rcx, qword [rax + 0x28]
test rcx, rcx
jne 0x140137181
dec qword [rdi + 0x10]
jne 0x1401370cd
movabs r12, 0x8637bd05af7
cmp dword [rdi + 0x70], 0
jne 0x14013701f
mov rbx, qword [rdi + 0x30]
cmp qword [rdi + 8], 0
je 0x140136ef3
mov qword [rsp + 0x58], rbp
mov rax, qword [0x1402b5770]
lea rcx, [0x140118bd0]
cmp rax, rcx
jne 0x1401372d4
mov qword [rsp + 0x90], 0
lea rcx, [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x90]
cmp rax, r12
jge 0x1401373cb
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c5cb8]
mov qword [rsp + 0x58], rax
cmp rax, qword [rdi + 0x20]
jl 0x140136ef3
mov rax, qword [rdi + 0x18]
inc rax
cmp rax, 5
mov edx, 4
cmovae rdx, rax
mov rax, qword [rdi]
mov rcx, qword [rdi + 0x10]
mov qword [rdi + 0x18], rcx
test rax, rax
je 0x140136ef3
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax + 0x20]
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x140136edd
cmp rcx, r8
jb 0x1401371eb
lea r14, [rbx + 0x28]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401371ad
mov rax, qword [rdi]
mov rcx, qword [rbx + 0x30]
mov qword [rdi], rcx
mov qword [rbx + 0x30], rax
mov rax, qword [rdi + 8]
mov rcx, qword [rbx + 0x38]
mov qword [rdi + 8], rcx
mov qword [rbx + 0x38], rax
mov rax, qword [rdi + 0x10]
mov rcx, qword [rbx + 0x40]
mov qword [rdi + 0x10], rcx
mov qword [rbx + 0x40], rax
mov rax, qword [rdi + 0x18]
mov rcx, qword [rbx + 0x48]
mov qword [rdi + 0x18], rcx
mov qword [rbx + 0x48], rax
mov rax, qword [rdi + 0x20]
mov rcx, qword [rbx + 0x50]
mov qword [rdi + 0x20], rcx
mov qword [rbx + 0x50], rax
mov rax, qword [rbx + 0x18]
mov r13d, dword [rax + 8]
test r13d, r13d
jne 0x140137334
cmp byte [rbx + 0x148], 1
je 0x1401373f2
mov rax, qword [rbx + 0x18]
mov r13d, dword [rax + 8]
test r13d, r13d
jne 0x1401372f0
mov rcx, qword [rbx + 0xa8]
cmp qword [rcx + 0x10], 0
sete byte [rbx + 0x58]
mov r13d, dword [rax + 8]
test r13d, r13d
jne 0x140137312
movzx ecx, byte [rbx + 0x118]
mov byte [rbx + 0x5b], cl
mov r13d, dword [rax + 8]
test r13d, r13d
jne 0x140137350
cmp qword [rbx + 0x98], 0
jne 0x1401372a2
mov rax, qword [rbx]
lea rcx, [fcn.14018e770]
cmp qword [rax + 0x10], rcx
jne 0x14013728b
mov rax, qword [rbx + 0x18]
mov r13d, dword [rax + 8]
test r13d, r13d
jne 0x14013736c
cmp byte [rbx + 0x118], 1
jne 0x14013729b
mov rax, qword [rbx + 0x18]
mov r13d, dword [rax + 8]
test r13d, r13d
jne 0x140137388
movzx eax, byte [rbx + 0x138]
xor al, 1
mov byte [rbx + 0x59], al
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp qword [rdi + 8], 0
je 0x1401370cd
mov qword [rsp + 0x58], rbp
mov rax, qword [0x1402b5770]
lea rcx, [0x140118bd0]
cmp rax, rcx
jne 0x1401372be
mov qword [rsp + 0x90], 0
lea rcx, [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x90]
cmp rax, r12
jge 0x1401373a4
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c5cb8]
mov qword [rsp + 0x58], rax
cmp rax, qword [rdi + 0x20]
jl 0x1401370cd
mov rax, qword [rdi + 0x18]
inc rax
cmp rax, 5
mov edx, 4
cmovae rdx, rax
mov rax, qword [rdi]
mov rcx, qword [rdi + 0x10]
mov qword [rdi + 0x18], rcx
test rax, rax
je 0x1401370cd
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax + 0x20]
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1401370b7
cmp rcx, r8
jb 0x1401371c2
mov rcx, qword [rdi + 0x28]
mov rdx, rdi
call fcn.140135f20
mov rbx, qword [rdi + 0x30]
movzx eax, byte [0x1402c5935]
test al, al
jne 0x140137611
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.140191d80
mov rax, rsi
movaps xmm6, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lock dec dword [rbx + 8]
jne 0x140136dfd
jmp 0x140137214
lock dec dword [rcx]
jne 0x140136ded
call fcn.14018f5b0
jmp 0x140136ded
lock dec dword [rbx]
jne 0x140136e0a
mov rax, qword [rbx + 0x10]
lea rcx, [0x14025d280]
cmp rax, rcx
je 0x140137164
mov rcx, rbx
call qword [0x1402a3e88]
jmp 0x140136e0a
mov rcx, qword [rbx + 0x28]
test rcx, rcx
jne 0x14013717a
mov rcx, rbx
call fcn.14018f5b0
jmp 0x140136e0a
lock dec dword [rcx]
jne 0x14013716d
jmp 0x1401371bb
mov qword [rax + 0x28], 0
mov rbx, qword [rdi]
mov qword [rdi], rcx
test rbx, rbx
je 0x140136e23
mov rcx, rbx
call fcn.1401712f0
mov rcx, rbx
call fcn.14018f5b0
jmp 0x140136e23
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140136f08
call fcn.14018f5b0
jmp 0x14013716d
mov rcx, rdi
call fcn.140136890
mov eax, 0x4c4b40
add rax, qword [rsp + 0x58]
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [rdi + 0x20], rcx
jmp 0x1401370cd
mov rcx, rdi
call fcn.140136890
mov eax, 0x4c4b40
add rax, qword [rsp + 0x58]
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [rdi + 0x20], rcx
jmp 0x140136ef3
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
lea rdx, [0x1401f61e0]
cmp qword [rcx + 0x10], rdx
jne 0x140137234
lea rcx, [0x14020bc90]
cmp rax, rcx
je 0x140137247
mov rcx, rbx
mov edx, 1
call qword [0x1402a3e88]
jmp 0x140136dfd
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x140137255
lock dec dword [rcx]
je 0x140137284
mov r14, qword [rbx + 0x10]
test r14, r14
je 0x140137264
lock dec dword [r14]
je 0x140137271
mov rcx, rbx
call fcn.14018f5b0
jmp 0x140136dfd
lea rcx, [r14 + 8]
call fcn.1401435c0
mov rcx, r14
call fcn.14018f5b0
jmp 0x140137264
call fcn.14018f5b0
jmp 0x140137255
mov rcx, rbx
call fcn.14018e770
test al, al
jne 0x140136ff9
xor eax, eax
jmp 0x140137013
mov rax, qword [rbx + 0x18]
mov r13d, dword [rax + 8]
test r13d, r13d
jne 0x140137734
mov al, byte [rbx + 0x118]
jmp 0x140137013
lea rbx, [rsp + 0x58]
mov rcx, rbx
call qword [0x1402a3e88]
mov rax, qword [rbx]
jmp 0x140137086
lea r14, [rsp + 0x58]
mov rcx, r14
call qword [0x1402a3e88]
mov rax, qword [r14]
jmp 0x140136eac
int3
int3
lea r15, [rsp + 0x90]
mov rcx, r15
call fcn.14018d170
cmp r13d, dword [r15]
jne 0x140137753
mov rax, qword [rbx + 0x18]
jmp 0x140136f85
lea r15, [rsp + 0x90]
mov rcx, r15
call fcn.14018d170
cmp r13d, dword [r15]
jne 0x140137756
mov rax, qword [rbx + 0x18]
jmp 0x140136fa2
lea r15, [rsp + 0x90]
mov rcx, r15
call fcn.14018d170
cmp r13d, dword [r15]
je 0x140136f67
int3
lea r15, [rsp + 0x90]
mov rcx, r15
call fcn.14018d170
cmp r13d, dword [r15]
je 0x140136fb9
int3
lea r15, [rsp + 0x90]
mov rcx, r15
call fcn.14018d170
cmp r13d, dword [r15]
je 0x140136fec
int3
lea r15, [rsp + 0x90]
mov rcx, r15
call fcn.14018d170
cmp r13d, dword [r15]
je 0x14013700a
int3
mov rcx, qword [0x1402c5cb8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140137081
mov rcx, qword [0x1402c5cb8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140136ea7
lea r15, [rsp + 0x70]
movaps xmmword [r15], xmm6
mov rdx, qword [rdi]
mov rcx, r15
call fcn.14020bdb0
mov rax, qword [r15]
test rax, rax
je 0x140137496
xor ecx, ecx
mov qword [rsp + 0x50], rcx
mov r15, qword [rsp + 0x78]
cmp qword [rax + 0x20], r15
jbe 0x140137750
mov r13, qword [rax + 0x18]
mov rcx, qword [rbx + 0x18]
call fcn.14018ed40
cmp byte [rbx + 0x148], 0
je 0x14013771c
imul rax, r15, 0xa8
mov rcx, qword [r13 + rax + 0x20]
cmp rcx, qword [rbx + 0x140]
jge 0x14013749f
lea rcx, [rsp + 0x70]
call fcn.14020ad40
mov rax, qword [rsp + 0x70]
test rax, rax
jne 0x140137419
movabs rax, 0xfffffffc00000000
and rax, qword [rsp + 0x50]
cmp rax, qword [0x1402b5708]
jne 0x140136f74
mov rcx, qword [rsp + 0x50]
call fcn.1400fd700
jmp 0x140136f74
xor eax, eax
mov qword [rsp + 0x50], rax
jmp 0x14013746b
add r13, rax
mov rcx, qword [rbx + 0x18]
call fcn.14018ed40
cmp byte [rbx + 0x148], 1
jne 0x1401374bb
mov byte [rbx + 0x148], 0
lea r15, [rsp + 0x58]
mov rcx, r13
mov rdx, r15
call fcn.14013fc10
lea r13, [rsp + 0x90]
mov rcx, r13
mov rdx, r15
call fcn.1400efb20
mov rcx, qword [rbx + 0x18]
call fcn.14018ed40
lea r15, [rbx + 0x120]
mov rcx, r15
mov rdx, r13
call fcn.14020acf0
mov rcx, qword [rbx + 0x18]
call fcn.14018ed40
mov rcx, qword [rbx + 0x18]
mov r13, qword [rbx + 0xa8]
call fcn.14018ed40
cmp byte [rbx + 0x138], 0
je 0x140137721
mov eax, dword [r15 + 0x10]
mov dword [rsp + 0xa0], eax
movups xmm0, xmmword [r15]
movaps xmmword [rsp + 0x90], xmm0
mov rcx, r13
call fcn.1401d13a0
lea rax, [r13 + 0x50]
cmp byte [r13 + 0x68], 1
jne 0x1401375d6
mov ecx, dword [rsp + 0xa0]
mov dword [rax + 0x10], ecx
movaps xmm0, xmmword [rsp + 0x90]
movups xmmword [rax], xmm0
mov rcx, qword [rbx + 0x18]
call fcn.14018ed40
mov rcx, qword [rbx + 0x18]
mov r13, qword [rbx + 0xa0]
call fcn.14018ed40
cmp byte [rbx + 0x138], 0
je 0x140137721
mov eax, dword [r15 + 0x10]
mov dword [rsp + 0xa0], eax
movups xmm0, xmmword [r15]
movaps xmmword [rsp + 0x90], xmm0
mov rcx, r13
call fcn.1401d13a0
lea rax, [r13 + 0x50]
cmp byte [r13 + 0x68], 1
jne 0x1401375f5
mov ecx, dword [rsp + 0xa0]
mov dword [rax + 0x10], ecx
movaps xmm0, xmmword [rsp + 0x90]
movups xmmword [rax], xmm0
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x50], rax
jmp 0x14013746b
mov ecx, dword [rsp + 0xa0]
mov dword [rax + 0x10], ecx
movaps xmm0, xmmword [rsp + 0x90]
movups xmmword [rax], xmm0
mov byte [r13 + 0x68], 1
jmp 0x140137562
mov ecx, dword [rsp + 0xa0]
mov dword [rax + 0x10], ecx
movaps xmm0, xmmword [rsp + 0x90]
movups xmmword [rax], xmm0
mov byte [r13 + 0x68], 1
jmp 0x1401375c7
mov rcx, qword [rbx + 0x18]
call fcn.14018ed00
test al, al
je 0x1401370ec
lea rdi, [rbx + 0x28]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x14013763c
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rcx, qword [rbx + 0x18]
mov r15, qword [rbx + 0x40]
call fcn.14018ed40
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0xa8]
mov r14, qword [rax + 0x10]
call fcn.14018ed40
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0xa0]
mov r12, qword [rax + 0x10]
call fcn.14018ed40
mov rbp, qword [rbx + 0xb8]
mov r13, qword [rbx + 0xc0]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov qword [rsp + 0x70], 0xe5
mov al, byte [0x1402c5935]
test al, al
je 0x1401370ec
movzx edi, al
add r14d, r15d
sub r13, rbp
shr r13, 3
imul ebp, r13d, 0x3cf3cf3d
add ebp, r12d
add ebp, r14d
mov ecx, dword [rbx + 8]
call fcn.14020bd80
lea r8, [rsp + 0x58]
mov qword [r8], rax
lea rax, [rsp + 0x8c]
mov dword [rax], ebp
lea rcx, [0x140276ba8]
lea rdx, [rsp + 0x90]
mov qword [rdx], rcx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rdx
lea rax, [0x140276590]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], 0
mov byte [rsp + 0x28], 0x43
lea rdx, [rsp + 0x70]
mov ecx, edi
xor r9d, r9d
call fcn.14004f930
jmp 0x1401370ec
call fcn.1401ceb00
lea rcx, [0x140274353]
lea rdx, str....._third_partylibc_srcincludeoptional:800:_assertion_this__has_value___failed:_optional_operator_called_on_a_disengaged_value_n
call fcn.1401ceb00
lea r15, [rsp + 0x90]
mov rcx, r15
call fcn.14018d170
cmp r13d, dword [r15]
je 0x1401372b3
int3
int3
int3
int3