Function at 0x140008620
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0x90
mov r15, r9
mov rdi, r8
mov r14, rdx
mov r13, rcx
mov r12, qword [rbp + 0x7f]
mov rsi, qword [r12]
mov rax, qword [r9]
mov qword [rbp - 0x21], rax
mov rax, qword [r8]
mov qword [rbp - 0x51], rax
mov rbx, qword [r8 + 8]
sub rbx, rax
test bl, 0xf
jne 0x14000893f
mov ecx, ebx
call fcn.140008ffc
mov qword [rbp - 0x39], rax
mov ecx, dword [r13 + 4]
inc ecx
shl ecx, 4
call fcn.140008ffc
mov qword [rbp - 0x31], rax
mov r8, rax
mov rdx, qword [rbp - 0x21]
mov rcx, r13
call fcn.140008450
movups xmm0, xmmword [rsi]
movups xmmword [rbp - 0x21], xmm0
xor esi, esi
test ebx, ebx
je 0x1400087a7
mov r12, qword [rbp - 0x31]
mov r15, qword [rbp - 0x39]
mov r14, qword [rbp - 0x51]
nop word [rax + rax]
mov r9, r12
lea r8, [rbp - 0x51]
lea rdx, [rbp - 0x21]
mov rcx, r13
call fcn.140007c50
lea rdx, [r14 + rsi]
lea rcx, [r15 + rsi]
movzx eax, byte [rbp - 0x51]
xor al, byte [rdx]
mov byte [rcx], al
movzx eax, byte [rbp - 0x50]
xor al, byte [rdx + 1]
mov byte [rcx + 1], al
movzx eax, byte [rbp - 0x4f]
xor al, byte [rdx + 2]
mov byte [rcx + 2], al
movzx eax, byte [rbp - 0x4e]
xor al, byte [rdx + 3]
mov byte [rcx + 3], al
movzx eax, byte [rbp - 0x4d]
xor al, byte [rdx + 4]
mov byte [rcx + 4], al
movzx eax, byte [rbp - 0x4c]
xor al, byte [rdx + 5]
mov byte [rcx + 5], al
movzx eax, byte [rbp - 0x4b]
xor al, byte [rdx + 6]
mov byte [rcx + 6], al
movzx eax, byte [rbp - 0x4a]
xor al, byte [rdx + 7]
mov byte [rcx + 7], al
movzx eax, byte [rbp - 0x49]
xor al, byte [rdx + 8]
mov byte [rcx + 8], al
movzx eax, byte [rbp - 0x48]
xor al, byte [rdx + 9]
mov byte [rcx + 9], al
movzx eax, byte [rbp - 0x47]
xor al, byte [rdx + 0xa]
mov byte [rcx + 0xa], al
movzx eax, byte [rbp - 0x46]
xor al, byte [rdx + 0xb]
mov byte [rcx + 0xb], al
movzx eax, byte [rbp - 0x45]
xor al, byte [rdx + 0xc]
mov byte [rcx + 0xc], al
movzx eax, byte [rbp - 0x44]
xor al, byte [rdx + 0xd]
mov byte [rcx + 0xd], al
movzx eax, byte [rbp - 0x43]
xor al, byte [rdx + 0xe]
mov byte [rcx + 0xe], al
movzx eax, byte [rbp - 0x42]
xor al, byte [rdx + 0xf]
mov byte [rcx + 0xf], al
movups xmm0, xmmword [rdx]
movups xmmword [rbp - 0x21], xmm0
add esi, 0x10
cmp esi, ebx
jb 0x1400086d0
mov r14, qword [rbp + 0x67]
mov r15, qword [rbp + 0x77]
mov r12, qword [rbp + 0x7f]
mov rcx, qword [rbp - 0x31]
call fcn.140008fc8
mov rax, qword [rdi + 8]
sub rax, qword [rdi]
mov ebx, eax
xor esi, esi
mov qword [r14], rsi
mov qword [r14 + 8], rsi
mov qword [r14 + 0x10], rsi
test eax, eax
je 0x140008842
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
ja 0x140008973
cmp rbx, 0x1000
jb 0x14000880f
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x140008979
call fcn.140008f8c
test rax, rax
je 0x14000897f
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x14000881a
mov rcx, rbx
call fcn.140008f8c
mov rsi, rax
mov qword [r14], rsi
mov qword [r14 + 8], rsi
lea rcx, [rsi + rbx]
mov qword [r14 + 0x10], rcx
mov r8, rbx
mov rdx, qword [rbp - 0x39]
mov rcx, rsi
call fcn.1400205f0
lea rax, [rbx + rsi]
mov qword [r14 + 8], rax
xor esi, esi
mov rcx, qword [rbp - 0x39]
call fcn.140008fc8
nop
mov rcx, qword [rdi]
test rcx, rcx
je 0x140008890
mov rdx, qword [rdi + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x140008880
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140008985
mov rcx, r8
call fcn.140008fc8
mov qword [rdi], rsi
mov qword [rdi + 8], rsi
mov qword [rdi + 0x10], rsi
mov rcx, qword [r15]
test rcx, rcx
je 0x1400088d0
mov rdx, qword [r15 + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x1400088c0
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140008933
mov rcx, r8
call fcn.140008fc8
mov qword [r15], rsi
mov qword [r15 + 8], rsi
mov qword [r15 + 0x10], rsi
mov rcx, qword [r12]
test rcx, rcx
je 0x140008915
mov rdx, qword [r12 + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x140008902
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140008939
mov rcx, r8
call fcn.140008fc8
mov qword [r12], rsi
mov qword [r12 + 8], rsi
mov qword [r12 + 0x10], rsi
mov rax, r14
mov rbx, qword [rsp + 0xd0]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400121dc
nop
call fcn.1400121dc
nop
lea rcx, [rbp - 0x21]
call fcn.140007870
nop
mov r8, rax
lea rcx, [rbp - 1]
call fcn.140008b10
nop
mov rdx, rax
lea rcx, [rbp - 0x51]
call fcn.140007810
lea rdx, [0x14002e510]
lea rcx, [rbp - 0x51]
call fcn.14000ad38
nop
call fcn.140007670
int3
call fcn.140001160
int3
call fcn.1400121dc
nop
call fcn.1400121dc
int3