8. A system for analyzing executable software code by decompiling the executable code, the system comprising: a first processor; and a first memory in communication with the first processor, the first memory comprising instructions which, when executed by a processing unit comprising at least one of the first processor and a second processor, the processing unit being in communication with a memory module comprising at least one of the first memory and a second memory, program the processing unit to: parse said executable code to identify one or more data flows; recursively, for at least one identified data flow: discover a fitting data flow model; optimize said fitting data flow model to form a refined data flow model; propagate said refined data flow model until substantially all data variables are modeled; and express said refined data flow model in an intermediate representation; parse said executable code to identify one or more control flows; recursively, for at least one identified control flow: discover a fitting control flow model comprising one or more control branches; optimize said fitting control flow model to form a refined control flow model; propagate said refined control flow model until substantially all said control branches are modeled; and express said refined control flow model in an intermediate representation, wherein said refined data flow model and said refined control flow model express a nanocode model of said executable software code in said intermediate representation; and perform vulnerability analysis of the complete nanocode model to identify at least one of a flaw and a vulnerability in said executable code.
8. A system for analyzing executable software code by decompiling the executable code, the system comprising: a first processor; and a first memory in communication with the first processor, the first memory comprising instructions which, when executed by a processing unit comprising at least one of the first processor and a second processor, the processing unit being in communication with a memory module comprising at least one of the first memory and a second memory, program the processing unit to: parse said executable code to identify one or more data flows; recursively, for at least one identified data flow: discover a fitting data flow model; optimize said fitting data flow model to form a refined data flow model; propagate said refined data flow model until substantially all data variables are modeled; and express said refined data flow model in an intermediate representation; parse said executable code to identify one or more control flows; recursively, for at least one identified control flow: discover a fitting control flow model comprising one or more control branches; optimize said fitting control flow model to form a refined control flow model; propagate said refined control flow model until substantially all said control branches are modeled; and express said refined control flow model in an intermediate representation, wherein said refined data flow model and said refined control flow model express a nanocode model of said executable software code in said intermediate representation; and perform vulnerability analysis of the complete nanocode model to identify at least one of a flaw and a vulnerability in said executable code. 9. The system of claim 8 , wherein, to perform the vulnerability analysis of the complete nanocode model, the instructions program the processing unit to: translate said intermediate representation into a high-level language representation; and scan, using a vulnerability scanner, the high level language representation.