Function at 0x576690
Capabilities:
Hash data with crc32

Disassembly:
push ebp
xor eax, eax
mov ebp, esp
push esi
push ebx
mov edx, dword [ebp + 0xc]
test edx, edx
je 0x576915
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
mov ecx, eax
mov ebx, edx
xor ecx, 0xffffffff
test esi, esi
je 0x5768a5
test bl, 3
je 0x5768a5
mov al, byte [ebx]
inc ebx
xor eax, ecx
shr ecx, 8
and eax, 0xff
mov edx, dword [eax*4 + 0x7820d4]
xor ecx, edx
dec esi
jne 0x5766b7
cmp esi, 0x1f
jbe 0x5768ee
mov eax, dword [ebx]
add ebx, 4
xor ecx, eax
movzx eax, ch
movzx edx, cl
shr ecx, 0x10
mov eax, dword [eax*4 + 0x7828d4]
xor eax, dword [edx*4 + 0x782cd4]
movzx edx, cl
xor eax, dword [edx*4 + 0x7824d4]
mov edx, ecx
shr edx, 8
mov ecx, eax
mov eax, dword [edx*4 + 0x7820d4]
xor ecx, eax
mov eax, dword [ebx]
xor ecx, eax
add ebx, 4
movzx eax, ch
movzx edx, cl
shr ecx, 0x10
mov eax, dword [eax*4 + 0x7828d4]
xor eax, dword [edx*4 + 0x782cd4]
movzx edx, cl
xor eax, dword [edx*4 + 0x7824d4]
mov edx, ecx
shr edx, 8
mov ecx, eax
mov eax, dword [edx*4 + 0x7820d4]
xor ecx, eax
mov eax, dword [ebx]
xor ecx, eax
add ebx, 4
movzx eax, ch
movzx edx, cl
shr ecx, 0x10
mov eax, dword [eax*4 + 0x7828d4]
xor eax, dword [edx*4 + 0x782cd4]
movzx edx, cl
xor eax, dword [edx*4 + 0x7824d4]
mov edx, ecx
shr edx, 8
mov ecx, eax
mov eax, dword [edx*4 + 0x7820d4]
xor ecx, eax
mov eax, dword [ebx]
xor ecx, eax
add ebx, 4
movzx eax, ch
movzx edx, cl
shr ecx, 0x10
mov eax, dword [eax*4 + 0x7828d4]
xor eax, dword [edx*4 + 0x782cd4]
movzx edx, cl
xor eax, dword [edx*4 + 0x7824d4]
mov edx, ecx
shr edx, 8
mov ecx, eax
mov eax, dword [edx*4 + 0x7820d4]
xor ecx, eax
mov eax, dword [ebx]
xor ecx, eax
add ebx, 4
movzx eax, ch
movzx edx, cl
shr ecx, 0x10
mov eax, dword [eax*4 + 0x7828d4]
xor eax, dword [edx*4 + 0x782cd4]
movzx edx, cl
xor eax, dword [edx*4 + 0x7824d4]
mov edx, ecx
shr edx, 8
mov ecx, eax
mov eax, dword [edx*4 + 0x7820d4]
xor ecx, eax
mov eax, dword [ebx]
xor ecx, eax
add ebx, 4
movzx eax, ch
movzx edx, cl
shr ecx, 0x10
mov eax, dword [eax*4 + 0x7828d4]
xor eax, dword [edx*4 + 0x782cd4]
movzx edx, cl
xor eax, dword [edx*4 + 0x7824d4]
mov edx, ecx
shr edx, 8
mov ecx, eax
mov eax, dword [edx*4 + 0x7820d4]
xor ecx, eax
mov eax, dword [ebx]
xor ecx, eax
add ebx, 4
movzx eax, ch
movzx edx, cl
shr ecx, 0x10
mov eax, dword [eax*4 + 0x7828d4]
xor eax, dword [edx*4 + 0x782cd4]
movzx edx, cl
xor eax, dword [edx*4 + 0x7824d4]
mov edx, ecx
shr edx, 8
mov ecx, eax
mov eax, dword [edx*4 + 0x7820d4]
xor ecx, eax
mov eax, dword [ebx]
xor ecx, eax
add ebx, 4
movzx eax, ch
movzx edx, cl
mov eax, dword [eax*4 + 0x7828d4]
xor eax, dword [edx*4 + 0x782cd4]
sub esi, 0x20
shr ecx, 0x10
movzx edx, cl
xor eax, dword [edx*4 + 0x7824d4]
mov edx, ecx
shr edx, 8
mov ecx, eax
mov eax, dword [edx*4 + 0x7820d4]
xor ecx, eax
cmp esi, 0x1f
ja 0x5766e2
cmp esi, 3
jbe 0x5768f3
mov eax, dword [ebx]
sub esi, 4
xor ecx, eax
add ebx, 4
movzx eax, ch
movzx edx, cl
shr ecx, 0x10
mov eax, dword [eax*4 + 0x7828d4]
xor eax, dword [edx*4 + 0x782cd4]
movzx edx, cl
xor eax, dword [edx*4 + 0x7824d4]
mov edx, ecx
shr edx, 8
mov ecx, eax
mov eax, dword [edx*4 + 0x7820d4]
xor ecx, eax
cmp esi, 3
ja 0x5768b3
test esi, esi
jmp 0x57690e
mov al, byte [ebx]
inc ebx
xor eax, ecx
shr ecx, 8
and eax, 0xff
mov edx, dword [eax*4 + 0x7820d4]
xor ecx, edx
dec esi
jne 0x5768f7
mov eax, ecx
xor eax, 0xffffffff
pop ebx
pop esi
pop ebp
ret