Function at 0x180063c60
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x150
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
lea rbp, [rsp + 0x60]
and rbp, 0xffffffffffffffe0
mov r15, rdx
mov rdi, rcx
mov rax, qword [0x180189ec0]
lea r8, [rax + rax*4]
mov rax, qword [0x180186ec0]
lea rcx, [rax + 0x20]
lea rcx, [rcx + r8*8]
cmp qword [rax + r8*8 + 0x18], 8
jbe 0x180063cc0
mov rcx, qword [rcx]
cmp byte [rcx], 0
je 0x18006489a
mov rcx, qword [0x1801892c8]
mov rax, qword [rcx]
mov rax, qword [rax + 0x120]
call qword [0x1800da508]
test al, al
je 0x18006489a
mov rcx, qword [0x1801892c8]
mov rax, qword [rcx]
mov rax, qword [rax + 0x118]
call qword [0x1800da508]
test al, al
je 0x18006489a
cmp qword [0x1801892e0], 0
je 0x18006489a
mov rbx, qword [0x1801892d8]
test rbx, rbx
je 0x18006489a
test r15, r15
je 0x18006489a
mov r14, qword [r15 + 0x40]
test r14, r14
je 0x18006489a
mov qword [rdi + 0xa0], rbx
test rbx, rbx
je 0x18006489a
mov esi, dword [0x18018768c]
mov r12d, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax + rsi*8]
movabs r13, 0xaf63fe4c86022652
mov eax, dword [r12 + rax]
cmp dword [0x180189358], eax
jle 0x180063db8
lea rcx, [0x180189358]
call fcn.1800abe2c
cmp dword [0x180189358], 0xffffffff
jne 0x180063db8
mov rdx, r13
lea rcx, [0x18010c751]
call fcn.18005f770
mov rcx, rax
call fcn.180097d70
mov dword [0x180189364], eax
lea rcx, [0x180189358]
call fcn.1800abdc0
mov eax, dword [0x180189364]
cmp dword [rax + rbx], 0
jle 0x18006489a
mov rax, qword [r14 + 0x40]
test rax, rax
je 0x18006489a
movsd xmm0, qword [rax + 0x18]
movsd qword [rbp + 0x40], xmm0
mov eax, dword [rax + 0x20]
mov dword [rbp + 0x48], eax
mov rax, qword [0x180188f58]
cmp rax, qword [0x180188f60]
je 0x180063dfc
mov qword [0x180188f60], rax
mov rdx, qword [rdi + 0xa0]
mov rcx, qword [0x180188de8]
call fcn.1800648d0
mov rbx, qword [0x180188de8]
mov rdx, qword [0x180188f60]
cmp byte [rbx + 0x2a], 0
je 0x180063e64
mov dword [rbp], 6
cmp rdx, qword [0x180188f68]
je 0x180063e4d
mov dword [rdx], 6
mov rdx, qword [0x180188f60]
add rdx, 4
mov qword [0x180188f60], rdx
jmp 0x180063e64
lea r8, [rbp]
lea rcx, [0x180188f58]
call fcn.180065f90
mov rdx, qword [0x180188f60]
cmp byte [rbx + 0x2d], 0
je 0x180063f31
mov dword [rbp], 4
cmp rdx, qword [0x180188f68]
je 0x180063e98
mov dword [rdx], 4
mov rdx, qword [0x180188f60]
add rdx, 4
mov qword [0x180188f60], rdx
jmp 0x180063eaf
lea r8, [rbp]
lea rcx, [0x180188f58]
call fcn.180065f90
mov rdx, qword [0x180188f60]
mov dword [rbp], 8
cmp rdx, qword [0x180188f68]
je 0x180063ed9
mov dword [rdx], 8
mov rdx, qword [0x180188f60]
add rdx, 4
mov qword [0x180188f60], rdx
jmp 0x180063ef0
lea r8, [rbp]
lea rcx, [0x180188f58]
call fcn.180065f90
mov rdx, qword [0x180188f60]
mov dword [rbp], 0xd
cmp rdx, qword [0x180188f68]
je 0x180063f1a
mov dword [rdx], 0xd
mov rdx, qword [0x180188f60]
add rdx, 4
mov qword [0x180188f60], rdx
jmp 0x180063f31
lea r8, [rbp]
lea rcx, [0x180188f58]
call fcn.180065f90
mov rdx, qword [0x180188f60]
cmp byte [rbx + 0x2e], 0
je 0x180063ffe
mov dword [rbp], 3
cmp rdx, qword [0x180188f68]
je 0x180063f65
mov dword [rdx], 3
mov rdx, qword [0x180188f60]
add rdx, 4
mov qword [0x180188f60], rdx
jmp 0x180063f7c
lea r8, [rbp]
lea rcx, [0x180188f58]
call fcn.180065f90
mov rdx, qword [0x180188f60]
mov dword [rbp], 1
cmp rdx, qword [0x180188f68]
je 0x180063fa6
mov dword [rdx], 1
mov rdx, qword [0x180188f60]
add rdx, 4
mov qword [0x180188f60], rdx
jmp 0x180063fbd
lea r8, [rbp]
lea rcx, [0x180188f58]
call fcn.180065f90
mov rdx, qword [0x180188f60]
mov dword [rbp], 2
cmp rdx, qword [0x180188f68]
je 0x180063fe7
mov dword [rdx], 2
mov rdx, qword [0x180188f60]
add rdx, 4
mov qword [0x180188f60], rdx
jmp 0x180063ffe
lea r8, [rbp]
lea rcx, [0x180188f58]
call fcn.180065f90
mov rdx, qword [0x180188f60]
cmp byte [rbx + 0x2f], 0
je 0x180064045
mov dword [rbp], 0x17
cmp rdx, qword [0x180188f68]
je 0x18006402e
mov dword [rdx], 0x17
mov rdx, qword [0x180188f60]
add rdx, 4
mov qword [0x180188f60], rdx
jmp 0x180064045
lea r8, [rbp]
lea rcx, [0x180188f58]
call fcn.180065f90
mov rdx, qword [0x180188f60]
cmp byte [rbx + 0x30], 0
je 0x18006407b
mov dword [rbp], 0x1a
cmp rdx, qword [0x180188f68]
je 0x18006406b
mov dword [rdx], 0x1a
add qword [0x180188f60], 4
jmp 0x18006407b
lea r8, [rbp]
lea rcx, [0x180188f58]
call fcn.180065f90
mov rdx, qword [rdi + 0xa0]
call fcn.1800629d0
mov rax, qword [0x180188f48]
cmp qword [0x180188f40], rax
je 0x18006489a
mov rax, qword [0x180188f60]
cmp qword [0x180188f58], rax
je 0x18006489a
mov rdx, qword [rdi + 0xa0]
mov rcx, qword [0x180188de8]
call fcn.180063270
mov rcx, qword [0x180188f28]
cmp rcx, qword [0x180188f30]
je 0x18006489a
mov eax, dword [rcx + 8]
and eax, 0x7f800000
cmp eax, 0x7f800000
setne al
cmp al, 1
jne 0x18006489a
mov eax, dword [rcx + 0xc]
and eax, 0x7f800000
cmp eax, 0x7f800000
setne al
cmp al, 1
jne 0x18006489a
mov eax, dword [rcx + 0x10]
and eax, 0x7f800000
cmp eax, 0x7f800000
setne al
cmp al, 1
jne 0x18006489a
mov rcx, qword [rdi + 0xa0]
test rcx, rcx
je 0x18006489a
call fcn.1800a37b0
mov rbx, rax
test rax, rax
je 0x18006489a
mov rcx, qword gs:[0x58]
mov rdx, qword [rcx + rsi*8]
mov ecx, dword [r12 + rdx]
cmp dword [0x180189370], ecx
jle 0x180064199
lea rcx, [0x180189370]
call fcn.1800abe2c
cmp dword [0x180189370], 0xffffffff
jne 0x180064199
mov rdx, r13
lea rcx, [0x18010c769]
call fcn.18005f770
mov rcx, rax
call fcn.180097d70
add eax, 8
mov dword [0x18018934c], eax
lea rcx, [0x180189370]
call fcn.1800abdc0
mov eax, dword [0x18018934c]
cmp qword [rax + rbx], 0
je 0x18006489a
mov rax, qword gs:[0x58]
mov rcx, qword [rax + rsi*8]
mov eax, dword [r12 + rcx]
cmp dword [0x180189334], eax
jle 0x180064201
lea rcx, [0x180189334]
call fcn.1800abe2c
cmp dword [0x180189334], 0xffffffff
jne 0x180064201
mov rdx, r13
lea rcx, [0x18010c831]
call fcn.18005f770
mov rcx, rax
call fcn.180097d70
mov dword [0x180189384], eax
lea rcx, [0x180189334]
call fcn.1800abdc0
mov eax, dword [0x180189384]
cmp dword [rax + rbx], 0
jle 0x18006489a
mov rcx, qword [rdi + 0xa0]
call fcn.1800a37b0
test rax, rax
je 0x18006489a
mov rcx, rax
call fcn.1800628b0
test rax, rax
je 0x18006489a
mov rax, qword [0x1801892d0]
mov rbx, qword [rax + 0x58]
mov rax, qword [0x180188f28]
lea rdx, [rbp + 8]
mov rcx, qword [rax]
call fcn.1800625b0
mov edx, dword [rax]
cmp edx, 0xffffffff
je 0x18006489a
and edx, 0x7fff
mov rcx, rbx
call fcn.18005f840
test rax, rax
je 0x18006489a
mov rax, qword [0x1801892d0]
mov rbx, qword [rax + 0x58]
lea rdx, [rbp + 8]
mov rcx, qword [rdi + 0xa0]
call fcn.1800625b0
mov edx, dword [rax]
cmp edx, 0xffffffff
je 0x18006489a
and edx, 0x7fff
mov rcx, rbx
call fcn.18005f840
test rax, rax
je 0x18006489a
mov rcx, qword [rdi + 0xa0]
mov rax, qword [0x180188f28]
movsd xmm6, qword [rax + 8]
mov ebx, dword [rax + 0x10]
xorps xmm8, xmm8
mov qword [rbp + 0x18], 0
mov dword [rbp + 0x20], 0
mov rax, qword [rcx]
lea rdx, [rbp + 0x18]
mov rax, qword [rax + 0x530]
call qword [0x1800da508]
movaps xmm2, xmm6
subss xmm2, dword [rbp + 0x18]
movss dword [rbp + 8], xmm2
movaps xmm1, xmm6
shufps xmm1, xmm1, 0x55
movsd qword [rbp + 0x30], xmm6
subss xmm1, dword [rbp + 0x1c]
movss dword [rbp + 0xc], xmm1
movd xmm0, ebx
subss xmm0, dword [rbp + 0x20]
movss dword [rbp + 0x10], xmm0
movss dword [rbp + 0x30], xmm2
movss dword [rbp + 0x34], xmm1
movss dword [rbp + 0x38], xmm0
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x30]
call fcn.180062390
lea rcx, [rbp + 8]
call fcn.1800621f0
lea rcx, [rbp + 8]
call fcn.1800621f0
movss xmm6, dword [rbp + 8]
movss dword [rbp + 0x18], xmm6
movss xmm7, dword [rbp + 0xc]
movss dword [rbp + 0x1c], xmm7
mov dword [rbp + 0x20], 0
mov dword [rbp + 8], 0x42b20000
movss xmm0, dword [0x180111388]
mov dword [rbp], 0xc2b20000
lea rax, [rbp + 0x18]
lea rcx, [rbp]
comiss xmm0, xmm6
cmovbe rcx, rax
lea rax, [rbp + 8]
comiss xmm6, dword [0x180111260]
cmovbe rax, rcx
movss xmm0, dword [rax]
movss dword [rbp + 0x18], xmm0
mov dword [rbp], 0x43340000
movss xmm0, dword [0x180111394]
mov dword [rbp + 8], 0xc3340000
lea rax, [rbp + 0x1c]
lea rcx, [rbp + 8]
comiss xmm0, xmm7
cmovbe rcx, rax
lea rax, [rbp]
comiss xmm7, dword [0x1801112a4]
cmovbe rax, rcx
movss xmm0, dword [rax]
movss dword [rbp + 0x1c], xmm0
mov rdx, qword [0x18018a280]
lea rax, [rdx + rdx*4]
mov r8, qword [0x180186ec0]
mov r9, qword [r8 + rax*8 + 0x18]
lea rcx, [r8 + 0x20]
lea rcx, [rcx + rax*8]
cmp r9, 8
mov rax, rcx
jbe 0x180064410
mov rax, qword [rcx]
test byte [rax], 8
je 0x180064435
mov rax, qword [0x180189340]
movd xmm1, dword [rax + 0x48]
cvtdq2ps xmm1, xmm1
movss xmm0, dword [0x180188cb0]
comiss xmm0, xmm1
jae 0x18006489a
cmp r9, 8
jbe 0x18006443e
mov rcx, qword [rcx]
test byte [rcx], 1
je 0x1800644d7
mov rcx, qword [rdi + 0xa0]
call fcn.18005f7a0
test al, al
je 0x18006489a
mov rbx, qword [rdi + 0xa0]
mov rax, qword gs:[0x58]
mov rcx, qword [rax + rsi*8]
mov eax, dword [r12 + rcx]
cmp dword [0x18018931c], eax
jle 0x1800644b9
lea rcx, [0x18018931c]
call fcn.1800abe2c
cmp dword [0x18018931c], 0xffffffff
jne 0x1800644b9
mov rdx, r13
lea rcx, [0x18010c719]
call fcn.18005f770
mov rcx, rax
call fcn.180097d70
mov dword [0x1801892fc], eax
lea rcx, [0x18018931c]
call fcn.1800abdc0
mov eax, dword [0x1801892fc]
test byte [rax + rbx], 1
je 0x18006489a
mov rdx, qword [0x18018a280]
mov r8, qword [0x180186ec0]
lea rax, [rdx + rdx*4]
lea rcx, [rax + 4]
lea rcx, [r8 + rcx*8]
cmp qword [r8 + rax*8 + 0x18], 8
jbe 0x1800644ee
mov rcx, qword [rcx]
test byte [rcx], 2
je 0x180064566
mov rbx, qword [rdi + 0xa0]
mov rax, qword gs:[0x58]
mov rcx, qword [rax + rsi*8]
mov eax, dword [r12 + rcx]
cmp dword [0x180189380], eax
jle 0x180064551
lea rcx, [0x180189380]
call fcn.1800abe2c
cmp dword [0x180189380], 0xffffffff
jne 0x180064551
mov rdx, r13
lea rcx, [0x18010c789]
call fcn.18005f770
mov rcx, rax
call fcn.180097d70
mov dword [0x180189350], eax
lea rcx, [0x180189380]
call fcn.1800abdc0
mov eax, dword [0x180189350]
movss xmm0, dword [rax + rbx]
comiss xmm0, xmm8
ja 0x18006489a
movss xmm1, dword [rbp + 0x44]
subss xmm1, xmm7
movss xmm0, dword [rbp + 0x40]
subss xmm0, xmm6
call fcn.1800ccb64
movaps xmm6, xmm0
movd xmm7, dword [rdi]
cvtdq2ps xmm7, xmm7
mov rax, qword gs:[0x58]
mov rcx, qword [rax + rsi*8]
mov eax, dword [r12 + rcx]
cmp dword [0x180189308], eax
jle 0x180064756
lea rcx, [0x180189308]
call fcn.1800abe2c
cmp dword [0x180189308], 0xffffffff
jne 0x180064756
movabs rax, 0xf80cc7f4bf59acf6
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x80], rax
movabs rax, 0x3502fbc35c527cff
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x88], rax
movabs rax, 0xbd29489d9e655578
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x90], rax
movabs rax, 0x681fa089b5fe77c7
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x98], rax
movabs rax, 0x487c546d0d03f40a
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0xa0], rax
movabs rcx, 0x826623b87f32a13a
mov qword [rbp + 8], rcx
mov rax, qword [rbp + 8]
mov qword [rbp + 0xa8], rax
movabs rax, 0x99609791cc38eeb5
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x40], rax
movabs rax, 0x477695ac1f201986
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x48], rax
movabs rax, 0xd01765effb093917
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x50], rax
movabs rax, 0x95dcbeadcaa1998
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x58], rax
movabs rax, 0x487c546d0d039179
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
mov qword [rbp + 0x60], rax
mov qword [rbp + 8], rcx
mov rax, qword [rbp + 8]
mov qword [rbp + 0x68], rax
vmovdqu ymm0, ymmword [rbp + 0x80]
vpxor ymm1, ymm0, ymmword [rbp + 0x40]
vmovdqu ymmword [rbp + 0x80], ymm1
vmovdqa xmm0, xmmword [rbp + 0xa0]
vxorps xmm0, xmm0, xmmword [rbp + 0x60]
vmovdqa xmmword [rbp + 0xa0], xmm0
vmovd eax, xmm1
test al, al
jne 0x18006470e
movabs rax, 0xcbf29ce484222325
vzeroupper
jmp 0x18006473c
movsx rdx, al
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs rax, 0x100000001b3
imul rdx, rax
lea rcx, [rbp + 0x81]
vzeroupper
call fcn.18005f770
mov rcx, rax
call fcn.180097d70
mov dword [0x18018935c], eax
lea rcx, [0x180189308]
call fcn.1800abdc0
mov rcx, qword [rdi + 0xa0]
call fcn.1800a37b0
mov rax, qword gs:[0x58]
mov rcx, qword [rax + rsi*8]
mov eax, dword [r12 + rcx]
cmp dword [0x180189320], eax
jle 0x1800647b9
lea rcx, [0x180189320]
call fcn.1800abe2c
cmp dword [0x180189320], 0xffffffff
jne 0x1800647b9
mov rdx, r13
lea rcx, [0x18010c7f9]
call fcn.18005f770
mov rcx, rax
call fcn.180097d70
mov dword [0x180189354], eax
lea rcx, [0x180189320]
call fcn.1800abdc0
mov rax, qword [0x180188f28]
mov rcx, qword [rax]
mov rax, qword [rdi + 0xa0]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov rdx, r15
mov rcx, qword [0x180188de8]
call fcn.1800639f0
comiss xmm6, xmm7
ja 0x18006489a
mov rbx, qword [rdi + 0xa0]
mov rax, qword gs:[0x58]
mov rcx, qword [rax + rsi*8]
mov eax, dword [r12 + rcx]
cmp dword [0x18018932c], eax
jle 0x18006484a
lea rcx, [0x18018932c]
call fcn.1800abe2c
cmp dword [0x18018932c], 0xffffffff
jne 0x18006484a
mov rdx, r13
lea rcx, [0x18010c7b1]
call fcn.18005f770
mov rcx, rax
call fcn.180097d70
mov dword [0x180189388], eax
lea rcx, [0x18018932c]
call fcn.1800abdc0
mov eax, dword [0x180189388]
movups xmm1, xmmword [rax + rbx]
movd eax, xmm1
dec eax
cmp eax, 0xfffe
ja 0x18006489a
cdqe
lea rcx, [rax + rax*2]
psrldq xmm1, 8
movq rax, xmm1
movss xmm0, dword [rax + rcx*4]
movss xmm1, dword [rax + rcx*4 + 4]
movss xmm2, dword [rax + rcx*4 + 8]
movss dword [0x1801892f0], xmm0
movss dword [0x1801892f4], xmm1
movss dword [0x1801892f8], xmm2
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret