Function at 0x411fe0
Capabilities:
Create process on windows

Disassembly:
sub esp, 0x560
push ebx
push esi
push edi
call fcn.004318b0
test eax, eax
je 0x412080
push 0
lea eax, [esp + 0x164]
push str.CSetupApp::SpawnApp_n
push eax
call fcn.0044cb10
mov edi, str.ENTRY:
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x60]
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x60]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x160]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00431840
mov ecx, eax
call fcn.004318e0
lea eax, [esp + 0x60]
push eax
call fcn.00431840
mov ecx, eax
call fcn.00431c70
mov eax, dword [esp + 0x574]
xor ebx, ebx
test eax, eax
jne 0x4120b0
mov ecx, dword [esp + 0x570]
push 0x22
push ecx
push 0x22
lea edx, [esp + 0x26c]
push str._c_s_c
push edx
call fcn.0044cb10
add esp, 0x14
jmp 0x4120d2
push eax
mov eax, dword [esp + 0x574]
push 0x22
push eax
push 0x22
lea ecx, [esp + 0x270]
push str._c_s_c_s
push ecx
call fcn.0044cb10
add esp, 0x18
xor edx, edx
mov ecx, 0x11
xor eax, eax
lea edi, [esp + 0x1c]
mov dword [esp + 0xc], edx
rep stosd dword es:[edi], eax
mov dword [esp + 0x10], edx
lea eax, [esp + 0xc]
lea ecx, [esp + 0x1c]
mov dword [esp + 0x14], edx
push eax
push ecx
push edx
push edx
push edx
push edx
push edx
mov dword [esp + 0x34], edx
push edx
lea edx, [esp + 0x280]
push edx
push 0
mov dword [esp + 0x44], 0x44
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x41214e
mov eax, dword [esp + 0x578]
test eax, eax
je 0x412135
mov eax, dword [esp + 0xc]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esp + 0xc]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ecx
call esi
mov edx, dword [esp + 0x10]
push edx
call esi
mov ebx, 1
call fcn.004318b0
test eax, eax
je 0x4121f4
push ebp
push ebx
lea eax, [esp + 0x168]
push str.CSetupApp::SpawnApp_:_bRetVal___d_n
push eax
call fcn.0044cb10
mov edi, str.EXIT:
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x64]
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x64]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x164]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea eax, [esp + 0x64]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.00431840
mov ecx, eax
call fcn.00431c70
call fcn.00431840
mov ecx, eax
call fcn.004318f0
pop ebp
pop edi
mov eax, ebx
pop esi
pop ebx
add esp, 0x560
ret 0xc
pop edi
mov eax, ebx
pop esi
pop ebx
add esp, 0x560
ret 0xc