Function at 0x180058c20
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov dword [rax + 0x18], r8d
mov dword [rax + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x58]
sub rsp, 0x120
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 [rax - 0xd8], xmm15
mov r12, r9
mov ebx, edx
mov r13, rcx
mov rdi, qword [0x180206788]
mov rax, qword [rdi + 0x1c20]
mov qword [rsp + 0x48], rax
cmp byte [rax + 0x93], 0
jne 0x180059390
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 0x180059390
comiss xmm7, xmm1
jae 0x180059390
movss xmm9, dword [0x18012e988]
movaps xmm3, xmm9
cmp r8d, 1
jne 0x180058d2a
movss xmm4, dword [rdi + 0x15b0]
addss xmm4, xmm4
movss xmm5, dword [rdi + 0x1990]
movaps xmm0, xmm4
addss xmm0, xmm5
comiss xmm0, xmm1
jbe 0x180058d2a
movaps xmm0, xmm1
subss xmm0, xmm5
divss xmm0, xmm4
comiss xmm7, xmm0
ja 0x180059390
minss xmm3, xmm0
comiss xmm7, xmm3
jae 0x180059390
comiss xmm3, xmm9
setae r15b
movups xmm0, xmmword [rcx]
movups xmmword [rsp + 0x58], xmm0
movss xmm4, dword [0x18012e9c0]
subss xmm1, xmm4
movss xmm11, dword [0x18012e950]
mulss xmm1, xmm11
cvttss2si eax, xmm1
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movss xmm14, dword [0x18012e9d8]
comiss xmm7, xmm3
jbe 0x180058d72
xorps xmm0, xmm0
jmp 0x180058d7a
movaps xmm0, xmm14
minss xmm0, xmm3
movss xmm15, dword [0x180130310]
xorps xmm0, xmm15
subss xmm2, xmm4
mulss xmm2, xmm11
cvttss2si eax, xmm2
movd xmm1, eax
cvtdq2ps xmm1, xmm1
comiss xmm7, xmm1
jbe 0x180058da5
xorps xmm6, xmm6
jmp 0x180058dad
movaps xmm6, xmm14
minss xmm6, xmm1
xorps xmm6, xmm15
movss xmm1, dword [rsp + 0x58]
subss xmm1, xmm6
movss dword [rsp + 0x58], xmm1
movss xmm2, dword [rsp + 0x5c]
subss xmm2, xmm0
movss dword [rsp + 0x5c], xmm2
addss xmm6, dword [rsp + 0x60]
movss dword [rsp + 0x60], xmm6
addss xmm0, dword [rsp + 0x64]
movss dword [rsp + 0x64], xmm0
test r8d, r8d
jne 0x180058df4
subss xmm6, xmm1
jmp 0x180058dfb
movaps xmm6, xmm0
subss xmm6, xmm2
mov r14, qword [rbp + 0x80]
mov rcx, r14
mov rsi, qword [rbp + 0x88]
cmp rsi, r14
cmovge rcx, rsi
mov eax, 1
cmp rcx, rax
cmovge rax, rcx
movss xmm12, dword [rdi + 0x15ec]
xorps xmm1, xmm1
cvtsi2ss xmm1, r14
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
divss xmm1, xmm0
mulss xmm1, xmm6
comiss xmm12, xmm1
ja 0x180058e4f
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 + 0x58]
call fcn.180056df0
sub rsi, r14
cmp rsi, 1
mov eax, 1
cmovle rsi, rax
xorps xmm13, xmm13
cvtsi2ss xmm13, rsi
xorps xmm1, xmm1
cvtsi2ss xmm1, qword [r12]
divss xmm1, xmm13
comiss xmm7, xmm1
jbe 0x180058eb1
xorps xmm0, xmm0
jmp 0x180058eb9
movaps xmm0, xmm9
minss xmm0, xmm1
movaps xmm5, xmm6
subss xmm5, xmm12
movaps xmm8, xmm5
mulss xmm8, xmm0
divss xmm8, xmm6
xor esi, esi
cmp byte [rsp + 0x30], sil
je 0x18005900e
test r15b, r15b
je 0x18005900e
comiss xmm9, xmm10
jbe 0x18005900e
movsxd rax, dword [rbp + 0x70]
movss xmm0, dword [rdi + rax*4 + 0x128]
subss xmm0, dword [rsp + rax*4 + 0x58]
divss xmm0, xmm6
comiss xmm7, xmm0
jbe 0x180058f10
xorps xmm2, xmm2
jmp 0x180058f18
movaps xmm2, xmm9
minss xmm2, xmm0
mov rax, qword [0x180206788]
mov dword [rax + 0x1c58], ebx
mov word [rax + 0x1c60], si
test ebx, ebx
je 0x180058f3f
cmp dword [rax + 0x1c5c], ebx
je 0x180058f3f
mov qword [rax + 0x1c64], rsi
xor cl, cl
cmp byte [rdi + 0x1c78], cl
je 0x180058f84
comiss xmm8, xmm2
ja 0x180058f7c
movaps xmm0, xmm8
addss xmm0, xmm10
comiss xmm2, xmm0
ja 0x180058f7c
movaps xmm1, xmm2
subss xmm1, xmm8
movaps xmm0, xmm10
mulss xmm0, xmm11
subss xmm1, xmm0
movss dword [rdi + 0x308c], xmm1
jmp 0x180058f84
mov cl, 1
mov dword [rdi + 0x308c], esi
movaps xmm4, xmm10
mulss xmm4, xmm11
movaps xmm1, xmm2
subss xmm1, dword [rdi + 0x308c]
subss xmm1, xmm4
movaps xmm0, xmm9
subss xmm0, xmm10
divss xmm1, xmm0
comiss xmm7, xmm1
jbe 0x180058fb3
xorps xmm3, xmm3
jmp 0x180058fbb
movaps xmm3, xmm9
minss xmm3, xmm1
movaps xmm0, xmm13
mulss xmm0, xmm3
cvttss2si rax, xmm0
mov qword [r12], rax
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
divss xmm1, xmm13
comiss xmm7, xmm1
jbe 0x180058fe3
xorps xmm0, xmm0
jmp 0x180058feb
movaps xmm0, xmm9
minss xmm0, xmm1
movaps xmm8, xmm5
mulss xmm8, xmm0
divss xmm8, xmm6
test cl, cl
je 0x18005900e
subss xmm2, xmm8
subss xmm2, xmm4
movss dword [rdi + 0x308c], xmm2
movaps xmm1, xmm9
mov ecx, 0xe
call fcn.18003b3c0
mov r14d, eax
mov ecx, dword [0x180206288]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x180208128], ecx
jle 0x1800590f0
lea rcx, [0x180208128]
call fcn.1800e45f8
cmp dword [0x180208128], 0xffffffff
jne 0x1800590f0
mov dword [0x1802080e0], 0
mov qword [0x1802080e8], rsi
mov qword [0x1802080f0], rsi
mov ecx, 0x18
call fcn.1800e4670
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x1802080e8], rax
mov qword [0x1802080f8], rsi
xorps xmm0, xmm0
movdqa xmmword [0x180208100], xmm0
mov qword [0x180208110], 7
mov qword [0x180208118], 8
mov dword [0x1802080e0], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [0x1802080f8]
call fcn.18000c690
nop
lea rcx, [0x1800e8b40]
call fcn.1800e4ad4
nop
lea rcx, [0x180208128]
call fcn.1800e458c
nop
movzx esi, bl
movabs rax, 0xcbf29ce484222325
xor rsi, rax
movabs rcx, 0x100000001b3
imul rsi, rcx
movzx eax, byte [rbp + 0x69]
xor rsi, rax
imul rsi, rcx
movzx eax, byte [rbp + 0x6a]
xor rsi, rax
imul rsi, rcx
movzx eax, byte [rbp + 0x6b]
xor rsi, rax
imul rsi, rcx
mov rax, rsi
and rax, qword [0x180208110]
add rax, rax
mov rdx, qword [0x1802080f8]
mov rcx, qword [rdx + rax*8 + 8]
mov r8, qword [0x1802080e8]
cmp rcx, r8
je 0x180059170
mov rax, qword [rdx + rax*8]
cmp ebx, dword [rcx + 0x10]
je 0x180059172
nop dword [rax]
cmp rcx, rax
je 0x180059170
mov rcx, qword [rcx + 8]
cmp ebx, dword [rcx + 0x10]
jne 0x180059160
jmp 0x180059172
xor ecx, ecx
mov rax, r8
test rcx, rcx
cmovne rax, rcx
cmp rax, r8
jne 0x1800591e9
mov dword [rsp + 0x34], ebx
mov dword [rsp + 0x38], 0
lea r8, [rsp + 0x34]
lea rdx, [rsp + 0x68]
lea rcx, [0x1802080e0]
call fcn.1800616b0
and rsi, qword [0x180208110]
add rsi, rsi
mov rdx, qword [0x1802080f8]
mov rcx, qword [rdx + rsi*8 + 8]
mov rax, qword [0x1802080e8]
cmp rcx, rax
je 0x1800591e0
mov rdx, qword [rdx + rsi*8]
cmp ebx, dword [rcx + 0x10]
je 0x1800591e2
nop
cmp rcx, rdx
je 0x1800591e0
mov rcx, qword [rcx + 8]
cmp ebx, dword [rcx + 0x10]
jne 0x1800591d0
jmp 0x1800591e2
xor ecx, ecx
test rcx, rcx
cmovne rax, rcx
movss xmm1, dword [rdi + 0x18]
movzx ecx, byte [rsp + 0x31]
test cl, cl
jne 0x1800591fb
xorps xmm1, xmm15
mulss xmm1, xmm14
addss xmm1, dword [rax + 0x14]
comiss xmm7, xmm1
ja 0x180059215
movaps xmm0, xmm9
minss xmm0, xmm1
movaps xmm7, xmm0
movss dword [rax + 0x14], xmm7
movups xmm3, xmmword [rdi + 0x1728]
movups xmm2, xmmword [rdi + 0x1738]
movzx r15d, byte [rsp + 0x30]
test r15b, r15b
je 0x180059247
test cl, cl
je 0x180059247
movaps xmm1, xmm9
mov ecx, 0x11
call fcn.18003b3c0
jmp 0x1800592ad
movaps xmm0, xmm2
subss xmm0, xmm3
mulss xmm0, xmm7
addss xmm0, xmm3
movss dword [rsp + 0x34], xmm0
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x55
movaps xmm0, xmm3
shufps xmm0, xmm3, 0x55
subss xmm1, xmm0
mulss xmm1, xmm7
addss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
shufps xmm2, xmm2, 0xaa
movaps xmm0, xmm3
shufps xmm0, xmm3, 0xaa
subss xmm2, xmm0
mulss xmm2, xmm7
addss xmm2, xmm0
movss dword [rsp + 0x3c], xmm2
shufps xmm3, xmm3, 0xff
movss dword [rsp + 0x40], xmm3
lea rcx, [rsp + 0x34]
call fcn.18003b4b0
mov ebx, eax
mov eax, dword [rbp + 0x90]
mov dword [rsp + 0x28], eax
mov rsi, qword [rsp + 0x48]
movss xmm0, dword [rsi + 0x48]
movss dword [rsp + 0x20], xmm0
mov r9d, r14d
lea r8, [r13 + 8]
mov rdx, r13
mov rcx, qword [rsi + 0x270]
call fcn.180051f20
movss xmm1, dword [rsp + 0x60]
cmp dword [rbp + 0x70], 0
jne 0x180059321
subss xmm1, dword [rsp + 0x58]
mulss xmm1, xmm8
addss xmm1, dword [rsp + 0x58]
movss dword [rsp + 0x48], xmm1
movss xmm0, dword [rsp + 0x5c]
movss dword [rsp + 0x4c], xmm0
addss xmm1, xmm12
movss xmm0, dword [rsp + 0x64]
movss dword [rsp + 0x54], xmm0
jmp 0x180059355
movss xmm2, dword [rsp + 0x64]
subss xmm2, dword [rsp + 0x5c]
mulss xmm2, xmm8
addss xmm2, dword [rsp + 0x5c]
movss xmm0, dword [rsp + 0x58]
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x4c], xmm2
addss xmm2, xmm12
movss dword [rsp + 0x54], xmm2
movss dword [rsp + 0x50], xmm1
mov dword [rsp + 0x28], 0
movss xmm0, dword [rdi + 0x15e8]
movss dword [rsp + 0x20], xmm0
mov r9d, ebx
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x48]
mov rcx, qword [rsi + 0x270]
call fcn.180051f20
movzx eax, r15b
jmp 0x180059392
xor al, al
lea r11, [rsp + 0x120]
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]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret