Function at 0x42a54d
Capabilities:
Create process on windows

Disassembly:
push 0x11c
mov eax, 0x4ddf20
call fcn.004b698d
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.0042b405
xor ebx, ebx
mov dword [ebp - 4], ebx
cmp dword [edi + 0x334], ebx
jne 0x42a5b6
mov ecx, edi
call fcn.00428fc1
test al, al
mov ecx, 0x83
lea eax, [edi + 0x324]
je 0x42a5a0
push 1
mov edx, str.psiphon_url_proxy.exe
jmp 0x42a5a6
push ebx
mov edx, str.psiphon_tunnel_core.exe
push eax
call fcn.0044e058
pop ecx
pop ecx
test al, al
je 0x42a7b7
lea edx, [edi + 0x324]
lea ecx, [ebp - 0x118]
call fcn.0042c5a2
mov edx, 0x644a30
mov ecx, eax
call fcn.0042c718
mov edx, dword [ebp - 0x2c]
mov ecx, eax
call fcn.0042c5a2
mov edx, 0x644a2c
mov ecx, eax
call fcn.0042c718
mov ecx, edi
call fcn.00428fc1
test al, al
jne 0x42a619
mov edx, str.___serverList__
lea ecx, [ebp - 0x118]
call fcn.0042c718
mov edx, esi
mov ecx, eax
call fcn.0042c5a2
mov edx, 0x644a2c
mov ecx, eax
call fcn.0042c718
push 0x44
pop esi
push esi
lea eax, [ebp - 0x78]
push ebx
push eax
call fcn.004b9570
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 + 0x354]
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.0044e817
add esp, 0xc
test al, al
jne 0x42a696
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.00438d22
add esp, 0x14
jmp 0x42a7b7
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.0042b3ba
cmp dword [eax + 0x14], 8
jb 0x42a6bd
mov eax, dword [eax]
lea ecx, [edi + 0x324]
cmp dword [ecx + 0x14], 8
jb 0x42a6cb
mov ecx, dword [ecx]
lea edx, [edi + 0x344]
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.0042889e
add bl, 1
je 0x42a72c
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.00438d22
mov eax, dword [ebp - 0x34]
add esp, 0x14
push dword [eax]
call esi
push dword [ebp - 0x3c]
jmp 0x42a76b
push dword [edi + 0x348]
call esi
push dword [ebp - 0x3c]
xor ebx, ebx
mov dword [edi + 0x348], ebx
call esi
test eax, eax
jne 0x42a772
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
push 0x2b4
push str.CoreTransport::SpawnCoreProcess
push str._s:_d___CloseHandle_failed___d_
push ebx
push ebx
call fcn.00438d22
add esp, 0x18
push dword [edi + 0x354]
call esi
push dword [ebp - 0x38]
jmp 0x42a7a1
push dword [ebp - 0x38]
call esi
test eax, eax
jne 0x42a7a5
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
push 0x2bb
push str.CoreTransport::SpawnCoreProcess
push str._s:_d___CloseHandle_failed___d_
push ebx
push ebx
call fcn.00438d22
add esp, 0x18
push dword [edi + 0x354]
call esi
jmp 0x42a7b7
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.0042a7cc
mov al, bl
call fcn.004b6937
ret 8