Function at 0x18003ad40
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x158]
sub rsp, 0x230
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x180118100]
xor rax, rsp
mov qword [rbp + 0x88], rax
mov r15, rcx
xor r13d, r13d
mov rcx, qword [rcx + 8]
call fcn.180036c00
mov qword [rsp + 0x50], rax
lea rdx, [rsp + 0x50]
lea rcx, [0x1801bdcc0]
call fcn.180036aa0
mov rcx, qword [r15 + 0x18]
movss xmm0, dword [rcx]
movss xmm15, dword [0x1800fe320]
mulss xmm0, xmm15
mulss xmm0, dword [rax]
mov rax, qword [r15 + 0x10]
mov rcx, qword [r15 + 8]
mov rdx, qword [r15]
mov r8, qword [rdx]
mov qword [rsp + 0x40], r8
cvttss2si edx, xmm0
movzx r11d, dl
or r11d, 0x18181800
cvttss2si r10d, dword [rax]
cvttss2si r9d, dword [rcx + 0x20]
cvttss2si r8d, dword [rsp + 0x44]
cvttss2si edx, dword [rsp + 0x40]
mov dword [rsp + 0x38], r13d
xorps xmm10, xmm10
movss dword [rsp + 0x30], xmm10
mov dword [rsp + 0x28], r11d
mov dword [rsp + 0x20], r10d
mov rcx, qword [0x1801b42e8]
call fcn.18008e580
mov rcx, qword [r15 + 8]
call fcn.180036c00
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x58]
lea rcx, [0x1801bdcc0]
call fcn.180036aa0
movss xmm7, dword [rax]
mulss xmm7, dword [0x1800fe2e8]
mov rcx, qword [r15 + 8]
movss xmm8, dword [rcx + 0x9c]
call fcn.180036c00
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x48]
lea rcx, [0x1801bdcc0]
call fcn.180036aa0
movss xmm0, dword [rax]
mulss xmm0, dword [0x1800fe2e8]
cvttss2si eax, xmm7
movzx edx, al
cvttss2si eax, xmm0
movzx ecx, al
sub ecx, edx
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm8
movd xmm0, edx
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movss xmm12, dword [0x1800fe264]
mulss xmm8, xmm12
movss xmm0, dword [0x1800fe2d4]
subss xmm0, xmm8
cvttss2si eax, xmm0
movzx r9d, al
mov r10d, r9d
shl r10d, 0x10
mov rax, qword [r15 + 0x10]
mov rcx, qword [r15 + 8]
mov rdx, qword [r15]
mov r8, qword [rdx]
mov qword [rsp + 0x40], r8
mov r11d, r10d
bswap r11d
shl r9d, 0x18
or r11d, r9d
cvttss2si edx, xmm1
movzx r8d, dl
or r11d, r8d
or r11d, r10d
cvttss2si r10d, dword [rax]
cvttss2si r9d, dword [rcx + 0x20]
cvttss2si r8d, dword [rsp + 0x44]
cvttss2si edx, dword [rsp + 0x40]
movss dword [rsp + 0x30], xmm10
mov dword [rsp + 0x28], r11d
mov dword [rsp + 0x20], r10d
mov rcx, qword [0x1801b42e8]
call fcn.18008ece0
mov rcx, qword [r15 + 8]
movss xmm6, dword [0x1800fe220]
cmp byte [rcx + 0x102], r13b
je 0x18003b008
call fcn.180036c00
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x48]
lea rcx, [0x1801bdcc0]
call fcn.180036aa0
mov rcx, qword [r15 + 0x18]
movss xmm1, dword [rcx]
mulss xmm1, xmm15
mulss xmm1, dword [rax]
mov rcx, qword [r15 + 8]
cvttss2si r9d, dword [rcx + 0x110]
mov rax, qword [r15]
cvttss2si r8d, dword [rax + 4]
movss xmm0, dword [rcx + 0x20]
addss xmm0, dword [rax]
subss xmm0, xmm6
cvttss2si edx, xmm0
cvttss2si eax, xmm1
movzx ecx, al
or ecx, 0x26262600
mov dword [rsp + 0x38], r13d
movss dword [rsp + 0x30], xmm10
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], r9d
mov r9d, 3
mov rcx, qword [0x1801b42e8]
call fcn.18008e580
mov r9, qword [r15 + 8]
movd xmm0, dword [r9 + 0x114]
cvtdq2ps xmm0, xmm0
movss xmm1, dword [r9 + 0x110]
comiss xmm1, xmm0
jbe 0x18003b029
movaps xmm0, xmm1
mov rax, qword [r15 + 0x20]
subss xmm0, xmm1
movss xmm9, dword [rax]
divss xmm9, xmm0
mov r12d, r13d
cmp qword [r9 + 0xf0], r12
jbe 0x18003b6f0
movabs r14, 0x7fffffffffffffff
movss xmm13, dword [0x1800fe1f4]
movss xmm11, dword [0x1800fe1ac]
movss xmm14, dword [0x1800fe254]
movd xmm6, r12d
cvtdq2ps xmm6, xmm6
mov rax, qword [r15]
movss xmm2, dword [rax + 4]
movaps xmm1, xmm6
mulss xmm1, dword [r9 + 0x24]
addss xmm1, xmm2
mov rax, qword [r15 + 0x20]
subss xmm1, dword [rax]
movaps xmm0, xmm2
subss xmm0, xmm12
comiss xmm1, xmm0
jb 0x18003b6d1
addss xmm2, dword [r9 + 0x110]
comiss xmm2, xmm1
jb 0x18003b6d1
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], rax
movsxd rsi, r12d
mov rcx, qword [r9 + 0xe8]
add rcx, rsi
mov rdx, qword [r9 + 0xe0]
dec rdx
and rdx, rcx
mov rax, qword [r9 + 0xd8]
mov rdx, qword [rax + rdx*8]
lea rcx, [rbp - 0x50]
call fcn.1800303b0
mov rdx, rax
lea rcx, [rbp + 0x50]
call fcn.18008f050
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], r13
mov qword [rbp + 0x48], r13
xor r8d, r8d
lea rdx, [0x1800f9fa0]
lea rcx, [rbp + 0x30]
call fcn.18002fe70
nop
mov rcx, qword [rbp + 0x58]
mov rax, rcx
mov r8, qword [rbp + 0x50]
sub rax, r8
and rax, 0xffffffffffffffe0
cmp rax, 0x40
jne 0x18003b167
lea rdx, [r8 + 0x20]
lea rax, [rbp + 0x30]
cmp rax, rdx
je 0x18003b167
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x18003b156
mov rdx, qword [rdx]
lea rcx, [rbp + 0x30]
call fcn.18001ad80
mov rcx, qword [rbp + 0x58]
mov r8, qword [rbp + 0x50]
sub rcx, r8
sar rcx, 5
test rcx, rcx
je 0x18003b7bc
mov rdx, r8
lea rcx, [rbp + 0x68]
call fcn.1800303b0
nop
mov rax, qword [r15 + 8]
lea rcx, [rax + 0x50]
lea r9, [rax + 0x30]
mov rdx, qword [r9 + 0x10]
mov r8, qword [rcx + 0x10]
mov rax, r14
sub rax, rdx
cmp rax, r8
jb 0x18003b7b6
cmp qword [r9 + 0x18], 0xf
jbe 0x18003b1b1
mov r9, qword [r9]
cmp qword [rcx + 0x18], 0xf
jbe 0x18003b1bb
mov rcx, qword [rcx]
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
lea rcx, [rbp - 0x30]
call fcn.18002e9e0
nop
lea rdx, [rbp + 0x30]
cmp qword [rbp + 0x48], 0xf
cmova rdx, qword [rbp + 0x30]
mov r8, qword [rbp + 0x40]
lea rcx, [rbp - 0x30]
call fcn.180030140
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], r13
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x70], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov edx, r12d
lea rcx, [rbp - 0x10]
call fcn.18002d960
mov rbx, rax
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0xf
cmova rcx, qword [rsp + 0x60]
movsx eax, byte [rcx]
test al, al
jne 0x18003b24f
mov edi, 0x811c9dc5
jmp 0x18003b264
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
inc rcx
call fcn.180036e90
mov edi, eax
cmp qword [rbx + 0x18], 0xf
jbe 0x18003b26e
mov rbx, qword [rbx]
movsx ecx, byte [rbx]
test cl, cl
jne 0x18003b27c
mov eax, 0x811c9dc5
jmp 0x18003b292
mov eax, ecx
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
lea rcx, [rbx + 1]
call fcn.180036e90
add eax, 0x326fb03c
add eax, edi
mov dword [rsp + 0x40], eax
movaps xmm2, xmm10
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x60]
call fcn.180035b00
nop
lea rcx, [rbp - 0x10]
call fcn.1800304d0
nop
lea rcx, [rsp + 0x60]
call fcn.1800304d0
nop
lea rcx, [rbp - 0x30]
call fcn.1800304d0
mov rdx, qword [r15 + 8]
movaps xmm1, xmm6
mulss xmm1, dword [rdx + 0x24]
mov rax, qword [r15 + 0x20]
subss xmm1, dword [rax]
mov rax, qword [r15]
addss xmm1, dword [rax + 4]
movss xmm0, dword [rax]
addss xmm0, xmm10
mov rax, qword [rdx + 0x20]
mov qword [rsp + 0x40], rax
cvttss2si ecx, xmm1
cvttss2si r8d, xmm0
mov rax, qword [0x1801b42e0]
movss xmm2, dword [rax]
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm0
jbe 0x18003b35b
movss xmm1, dword [rax + 4]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x18003b35b
cvttss2si eax, dword [rsp + 0x40]
add eax, r8d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm2
jbe 0x18003b35b
cvttss2si eax, dword [rsp + 0x44]
add eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x18003b35b
mov bl, 1
jmp 0x18003b35d
xor bl, bl
mov rcx, qword [rdx + 0xe8]
add rcx, rsi
mov r9, qword [rdx + 0xe0]
dec r9
and r9, rcx
mov rax, qword [rdx + 0xd8]
mov r9, qword [rax + r9*8]
mov rax, qword [0x1801b42e8]
mov r8, qword [rax + 0x78]
lea rdx, [rsp + 0x48]
call fcn.18008daa0
mov r9, qword [r15 + 8]
movss xmm0, dword [r9 + 0x24]
mov rcx, qword [r15]
movaps xmm7, xmm0
mulss xmm7, xmm6
addss xmm7, dword [rcx + 4]
mov rax, qword [r15 + 0x20]
subss xmm7, dword [rax]
subss xmm7, xmm13
mulss xmm0, xmm11
addss xmm7, xmm0
movss xmm0, dword [rsp + 0x4c]
mulss xmm0, xmm11
subss xmm7, xmm0
movss xmm8, dword [rcx]
addss xmm8, xmm14
test bl, bl
jne 0x18003b3ef
mov rax, qword [r9 + 0xf8]
cmp dword [rax], r12d
mov edi, r13d
jne 0x18003b3f4
mov edi, 1
lea rcx, [r9 + 0x50]
add r9, 0x30
mov rdx, qword [r9 + 0x10]
mov r8, qword [rcx + 0x10]
mov rax, r14
sub rax, rdx
cmp rax, r8
jb 0x18003b7c2
cmp qword [r9 + 0x18], 0xf
jbe 0x18003b41d
mov r9, qword [r9]
cmp qword [rcx + 0x18], 0xf
jbe 0x18003b427
mov rcx, qword [rcx]
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
lea rcx, [rbp - 0x50]
call fcn.18002e9e0
nop
lea rdx, [rbp + 0x30]
cmp qword [rbp + 0x48], 0xf
cmova rdx, qword [rbp + 0x30]
mov r8, qword [rbp + 0x40]
lea rcx, [rbp - 0x50]
call fcn.180030140
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r13
mov qword [rbp - 0x68], r13
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x70], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov edx, r12d
lea rcx, [rbp + 0x10]
call fcn.18002d960
mov rcx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x18003b4a1
mov rcx, qword [rax]
movsx eax, byte [rcx]
test al, al
jne 0x18003b4af
mov ebx, 0x811c9dc5
jmp 0x18003b4c4
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
inc rcx
call fcn.180036e90
mov ebx, eax
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 0xf
cmova rcx, qword [rbp - 0x80]
movsx edx, byte [rcx]
test dl, dl
jne 0x18003b4e0
mov eax, 0x811c9dc5
jmp 0x18003b4f5
mov eax, edx
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
inc rcx
call fcn.180036e90
add eax, 0x326fb03c
add eax, ebx
mov dword [rsp + 0x40], eax
movd xmm1, edi
cvtdq2ps xmm1, xmm1
movss xmm3, dword [0x1800fe340]
movss xmm2, dword [0x1800fe180]
lea rcx, [rsp + 0x40]
call fcn.180035ca0
nop
lea rcx, [rbp + 0x10]
call fcn.1800304d0
nop
lea rcx, [rbp - 0x80]
call fcn.1800304d0
nop
lea rcx, [rbp - 0x50]
call fcn.1800304d0
mov rcx, qword [r15 + 8]
mov rdx, qword [rcx + 0xe8]
add rdx, rsi
mov r8, qword [rcx + 0xe0]
dec r8
and r8, rdx
mov rax, qword [rcx + 0xd8]
mov r14, qword [rax + r8*8]
call fcn.180036c00
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x58]
lea rcx, [0x1801bdcc0]
call fcn.180036aa0
mov rcx, qword [r15 + 0x18]
movss xmm6, dword [rcx]
mulss xmm6, xmm15
mulss xmm6, dword [rax]
movzx esi, byte [0x1801bdcb7]
movzx edi, word [0x1801bdcb6]
mov ebx, dword [0x1801bdcb4]
shr ebx, 8
mov rcx, qword [r15 + 8]
call fcn.180036c00
mov qword [rsp + 0x50], rax
lea rdx, [rsp + 0x50]
lea rcx, [0x1801bdcc0]
call fcn.180036aa0
movss xmm0, dword [rax]
mulss xmm0, xmm15
cvttss2si eax, xmm6
movzx edx, al
cvttss2si eax, xmm0
movzx ecx, al
sub ecx, edx
movd xmm5, ecx
cvtdq2ps xmm5, xmm5
movss xmm2, dword [rbp - 0x60]
mulss xmm5, xmm2
movd xmm0, edx
cvtdq2ps xmm0, xmm0
addss xmm5, xmm0
movzx eax, bl
sub eax, 0xc8
movd xmm4, eax
cvtdq2ps xmm4, xmm4
mulss xmm4, xmm2
movss xmm3, dword [0x1800fe318]
addss xmm4, xmm3
movzx eax, dil
sub eax, 0xc8
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm2
addss xmm1, xmm3
lea eax, [rsi - 0xc8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
addss xmm0, xmm3
mov r10, qword [0x1801b42e8]
cvttss2si eax, xmm0
movzx r9d, al
shl r9d, 8
cvttss2si eax, xmm1
movzx ecx, al
or r9d, ecx
shl r9d, 8
cvttss2si eax, xmm4
movzx r8d, al
or r9d, r8d
shl r9d, 8
cvttss2si eax, xmm5
movzx r8d, al
or r9d, r8d
mov byte [rsp + 0x38], 0
mov byte [rsp + 0x30], 0
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], r9d
movaps xmm3, xmm7
movaps xmm2, xmm8
mov rdx, qword [r10 + 0x78]
mov rcx, r10
call fcn.18008dbe0
nop
lea rcx, [rbp + 0x68]
call fcn.1800304d0
nop
lea rcx, [rbp + 0x30]
call fcn.1800304d0
nop
lea rcx, [rbp + 0x50]
call fcn.18003bfe0
movabs r14, 0x7fffffffffffffff
inc r12d
mov r9, qword [r15 + 8]
movsxd rax, r12d
cmp rax, qword [r9 + 0xf0]
jb 0x18003b070
movss xmm6, dword [0x1800fe220]
mov rax, qword [r15]
mulss xmm9, dword [r9 + 0x110]
addss xmm9, dword [rax + 4]
subss xmm9, xmm12
cvttss2si r8d, xmm9
movss xmm0, dword [r9 + 0x20]
addss xmm0, dword [rax]
subss xmm0, xmm6
cvttss2si edx, xmm0
mov dword [rsp + 0x38], r13d
movss dword [rsp + 0x30], xmm10
mov eax, dword [0x1801bdcb4]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0xa
mov r9d, 3
mov rcx, qword [0x1801b42e8]
call fcn.18008e580
mov rcx, qword [rbp + 0x88]
xor rcx, rsp
call fcn.1800921e0
lea r11, [rsp + 0x230]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.180030260
nop
call fcn.18003bdb0
nop
call fcn.180030260
int3
add rcx, 8
jmp 0x18003ad40