Function at 0x140086b50
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
test rdx, rdx
je 0x140086bd3
mov rsi, rdx
mov r9d, ecx
mov edi, r8d
cmp r8d, 0x40
jb 0x140086b81
cmp dword [0x140227408], 0
jne 0x140086c79
not r9d
cmp r8d, 0x2f
jae 0x140086cb8
cmp rdi, 8
jae 0x140086be6
test rdi, rdi
je 0x140086be1
xor eax, eax
lea rcx, [0x1401eb240]
mov ebx, r9d
xor r9b, byte [rsi + rax]
shr ebx, 8
movzx edx, r9b
xor ebx, dword [rcx + rdx*4]
inc rax
mov r9d, ebx
cmp rdi, rax
jne 0x140086ba2
not ebx
mov eax, ebx
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor ebx, ebx
test r8d, r8d
jne 0x140086bc0
call fcn.14009f2e0
jmp 0x140086bc0
mov ebx, r9d
jmp 0x140086bbe
lea rax, [0x1401eb240]
mov ecx, r9d
xor r9b, byte [rsi]
shr ecx, 8
movzx edx, r9b
xor ecx, dword [rax + rdx*4]
mov edx, ecx
xor cl, byte [rsi + 1]
shr edx, 8
movzx ecx, cl
xor edx, dword [rax + rcx*4]
mov ecx, edx
xor dl, byte [rsi + 2]
shr ecx, 8
movzx edx, dl
xor ecx, dword [rax + rdx*4]
mov edx, ecx
xor cl, byte [rsi + 3]
shr edx, 8
movzx ecx, cl
xor edx, dword [rax + rcx*4]
mov ecx, edx
xor dl, byte [rsi + 4]
shr ecx, 8
movzx edx, dl
xor ecx, dword [rax + rdx*4]
add rdi, 0xfffffffffffffff8
mov edx, ecx
xor cl, byte [rsi + 5]
shr edx, 8
movzx ecx, cl
xor edx, dword [rax + rcx*4]
mov ecx, edx
shr ecx, 8
xor dl, byte [rsi + 6]
movzx edx, dl
xor ecx, dword [rax + rdx*4]
mov r9d, ecx
shr r9d, 8
xor cl, byte [rsi + 7]
add rsi, 8
movzx ecx, cl
xor r9d, dword [rax + rcx*4]
cmp rdi, 7
jbe 0x140086b94
jmp 0x140086bed
mov ebx, edi
and ebx, 0xfffffff0
not r9d
mov rcx, rsi
mov rdx, rbx
mov r8d, r9d
call fcn.1400b3b00
mov r9d, eax
xor eax, eax
mov rcx, rdi
and rcx, 0xf
cmovne rax, rbx
and rdi, 0xf
je 0x140086cad
add rsi, rax
jmp 0x140086b8e
not r9d
mov ebx, r9d
jmp 0x140086bc0
test sil, 7
je 0x140086cfa
lea rax, [rsi + 1]
lea rcx, [0x1401eb240]
mov rdx, rdi
dec rdi
mov r8d, r9d
shr r8d, 8
xor r9b, byte [rsi]
inc rsi
movzx r10d, r9b
mov r9d, r8d
xor r9d, dword [rcx + r10*4]
cmp rdx, 1
je 0x140086cfa
mov edx, eax
and edx, 7
inc rax
test rdx, rdx
jne 0x140086cc9
movabs rcx, 0xcccccccccccccccd
mov rax, rdi
mul rcx
shr rdx, 5
lea rax, [rdx*8]
lea rax, [rax + rax*4]
xor ecx, ecx
dec rdx
jne 0x140087000
xor ebx, ebx
xor r11d, r11d
xor r10d, r10d
mov r9d, r9d
xor r9, qword [rsi]
mov r14, r9
shr r14, 8
mov edx, 0xff
and r9, rdx
lea r8, [0x1401eb240]
mov r9d, dword [r8 + r9*4]
xor r9, r14
mov r14, r9
shr r14, 8
and r9, rdx
mov r9d, dword [r8 + r9*4]
xor r9, r14
mov r14, r9
shr r14, 8
and r9, rdx
mov r9d, dword [r8 + r9*4]
xor r9, r14
mov r14, r9
shr r14, 8
and r9, rdx
mov r9d, dword [r8 + r9*4]
xor r9, r14
mov r14, r9
shr r14, 8
and r9, rdx
mov r9d, dword [r8 + r9*4]
xor r9, r14
mov r14, r9
shr r14, 8
and r9, rdx
mov r9d, dword [r8 + r9*4]
xor r9, r14
mov r14, r9
shr r14, 8
and r9, rdx
mov r9d, dword [r8 + r9*4]
xor r9, r14
mov r14, r9
shr r14, 8
and r9, rdx
xor r14d, dword [r8 + r9*4]
xor rcx, qword [rsi + 8]
xor rcx, r14
mov r9, rcx
shr r9, 8
and rcx, rdx
mov ecx, dword [r8 + rcx*4]
xor rcx, r9
mov r9, rcx
shr r9, 8
and rcx, rdx
mov ecx, dword [r8 + rcx*4]
xor rcx, r9
mov r9, rcx
shr r9, 8
and rcx, rdx
mov ecx, dword [r8 + rcx*4]
xor rcx, r9
mov r9, rcx
shr r9, 8
and rcx, rdx
mov ecx, dword [r8 + rcx*4]
xor rcx, r9
mov r9, rcx
shr r9, 8
and rcx, rdx
mov ecx, dword [r8 + rcx*4]
xor rcx, r9
mov r9, rcx
shr r9, 8
and rcx, rdx
mov ecx, dword [r8 + rcx*4]
xor rcx, r9
mov r9, rcx
shr r9, 8
and rcx, rdx
mov ecx, dword [r8 + rcx*4]
xor rcx, r9
mov r9, rcx
shr r9, 8
and rcx, rdx
xor r9d, dword [r8 + rcx*4]
xor rbx, qword [rsi + 0x10]
xor rbx, r9
mov rcx, rbx
shr rcx, 8
and rbx, rdx
mov r9d, dword [r8 + rbx*4]
xor r9, rcx
mov rcx, r9
shr rcx, 8
and r9, rdx
mov r9d, dword [r8 + r9*4]
xor r9, rcx
mov rcx, r9
shr rcx, 8
and r9, rdx
mov r9d, dword [r8 + r9*4]
xor r9, rcx
mov rcx, r9
shr rcx, 8
and r9, rdx
mov r9d, dword [r8 + r9*4]
xor r9, rcx
mov rcx, r9
shr rcx, 8
and r9, rdx
mov r9d, dword [r8 + r9*4]
xor r9, rcx
mov rcx, r9
shr rcx, 8
and r9, rdx
mov r9d, dword [r8 + r9*4]
xor r9, rcx
mov rcx, r9
shr rcx, 8
and r9, rdx
mov r9d, dword [r8 + r9*4]
xor r9, rcx
mov rcx, r9
shr rcx, 8
and r9, rdx
xor ecx, dword [r8 + r9*4]
sub rdi, rax
xor r11, qword [rsi + 0x18]
xor r11, rcx
mov rax, r11
shr rax, 8
and r11, rdx
mov ecx, dword [r8 + r11*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r8 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r8 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r8 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r8 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r8 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r8 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
xor eax, dword [r8 + rcx*4]
xor r10, qword [rsi + 0x20]
xor r10, rax
mov rax, r10
shr rax, 8
and r10, rdx
mov ecx, dword [r8 + r10*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r8 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r8 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r8 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r8 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r8 + rcx*4]
xor rcx, rax
mov rax, rcx
shr rax, 8
and rcx, rdx
mov ecx, dword [r8 + rcx*4]
xor rcx, rax
mov r9, rcx
shr r9, 8
and rcx, rdx
xor r9d, dword [r8 + rcx*4]
add rsi, 0x28
jmp 0x140086b8e
xor r15d, r15d
xor r14d, r14d
xor ebp, ebp
mov r8, rsi
mov r12d, r9d
mov r9, r8
mov qword [rsp + 0x60], r8
mov r8, qword [r8]
mov qword [rsp + 0x30], r8
mov r10, qword [r9 + 8]
mov qword [rsp + 0x38], r10
xor r12, r8
mov ebx, ebp
xor rbx, r10
mov r13d, r14d
mov r10, qword [r9 + 0x10]
mov qword [rsp + 0x58], r10
xor r13, r10
mov r11d, r15d
mov r10, qword [r9 + 0x18]
mov qword [rsp + 0x48], r10
xor r11, r10
mov r8d, ecx
mov rcx, qword [r9 + 0x20]
mov qword [rsp + 0x50], rcx
xor r8, rcx
mov qword [rsp + 0x28], r8
mov r14, r12
mov ebp, 0xff
and r14, rbp
mov r15, rbx
and r15, rbp
mov r10, r13
and r10, rbp
mov rcx, r11
mov r8, r11
mov qword [rsp + 0x40], r11
and rcx, rbp
mov r9, r12
shr r9, 8
and r9, rbp
lea r11, [0x1401eb640]
mov r9d, dword [r11 + r9*4 + 0x400]
xor r9d, dword [r11 + r14*4]
mov r14, rbx
shr r14, 8
and r14, rbp
mov ebp, dword [r11 + r14*4 + 0x400]
xor ebp, dword [r11 + r15*4]
mov r14, r13
shr r14, 8
mov r15d, 0xff
and r14, r15
mov r14d, dword [r11 + r14*4 + 0x400]
xor r14d, dword [r11 + r10*4]
mov r10, r8
shr r10, 8
and r10, r15
mov r15d, dword [r11 + r10*4 + 0x400]
xor r15d, dword [r11 + rcx*4]
mov rcx, qword [rsp + 0x28]
mov r8, rcx
mov r10d, 0xff
and r8, r10
shr rcx, 8
and rcx, r10
mov ecx, dword [r11 + rcx*4 + 0x400]
xor ecx, dword [r11 + r8*4]
mov r10, r12
shr r10, 0xe
mov r8d, 0x3fc
and r10, r8
xor r9d, dword [r10 + r11 + 0x800]
mov r10, rbx
shr r10, 0xe
and r10, r8
xor ebp, dword [r10 + r11 + 0x800]
mov r10, r13
shr r10, 0xe
and r10, r8
xor r14d, dword [r10 + r11 + 0x800]
mov r10, qword [rsp + 0x40]
shr r10, 0xe
and r10, r8
xor r15d, dword [r10 + r11 + 0x800]
mov r10, qword [rsp + 0x28]
shr r10, 0xe
and r10, r8
xor ecx, dword [r10 + r11 + 0x800]
shr r12, 0x16
and r12, r8
xor r9d, dword [r12 + r11 + 0xc00]
shr rbx, 0x16
and rbx, r8
xor ebp, dword [rbx + r11 + 0xc00]
shr r13, 0x16
and r13, r8
mov ebx, 0x3fc
xor r14d, dword [r13 + r11 + 0xc00]
mov r8, qword [rsp + 0x40]
shr r8, 0x16
and r8, rbx
xor r15d, dword [r8 + r11 + 0xc00]
mov r8, qword [rsp + 0x28]
shr r8, 0x16
and r8, rbx
xor ecx, dword [r8 + r11 + 0xc00]
mov r12, qword [rsp + 0x30]
mov r8, r12
shr r8, 0x1e
and r8, rbx
xor r9d, dword [r8 + r11 + 0x1000]
mov r10, qword [rsp + 0x38]
mov r8, r10
shr r8, 0x1e
and r8, rbx
xor ebp, dword [r8 + r11 + 0x1000]
mov r13, qword [rsp + 0x58]
mov r8, r13
shr r8, 0x1e
and r8, rbx
xor r14d, dword [r8 + r11 + 0x1000]
mov r8, qword [rsp + 0x48]
shr r8, 0x1e
and r8, rbx
xor r15d, dword [r8 + r11 + 0x1000]
mov r8, qword [rsp + 0x50]
shr r8, 0x1e
and r8, rbx
xor ecx, dword [r8 + r11 + 0x1000]
mov r8, r12
shr r8, 0x26
and r8, rbx
xor r9d, dword [r8 + r11 + 0x1400]
mov r8, r10
shr r8, 0x26
and r8, rbx
xor ebp, dword [r8 + r11 + 0x1400]
mov r8, r13
shr r8, 0x26
and r8, rbx
xor r14d, dword [r8 + r11 + 0x1400]
mov r10, qword [rsp + 0x48]
mov r8, r10
shr r8, 0x26
and r8, rbx
xor r15d, dword [r8 + r11 + 0x1400]
mov r12, qword [rsp + 0x50]
mov r8, r12
shr r8, 0x26
and r8, rbx
xor ecx, dword [r8 + r11 + 0x1400]
mov r8, qword [rsp + 0x30]
shr r8, 0x2e
and r8, rbx
xor r9d, dword [r8 + r11 + 0x1800]
mov r8, qword [rsp + 0x38]
shr r8, 0x2e
and r8, rbx
xor ebp, dword [r8 + r11 + 0x1800]
mov r8, r13
shr r8, 0x2e
and r8, rbx
xor r14d, dword [r8 + r11 + 0x1800]
mov r8, r10
shr r8, 0x2e
and r8, rbx
xor r15d, dword [r8 + r11 + 0x1800]
mov r8, r12
shr r8, 0x2e
and r8, rbx
xor ecx, dword [r8 + r11 + 0x1800]
mov r8, qword [rsp + 0x30]
shr r8, 0x38
xor r9d, dword [r11 + r8*4 + 0x1c00]
mov r8, qword [rsp + 0x38]
shr r8, 0x38
xor ebp, dword [r11 + r8*4 + 0x1c00]
shr r13, 0x38
xor r14d, dword [r11 + r13*4 + 0x1c00]
shr r10, 0x38
xor r15d, dword [r11 + r10*4 + 0x1c00]
shr r12, 0x38
xor ecx, dword [r11 + r12*4 + 0x1c00]
mov r8, qword [rsp + 0x60]
add r8, 0x28
dec rdx
jne 0x14008700b
add rsi, rax
add rsi, 0xffffffffffffffd8
mov r10d, ecx
mov ecx, ebp
mov ebx, r14d
mov r11d, r15d
jmp 0x140086d2d