Function at 0x47116c
Capabilities:
Accept command line arguments
Check if file exists
Create a process with modified i/o handles and window
Create process on windows
Create process suspended
Get file attributes

Disassembly:
push 0x6b8
mov eax, 0x5ae307
call fcn.00588aeb
mov ebx, dword [ebp + 8]
push 7
xor edi, edi
pop ecx
xor eax, eax
mov esi, edi
mov dword [ebp - 0x638], ecx
mov dword [ebp - 0x63c], edi
mov word [ebp - 0x64c], ax
or dword [ebp - 0x66c], 0xffffffff
mov dword [ebp - 4], edi
mov dword [ebp - 0x650], ecx
mov dword [ebp - 0x654], edi
mov word [ebp - 0x664], ax
push str.______________________IN_n
push str.Win64PathThrough
push 5
mov byte [ebp - 4], 1
call fcn.00423f75
add esp, 0xc
cmp dword [0x63aa34], edi
je 0x4714af
push 0x105
lea eax, [ebp - 0x634]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor eax, eax
cmp ax, word [ebp - 0x634]
je 0x4714e7
lea eax, [ebp - 0x634]
push eax
call fcn.00588144
pop ecx
push eax
lea eax, [ebp - 0x634]
push eax
lea ecx, [ebp - 0x664]
call fcn.00403cef
cmp dword [ebp - 0x650], 8
push edi
push edi
push 0x101
lea ecx, [ebp - 0x21c]
push ecx
push 0x105
lea ecx, [ebp - 0x428]
push ecx
push 4
lea ecx, [ebp - 0x18]
lea eax, [ebp - 0x664]
cmovae eax, dword [ebp - 0x664]
push ecx
push eax
call fcn.0058bead
add esp, 0x24
cmp word [ebp - 0x18], di
jne 0x471264
mov eax, edi
jmp 0x47126e
lea eax, [ebp - 0x18]
push eax
call fcn.00588144
pop ecx
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x64c]
call fcn.00403cef
cmp word [ebp - 0x428], 0
jne 0x47128c
mov eax, edi
jmp 0x471299
lea eax, [ebp - 0x428]
push eax
call fcn.00588144
pop ecx
push eax
lea eax, [ebp - 0x428]
push eax
lea ecx, [ebp - 0x64c]
call fcn.00403b92
cmp word [ebp - 0x21c], 0
jne 0x4712ba
mov eax, edi
jmp 0x4712c7
lea eax, [ebp - 0x21c]
push eax
call fcn.00588144
pop ecx
push eax
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x64c]
call fcn.00403b92
cmp dword [0x63aa44], 0
je 0x4712ea
mov edi, str.64.EXE
jmp 0x4712f8
cmp dword [0x63aa48], 0
je 0x47130e
mov edi, str.IA64.EXE
push edi
call fcn.00588144
pop ecx
push eax
push edi
lea ecx, [ebp - 0x64c]
call fcn.00403b92
xor edi, edi
cmp dword [ebp - 0x638], 8
lea eax, [ebp - 0x64c]
cmovae eax, dword [ebp - 0x64c]
push eax
push str.strWin64Exe.data__
push str.Win64PathThrough
push 4
call fcn.00423f57
add esp, 0x10
cmp dword [ebp - 0x638], 8
lea eax, [ebp - 0x64c]
cmovae eax, dword [ebp - 0x64c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4714af
call fcn.00472cf7
push eax
lea ecx, [ebp - 0x668]
call fcn.00405b90
cmp dword [ebp - 0x638], 8
lea eax, [ebp - 0x64c]
cmovae eax, dword [ebp - 0x64c]
push eax
lea ecx, [ebp - 0x668]
mov byte [ebp - 4], 2
call fcn.0041ddd6
push 0x5bf818
lea ecx, [ebp - 0x668]
call fcn.00408133
lea eax, [ebp - 0x670]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
xor esi, esi
inc esi
mov edi, eax
cmp dword [ebp - 0x670], esi
jle 0x4713e8
push dword [edi + esi*4]
lea ecx, [ebp - 0x668]
call fcn.00408133
push 0x5bf818
lea ecx, [ebp - 0x668]
call fcn.00408133
inc esi
cmp esi, dword [ebp - 0x670]
jl 0x4713c1
lea ecx, [ebp - 0x668]
call fcn.0043818c
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
push dword [ebp - 0x668]
push str.strCmdLine
push str.Win64PathThrough
push 4
call fcn.00423f57
push 0x44
pop esi
push esi
xor edi, edi
lea eax, [ebp - 0x6c4]
push edi
push eax
call fcn.00587a70
add esp, 0x1c
lea ecx, [ebp - 0x668]
push 1
mov dword [ebp - 0x6c4], esi
call fcn.0041bbf9
lea ecx, [ebp - 0x680]
push ecx
lea ecx, [ebp - 0x6c4]
push ecx
push edi
push edi
push 0x20
push edi
push edi
push edi
push eax
push edi
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x471492
push dword [ebp - 0x67c]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push 0xffffffffffffffff
push dword [ebp - 0x680]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea eax, [ebp - 0x66c]
push eax
push dword [ebp - 0x680]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
push dword [ebp - 0x680]
call esi
mov ecx, dword [ebp - 0x668]
mov eax, dword [ebp - 0x66c]
xor esi, esi
lea ecx, [ecx - 0x10]
mov dword [ebx], eax
inc esi
mov byte [ebp - 4], 1
call fcn.0041c730
push str.______________________OUT_n
push str.Win64PathThrough
push 5
call fcn.00423f75
add esp, 0xc
push edi
push 1
lea ecx, [ebp - 0x664]
call fcn.00403a7f
push edi
push 1
lea ecx, [ebp - 0x64c]
call fcn.00403a7f
mov eax, esi
call fcn.00588a9a
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.GetModuleFileName_failed.__0x_1_x___n
push str.Win64PathThrough
push 2
call fcn.00423f75
add esp, 0x10
mov esi, edi
jmp 0x4714c3