Function at 0x14001f470
Capabilities:
Create pipe
Create process on windows
Create two anonymous pipes

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x2f8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x270], 0xfffffffffffffffe
mov qword [rbp + 0x260], rdx
mov rsi, rcx
mov byte [rbp + 0x26f], 1
lea rcx, [rbp + 0x1e0]
call fcn.1400208b0
cmp qword [rbp + 0x1e0], 0
je 0x14001f4cf
mov rax, qword [rbp + 0x1e8]
mov edx, dword [rbp + 0x1f0]
jmp 0x14001f93a
mov rdi, qword [rbp + 0x1e8]
mov dword [rbp + 0x1e0], 0
mov byte [rbp + 0x26f], 1
lea rdx, [rbp + 0x1e0]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetConsoleMode]
test eax, eax
je 0x14001f92e
mov edx, dword [rbp + 0x1e0]
or edx, 4
mov dword [rbp + 0x1e0], edx
mov byte [rbp + 0x26f], 1
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetConsoleMode]
test eax, eax
je 0x14001f92e
mov byte [rbp + 0x26f], 1
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp + 0x168], 0
mov qword [rbp + 0x1e0], 0
mov byte [rbp + 0x26f], 1
lea rcx, [rbp + 0x168]
lea rdx, [rbp + 0x1e0]
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
je 0x14001f973
mov rbx, qword [rbp + 0x168]
mov r12, qword [rbp + 0x1e0]
mov qword [rbp + 0x168], 0
mov qword [rbp + 0x1e0], 0
mov byte [rbp + 0x26f], 1
lea rcx, [rbp + 0x168]
lea rdx, [rbp + 0x1e0]
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
je 0x14001f981
mov r13, qword [rbp + 0x168]
mov r14, qword [rbp + 0x1e0]
mov byte [rbp + 0x26f], 1
lea rcx, [rbp + 0x1e0]
call fcn.1400208b0
cmp qword [rbp + 0x1e0], 0
jne 0x14001f4bd
mov r15, qword [rbp + 0x1e8]
mov byte [rbp + 0x26f], 1
lea rcx, [rbp + 0x1e0]
call fcn.1400230c0
mov byte [rbp + 0x26f], 1
lea rdi, [rbp + 0x1e0]
mov rcx, r15
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
je 0x14001f98f
mov byte [rbp + 0x26f], 1
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
movzx eax, word [rbp + 0x1ee]
movzx ecx, word [rbp + 0x1f0]
sub ax, word [rbp + 0x1ea]
inc eax
sub cx, word [rbp + 0x1ec]
shl ecx, 0x10
mov qword [rbp + 0x1e0], 0
movzx eax, ax
add ecx, eax
add ecx, 0x10000
mov byte [rbp + 0x26f], 1
mov qword [rsp + 0x20], rdi
mov rdx, rbx
mov r8, r14
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreatePseudoConsole]
test eax, eax
js 0x14001f99d
mov rax, qword [rbp + 0x1e0]
mov qword [rbp + 0x158], rax
mov byte [rbp + 0x26f], 1
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [rbp + 0x26f], 1
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [rbp + 0x26f], 1
lea rcx, [rbp + 0x1e0]
call fcn.140023100
mov dword [rbp + 0x1e0], 0x70
mov qword [rbp + 0xb0], 0
mov byte [rbp + 0x26f], 1
lea r9, [rbp + 0xb0]
xor ecx, ecx
mov edx, 1
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_InitializeProcThreadAttributeList]
test eax, eax
jne 0x14001f9ad
mov rdi, qword [rbp + 0xb0]
test rdi, rdi
je 0x14001f9ad
js 0x1400200a4
mov edx, 1
mov rcx, rdi
call fcn.14001c740
test rax, rax
je 0x1400200b5
mov qword [rbp + 0x168], rdi
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x178], rdi
mov byte [rbp + 0x26f], 1
lea rcx, [rbp + 0x168]
call fcn.140020d00
mov qword [rbp + 0x248], rax
mov byte [rbp + 0x26f], 1
lea r9, [rbp + 0xb0]
mov rcx, rax
mov edx, 1
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_InitializeProcThreadAttributeList]
test eax, eax
je 0x14001f9db
mov rcx, qword [rbp + 0x248]
mov byte [rbp + 0x26f], 1
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x20], 8
mov r8d, 0x20016
xor edx, edx
mov r9, qword [rbp + 0x158]
call qword [sym.imp.KERNEL32.dll_UpdateProcThreadAttribute]
test eax, eax
je 0x14001f9ec
mov rax, qword [rbp + 0x1e0]
mov ecx, dword [rbp + 0x1e8]
movups xmm0, xmmword [rbp + 0x1ec]
movups xmmword [rbp - 0x24], xmm0
movups xmm0, xmmword [rbp + 0x1fc]
movups xmmword [rbp - 0x14], xmm0
movups xmm0, xmmword [rbp + 0x20c]
movups xmmword [rbp - 4], xmm0
movups xmm0, xmmword [rbp + 0x21c]
movups xmmword [rbp + 0xc], xmm0
movups xmm0, xmmword [rbp + 0x22c]
movups xmmword [rbp + 0x1c], xmm0
movdqu xmm0, xmmword [rbp + 0x23c]
movdqu xmmword [rbp + 0x2c], xmm0
mov edx, dword [rbp + 0x24c]
mov dword [rbp + 0x3c], edx
mov qword [rbp - 0x30], rax
mov dword [rbp - 0x28], ecx
mov r8, qword [rbp + 0x260]
mov rax, qword [r8 + 0x18]
mov qword [rbp + 0x250], rax
mov rcx, qword [r8 + 0x30]
movabs rbx, 0x8000000000000000
cmp rcx, rbx
jne 0x14001f866
cmp qword [rbp + 0x250], rbx
je 0x1400200cb
mov edi, 3
mov eax, 3
cmp rcx, rbx
je 0x14001f8b2
mov qword [rbp + 0x1e0], rcx
movdqu xmm0, xmmword [r8 + 0x38]
movdqu xmmword [rbp + 0x1e8], xmm0
mov byte [rbp + 0x26d], 1
mov byte [rbp + 0x26c], 1
mov byte [rbp + 0x26b], 1
lea rcx, [rbp + 0x1e0]
call fcn.1400226e0
mov r8, qword [rbp + 0x260]
mov qword [rbp + 0x1b8], rax
mov qword [rbp + 0x1c0], rdx
cmp qword [rbp + 0x250], rbx
je 0x14001f909
mov rax, qword [rbp + 0x250]
mov qword [rbp + 0x1e0], rax
movdqu xmm0, xmmword [r8 + 0x20]
movdqu xmmword [rbp + 0x1e8], xmm0
mov byte [rbp + 0x26a], 1
mov byte [rbp + 0x269], 1
lea rcx, [rbp + 0x1e0]
call fcn.1400226e0
mov rdi, rax
mov r8, qword [rbp + 0x260]
mov qword [rbp + 0x1a8], rdi
mov qword [rbp + 0x1b0], rdx
mov rax, qword [r8 + 0x48]
cmp rax, rbx
jne 0x14001f9fd
mov eax, 3
jmp 0x14001fa2c
mov byte [rbp + 0x26f], 1
call fcn.140021650
mov rcx, qword [rbp + 0x260]
mov qword [rsi + 8], 0
mov qword [rsi + 0x10], rax
mov dword [rsi + 0x18], edx
mov qword [rsi], 1
call fcn.14001f300
mov rax, rsi
add rsp, 0x2f8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov byte [rbp + 0x26f], 1
call fcn.140021650
jmp 0x14001f93a
mov byte [rbp + 0x26f], 1
call fcn.140021650
jmp 0x14001f93a
mov byte [rbp + 0x26f], 1
call fcn.140021650
jmp 0x14001f93a
mov byte [rbp + 0x26f], 1
mov ecx, eax
call fcn.140021d80
jmp 0x14001f93a
mov byte [rbp + 0x26f], 1
lea rcx, str.failed_initialize_proc_attribute_listC:Users_admin.cargogitcheckoutsconpty_6c704fe48aa082526388bb3_srclib.rs
mov edx, 0x25
call fcn.140022ab0
mov byte [rbp + 0x26f], 1
xor ecx, ecx
mov rdx, rax
call fcn.140021400
jmp 0x14001f93a
mov byte [rbp + 0x26f], 1
call fcn.140021650
jmp 0x14001f93a
mov byte [rbp + 0x26f], 1
call fcn.140021650
jmp 0x14001f93a
mov qword [rbp + 0x1e0], rax
movdqu xmm0, xmmword [r8 + 0x50]
movdqu xmmword [rbp + 0x1e8], xmm0
mov byte [rbp + 0x268], 1
lea rcx, [rbp + 0x1e0]
call fcn.1400226e0
mov r8, qword [rbp + 0x260]
mov qword [rbp + 0x198], rax
mov qword [rbp + 0x1a0], rdx
mov rcx, qword [r8 + 0x60]
test rcx, rcx
je 0x14001faea
lea rdi, [r8 + 0x60]
movdqu xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movaps xmmword [rbp + 0x60], xmm2
movaps xmmword [rbp + 0x50], xmm1
movdqa xmmword [rbp + 0x40], xmm0
mov r14, qword [rbp + 0x58]
test r14, r14
je 0x14001faf3
mov qword [rbp + 0x1c8], 0
mov qword [rbp + 0x1d0], 2
mov qword [rbp + 0x1d8], 0
mov r9, qword [r8 + 0x68]
mov r8, qword [r8 + 0x78]
movdqa xmm0, xmmword [rcx]
test r9, r9
mov qword [rbp + 0xa8], r13
mov qword [rbp + 0x160], r14
je 0x14001fb49
lea rax, [r9 + 1]
mov edx, 0x30
mul rdx
jo 0x14001fadf
lea rdx, [r9 + 0x11]
add rdx, rax
jb 0x14001fadf
movabs r10, 0x7ffffffffffffff1
cmp rdx, r10
jb 0x140020099
xor r10d, r10d
mov r11, rcx
sub r11, rax
jmp 0x14001fb4c
mov al, 1
xor ebx, ebx
jmp 0x14001fd9f
movzx eax, byte [0x140202701]
mov ecx, 4
mov edx, 2
call fcn.14001c710
test rax, rax
je 0x140020121
mov dword [rax], 0
mov qword [rbp + 0x1e0], 2
mov qword [rbp + 0x1e8], rax
mov qword [rbp + 0x1f0], 2
mov byte [rbp + 0x26e], 0
mov rcx, rdi
call fcn.1400210a0
jmp 0x14001fd87
xor r10d, r10d
lea rax, [rcx + 0x10]
pmovmskb edi, xmm0
not edi
add r9, rcx
inc r9
mov qword [rbp + 0x1e0], r10
mov qword [rbp + 0x1e8], rdx
mov qword [rbp + 0x1f0], r11
mov qword [rbp + 0x1f8], rcx
mov qword [rbp + 0x200], rax
mov qword [rbp + 0x208], r9
mov word [rbp + 0x210], di
mov qword [rbp + 0x218], r8
lea r14, [rbp + 0xc8]
lea r15, [0x14000f710]
lea r13, [rbp + 0x1c8]
lea rdi, [rbp + 0x78]
lea rcx, [rbp + 0xb0]
lea rdx, [rbp + 0x1e0]
call fcn.1400212d0
cmp qword [rbp + 0xb0], rbx
je 0x14001fd23
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0x130], rax
movups xmm0, xmmword [rbp + 0xb0]
movaps xmmword [rbp + 0x120], xmm0
mov rax, qword [r14 + 0x10]
mov qword [rbp + 0x110], rax
movdqu xmm0, xmmword [r14]
movdqa xmmword [rbp + 0x100], xmm0
lea rax, [rbp + 0x120]
mov qword [rbp + 0xe0], rax
mov qword [rbp + 0xe8], r15
lea rax, [rbp + 0x100]
mov qword [rbp + 0xf0], rax
mov qword [rbp + 0xf8], r15
lea rax, str.failed_initialize_proc_attribute_listC:Users_admin.cargogitcheckoutsconpty_6c704fe48aa082526388bb3_srclib.rs
mov qword [rbp + 0x168], rax
mov qword [rbp + 0x170], 3
mov qword [rbp + 0x188], 0
lea rax, [rbp + 0xe0]
mov qword [rbp + 0x178], rax
mov qword [rbp + 0x180], 2
lea rcx, [rbp + 0x90]
lea rdx, [rbp + 0x168]
call fcn.14013a160
mov rax, qword [rbp + 0x90]
mov qword [rbp + 0x258], rax
mov rcx, qword [rbp + 0x98]
mov rax, qword [rbp + 0xa0]
add rax, rcx
mov qword [rbp + 0x150], rcx
mov qword [rbp + 0x78], rcx
mov qword [rbp + 0x80], rax
mov word [rbp + 0x88], 0
mov rcx, r13
mov rdx, rdi
call fcn.140020f00
mov rdx, qword [rbp + 0x258]
test rdx, rdx
je 0x14001fcde
mov r8d, 1
mov rcx, qword [rbp + 0x150]
call fcn.14001c720
mov rdx, qword [rbp + 0x100]
test rdx, rdx
je 0x14001fcfc
mov rcx, qword [rbp + 0x108]
mov r8d, 1
call fcn.14001c720
mov rdx, qword [rbp + 0x120]
test rdx, rdx
je 0x14001fbad
mov rcx, qword [rbp + 0x128]
mov r8d, 1
call fcn.14001c720
jmp 0x14001fbad
lea rcx, [rbp + 0x1e0]
call fcn.1400211d0
mov r13, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0x1d8]
cmp rdx, qword [rbp + 0x1c8]
jne 0x14001fd59
lea rcx, [rbp + 0x1c8]
call fcn.1400209d0
mov rdx, qword [rbp + 0x1d8]
mov rax, qword [rbp + 0x1d0]
mov word [rax + rdx*2], 0
mov rax, qword [rbp + 0x1d8]
inc rax
movdqu xmm0, xmmword [rbp + 0x1c8]
movdqa xmmword [rbp + 0x1e0], xmm0
mov qword [rbp + 0x1f0], rax
mov byte [rbp + 0x26e], 0
lea rcx, [rbp + 0x1e0]
call fcn.140020dd0
mov rbx, rax
xor eax, eax
mov dword [rbp + 0x258], eax
mov byte [rbp + 0x26e], al
lea rdi, [rbp + 0x1e0]
mov rcx, rdi
call fcn.1400230e0
mov rax, qword [rbp + 0x1a8]
lea rcx, [rax - 1]
cmp rcx, 2
jae 0x14001fdd4
lea rax, [rbp + 0x1b0]
jmp 0x14001fde0
test rax, rax
jne 0x14001fde5
mov rax, qword [rbp + 0x1b0]
mov rcx, qword [rax]
jmp 0x14001fde7
xor ecx, ecx
mov rax, qword [rbp + 0x1b8]
lea rdx, [rax - 1]
cmp rdx, 2
jae 0x14001fe01
lea rax, [rbp + 0x1c0]
jmp 0x14001fe11
cmp eax, 3
jne 0x14001fe0a
xor edx, edx
jmp 0x14001fe14
mov rax, qword [rbp + 0x1c0]
mov rdx, qword [rax]
mov rax, qword [rbp + 0x198]
lea r8, [rax - 1]
cmp r8, 2
jae 0x14001fe2e
lea rax, [rbp + 0x1a0]
jmp 0x14001fe3e
cmp eax, 3
jne 0x14001fe37
xor eax, eax
jmp 0x14001fe41
mov rax, qword [rbp + 0x1a0]
mov rax, qword [rax]
mov qword [rbp + 0xe0], 1
mov qword [rbp + 0xe8], rcx
mov qword [rbp + 0xb0], 1
mov qword [rbp + 0xb8], rdx
mov qword [rbp + 0x168], 1
mov qword [rbp + 0x170], rax
mov qword [rsp + 0x48], rdi
lea r8, [rbp - 0x30]
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x80400
mov dword [rsp + 0x20], 0
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
mov r14d, eax
lea rcx, [rbp + 0x168]
call fcn.140023180
lea rcx, [rbp + 0xb0]
call fcn.140023180
mov eax, dword [rbp + 0x258]
mov byte [rbp + 0x26e], al
lea rcx, [rbp + 0xe0]
call fcn.140023180
test r14d, r14d
je 0x14001fee5
jmp 0x14001fefb
mov eax, dword [rbp + 0x258]
mov byte [rbp + 0x26e], al
call fcn.140021650
mov r15, rax
mov edi, edx
test rbx, rbx
je 0x14001ff13
mov edx, 1
mov r8d, 1
mov rcx, rbx
call fcn.14001c720
test r14d, r14d
je 0x14001ffa2
mov r15, qword [rbp + 0x1e0]
mov edi, dword [rbp + 0x1e8]
mov rax, qword [rbp + 0x1ec]
mov qword [rbp + 0x140], rax
mov eax, dword [rbp + 0x1f4]
mov dword [rbp + 0x148], eax
mov ebx, dword [rbp + 0x258]
mov byte [rbp + 0x268], bl
lea rcx, [rbp + 0x198]
call fcn.140023180
mov byte [rbp + 0x26a], bl
mov byte [rbp + 0x269], 0
lea rcx, [rbp + 0x1a8]
call fcn.140023180
mov byte [rbp + 0x26d], bl
mov byte [rbp + 0x26c], 0
mov byte [rbp + 0x26b], 0
lea rcx, [rbp + 0x1b8]
call fcn.140023180
mov rcx, qword [rbp + 0x260]
call fcn.140020eb0
jmp 0x14001ffff
mov ebx, dword [rbp + 0x258]
mov byte [rbp + 0x268], bl
lea rcx, [rbp + 0x198]
call fcn.140023180
mov byte [rbp + 0x26a], bl
mov byte [rbp + 0x269], 0
lea rcx, [rbp + 0x1a8]
call fcn.140023180
mov byte [rbp + 0x26d], bl
mov byte [rbp + 0x26c], 0
mov byte [rbp + 0x26b], 0
lea rcx, [rbp + 0x1b8]
call fcn.140023180
mov rcx, qword [rbp + 0x260]
call fcn.140020eb0
mov rcx, qword [rbp + 0x260]
mov rax, qword [rcx]
test rax, rax
je 0x140020025
mov rcx, qword [rcx + 8]
shl rax, 3
lea rdx, [rax + rax*2]
mov r8d, 8
call fcn.14001c720
test r14d, r14d
je 0x14002007e
mov eax, dword [rbp + 0x148]
mov dword [rbp + 0x1e8], eax
mov rax, qword [rbp + 0x140]
mov qword [rbp + 0x1e0], rax
mov qword [rsi + 8], r12
mov qword [rsi + 0x10], r13
mov qword [rsi + 0x18], r15
mov dword [rsi + 0x20], edi
mov rax, qword [rbp + 0x1e0]
mov qword [rsi + 0x24], rax
mov eax, dword [rbp + 0x1e8]
mov dword [rsi + 0x2c], eax
mov rax, qword [rbp + 0x158]
mov qword [rsi + 0x30], rax
mov qword [rsi], 0
jmp 0x14001f95c
mov qword [rsi + 8], 0
mov qword [rsi + 0x10], r15
mov dword [rsi + 0x18], edi
mov qword [rsi], 1
jmp 0x14001f95c
mov r10d, 0x10
jmp 0x14001fae2
mov byte [rbp + 0x26f], 1
call fcn.140139bc0
jmp 0x140020137
mov byte [rbp + 0x26f], 1
mov ecx, 1
mov rdx, rdi
call fcn.140155720
jmp 0x140020137
lea rax, str.failed_initialize_proc_attribute_listC:Users_admin.cargogitcheckoutsconpty_6c704fe48aa082526388bb3_srclib.rs
mov qword [rbp + 0x1e0], rax
mov qword [rbp + 0x1e8], 0
mov qword [rbp + 0x1f0], rax
pxor xmm0, xmm0
movdqu xmmword [rbp + 0x1f8], xmm0
mov byte [rbp + 0x26d], 1
mov byte [rbp + 0x26c], 1
mov byte [rbp + 0x26b], 1
lea rdx, [0x14015a500]
lea rcx, [rbp + 0x1e0]
call fcn.140155940
jmp 0x140020137
mov qword [rbp + 0x160], r14
mov ecx, 2
mov edx, 4
call fcn.140155720
ud2