Function at 0x1400cba50
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
movabs rax, 0x100000000
cmp rdx, rax
ja 0x1400cbcce
mov r13, rdx
test rdx, rdx
je 0x1400cbcbc
mov rax, qword [rsp + 0xc8]
lea rsi, [rax + 4]
cmp rax, 0xfffffffffffffffb
ja 0x1400cbce6
mov qword [rsp + 0x50], r8
test rsi, rsi
js 0x1400cbd28
mov r12, r9
mov rbp, rcx
lea rax, [rcx + 1]
mov qword [rsp + 0x48], rax
lea rax, [rcx + 0x10]
mov qword [rsp + 0x40], rax
xor r14d, r14d
mov eax, 1
mov qword [rsp + 0x28], rax
xor eax, eax
mov qword [rsp + 0x38], rax
xor eax, eax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x24], 0
xor edi, edi
mov r15, r12
mov edx, 1
mov rcx, rsi
call sym.__rust_alloc_zeroed
test rax, rax
je 0x1400cbcaf
mov rbx, rax
mov rcx, rax
mov rdx, qword [rsp + 0xc0]
mov r12, qword [rsp + 0xc8]
mov r8, r12
call sym.memcpy
movzx eax, dil
shl eax, 0x18
movzx ecx, byte [rsp + 0x24]
shl ecx, 0x10
or ecx, eax
movzx eax, byte [rsp + 0x30]
shl eax, 8
or eax, ecx
movzx ecx, byte [rsp + 0x38]
or ecx, eax
mov dword [rbx + r12], ecx
mov rcx, qword [rsp + 0x50]
mov rdx, rbx
mov r8, rsi
mov r12, r15
mov r15, rcx
call qword [r12 + 0x18]
mov rcx, r15
call qword [r12 + 0x20]
test rdx, rdx
je 0x1400cbc40
cmp r14, r13
jae 0x1400cbc40
mov r9, r14
not r9
add r9, r13
lea rcx, [rdx - 1]
cmp r9, rcx
mov r8, rcx
cmovb r8, r9
inc r8
cmp r8, 0x20
jb 0x1400cbbb4
lea r10, [r14 + rbp]
cmp r9, rcx
cmovb rcx, r9
lea r9, [rax + rcx]
inc r9
cmp r10, r9
jae 0x1400cbbdd
mov r9, qword [rsp + 0x48]
add r9, r14
add rcx, r9
cmp rax, rcx
jae 0x1400cbbdd
xor ecx, ecx
inc rcx
nop dword [rax]
movzx r8d, byte [rax + rcx - 1]
xor byte [rbp + r14], r8b
inc r14
cmp rcx, rdx
jae 0x1400cbc40
inc rcx
cmp r14, r13
jb 0x1400cbbc0
jmp 0x1400cbc40
mov rcx, r8
and rcx, 0xffffffffffffffe0
mov r9, qword [rsp + 0x40]
add r9, r14
add r14, rcx
xor r10d, r10d
nop word cs:[rax + rax]
movups xmm0, xmmword [rax + r10]
movups xmm1, xmmword [rax + r10 + 0x10]
movups xmm2, xmmword [r9 + r10 - 0x10]
xorps xmm2, xmm0
movups xmm0, xmmword [r9 + r10]
xorps xmm0, xmm1
movups xmmword [r9 + r10 - 0x10], xmm2
movups xmmword [r9 + r10], xmm0
add r10, 0x20
cmp rcx, r10
jne 0x1400cbc00
cmp r8, rcx
jne 0x1400cbbb6
nop word cs:[rax + rax]
inc dil
jne 0x1400cbc73
mov ecx, dword [rsp + 0x24]
inc cl
mov dword [rsp + 0x24], ecx
jne 0x1400cbc73
mov rcx, qword [rsp + 0x30]
add cl, 1
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x38]
adc cl, 0
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x24], 0
test rdx, rdx
je 0x1400cbc86
mov r8d, 1
mov rcx, rax
call sym.__rust_dealloc
mov r8d, 1
mov rcx, rbx
mov rdx, rsi
call sym.__rust_dealloc
cmp r14, r13
jae 0x1400cbcbc
test rsi, rsi
jns 0x1400cbae0
xor eax, eax
mov qword [rsp + 0x28], rax
mov rsi, rbx
mov rcx, qword [rsp + 0x28]
mov rdx, rsi
call sym.alloc::raw_vec::handle_error::hb4a2c97b2f2cc7c5
nop
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.assertion_failed:_out.len___as_u64___MAX_LEN_root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_rsa_0.7.2_src_algorithms.rs
lea r8, [0x140454b70]
mov edx, 0x2d
call sym.core::panicking::panic::h2104b77c7bdaa98f
mov ebx, 1
test rsi, rsi
je 0x1400cbd0f
mov eax, 1
mov qword [rsp + 0x28], rax
mov edx, 1
mov rcx, rsi
call sym.__rust_alloc_zeroed
test rax, rax
je 0x1400cbcaf
mov rbx, rax
lea r8, [0x140454b88]
mov rcx, qword [rsp + 0xc8]
mov rdx, rsi
call sym.core::slice::index::slice_end_index_len_fail::ha4157f6c56c31a58
ud2
xor eax, eax
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x28]
mov rdx, rsi
call sym.alloc::raw_vec::handle_error::hb4a2c97b2f2cc7c5
jmp 0x1400cbd3e
mov rdi, rax
test rsi, rsi
je 0x1400cbd57
mov r8d, 1
mov rcx, rbx
mov rdx, rsi
call sym.__rust_dealloc
mov rcx, rdi
call sym._Unwind_Resume
int3