Function at 0x1400510b0
Capabilities:
Read pipe
Write pipe

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x190
mov rdi, r8
mov rbx, rdx
mov r14, rcx
mov rax, qword [0x1402cb038]
xor rax, rsp
mov qword [rsp + 0x188], rax
mov r15, qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp byte [r14 + 0x17], 0
mov rcx, r14
jns 0x1400510ed
mov rcx, qword [r14]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x110000
mov dword [rsp + 0x20], 3
mov edx, 0xc0000000
xor r8d, r8d
xor r9d, r9d
call r15
cmp rax, 0xffffffffffffffff
je 0x14005125a
mov rsi, rax
lea rdx, [rsp + 0x44]
mov dword [rdx], 2
mov rcx, rax
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_SetNamedPipeHandleState]
test eax, eax
je 0x1400511bc
lea rax, [rsp + 0x40]
mov dword [rax], 0
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x20], 0xc
mov rcx, rsi
mov rdx, rbx
mov r8d, 0x24
mov r9, rdi
call qword [sym.imp.KERNEL32.dll_TransactNamedPipe]
test eax, eax
je 0x140051214
mov dil, 1
cmp dword [rsp + 0x40], 0xc
jne 0x140051325
mov rcx, rsi
call fcn.140025530
test al, al
je 0x1400513a4
mov rcx, qword [rsp + 0x188]
xor rcx, rsp
call fcn.1401ce5b0
mov eax, edi
add rsp, 0x190
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
cmp dword [0x1402e5a28], 2
jg 0x14005120d
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str.registration_protocol_win.cc
lea rdi, [rsp + 0x48]
mov rcx, rdi
mov r8d, 0x79
mov r9d, 2
call fcn.14023ca20
lea rcx, [rsp + 0x58]
lea rdx, [0x1402b81e4]
mov r8d, 0x17
call fcn.140206b20
mov rcx, rdi
call fcn.14023caa0
xor edi, edi
jmp 0x14005118b
cmp dword [0x1402e5a28], 2
jg 0x14005120d
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str.registration_protocol_win.cc
lea rdi, [rsp + 0x48]
mov rcx, rdi
mov r8d, 0x87
mov r9d, 2
call fcn.14023ca20
lea rcx, [rsp + 0x58]
lea rdx, [0x1402b81fc]
mov r8d, 0x11
jmp 0x140051200
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xe7
jne 0x1400512df
cmp byte [r14 + 0x17], 0
mov rcx, r14
jns 0x140051274
mov rcx, qword [r14]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitNamedPipeW]
test eax, eax
jne 0x1400510e0
cmp dword [0x1402e5a28], 2
jg 0x1400512d8
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str.registration_protocol_win.cc
lea rsi, [rsp + 0x48]
mov rcx, rsi
mov r8d, 0x70
mov r9d, 2
call fcn.14023ca20
lea rcx, [rsp + 0x58]
lea rdx, str.WaitNamedPipe
mov r8d, 0xd
call fcn.140206b20
mov rcx, rsi
call fcn.14023caa0
xor edi, edi
jmp 0x14005119b
cmp dword [0x1402e5a28], 2
jg 0x1400512d8
call sub.KERNEL32.dll_GetLastError
mov dword [rsp + 0x20], eax
lea rdx, str.registration_protocol_win.cc
lea rsi, [rsp + 0x48]
mov rcx, rsi
mov r8d, 0x6b
mov r9d, 2
call fcn.14023ca20
lea rcx, [rsp + 0x58]
lea rdx, str.CreateFile
mov r8d, 0xa
jmp 0x1400512cb
cmp dword [0x1402e5a28], 2
jg 0x14005120d
lea rdx, str.registration_protocol_win.cc
lea rdi, [rsp + 0x48]
mov rcx, rdi
mov r8d, 0x8b
mov r9d, 2
call fcn.1400036d0
lea rcx, [rsp + 0x58]
lea rdx, str.TransactNamedPipe:_expected
mov r8d, 0x1c
call fcn.140206b20
mov edx, 0xc
mov rcx, rax
call fcn.14011cc40
lea rdx, str.__observed
mov r8d, 0xb
mov rcx, rax
call fcn.140206b20
mov edx, dword [rsp + 0x40]
mov rcx, rax
call fcn.140037690
mov rcx, rdi
call fcn.1400038d0
jmp 0x14005120d
int3