#!/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_16988 = ref_278 # MOV operation
ref_19328 = ref_16988 # MOV operation
ref_19334 = (0x1F02C962 | ref_19328) # OR operation
ref_20799 = ref_19334 # MOV operation
ref_20805 = (0x1F8797B2 & ref_20799) # AND operation
ref_21009 = ref_20805 # MOV operation
ref_32639 = ref_278 # MOV operation
ref_39347 = ref_21009 # MOV operation
ref_39876 = ref_32639 # MOV operation
ref_39880 = ref_39347 # MOV operation
ref_39882 = (ref_39880 & ref_39876) # AND operation
ref_40086 = ref_39882 # MOV operation
ref_51716 = ref_278 # MOV operation
ref_52856 = ref_51716 # MOV operation
ref_52862 = (((sx(0x40, 0x66AF1DF) * sx(0x40, ref_52856)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_60503 = ref_40086 # MOV operation
ref_61674 = ref_60503 # MOV operation
ref_61688 = (ref_61674 >> (0x7 & 0x3F)) # SHR operation
ref_69332 = ref_40086 # MOV operation
ref_70403 = ref_69332 # MOV operation
ref_70417 = ((ref_70403 << (0x39 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_71871 = ref_61688 # MOV operation
ref_71875 = ref_70417 # MOV operation
ref_71877 = (ref_71875 | ref_71871) # OR operation
ref_72281 = ref_52862 # MOV operation
ref_72285 = ref_71877 # MOV operation
ref_72287 = ((ref_72285 + ref_72281) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_72492 = ref_72287 # MOV operation
ref_142430 = ref_72492 # MOV operation
ref_151343 = ref_72492 # MOV operation
ref_151722 = ref_142430 # MOV operation
ref_151726 = ref_151343 # MOV operation
ref_151728 = ((ref_151726 + ref_151722) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_151933 = ref_151728 # MOV operation
ref_169158 = ref_72492 # MOV operation
ref_177660 = ref_40086 # MOV operation
ref_179100 = ref_177660 # MOV operation
ref_179106 = (0x7 & ref_179100) # AND operation
ref_180202 = ref_179106 # MOV operation
ref_180216 = ((ref_180202 << (0x2 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_181670 = ref_169158 # MOV operation
ref_181674 = ref_180216 # MOV operation
ref_181676 = (ref_181674 | ref_181670) # OR operation
ref_181880 = ref_181676 # MOV operation
ref_181882 = ((ref_181880 >> 56) & 0xFF) # Byte reference - MOV operation
ref_181883 = ((ref_181880 >> 48) & 0xFF) # Byte reference - MOV operation
ref_181884 = ((ref_181880 >> 40) & 0xFF) # Byte reference - MOV operation
ref_181885 = ((ref_181880 >> 32) & 0xFF) # Byte reference - MOV operation
ref_181886 = ((ref_181880 >> 24) & 0xFF) # Byte reference - MOV operation
ref_181887 = ((ref_181880 >> 16) & 0xFF) # Byte reference - MOV operation
ref_181888 = ((ref_181880 >> 8) & 0xFF) # Byte reference - MOV operation
ref_181889 = (ref_181880 & 0xFF) # Byte reference - MOV operation
ref_196762 = ref_181882 # MOVZX operation
ref_198083 = (ref_196762 & 0xFF) # MOVZX operation
ref_224702 = ref_181889 # MOVZX operation
ref_226023 = (ref_224702 & 0xFF) # MOVZX operation
ref_226025 = (ref_226023 & 0xFF) # Byte reference - MOV operation
ref_240897 = (ref_198083 & 0xFF) # MOVZX operation
ref_242218 = (ref_240897 & 0xFF) # MOVZX operation
ref_242220 = (ref_242218 & 0xFF) # Byte reference - MOV operation
ref_255025 = ref_21009 # MOV operation
ref_264849 = ((((((((ref_226025) << 8 | ref_181883) << 8 | ref_181884) << 8 | ref_181885) << 8 | ref_181886) << 8 | ref_181887) << 8 | ref_181888) << 8 | ref_242220) # MOV operation
ref_272440 = ref_40086 # MOV operation
ref_272969 = ref_264849 # MOV operation
ref_272973 = ref_272440 # MOV operation
ref_272975 = (ref_272973 & ref_272969) # AND operation
ref_274440 = ref_272975 # MOV operation
ref_274446 = (0x1F & ref_274440) # AND operation
ref_275542 = ref_274446 # MOV operation
ref_275556 = ((ref_275542 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_277010 = ref_255025 # MOV operation
ref_277014 = ref_275556 # MOV operation
ref_277016 = (ref_277014 | ref_277010) # OR operation
ref_277220 = ref_277016 # MOV operation
ref_301385 = ref_151933 # MOV operation
ref_310298 = ref_151933 # MOV operation
ref_310677 = ref_301385 # MOV operation
ref_310681 = ref_310298 # MOV operation
ref_310683 = ((ref_310681 + ref_310677) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_310888 = ref_310683 # MOV operation
ref_328113 = ref_310888 # MOV operation
ref_336615 = ((((((((ref_226025) << 8 | ref_181883) << 8 | ref_181884) << 8 | ref_181885) << 8 | ref_181886) << 8 | ref_181887) << 8 | ref_181888) << 8 | ref_242220) # MOV operation
ref_338055 = ref_336615 # MOV operation
ref_338061 = (0x7 & ref_338055) # AND operation
ref_339157 = ref_338061 # MOV operation
ref_339171 = ((ref_339157 << (0x2 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_340625 = ref_328113 # MOV operation
ref_340629 = ref_339171 # MOV operation
ref_340631 = (ref_340629 | ref_340625) # OR operation
ref_340835 = ref_340631 # MOV operation
ref_340837 = ((ref_340835 >> 56) & 0xFF) # Byte reference - MOV operation
ref_340838 = ((ref_340835 >> 48) & 0xFF) # Byte reference - MOV operation
ref_340839 = ((ref_340835 >> 40) & 0xFF) # Byte reference - MOV operation
ref_340840 = ((ref_340835 >> 32) & 0xFF) # Byte reference - MOV operation
ref_340841 = ((ref_340835 >> 24) & 0xFF) # Byte reference - MOV operation
ref_340842 = ((ref_340835 >> 16) & 0xFF) # Byte reference - MOV operation
ref_340843 = ((ref_340835 >> 8) & 0xFF) # Byte reference - MOV operation
ref_340844 = (ref_340835 & 0xFF) # Byte reference - MOV operation
ref_355717 = ref_340837 # MOVZX operation
ref_357038 = (ref_355717 & 0xFF) # MOVZX operation
ref_383657 = ref_340844 # MOVZX operation
ref_384978 = (ref_383657 & 0xFF) # MOVZX operation
ref_384980 = (ref_384978 & 0xFF) # Byte reference - MOV operation
ref_399852 = (ref_357038 & 0xFF) # MOVZX operation
ref_401173 = (ref_399852 & 0xFF) # MOVZX operation
ref_401175 = (ref_401173 & 0xFF) # Byte reference - MOV operation
ref_413980 = ref_277220 # MOV operation
ref_423804 = ((((((((ref_384980) << 8 | ref_340838) << 8 | ref_340839) << 8 | ref_340840) << 8 | ref_340841) << 8 | ref_340842) << 8 | ref_340843) << 8 | ref_401175) # MOV operation
ref_431395 = ((((((((ref_226025) << 8 | ref_181883) << 8 | ref_181884) << 8 | ref_181885) << 8 | ref_181886) << 8 | ref_181887) << 8 | ref_181888) << 8 | ref_242220) # MOV operation
ref_431924 = ref_423804 # MOV operation
ref_431928 = ref_431395 # MOV operation
ref_431930 = (ref_431928 & ref_431924) # AND operation
ref_433395 = ref_431930 # MOV operation
ref_433401 = (0x1F & ref_433395) # AND operation
ref_434497 = ref_433401 # MOV operation
ref_434511 = ((ref_434497 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_435965 = ref_413980 # MOV operation
ref_435969 = ref_434511 # MOV operation
ref_435971 = (ref_435969 | ref_435965) # OR operation
ref_436175 = ref_435971 # MOV operation
ref_458310 = ((((((((ref_226025) << 8 | ref_181883) << 8 | ref_181884) << 8 | ref_181885) << 8 | ref_181886) << 8 | ref_181887) << 8 | ref_181888) << 8 | ref_242220) # MOV operation
ref_465018 = ((((((((ref_384980) << 8 | ref_340838) << 8 | ref_340839) << 8 | ref_340840) << 8 | ref_340841) << 8 | ref_340842) << 8 | ref_340843) << 8 | ref_401175) # MOV operation
ref_466447 = ref_458310 # MOV operation
ref_466451 = ref_465018 # MOV operation
ref_466453 = (ref_466451 | ref_466447) # OR operation
ref_467918 = ref_466453 # MOV operation
ref_467924 = (0xF & ref_467918) # AND operation
ref_470289 = ref_467924 # MOV operation
ref_470295 = (0x1 | ref_470289) # OR operation
ref_477939 = ref_40086 # MOV operation
ref_479110 = ref_477939 # MOV operation
ref_479124 = (ref_479110 >> (0x1 & 0x3F)) # SHR operation
ref_480589 = ref_479124 # MOV operation
ref_480595 = (0xF & ref_480589) # AND operation
ref_482960 = ref_480595 # MOV operation
ref_482966 = (0x1 | ref_482960) # OR operation
ref_489699 = ref_436175 # MOV operation
ref_490870 = ref_489699 # MOV operation
ref_490882 = ref_482966 # MOV operation
ref_490884 = (ref_490870 >> ((ref_490882 & 0xFF) & 0x3F)) # SHR operation
ref_498528 = ref_40086 # MOV operation
ref_499699 = ref_498528 # MOV operation
ref_499713 = (ref_499699 >> (0x1 & 0x3F)) # SHR operation
ref_501178 = ref_499713 # MOV operation
ref_501184 = (0xF & ref_501178) # AND operation
ref_503549 = ref_501184 # MOV operation
ref_503555 = (0x1 | ref_503549) # OR operation
ref_505074 = ref_503555 # MOV operation
ref_505076 = ((0x40 - ref_505074) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_505084 = ref_505076 # MOV operation
ref_511812 = ref_436175 # MOV operation
ref_512883 = ref_511812 # MOV operation
ref_512895 = ref_505084 # MOV operation
ref_512897 = ((ref_512883 << ((ref_512895 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_514351 = ref_490884 # MOV operation
ref_514355 = ref_512897 # MOV operation
ref_514357 = (ref_514355 | ref_514351) # OR operation
ref_515453 = ref_514357 # MOV operation
ref_515465 = ref_470295 # MOV operation
ref_515467 = ((ref_515453 << ((ref_515465 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_522200 = ((((((((ref_226025) << 8 | ref_181883) << 8 | ref_181884) << 8 | ref_181885) << 8 | ref_181886) << 8 | ref_181887) << 8 | ref_181888) << 8 | ref_242220) # MOV operation
ref_528908 = ((((((((ref_384980) << 8 | ref_340838) << 8 | ref_340839) << 8 | ref_340840) << 8 | ref_340841) << 8 | ref_340842) << 8 | ref_340843) << 8 | ref_401175) # MOV operation
ref_530337 = ref_522200 # MOV operation
ref_530341 = ref_528908 # MOV operation
ref_530343 = (ref_530341 | ref_530337) # OR operation
ref_531808 = ref_530343 # MOV operation
ref_531814 = (0xF & ref_531808) # AND operation
ref_534179 = ref_531814 # MOV operation
ref_534185 = (0x1 | ref_534179) # OR operation
ref_535704 = ref_534185 # MOV operation
ref_535706 = ((0x40 - ref_535704) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_535714 = ref_535706 # MOV operation
ref_543353 = ref_40086 # MOV operation
ref_544524 = ref_543353 # MOV operation
ref_544538 = (ref_544524 >> (0x1 & 0x3F)) # SHR operation
ref_546003 = ref_544538 # MOV operation
ref_546009 = (0xF & ref_546003) # AND operation
ref_548374 = ref_546009 # MOV operation
ref_548380 = (0x1 | ref_548374) # OR operation
ref_555113 = ref_436175 # MOV operation
ref_556284 = ref_555113 # MOV operation
ref_556296 = ref_548380 # MOV operation
ref_556298 = (ref_556284 >> ((ref_556296 & 0xFF) & 0x3F)) # SHR operation
ref_563942 = ref_40086 # MOV operation
ref_565113 = ref_563942 # MOV operation
ref_565127 = (ref_565113 >> (0x1 & 0x3F)) # SHR operation
ref_566592 = ref_565127 # MOV operation
ref_566598 = (0xF & ref_566592) # AND operation
ref_568963 = ref_566598 # MOV operation
ref_568969 = (0x1 | ref_568963) # OR operation
ref_570488 = ref_568969 # MOV operation
ref_570490 = ((0x40 - ref_570488) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_570498 = ref_570490 # MOV operation
ref_577226 = ref_436175 # MOV operation
ref_578297 = ref_577226 # MOV operation
ref_578309 = ref_570498 # MOV operation
ref_578311 = ((ref_578297 << ((ref_578309 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_579765 = ref_556298 # MOV operation
ref_579769 = ref_578311 # MOV operation
ref_579771 = (ref_579769 | ref_579765) # OR operation
ref_580967 = ref_579771 # MOV operation
ref_580979 = ref_535714 # MOV operation
ref_580981 = (ref_580967 >> ((ref_580979 & 0xFF) & 0x3F)) # SHR operation
ref_582435 = ref_515467 # MOV operation
ref_582439 = ref_580981 # MOV operation
ref_582441 = (ref_582439 | ref_582435) # OR operation
ref_582645 = ref_582441 # MOV operation
ref_584646 = ref_582645 # MOV operation
ref_584648 = ref_584646 # MOV operation

print ref_584648 & 0xffffffffffffffff
