Take the square root of a string
sh + coreutils, 58 bytes



tr '$%&amp;)+0389:&gt;CDGLMQVW]`bjpqu' 1u.#:BFO%+M/L2Aa,795d0@H=C


Try it online!

The modular square root is typically not unique; we have 2 or 4 choices for each character except .  We don’t need to translate , !, 4, l since each is already a square root of itself.  For the remaining characters, we choose images that don’t need to be escaped for the shell or tr.