Function at 0x1800795e0
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x10], rdx
push rbp
push rdi
push r13
push r14
push r15
sub rsp, 0xe0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
lea rbp, [rsp + 0x60]
and rbp, 0xffffffffffffffe0
mov rdi, r9
mov r13, r8
cmp byte [rcx], 0
je 0x1800799c2
cmp byte [0x1802c7271], 0
je 0x1800799c2
test r9, r9
je 0x1800799c2
mov rax, qword [r9 + 0x18]
test rax, rax
je 0x1800799c2
mov eax, dword [rax + 0xb8]
mov ebx, eax
mov ecx, 0x7fff
and ebx, ecx
cmp eax, 0xffffffff
cmove ebx, ecx
mov ecx, ebx
call fcn.18001fa40
test rax, rax
je 0x1800799c2
xor ecx, ecx
mov qword [rbp], rcx
mov rdx, qword [rax]
test rdx, rdx
je 0x18007968e
mov r8, qword [rdx + 0x130]
test r8, r8
je 0x18007968e
lea rdx, [rbp]
mov rcx, rax
call r8
mov rcx, qword [rbp]
test rcx, rcx
je 0x1800799c2
movabs rax, 0x62f0d71a9563b6e0
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x10], rax
movabs rax, 0x3ad4c360721c7add
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x18], rax
movabs rsi, 0x1b91bb4ac620e9a3
mov qword [rbp + 8], rsi
mov rax, qword [rbp + 8]
mov qword [rbp + 0x20], rax
movabs r14, 0x3ad4ad17134c08b8
mov qword [rbp + 8], r14
mov rax, qword [rbp + 8]
mov qword [rbp + 0x28], rax
movdqa xmm0, xmmword [rbp + 0x10]
xorps xmm0, xmmword [rbp + 0x20]
movdqa xmmword [rbp + 0x10], xmm0
mov rax, qword [rbp]
mov rdx, qword [rax + 8]
lea r9, [rbp + 0x10]
sub r9, rdx
nop dword [rax]
movzx r8d, byte [rdx]
movzx eax, byte [rdx + r9]
sub r8d, eax
jne 0x180079725
inc rdx
test eax, eax
jne 0x180079710
test r8d, r8d
jne 0x1800799c2
mov ecx, ebx
call fcn.18001fa40
mov rbx, rax
test rax, rax
je 0x1800799c2
mov rdx, qword [0x1802c75f0]
mov rcx, rax
call fcn.180091430
test al, al
je 0x1800799c2
mov eax, dword [0x1802c761c]
test al, 1
jne 0x180079849
or eax, 1
mov dword [0x1802c761c], eax
movabs rax, 0x75d4de39a762b6e0
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x20], rax
movabs rax, 0x65b9933a6a3861cc
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x28], rax
movabs rax, 0xe2f12e240948f1bc
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x30], rax
movabs rcx, 0xcd66cc55e27c617a
mov qword [rbp + 8], rcx
mov rax, qword [rbp + 8]
mov qword [rbp + 0x38], rax
mov qword [rbp + 8], rsi
mov rax, qword [rbp + 8]
mov qword [rbp + 0x40], rax
mov qword [rbp + 8], r14
mov rax, qword [rbp + 8]
mov qword [rbp + 0x48], rax
movabs rax, 0xe2995a48682db9d5
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x50], rax
mov qword [rbp + 8], rcx
mov rax, qword [rbp + 8]
mov qword [rbp + 0x58], rax
vmovdqu ymm0, ymmword [rbp + 0x20]
vpxor ymm1, ymm0, ymmword [rbp + 0x40]
vmovdqu ymmword [rbp + 0x20], ymm1
vmovq rax, xmm1
mov ecx, 0x811c9dc5
test al, al
jne 0x180079823
vzeroupper
jmp 0x18007983c
movsx eax, al
xor eax, ecx
imul edx, eax, 0x1000193
lea rcx, [rbp + 0x21]
vzeroupper
call fcn.18001fa00
mov ecx, eax
call fcn.18001f430
mov dword [0x1802c7618], eax
jmp 0x18007984f
mov eax, dword [0x1802c7618]
mov eax, eax
cmp dword [rax + rbx], 0
je 0x1800799c2
movsxd rax, dword [0x1802c729c]
add rax, rax
lea rcx, [0x1802c7810]
movups xmm7, xmmword [rcx + rax*8]
mov rbx, qword [rsp + 0x150]
mov rsi, qword [rsp + 0x148]
mov r14, qword [rsp + 0x140]
mov r15, qword [rsp + 0x138]
movss xmm6, dword [0x18012f044]
cmp byte [0x1802c7284], 0
je 0x180079936
movdqa xmm0, xmm7
psrldq xmm0, 8
movq qword [rdi + 0x20], xmm0
movss xmm1, dword [0x1802c7288]
mulss xmm1, xmm6
cvttss2si eax, xmm1
mov byte [rbp], al
movss xmm0, dword [0x1802c728c]
mulss xmm0, xmm6
cvttss2si eax, xmm0
mov byte [rbp + 1], al
movss xmm1, dword [0x1802c7290]
mulss xmm1, xmm6
cvttss2si eax, xmm1
mov byte [rbp + 2], al
movss xmm0, dword [0x1802c7294]
mulss xmm0, xmm6
cvttss2si eax, xmm0
mov byte [rbp + 3], al
mov eax, dword [rbp]
mov dword [rdi + 0x50], eax
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r15
mov r9d, dword [rsp + 0x130]
mov r8, rdi
mov rdx, r13
mov rcx, qword [rsp + 0x118]
call qword [0x1802c7120]
movq qword [rdi + 0x20], xmm7
movss xmm0, dword [0x1802c7274]
mulss xmm0, xmm6
cvttss2si eax, xmm0
mov byte [rbp], al
movss xmm1, dword [0x1802c7278]
mulss xmm1, xmm6
cvttss2si eax, xmm1
mov byte [rbp + 1], al
movss xmm0, dword [0x1802c727c]
mulss xmm0, xmm6
cvttss2si eax, xmm0
mov byte [rbp + 2], al
movss xmm1, dword [0x1802c7280]
mulss xmm1, xmm6
cvttss2si eax, xmm1
mov byte [rbp + 3], al
mov eax, dword [rbp]
mov dword [rdi + 0x50], eax
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r15
mov r9d, dword [rsp + 0x130]
mov r8, rdi
mov rdx, r13
mov rcx, qword [rsp + 0x118]
call qword [0x1802c7120]
mov al, 1
jmp 0x1800799c4
xor al, al
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop rdi
pop rbp
ret