To help deter the decompilation or theft of your maps, you can run them through a map obfuscator before release. A Map Obfuscator will rename your entities and make following the logical flow of your map difficult.
Warning: Using an obfuscator may break your map. Always ensure that you fully understand the changes it performs and the resulting consequences.
List of Map Obfuscators
Renames entities to numeric strings
Moves nonpositional point entities to 0,0,0 (optional)
Written in C#