Function at 0x14002b9b0
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov dword [rax + 0x10], edx
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
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rsp + 0x70], xmm15
mov rax, qword [0x140132100]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov r15, r9
mov dword [rsp + 0x34], r8d
mov ebx, edx
mov r14, rcx
mov rdi, qword [0x14017fb30]
mov r13, qword [rdi + 0x1ba0]
cmp byte [r13 + 0x94], 0
jne 0x14002c16b
movss xmm2, dword [rcx + 8]
subss xmm2, dword [rcx]
movss xmm1, dword [rcx + 0xc]
subss xmm1, dword [rcx + 4]
xorps xmm7, xmm7
comiss xmm7, xmm2
jae 0x14002c16b
comiss xmm7, xmm1
jae 0x14002c16b
movss xmm9, dword [0x14011bddc]
movaps xmm14, xmm9
cmp r8d, 1
jne 0x14002bac6
movss xmm3, dword [rdi + 0x15bc]
addss xmm3, xmm3
movss xmm4, dword [rdi + 0x1a28]
movaps xmm0, xmm3
addss xmm0, xmm4
comiss xmm0, xmm1
jbe 0x14002bac6
movaps xmm0, xmm1
subss xmm0, xmm4
divss xmm0, xmm3
comiss xmm7, xmm0
ja 0x14002c16b
minss xmm14, xmm0
comiss xmm7, xmm14
jae 0x14002c16b
comiss xmm14, xmm9
setae sil
movups xmm0, xmmword [rcx]
movups xmmword [rsp + 0x48], xmm0
movss xmm4, dword [0x14011bdf0]
subss xmm1, xmm4
movss xmm13, dword [0x14011bda8]
mulss xmm1, xmm13
cvttss2si eax, xmm1
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movss xmm6, dword [0x14011be08]
comiss xmm7, xmm3
jbe 0x14002bb0d
xorps xmm0, xmm0
jmp 0x14002bb14
movaps xmm0, xmm6
minss xmm0, xmm3
movss xmm15, dword [0x14011c0e0]
xorps xmm0, xmm15
subss xmm2, xmm4
mulss xmm2, xmm13
cvttss2si eax, xmm2
movd xmm1, eax
cvtdq2ps xmm1, xmm1
comiss xmm7, xmm1
jbe 0x14002bb3f
xorps xmm6, xmm6
jmp 0x14002bb43
minss xmm6, xmm1
xorps xmm6, xmm15
movss xmm1, dword [rsp + 0x48]
subss xmm1, xmm6
movss dword [rsp + 0x48], xmm1
movss xmm2, dword [rsp + 0x4c]
subss xmm2, xmm0
movss dword [rsp + 0x4c], xmm2
addss xmm6, dword [rsp + 0x50]
movss dword [rsp + 0x50], xmm6
addss xmm0, dword [rsp + 0x54]
movss dword [rsp + 0x54], xmm0
test r8d, r8d
jne 0x14002bb8a
subss xmm6, xmm1
jmp 0x14002bb91
movaps xmm6, xmm0
subss xmm6, xmm2
movss xmm8, dword [rbp + 0x78]
movaps xmm0, xmm8
movss xmm11, dword [rbp + 0x70]
maxss xmm0, xmm11
maxss xmm0, xmm9
movss xmm12, dword [rdi + 0x1600]
movaps xmm1, xmm11
divss xmm1, xmm0
mulss xmm1, xmm6
comiss xmm12, xmm1
ja 0x14002bbcf
movaps xmm12, xmm6
minss xmm12, xmm1
movaps xmm10, xmm12
divss xmm10, xmm6
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x31], 0
mov dword [rsp + 0x20], 0x40000
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x31]
mov edx, ebx
lea rcx, [rsp + 0x48]
call fcn.14002a370
subss xmm8, xmm11
movaps xmm5, xmm9
maxss xmm5, xmm8
movss xmm1, dword [r15]
divss xmm1, xmm5
comiss xmm7, xmm1
jbe 0x14002bc21
xorps xmm0, xmm0
jmp 0x14002bc29
movaps xmm0, xmm9
minss xmm0, xmm1
movaps xmm4, xmm6
subss xmm4, xmm12
movaps xmm8, xmm4
mulss xmm8, xmm0
divss xmm8, xmm6
mov r8, qword [0x14017fb30]
movzx r12d, byte [rsp + 0x30]
test r12b, r12b
je 0x14002bd8d
test sil, sil
je 0x14002bd8d
comiss xmm9, xmm10
jbe 0x14002bd8d
movsxd rax, dword [rsp + 0x34]
movss xmm0, dword [rdi + rax*4 + 0x128]
subss xmm0, dword [rsp + rax*4 + 0x48]
divss xmm0, xmm6
comiss xmm7, xmm0
jbe 0x14002bc8a
xorps xmm2, xmm2
jmp 0x14002bc92
movaps xmm2, xmm9
minss xmm2, xmm0
mov dword [r8 + 0x1bd8], ebx
mov word [r8 + 0x1be0], 0
test ebx, ebx
je 0x14002bcbb
cmp dword [r8 + 0x1bdc], ebx
je 0x14002bcbb
mov qword [r8 + 0x1be4], 0
xor cl, cl
cmp byte [rdi + 0x1bf8], cl
je 0x14002bd04
comiss xmm8, xmm2
ja 0x14002bcf8
movaps xmm0, xmm8
addss xmm0, xmm10
comiss xmm2, xmm0
ja 0x14002bcf8
movaps xmm1, xmm2
subss xmm1, xmm8
movaps xmm0, xmm10
mulss xmm0, xmm13
subss xmm1, xmm0
movss dword [rdi + 0x2fdc], xmm1
jmp 0x14002bd04
mov cl, 1
mov dword [rdi + 0x2fdc], 0
movaps xmm3, xmm10
mulss xmm3, xmm13
movaps xmm1, xmm2
subss xmm1, dword [rdi + 0x2fdc]
subss xmm1, xmm3
movaps xmm0, xmm9
subss xmm0, xmm10
divss xmm1, xmm0
comiss xmm7, xmm1
jbe 0x14002bd33
xorps xmm0, xmm0
jmp 0x14002bd3b
movaps xmm0, xmm9
minss xmm0, xmm1
mulss xmm0, xmm5
addss xmm0, xmm13
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [r15], xmm1
divss xmm1, xmm5
comiss xmm7, xmm1
jbe 0x14002bd62
xorps xmm0, xmm0
jmp 0x14002bd6a
movaps xmm0, xmm9
minss xmm0, xmm1
movaps xmm8, xmm4
mulss xmm8, xmm0
divss xmm8, xmm6
test cl, cl
je 0x14002bd8d
subss xmm2, xmm8
subss xmm2, xmm3
movss dword [rdi + 0x2fdc], xmm2
movups xmm0, xmmword [r8 + 0x174c]
movups xmmword [rsp + 0x58], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r8 + 0x1570]
movss dword [rsp + 0x64], xmm0
lea rcx, [rsp + 0x58]
call fcn.140004af0
mov r15d, eax
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x140180110], eax
jle 0x14002beb7
lea rcx, [0x140180110]
call fcn.1400b6088
cmp dword [0x140180110], 0xffffffff
jne 0x14002beb0
xorps xmm0, xmm0
movups xmmword [0x14017ff70], xmm0
movups xmmword [0x14017ff80], xmm0
movups xmmword [0x14017ff90], xmm0
movups xmmword [0x14017ffa0], xmm0
mov dword [0x14017ff70], 0
mov qword [0x14017ff78], 0
mov qword [0x14017ff80], 0
mov ecx, 0x18
call fcn.1400b6248
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x14017ff78], rax
mov qword [0x14017ff88], 0
xorps xmm0, xmm0
movdqa xmmword [0x14017ff90], xmm0
mov qword [0x14017ffa0], 7
mov qword [0x14017ffa8], 8
mov dword [0x14017ff70], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [0x14017ff88]
call fcn.14002dfe0
nop
lea rcx, [0x1400ea760]
call fcn.1400b64ac
nop
lea rcx, [0x140180110]
call fcn.1400b601c
nop
mov r8, qword [0x14017fb30]
movzx esi, bl
movabs rax, 0xcbf29ce484222325
xor rsi, rax
movabs rcx, 0x100000001b3
imul rsi, rcx
movzx eax, byte [rbp + 0x59]
xor rsi, rax
imul rsi, rcx
movzx eax, byte [rbp + 0x5a]
xor rsi, rax
imul rsi, rcx
movzx eax, byte [rbp + 0x5b]
xor rsi, rax
imul rsi, rcx
mov rax, rsi
and rax, qword [0x14017ffa0]
add rax, rax
mov rdx, qword [0x14017ff88]
mov rcx, qword [rdx + rax*8 + 8]
mov r9, qword [0x14017ff78]
cmp rcx, r9
je 0x14002bf34
mov rax, qword [rdx + rax*8]
cmp ebx, dword [rcx + 0x10]
je 0x14002bf36
cmp rcx, rax
je 0x14002bf34
mov rcx, qword [rcx + 8]
cmp ebx, dword [rcx + 0x10]
jne 0x14002bf24
jmp 0x14002bf36
xor ecx, ecx
mov rax, r9
test rcx, rcx
cmovne rax, rcx
cmp rax, r9
jne 0x14002bfb2
mov dword [rsp + 0x58], ebx
mov dword [rsp + 0x5c], 0
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x38]
lea rcx, [0x14017ff70]
call fcn.14002e120
and rsi, qword [0x14017ffa0]
add rsi, rsi
mov rdx, qword [0x14017ff88]
mov rcx, qword [rdx + rsi*8 + 8]
mov rax, qword [0x14017ff78]
cmp rcx, rax
je 0x14002bfa2
mov rdx, qword [rdx + rsi*8]
cmp ebx, dword [rcx + 0x10]
je 0x14002bfa4
cmp rcx, rdx
je 0x14002bfa2
mov rcx, qword [rcx + 8]
cmp ebx, dword [rcx + 0x10]
jne 0x14002bf92
jmp 0x14002bfa4
xor ecx, ecx
test rcx, rcx
cmovne rax, rcx
mov r8, qword [0x14017fb30]
movss xmm0, dword [rdi + 0x18]
cmp byte [rsp + 0x31], 0
jne 0x14002bfc2
xorps xmm0, xmm15
mulss xmm0, dword [0x14011be18]
addss xmm0, dword [rax + 0x14]
comiss xmm7, xmm0
ja 0x14002bfdd
minss xmm9, xmm0
movaps xmm7, xmm9
movss dword [rax + 0x14], xmm7
movups xmm3, xmmword [rdi + 0x175c]
movups xmm4, xmmword [rdi + 0x176c]
lea rcx, [rsp + 0x58]
test r12b, r12b
je 0x14002c01c
movups xmm0, xmmword [r8 + 0x177c]
movups xmmword [rsp + 0x58], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [r8 + 0x1570]
movss dword [rsp + 0x64], xmm0
jmp 0x14002c086
movaps xmm2, xmm4
subss xmm2, xmm3
mulss xmm2, xmm7
addss xmm2, xmm3
movaps xmm1, xmm4
shufps xmm1, xmm4, 0x55
movaps xmm0, xmm3
shufps xmm0, xmm3, 0x55
subss xmm1, xmm0
mulss xmm1, xmm7
addss xmm1, xmm0
shufps xmm4, xmm4, 0xaa
movaps xmm0, xmm3
shufps xmm0, xmm3, 0xaa
subss xmm4, xmm0
mulss xmm4, xmm7
addss xmm4, xmm0
movss dword [rsp + 0x58], xmm2
movss dword [rsp + 0x5c], xmm1
movss dword [rsp + 0x60], xmm4
shufps xmm3, xmm3, 0xff
mulss xmm3, xmm14
mulss xmm3, dword [r8 + 0x1570]
movss dword [rsp + 0x64], xmm3
call fcn.140004af0
mov ebx, eax
mov eax, dword [rbp + 0x80]
mov dword [rsp + 0x28], eax
movss xmm0, dword [r13 + 0x48]
movss dword [rsp + 0x20], xmm0
mov r9d, r15d
lea r8, [r14 + 8]
mov rdx, r14
mov rcx, qword [r13 + 0x268]
call fcn.140020bc0
movss xmm1, dword [rsp + 0x50]
cmp dword [rsp + 0x34], 0
jne 0x14002c0fc
subss xmm1, dword [rsp + 0x48]
mulss xmm1, xmm8
addss xmm1, dword [rsp + 0x48]
movss dword [rsp + 0x58], xmm1
movss xmm0, dword [rsp + 0x4c]
movss dword [rsp + 0x5c], xmm0
addss xmm1, xmm12
movss xmm0, dword [rsp + 0x54]
movss dword [rsp + 0x64], xmm0
jmp 0x14002c130
movss xmm2, dword [rsp + 0x54]
subss xmm2, dword [rsp + 0x4c]
mulss xmm2, xmm8
addss xmm2, dword [rsp + 0x4c]
movss xmm0, dword [rsp + 0x48]
movss dword [rsp + 0x58], xmm0
movss dword [rsp + 0x5c], xmm2
addss xmm2, xmm12
movss dword [rsp + 0x64], xmm2
movss dword [rsp + 0x60], xmm1
mov dword [rsp + 0x28], 0
movss xmm0, dword [rdi + 0x15fc]
movss dword [rsp + 0x20], xmm0
mov r9d, ebx
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x58]
mov rcx, qword [r13 + 0x268]
call fcn.140020bc0
movzx eax, r12b
jmp 0x14002c16d
xor al, al
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1400b5fc0
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x50]
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 [rsp + 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret