Code-Snippet i got from a friend long ago might be useful ?
//From: BoB Team-PEiD
Function GetPolyCrc32(Address : Pointer; Size : DWord) : DWord;
Asm
// input: EAX=data, EDX=size
PushAD
XChg EAX, EDX // EDX = Address ..
XChg EAX, ECX // ECX = Size ..
// Mov EDX, Buffer
// Mov ECX, NumBytes
Xor EAX, EAX
// input: EDX=data, ECX=size, EAX=crc
// output: EAX=crc, EDX+=ECX, ECX=BL=0
Jecxz @L4
Not EAX
@L1:
Xor AL, [EDX]
Inc EDX
Mov BL, 8
@L2:
Shr EAX, 1
Jnc @L3
Xor EAX, $EDB88320
@L3:
Dec BL
Jnz @L2
Loop @L1
Not EAX
@L4:
Mov [ESP + PushAD_EAX], EAX
PopAD
End;