HWID hashes are generated from many different sources and stitched together for the final hash.
This implementation is flawed because changing one of those sources will lead to a different hash being generated, which makes it easier to circumvent this method of detection. Instead, each source should have its own hash, and each of those sources should be checked individually by the HWID checker.