Function at 0x18008ffc0
Capabilities:
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
sub rsp, 0xe0
lea rbp, [rsp + 0x40]
and rbp, 0xffffffffffffffe0
mov r10d, edx
mov rbx, rcx
mov r8, qword [rcx + 0x10]
sub r8, qword [rcx + 8]
movabs rax, 0x7f807f807f807f81
imul r8
mov r8, rdx
sar r8, 0xc
mov rax, r8
shr rax, 0x3f
add r8, rax
mov eax, r10d
xor edx, edx
div r8
imul rsi, rdx, 0x2020
add rsi, qword [rcx + 8]
mov ecx, dword [rcx]
mov r15d, 0x7fff
and ecx, r15d
cmp dword [rbx], 0xffffffff
cmove ecx, r15d
call fcn.18001fa40
mov r14, rax
test rax, rax
je 0x180090860
mov eax, dword [0x1802c7654]
movabs rdx, 0x1b91bb4ac620e9a3
mov edi, 0x811c9dc5
movabs r8, 0x3ad4ad17134c08b8
movabs r9, 0xe2995a48682db9d5
movabs r12, 0xcd66cc55e27c617a
movabs r10, 0x1f5c6b06455480d7
movabs r11, 0x86d5e923361241cc
test al, 1
jne 0x180090221
or eax, 1
mov dword [0x1802c7654], eax
movabs rax, 0x7afdeb2fb541abe0
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x60], rax
movabs rax, 0x48a0c378503e6dc1
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
movabs rax, 0x8fa7773a0d41d5ba
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x70], rax
movabs rax, 0xac05a31991350325
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x78], rax
movabs rax, 0x5c2e0e7f2438d0bb
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x80], rax
movabs rax, 0xe3b9854c44662fa3
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x88], rax
movabs rax, 0x52da734368e6a4b
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x90], rax
movabs rcx, 0x30a6d971c7c7b98e
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x98], rax
mov qword [rbp], rdx
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
mov qword [rbp], r8
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
mov qword [rbp], r9
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
mov qword [rbp], r10
mov rax, qword [rbp]
mov qword [rbp + 0x40], rax
mov qword [rbp], r11
mov rax, qword [rbp]
mov qword [rbp + 0x48], rax
movabs rax, 0x52da734368e6a39
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x50], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x58], rax
vmovdqu ymm0, ymmword [rbp + 0x60]
vpxor ymm2, ymm0, ymmword [rbp + 0x20]
vmovdqu ymmword [rbp + 0x60], ymm2
vmovdqu ymm0, ymmword [rbp + 0x80]
vpxor ymm1, ymm0, ymmword [rbp + 0x40]
vmovdqa ymmword [rbp + 0x80], ymm1
vmovd eax, xmm2
test al, al
jne 0x1800901fb
mov eax, edi
vzeroupper
jmp 0x180090212
movsx eax, al
xor eax, edi
imul edx, eax, 0x1000193
lea rcx, [rbp + 0x61]
vzeroupper
call fcn.18001fa00
mov ecx, eax
call fcn.18001f430
mov dword [0x1802c7650], eax
jmp 0x180090227
mov eax, dword [0x1802c7650]
mov eax, eax
cmp byte [rax + r14], 0
jne 0x180090860
mov eax, dword [0x1802c7644]
test al, 1
jne 0x180090267
or eax, 1
mov dword [0x1802c7644], eax
mov edx, 0xc60bf9f2
lea rcx, [0x180133ef9]
call fcn.18001fa00
mov ecx, eax
call fcn.18001f430
mov dword [0x1802c7640], eax
jmp 0x18009026d
mov eax, dword [0x1802c7640]
mov eax, eax
cmp byte [rax + r14], 0
je 0x180090860
mov eax, dword [0x1802c764c]
test al, 1
jne 0x1800902ad
or eax, 1
mov dword [0x1802c764c], eax
mov edx, 0xc60bf9f2
lea rcx, [0x180133f21]
call fcn.18001fa00
mov ecx, eax
call fcn.18001f430
mov dword [0x1802c7648], eax
jmp 0x1800902b3
mov eax, dword [0x1802c7648]
mov eax, eax
mov ecx, dword [rax + r14]
and ecx, r15d
cmp dword [rax + r14], 0xffffffff
cmove ecx, r15d
call fcn.18001fa40
mov r14, rax
test rax, rax
jne 0x180090303
cmp byte [rbx + 0x20], al
je 0x180090892
mov rcx, qword [rbx + 0x10]
mov rax, qword [rbx + 8]
cmp rax, rcx
je 0x18009088e
nop dword [rax]
mov byte [rax], 0
add rax, 0x2020
cmp rax, rcx
jne 0x1800902f0
jmp 0x18009088e
mov rdx, qword [0x1802c75f0]
mov rcx, r14
call fcn.180091430
test al, al
jne 0x180090343
cmp byte [rbx + 0x20], al
je 0x180090892
mov rcx, qword [rbx + 0x10]
mov rax, qword [rbx + 8]
cmp rax, rcx
je 0x18009088e
mov byte [rax], 0
add rax, 0x2020
cmp rax, rcx
jne 0x180090330
jmp 0x18009088e
mov eax, dword [0x1802c7cd8]
movabs r15, 0x75d4de39a762b6e0
movabs r13, 0x65b9933a6a3861cc
test al, 1
jne 0x1800904a0
or eax, 1
mov dword [0x1802c7cd8], eax
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
movabs rax, 0x83f52f25017ed5b3
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
movabs rax, 0xa80ba5018c13080e
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
movabs rcx, 0x1f5c6b06455480d7
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x40], rax
movabs rdx, 0x86d5e923361241cc
mov qword [rbp], rdx
mov rax, qword [rbp]
mov qword [rbp + 0x48], rax
movabs rax, 0x1b91bb4ac620e9a3
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x60], rax
movabs rax, 0x3ad4ad17134c08b8
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
movabs rax, 0xe2995a48682db9d5
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x70], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x78], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x80], rax
mov qword [rbp], rdx
mov rax, qword [rbp]
mov qword [rbp + 0x88], rax
vmovdqu ymm0, ymmword [rbp + 0x20]
vpxor ymm1, ymm0, ymmword [rbp + 0x60]
vmovdqu ymmword [rbp + 0x20], ymm1
vmovdqa xmm0, xmmword [rbp + 0x40]
vxorps xmm0, xmm0, xmmword [rbp + 0x80]
vmovdqa xmmword [rbp + 0x40], xmm0
vmovd eax, xmm1
test al, al
jne 0x18009047a
mov eax, edi
vzeroupper
jmp 0x180090491
movsx eax, al
xor eax, edi
imul edx, eax, 0x1000193
lea rcx, [rbp + 0x21]
vzeroupper
call fcn.18001fa00
mov ecx, eax
call fcn.18001f430
mov dword [0x1802c7cd4], eax
jmp 0x1800904a6
mov eax, dword [0x1802c7cd4]
mov eax, eax
mov ecx, dword [rax + r14]
mov dword [rsi + 4], ecx
lea rdx, [rbp]
mov rcx, r14
call fcn.18006aec0
mov ecx, dword [rax]
mov dword [rsi + 0x2010], ecx
mov ecx, dword [rax + 4]
mov dword [rsi + 0x2014], ecx
mov eax, dword [rax + 8]
mov dword [rsi + 0x2018], eax
mov eax, dword [0x1802c760c]
test al, 1
jne 0x1800905c3
or eax, 1
mov dword [0x1802c760c], eax
mov qword [rbp], r15
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
movabs rax, 0x87fa092d054cfea5
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
movabs rax, 0xcd66a9318d320414
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
movabs r13, 0x1b91bb4ac620e9a3
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x60], rax
movabs rax, 0x3ad4ad17134c08b8
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
movabs rax, 0xe2995a48682db9d5
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x70], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x78], rax
vmovdqu ymm0, ymmword [rbp + 0x20]
vpxor ymm1, ymm0, ymmword [rbp + 0x60]
vmovdqu ymmword [rbp + 0x20], ymm1
vmovq rax, xmm1
test al, al
jne 0x18009059d
mov eax, edi
vzeroupper
jmp 0x1800905b4
movsx eax, al
xor eax, edi
imul edx, eax, 0x1000193
lea rcx, [rbp + 0x21]
vzeroupper
call fcn.18001fa00
mov ecx, eax
call fcn.18001f430
mov dword [0x1802c7608], eax
jmp 0x1800905d3
mov eax, dword [0x1802c7608]
movabs r13, 0x1b91bb4ac620e9a3
mov eax, eax
mov rcx, qword [rax + r14]
test rcx, rcx
jne 0x180090613
cmp byte [rbx + 0x20], cl
je 0x180090892
mov rcx, qword [rbx + 0x10]
mov rax, qword [rbx + 8]
cmp rax, rcx
je 0x18009088e
nop dword [rax + rax]
mov byte [rax], 0
add rax, 0x2020
cmp rax, rcx
jne 0x180090600
jmp 0x18009088e
mov rax, qword [rcx]
test rax, rax
je 0x180090836
mov rdx, qword [rax + 0x40]
test rdx, rdx
je 0x180090836
call rdx
mov r15, rax
test rax, rax
je 0x180090836
mov edx, 0x100
mov rcx, rax
call fcn.1800910b0
mov eax, dword [0x1802c7ce8]
test al, 1
jne 0x18009067a
or eax, 1
mov dword [0x1802c7ce8], eax
mov edx, 0xc60bf9f2
lea rcx, [0x180137659]
call fcn.18001fa00
mov ecx, eax
call fcn.18001f430
mov dword [0x1802c7ce4], eax
jmp 0x180090680
mov eax, dword [0x1802c7ce4]
mov r14d, eax
add r14, r15
mov eax, dword [0x1802c7cc0]
test al, 1
jne 0x180090774
or eax, 1
mov dword [0x1802c7cc0], eax
movabs rax, 0x6fc2d72fa24fa4e0
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
movabs rax, 0x528bc0293e297cd9
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
movabs rax, 0xe2995a240d49d698
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
mov qword [rbp], r13
mov rax, qword [rbp]
mov qword [rbp + 0x60], rax
movabs rax, 0x3ad4ad17134c08b8
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x68], rax
movabs rax, 0xe2995a48682db9d5
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x70], rax
mov qword [rbp], r12
mov rax, qword [rbp]
mov qword [rbp + 0x78], rax
vmovdqu ymm0, ymmword [rbp + 0x20]
vpxor ymm1, ymm0, ymmword [rbp + 0x60]
vmovdqu ymmword [rbp + 0x20], ymm1
vmovq rax, xmm1
test al, al
jne 0x18009074c
vzeroupper
jmp 0x180090765
movsx eax, al
xor eax, edi
imul edx, eax, 0x1000193
lea rcx, [rbp + 0x21]
vzeroupper
call fcn.18001fa00
mov edi, eax
mov ecx, edi
call fcn.18001f430
mov dword [0x1802c7cbc], eax
jmp 0x18009077a
mov eax, dword [0x1802c7cbc]
mov eax, eax
mov rax, qword [rax + r14]
test rax, rax
jne 0x18009078b
mov qword [rbx + 0x28], rax
jmp 0x180090797
mov rax, qword [rax]
mov qword [rbx + 0x28], rax
test rax, rax
jne 0x1800907c5
cmp byte [rbx + 0x20], 0
je 0x180090892
mov rcx, qword [rbx + 0x10]
mov rax, qword [rbx + 8]
cmp rax, rcx
je 0x18009088e
mov byte [rax], 0
add rax, 0x2020
cmp rax, rcx
jne 0x1800907b2
jmp 0x18009088e
mov eax, dword [r15 + 0x1cc]
mov dword [rbx + 0x30], eax
test eax, eax
jne 0x180090803
cmp byte [rbx + 0x20], al
je 0x180090892
mov rcx, qword [rbx + 0x10]
mov rax, qword [rbx + 8]
cmp rax, rcx
je 0x18009088e
nop dword [rax]
mov byte [rax], 0
add rax, 0x2020
cmp rax, rcx
jne 0x1800907f0
jmp 0x18009088e
mov rdx, qword [r14 + 0x80]
cmp eax, 0x100
jbe 0x18009081d
mov dword [rbx + 0x30], 0x100
mov eax, 0x100
mov r8d, eax
shl r8, 5
lea rcx, [rsi + 0x10]
call fcn.18011f220
mov byte [rsi], 1
mov byte [rbx + 0x20], 1
jmp 0x180090892
cmp byte [rbx + 0x20], 0
je 0x180090892
mov rcx, qword [rbx + 0x10]
mov rax, qword [rbx + 8]
cmp rax, rcx
je 0x18009088e
nop dword [rax]
mov byte [rax], 0
add rax, 0x2020
cmp rax, rcx
jne 0x180090850
jmp 0x18009088e
cmp byte [rbx + 0x20], 0
je 0x180090892
mov rcx, qword [rbx + 0x10]
mov rax, qword [rbx + 8]
cmp rax, rcx
je 0x18009088e
nop dword [rax]
nop word [rax + rax]
mov byte [rax], 0
add rax, 0x2020
cmp rax, rcx
jne 0x180090880
mov byte [rbx + 0x20], 0
lea r11, [rsp + 0xe0]
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