Function at 0x140136c30
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 0x1401372da
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 0x1401372dd
mov rax, qword [rax + 0x18]
imul rcx, rcx, 0xa8
lea r15, [rax + rcx]
mov rcx, qword [rax + rcx + 0x98]
test rcx, rcx
jne 0x14013711a
mov rbx, qword [r15 + 0x88]
test rbx, rbx
jne 0x14013710b
mov rbx, qword [r15 + 0x78]
test rbx, rbx
jne 0x14013712d
mov rax, qword [rdi]
mov rcx, qword [rax + 8]
cmp rcx, qword [rax]
jne 0x140136e13
mov rcx, qword [rax + 0x28]
test rcx, rcx
jne 0x140137171
dec qword [rdi + 0x10]
jne 0x1401370bd
movabs r12, 0x8637bd05af7
cmp dword [rdi + 0x70], 0
jne 0x14013700f
mov rbx, qword [rdi + 0x30]
cmp qword [rdi + 8], 0
je 0x140136ee3
mov qword [rsp + 0x58], rbp
mov rax, qword [0x1402b5770]
lea rcx, [0x140118bc0]
cmp rax, rcx
jne 0x1401372c4
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 0x1401373bb
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c5cb8]
mov qword [rsp + 0x58], rax
cmp rax, qword [rdi + 0x20]
jl 0x140136ee3
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 0x140136ee3
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax + 0x20]
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x140136ecd
cmp rcx, r8
jb 0x1401371db
lea r14, [rbx + 0x28]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14013719d
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 0x140137324
cmp byte [rbx + 0x148], 1
je 0x1401373e2
mov rax, qword [rbx + 0x18]
mov r13d, dword [rax + 8]
test r13d, r13d
jne 0x1401372e0
mov rcx, qword [rbx + 0xa8]
cmp qword [rcx + 0x10], 0
sete byte [rbx + 0x58]
mov r13d, dword [rax + 8]
test r13d, r13d
jne 0x140137302
movzx ecx, byte [rbx + 0x118]
mov byte [rbx + 0x5b], cl
mov r13d, dword [rax + 8]
test r13d, r13d
jne 0x140137340
cmp qword [rbx + 0x98], 0
jne 0x140137292
mov rax, qword [rbx]
lea rcx, [fcn.14018e760]
cmp qword [rax + 0x10], rcx
jne 0x14013727b
mov rax, qword [rbx + 0x18]
mov r13d, dword [rax + 8]
test r13d, r13d
jne 0x14013735c
cmp byte [rbx + 0x118], 1
jne 0x14013728b
mov rax, qword [rbx + 0x18]
mov r13d, dword [rax + 8]
test r13d, r13d
jne 0x140137378
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 0x1401370bd
mov qword [rsp + 0x58], rbp
mov rax, qword [0x1402b5770]
lea rcx, [0x140118bc0]
cmp rax, rcx
jne 0x1401372ae
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 0x140137394
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402c5cb8]
mov qword [rsp + 0x58], rax
cmp rax, qword [rdi + 0x20]
jl 0x1401370bd
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 0x1401370bd
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax + 0x20]
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1401370a7
cmp rcx, r8
jb 0x1401371b2
mov rcx, qword [rdi + 0x28]
mov rdx, rdi
call fcn.140135f10
mov rbx, qword [rdi + 0x30]
movzx eax, byte [0x1402c5935]
test al, al
jne 0x140137601
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.140191d70
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 0x140136ded
jmp 0x140137204
lock dec dword [rcx]
jne 0x140136ddd
call fcn.14018f5a0
jmp 0x140136ddd
lock dec dword [rbx]
jne 0x140136dfa
mov rax, qword [rbx + 0x10]
lea rcx, [0x14025d280]
cmp rax, rcx
je 0x140137154
mov rcx, rbx
call qword [0x1402a3ee8]
jmp 0x140136dfa
mov rcx, qword [rbx + 0x28]
test rcx, rcx
jne 0x14013716a
mov rcx, rbx
call fcn.14018f5a0
jmp 0x140136dfa
lock dec dword [rcx]
jne 0x14013715d
jmp 0x1401371ab
mov qword [rax + 0x28], 0
mov rbx, qword [rdi]
mov qword [rdi], rcx
test rbx, rbx
je 0x140136e13
mov rcx, rbx
call fcn.1401712e0
mov rcx, rbx
call fcn.14018f5a0
jmp 0x140136e13
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140136ef8
call fcn.14018f5a0
jmp 0x14013715d
mov rcx, rdi
call fcn.140136880
mov eax, 0x4c4b40
add rax, qword [rsp + 0x58]
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [rdi + 0x20], rcx
jmp 0x1401370bd
mov rcx, rdi
call fcn.140136880
mov eax, 0x4c4b40
add rax, qword [rsp + 0x58]
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [rdi + 0x20], rcx
jmp 0x140136ee3
mov rcx, qword [rbx]
mov rax, qword [rcx + 8]
lea rdx, [0x1401f61d0]
cmp qword [rcx + 0x10], rdx
jne 0x140137224
lea rcx, [0x14020bc80]
cmp rax, rcx
je 0x140137237
mov rcx, rbx
mov edx, 1
call qword [0x1402a3ee8]
jmp 0x140136ded
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x140137245
lock dec dword [rcx]
je 0x140137274
mov r14, qword [rbx + 0x10]
test r14, r14
je 0x140137254
lock dec dword [r14]
je 0x140137261
mov rcx, rbx
call fcn.14018f5a0
jmp 0x140136ded
lea rcx, [r14 + 8]
call fcn.1401435b0
mov rcx, r14
call fcn.14018f5a0
jmp 0x140137254
call fcn.14018f5a0
jmp 0x140137245
mov rcx, rbx
call fcn.14018e760
test al, al
jne 0x140136fe9
xor eax, eax
jmp 0x140137003
mov rax, qword [rbx + 0x18]
mov r13d, dword [rax + 8]
test r13d, r13d
jne 0x140137724
mov al, byte [rbx + 0x118]
jmp 0x140137003
lea rbx, [rsp + 0x58]
mov rcx, rbx
call qword [0x1402a3ee8]
mov rax, qword [rbx]
jmp 0x140137076
lea r14, [rsp + 0x58]
mov rcx, r14
call qword [0x1402a3ee8]
mov rax, qword [r14]
jmp 0x140136e9c
int3
int3
lea r15, [rsp + 0x90]
mov rcx, r15
call fcn.14018d160
cmp r13d, dword [r15]
jne 0x140137743
mov rax, qword [rbx + 0x18]
jmp 0x140136f75
lea r15, [rsp + 0x90]
mov rcx, r15
call fcn.14018d160
cmp r13d, dword [r15]
jne 0x140137746
mov rax, qword [rbx + 0x18]
jmp 0x140136f92
lea r15, [rsp + 0x90]
mov rcx, r15
call fcn.14018d160
cmp r13d, dword [r15]
je 0x140136f57
int3
lea r15, [rsp + 0x90]
mov rcx, r15
call fcn.14018d160
cmp r13d, dword [r15]
je 0x140136fa9
int3
lea r15, [rsp + 0x90]
mov rcx, r15
call fcn.14018d160
cmp r13d, dword [r15]
je 0x140136fdc
int3
lea r15, [rsp + 0x90]
mov rcx, r15
call fcn.14018d160
cmp r13d, dword [r15]
je 0x140136ffa
int3
mov rcx, qword [0x1402c5cb8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140137071
mov rcx, qword [0x1402c5cb8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140136e97
lea r15, [rsp + 0x70]
movaps xmmword [r15], xmm6
mov rdx, qword [rdi]
mov rcx, r15
call fcn.14020bda0
mov rax, qword [r15]
test rax, rax
je 0x140137486
xor ecx, ecx
mov qword [rsp + 0x50], rcx
mov r15, qword [rsp + 0x78]
cmp qword [rax + 0x20], r15
jbe 0x140137740
mov r13, qword [rax + 0x18]
mov rcx, qword [rbx + 0x18]
call fcn.14018ed30
cmp byte [rbx + 0x148], 0
je 0x14013770c
imul rax, r15, 0xa8
mov rcx, qword [r13 + rax + 0x20]
cmp rcx, qword [rbx + 0x140]
jge 0x14013748f
lea rcx, [rsp + 0x70]
call fcn.14020ad30
mov rax, qword [rsp + 0x70]
test rax, rax
jne 0x140137409
movabs rax, 0xfffffffc00000000
and rax, qword [rsp + 0x50]
cmp rax, qword [0x1402b5708]
jne 0x140136f64
mov rcx, qword [rsp + 0x50]
call fcn.1400fd6f0
jmp 0x140136f64
xor eax, eax
mov qword [rsp + 0x50], rax
jmp 0x14013745b
add r13, rax
mov rcx, qword [rbx + 0x18]
call fcn.14018ed30
cmp byte [rbx + 0x148], 1
jne 0x1401374ab
mov byte [rbx + 0x148], 0
lea r15, [rsp + 0x58]
mov rcx, r13
mov rdx, r15
call fcn.14013fc00
lea r13, [rsp + 0x90]
mov rcx, r13
mov rdx, r15
call fcn.1400efb10
mov rcx, qword [rbx + 0x18]
call fcn.14018ed30
lea r15, [rbx + 0x120]
mov rcx, r15
mov rdx, r13
call fcn.14020ace0
mov rcx, qword [rbx + 0x18]
call fcn.14018ed30
mov rcx, qword [rbx + 0x18]
mov r13, qword [rbx + 0xa8]
call fcn.14018ed30
cmp byte [rbx + 0x138], 0
je 0x140137711
mov eax, dword [r15 + 0x10]
mov dword [rsp + 0xa0], eax
movups xmm0, xmmword [r15]
movaps xmmword [rsp + 0x90], xmm0
mov rcx, r13
call fcn.1401d1390
lea rax, [r13 + 0x50]
cmp byte [r13 + 0x68], 1
jne 0x1401375c6
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.14018ed30
mov rcx, qword [rbx + 0x18]
mov r13, qword [rbx + 0xa0]
call fcn.14018ed30
cmp byte [rbx + 0x138], 0
je 0x140137711
mov eax, dword [r15 + 0x10]
mov dword [rsp + 0xa0], eax
movups xmm0, xmmword [r15]
movaps xmmword [rsp + 0x90], xmm0
mov rcx, r13
call fcn.1401d1390
lea rax, [r13 + 0x50]
cmp byte [r13 + 0x68], 1
jne 0x1401375e5
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 0x14013745b
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 0x140137552
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 0x1401375b7
mov rcx, qword [rbx + 0x18]
call fcn.14018ecf0
test al, al
je 0x1401370dc
lea rdi, [rbx + 0x28]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x14013762c
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rcx, qword [rbx + 0x18]
mov r15, qword [rbx + 0x40]
call fcn.14018ed30
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0xa8]
mov r14, qword [rax + 0x10]
call fcn.14018ed30
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0xa0]
mov r12, qword [rax + 0x10]
call fcn.14018ed30
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 0x1401370dc
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.14020bd70
lea r8, [rsp + 0x58]
mov qword [r8], rax
lea rax, [rsp + 0x8c]
mov dword [rax], ebp
lea rcx, [0x140276b98]
lea rdx, [rsp + 0x90]
mov qword [rdx], rcx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rdx
lea rax, [0x140276580]
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.14004f440
jmp 0x1401370dc
call fcn.1401ceaf0
lea rcx, [0x1402742d5]
lea rdx, str....._third_partylibc_srcincludeoptional:800:_assertion_this__has_value___failed:_optional_operator_called_on_a_disengaged_value_n
call fcn.1401ceaf0
lea r15, [rsp + 0x90]
mov rcx, r15
call fcn.14018d160
cmp r13d, dword [r15]
je 0x1401372a3
int3
int3
int3
int3