A great free book about reverse engineering

I think this 700 pages free book covering recent popular technologies like x64 code and ARM CPU, might be a great resource not only for beginners and not only for reverse engineers, but also for advanced developers (PC and embedded) looking to optimize their software and willing to know how decent hackers think.

The book contains:

Descriptions of how C/C++ code is converted to assembler by different modern compilers

A lot of useful information about how to find starting points in compiled binaries