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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov rax, qword [rsp + 0xb8]
mov rbp, rcx
mov r14, qword [rsp + 0xb0]
mov rsi, r8
mov qword [rsp + 0x38], rax
mov r12, r9
xor eax, eax
mov qword [rsp + 0x30], r8
mov r13, rdx
mov qword [rsp + 0x28], rax
mov dword [r14], 3
mov r15d, eax
cmp qword [rdx + 0x18], 0x10
mov ecx, dword [r9 + 0x24]
mov r8, qword [rdx + 0x10]
mov dword [rsp + 0x20], ecx
jb 0x140078471
mov rdx, qword [rdx]
movabs r9, 0xcbf29ce484222325
mov rcx, rax
test r8, r8
je 0x1400784a3
movabs r10, 0x100000001b3
nop dword [rax]
movzx eax, byte [rcx + rdx]
inc rcx
xor r9, rax
imul r9, r10
cmp rcx, r8
jb 0x140078490
mov r8, r13
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x28]
call fcn.140012980
mov rbx, qword [rax + 8]
test rbx, rbx
jne 0x1400784c1
mov rbx, qword [rbp + 0x30]
movabs rdx, 0x4924924924924925
movabs r11, 0x7878787878787879
cmp rbx, qword [rbp + 0x30]
je 0x1400786a8
mov rdi, qword [rbx + 0x30]
cmp rdi, qword [rbx + 0x38]
je 0x1400786a8
mov rbx, qword [rbx + 0x38]
cmp rbx, rdi
je 0x1400786a8
lea rsi, [rbx - 0x10]
nop
cmp dword [rsi - 0xb8], 3
jne 0x14007866e
mov eax, dword [r12 + 0x20]
cmp dword [rsi + 8], eax
ja 0x14007866e
mov eax, dword [rsi + 0xc]
cmp eax, dword [r12 + 0x24]
ja 0x14007866e
jne 0x140078577
cmp qword [r12 + 0x18], 0x10
mov rdx, r12
jb 0x14007853a
mov rdx, qword [r12]
cmp qword [rsi], 0x10
lea rcx, [rsi - 0x18]
mov r8, qword [rsi - 8]
jb 0x14007854b
mov rcx, qword [rcx]
cmp r8, qword [r12 + 0x10]
jne 0x14007866e
call fcn.14007c560
test eax, eax
jne 0x14007866e
movabs rdx, 0x4924924924924925
movabs r11, 0x7878787878787879
mov rbp, qword [rsi - 0x20]
test rbp, rbp
je 0x14007866e
mov r8, qword [rbp + 0x88]
mov r9, qword [rbp + 0x80]
mov r10, qword [rsp + 0x30]
cmp r9, r8
jne 0x1400785d9
mov rax, qword [r10 + 8]
cmp qword [r10], rax
jne 0x14007866e
mov eax, dword [rbx - 0xc4]
mov r15d, 1
mov dword [r14 + 4], eax
movups xmm0, xmmword [rbp + 0x48]
movups xmmword [r14 + 8], xmm0
movsd xmm1, qword [rbp + 0x58]
movsd qword [r14 + 0x18], xmm1
mov qword [r14 + 0x98], rbp
jmp 0x1400787aa
mov rcx, qword [r10 + 8]
mov rax, rdx
sub rcx, qword [r10]
sub r8, r9
imul rcx
mov rcx, rdx
sar rcx, 6
mov rax, rcx
shr rax, 0x3f
add rcx, rax
mov rax, r11
imul r8
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rcx, rdx
jne 0x14007866e
mov r8, qword [rsp + 0x28]
mov rdx, rbp
mov rcx, r10
call fcn.140076d30
test eax, eax
jns 0x140078660
mov eax, dword [rsi - 0xb4]
mov r15d, 1
mov dword [r14 + 4], eax
movups xmm0, xmmword [rbp + 0x48]
mov qword [rsp + 0x28], rbp
movups xmmword [r14 + 8], xmm0
movsd xmm1, qword [rbp + 0x58]
movsd qword [r14 + 0x18], xmm1
mov qword [r14 + 0x98], rbp
mov eax, dword [rsi + 0xc]
mov dword [rsp + 0x20], eax
jmp 0x14007866e
jne 0x14007866e
mov eax, dword [rsp + 0x20]
cmp eax, dword [rsi + 0xc]
jne 0x14007866e
inc r15d
sub rbx, 0xc8
sub rsi, 0xc8
cmp rbx, rdi
je 0x14007869a
movabs rdx, 0x4924924924924925
movabs r11, 0x7878787878787879
jmp 0x140078500
test r15d, r15d
jne 0x1400787aa
mov rsi, qword [rsp + 0x30]
lea rbx, [0x1400cfe08]
movabs r12, 0x4924924924924925
lea rbp, [0x1400dff70]
cmp qword [r13 + 0x18], 0x10
mov rdx, r13
jb 0x1400786ce
mov rdx, qword [r13]
cmp qword [rbx], 0x10
lea rcx, [rbx - 0x18]
mov r8, qword [rbx - 8]
jb 0x1400786df
mov rcx, qword [rcx]
cmp r8, qword [r13 + 0x10]
jne 0x140078796
call fcn.14007c560
test eax, eax
jne 0x140078796
mov rcx, qword [rbx + 0x68]
movabs rax, 0x7878787878787879
sub rcx, qword [rbx + 0x60]
imul rcx
mov rcx, qword [rsi + 8]
sub rcx, qword [rsi]
mov r8, rdx
sar r8, 6
mov rax, r8
shr rax, 0x3f
add r8, rax
mov rax, r12
imul rcx
sar rdx, 6
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jne 0x140078796
mov r8, qword [rsp + 0x28]
lea rdi, [rbx - 0x20]
mov rdx, rdi
mov rcx, rsi
call fcn.140076d30
test eax, eax
jns 0x14007878a
mov dword [r14], 4
mov r15d, 1
mov eax, dword [rbx - 0x28]
mov dword [r14 + 4], eax
movups xmm0, xmmword [rbx + 0x28]
mov qword [rsp + 0x28], rdi
movups xmmword [r14 + 8], xmm0
movsd xmm1, qword [rbx + 0x38]
movsd qword [r14 + 0x18], xmm1
mov qword [r14 + 0x98], rdi
jmp 0x140078796
jne 0x140078796
cmp dword [rsp + 0x20], 0
jne 0x140078796
inc r15d
add rbx, 0xd0
lea rax, [rbx - 0x28]
cmp rax, rbp
jne 0x1400786c0
mov rcx, qword [rsp + 0x38]
cmp r15d, 1
mov rbx, qword [rsp + 0xa8]
seta al
mov byte [rcx], al
sete al
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret