#!/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_12631 = ref_278 # MOV operation
ref_13647 = ref_12631 # MOV operation
ref_13655 = ((0x3F22161B + ref_13647) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_14177 = ref_13655 # MOV operation
ref_24415 = ref_14177 # MOV operation
ref_25463 = ref_24415 # MOV operation
ref_25465 = (((sx(0x40, ref_25463) * sx(0x40, 0x378AED0A)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_26622 = ref_25465 # MOV operation
ref_26624 = (((sx(0x40, ref_26622) * sx(0x40, 0xDF2B78B)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_27092 = ref_26624 # MOV operation
ref_27110 = (ref_27092 >> (0x1 & 0x3F)) # SHR operation
ref_27117 = ref_27110 # MOV operation
ref_27653 = ref_27117 # MOV operation
ref_27669 = (0xF & ref_27653) # AND operation
ref_28170 = ref_27669 # MOV operation
ref_28186 = (0x1 | ref_28170) # OR operation
ref_28735 = ref_28186 # MOV operation
ref_28737 = ((0x40 - ref_28735) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_28745 = ref_28737 # MOV operation
ref_33507 = ref_278 # MOV operation
ref_33996 = ref_33507 # MOV operation
ref_34014 = (ref_33996 >> (0x39 & 0x3F)) # SHR operation
ref_34021 = ref_34014 # MOV operation
ref_38353 = ref_278 # MOV operation
ref_39349 = ref_38353 # MOV operation
ref_39359 = ((ref_39349 << (0x7 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_39366 = ref_39359 # MOV operation
ref_39876 = ref_39366 # MOV operation
ref_39890 = ref_34021 # MOV operation
ref_39892 = (ref_39890 | ref_39876) # OR operation
ref_40485 = ref_39892 # MOV operation
ref_40499 = ref_28745 # MOV operation
ref_40501 = (ref_40499 & 0xFFFFFFFF) # MOV operation
ref_40503 = (ref_40485 >> ((ref_40501 & 0xFF) & 0x3F)) # SHR operation
ref_40510 = ref_40503 # MOV operation
ref_45266 = ref_278 # MOV operation
ref_45752 = ref_45266 # MOV operation
ref_45770 = (ref_45752 >> (0x39 & 0x3F)) # SHR operation
ref_45777 = ref_45770 # MOV operation
ref_49989 = ref_278 # MOV operation
ref_51102 = ref_49989 # MOV operation
ref_51112 = ((ref_51102 << (0x7 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_51119 = ref_51112 # MOV operation
ref_51601 = ref_51119 # MOV operation
ref_51615 = ref_45777 # MOV operation
ref_51617 = (ref_51615 | ref_51601) # OR operation
ref_57620 = ref_14177 # MOV operation
ref_58634 = ref_57620 # MOV operation
ref_58636 = (((sx(0x40, ref_58634) * sx(0x40, 0x378AED0A)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_59735 = ref_58636 # MOV operation
ref_59737 = (((sx(0x40, ref_59735) * sx(0x40, 0xDF2B78B)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_60233 = ref_59737 # MOV operation
ref_60251 = (ref_60233 >> (0x1 & 0x3F)) # SHR operation
ref_60258 = ref_60251 # MOV operation
ref_60797 = ref_60258 # MOV operation
ref_60813 = (0xF & ref_60797) # AND operation
ref_61356 = ref_60813 # MOV operation
ref_61372 = (0x1 | ref_61356) # OR operation
ref_61891 = ref_51617 # MOV operation
ref_61897 = ref_61372 # MOV operation
ref_61899 = (ref_61897 & 0xFFFFFFFF) # MOV operation
ref_61901 = ((ref_61891 << ((ref_61899 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_61908 = ref_61901 # MOV operation
ref_62452 = ref_61908 # MOV operation
ref_62466 = ref_40510 # MOV operation
ref_62468 = (ref_62466 | ref_62452) # OR operation
ref_63023 = ref_62468 # MOV operation
ref_71086 = ref_278 # MOV operation
ref_75371 = ref_63023 # MOV operation
ref_76420 = ref_75371 # MOV operation
ref_76428 = ((0xAD6EED + ref_76420) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_76984 = ref_71086 # MOV operation
ref_76990 = ref_76428 # MOV operation
ref_76992 = ((ref_76990 + ref_76984) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_77518 = ref_76992 # MOV operation
ref_85704 = ref_14177 # MOV operation
ref_89856 = ref_278 # MOV operation
ref_90384 = ref_89856 # MOV operation
ref_90398 = ref_85704 # MOV operation
ref_90400 = (ref_90398 | ref_90384) # OR operation
ref_94704 = ref_63023 # MOV operation
ref_95772 = ref_94704 # MOV operation
ref_95780 = ((0x2B6B05ED + ref_95772) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_100161 = ref_77518 # MOV operation
ref_100609 = ref_100161 # MOV operation
ref_100623 = ref_95780 # MOV operation
ref_100625 = (ref_100623 & ref_100609) # AND operation
ref_101158 = ref_90400 # MOV operation
ref_101164 = ref_100625 # MOV operation
ref_101166 = ((ref_101164 + ref_101158) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_101728 = ref_101166 # MOV operation
ref_110459 = ref_77518 # MOV operation
ref_110939 = ref_110459 # MOV operation
ref_110955 = (0x3F & ref_110939) # AND operation
ref_111998 = ref_110955 # MOV operation
ref_112008 = ((ref_111998 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_112015 = ref_112008 # MOV operation
ref_116329 = ref_101728 # MOV operation
ref_116847 = ref_116329 # MOV operation
ref_116861 = ref_112015 # MOV operation
ref_116863 = (ref_116861 | ref_116847) # OR operation
ref_117415 = ref_116863 # MOV operation
ref_125522 = ref_77518 # MOV operation
ref_129767 = ref_117415 # MOV operation
ref_130245 = ref_125522 # MOV operation
ref_130251 = ref_129767 # MOV operation
ref_130253 = ((ref_130251 + ref_130245) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_136763 = ref_63023 # MOV operation
ref_137249 = ref_136763 # MOV operation
ref_137267 = (ref_137249 >> (0x4 & 0x3F)) # SHR operation
ref_137274 = ref_137267 # MOV operation
ref_137778 = ref_137274 # MOV operation
ref_137794 = (0xF & ref_137778) # AND operation
ref_138414 = ref_137794 # MOV operation
ref_138430 = (0x1 | ref_138414) # OR operation
ref_138925 = ref_138430 # MOV operation
ref_138927 = ((0x40 - ref_138925) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_138935 = ref_138927 # MOV operation
ref_143242 = ref_14177 # MOV operation
ref_143776 = ref_143242 # MOV operation
ref_143790 = ref_138935 # MOV operation
ref_143792 = (ref_143790 & 0xFFFFFFFF) # MOV operation
ref_143794 = (ref_143776 >> ((ref_143792 & 0xFF) & 0x3F)) # SHR operation
ref_143801 = ref_143794 # MOV operation
ref_148035 = ref_14177 # MOV operation
ref_153946 = ref_63023 # MOV operation
ref_154464 = ref_153946 # MOV operation
ref_154482 = (ref_154464 >> (0x4 & 0x3F)) # SHR operation
ref_154489 = ref_154482 # MOV operation
ref_155029 = ref_154489 # MOV operation
ref_155045 = (0xF & ref_155029) # AND operation
ref_155580 = ref_155045 # MOV operation
ref_155596 = (0x1 | ref_155580) # OR operation
ref_156135 = ref_148035 # MOV operation
ref_156141 = ref_155596 # MOV operation
ref_156143 = (ref_156141 & 0xFFFFFFFF) # MOV operation
ref_156145 = ((ref_156135 << ((ref_156143 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_156152 = ref_156145 # MOV operation
ref_156666 = ref_156152 # MOV operation
ref_156680 = ref_143801 # MOV operation
ref_156682 = (ref_156680 | ref_156666) # OR operation
ref_157175 = ref_156682 # MOV operation
ref_157189 = ref_130253 # MOV operation
ref_157191 = (((sx(0x40, ref_157189) * sx(0x40, ref_157175)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_157731 = ref_157191 # MOV operation
ref_158787 = ref_157731 # MOV operation
ref_158789 = ref_158787 # MOV operation

print ref_158789 & 0xffffffffffffffff
