YSK it's either "should have" or "should've". "Should of" is incorrect
Why YSK?
The first person who typed "should of" probably heard of it in real life that was meant to be "should've", they typed "should of" online and readers thought that it's grammatically correct to say "should of" which is in fact wrong and it became widespread throughout the years on Reddit.
language is full of idiosyncrasies like this (my favorite is an ekename -> a nekename -> a nickname. see Wikipedia). it's perfectly conceivable that should have would be fully re-analyzed in speech like that, so the proper form of the verb to have would become of after should