Function at 0x14001aa10
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rbx, rcx
mov rdi, qword [rsp + 0xc8]
test rdi, rdi
je 0x14001ab57
js 0x14001acde
mov r14, r9
mov r13, r8
mov r15, rdx
mov rax, qword [0x1400f2fa8]
movzx eax, byte [rax]
mov r12d, 1
mov edx, 1
mov rcx, rdi
call sym.__rust_alloc
test rax, rax
je 0x14001ace1
mov rbp, rax
mov r12, qword [rsp + 0xc0]
mov rcx, rax
mov rdx, r12
mov r8, rdi
call sym.memcpy
cmp rdi, 0x10
mov qword [rsp + 0x28], rbp
jb 0x14001ab61
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x50], 0x10
lea rcx, [rsp + 0x38]
mov rdx, r15
call sym.libaes::aes_encrypt::ha6eedb2f3c908eb9
mov rbx, rdi
lea rsi, [rdi - 0x10]
mov rdi, rbp
add rdi, 0x10
movups xmm0, xmmword [r12]
movups xmm1, xmmword [rbp]
xorps xmm1, xmm0
movups xmmword [rbp], xmm1
cmp rsi, 0x10
jb 0x14001ab71
mov r14d, 0x20
lea r13, [rsp + 0x38]
nop
lea rax, [rdi - 0x10]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], 0x10
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], 0x10
mov rcx, r13
mov rdx, r15
call sym.libaes::aes_encrypt::ha6eedb2f3c908eb9
test r14, r14
je 0x14001acb3
cmp r14, rbx
ja 0x14001acca
lea rbp, [rdi + 0x10]
add rsi, 0xfffffffffffffff0
movups xmm0, xmmword [r12 + r14 - 0x10]
movups xmm1, xmmword [rdi]
xorps xmm1, xmm0
movups xmmword [rdi], xmm1
add r14, 0x10
mov rdi, rbp
cmp rsi, 0xf
ja 0x14001aaf0
lea r13, [rbp - 0x10]
jmp 0x14001ab77
mov eax, 1
jmp 0x14001ac80
test r14, r14
je 0x14001abbb
js 0x14001acf6
mov rsi, rdi
jmp 0x14001ab8e
mov r13, rbp
mov rbp, rdi
mov r14d, 0x10
test rsi, rsi
mov rdi, rbx
mov rbx, qword [rsp + 0x30]
je 0x14001ac7b
mov rax, qword [0x1400f2fa8]
movzx eax, byte [rax]
mov edx, 1
mov rcx, r14
call sym.__rust_alloc
test rax, rax
je 0x14001acec
mov r12, rax
mov dword [rsp + 0x30], 0
jmp 0x14001abcd
mov r12d, 1
mov al, 1
mov dword [rsp + 0x30], eax
xor r14d, r14d
mov rsi, rdi
mov rcx, r12
mov rdx, r13
mov r8, r14
call sym.memcpy
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], r14
lea rcx, [rsp + 0x38]
mov rdx, r15
call sym.libaes::aes_encrypt::ha6eedb2f3c908eb9
lea rax, [rsi - 1]
cmp r14, rax
cmovb rax, r14
cmp rax, 0x10
jae 0x14001ac11
xor eax, eax
jmp 0x14001ac50
inc rax
mov ecx, eax
and ecx, 0xf
mov edx, 0x10
cmovne rdx, rcx
sub rax, rdx
xor ecx, ecx
nop word [rax + rax]
movups xmm0, xmmword [r12 + rcx]
movups xmm1, xmmword [rbp + rcx]
xorps xmm1, xmm0
movups xmmword [rbp + rcx], xmm1
add rcx, 0x10
cmp rax, rcx
jne 0x14001ac30
nop dword [rax + rax]
cmp r14, rax
je 0x14001ac9f
movzx ecx, byte [r12 + rax]
xor byte [rbp + rax], cl
lea rcx, [rax + 1]
mov rax, rcx
cmp rsi, rcx
jne 0x14001ac50
mov r8d, 1
mov rcx, r12
mov rdx, r14
call sym.__rust_dealloc
mov rax, qword [rsp + 0x28]
mov qword [rbx], rdi
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rdi
mov rax, rbx
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str._home_f_.cargo_registry_src_index.crates.io_6f17d22bba15001f_libaes_0.7.0_src_lib.rs
mov rcx, r14
mov rdx, r14
call sym.core::panicking::panic_bounds_check::hc59ada7dadd9fb7c
jmp 0x14001ad03
lea r8, str._home_f_.cargo_registry_src_index.crates.io_6f17d22bba15001f_libaes_0.7.0_src_lib.rs
mov rcx, 0xfffffffffffffff0
xor edx, edx
call sym.core::slice::index::slice_index_order_fail::hf943cfe51be07c4a
jmp 0x14001ad03
lea r8, str._home_f_.cargo_registry_src_index.crates.io_6f17d22bba15001f_libaes_0.7.0_src_lib.rs
mov rcx, r14
mov rdx, rbx
call sym.core::slice::index::slice_end_index_len_fail::ha4157f6c56c31a58
jmp 0x14001ad03
xor r12d, r12d
mov rcx, r12
mov rdx, rdi
call sym.alloc::raw_vec::handle_error::hb4a2c97b2f2cc7c5
mov ecx, 1
mov rbx, rdi
jmp 0x14001acfb
mov rbx, rdi
xor ecx, ecx
mov rdx, r14
call sym.alloc::raw_vec::handle_error::hb4a2c97b2f2cc7c5
ud2