Function at 0x42d6a0
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x67c
mov eax, dword [0x6319d0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x634], esi
mov dword [ebp - 0x638], edi
call fcn.0046d4f0
test eax, eax
je 0x42d756
push 0
push str.CSetupApp::SpawnAnotherUIU_n
push 0x65d5b0
call fcn.00599ee3
mov eax, dword [str.ENTRY:]
mov ecx, dword [0x5ccf7c]
mov dword [0x65d4b0], eax
mov eax, 0x65d5b0
mov dword [0x65d4b4], ecx
add esp, 0xc
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x42d706
mov edi, 0x65d4b0
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x42d717
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.0046d6a0
mov ecx, eax
call fcn.0046d500
push 0x65d4b0
call fcn.0046d6a0
mov ecx, eax
call fcn.0046d9d0
mov edi, dword [ebp - 0x638]
mov esi, dword [ebp - 0x634]
call fcn.0046d4f0
test eax, eax
je 0x42d788
mov edx, dword [ebp + 0x10]
push edx
push edi
push esi
push str.pszExeName_s__pszCmdArg_s__bWaitForProcess_d_n
push 0x65d3b0
call fcn.00599ee3
add esp, 0x14
push 0x65d3b0
call fcn.0046d6a0
mov ecx, eax
call fcn.0046d9d0
xor ebx, ebx
mov dword [ebp - 0x620], ebx
call fcn.0049d320
call fcn.0049cbe0
test eax, eax
je 0x42d92b
call fcn.0046d4f0
test eax, eax
je 0x42d7bc
push str.Trying_to_Spawn_with_ShellExecuteEx_n
call fcn.0046d6a0
mov ecx, eax
call fcn.0046d9d0
push 0x22
push esi
push 0x22
lea eax, [ebp - 0x61c]
push str._c_s_c
push eax
call fcn.00599ee3
push edi
lea ecx, [ebp - 0x310]
push 0x5cf00c
push ecx
call fcn.00599ee3
push 0x3c
lea edx, [ebp - 0x674]
push 0
push edx
call fcn.00599fb0
add esp, 0x2c
call fcn.0046d4f0
test eax, eax
je 0x42d82a
lea eax, [ebp - 0x61c]
push eax
push str.szExeName___s_n
push 0x65d2b0
call fcn.00599ee3
add esp, 0xc
push 0x65d2b0
call fcn.0046d6a0
mov ecx, eax
call fcn.0046d9d0
call fcn.0046d4f0
test eax, eax
je 0x42d85d
lea ecx, [ebp - 0x310]
push ecx
push str.szCmdLine___s_n
push 0x65d1b0
call fcn.00599ee3
add esp, 0xc
push 0x65d1b0
call fcn.0046d6a0
mov ecx, eax
call fcn.0046d9d0
lea ecx, [ebp - 0x674]
lea edx, [ebp - 0x61c]
lea eax, [ebp - 0x310]
push ecx
mov dword [ebp - 0x674], 0x3c
mov dword [ebp - 0x66c], ebx
mov dword [ebp - 0x670], 0x540
mov dword [ebp - 0x668], str.runas
mov dword [ebp - 0x664], edx
mov dword [ebp - 0x660], eax
mov dword [ebp - 0x658], 1
call dword [sym.imp.SHELL32.dll_ShellExecuteExA]
test eax, eax
je 0x42d8f8
cmp dword [ebp + 0x10], ebx
je 0x42d8e6
mov edx, dword [ebp - 0x63c]
push 0xffffffffffffffff
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [ebp - 0x63c]
lea eax, [ebp - 0x620]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
je 0x42d8e6
mov ebx, dword [ebp - 0x620]
mov edx, dword [ebp - 0x63c]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or ebx, 4
jmp 0x42d92b
call fcn.0046d4f0
test eax, eax
je 0x42d92b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Failed_ShellExecuteEx_:_GetLastError_____d_n
push 0x65d0b0
call fcn.00599ee3
add esp, 0xc
push 0x65d0b0
call fcn.0046d6a0
mov ecx, eax
call fcn.0046d9d0
mov eax, ebx
not eax
test al, 4
je 0x42da6f
call fcn.0046d4f0
test eax, eax
je 0x42d951
push str.Trying_to_Spawn_with_CreateProcess_n
call fcn.0046d6a0
mov ecx, eax
call fcn.0046d9d0
test edi, edi
jne 0x42d970
push 0x22
push esi
push 0x22
lea ecx, [ebp - 0x310]
push str._c_s_c
push ecx
call fcn.00599ee3
add esp, 0x14
jmp 0x42d98a
push edi
push 0x22
push esi
push 0x22
lea edx, [ebp - 0x310]
push str._c_s_c__s
push edx
call fcn.00599ee3
add esp, 0x18
push 0x44
lea eax, [ebp - 0x67c]
push 0
push eax
call fcn.00599fb0
xor eax, eax
add esp, 0xc
mov dword [ebp - 0x67c], 0x44
mov dword [ebp - 0x630], eax
mov dword [ebp - 0x62c], eax
mov dword [ebp - 0x628], eax
mov dword [ebp - 0x624], eax
call fcn.0046d4f0
test eax, eax
je 0x42d9f4
lea ecx, [ebp - 0x310]
push ecx
push str.szCmdLine___s_n
push 0x65cfb0
call fcn.00599ee3
add esp, 0xc
push 0x65cfb0
call fcn.0046d6a0
mov ecx, eax
call fcn.0046d9d0
lea edx, [ebp - 0x630]
push edx
lea eax, [ebp - 0x67c]
push eax
push 0
push 0
push 0x10
push 0
push 0
push 0
lea ecx, [ebp - 0x310]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x42da6f
cmp dword [ebp + 0x10], 0
je 0x42da54
mov edx, dword [ebp - 0x630]
push 0xffffffffffffffff
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [ebp - 0x630]
lea eax, [ebp - 0x620]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
je 0x42da54
or ebx, dword [ebp - 0x620]
mov edx, dword [ebp - 0x630]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push edx
call esi
mov eax, dword [ebp - 0x62c]
push eax
call esi
or ebx, 4
call fcn.0046d4f0
test eax, eax
je 0x42daa1
mov ecx, ebx
and ecx, 0xfffffffb
push ecx
push str.dwRetVal__RETVAL_SPAWNAPP_SUCCESS___X_n
push 0x65ceb0
call fcn.00599ee3
add esp, 0xc
push 0x65ceb0
call fcn.0046d6a0
mov ecx, eax
call fcn.0046d9d0
call fcn.0046d4f0
test eax, eax
je 0x42db24
push ebx
push str.CSetupApp::SpawnAnotherUIU_:_dwRetVal___X_n
push 0x65cdb0
call fcn.00599ee3
mov eax, dword [0x5ccefc]
mov edx, dword [str.EXIT:]
mov dword [0x65ccb4], eax
mov eax, 0x65cdb0
add esp, 0xc
mov dword [0x65ccb0], edx
mov ecx, eax
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x42dae0
mov edi, 0x65ccb0
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x42daf1
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push 0x65ccb0
rep movsb byte es:[edi], byte [esi]
call fcn.0046d6a0
mov ecx, eax
call fcn.0046d9d0
call fcn.0046d6a0
mov ecx, eax
call fcn.0046d510
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov eax, ebx
xor ecx, ebp
pop ebx
call fcn.00599ed4
mov esp, ebp
pop ebp
ret 0xc