Function at 0x1400c7e00
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, 0x458
mov rsi, rdx
mov r14, rcx
lea rcx, [rsp + 0x278]
mov r8d, 0x98
call sub.msvcrt.dll_memcpy
mov ebp, dword [rsi + 0xa0]
cmp ebp, 0x3b9aca00
jne 0x1400c7e44
mov ebp, 0x3b9aca00
jmp 0x1400c7f46
mov rdi, qword [rsi + 0x98]
mov qword [rsp + 0x90], 0
lea rcx, [rsp + 0x90]
call sub.KERNEL32.dll_QueryPerformanceCounter
test eax, eax
je 0x1400c8326
mov rbx, qword [rsp + 0x90]
mov rcx, qword [0x1401a4140]
test rcx, rcx
jne 0x1400c7eb9
mov qword [rsp + 0x90], 0
lea rcx, [rsp + 0x90]
call sub.KERNEL32.dll_QueryPerformanceFrequency
test eax, eax
je 0x1400c8326
mov rcx, qword [rsp + 0x90]
mov qword [0x1401a4140], rcx
test rcx, rcx
je 0x1400c832b
mov rax, rbx
or rax, rcx
shr rax, 0x20
je 0x1400c7ecf
mov rax, rbx
xor edx, edx
div rcx
jmp 0x1400c7ed5
mov eax, ebx
xor edx, edx
div ecx
imul r8, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x1400c7ef9
xor edx, edx
div rcx
mov rcx, rax
jmp 0x1400c7eff
xor edx, edx
div ecx
mov ecx, eax
add rcx, r8
mov rax, rcx
shr rax, 9
movabs rdx, 0x44b82fa09b5a53
mul rdx
shr rdx, 0xb
add rdi, rdx
jb 0x1400c832b
imul rax, rdx, 0x3b9aca00
sub rcx, rax
add ebp, ecx
cmp ebp, 0x3b9aca00
jb 0x1400c7f46
inc rdi
je 0x1400c832b
add ebp, 0xc4653600
call fcn.1400f0e40
test rax, rax
je 0x1400c832b
mov rbx, rax
movzx eax, byte [0x1401a4170]
mov rcx, qword [0x1401a4160]
test rcx, rcx
jne 0x1400c7f82
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x1400c832b
mov rcx, rax
mov qword [0x1401a4160], rax
mov r8d, 0x18
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x1400c832b
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], rsi
mov qword [rax], 1
mov qword [rax + 8], 1
mov rcx, rax
add rcx, 0x10
mov qword [rax + 0x10], rbx
lea rax, fcn.1400a5a00
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rcx
lea rax, [rsp + 0x78]
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0x278]
mov r8d, 0x1e0
call sub.msvcrt.dll_memcpy
mov byte [rsp + 0x270], 0
mov eax, dword [rsp + 0x89]
mov ecx, dword [rsp + 0x8c]
mov dword [rsp + 0x271], eax
mov dword [rsp + 0x274], ecx
lea rbx, [rsp + 0x38]
lea r14, [rsp + 0x90]
lea r15, [rsp + 0x30]
cmp ebp, 0x3b9aca00
jne 0x1400c8061
nop word cs:[rax + rax]
mov rcx, rbx
mov rdx, r14
mov r8, r15
call fcn.1400a5bc0
cmp qword [rsp + 0x38], 0
je 0x1400c81ae
call fcn.1400e3480
jmp 0x1400c8040
xor esi, esi
lea r12, [rsp + 0x60]
jmp 0x1400c80a4
mov qword [rsp + 0x60], rdi
mov dword [rsp + 0x68], ebp
mov qword [rsp + 0x38], rdx
mov dword [rsp + 0x40], ecx
mov rcx, r12
mov rdx, rbx
call fcn.1400f0810
cmp edx, 0x3b9aca00
cmove edx, esi
mov ecx, 0
cmovne rcx, rax
call fcn.1400e3580
mov rcx, rbx
mov rdx, r14
mov r8, r15
call fcn.1400a5bc0
cmp qword [rsp + 0x38], 0
je 0x1400c81ae
mov qword [rsp + 0x38], 0
mov rcx, rbx
call sub.KERNEL32.dll_QueryPerformanceCounter
test eax, eax
je 0x1400c8326
mov r13, qword [rsp + 0x38]
mov r8, qword [0x1401a4140]
test r8, r8
jne 0x1400c8116
mov qword [rsp + 0x38], 0
mov rcx, rbx
call sub.KERNEL32.dll_QueryPerformanceFrequency
test eax, eax
je 0x1400c8326
mov r8, qword [rsp + 0x38]
mov qword [0x1401a4140], r8
test r8, r8
je 0x1400c832b
mov rax, r13
or rax, r8
shr rax, 0x20
je 0x1400c8130
mov rax, r13
xor edx, edx
div r8
mov rcx, rax
jmp 0x1400c813a
mov eax, r13d
xor edx, edx
div r8d
mov ecx, eax
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, r8
shr rdx, 0x20
je 0x1400c8160
xor edx, edx
div r8
jmp 0x1400c8165
xor edx, edx
div r8d
imul rcx, rcx, 0x3b9aca00
add rcx, rax
mov rax, rcx
shr rax, 9
movabs rdx, 0x44b82fa09b5a53
mul rdx
shr rdx, 0xb
imul eax, edx, 0x3b9aca00
sub ecx, eax
cmp rdx, rdi
jb 0x1400c8070
jne 0x1400c831e
mov r13d, 0
cmp ebp, ecx
ja 0x1400c8070
jmp 0x1400c81cb
mov rsi, qword [rsp + 0x40]
test rsi, rsi
je 0x1400c81c4
movups xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x60], xmm0
jmp 0x1400c81c6
xor esi, esi
mov r13, qword [rsp + 0x48]
lea rcx, [rsp + 0x90]
call fcn.1400a63d0
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
call qword [rax + 0x18]
test rsi, rsi
je 0x1400c821c
mov rax, qword [rsp + 0x20]
mov qword [rax], rsi
mov qword [rax + 8], r13
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rax + 0x10], xmm0
mov rbx, qword [rsp + 0x28]
mov rdi, qword [rbx + 0xa8]
test rdi, rdi
jne 0x1400c82a6
jmp 0x1400c82d5
test r13, r13
mov rbx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x20]
jne 0x1400c828f
movzx eax, byte [0x1401a4170]
mov rcx, qword [0x1401a4160]
test rcx, rcx
jne 0x1400c8256
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x1400c832b
mov rcx, rax
mov qword [0x1401a4160], rax
mov r8d, 0x70
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x1400c832b
mov r13, rax
mov dword [rax], 2
mov qword [rax + 0x58], 1
lea rax, [0x140171438]
mov qword [r13 + 0x60], rax
mov word [r13 + 0x68], 5
mov qword [rsi + 8], r13
mov qword [rsi], 0
mov rdi, qword [rbx + 0xa8]
test rdi, rdi
je 0x1400c82d5
mov rsi, qword [rbx + 0xb0]
mov rcx, rdi
call qword [rsi]
cmp qword [rsi + 8], 0
je 0x1400c82d5
cmp qword [rsi + 0x10], 0x11
jb 0x1400c82c4
mov rdi, qword [rdi - 8]
mov rcx, qword [0x1401a4160]
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
mov rax, qword [rbx + 0xb8]
test rax, rax
je 0x1400c8309
lock dec qword [rax]
jne 0x1400c8309
add rbx, 0xb8
mov rcx, rbx
add rsp, 0x458
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.140070330
nop
add rsp, 0x458
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor r13d, r13d
jmp 0x1400c81cb
call sub.KERNEL32.dll_GetLastError
ud2