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

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push r15
sub rsp, 0x160
mov rbp, qword [rcx + 0x40]
lea r8, [rsp + 0x90]
xor ebx, ebx
mov r15, rcx
cmp qword [rbp + 0xc8], rbx
jbe 0x1400103a5
nop
cmp ebx, 0x14
jge 0x140010041
mov rcx, qword [rbp + 0xc8]
inc ebx
mov rax, qword [rbp + 0xc0]
lea rdx, [rcx - 1]
mov qword [rbp + 0xc8], rdx
mov rcx, qword [rax + rcx*8 - 8]
mov qword [r8], rcx
add r8, 8
test rdx, rdx
jne 0x140010010
test ebx, ebx
je 0x1400103a5
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [0x140099b70], 0
je 0x1400100c1
mov eax, dword [r15 + 0x38]
lea rcx, [rsp + 0x188]
mov dword [rsp + 0x40], eax
xorps xmm0, xmm0
lea rax, str.EarlyStatNonGeneratedFile
mov dword [rsp + 0x68], 0x32
mov qword [rsp + 0x48], rax
movdqu xmmword [rsp + 0x50], xmm0
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1400103c0
mov rax, qword [rsp + 0x188]
xor edx, edx
sub rax, qword [0x140099f88]
imul rax, rax, 0xf4240
div qword [0x140099f80]
add rax, qword [0x140099f90]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x158], rsi
mov rsi, qword [rsp + 0x180]
mov qword [rsp + 0x150], rdi
mov rdi, qword [rsp + 0x180]
mov qword [rsp + 0x148], r12
mov r12d, dword [rsp + 0x180]
movsxd rax, ebx
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x140], r13
xor r13d, r13d
mov qword [rsp + 0x198], rax
mov eax, dword [rsp + 0x180]
mov qword [rsp + 0x138], r14
mov r14, qword [rsp + 0x180]
mov dword [rsp + 0x188], eax
mov dword [rsp + 0x190], r12d
mov qword [rsp + 0x28], rsi
nop
cmp byte [0x140099b70], 0
mov rbx, qword [rsp + r13*8 + 0x90]
je 0x1400101cb
movsxd rdi, dword [rbx]
lea rcx, [rsp + 0x30]
mov r12d, dword [r15 + 0x38]
lea r14, str.File
xor eax, eax
mov dword [rsp + 0x190], r12d
sub eax, dword [rbx]
add rdi, rbx
neg eax
mov qword [rsp + 0x198], 0
mov dword [rsp + 0x188], 0x1f4
sbb rax, rax
and rdi, rax
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1400103cd
mov rax, qword [rsp + 0x30]
xor edx, edx
sub rax, qword [0x140099f88]
imul rax, rax, 0xf4240
div qword [0x140099f80]
mov rsi, rax
add rsi, qword [0x140099f90]
mov qword [rsp + 0x28], rsi
movsxd r8, dword [rbx]
xor ecx, ecx
sub ecx, dword [rbx]
add r8, rbx
mov r9d, dword [rbx + 4]
neg ecx
mov rdx, qword [rbp + 0x1d0]
sbb rcx, rcx
and r8, rcx
lea rcx, [rsp + 0x70]
call fcn.1400490d0
cmp byte [0x140099b70], 0
je 0x140010340
lea rcx, [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1400103b3
mov rax, qword [rsp + 0x38]
xor edx, edx
sub rax, qword [0x140099f88]
movsxd rcx, dword [rsp + 0x188]
imul rax, rax, 0xf4240
div qword [0x140099f80]
mov r15, rax
sub r15, rsi
add r15, qword [0x140099f90]
cmp r15, rcx
jb 0x140010338
movsxd rbx, r12d
shl rbx, 6
add rbx, qword [0x1400c2570]
cmp dword [rbx + 0x38], 0x8000
jae 0x140010338
movsxd rax, dword [rbx + 0x38]
mov edx, 0x20
inc dword [rbx + 0x38]
lea rcx, [rax + rax*4]
mov rax, qword [rbx + 0x30]
mov qword [rax + rcx*8], rsi
lea r12, [rax + rcx*8]
mov rax, qword [rsp + 0x198]
mov rcx, r14
mov qword [r12 + 0x20], rax
call fcn.14004c8ec
mov rsi, rax
test rax, rax
je 0x1400102da
test rdi, rdi
jne 0x1400102da
mov r8, rax
mov rdx, r14
sub r8, r14
mov rcx, rbx
call fcn.14001f6c0
mov qword [r12 + 0x10], rax
lea rdx, [rsi + 1]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x1400102c6
mov rcx, rbx
call fcn.14001f6c0
jmp 0x14001032e
mov r8, 0xffffffffffffffff
inc r8
cmp byte [r14 + r8], 0
jne 0x1400102e1
mov rdx, r14
mov rcx, rbx
call fcn.14001f6c0
mov qword [r12 + 0x10], rax
test rdi, rdi
je 0x140010327
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rdi + r8], 0
jne 0x140010310
mov rdx, rdi
mov rcx, rbx
call fcn.14001f6c0
jmp 0x14001032e
lea rax, [0x140087d76]
mov qword [r12 + 0x18], rax
mov qword [r12 + 8], r15
mov r15, qword [rsp + 0x180]
inc r13
cmp r13, qword [rsp + 0x20]
je 0x14001035c
mov rsi, qword [rsp + 0x28]
mov r12d, dword [rsp + 0x190]
jmp 0x140010140
lea rcx, [rsp + 0x40]
call fcn.140001250
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r13, qword [rsp + 0x140]
mov al, 1
mov r12, qword [rsp + 0x148]
mov rdi, qword [rsp + 0x150]
mov rsi, qword [rsp + 0x158]
mov r14, qword [rsp + 0x138]
add rsp, 0x160
pop r15
pop rbp
pop rbx
ret
xor al, al
add rsp, 0x160
pop r15
pop rbp
pop rbx
ret
lea rcx, str.QueryPerformanceCounter_failed
call fcn.140013a60
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.140013a60
int3
lea rcx, str.QueryPerformanceCounter_failed
call fcn.140013a60
int3