Function at 0x18010e730
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd0
mov rax, qword [0x180428208]
xor rax, rsp
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x40], r8
mov r14, rdx
mov r13, rcx
mov rax, qword [rcx + 0x20]
cmp qword [rcx + 0x18], rax
je 0x18010e993
mov rbp, qword [rdx + 8]
mov rax, qword [rdx]
mov rsi, rbp
sub rsi, rax
cmp rsi, r8
jb 0x18010e9ae
lea rcx, [r8 + rax]
mov qword [rsp + 0x30], rcx
sub rsi, r8
mov rdi, qword [r13 + 0x30]
lea rax, [rdi + 1]
cmp rsi, rax
jb 0x18010e9c9
xor edx, edx
mov rax, rsi
div rdi
test rdx, rdx
jne 0x18010e820
mov rdx, r14
mov rcx, r13
call fcn.1800a2b70
xor ebx, ebx
test rdi, rdi
je 0x18010e7f5
lea r9, [rdi + rdi]
nop dword [rax + rax]
mov r8, qword [r14 + 8]
mov rdx, r8
sub rdx, r9
sub r8, rdi
movzx ecx, byte [r8 + rbx]
movzx eax, byte [rdx + rbx]
mov byte [r8 + rbx], al
mov byte [rdx + rbx], cl
inc rbx
cmp rbx, rdi
jne 0x18010e7d0
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
call fcn.1800a5910
mov rbx, qword [rsp + 0x128]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r12, rsi
sub r12, rdi
sub r12, rdx
sub rsi, r12
cmp rsi, rdi
jbe 0x18010e969
lea rax, [rdi + rdi]
cmp rsi, rax
jae 0x18010e969
lea rax, [r12 + rcx]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x50], xmm0
xor ebx, ebx
mov qword [rsp + 0x60], rbx
sub rbp, rax
je 0x18010e8ac
movabs rax, 0x7fffffffffffffff
cmp rbp, rax
ja 0x18010e963
lea edx, [rbx + 1]
mov rcx, rbp
call fcn.18009de10
mov r15, rax
mov qword [rsp + 0x50], rax
lea rbx, [rax + rbp]
mov qword [rsp + 0x60], rbx
mov r8, rbp
mov rdx, qword [rsp + 0x30]
add rdx, r12
mov rcx, rax
call fcn.180282cf0
mov rbp, rbx
mov qword [rsp + 0x58], rbx
mov r8, qword [rsp + 0x40]
jmp 0x18010e8b6
mov rbp, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
lea rdx, [r8 + r12]
mov rcx, r14
call fcn.18009c590
mov r8, qword [rsp + 0x40]
mov rdx, r14
mov rcx, r13
call fcn.1800a2b70
mov r8, rdi
mov rdx, qword [r13 + 0x18]
mov rcx, r15
call fcn.18009dfd0
mov rcx, qword [r13 + 8]
mov rax, qword [rcx]
mov r9d, 1
mov r8, r15
mov rdx, r15
call qword [rax + 0x48]
sub rsi, rdi
je 0x18010e918
lea rdx, [r15 + rdi]
mov rax, rdx
sub rax, rdi
movzx ecx, byte [rax]
xor cl, byte [rdx]
mov byte [rax], cl
xor byte [rdx], cl
inc rdx
sub rsi, 1
jne 0x18010e900
mov rcx, qword [r13 + 8]
mov rax, qword [rcx]
mov r9d, 1
mov r8, r15
mov rdx, r15
call qword [rax + 0x48]
sub rbp, r15
mov rdx, qword [r14 + 8]
mov r9, rbp
mov r8, r15
mov rcx, r14
call fcn.1800da7b0
nop
test r15, r15
je 0x18010e95e
sub rbx, r15
mov r8d, 1
mov rdx, rbx
mov rcx, r15
call fcn.18009df10
nop
jmp 0x18010e7f5
call fcn.1800030ee
int3
mov dword [rsp + 0x20], 0xac
lea r9, [0x1803e3ab0]
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, [0x1803e3ab0]
lea rdx, str.finish_msg
lea rcx, str.state__.empty____false
call fcn.1800d2170
int3
lea r8, [0x1803e3ab0]
lea rdx, str.finish_msg
lea rcx, str.Offset_is_out_of_range
call fcn.1800d20d0
int3
lea rdx, [rsp + 0x50]
mov rcx, r13
call fcn.18010dcd0
nop
lea r8, str.:_insufficient_data_to_encrypt
mov rdx, rax
lea rcx, [rsp + 0xa8]
call fcn.1800df6d0
nop
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.180080910
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x70]
call fcn.1800d2c60
lea rdx, [0x18041f020]
lea rcx, [rsp + 0x70]
call fcn.1802818b4
int3