Function at 0x1401fe360
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov ebx, ecx
mov rax, qword [0x140516040]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov eax, dword [0x14052b360]
mov ecx, dword [0x140527e80]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1401fe556
mov rsi, qword [0x14052b358]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401fe5a3
movzx ebx, bl
dec ebx
or ebx, 1
test byte [0x14052b308], 1
mov eax, 1
mov ecx, 8
cmovne ecx, eax
xor ebp, ebp
add ebx, dword [0x14052b30c]
mov dword [0x14052b30c], ebx
cmovne ebp, ecx
mov eax, dword [0x14052b310]
cmp ebp, eax
je 0x1401fe52b
test eax, eax
je 0x1401fe4bc
mov rax, qword [0x140518958]
lea rcx, [0x1401fe690]
lea rdi, [rsp + 0x28]
cmp rax, rcx
jne 0x1401fe5c1
mov qword [rdi], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rcx, qword [rdi]
movabs rax, 0x8637bd05af7
cmp rcx, rax
jge 0x1401fe61e
imul rax, rcx, 0xf4240
cqo
idiv qword [0x14052b378]
mov qword [rsp + 0x28], rax
mov rcx, qword [0x14052b368]
xor edx, edx
cmp rax, rcx
setns dl
movabs r8, 0x7fffffffffffffff
add r8, rdx
sub rax, rcx
cmovo rax, r8
movabs rdx, 0x8000000000000001
lea r8, [rax + rdx]
mov rcx, qword [0x14052b318]
cmp r8, 2
jb 0x1401fe5d2
lea rdx, [rcx + rax]
sar rdx, 0x3f
btc rdx, 0x3f
add rcx, rax
cmovo rcx, rdx
mov rax, rcx
mov qword [0x14052b318], rax
mov ecx, dword [0x14052b310]
call qword [sym.imp.WINMM.dll_timeEndPeriod]
mov dword [0x14052b310], ebp
test ebx, ebx
je 0x1401fe52b
mov rax, qword [0x140518958]
lea rcx, [0x1401fe690]
lea rdi, [rsp + 0x28]
cmp rax, rcx
jne 0x1401fe5b0
mov qword [rdi], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rcx, qword [rdi]
movabs rax, 0x8637bd05af7
cmp rcx, rax
jge 0x1401fe5ed
imul rax, rcx, 0xf4240
cqo
idiv qword [0x14052b378]
mov qword [0x14052b368], rax
mov ecx, dword [0x14052b310]
call qword [sym.imp.WINMM.dll_timeBeginPeriod]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
cmp rcx, qword [0x140516040]
je 0x1401fe54b
call fcn.14029bbb0
int3
mov al, 1
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
ret
lea rcx, [0x14052b360]
call fcn.14029a6ac
cmp dword [0x14052b360], 0xffffffff
jne 0x1401fe39e
mov ecx, 8
call fcn.14029a62c
mov rsi, rax
mov qword [rax], 0
mov rcx, rax
call fcn.1401fec80
mov qword [0x14052b358], rsi
lea rcx, [0x14052b360]
call fcn.14029a760
jmp 0x1401fe39e
mov rcx, rsi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
jmp 0x1401fe3b6
mov rcx, rdi
call qword [0x140505c38]
mov rax, qword [rdi]
jmp 0x1401fe518
mov rcx, rdi
call qword [0x140505c38]
mov rax, qword [rdi]
jmp 0x1401fe450
add rdx, rcx
cmp rdx, 2
setae dl
cmp rcx, rax
sete cl
or cl, dl
jne 0x1401fe4a9
int3
mov r8, qword [0x14052b378]
mov rax, rcx
cqo
idiv r8
imul r9, rax, 0xf4240
imul rax, r8
sub rcx, rax
imul rax, rcx, 0xf4240
cqo
idiv r8
add rax, r9
jmp 0x1401fe518
mov r8, qword [0x14052b378]
mov rax, rcx
cqo
idiv r8
imul r9, rax, 0xf4240
imul rax, r8
sub rcx, rax
imul rax, rcx, 0xf4240
cqo
idiv r8
add rax, r9
jmp 0x1401fe44b