Function at 0x140008660
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x28
lea rax, [rdx + 0xf]
mov r9, rdx
lea r13, [rcx + 0xf]
mov rsi, rcx
mov r15d, 0x10
cmp rcx, rax
ja 0x1400086b3
cmp r13, rdx
jb 0x1400086b3
mov r8, rdx
mov edx, r15d
sub r8, rcx
nop dword [rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1400086a0
jmp 0x1400086c2
movdqu xmm1, xmmword [rcx]
movdqu xmm0, xmmword [rdx]
xorps xmm1, xmm0
movdqu xmmword [rcx], xmm1
mov r11d, 9
lea rbp, [rsi + 0x10]
mov qword [rsp + 0x88], r11
lea r14, [r9 + 0x10]
lea rbx, [0x140000000]
nop
mov rdx, rsi
cmp rsi, rbp
je 0x140008711
nop dword [rax + rax]
movzx ecx, byte [rdx]
mov eax, ecx
and eax, 0xf
movzx eax, byte [rax + rbx + 0x379c30]
xor al, byte [rcx + rbx + 0x379c40]
mov byte [rdx], al
inc rdx
cmp rdx, rbp
jne 0x1400086f0
movups xmm0, xmmword [rsi]
mov r12, rsi
movq r10, xmm0
psrldq xmm0, 8
mov r9, r10
movq r8, xmm0
shr r9, 0x20
mov eax, r8d
and eax, 0xff0000
mov ecx, r9d
and ecx, 0xff00
mov rdx, r8
or ecx, eax
shr rdx, 0x20
mov eax, edx
and eax, 0xff000000
or ecx, eax
movzx eax, r10b
or ecx, eax
movzx eax, r9b
mov dword [rsi], ecx
mov ecx, r10d
and ecx, 0xff000000
or ecx, eax
mov eax, edx
and eax, 0xff0000
or ecx, eax
mov eax, r8d
and eax, 0xff00
or ecx, eax
mov eax, r9d
mov dword [rsi + 4], ecx
and eax, 0xff000000
and r9d, 0xff0000
mov ecx, edx
and ecx, 0xff00
or ecx, eax
movzx eax, r8b
or ecx, eax
and r8d, 0xff000000
mov eax, r10d
and r10d, 0xff00
and eax, 0xff0000
or ecx, eax
movzx eax, dl
or r10d, eax
mov dword [rsi + 8], ecx
or r10d, r9d
or r10d, r8d
mov dword [rsi + 0xc], r10d
cmp rsi, rbp
je 0x1400088c7
mov eax, dword [r12]
movzx edi, al
mov dword [rsp + 0x80], eax
mov ebx, eax
shr ebx, 8
movzx ecx, al
add cl, cl
mov dword [rsp + 0x70], eax
sar dil, 7
mov edx, eax
shr edx, 0x10
and dil, 0x1b
xor dil, cl
movzx r9d, dl
sar r9b, 7
mov r11d, eax
shr r11d, 0x18
and r9b, 0x1b
movzx r8d, bl
movzx ecx, bl
add cl, cl
sar r8b, 7
and r8b, 0x1b
movzx r10d, r11b
xor r8b, cl
sar r10b, 7
movzx ecx, dl
and r10b, 0x1b
add cl, cl
xor r9b, cl
movzx ecx, r11b
add cl, cl
xor r10b, cl
movzx ecx, dil
xor cl, r8b
xor cl, bl
xor cl, r11b
xor cl, dl
movzx edx, r9b
xor dl, r8b
mov byte [rsp + 0x70], cl
xor dl, byte [rsp + 0x82]
xor dl, byte [rsp + 0x83]
xor dl, al
mov byte [rsp + 0x71], dl
movzx edx, r10b
xor dl, r9b
xor r10b, dil
xor dl, byte [rsp + 0x83]
xor r10b, byte [rsp + 0x82]
xor dl, byte [rsp + 0x81]
xor r10b, byte [rsp + 0x81]
xor dl, al
xor r10b, al
mov byte [rsp + 0x72], dl
mov byte [rsp + 0x73], r10b
mov eax, dword [rsp + 0x70]
mov dword [r12], eax
add r12, 4
cmp r12, rbp
jne 0x1400087d0
mov r11, qword [rsp + 0x88]
lea rbx, [0x140000000]
mov r8, r14
sub r8, rsi
lea rax, [r8 + r13]
cmp rsi, rax
ja 0x1400088f4
cmp r13, r14
jb 0x1400088f4
mov rax, rsi
mov rdx, r15
movzx ecx, byte [r8 + rax]
xor byte [rax], cl
lea rax, [rax + 1]
sub rdx, 1
jne 0x1400088e1
jmp 0x140008904
movdqu xmm1, xmmword [rsi]
movdqu xmm0, xmmword [r14]
xorps xmm1, xmm0
movdqu xmmword [rsi], xmm1
add r14, r15
sub r11, 1
mov qword [rsp + 0x88], r11
jne 0x1400086e0
mov rdx, rsi
cmp rsi, rbp
je 0x140008951
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rdx]
mov eax, ecx
and eax, 0xf
movzx eax, byte [rax + rbx + 0x379c30]
xor al, byte [rcx + rbx + 0x379c40]
mov byte [rdx], al
inc rdx
cmp rdx, rbp
jne 0x140008930
mov rcx, rsi
call fcn.140008a00
mov rcx, qword [rsp + 0x78]
add rcx, 0xa0
lea rax, [rcx + 0xf]
cmp rsi, rax
ja 0x140008992
cmp r13, rcx
jb 0x140008992
sub rcx, rsi
nop word [rax + rax]
movzx eax, byte [rcx + rsi]
xor byte [rsi], al
lea rsi, [rsi + 1]
sub r15, 1
jne 0x140008980
jmp 0x1400089a1
movdqu xmm1, xmmword [rsi]
movdqu xmm0, xmmword [rcx]
xorps xmm1, xmm0
movdqu xmmword [rsi], xmm1
add rsp, 0x28
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret