Function at 0x14000d6e0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x178
movaps xmmword [rsp + 0x160], xmm8
movaps xmmword [rsp + 0x150], xmm7
movaps xmmword [rsp + 0x140], xmm6
mov rsi, rcx
mov r9b, byte [rcx + 0x2c]
movzx ecx, r9b
mov r11d, 0x10
sub r11, rcx
cmp r11, r8
jbe 0x14000d76e
test r9b, r9b
je 0x14000d7eb
mov rax, rcx
add rax, r8
jb 0x14000dc1e
cmp rax, 0x10
ja 0x14000dc2f
test r8, r8
je 0x14000d766
lea r10, [rsi + 0x10]
add r10, rcx
xor ecx, ecx
mov r9b, byte [r10 + rcx]
xor byte [rdx + rcx], r9b
lea r9, [rcx + 1]
mov rcx, r9
cmp r8, r9
jne 0x14000d752
mov byte [rsi + 0x2c], al
jmp 0x14000dbef
mov rdi, r8
sub rdi, r11
mov al, 1
movabs r10, 0xfffffffef
cmp rdi, r10
ja 0x14000dbf1
mov r10, rdi
shr r10, 4
inc r10d
mov r13d, dword [rsi + 0x28]
add r10d, r13d
jb 0x14000dbf1
test r9b, r9b
je 0x14000d7ef
cmp r9b, 0x11
jae 0x14000dc45
lea rax, [rsi + rcx]
add rax, 0x10
mov rcx, rsi
sub rcx, rax
add rcx, 0x20
cmp r11, rcx
cmovb rcx, r11
test rcx, rcx
je 0x14000d7e3
xor ecx, ecx
mov r8b, byte [rax + rcx]
xor byte [rdx + rcx], r8b
lea r8, [rcx + 1]
mov rcx, r8
cmp r11, r8
jne 0x14000d7cf
add rdx, r11
inc r13d
jmp 0x14000d7f2
mov r13d, dword [rsi + 0x28]
mov rdi, r8
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rdi
and rdi, 0xffffffffffffff80
lea rcx, [rsp + 0xb0]
call fcn.1401e21c8
test rdi, rdi
mov qword [rsp + 0x138], rdi
je 0x14000da06
mov r14, qword [rsi + 0x20]
xorps xmm6, xmm6
mov r15, rdi
mov rdi, qword [rsp + 0x28]
mov eax, dword [rsi + 0xc]
lea rdx, [rsp + 0xb0]
xor ecx, ecx
movaps xmmword [rsp + 0x30], xmm6
lea r8d, [rax + r13]
bswap r8d
xor r9d, r9d
cmp r9, 3
je 0x14000d85d
mov r10d, dword [rsi + r9*4]
mov dword [rsp + r9*4 + 0x30], r10d
inc r9
jmp 0x14000d849
mov dword [rsp + 0x3c], r8d
inc rcx
mov r8, qword [rsp + 0x30]
mov qword [rdx], r8
mov r8d, dword [rsp + 0x38]
mov dword [rdx + 8], r8d
mov r8d, dword [rsp + 0x3c]
mov dword [rdx + 0xc], r8d
inc r13d
mov rdx, rcx
shl rdx, 4
add rdx, rsp
add rdx, 0xb0
cmp rcx, 8
jne 0x14000d83a
mov al, byte [0x1404f7038]
cmp al, 1
jne 0x14000d99c
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmm1, xmmword [rsp + 0xc0]
movaps xmm2, xmmword [rsp + 0xd0]
movaps xmm3, xmmword [rsp + 0xe0]
movaps xmm4, xmmword [rsp + 0xf0]
movaps xmm5, xmmword [rsp + 0x100]
movaps xmm7, xmmword [rsp + 0x110]
movaps xmm8, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x40], xmm1
movaps xmmword [rsp + 0x50], xmm2
movaps xmmword [rsp + 0x60], xmm3
movaps xmmword [rsp + 0x70], xmm4
movaps xmmword [rsp + 0x80], xmm5
movaps xmmword [rsp + 0x90], xmm7
movaps xmmword [rsp + 0xa0], xmm8
mov rcx, r14
lea rdx, [rsp + 0x30]
call fcn.140003923
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movaps xmm2, xmmword [rsp + 0x50]
movaps xmm3, xmmword [rsp + 0x60]
movaps xmm4, xmmword [rsp + 0x70]
movaps xmm5, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0x90]
movaps xmm8, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xc0], xmm1
movaps xmmword [rsp + 0xd0], xmm2
movaps xmmword [rsp + 0xe0], xmm3
movaps xmmword [rsp + 0xf0], xmm4
movaps xmmword [rsp + 0x100], xmm5
movaps xmmword [rsp + 0x110], xmm7
movaps xmmword [rsp + 0x120], xmm8
jmp 0x14000d9d3
mov ebx, 8
lea rdx, [rsp + 0xb0]
cmp rbx, 4
mov ebp, 4
cmovb rbp, rbx
mov r12, rbp
shl r12, 4
add r12, rdx
mov rcx, r14
mov r8, rbp
call fcn.14002131b
mov rdx, r12
sub rbx, rbp
jne 0x14000d9a9
lea rax, [rdi + 0x80]
add r15, 0xffffffffffffff80
xor ecx, ecx
mov dl, byte [rsp + rcx + 0xb0]
xor byte [rdi + rcx], dl
lea rdx, [rcx + 1]
mov rcx, rdx
cmp rdx, 0x80
jne 0x14000d9e0
mov rdi, rax
test r15, r15
jne 0x14000d82d
mov r12, qword [rsp + 0x28]
add r12, qword [rsp + 0x138]
mov rax, qword [rsp + 0x20]
mov r15d, eax
and r15d, 0xf
and eax, 0x70
mov qword [rsp + 0x20], rax
je 0x14000db1c
xorps xmm6, xmm6
lea r14, [rsp + 0x30]
mov rbp, r12
mov rdi, rax
lea rbx, [r12 + 0x10]
movaps xmmword [rsp + 0xb0], xmm6
mov eax, dword [rsi + 0xc]
add eax, r13d
bswap eax
xor ecx, ecx
cmp rcx, 3
je 0x14000da67
mov edx, dword [rsi + rcx*4]
mov dword [rsp + rcx*4 + 0xb0], edx
inc rcx
jmp 0x14000da52
mov dword [rsp + 0xbc], eax
mov rdx, qword [rsi + 0x20]
mov al, byte [0x1404f7038]
cmp al, 1
jne 0x14000dab1
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0xb8]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0xbc]
mov dword [rsp + 0x3c], eax
lea rcx, [rsp + 0xb0]
mov r8, r14
call fcn.1400038a7
jmp 0x14000daed
xor eax, eax
movups xmmword [rsp + rax + 0x30], xmm6
add rax, 0x10
cmp rax, 0x40
jne 0x14000dab3
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x30], xmm0
mov r8d, 4
mov rcx, rdx
mov rdx, r14
call fcn.14002131b
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0xb0], xmm0
add rdi, 0xfffffffffffffff0
inc r13d
xor eax, eax
mov cl, byte [rsp + rax + 0xb0]
xor byte [r12 + rax], cl
lea rcx, [rax + 1]
mov rax, rcx
cmp rcx, 0x10
jne 0x14000daf6
mov r12, rbx
test rdi, rdi
jne 0x14000da3b
jmp 0x14000db1f
mov rbp, r12
test r15, r15
je 0x14000dbe7
add rbp, qword [rsp + 0x20]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
mov eax, dword [rsi + 0xc]
add eax, r13d
bswap eax
xor ecx, ecx
cmp rcx, 3
je 0x14000db51
mov edx, dword [rsi + rcx*4]
mov dword [rsp + rcx*4 + 0x30], edx
inc rcx
jmp 0x14000db3f
mov dword [rsp + 0x3c], eax
lea rdi, [rsi + 0x10]
mov rax, qword [rsp + 0x30]
mov qword [rsi + 0x10], rax
mov eax, dword [rsp + 0x38]
mov dword [rsi + 0x18], eax
mov eax, dword [rsp + 0x3c]
mov dword [rsi + 0x1c], eax
mov rdx, qword [rsi + 0x20]
mov al, byte [0x1404f7038]
cmp al, 1
jne 0x14000db9c
movups xmm0, xmmword [rdi]
lea r8, [rsp + 0x30]
movaps xmmword [r8], xmm0
lea rbx, [rsp + 0xb0]
mov rcx, rbx
call fcn.1400038a7
jmp 0x14000dbcc
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
cmp rax, 0x40
jne 0x14000dba1
movups xmm0, xmmword [rdi]
lea rbx, [rsp + 0x30]
movaps xmmword [rbx], xmm0
mov r8d, 4
mov rcx, rdx
mov rdx, rbx
call fcn.14002131b
movaps xmm0, xmmword [rbx]
movups xmmword [rdi], xmm0
xor eax, eax
mov cl, byte [rdi + rax]
xor byte [rbp + rax], cl
lea rcx, [rax + 1]
mov rax, rcx
cmp r15, rcx
jne 0x14000dbd4
mov byte [rsi + 0x2c], r15b
mov dword [rsi + 0x28], r13d
xor eax, eax
movaps xmm6, xmmword [rsp + 0x140]
movaps xmm7, xmmword [rsp + 0x150]
movaps xmm8, xmmword [rsp + 0x160]
add rsp, 0x178
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str.C:Userslucak.cargo_registry_srcindex.crates.io_6f17d22bba15001fctr_0.8.0_srclib.rs
mov rdx, rax
call fcn.14038ebd0
ud2
lea r8, str.C:Userslucak.cargo_registry_srcindex.crates.io_6f17d22bba15001fctr_0.8.0_srclib.rs
mov edx, 0x10
mov rcx, rax
call fcn.14038e940
ud2
lea r8, str.C:Userslucak.cargo_registry_srcindex.crates.io_6f17d22bba15001fctr_0.8.0_srclib.rs
mov edx, 0x10
call fcn.14038e930
ud2