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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x90
mov rsi, r8
mov rbx, rdx
mov r15, qword [r8 + 0x18]
cmp r15, 0x10
jb 0x1400a44b4
mov r8, qword [r8]
movabs rdx, 0xcbf29ce484222325
mov r14, qword [rsi + 0x10]
xor ecx, ecx
test r14, r14
je 0x1400a44f4
movabs r9, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor rdx, rax
imul rdx, r9
inc rcx
cmp rcx, r14
jb 0x1400a44e0
and rdx, qword [0x1402bc7f0]
add rdx, rdx
mov rax, qword [0x1402bc7d8]
mov rdi, qword [rax + rdx*8 + 8]
mov r13, qword [0x1402bc7c8]
cmp rdi, r13
je 0x1400a4946
mov r12, qword [rax + rdx*8]
nop
lea rdx, [rdi + 0x10]
cmp qword [rdi + 0x28], 0x10
jb 0x1400a452f
mov rdx, qword [rdi + 0x10]
mov rcx, rsi
cmp r15, 0x10
jb 0x1400a453b
mov rcx, qword [rsi]
cmp r14, qword [rdi + 0x20]
jne 0x1400a454d
mov r8, r14
call fcn.1401c41a0
test eax, eax
je 0x1400a455c
cmp rdi, r12
je 0x1400a4946
mov rdi, qword [rdi + 8]
jmp 0x1400a4520
test rdi, rdi
je 0x1400a4946
cmp rdi, r13
je 0x1400a4946
lea rcx, [rdi + 0x30]
call fcn.1400a3cd0
mov qword [rbp - 0x21], rax
mov r15, qword [rax]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x19], xmm0
xor r14d, r14d
mov qword [rbp - 9], r14
mov r9, qword [r15 + 0x18]
sub r9, qword [r15 + 0x10]
sar r9, 5
mov qword [rbp - 0x29], r9
xor r13d, r13d
mov rdi, qword [rbp - 0x11]
nop dword [rax]
nop dword [rax + rax]
lea ecx, [r13*4]
xor edx, edx
mov rax, qword [rbp + 0x67]
mov eax, dword [rcx + rax]
div r9d
mov r8d, edx
mov ecx, eax
add eax, edx
xor edx, edx
div r9d
mov esi, edx
xor edx, edx
mov eax, ecx
div r9d
add eax, esi
xor edx, edx
div r9d
mov dword [rbp + 0x77], edx
mov ecx, r8d
shl rcx, 5
mov qword [rbp + 0x7f], rcx
mov r8, qword [r15 + 0x10]
add r8, rcx
mov rdx, r8
cmp qword [r8 + 0x18], 0x10
jb 0x1400a4602
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
mov rcx, rbx
call fcn.14001b680
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x1400a4637
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rdx, 0x10
jb 0x1400a462f
mov rax, qword [rbx]
mov word [rax + rcx], 0x20
jmp 0x1400a4649
mov r9b, 0x20
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.1400076d0
mov r12, rsi
shl r12, 5
mov r8, qword [r15 + 0x10]
add r8, r12
mov rdx, r8
cmp qword [r8 + 0x18], 0x10
jb 0x1400a4664
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
mov rcx, rbx
call fcn.14001b680
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x1400a4699
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rdx, 0x10
jb 0x1400a4691
mov rax, qword [rbx]
mov word [rax + rcx], 0x20
jmp 0x1400a46ab
mov r9b, 0x20
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.1400076d0
mov esi, dword [rbp + 0x77]
shl rsi, 5
mov r8, qword [r15 + 0x10]
add r8, rsi
mov rdx, r8
cmp qword [r8 + 0x18], 0x10
jb 0x1400a46c6
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
mov rcx, rbx
call fcn.14001b680
mov r8, qword [rbp + 0x7f]
add r8, qword [r15 + 0x10]
cmp rdi, r14
je 0x1400a46f4
mov rdx, r8
mov rcx, rdi
call fcn.14000c2b0
add rdi, 0x20
mov qword [rbp - 0x11], rdi
jmp 0x1400a4708
mov rdx, rdi
lea rcx, [rbp - 0x19]
call fcn.140005800
mov r14, qword [rbp - 9]
mov rdi, qword [rbp - 0x11]
mov r8, qword [r15 + 0x10]
add r8, r12
cmp rdi, r14
je 0x1400a4729
mov rdx, r8
mov rcx, rdi
call fcn.14000c2b0
add rdi, 0x20
mov qword [rbp - 0x11], rdi
jmp 0x1400a473d
mov rdx, rdi
lea rcx, [rbp - 0x19]
call fcn.140005800
mov r14, qword [rbp - 9]
mov rdi, qword [rbp - 0x11]
mov r8, qword [r15 + 0x10]
add r8, rsi
cmp rdi, r14
je 0x1400a475e
mov rdx, r8
mov rcx, rdi
call fcn.14000c2b0
add rdi, 0x20
mov qword [rbp - 0x11], rdi
jmp 0x1400a4772
mov rdx, rdi
lea rcx, [rbp - 0x19]
call fcn.140005800
mov r14, qword [rbp - 9]
mov rdi, qword [rbp - 0x11]
inc r13d
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x1400a479e
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rdx, 0x10
jb 0x1400a4796
mov rax, qword [rbx]
mov word [rax + rcx], 0x20
jmp 0x1400a47b0
mov r9b, 0x20
xor r8d, r8d
lea edx, [r8 + 1]
mov rcx, rbx
call fcn.1400076d0
cmp r13d, 8
mov r9, qword [rbp - 0x29]
jb 0x1400a45b0
mov rcx, qword [rbx + 0x10]
dec rcx
mov qword [rbx + 0x10], rcx
mov rax, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x1400a47d6
mov rax, qword [rbx]
mov byte [rax + rcx], 0
mov rax, qword [rbp - 0x21]
mov rax, qword [rax]
mov edx, dword [rax + 0xa8]
lea rcx, [rbp - 0x19]
call fcn.1400a5140
mov r8d, eax
shl r8, 5
mov rdi, qword [rbp - 0x19]
add r8, rdi
mov byte [rbp + 0x77], 0x20
mov rcx, qword [r8 + 0x10]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
je 0x1400a4969
mov rax, r8
cmp qword [r8 + 0x18], 0x10
jb 0x1400a4826
mov rax, qword [r8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 1
lea r9, [rbp + 0x77]
movzx edx, byte [rbp + 0x77]
lea rcx, [rbp - 1]
call fcn.14000c580
nop
lea rdx, [rbp - 1]
cmp qword [rbp + 0x17], 0x10
cmovae rdx, qword [rbp - 1]
mov r8, qword [rbp + 0xf]
mov rcx, rbx
call fcn.14001b680
nop
mov rdx, qword [rbp + 0x17]
cmp rdx, 0x10
jb 0x1400a48a2
inc rdx
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a489c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a496f
call fcn.1401c1ed8
nop
test rdi, rdi
je 0x1400a4942
mov rbx, rdi
mov rsi, qword [rbp - 0x11]
cmp rdi, rsi
je 0x1400a490e
xor r14d, r14d
nop word [rax + rax]
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x1400a48f6
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x1400a48f1
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1400a4963
mov rcx, r8
call fcn.1401c1ed8
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], shutdown
mov byte [rbx], r14b
add rbx, 0x20
cmp rbx, rsi
jne 0x1400a48c0
mov rdx, qword [rbp - 9]
sub rdx, rdi
and rdx, 0xffffffffffffffe0
mov rax, rdi
cmp rdx, 0x1000
jb 0x1400a493a
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a4963
mov rcx, rdi
call fcn.1401c1ed8
mov al, 1
jmp 0x1400a4948
xor al, al
mov rbx, qword [rsp + 0xd8]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1401c85ec
nop
call fcn.14001b380
nop
call fcn.1401c85ec
int3