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

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x70
mov rsi, rdx
cmp dword [rcx], 2
jne 0x14001a323
mov rax, qword [rcx + 8]
mov rcx, qword [rcx + 0x10]
movabs rdx, 0x736f6d6570736575
xor rdx, rax
movabs r8, 0x646f72616e646f6d
xor r8, rcx
movabs r9, 0x6c7967656e657261
xor r9, rax
movabs r10, 0x7465646279746573
xor r10, rcx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], 0
movzx ebx, byte [rsi + 0x10]
xor eax, eax
cmp bl, 2
setne al
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0x20]
mov r8d, 8
call fcn.14001a5c0
cmp bl, 2
jne 0x14001a3b9
movzx eax, byte [rsi]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0x20]
mov r8d, 8
call fcn.14001a5c0
jmp 0x14001a483
movabs rcx, 0x100000001b3
movzx edx, byte [rsi + 0x10]
xor eax, eax
cmp dl, 2
setne al
mov qword [rsp + 0x28], rax
movabs rax, 0xcbf29ce484222325
mov r9b, 1
xor r8d, r8d
nop
movzx r9d, r9b
and r9d, 1
add r9, r8
movzx r8d, byte [rsp + r8 + 0x28]
xor rax, r8
imul rax, rcx
mov r8, r9
cmp r9, 8
setne r9b
jne 0x14001a350
cmp dl, 2
jne 0x14001a3d5
movzx edx, byte [rsi]
mov qword [rsp + 0x28], rdx
mov r8b, 1
xor edx, edx
nop word [rax + rax]
movzx r8d, r8b
and r8d, 1
add r8, rdx
movzx edx, byte [rsp + rdx + 0x28]
xor rax, rdx
imul rax, rcx
mov rdx, r8
cmp r8, 8
setne r8b
jne 0x14001a390
jmp 0x14001a571
cmp byte [rsi + 0x10], 0
je 0x14001a42a
mov rdx, qword [rsi]
mov r8, qword [rsi + 8]
lea rcx, [rsp + 0x28]
call fcn.14001a5c0
jmp 0x14001a483
cmp byte [rsi + 0x10], 0
je 0x14001a582
mov rdx, qword [rsi + 8]
test rdx, rdx
setne r10b
je 0x14001a571
mov r9, qword [rsi]
add rdx, r9
mov r8, rax
nop dword [rax]
movzx r10d, r10b
and r10d, 1
add r10, r9
movzx eax, byte [r9]
xor rax, r8
imul rax, rcx
mov r8, rax
mov r9, r10
cmp r10, rdx
setne r10b
jne 0x14001a400
jmp 0x14001a571
mov rbx, qword [rsi + 8]
test rbx, rbx
setne cl
je 0x14001a483
mov rax, qword [rsi]
add rbx, rax
lea r14, [0x14016c5d4]
lea rsi, [rsp + 0x28]
lea rdi, [rsp + 0x20]
nop dword [rax]
movzx r15d, cl
and r15d, 1
add r15, rax
movzx eax, byte [rax]
movzx eax, byte [rax + r14]
mov byte [rsp + 0x20], al
mov r8d, 1
mov rcx, rsi
mov rdx, rdi
call fcn.14001a5c0
mov rax, r15
cmp r15, rbx
setne cl
jne 0x14001a450
mov rcx, qword [rsp + 0x38]
mov r9, qword [rsp + 0x58]
shl r9, 0x38
or r9, qword [rsp + 0x60]
mov rax, qword [rsp + 0x40]
mov r8, qword [rsp + 0x28]
add r8, rcx
rol rcx, 0xd
xor rax, r9
xor rcx, r8
rol r8, 0x20
mov rdx, qword [rsp + 0x30]
add rdx, rax
rol rax, 0x10
xor rax, rdx
add r8, rax
rol rax, 0x15
add rdx, rcx
rol rcx, 0x11
xor rax, r8
xor rcx, rdx
rol rdx, 0x20
xor r8, r9
add r8, rcx
rol rcx, 0xd
xor rcx, r8
rol r8, 0x20
xor rdx, 0xff
add rdx, rax
rol rax, 0x10
xor rax, rdx
add r8, rax
rol rax, 0x15
add rdx, rcx
rol rcx, 0x11
xor rcx, rdx
rol rdx, 0x20
xor rax, r8
add r8, rcx
rol rcx, 0xd
xor rcx, r8
rol r8, 0x20
add rdx, rax
rol rax, 0x10
xor rax, rdx
add r8, rax
rol rax, 0x15
add rdx, rcx
rol rcx, 0x11
xor rcx, rdx
rol rdx, 0x20
xor rax, r8
add r8, rcx
rol rcx, 0xd
xor rcx, r8
add rdx, rax
shl rax, 0x10
xor rax, rdx
shr rax, 0x2b
add rdx, rcx
shr rcx, 0x2f
xor rcx, rax
mov rax, rdx
shr rax, 0x20
xor rax, rdx
xor rax, rcx
and eax, 0x7fff
add rsp, 0x70
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x14001a571
mov r8, qword [rsi]
xor r9d, r9d
lea r10, [0x14016c5d4]
mov r11, rax
nop dword [rax + rax]
movzx eax, byte [r8 + r9]
movzx eax, byte [rax + r10]
xor rax, r11
imul rax, rcx
inc r9
mov r11, rax
cmp rdx, r9
jne 0x14001a5a0
jmp 0x14001a571