Understanding Assembly Language Reverse Engineering For Beginners