Function at 0x40eee0
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
test ebx, ebx
je 0x40f152
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x40f152
cmp word [eax], 0
je 0x40f152
push 0x40
lea eax, [ebp - 0x58]
push 0
push eax
mov dword [ebp + 8], 0
mov dword [ebp - 0x5c], 0x44
call fcn.004c9b50
mov ecx, dword [0x52fe34]
xor eax, eax
add esp, 0xc
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
call fcn.00459da0
mov edx, eax
lea eax, [esi + 0x1b4]
mov dword [ebp - 4], edx
mov dword [ebp - 8], eax
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x40ef52
mov ecx, dword [ebx + 0x14]
sub eax, esi
push edi
sar eax, 1
lea edi, [ecx + 2]
jmp 0x40ef70
mov si, word [ecx]
add ecx, 2
test si, si
jne 0x40ef70
sub ecx, edi
sar ecx, 1
test edx, edx
je 0x40ef9a
lea edi, [edx + 2]
mov si, word [edx]
add edx, 2
test si, si
jne 0x40ef86
sub edx, edi
sar edx, 1
add edx, 0x20
jmp 0x40ef9c
xor edx, edx
add edx, ecx
lea edi, [edx + eax + 0x8c]
lea ecx, [edi + edi]
push ecx
call fcn.0044c4d0
mov esi, eax
add esp, 4
test esi, esi
je 0x40f13f
mov ecx, dword [ebp - 8]
push ecx
push edi
mov edx, 0x22
xor eax, eax
push esi
mov word [esi], dx
mov word [esi + 2], ax
call fcn.004017b0
push 0x4e5880
push edi
push esi
call fcn.004017b0
mov eax, dword [ebp - 4]
test eax, eax
je 0x40f010
cmp word [eax], 0
je 0x40f010
push str._config__
push edi
push esi
call fcn.004017b0
mov edx, dword [ebp - 4]
push edx
push edi
push esi
call fcn.004017b0
push 0x4e5880
push edi
push esi
call fcn.004017b0
push 0x4e7218
push edi
push esi
call fcn.004017b0
push 0x4e720c
push edi
push esi
call fcn.004017b0
mov eax, dword [ebx + 0x14]
push eax
push edi
push esi
call fcn.004017b0
mov eax, dword [ebx + 0x2c]
mov ecx, 2
cmp eax, ecx
je 0x40f04e
cmp dword [ebx + 0x30], ecx
je 0x40f04a
cmp dword [ebx + 0x34], 0
je 0x40f06b
cmp eax, ecx
jne 0x40f055
push str.__new_console:a
jmp 0x40f05f
cmp dword [ebx + 0x30], ecx
jne 0x40f06b
push str.__new_console:r
push edi
push esi
call fcn.004017b0
mov ecx, 2
cmp dword [ebx + 0x2c], ecx
je 0x40f0ad
cmp dword [ebx + 0x30], ecx
je 0x40f0ad
mov eax, dword [ebx + 0x34]
test eax, eax
je 0x40f0ad
cmp word [eax], 0
je 0x40f0ad
lea ecx, [ebp - 0x18]
push ecx
mov ecx, dword [ebx + 0x18]
lea edx, [ebp - 0x5c]
push edx
push ecx
mov ecx, dword [ebx + 0x38]
push 0
push 0x4000020
push esi
push 0
push 1
lea edx, [ebx + 0x3c]
push edx
push ecx
push eax
call dword [sym.imp.ADVAPI32.dll_CreateProcessWithLogonW]
mov edi, eax
jmp 0x40f0d1
mov ecx, dword [ebx + 0x18]
lea edx, [ebp - 0x18]
push edx
lea eax, [ebp - 0x5c]
push eax
push ecx
push 0
push 0x20
push 0
push 0
push 0
push esi
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov dword [ebp + 8], eax
mov edi, eax
test edi, edi
jne 0x40f0fd
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
push str.Failed_to_start_new_ConEmu_window
push 0x10
push eax
push esi
call fcn.004263e0
add esp, 0x14
xor eax, eax
test edi, edi
pop edi
pop esi
setne al
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebp - 0x18]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x40f119
cmp eax, 0xffffffff
je 0x40f119
push eax
mov dword [ebp - 0x18], 0
call esi
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x40f142
cmp eax, 0xffffffff
je 0x40f142
push eax
mov dword [ebp - 0x14], 0
call esi
xor eax, eax
test edi, edi
pop edi
pop esi
setne al
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edi, dword [ebp + 8]
xor eax, eax
test edi, edi
pop edi
pop esi
setne al
pop ebx
mov esp, ebp
pop ebp
ret 4
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 4