Function at 0x14002a650
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
push rsi
push rdi
push r13
push r15
lea rbp, [rax - 0x78]
sub rsp, 0x150
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x1400da040]
xor rax, rsp
mov qword [rbp - 0x60], rax
mov rdi, qword [0x1400e17b0]
mov rsi, rdx
mov r15, rcx
mov rax, qword [rdi + 0x1ba0]
mov byte [rax + 0x91], 1
mov r13, qword [rdi + 0x1ba0]
cmp byte [r13 + 0x94], 0
jne 0x14002af20
mov rdx, rcx
mov rcx, r13
call fcn.140006250
mov r8, qword [0x1400e17b0]
mov rdx, r15
mov ebx, eax
mov dword [rsp + 0x58], ebx
cmp r15, 0xffffffffffffffff
jae 0x14002a6fe
movzx eax, byte [rdx]
test al, al
je 0x14002a6fe
lea rcx, [rdx + 1]
cmp al, 0x23
jne 0x14002a6f5
cmp byte [rcx], al
je 0x14002a6fe
mov rdx, rcx
cmp rcx, 0xffffffffffffffff
jb 0x14002a6e2
movss xmm1, dword [r8 + 0x1a28]
xorps xmm9, xmm9
cmp r15, rdx
jne 0x14002a715
xorps xmm0, xmm0
jmp 0x14002a768
movss xmm0, dword [0x1400c87f0]
movaps xmm2, xmm1
movss xmm3, dword [0x1400c87e4]
mov rcx, qword [r8 + 0x1a20]
mov qword [rsp + 0x30], rdx
lea rdx, [rsp + 0x48]
mov qword [rsp + 0x28], r15
movss dword [rsp + 0x20], xmm0
call fcn.140026af0
movss xmm0, dword [rsp + 0x48]
addss xmm0, dword [0x1400c8708]
movss xmm1, dword [rsp + 0x4c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss xmm8, dword [rdi + 0x15bc]
lea rcx, [rsp + 0x48]
movss xmm2, dword [rdi + 0x15b8]
movaps xmm3, xmm8
mov rdx, qword [rsi]
addss xmm3, xmm8
movss xmm6, dword [r13 + 0xd8]
addss xmm2, xmm2
movss xmm7, dword [r13 + 0xdc]
movss dword [rsp + 0x74], xmm1
movss dword [rsp + 0x70], xmm0
addss xmm3, xmm1
addss xmm2, xmm0
call fcn.14000f870
movss xmm1, dword [rsp + 0x4c]
lea rcx, [rsp + 0x48]
movss xmm15, dword [rsp + 0x48]
movaps xmm2, xmm6
movaps xmm0, xmm7
movss dword [rsp + 0x68], xmm1
addss xmm0, xmm1
movss dword [rbp - 0x70], xmm6
addss xmm2, xmm15
movss dword [rbp - 0x6c], xmm7
movaps xmm1, xmm8
movss dword [rbp - 0x64], xmm0
movss dword [rbp - 0x68], xmm2
call fcn.14000f450
mov edx, ebx
lea rcx, [rbp - 0x70]
call fcn.14000f5a0
test al, al
je 0x14002af20
mov eax, dword [rdi + 0x1c5c]
lea r9, [rsp + 0x42]
mov qword [rsp + 0x188], r12
lea r8, [rsp + 0x41]
mov qword [rsp + 0x190], r14
lea rcx, [rbp - 0x70]
movaps xmmword [rsp + 0x100], xmm10
and eax, 2
movaps xmmword [rsp + 0xf0], xmm11
mov edx, ebx
movaps xmmword [rsp + 0xe0], xmm12
shl eax, 9
movaps xmmword [rsp + 0xd0], xmm13
movaps xmmword [rsp + 0xc0], xmm14
mov dword [rsp + 0x20], eax
call fcn.140029d90
mov r8d, 1
mov byte [rsp + 0x40], al
mov edx, ebx
lea rcx, [rbp - 0x70]
call fcn.1400059e0
movzx r12d, byte [rsp + 0x59]
movabs r11, 0x100000001b3
movzx r8d, byte [rsp + 0x5a]
movabs rsi, 0xcbf29ce484222325
movzx r10d, byte [rsp + 0x5b]
mov rcx, qword [0x1400e18d8]
mov r9, qword [0x1400e18c8]
movzx edx, bl
xor rdx, rsi
imul rdx, r11
xor rdx, r12
imul rdx, r11
xor rdx, r8
imul rdx, r11
xor rdx, r10
imul rdx, r11
and rdx, qword [0x1400e18f0]
add rdx, rdx
mov rax, qword [rcx + rdx*8 + 8]
cmp rax, r9
je 0x14002a907
mov rcx, qword [rcx + rdx*8]
cmp ebx, dword [rax + 0x10]
je 0x14002a909
cmp rax, rcx
je 0x14002a907
mov rax, qword [rax + 8]
cmp ebx, dword [rax + 0x10]
jne 0x14002a8f7
jmp 0x14002a909
xor eax, eax
mov rdx, qword [0x1400e1898]
test rax, rax
mov r14, r9
movzx ecx, bl
cmovne r14, rax
xor rcx, rsi
imul rcx, r11
xor rcx, r12
imul rcx, r11
xor rcx, r8
mov r8, qword [0x1400e1888]
imul rcx, r11
xor rcx, r10
imul rcx, r11
and rcx, qword [0x1400e18b0]
add rcx, rcx
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, r8
je 0x14002a970
mov rdx, qword [rdx + rcx*8]
cmp ebx, dword [rax + 0x10]
je 0x14002a972
nop dword [rax]
cmp rax, rdx
je 0x14002a970
mov rax, qword [rax + 8]
cmp ebx, dword [rax + 0x10]
jne 0x14002a960
jmp 0x14002a972
xor eax, eax
movss xmm7, dword [0x1400c8710]
test rax, rax
mov rsi, r8
cmovne rsi, rax
cmp r14, r9
jne 0x14002aa37
lea r8, [rsp + 0x48]
mov dword [rsp + 0x48], ebx
lea rdx, [rsp + 0x78]
mov dword [rsp + 0x4c], 0x3f800000
lea rcx, [0x1400e18c0]
call fcn.14002da00
mov r14, qword [0x1400e18c8]
movabs rdx, 0x100000001b3
movabs rax, 0xcbf29ce484222325
movzx ecx, bl
xor rcx, rax
movzx eax, byte [rsp + 0x5a]
imul rcx, rdx
xor rcx, r12
imul rcx, rdx
xor rcx, rax
movzx eax, byte [rsp + 0x5b]
imul rcx, rdx
xor rcx, rax
imul rcx, rdx
mov rdx, qword [0x1400e18d8]
and rcx, qword [0x1400e18f0]
add rcx, rcx
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, r14
je 0x14002aa27
mov rdx, qword [rdx + rcx*8]
cmp ebx, dword [rax + 0x10]
je 0x14002aa29
cmp rax, rdx
je 0x14002aa27
mov rax, qword [rax + 8]
cmp ebx, dword [rax + 0x10]
jne 0x14002aa17
jmp 0x14002aa29
xor eax, eax
mov r8, qword [0x1400e1888]
test rax, rax
cmovne r14, rax
cmp rsi, r8
jne 0x14002aae9
lea r8, [rsp + 0x48]
mov dword [rsp + 0x48], ebx
lea rdx, [rsp + 0x78]
mov dword [rsp + 0x4c], 0
lea rcx, [0x1400e1880]
call fcn.14002da00
mov rsi, qword [0x1400e1888]
movabs rdx, 0x100000001b3
movabs rax, 0xcbf29ce484222325
movzx ecx, bl
xor rcx, rax
movzx eax, byte [rsp + 0x5a]
imul rcx, rdx
xor rcx, r12
imul rcx, rdx
xor rcx, rax
movzx eax, byte [rsp + 0x5b]
imul rcx, rdx
xor rcx, rax
imul rcx, rdx
mov rdx, qword [0x1400e1898]
and rcx, qword [0x1400e18b0]
add rcx, rcx
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, rsi
je 0x14002aae0
mov rdx, qword [rdx + rcx*8]
cmp ebx, dword [rax + 0x10]
je 0x14002aae2
nop word [rax + rax]
cmp rax, rdx
je 0x14002aae0
mov rax, qword [rax + 8]
cmp ebx, dword [rax + 0x10]
jne 0x14002aad0
jmp 0x14002aae2
xor eax, eax
test rax, rax
cmovne rsi, rax
movzx r12d, byte [rsp + 0x40]
test r12b, r12b
je 0x14002aafa
movaps xmm0, xmm9
jmp 0x14002ab0d
movss xmm0, dword [rdi + 0x18]
mulss xmm0, dword [0x1400c8730]
addss xmm0, dword [r14 + 0x14]
comiss xmm9, xmm0
jbe 0x14002ab19
movaps xmm1, xmm9
jmp 0x14002ab20
movaps xmm1, xmm7
minss xmm1, xmm0
movzx eax, byte [rsp + 0x41]
movaps xmm6, xmm7
movss dword [r14 + 0x14], xmm1
subss xmm6, xmm1
movss xmm0, dword [rdi + 0x18]
mulss xmm6, dword [0x1400c8728]
test al, al
jne 0x14002ab4a
xorps xmm0, xmmword [0x1400c89d0]
mulss xmm0, dword [0x1400c8738]
addss xmm0, dword [rsi + 0x14]
comiss xmm9, xmm0
jbe 0x14002ab63
movaps xmm3, xmm9
jmp 0x14002ab6a
movaps xmm3, xmm7
minss xmm3, xmm0
cmp byte [rsp + 0x42], 0
movss dword [rsi + 0x14], xmm3
movups xmm4, xmmword [rdi + 0x17ec]
movups xmm5, xmmword [rdi + 0x17fc]
je 0x14002abaf
test al, al
je 0x14002abaf
mov rax, qword [0x1400e17b0]
movups xmm0, xmmword [rax + 0x180c]
movups xmmword [rsp + 0x48], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [rax + 0x1570]
movss dword [rsp + 0x54], xmm0
jmp 0x14002ac2e
mov rax, qword [0x1400e17b0]
movaps xmm2, xmm5
subss xmm2, xmm4
movaps xmm1, xmm5
shufps xmm1, xmm5, 0x55
movaps xmm0, xmm4
shufps xmm0, xmm4, 0x55
subss xmm1, xmm0
shufps xmm5, xmm5, 0xaa
mulss xmm2, xmm3
mulss xmm1, xmm3
addss xmm2, xmm4
addss xmm1, xmm0
movaps xmm0, xmm4
shufps xmm0, xmm4, 0xaa
subss xmm5, xmm0
shufps xmm4, xmm4, 0xff
shufps xmm2, xmm2, 0xe1
movss xmm2, xmm1
shufps xmm2, xmm2, 0xc6
mulss xmm5, xmm3
addss xmm5, xmm0
movss xmm2, xmm5
shufps xmm2, xmm2, 0x27
movss xmm2, xmm4
mulss xmm4, dword [rax + 0x1570]
shufps xmm2, xmm2, 0x39
movups xmmword [rsp + 0x48], xmm2
movups xmmword [rsp + 0x48], xmm2
movss dword [rsp + 0x54], xmm4
lea rcx, [rsp + 0x48]
call fcn.140004860
movss xmm8, dword [rbp - 0x68]
lea r8, [rsp + 0x48]
movss xmm13, dword [rbp - 0x70]
lea rdx, [rsp + 0x58]
movss xmm10, dword [rbp - 0x64]
movaps xmm0, xmm8
movss xmm14, dword [rbp - 0x6c]
subss xmm0, xmm6
mov rcx, qword [r13 + 0x268]
movaps xmm11, xmm10
movaps xmm12, xmm14
mov dword [rsp + 0x28], 0xf0
subss xmm11, xmm6
mov r9d, eax
addss xmm12, xmm6
movss dword [rsp + 0x48], xmm0
movaps xmm0, xmm13
addss xmm0, xmm6
movss dword [rsp + 0x4c], xmm11
movss dword [rsp + 0x5c], xmm12
movss dword [rsp + 0x58], xmm0
movss xmm0, dword [rdi + 0x15b0]
movss dword [rsp + 0x20], xmm0
call fcn.1400208e0
mov rbx, qword [0x1400e17b0]
lea rdx, [rsp + 0x78]
mov dword [rsp + 0x78], 0
movups xmm0, xmmword [rbx + 0x164c]
lea rcx, [rbx + 0x1d08]
movups xmmword [rsp + 0x7c], xmm0
call fcn.140015fa0
mov dword [rbx + 0x164c], 0x3f800000
mov dword [rbx + 0x1650], 0x3f800000
mov dword [rbx + 0x1654], 0x3f800000
mov dword [rbx + 0x1658], 0x3f800000
movss xmm1, dword [r14 + 0x14]
comiss xmm7, xmm1
mov r14, qword [rsp + 0x190]
jbe 0x14002aded
movss xmm2, dword [0x1400c86dc]
subss xmm7, xmm1
movss xmm3, dword [rsp + 0x68]
lea rcx, [rsp + 0x58]
mov rax, qword [0x1400e17b0]
mulss xmm3, xmm2
mulss xmm15, xmm2
movups xmm0, xmmword [rax + 0x164c]
subss xmm15, xmm3
mulss xmm7, xmm2
movups xmmword [rsp + 0x58], xmm0
mulss xmm7, dword [rax + 0x1570]
mulss xmm15, xmm1
movaps xmm1, xmm13
addss xmm1, xmm8
shufps xmm0, xmm0, 0xff
mulss xmm0, xmm7
movss dword [rsp + 0x4c], xmm11
movss dword [rsp + 0x6c], xmm12
mulss xmm1, xmm2
movss dword [rsp + 0x64], xmm0
movaps xmm0, xmm1
subss xmm1, xmm3
addss xmm0, xmm3
subss xmm1, xmm15
addss xmm0, xmm15
movss dword [rsp + 0x68], xmm1
movss dword [rsp + 0x48], xmm0
call fcn.140004860
movss xmm0, dword [rdi + 0x15b0]
lea r8, [rsp + 0x48]
mov rcx, qword [r13 + 0x268]
lea rdx, [rsp + 0x68]
mov r9d, eax
mov dword [rsp + 0x28], 0xf0
movss dword [rsp + 0x20], xmm0
call fcn.1400208e0
cmp byte [rdi + 0x307c], 0
movaps xmm12, xmmword [rsp + 0xe0]
movaps xmm11, xmmword [rsp + 0xf0]
je 0x14002ae2b
mov rax, qword [0x1400e17b0]
lea rcx, [0x1400c6a08]
mov qword [rax + 0x30a0], rcx
lea rcx, [0x1400c6a04]
mov qword [rax + 0x30a8], rcx
movss xmm0, dword [rdi + 0x161c]
lea rax, [rbp - 0x70]
divss xmm6, dword [0x1400c8758]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x70]
mov r8, r15
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x20], rax
movss xmm1, dword [rdi + 0x15b8]
addss xmm0, xmm9
addss xmm6, dword [rdi + 0x1620]
subss xmm8, xmm1
addss xmm1, xmm13
movss dword [rsp + 0x48], xmm0
movss xmm0, dword [rdi + 0x15bc]
subss xmm10, xmm0
movss dword [rsp + 0x4c], xmm6
addss xmm0, xmm14
movss dword [rsp + 0x68], xmm8
movss dword [rsp + 0x58], xmm1
movss dword [rsp + 0x6c], xmm10
movss dword [rsp + 0x5c], xmm0
call fcn.1400055b0
mov r8, qword [0x1400e17b0]
movaps xmm14, xmmword [rsp + 0xc0]
movaps xmm13, xmmword [rsp + 0xd0]
movaps xmm10, xmmword [rsp + 0x100]
movsxd rax, dword [r8 + 0x1d08]
mov rcx, qword [r8 + 0x1d10]
lea rdx, [rax + rax*4]
movsxd rax, dword [rcx + rdx*4 - 0x14]
movups xmm0, xmmword [rcx + rdx*4 - 0x10]
add rax, rax
movups xmmword [r8 + rax*8 + 0x164c], xmm0
dec dword [r8 + 0x1d08]
movzx eax, r12b
mov r12, qword [rsp + 0x188]
jmp 0x14002af22
xor al, al
mov rcx, qword [rbp - 0x60]
xor rcx, rsp
call fcn.1400738c0
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r13
pop rdi
pop rsi
pop rbp
ret