Function at 0x140002870
Capabilities:
Create a process with modified i/o handles and window
Create pipe
Create process on windows

Disassembly:
push rbp
push rbx
push rdi
push r14
lea rbp, [rsp - 0x48]
sub rsp, 0x148
mov rax, qword [0x140027008]
xor rax, rsp
mov qword [rbp + 0x38], rax
mov rbx, rcx
mov ecx, dword [rcx]
call qword [sym.imp.WS2_32.dll_ntohl]
movsxd rdi, eax
add rdi, rbx
mov ecx, dword [rdi + 4]
call qword [sym.imp.WS2_32.dll_ntohl]
mov edx, 1
mov ebx, eax
lea ecx, [rax + 1]
movsxd rcx, ecx
call fcn.140009d98
mov r14, rax
test rax, rax
je 0x140002bb0
lea ecx, [rbx - 4]
mov qword [rsp + 0x140], r15
movsxd r8, ecx
lea rdx, [rdi + 0xc]
mov rcx, rax
call fcn.1400098c0
lea eax, [rbx + 0x64]
mov edx, 1
cdqe
mov rcx, rax
mov qword [rsp + 0x60], rax
call fcn.140009d98
mov r15, rax
test rax, rax
jne 0x14000290e
mov rcx, r14
call fcn.14000a2c4
jmp 0x140002ba8
xor edi, edi
mov dword [rbp - 0x80], 0x18
xor r9d, r9d
mov qword [rbp - 0x78], rdi
lea r8, [rbp - 0x80]
mov qword [rsp + 0x58], rdi
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x50], rdi
lea rcx, [rsp + 0x58]
mov dword [rbp - 0x70], 1
call qword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
jne 0x14000295c
mov rcx, r14
call fcn.14000a2c4
mov rcx, r15
call fcn.14000a2c4
jmp 0x140002ba8
lea rcx, [rbp - 0x50]
mov qword [rsp + 0x178], rsi
call qword [sym.imp.KERNEL32.dll_GetStartupInfoA]
mov rax, qword [rsp + 0x50]
mov rsi, 0xffffffffffffffff
movups xmm0, xmmword [str.434d44202f4320257320]
mov qword [rbp + 0x10], rax
mov qword [rbp + 8], rax
mov eax, dword [0x1400221b8]
mov dword [rbp + 0x30], eax
movzx eax, byte [0x1400221bc]
mov byte [rbp + 0x34], al
lea rax, [rbp + 0x20]
mov dword [rbp - 0x50], 0x68
mov word [rbp - 0x10], di
mov dword [rbp - 0x14], 0x101
movups xmmword [rbp + 0x20], xmm0
inc rsi
cmp byte [rax + rsi], dil
jne 0x1400029b6
lea ecx, [rsi + 2]
mov edx, 1
call fcn.140009d98
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140002ba0
shr esi, 1
mov qword [rsp + 0x180], r12
mov r12d, edi
je 0x140002a6a
mov qword [rsp + 0x188], r13
mov r13, rax
nop dword [rax + rax]
lea ebx, [r12 + r12]
movsx ecx, byte [rbp + rbx + 0x20]
call fcn.14000a1c0
sub al, 0x30
movzx edi, al
lea eax, [rbx + 1]
movsx ecx, byte [rbp + rax + 0x20]
call fcn.14000a1c0
sub al, 0x30
lea r13, [r13 + 1]
movzx r10d, al
cmp dil, 9
lea eax, [rdi - 7]
movzx r9d, al
cmovle r9d, edi
shl r9b, 4
lea eax, [r10 - 7]
cmp r10b, 9
movzx ecx, al
cmovle ecx, r10d
inc r12d
add r9b, cl
mov byte [r13 - 1], r9b
cmp r12d, esi
jb 0x140002a00
mov rax, qword [rsp + 0x70]
xor edi, edi
mov r13, qword [rsp + 0x188]
mov rdx, qword [rsp + 0x60]
mov r9, rax
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x20], r14
mov rcx, r15
call fcn.1400020d0
mov rcx, r14
call fcn.14000a2c4
lea rax, [rbp - 0x68]
xor r9d, r9d
mov qword [rsp + 0x48], rax
xor r8d, r8d
lea rax, [rbp - 0x50]
mov rdx, r15
mov qword [rsp + 0x40], rax
xor ecx, ecx
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], 1
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
mov r12, qword [rsp + 0x180]
test eax, eax
jne 0x140002b0e
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor r9d, r9d
mov rdx, r15
mov r8d, eax
lea ecx, [r9 + 0x30]
call fcn.140005a90
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r14
call fcn.14000a2c4
jmp 0x140002ba0
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r15
call fcn.14000a2c4
movups xmm0, xmmword [rbp - 0x68]
mov rbx, qword [rsp + 0x58]
mov ecx, 0x38
movaps xmmword [rsp + 0x70], xmm0
movsd xmm0, qword [rbp - 0x58]
movsd qword [rsp + 0x60], xmm0
call fcn.14000c564
movaps xmm0, xmmword [rsp + 0x70]
mov rdx, rax
mov rcx, qword [0x14002bca8]
mov qword [rax + 0x28], rbx
mov dword [rax], 0x1e
mov qword [rax + 4], 1
mov qword [rax + 0x30], rdi
movups xmmword [rax + 0x10], xmm0
movsd xmm0, qword [rsp + 0x60]
movsd qword [rax + 0x20], xmm0
test rcx, rcx
jne 0x140002b86
mov qword [0x14002bca8], rax
jmp 0x140002ba0
mov rax, qword [rcx + 0x30]
test rax, rax
je 0x140002b9c
nop
mov rcx, rax
mov rax, qword [rax + 0x30]
test rax, rax
jne 0x140002b90
mov qword [rcx + 0x30], rdx
mov rsi, qword [rsp + 0x178]
mov r15, qword [rsp + 0x140]
mov rcx, qword [rbp + 0x38]
xor rcx, rsp
call fcn.140008040
add rsp, 0x148
pop r14
pop rdi
pop rbx
pop rbp
ret