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

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x68
mov rax, qword [0x14029c028]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rax, qword [rcx + 0xb0]
cmp qword [rcx + 0xa8], rax
je 0x1400e3d31
mov rdi, rdx
mov rsi, rcx
mov eax, dword [rax - 0x40]
test eax, eax
je 0x1400e3dd1
cmp eax, 2
je 0x1400e3f3c
cmp qword [rsi + 0x60], 0
je 0x1400e3d10
cmp qword [rsi + 0x48], 0
je 0x1400e3d10
mov rax, qword [rsi + 0x90]
test rax, rax
je 0x1400e3feb
mov rcx, qword [rax + 0xb0]
sub rcx, qword [rax + 0xa8]
cmp rcx, 0x40
jne 0x1400e3d10
cmp byte [rdi], 0
je 0x1400e3c0f
mov rbx, qword [rdi + 8]
jmp 0x1400e3c71
mov rax, qword [fcn.14014f070]
lea rcx, [0x140183600]
cmp rax, rcx
jne 0x1400e3f10
mov qword [rsp + 0x48], 0
lea rcx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x48]
movabs rcx, 0x8637bd05af7
cmp rax, rcx
jge 0x1400e3ff4
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b7458]
mov rbx, rax
cmp byte [rdi], 0
mov qword [rdi + 8], rbx
jne 0x1400e3c71
mov byte [rdi], 1
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 0x1400e3cf4
movabs r8, 0x8000000000000001
lea rax, [rdx + r8]
mov rcx, qword [rsi + 0x10]
cmp rax, 1
jbe 0x1400e3f75
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 0x1400e3ebd
cmp qword [rsi + 0x90], 0
je 0x1400e3fee
movzx eax, byte [0x1402ab3a0]
test al, 9
jne 0x1400e3f8c
test al, 9
setne byte [rsi + 0x88]
mov qword [rsi + 0x48], rbx
mov rdi, qword [rsi + 0xb0]
cmp qword [rsi + 0xa8], rdi
je 0x1400e3fe8
cmp dword [rdi - 0x40], 0
mov dword [rdi - 0x40], 2
je 0x1400e3d55
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1401879f0
nop
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r14
ret
cmp qword [rdi - 0x10], 0
jne 0x1400e3d5e
jmp 0x1400e401e
test byte [0x1402aa9c0], 0x19
jne 0x1400e3d49
mov rsi, qword [rdi - 0x18]
inc rsi
mov qword [rdi - 0x18], rsi
mov eax, dword [0x1402ba1f8]
mov ecx, dword [0x1402ac5e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400e3e87
cmp dword [rdi - 0x20], 0
je 0x1400e3dcd
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [rsp + 0x3c], eax
mov al, 1
mov byte [rsp + 0x38], al
mov byte [rsp + 0x48], 0
mov rdx, qword [rdi - 0x28]
mov qword [rsp + 0x20], rsi
lea rcx, [0x1402b9550]
lea r8, [rsp + 0x48]
lea r9, [rsp + 0x38]
call fcn.1400014a0
jmp 0x1400e3d31
xor eax, eax
jmp 0x1400e3da0
cmp qword [rsi + 0x60], 0
je 0x1400e3d10
mov rax, qword [rsi + 0x90]
test rax, rax
je 0x1400e3ff1
mov rcx, qword [rax + 0xb0]
sub rcx, qword [rax + 0xa8]
cmp rcx, 0x40
jne 0x1400e3d10
cmp byte [rdi], 0
jne 0x1400e3e81
mov rax, qword [fcn.14014f070]
lea rcx, [0x140183600]
cmp rax, rcx
jne 0x1400e3f26
lea rbx, [rsp + 0x48]
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 0x1400e3faf
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b7458]
cmp byte [rdi], 0
mov qword [rdi + 8], rax
jne 0x1400e3e67
mov byte [rdi], 1
mov qword [rsi + 0x40], rax
mov qword [rsi + 0x48], rax
test byte [0x1402ab3a0], 0x19
je 0x1400e3d10
jmp 0x1400e3fa3
mov rax, qword [rdi + 8]
jmp 0x1400e3e67
lea rcx, [0x1402ba1f8]
call fcn.140184f58
cmp dword [0x1402ba1f8], 0xffffffff
jne 0x1400e3d8e
lea rcx, [0x1402b9550]
call fcn.140001680
lea rcx, [0x1402ba1f8]
call fcn.140184fc0
jmp 0x1400e3d8e
cvtsi2sd xmm0, rcx
divsd xmm0, qword [0x14027a8b0]
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 [0x1402ca008]
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 0x1400e3ce6
lea rbx, [rsp + 0x38]
mov rcx, rbx
call qword [0x1402ca008]
mov rbx, qword [rbx]
jmp 0x1400e3c65
lea rbx, [rsp + 0x38]
mov rcx, rbx
call qword [0x1402ca008]
mov rax, qword [rbx]
jmp 0x1400e3e5b
lea rcx, [rsi + 0xa8]
lea rax, [rsi + 0xa0]
lea r8, [rsp + 0x38]
mov byte [r8], 1
lea rdx, [rsp + 0x48]
mov dword [rdx], 2
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
mov r9, rsi
call fcn.14020b260
jmp 0x1400e3d31
lea rax, [r8 - 1]
cmp rcx, rdx
je 0x1400e3f07
add rcx, r8
cmp rcx, 1
ja 0x1400e3f07
jmp 0x1400e4021
test al, 0x19
je 0x1400e3f99
cmp byte [rsi + 0x88], 0
je 0x1400e3fd6
test al, 0x19
je 0x1400e3d03
jmp 0x1400e3fdc
cmp byte [rsi + 0x68], 0
jne 0x1400e3d10
ud2
mov rcx, qword [0x1402b7458]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x1400e3e5b
cmp byte [rsi + 0x68], 0
je 0x1400e3fad
cmp byte [rsi + 0x68], 0
jne 0x1400e3d03
jmp 0x1400e3fad
int3
int3
int3
int3
mov rcx, qword [0x1402b7458]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
mov rbx, rax
add rbx, r8
jmp 0x1400e3c65
int3
int3