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 0x401618
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 0x401606
cmp dword [esp + 0x34], 0
je 0x401606
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 0x40160b
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 0x40160b
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 0x4015ee
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1c], 0
test eax, eax
je 0x401623
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 0x4015e0
lea eax, [esp + 0x38]
push eax
push 1
push 0x11
mov dword [esp + 0x20], 0
mov dword [esp + 0x44], 0xe5e00
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 0xe5e00
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 0x40162d
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 0x4015d2
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], 0
test eax, eax
je 0x401637
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 0x4015aa
mov eax, 1
push eax
xorps xmm0, xmm0
push 0
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 0x401641
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 0x4015bc
mov ecx, str.MethodInfo__Invoke_3
push dword [ebp + 8]
mov edx, eax
call fcn.00401650
add esp, 4
or esi, 0xffffffff
jmp 0x4015c4
call dword [sym.imp.ole32.dll_CoUninitialize]
xor esi, esi
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4015d2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4015e0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4015ee
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x4015fc
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