Function at 0x180110e30
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov r12, r8
mov r13, rdx
mov rax, qword [rdx]
mov r9, qword [rdx + 8]
sub r9, rax
cmp r9, r8
jb 0x1801110b7
sub r9, r8
add r8, rax
mov r14, qword [rcx + 0x30]
cmp r9, r14
jb 0x1801110d2
xor edx, edx
mov rax, r9
div r14
test rdx, rdx
jne 0x180110ea5
mov r8, r12
mov rdx, r13
call fcn.1800a2b70
mov rbx, qword [rsp + 0xa8]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rbx, r9
sub rbx, r14
sub rbx, rdx
mov rsi, r9
sub rsi, rbx
cmp rsi, r14
jbe 0x18011108d
lea rax, [r14 + r14]
cmp rsi, rax
jae 0x18011108d
lea rdi, [r8 + r9]
lea rax, [rbx + r8]
mov qword [rsp + 0x98], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
xor ebp, ebp
mov qword [rsp + 0x40], rbp
sub rdi, rax
je 0x180110f3b
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
ja 0x180111087
lea edx, [rbp + 1]
mov rcx, rdi
call fcn.18009de10
mov r15, rax
mov qword [rsp + 0x30], rax
lea rbp, [rax + rdi]
mov qword [rsp + 0x40], rbp
mov r8, rdi
mov rdx, qword [rsp + 0x98]
mov rcx, rax
call fcn.180282cf0
mov rax, rbp
mov qword [rsp + 0x38], rax
jmp 0x180110f45
mov rax, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
mov qword [rsp + 0xa0], rax
lea rdx, [rbx + r12]
mov rcx, r13
call fcn.18009c590
mov r8, r12
mov rdx, r13
mov r12, qword [rsp + 0x90]
mov rcx, r12
call fcn.1800a2b70
mov rdx, qword [r12 + 0x18]
add rdx, r14
mov r8, r14
mov rcx, r15
call fcn.18009dfd0
mov rdi, qword [r12 + 8]
mov rax, rbp
sub rax, r15
mov qword [rsp + 0x98], rax
mov rax, qword [rdi]
mov rbx, qword [rax + 0x50]
mov rcx, rdi
call qword [rax + 0x30]
mov r8, rax
xor edx, edx
mov rax, qword [rsp + 0x98]
div r8
mov r9, rax
mov r8, r15
mov rdx, r15
mov rcx, rdi
call rbx
mov rdx, qword [r12 + 0x18]
add rdx, r14
mov r8, r14
mov rcx, r15
call fcn.18009dfd0
sub rsi, r14
je 0x180110ffd
mov rax, r15
nop dword [rax + rax]
movzx edx, byte [rax]
xor dl, byte [rax + r14]
mov byte [rax], dl
xor dl, byte [rax + r14]
mov byte [rax + r14], dl
xor byte [rax], dl
lea rax, [rax + 1]
sub rsi, 1
jne 0x180110fe0
mov r8, r14
mov rdx, qword [r12 + 0x18]
mov rcx, r15
call fcn.18009dfd0
mov rdi, qword [r12 + 8]
mov rax, qword [rdi]
mov rbx, qword [rax + 0x50]
mov rcx, rdi
call qword [rax + 0x30]
mov r9, rax
xor edx, edx
mov rax, qword [rsp + 0x98]
div r9
mov r9, rax
mov r8, r15
mov rdx, r15
mov rcx, rdi
call rbx
mov r8, r14
mov rdx, qword [r12 + 0x18]
mov rcx, r15
call fcn.18009dfd0
mov r9, qword [rsp + 0xa0]
sub r9, r15
mov rdx, qword [r13 + 8]
mov r8, r15
mov rcx, r13
call fcn.1800da7b0
nop
test r15, r15
je 0x180111082
sub rbp, r15
mov r8d, 1
mov rdx, rbp
mov rcx, r15
call fcn.18009df10
nop
jmp 0x180110e8d
call fcn.1800030ee
int3
mov dword [rsp + 0x20], 0xd8
lea r9, [0x1803e2690]
lea r8, str.finish_msg
lea rdx, str.Left_over_size_in_expected_range
lea rcx, str.final_bytes___BS__final_bytes___2__BS
call fcn.1800d1f70
int3
lea r8, [0x1803e2690]
lea rdx, str.finish_msg
lea rcx, str.Offset_is_out_of_range
call fcn.1800d20d0
int3
lea r8, [0x1803e2690]
lea rdx, str.finish_msg
lea rcx, str.missing_sufficient_final_input_in_XTS_decrypt
call fcn.1800d20d0
int3