Function at 0x14000f590
Capabilities:
Check os version
Create pipe
Create process on windows
Create reverse shell
Create two anonymous pipes
Manipulate console buffer
Read file on windows
Read pipe
Write and execute a file
Write file on windows
Write pipe

Disassembly:
mov byte [rsp + 0x18], r8b
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x650
mov qword [rsp + 0xf8], 0
lea rdi, [rsp + 0x100]
xor eax, eax
mov ecx, SafeArrayGetLBound
rep stosb byte [rdi], al
call qword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x54], 0
mov rcx, qword [rsp + 0x668]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [rsp + 0x110], eax
mov eax, dword [rsp + 0x110]
add eax, 0x109
movsxd r8, eax
xor edx, edx
mov rcx, qword [0x14001b880]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rsp + 0xe0], rax
mov dword [rsp + 0x520], 0x18
mov qword [rsp + 0x528], 0
mov dword [rsp + 0x530], 1
mov rcx, qword [rsp + 0xe0]
call fcn.140007710
lea rdx, str.__Command__
mov rcx, qword [rsp + 0xe0]
call qword [sym.imp.KERNEL32.dll_lstrcatA]
xor r9d, r9d
lea r8, [rsp + 0x520]
lea rdx, [rsp + 0x568]
lea rcx, [rsp + 0x540]
call qword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
jne 0x14000f69b
mov r8, qword [rsp + 0xe0]
xor edx, edx
mov rcx, qword [0x14001b880]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, 1
jmp 0x140010549
xor r9d, r9d
lea r8, [rsp + 0x520]
lea rdx, [rsp + 0x550]
lea rcx, [rsp + 0x560]
call qword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
jne 0x14000f6fd
mov r8, qword [rsp + 0xe0]
xor edx, edx
mov rcx, qword [0x14001b880]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rsp + 0x540]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x568]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
jmp 0x140010549
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
lea r9, [rsp + 0x538]
mov r8, rdi
mov rdx, qword [rsp + 0x540]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
mov rcx, qword [rsp + 0x540]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
lea r9, [rsp + 0x60]
mov r8, rdi
mov rdx, qword [rsp + 0x550]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
mov rcx, qword [rsp + 0x550]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r8d, 0x68
xor edx, edx
lea rcx, [rsp + 0x70]
call fcn.140013830
mov dword [rsp + 0x70], VarBstrFromR8
mov dword [rsp + 0xac], 0x100
mov rax, qword [rsp + 0x568]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x560]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0x568]
mov qword [rsp + 0xc8], rax
movzx eax, byte [rsp + 0x670]
test eax, eax
je 0x14000f820
cmp dword [rsp + 0x50], 0x80000000
jb 0x14000f813
xor eax, eax
mov word [rsp + 0xb0], ax
jmp 0x14000f820
mov eax, dword [rsp + 0x54]
or eax, 0x8000000
mov dword [rsp + 0x54], eax
lea rax, [rsp + 0xf8]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsp + 0xe0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x14000f8c9
mov r8, qword [rsp + 0xe0]
xor edx, edx
mov rcx, qword [0x14001b880]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rsp + 0x538]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x568]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x560]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
jmp 0x140010549
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xe8]
mov r8d, SafeArrayGetElemsize
lea rdx, str._arg_______r_n
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp dword [rsp + 0x110], 0
jle 0x14000fb26
lea rcx, [rsp + 0x570]
call fcn.140015480
mov rdx, qword [rsp + 0x668]
lea rcx, [rsp + 0x570]
call fcn.140009480
lea rdx, [rsp + 0x5e0]
lea rcx, [rsp + 0x570]
call fcn.140009d30
mov dword [rsp + 0x68], 0
jmp 0x14000f94c
mov eax, dword [rsp + 0x68]
add eax, 1
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x5e0]
cmp dword [rsp + 0x68], eax
jge 0x14000fb19
mov byte [rsp + 0x5f0], 1
lea r8, [rsp + 0x5e8]
mov edx, dword [rsp + 0x68]
lea rcx, [rsp + 0x570]
call fcn.140009c50
mov rcx, qword [rsp + 0x5e8]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 1
mov dword [rsp + 0x5f4], eax
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xe8]
mov r8d, 9
lea rdx, str._arg__
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rax, qword [rsp + 0x5e8]
movzx eax, word [rax]
cmp eax, 0x22
je 0x14000fa00
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xe8]
mov r8d, 1
lea rdx, [0x14001662c]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov byte [rsp + 0x5f0], 0
movsxd r8, dword [rsp + 0x5f4]
xor edx, edx
mov rcx, qword [0x14001b880]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rsp + 0x5f8], rax
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov eax, dword [rsp + 0x5f4]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x5f8]
mov qword [rsp + 0x20], rax
mov r9d, 0xffffffff
mov r8, qword [rsp + 0x5e8]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov r8d, dword [rsp + 0x5f4]
sub r8d, 1
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xe8]
mov rdx, qword [rsp + 0x5f8]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov r8, qword [rsp + 0x5f8]
xor edx, edx
mov rcx, qword [0x14001b880]
call qword [sym.imp.KERNEL32.dll_HeapFree]
movzx eax, byte [rsp + 0x5f0]
test eax, eax
jne 0x14000fadd
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xe8]
mov r8d, 1
lea rdx, [0x14001664c]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xe8]
mov r8d, 2
lea rdx, [0x140016650]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, qword [rsp + 0x5e8]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x14000f941
lea rcx, [rsp + 0x570]
call fcn.140009930
mov rax, qword [rsp + 0x660]
mov qword [rsp + 0xf0], rax
xor eax, eax
cmp eax, 1
je 0x14001038e
mov rax, qword [rsp + 0xf0]
movsx eax, byte [rax]
test eax, eax
jne 0x14000fb55
jmp 0x14001038e
mov dword [rsp + 0x68], 0
jmp 0x14000fb6a
mov eax, dword [rsp + 0x68]
add eax, 1
mov dword [rsp + 0x68], eax
movsxd rcx, dword [rsp + 0x68]
mov rax, qword [rsp + 0xf0]
movzx eax, byte [rax + rcx]
mov byte [rsp + 0x548], al
movsx eax, byte [rsp + 0x548]
test eax, eax
je 0x14000fba8
movsx eax, byte [rsp + 0x548]
cmp eax, 0xd
je 0x14000fba8
movsx eax, byte [rsp + 0x548]
cmp eax, 0xa
jne 0x14000fbaa
jmp 0x14000fbac
jmp 0x14000fb5f
cmp dword [rsp + 0x68], 0
jne 0x14000fbcc
mov rax, qword [rsp + 0xf0]
add rax, 1
mov qword [rsp + 0xf0], rax
jmp 0x14000fb36
movsxd rcx, dword [rsp + 0x68]
mov rax, qword [rsp + 0xf0]
mov byte [rax + rcx], 0
mov dword [rsp + 0x618], 0
mov dword [rsp + 0x558], 0
jmp 0x14000fc06
mov eax, dword [rsp + 0x558]
add eax, 1
mov dword [rsp + 0x558], eax
mov eax, dword [rsp + 0x68]
cmp dword [rsp + 0x558], eax
jge 0x14000fe41
mov eax, dword [rsp + 0x618]
mov dword [rsp + 0x64c], eax
cmp dword [rsp + 0x64c], 0
je 0x14000fc68
cmp dword [rsp + 0x64c], 1
je 0x14000fca4
cmp dword [rsp + 0x64c], 2
je 0x14000fcf9
cmp dword [rsp + 0x64c], 3
je 0x14000fd4e
cmp dword [rsp + 0x64c], 4
je 0x14000fda0
jmp 0x14000fdf0
movsxd rcx, dword [rsp + 0x558]
mov rax, qword [rsp + 0xf0]
movsx eax, byte [rax + rcx]
cmp eax, 0x24
jne 0x14000fc94
mov eax, dword [rsp + 0x618]
add eax, 1
mov dword [rsp + 0x618], eax
jmp 0x14000fc9f
mov dword [rsp + 0x618], 0
jmp 0x14000fdf0
movsxd rcx, dword [rsp + 0x558]
mov rax, qword [rsp + 0xf0]
movsx eax, byte [rax + rcx]
cmp eax, 0x61
je 0x14000fcd6
movsxd rcx, dword [rsp + 0x558]
mov rax, qword [rsp + 0xf0]
movsx eax, byte [rax + rcx]
cmp eax, 0x41
jne 0x14000fce9
mov eax, dword [rsp + 0x618]
add eax, 1
mov dword [rsp + 0x618], eax
jmp 0x14000fcf4
mov dword [rsp + 0x618], 0
jmp 0x14000fdf0
movsxd rcx, dword [rsp + 0x558]
mov rax, qword [rsp + 0xf0]
movsx eax, byte [rax + rcx]
cmp eax, 0x72
je 0x14000fd2b
movsxd rcx, dword [rsp + 0x558]
mov rax, qword [rsp + 0xf0]
movsx eax, byte [rax + rcx]
cmp eax, 0x52
jne 0x14000fd3e
mov eax, dword [rsp + 0x618]
add eax, 1
mov dword [rsp + 0x618], eax
jmp 0x14000fd49
mov dword [rsp + 0x618], 0
jmp 0x14000fdf0
movsxd rcx, dword [rsp + 0x558]
mov rax, qword [rsp + 0xf0]
movsx eax, byte [rax + rcx]
cmp eax, 0x67
je 0x14000fd80
movsxd rcx, dword [rsp + 0x558]
mov rax, qword [rsp + 0xf0]
movsx eax, byte [rax + rcx]
cmp eax, 0x47
jne 0x14000fd93
mov eax, dword [rsp + 0x618]
add eax, 1
mov dword [rsp + 0x618], eax
jmp 0x14000fd9e
mov dword [rsp + 0x618], 0
jmp 0x14000fdf0
movsxd rcx, dword [rsp + 0x558]
mov rax, qword [rsp + 0xf0]
movsx eax, byte [rax + rcx]
cmp eax, 0x73
je 0x14000fdd2
movsxd rcx, dword [rsp + 0x558]
mov rax, qword [rsp + 0xf0]
movsx eax, byte [rax + rcx]
cmp eax, 0x53
jne 0x14000fde5
mov eax, dword [rsp + 0x618]
add eax, 1
mov dword [rsp + 0x618], eax
jmp 0x14000fdf0
mov dword [rsp + 0x618], 0
cmp dword [rsp + 0x618], 5
jne 0x14000fe3c
mov eax, dword [rsp + 0x558]
add eax, 1
movsxd rcx, eax
mov rax, qword [rsp + 0xf0]
movzx ecx, byte [rax + rcx]
call qword [sym.imp.USER32.dll_IsCharAlphaNumericA]
test eax, eax
jne 0x14000fe3c
movsxd rcx, dword [rsp + 0x558]
mov rax, qword [rsp + 0xf0]
mov byte [rax + rcx], 0x5f
mov dword [rsp + 0x618], 0
jmp 0x14000fbf5
mov dword [rsp + 0x58], 0
mov rcx, qword [rsp + 0xf0]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xe8]
mov r8d, eax
mov rdx, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [rsp + 0x558], 0
jmp 0x14000fe9c
mov eax, dword [rsp + 0x558]
add eax, 1
mov dword [rsp + 0x558], eax
mov eax, dword [rsp + 0xe8]
cmp dword [rsp + 0x558], eax
jae 0x14000ff05
movsxd rcx, dword [rsp + 0x558]
mov rax, qword [rsp + 0xf0]
movsx eax, byte [rax + rcx]
cmp eax, 0x20
je 0x14000fede
movsxd rcx, dword [rsp + 0x558]
mov rax, qword [rsp + 0xf0]
movsx eax, byte [rax + rcx]
cmp eax, 9
jne 0x14000fee0
jmp 0x14000fe8b
movsxd rcx, dword [rsp + 0x558]
mov rax, qword [rsp + 0xf0]
movsx eax, byte [rax + rcx]
cmp eax, 0x23
jne 0x14000ff01
mov dword [rsp + 0x58], 1
jmp 0x14000ff05
cmp dword [rsp + 0x58], 0
jne 0x14000ff35
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xe8]
mov r8d, SafeArrayUnaccessData
lea rdx, str.__Write_Output___OK__
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xe8]
mov r8d, 2
lea rdx, [0x140016670]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_WriteFile]
cmp dword [rsp + 0x58], 0
jne 0x14000ffae
mov qword [rsp + 0x28], 0
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x538]
call qword [sym.imp.KERNEL32.dll_PeekNamedPipe]
test eax, eax
je 0x14000ffa1
cmp dword [rsp + 0xe8], 0
je 0x14000ffa1
jmp 0x14000ffae
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14000ff5e
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x114], eax
mov qword [rsp + 0x28], 0
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x538]
call qword [sym.imp.KERNEL32.dll_PeekNamedPipe]
test eax, eax
je 0x1400100fa
mov eax, dword [rsp + 0xe8]
mov dword [rsp + 0x61c], eax
cmp dword [rsp + 0xe8], 0
jne 0x140010014
cmp dword [rsp + 0x114], 0
je 0x140010014
jmp 0x1400100fa
cmp dword [rsp + 0x61c], 0x400
jle 0x14001002c
mov dword [rsp + 0x61c], 0x3ff
movsxd rax, dword [rsp + 0x61c]
mov byte [rsp + rax + 0x120], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xe8]
mov r8d, dword [rsp + 0x61c]
lea rdx, [rsp + 0x120]
mov rcx, qword [rsp + 0x538]
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [rsp + 0xe8], 6
jb 0x1400100b6
mov eax, dword [rsp + 0xe8]
sub eax, 6
mov eax, eax
lea rcx, [rsp + rax + 0x120]
lea rdx, str._OK__r_n
call qword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x1400100b6
mov eax, dword [rsp + 0xe8]
sub eax, 6
mov dword [rsp + 0xe8], eax
mov dword [rsp + 0x114], 1
cmp dword [rsp + 0xe8], 0
je 0x1400100f5
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xe8]
mov r8d, dword [rsp + 0xe8]
lea rdx, [rsp + 0x120]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x14000ffb9
mov rcx, qword [rsp + 0xf0]
call qword [sym.imp.USER32.dll_CharLowerA]
mov dx, 0x22
mov rcx, qword [rsp + 0xf0]
call qword [sym.imp.SHLWAPI.dll_StrChrA]
mov qword [rsp + 0x610], rax
mov dx, 0x23
mov rcx, qword [rsp + 0xf0]
call qword [sym.imp.SHLWAPI.dll_StrChrA]
mov qword [rsp + 0x608], rax
lea rdx, str.read_host
mov rcx, qword [rsp + 0xf0]
call qword [sym.imp.SHLWAPI.dll_StrStrA]
mov qword [rsp + 0x600], rax
xor eax, eax
cmp eax, 1
je 0x140010228
cmp qword [rsp + 0x600], 0
jne 0x140010174
jmp 0x140010228
cmp qword [rsp + 0x610], 0
je 0x140010196
mov rax, qword [rsp + 0x610]
cmp qword [rsp + 0x600], rax
jbe 0x140010196
jmp 0x140010228
cmp qword [rsp + 0x608], 0
je 0x1400101b5
mov rax, qword [rsp + 0x608]
cmp qword [rsp + 0x600], rax
jbe 0x1400101b5
jmp 0x140010228
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xe8]
mov r8d, 0x400
lea rdx, [rsp + 0x120]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [rsp + 0xe8], 0
je 0x140010221
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xe8]
mov r8d, dword [rsp + 0xe8]
lea rdx, [rsp + 0x120]
mov rcx, qword [rsp + 0x568]
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x140010228
lea rdx, str.clear_host
mov rcx, qword [rsp + 0xf0]
call qword [sym.imp.SHLWAPI.dll_StrStrA]
mov qword [rsp + 0x600], rax
xor eax, eax
cmp eax, 1
je 0x140010349
cmp qword [rsp + 0x600], 0
jne 0x140010260
jmp 0x140010349
cmp qword [rsp + 0x610], 0
je 0x140010282
mov rax, qword [rsp + 0x610]
cmp qword [rsp + 0x600], rax
jbe 0x140010282
jmp 0x140010349
cmp qword [rsp + 0x608], 0
je 0x1400102a4
mov rax, qword [rsp + 0x608]
cmp qword [rsp + 0x600], rax
jbe 0x1400102a4
jmp 0x140010349
mov dword [rsp + 0x624], 0
xor eax, eax
mov word [rsp + 0x620], ax
lea rdi, [rsp + 0x622]
xor eax, eax
mov ecx, 2
rep stosb byte [rdi], al
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov qword [rsp + 0x628], rax
lea rdx, [rsp + 0x630]
mov rcx, qword [rsp + 0x628]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
movsx r8d, word [rsp + 0x630]
movsx eax, word [rsp + 0x632]
imul r8d, eax
lea rax, [rsp + 0x624]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x620]
mov dl, 0x20
mov rcx, qword [rsp + 0x628]
call qword [sym.imp.KERNEL32.dll_FillConsoleOutputCharacterA]
mov edx, dword [rsp + 0x620]
mov rcx, qword [rsp + 0x628]
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorPosition]
jmp 0x140010349
movsxd rdx, dword [rsp + 0x68]
mov rcx, qword [rsp + 0xf0]
movzx eax, byte [rsp + 0x548]
mov byte [rcx + rdx], al
movsx eax, byte [rsp + 0x548]
test eax, eax
jne 0x14001036f
jmp 0x14001038e
movsxd rcx, dword [rsp + 0x68]
mov rax, qword [rsp + 0xf0]
lea rax, [rax + rcx + 1]
mov qword [rsp + 0xf0], rax
jmp 0x14000fb36
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xe8]
mov r8d, 2
lea rdx, [0x14001669c]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xe8]
mov r8d, 4
lea rdx, str.exit
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xe8]
mov r8d, 2
lea rdx, [0x1400166a8]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, 0xffffffff
mov rcx, qword [rsp + 0xf8]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov qword [rsp + 0x28], 0
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x538]
call qword [sym.imp.KERNEL32.dll_PeekNamedPipe]
test eax, eax
je 0x1400104f8
mov eax, dword [rsp + 0xe8]
mov dword [rsp + 0x648], eax
cmp dword [rsp + 0xe8], 0
jne 0x14001046d
jmp 0x1400104f8
cmp dword [rsp + 0x648], 0x400
jle 0x140010485
mov dword [rsp + 0x648], 0x400
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xe8]
mov r8d, dword [rsp + 0x648]
lea rdx, [rsp + 0x120]
mov rcx, qword [rsp + 0x538]
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [rsp + 0xe8], 0
je 0x1400104f3
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xe8]
mov r8d, dword [rsp + 0xe8]
lea rdx, [rsp + 0x120]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x14001041c
mov r8, qword [rsp + 0xe0]
xor edx, edx
mov rcx, qword [0x14001b880]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rsp + 0x538]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x568]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x100]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0xf8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
add rsp, 0x650
pop rdi
ret