Function at 0x140001670
Capabilities:
Load windows common language runtime

Disassembly:
mov rax, rsp
push r12
push r13
push r14
sub rsp, 0x590
mov qword [rsp + 0xe0], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1400170a0]
xor rax, rsp
mov qword [rsp + 0x580], rax
mov rax, rdx
xor r14d, r14d
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x50], r14
xor r13b, r13b
mov byte [rsp + 0x30], r13b
test rdx, rdx
jne 0x14000174b
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
lea rsi, [0x1400123d0]
mov qword [rsp + 0x20], rsi
lea r9, [0x1400123c0]
lea r8d, [rdx + 2]
lea rdx, [0x1400124a8]
xor ecx, ecx
call sub.mscoree.dll_CorBindToRuntimeEx
mov ebx, eax
test eax, eax
je 0x1400019eb
mov edx, 0x101
mov ecx, eax
call fcn.1400014a0
nop
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140001723
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140001734
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140001744
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
xor al, al
jmp 0x140001d00
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], r14
lea r8, [rsp + 0x70]
lea rdx, [0x1400123e0]
lea rcx, [0x1400123f0]
call rax
mov edi, eax
test eax, eax
je 0x140001782
mov r12d, 0x201
lea rsi, [0x1400123d0]
jmp 0x140001981
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
lea rdx, [rsp + 0x60]
call qword [rax + 0x28]
mov ebx, eax
test eax, eax
je 0x1400017ac
mov edi, eax
mov r12d, 0x202
lea rsi, [0x1400123d0]
jmp 0x140001981
mov qword [rsp + 0x68], r14
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
xor r9d, r9d
lea r8, [rsp + 0x88]
lea edx, [r9 + 1]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
test eax, eax
jne 0x140001908
nop word [rax + rax]
mov rcx, qword [rsp + 0x88]
mov rax, qword [rcx]
lea r8, [rsp + 0x48]
lea rdx, [0x140012620]
call qword [rax]
mov ebx, eax
test eax, eax
js 0x1400018d8
mov rcx, qword [rsp + 0x48]
cmp qword [rsp + 0x68], 0
jne 0x14000184d
mov rax, qword [rcx]
lea r8, [rsp + 0x68]
lea rdx, [0x140012620]
call qword [rax]
mov ebx, eax
test eax, eax
js 0x1400018cd
mov dword [rsp + 0x40], 0x104
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x160]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
jmp 0x1400018cb
mov dword [rsp + 0x40], 0x104
mov rax, qword [rcx]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x370]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
mov ebx, eax
test eax, eax
js 0x1400018cd
mov r8d, dword [rsp + 0x40]
lea rdx, [rsp + 0x370]
lea rcx, [rsp + 0x160]
call fcn.140003f90
test eax, eax
jns 0x1400018cd
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x160]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
mov ebx, eax
test eax, eax
js 0x1400018cd
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
lea r8, [rsp + 0x68]
lea rdx, [0x140012620]
call qword [rax]
mov ebx, eax
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rsp + 0x88]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
xor r9d, r9d
lea r8, [rsp + 0x88]
lea edx, [r9 + 1]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
test eax, eax
je 0x1400017e0
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
test ebx, ebx
je 0x140001928
mov edi, ebx
mov r12d, 0x203
lea rsi, [0x1400123d0]
jmp 0x140001981
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
lea r9, [rsp + 0x78]
lea r8, [0x140012620]
lea rdx, [rsp + 0x160]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rsi, [0x1400123d0]
test eax, eax
jns 0x14000195a
mov r12d, 0x204
jmp 0x14000197e
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
lea r9, [rsp + 0x38]
mov r8, rsi
lea rdx, [0x1400123c0]
call qword [rax + 0x48]
test eax, eax
jns 0x1400019eb
mov r12d, 0x205
mov edi, r14d
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
lea r9, [0x1400123c0]
mov r8d, 2
lea rdx, [0x140012508]
xor ecx, ecx
call sub.mscoree.dll_CorBindToRuntimeEx
mov ebx, eax
test eax, eax
je 0x1400019eb
mov r9d, 0x401
mov r8d, r12d
mov edx, eax
mov ecx, edi
call fcn.140001510
nop
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400019d5
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1400019e6
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
jmp 0x140001734
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
call qword [rax + 0x50]
test eax, eax
jns 0x140001a59
mov r9d, ebx
mov r8d, 0x301
lea rdx, str.Failed_to_start_runtime__0x_x_.__Exception_from_HRESULT:_0x_x_
lea rcx, [rsp + 0xf0]
call fcn.140003698
xor r9d, r9d
lea r8, str.Runtime_Error
lea rdx, [rsp + 0xf0]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
nop
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140001a43
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140001a54
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
jmp 0x140001734
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
lea rdx, [rsp + 0x50]
call qword [rax + 0x68]
test eax, eax
je 0x140001aa9
mov r8d, 0x302
mov r9d, eax
lea rdx, str.Failed_to_start_runtime__0x_x_.__Exception_from_HRESULT:_0x_x_
lea rcx, [rsp + 0xf0]
call fcn.140003698
xor r9d, r9d
lea r8, str.Runtime_Error
lea rdx, [rsp + 0xf0]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x140001c83
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
lea r8, [rsp + 0x58]
lea rdx, [0x1400125d0]
call qword [rax]
test eax, eax
je 0x140001acb
mov r8d, 0x303
jmp 0x140001a73
call fcn.1400012a0
mov rbx, rax
mov qword [rsp + 0x60], rax
test rax, rax
je 0x140001c83
mov r8, rax
lea rdx, [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
call fcn.140001fb0
nop
mov rcx, qword [rax]
test rcx, rcx
jne 0x140001b06
mov ecx, 0x80004003
call fcn.140002e00
lea rdx, [rsp + 0x48]
call fcn.140002020
nop
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x140001b21
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rdi, qword [rsp + 0x48]
test rdi, rdi
jne 0x140001b35
mov ecx, 0x80004003
call fcn.140002e00
mov qword [rsp + 0x78], r14
mov rax, qword [rdi]
lea rdx, [rsp + 0x78]
mov rcx, rdi
call qword [rax + 0x90]
test eax, eax
jns 0x140001b60
lea r8, [0x1400125c0]
mov rdx, rdi
mov ecx, eax
call fcn.140002e10
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x140001bfc
cmp word [rax], 0
jbe 0x140001bfc
cmp dword [rax + 0x18], 0
jbe 0x140001bfc
lea rcx, [rsp + 0x78]
call fcn.140002750
nop
lea rcx, [rsp + 0x90]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
jne 0x140001bac
mov ecx, 0x80004003
call fcn.140002e00
mov r9, qword [rsp + 0x80]
lea r8, [rsp + 0x90]
lea rdx, [rsp + 0xa8]
call fcn.140001080
lea rcx, [rsp + 0xa8]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
lea rcx, [rsp + 0x90]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x140001c54
call qword [sym.imp.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140001c54
lea rcx, [rsp + 0x90]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x48]
test rcx, rcx
jne 0x140001c1f
mov ecx, 0x80004003
call fcn.140002e00
xor r9d, r9d
lea r8, [rsp + 0x90]
lea rdx, [rsp + 0xa8]
call fcn.140001080
lea rcx, [rsp + 0xa8]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
nop
lea rcx, [rsp + 0x90]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov r13b, 1
mov byte [rsp + 0x30], r13b
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140001c6d
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
jmp 0x140001c7a
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [0x140019670]
test rcx, rcx
je 0x140001c94
call fcn.1400031d8
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
call qword [rax + 0x58]
test eax, eax
jns 0x140001cca
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140001cb4
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140001cc5
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
jmp 0x140001734
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140001cdb
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140001cec
mov rdx, qword [rcx]
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140001cfc
mov rdx, qword [rcx]
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetDim]
movzx eax, r13b
mov rcx, qword [rsp + 0x580]
xor rcx, rsp
call fcn.140003770
lea r11, [rsp + 0x590]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop r13
pop r12
ret