Exploring Value Set Analysis For Binary Code Hardening And Vulnerability Detection