Function at 0x4051b0
Capabilities:
Create process on windows
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x409047
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x54
push ebx
push ebp
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push edi
xor ebp, ebp
push str.GetNativeSystemInfo
push str.kernel32.dll
mov dword [esp + 0x20], ebp
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call edi
push str.IsWow64Process
push str.kernel32
mov ebx, eax
call esi
push eax
call edi
mov esi, eax
push str.install_lsp.exe__p
lea eax, [esp + 0x18]
push 0x40ea94
push eax
call sub.MFC42u.DLL_operator_1
cmp esi, ebp
mov dword [esp + 0x6c], 1
mov dword [esp + 0x1c], ebp
je 0x405270
lea ecx, [esp + 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call esi
lea edx, [esp + 0x40]
push edx
call ebx
cmp dword [esp + 0x1c], ebp
je 0x405270
push 0x40e0c0
lea eax, [esp + 0x28]
push 0x40ea94
push eax
call sub.MFC42u.DLL_operator_1
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x70], 2
call fcn.0040834e
lea ecx, [esp + 0x24]
mov byte [esp + 0x6c], 1
call fcn.004082ee
push 0x40e0b8
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::operator_1
push 0x40e0b4
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::operator_1
push str.lsp.txt
lea ecx, [esp + 0x28]
push 0x40ea9c
push ecx
call sub.MFC42u.DLL_operator_1
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x70], 3
call sub.MFC42u.DLL_CString::operator
lea ecx, [esp + 0x24]
mov byte [esp + 0x6c], 1
call fcn.004082ee
push 0x40e0b4
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::operator_1
lea ecx, [esp + 0x30]
call sub.MFC42u.DLL_CFile::CFile
push str.lsp.bat
lea edx, [esp + 0x28]
push 0x40ea9c
push edx
mov byte [esp + 0x78], 4
call sub.MFC42u.DLL_operator_1
mov eax, dword [eax]
push ebp
push 0x1002
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0x78], 5
call sub.MFC42u.DLL_CFile::Open
lea ecx, [esp + 0x24]
mov esi, eax
mov byte [esp + 0x6c], 4
call fcn.004082ee
cmp esi, ebp
je 0x405350
mov eax, dword [esp + 0x14]
push eax
mov esi, eax
call fcn.00401e90
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push esi
call fcn.00401e90
add esp, 4
lea ecx, [esp + 0x34]
push eax
call sub.MFC42u.DLL_CFile::Write
lea ecx, [esp + 0x30]
call sub.MFC42u.DLL_CFile::Close
push str.lsp.bat
lea eax, [esp + 0x28]
push 0x40ea9c
push eax
call sub.MFC42u.DLL_operator_1
mov eax, dword [eax]
mov byte [esp + 0x6c], 6
push eax
call fcn.00401e90
add esp, 4
lea ecx, [esp + 0x24]
mov esi, eax
mov byte [esp + 0x6c], 4
call fcn.004082ee
push ebp
push esi
call dword [sym.imp.KERNEL32.dll_WinExec]
push esi
call fcn.00401f00
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, dword [sym.imp.MSVCRT.dll_wcsstr]
mov dword [esp + 0x28], ebp
mov ebp, dword [sym.imp.MSVCRT.dll__waccess]
add esp, 4
push 0x3e8
call edi
push str.lsp.txt
lea ecx, [esp + 0x2c]
push 0x40ea9c
push ecx
call sub.MFC42u.DLL_operator_1
mov eax, dword [eax]
push 0
push eax
call ebp
add esp, 8
lea ecx, [esp + 0x28]
test eax, eax
sete bl
call fcn.004082ee
test bl, bl
je 0x405508
push 0x40e08c
lea ecx, [esp + 0x24]
call sub.MFC42u.DLL_CString::CString_1
push ecx
lea eax, [esp + 0x24]
mov edx, esp
mov dword [esp + 0x30], esp
push eax
push 0x40ea9c
push edx
mov byte [esp + 0x7c], 7
call sub.MFC42u.DLL_operator
lea ecx, [esp + 0x14]
push ecx
call fcn.00404fd0
add esp, 8
lea ecx, [esp + 0x20]
mov byte [esp + 0x6c], 9
call fcn.004082ee
mov edx, dword [esp + 0x10]
push str.1001___MSAFD_Tcpip__TCP_IP_
push edx
call esi
add esp, 8
test eax, eax
jne 0x405563
mov eax, dword [esp + 0x10]
push str.1002___MSAFD_Tcpip__TCP_IP_
push eax
call esi
add esp, 8
test eax, eax
jne 0x40557d
mov ecx, dword [esp + 0x10]
push str.1003___MSAFD_Tcpip__TCP_IP_
push ecx
call esi
add esp, 8
test eax, eax
jne 0x405584
mov edx, dword [esp + 0x10]
push str.1004___MSAFD_Tcpip__TCP_IP_
push edx
call esi
add esp, 8
test eax, eax
jne 0x40558b
mov eax, dword [esp + 0x10]
push str.1005___MSAFD_Tcpip__TCP_IP_
push eax
call esi
add esp, 8
test eax, eax
jne 0x405592
mov ecx, dword [esp + 0x10]
push str.1006___MSAFD_Tcpip__TCP_IP_
push ecx
call esi
add esp, 8
test eax, eax
jne 0x405599
mov edx, dword [esp + 0x10]
push str.1007___MSAFD_Tcpip__TCP_IP_
push edx
call esi
add esp, 8
test eax, eax
jne 0x4055a0
mov eax, dword [esp + 0x10]
push str.1008___MSAFD_Tcpip__TCP_IP_
push eax
call esi
add esp, 8
test eax, eax
jne 0x4055a7
mov ecx, dword [esp + 0x10]
push str.1009___MSAFD_Tcpip__TCP_IP_
push ecx
call esi
add esp, 8
test eax, eax
jne 0x4055ae
lea ecx, [esp + 0x10]
mov byte [esp + 0x6c], 4
call fcn.004082ee
mov eax, dword [esp + 0x24]
inc eax
cmp eax, 5
mov dword [esp + 0x24], eax
jl 0x4053ab
mov esi, dword [esp + 0x74]
push str.1001
mov ecx, esi
call sub.MFC42u.DLL_CString::CString
mov dword [esp + 0x18], 1
lea ecx, [esp + 0x30]
mov byte [esp + 0x6c], 1
call fcn.00408378
lea ecx, [esp + 0x14]
mov byte [esp + 0x6c], 0
call fcn.004082ee
mov ecx, dword [esp + 0x64]
mov eax, esi
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x60
ret
mov esi, dword [esp + 0x74]
push str.1001
mov ecx, esi
call sub.MFC42u.DLL_CString::CString
mov dword [esp + 0x18], 1
jmp 0x4055c6
push str.1002
jmp 0x4055b3
push str.1003
jmp 0x4055b3
push str.1004
jmp 0x4055b3
push str.1005
jmp 0x4055b3
push str.1006
jmp 0x4055b3
push str.1007
jmp 0x4055b3
push str.1008
jmp 0x4055b3
push str.1009
mov esi, dword [esp + 0x78]
mov ecx, esi
call sub.MFC42u.DLL_CString::CString
mov dword [esp + 0x18], 1
lea ecx, [esp + 0x10]
mov byte [esp + 0x6c], 4
call fcn.004082ee
jmp 0x405532