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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0xe0
mov rax, qword [0x140153250]
xor rax, rsp
mov qword [rbp + 0xf], rax
mov rsi, r9
mov qword [rsp + 0x40], r9
mov rdi, r8
mov qword [rsp + 0x38], r8
mov rbx, rdx
mov qword [rbp - 0x79], rdx
mov qword [rbp - 0x19], rcx
mov r12, qword [rbp + 0x77]
mov qword [rsp + 0x48], r12
mov r15d, 4
lea r14d, [r15 - 5]
test rcx, rcx
je 0x1400a1f5d
cmp byte [0x140195719], 0
je 0x1400a1f5d
cmp byte [rbp + 0x7f], 0
je 0x1400a1f5d
xorps xmm0, xmm0
movups xmmword [rbp - 0x11], xmm0
xor ebx, ebx
mov qword [rbp - 1], rbx
mov qword [rbp + 7], rbx
xor r8d, r8d
lea rdx, [0x1401090cd]
lea rcx, [rbp - 0x11]
call fcn.14000dd00
nop
mov byte [rsp + 0x20], bl
mov rdx, qword [rbp - 0x19]
movzx ecx, dl
movabs rdi, 0xcbf29ce484222325
xor rcx, rdi
movabs r8, 0x100000001b3
imul rcx, r8
movzx eax, byte [rbp - 0x18]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rbp - 0x17]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rbp - 0x16]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rbp - 0x15]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rbp - 0x14]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rbp - 0x13]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rbp - 0x12]
xor rcx, rax
imul rcx, r8
and rcx, qword [0x1401d1080]
shl rcx, 4
add rcx, qword [0x1401d1068]
mov rax, qword [rcx + 8]
cmp rax, qword [0x1401d1058]
je 0x1400a1d24
mov rcx, qword [rcx]
cmp rdx, qword [rax + 0x10]
je 0x1400a1d27
cmp rax, rcx
je 0x1400a1d24
mov rax, qword [rax + 8]
cmp rdx, qword [rax + 0x10]
jne 0x1400a1d13
jmp 0x1400a1d27
mov rax, rbx
test rax, rax
je 0x1400a1d6b
lea r8, [rbp - 0x19]
lea rdx, [rsp + 0x28]
call fcn.1400a3540
mov rdx, qword [rax]
add rdx, 0x18
lea rax, [rbp - 0x11]
cmp rax, rdx
je 0x1400a1d61
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1400a1d58
mov rdx, qword [rdx]
lea rcx, [rbp - 0x11]
call fcn.1400204d0
mov byte [rsp + 0x20], 1
jmp 0x1400a1e10
mov rcx, rdx
call fcn.140041290
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400a1d83
call fcn.14002bd80
jmp 0x1400a1d86
mov rax, rbx
lea rdx, [rbp - 0x71]
mov rcx, rax
call fcn.14003dac0
mov rsi, rax
lea rax, [rbp - 0x11]
cmp rax, rsi
je 0x1400a1e07
mov rdx, qword [rbp + 7]
cmp rdx, 0x10
jb 0x1400a1dd9
inc rdx
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a1dd4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a1fe3
call fcn.1400bf250
mov qword [rbp - 1], rbx
mov qword [rbp + 7], 0xf
mov byte [rbp - 0x11], 0
movups xmm0, xmmword [rsi]
movups xmmword [rbp - 0x11], xmm0
movups xmm1, xmmword [rsi + 0x10]
movups xmmword [rbp - 1], xmm1
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], 0xf
mov byte [rsi], 0
lea rcx, [rbp - 0x71]
call fcn.140020470
lea rcx, [rbp - 0x11]
mov r12, qword [rbp - 0x11]
cmp qword [rbp + 7], 0x10
cmovae rcx, r12
mov rsi, qword [rbp - 1]
cmp rsi, 3
jne 0x1400a1e42
mov r8, rsi
lea rdx, [0x14010c748]
call fcn.1400c2010
test eax, eax
je 0x1400a1f41
lea rcx, [rbp - 0x11]
cmp qword [rbp + 7], 0x10
cmovae rcx, r12
test rsi, rsi
je 0x1400a1e73
movabs rdx, 0x100000001b3
nop
movzx eax, byte [rbx + rcx]
xor rdi, rax
imul rdi, rdx
inc rbx
cmp rbx, rsi
jb 0x1400a1e60
mov r9, rdi
lea r8, [rbp - 0x11]
lea rdx, [rbp - 0x29]
call fcn.14002c750
cmp qword [rax + 8], 0
jne 0x1400a1e9d
mov ecx, r15d
mov dword [rsp + 0x28], ecx
mov edx, r14d
mov dword [rsp + 0x2c], edx
mov r8d, r14d
jmp 0x1400a1ec4
lea r8, [rbp - 0x11]
lea rdx, [rbp - 0x71]
call fcn.1400245a0
mov rcx, qword [rax]
movsd xmm0, qword [rcx + 0x30]
movsd qword [rsp + 0x28], xmm0
mov r8d, dword [rcx + 0x38]
mov edx, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x28]
mov rax, qword [rsp + 0x28]
shr rax, 0x20
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
cmp eax, 0xffffffff
je 0x1400a1f4b
mov dword [rsi], r8d
cmp ecx, 1
sete al
mov byte [r12], al
mov ecx, edx
call fcn.140015630
mov rdi, qword [rsp + 0x38]
mov dword [rdi], eax
cmp eax, 0xffffffff
je 0x1400a1f50
cmp byte [rsp + 0x20], 0
jne 0x1400a1f31
mov rax, qword [rbp - 0x19]
mov qword [rbp - 0x51], rax
lea rdx, [rbp - 0x11]
lea rcx, [rbp - 0x49]
call fcn.14001cdf0
nop
lea r8, [rbp - 0x51]
lea rdx, [rbp - 0x71]
call fcn.1400a3b60
nop
lea rcx, [rbp - 0x49]
call fcn.140020470
nop
lea rcx, [rbp - 0x11]
call fcn.140020470
mov al, 1
jmp 0x1400a1fc5
mov rsi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x38]
lea rcx, [rbp - 0x11]
call fcn.140020470
mov rbx, qword [rbp - 0x79]
mov rdx, rbx
call fcn.140023170
test al, al
jne 0x1400a1f75
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x2c], r14d
jmp 0x1400a1f98
mov r8, rbx
lea rdx, [rbp - 0x71]
call fcn.1400245a0
mov rcx, qword [rax]
movsd xmm0, qword [rcx + 0x30]
movsd qword [rsp + 0x28], xmm0
mov r14d, dword [rcx + 0x38]
mov r15d, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x28]
shr rcx, 0x20
cmp ecx, 0xffffffff
je 0x1400a1fc3
mov dword [rsi], r14d
cmp r15d, 1
sete al
mov byte [r12], al
call fcn.140015630
mov dword [rdi], eax
cmp eax, 0xffffffff
setne al
jmp 0x1400a1fc5
xor al, al
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.1400bf230
add rsp, 0xe0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1400cff60
nop
int3