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

Disassembly:
mov rax, rsp
push rsi
push rdi
push r14
sub rsp, 0x1b0
mov qword [rax - 0x128], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x14003f6c0]
xor rax, rsp
mov qword [rsp + 0x1a8], rax
mov rdi, rdx
mov ebx, ecx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
nop dword [rax + rax]
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
nop dword [rax + rax]
mov r8, rdi
mov edx, ebx
lea rcx, [0x14003f6f0]
call fcn.140020b84
cmp byte [0x14003f6f8], 0
je 0x1400217ee
call fcn.140020aec
mov rax, qword [0x14003f6f0]
mov qword [0x14003fe18], rax
xor ebx, ebx
mov qword [rsp + 0x80], rbx
xor r8d, r8d
xor edx, edx
lea rcx, str.Midlrtmd.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
nop dword [rax + rax]
mov rdi, rax
mov qword [rsp + 0x88], rax
test rax, rax
je 0x14002184f
lea rdx, str.MetaDataGetDispenser
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
mov rbx, rax
mov qword [rsp + 0x80], rax
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
nop dword [rax + rax]
and qword [rsp + 0x40], 0
test rdi, rdi
je 0x140021890
test rbx, rbx
je 0x140021890
lea r8, [rsp + 0x40]
lea rdx, [0x140034770]
lea rcx, [0x1400346f8]
mov rax, rbx
call qword [0x140031740]
mov ebx, 0x80004005
jmp 0x140021897
mov ebx, 0x80004005
mov eax, ebx
test eax, eax
jns 0x140021a67
and qword [rsp + 0x48], 0
and qword [rsp + 0x38], 0
movups xmm0, xmmword [str.v4.0.30319]
movups xmmword [rsp + 0x190], xmm0
mov eax, dword [0x140034938]
mov dword [rsp + 0x1a0], eax
movzx eax, word [0x14003493c]
mov word [rsp + 0x1a4], ax
xor esi, esi
mov qword [rsp + 0x90], rsi
xor r8d, r8d
xor edx, edx
lea rcx, str.mscoree.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
nop dword [rax + rax]
mov r14, rax
mov qword [rsp + 0x98], rax
test rax, rax
je 0x140021929
lea rdx, str.ClrCreateInstance
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
mov rsi, rax
mov qword [rsp + 0x90], rax
test r14, r14
je 0x140021951
test rsi, rsi
je 0x140021951
lea r8, [rsp + 0x48]
lea rdx, [0x140034720]
lea rcx, [0x140034750]
mov rax, rsi
call qword [0x140031740]
mov ebx, eax
test ebx, ebx
js 0x1400219ed
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
lea r9, [rsp + 0x38]
lea r8, [0x140034760]
lea rdx, [rsp + 0x190]
mov rax, qword [rax + 0x18]
call qword [0x140031740]
test eax, eax
js 0x1400219ed
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
lea r9, [rsp + 0x40]
lea r8, [0x140034770]
lea rdx, [0x1400346f8]
mov rax, qword [rax + 0x48]
call qword [0x140031740]
mov ebx, eax
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x1400219c7
and qword [rsp + 0x48], 0
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140031740]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400219e9
and qword [rsp + 0x38], 0
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140031740]
mov rcx, qword [rsp + 0x38]
test ebx, ebx
jns 0x140021a24
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [0x140034770]
xor edx, edx
lea r8d, [rdx + 3]
lea rcx, [0x1400346f8]
call qword [sym.imp.ole32.dll_CoCreateInstance]
nop dword [rax + rax]
test eax, eax
js 0x140021b9b
mov rcx, qword [rsp + 0x38]
test r14, r14
je 0x140021a3d
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140021a50
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140031740]
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140021a67
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140031740]
and qword [rsp + 0x30], 0
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
lea rdx, [rsp + 0x30]
mov qword [rsp + 0x20], rdx
lea r9, [0x140034740]
xor r8d, r8d
lea rdx, [0x140034730]
mov rax, qword [rax + 0x18]
call qword [0x140031740]
test eax, eax
js 0x140021bcf
mov r8, qword [rsp + 0x40]
mov rdx, qword [0x14003f6f0]
lea rcx, [rsp + 0xb0]
call fcn.14000f3d0
nop
lea rcx, [rsp + 0xb0]
call fcn.14000ff94
nop
lea rcx, [rsp + 0xb0]
call fcn.140021bf4
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140021af0
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140031740]
nop
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140021b07
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [0x140031740]
call qword [sym.imp.ole32.dll_CoUninitialize]
nop dword [rax + rax]
lea rcx, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
nop dword [rax + rax]
cmp byte [0x14003f720], 0
je 0x140021b5f
mov rax, qword [rsp + 0x68]
sub rax, qword [rsp + 0x60]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rsp + 0x70]
divsd xmm1, xmm0
movq rdx, xmm1
lea rcx, str.Total_Execution_time:__fs_n
call fcn.14002c27c
nop
test rdi, rdi
je 0x140021b74
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
nop
xor eax, eax
mov rcx, qword [rsp + 0x1a8]
xor rcx, rsp
call fcn.14002b190
mov rbx, qword [rsp + 0x1e0]
add rsp, 0x1b0
pop r14
pop rdi
pop rsi
ret
lea rcx, [rsp + 0x58]
call fcn.140017150
nop
mov ebx, 0x3ec
mov edx, ebx
lea rcx, [rsp + 0x58]
call fcn.14001816c
lea rcx, [rsp + 0x58]
call fcn.140017188
mov rdx, rax
mov r8d, ebx
xor ecx, ecx
call fcn.140021e04
nop
mov edx, eax
lea rcx, [rsp + 0x50]
call fcn.1400011f4
lea rdx, [0x14003d3d8]
lea rcx, [rsp + 0x50]
call sub.api_ms_win_crt_private_l1_1_0.dll__CxxThrowException
int3