Function at 0x1400072b0
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, 0x80
movaps xmmword [rsp + 0x70], xmm6
mov rax, qword [0x1400b0010]
xor rax, rsp
mov qword [rbp - 0x18], rax
call qword [sym.imp.VMM.dll_VMMDLL_CloseAll]
lea rcx, [0x1400cc0f8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea rcx, [0x1400cc2a8]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
xorps xmm0, xmm0
lea rcx, [rbp - 0x40]
movabs rax, 0x20c49ba5e353f7cf
imul qword [0x1400cc2a8]
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cvtsi2sd xmm0, rdx
movsd qword [0x1400b0cd0], xmm0
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbp - 0x40]
xorps xmm6, xmm6
sub rax, qword [0x1400cc0f8]
mov edi, 0xa
mov ebx, edi
cvtsi2sd xmm6, rax
divsd xmm6, qword [0x1400b0cd0]
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
sub rbx, 1
jne 0x140007353
lea rcx, [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbp - 0x40]
xorps xmm0, xmm0
sub rax, qword [0x1400cc0f8]
cvtsi2sd xmm0, rax
divsd xmm0, qword [0x1400b0cd0]
subsd xmm0, xmm6
comisd xmm0, xmmword [0x14009a138]
jbe 0x1400073a0
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 [0x1400cc0f8]
cvtsi2sd xmm6, rax
divsd xmm6, qword [0x1400b0cd0]
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
sub rdi, 1
jne 0x1400073c5
lea rcx, [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rbp - 0x40]
xorps xmm0, xmm0
sub rax, qword [0x1400cc0f8]
cvtsi2sd xmm0, rax
divsd xmm0, qword [0x1400b0cd0]
subsd xmm0, xmm6
comisd xmm0, xmmword [0x14009a138]
jbe 0x140007423
mov rcx, qword [0x1400bcd10]
lea rdx, [0x140096d90]
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, [0x140096e20]
mov qword [rbp - 0x20], rax
call qword [sym.imp.VMM.dll_VMMDLL_Initialize]
mov qword [0x1400bb508], rax
test rax, rax
je 0x1400077fa
mov r8d, dword [0x1400b33e0]
xor edi, edi
cmp r8d, 1
jne 0x14000758c
lea r8, [0x1400bb504]
mov rcx, rax
lea rdx, str.dwm.exe
call qword [sym.imp.VMM.dll_VMMDLL_PidGetFromName]
mov edx, dword [0x1400bb504]
test edx, edx
je 0x1400077da
mov rcx, qword [0x1400bb508]
lea r9, [0x1400b35c0]
lea r8, [0x140096ca8]
mov dword [rsp + 0x20], edi
call qword [sym.imp.VMM.dll_VMMDLL_Map_GetModuleFromNameW]
test eax, eax
je 0x1400077da
mov rax, qword [0x1400b35c0]
mov rcx, qword [rax]
add rcx, 0xfee
call fcn.140007a10
mov dword [0x1400b3550], eax
mov rax, qword [0x1400b35c0]
mov rcx, qword [rax]
add rcx, 0xff2
call fcn.140007a10
cmp dword [0x1400b3550], edi
mov dword [0x1400b33f8], eax
je 0x1400077c0
test eax, eax
je 0x1400077c0
mov rax, qword [0x1400b35c0]
lea rcx, [0x1400cc060]
mov rbx, qword [rax]
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x140007532
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
int3
mov edx, dword [0x1400bb504]
lea r9, [rbp - 0x40]
mov rcx, qword [0x1400bb508]
lea r8, [rbx + 0xff6]
mov qword [rsp + 0x30], 0x101
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 8
call qword [sym.imp.VMM.dll_VMMDLL_MemReadEx]
mov rbx, qword [rbp - 0x40]
lea rcx, [0x1400cc060]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov qword [0x1400bb518], rbx
test rbx, rbx
jne 0x14000768c
jmp 0x1400077da
lea eax, [r8 - 2]
cmp eax, 1
ja 0x14000768c
cmp dword [0x1400cc0d8], 1
jne 0x1400075da
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 1
mov dword [0x1400b3550], eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, dword [0x1400b3550]
mov r8d, dword [0x1400b33e0]
mov dword [0x1400b33f8], eax
mov dword [rbp - 0x38], ecx
mov dword [rbp - 0x34], eax
mov qword [rbp - 0x40], rdi
jmp 0x140007636
cmp dword [0x1400cc0d0], edi
jne 0x140007606
mov ecx, dword [0x1400cc0b8]
mov eax, dword [0x1400cc0bc]
mov dword [0x1400b3550], ecx
mov dword [0x1400b33f8], eax
mov dword [rbp - 0x38], ecx
mov dword [rbp - 0x34], eax
mov qword [rbp - 0x40], rdi
jmp 0x140007636
mov eax, dword [0x1400cc0c0]
mov edx, dword [0x1400cc0c8]
mov ecx, dword [0x1400cc0cc]
mov dword [rbp - 0x40], eax
mov eax, dword [0x1400cc0c4]
mov dword [rbp - 0x3c], eax
mov dword [0x1400b3550], edx
mov dword [0x1400b33f8], ecx
mov dword [rbp - 0x38], edx
mov dword [rbp - 0x34], ecx
cmp r8d, 2
je 0x140007649
cmp r8d, 3
jne 0x14000765b
mov byte [0x1400bd05f], 1
movups xmm0, xmmword [rbp - 0x40]
mov byte [0x1400bd15f], 1
movups xmmword [0x1400bd488], xmm0
call qword [sym.imp.USER32.dll_GetDesktopWindow]
lea rcx, [0x140005f20]
mov qword [rsp + 0x28], rdi
mov qword [0x1400bd4d0], rcx
lea r8, [0x14006e9d0]
xor ecx, ecx
mov dword [rsp + 0x20], edi
mov r9, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rsp + 0x28], rdi
lea r8, [0x140007080]
xor r9d, r9d
mov dword [rsp + 0x20], edi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
xor r9d, r9d
mov qword [rsp + 0x28], rdi
lea r8, [0x1400018c0]
mov dword [rsp + 0x20], edi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
xor r9d, r9d
mov qword [rsp + 0x28], rdi
lea r8, [0x140007120]
mov dword [rsp + 0x20], edi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
cmp byte [0x1400b33d3], dil
je 0x14000779a
cmp dword [0x1400cc0d8], 1
jne 0x140007733
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 1
mov dword [0x1400b3550], eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, dword [0x1400b3550]
mov dword [0x1400b33f8], eax
mov dword [0x1400bcd50], ecx
mov dword [0x1400bcd54], eax
mov qword [0x1400bcd48], rdi
jmp 0x140007793
cmp dword [0x1400cc0d4], edi
jne 0x140007761
mov ecx, dword [0x1400cc0b0]
mov edx, dword [0x1400cc0b4]
mov dword [0x1400bcd48], ecx
add ecx, dword [0x1400cc0b8]
mov dword [0x1400bcd50], ecx
mov ecx, dword [0x1400cc0bc]
jmp 0x140007785
mov ecx, dword [0x1400cc0c0]
mov edx, dword [0x1400cc0c4]
mov dword [0x1400bcd48], ecx
add ecx, dword [0x1400cc0c8]
mov dword [0x1400bcd50], ecx
mov ecx, dword [0x1400cc0cc]
add ecx, edx
mov dword [0x1400bcd4c], edx
mov dword [0x1400bcd54], ecx
mov byte [0x1400bcd09], 1
mov rcx, qword [rbp - 0x18]
xor rcx, rsp
call fcn.14008a4a0
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
movaps xmm6, xmmword [rsp + 0x70]
mov rsp, r11
pop rbp
ret
mov rcx, qword [0x1400bcd10]
lea rdx, [0x140096cc0]
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.USER32.dll_MessageBoxA]
mov rcx, qword [0x1400bcd10]
lea rdx, [0x140096e60]
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.USER32.dll_MessageBoxA]
call fcn.14005fcf0
int3
mov rcx, qword [0x1400bcd10]
lea rdx, [0x140096e28]
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.USER32.dll_MessageBoxA]
call fcn.14005fcf0
int3