Function at 0x14020bf5a
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 r14, rdx
mov rsi, rcx
mov dl, byte [rcx + 0x2c]
movzx ecx, dl
mov eax, 0x10
sub rax, rcx
cmp rax, r8
jbe 0x14020bfe6
test dl, dl
je 0x14020c063
mov rax, rcx
add rax, r8
jb 0x14020c4b7
cmp rax, 0x10
ja 0x14020c4c8
test r8, r8
je 0x14020bfde
lea rdx, [rsi + 0x10]
add rdx, rcx
xor ecx, ecx
mov bl, byte [rdx + rcx]
xor byte [r14 + rcx], bl
lea rbp, [rcx + 1]
mov rcx, rbp
cmp r8, rbp
jne 0x14020bfcb
mov byte [rsi + 0x2c], al
jmp 0x14020c45f
mov rbx, r8
sub rbx, rax
mov rbp, rbx
shr rbp, 4
inc ebp
mov edi, dword [rsi + 0x28]
add ebp, edi
setb r10b
movabs rbp, 0xfffffffef
cmp rbx, rbp
ja 0x14020c48c
test r10b, r10b
jne 0x14020c48c
test dl, dl
je 0x14020c066
cmp dl, 0x11
jae 0x14020c4de
mov r12, rbx
add rcx, rsi
add rcx, 0x10
mov rdx, rsi
sub rdx, rcx
add rdx, 0x20
cmp rax, rdx
cmovb rdx, rax
test rdx, rdx
je 0x14020c05c
xor edx, edx
mov bl, byte [rcx + rdx]
xor byte [r14 + rdx], bl
lea rbp, [rdx + 1]
mov rdx, rbp
cmp rax, rbp
jne 0x14020c049
add r14, rax
inc edi
jmp 0x14020c069
mov edi, dword [rsi + 0x28]
mov r12, r8
mov qword [rsp + 0x28], r12
and r12, 0xffffffffffffff80
lea rcx, [rsp + 0xb0]
call fcn.14000327f
test r12, r12
mov qword [rsp + 0x138], r14
mov qword [rsp + 0x130], r12
je 0x14020c271
mov r13, qword [rsi + 0x20]
xorps xmm6, xmm6
mov r8d, dword [rsi + 0xc]
lea rdx, [rsp + 0xb0]
xor ecx, ecx
movaps xmmword [rsp + 0x30], xmm6
lea ebx, [rdi + r8]
bswap ebx
xor ebp, ebp
cmp rbp, 3
je 0x14020c0cc
mov eax, dword [rsi + rbp*4]
mov dword [rsp + rbp*4 + 0x30], eax
inc rbp
jmp 0x14020c0ba
mov dword [rsp + 0x3c], ebx
inc rcx
mov rbp, qword [rsp + 0x30]
mov qword [rdx], rbp
mov ebp, dword [rsp + 0x38]
mov dword [rdx + 8], ebp
mov ebp, dword [rsp + 0x3c]
mov dword [rdx + 0xc], ebp
inc edi
mov rdx, rcx
shl rdx, 4
add rdx, rsp
add rdx, 0xb0
cmp rcx, 8
jne 0x14020c0ad
mov al, byte [0x140519038]
cmp al, 1
jne 0x14020c205
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, r13
lea rdx, [rsp + 0x30]
call fcn.14020c4f1
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 0x14020c23d
mov r15d, 8
lea rdx, [rsp + 0xb0]
cmp r15, 4
mov ebx, 4
cmovb rbx, r15
mov rbp, rbx
shl rbp, 4
add rbp, rdx
mov rcx, r13
mov r8, rbx
call fcn.14002cf23
mov rdx, rbp
sub r15, rbx
jne 0x14020c213
lea rax, [r14 + 0x80]
add r12, 0xffffffffffffff80
xor ecx, ecx
mov dl, byte [rsp + rcx + 0xb0]
xor byte [r14 + rcx], dl
lea rdx, [rcx + 1]
mov rcx, rdx
cmp rdx, 0x80
jne 0x14020c24a
mov r14, rax
test r12, r12
jne 0x14020c09f
mov rbp, qword [rsp + 0x138]
add rbp, qword [rsp + 0x130]
mov rax, qword [rsp + 0x28]
mov r13d, eax
and r13d, 0xf
and eax, 0x70
mov qword [rsp + 0x28], rax
je 0x14020c38a
xorps xmm6, xmm6
lea r14, [rsp + 0xb0]
lea r12, [rsp + 0x30]
mov r15, rbp
mov rbx, rax
movaps xmmword [rsp + 0xb0], xmm6
mov eax, dword [rsi + 0xc]
add eax, edi
bswap eax
xor ecx, ecx
cmp rcx, 3
je 0x14020c2d7
mov edx, dword [rsi + rcx*4]
mov dword [rsp + rcx*4 + 0xb0], edx
inc rcx
jmp 0x14020c2c2
mov dword [rsp + 0xbc], eax
mov rdx, qword [rsi + 0x20]
mov al, byte [0x140519038]
cmp al, 1
jne 0x14020c31c
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
mov rcx, r14
mov r8, r12
call fcn.14020c751
jmp 0x14020c358
xor eax, eax
movups xmmword [rsp + rax + 0x30], xmm6
add rax, 0x10
cmp rax, 0x40
jne 0x14020c31e
movaps xmm0, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0x30], xmm0
mov r8d, 4
mov rcx, rdx
mov rdx, r12
call fcn.14002cf23
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0xb0], xmm0
lea rax, [rbp + 0x10]
add rbx, 0xfffffffffffffff0
inc edi
xor ecx, ecx
mov dl, byte [rsp + rcx + 0xb0]
xor byte [rbp + rcx], dl
lea rdx, [rcx + 1]
mov rcx, rdx
cmp rdx, 0x10
jne 0x14020c364
mov rbp, rax
test rbx, rbx
jne 0x14020c2b1
jmp 0x14020c38d
mov r15, rbp
test r13, r13
je 0x14020c458
add r15, qword [rsp + 0x28]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x30], xmm0
mov eax, dword [rsi + 0xc]
add eax, edi
bswap eax
xor ecx, ecx
cmp rcx, 3
je 0x14020c3be
mov edx, dword [rsi + rcx*4]
mov dword [rsp + rcx*4 + 0x30], edx
inc rcx
jmp 0x14020c3ac
mov dword [rsp + 0x3c], eax
lea rbp, [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 [0x140519038]
cmp al, 1
jne 0x14020c40a
movups xmm0, xmmword [rbp]
lea r8, [rsp + 0x30]
movaps xmmword [r8], xmm0
lea rbx, [rsp + 0xb0]
mov rcx, rbx
call fcn.14020c751
jmp 0x14020c43b
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
cmp rax, 0x40
jne 0x14020c40f
movups xmm0, xmmword [rbp]
lea rbx, [rsp + 0x30]
movaps xmmword [rbx], xmm0
mov r8d, 4
mov rcx, rdx
mov rdx, rbx
call fcn.14002cf23
movaps xmm0, xmmword [rbx]
movups xmmword [rbp], xmm0
xor eax, eax
mov cl, byte [rbp + rax]
xor byte [r15 + rax], cl
lea rcx, [rax + 1]
mov rax, rcx
cmp r13, rcx
jne 0x14020c444
mov byte [rsi + 0x2c], r13b
mov dword [rsi + 0x28], edi
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 rax, str.C:Usersuser1.cargo_registry_srcgithub.com_1ecc6299db9ec823cipher_0.3.0_src_stream.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x1404ef56b]
lea r9, [0x1404b9dd8]
lea r8, [rsp + 0x30]
mov edx, 0x2b
call fcn.1403afcb0
ud2
lea r8, str.C:Usersuser1.cargo_registry_srcgithub.com_1ecc6299db9ec823ctr_0.8.0_srclib.rs
mov rdx, rax
call fcn.1403afbd0
ud2
lea r8, str.C:Usersuser1.cargo_registry_srcgithub.com_1ecc6299db9ec823ctr_0.8.0_srclib.rs
mov edx, 0x10
mov rcx, rax
call fcn.1403af940
ud2
lea r8, str.C:Usersuser1.cargo_registry_srcgithub.com_1ecc6299db9ec823ctr_0.8.0_srclib.rs
mov edx, 0x10
call fcn.1403af930
ud2