Function at 0x1400abea0
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 rbx, rdx
mov r14, rcx
mov rax, qword [0x140346038]
xor rax, rsp
mov qword [rsp + 0xa8], rax
movaps xmm6, xmmword [0x1402fccc0]
movups xmmword [rdx + 0x78], xmm6
mov rax, qword [rcx]
mov rcx, qword [rax + 8]
mov r8, qword [rax + 0x18]
inc rcx
xor edx, edx
cmp rcx, qword [rax]
cmove rcx, rdx
imul rax, rcx, 0xa8
add rax, r8
add rax, 0x28
mov rcx, qword [rax - 0x28]
mov qword [rbx], rcx
mov qword [rax - 0x28], rdx
movups xmm0, xmmword [rax - 0x20]
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rbx + 0x18], xmm1
movups xmmword [rbx + 8], xmm0
lea rdi, [rbx + 0x28]
mov ecx, 0xa
mov rsi, rax
rep movsq qword [rdi], qword [rsi]
mov cl, byte [rax + 0x54]
mov byte [rbx + 0x7c], cl
mov ecx, dword [rax + 0x50]
mov dword [rbx + 0x78], ecx
mov cl, byte [rax + 0x5a]
mov byte [rbx + 0x82], cl
movzx ecx, word [rax + 0x58]
mov word [rbx + 0x80], cx
mov rcx, qword [rax + 0x60]
mov qword [rbx + 0x88], rcx
mov qword [rax + 0x60], rdx
mov rcx, qword [rax + 0x68]
mov qword [rbx + 0x90], rcx
mov rcx, qword [rax + 0x70]
mov qword [rbx + 0x98], rcx
mov qword [rax + 0x70], rdx
mov rax, qword [rax + 0x78]
mov qword [rbx + 0xa0], rax
mov rax, qword [r14]
mov rcx, qword [rax + 8]
mov rsi, qword [rax + 0x18]
inc rcx
cmp rcx, qword [rax]
cmove rcx, rdx
mov qword [rax + 8], rcx
imul r15, rcx, 0xa8
mov rcx, qword [rsi + r15 + 0x98]
test rcx, rcx
je 0x1400abfb8
lock dec dword [rcx]
jne 0x1400abfb8
call fcn.140153bcc
lea rdi, [rsi + r15]
mov rsi, qword [rsi + r15 + 0x88]
test rsi, rsi
jne 0x1400ac08b
mov rcx, qword [rdi]
test rcx, rcx
jne 0x1400ac09a
mov rax, qword [r14]
mov rcx, qword [rax + 0x10]
cmp rcx, qword [rax + 8]
jne 0x1400abff3
mov rcx, qword [rax + 0x20]
test rcx, rcx
jne 0x1400ac3ac
dec qword [r14 + 0x10]
jne 0x1400ac2b6
movabs r13, 0xaaaaaaaaaaaaaaaa
movabs r15, 0x8637bd05af7
cmp dword [r14 + 0x78], 0
jne 0x1400ac1ec
mov rbp, qword [r14 + 0x30]
cmp qword [r14 + 8], 0
je 0x1400ac10d
mov qword [rsp + 0x60], r13
mov rax, qword [0x140356358]
lea rcx, [0x140038290]
cmp rax, rcx
jne 0x1400ac69c
lea rsi, [rsp + 0x80]
mov qword [rsi], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsi]
cmp rax, r15
jl 0x1400ac0b2
mov rcx, qword [0x1403627d8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400ac0c2
lock dec dword [rsi + 8]
jne 0x1400abfcd
jmp 0x1400ac3d8
lock dec dword [rcx]
jne 0x1400abfd9
mov rax, qword [rcx + 0x10]
call qword [0x14037e008]
jmp 0x1400abfd9
imul rax, rax, 0xf4240
cqo
idiv qword [0x1403627d8]
mov qword [rsp + 0x60], rax
cmp rax, qword [r14 + 0x20]
jl 0x1400ac10d
mov rax, qword [r14 + 0x18]
inc rax
cmp rax, 5
mov edx, 4
cmovae rdx, rax
mov rax, qword [r14]
mov rcx, qword [r14 + 0x10]
mov qword [r14 + 0x18], rcx
test rax, rax
je 0x1400ac10d
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax]
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x1400ac0f8
cmp rcx, r8
jb 0x1400ac673
lea rsi, [rbp + 0x20]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x1400ac127
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rax, qword [r14]
mov rcx, qword [rbp + 0x28]
mov qword [r14], rcx
mov qword [rbp + 0x28], rax
mov rax, qword [r14 + 8]
mov rcx, qword [rbp + 0x30]
mov qword [r14 + 8], rcx
mov qword [rbp + 0x30], rax
mov rax, qword [r14 + 0x10]
mov rcx, qword [rbp + 0x38]
mov qword [r14 + 0x10], rcx
mov qword [rbp + 0x38], rax
mov rax, qword [r14 + 0x18]
mov rcx, qword [rbp + 0x40]
mov qword [r14 + 0x18], rcx
mov qword [rbp + 0x40], rax
mov rax, qword [r14 + 0x20]
mov rcx, qword [rbp + 0x48]
mov qword [r14 + 0x20], rcx
mov qword [rbp + 0x48], rax
cmp byte [rbp + 0x158], 0
je 0x1400ac1b4
movabs r12, 0xfffffffc00000000
mov rdi, qword [r14]
test rdi, rdi
je 0x1400ac19e
mov rcx, qword [rdi + 8]
cmp qword [rdi + 0x10], rcx
jne 0x1400ac2fe
xor edi, edi
and r12, rdi
cmp r12, qword [0x140346fc8]
jne 0x1400ac1b4
mov rcx, rdi
call fcn.140151ea0
mov rax, qword [rbp + 0xb8]
cmp qword [rax + 0x10], 0
sete byte [rbp + 0x50]
cmp qword [rbp + 0xa8], 0
mov al, byte [rbp + 0x128]
jne 0x1400ac1e0
test al, al
je 0x1400ac257
mov al, byte [rbp + 0x130]
xor al, 1
mov byte [rbp + 0x51], al
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp qword [r14 + 8], 0
je 0x1400ac2b6
mov qword [rsp + 0x60], r13
mov rax, qword [0x140356358]
lea rcx, [0x140038290]
cmp rax, rcx
jne 0x1400ac5d2
lea rsi, [rsp + 0x80]
mov qword [rsi], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsi]
cmp rax, r15
jl 0x1400ac25b
mov rcx, qword [0x1403627d8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400ac26b
xor eax, eax
jmp 0x1400ac1e0
imul rax, rax, 0xf4240
cqo
idiv qword [0x1403627d8]
mov qword [rsp + 0x60], rax
cmp rax, qword [r14 + 0x20]
jl 0x1400ac2b6
mov rax, qword [r14 + 0x18]
inc rax
cmp rax, 5
mov edx, 4
cmovae rdx, rax
mov rax, qword [r14]
mov rcx, qword [r14 + 0x10]
mov qword [r14 + 0x18], rcx
test rax, rax
je 0x1400ac2b6
lea rcx, [rdx + 0x10]
xor r8d, r8d
add r8, qword [rax]
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x1400ac2a1
cmp rcx, r8
jb 0x1400ac439
mov rcx, qword [r14 + 0x28]
mov rdx, r14
call fcn.1400c3590
test byte [0x140355d30], 9
jne 0x1400ac6cc
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.140156fe0
mov rax, rbx
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
mov rax, rdi
and rax, r12
cmp rax, qword [0x140346fc8]
jne 0x1400ac326
mov rcx, rdi
call fcn.140151d50
cmp byte [rbp + 0x158], 0
je 0x1400ac66b
mov rcx, qword [rdi + 8]
inc rcx
mov rax, qword [rdi]
cmp rcx, rax
mov edx, 0
cmovne rdx, rcx
mov r9b, 1
mov rcx, qword [rdi + 0x18]
imul r8, rdx, 0xa8
mov r10, qword [rcx + r8 + 0x28]
cmp r10, qword [rbp + 0x160]
jge 0x1400ac478
mov r13, r15
cmp rdx, qword [rdi + 0x10]
jne 0x1400ac825
mov r15, qword [rdi + 0x20]
mov rax, rdi
and rax, r12
cmp rax, qword [0x140346fc8]
je 0x1400ac6b2
mov rax, r15
and rax, r12
cmp rax, qword [0x140346fc8]
je 0x1400ac6bf
test r15, r15
jne 0x1400ac806
xor edi, edi
mov r15, r13
movabs r13, 0xaaaaaaaaaaaaaaaa
jmp 0x1400ac1a0
mov qword [rax + 0x20], 0
mov rsi, qword [r14]
mov qword [r14], rcx
test rsi, rsi
je 0x1400abff3
mov rcx, rsi
call fcn.1400644c0
mov rcx, rsi
call fcn.140153bcc
jmp 0x1400abff3
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
lea rdx, [0x140240070]
cmp qword [rcx + 0x10], rdx
jne 0x1400ac3f8
lea rcx, [0x14026b450]
cmp rax, rcx
je 0x1400ac40b
mov rcx, rsi
mov edx, 1
call qword [0x14037e008]
jmp 0x1400abfcd
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x1400ac41e
lock dec dword [rcx]
jne 0x1400ac41e
call fcn.140153bcc
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x1400ac42c
lock dec dword [rcx]
je 0x1400ac462
mov rcx, rsi
call fcn.140153bcc
jmp 0x1400abfcd
mov rcx, r14
call fcn.1401d2090
mov eax, 0x4c4b40
add rax, qword [rsp + 0x60]
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [r14 + 0x20], rcx
jmp 0x1400ac2b6
call fcn.140101af0
jmp 0x1400ac42c
cmp dword [rdx + 0x40], 0
je 0x1400ac54a
mov rdx, r9
jmp 0x1400ac491
lea rdx, [rcx + r8]
mov byte [rbp + 0x158], 0
mov eax, dword [rdx + 0x78]
mov r9, qword [rdx + 0x30]
test r9, r9
jne 0x1400ac469
xor edx, edx
mov rcx, qword [rcx + r8 + 0x90]
cmp byte [rbp + 0x130], 0
lea r15, [rbp + 0x138]
mov qword [rbp + 0x138], rcx
mov qword [rbp + 0x140], rdx
mov dword [rbp + 0x148], eax
jne 0x1400ac4c4
mov byte [rbp + 0x130], 1
mov rcx, qword [rbp + 0xb8]
mov eax, dword [r15 + 0x10]
mov dword [rsp + 0x70], eax
movups xmm0, xmmword [r15]
movaps xmmword [rsp + 0x60], xmm0
cmp byte [rcx + 0x50], 0
jne 0x1400ac596
movups xmm0, xmmword [r15]
mov eax, dword [r15 + 0x10]
mov dword [rcx + 0x68], eax
movups xmmword [rcx + 0x58], xmm0
mov byte [rcx + 0x50], 1
cmp byte [rbp + 0x130], 0
je 0x1400ac669
mov rcx, qword [rbp + 0xb0]
mov eax, dword [r15 + 0x10]
mov dword [rsp + 0x70], eax
movups xmm0, xmmword [r15]
movaps xmmword [rsp + 0x60], xmm0
cmp byte [rcx + 0x50], 0
jne 0x1400ac5b6
movups xmm0, xmmword [r15]
mov eax, dword [r15 + 0x10]
mov dword [rcx + 0x68], eax
movups xmmword [rcx + 0x58], xmm0
mov byte [rcx + 0x50], 1
movabs r15, 0x8637bd05af7
jmp 0x1400ac1a0
movabs r10, 0x8000000000000001
mov rdx, qword [rdx + 0x38]
lea r11, [rdx + r10]
cmp r11, 2
jae 0x1400ac57d
add r10, r9
cmp r10, 1
ja 0x1400ac491
cmp r9, rdx
je 0x1400ac491
jmp 0x1400ac670
lea r10, [r9 + rdx]
sar r10, 0x3f
btc r10, 0x3f
add r9, rdx
cmovo r9, r10
jmp 0x1400ac473
cmp qword [rcx + 0x10], 0
jne 0x1400ac622
mov eax, dword [rsp + 0x70]
mov dword [rcx + 0x68], eax
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rcx + 0x58], xmm0
jmp 0x1400ac4f9
cmp qword [rcx + 0x10], 0
jne 0x1400ac5e8
mov eax, dword [rsp + 0x70]
mov dword [rcx + 0x68], eax
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rcx + 0x58], xmm0
jmp 0x1400ac53b
lea rsi, [rsp + 0x60]
mov rcx, rsi
call qword [0x14037e008]
mov rax, qword [rsi]
jmp 0x1400ac270
mov rax, qword [rcx]
mov r15, rcx
mov rcx, qword [rax + 8]
inc rcx
xor edx, edx
cmp rcx, qword [rax]
cmovne rdx, rcx
imul rcx, rdx, 0xa8
add rcx, qword [rax + 0x18]
lea rdx, [rsp + 0x80]
call fcn.1401064b0
cmp byte [r15 + 0x50], 0
je 0x1400ac669
mov rcx, r15
jmp 0x1400ac5bd
mov rax, qword [rcx]
mov r13, rcx
mov rcx, qword [rax + 8]
inc rcx
xor edx, edx
cmp rcx, qword [rax]
cmovne rdx, rcx
imul rcx, rdx, 0xa8
add rcx, qword [rax + 0x18]
lea rdx, [rsp + 0x80]
call fcn.1401064b0
cmp byte [r13 + 0x50], 0
je 0x1400ac669
mov rcx, r13
movabs r13, 0xaaaaaaaaaaaaaaaa
jmp 0x1400ac5a1
ud2
call fcn.1401e1808
int3
mov rcx, r14
call fcn.1401d2090
mov eax, 0x4c4b40
add rax, qword [rsp + 0x60]
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [r14 + 0x20], rcx
jmp 0x1400ac10d
lea rsi, [rsp + 0x60]
mov rcx, rsi
call qword [0x14037e008]
mov rax, qword [rsi]
jmp 0x1400ac0c7
mov rcx, rdi
call fcn.140151ea0
jmp 0x1400ac37c
mov rcx, r15
call fcn.140151d50
jmp 0x1400ac38f
mov r14, qword [r14 + 0x30]
mov rax, qword [r14 + 0x10]
mov edi, dword [rax + 4]
lea rsi, [rsp + 0x80]
mov rcx, rsi
call fcn.140134cd0
cmp edi, dword [rsi]
jne 0x1400ac2cf
lea rdi, [r14 + 0x20]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x1400ac709
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rax, qword [r14 + 0x38]
mov qword [rsp + 0x58], rax
mov rax, qword [r14 + 0xb0]
mov rcx, qword [r14 + 0xb8]
mov r13, qword [rcx + 0x10]
mov r12, qword [rax + 0x10]
mov rbp, qword [r14 + 0xd0]
mov r15, qword [r14 + 0xc8]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test byte [0x140355d30], 0x19
je 0x1400ac2cf
sub rbp, r15
shr rbp, 3
imul eax, ebp, 0x3cf3cf3d
add r13d, dword [rsp + 0x58]
add r12d, eax
add r12d, r13d
mov ecx, dword [r14]
call fcn.140103a40
mov rdi, rax
lea r14, [rsp + 0x60]
mov rcx, r14
call fcn.1400e35f0
call sub.KERNEL32.dll_GetCurrentThreadId
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x90], xmm6
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xa0], rcx
mov word [rsp + 0x80], 0x301
lea rcx, [0x140307372]
mov qword [rsp + 0x88], rcx
movsxd rcx, r12d
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], r14
mov dword [rsp + 0x30], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x48], 0
lea rdx, [0x140355d30]
mov cl, 0x43
mov r8, rdi
xor r9d, r9d
call fcn.1401bfdf0
mov rcx, rsi
call fcn.1400bf794
jmp 0x1400ac2cf
mov rax, qword [r15]
mov rcx, qword [r15 + 8]
inc rcx
xor edx, edx
cmp rcx, rax
cmovne rdx, rcx
mov r9b, byte [rbp + 0x158]
mov rdi, r15
jmp 0x1400ac831
inc rdx
xor ecx, ecx
cmp rdx, rax
cmove rdx, rcx
test r9b, r9b
mov r15, r13
movabs r13, 0xaaaaaaaaaaaaaaaa
jne 0x1400ac33b
jmp 0x1400ac66b