#!/usr/bin/env python2
## -*- coding: utf-8 -*-

import sys

def sx(bits, value):
    sign_bit = 1 << (bits - 1)
    return (value & (sign_bit - 1)) - (value & sign_bit)

SymVar_0 = int(sys.argv[1])
ref_263 = SymVar_0
ref_278 = ref_263 # MOV operation
ref_6888 = ref_278 # MOV operation
ref_7388 = ref_6888 # MOV operation
ref_7398 = (ref_7388 >> (0x3 & 0x3F)) # SHR operation
ref_7405 = ref_7398 # MOV operation
ref_9421 = ref_278 # MOV operation
ref_9951 = ref_9421 # MOV operation
ref_9961 = ((ref_9951 << (0x3D & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_9968 = ref_9961 # MOV operation
ref_10185 = ref_7405 # MOV operation
ref_10191 = ref_9968 # MOV operation
ref_10193 = (ref_10191 | ref_10185) # OR operation
ref_10439 = ref_10193 # MOV operation
ref_10455 = ((ref_10439 - 0x3FEFFF7F) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_10463 = ref_10455 # MOV operation
ref_12575 = ref_10463 # MOV operation
ref_12577 = ((ref_12575 >> 56) & 0xFF) # Byte reference - MOV operation
ref_12578 = ((ref_12575 >> 48) & 0xFF) # Byte reference - MOV operation
ref_12579 = ((ref_12575 >> 40) & 0xFF) # Byte reference - MOV operation
ref_12580 = ((ref_12575 >> 32) & 0xFF) # Byte reference - MOV operation
ref_12581 = ((ref_12575 >> 24) & 0xFF) # Byte reference - MOV operation
ref_12582 = ((ref_12575 >> 16) & 0xFF) # Byte reference - MOV operation
ref_12583 = ((ref_12575 >> 8) & 0xFF) # Byte reference - MOV operation
ref_12584 = (ref_12575 & 0xFF) # Byte reference - MOV operation
ref_14841 = ref_278 # MOV operation
ref_16899 = ref_12575 # MOV operation
ref_17130 = ref_14841 # MOV operation
ref_17136 = ref_16899 # MOV operation
ref_17138 = (ref_17136 | ref_17130) # OR operation
ref_17391 = ref_17138 # MOV operation
ref_17407 = ((ref_17391 - 0x11E59B96) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_17415 = ref_17407 # MOV operation
ref_19520 = ref_17415 # MOV operation
ref_19522 = ((ref_19520 >> 56) & 0xFF) # Byte reference - MOV operation
ref_19523 = ((ref_19520 >> 48) & 0xFF) # Byte reference - MOV operation
ref_19524 = ((ref_19520 >> 40) & 0xFF) # Byte reference - MOV operation
ref_19525 = ((ref_19520 >> 32) & 0xFF) # Byte reference - MOV operation
ref_19526 = ((ref_19520 >> 24) & 0xFF) # Byte reference - MOV operation
ref_19527 = ((ref_19520 >> 16) & 0xFF) # Byte reference - MOV operation
ref_19528 = ((ref_19520 >> 8) & 0xFF) # Byte reference - MOV operation
ref_19529 = (ref_19520 & 0xFF) # Byte reference - MOV operation
ref_21577 = ref_278 # MOV operation
ref_23637 = ref_12575 # MOV operation
ref_23878 = ref_21577 # MOV operation
ref_23884 = ref_23637 # MOV operation
ref_23886 = (((sx(0x40, ref_23884) * sx(0x40, ref_23878)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_26011 = ref_19520 # MOV operation
ref_26469 = ref_26011 # MOV operation
ref_26479 = ((ref_26469 << (0x7 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_26486 = ref_26479 # MOV operation
ref_26744 = ref_23886 # MOV operation
ref_26750 = ref_26486 # MOV operation
ref_26752 = (((sx(0x40, ref_26750) * sx(0x40, ref_26744)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_28848 = ref_26752 # MOV operation
ref_31115 = ref_278 # MOV operation
ref_31345 = ref_31115 # MOV operation
ref_31361 = ((ref_31345 - 0x2000000007A4C37E) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_31369 = ref_31361 # MOV operation
ref_33516 = ref_31369 # MOV operation
ref_39679 = ((((ref_12577) << 8 | ref_12578) << 8 | ref_12579) << 8 | ref_12580) # MOV operation
ref_40186 = (ref_39679 & 0xFFFFFFFF) # MOV operation
ref_43991 = ((((ref_12581) << 8 | ref_12582) << 8 | ref_12583) << 8 | ref_12584) # MOV operation
ref_47844 = (ref_43991 & 0xFFFFFFFF) # MOV operation
ref_47846 = (((ref_47844 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_47847 = (((ref_47844 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_47848 = (((ref_47844 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_47849 = ((ref_47844 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_48383 = (ref_40186 & 0xFFFFFFFF) # MOV operation
ref_52171 = (ref_48383 & 0xFFFFFFFF) # MOV operation
ref_52173 = (((ref_52171 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_52174 = (((ref_52171 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_52175 = (((ref_52171 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_52176 = ((ref_52171 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_54485 = ((((((((ref_47846) << 8 | ref_47847) << 8 | ref_47848) << 8 | ref_47849) << 8 | ref_52173) << 8 | ref_52174) << 8 | ref_52175) << 8 | ref_52176) # MOV operation
ref_56585 = ref_28848 # MOV operation
ref_59431 = ref_28848 # MOV operation
ref_59658 = ref_59431 # MOV operation
ref_59672 = ref_56585 # MOV operation
ref_59674 = ((ref_59672 + ref_59658) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_60206 = ref_59674 # MOV operation
ref_60214 = (0x3F & ref_60206) # AND operation
ref_60739 = ref_60214 # MOV operation
ref_60749 = ((ref_60739 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_60756 = ref_60749 # MOV operation
ref_61012 = ref_54485 # MOV operation
ref_61018 = ref_60756 # MOV operation
ref_61020 = (ref_61018 | ref_61012) # OR operation
ref_63385 = ref_61020 # MOV operation
ref_70232 = ((((ref_19522) << 8 | ref_19523) << 8 | ref_19524) << 8 | ref_19525) # MOV operation
ref_70751 = (ref_70232 & 0xFFFFFFFF) # MOV operation
ref_74536 = ((((ref_19526) << 8 | ref_19527) << 8 | ref_19528) << 8 | ref_19529) # MOV operation
ref_78336 = (ref_74536 & 0xFFFFFFFF) # MOV operation
ref_78338 = (((ref_78336 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_78339 = (((ref_78336 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_78340 = (((ref_78336 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_78341 = ((ref_78336 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_78860 = (ref_70751 & 0xFFFFFFFF) # MOV operation
ref_82583 = (ref_78860 & 0xFFFFFFFF) # MOV operation
ref_82585 = (((ref_82583 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
ref_82586 = (((ref_82583 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
ref_82587 = (((ref_82583 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
ref_82588 = ((ref_82583 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
ref_84884 = ((((((((ref_78338) << 8 | ref_78339) << 8 | ref_78340) << 8 | ref_78341) << 8 | ref_82585) << 8 | ref_82586) << 8 | ref_82587) << 8 | ref_82588) # MOV operation
ref_86956 = ref_28848 # MOV operation
ref_89786 = ref_33516 # MOV operation
ref_90009 = ref_89786 # MOV operation
ref_90023 = ref_86956 # MOV operation
ref_90025 = ((ref_90023 + ref_90009) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_90523 = ref_90025 # MOV operation
ref_90531 = (0x3F & ref_90523) # AND operation
ref_91046 = ref_90531 # MOV operation
ref_91056 = ((ref_91046 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_91063 = ref_91056 # MOV operation
ref_91290 = ref_84884 # MOV operation
ref_91296 = ref_91063 # MOV operation
ref_91298 = (ref_91296 | ref_91290) # OR operation
ref_93636 = ref_91298 # MOV operation
ref_93638 = ((ref_93636 >> 56) & 0xFF) # Byte reference - MOV operation
ref_93639 = ((ref_93636 >> 48) & 0xFF) # Byte reference - MOV operation
ref_93640 = ((ref_93636 >> 40) & 0xFF) # Byte reference - MOV operation
ref_93641 = ((ref_93636 >> 32) & 0xFF) # Byte reference - MOV operation
ref_93642 = ((ref_93636 >> 24) & 0xFF) # Byte reference - MOV operation
ref_93643 = ((ref_93636 >> 16) & 0xFF) # Byte reference - MOV operation
ref_93644 = ((ref_93636 >> 8) & 0xFF) # Byte reference - MOV operation
ref_93645 = (ref_93636 & 0xFF) # Byte reference - MOV operation
ref_100946 = ref_93640 # MOVZX operation
ref_101185 = (ref_100946 & 0xFF) # MOVZX operation
ref_108055 = ref_93644 # MOVZX operation
ref_108278 = (ref_108055 & 0xFF) # MOVZX operation
ref_108280 = (ref_108278 & 0xFF) # Byte reference - MOV operation
ref_112038 = (ref_101185 & 0xFF) # MOVZX operation
ref_112229 = (ref_112038 & 0xFF) # MOVZX operation
ref_112231 = (ref_112229 & 0xFF) # Byte reference - MOV operation
ref_114267 = ((((((((ref_93638) << 8 | ref_93639) << 8 | ref_108280) << 8 | ref_93641) << 8 | ref_93642) << 8 | ref_93643) << 8 | ref_112231) << 8 | ref_93645) # MOV operation
ref_116313 = ref_63385 # MOV operation
ref_116540 = ref_116313 # MOV operation
ref_116554 = ref_114267 # MOV operation
ref_116556 = ((ref_116554 + ref_116540) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_118635 = ref_28848 # MOV operation
ref_120744 = ref_33516 # MOV operation
ref_120943 = ref_118635 # MOV operation
ref_120949 = ref_120744 # MOV operation
ref_120951 = (ref_120949 & ref_120943) # AND operation
ref_121464 = ref_120951 # MOV operation
ref_121472 = (0xF & ref_121464) # AND operation
ref_121999 = ref_121472 # MOV operation
ref_122007 = (0x1 | ref_121999) # OR operation
ref_122285 = ref_116556 # MOV operation
ref_122291 = ref_122007 # MOV operation
ref_122293 = (ref_122291 & 0xFFFFFFFF) # MOV operation
ref_122295 = ((ref_122285 << ((ref_122293 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_122302 = ref_122295 # MOV operation
ref_124382 = ((((((((ref_93638) << 8 | ref_93639) << 8 | ref_108280) << 8 | ref_93641) << 8 | ref_93642) << 8 | ref_93643) << 8 | ref_112231) << 8 | ref_93645) # MOV operation
ref_126480 = ref_63385 # MOV operation
ref_126703 = ref_126480 # MOV operation
ref_126717 = ref_124382 # MOV operation
ref_126719 = ((ref_126717 + ref_126703) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_128836 = ref_28848 # MOV operation
ref_130894 = ref_33516 # MOV operation
ref_131134 = ref_128836 # MOV operation
ref_131140 = ref_130894 # MOV operation
ref_131142 = (ref_131140 & ref_131134) # AND operation
ref_131669 = ref_131142 # MOV operation
ref_131677 = (0xF & ref_131669) # AND operation
ref_132214 = ref_131677 # MOV operation
ref_132222 = (0x1 | ref_132214) # OR operation
ref_132721 = ref_132222 # MOV operation
ref_132723 = ((0x40 - ref_132721) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_132731 = ref_132723 # MOV operation
ref_133004 = ref_126719 # MOV operation
ref_133010 = ref_132731 # MOV operation
ref_133012 = (ref_133010 & 0xFFFFFFFF) # MOV operation
ref_133014 = (ref_133004 >> ((ref_133012 & 0xFF) & 0x3F)) # SHR operation
ref_133021 = ref_133014 # MOV operation
ref_133238 = ref_122302 # MOV operation
ref_133244 = ref_133021 # MOV operation
ref_133246 = (ref_133244 | ref_133238) # OR operation
ref_135269 = ref_133246 # MOV operation
ref_135797 = ref_135269 # MOV operation
ref_135799 = ref_135797 # MOV operation

print ref_135799 & 0xffffffffffffffff
