Function at 0x401367
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x254
push ebx
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
push esi
push edi
xor esi, esi
push str.Initiating_Protocol_Installation._r_n
push esi
push 0xc2
push dword [ecx + 0x80]
mov dword [ebp - 0x1c], ecx
call ebx
mov edi, str.AI98D.InstallProtocol98
mov dword [ebp - 4], esi
push edi
push str._s___
push 6
call fcn.00407ea7
add esp, 0xc
lea eax, [ebp - 0x18]
mov dword [ebp - 0x60], 0x44
mov dword [ebp - 0x5c], esi
push eax
lea eax, [ebp - 0x60]
push eax
push esi
push esi
push esi
push esi
push esi
push esi
push 0x41caa3
push esi
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], esi
mov word [ebp - 0x30], si
mov word [ebp - 0x2e], si
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0xc], esi
mov dword [ebp - 8], esi
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x40144f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push str.Installation_is_unable_to_create_an_NDINST_thread__n
mov ecx, 0x41c374
mov dword [ebp - 4], eax
call fcn.0040aea6
push esi
lea ecx, [ebp - 0x254]
push dword [ebp - 4]
call fcn.0040847c
push eax
push edi
push str._s:_CreateProcess_failed:__s
push 3
call fcn.00407ea7
add esp, 0x10
jmp 0x4014fb
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0xffffffffffffffff
mov dword [ebp - 0x14], esi
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, esi
je 0x401486
cmp eax, 0xffffffff
je 0x40147b
mov dword [ebp - 4], 0x20000001
jmp 0x4014fb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 4], eax
jmp 0x4014fb
cmp dword [ebp - 4], esi
je 0x401492
mov dword [ebp - 8], 1
lea eax, [ebp - 4]
push eax
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
jne 0x4014d2
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
push eax
lea ecx, [ebp - 0x254]
mov dword [ebp - 4], eax
call fcn.0040847c
push eax
push dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
push edi
push str._s:__s___returned_error:__s
push 3
call fcn.00407ea7
add esp, 0x14
jmp 0x4014fb
cmp dword [ebp - 4], esi
je 0x4014fb
cmp dword [ebp - 8], esi
jne 0x4014df
mov dword [ebp - 4], esi
cmp dword [ebp - 8], 1
jne 0x4014fb
mov eax, dword [ebp - 0x1c]
push str.Process_Execution_Failed.__r_n
push esi
push 0xc2
push dword [eax + 0x80]
call ebx
cmp dword [ebp - 0x14], esi
je 0x401509
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x18], esi
je 0x401517
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
lea ecx, [ebp - 0x254]
push dword [ebp - 4]
call fcn.0040847c
push eax
push dword [ebp - 4]
push edi
push str._s____d:__s
push 6
call fcn.00407ea7
mov eax, dword [ebp - 4]
add esp, 0x14
pop edi
pop esi
pop ebx
leave
ret