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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x458
xor r12d, r12d
mov dword [rsp + 0x4a8], edx
mov rbx, rcx
mov r14, r8
mov r13, r9
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x70]
mov qword [rsp + 0xa0], 0
mov r9d, 0x100000
mov qword [rsp + 0xb0], 0
lea r8, [rsp + 0xa0]
mov qword [rsp + 0xa8], 0
mov dword [rsp + 0xa0], 0x18
mov dword [rsp + 0xb0], 1
call qword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
je 0x2eda34075
lea rsi, [rsp + 0xc0]
mov rcx, qword [rsp + 0x70]
xor r8d, r8d
mov edx, 1
call qword [sym.imp.KERNEL32.dll_SetHandleInformation]
mov rdi, rsi
mov rax, r12
mov ecx, 0xb
rep stosq qword [rdi], rax
mov rcx, r14
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
lea rbp, [rsp + 0x80]
mov qword [rsp + 0x90], 0
mov dword [rsp + 0xc0], 0x68
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x118], rax
mov dword [rsp + 0xfc], 0x100
call fcn.2eda32830
mov rdi, qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r12, rax
test rax, rax
je 0x2eda34067
mov rcx, rax
call sub.msvcrt.dll_wcslen
lea r15, [rax + 0x401]
lea rcx, [r15 + r15]
call fcn.2eda34ed0
mov r14, rax
test rax, rax
je 0x2eda3405c
lea rcx, [0x2eda3e628]
call fcn.2eda35e40
mov r9, r12
mov rdx, r15
mov rcx, r14
mov r8, rax
mov qword [rsp + 0x50], rax
lea r15, [rsp + 0x240]
call fcn.2eda32770
mov r8, qword [rsp + 0x50]
mov rcx, r8
call fcn.2eda35ed0
mov rax, qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov rdx, r15
mov ecx, 0x104
mov qword [rsp + 0x50], rax
call rax
mov qword [rsp + 0x40], rsi
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x48], rbp
mov rdx, r14
xor ecx, ecx
xor esi, esi
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x8000000
mov dword [rsp + 0x20], 1
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x2eda34090
mov rcx, r14
mov r14, rsi
call fcn.2eda34f30
mov rcx, r12
mov r12, r14
call fcn.2eda34f30
mov rcx, qword [rsp + 0x78]
call rdi
mov rcx, qword [rsp + 0x70]
call rdi
mov rax, r12
add rsp, 0x458
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x80]
mov edx, 0x1388
lea rdi, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, r12
call fcn.2eda33ca0
mov dword [rsp + 0x68], 0
mov rbp, qword [sym.imp.KERNEL32.dll_PeekNamedPipe]
mov dword [rsp + 0x5c], eax
jmp 0x2eda340e3
test eax, eax
jne 0x2eda342a0
cmp esi, 0x33
je 0x2eda34108
mov ecx, 0x64
add esi, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], 0
mov rcx, qword [rsp + 0x70]
call rbp
test eax, eax
mov eax, dword [rsp + 0x68]
jne 0x2eda340c8
test eax, eax
jne 0x2eda342a0
mov ecx, dword [rsp + 0x5c]
test ecx, ecx
jne 0x2eda342da
mov ecx, 0x15
mov dword [rsp + 0x68], 0x14
call fcn.2eda34ed0
mov r15, rax
test rax, rax
jne 0x2eda34168
xor esi, esi
mov rcx, qword [rsp + 0x80]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov rcx, qword [rsp + 0x80]
mov rdi, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rdi
mov rcx, qword [rsp + 0x88]
call rdi
jmp 0x2eda34051
lea rcx, [0x2eda3e64d]
call fcn.2eda35dc0
mov rcx, r15
mov rsi, rax
mov rdx, rax
call sub.msvcrt.dll_strcpy
mov rcx, rsi
call fcn.2eda35ed0
mov eax, dword [rsp + 0x68]
lea rcx, [rax + rax + 2]
call fcn.2eda34ed0
mov rsi, rax
test rax, rax
je 0x2eda341f5
mov eax, dword [rsp + 0x68]
mov r9d, 0xffffffff
mov r8, r15
xor edx, edx
mov ecx, 1
mov qword [rsp + 0x20], rsi
xor edi, edi
add eax, 1
mov dword [rsp + 0x28], eax
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov rcx, rsi
call fcn.2eda32790
mov rbp, rax
test rax, rax
je 0x2eda341ea
mov eax, dword [rsp + 0x68]
test eax, eax
jne 0x2eda34202
xor edi, edi
mov rcx, rbp
call fcn.2eda34f30
mov rcx, rsi
mov rsi, rdi
call fcn.2eda34f30
mov rcx, r15
call fcn.2eda34f30
jmp 0x2eda34138
lea rcx, [rax + rax + 0x402]
call fcn.2eda34ed0
mov rdi, rax
test rax, rax
je 0x2eda341e0
mov eax, dword [rbx]
mov rcx, rbp
mov dword [rdi + 4], eax
mov eax, dword [rbx + 4]
mov dword [rdi + 8], eax
movabs rax, 0x400000002
mov qword [rdi + 0xc], rax
mov eax, dword [rsp + 0x4a8]
mov dword [rdi + 0x14], eax
call sub.msvcrt.dll_strlen
lea rcx, [rdi + 0x24]
mov rdx, rbp
mov r8d, eax
call fcn.2eda31580
mov dword [rdi + 0x18], 0x24
lea rcx, [rdi + 4]
xor r8d, r8d
mov dword [rdi + 0x1c], eax
add eax, 3
and eax, 0xfffffffc
lea edx, [rax + 0x24]
mov dword [rsp + 0x68], edx
lea edx, [rax + 0x20]
call fcn.2eda32100
mov dword [rdi], eax
mov eax, dword [rsp + 0x4c0]
test eax, eax
jne 0x2eda3436e
mov rax, qword [rsp + 0x4c8]
mov edx, dword [rsp + 0x68]
mov dword [rax], edx
jmp 0x2eda341e2
lea ecx, [rax + 1]
call fcn.2eda34ed0
mov r15, rax
test rax, rax
je 0x2eda34136
mov r8d, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
lea r9, [rsp + 0x6c]
mov rdx, r15
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_ReadFile]
jmp 0x2eda3418a
mov rdx, r15
mov ecx, 0x104
mov rax, qword [rsp + 0x50]
call rax
mov rcx, r15
call fcn.2eda328b0
mov rsi, rax
test rax, rax
je 0x2eda3434b
mov rcx, rax
call sub.msvcrt.dll_strlen
lea edx, [rax + 3]
lea ecx, [rax + 4]
mov dword [rsp + 0x68], edx
call fcn.2eda34ed0
mov r15, rax
test rax, rax
je 0x2eda34136
mov rdx, rsi
mov rcx, rax
call sub.msvcrt.dll_strcpy
mov rcx, r15
call sub.msvcrt.dll_strlen
mov edx, 0xa0d
mov rcx, rsi
add rax, r15
mov word [rax], dx
mov byte [rax + 2], 0
call fcn.2eda34f30
jmp 0x2eda3418a
mov ecx, 2
mov dword [rsp + 0x68], 1
call fcn.2eda34ed0
mov r15, rax
test rax, rax
jne 0x2eda3418a
jmp 0x2eda34136
mov rcx, r13
lea rbx, [rsp + 0x130]
call sub.msvcrt.dll_strlen
mov rdx, r13
mov rcx, rbx
mov r8, rax
call fcn.2eda35310
mov r9d, dword [rsp + 0x68]
mov r8, rdi
mov rdx, rdi
mov rcx, rbx
call fcn.2eda35380
jmp 0x2eda34288