Function at 0x14000151e
Capabilities:
Create pipe

Disassembly:
jmp 0x1400a05fc
mov dword [rsp + 0x10], edx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov r12d, r8d
mov r14, rcx
lea rbx, str.phandles___nullptr
lea r13, [0x1400e5f68]
mov edi, socket
lea rsi, str.minkernelcrtsucrt_srcdesktopcrtconiopipe.cpp
test rcx, rcx
jne 0x1400a0655
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
xor r9d, r9d
mov r8d, edi
mov rdx, rsi
lea ecx, [rdi - 0x14]
call fcn.140001591
cmp eax, 1
jne 0x1400a0655
int3
test r14, r14
jne 0x1400a0696
call fcn.14000303f
and dword [rax], r14d
call fcn.14000228e
mov dword [rax], edi
and qword [rsp + 0x20], r14
mov r9d, edi
mov r8, rsi
lea rdx, str._pipe
mov rcx, rbx
call fcn.140003b02
or eax, 0xffffffff
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
or ebx, 0xffffffff
mov dword [r14 + 4], ebx
mov dword [r14], ebx
mov r15d, r12d
and r15d, 0xffff3f7f
je 0x1400a06d5
lea rax, str._textmode____O_NOINHERIT___O_BINARY___O_TEXT____0
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
xor r9d, r9d
lea r8d, [rbx + 0x1a]
mov rdx, rsi
lea ecx, [rbx + 3]
call fcn.140001591
cmp eax, 1
jne 0x1400a06d5
int3
test r15d, r15d
je 0x1400a0712
call fcn.14000303f
and dword [rax], 0
call fcn.14000228e
mov r9d, 0x19
lea rcx, str._textmode____O_NOINHERIT___O_BINARY___O_TEXT____0
lea rdx, str._pipe
mov r8, rsi
and qword [rsp + 0x20], 0
mov dword [rax], edi
call fcn.140003b02
mov eax, ebx
jmp 0x1400a0686
mov r15d, r12d
and r15d, 0xc000
cmp r15d, 0xc000
jne 0x1400a0774
lea rax, str._textmode____O_BINARY___O_TEXT_______O_BINARY___O_TEXT_
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
xor r9d, r9d
lea r8d, [r9 + 0x1a]
mov rdx, rsi
lea ecx, [r9 + 2]
call fcn.140001591
cmp eax, 1
jne 0x1400a074f
int3
cmp r15d, 0xc000
jne 0x1400a0774
call fcn.14000303f
and dword [rax], 0
call fcn.14000228e
mov r9d, 0x1a
lea rcx, str._textmode____O_BINARY___O_TEXT_______O_BINARY___O_TEXT_
jmp 0x1400a06f4
mov r13d, 0x18
mov dword [rsp + 0x50], r13d
xor r15d, r15d
mov qword [rsp + 0x58], r15
mov eax, r12d
shr eax, 7
not eax
and eax, 1
mov dword [rsp + 0x60], eax
mov r9d, dword [rsp + 0xb8]
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
jne 0x1400a07c9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.140001efb
jmp 0x1400a070b
call fcn.140003161
movsxd rdi, eax
mov dword [rsp + 0xc8], edi
cmp edi, ebx
jne 0x1400a0807
call fcn.14000228e
mov dword [rax], r13d
call fcn.14000303f
mov dword [rax], r15d
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400a070b
mov r13, rdi
mov rcx, rdi
sar rcx, 6
mov qword [rsp + 0x30], rcx
lea r8, [0x14011c130]
mov rax, rdi
and eax, 0x3f
lea rdx, [rax + rax*8]
mov qword [rsp + 0x48], rdx
mov rax, qword [r8 + rcx*8]
mov byte [rax + rdx*8 + 0x38], 0x89
mov rax, qword [r8 + rcx*8]
mov byte [rax + rdx*8 + 0x39], r15b
mov rax, qword [r8 + rcx*8]
and byte [rax + rdx*8 + 0x3d], 0xfe
mov ecx, edi
call fcn.140003a5d
call fcn.140003161
movsxd r15, eax
mov dword [rsp + 0xc8], r15d
cmp r15d, ebx
jne 0x1400a0895
mov rax, qword [rsp + 0x30]
lea rdx, [0x14011c130]
mov rax, qword [rdx + rax*8]
mov rcx, qword [rsp + 0x48]
mov byte [rax + rcx*8 + 0x38], 0
call fcn.14000228e
mov dword [rax], 0x18
call fcn.14000303f
and dword [rax], 0
jmp 0x1400a07ec
mov rax, r15
mov rcx, r15
sar rcx, 6
mov qword [rsp + 0x30], rcx
and eax, 0x3f
lea rbx, [rax + rax*8]
lea rdx, [0x14011c130]
mov rax, qword [rdx + rcx*8]
mov byte [rax + rbx*8 + 0x38], 0x89
mov rax, qword [rdx + rcx*8]
mov byte [rax + rbx*8 + 0x39], 0
mov rax, qword [rdx + rcx*8]
and byte [rax + rbx*8 + 0x3d], 0xfe
mov ecx, r15d
call fcn.140003a5d
and dword [rsp + 0xb0], 0
lea rcx, [rsp + 0xb0]
call fcn.140002f68
test eax, eax
jne 0x1400a099d
mov eax, 0x8000
test eax, r12d
jne 0x1400a090c
bt r12d, 0xe
jb 0x1400a093d
cmp dword [rsp + 0xb0], eax
jne 0x1400a093d
mov rdx, r13
sar rdx, 6
mov rax, r13
and eax, 0x3f
lea rcx, [rax + rax*8]
lea r8, [0x14011c130]
mov rax, qword [r8 + rdx*8]
and byte [rax + rcx*8 + 0x38], 0x7f
mov rdx, qword [rsp + 0x30]
mov rax, qword [r8 + rdx*8]
and byte [rax + rbx*8 + 0x38], 0x7f
jmp 0x1400a0949
lea r8, [0x14011c130]
mov rdx, qword [rsp + 0x30]
test r12b, r12b
jns 0x1400a0976
mov rax, r13
sar rax, 6
and r13d, 0x3f
lea rcx, [r13*8]
add rcx, r13
mov rax, qword [r8 + rax*8]
or byte [rax + rcx*8 + 0x38], 0x10
mov rax, qword [r8 + rdx*8]
or byte [rax + rbx*8 + 0x38], 0x10
mov rdx, qword [rsp + 0x38]
mov ecx, edi
call fcn.140003d64
mov rdx, qword [rsp + 0x40]
mov ecx, r15d
call fcn.140003d64
mov dword [r14], edi
mov dword [r14 + 4], r15d
xor eax, eax
jmp 0x1400a0686
and qword [rsp + 0x20], 0
mov r9d, 0x5a
mov r8, rsi
lea rdx, str._pipe
lea rcx, str._get_fmode_fmode_
call fcn.14000370b
nop
int3