Function at 0x407361
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x62d5bf
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x1484
call fcn.005b9360
push ebx
push esi
push edi
mov edi, ecx
xor ebx, ebx
cmp edi, ebx
je 0x407567
cmp word [edi], bx
je 0x407567
push 0x44
pop esi
push esi
lea eax, [esp + 0x4c]
push ebx
push eax
call fcn.005b57c0
add esp, 0xc
push 0x10
lea eax, [esp + 0x20]
push ebx
push eax
call fcn.005b57c0
add esp, 0xc
push 5
pop eax
mov dword [esp + 0x48], esi
mov word [esp + 0x78], ax
xor esi, esi
lea eax, [esp + 0x2c]
push edi
inc esi
push eax
mov dword [esp + 0x7c], esi
call fcn.00406b5d
mov dword [esp + 0x14a4], 2
push dword [ebp + 8]
lea eax, [esp + 0x9c]
push edi
push str.__s___s
push 0x200
push eax
call fcn.004210f0
add esp, 0x1c
cmp dword [esp + 0x40], ebx
jne 0x407412
xor eax, eax
jmp 0x407421
cmp dword [esp + 0x44], 8
mov eax, dword [esp + 0x30]
jae 0x407421
lea eax, [esp + 0x30]
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x4c]
push ecx
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [esp + 0xb0]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
cmp eax, ebx
je 0x40747f
mov eax, dword [ebp + 0xc]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, ebx
je 0x407459
mov ecx, dword [esp + 0x1c]
mov dword [eax], ecx
jmp 0x40745f
push dword [esp + 0x1c]
call edi
push dword [esp + 0x20]
call edi
or dword [esp + 0x149c], 0xffffffff
push ebx
push esi
lea ecx, [esp + 0x34]
call fcn.00403747
mov eax, esi
jmp 0x4075d9
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push ebx
mov esi, eax
lea eax, [esp + 0x20]
push eax
push 0x400
push esi
push ebx
push 0x1300
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
push edi
push dword [esp + 0x1c]
push esi
push str.ERROR_EXECUTE_PROCESS
call fcn.004031f6
mov esi, eax
call fcn.004057ed
push eax
push str._s_code_d__msg_s__runAppPath_s_
lea eax, [esp + 0x4a4]
push 0x800
push eax
call fcn.004210f0
add esp, 0x1c
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push str.NOTICE
push ecx
call fcn.004031f6
pop ecx
mov esi, eax
call fcn.004057ed
push eax
lea ecx, [esp + 0x14]
call fcn.004034c3
mov byte [esp + 0x149c], 3
lea eax, [esp + 0x490]
push eax
lea ecx, [esp + 0x18]
call fcn.004034c3
mov byte [esp + 0x149c], 4
push 0xffffffffffffffff
push 0xffffffffffffffff
push ebx
push 5
lea ecx, [esp + 0x20]
push ecx
push eax
call fcn.00539080
add esp, 0x18
mov byte [esp + 0x149c], 3
lea ecx, [esp + 0x14]
call fcn.00401017
mov byte [esp + 0x149c], 2
lea ecx, [esp + 0x10]
call fcn.00401017
or dword [esp + 0x149c], 0xffffffff
push ebx
push 1
lea ecx, [esp + 0x34]
call fcn.00403747
jmp 0x4075d7
push str.NOTICE
push ecx
call fcn.004031f6
pop ecx
mov esi, eax
call fcn.004057ed
push eax
lea ecx, [esp + 0x14]
call fcn.004034c3
mov dword [esp + 0x149c], ebx
push str.RUN_PATH_EMPTY
lea ecx, [esp + 0x18]
call fcn.004034c3
mov byte [esp + 0x149c], 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push ebx
push 5
lea ecx, [esp + 0x20]
push ecx
push eax
call fcn.00539080
add esp, 0x18
mov byte [esp + 0x149c], bl
lea ecx, [esp + 0x14]
call fcn.00401017
or dword [esp + 0x149c], 0xffffffff
lea ecx, [esp + 0x10]
call fcn.00401017
xor eax, eax
mov ecx, dword [esp + 0x1494]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret