First: Thank you for the really useful utility!
I've looked in the code and found that you first determine all used for encoding tripplets and then one by one substitute them by corresponding characters.
That is a wrong way: when you have string (П=CF) where 'П' has code 0xCF it is encoded as (=CF=3DCF), =3D substituted first =CF next and than one has string (ПП).
Update:
http://ifile.it/swjvouy -- here I put patched *.au files: correct (I hope) QPDecode, fast Base64 decode, some changes to get files like that http://ifile.it/eujcry9 to be fully extracted (boundary changes, header continuation and other bad things)
Re: BUG: Wrong Quoted-printable decoding
Thanks for the report. It's been quite a while since I've done any work on this, but I'll take a look at it when I get a chance and see if I can put out a bugfix update.
--
http://www.legroom.net/