Function at 0x140001ba7
Capabilities:
Create pipe
Create process on windows
Read file on windows

Disassembly:
push rbp
push rbx
sub rsp, 0x188
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x120], rcx
mov qword [rbp + 0x128], rdx
lea rax, [rbp + 0xc0]
mov rcx, rax
call fcn.14000dd40
mov dword [rbp + 0x90], 0x18
mov dword [rbp + 0xa0], 1
mov qword [rbp + 0x98], 0
lea rcx, [rbp + 0x90]
lea rdx, [rbp + 0xb0]
lea rax, [rbp + 0xb8]
mov r9d, 0
mov r8, rcx
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CreatePipe]
call rax
test eax, eax
sete al
test al, al
je 0x140001c5c
lea rax, [rbp + 0xe5]
mov qword [rbp + 0xf8], rax
nop
nop
lea rdx, [rbp + 0xe5]
mov rax, qword [rbp + 0x120]
mov r8, rdx
lea rdx, [0x140012229]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
jmp 0x140001f00
mov rax, qword [rbp + 0xb8]
mov r8d, 0
mov edx, 1
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_SetHandleInformation]
call rax
test eax, eax
sete al
test al, al
je 0x140001cb8
lea rax, [rbp + 0xe6]
mov qword [rbp + 0xf0], rax
nop
nop
lea rdx, [rbp + 0xe6]
mov rax, qword [rbp + 0x120]
mov r8, rdx
lea rdx, [0x140012229]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const_
jmp 0x140001f00
lea rax, [rbp + 0x20]
mov r8d, 0x68
mov edx, 0
mov rcx, rax
call sym.memset
mov dword [rbp + 0x20], 0x68
mov rax, qword [rbp + 0xb0]
mov qword [rbp + 0x78], rax
mov rax, qword [rbp + 0xb0]
mov qword [rbp + 0x80], rax
mov eax, dword [rbp + 0x5c]
or ah, 1
mov dword [rbp + 0x5c], eax
mov rax, rbp
mov r8d, 0x18
mov edx, 0
mov rcx, rax
call sym.memset
mov rax, qword [rbp + 0x128]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.c_str___const
mov rdx, rax
mov rax, rbp
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 1
mov r9d, 0
mov r8d, 0
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_CreateProcessA]
call rax
test eax, eax
sete al
test al, al
je 0x140001dcd
mov rax, qword [rbp + 0xb8]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov rax, qword [rbp + 0xb0]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
lea rax, [rbp + 0xc0]
lea rdx, [0x140012230]
mov rcx, rax
call fcn.14000e190
lea rax, [rbp + 0xc0]
mov rcx, qword [rbp + 0x120]
mov rdx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
jmp 0x140001f00
mov rax, qword [rbp + 0xb0]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
lea rax, [rbp + 0xe7]
mov qword [rbp + 0xe8], rax
nop
nop
lea rdx, [rbp + 0xe7]
lea rax, [rbp - 0x20]
mov r8, rdx
mov edx, 0x400
mov rcx, rax
call method.std::vector_char__std::allocator_char___.vector_unsigned_long_long__std::allocator_char__const_
nop
jmp 0x140001e34
mov eax, dword [rbp - 0x24]
mov ebx, eax
lea rax, [rbp - 0x20]
mov rcx, rax
call method.std::vector_char__std::allocator_char___.data__
mov rdx, rax
lea rax, [rbp + 0xc0]
mov r8, rbx
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.append_char_const__unsigned_long_long_
lea rax, [rbp - 0x20]
mov rcx, rax
call method.std::vector_char__std::allocator_char___.size___const
mov ebx, eax
lea rax, [rbp - 0x20]
mov rcx, rax
call method.std::vector_char__std::allocator_char___.data__
mov rdx, rax
mov rax, qword [rbp + 0xb8]
lea rcx, [rbp - 0x24]
mov qword [rsp + 0x20], 0
mov r9, rcx
mov r8d, ebx
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_ReadFile]
call rax
test eax, eax
je 0x140001e89
mov eax, dword [rbp - 0x24]
test eax, eax
je 0x140001e89
mov eax, 1
jmp 0x140001e8e
mov eax, 0
test al, al
jne 0x140001e0e
mov rax, qword [rbp]
mov edx, 0xffffffff
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call rax
mov rax, qword [rbp]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov rax, qword [rbp + 8]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov rax, qword [rbp + 0xb8]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
lea rax, [rbp + 0xc0]
mov rcx, qword [rbp + 0x120]
mov rdx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea rax, [rbp - 0x20]
mov rcx, rax
call method.std::vector_char__std::allocator_char___.vector__
lea rax, [rbp + 0xc0]
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string__
jmp 0x140001f3f
mov rax, qword [rbp + 0x120]
add rsp, 0x188
pop rbx
pop rbp
ret