In the past I had similar issues. I solved the bottleneck by a) reducing the number of mask and b) making the final modifications using rules. In other words you break down complexity. Based on the masks you show, you have base masks and then stuff that you want to prepend. You can use rules for the prepend part. Note that when making the prepend rules, the order is reverse. To prend '@@Aa', the rule would be '^a^A^@^@'.
My solution only works if there is a part of the mask that you want to combine with everything.
In case the mask search space is not too big, you do not even need to pipe the results, just store them via --stdout in at text file. Then use this text file as input for a simple dictionary attack where you apply some rules to make the final modifications.
Example, of breaking up your pattern by first running a mask attack then piping the results into a dictionary attack:
./hashcat.exe -a 3 "!MASK_FILE!" --stdout | .\hashcat.exe -a 0 -m 16300 "%WALLET_HASH%" -r rules/prepend_stuff.rule --session "!SESSION_NAME!" --potfile-path "!POTFILE_PATH!" -w 3 --increment --increment-min 10 --increment-max 11 --optimized-kernel-enable --backend-ignore-opencl
My solution only works if there is a part of the mask that you want to combine with everything.
In case the mask search space is not too big, you do not even need to pipe the results, just store them via --stdout in at text file. Then use this text file as input for a simple dictionary attack where you apply some rules to make the final modifications.
Example, of breaking up your pattern by first running a mask attack then piping the results into a dictionary attack:
./hashcat.exe -a 3 "!MASK_FILE!" --stdout | .\hashcat.exe -a 0 -m 16300 "%WALLET_HASH%" -r rules/prepend_stuff.rule --session "!SESSION_NAME!" --potfile-path "!POTFILE_PATH!" -w 3 --increment --increment-min 10 --increment-max 11 --optimized-kernel-enable --backend-ignore-opencl