Function at 0x14004ec00
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
mov rbp, rsp
sub rsp, 0x60
movaps xmmword [rsp + 0x50], xmm6
mov rax, qword [0x140154040]
xor rax, rsp
mov qword [rbp - 0x20], rax
mov rbx, qword [0x14020fba0]
mov edi, ecx
cmp byte [rbx + 0x4d51], 0
jne 0x14004ec6c
cmp byte [rbx + 0x4d52], 0
jne 0x14004ec6c
movsx r9d, word [rbx + 0x5ea8]
lea r8, str.Tooltip__02d
mov edx, 0x10
lea rcx, [rbp - 0x30]
call fcn.14003d160
test dil, 2
je 0x14004ed92
jmp 0x14004ecf6
movss xmm1, dword [rbx + 0x39c4]
lea r8, str.Tooltip__02d
movsx r9d, word [rbx + 0x5ea8]
lea rcx, [rbp - 0x30]
movaps xmm0, xmm1
xor eax, eax
mulss xmm0, dword [0x1401436b0]
mov edx, 0x10
mulss xmm1, dword [0x14014369c]
addss xmm0, dword [rbx + 0xe48]
addss xmm1, dword [rbx + 0xe4c]
mov qword [rbx + 0x4a30], rax
mov dword [rbx + 0x4a1c], 1
movss dword [rbx + 0x4a28], xmm0
movss dword [rbx + 0x4a2c], xmm1
movss xmm0, dword [rbx + 0x3a2c]
mulss xmm0, dword [0x1401435c4]
or dword [rbx + 0x4a18], 0x41
movss dword [rbx + 0x4a78], xmm0
call fcn.14003d160
movzx r9d, byte [rbp - 0x30]
lea r8, [rbp - 0x2f]
mov r10d, 0xffffffff
mov ecx, r10d
test r9b, r9b
je 0x14004ed44
lea r11, [0x1400a4d60]
cmp r9b, 0x23
jne 0x14004ed27
cmp byte [r8], r9b
jne 0x14004ed27
cmp byte [r8 + 1], r9b
cmove ecx, r10d
movzx edx, cl
movzx eax, r9b
movzx r9d, byte [r8]
xor rdx, rax
shr ecx, 8
inc r8
xor ecx, dword [r11 + rdx*4]
test r9b, r9b
jne 0x14004ed14
not ecx
call fcn.140044de0
test rax, rax
je 0x14004ed92
cmp byte [rax + 0xbe], 0
je 0x14004ed92
mov byte [rax + 0xc3], 1
lea r8, str.Tooltip__02d
mov byte [rax + 0xc5], 1
lea rcx, [rbp - 0x30]
mov byte [rax + 0xe4], 1
mov edx, 0x10
inc word [rbx + 0x5ea8]
movsx r9d, word [rbx + 0x5ea8]
call fcn.14003d160
movss xmm1, dword [0x140143690]
mov ecx, 3
call fcn.14003dfd0
lea rdx, [rbp - 0x40]
mov dword [rbp - 0x40], 0x41200000
mov ecx, 2
mov dword [rbp - 0x3c], 0x41200000
call fcn.14003e050
lea rdx, [rbp - 0x40]
mov dword [rbp - 0x40], 0x41200000
mov ecx, 0xe
mov dword [rbp - 0x3c], 0x41200000
call fcn.14003e050
movss xmm1, dword [0x14021050c]
lea rcx, [rbp - 0x40]
movss xmm0, dword [0x140210508]
mov rax, qword [0x14020fba0]
movss dword [rbp - 0x3c], xmm1
movss dword [rbp - 0x40], xmm0
movss xmm0, dword [0x140210510]
movss xmm1, dword [rax + 0x38f0]
mulss xmm1, dword [0x1401435d0]
movss dword [rbp - 0x38], xmm0
mulss xmm1, dword [0x140210514]
movss dword [rbp - 0x34], xmm1
call fcn.14003d930
mov edx, eax
mov ecx, 4
call fcn.14003de90
movss xmm1, dword [0x1402103fc]
lea rcx, [rbp - 0x40]
movss xmm0, dword [0x1402103f8]
mov rax, qword [0x14020fba0]
movss dword [rbp - 0x3c], xmm1
movss dword [rbp - 0x40], xmm0
movss xmm0, dword [0x140210400]
movss xmm1, dword [rax + 0x38f0]
mulss xmm1, dword [0x1401435a0]
movss dword [rbp - 0x38], xmm0
mulss xmm1, dword [0x140210404]
movss dword [rbp - 0x34], xmm1
call fcn.14003d930
mov edx, eax
mov ecx, 0x35
call fcn.14003de90
movss xmm1, dword [0x14021043c]
lea rcx, [rbp - 0x40]
movss xmm0, dword [0x140210438]
mov rax, qword [0x14020fba0]
movss dword [rbp - 0x3c], xmm1
movss xmm1, dword [0x140210444]
movss dword [rbp - 0x40], xmm0
mulss xmm1, dword [rax + 0x38f0]
movss xmm0, dword [0x140210440]
movss dword [rbp - 0x38], xmm0
movss dword [rbp - 0x34], xmm1
call fcn.14003d930
mov edx, eax
xor ecx, ecx
call fcn.14003de90
xor edx, edx
lea rcx, [rbp - 0x30]
mov r8d, 0x2030347
call fcn.140047b70
mov rcx, qword [0x14020fd98]
call fcn.14004a9d0
movss xmm1, dword [0x1402103fc]
lea rcx, [rbp - 0x40]
movss xmm0, dword [0x1402103f8]
mov rax, qword [0x14020fba0]
movss dword [rbp - 0x3c], xmm1
movss xmm1, dword [0x140210404]
movss dword [rbp - 0x40], xmm0
mulss xmm1, dword [rax + 0x38f0]
movss xmm0, dword [0x140210400]
movss dword [rbp - 0x38], xmm0
movss dword [rbp - 0x34], xmm1
call fcn.14003d930
movzx ecx, al
xorps xmm3, xmm3
cvtsi2ss xmm3, rcx
movss xmm6, dword [0x140143564]
lea rdx, [0x1400a44b4]
mulss xmm3, xmm6
mov ecx, eax
shr ecx, 8
movzx ecx, cl
xorps xmm0, xmm0
xorps xmm1, xmm1
xorps xmm2, xmm2
shufps xmm3, xmm3, 0xe1
cvtsi2ss xmm0, rcx
mov ecx, eax
shr eax, 0x18
shr ecx, 0x10
movzx ecx, cl
cvtsi2ss xmm2, rax
cvtsi2ss xmm1, rcx
lea rcx, [rbp - 0x40]
mulss xmm0, xmm6
mulss xmm1, xmm6
movss xmm3, xmm0
mulss xmm2, xmm6
shufps xmm3, xmm3, 0xc6
movss xmm3, xmm1
shufps xmm3, xmm3, 0x27
movss xmm3, xmm2
shufps xmm3, xmm3, 0x39
movups xmmword [rbp - 0x40], xmm3
movups xmmword [rbp - 0x40], xmm3
call fcn.140079fd0
call fcn.14004aa70
movss xmm1, dword [0x1401437c8]
xorps xmm0, xmm0
call fcn.14004dc10
mov rax, qword [0x14020fba0]
lea rcx, [rbp - 0x40]
movss xmm1, dword [0x140210494]
movss xmm4, dword [0x140210488]
movss xmm5, dword [0x14021048c]
mulss xmm1, dword [rax + 0x38f0]
movss xmm0, dword [0x140210490]
movss dword [rbp - 0x40], xmm4
movss dword [rbp - 0x34], xmm1
movss dword [rbp - 0x3c], xmm5
movss dword [rbp - 0x38], xmm0
call fcn.14003d930
xorps xmm3, xmm3
movzx ecx, al
xorps xmm0, xmm0
lea rdx, str.Special_Features
xorps xmm1, xmm1
xorps xmm2, xmm2
cvtsi2ss xmm3, rcx
mov ecx, eax
shr ecx, 8
movzx ecx, cl
mulss xmm3, xmm6
cvtsi2ss xmm0, rcx
mov ecx, eax
shr eax, 0x18
shr ecx, 0x10
movzx ecx, cl
shufps xmm3, xmm3, 0xe1
cvtsi2ss xmm2, rax
cvtsi2ss xmm1, rcx
lea rcx, [rbp - 0x40]
mulss xmm0, xmm6
mulss xmm1, xmm6
movss xmm3, xmm0
mulss xmm2, xmm6
shufps xmm3, xmm3, 0xc6
movss xmm3, xmm1
shufps xmm3, xmm3, 0x27
movss xmm3, xmm2
shufps xmm3, xmm3, 0x39
movups xmmword [rbp - 0x40], xmm3
movups xmmword [rbp - 0x40], xmm3
call fcn.140079fd0
mov al, 1
mov rcx, qword [rbp - 0x20]
xor rcx, rsp
call fcn.140099c70
mov rbx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
movaps xmm6, xmmword [rsp + 0x50]
add rsp, 0x60
pop rbp
ret