Function at 0x140008d10
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0xb0
movdqa xmmword [rsp + 0xa0], xmm12
movdqa xmmword [rsp + 0x90], xmm11
movdqa xmmword [rsp + 0x80], xmm10
movdqa xmmword [rsp + 0x70], xmm9
movdqa xmmword [rsp + 0x60], xmm8
movdqa xmmword [rsp + 0x50], xmm7
movdqa xmmword [rsp + 0x40], xmm6
mov rdi, rdx
mov rsi, rcx
mov r9d, dword [rcx + 0x30]
movzx edx, byte [rcx + 0x80]
not r9d
test rdx, rdx
je 0x140008dbd
mov ecx, 0x40
sub rcx, rdx
mov rax, r8
sub rax, rcx
jbe 0x140008d97
mov r10d, eax
and r10d, 0x3f
shr rax, 6
cmp r10, 1
sbb rax, 0xffffffffffffffff
cmp rax, r9
ja 0x140008ddf
lea rax, [rsi + rdx]
add rax, 0x40
mov r15, r8
sub r15, rcx
jae 0x140008e08
test r8, r8
je 0x140008e85
cmp r8, 0x10
jae 0x140008e20
xor ecx, ecx
jmp 0x140008e70
xor ecx, ecx
mov rbx, r8
and rbx, 0x3f
setne cl
mov rax, r8
shr rax, 6
add rcx, rax
mov r15, r8
cmp rcx, r9
jbe 0x140008f45
lea rax, str.C:Users.cargo_registry_srcindex.crates.io_6f17d22bba15001fcipher_0.4.4_src_stream.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x14004e820]
lea r8, [rsp + 0x28]
mov edx, 0x2b
call fcn.14004b010
cmp dl, 0x38
jbe 0x140008e14
xor edx, edx
jmp 0x140008f20
cmp dl, 0x20
jbe 0x140008e8d
xor edx, edx
jmp 0x140008eea
mov rcx, r8
and rcx, 0xfffffffffffffff0
mov r9, qword [rax]
mov r10, qword [rax + 8]
xor qword [rdi], r9
xor qword [rdi + 8], r10
cmp rcx, 0x10
je 0x140008e61
mov r9, qword [rax + 0x10]
mov r10, qword [rax + 0x18]
xor qword [rdi + 0x10], r9
xor qword [rdi + 0x18], r10
cmp rcx, 0x20
je 0x140008e61
mov r9, qword [rax + 0x20]
xor qword [rdi + 0x20], r9
mov r9, qword [rax + 0x28]
xor qword [rdi + 0x28], r9
cmp rcx, r8
je 0x140008e85
nop word cs:[rax + rax]
movzx r9d, byte [rax + rcx]
xor byte [rdi + rcx], r9b
lea r9, [rcx + 1]
mov rcx, r9
cmp r8, r9
jne 0x140008e70
add r8b, dl
jmp 0x14000936c
mov edx, ecx
and edx, 0xffffffe0
movdqu xmm0, xmmword [rdi]
movdqu xmm1, xmmword [rdi + 0x10]
movdqu xmm2, xmmword [rax]
pxor xmm2, xmm0
movdqu xmm0, xmmword [rax + 0x10]
pxor xmm0, xmm1
movdqu xmmword [rdi], xmm2
movdqu xmmword [rdi + 0x10], xmm0
cmp rdx, 0x20
je 0x140008ee1
movdqu xmm0, xmmword [rdi + 0x20]
movdqu xmm1, xmmword [rdi + 0x30]
movdqu xmm2, xmmword [rax + 0x20]
pxor xmm2, xmm0
movdqu xmm0, xmmword [rax + 0x30]
pxor xmm0, xmm1
movdqu xmmword [rdi + 0x20], xmm2
movdqu xmmword [rdi + 0x30], xmm0
cmp ecx, edx
je 0x140008f35
test cl, 0x18
je 0x140008f20
mov r8, rdx
mov edx, ecx
and edx, 0xfffffff8
nop word cs:[rax + rax]
mov r9, qword [rax + r8]
xor qword [rdi + r8], r9
add r8, 8
cmp rdx, r8
jne 0x140008f00
cmp ecx, edx
je 0x140008f35
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rdi + rdx], r8b
lea r8, [rdx + 1]
mov rdx, r8
cmp rcx, r8
jne 0x140008f20
add rdi, rcx
mov rax, r15
shr rax, 6
mov ebx, r15d
and ebx, 0x3f
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rax
movzx ecx, byte [section..data]
cmp cl, 1
jne 0x140008f7b
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.14000a210
test rbx, rbx
jne 0x140009166
jmp 0x140009369
movdqu xmm0, xmmword [rsi + 0x30]
cmp r15, 0x40
jb 0x140009158
movdqu xmm1, xmmword [rsi]
movdqu xmm2, xmmword [rsi + 0x10]
movdqu xmm3, xmmword [rsi + 0x20]
xor ecx, ecx
movd xmm4, dword [0x14004d5e0]
nop word cs:[rax + rax]
mov edx, 0xa
movdqa xmm7, xmm1
movdqa xmm5, xmm2
movdqa xmm6, xmm0
movdqa xmm8, xmm3
nop word cs:[rax + rax]
paddd xmm7, xmm5
pxor xmm6, xmm7
movdqa xmm9, xmm6
psrld xmm9, 0x10
pslld xmm6, 0x10
por xmm6, xmm9
paddd xmm8, xmm6
pxor xmm5, xmm8
movdqa xmm9, xmm5
psrld xmm9, 0x14
pslld xmm5, 0xc
por xmm5, xmm9
paddd xmm7, xmm5
pxor xmm6, xmm7
movdqa xmm9, xmm6
psrld xmm9, 0x18
pslld xmm6, 8
por xmm6, xmm9
paddd xmm8, xmm6
pxor xmm5, xmm8
movdqa xmm9, xmm5
psrld xmm9, 0x19
pslld xmm5, 7
por xmm5, xmm9
pshufd xmm8, xmm8, 0x39
pshufd xmm6, xmm6, 0x4e
pshufd xmm7, xmm7, 0x93
paddd xmm7, xmm5
pxor xmm6, xmm7
movdqa xmm9, xmm6
psrld xmm9, 0x10
pslld xmm6, 0x10
por xmm6, xmm9
paddd xmm8, xmm6
pxor xmm5, xmm8
movdqa xmm9, xmm5
psrld xmm9, 0x14
pslld xmm5, 0xc
por xmm5, xmm9
paddd xmm7, xmm5
pxor xmm6, xmm7
movdqa xmm9, xmm6
psrld xmm9, 0x18
pslld xmm6, 8
por xmm6, xmm9
paddd xmm8, xmm6
pxor xmm5, xmm8
movdqa xmm9, xmm5
psrld xmm9, 0x19
pslld xmm5, 7
por xmm5, xmm9
pshufd xmm8, xmm8, 0x93
pshufd xmm6, xmm6, 0x4e
pshufd xmm7, xmm7, 0x39
dec rdx
jne 0x140008fd0
mov rdx, rcx
shl rdx, 6
movdqu xmm9, xmmword [rdi + rdx]
movdqu xmm10, xmmword [rdi + rdx + 0x10]
movdqu xmm11, xmmword [rdi + rdx + 0x20]
movdqu xmm12, xmmword [rdi + rdx + 0x30]
paddd xmm6, xmm0
pxor xmm6, xmm12
paddd xmm8, xmm3
pxor xmm8, xmm11
paddd xmm5, xmm2
pxor xmm5, xmm10
paddd xmm7, xmm1
pxor xmm7, xmm9
inc rcx
paddd xmm0, xmm4
movdqu xmmword [rdi + rdx], xmm7
movdqu xmmword [rdi + rdx + 0x10], xmm5
movdqu xmmword [rdi + rdx + 0x20], xmm8
movdqu xmmword [rdi + rdx + 0x30], xmm6
cmp rax, rcx
jne 0x140008fb0
movd dword [rsi + 0x30], xmm0
test rbx, rbx
je 0x140009369
and r15, 0xffffffffffffffc0
lea r14, [rsi + 0x40]
movzx eax, byte [section..data]
cmp al, 1
jne 0x140009189
mov rcx, rsi
mov rdx, r14
call fcn.14000a060
jmp 0x1400092fc
movdqu xmm4, xmmword [rsi]
movdqu xmm2, xmmword [rsi + 0x10]
movdqu xmm1, xmmword [rsi + 0x20]
movdqu xmm0, xmmword [rsi + 0x30]
mov eax, 0xa
movdqa xmm6, xmm4
movdqa xmm3, xmm2
movdqa xmm5, xmm0
movdqa xmm7, xmm1
nop word cs:[rax + rax]
paddd xmm6, xmm3
pxor xmm5, xmm6
movdqa xmm8, xmm5
psrld xmm8, 0x10
pslld xmm5, 0x10
por xmm5, xmm8
paddd xmm7, xmm5
pxor xmm3, xmm7
movdqa xmm8, xmm3
psrld xmm8, 0x14
pslld xmm3, 0xc
por xmm3, xmm8
paddd xmm6, xmm3
pxor xmm5, xmm6
movdqa xmm8, xmm5
psrld xmm8, 0x18
pslld xmm5, 8
por xmm5, xmm8
paddd xmm7, xmm5
pxor xmm3, xmm7
movdqa xmm8, xmm3
psrld xmm8, 0x19
pslld xmm3, 7
por xmm3, xmm8
pshufd xmm7, xmm7, 0x39
pshufd xmm5, xmm5, 0x4e
pshufd xmm6, xmm6, 0x93
paddd xmm6, xmm3
pxor xmm5, xmm6
movdqa xmm8, xmm5
psrld xmm8, 0x10
pslld xmm5, 0x10
por xmm5, xmm8
paddd xmm7, xmm5
pxor xmm3, xmm7
movdqa xmm8, xmm3
psrld xmm8, 0x14
pslld xmm3, 0xc
por xmm3, xmm8
paddd xmm6, xmm3
pxor xmm5, xmm6
movdqa xmm8, xmm5
psrld xmm8, 0x18
pslld xmm5, 8
por xmm5, xmm8
paddd xmm7, xmm5
pxor xmm3, xmm7
movdqa xmm8, xmm3
psrld xmm8, 0x19
pslld xmm3, 7
por xmm3, xmm8
pshufd xmm7, xmm7, 0x93
pshufd xmm5, xmm5, 0x4e
pshufd xmm6, xmm6, 0x39
dec rax
jne 0x1400091c0
paddd xmm6, xmm4
paddd xmm3, xmm2
paddd xmm7, xmm1
paddd xmm5, xmm0
movdqu xmmword [rsi + 0x40], xmm6
movdqu xmmword [rsi + 0x50], xmm3
movdqu xmmword [rsi + 0x60], xmm7
movdqu xmmword [rsi + 0x70], xmm5
movd eax, xmm0
inc eax
mov dword [rsi + 0x30], eax
add rdi, r15
lea rax, [rbx - 1]
cmp rbx, rax
cmovb rax, rbx
cmp rax, 0x10
jae 0x140009314
xor eax, eax
jmp 0x140009350
inc rax
mov ecx, eax
and ecx, 0xf
mov edx, 0x10
cmovne rdx, rcx
sub rax, rdx
xor ecx, ecx
nop word [rax + rax]
movdqu xmm0, xmmword [rdi + rcx]
movdqu xmm1, xmmword [r14 + rcx]
pxor xmm1, xmm0
movdqu xmmword [rdi + rcx], xmm1
add rcx, 0x10
cmp rax, rcx
jne 0x140009330
nop dword [rax]
cmp rbx, rax
je 0x1400093b3
movzx ecx, byte [r14 + rax]
xor byte [rdi + rax], cl
lea rcx, [rax + 1]
mov rax, rcx
cmp rbx, rcx
jne 0x140009350
mov r8d, ebx
mov byte [rsi + 0x80], r8b
movaps xmm6, xmmword [rsp + 0x40]
movaps xmm7, xmmword [rsp + 0x50]
movaps xmm8, xmmword [rsp + 0x60]
movaps xmm9, xmmword [rsp + 0x70]
movaps xmm10, xmmword [rsp + 0x80]
movaps xmm11, xmmword [rsp + 0x90]
movaps xmm12, xmmword [rsp + 0xa0]
add rsp, 0xb0
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
lea r8, str.C:Users.cargo_registry_srcindex.crates.io_6f17d22bba15001finout_0.1.3_srcinout_buf.rsC:Users.cargo_registry_srcindex.crates.io_6f17d22bba15001fcrossbeam_queue_0.3.11_src_seg_queue.rs
mov rcx, rbx
mov rdx, rbx
call fcn.14004acc0
int3