Function at 0x14002b540
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 [0x1400dd040]
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 [0x1400e4840]
mov r13, qword [rdi + 0x1ba0]
cmp byte [r13 + 0x94], 0
jne 0x14002bcfb
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 0x14002bcfb
comiss xmm7, xmm1
jae 0x14002bcfb
movss xmm9, dword [0x1400ca820]
movaps xmm14, xmm9
cmp r8d, 1
jne 0x14002b656
movss xmm3, dword [rdi + 0x15bc]
addss xmm3, xmm3
movss xmm4, dword [rdi + 0x1a28]
movaps xmm0, xmm3
addss xmm0, xmm4
comiss xmm0, xmm1
jbe 0x14002b656
movaps xmm0, xmm1
subss xmm0, xmm4
divss xmm0, xmm3
comiss xmm7, xmm0
ja 0x14002bcfb
minss xmm14, xmm0
comiss xmm7, xmm14
jae 0x14002bcfb
comiss xmm14, xmm9
setae sil
movups xmm0, xmmword [rcx]
movups xmmword [rsp + 0x48], xmm0
movss xmm4, dword [0x1400ca830]
subss xmm1, xmm4
movss xmm13, dword [0x1400ca7ec]
mulss xmm1, xmm13
cvttss2si eax, xmm1
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movss xmm6, dword [0x1400ca838]
comiss xmm7, xmm3
jbe 0x14002b69d
xorps xmm0, xmm0
jmp 0x14002b6a4
movaps xmm0, xmm6
minss xmm0, xmm3
movss xmm15, dword [0x1400caad0]
xorps xmm0, xmm15
subss xmm2, xmm4
mulss xmm2, xmm13
cvttss2si eax, xmm2
movd xmm1, eax
cvtdq2ps xmm1, xmm1
comiss xmm7, xmm1
jbe 0x14002b6cf
xorps xmm6, xmm6
jmp 0x14002b6d3
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 0x14002b71a
subss xmm6, xmm1
jmp 0x14002b721
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 0x14002b75f
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.140029e90
subss xmm8, xmm11
movaps xmm5, xmm9
maxss xmm5, xmm8
movss xmm1, dword [r15]
divss xmm1, xmm5
comiss xmm7, xmm1
jbe 0x14002b7b1
xorps xmm0, xmm0
jmp 0x14002b7b9
movaps xmm0, xmm9
minss xmm0, xmm1
movaps xmm4, xmm6
subss xmm4, xmm12
movaps xmm8, xmm4
mulss xmm8, xmm0
divss xmm8, xmm6
mov r8, qword [0x1400e4840]
movzx r12d, byte [rsp + 0x30]
test r12b, r12b
je 0x14002b91d
test sil, sil
je 0x14002b91d
comiss xmm9, xmm10
jbe 0x14002b91d
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 0x14002b81a
xorps xmm2, xmm2
jmp 0x14002b822
movaps xmm2, xmm9
minss xmm2, xmm0
mov dword [r8 + 0x1bd8], ebx
mov word [r8 + 0x1be0], 0
test ebx, ebx
je 0x14002b84b
cmp dword [r8 + 0x1bdc], ebx
je 0x14002b84b
mov qword [r8 + 0x1be4], 0
xor cl, cl
cmp byte [rdi + 0x1bf8], cl
je 0x14002b894
comiss xmm8, xmm2
ja 0x14002b888
movaps xmm0, xmm8
addss xmm0, xmm10
comiss xmm2, xmm0
ja 0x14002b888
movaps xmm1, xmm2
subss xmm1, xmm8
movaps xmm0, xmm10
mulss xmm0, xmm13
subss xmm1, xmm0
movss dword [rdi + 0x2fdc], xmm1
jmp 0x14002b894
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 0x14002b8c3
xorps xmm0, xmm0
jmp 0x14002b8cb
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 0x14002b8f2
xorps xmm0, xmm0
jmp 0x14002b8fa
movaps xmm0, xmm9
minss xmm0, xmm1
movaps xmm8, xmm4
mulss xmm8, xmm0
divss xmm8, xmm6
test cl, cl
je 0x14002b91d
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 [0x1400e4d60], eax
jle 0x14002ba47
lea rcx, [0x1400e4d60]
call fcn.140075cc8
cmp dword [0x1400e4d60], 0xffffffff
jne 0x14002ba40
xorps xmm0, xmm0
movups xmmword [0x1400e4c40], xmm0
movups xmmword [0x1400e4c50], xmm0
movups xmmword [0x1400e4c60], xmm0
movups xmmword [0x1400e4c70], xmm0
mov dword [0x1400e4c40], 0
mov qword [0x1400e4c48], 0
mov qword [0x1400e4c50], 0
mov ecx, 0x18
call fcn.140075970
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x1400e4c48], rax
mov qword [0x1400e4c58], 0
xorps xmm0, xmm0
movdqa xmmword [0x1400e4c60], xmm0
mov qword [0x1400e4c70], 7
mov qword [0x1400e4c78], 8
mov dword [0x1400e4c40], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [0x1400e4c58]
call fcn.14002d9c0
nop
lea rcx, [0x1400a58b0]
call fcn.140075bd4
nop
lea rcx, [0x1400e4d60]
call fcn.140075c5c
nop
mov r8, qword [0x1400e4840]
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 [0x1400e4c70]
add rax, rax
mov rdx, qword [0x1400e4c58]
mov rcx, qword [rdx + rax*8 + 8]
mov r9, qword [0x1400e4c48]
cmp rcx, r9
je 0x14002bac4
mov rax, qword [rdx + rax*8]
cmp ebx, dword [rcx + 0x10]
je 0x14002bac6
cmp rcx, rax
je 0x14002bac4
mov rcx, qword [rcx + 8]
cmp ebx, dword [rcx + 0x10]
jne 0x14002bab4
jmp 0x14002bac6
xor ecx, ecx
mov rax, r9
test rcx, rcx
cmovne rax, rcx
cmp rax, r9
jne 0x14002bb42
mov dword [rsp + 0x58], ebx
mov dword [rsp + 0x5c], 0
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x38]
lea rcx, [0x1400e4c40]
call fcn.14002db00
and rsi, qword [0x1400e4c70]
add rsi, rsi
mov rdx, qword [0x1400e4c58]
mov rcx, qword [rdx + rsi*8 + 8]
mov rax, qword [0x1400e4c48]
cmp rcx, rax
je 0x14002bb32
mov rdx, qword [rdx + rsi*8]
cmp ebx, dword [rcx + 0x10]
je 0x14002bb34
cmp rcx, rdx
je 0x14002bb32
mov rcx, qword [rcx + 8]
cmp ebx, dword [rcx + 0x10]
jne 0x14002bb22
jmp 0x14002bb34
xor ecx, ecx
test rcx, rcx
cmovne rax, rcx
mov r8, qword [0x1400e4840]
movss xmm0, dword [rdi + 0x18]
cmp byte [rsp + 0x31], 0
jne 0x14002bb52
xorps xmm0, xmm15
mulss xmm0, dword [0x1400ca848]
addss xmm0, dword [rax + 0x14]
comiss xmm7, xmm0
ja 0x14002bb6d
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 0x14002bbac
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 0x14002bc16
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.1400209e0
movss xmm1, dword [rsp + 0x50]
cmp dword [rsp + 0x34], 0
jne 0x14002bc8c
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 0x14002bcc0
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.1400209e0
movzx eax, r12b
jmp 0x14002bcfd
xor al, al
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.140075950
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