I cannot see what the line
c = c AND &hFFFFFFFF
is doing. .NET Color structure does not have bitwise operators defined.
Moreover, taking an int value and making a bitwise-AND between it and -1 basically returns the same int value.
My feeling is that this code is already copied from a java-one by someone who is not understanding what it is doing. This code does not add anything to color; it tries to make a bitwise operation that leaves the result unchanged.
You may have to define precisely what you are expecting from this statement.
Regards.
[Edit] Corrected a minor imprecision regarding the bitwise-AND stuff.