Function at 0x140008990
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x80
mov rax, qword [0x140059010]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov rdx, qword [rcx]
mov rbx, rcx
mov r8, qword [rcx + 0x18]
mov rcx, rdx
lea rax, [rdx + 1]
add rax, r8
cmp rdx, rax
je 0x140008a01
movdqa xmm3, xmmword [0x1400542c0]
xorps xmm2, xmm2
movdqa xmm4, xmmword [0x1400542e0]
nop word [rax + rax]
movdqu xmm0, xmmword [rcx]
movdqa xmm1, xmm2
pcmpgtb xmm1, xmm0
pandn xmm1, xmm3
por xmm1, xmm4
movdqu xmmword [rcx], xmm1
add rcx, 0x10
cmp rcx, rax
jne 0x1400089e0
movups xmm0, xmmword [rdx]
xor edi, edi
mov esi, edi
movups xmmword [rax], xmm0
mov byte [r8 + rdx], 0xff
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x140008cd6
mov qword [rsp + 0xa8], rbp
movabs rdx, 0xcbf29ce484222325
mov qword [rsp + 0xb0], r12
lea rbp, [rdi - 0x10]
mov qword [rsp + 0xb8], r13
lea r12, [0x140037f80]
mov qword [rsp + 0x78], r14
movabs r13, 0x100000001b3
mov qword [rsp + 0x70], r15
mov r14d, edi
movabs r11, 0xde5fb9d2630458e9
nop dword [rax + rax]
mov r9, qword [rbx]
cmp byte [r9 + rsi], 0xfe
lea r15, [r9 + rsi]
jne 0x140008c9d
mov rcx, qword [rbx + 8]
add rcx, r14
mov rax, rcx
cmp qword [rcx + 0x18], 8
jb 0x140008a96
mov rax, qword [rcx]
mov rcx, qword [rcx + 0x10]
mov r8, rdx
lea r10, [rax + rcx*2]
cmp rax, r10
je 0x140008ac8
nop word [rax + rax]
movsx rcx, byte [rax]
inc rax
movsx rdx, byte [rcx + r12]
xor r8, rdx
imul r8, r13
cmp rax, r10
jne 0x140008ab0
mov r10, qword [rbx + 0x18]
mov rax, r11
movdqa xmm2, xmmword [0x1400542f0]
mov rcx, rdi
mul r8
movdqa xmm1, xmm2
lea r8, [rax + rdx]
mov r11, r8
shr r11, 7
and r11, r10
mov rdx, r11
movdqu xmm0, xmmword [r9 + r11]
pcmpgtb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x140008b30
nop dword [rax]
nop dword [rax + rax]
add rcx, 0x10
movdqa xmm1, xmm2
add rdx, rcx
and rdx, r10
movdqu xmm0, xmmword [r9 + rdx]
pcmpgtb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
je 0x140008b10
bsf edi, eax
mov rax, rsi
and r8b, 0x7f
add rdi, rdx
sub rax, r11
and rdi, r10
mov rcx, rdi
sub rcx, r11
xor rcx, rax
and rcx, r10
test rcx, 0xfffffffffffffff0
jne 0x140008b78
mov byte [r15], r8b
mov rcx, rbp
mov rax, qword [rbx + 0x18]
and rcx, rax
and eax, 0xf
add rcx, rax
mov rax, qword [rbx]
mov byte [rcx + rax + 1], r8b
jmp 0x140008c87
lea rax, [r9 + rdi]
lea rcx, [rdi - 0x10]
shl rdi, 6
cmp byte [rax], 0x80
mov byte [rax], r8b
mov rax, qword [rbx + 0x18]
jne 0x140008c39
xor edx, edx
and rcx, rax
xorps xmm0, xmm0
and eax, 0xf
add rcx, rax
mov rax, qword [rbx]
mov byte [rcx + rax + 1], r8b
mov rax, qword [rbx + 8]
lea rcx, [rax + r14]
movups xmmword [rax + rdi], xmm0
mov qword [rax + rdi + 0x10], rdx
mov qword [rax + rdi + 0x18], rdx
movups xmm0, xmmword [rcx]
movups xmmword [rax + rdi], xmm0
movups xmm1, xmmword [rcx + 0x10]
xorps xmm0, xmm0
movups xmmword [rax + rdi + 0x10], xmm1
mov qword [rcx + 0x10], rdx
mov qword [rcx + 0x18], 7
mov word [rcx], dx
movups xmmword [rax + rdi + 0x20], xmm0
mov qword [rax + rdi + 0x30], rdx
mov qword [rax + rdi + 0x38], rdx
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + rdi + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + rdi + 0x30], xmm1
mov qword [rcx + 0x30], rdx
mov qword [rcx + 0x38], 7
mov word [rcx + 0x20], dx
call fcn.140009010
mov rax, qword [rbx]
mov byte [rsi + rax], 0x80
mov rax, qword [rbx + 0x18]
mov rcx, rax
and eax, 0xf
and rcx, rbp
add rcx, rax
mov rax, qword [rbx]
mov byte [rcx + rax + 1], 0x80
jmp 0x140008c87
and rcx, rax
lea rdx, [rsp + 0x28]
and eax, 0xf
add rcx, rax
mov rax, qword [rbx]
mov byte [rcx + rax + 1], r8b
mov r8, qword [rbx + 8]
add r8, r14
call fcn.140007790
mov rax, qword [rbx + 8]
lea r8, [rdi + rax]
lea rdx, [rax + r14]
call fcn.140007790
mov rdx, qword [rbx + 8]
lea r8, [rsp + 0x28]
add rdx, rdi
call fcn.140007790
dec rsi
sub r14, 0x40
dec rbp
xor edi, edi
movabs rdx, 0xcbf29ce484222325
movabs r11, 0xde5fb9d2630458e9
mov rcx, qword [rbx + 0x18]
inc rsi
add r14, 0x40
inc rbp
cmp rsi, rcx
jne 0x140008a70
mov r15, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
mov r13, qword [rsp + 0xb8]
mov r12, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xa8]
mov rax, rcx
shr rax, 3
sub rcx, rax
sub rcx, qword [rbx + 0x10]
mov qword [rbx + 0x30], rcx
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.140014ed0
add rsp, 0x80
pop rdi
pop rsi
pop rbx
ret