Function at 0x1800382f0
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
lea rbp, [rax - 0xa8]
sub rsp, 0x1a0
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rax - 0x78], xmm12
mov rax, qword [0x180118100]
xor rax, rsp
mov qword [rbp + 0x20], rax
mov rbx, rcx
call fcn.180038140
mov qword [rbp + 0x18], rbx
lea rdi, [rbx + 0x30]
mov rcx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x18003835a
mov rcx, qword [rdi]
movsx eax, byte [rcx]
mov esi, 0x811c9dc5
test al, al
jne 0x18003836a
mov eax, esi
jmp 0x18003837a
xor eax, esi
imul edx, eax, 0x1000193
inc rcx
call fcn.180036e90
add eax, 0xa265daa1
mov dword [rsp + 0x40], eax
xorps xmm9, xmm9
xorps xmm2, xmm2
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x10]
call fcn.180035b00
cmp qword [rdi + 0x18], 0xf
jbe 0x1800383a2
mov rdi, qword [rdi]
movsx eax, byte [rdi]
test al, al
jne 0x1800383ad
mov eax, esi
jmp 0x1800383be
xor eax, esi
imul edx, eax, 0x1000193
lea rcx, [rdi + 1]
call fcn.180036e90
add eax, 0x2d3f9080
mov dword [rsp + 0x40], eax
xorps xmm2, xmm2
lea rdx, [rsp + 0x40]
lea rcx, [rbp]
call fcn.180035b00
lea rcx, [rbx + 0x30]
cmp qword [rcx + 0x18], 0xf
jbe 0x1800383e6
mov rcx, qword [rcx]
movsx eax, byte [rcx]
test al, al
je 0x1800383ff
xor eax, esi
imul edx, eax, 0x1000193
inc rcx
call fcn.180036e90
mov esi, eax
lea eax, [rsi + 0x78a83b8e]
mov dword [rsp + 0x40], eax
xorps xmm2, xmm2
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x20]
call fcn.180035b00
movss xmm10, dword [0x1800fe1e8]
mov dword [rsp + 0x44], 0x3f800000
mov dword [rsp + 0x40], 0
lea rcx, [rsp + 0x40]
lea rax, [rbp - 0x10]
movss xmm0, dword [rbp - 0x10]
comiss xmm9, xmm0
cmovbe rcx, rax
lea rax, [rsp + 0x44]
comiss xmm0, xmm10
cmovbe rax, rcx
mov eax, dword [rax]
mov dword [rbx + 0x9c], eax
mov rcx, rbx
call fcn.180036c00
mov qword [rbp - 0x80], rax
lea rdx, [rbp - 0x80]
lea rcx, [0x1801bdcc0]
call fcn.180036aa0
movss xmm7, dword [rax]
mulss xmm7, dword [0x1800fe318]
movss xmm8, dword [rbx + 0x9c]
mov rcx, rbx
call fcn.180036c00
mov qword [rbp - 0x78], rax
lea rdx, [rbp - 0x78]
lea rcx, [0x1801bdcc0]
call fcn.180036aa0
movss xmm0, dword [rax]
mulss xmm0, dword [0x1800fe318]
cvttss2si eax, xmm7
movzx edx, al
cvttss2si eax, xmm0
movzx ecx, al
sub ecx, edx
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm8
movd xmm0, edx
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
mulss xmm8, dword [0x1800fe28c]
addss xmm8, dword [0x1800fe2c0]
cvttss2si eax, xmm8
movzx ecx, al
mov edx, ecx
shl edx, 0x10
mov rax, qword [rbx + 0x20]
mov qword [rbp - 0x10], rax
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0x48], rax
mov r10d, edx
bswap r10d
shl ecx, 0x18
or r10d, ecx
cvttss2si eax, xmm1
movzx ecx, al
or r10d, ecx
or r10d, edx
cvttss2si eax, dword [rbp - 0xc]
cvttss2si r9d, dword [rbp - 0x10]
cvttss2si r8d, dword [rsp + 0x4c]
cvttss2si edx, dword [rsp + 0x48]
xor edi, edi
mov dword [rsp + 0x38], edi
movss xmm11, dword [0x1800fe220]
movss dword [rsp + 0x30], xmm11
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], eax
mov rcx, qword [0x1801b42e8]
call fcn.18008e580
movss xmm1, dword [rbx + 0x24]
movss xmm8, dword [0x1800fe200]
subss xmm1, xmm8
movss xmm0, dword [rbx + 0x20]
subss xmm0, xmm8
movss dword [rbp - 0x10], xmm0
movss dword [rbp - 0xc], xmm1
movss xmm1, dword [rbx + 0x1c]
addss xmm1, xmm10
movss xmm0, dword [rbx + 0x18]
addss xmm0, xmm10
movss dword [rsp + 0x48], xmm0
movss dword [rsp + 0x4c], xmm1
mov r8, qword [rbp - 0x10]
mov rdx, qword [rsp + 0x48]
lea rcx, [rbp + 0x18]
call fcn.180038ea0
mov rax, qword [rbx + 0x130]
mov ecx, dword [rax]
mov dword [rsp + 0x40], ecx
mov rcx, rbx
call fcn.180036c00
mov qword [rbp - 0x70], rax
lea rdx, [rbp - 0x70]
lea rcx, [0x1801bdcc0]
call fcn.180036aa0
mov rcx, qword [rbx + 0x130]
movzx edx, byte [rcx]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [rax]
cvttss2si eax, xmm0
mov byte [rsp + 0x44], al
movzx eax, byte [rsp + 0x41]
mov byte [rsp + 0x45], al
movzx eax, byte [rsp + 0x42]
mov byte [rsp + 0x46], al
movzx eax, byte [rsp + 0x43]
mov byte [rsp + 0x47], al
mov rax, qword [rbx + 0x20]
mov qword [rbp - 0x10], rax
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0x48], rax
cvttss2si ecx, dword [rbp - 0xc]
cvttss2si r9d, dword [rbp - 0x10]
cvttss2si r8d, dword [rsp + 0x4c]
cvttss2si edx, dword [rsp + 0x48]
mov dword [rsp + 0x38], edi
movss dword [rsp + 0x30], xmm11
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
mov rcx, qword [0x1801b42e8]
call fcn.18008e580
mov rcx, rbx
call fcn.180036c00
mov qword [rbp], rax
lea rdx, [rbp]
lea rcx, [0x1801bdcc0]
call fcn.180036aa0
movss xmm0, dword [rax]
mulss xmm0, dword [0x1800fe2f0]
mov rax, qword [rbx + 0x20]
mov qword [rbp - 0x10], rax
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0x48], rax
cvttss2si eax, xmm0
movzx ecx, al
or ecx, 0x9090900
cvttss2si eax, dword [rbp - 0xc]
cvttss2si r9d, dword [rbp - 0x10]
cvttss2si r8d, dword [rsp + 0x4c]
cvttss2si edx, dword [rsp + 0x48]
movss dword [rsp + 0x30], xmm8
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
mov rcx, qword [0x1801b42e8]
call fcn.18008ece0
movss xmm1, dword [rbx + 0x1c]
movss xmm0, dword [rbx + 0x18]
movss dword [rbp - 0x10], xmm0
movss dword [rbp - 0xc], xmm1
mov rax, qword [rbp - 0x10]
mov qword [rbx + 0x128], rax
movss xmm1, dword [rbp - 0x20]
movaps xmm2, xmm1
mulss xmm2, dword [0x1800fe30c]
cmp byte [rbx + 0x138], dil
je 0x18003872b
movss xmm0, dword [0x1800fe308]
jmp 0x180038733
movss xmm0, dword [0x1800fe2fc]
mulss xmm0, xmm1
movss dword [rbp - 0x10], xmm2
movss dword [rbp - 0xc], xmm0
mov rax, qword [rbp - 0x10]
mov qword [rbx + 0x120], rax
cmp byte [rbx + 0x13a], dil
jne 0x180038777
cmp qword [0x1801bdb08], rbx
jne 0x180038777
movss xmm0, dword [0x1800fe174]
comiss xmm0, xmm1
jbe 0x180038777
mov qword [0x1801bdb08], rdi
jmp 0x180038e4e
comiss xmm1, dword [0x1800fe164]
jbe 0x180038e4e
mov rcx, rbx
call fcn.180036c00
mov qword [rbp], rax
lea rdx, [rbp]
lea rcx, [0x1801bdcc0]
call fcn.180036aa0
movss xmm2, dword [rax]
mulss xmm2, dword [0x1800fe2f8]
movss xmm0, dword [rbx + 0x124]
addss xmm0, xmm8
cvttss2si r10d, xmm0
movss xmm1, dword [rbx + 0x120]
movss xmm6, dword [0x1800fe234]
addss xmm1, xmm6
cvttss2si r9d, xmm1
movss xmm0, dword [rbx + 0x12c]
subss xmm0, xmm6
cvttss2si r8d, xmm0
movss xmm1, dword [rbx + 0x128]
subss xmm1, xmm6
cvttss2si edx, xmm1
cvttss2si eax, xmm2
movzx ecx, al
or ecx, 0x32323200
mov dword [rsp + 0x38], edi
movss xmm12, dword [0x1800fe22c]
movss dword [rsp + 0x30], xmm12
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], r10d
mov rcx, qword [0x1801b42e8]
call fcn.18008e580
mov rcx, rbx
call fcn.180036c00
mov qword [rbp - 0x70], rax
lea rdx, [rbp - 0x70]
lea rcx, [0x1801bdcc0]
call fcn.180036aa0
movss xmm2, dword [rax]
movss xmm7, dword [0x1800fe320]
mulss xmm2, xmm7
movss xmm0, dword [rbx + 0x124]
addss xmm0, xmm8
cvttss2si r10d, xmm0
movss xmm1, dword [rbx + 0x120]
addss xmm1, xmm6
cvttss2si r9d, xmm1
movss xmm0, dword [rbx + 0x12c]
subss xmm0, xmm6
cvttss2si r8d, xmm0
movss xmm1, dword [rbx + 0x128]
subss xmm1, xmm6
cvttss2si edx, xmm1
cvttss2si eax, xmm2
movzx ecx, al
or ecx, 0x16161600
mov dword [rsp + 0x38], 0x30
movss dword [rsp + 0x30], xmm12
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], r10d
mov rcx, qword [0x1801b42e8]
call fcn.18008e580
mov rcx, rbx
call fcn.180036c00
mov qword [rbp - 0x78], rax
lea rdx, [rbp - 0x78]
lea rcx, [0x1801bdcc0]
call fcn.180036aa0
movss xmm2, dword [rax]
mulss xmm2, dword [0x1800fe2c8]
movss xmm0, dword [rbx + 0x124]
addss xmm0, xmm8
addss xmm0, xmm8
cvttss2si r10d, xmm0
movss xmm1, dword [rbx + 0x120]
addss xmm1, xmm6
addss xmm1, xmm8
cvttss2si r9d, xmm1
movss xmm0, dword [rbx + 0x12c]
subss xmm0, xmm6
subss xmm0, xmm10
cvttss2si r8d, xmm0
movss xmm1, dword [rbx + 0x128]
subss xmm1, xmm6
subss xmm1, xmm10
cvttss2si edx, xmm1
cvttss2si eax, xmm2
movzx ecx, al
or ecx, 0x9090900
movss dword [rsp + 0x30], xmm12
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], r10d
mov rcx, qword [0x1801b42e8]
call fcn.18008ece0
mov rcx, rbx
call fcn.180036c00
mov qword [rbp - 0x80], rax
lea rdx, [rbp - 0x80]
lea rcx, [0x1801bdcc0]
call fcn.180036aa0
movss xmm2, dword [rax]
mulss xmm2, dword [0x1800fe2e8]
movss xmm0, dword [rbx + 0x124]
addss xmm0, xmm8
cvttss2si r10d, xmm0
movss xmm1, dword [rbx + 0x120]
addss xmm1, xmm6
cvttss2si r9d, xmm1
movss xmm0, dword [rbx + 0x12c]
subss xmm0, xmm6
cvttss2si r8d, xmm0
movss xmm1, dword [rbx + 0x128]
subss xmm1, xmm6
cvttss2si edx, xmm1
cvttss2si eax, xmm2
movzx ecx, al
or ecx, 0x64646400
movss dword [rsp + 0x30], xmm12
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], r10d
mov rcx, qword [0x1801b42e8]
call fcn.18008ece0
mov qword [rbp], rbx
lea rax, [rbp - 0x20]
mov qword [rbp + 8], rax
lea rax, [rbp + 0x18]
mov qword [rbp + 0x10], rax
lea rax, vtable.._AV___Func_impl_no_alloc_V_lambda_2___7__paint_colorpicker_p__UEAAXXZ_X__V_std__.0
mov qword [rbp - 0x60], rax
movups xmm0, xmmword [rbp]
movups xmmword [rbp - 0x58], xmm0
movsd xmm1, qword [rbp + 0x10]
movsd qword [rbp - 0x48], xmm1
lea rax, [rbp - 0x60]
mov qword [rbp - 0x28], rax
mov rax, qword [rbx + 0x120]
mov qword [rbp - 0x10], rax
mov rax, qword [rbx + 0x128]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x28], rax
movss xmm0, dword [rbp - 0xc]
movss dword [rsp + 0x20], xmm0
movss xmm3, dword [rbp - 0x10]
movss xmm2, dword [rsp + 0x4c]
movss xmm1, dword [rsp + 0x48]
mov rcx, qword [0x1801b42e8]
call fcn.18008ee80
nop
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x180038aa8
mov rax, qword [rcx]
lea rdx, [rbp - 0x60]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
lea rdx, [rbx + 0x10c]
movss xmm1, dword [rdx]
movss xmm3, dword [rbx + 0x104]
movaps xmm2, xmm3
addss xmm2, xmm1
subss xmm2, xmm11
movss dword [rsp + 0x44], xmm2
mov dword [rsp + 0x58], 0x3f800000
mov dword [rsp + 0x50], 0
movzx eax, word [rbx + 0xd0]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x1800fe32c]
movss dword [rsp + 0x54], xmm0
lea rcx, [rsp + 0x50]
lea rax, [rsp + 0x54]
comiss xmm9, xmm0
cmovbe rcx, rax
lea rax, [rsp + 0x58]
comiss xmm0, xmm10
cmovbe rax, rcx
mulss xmm3, dword [rax]
addss xmm3, xmm1
movss dword [rsp + 0x40], xmm3
lea rcx, [rsp + 0x40]
comiss xmm1, xmm3
cmova rcx, rdx
movss xmm0, dword [rbx + 0x108]
addss xmm0, dword [0x1800fe240]
movss dword [rbp - 0x10], xmm0
lea rax, [rsp + 0x44]
comiss xmm3, xmm2
cmovbe rax, rcx
movss xmm0, dword [rax]
movss dword [rbp - 0xc], xmm0
mov rcx, rbx
call fcn.180036c00
mov qword [rbp], rax
lea rdx, [rbp]
lea rcx, [0x1801bdcc0]
call fcn.180036aa0
movss xmm0, dword [rbp - 0x20]
mulss xmm0, xmm7
mulss xmm0, dword [rax]
cvttss2si eax, xmm0
movzx ecx, al
or ecx, 0xffffff00
movss dword [rsp + 0x28], xmm8
mov dword [rsp + 0x20], ecx
mov rdx, qword [rbp - 0x10]
call fcn.18008e200
cmp byte [rbx + 0x138], 0
je 0x180038cac
lea rdx, [rbx + 0xf8]
movss xmm3, dword [rdx]
movss xmm1, dword [rbx + 0xf0]
movaps xmm2, xmm1
addss xmm2, xmm3
movss dword [rsp + 0x44], xmm2
mov dword [rsp + 0x64], 0x3f800000
mov dword [rsp + 0x5c], 0
mov rax, qword [rbx + 0x130]
movzx ecx, byte [rax]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
divss xmm0, xmm7
movss dword [rsp + 0x60], xmm0
lea rcx, [rsp + 0x5c]
lea rax, [rsp + 0x60]
comiss xmm9, xmm0
cmovbe rcx, rax
lea rax, [rsp + 0x64]
comiss xmm0, xmm10
cmovbe rax, rcx
mulss xmm1, dword [rax]
subss xmm1, xmm11
addss xmm1, xmm3
movss dword [rsp + 0x40], xmm1
lea rcx, [rsp + 0x40]
comiss xmm1, xmm3
cmovbe rcx, rdx
lea rax, [rsp + 0x44]
comiss xmm3, xmm2
cmovbe rax, rcx
movss xmm0, dword [rax]
movss dword [rbp - 0x10], xmm0
movss xmm1, dword [rbx + 0xfc]
addss xmm1, xmm6
movss dword [rbp - 0xc], xmm1
mov rcx, rbx
call fcn.180036c00
mov qword [rbp], rax
lea rdx, [rbp]
lea rcx, [0x1801bdcc0]
call fcn.180036aa0
movss xmm0, dword [rbp - 0x20]
mulss xmm0, xmm7
mulss xmm0, dword [rax]
cvttss2si eax, xmm0
movzx ecx, al
or ecx, 0xffffff00
movss dword [rsp + 0x28], xmm8
mov dword [rsp + 0x20], ecx
mov rdx, qword [rbp - 0x10]
call fcn.18008e200
lea rdx, [rbx + 0x118]
movss xmm1, dword [rdx]
movss xmm6, dword [rbx + 0x110]
movaps xmm5, xmm6
addss xmm5, xmm1
subss xmm5, xmm11
movss dword [rsp + 0x48], xmm5
mov dword [rsp + 0x70], 0x3f800000
mov dword [rsp + 0x68], 0
movzx eax, byte [rbx + 0xd2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x1800fe2e8]
movss dword [rsp + 0x6c], xmm0
lea rcx, [rsp + 0x68]
lea rax, [rsp + 0x6c]
comiss xmm9, xmm0
cmovbe rcx, rax
lea rax, [rsp + 0x70]
comiss xmm0, xmm10
cmovbe rax, rcx
mulss xmm6, dword [rax]
movaps xmm0, xmm1
addss xmm0, xmm11
addss xmm6, xmm0
movss dword [rsp + 0x40], xmm6
lea r9, [rsp + 0x40]
comiss xmm1, xmm6
cmova r9, rdx
lea r8, [rbx + 0x11c]
movss xmm2, dword [r8]
movss xmm4, dword [rbx + 0x114]
movaps xmm3, xmm4
addss xmm3, xmm2
subss xmm3, xmm12
movss dword [rbp - 0x10], xmm3
mov dword [rsp + 0x7c], 0x3f800000
mov dword [rsp + 0x74], 0
movzx eax, byte [rbx + 0xd3]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x1800fe2e8]
movaps xmm1, xmm10
subss xmm1, xmm0
movss dword [rsp + 0x78], xmm1
lea rcx, [rsp + 0x74]
lea rax, [rsp + 0x78]
comiss xmm9, xmm1
cmovbe rcx, rax
lea rax, [rsp + 0x7c]
comiss xmm1, xmm10
cmovbe rax, rcx
mulss xmm4, dword [rax]
movaps xmm0, xmm2
subss xmm0, xmm12
addss xmm4, xmm0
movss dword [rsp + 0x44], xmm4
lea rdx, [rsp + 0x44]
comiss xmm2, xmm4
cmova rdx, r8
lea rax, [rsp + 0x48]
comiss xmm6, xmm5
cmovbe rax, r9
movss xmm0, dword [rax]
movss dword [rsp + 0x48], xmm0
lea rax, [rbp - 0x10]
comiss xmm4, xmm3
cmovbe rax, rdx
movss xmm0, dword [rax]
movss dword [rsp + 0x4c], xmm0
mov rcx, rbx
call fcn.180036c00
mov qword [rbp], rax
lea rdx, [rbp]
lea rcx, [0x1801bdcc0]
call fcn.180036aa0
movss xmm0, dword [rbp - 0x20]
mulss xmm0, xmm7
mulss xmm0, dword [rax]
cvttss2si eax, xmm0
movzx ecx, al
or ecx, 0xffffff00
movss dword [rsp + 0x28], xmm8
mov dword [rsp + 0x20], ecx
mov rdx, qword [rsp + 0x48]
call fcn.18008e200
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.1800921e0
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
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]
mov rsp, r11
pop rbp
ret