Function at 0x40cc90
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x44e040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [0x44e638]
mov ebx, ecx
mov esi, edi
mov dword [ebp - 0x10], esi
mov eax, dword [esi + 0x400c]
mov dword [ebp - 8], eax
test ebx, 0xfffc005f
je 0x40ccd1
mov ecx, str.Invalid_flags_for_IsItemHovered___
call fcn.00419360
mov edi, dword [0x44e638]
cmp byte [esi + 0x4ae1], 0
je 0x40cd4a
cmp byte [esi + 0x4ae0], 0
je 0x40cd4a
test ebx, 0x800
jne 0x40cd4a
mov eax, dword [edi + 0x4ae4]
cmp eax, dword [edi + 0x49a8]
jne 0x40cf3e
test eax, eax
je 0x40cf3e
test dword [esi + 0x49ac], 0x400
je 0x40cd1d
test ebx, 0x400
je 0x40cf3e
mov eax, dword [ebp - 8]
test ebx, 0x1000
je 0x40ce3c
mov edx, dword [esi + 0x3d54]
mov ecx, edx
and ecx, 0xfffe3fff
test ebx, 0x1c000
cmove ecx, edx
or ebx, ecx
jmp 0x40ce3c
mov ecx, dword [esi + 0x49b0]
test cl, 1
je 0x40cf3e
test ebx, 0x1000
je 0x40cd80
mov edx, dword [esi + 0x3d50]
mov ecx, edx
and ecx, 0xfffe3fff
test ebx, 0x1c000
cmove ecx, edx
or ebx, ecx
mov ecx, dword [esi + 0x49b0]
mov eax, dword [ebp - 8]
cmp dword [esi + 0x4010], eax
je 0x40cd9b
test cl, cl
js 0x40cd9b
test ebx, 0x200
je 0x40cf3e
mov edx, dword [esi + 0x49a8]
test bl, bl
js 0x40cdc5
mov ecx, dword [esi + 0x4068]
test ecx, ecx
je 0x40cdc5
cmp ecx, edx
je 0x40cdc5
cmp byte [esi + 0x4075], 0
jne 0x40cdc5
cmp ecx, dword [eax + 0x7c]
jne 0x40cf3e
mov edx, ebx
mov ecx, eax
call fcn.0040cc20
test al, al
jne 0x40cde2
test dword [esi + 0x49ac], 0x2000
je 0x40cf3e
mov edx, dword [esi + 0x49ac]
test edx, 0x400
je 0x40cdfc
test ebx, 0x400
je 0x40cf3e
mov eax, dword [ebp - 8]
mov ecx, dword [esi + 0x49a8]
cmp ecx, dword [eax + 0x7c]
jne 0x40ce17
cmp byte [eax + 0xbc], 0
jne 0x40cf3e
test edx, 0x4000
je 0x40ce3c
test ecx, ecx
je 0x40ce3c
test ebx, 0x100
jne 0x40ce3c
mov eax, dword [esi + 0x4054]
cmp eax, ecx
jne 0x40cf3e
mov eax, dword [ebp - 8]
xorps xmm0, xmm0
test ebx, 0x10000
je 0x40ce51
movss xmm1, dword [edi + 0x3d4c]
jmp 0x40ce66
test ebx, 0x8000
je 0x40ce63
movss xmm1, dword [edi + 0x3d48]
jmp 0x40ce66
xorps xmm1, xmm1
comiss xmm1, xmm0
ja 0x40ce86
test ebx, 0x2000
jne 0x40ce86
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004419d0
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x49a8]
test edx, edx
jne 0x40cef3
movss xmm0, dword [esi + 0x49b4]
lea edi, [ebp - 0xc]
subss xmm0, dword [eax + 0x110]
mov ecx, dword [eax + 0xf4]
movss dword [ebp - 0xc], xmm0
movss xmm0, dword [esi + 0x49b8]
mov esi, 8
subss xmm0, dword [eax + 0x114]
mov eax, dword [eax + 0xfc]
mov edx, dword [eax + ecx*4 - 4]
movss dword [ebp - 8], xmm0
not edx
movzx eax, byte [edi]
lea edi, [edi + 1]
movzx ecx, dl
xor ecx, eax
shr edx, 8
xor edx, dword [ecx*4 + 0x4448f0]
sub esi, 1
jne 0x40ced4
mov esi, dword [ebp - 0x10]
not edx
test ebx, 0x20000
je 0x40cf0d
cmp dword [esi + 0x4eb8], edx
je 0x40cf0d
mov dword [esi + 0x4ebc], 0
mov dword [esi + 0x4eb4], edx
test ebx, 0x2000
je 0x40cf23
cmp dword [esi + 0x4ec4], edx
jne 0x40cf3e
comiss xmm1, dword [esi + 0x4ebc]
setbe al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004419d0
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor al, al
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004419d0
mov esp, ebp
pop ebp
ret