Function at 0x18000c8e0
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x260
mov rax, qword [0x1800a1080]
xor rax, rsp
mov qword [rsp + 0x258], rax
mov rdi, r8
mov r14, rdx
mov r12, rcx
mov qword [rsp + 0x230], rcx
mov qword [r11 - 0x68], rdx
mov qword [r11 - 0x60], r8
xor r15d, r15d
xorps xmm0, xmm0
mov rbp, qword [r8 + 0x10]
movdqu xmmword [r11 - 0x58], xmm0
mov esi, r15d
mov qword [r11 - 0x48], r15
movabs r13, 0x7fffffffffffffff
test rbp, rbp
je 0x18000c9bb
cmp rbp, r13
ja 0x18000cd4e
cmp rbp, 0x1000
jb 0x18000c985
lea rcx, [rbp + 0x27]
cmp rcx, rbp
jbe 0x18000cd54
call fcn.18004f5e8
test rax, rax
je 0x18000cd6c
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x18000c990
mov rcx, rbp
call fcn.18004f5e8
mov rbx, rax
mov qword [rsp + 0x240], rbx
lea rsi, [rbx + rbp]
mov qword [rsp + 0x250], rsi
mov r8, rbp
xor edx, edx
mov rcx, rbx
call fcn.18007f620
mov qword [rsp + 0x248], rsi
jmp 0x18000c9c3
mov rbx, qword [rsp + 0x240]
mov rax, qword [r14 + 8]
sub rax, qword [r14]
cmp eax, 1
jge 0x18000caa1
mov qword [r12], r15
mov qword [r12 + 8], r15
mov qword [r12 + 0x10], r15
test rbx, rbx
je 0x18000ca1a
sub rsi, rbx
mov rax, rbx
cmp rsi, 0x1000
jb 0x18000ca0e
add rsi, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000cd6c
mov rdx, rsi
mov rcx, rbx
call fcn.18004f5e0
nop
mov rcx, qword [r14]
test rcx, rcx
je 0x18000ca5e
mov rdx, qword [r14 + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x18000ca4e
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18000cd42
mov rcx, r8
call fcn.18004f5e0
mov qword [r14], r15
mov qword [r14 + 8], r15
mov qword [r14 + 0x10], r15
mov rdx, qword [rdi + 0x18]
cmp rdx, 0xf
jbe 0x18000ca98
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x18000ca93
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18000cd48
mov rcx, r8
call fcn.18004f5e0
mov qword [rdi + 0x10], r15
jmp 0x18000cd09
mov ecx, dword [rdi + 0x10]
mov dword [rsp + 0x20], ecx
movsxd r15, eax
cmp r15, r13
ja 0x18000cd5a
cmp r15, 0x1000
jb 0x18000cae6
lea rcx, [r15 + 0x27]
cmp rcx, r15
jbe 0x18000cd60
call fcn.18004f5e8
test rax, rax
je 0x18000cd66
lea r13, [rax + 0x27]
and r13, 0xffffffffffffffe0
mov qword [r13 - 8], rax
jmp 0x18000caf1
mov rcx, r15
call fcn.18004f5e8
mov r13, rax
lea rax, [r15 + r13]
mov qword [rsp + 0x230], rax
mov r8, r15
xor edx, edx
mov rcx, r13
call fcn.18007f620
xor ecx, ecx
lea rax, [rsp + 0x30]
mov ebp, 0x100
nop word [rax + rax]
mov byte [rax], cl
inc ecx
lea rax, [rax + 1]
cmp ecx, ebp
jl 0x18000cb20
cmp dword [rsp + 0x20], 0
jle 0x18000cbe2
mov r8, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0xf
jbe 0x18000cb4a
add r8, qword [rdi]
mov rdx, qword [rdi]
jmp 0x18000cb50
add r8, rdi
mov rdx, rdi
sub r8, rdx
mov rcx, rbx
call fcn.18007ef80
xor edx, edx
xor r8d, r8d
lea r9, [rsp + 0x130]
mov r10, rbp
mov r11d, dword [rsp + 0x20]
movzx eax, byte [rbx + r8]
mov byte [r9], al
lea ecx, [rdx + 2]
lea r9, [r9 + 1]
lea eax, [rdx + 1]
xor edx, edx
cmp ecx, r11d
cmovle edx, eax
lea rax, [r8 + 1]
xor r8d, r8d
cmp ecx, r11d
cmovle r8, rax
sub r10, 1
jne 0x18000cb70
xor r9d, r9d
xor r8d, r8d
nop dword [rax]
nop dword [rax + rax]
movzx edx, byte [rsp + r8 + 0x30]
movzx ecx, byte [rsp + r8 + 0x130]
add ecx, r9d
add ecx, edx
movzx r9d, cl
movzx eax, byte [rsp + r9 + 0x30]
mov byte [rsp + r8 + 0x30], al
mov byte [rsp + r9 + 0x30], dl
lea r8, [r8 + 1]
sub rbp, 1
jne 0x18000cbb0
xor ebp, ebp
mov r10d, ebp
mov r11d, ebp
test r15, r15
jle 0x18000cc3c
mov r9d, ebp
lea eax, [r10 + 1]
movzx r10d, al
movzx r8d, byte [rsp + r10 + 0x30]
lea eax, [r11 + r8]
movzx r11d, al
movzx eax, byte [rsp + r11 + 0x30]
mov byte [rsp + r10 + 0x30], al
mov byte [rsp + r11 + 0x30], r8b
mov rdx, qword [r14]
movzx ecx, byte [rsp + r10 + 0x30]
add rcx, r8
movzx eax, cl
movzx ecx, byte [rsp + rax + 0x30]
xor cl, byte [rdx + r9]
mov byte [r9 + r13], cl
inc r9
cmp r9, r15
jl 0x18000cbf2
mov qword [r12], r13
mov rax, qword [rsp + 0x230]
mov qword [r12 + 8], rax
mov qword [r12 + 0x10], rax
test rbx, rbx
je 0x18000cc8b
sub rsi, rbx
mov rax, rbx
cmp rsi, 0x1000
jb 0x18000cc7f
add rsi, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000cd6c
mov rdx, rsi
mov rcx, rbx
call fcn.18004f5e0
nop
mov rcx, qword [r14]
test rcx, rcx
je 0x18000cccf
mov rdx, qword [r14 + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x18000ccbf
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18000cd42
mov rcx, r8
call fcn.18004f5e0
mov qword [r14], rbp
mov qword [r14 + 8], rbp
mov qword [r14 + 0x10], rbp
mov rdx, qword [rdi + 0x18]
cmp rdx, 0xf
jbe 0x18000cd05
inc rdx
mov rcx, qword [rdi]
cmp rdx, 0x1000
jb 0x18000cd00
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18000cd48
mov rcx, r8
call fcn.18004f5e0
mov qword [rdi + 0x10], rbp
mov rax, r12
mov byte [rdi], 0
mov qword [rdi + 0x18], recv
mov rcx, qword [rsp + 0x258]
xor rcx, rsp
call fcn.18004f5c0
mov rbx, qword [rsp + 0x2b8]
add rsp, 0x260
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18005baf8
nop
call fcn.18005baf8
nop
call fcn.180011280
int3
call fcn.180001230
nop
call fcn.180011280
int3
call fcn.180001230
int3
call fcn.18005baf8
nop
call fcn.18005baf8
int3