Function at 0x40bae0
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4525e8
mov eax, dword fs:[0]
push eax
sub esp, 0x88
mov eax, dword [0x46b554]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp byte [0x46c6f8], 0
mov eax, dword [ebp + 8]
mov ebx, edx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
jne 0x40bb39
push str.Launch_Failed___Launching_Currently_Disabled
call fcn.0040ba70
add esp, 4
xor al, al
jmp 0x40bdd4
push 0x44
xor esi, esi
lea edx, [ebp - 0x94]
push esi
push edx
call fcn.00439e80
mov ecx, 7
xor eax, eax
add esp, 0xc
mov dword [ebp - 0x94], 0x44
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x20], esi
mov word [ebp - 0x30], ax
mov dword [ebp - 4], esi
mov edx, dword [ebx + 0x48]
mov eax, dword [ebx + 0x2c]
lea eax, [edx + eax + 8]
cmp eax, ecx
je 0x40bba7
push 1
push eax
lea eax, [ebp - 0x30]
call fcn.00405410
test al, al
je 0x40bb9c
cmp dword [ebp - 0x1c], 8
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x20], esi
jae 0x40bb97
lea eax, [ebp - 0x30]
xor ecx, ecx
mov word [eax], cx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x30]
cmp ecx, 8
jae 0x40bbaa
lea eax, [ebp - 0x30]
mov edx, dword [ebp - 0x20]
cmp ecx, 8
mov ecx, dword [ebp - 0x30]
lea eax, [eax + edx*2]
jae 0x40bbbb
lea ecx, [ebp - 0x30]
cmp eax, esi
jne 0x40bbc3
xor eax, eax
jmp 0x40bbc7
sub eax, ecx
sar eax, 1
push 0x22
lea edi, [ebp - 0x30]
call fcn.004052a0
push esi
lea eax, [ebx + 0x1c]
push eax
or eax, 0xffffffff
mov esi, edi
call fcn.004048b0
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x30]
mov eax, edx
cmp ecx, 8
jae 0x40bbef
mov eax, edi
mov esi, dword [ebp - 0x20]
cmp ecx, 8
lea eax, [eax + esi*2]
mov ecx, edx
jae 0x40bbff
lea ecx, [ebp - 0x30]
test eax, eax
je 0x40bc07
sub eax, ecx
sar eax, 1
push 0x22
lea edi, [ebp - 0x30]
call fcn.004052a0
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x30]
mov eax, edx
cmp ecx, 8
jae 0x40bc20
mov eax, edi
mov esi, dword [ebp - 0x20]
cmp ecx, 8
lea eax, [eax + esi*2]
mov ecx, edx
jae 0x40bc30
lea ecx, [ebp - 0x30]
test eax, eax
je 0x40bc38
sub eax, ecx
sar eax, 1
push 0x20
lea edi, [ebp - 0x30]
call fcn.004052a0
push 0
lea eax, [ebx + 0x38]
push eax
or eax, 0xffffffff
mov esi, edi
call fcn.004048b0
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
mov edi, 8
cmp dword [ebp - 0x1c], edi
jae 0x40bc65
lea eax, [ebp - 0x30]
movzx ecx, word [eax + ecx*2 - 2]
push ecx
call fcn.00431b8d
add esp, 4
test eax, eax
je 0x40bd09
mov ecx, dword [ebp - 0x20]
lea eax, [ecx - 1]
cmp eax, ecx
ja 0x40bcf0
or esi, 0xffffffff
cmp ecx, eax
jb 0x40bcff
mov edx, ecx
sub edx, eax
cmp edx, 0xffffffff
jae 0x40bc9b
mov esi, edx
test esi, esi
je 0x40bc55
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x30]
cmp edx, edi
mov edi, ebx
jae 0x40bcaa
lea edi, [ebp - 0x30]
cmp edx, 8
mov edx, ebx
jae 0x40bcb4
lea edx, [ebp - 0x30]
sub ecx, esi
sub ecx, eax
add ecx, ecx
push ecx
lea ecx, [esi + eax]
lea ecx, [edi + ecx*2]
push ecx
lea edx, [edx + eax*2]
push edx
call fcn.0042ff40
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x30]
sub eax, esi
add esp, 0xc
cmp dword [ebp - 0x1c], 8
mov dword [ebp - 0x20], eax
jae 0x40bce2
lea ecx, [ebp - 0x30]
mov ebx, dword [ebp - 0x3c]
xor edx, edx
mov word [ecx + eax*2], dx
jmp 0x40bc52
sub eax, ecx
lea edi, [ebp - 0x30]
call fcn.0040d390
jmp 0x40bc52
push str.invalid_string_position
call fcn.0042f939
cmp dword [ebx + 0x30], edi
jb 0x40bd13
mov eax, dword [ebx + 0x1c]
jmp 0x40bd16
lea eax, [ebx + 0x1c]
push eax
push str.Attempting_to_launch__S
call fcn.0040ba70
add esp, 8
cmp dword [ebx + 0x14], edi
jb 0x40bd2d
mov ecx, dword [ebx]
jmp 0x40bd2f
mov ecx, ebx
mov edx, dword [ebp - 0x30]
cmp dword [ebp - 0x1c], edi
jae 0x40bd3a
lea edx, [ebp - 0x30]
cmp dword [ebx + 0x30], edi
jb 0x40bd44
mov eax, dword [ebx + 0x1c]
jmp 0x40bd47
lea eax, [ebx + 0x1c]
lea esi, [ebp - 0x4c]
push esi
lea esi, [ebp - 0x94]
push esi
push ecx
push 0
push 0x4000000
push 0
push 0
push 0
push edx
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x40bd8e
push str.Launch_Failed
call fcn.0040ba70
add esp, 4
cmp dword [ebp - 0x1c], edi
jb 0x40bd8a
mov eax, dword [ebp - 0x30]
push eax
call fcn.0042f9a7
add esp, 4
xor al, al
jmp 0x40bdd4
push str.Launch_Successful
call fcn.0040ba70
mov ecx, dword [ebp - 0x48]
add esp, 4
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], edx
mov eax, dword [0x46d778]
mov edx, dword [ebp - 0x34]
push eax
mov dword [edx], ecx
call dword [sym.imp.KERNEL32.dll_SetEvent]
cmp dword [ebp - 0x1c], edi
jb 0x40bdd2
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0042f9a7
add esp, 4
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0042f9b2
mov esp, ebp
pop ebp
ret