ah, you didn't make any progress by now too.
you are still searching for nothing but nonsense in this time too, just like when you were looking for a public key.
sorry but i don't know you well, but i think you are fully amateur in reversing and cryptography field.
i haven't enough time for teaching you more details but i'll let you know only one thing.
your that function is named as CryptoPP::Integer::Compare() and is called in CryptoPP__PK_Verifier::VerifyMessage() function.

CryptoPP::Integer::Compare(), this function itself is never important.
the most important thing is just return value of CryptoPP__PK_Verifier::VerifyMessage() function.
CryptoPP__PK_Verifier::VerifyMessage() function verifies message signed by developer's private key with compiler's hard-coded public key.
in here, message signed by developer's private key means encrypted user details information of license key file.
and verifying of message means to check whether user details information of license key file is signed and encrypted by developer's private key or not.
because you can never see developer's private key and you can use only your own private key, you also can never get return value 1 from this CryptoPP__PK_Verifier::VerifyMessage() function without replacing compiler's hard-coded public key with your own public key.
that's why patching is needed necessarily.
and of course there are MD5 hash checking and Whirlpool hash checking of executable's integrity. so these are also solved by patching.
Whirlpool hash checking problem isn't solved by simple bypassing or patching, because output dlls need some correct function pointer indexes array for their normal execution and this function pointer indexes array is decided by Whirlpool hash value calculated.
i let you know once again, everything isn't so simple and easy like you are thinking currently.