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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov rax, qword [0x140100258]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov rax, qword [0x140103868]
mov rbp, rdx
mov qword [rcx], 0
mov rsi, rcx
mov qword [rcx + 0x10], 0
mov qword [rcx + 0x18], 0xf
mov r14, qword [rax]
mov r15, qword [rax + 8]
cmp r14, r15
je 0x14004ab20
movzx edi, byte [rsp + 0x40]
movabs r12, 0x100000001b3
movzx ebx, byte [rsp + 0x40]
movabs r13, 0x7fffffffffffffff
cmp qword [r14 + 0x18], 0x10
movabs rax, 0xcbf29ce484222325
mov rdx, r14
jb 0x14004a8ff
mov rdx, qword [r14]
mov r8, qword [r14 + 0x10]
xor ecx, ecx
mov r9, rax
test r8, r8
je 0x14004a923
nop dword [rax]
movzx eax, byte [rcx + rdx]
inc rcx
xor r9, rax
imul r9, r12
cmp rcx, r8
jb 0x14004a910
mov r8, r14
lea rdx, [rsp + 0x48]
mov rcx, rbp
call fcn.140012e30
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14004a942
mov rax, qword [rbp + 8]
jmp 0x14004a949
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rcx, rax
je 0x14004aa38
mov rdx, qword [rsi + 0x10]
add rcx, 0x30
mov rax, r13
sub rax, rdx
mov r8, qword [rcx + 0x10]
cmp rax, r8
jb 0x14004ab59
cmp qword [rsi + 0x18], 0x10
mov r9, rsi
jb 0x14004a97a
mov r9, qword [rsi]
cmp qword [rcx + 0x18], 0x10
jb 0x14004a984
mov rcx, qword [rcx]
mov qword [rsp + 0x30], r8
mov r8, rsi
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x20], rdx
movzx edx, dil
call fcn.140045ee0
lea rax, [rsp + 0x58]
cmp rsi, rax
je 0x14004a9fb
mov rdx, qword [rsi + 0x18]
cmp rdx, 0x10
jb 0x14004a9e8
mov rcx, qword [rsi]
inc rdx
cmp rdx, 0x1000
jb 0x14004a9e3
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14004ab53
mov rcx, r8
call fcn.14008df80
movups xmm0, xmmword [rsp + 0x58]
movups xmm1, xmmword [rsp + 0x68]
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm1
jmp 0x14004aa38
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x14004aa38
mov rcx, qword [rsp + 0x58]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004aa33
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004ab53
call fcn.14008df80
mov rcx, qword [rsi + 0x10]
mov rax, r13
sub rax, rcx
cmp rax, 1
jb 0x14004ab59
cmp qword [rsi + 0x18], 0x10
mov r9, rsi
jb 0x14004aa59
mov r9, qword [rsi]
lea rax, [0x1400d0fe4]
mov qword [rsp + 0x30], 1
mov qword [rsp + 0x28], rax
mov r8, rsi
mov qword [rsp + 0x20], rcx
movzx edx, bl
lea rcx, [rsp + 0x58]
call fcn.140045ee0
lea rax, [rsp + 0x58]
cmp rsi, rax
je 0x14004aada
mov rdx, qword [rsi + 0x18]
cmp rdx, 0x10
jb 0x14004aac7
mov rcx, qword [rsi]
inc rdx
cmp rdx, 0x1000
jb 0x14004aac2
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14004ab53
mov rcx, r8
call fcn.14008df80
movups xmm0, xmmword [rsp + 0x58]
movups xmm1, xmmword [rsp + 0x68]
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm1
jmp 0x14004ab13
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x14004ab13
mov rcx, qword [rsp + 0x58]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004ab0e
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004ab53
call fcn.14008df80
add r14, 0x20
cmp r14, r15
jne 0x14004a8e8
mov rcx, rbp
call fcn.1400140a0
mov rax, rsi
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.14008e050
mov rbx, qword [rsp + 0xd0]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14009464c
int3
call fcn.14000eec0
int3