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

Disassembly:
push rbx
push rdi
push r13
sub rsp, 0x80
mov rax, qword [0x140477ad0]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x20], rdx
mov r13, rcx
lea rdx, [rcx + 0x28]
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x28], r8
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x68], r14
mov r8b, 1
mov qword [rsp + 0x60], r15
call fcn.140080ad0
mov r14, qword [rsp + 0x48]
lea r9, [rsp + 0x30]
mov r15, qword [rsp + 0x30]
cmp r14, 8
jb 0x140080630
mov r9, r15
mov r12, qword [rsp + 0x40]
xor edx, edx
movabs rax, 0xcbf29ce484222325
lea r8, [r12 + r12]
test r8, r8
je 0x140080674
movabs r10, 0x100000001b3
nop dword [rax]
nop dword [rax + rax]
movzx ecx, byte [r9 + rdx]
inc rdx
xor rax, rcx
imul rax, r10
cmp rdx, r8
jb 0x140080660
mov rdx, qword [0x1404791d8]
and rax, qword [0x1404791f0]
mov r8, qword [0x1404791c8]
add rax, rax
mov qword [rsp + 0xa8], rbp
mov qword [rsp + 0x78], rsi
mov r9, qword [rdx + rax*8]
lea r10, [rdx + rax*8]
mov rcx, r9
cmp r9, r8
je 0x140080807
mov rax, qword [r10 + 8]
mov rax, qword [rax]
cmp rcx, rax
je 0x140080745
lea rdx, [rcx + 0x10]
lea rax, [rsp + 0x30]
cmp r14, 8
jb 0x1400806cf
mov rax, r15
mov rbp, qword [rdx + 0x18]
mov rsi, qword [rdx + 0x10]
cmp rbp, 8
jb 0x1400806e0
mov rdx, qword [rdx]
cmp rsi, r12
jne 0x1400808d1
mov r11, rsi
test rsi, rsi
jne 0x1400808b0
lea rax, [rcx + 0x10]
cmp rbp, 8
jb 0x140080702
mov rax, qword [rax]
lea rdx, [rsp + 0x30]
cmp r14, 8
jb 0x140080710
mov rdx, r15
cmp r12, rsi
jne 0x1400808d9
test r12, r12
je 0x14008074d
sub rdx, rax
movzx r9d, word [rax + rdx]
cmp r9w, word [rax]
jb 0x1400808d9
ja 0x1400808d9
cmp r12, 1
je 0x14008074d
dec r12
add rax, 2
jmp 0x140080721
mov edi, dword [rsp + 0x20]
xor bl, bl
jmp 0x140080757
cmp rcx, r8
je 0x140080745
mov edi, dword [rcx + 0x30]
mov bl, 1
mov r12, qword [rsp + 0x70]
cmp r14, 8
jb 0x140080772
lea rdx, [r14*2 + 2]
mov rcx, r15
call fcn.14007ebd0
mov r15, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
test bl, bl
je 0x14008089f
mov rax, qword [rsp + 0x20]
xor edx, edx
mov rbp, qword [rsp + 0x28]
mov rcx, r13
mov r8, rbp
mov rax, qword [rax + 0x40]
mov ebx, dword [rax]
call fcn.140082470
mov ecx, eax
test edi, edi
jne 0x1400807d3
cmp ebx, eax
sete al
mov rsi, qword [rsp + 0x78]
mov rbp, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.140123570
add rsp, 0x80
pop r13
pop rdi
pop rbx
ret
mov edx, edi
sub edx, 1
je 0x1400807ff
sub edx, 4
je 0x140080852
cmp edx, 1
je 0x140080848
mov r8, rbp
xor edx, edx
mov rcx, r13
call fcn.140082470
mov esi, eax
cmp edi, 2
jne 0x140080862
cmp ebx, eax
seta al
jmp 0x1400807ac
cmp ebx, ecx
jne 0x14008080f
mov al, 1
jmp 0x1400807ac
mov rax, r8
jmp 0x1400806b4
mov edi, 1
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [r13 + 0x50]
sub rax, qword [r13 + 0x48]
sar rax, 5
cmp rdi, rax
jae 0x14008089f
mov r8, rbp
mov rdx, rdi
mov rcx, r13
call fcn.140082470
cmp ebx, eax
je 0x140080803
inc rdi
jmp 0x140080820
test ebx, ecx
setne al
jmp 0x1400807ac
xor edx, edx
mov eax, ebx
div ecx
test edx, edx
sete al
jmp 0x1400807ac
sub edi, 3
je 0x1400808a6
cmp edi, 1
jne 0x14008089f
mov rax, qword [r13 + 0x50]
sub rax, qword [r13 + 0x48]
sar rax, 5
cmp rax, 1
ja 0x140080883
call fcn.14007ec1c
mov r8, rbp
mov edx, 1
mov rcx, r13
call fcn.140082470
cmp ebx, esi
jb 0x14008089f
cmp ebx, eax
jbe 0x140080803
xor al, al
jmp 0x1400807ac
cmp ebx, esi
setb al
jmp 0x1400807ac
sub rdx, rax
movzx ebx, word [rax + rdx]
cmp bx, word [rax]
jb 0x1400808d1
ja 0x1400808d1
cmp r11, 1
je 0x1400806f5
dec r11
add rax, 2
jmp 0x1400808b3
mov rcx, qword [rcx]
jmp 0x1400806a4
mov rcx, r8
jmp 0x14008074d