Function at 0x14002b440
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 [0x1400da040]
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 [0x1400e17b0]
mov r13, qword [rdi + 0x1ba0]
cmp byte [r13 + 0x94], 0
jne 0x14002bbfb
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 0x14002bbfb
comiss xmm7, xmm1
jae 0x14002bbfb
movss xmm9, dword [0x1400c8710]
movaps xmm14, xmm9
cmp r8d, 1
jne 0x14002b556
movss xmm3, dword [rdi + 0x15bc]
addss xmm3, xmm3
movss xmm4, dword [rdi + 0x1a28]
movaps xmm0, xmm3
addss xmm0, xmm4
comiss xmm0, xmm1
jbe 0x14002b556
movaps xmm0, xmm1
subss xmm0, xmm4
divss xmm0, xmm3
comiss xmm7, xmm0
ja 0x14002bbfb
minss xmm14, xmm0
comiss xmm7, xmm14
jae 0x14002bbfb
comiss xmm14, xmm9
setae sil
movups xmm0, xmmword [rcx]
movups xmmword [rsp + 0x48], xmm0
movss xmm4, dword [0x1400c8720]
subss xmm1, xmm4
movss xmm13, dword [0x1400c86dc]
mulss xmm1, xmm13
cvttss2si eax, xmm1
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movss xmm6, dword [0x1400c8728]
comiss xmm7, xmm3
jbe 0x14002b59d
xorps xmm0, xmm0
jmp 0x14002b5a4
movaps xmm0, xmm6
minss xmm0, xmm3
movss xmm15, dword [0x1400c89d0]
xorps xmm0, xmm15
subss xmm2, xmm4
mulss xmm2, xmm13
cvttss2si eax, xmm2
movd xmm1, eax
cvtdq2ps xmm1, xmm1
comiss xmm7, xmm1
jbe 0x14002b5cf
xorps xmm6, xmm6
jmp 0x14002b5d3
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 0x14002b61a
subss xmm6, xmm1
jmp 0x14002b621
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 0x14002b65f
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.140029d90
subss xmm8, xmm11
movaps xmm5, xmm9
maxss xmm5, xmm8
movss xmm1, dword [r15]
divss xmm1, xmm5
comiss xmm7, xmm1
jbe 0x14002b6b1
xorps xmm0, xmm0
jmp 0x14002b6b9
movaps xmm0, xmm9
minss xmm0, xmm1
movaps xmm4, xmm6
subss xmm4, xmm12
movaps xmm8, xmm4
mulss xmm8, xmm0
divss xmm8, xmm6
mov r8, qword [0x1400e17b0]
movzx r12d, byte [rsp + 0x30]
test r12b, r12b
je 0x14002b81d
test sil, sil
je 0x14002b81d
comiss xmm9, xmm10
jbe 0x14002b81d
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 0x14002b71a
xorps xmm2, xmm2
jmp 0x14002b722
movaps xmm2, xmm9
minss xmm2, xmm0
mov dword [r8 + 0x1bd8], ebx
mov word [r8 + 0x1be0], 0
test ebx, ebx
je 0x14002b74b
cmp dword [r8 + 0x1bdc], ebx
je 0x14002b74b
mov qword [r8 + 0x1be4], 0
xor cl, cl
cmp byte [rdi + 0x1bf8], cl
je 0x14002b794
comiss xmm8, xmm2
ja 0x14002b788
movaps xmm0, xmm8
addss xmm0, xmm10
comiss xmm2, xmm0
ja 0x14002b788
movaps xmm1, xmm2
subss xmm1, xmm8
movaps xmm0, xmm10
mulss xmm0, xmm13
subss xmm1, xmm0
movss dword [rdi + 0x2fdc], xmm1
jmp 0x14002b794
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 0x14002b7c3
xorps xmm0, xmm0
jmp 0x14002b7cb
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 0x14002b7f2
xorps xmm0, xmm0
jmp 0x14002b7fa
movaps xmm0, xmm9
minss xmm0, xmm1
movaps xmm8, xmm4
mulss xmm8, xmm0
divss xmm8, xmm6
test cl, cl
je 0x14002b81d
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.140004860
mov r15d, eax
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
mov eax, dword [rdx + rcx]
cmp dword [0x1400e1cd0], eax
jle 0x14002b947
lea rcx, [0x1400e1cd0]
call fcn.140073c38
cmp dword [0x1400e1cd0], 0xffffffff
jne 0x14002b940
xorps xmm0, xmm0
movups xmmword [0x1400e1bb0], xmm0
movups xmmword [0x1400e1bc0], xmm0
movups xmmword [0x1400e1bd0], xmm0
movups xmmword [0x1400e1be0], xmm0
mov dword [0x1400e1bb0], 0
mov qword [0x1400e1bb8], 0
mov qword [0x1400e1bc0], 0
mov ecx, 0x18
call fcn.1400738e0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x1400e1bb8], rax
mov qword [0x1400e1bc8], 0
xorps xmm0, xmm0
movdqa xmmword [0x1400e1bd0], xmm0
mov qword [0x1400e1be0], 7
mov qword [0x1400e1be8], 8
mov dword [0x1400e1bb0], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [0x1400e1bc8]
call fcn.14002d8c0
nop
lea rcx, [0x1400a36f0]
call fcn.140073b44
nop
lea rcx, [0x1400e1cd0]
call fcn.140073bcc
nop
mov r8, qword [0x1400e17b0]
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 [0x1400e1be0]
add rax, rax
mov rdx, qword [0x1400e1bc8]
mov rcx, qword [rdx + rax*8 + 8]
mov r9, qword [0x1400e1bb8]
cmp rcx, r9
je 0x14002b9c4
mov rax, qword [rdx + rax*8]
cmp ebx, dword [rcx + 0x10]
je 0x14002b9c6
cmp rcx, rax
je 0x14002b9c4
mov rcx, qword [rcx + 8]
cmp ebx, dword [rcx + 0x10]
jne 0x14002b9b4
jmp 0x14002b9c6
xor ecx, ecx
mov rax, r9
test rcx, rcx
cmovne rax, rcx
cmp rax, r9
jne 0x14002ba42
mov dword [rsp + 0x58], ebx
mov dword [rsp + 0x5c], 0
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x38]
lea rcx, [0x1400e1bb0]
call fcn.14002da00
and rsi, qword [0x1400e1be0]
add rsi, rsi
mov rdx, qword [0x1400e1bc8]
mov rcx, qword [rdx + rsi*8 + 8]
mov rax, qword [0x1400e1bb8]
cmp rcx, rax
je 0x14002ba32
mov rdx, qword [rdx + rsi*8]
cmp ebx, dword [rcx + 0x10]
je 0x14002ba34
cmp rcx, rdx
je 0x14002ba32
mov rcx, qword [rcx + 8]
cmp ebx, dword [rcx + 0x10]
jne 0x14002ba22
jmp 0x14002ba34
xor ecx, ecx
test rcx, rcx
cmovne rax, rcx
mov r8, qword [0x1400e17b0]
movss xmm0, dword [rdi + 0x18]
cmp byte [rsp + 0x31], 0
jne 0x14002ba52
xorps xmm0, xmm15
mulss xmm0, dword [0x1400c8738]
addss xmm0, dword [rax + 0x14]
comiss xmm7, xmm0
ja 0x14002ba6d
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 0x14002baac
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 0x14002bb16
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.140004860
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.1400208e0
movss xmm1, dword [rsp + 0x50]
cmp dword [rsp + 0x34], 0
jne 0x14002bb8c
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 0x14002bbc0
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.1400208e0
movzx eax, r12b
jmp 0x14002bbfd
xor al, al
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.1400738c0
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