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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rax, qword [0x14016efd0]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov r14, rdx
mov qword [rsp + 0x28], rdx
cmp qword [rdx + 0x10], 0
je 0x14007a96e
xor ebx, ebx
mov rsi, qword [0x14016f248]
mov rbp, qword [0x14016f250]
mov rcx, rbp
sub rcx, rsi
movabs rax, 0x6906906906906907
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x14007a96e
mov r15, qword [r14 + 0x18]
mov edi, ebx
movabs r13, 0xcbf29ce484222325
movabs r12, 0x100000001b3
nop
lea r9, [rsi + 0xd0]
add r9, rdi
cmp qword [r9 + 0x18], 0x10
jb 0x14007a6b4
mov r9, qword [r9]
mov r10, r13
nop word [rax + rax]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx rax, cl
xor r10, rax
imul r10, r12
test r8b, r8b
jne 0x14007a6c0
mov r11, r14
cmp r15, 0x10
jb 0x14007a6f6
mov r11, qword [r14]
mov r9, r13
nop dword [rax]
movzx r8d, byte [r11]
lea r11, [r11 + 1]
lea edx, [r8 - 0x41]
lea eax, [r8 + 0x20]
movzx ecx, al
cmp dl, 0x19
cmova ecx, r8d
movsx rax, cl
xor r9, rax
imul r9, r12
test r8b, r8b
jne 0x14007a700
cmp r10, r9
je 0x14007a768
inc rbx
add rdi, 0x138
mov rcx, rbp
sub rcx, rsi
movabs rax, 0x6906906906906907
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rbx, rdx
jb 0x14007a6a0
jmp 0x14007a96e
imul rdi, rbx, 0x138
add rdi, rsi
lea rsi, [rdi + 0x138]
cmp rsi, rbp
je 0x14007a957
lea rbx, [rdi + 0x220]
nop dword [rax]
mov rax, qword [rsi]
mov qword [rdi], rax
mov eax, dword [rbx - 0xe0]
mov dword [rdi + 8], eax
lea rdx, [rbx - 0xd8]
lea rcx, [rdi + 0x10]
call fcn.1400486e0
lea rdx, [rbx - 0xc0]
lea rcx, [rdi + 0x28]
call fcn.1400486e0
lea rdx, [rbx - 0xa8]
lea rcx, [rdi + 0x40]
call fcn.1400486e0
lea rdx, [rbx - 0x90]
lea rcx, [rdi + 0x58]
call fcn.1400486e0
movsd xmm0, qword [rbx - 0x78]
movsd qword [rdi + 0x70], xmm0
movsd xmm0, qword [rbx - 0x70]
movsd qword [rdi + 0x78], xmm0
mov eax, dword [rbx - 0x68]
mov dword [rdi + 0x80], eax
movsd xmm0, qword [rbx - 0x64]
movsd qword [rdi + 0x84], xmm0
mov eax, dword [rbx - 0x5c]
mov dword [rdi + 0x8c], eax
movsd xmm0, qword [rbx - 0x58]
movsd qword [rdi + 0x90], xmm0
mov eax, dword [rbx - 0x50]
mov dword [rdi + 0x98], eax
mov rax, qword [rbx - 0x48]
mov qword [rdi + 0xa0], rax
mov rax, qword [rbx - 0x40]
mov qword [rdi + 0xa8], rax
mov rax, qword [rbx - 0x38]
mov qword [rdi + 0xb0], rax
mov rax, qword [rbx - 0x30]
mov qword [rdi + 0xb8], rax
mov rax, qword [rbx - 0x28]
mov qword [rdi + 0xc0], rax
mov rax, qword [rbx - 0x20]
mov qword [rdi + 0xc8], rax
lea rdx, [rbx - 0x18]
lea rcx, [rdi + 0xd0]
cmp rcx, rdx
je 0x14007a88c
cmp qword [rbx], 0x10
jb 0x14007a883
mov rdx, qword [rdx]
mov r8, qword [rbx - 8]
call fcn.140045200
mov rax, qword [rbx + 8]
mov qword [rdi + 0xf0], rax
lea rdx, [rbx + 0x10]
lea rcx, [rdi + 0xf8]
cmp rcx, rdx
je 0x14007a8ba
cmp qword [rbx + 0x28], 0x10
jb 0x14007a8b1
mov rdx, qword [rdx]
mov r8, qword [rbx + 0x20]
call fcn.140045200
movzx eax, byte [rbx + 0x30]
mov byte [rdi + 0x118], al
movzx eax, byte [rbx + 0x31]
mov byte [rdi + 0x119], al
movzx eax, byte [rbx + 0x32]
mov byte [rdi + 0x11a], al
movzx eax, byte [rbx + 0x33]
mov byte [rdi + 0x11b], al
mov rax, qword [rbx + 0x38]
mov qword [rdi + 0x120], rax
movzx eax, byte [rbx + 0x40]
mov byte [rdi + 0x128], al
movzx eax, byte [rbx + 0x41]
mov byte [rdi + 0x129], al
movzx eax, byte [rbx + 0x42]
mov byte [rdi + 0x12a], al
movzx eax, byte [rbx + 0x43]
mov byte [rdi + 0x12b], al
mov eax, dword [rbx + 0x44]
mov dword [rdi + 0x12c], eax
movzx eax, byte [rbx + 0x48]
mov byte [rdi + 0x130], al
movzx eax, byte [rbx + 0x49]
mov byte [rdi + 0x131], al
add rdi, 0x138
add rsi, 0x138
add rbx, 0x138
cmp rsi, rbp
jne 0x14007a790
mov rbp, qword [0x14016f250]
lea rcx, [rbp - 0x138]
call fcn.140048280
sub qword [0x14016f250], 0x138
mov rcx, r14
call fcn.140006d20
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1400d0340
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret