An MD5 hash is a string given by a (although fairly broken) hash function, given some input bitstring. Unfortunately, since hash functions are not one-to-one, it is quite difficult to reconstruct the source data (ISO) from just the hash, but with the magic of mathematics, we can, theoretically, convert an MD5 hash to a valid, playable ISO, via the axiom of choice! Allow me to explain.
Let H be our MD5 hash that we want to convert to a playable ISO, and M a Turing machine that accepts the set of bitstrings B that consists of playable ISOs for some fixed system S. We can simply assert the existence of such a machine by the axiom of choice (AC), but we can do even better: we can construct such a machine simply by looking at the code of any emulator for S!
Let MD5 be the MD5 hash function that maps some bitstring b to a hash h
Then, let B (bold and italics are different variables!) be the set of all bitstrings. We simply need to refine this set such that for all bitstrings b in B, MD5(b) = H. Lets call such a set H.
We're basically done at this point. All you have to do is find a bitstring in H that M accepts, and you have your ISO!