Function at 0x14000c780
Capabilities:
Check for time delay via queryperformancecounter
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
mov rbp, rsp
sub rsp, 0x70
movaps xmmword [rsp + 0x60], xmm6
mov rax, qword [0x1400ad010]
xor rax, rsp
mov qword [rbp - 0x18], rax
call qword [sym.imp.VMM.dll_VMMDLL_CloseAll]
lea rcx, [0x1400c7118]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea rcx, [0x1400c72c8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
xorps xmm0, xmm0
lea rcx, [rbp - 0x40]
movabs rax, 0x20c49ba5e353f7cf
imul qword [0x1400c72c8]
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cvtsi2sd xmm0, rdx
movsd qword [0x1400adcc0], xmm0
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbp - 0x40]
xorps xmm6, xmm6
sub rax, qword [0x1400c7118]
mov edi, 0xa
mov ebx, edi
cvtsi2sd xmm6, rax
divsd xmm6, qword [0x1400adcc0]
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
sub rbx, 1
jne 0x14000c820
lea rcx, [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbp - 0x40]
xorps xmm0, xmm0
sub rax, qword [0x1400c7118]
cvtsi2sd xmm0, rax
divsd xmm0, qword [0x1400adcc0]
subsd xmm0, xmm6
comisd xmm0, xmmword [0x140097e68]
jbe 0x14000c86d
lea ecx, [rbx + 2]
call qword [sym.imp.WINMM.dll_timeBeginPeriod]
lea rcx, [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbp - 0x40]
xorps xmm6, xmm6
sub rax, qword [0x1400c7118]
cvtsi2sd xmm6, rax
divsd xmm6, qword [0x1400adcc0]
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
sub rdi, 1
jne 0x14000c892
lea rcx, [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbp - 0x40]
xorps xmm0, xmm0
sub rax, qword [0x1400c7118]
cvtsi2sd xmm0, rax
divsd xmm0, qword [0x1400adcc0]
subsd xmm0, xmm6
comisd xmm0, xmmword [0x140097e68]
jbe 0x14000c8f0
mov rcx, qword [0x1400b80a0]
lea rdx, [0x140094da0]
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.USER32.dll_MessageBoxA]
lea rax, str._device
mov ecx, 3
mov qword [rbp - 0x30], rax
lea rdx, [rbp - 0x30]
lea rax, str.fpga
mov qword [rbp - 0x28], rax
lea rax, [0x140094e30]
mov qword [rbp - 0x20], rax
call qword [sym.imp.VMM.dll_VMMDLL_Initialize]
mov qword [0x1400b68a0], rax
test rax, rax
je 0x14000cab1
mov r8d, dword [reloc.d2d1.dll_Ordinal_1]
xor ebx, ebx
lea eax, [r8 - 1]
cmp eax, 1
ja 0x14000ca37
cmp dword [0x1400c70f4], 1
jne 0x14000c985
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea ecx, [rbx + 1]
mov dword [0x1400b5f78], eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, dword [0x1400b5f78]
mov r8d, dword [reloc.d2d1.dll_Ordinal_1]
mov dword [0x1400b0420], eax
mov dword [rbp - 0x38], ecx
mov dword [rbp - 0x34], eax
mov qword [rbp - 0x40], rbx
jmp 0x14000c9e1
cmp dword [0x1400c70f0], ebx
jne 0x14000c9b1
mov ecx, dword [0x1400c70d8]
mov eax, dword [0x1400c70dc]
mov dword [0x1400b5f78], ecx
mov dword [0x1400b0420], eax
mov dword [rbp - 0x38], ecx
mov dword [rbp - 0x34], eax
mov qword [rbp - 0x40], rbx
jmp 0x14000c9e1
mov eax, dword [0x1400c70e0]
mov edx, dword [0x1400c70e8]
mov ecx, dword [0x1400c70ec]
mov dword [rbp - 0x40], eax
mov eax, dword [0x1400c70e4]
mov dword [rbp - 0x3c], eax
mov dword [0x1400b5f78], edx
mov dword [0x1400b0420], ecx
mov dword [rbp - 0x38], edx
mov dword [rbp - 0x34], ecx
cmp r8d, 1
je 0x14000c9f4
cmp r8d, 2
jne 0x14000ca06
mov byte [0x1400b83cf], 1
movups xmm0, xmmword [rbp - 0x40]
mov byte [0x1400b83f4], 1
movups xmmword [0x1400b8800], xmm0
call qword [sym.imp.USER32.dll_GetDesktopWindow]
lea rcx, [0x14000c190]
mov qword [rsp + 0x28], rbx
mov qword [0x1400b8848], rcx
lea r8, [0x14006cdf0]
xor ecx, ecx
mov dword [rsp + 0x20], ebx
mov r9, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rsp + 0x28], rbx
lea r8, [0x14000c490]
xor r9d, r9d
mov dword [rsp + 0x20], ebx
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
xor r9d, r9d
mov qword [rsp + 0x28], rbx
lea r8, [0x140007da0]
mov dword [rsp + 0x20], ebx
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
xor r9d, r9d
mov qword [rsp + 0x28], rbx
lea r8, [0x14000c540]
mov dword [rsp + 0x20], ebx
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, qword [rbp - 0x18]
xor rcx, rsp
call fcn.1400888c0
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
movaps xmm6, xmmword [rsp + 0x60]
mov rsp, r11
pop rbp
ret
mov rcx, qword [0x1400b80a0]
lea rdx, str.____Failed_to_initialize_vmm.dll_
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.USER32.dll_MessageBoxA]
call fcn.14005e2e0
int3