So I can give an executable to anyone in the world and they cannot get to my source code?
You have a function F which maps inputs x to outputs y. You transform this function into new one F', that will map the encrypted inputs encrypt(x) to the encrypted outputs encrypt(y), without knowing how to decrypt.
F(x) = y
F'(encrypt(x)) = encrypt(y)