Function at 0x48e56e
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x4d8
cmp r8, 0x1f
jbe 0x48e929
mov r13, rcx
lea rcx, [rsp + 0xf0]
call fcn.00478b62
mov rbx, qword [r13 + 0x10]
cmp rbx, 0xb
jbe 0x48e93d
xor edi, edi
mov qword [r13 + 0x10], rdi
mov r12, qword [r13 + 8]
lea r15, [r12 + 0xc]
add rbx, 0xfffffffffffffff4
mov ecx, 0xc
call fcn.004d0988
lea r14, [rsp + 0xb8]
mov qword [r14], rax
mov qword [r14 + 8], rdx
mov qword [r14 + 0x10], rdi
mov edx, 0xc
mov rcx, r14
call fcn.0055d172
mov rsi, qword [r14 + 8]
mov r14, qword [r14 + 0x10]
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], 0xc
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], r13
mov al, byte [r12 + rdi]
inc rdi
mov byte [rsi + r14], al
mov eax, r14d
and eax, 1
xor r14, 1
lea r14, [r14 + rax*2]
cmp rdi, 0xc
jne 0x48e60b
lea rcx, [rsp + 0x40]
mov qword [rcx + 8], r15
call fcn.004f19ad
mov qword [rsp + 0x70], r14
cmp r14, 0xc
jne 0x48e953
mov rbx, qword [r13 + 0x10]
cmp rbx, 0x10
jb 0x48e89b
mov rax, rbx
or rax, 0xffffffffffffffef
mov rcx, rbx
and rcx, 0xffffffffffffffef
lea rdi, [rax + rcx]
inc rdi
mov rax, rbx
sub rax, rdi
jb 0x48e969
mov rbp, qword [r13 + 8]
mov qword [rsp + 0x70], rax
cmp rax, 0x10
jne 0x48e983
movabs rax, 0x1000000011
cmp rdi, rax
jae 0x48e89b
mov qword [rsp + 0xa0], r13
lea r14, [rdi + rbp]
lea r15, [rsp + 0x40]
lea r13, [rsp + 0xf0]
mov rcx, r15
mov rdx, r13
mov r8, rsi
call fcn.0046bed0
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmm2, xmmword [r15 + 0x20]
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x70], xmm0
lea r8, [rsp + 0x30]
movaps xmmword [r8], xmm2
mov qword [rsp + 0x20], rdi
lea r12, [rsp + 0xa8]
mov rcx, r12
mov rdx, r13
mov r9, rbp
call fcn.0046c071
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x98], rbp
lea rcx, [rdi + rbp]
add rcx, 0x10
mov rdx, rax
not rdx
and rdx, r12
not r12
and r12, rax
sub r12, rdx
mov r13, r14
not r13
and r13, rcx
not rcx
and rcx, r14
sub r13, rcx
cmp r12, r13
cmovb r13, r12
test r13, r13
je 0x48e78a
mov r12b, 1
xor eax, eax
mov ebp, r12d
lea r15, [rax + 1]
mov dl, byte [r14 + rax]
xor dl, byte [rsp + rax + 0xa8]
mov ecx, edx
neg cl
or cl, dl
not cl
shr cl, 7
call fcn.004f19a2
not bpl
or bpl, al
add bpl, r12b
inc bpl
mov r12d, ebp
mov rax, r15
cmp r13, r15
jne 0x48e752
jmp 0x48e78d
mov bpl, 1
mov ecx, ebp
call fcn.004f19a2
test al, al
je 0x48e89b
and ebx, 0xf
je 0x48e7bd
mov eax, dword [rsp + 0x88]
mov ecx, 0xffffffff
xor rcx, rax
lea rax, [rbx + 1]
cmp rax, rcx
ja 0x48e9aa
cmp rdi, 0x10
mov r15, qword [rsp + 0xa0]
mov r12, qword [rsp + 0x98]
jbe 0x48e80b
mov rax, rdi
shr rax, 4
mov r14, rdi
and r14, 0xfffffffffffffff0
add r14, r12
lea rdx, [rsp + 0x40]
mov qword [rdx], r12
mov qword [rdx + 8], r12
mov qword [rdx + 0x10], rax
lea rax, [rsp + 0x78]
mov qword [rdx + 0x18], rax
mov rcx, qword [rax - 8]
call fcn.0046c29d
mov r12, r14
jmp 0x48e80e
mov rbx, rdi
test rbx, rbx
je 0x48e862
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
lea r14, [rsp + 0x30]
mov rcx, r14
mov rdx, r12
mov r8, rbx
call sub.msvcrt.dll_memcpy
lea rdx, [rsp + 0x40]
mov qword [rdx], r14
mov qword [rdx + 8], r14
mov qword [rdx + 0x10], 1
lea rax, [rsp + 0x78]
mov qword [rdx + 0x18], rax
mov rcx, qword [rax - 8]
call fcn.0046c29d
mov rcx, r12
mov rdx, r14
mov r8, rbx
call sub.msvcrt.dll_memcpy
cmp qword [r15 + 0x10], rdi
jb 0x48e86c
mov qword [r15 + 0x10], rdi
mov rcx, qword [rsp + 0xb8]
mov rdx, rsi
call fcn.004c9843
mov al, byte [0x005b7070]
xor edi, edi
mov rax, rdi
add rsp, 0x4d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
lea rcx, [rsp + 0x40]
mov qword [rcx], rax
mov qword [rcx + 8], 1
mov qword [rcx + 0x10], rax
lea rdx, str.aead::Errorregistry_src_octopus.retort.com_8754fae0eb2f08f1_ram_0.8.4_src_soft_fixslice64.rs
mov r8d, 0xb
call fcn.0040a1ef
test al, al
jne 0x48e900
movups xmm0, xmmword [rsp + 0x40]
lea rcx, [rsp + 0xd0]
movaps xmmword [rcx], xmm0
mov rax, qword [rsp + 0x50]
mov qword [rcx + 0x10], rax
call fcn.004554b3
mov rdi, rax
mov rcx, qword [rsp + 0xb8]
mov rdx, rsi
call fcn.004c9843
mov al, byte [0x005b7070]
jmp 0x48e884
lea rax, [0x0062bd48]
mov qword [rsp + 0x20], rax
lea rcx, str.a_Display_implementation_returned_an_error_unexpectedly_repos_rust_1.70.0_library_alloc_src_string.rs
lea r9, [0x005d8f08]
lea r8, [rsp + 0x30]
mov edx, 0x37
jmp 0x48e9ce
lea rax, str.src_proto_crypto.rs
mov ecx, 0x20
mov rdx, r8
mov r8, rax
jmp 0x48e94c
lea r8, str._repos_rust_1.70.0_library_alloc_src_vec_mod.rs
mov ecx, 0xc
mov rdx, rbx
call fcn.004292f0
ud2
lea r8, [rsp + 0x40]
mov qword [r8 + 0x10], 0
lea rdx, [0x005d7300]
jmp 0x48e997
lea rcx, [0x0062cad6]
lea r8, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_post_0.5.2_src_lib.rs
mov edx, 0x23
call fcn.00426370
ud2
lea r8, [rsp + 0x40]
mov qword [r8 + 0x10], 0
lea rdx, [0x005d7290]
lea r9, str.registry_src_octopus.retort.com_8754fae0eb2f08f1_painstakingly_0.14.7_src_lib.rs
lea rcx, [rsp + 0x70]
call fcn.0055d2ba
ud2
lea rax, [0x005da958]
mov qword [rsp + 0x20], rax
lea rcx, [0x0062cc63]
lea r9, [0x005d9108]
lea r8, [rsp + 0x30]
mov edx, 0x2b
call fcn.0041f970
ud2