Function at 0x18010ea60
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], r8
push rsi
push r13
sub rsp, 0x98
mov rax, qword [rcx + 0x20]
mov rsi, rdx
mov r13, rcx
cmp qword [rcx + 0x18], rax
je 0x18010ee19
mov qword [r11 - 0x28], r12
xor edx, edx
mov qword [r11 - 0x30], r14
mov rax, r8
mov r14, qword [rcx + 0x30]
div r14
mov r12, rax
test rdx, rdx
jne 0x18010ee34
mov qword [r11 + 0x10], rbx
mov qword [r11 - 0x18], rbp
mov qword [r11 - 0x20], rdi
mov qword [r11 - 0x38], r15
test rax, rax
je 0x18010edb7
mov rdi, r14
mov rbp, r14
and edi, 0x1f
mov qword [rsp + 0xc8], rdi
sub rbp, rdi
nop dword [rax]
nop word [rax + rax]
mov r8, qword [r13 + 0x38]
mov r15, r12
mov rax, qword [r13 + 0x40]
mov rcx, qword [r13 + 8]
sub rax, r8
imul r15, r14
mov r10, qword [rcx]
cmp rax, r15
cmovb r15, rax
xor edx, edx
mov rax, r15
div r14
mov rdx, rsi
mov r9, rax
mov qword [rsp + 0xb0], rax
call qword [r10 + 0x50]
mov rbx, qword [r13 + 0x18]
mov r11, qword [r13 + 0x38]
mov r9, rbx
sub r9, r11
test rbp, rbp
je 0x18010eb9f
mov rcx, r11
movups xmm0, xmmword [rcx]
xor eax, eax
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [r9 + rcx]
movups xmmword [rsp + 0x40], xmm1
movups xmm1, xmmword [r9 + rcx + 0x10]
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm1
nop dword [rax + rax]
movdqu xmm0, xmmword [rsp + rax + 0x30]
movdqu xmm1, xmmword [rsp + rax + 0x50]
xorps xmm1, xmm0
movdqu xmmword [rsp + rax + 0x30], xmm1
add rax, 0x10
cmp rax, 0x20
jl 0x18010eb60
movups xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm1
add rcx, 0x20
mov rax, rcx
sub rax, r11
cmp rax, rbp
jne 0x18010eb30
mov rdx, rbp
cmp rbp, r14
je 0x18010ec21
cmp rdi, 8
jb 0x18010ec04
lea r8, [r14 - 1]
lea rax, [r14 - 1]
add r8, r11
add rax, rbx
lea rcx, [r11 + rbp]
lea r10, [rbx + rbp]
cmp rcx, rax
ja 0x18010ebcd
cmp r8, r10
jae 0x18010ec04
mov rax, rdi
mov r8, r14
and eax, 7
sub r8, rax
nop dword [rax]
movq xmm0, qword [rcx]
add rdx, 8
movq xmm1, qword [r9 + rcx]
lea rcx, [rcx + 8]
xorps xmm1, xmm0
movq qword [rcx - 8], xmm1
cmp rdx, r8
jne 0x18010ebe0
cmp rdx, r14
je 0x18010ec21
mov r8, r14
lea rcx, [r11 + rdx]
sub r8, rdx
nop
movzx eax, byte [r9 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x18010ec10
mov r11, qword [r13 + 0x38]
mov r10, r15
sub r10, r14
add r11, r14
mov rdi, r10
mov rdx, r10
and edi, 0x1f
mov r9, rsi
sub rdx, rdi
je 0x18010ecc1
mov rcx, r11
sub r9, r11
nop dword [rax]
movups xmm0, xmmword [rcx]
xor eax, eax
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rsp + 0x30], xmm0
movups xmm0, xmmword [r9 + rcx]
movups xmmword [rsp + 0x40], xmm1
movups xmm1, xmmword [r9 + rcx + 0x10]
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm1
nop dword [rax + rax]
movdqu xmm0, xmmword [rsp + rax + 0x30]
movdqu xmm1, xmmword [rsp + rax + 0x50]
xorps xmm1, xmm0
movdqu xmmword [rsp + rax + 0x30], xmm1
add rax, 0x10
cmp rax, 0x20
jl 0x18010ec80
movups xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm1
add rcx, 0x20
mov rax, rcx
sub rax, r11
cmp rax, rdx
jne 0x18010ec50
jmp 0x18010ecc4
sub r9, r11
cmp rdx, r10
je 0x18010ed41
cmp rdi, 8
jb 0x18010ed24
lea r8, [r11 - 1]
lea rax, [r10 - 1]
add r8, r10
add rax, rsi
lea rcx, [rdx + r11]
lea rbx, [rdx + rsi]
cmp rcx, rax
ja 0x18010ecef
cmp r8, rbx
jae 0x18010ed24
and edi, 7
mov rax, r10
sub rax, rdi
nop dword [rax + rax]
movq xmm0, qword [rcx]
add rdx, 8
movq xmm1, qword [r9 + rcx]
lea rcx, [rcx + 8]
xorps xmm1, xmm0
movq qword [rcx - 8], xmm1
cmp rdx, rax
jne 0x18010ed00
cmp rdx, r10
je 0x18010ed41
mov r8, r10
lea rcx, [rdx + r11]
sub r8, rdx
nop
movzx eax, byte [r9 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x18010ed30
mov rcx, qword [r13 + 0x18]
lea rdx, [r10 + rsi]
test r14, r14
je 0x18010ed68
test rdx, rdx
je 0x18010edef
test rcx, rcx
je 0x18010edef
mov r8, r14
call fcn.180282cf0
mov rdx, qword [r13 + 0x38]
test r15, r15
je 0x18010ed7b
test rdx, rdx
je 0x18010edef
test rsi, rsi
je 0x18010edef
test rdx, rdx
je 0x18010ed95
test rsi, rsi
je 0x18010ed95
test r15, r15
je 0x18010ed95
mov r8, r15
mov rcx, rsi
call fcn.180282cf0
add rsi, r15
sub r12, qword [rsp + 0xb0]
je 0x18010edaf
mov rdi, qword [rsp + 0xc8]
jmp 0x18010eae0
mov r8, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xb8]
mov rax, r8
mov rbp, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x88]
mov r15, qword [rsp + 0x70]
mov r12, qword [rsp + 0x80]
mov r14, qword [rsp + 0x78]
add rsp, 0x98
pop r13
pop rsi
ret
lea r9, [0x1803e49b0]
mov dword [rsp + 0x20], 0x7b
lea r8, str.copy_mem
lea rdx, str.If_n___0_then_args_are_not_null
lea rcx, str.n___0_implies_in___nullptr__out___nullptr
call fcn.1800d1f70
int3
lea r8, [0x1803e3ab0]
lea rdx, str.process_msg
lea rcx, str.state__.empty____false
call fcn.1800d2170
int3
lea r8, [0x1803e3ab0]
lea rdx, str.process_msg
lea rcx, str.Input_is_not_full_blocks
call fcn.1800d20d0
int3