I did some work on this over the last two days,
turns out it was thoroughly broken when I left off, I fixed all the programming errors and actually wrote a decryption function I also made a testing project to try it out.
it doesn't work and I can't figure out why.
on decryption there is ONE byte value that isn't remapped correctly in the first block of data and all subsequent blocks are complacently wrong.
I REALLY have NO clue why this is happening as it SHOULD work perfectly unless there is something wrong with my SHA1 or Mersenne Twister implementations ( those I didn't make myself I got them as public code)
if some one who knows a bit more could have a look and see if they can figure it out that would be great.
The download has been updated
I figure out the major problem but I'l still hitting a snag, the char value FF is never decryption back correctly and I can't figure out why... wait... I think I just figure it out