Function at 0x140019d00
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 r13, r9
mov r12, r8
mov rbx, rdx
mov rdi, rcx
mov r15, qword [rsp + 0xc8]
mov rbp, qword [rsp + 0xc0]
mov esi, r15d
and esi, 0xf
cmp byte [rdx + 0x1e8], 0
je 0x140019d85
mov qword [rsp + 0x50], rdi
mov ebp, 0x10
sub rbp, rsi
mov rdi, rbp
add rdi, r15
je 0x140019d9e
js 0x14001a0f3
mov rax, qword [0x1400f2fa8]
movzx eax, byte [rax]
mov eax, 1
mov qword [rsp + 0x48], rax
mov edx, 1
mov rcx, rdi
call sym.__rust_alloc
test rax, rax
je 0x14001a0fa
mov r14, rax
jmp 0x140019da4
test rsi, rsi
je 0x14001a002
mov r14d, 1
xor ebp, ebp
xor r15d, r15d
jmp 0x14001a058
mov r14d, 1
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], 0
cmp rdi, r15
jae 0x140019dd5
lea rcx, [rsp + 0x28]
mov rdx, r15
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::hbcda5abf081340ef
mov r14, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
jmp 0x140019dd7
xor edi, edi
lea rcx, [r14 + rdi]
mov rdx, qword [rsp + 0xc0]
mov r8, r15
call sym.memcpy
add r15, rdi
mov qword [rsp + 0x38], r15
or rsi, 0xfffffffffffffff0
lea rdi, [rsp + 0x28]
jmp 0x140019e16
mov r14, qword [rsp + 0x30]
mov byte [r14 + r15], bpl
inc r15
mov qword [rsp + 0x38], r15
inc rsi
je 0x140019e27
cmp r15, qword [rsp + 0x28]
jne 0x140019e05
mov rcx, rdi
call sym.alloc::raw_vec::RawVec_T_A_::grow_one::he484b1e4e41ae9e2
jmp 0x140019e00
mov rbp, qword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x50]
cmp r15, 0x10
jb 0x14001a058
test r13, r13
je 0x14001a077
movzx eax, byte [r12]
xor byte [r14], al
cmp r13, 1
je 0x14001a07b
movzx eax, byte [r12 + 1]
xor byte [r14 + 1], al
cmp r13, 2
je 0x14001a082
movzx eax, byte [r12 + 2]
xor byte [r14 + 2], al
cmp r13, 3
je 0x14001a089
movzx eax, byte [r12 + 3]
xor byte [r14 + 3], al
cmp r13, 4
je 0x14001a090
movzx eax, byte [r12 + 4]
xor byte [r14 + 4], al
cmp r13, 5
je 0x14001a097
movzx eax, byte [r12 + 5]
xor byte [r14 + 5], al
cmp r13, 6
je 0x14001a09e
movzx eax, byte [r12 + 6]
xor byte [r14 + 6], al
cmp r13, 7
je 0x14001a0a5
movzx eax, byte [r12 + 7]
xor byte [r14 + 7], al
cmp r13, 8
je 0x14001a0ac
movzx eax, byte [r12 + 8]
xor byte [r14 + 8], al
cmp r13, 9
je 0x14001a0b3
movzx eax, byte [r12 + 9]
xor byte [r14 + 9], al
cmp r13, 0xa
je 0x14001a0ba
movzx eax, byte [r12 + 0xa]
xor byte [r14 + 0xa], al
cmp r13, 0xb
je 0x14001a0c1
movzx eax, byte [r12 + 0xb]
xor byte [r14 + 0xb], al
cmp r13, 0xc
je 0x14001a0c8
movzx eax, byte [r12 + 0xc]
xor byte [r14 + 0xc], al
cmp r13, 0xd
je 0x14001a0cf
movzx eax, byte [r12 + 0xd]
xor byte [r14 + 0xd], al
cmp r13, 0xe
je 0x14001a0d6
movzx eax, byte [r12 + 0xe]
xor byte [r14 + 0xe], al
cmp r13, 0xf
je 0x14001a0dd
movzx eax, byte [r12 + 0xf]
xor byte [r14 + 0xf], al
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], 0x10
mov qword [rsp + 0x28], 0
lea rcx, [rsp + 0x28]
mov rdx, rbx
call sym.libaes::aes_encrypt::ha6eedb2f3c908eb9
lea rsi, [r15 - 0x10]
cmp rsi, 0x10
jb 0x14001a058
mov r13, rdi
lea rdi, [r14 + 0x10]
lea r12, [rsp + 0x28]
nop dword [rax + rax]
movups xmm0, xmmword [rdi - 0x10]
movups xmm1, xmmword [rdi]
xorps xmm1, xmm0
movups xmmword [rdi], xmm1
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], 0x10
mov qword [rsp + 0x28], 0
mov rcx, r12
mov rdx, rbx
call sym.libaes::aes_encrypt::ha6eedb2f3c908eb9
add rsi, 0xfffffffffffffff0
add rdi, 0x10
cmp rsi, 0xf
ja 0x140019fc0
mov rdi, r13
jmp 0x14001a058
test r15, r15
je 0x14001a037
js 0x14001a107
mov rax, qword [0x1400f2fa8]
movzx eax, byte [rax]
mov esi, 1
mov edx, 1
mov rcx, r15
call sym.__rust_alloc
test rax, rax
je 0x14001a109
mov r14, rax
jmp 0x14001a03d
mov r14d, 1
mov rcx, r14
mov rdx, rbp
mov r8, r15
call sym.memcpy
mov rbp, r15
cmp r15, 0x10
jae 0x140019e40
mov qword [rdi], rbp
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], r15
mov rax, rdi
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor ecx, ecx
jmp 0x14001a0e2
mov ecx, 1
jmp 0x14001a0e2
mov ecx, 2
jmp 0x14001a0e2
mov ecx, 3
jmp 0x14001a0e2
mov ecx, 4
jmp 0x14001a0e2
mov ecx, 5
jmp 0x14001a0e2
mov ecx, 6
jmp 0x14001a0e2
mov ecx, 7
jmp 0x14001a0e2
mov ecx, 8
jmp 0x14001a0e2
mov ecx, 9
jmp 0x14001a0e2
mov ecx, 0xa
jmp 0x14001a0e2
mov ecx, 0xb
jmp 0x14001a0e2
mov ecx, 0xc
jmp 0x14001a0e2
mov ecx, 0xd
jmp 0x14001a0e2
mov ecx, 0xe
jmp 0x14001a0e2
mov ecx, 0xf
lea r8, str._home_f_.cargo_registry_src_index.crates.io_6f17d22bba15001f_libaes_0.7.0_src_lib.rs
mov rdx, rcx
call sym.core::panicking::panic_bounds_check::hc59ada7dadd9fb7c
ud2
xor eax, eax
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x48]
mov rdx, rdi
call sym.alloc::raw_vec::handle_error::hb4a2c97b2f2cc7c5
xor esi, esi
mov rcx, rsi
mov rdx, r15
call sym.alloc::raw_vec::handle_error::hb4a2c97b2f2cc7c5
jmp 0x14001a11a
mov rsi, rax
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x14001a14d
mov rcx, qword [rsp + 0x30]
mov r8d, 1
jmp 0x14001a148
call sym.__rust_dealloc
mov rcx, rsi
call sym._Unwind_Resume
int3