Function at 0x140063b30
Capabilities:
Create pipe

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov r13d, r8d
mov rdi, rcx
xor r14d, r14d
mov eax, r14d
test rcx, rcx
setne al
test eax, eax
jne 0x140063b8c
call fcn.14004c700
mov dword [rax], r14d
call fcn.14004c6d0
mov dword [rax], 0x16
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.140059e70
or eax, 0xffffffff
jmp 0x140063e2b
mov dword [rcx + 4], 0xffffffff
mov dword [rcx], 0xffffffff
test r8d, 0xffff3f7f
mov eax, r14d
sete al
test eax, eax
jne 0x140063bd9
call fcn.14004c700
mov dword [rax], r14d
call fcn.14004c6d0
mov dword [rax], 0x16
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.140059e70
or eax, 0xffffffff
jmp 0x140063e2b
mov eax, r8d
and eax, 0xc000
mov ecx, r14d
cmp eax, 0xc000
setne cl
test ecx, ecx
jne 0x140063c1f
call fcn.14004c700
mov dword [rax], r14d
call fcn.14004c6d0
mov dword [rax], 0x16
mov qword [rsp + 0x20], r14
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.140059e70
or eax, 0xffffffff
jmp 0x140063e2b
mov dword [rsp + 0x50], 0x18
mov qword [rsp + 0x58], r14
mov eax, r8d
and eax, 0x80
mov dword [rsp + 0xb8], eax
mov eax, r14d
sete al
mov dword [rsp + 0x60], eax
mov r9d, edx
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
jne 0x140063c76
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.14004c730
or eax, 0xffffffff
jmp 0x140063e2b
call fcn.14006bf70
movsxd rbx, eax
mov dword [rsp + 0xa0], ebx
cmp ebx, 0xffffffff
je 0x140063dff
mov rcx, rbx
mov r15, rbx
sar r15, 5
lea rdx, [0x14008a0c0]
and ecx, 0x1f
lea rsi, [rcx + rcx*4]
add rsi, rsi
mov rax, qword [rdx + r15*8]
mov byte [rax + rsi*8 + 8], 0x89
mov rax, qword [rdx + r15*8]
and byte [rax + rsi*8 + 0x38], 0x80
mov rax, qword [rdx + r15*8]
and byte [rax + rsi*8 + 0x38], 0x7f
mov ecx, ebx
call fcn.14006bf40
call fcn.14006bf70
movsxd r12, eax
mov dword [rsp + 0x30], r12d
cmp r12d, 0xffffffff
je 0x140063def
mov dword [rsp + 0xa0], r14d
mov rax, r12
mov rcx, r12
sar rcx, 5
mov qword [rsp + 0x38], rcx
and eax, 0x1f
lea r14, [rax + rax*4]
add r14, r14
lea rdx, [0x14008a0c0]
mov rax, qword [rdx + rcx*8]
mov byte [rax + r14*8 + 8], 0x89
mov rax, qword [rdx + rcx*8]
and byte [rax + r14*8 + 0x38], 0x80
mov rax, qword [rdx + rcx*8]
and byte [rax + r14*8 + 0x38], 0x7f
mov ecx, r12d
call fcn.14006bf40
lea rcx, [rsp + 0xa0]
call fcn.14006d760
test eax, eax
je 0x140063d59
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.140059dd0
bt r13d, 0xf
jb 0x140063d74
bt r13d, 0xe
jb 0x140063da3
cmp dword [rsp + 0xa0], 0x8000
jne 0x140063d95
lea rdx, [0x14008a0c0]
mov rax, qword [rdx + r15*8]
and byte [rax + rsi*8 + 8], 0x7f
mov rcx, qword [rsp + 0x38]
mov rax, qword [rdx + rcx*8]
and byte [rax + r14*8 + 8], 0x7f
jmp 0x140063daf
mov rcx, qword [rsp + 0x38]
lea rdx, [0x14008a0c0]
jmp 0x140063daf
mov rcx, qword [rsp + 0x38]
lea rdx, [0x14008a0c0]
cmp dword [rsp + 0xb8], 0
je 0x140063dcc
mov rax, qword [rdx + r15*8]
or byte [rax + rsi*8 + 8], 0x10
mov rax, qword [rdx + rcx*8]
or byte [rax + r14*8 + 8], 0x10
mov rdx, qword [rsp + 0x40]
mov ecx, ebx
call fcn.14006bc40
mov rdx, qword [rsp + 0x48]
mov ecx, r12d
call fcn.14006bc40
mov dword [rdi], ebx
mov dword [rdi + 4], r12d
xor eax, eax
jmp 0x140063e2b
lea rdx, [0x14008a0c0]
mov rax, qword [rdx + r15*8]
mov byte [rax + rsi*8 + 8], 0
call fcn.14004c6d0
mov dword [rax], 0x18
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.14004c700
mov dword [rax], r14d
or eax, 0xffffffff
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret