A study of decompiling machine languages into high-level machine independent languages