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

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rax, qword [0x140297028]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov rax, qword [rcx + 0xd0]
cmp qword [rcx + 0xc8], rax
je 0x1400dd9d4
mov rdi, rdx
mov rsi, rcx
mov eax, dword [rax - 0x40]
test eax, eax
je 0x1400dd9ef
cmp eax, 2
je 0x1400dddb1
cmp qword [rsi + 0x60], 0
je 0x1400dd9b3
cmp qword [rsi + 0x48], 0
je 0x1400dd9b3
mov rax, qword [rsi + 0x90]
test rax, rax
je 0x1400dddab
mov rcx, qword [rax + 0xd0]
sub rcx, qword [rax + 0xc8]
cmp rcx, 0x40
jne 0x1400dd9b3
cmp byte [rdi], 0
jne 0x1400dd910
mov rax, qword [fcn.1401038f0]
lea rcx, [0x14017e8a0]
cmp rax, rcx
jne 0x1400ddd3b
mov qword [rsp + 0x38], 0
lea rcx, [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x38]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400dde22
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402ac9c8]
mov rbx, rax
cmp byte [rdi], 0
mov qword [rdi + 8], rbx
jne 0x1400dd914
mov byte [rdi], 1
jmp 0x1400dd914
mov rbx, qword [rdi + 8]
mov rax, qword [rsi + 0x48]
xor ecx, ecx
cmp rbx, rax
setns cl
movabs r14, 0x7fffffffffffffff
add rcx, r14
mov rdx, rbx
sub rdx, rax
cmovo rdx, rcx
cmp rdx, 0x1c9c37f
jg 0x1400dd997
movabs r8, 0x8000000000000001
lea rax, [rdx + r8]
mov rcx, qword [rsi + 0x10]
cmp rax, 1
jbe 0x1400ddd67
lea rax, [rcx + rdx]
sar rax, 0x3f
movabs r8, 0x8000000000000000
xor r8, rax
add rcx, rdx
cmovo rcx, r8
mov qword [rsi + 0x10], rcx
cmp rcx, 0x186a0
jge 0x1400ddce8
cmp qword [rsi + 0x90], 0
je 0x1400dddae
movzx eax, byte [0x14029a240]
test al, 9
jne 0x1400dddea
test al, 9
setne byte [rsi + 0x88]
mov qword [rsi + 0x48], rbx
mov rdi, qword [rsi + 0xd0]
cmp qword [rsi + 0xc8], rdi
je 0x1400ddda5
cmp dword [rdi - 0x40], 0
mov dword [rdi - 0x40], 2
je 0x1400dda4d
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1401830b0
nop
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
cmp qword [rsi + 0x60], 0
je 0x1400dd9b3
mov rax, qword [rsi + 0x90]
test rax, rax
je 0x1400dde1f
mov rcx, qword [rax + 0xd0]
sub rcx, qword [rax + 0xc8]
cmp rcx, 0x40
jne 0x1400dd9b3
cmp byte [rdi], 0
je 0x1400ddb46
mov rax, qword [rdi + 8]
mov qword [rsi + 0x40], rax
mov qword [rsi + 0x48], rax
test byte [0x14029a240], 0x19
je 0x1400dd9b3
jmp 0x1400dde13
cmp qword [rdi - 0x10], 0
jne 0x1400dda56
jmp 0x1400dde4c
test byte [0x140299870], 0x19
jne 0x1400dda41
mov rbx, qword [rdi - 0x18]
inc rbx
mov qword [rdi - 0x18], rbx
mov eax, dword [0x1402b51f8]
mov ecx, dword [0x1402a76e4]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400ddc6e
mov r15d, dword [rdi - 0x20]
test r15d, r15d
je 0x1400ddc67
mov bpl, 1
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
mov r14, qword [rdi - 0x28]
lea rcx, [0x1402b51e8]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400ddbad
mov rdi, qword [0x1402b51d8]
test rdi, rdi
je 0x1400ddbbf
lea rax, [0x1402b4590]
xor ecx, ecx
jmp 0x1400ddaf0
inc rcx
add rax, 0x40
cmp rdi, rcx
je 0x1400ddbbf
cmp rcx, 0x32
je 0x1400ddda8
cmp qword [rax - 0x30], r14
jne 0x1400ddae0
cmp byte [rax - 0x28], 0
jne 0x1400ddae0
movzx edx, byte [rax - 0x10]
test r15d, r15d
je 0x1400ddc4d
test dl, dl
je 0x1400ddc4d
cmp dword [rax - 0xc], esi
jne 0x1400ddae0
mov qword [rax], rbx
mov cl, 1
xchg byte [rax - 0x38], cl
test cl, 1
jne 0x1400ddb34
dec qword [0x1402b51e0]
lea rcx, [0x1402b51e8]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1400dd9d4
mov rax, qword [fcn.1401038f0]
lea rcx, [0x14017e8a0]
cmp rax, rcx
jne 0x1400ddd51
lea rbx, [rsp + 0x38]
mov qword [rbx], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbx]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400ddd7e
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402ac9c8]
cmp byte [rdi], 0
mov qword [rdi + 8], rax
jne 0x1400dda27
mov byte [rdi], 1
jmp 0x1400dda27
lea rcx, [0x1402b51e8]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1400ddab7
mov rax, qword [0x1402b51e0]
test rax, rax
je 0x1400ddc08
mov ecx, 0x32
sub rcx, rdi
cmp rax, rcx
jb 0x1400ddc08
lea rcx, [0x1402b51f0]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400ddc08
lea rcx, [0x1402b4550]
mov rdx, rdi
call fcn.140118a40
mov rdi, rax
lea rcx, [0x1402b51f0]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp rdi, 0x32
je 0x1400ddb34
jae 0x1400dde4f
shl rdi, 6
lea rax, [0x1402b4550]
mov qword [rdi + rax + 0x10], r14
mov byte [rdi + rax + 0x18], 0
mov byte [rdi + rax + 0x30], bpl
mov dword [rdi + rax + 0x34], esi
mov qword [rdi + rax + 0x40], rbx
mov byte [rdi + rax + 8], 1
lock inc qword [0x1402b51d8]
jmp 0x1400ddb34
test dl, dl
setne dl
test r15d, r15d
setne r8b
xor r8b, dl
jne 0x1400ddae0
jmp 0x1400ddb20
xor ebp, ebp
jmp 0x1400dda9e
lea rcx, [0x1402b51f8]
call fcn.1401805cc
cmp dword [0x1402b51f8], 0xffffffff
jne 0x1400dda86
lea rax, [0x14026ada8]
mov qword [0x1402b4550], rax
mov eax, 0x40
lea rcx, [0x1402b4550]
xor edx, edx
mov byte [rax + rcx - 0x38], dl
mov byte [rax + rcx - 0x28], dl
mov byte [rax + rcx - 0x10], dl
mov qword [rax + rcx], 0
add rax, 0x40
cmp rax, 0xcc0
jne 0x1400ddca3
xorpd xmm0, xmm0
movupd xmmword [0x1402b51e8], xmm0
movupd xmmword [0x1402b51d8], xmm0
lea rcx, [0x1402b51f8]
call fcn.140180634
jmp 0x1400dda86
cvtsi2sd xmm0, rcx
divsd xmm0, qword [0x140276d68]
cvttsd2si edi, xmm0
mov rcx, qword [rsi + 0x60]
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov edx, 2
mov r8d, edi
call qword [case.0x1401e9be0.0]
movsxd rax, edi
imul rcx, rax, 0x3e8
mov rax, qword [rsi + 0x10]
xor edx, edx
cmp rax, rcx
setns dl
add rdx, r14
sub rax, rcx
cmovo rax, rdx
mov qword [rsi + 0x10], rax
jmp 0x1400dd989
lea rbx, [rsp + 0x30]
mov rcx, rbx
call qword [case.0x1401e9be0.0]
mov rbx, qword [rbx]
jmp 0x1400dd902
lea rbx, [rsp + 0x30]
mov rcx, rbx
call qword [case.0x1401e9be0.0]
mov rax, qword [rbx]
jmp 0x1400ddb98
lea rax, [r8 - 1]
cmp rcx, rdx
je 0x1400ddd32
add rcx, r8
cmp rcx, 1
ja 0x1400ddd32
jmp 0x1400dde52
mov rcx, qword [0x1402ac9c8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400ddb98
int3
int3
int3
int3
lea rcx, [rsi + 0xc8]
lea rax, [rsi + 0xa0]
lea r8, [rsp + 0x30]
mov byte [r8], 1
lea rdx, [rsp + 0x38]
mov dword [rdx], 2
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
mov r9, rsi
call fcn.140204610
jmp 0x1400dd9d4
test al, 0x19
je 0x1400dddf7
cmp byte [rsi + 0x88], 0
je 0x1400dde01
test al, 0x19
je 0x1400dd9a6
jmp 0x1400dde07
cmp byte [rsi + 0x68], 0
je 0x1400dde1d
cmp byte [rsi + 0x68], 0
jne 0x1400dd9a6
jmp 0x1400dde1d
cmp byte [rsi + 0x68], 0
jne 0x1400dd9b3
ud2
int3
mov rcx, qword [0x1402ac9c8]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
mov rbx, rax
add rbx, r8
jmp 0x1400dd902
int3
int3
int3