Function at 0x14001c520
Capabilities:
Load windows common language runtime

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xb0
mov qword [rbp - 1], 0xfffffffffffffffe
xor r15d, r15d
mov rcx, qword [0x1400ac398]
test rcx, rcx
jne 0x14001c633
mov qword [rbp + 0x77], r15
lea r8, [rbp + 0x77]
lea rdx, [0x1400923e8]
lea rcx, [0x1400923d8]
call qword [sym.imp.mscoree.dll_CLRCreateInstance]
lea rdi, [0x1400ac398]
test eax, eax
js 0x14001c5e9
mov qword [rbp + 0x6f], r15
mov rcx, qword [rbp + 0x77]
mov rax, qword [rcx]
lea r9, [rbp + 0x6f]
lea r8, [0x1400923c8]
lea rdx, str.v4.0.30319
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
mov ebx, eax
test eax, eax
js 0x14001c5db
mov rcx, qword [rbp + 0x6f]
mov rax, qword [rcx]
mov r9, rdi
lea r8, [0x14008e6f8]
lea rdx, [0x14008e708]
call qword [rax + 0x48]
mov ebx, eax
test eax, eax
js 0x14001c5d1
mov rcx, qword [0x1400ac398]
mov rax, qword [rcx]
call qword [rax + 0x50]
mov rcx, qword [rbp + 0x6f]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rbp + 0x77]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
test ebx, ebx
jns 0x14001c62c
mov rcx, qword [0x1400ac398]
test rcx, rcx
jne 0x14001c633
mov qword [rsp + 0x20], rdi
lea r9, [0x14008e6f8]
lea r8, [0x14008e708]
xor edx, edx
lea rcx, str.v2.0.50727
call qword [sym.imp.mscoree.dll_CorBindToRuntime]
test eax, eax
js 0x14001c86a
mov rcx, qword [0x1400ac398]
mov rax, qword [rcx]
call qword [rax + 0x50]
mov rcx, qword [0x1400ac398]
xor r14b, r14b
mov qword [rbp + 0x7f], r15
mov rax, qword [rcx]
lea rdx, [rbp + 0x7f]
call qword [rax + 0x68]
test eax, eax
js 0x14001c845
mov qword [rbp + 0x77], r15
mov rcx, qword [rbp + 0x7f]
test rcx, rcx
je 0x14001c88d
mov qword [rbp + 0x77], r15
mov rax, qword [rcx]
lea r8, [rbp + 0x77]
lea rdx, [0x1400923b8]
call qword [rax]
test eax, eax
js 0x14001c835
mov qword [rbp - 0x31], r15
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x29], xmm0
lea r8, [rbp - 0x31]
lea rdx, [0x140091d08]
mov ecx, 0x65
call fcn.14001bf50
mov rbx, qword [rbp - 0x29]
mov rdi, qword [rbp - 0x31]
sub rbx, rdi
je 0x14001c7ff
mov dword [rbp - 0x59], ebx
mov dword [rbp - 0x55], r15d
mov ecx, 0x11
lea r8, [rbp - 0x59]
mov r12d, 1
mov edx, r12d
call qword [sym.imp.OLEAUT32.dll_SafeArrayDestroy]
mov rsi, rax
mov qword [rbp - 0x51], r15
lea rdx, [rbp - 0x51]
mov rcx, rax
call qword [sym.imp.OLEAUT32.dll_SafeArrayUnaccessData]
test eax, eax
js 0x14001c7ff
mov r8, rbx
mov rdx, rdi
mov rcx, qword [rbp - 0x51]
call fcn.140054e60
mov rcx, rsi
call qword [sym.imp.OLEAUT32.dll_SafeArrayGetElement]
test eax, eax
js 0x14001c7f5
mov rbx, qword [rbp + 0x77]
test rbx, rbx
je 0x14001c898
mov rcx, qword [0x1400ac4a8]
test rcx, rcx
je 0x14001c725
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov qword [0x1400ac4a8], r15
mov rax, qword [rbx]
lea r8, [0x1400ac4a8]
mov rdx, rsi
mov rcx, rbx
call qword [rax + 0x168]
test eax, eax
js 0x14001c7f5
mov qword [rbp + 0x6f], r15
mov rcx, qword [0x1400ac4a8]
test rcx, rcx
je 0x14001c8a3
mov qword [rbp + 0x6f], r15
mov rax, qword [rcx]
lea rdx, [rbp + 0x6f]
call qword [rax + 0x80]
test eax, eax
js 0x14001c7e6
xor eax, eax
mov qword [rbp - 0x19], rax
mov qword [rbp - 0x11], rax
mov qword [rbp - 9], rax
mov qword [rbp - 0x49], rax
mov qword [rbp - 0x41], rax
mov qword [rbp - 0x39], rax
mov word [rbp - 0x49], r12w
lea ecx, [rax + 0xc]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.OLEAUT32.dll_SafeArrayCopyData]
mov rbx, rax
movups xmm0, xmmword [rbp - 0x49]
movaps xmmword [rbp + 7], xmm0
movsd xmm1, qword [rbp - 0x39]
movsd qword [rbp + 0x17], xmm1
mov rcx, qword [rbp + 0x6f]
test rcx, rcx
je 0x14001c8ae
mov rax, qword [rcx]
lea r9, [rbp - 0x19]
mov r8, rbx
lea rdx, [rbp + 7]
call qword [rax + 0x128]
test eax, eax
setns r14b
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rbp + 0x6f]
test rcx, rcx
je 0x14001c7f5
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, rsi
call qword [sym.imp.OLEAUT32.dll_SafeArrayGetDim]
nop
test rdi, rdi
je 0x14001c835
mov rdx, qword [rbp - 0x21]
sub rdx, rdi
mov rax, rdi
cmp rdx, 0x1000
jb 0x14001c82c
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001c887
mov rcx, rdi
call fcn.140036a24
nop
mov rcx, qword [rbp + 0x77]
test rcx, rcx
je 0x14001c845
mov rdx, qword [rcx]
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rbp + 0x7f]
test rcx, rcx
je 0x14001c854
mov rdx, qword [rcx]
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetDim]
movzx eax, r14b
add rsp, 0xb0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor r9d, r9d
lea r8, [0x140091d40]
lea rdx, [0x140091d60]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
xor al, al
jmp 0x14001c858
call fcn.140057d94
nop
mov ecx, 0x80004003
call fcn.140033e30
nop
mov ecx, 0x80004003
call fcn.140033e30
nop
mov ecx, 0x80004003
call fcn.140033e30
int3
mov ecx, 0x80004003
call fcn.140033e30
int3