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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [0x180145040]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rsi, rcx
mov edx, dword [0x180206288]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rdi, qword [rax + rdx*8]
add rdi, rcx
movabs rbx, 0xcbf29ce484222325
movabs r15, 0xa3963d2174e52215
movabs r12, 0x1a838ac7463b15a
movabs r14, 0x100000001b3
movabs r13, 0xcdd3585215a77d56
mov eax, dword [rdi]
cmp dword [0x1802082a4], eax
jle 0x18007900c
lea rcx, [0x1802082a4]
call fcn.1800e45f8
cmp dword [0x1802082a4], 0xffffffff
jne 0x18007900c
movabs rax, 0xd7fa5c443c8c7d78
mov qword [rbp - 0x20], rax
movabs rax, 0x1a838ac7463b132
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], r12
movdqa xmm0, xmmword [rbp - 0x20]
xorps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x20]
mov rdx, rbx
movq r8, xmm0
test r8b, r8b
je 0x180078f6a
nop word [rax + rax]
movsx rax, r8b
lea rcx, [rcx + 1]
xor rdx, rax
imul rdx, r14
movzx eax, byte [rcx]
movzx r8d, al
test al, al
jne 0x180078f50
mov qword [rbp - 0x20], r13
movabs rax, 0x1a838ac0d17d82e
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], r12
movdqa xmm0, xmmword [rbp - 0x20]
xorps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x20], xmm0
lea r8, [rbp - 0x20]
mov rcx, rbx
movq r9, xmm0
test r9b, r9b
je 0x180078fcb
nop dword [rax]
nop word [rax + rax]
movsx rax, r9b
lea r8, [r8 + 1]
xor rcx, rax
imul rcx, r14
movzx eax, byte [r8]
movzx r9d, al
test al, al
jne 0x180078fb0
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x20], rdx
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x40]
call fcn.18002e1f0
mov rcx, qword [rax]
add rcx, 0x18
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x30]
call fcn.18002df70
mov rdx, qword [rax]
mov eax, dword [rdx + 0x18]
mov dword [0x180208298], eax
lea rcx, [0x1802082a4]
call fcn.1800e458c
movsxd rax, dword [0x180208298]
cmp dword [rax + rsi], 0
jle 0x18007914c
mov eax, dword [rdi]
cmp dword [0x1802082b0], eax
jle 0x18007913b
lea rcx, [0x1802082b0]
call fcn.1800e45f8
cmp dword [0x1802082b0], 0xffffffff
jne 0x18007913b
movabs rax, 0xd7c558471d897d78
mov qword [rbp - 0x20], rax
movabs rax, 0x1a838ac7406c53b
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], r12
movdqa xmm0, xmmword [rbp - 0x20]
xorps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x20]
mov rdx, rbx
movq r8, xmm0
test r8b, r8b
je 0x1800790aa
nop word [rax + rax]
movsx rax, r8b
lea rcx, [rcx + 1]
xor rdx, rax
imul rdx, r14
movzx eax, byte [rcx]
movzx r8d, al
test al, al
jne 0x180079090
mov qword [rbp - 0x20], r13
movabs rax, 0x1a838ac0d17d82e
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], r12
movdqa xmm0, xmmword [rbp - 0x20]
xorps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x20]
movq r8, xmm0
test r8b, r8b
je 0x1800790fa
movsx rax, r8b
lea rcx, [rcx + 1]
xor rbx, rax
imul rbx, r14
movzx eax, byte [rcx]
movzx r8d, al
test al, al
jne 0x1800790e0
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x50], rdx
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x30]
call fcn.18002e1f0
mov rcx, qword [rax]
add rcx, 0x18
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x40]
call fcn.18002df70
mov rdx, qword [rax]
mov eax, dword [rdx + 0x18]
mov dword [0x1802082f4], eax
lea rcx, [0x1802082b0]
call fcn.1800e458c
movsxd rax, dword [0x1802082f4]
cmp byte [rax + rsi], 0
jne 0x18007914c
mov al, 1
jmp 0x18007914e
xor al, al
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1800e4530
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret