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

Disassembly:
push 0xffffffffffffffff
push 0x408897
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 0x40d79c
push eax
call sub.MFC42u.DLL_operator_1
cmp esi, ebp
mov dword [esp + 0x6c], 1
mov dword [esp + 0x1c], ebp
je 0x405440
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 0x405440
push 0x40cf8c
lea eax, [esp + 0x28]
push 0x40d79c
push eax
call sub.MFC42u.DLL_operator_1
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x70], 2
call fcn.00407b9c
lea ecx, [esp + 0x24]
mov byte [esp + 0x6c], 1
call fcn.00407b42
push 0x40cf84
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::operator_1
push 0x40cf80
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::operator_1
push str.lsp.txt
lea ecx, [esp + 0x28]
push 0x40d7a4
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.00407b42
push 0x40cf80
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 0x40d7a4
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.00407b42
cmp esi, ebp
je 0x405520
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 0x40d7a4
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.00407b42
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 0x40d7a4
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.00407b42
test bl, bl
je 0x4056d8
push 0x40cf58
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 0x40d7a4
push edx
mov byte [esp + 0x7c], 7
call sub.MFC42u.DLL_operator
lea ecx, [esp + 0x14]
push ecx
call fcn.004051a0
add esp, 8
lea ecx, [esp + 0x20]
mov byte [esp + 0x6c], 9
call fcn.00407b42
mov edx, dword [esp + 0x10]
push str.1001___MSAFD_Tcpip__TCP_IP_
push edx
call esi
add esp, 8
test eax, eax
jne 0x405733
mov eax, dword [esp + 0x10]
push str.1002___MSAFD_Tcpip__TCP_IP_
push eax
call esi
add esp, 8
test eax, eax
jne 0x40574d
mov ecx, dword [esp + 0x10]
push str.1003___MSAFD_Tcpip__TCP_IP_
push ecx
call esi
add esp, 8
test eax, eax
jne 0x405754
mov edx, dword [esp + 0x10]
push str.1004___MSAFD_Tcpip__TCP_IP_
push edx
call esi
add esp, 8
test eax, eax
jne 0x40575b
mov eax, dword [esp + 0x10]
push str.1005___MSAFD_Tcpip__TCP_IP_
push eax
call esi
add esp, 8
test eax, eax
jne 0x405762
mov ecx, dword [esp + 0x10]
push str.1006___MSAFD_Tcpip__TCP_IP_
push ecx
call esi
add esp, 8
test eax, eax
jne 0x405769
mov edx, dword [esp + 0x10]
push str.1007___MSAFD_Tcpip__TCP_IP_
push edx
call esi
add esp, 8
test eax, eax
jne 0x405770
mov eax, dword [esp + 0x10]
push str.1008___MSAFD_Tcpip__TCP_IP_
push eax
call esi
add esp, 8
test eax, eax
jne 0x405777
mov ecx, dword [esp + 0x10]
push str.1009___MSAFD_Tcpip__TCP_IP_
push ecx
call esi
add esp, 8
test eax, eax
jne 0x40577e
lea ecx, [esp + 0x10]
mov byte [esp + 0x6c], 4
call fcn.00407b42
mov eax, dword [esp + 0x24]
inc eax
cmp eax, 5
mov dword [esp + 0x24], eax
jl 0x40557b
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.00407bc6
lea ecx, [esp + 0x14]
mov byte [esp + 0x6c], 0
call fcn.00407b42
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 0x405796
push str.1002
jmp 0x405783
push str.1003
jmp 0x405783
push str.1004
jmp 0x405783
push str.1005
jmp 0x405783
push str.1006
jmp 0x405783
push str.1007
jmp 0x405783
push str.1008
jmp 0x405783
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.00407b42
jmp 0x405702