#!/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_59830 = ref_278 # MOV operation
ref_66706 = ref_59830 # MOV operation
ref_66714 = ((ref_66706 << (0x33 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_66721 = ref_66714 # MOV operation
ref_94258 = ref_278 # MOV operation
ref_101134 = ref_94258 # MOV operation
ref_101142 = (ref_101134 >> (0xD & 0x3F)) # SHR operation
ref_101149 = ref_101142 # MOV operation
ref_104583 = ref_101149 # MOV operation
ref_104595 = ref_66721 # MOV operation
ref_104597 = (ref_104595 | ref_104583) # OR operation
ref_108036 = ref_104597 # MOV operation
ref_108050 = ((0x2EA4A1C39AF5800 + ref_108036) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_111498 = ref_108050 # MOV operation
ref_163308 = ref_111498 # MOV operation
ref_190825 = ref_278 # MOV operation
ref_194239 = ref_190825 # MOV operation
ref_194251 = ref_163308 # MOV operation
ref_194253 = ((ref_194239 - ref_194251) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_194261 = ref_194253 # MOV operation
ref_197703 = ref_194261 # MOV operation
ref_249428 = ref_278 # MOV operation
ref_256304 = ref_249428 # MOV operation
ref_256312 = (ref_256304 >> (0x37 & 0x3F)) # SHR operation
ref_256319 = ref_256312 # MOV operation
ref_283856 = ref_278 # MOV operation
ref_290732 = ref_283856 # MOV operation
ref_290740 = ((ref_290732 << (0x9 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_290747 = ref_290740 # MOV operation
ref_294181 = ref_290747 # MOV operation
ref_294193 = ref_256319 # MOV operation
ref_294195 = (ref_294193 | ref_294181) # OR operation
ref_297642 = ref_294195 # MOV operation
ref_352821 = ref_278 # MOV operation
ref_356235 = ref_352821 # MOV operation
ref_356249 = (0x3E908497 | ref_356235) # OR operation
ref_359696 = ref_356249 # MOV operation
ref_390740 = ref_359696 # MOV operation
ref_418342 = ref_297642 # MOV operation
ref_421756 = ref_418342 # MOV operation
ref_421768 = ref_390740 # MOV operation
ref_421770 = ((ref_421756 - ref_421768) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_421778 = ref_421770 # MOV operation
ref_449400 = ref_111498 # MOV operation
ref_480456 = ref_197703 # MOV operation
ref_487332 = ref_480456 # MOV operation
ref_487340 = (ref_487332 >> (0x2 & 0x3F)) # SHR operation
ref_487347 = ref_487340 # MOV operation
ref_494243 = ref_487347 # MOV operation
ref_494249 = (0xF & ref_494243) # AND operation
ref_497688 = ref_494249 # MOV operation
ref_497702 = (0x1 | ref_497688) # OR operation
ref_504607 = ref_497702 # MOV operation
ref_504609 = ((0x40 - ref_504607) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_504617 = ref_504609 # MOV operation
ref_508059 = ref_449400 # MOV operation
ref_508063 = ref_504617 # MOV operation
ref_508065 = (ref_508063 & 0xFFFFFFFF) # MOV operation
ref_508067 = ((ref_508059 << ((ref_508065 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_508074 = ref_508067 # MOV operation
ref_535696 = ref_111498 # MOV operation
ref_566752 = ref_197703 # MOV operation
ref_573628 = ref_566752 # MOV operation
ref_573636 = (ref_573628 >> (0x2 & 0x3F)) # SHR operation
ref_573643 = ref_573636 # MOV operation
ref_580539 = ref_573643 # MOV operation
ref_580545 = (0xF & ref_580539) # AND operation
ref_583984 = ref_580545 # MOV operation
ref_583998 = (0x1 | ref_583984) # OR operation
ref_587445 = ref_535696 # MOV operation
ref_587449 = ref_583998 # MOV operation
ref_587451 = (ref_587449 & 0xFFFFFFFF) # MOV operation
ref_587453 = (ref_587445 >> ((ref_587451 & 0xFF) & 0x3F)) # SHR operation
ref_587460 = ref_587453 # MOV operation
ref_590894 = ref_587460 # MOV operation
ref_590906 = ref_508074 # MOV operation
ref_590908 = (ref_590906 | ref_590894) # OR operation
ref_594347 = ref_590908 # MOV operation
ref_594359 = ref_421778 # MOV operation
ref_594361 = ((ref_594347 - ref_594359) & 0xFFFFFFFFFFFFFFFF) # CMP operation
ref_594363 = ((((ref_594347 ^ (ref_594359 ^ ref_594361)) ^ ((ref_594347 ^ ref_594361) & (ref_594347 ^ ref_594359))) >> 63) & 0x1) # Carry flag
ref_594369 = ((((ref_594359 >> 8) & 0xFFFFFFFFFFFFFF)) << 8 | (0x1 if (ref_594363 == 0x1) else 0x0)) # SETB operation
ref_594371 = (ref_594369 & 0xFF) # MOVZX operation
ref_597797 = (ref_594371 & 0xFFFFFFFF) # MOV operation
ref_597799 = ((ref_597797 & 0xFFFFFFFF) & (ref_597797 & 0xFFFFFFFF)) # TEST operation
ref_597804 = (0x1 if (ref_597799 == 0x0) else 0x0) # Zero flag
ref_597806 = (0x205F if (ref_597804 == 0x1) else 0x2041) # Program Counter


if (ref_597804 == 0x1):
    ref_1426116 = SymVar_0
    ref_1426131 = ref_1426116 # MOV operation
    ref_1485688 = ref_1426131 # MOV operation
    ref_1492564 = ref_1485688 # MOV operation
    ref_1492572 = ((ref_1492564 << (0x33 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_1492579 = ref_1492572 # MOV operation
    ref_1520116 = ref_1426131 # MOV operation
    ref_1526992 = ref_1520116 # MOV operation
    ref_1527000 = (ref_1526992 >> (0xD & 0x3F)) # SHR operation
    ref_1527007 = ref_1527000 # MOV operation
    ref_1530441 = ref_1527007 # MOV operation
    ref_1530453 = ref_1492579 # MOV operation
    ref_1530455 = (ref_1530453 | ref_1530441) # OR operation
    ref_1533894 = ref_1530455 # MOV operation
    ref_1533908 = ((0x2EA4A1C39AF5800 + ref_1533894) & 0xFFFFFFFFFFFFFFFF) # ADD operation
    ref_1537356 = ref_1533908 # MOV operation
    ref_1589166 = ref_1537356 # MOV operation
    ref_1616683 = ref_1426131 # MOV operation
    ref_1620097 = ref_1616683 # MOV operation
    ref_1620109 = ref_1589166 # MOV operation
    ref_1620111 = ((ref_1620097 - ref_1620109) & 0xFFFFFFFFFFFFFFFF) # SUB operation
    ref_1620119 = ref_1620111 # MOV operation
    ref_1623561 = ref_1620119 # MOV operation
    ref_1675286 = ref_1426131 # MOV operation
    ref_1682162 = ref_1675286 # MOV operation
    ref_1682170 = (ref_1682162 >> (0x37 & 0x3F)) # SHR operation
    ref_1682177 = ref_1682170 # MOV operation
    ref_1709714 = ref_1426131 # MOV operation
    ref_1716590 = ref_1709714 # MOV operation
    ref_1716598 = ((ref_1716590 << (0x9 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_1716605 = ref_1716598 # MOV operation
    ref_1720039 = ref_1716605 # MOV operation
    ref_1720051 = ref_1682177 # MOV operation
    ref_1720053 = (ref_1720051 | ref_1720039) # OR operation
    ref_1723500 = ref_1720053 # MOV operation
    ref_1778679 = ref_1426131 # MOV operation
    ref_1782093 = ref_1778679 # MOV operation
    ref_1782107 = (0x3E908497 | ref_1782093) # OR operation
    ref_1785554 = ref_1782107 # MOV operation
    ref_2078829 = ref_1537356 # MOV operation
    ref_2109885 = ref_1623561 # MOV operation
    ref_2116761 = ref_2109885 # MOV operation
    ref_2116769 = (ref_2116761 >> (0x4 & 0x3F)) # SHR operation
    ref_2116776 = ref_2116769 # MOV operation
    ref_2123672 = ref_2116776 # MOV operation
    ref_2123678 = (0xF & ref_2123672) # AND operation
    ref_2127117 = ref_2123678 # MOV operation
    ref_2127131 = (0x1 | ref_2127117) # OR operation
    ref_2134036 = ref_2127131 # MOV operation
    ref_2134038 = ((0x40 - ref_2134036) & 0xFFFFFFFFFFFFFFFF) # SUB operation
    ref_2134046 = ref_2134038 # MOV operation
    ref_2137488 = ref_2078829 # MOV operation
    ref_2137492 = ref_2134046 # MOV operation
    ref_2137494 = (ref_2137492 & 0xFFFFFFFF) # MOV operation
    ref_2137496 = (ref_2137488 >> ((ref_2137494 & 0xFF) & 0x3F)) # SHR operation
    ref_2137503 = ref_2137496 # MOV operation
    ref_2165125 = ref_1537356 # MOV operation
    ref_2196181 = ref_1623561 # MOV operation
    ref_2203057 = ref_2196181 # MOV operation
    ref_2203065 = (ref_2203057 >> (0x4 & 0x3F)) # SHR operation
    ref_2203072 = ref_2203065 # MOV operation
    ref_2209968 = ref_2203072 # MOV operation
    ref_2209974 = (0xF & ref_2209968) # AND operation
    ref_2213413 = ref_2209974 # MOV operation
    ref_2213427 = (0x1 | ref_2213413) # OR operation
    ref_2216874 = ref_2165125 # MOV operation
    ref_2216878 = ref_2213427 # MOV operation
    ref_2216880 = (ref_2216878 & 0xFFFFFFFF) # MOV operation
    ref_2216882 = ((ref_2216874 << ((ref_2216880 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_2216889 = ref_2216882 # MOV operation
    ref_2220323 = ref_2216889 # MOV operation
    ref_2220335 = ref_2137503 # MOV operation
    ref_2220337 = (ref_2220335 | ref_2220323) # OR operation
    ref_2251418 = ref_1785554 # MOV operation
    ref_2279020 = ref_1723500 # MOV operation
    ref_2282434 = ref_2279020 # MOV operation
    ref_2282446 = ref_2251418 # MOV operation
    ref_2282448 = (ref_2282446 | ref_2282434) # OR operation
    ref_2289349 = ref_2282448 # MOV operation
    ref_2289357 = (ref_2289349 >> (0x4 & 0x3F)) # SHR operation
    ref_2289364 = ref_2289357 # MOV operation
    ref_2296260 = ref_2289364 # MOV operation
    ref_2296266 = (0x7 & ref_2296260) # AND operation
    ref_2299705 = ref_2296266 # MOV operation
    ref_2299719 = (0x1 | ref_2299705) # OR operation
    ref_2303166 = ref_2220337 # MOV operation
    ref_2303170 = ref_2299719 # MOV operation
    ref_2303172 = (ref_2303170 & 0xFFFFFFFF) # MOV operation
    ref_2303174 = (ref_2303166 >> ((ref_2303172 & 0xFF) & 0x3F)) # SHR operation
    ref_2303181 = ref_2303174 # MOV operation
    ref_2306623 = ref_2303181 # MOV operation
    ref_2313510 = ref_2306623 # MOV operation
    ref_2313512 = ref_2313510 # MOV operation
    endb = ref_2313512


else:
    ref_263 = SymVar_0
    ref_278 = ref_263 # MOV operation
    ref_59830 = ref_278 # MOV operation
    ref_66706 = ref_59830 # MOV operation
    ref_66714 = ((ref_66706 << (0x33 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_66721 = ref_66714 # MOV operation
    ref_94258 = ref_278 # MOV operation
    ref_101134 = ref_94258 # MOV operation
    ref_101142 = (ref_101134 >> (0xD & 0x3F)) # SHR operation
    ref_101149 = ref_101142 # MOV operation
    ref_104583 = ref_101149 # MOV operation
    ref_104595 = ref_66721 # MOV operation
    ref_104597 = (ref_104595 | ref_104583) # OR operation
    ref_108036 = ref_104597 # MOV operation
    ref_108050 = ((0x2EA4A1C39AF5800 + ref_108036) & 0xFFFFFFFFFFFFFFFF) # ADD operation
    ref_111498 = ref_108050 # MOV operation
    ref_163308 = ref_111498 # MOV operation
    ref_190825 = ref_278 # MOV operation
    ref_194239 = ref_190825 # MOV operation
    ref_194251 = ref_163308 # MOV operation
    ref_194253 = ((ref_194239 - ref_194251) & 0xFFFFFFFFFFFFFFFF) # SUB operation
    ref_194261 = ref_194253 # MOV operation
    ref_197703 = ref_194261 # MOV operation
    ref_197705 = ((ref_197703 >> 56) & 0xFF) # Byte reference - MOV operation
    ref_197706 = ((ref_197703 >> 48) & 0xFF) # Byte reference - MOV operation
    ref_197707 = ((ref_197703 >> 40) & 0xFF) # Byte reference - MOV operation
    ref_197708 = ((ref_197703 >> 32) & 0xFF) # Byte reference - MOV operation
    ref_197709 = ((ref_197703 >> 24) & 0xFF) # Byte reference - MOV operation
    ref_197710 = ((ref_197703 >> 16) & 0xFF) # Byte reference - MOV operation
    ref_197711 = ((ref_197703 >> 8) & 0xFF) # Byte reference - MOV operation
    ref_197712 = (ref_197703 & 0xFF) # Byte reference - MOV operation
    ref_249428 = ref_278 # MOV operation
    ref_256304 = ref_249428 # MOV operation
    ref_256312 = (ref_256304 >> (0x37 & 0x3F)) # SHR operation
    ref_256319 = ref_256312 # MOV operation
    ref_283856 = ref_278 # MOV operation
    ref_290732 = ref_283856 # MOV operation
    ref_290740 = ((ref_290732 << (0x9 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_290747 = ref_290740 # MOV operation
    ref_294181 = ref_290747 # MOV operation
    ref_294193 = ref_256319 # MOV operation
    ref_294195 = (ref_294193 | ref_294181) # OR operation
    ref_297642 = ref_294195 # MOV operation
    ref_352821 = ref_278 # MOV operation
    ref_356235 = ref_352821 # MOV operation
    ref_356249 = (0x3E908497 | ref_356235) # OR operation
    ref_359696 = ref_356249 # MOV operation
    ref_646078 = ((((ref_197705) << 8 | ref_197706) << 8 | ref_197707) << 8 | ref_197708) # MOV operation
    ref_652962 = (ref_646078 & 0xFFFFFFFF) # MOV operation
    ref_701214 = ((((ref_197709) << 8 | ref_197710) << 8 | ref_197711) << 8 | ref_197712) # MOV operation
    ref_749454 = (ref_701214 & 0xFFFFFFFF) # MOV operation
    ref_749456 = (((ref_749454 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
    ref_749457 = (((ref_749454 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
    ref_749458 = (((ref_749454 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
    ref_749459 = ((ref_749454 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
    ref_756350 = (ref_652962 & 0xFFFFFFFF) # MOV operation
    ref_804590 = (ref_756350 & 0xFFFFFFFF) # MOV operation
    ref_804592 = (((ref_804590 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
    ref_804593 = (((ref_804590 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
    ref_804594 = (((ref_804590 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
    ref_804595 = ((ref_804590 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
    ref_856396 = ref_111498 # MOV operation
    ref_863272 = ref_856396 # MOV operation
    ref_863278 = (0x3F & ref_863272) # AND operation
    ref_870179 = ref_863278 # MOV operation
    ref_870187 = ((ref_870179 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_870194 = ref_870187 # MOV operation
    ref_897816 = ref_111498 # MOV operation
    ref_901230 = ref_897816 # MOV operation
    ref_901242 = ref_870194 # MOV operation
    ref_901244 = (ref_901242 | ref_901230) # OR operation
    ref_904691 = ref_901244 # MOV operation
    ref_956501 = ref_904691 # MOV operation
    ref_963377 = ref_956501 # MOV operation
    ref_963383 = (0x1F & ref_963377) # AND operation
    ref_970284 = ref_963383 # MOV operation
    ref_970292 = ((ref_970284 << (0x3 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_970299 = ref_970292 # MOV operation
    ref_997921 = ref_359696 # MOV operation
    ref_1001335 = ref_997921 # MOV operation
    ref_1001347 = ref_970299 # MOV operation
    ref_1001349 = (ref_1001347 | ref_1001335) # OR operation
    ref_1004796 = ref_1001349 # MOV operation
    ref_1056606 = ref_297642 # MOV operation
    ref_1084208 = ref_904691 # MOV operation
    ref_1087622 = ref_1084208 # MOV operation
    ref_1087634 = ref_1056606 # MOV operation
    ref_1087636 = ((ref_1087634 + ref_1087622) & 0xFFFFFFFFFFFFFFFF) # ADD operation
    ref_1094538 = ref_1087636 # MOV operation
    ref_1094544 = (0x1F & ref_1094538) # AND operation
    ref_1101445 = ref_1094544 # MOV operation
    ref_1101453 = ((ref_1101445 << (0x3 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_1101460 = ref_1101453 # MOV operation
    ref_1129082 = ref_904691 # MOV operation
    ref_1132496 = ref_1129082 # MOV operation
    ref_1132508 = ref_1101460 # MOV operation
    ref_1132510 = (ref_1132508 | ref_1132496) # OR operation
    ref_1135957 = ref_1132510 # MOV operation
    ref_1191113 = ref_1135957 # MOV operation
    ref_1222169 = ((((((((ref_749456) << 8 | ref_749457) << 8 | ref_749458) << 8 | ref_749459) << 8 | ref_804592) << 8 | ref_804593) << 8 | ref_804594) << 8 | ref_804595) # MOV operation
    ref_1229045 = ref_1222169 # MOV operation
    ref_1229053 = (ref_1229045 >> (0x4 & 0x3F)) # SHR operation
    ref_1229060 = ref_1229053 # MOV operation
    ref_1235956 = ref_1229060 # MOV operation
    ref_1235962 = (0xF & ref_1235956) # AND operation
    ref_1239401 = ref_1235962 # MOV operation
    ref_1239415 = (0x1 | ref_1239401) # OR operation
    ref_1246320 = ref_1239415 # MOV operation
    ref_1246322 = ((0x40 - ref_1246320) & 0xFFFFFFFFFFFFFFFF) # SUB operation
    ref_1246330 = ref_1246322 # MOV operation
    ref_1249772 = ref_1191113 # MOV operation
    ref_1249776 = ref_1246330 # MOV operation
    ref_1249778 = (ref_1249776 & 0xFFFFFFFF) # MOV operation
    ref_1249780 = (ref_1249772 >> ((ref_1249778 & 0xFF) & 0x3F)) # SHR operation
    ref_1249787 = ref_1249780 # MOV operation
    ref_1277409 = ref_1135957 # MOV operation
    ref_1308465 = ((((((((ref_749456) << 8 | ref_749457) << 8 | ref_749458) << 8 | ref_749459) << 8 | ref_804592) << 8 | ref_804593) << 8 | ref_804594) << 8 | ref_804595) # MOV operation
    ref_1315341 = ref_1308465 # MOV operation
    ref_1315349 = (ref_1315341 >> (0x4 & 0x3F)) # SHR operation
    ref_1315356 = ref_1315349 # MOV operation
    ref_1322252 = ref_1315356 # MOV operation
    ref_1322258 = (0xF & ref_1322252) # AND operation
    ref_1325697 = ref_1322258 # MOV operation
    ref_1325711 = (0x1 | ref_1325697) # OR operation
    ref_1329158 = ref_1277409 # MOV operation
    ref_1329162 = ref_1325711 # MOV operation
    ref_1329164 = (ref_1329162 & 0xFFFFFFFF) # MOV operation
    ref_1329166 = ((ref_1329158 << ((ref_1329164 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_1329173 = ref_1329166 # MOV operation
    ref_1332607 = ref_1329173 # MOV operation
    ref_1332619 = ref_1249787 # MOV operation
    ref_1332621 = (ref_1332619 | ref_1332607) # OR operation
    ref_1363702 = ref_1004796 # MOV operation
    ref_1391304 = ref_297642 # MOV operation
    ref_1394718 = ref_1391304 # MOV operation
    ref_1394730 = ref_1363702 # MOV operation
    ref_1394732 = (ref_1394730 | ref_1394718) # OR operation
    ref_1401633 = ref_1394732 # MOV operation
    ref_1401641 = (ref_1401633 >> (0x4 & 0x3F)) # SHR operation
    ref_1401648 = ref_1401641 # MOV operation
    ref_1408544 = ref_1401648 # MOV operation
    ref_1408550 = (0x7 & ref_1408544) # AND operation
    ref_1411989 = ref_1408550 # MOV operation
    ref_1412003 = (0x1 | ref_1411989) # OR operation
    ref_1415450 = ref_1332621 # MOV operation
    ref_1415454 = ref_1412003 # MOV operation
    ref_1415456 = (ref_1415454 & 0xFFFFFFFF) # MOV operation
    ref_1415458 = (ref_1415450 >> ((ref_1415456 & 0xFF) & 0x3F)) # SHR operation
    ref_1415465 = ref_1415458 # MOV operation
    ref_1418907 = ref_1415465 # MOV operation
    ref_1425794 = ref_1418907 # MOV operation
    ref_1425796 = ref_1425794 # MOV operation
    endb = ref_1425796


print endb & 0xffffffffffffffff
