c# program encryption packer code confusion