I suggest you to read OpenSSL changelogs to make it more clear. As there's not enough space to describe how it works. But heartbleed resistan version was 1.0.2, as I know.
Answer:
Explanation:
The object-oriented paradigm; The compilation process Comments; Library inclusions; Program-level definitions; Function prototypes;
The main program; Function definitions Naming conventions; Local and global variables; The concept of a data type;
Integer types; Floating-point types; Text types; Boolean type; Simple input and
output Precedence and associativity; Mixing types in an expression; Integer division and
the remainder operator; Type casts; The assignment operator; Increment and
decrement operators; Boolean operators
EXE files are executable files.
PNG files are picture files like JPEG etc.