Function at 0x415585
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x414
mov eax, dword [0x5c4e68]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x3a4], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x3b4], eax
mov eax, dword [ebp + 0x10]
push ebx
mov dword [ebp - 0x3b0], eax
mov eax, dword [ebp + 0x14]
push esi
push edi
mov dword [ebp - 0x3ac], eax
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x3c4], ebx
lea edi, [ebp - 0x3c0]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0x40
stosd dword es:[edi], eax
lea eax, [ebp - 0x40c]
mov esi, ecx
push ebx
push eax
mov dword [ebp - 0x3a8], esi
mov dword [ebp - 0x410], ebx
call fcn.005117f0
add esp, 0xc
mov edi, 0x103
push edi
lea eax, [ebp - 0x10f]
push ebx
push eax
mov byte [ebp - 0x110], bl
call fcn.005117f0
add esp, 0xc
push edi
lea eax, [ebp - 0x217]
push ebx
push eax
mov byte [ebp - 0x218], bl
call fcn.005117f0
mov edx, dword [ebp - 0x3a4]
add esp, 0xc
call fcn.004c3b34
test eax, eax
je 0x41563b
xor eax, eax
jmp 0x415902
cmp esi, ebx
jne 0x415666
lea eax, [ebp - 0x410]
mov dword [ebp - 0x410], 0x44
mov dword [ebp - 0x3e4], 1
mov word [ebp - 0x3e0], bx
mov dword [ebp - 0x3a8], eax
cmp dword [ebp - 0x3ac], ebx
jne 0x41567a
lea eax, [ebp - 0x3c4]
mov dword [ebp - 0x3ac], eax
push dword [ebp - 0x3a4]
mov esi, 0x104
mov ecx, esi
lea eax, [ebp - 0x110]
call fcn.004c3b66
pop ecx
push eax
call fcn.005120b0
cmp byte [ebp + eax - 0x111], 0x2e
mov eax, esi
pop ecx
lea esi, [ebp - 0x110]
jne 0x4156b3
push 0x539c4c
jmp 0x4156b8
push str..exe
call fcn.004c3c36
pop ecx
lea edi, [ebp - 0x110]
call fcn.0042ad00
test eax, eax
mov edi, str._GetLastError_
je 0x4157c5
push 0x7f
lea eax, [ebp - 0x297]
push ebx
push eax
mov byte [ebp - 0x298], bl
call fcn.005117f0
add esp, 0xc
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.005123e0
pop ecx
pop ecx
lea esi, [ebp - 0x218]
call fcn.004c3e68
lea eax, [ebp - 0x298]
push 0xa
push eax
call fcn.00512297
mov ecx, 0x8ae
cdq
mov esi, ecx
idiv esi
add edx, ecx
push edx
call fcn.00513806
add esp, 0xc
push ebx
lea eax, [ebp - 0x298]
push eax
push str..exe
lea eax, [ebp - 0x218]
push 0x104
push eax
mov byte [ebp - 0x293], bl
call fcn.004c5572
add esp, 0x14
lea eax, [ebp - 0x218]
push 1
push eax
lea ecx, [ebp - 0x110]
call fcn.00429b8e
test eax, eax
pop ecx
pop ecx
jne 0x4157c5
push 0x4b0
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x218]
push 1
push eax
lea ecx, [ebp - 0x110]
call fcn.00429b8e
test eax, eax
pop ecx
pop ecx
jne 0x4157c5
push edi
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x110]
push eax
push dword [ebp - 0x3b4]
push dword [ebp - 0x3a4]
push str.:8:CreateProcessExe___s_____s___will_FAIL:_An_alternate_version_of_the_EXE_will_be_run:_The_file___s__could_not_be_renamed_to___s_:__s
call fcn.004265da
add esp, 0x18
mov byte [ebp - 0x218], bl
push dword [ebp - 0x3ac]
push dword [ebp - 0x3a8]
push dword [ebp - 0x3b0]
push ebx
push 0x28
push ebx
push ebx
push ebx
push dword [ebp - 0x3b4]
push dword [ebp - 0x3a4]
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
mov dword [ebp - 0x3a8], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea edx, [ebp - 0x218]
mov dword [ebp - 0x3b0], eax
call fcn.004c3b34
test eax, eax
jne 0x4158cc
push 0x103
lea eax, [ebp - 0x39f]
push ebx
push eax
mov byte [ebp - 0x3a0], bl
call fcn.005117f0
add esp, 0xc
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x3a0]
push eax
call fcn.005123e0
lea eax, [ebp - 0x3a0]
call fcn.004c3eab
lea esi, [ebp - 0x110]
call fcn.004c3e68
lea esi, [ebp - 0x218]
call fcn.004c3e68
lea edx, [ebp - 0x3a0]
mov ecx, esi
call fcn.004c40f5
lea eax, [ebp - 0x110]
push 1
push eax
mov ecx, esi
call fcn.00429b8e
add esp, 0x10
test eax, eax
jne 0x4158cc
push 0x2ee
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x110]
push 1
push eax
mov ecx, esi
call fcn.00429b8e
test eax, eax
pop ecx
pop ecx
jne 0x4158cc
push edi
lea eax, [ebp - 0x110]
push eax
mov eax, esi
push eax
push dword [ebp - 0x3b4]
push dword [ebp - 0x3a4]
push str.:8:CreateProcessExe___s_____s___encountered_a_problem:_The_file___s__could_not_be_reverse_renamed_back_to___s_:__s
call fcn.004265da
add esp, 0x18
push dword [ebp - 0x3b0]
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea eax, [ebp - 0x3c4]
cmp dword [ebp - 0x3ac], eax
jne 0x4158fc
mov edi, dword [ebp - 0x3c0]
call fcn.0042dbeb
mov edi, dword [ebp - 0x3c4]
call fcn.0042dbeb
mov eax, dword [ebp - 0x3a8]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0051291c
leave
ret