Function at 0x180001598
Capabilities:
Load windows common language runtime

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
xor r15d, r15d
mov qword [rbp - 0x20], r15
mov qword [rbp + 0x50], r15
mov qword [rbp + 0x58], r15
lea r12d, [r15 + 0x18]
mov qword [rbp - 0x28], r15
mov ecx, r12d
mov qword [rbp - 0x30], r15
call fcn.180001c24
lea r14d, [r15 + 1]
mov rsi, rax
test rax, rax
je 0x1800015f2
lea rcx, [0x18001c040]
mov qword [rax + 8], r15
mov dword [rax + 0x10], r14d
call fcn.180002cf0
mov qword [rsi], rax
jmp 0x1800015f5
mov rsi, r15
test rsi, rsi
je 0x1800019a7
mov rcx, r12
mov qword [rbp - 0x38], r15
call fcn.180001c24
mov rdi, rax
test rax, rax
je 0x18000162b
lea rcx, [0x18001c040]
mov qword [rax + 8], r15
mov dword [rax + 0x10], r14d
call fcn.180002cf0
mov qword [rdi], rax
jmp 0x18000162e
mov rdi, r15
test rdi, rdi
je 0x1800019b2
lea r8, [rbp - 0x20]
mov qword [rbp - 0x40], r15
lea rdx, [0x18001c560]
lea rcx, [0x18001c570]
call qword [sym.imp.mscoree.dll_CLRCreateInstance]
test eax, eax
jns 0x18000166a
lea rcx, str.CLRCreateInstance_failed_w_hr_0x_08lx_n
mov edx, eax
call fcn.1800014d4
jmp 0x1800018ae
mov rcx, qword [rbp - 0x20]
lea r9, [rbp + 0x50]
lea r8, [0x18001c550]
lea rdx, str.v2.0.50727
mov rax, qword [rcx]
call qword [rax + SafeArrayCopy]
test eax, eax
jns 0x180001693
lea rcx, str.ICLRMetaHost::GetRuntime_failed_w_hr_0x_08lx_n
jmp 0x18000165e
mov rcx, qword [rbp + 0x50]
lea rdx, [rbp + 0x40]
mov rax, qword [rcx]
call qword [rax + 0x50]
test eax, eax
jns 0x1800016ae
lea rcx, str.ICLRRuntimeInfo::IsLoadable_failed_w_hr_0x_08lx_n
jmp 0x18000165e
cmp dword [rbp + 0x40], r15d
jne 0x1800016c5
lea rcx, str..NET_runtime_v2.0.50727_cannot_be_loaded_n
call fcn.1800014d4
jmp 0x1800018ae
mov rcx, qword [rbp + 0x50]
lea r9, [rbp + 0x58]
lea r8, [0x18001c540]
lea rdx, [0x18001c580]
mov rax, qword [rcx]
call qword [rax + 0x48]
test eax, eax
jns 0x1800016f1
lea rcx, str.ICLRRuntimeInfo::GetInterface_failed_w_hr_0x_08lx_n
jmp 0x18000165e
mov rcx, qword [rbp + 0x58]
mov rax, qword [rcx]
call qword [rax + 0x50]
test eax, eax
jns 0x18000170b
lea rcx, str.CLR_failed_to_start_w_hr_0x_08lx_n
jmp 0x18000165e
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x18000171a
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rbp + 0x58]
lea rdx, [rbp - 0x28]
mov qword [rbp - 0x28], r15
mov rax, qword [rcx]
call qword [rax + 0x68]
test eax, eax
jns 0x18000173c
lea rcx, str.ICorRuntimeHost::GetDefaultDomain_failed_w_hr_0x_08lx_n
jmp 0x18000165e
mov rbx, qword [rbp - 0x28]
test rbx, rbx
je 0x1800019bd
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x180001758
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov qword [rbp - 0x30], r15
lea r8, [rbp - 0x30]
mov rax, qword [rbx]
lea rdx, [0x18001c530]
mov rcx, rbx
call qword [rax]
test eax, eax
jns 0x18000177f
lea rcx, str.Failed_to_get_default_AppDomain_w_hr_0x_08lx_n
jmp 0x18000165e
mov ecx, SafeArrayUnlock
mov qword [rbp - 0x18], 0x4000
lea r8, [rbp - 0x18]
mov edx, r14d
call qword [sym.imp.OLEAUT32.dll_SafeArrayDestroy]
mov rcx, rax
mov r14, rax
call qword [sym.imp.OLEAUT32.dll_SafeArrayUnlock]
mov rcx, qword [r14 + 0x10]
lea rdx, [0x18001f960]
mov r8d, 0x80
mov eax, r8d
movups xmm0, xmmword [rdx]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rdx + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rdx + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rdx + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rdx + 0x60]
movups xmmword [rcx + 0x60], xmm0
add rcx, r8
movups xmm1, xmmword [rdx + 0x70]
add rdx, r8
movups xmmword [rcx - 0x10], xmm1
sub rax, 1
jne 0x1800017b9
mov rcx, r14
call qword [sym.imp.OLEAUT32.dll_SafeArrayAccessData]
mov rbx, qword [rbp - 0x30]
test rbx, rbx
je 0x1800019c8
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x180001828
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov qword [rbp - 0x38], r15
lea r8, [rbp - 0x38]
mov rax, qword [rbx]
mov rdx, r14
mov rcx, rbx
call qword [rax + 0x168]
test eax, eax
jns 0x18000184f
lea rcx, str.Failed_to_load_the_assembly_w_hr_0x_08lx_n
jmp 0x18000165e
mov rbx, qword [rbp - 0x38]
test rbx, rbx
je 0x1800019d3
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x18000186b
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov qword [rbp - 0x40], r15
lea r8, [rbp - 0x40]
mov rax, qword [rbx]
mov rcx, rbx
mov rdx, qword [rdi]
call qword [rax + 0x88]
test eax, eax
jns 0x180001892
lea rcx, str.Failed_to_get_the_Type_interface_w_hr_0x_08lx_n
jmp 0x18000165e
mov rcx, qword [rbp - 0x40]
mov qword [rbp - 0x10], rcx
test rcx, rcx
je 0x1800018a5
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [rbp - 0x10]
call fcn.1800019e0
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x1800018c1
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov qword [rbp - 0x20], r15
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x1800018d4
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov qword [rbp + 0x50], r15
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x1800018e7
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov qword [rbp + 0x58], r15
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x1800018f6
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdi + 0x10], eax
add eax, ebx
jne 0x180001932
mov rcx, qword [rdi]
test rcx, rcx
je 0x180001915
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rdi], r15
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x180001927
call fcn.180001c60
mov qword [rdi + 8], r15
mov rdx, r12
mov rcx, rdi
call fcn.180001c60
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x180001941
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov eax, ebx
lock xadd dword [rsi + 0x10], eax
add eax, ebx
jne 0x18000197a
mov rcx, qword [rsi]
test rcx, rcx
je 0x18000195d
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rsi], r15
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x18000196f
call fcn.180001c60
mov qword [rsi + 8], r15
mov rdx, r12
mov rcx, rsi
call fcn.180001c60
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x180001989
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x180001998
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
add rsp, 0x60
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x8007000e
call fcn.180002cc0
int3
mov ecx, 0x8007000e
call fcn.180002cc0
int3
mov ecx, 0x80004003
call fcn.180002cc0
int3
mov ecx, 0x80004003
call fcn.180002cc0
int3
mov ecx, 0x80004003
call fcn.180002cc0
int3