Function at 0x401290
Capabilities:
Create process on windows
Load windows common language runtime

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x58
push esi
push edi
call fcn.00401000
test al, al
jne 0x4012c4
push 0x14
push str.Get_Article_Pro
push str.This_application_requires_.NET_Framework_v4___r_n_r_nDo_you_want_to_install_this_.NET_Framework_version_now_
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
sub eax, 6
je 0x40130d
dec eax
je 0x401619
push 2
push 0
mov dword [esp + 0x34], 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
lea eax, [esp + 0x2c]
push eax
push 0x4037b0
push 0x4037a0
call dword [sym.imp.mscoree.dll_CLRCreateInstance]
mov esi, eax
test esi, esi
jns 0x40132d
push dword [ebp + 8]
mov edx, esi
mov ecx, 0x40351c
call fcn.00401650
add esp, 4
mov eax, esi
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
push 0xa
push 0
push 0
push str.https:__www.microsoft.com_en_us_download_details.aspx_id17718
push 0
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
or eax, 0xffffffff
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x20]
push edx
push 0x403790
mov dword [esp + 0x28], 0
mov ecx, dword [eax]
push 0x4035dc
push eax
call dword [ecx + 0xc]
mov esi, eax
test esi, esi
jns 0x401370
push dword [ebp + 8]
mov edx, esi
mov ecx, str.MetaHost__GetRuntime
call fcn.00401650
add esp, 4
mov eax, esi
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x34]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x28]
test eax, eax
js 0x401607
cmp dword [esp + 0x34], 0
je 0x401607
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x24]
push edx
push 0x403780
mov dword [esp + 0x2c], 0
mov ecx, dword [eax]
push 0x403770
push eax
call dword [ecx + 0x24]
test eax, eax
jns 0x4013c1
mov ecx, str.RuntimeInfo__GetInterface
jmp 0x40160c
mov eax, dword [esp + 0x24]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
test eax, eax
jns 0x4013d9
mov ecx, str.RuntimeHost__Start
jmp 0x40160c
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x28]
mov dword [esp + 0x28], 0
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x34]
test eax, eax
jns 0x40140e
push dword [ebp + 8]
mov edx, eax
mov ecx, str.RuntimeHost__GetDefaultDomain
call fcn.00401650
add esp, 4
or esi, 0xffffffff
jmp 0x4015ef
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1c], 0
test eax, eax
je 0x401624
lea edx, [esp + 0x1c]
push edx
mov dword [esp + 0x20], 0
mov ecx, dword [eax]
push 0x403760
push eax
call dword [ecx]
test eax, eax
jns 0x401457
push dword [ebp + 8]
mov edx, eax
mov ecx, str.AppDomainThunk__QueryInterface
call fcn.00401650
add esp, 4
or esi, 0xffffffff
jmp 0x4015e1
lea eax, [esp + 0x38]
push eax
push 1
push 0x11
mov dword [esp + 0x20], 0
mov dword [esp + 0x44], 0x2d800
mov dword [esp + 0x48], 0
call dword [sym.imp.OLEAUT32.dll_SafeArrayDestroy]
mov edi, eax
lea eax, [esp + 0x30]
push eax
push edi
mov dword [esp + 0x38], 0
call dword [sym.imp.OLEAUT32.dll_SafeArrayUnaccessData]
test eax, eax
jns 0x40149f
mov ecx, str.SafeArrayAccessData
jmp 0x401501
push 0x2d800
push 0x405060
push dword [esp + 0x38]
call sub.MSVCR110.dll_memcpy
add esp, 0xc
push edi
call dword [sym.imp.OLEAUT32.dll_SafeArrayGetElement]
test eax, eax
jns 0x4014c7
mov ecx, str.SafeArrayUnaccessData
jmp 0x401501
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x40162e
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4014e1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [esp + 0x14]
push ecx
mov dword [esp + 0x18], 0
mov eax, dword [esi]
push edi
push esi
call dword [eax + 0xb4]
test eax, eax
jns 0x401516
mov ecx, str.DefaultAppDomain__Load_3
push dword [ebp + 8]
mov edx, eax
call fcn.00401650
add esp, 4
or esi, 0xffffffff
jmp 0x4015d3
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], 0
test eax, eax
je 0x401638
lea edx, [esp + 0x18]
mov dword [esp + 0x18], 0
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x40]
test eax, eax
jns 0x401548
mov ecx, str.Assembly__get_EntryPoint
jmp 0x4015ab
push 0
xorps xmm0, xmm0
push 0
mov eax, 1
movdqa xmmword [esp + 0x48], xmm0
push 0xc
movdqa xmmword [esp + 0x5c], xmm0
mov word [esp + 0x4c], ax
call dword [sym.imp.OLEAUT32.dll_SafeArrayCopyData]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x401642
movq xmm0, qword [esp + 0x40]
mov edx, dword [ecx]
lea esi, [esp + 0x50]
push esi
push eax
sub esp, 0x10
mov eax, esp
push ecx
movq qword [eax], xmm0
movq xmm0, qword [esp + 0x64]
movq qword [eax + 8], xmm0
call dword [edx + 0x94]
test eax, eax
jns 0x4015bd
mov ecx, str.MethodInfo__Invoke_3
push dword [ebp + 8]
mov edx, eax
call fcn.00401650
add esp, 4
or esi, 0xffffffff
jmp 0x4015c5
call dword [sym.imp.ole32.dll_CoUninitialize]
xor esi, esi
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4015d3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4015e1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4015ef
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x4015fd
mov edx, dword [ecx]
push ecx
call dword [edx + 8]
mov eax, esi
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
mov ecx, str.RuntimeInfo__IsLoadable
push dword [ebp + 8]
mov edx, eax
call fcn.00401650
add esp, 4
pop edi
or eax, 0xffffffff
pop esi
mov esp, ebp
pop ebp
ret 0x10
push 0x80004003
call fcn.00401960
push 0x80004003
call fcn.00401960
push 0x80004003
call fcn.00401960
push 0x80004003
call fcn.00401960
int3