Almost a complete rewrite; using the b2a_hex function now, and then converting the domain stuff back to ascii for printing out.  Now all the word lengths are exactly accurate, so I could break them up dependably using positional data.  Shortened code by using single split with regex to get all values.