Function at 0x140021d40
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x48]
sub rsp, 0x110
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
mov rax, qword [0x140087400]
xor rax, rsp
mov qword [rbp - 0x48], rax
movzx r13d, r9b
mov rbx, r8
mov qword [rbp - 0x78], rbx
mov qword [rsp + 0x60], rdx
mov rcx, qword [0x140088258]
mov qword [rsp + 0x78], rcx
mov rax, qword [rcx + 0x3ec8]
mov byte [rax + 0xb8], 1
mov rdi, qword [rcx + 0x3ec8]
xor r8d, r8d
mov rdx, rbx
mov rcx, rdi
call fcn.14002cfc0
mov esi, eax
mov r14d, eax
shr r14d, 0x18
mov r15d, eax
shr r15d, 0x10
mov r12d, eax
shr r12d, 8
movss xmm0, dword [0x1400734c0]
movss dword [rsp + 0x20], xmm0
mov r9b, 1
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp - 0x58]
call fcn.140028d30
call fcn.14002d200
mov rcx, qword [rax + 0x50]
mov rax, qword [rcx + 0x60]
mov rbx, qword [rax + 8]
call fcn.14002d200
mov rdx, qword [rax + 0x50]
mov rax, qword [rdx + 0x60]
mov rdx, qword [rax + 8]
xor eax, eax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x28], rax
xorps xmm10, xmm10
movss dword [rsp + 0x20], xmm10
movss xmm3, dword [0x1400736b0]
movss xmm2, dword [rdx + 0x14]
lea rdx, [rbp - 0x60]
mov rcx, rbx
call fcn.1400449b0
movss xmm6, dword [rdi + 0x100]
movss xmm7, dword [rdi + 0x104]
mov rax, qword [rdi + 0x298]
mov qword [rbp - 0x80], rax
movaps xmm8, xmm7
addss xmm8, dword [0x140073494]
call fcn.14002dc20
addss xmm0, xmm6
movss dword [rbp - 0x70], xmm6
movss dword [rbp - 0x6c], xmm7
movss dword [rbp - 0x68], xmm0
movss dword [rbp - 0x64], xmm8
xor r9d, r9d
xor r8d, r8d
mov edx, esi
lea rcx, [rbp - 0x70]
call fcn.14002ff20
call fcn.14002d9d0
movss xmm2, dword [rbp - 0x64]
subss xmm2, dword [rbp - 0x6c]
movss xmm0, dword [rbp - 0x68]
subss xmm0, dword [rbp - 0x70]
movss dword [rsp + 0x54], xmm0
movss dword [rsp + 0x58], xmm2
movss xmm1, dword [rax + 0x40]
lea rcx, [rsp + 0x54]
call fcn.1400302c0
xor ebx, ebx
mov dword [rsp + 0x20], ebx
lea r9, [rbp - 0x4f]
lea r8, [rbp - 0x50]
mov edx, esi
lea rcx, [rbp - 0x70]
call fcn.14005d9a0
mov byte [rsp + 0x50], al
mov edx, dword [0x140088478]
mov rcx, qword gs:[0x58]
mov eax, 4
mov rcx, qword [rcx + rdx*8]
movss xmm6, dword [0x140073408]
mov ecx, dword [rax + rcx]
cmp dword [0x1400881b0], ecx
jg 0x14002226d
movzx edi, sil
movabs rax, 0xcbf29ce484222325
xor rdi, rax
movabs rcx, 0x100000001b3
imul rdi, rcx
movzx eax, r12b
xor rdi, rax
imul rdi, rcx
movzx eax, r15b
xor rdi, rax
imul rdi, rcx
mov eax, r14d
xor rdi, rax
imul rdi, rcx
mov rcx, rdi
and rcx, qword [0x1400881a0]
add rcx, rcx
mov r8, qword [0x140088188]
mov rax, qword [r8 + rcx*8 + 8]
mov rdx, qword [0x140088178]
cmp rax, rdx
je 0x140021fb0
mov rcx, qword [r8 + rcx*8]
cmp esi, dword [rax + 0x10]
je 0x140021fb2
nop dword [rax + rax]
cmp rax, rcx
je 0x140021fb0
mov rax, qword [rax + 8]
cmp esi, dword [rax + 0x10]
jne 0x140021fa0
jmp 0x140021fb2
xor eax, eax
mov rbx, rdx
test rax, rax
cmovne rbx, rax
cmp rbx, rdx
jne 0x140022029
mov dword [rsp + 0x54], esi
mov dword [rsp + 0x58], 0
lea r8, [rsp + 0x54]
lea rdx, [rsp + 0x68]
lea rcx, [0x140088170]
call fcn.140020780
and rdi, qword [0x1400881a0]
add rdi, rdi
mov rcx, qword [0x140088188]
mov rax, qword [rcx + rdi*8 + 8]
mov rbx, qword [0x140088178]
cmp rax, rbx
je 0x140022020
mov rcx, qword [rcx + rdi*8]
cmp esi, dword [rax + 0x10]
je 0x140022022
nop
cmp rax, rcx
je 0x140022020
mov rax, qword [rax + 8]
cmp esi, dword [rax + 0x10]
jne 0x140022010
jmp 0x140022022
xor eax, eax
test rax, rax
cmovne rbx, rax
test r13b, r13b
jne 0x140022038
cmp byte [rbp - 0x50], r13b
jne 0x140022038
movaps xmm6, xmm10
subss xmm6, dword [rbx + 0x14]
mulss xmm6, dword [0x14007368c]
addss xmm6, dword [rbx + 0x14]
movss dword [rbx + 0x14], xmm6
movd xmm0, dword [0x140087288]
cvtdq2ps xmm0, xmm0
movss xmm9, dword [0x1400736a8]
divss xmm0, xmm9
movss dword [rsp + 0x68], xmm0
movd xmm0, dword [0x14008728c]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm9
movss dword [rsp + 0x6c], xmm0
movd xmm1, dword [0x140087290]
cvtdq2ps xmm1, xmm1
divss xmm1, xmm9
movss dword [rsp + 0x70], xmm1
maxss xmm6, dword [0x140073694]
mov rsi, qword [rsp + 0x78]
mulss xmm6, dword [rsi + 0x37f4]
movss dword [rsp + 0x74], xmm6
lea rcx, [rsp + 0x68]
call fcn.140029da0
mov edi, eax
movss xmm1, dword [rbp - 0x70]
addss xmm1, dword [0x14007348c]
movss xmm0, dword [rbp - 0x60]
movss xmm8, dword [0x140073404]
mulss xmm0, xmm8
subss xmm1, xmm0
movss dword [rsp + 0x54], xmm1
movss xmm2, dword [rbp - 0x6c]
addss xmm2, dword [rbp - 0x64]
mulss xmm2, xmm8
movss xmm0, dword [rbp - 0x5c]
mulss xmm0, xmm8
subss xmm2, xmm0
movss dword [rsp + 0x58], xmm2
call fcn.14002d200
mov rcx, qword [rax + 0x50]
mov rax, qword [rcx + 0x60]
mov rcx, qword [rax + 8]
movss xmm6, dword [rcx + 0x14]
call fcn.14002d200
mov rcx, qword [rax + 0x50]
mov rdx, qword [rcx + 0x60]
mov qword [rsp + 0x40], 0
movss dword [rsp + 0x38], xmm10
mov qword [rsp + 0x30], 0
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
lea r9, [rsp + 0x54]
movaps xmm2, xmm6
mov rdx, qword [rdx + 8]
mov rcx, qword [rbp - 0x80]
call fcn.140044280
movd xmm0, dword [0x140087288]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm9
movss dword [rsp + 0x68], xmm0
movd xmm1, dword [0x14008728c]
cvtdq2ps xmm1, xmm1
divss xmm1, xmm9
movss dword [rsp + 0x6c], xmm1
movd xmm0, dword [0x140087290]
cvtdq2ps xmm0, xmm0
divss xmm0, xmm9
movss dword [rsp + 0x70], xmm0
movss xmm1, dword [rbx + 0x14]
maxss xmm1, dword [0x140073694]
mulss xmm1, dword [rsi + 0x37f4]
movss dword [rsp + 0x74], xmm1
lea rcx, [rsp + 0x68]
call fcn.140029da0
movss xmm0, dword [rbp - 0x70]
addss xmm0, dword [0x140073498]
movss dword [rsp + 0x60], xmm0
movss xmm1, dword [rbp - 0x6c]
addss xmm1, dword [rbp - 0x64]
mulss xmm1, xmm8
movss xmm0, dword [rbp - 0x54]
mulss xmm0, xmm8
subss xmm1, xmm0
movss dword [rsp + 0x64], xmm1
mov qword [rsp + 0x20], 0
mov r9, qword [rbp - 0x78]
mov r8d, eax
lea rdx, [rsp + 0x60]
mov rcx, qword [rbp - 0x80]
call fcn.1400441f0
movzx eax, byte [rsp + 0x50]
mov rcx, qword [rbp - 0x48]
xor rcx, rsp
call fcn.14006c800
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x40]
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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, [0x1400881b0]
call fcn.14006caa0
cmp dword [0x1400881b0], 0xffffffff
jne 0x140021f2e
mov ecx, 0x18
call fcn.14006c464
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x140088178], rax
mov qword [0x140088188], rbx
xorps xmm0, xmm0
movdqa xmmword [0x140088190], xmm0
mov qword [0x1400881a0], 7
mov qword [0x1400881a8], 8
mov dword [0x140088170], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [0x140088188]
call fcn.140020f80
nop
lea rcx, [0x14006f530]
call fcn.14006c6d8
nop
lea rcx, [0x1400881b0]
call fcn.14006ca34
jmp 0x140021f2e