Function at 0x140137220
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 [0x1402b4040]
xor rax, rsp
mov qword [rsp + 0xa8], rax
movabs rbp, 0xaaaaaaaaaaaaaaaa
mov qword [rdx + 0xa0], rbp
movaps xmm6, xmmword [0x140270080]
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 0x1401378ca
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 0x1401378cd
mov rax, qword [rax + 0x18]
imul rcx, rcx, 0xa8
lea r15, [rax + rcx]
mov rcx, qword [rax + rcx + 0x98]
test rcx, rcx
jne 0x14013770a
mov rbx, qword [r15 + 0x88]
test rbx, rbx
jne 0x1401376fb
mov rbx, qword [r15 + 0x78]
test rbx, rbx
jne 0x14013771d
mov rax, qword [rdi]
mov rcx, qword [rax + 8]
cmp rcx, qword [rax]
jne 0x140137403
mov rcx, qword [rax + 0x28]
test rcx, rcx
jne 0x140137761
dec qword [rdi + 0x10]
jne 0x1401376ad
movabs r12, 0x8637bd05af7
cmp dword [rdi + 0x70], 0
jne 0x1401375ff
mov rbx, qword [rdi + 0x30]
cmp qword [rdi + 8], 0
je 0x1401374d3
mov qword [rsp + 0x58], rbp
mov rax, qword [0x1402b67f0]
lea rcx, [0x1401191b0]
cmp rax, rcx
jne 0x1401378b4
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 0x1401379ab
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c6d38]
mov qword [rsp + 0x58], rax
cmp rax, qword [rdi + 0x20]
jl 0x1401374d3
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 0x1401374d3
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax + 0x20]
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1401374bd
cmp rcx, r8
jb 0x1401377cb
lea r14, [rbx + 0x28]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14013778d
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 0x140137914
cmp byte [rbx + 0x148], 1
je 0x1401379d2
mov rax, qword [rbx + 0x18]
mov r13d, dword [rax + 8]
test r13d, r13d
jne 0x1401378d0
mov rcx, qword [rbx + 0xa8]
cmp qword [rcx + 0x10], 0
sete byte [rbx + 0x58]
mov r13d, dword [rax + 8]
test r13d, r13d
jne 0x1401378f2
movzx ecx, byte [rbx + 0x118]
mov byte [rbx + 0x5b], cl
mov r13d, dword [rax + 8]
test r13d, r13d
jne 0x140137930
cmp qword [rbx + 0x98], 0
jne 0x140137882
mov rax, qword [rbx]
lea rcx, [fcn.14018ed50]
cmp qword [rax + 0x10], rcx
jne 0x14013786b
mov rax, qword [rbx + 0x18]
mov r13d, dword [rax + 8]
test r13d, r13d
jne 0x14013794c
cmp byte [rbx + 0x118], 1
jne 0x14013787b
mov rax, qword [rbx + 0x18]
mov r13d, dword [rax + 8]
test r13d, r13d
jne 0x140137968
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 0x1401376ad
mov qword [rsp + 0x58], rbp
mov rax, qword [0x1402b67f0]
lea rcx, [0x1401191b0]
cmp rax, rcx
jne 0x14013789e
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 0x140137984
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c6d38]
mov qword [rsp + 0x58], rax
cmp rax, qword [rdi + 0x20]
jl 0x1401376ad
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 0x1401376ad
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax + 0x20]
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x140137697
cmp rcx, r8
jb 0x1401377a2
mov rcx, qword [rdi + 0x28]
mov rdx, rdi
call fcn.140136500
mov rbx, qword [rdi + 0x30]
movzx eax, byte [0x1402c69b5]
test al, al
jne 0x140137bf1
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.140192360
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 0x1401373dd
jmp 0x1401377f4
lock dec dword [rcx]
jne 0x1401373cd
call fcn.14018fb90
jmp 0x1401373cd
lock dec dword [rbx]
jne 0x1401373ea
mov rax, qword [rbx + 0x10]
lea rcx, [0x14025da60]
cmp rax, rcx
je 0x140137744
mov rcx, rbx
call qword [0x1402a4f40]
jmp 0x1401373ea
mov rcx, qword [rbx + 0x28]
test rcx, rcx
jne 0x14013775a
mov rcx, rbx
call fcn.14018fb90
jmp 0x1401373ea
lock dec dword [rcx]
jne 0x14013774d
jmp 0x14013779b
mov qword [rax + 0x28], 0
mov rbx, qword [rdi]
mov qword [rdi], rcx
test rbx, rbx
je 0x140137403
mov rcx, rbx
call fcn.1401718d0
mov rcx, rbx
call fcn.14018fb90
jmp 0x140137403
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1401374e8
call fcn.14018fb90
jmp 0x14013774d
mov rcx, rdi
call fcn.140136e70
mov eax, 0x4c4b40
add rax, qword [rsp + 0x58]
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [rdi + 0x20], rcx
jmp 0x1401376ad
mov rcx, rdi
call fcn.140136e70
mov eax, 0x4c4b40
add rax, qword [rsp + 0x58]
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [rdi + 0x20], rcx
jmp 0x1401374d3
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
lea rdx, [0x1401f69c0]
cmp qword [rcx + 0x10], rdx
jne 0x140137814
lea rcx, [0x14020c470]
cmp rax, rcx
je 0x140137827
mov rcx, rbx
mov edx, 1
call qword [0x1402a4f40]
jmp 0x1401373dd
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x140137835
lock dec dword [rcx]
je 0x140137864
mov r14, qword [rbx + 0x10]
test r14, r14
je 0x140137844
lock dec dword [r14]
je 0x140137851
mov rcx, rbx
call fcn.14018fb90
jmp 0x1401373dd
lea rcx, [r14 + 8]
call fcn.140143ba0
mov rcx, r14
call fcn.14018fb90
jmp 0x140137844
call fcn.14018fb90
jmp 0x140137835
mov rcx, rbx
call fcn.14018ed50
test al, al
jne 0x1401375d9
xor eax, eax
jmp 0x1401375f3
mov rax, qword [rbx + 0x18]
mov r13d, dword [rax + 8]
test r13d, r13d
jne 0x140137d14
mov al, byte [rbx + 0x118]
jmp 0x1401375f3
lea rbx, [rsp + 0x58]
mov rcx, rbx
call qword [0x1402a4f40]
mov rax, qword [rbx]
jmp 0x140137666
lea r14, [rsp + 0x58]
mov rcx, r14
call qword [0x1402a4f40]
mov rax, qword [r14]
jmp 0x14013748c
int3
int3
lea r15, [rsp + 0x90]
mov rcx, r15
call fcn.14018d750
cmp r13d, dword [r15]
jne 0x140137d33
mov rax, qword [rbx + 0x18]
jmp 0x140137565
lea r15, [rsp + 0x90]
mov rcx, r15
call fcn.14018d750
cmp r13d, dword [r15]
jne 0x140137d36
mov rax, qword [rbx + 0x18]
jmp 0x140137582
lea r15, [rsp + 0x90]
mov rcx, r15
call fcn.14018d750
cmp r13d, dword [r15]
je 0x140137547
int3
lea r15, [rsp + 0x90]
mov rcx, r15
call fcn.14018d750
cmp r13d, dword [r15]
je 0x140137599
int3
lea r15, [rsp + 0x90]
mov rcx, r15
call fcn.14018d750
cmp r13d, dword [r15]
je 0x1401375cc
int3
lea r15, [rsp + 0x90]
mov rcx, r15
call fcn.14018d750
cmp r13d, dword [r15]
je 0x1401375ea
int3
mov rcx, qword [0x1402c6d38]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140137661
mov rcx, qword [0x1402c6d38]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140137487
lea r15, [rsp + 0x70]
movaps xmmword [r15], xmm6
mov rdx, qword [rdi]
mov rcx, r15
call fcn.14020c590
mov rax, qword [r15]
test rax, rax
je 0x140137a76
xor ecx, ecx
mov qword [rsp + 0x50], rcx
mov r15, qword [rsp + 0x78]
cmp qword [rax + 0x20], r15
jbe 0x140137d30
mov r13, qword [rax + 0x18]
mov rcx, qword [rbx + 0x18]
call fcn.14018f320
cmp byte [rbx + 0x148], 0
je 0x140137cfc
imul rax, r15, 0xa8
mov rcx, qword [r13 + rax + 0x20]
cmp rcx, qword [rbx + 0x140]
jge 0x140137a7f
lea rcx, [rsp + 0x70]
call fcn.14020b520
mov rax, qword [rsp + 0x70]
test rax, rax
jne 0x1401379f9
movabs rax, 0xfffffffc00000000
and rax, qword [rsp + 0x50]
cmp rax, qword [0x1402b6788]
jne 0x140137554
mov rcx, qword [rsp + 0x50]
call fcn.1400fdce0
jmp 0x140137554
xor eax, eax
mov qword [rsp + 0x50], rax
jmp 0x140137a4b
add r13, rax
mov rcx, qword [rbx + 0x18]
call fcn.14018f320
cmp byte [rbx + 0x148], 1
jne 0x140137a9b
mov byte [rbx + 0x148], 0
lea r15, [rsp + 0x58]
mov rcx, r13
mov rdx, r15
call fcn.1401401f0
lea r13, [rsp + 0x90]
mov rcx, r13
mov rdx, r15
call fcn.1400f0100
mov rcx, qword [rbx + 0x18]
call fcn.14018f320
lea r15, [rbx + 0x120]
mov rcx, r15
mov rdx, r13
call fcn.14020b4d0
mov rcx, qword [rbx + 0x18]
call fcn.14018f320
mov rcx, qword [rbx + 0x18]
mov r13, qword [rbx + 0xa8]
call fcn.14018f320
cmp byte [rbx + 0x138], 0
je 0x140137d01
mov eax, dword [r15 + 0x10]
mov dword [rsp + 0xa0], eax
movups xmm0, xmmword [r15]
movaps xmmword [rsp + 0x90], xmm0
mov rcx, r13
call fcn.1401d1960
lea rax, [r13 + 0x50]
cmp byte [r13 + 0x68], 1
jne 0x140137bb6
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.14018f320
mov rcx, qword [rbx + 0x18]
mov r13, qword [rbx + 0xa0]
call fcn.14018f320
cmp byte [rbx + 0x138], 0
je 0x140137d01
mov eax, dword [r15 + 0x10]
mov dword [rsp + 0xa0], eax
movups xmm0, xmmword [r15]
movaps xmmword [rsp + 0x90], xmm0
mov rcx, r13
call fcn.1401d1960
lea rax, [r13 + 0x50]
cmp byte [r13 + 0x68], 1
jne 0x140137bd5
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 0x140137a4b
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 0x140137b42
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 0x140137ba7
mov rcx, qword [rbx + 0x18]
call fcn.14018f2e0
test al, al
je 0x1401376cc
lea rdi, [rbx + 0x28]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x140137c1c
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rcx, qword [rbx + 0x18]
mov r15, qword [rbx + 0x40]
call fcn.14018f320
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0xa8]
mov r14, qword [rax + 0x10]
call fcn.14018f320
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0xa0]
mov r12, qword [rax + 0x10]
call fcn.14018f320
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 [0x1402c69b5]
test al, al
je 0x1401376cc
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.14020c560
lea r8, [rsp + 0x58]
mov qword [r8], rax
lea rax, [rsp + 0x8c]
mov dword [rax], ebp
lea rcx, [0x140277b38]
lea rdx, [rsp + 0x90]
mov qword [rdx], rcx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rdx
lea rax, [0x140277520]
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 0x1401376cc
call fcn.1401cf0c0
lea rcx, [0x140275393]
lea rdx, str....._third_partylibc_srcincludeoptional:800:_assertion_this__has_value___failed:_optional_operator_called_on_a_disengaged_value_n
call fcn.1401cf0c0
lea r15, [rsp + 0x90]
mov rcx, r15
call fcn.14018d750
cmp r13d, dword [r15]
je 0x140137893
int3
int3
int3
int3