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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x45f040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [0x45f4d8]
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 0x408cd1
mov ecx, str.Invalid_flags_for_IsItemHovered___
call fcn.00415bf0
mov edi, dword [0x45f4d8]
cmp byte [esi + 0x4ae1], 0
je 0x408d4a
cmp byte [esi + 0x4ae0], 0
je 0x408d4a
test ebx, 0x800
jne 0x408d4a
mov eax, dword [edi + 0x4ae4]
cmp eax, dword [edi + 0x49a8]
jne 0x408f3e
test eax, eax
je 0x408f3e
test dword [esi + 0x49ac], 0x400
je 0x408d1d
test ebx, 0x400
je 0x408f3e
mov eax, dword [ebp - 8]
test ebx, 0x1000
je 0x408e3c
mov edx, dword [esi + 0x3d54]
mov ecx, edx
and ecx, 0xfffe3fff
test ebx, 0x1c000
cmove ecx, edx
or ebx, ecx
jmp 0x408e3c
mov ecx, dword [esi + 0x49b0]
test cl, 1
je 0x408f3e
test ebx, 0x1000
je 0x408d80
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 0x408d9b
test cl, cl
js 0x408d9b
test ebx, 0x200
je 0x408f3e
mov edx, dword [esi + 0x49a8]
test bl, bl
js 0x408dc5
mov ecx, dword [esi + 0x4068]
test ecx, ecx
je 0x408dc5
cmp ecx, edx
je 0x408dc5
cmp byte [esi + 0x4075], 0
jne 0x408dc5
cmp ecx, dword [eax + 0x7c]
jne 0x408f3e
mov edx, ebx
mov ecx, eax
call fcn.00408c20
test al, al
jne 0x408de2
test dword [esi + 0x49ac], 0x2000
je 0x408f3e
mov edx, dword [esi + 0x49ac]
test edx, 0x400
je 0x408dfc
test ebx, 0x400
je 0x408f3e
mov eax, dword [ebp - 8]
mov ecx, dword [esi + 0x49a8]
cmp ecx, dword [eax + 0x7c]
jne 0x408e17
cmp byte [eax + 0xbc], 0
jne 0x408f3e
test edx, 0x4000
je 0x408e3c
test ecx, ecx
je 0x408e3c
test ebx, 0x100
jne 0x408e3c
mov eax, dword [esi + 0x4054]
cmp eax, ecx
jne 0x408f3e
mov eax, dword [ebp - 8]
xorps xmm0, xmm0
test ebx, 0x10000
je 0x408e51
movss xmm1, dword [edi + 0x3d4c]
jmp 0x408e66
test ebx, 0x8000
je 0x408e63
movss xmm1, dword [edi + 0x3d48]
jmp 0x408e66
xorps xmm1, xmm1
comiss xmm1, xmm0
ja 0x408e86
test ebx, 0x2000
jne 0x408e86
mov al, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00453924
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x49a8]
test edx, edx
jne 0x408ef3
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 + 0x457de0]
sub esi, 1
jne 0x408ed4
mov esi, dword [ebp - 0x10]
not edx
test ebx, 0x20000
je 0x408f0d
cmp dword [esi + 0x4eb8], edx
je 0x408f0d
mov dword [esi + 0x4ebc], 0
mov dword [esi + 0x4eb4], edx
test ebx, 0x2000
je 0x408f23
cmp dword [esi + 0x4ec4], edx
jne 0x408f3e
comiss xmm1, dword [esi + 0x4ebc]
setbe al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00453924
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.00453924
mov esp, ebp
pop ebp
ret