Function at 0x401000
Capabilities:
Create pipe
Read file on windows

Disassembly:
mov eax, 0x8310
call fcn.0040b3a8
nop
mov qword [rbp + 0x10], rcx
movabs rax, 0
mov qword [rbp - 0xa0], rax
movabs rax, 0
mov qword [rbp - 0xa8], rax
mov rax, qword [rbp + 0x10]
mov r8, rax
movabs rax, 0x100
mov r11, rax
lea rax, [rbp - 0x1a8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcpy_s
movabs rax, 0x18
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x98]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
mov eax, 0x18
mov dword [rbp - 0x98], eax
mov eax, 1
mov dword [rbp - 0x88], eax
movabs rax, 0
mov qword [rbp - 0x90], rax
mov eax, 0x1388
mov r9, rax
lea rax, [rbp - 0x98]
mov r8, rax
lea rax, [rbp - 0xa8]
mov r11, rax
lea rax, [rbp - 0xa0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.kernel32.dll_CreatePipe
cmp eax, 0
je 0x4010ea
jmp 0x4010ea
mov eax, 0
mov r8, rax
mov eax, 1
mov r11, rax
mov rax, qword [rbp - 0xa0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.kernel32.dll_SetHandleInformation
cmp eax, 0
je 0x40111d
jmp 0x40111d
movabs rax, 0x68
mov r8, rax
mov eax, 0
mov r11, rax
lea rax, [rbp - 0x80]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memset
mov eax, 0x68
mov dword [rbp - 0x80], eax
mov rax, qword [rbp - 0xa8]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0xa8]
mov qword [rbp - 0x28], rax
mov eax, 0xfffffff6
mov r10, rax
mov rcx, r10
call sub.kernel32.dll_GetStdHandle
mov qword [rbp - 0x30], rax
mov eax, dword [rbp - 0x44]
or eax, 0x100
mov dword [rbp - 0x44], eax
lea rax, [rbp - 0x18]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], rax
movabs rax, 0
mov qword [rsp + 0x38], rax
movabs rax, 0
mov qword [rsp + 0x30], rax
mov eax, 0x8000400
mov qword [rsp + 0x28], rax
mov eax, 1
mov qword [rsp + 0x20], rax
movabs rax, 0
mov r9, rax
movabs rax, 0
mov r8, rax
lea rax, [rbp - 0x1a8]
mov r11, rax
movabs rax, 0
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.kernel32.dll_CreateProcessA
cmp eax, 0
je 0x401210
jmp 0x401210
mov rax, qword [rbp - 0xa8]
mov r10, rax
mov rcx, r10
call sub.kernel32.dll_CloseHandle
lea rax, [0x0054f008]
mov r8, rax
movabs rax, 0x8000
mov r11, rax
lea rax, [rbp - 0x81a8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcpy_s
movabs rax, 0
mov qword [rsp + 0x20], rax
lea rax, [rbp - 0x81ac]
mov r9, rax
mov eax, 0x100
mov r8, rax
lea rax, [rbp - 0x82ad]
mov r11, rax
mov rax, qword [rbp - 0xa0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.kernel32.dll_ReadFile
cmp eax, 0
je 0x40129c
jmp 0x4012a1
jmp 0x4012f8
mov eax, dword [rbp - 0x81ac]
cmp eax, 0
jbe 0x4012f3
mov eax, dword [rbp - 0x81ac]
lea rcx, [rbp - 0x82ad]
add rcx, rax
mov eax, 0
mov byte [rcx], al
lea rax, [rbp - 0x82ad]
mov r8, rax
movabs rax, 0x8000
mov r11, rax
lea rax, [rbp - 0x81a8]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strcat_s
jmp 0x40124e
mov eax, 0xffffffff
mov r11, rax
mov rax, qword [rbp - 0x18]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.kernel32.dll_WaitForSingleObject
cmp eax, 0
je 0x40131b
lea rax, [rbp - 0x82b4]
mov r11, rax
mov rax, qword [rbp - 0x18]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.kernel32.dll_GetExitCodeProcess
cmp eax, 0
je 0x401345
jmp 0x401345
mov rax, qword [rbp - 0x18]
mov r10, rax
mov rcx, r10
call sub.kernel32.dll_CloseHandle
mov rax, qword [rbp - 0x10]
mov r10, rax
mov rcx, r10
call sub.kernel32.dll_CloseHandle
movabs rax, 0x8000
mov r10, rax
mov rcx, r10
call sub.msvcrt.dll_malloc
mov qword [rbp - 0x82c0], rax
movabs rax, 0x8000
mov r8, rax
lea rax, [rbp - 0x81a8]
mov r11, rax
mov rax, qword [rbp - 0x82c0]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strncpy
mov rax, qword [rbp - 0x82c0]
leave
ret