Function at 0x420a7d
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
mov esi, edx
push edi
not eax
mov edx, 0xff
cmp esi, 8
jb 0x420bf5
mov edi, esi
shr edi, 3
mov dword [ebp - 0x1c], edi
movzx edi, byte [ecx]
fld qword [0x46f920]
xor edi, eax
and edi, edx
shr eax, 8
xor eax, dword [edi*4 + 0x455c60]
movzx edi, byte [ecx + 1]
xor edi, eax
and edi, edx
shr eax, 8
xor eax, dword [edi*4 + 0x455c60]
movzx edi, byte [ecx + 2]
xor edi, eax
and edi, edx
shr eax, 8
xor eax, dword [edi*4 + 0x455c60]
movzx edi, byte [ecx + 3]
xor edi, eax
and edi, edx
shr eax, 8
xor eax, dword [edi*4 + 0x455c60]
movzx edi, byte [ecx + 4]
xor edi, eax
and edi, edx
shr eax, 8
xor eax, dword [edi*4 + 0x455c60]
movzx edi, byte [ecx + 5]
xor edi, eax
and edi, edx
shr eax, 8
xor eax, dword [edi*4 + 0x455c60]
movzx edi, byte [ecx + 6]
xor edi, eax
and edi, edx
shr eax, 8
xor eax, dword [edi*4 + 0x455c60]
movzx edi, byte [ecx + 7]
xor edi, eax
and edi, edx
shr eax, 8
xor eax, dword [edi*4 + 0x455c60]
add ecx, 8
fstp qword [ebp - 0x10]
sub esi, 8
fld qword [0x46f918]
fstp qword [ebp - 0x18]
fld qword [ebp - 0x18]
fsub qword [ebp - 0x18]
fld qword [ebp - 0x18]
fmul qword [0x46f910]
fsubp st(1)
fld qword [ebp - 0x18]
fmul qword [0x46f908]
fmul qword [ebp - 0x18]
fsubp st(1)
fld qword [ebp - 0x18]
fmul qword [ebp - 0x10]
fsubp st(1)
fadd qword [0x46f900]
fstp qword [ebp - 0x10]
mov dword [ebp - 8], 0x29
mov dword [ebp - 0xc], 0x37
mov dword [ebp - 4], 0xc
mov dword [ebp - 0x14], 0x31
mov edi, dword [ebp - 0x14]
mov ebx, dword [ebp - 0xc]
imul edi, ebx
mov ebx, dword [ebp - 0xc]
imul edi, edi, 0xffffffd3
imul ebx, ebx, 0x37
sub edi, ebx
mov ebx, dword [ebp - 8]
sub edi, ebx
add edi, dword [ebp - 0x14]
mov ebx, dword [ebp - 4]
lea edi, [edi + ebx + 1]
mov dword [ebp - 0x14], edi
mov edi, dword [ebp - 4]
mov ebx, dword [ebp - 8]
imul edi, ebx
mov ebx, dword [ebp - 4]
sub edi, ebx
add edi, dword [ebp - 0xc]
add edi, dword [ebp - 0xc]
add edi, dword [ebp - 8]
mov dword [ebp - 4], edi
mov edi, dword [ebp - 0xc]
mov edi, dword [ebp - 8]
mov edi, dword [ebp - 4]
mov ebx, dword [ebp - 8]
cmp ebx, edi
jl 0x420bec
mov edi, dword [ebp - 4]
imul edi, edi, 0x5e
mov dword [ebp - 8], edi
dec dword [ebp - 0x1c]
jne 0x420aa0
fld qword [0x46f948]
fst qword [ebp - 0x20]
fld qword [ebp - 0x20]
fadd qword [ebp - 0x20]
fstp qword [ebp - 0x20]
fld qword [ebp - 0x20]
fld qword [0x46f940]
fsub st(1), st(0)
fxch st(1)
fstp qword [ebp - 0x20]
fld qword [ebp - 0x20]
fld qword [0x46f938]
fadd st(1), st(0)
fxch st(1)
fstp qword [ebp - 0x20]
fld qword [ebp - 0x20]
fld qword [0x46f930]
fadd st(1), st(0)
fld qword [ebp - 0x20]
fsubp st(2)
fld qword [ebp - 0x20]
faddp st(2)
fld qword [ebp - 0x20]
faddp st(2)
fld qword [0x46f928]
fadd st(2), st(0)
fld qword [ebp - 0x20]
fsubp st(3)
fxch st(2)
fstp qword [ebp - 0x20]
test esi, esi
jne 0x420c5d
fstp st(4)
jmp 0x420ca8
fxch st(4)
movzx edi, byte [ecx]
fxch st(4)
xor edi, eax
and edi, edx
shr eax, 8
xor eax, dword [edi*4 + 0x455c60]
inc ecx
dec esi
fst qword [ebp - 0x20]
fld qword [ebp - 0x20]
fadd qword [ebp - 0x20]
fstp qword [ebp - 0x20]
fld qword [ebp - 0x20]
fsub st(4)
fstp qword [ebp - 0x20]
fld qword [ebp - 0x20]
fadd st(3)
fstp qword [ebp - 0x20]
fld qword [ebp - 0x20]
fadd st(5)
fsub qword [ebp - 0x20]
fadd qword [ebp - 0x20]
fadd qword [ebp - 0x20]
fadd st(2)
fsub qword [ebp - 0x20]
fstp qword [ebp - 0x20]
jne 0x420c5b
fstp st(0)
fstp st(2)
pop edi
fstp st(0)
pop esi
fstp st(1)
not eax
fstp st(0)
pop ebx
leave
ret