Function at 0x42c7c6
Capabilities:
Create process on windows

Disassembly:
push 0x11c
mov eax, 0x521d88
call fcn.004dacdd
mov edi, ecx
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
push ecx
push ecx
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x2c], eax
call fcn.0042d8cb
xor ebx, ebx
mov dword [ebp - 4], ebx
cmp dword [edi + 0x338], ebx
jne 0x42c82f
mov ecx, edi
call fcn.0042b2dc
test al, al
mov ecx, 0x83
lea eax, [edi + 0x328]
je 0x42c819
push 1
mov edx, str.psiphon_url_proxy.exe
jmp 0x42c81f
push ebx
mov edx, str.psiphon_tunnel_core.exe
push eax
call fcn.004568b5
pop ecx
pop ecx
test al, al
je 0x42ca30
lea edx, [edi + 0x328]
lea ecx, [ebp - 0x118]
call fcn.0042ea28
mov edx, 0x69b110
mov ecx, eax
call fcn.0042eba2
mov edx, dword [ebp - 0x2c]
mov ecx, eax
call fcn.0042ea28
mov edx, 0x69b10c
mov ecx, eax
call fcn.0042eba2
mov ecx, edi
call fcn.0042b2dc
test al, al
jne 0x42c892
mov edx, str.___serverList__
lea ecx, [ebp - 0x118]
call fcn.0042eba2
mov edx, esi
mov ecx, eax
call fcn.0042ea28
mov edx, 0x69b10c
mov ecx, eax
call fcn.0042eba2
push 0x44
pop esi
push esi
lea eax, [ebp - 0x78]
push ebx
push eax
call fcn.004f3cc0
add esp, 0xc
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x4c], 0x100
push 0xfffffffffffffff6
call dword [sym.imp.KERNEL32.DLL_GetStdHandle]
or ecx, 0xffffffff
mov dword [ebp - 0x40], eax
lea eax, [edi + 0x358]
mov dword [ebp - 0x3c], ecx
mov dword [eax], ecx
lea edx, [ebp - 0x30]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x38]
push ecx
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x34], eax
push ecx
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, eax
call fcn.004571d6
add esp, 0xc
test al, al
jne 0x42c90f
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
push str.CoreTransport::SpawnCoreProcess
push str._s___CreateSubprocessPipes_failed___d_
push ebx
push ebx
call fcn.0043ceb9
add esp, 0x14
jmp 0x42ca30
push dword [ebp - 0x30]
mov esi, dword [sym.imp.KERNEL32.DLL_CloseHandle]
call esi
push dword [ebp - 0x2c]
call esi
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x128]
call fcn.0042d880
cmp dword [eax + 0x14], 8
jb 0x42c936
mov eax, dword [eax]
lea ecx, [edi + 0x328]
cmp dword [ecx + 0x14], 8
jb 0x42c944
mov ecx, dword [ecx]
lea edx, [edi + 0x348]
push edx
mov dword [ebp - 0x2c], edx
lea edx, [ebp - 0x78]
push edx
push ebx
push ebx
push 0x8000200
push 1
push ebx
push ebx
push eax
push ecx
call dword [sym.imp.KERNEL32.DLL_CreateProcessW]
mov ebx, eax
lea ecx, [ebp - 0x28]
push 0
neg ebx
push 1
sbb bl, bl
call fcn.0042ab9c
add bl, 1
je 0x42c9a5
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
push str.CoreTransport::SpawnCoreProcess
push str._s___TunnelCore_CreateProcess_failed___d_
xor ebx, ebx
push ebx
push ebx
call fcn.0043ceb9
mov eax, dword [ebp - 0x34]
add esp, 0x14
push dword [eax]
call esi
push dword [ebp - 0x3c]
jmp 0x42c9e4
push dword [edi + 0x34c]
call esi
push dword [ebp - 0x3c]
xor ebx, ebx
mov dword [edi + 0x34c], ebx
call esi
test eax, eax
jne 0x42c9eb
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
push 0x2bc
push str.CoreTransport::SpawnCoreProcess
push str._s:_d___CloseHandle_failed___d_
push ebx
push ebx
call fcn.0043ceb9
add esp, 0x18
push dword [edi + 0x358]
call esi
push dword [ebp - 0x38]
jmp 0x42ca1a
push dword [ebp - 0x38]
call esi
test eax, eax
jne 0x42ca1e
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
push 0x2c3
push str.CoreTransport::SpawnCoreProcess
push str._s:_d___CloseHandle_failed___d_
push ebx
push ebx
call fcn.0043ceb9
add esp, 0x18
push dword [edi + 0x358]
call esi
jmp 0x42ca30
mov eax, dword [ebp - 0x2c]
push 0x1388
push dword [eax]
call dword [sym.imp.USER32.dll_WaitForInputIdle]
mov bl, 1
lea ecx, [ebp - 0x128]
call fcn.0042ca45
mov al, bl
call fcn.004dac87
ret 8