Function at 0x14003193c
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x188
movaps xmmword [rsp + 0x170], xmm7
movaps xmmword [rsp + 0x160], xmm6
mov rbx, rcx
mov r10b, byte [rcx + 0x2c]
movzx ecx, r10b
mov eax, 0x10
sub rax, rcx
mov r11, r8
sub r11, rax
jae 0x1400319bc
test r10b, r10b
je 0x140031a2c
lea rax, [rcx + r8]
cmp rax, 0x11
jae 0x140031f19
test r8, r8
je 0x1400319b4
add rcx, rbx
add rcx, 0x18
xor r10d, r10d
mov r9b, byte [rcx + r10]
xor byte [rdx + r10], r9b
lea r9, [r10 + 1]
mov r10, r9
cmp r8, r9
jne 0x1400319a0
mov byte [rbx + 0x2c], al
jmp 0x140031ecc
movabs r9, 0xfffffffef
cmp r11, r9
ja 0x140031ef0
mov r9, r11
shr r9, 4
inc r9d
mov ebp, dword [rbx + 0x28]
add r9d, ebp
jb 0x140031ef0
test r10b, r10b
je 0x140031a2f
cmp r10b, 0x11
jae 0x140031f2d
lea r8, [rbx + 0x28]
add rcx, rbx
add rcx, 0x18
sub r8, rcx
cmp rax, r8
cmovb r8, rax
test r8, r8
je 0x140031a25
xor r9d, r9d
mov r8b, byte [rcx + r9]
xor byte [rdx + r9], r8b
lea r8, [r9 + 1]
mov r9, r8
cmp rax, r8
jne 0x140031a11
add rdx, rax
inc ebp
jmp 0x140031a32
mov ebp, dword [rbx + 0x28]
mov r11, r8
mov qword [rsp + 0xb0], 0
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rsp + rax + 0x30], xmm0
inc qword [rsp + 0xb0]
add rax, 0x10
cmp rax, 0x80
jne 0x140031a43
mov rax, r11
and rax, 0xffffffffffffff80
mov qword [rsp + 0x148], r11
and r11d, 0x7f
mov qword [rsp + 0xb8], r11
lea rdi, [rsp + 0xc0]
lea rsi, [rsp + 0x30]
mov ecx, 0x10
rep movsq qword [rdi], qword [rsi]
test rax, rax
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x140], rax
je 0x140031c87
mov rsi, qword [rbx]
mov rdi, rax
mov r14, rdx
mov eax, dword [rbx + 0x14]
lea rdx, [rsp + 0xc0]
xor ecx, ecx
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
xor r8d, r8d
mov r9d, dword [rbx + r8*4 + 8]
mov dword [rsp + r8*4 + 0x30], r9d
lea r9, [r8 + 1]
mov r8, r9
cmp r9, 3
jne 0x140031acc
lea r8d, [rax + rbp]
inc rcx
bswap r8d
mov dword [rsp + 0x3c], r8d
movups xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x150], xmm0
movups xmmword [rdx], xmm0
inc ebp
mov rdx, rcx
shl rdx, 4
add rdx, rsp
add rdx, 0xc0
cmp rcx, 8
jne 0x140031ab8
mov al, byte [0x14047d018]
cmp al, 1
jne 0x140031c1a
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmm1, xmmword [rsp + 0xd0]
movaps xmm2, xmmword [rsp + 0xe0]
movaps xmm3, xmmword [rsp + 0xf0]
movaps xmm4, xmmword [rsp + 0x100]
movaps xmm5, xmmword [rsp + 0x110]
movaps xmm6, xmmword [rsp + 0x120]
movaps xmm7, xmmword [rsp + 0x130]
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], xmm6
movaps xmmword [rsp + 0xa0], xmm7
mov rcx, rsi
lea rdx, [rsp + 0x30]
call fcn.140018e6e
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 xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xe0], xmm2
movaps xmmword [rsp + 0xf0], xmm3
movaps xmmword [rsp + 0x100], xmm4
movaps xmmword [rsp + 0x110], xmm5
movaps xmmword [rsp + 0x120], xmm6
movaps xmmword [rsp + 0x130], xmm7
jmp 0x140031c53
mov r13d, 8
lea rdx, [rsp + 0xc0]
cmp r13, 4
mov r15d, 4
cmovb r15, r13
mov r12, r15
shl r12, 4
add r12, rdx
mov rcx, rsi
mov r8, r15
call fcn.14006073e
mov rdx, r12
sub r13, r15
jne 0x140031c28
lea rax, [r14 + 0x80]
add rdi, 0xffffffffffffff80
xor ecx, ecx
mov dl, byte [rsp + rcx + 0xc0]
xor byte [r14 + rcx], dl
lea rdx, [rcx + 1]
mov rcx, rdx
cmp rdx, 0x80
jne 0x140031c60
mov r14, rax
test rdi, rdi
jne 0x140031aab
mov r12, qword [rsp + 0x28]
add r12, qword [rsp + 0x140]
mov rax, qword [rsp + 0x148]
and eax, 0xf
mov r15, qword [rsp + 0xb8]
mov r13, rax
sub r15, rax
cmp r15, 0x10
mov qword [rsp + 0x28], r12
jb 0x140031dd6
lea rdi, [rsp + 0x30]
xorps xmm6, xmm6
mov r14, r15
test r12, r12
je 0x140031dd6
lea rsi, [r12 + 0x10]
add r14, 0xfffffffffffffff0
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov eax, dword [rbx + 0x14]
xor ecx, ecx
mov edx, dword [rbx + rcx*4 + 8]
mov dword [rsp + rcx*4 + 0x30], edx
lea rdx, [rcx + 1]
mov rcx, rdx
cmp rdx, 3
jne 0x140031cef
add eax, ebp
bswap eax
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xc0], rax
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0xc8], eax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0xcc], eax
mov rdx, qword [rbx]
mov al, byte [0x14047d018]
cmp al, 1
jne 0x140031d71
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0xcc]
mov dword [rsp + 0x3c], eax
lea rcx, [rsp + 0xc0]
mov r8, rdi
call fcn.140018df2
jmp 0x140031dad
xor eax, eax
movups xmmword [rsp + rax + 0x30], xmm6
add rax, 0x10
cmp rax, 0x40
jne 0x140031d73
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x30], xmm0
mov r8d, 4
mov rcx, rdx
mov rdx, rdi
call fcn.14006073e
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0xc0], xmm0
inc ebp
xor eax, eax
mov cl, byte [rsp + rax + 0xc0]
xor byte [r12 + rax], cl
lea rcx, [rax + 1]
mov rax, rcx
cmp rcx, 0x10
jne 0x140031db1
mov r12, rsi
cmp r14, 0x10
jae 0x140031cc7
mov r14, r13
test r13, r13
je 0x140031ec5
mov r13, qword [rsp + 0x28]
add r15, r13
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov eax, dword [rbx + 0x14]
xor ecx, ecx
mov edx, dword [rbx + rcx*4 + 8]
mov dword [rsp + rcx*4 + 0x30], edx
lea rdx, [rcx + 1]
mov rcx, rdx
cmp rdx, 3
jne 0x140031e00
add eax, ebp
bswap eax
mov dword [rsp + 0x3c], eax
lea rdi, [rbx + 0x18]
mov rax, qword [rsp + 0x30]
mov qword [rbx + 0x18], rax
mov eax, dword [rsp + 0x38]
mov dword [rbx + 0x20], eax
mov eax, dword [rsp + 0x3c]
mov dword [rbx + 0x24], eax
mov rdx, qword [rbx]
mov al, byte [0x14047d018]
cmp al, 1
jne 0x140031e63
movups xmm0, xmmword [rdi]
lea r8, [rsp + 0x30]
movaps xmmword [r8], xmm0
lea rsi, [rsp + 0xc0]
mov rcx, rsi
call fcn.140018df2
jmp 0x140031e93
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rsp + rax + 0x30], xmm0
add rax, 0x10
cmp rax, 0x40
jne 0x140031e68
movups xmm0, xmmword [rdi]
lea rsi, [rsp + 0x30]
movaps xmmword [rsi], xmm0
mov r8d, 4
mov rcx, rdx
mov rdx, rsi
call fcn.14006073e
movaps xmm0, xmmword [rsi]
movups xmmword [rdi], xmm0
add r13, qword [rsp + 0xb8]
sub r13, r15
cmp r13, r14
cmovae r13, r14
test r13, r13
je 0x140031ec5
xor eax, eax
mov cl, byte [rdi + rax]
xor byte [r15 + rax], cl
lea rcx, [rax + 1]
mov rax, rcx
cmp r14, rcx
jne 0x140031eb2
mov byte [rbx + 0x2c], r14b
mov dword [rbx + 0x28], ebp
movaps xmm6, xmmword [rsp + 0x160]
movaps xmm7, xmmword [rsp + 0x170]
add rsp, 0x188
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rax, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001fcipher_0.3.0_src_stream.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x1403e5a28]
lea r9, [0x1403411d0]
lea r8, [rsp + 0x30]
mov edx, 0x2b
call fcn.1403345c0
lea r8, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001fctr_0.8.0_srclib.rs
mov edx, 0x10
mov rcx, rax
call fcn.1403341b0
lea r8, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001fctr_0.8.0_srclib.rs
mov edx, 0x10
call fcn.1403340b0
int3