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

Disassembly:
push 0xffffffffffffffff
push 0x408127
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 0x40d75c
push eax
call sub.MFC42u.DLL_operator_1
cmp esi, ebp
mov dword [esp + 0x6c], 1
mov dword [esp + 0x1c], ebp
je 0x405110
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 0x405110
push 0x40cfc0
lea eax, [esp + 0x28]
push 0x40d75c
push eax
call sub.MFC42u.DLL_operator_1
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x70], 2
call fcn.0040743c
lea ecx, [esp + 0x24]
mov byte [esp + 0x6c], 1
call fcn.004073e2
push 0x40cfb8
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::operator_1
push 0x40cfb4
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::operator_1
push str.lsp.txt
lea ecx, [esp + 0x28]
push 0x40d764
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.004073e2
push 0x40cfb4
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 0x40d764
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.004073e2
cmp esi, ebp
je 0x4051f0
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 0x40d764
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.004073e2
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 0x40d764
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.004073e2
test bl, bl
je 0x4053a8
push 0x40cf8c
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 0x40d764
push edx
mov byte [esp + 0x7c], 7
call sub.MFC42u.DLL_operator
lea ecx, [esp + 0x14]
push ecx
call fcn.00404e70
add esp, 8
lea ecx, [esp + 0x20]
mov byte [esp + 0x6c], 9
call fcn.004073e2
mov edx, dword [esp + 0x10]
push str.1001___MSAFD_Tcpip__TCP_IP_
push edx
call esi
add esp, 8
test eax, eax
jne 0x405403
mov eax, dword [esp + 0x10]
push str.1002___MSAFD_Tcpip__TCP_IP_
push eax
call esi
add esp, 8
test eax, eax
jne 0x40541d
mov ecx, dword [esp + 0x10]
push str.1003___MSAFD_Tcpip__TCP_IP_
push ecx
call esi
add esp, 8
test eax, eax
jne 0x405424
mov edx, dword [esp + 0x10]
push str.1004___MSAFD_Tcpip__TCP_IP_
push edx
call esi
add esp, 8
test eax, eax
jne 0x40542b
mov eax, dword [esp + 0x10]
push str.1005___MSAFD_Tcpip__TCP_IP_
push eax
call esi
add esp, 8
test eax, eax
jne 0x405432
mov ecx, dword [esp + 0x10]
push str.1006___MSAFD_Tcpip__TCP_IP_
push ecx
call esi
add esp, 8
test eax, eax
jne 0x405439
mov edx, dword [esp + 0x10]
push str.1007___MSAFD_Tcpip__TCP_IP_
push edx
call esi
add esp, 8
test eax, eax
jne 0x405440
mov eax, dword [esp + 0x10]
push str.1008___MSAFD_Tcpip__TCP_IP_
push eax
call esi
add esp, 8
test eax, eax
jne 0x405447
mov ecx, dword [esp + 0x10]
push str.1009___MSAFD_Tcpip__TCP_IP_
push ecx
call esi
add esp, 8
test eax, eax
jne 0x40544e
lea ecx, [esp + 0x10]
mov byte [esp + 0x6c], 4
call fcn.004073e2
mov eax, dword [esp + 0x24]
inc eax
cmp eax, 5
mov dword [esp + 0x24], eax
jl 0x40524b
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.00407466
lea ecx, [esp + 0x14]
mov byte [esp + 0x6c], 0
call fcn.004073e2
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 0x405466
push str.1002
jmp 0x405453
push str.1003
jmp 0x405453
push str.1004
jmp 0x405453
push str.1005
jmp 0x405453
push str.1006
jmp 0x405453
push str.1007
jmp 0x405453
push str.1008
jmp 0x405453
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.004073e2
jmp 0x4053d2