Since you roughly know the generally structure of the password with the characters, would it be a better idea for you to use a tailored program for this? BTCrecover is quite good for this[1].
[1] https://github.com/gurnec/btcrecover/blob/master/TUTORIAL.md#btcrecover-tutorial
While it is very difficult, I use this program https://www.thegrideon.com/bitcoin-password-recovery.html
In any case, I would highly recommend you contact https://walletrecoveryservices.com/ and negotiate a deal with them. They are specialists in this field and have had quite a bit of success. It's fairly safe as they only require the "password hash" extracted using bitcoin2john.py... they do not need your wallet.dat, so will not be able to access your coins.
The downside is that they can be quite expensive. However, it's likely to yield better results than someone who doesn't know what they're doing messing about with hashcat, btcrecover and various rulesets/token files
20% - 30 bitcoins is a lot of money to just give away.