Function at 0x408b1d
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x44f3cf
mov eax, dword fs:[0]
push eax
sub esp, 0x560
mov eax, dword [0x462700]
xor eax, esp
mov dword [esp + 0x558], eax
push ebx
push esi
push edi
mov eax, dword [0x462700]
xor eax, esp
push eax
lea eax, [esp + 0x570]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x74]
push eax
mov edi, ecx
call fcn.00409a8c
xor ebx, ebx
mov dword [esp + 0x578], ebx
lea eax, [esp + 0x74]
push eax
mov ecx, edi
call fcn.0040c75c
pop ecx
push 0xf
pop esi
push 0x26
push 0x456634
lea ecx, [esp + 0x134]
mov dword [esp + 0x148], esi
mov dword [esp + 0x144], ebx
mov byte [esp + 0x134], bl
call fcn.00407efb
mov byte [esp + 0x578], 1
push 0x15
push str.commonhelper_inl.cpp
lea ecx, [esp + 0x118]
mov dword [esp + 0x12c], esi
mov dword [esp + 0x128], ebx
mov byte [esp + 0x118], bl
call fcn.00407efb
mov byte [esp + 0x578], 2
lea eax, [esp + 0x148]
push eax
lea eax, [esp + 0x78]
push eax
call fcn.00409b50
mov byte [esp + 0x578], 3
push eax
lea eax, [esp + 0x130]
push eax
push 0x168
lea eax, [esp + 0x11c]
push eax
push 1
push ecx
call fcn.004109b9
pop ecx
push eax
call fcn.00410d00
mov byte [esp + 0x578], 2
push ebx
push 1
lea ecx, [esp + 0x150]
call fcn.0040229e
mov byte [esp + 0x578], 1
push ebx
push 1
lea ecx, [esp + 0x118]
call fcn.00407e53
mov byte [esp + 0x578], bl
push ebx
push 1
lea ecx, [esp + 0x134]
call fcn.00407e53
or dword [esp + 0x578], 0xffffffff
lea ecx, [esp + 0xc4]
call fcn.00409b0d
lea ecx, [esp + 0xc4]
call fcn.0040ee28
xor eax, eax
push 0x3fe
mov word [esp + 0x168], ax
push ebx
lea eax, [esp + 0x16e]
push eax
call fcn.004317b0
add esp, 0xc
cmp dword [edi + 0x14], 8
jb 0x408cbb
mov edi, dword [edi]
push edi
lea eax, [esp + 0x168]
push 0x200
push eax
call fcn.004324c0
add esp, 0xc
push 0x40
lea eax, [esp + 0x34]
push ebx
push eax
call fcn.004317b0
add esp, 0xc
mov dword [esp + 0x2c], 0x44
mov dword [esp + 0x58], 1
cmp byte [ebp + 0xc], bl
je 0x408cfb
push 5
pop eax
jmp 0x408cfd
xor eax, eax
mov word [esp + 0x5c], ax
xor eax, eax
mov dword [esp + 0x18], ebx
lea edi, [esp + 0x1c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x30]
lea eax, [esp + 0x170]
push ebx
push 0x20
push dword [ebp + 0x18]
push ebx
push ebx
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x408e69
lea eax, [esp + 0x74]
push eax
call fcn.00404d15
mov dword [esp + 0x578], 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [esp + 0x78]
push eax
call fcn.004096fb
push 0x26
push 0x456634
lea ecx, [esp + 0x118]
mov dword [esp + 0x12c], esi
mov dword [esp + 0x128], ebx
mov byte [esp + 0x118], bl
call fcn.00407efb
mov byte [esp + 0x578], 5
push 0x15
push str.commonhelper_inl.cpp
lea ecx, [esp + 0x134]
mov dword [esp + 0x148], esi
mov dword [esp + 0x144], ebx
mov byte [esp + 0x134], bl
call fcn.00407efb
mov byte [esp + 0x578], 6
lea eax, [esp + 0x148]
push eax
lea ecx, [esp + 0x78]
call fcn.00404dc4
mov byte [esp + 0x578], 7
push eax
lea eax, [esp + 0x114]
push eax
push 0x17f
push 2
call fcn.004109b9
lea ecx, [esp + 0x13c]
mov ebx, eax
call fcn.004109f8
mov byte [esp + 0x578], 6
xor esi, esi
push esi
push 1
lea ecx, [esp + 0x150]
call fcn.00407e53
mov byte [esp + 0x578], 5
push esi
push 1
lea ecx, [esp + 0x134]
call fcn.00407e53
mov byte [esp + 0x578], 4
push esi
push 1
lea ecx, [esp + 0x118]
call fcn.00407e53
or dword [esp + 0x578], 0xffffffff
lea ecx, [esp + 0xc4]
call fcn.00404d81
lea ecx, [esp + 0xc4]
call fcn.00407b8a
xor al, al
jmp 0x408eb2
mov byte [esp + 0x13], 1
cmp byte [ebp + 0x10], bl
je 0x408e8e
cmp dword [esp + 0x18], ebx
je 0x408e8e
push dword [ebp + 0x14]
push dword [esp + 0x1c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x408e8e
mov byte [esp + 0x13], bl
push dword [esp + 0x18]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [esp + 0x1c]
call esi
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x408eae
mov ecx, dword [esp + 0x24]
mov dword [eax], ecx
mov al, byte [esp + 0x13]
mov ecx, dword [esp + 0x570]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x558]
xor ecx, esp
call fcn.004313d1
mov esp, ebp
pop ebp
ret