How to write an md5-hash decryptor with rainbow table in C++. Write me an accessible explanation step-by-step.