#!/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_326 = SymVar_0
ref_341 = ref_326 # MOV operation
ref_29553 = ref_341 # MOV operation
ref_29785 = ref_29553 # MOV operation
ref_29801 = (0x6EF7C230000 | ref_29785) # OR operation
ref_32122 = ref_29801 # MOV operation
ref_34635 = ref_341 # MOV operation
ref_34867 = ref_34635 # MOV operation
ref_34883 = ref_34867 # MOV operation
ref_34885 = ((ref_34883 - 0x41F9A357) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_34893 = ref_34885 # MOV operation
ref_37209 = ref_34893 # MOV operation
ref_39442 = ref_341 # MOV operation
ref_39962 = ref_39442 # MOV operation
ref_39970 = ref_39962 # MOV operation
ref_39974 = (ref_39970 >> (0x31 & 0x3F)) # SHR operation
ref_39981 = ref_39974 # MOV operation
ref_42476 = ref_341 # MOV operation
ref_42746 = ref_42476 # MOV operation
ref_42762 = ref_42746 # MOV operation
ref_42766 = ((ref_42762 << (0xF & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_42773 = ref_42766 # MOV operation
ref_43045 = ref_42773 # MOV operation
ref_43059 = ref_39981 # MOV operation
ref_43061 = (ref_43059 | ref_43045) # OR operation
ref_45362 = ref_43061 # MOV operation
ref_47567 = ref_341 # MOV operation
ref_50433 = ref_37209 # MOV operation
ref_50969 = ref_50433 # MOV operation
ref_50977 = ref_50969 # MOV operation
ref_50981 = (ref_50977 >> (0x3 & 0x3F)) # SHR operation
ref_50988 = ref_50981 # MOV operation
ref_51274 = ref_50988 # MOV operation
ref_51290 = (0x7 & ref_51274) # AND operation
ref_51571 = ref_51290 # MOV operation
ref_51587 = (0x1 | ref_51571) # OR operation
ref_51880 = ref_47567 # MOV operation
ref_51886 = ref_51587 # MOV operation
ref_51888 = ref_51880 # MOV operation
ref_51890 = (ref_51886 & 0xFFFFFFFF) # MOV operation
ref_51892 = (ref_51888 >> ((ref_51890 & 0xFF) & 0x3F)) # SHR operation
ref_51899 = ref_51892 # MOV operation
ref_54177 = ref_45362 # MOV operation
ref_56459 = ref_32122 # MOV operation
ref_56717 = ref_56459 # MOV operation
ref_56731 = ref_54177 # MOV operation
ref_56733 = (ref_56731 & ref_56717) # AND operation
ref_57026 = ref_51899 # MOV operation
ref_57032 = ref_56733 # MOV operation
ref_57034 = (((sx(0x40, ref_57032) * sx(0x40, ref_57026)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_59322 = ref_57034 # MOV operation
ref_62214 = ref_45362 # MOV operation
ref_62464 = ref_62214 # MOV operation
ref_62480 = (0x3F & ref_62464) # AND operation
ref_62735 = ref_62480 # MOV operation
ref_62751 = ref_62735 # MOV operation
ref_62755 = ((ref_62751 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_62762 = ref_62755 # MOV operation
ref_65076 = ref_37209 # MOV operation
ref_65320 = ref_65076 # MOV operation
ref_65334 = ref_62762 # MOV operation
ref_65336 = (ref_65334 | ref_65320) # OR operation
ref_67657 = ref_65336 # MOV operation
ref_70213 = ref_45362 # MOV operation
ref_72497 = ref_59322 # MOV operation
ref_72755 = ref_70213 # MOV operation
ref_72761 = ref_72497 # MOV operation
ref_72763 = (((sx(0x40, ref_72761) * sx(0x40, ref_72755)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_75047 = ref_32122 # MOV operation
ref_77333 = ref_67657 # MOV operation
ref_77603 = ref_75047 # MOV operation
ref_77609 = ref_77333 # MOV operation
ref_77611 = (((sx(0x40, ref_77609) * sx(0x40, ref_77603)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_77881 = ref_77611 # MOV operation
ref_77895 = ref_72763 # MOV operation
ref_77897 = ((ref_77881 - ref_77895) & 0xFFFFFFFFFFFFFFFF) # CMP operation
ref_77899 = ((((ref_77881 ^ (ref_77895 ^ ref_77897)) ^ ((ref_77881 ^ ref_77897) & (ref_77881 ^ ref_77895))) >> 63) & 0x1) # Carry flag
ref_77903 = (0x1 if (ref_77897 == 0x0) else 0x0) # Zero flag
ref_77905 = ((((ref_77895 >> 8) & 0xFFFFFFFFFFFFFF)) << 8 | (0x1 if (((~(ref_77899) & 0x1) & (~(ref_77903) & 0x1)) == 0x1) else 0x0)) # SETA operation
ref_77907 = (ref_77905 & 0xFF) # MOVZX operation
ref_78425 = (ref_77907 & 0xFFFFFFFF) # MOV operation
ref_78433 = (((ref_78425 & 0xFFFFFFFF) - 0x0) & 0xFFFFFFFF) # CMP operation
ref_78439 = (0x1 if (ref_78433 == 0x0) else 0x0) # Zero flag
ref_78441 = ((((0x0 >> 8) & 0xFFFFFFFFFFFFFF)) << 8 | (0x1 if (ref_78439 == 0x0) else 0x0)) # SETNE operation
ref_78443 = (ref_78441 & 0xFF) # MOVZX operation
ref_79320 = (ref_78443 & 0xFFFFFFFF) # MOV operation
ref_79322 = ((ref_79320 & 0xFFFFFFFF) & (ref_79320 & 0xFFFFFFFF)) # TEST operation
ref_79327 = (0x1 if (ref_79322 == 0x0) else 0x0) # Zero flag
ref_79329 = (0x400C4C if (ref_79327 == 0x1) else 0x400C2C) # Program Counter


if (ref_79327 == 0x1):
    ref_93062 = SymVar_0
    ref_93077 = ref_93062 # MOV operation
    ref_122289 = ref_93077 # MOV operation
    ref_122521 = ref_122289 # MOV operation
    ref_122537 = (0x6EF7C230000 | ref_122521) # OR operation
    ref_124858 = ref_122537 # MOV operation
    ref_127371 = ref_93077 # MOV operation
    ref_127603 = ref_127371 # MOV operation
    ref_127619 = ref_127603 # MOV operation
    ref_127621 = ((ref_127619 - 0x41F9A357) & 0xFFFFFFFFFFFFFFFF) # SUB operation
    ref_127629 = ref_127621 # MOV operation
    ref_129945 = ref_127629 # MOV operation
    ref_132178 = ref_93077 # MOV operation
    ref_132698 = ref_132178 # MOV operation
    ref_132706 = ref_132698 # MOV operation
    ref_132710 = (ref_132706 >> (0x31 & 0x3F)) # SHR operation
    ref_132717 = ref_132710 # MOV operation
    ref_135212 = ref_93077 # MOV operation
    ref_135482 = ref_135212 # MOV operation
    ref_135498 = ref_135482 # MOV operation
    ref_135502 = ((ref_135498 << (0xF & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_135509 = ref_135502 # MOV operation
    ref_135781 = ref_135509 # MOV operation
    ref_135795 = ref_132717 # MOV operation
    ref_135797 = (ref_135795 | ref_135781) # OR operation
    ref_138098 = ref_135797 # MOV operation
    ref_140303 = ref_93077 # MOV operation
    ref_143169 = ref_129945 # MOV operation
    ref_143705 = ref_143169 # MOV operation
    ref_143713 = ref_143705 # MOV operation
    ref_143717 = (ref_143713 >> (0x3 & 0x3F)) # SHR operation
    ref_143724 = ref_143717 # MOV operation
    ref_144010 = ref_143724 # MOV operation
    ref_144026 = (0x7 & ref_144010) # AND operation
    ref_144307 = ref_144026 # MOV operation
    ref_144323 = (0x1 | ref_144307) # OR operation
    ref_144616 = ref_140303 # MOV operation
    ref_144622 = ref_144323 # MOV operation
    ref_144624 = ref_144616 # MOV operation
    ref_144626 = (ref_144622 & 0xFFFFFFFF) # MOV operation
    ref_144628 = (ref_144624 >> ((ref_144626 & 0xFF) & 0x3F)) # SHR operation
    ref_144635 = ref_144628 # MOV operation
    ref_146913 = ref_138098 # MOV operation
    ref_149195 = ref_124858 # MOV operation
    ref_149453 = ref_149195 # MOV operation
    ref_149467 = ref_146913 # MOV operation
    ref_149469 = (ref_149467 & ref_149453) # AND operation
    ref_149762 = ref_144635 # MOV operation
    ref_149768 = ref_149469 # MOV operation
    ref_149770 = (((sx(0x40, ref_149768) * sx(0x40, ref_149762)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
    ref_152058 = ref_149770 # MOV operation
    ref_154950 = ref_138098 # MOV operation
    ref_155200 = ref_154950 # MOV operation
    ref_155216 = (0x3F & ref_155200) # AND operation
    ref_155471 = ref_155216 # MOV operation
    ref_155487 = ref_155471 # MOV operation
    ref_155491 = ((ref_155487 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_155498 = ref_155491 # MOV operation
    ref_157812 = ref_129945 # MOV operation
    ref_158056 = ref_157812 # MOV operation
    ref_158070 = ref_155498 # MOV operation
    ref_158072 = (ref_158070 | ref_158056) # OR operation
    ref_160393 = ref_158072 # MOV operation
    ref_175228 = ref_124858 # MOV operation
    ref_175490 = ref_175228 # MOV operation
    ref_175506 = (0xF & ref_175490) # AND operation
    ref_175779 = ref_175506 # MOV operation
    ref_175795 = ref_175779 # MOV operation
    ref_175799 = ((ref_175795 << (0x2 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_175806 = ref_175799 # MOV operation
    ref_178088 = ref_152058 # MOV operation
    ref_178352 = ref_178088 # MOV operation
    ref_178366 = ref_175806 # MOV operation
    ref_178368 = (ref_178366 | ref_178352) # OR operation
    ref_180683 = ref_178368 # MOV operation
    ref_180685 = ((ref_180683 >> 56) & 0xFF) # Byte reference - MOV operation
    ref_180686 = ((ref_180683 >> 48) & 0xFF) # Byte reference - MOV operation
    ref_180687 = ((ref_180683 >> 40) & 0xFF) # Byte reference - MOV operation
    ref_180688 = ((ref_180683 >> 32) & 0xFF) # Byte reference - MOV operation
    ref_180689 = ((ref_180683 >> 24) & 0xFF) # Byte reference - MOV operation
    ref_180690 = ((ref_180683 >> 16) & 0xFF) # Byte reference - MOV operation
    ref_180691 = ((ref_180683 >> 8) & 0xFF) # Byte reference - MOV operation
    ref_180692 = (ref_180683 & 0xFF) # Byte reference - MOV operation
    ref_184621 = ((((ref_180689) << 8 | ref_180690) << 8 | ref_180691) << 8 | ref_180692) # MOV operation
    ref_185163 = (ref_184621 & 0xFFFFFFFF) # MOV operation
    ref_189093 = ((((ref_180685) << 8 | ref_180686) << 8 | ref_180687) << 8 | ref_180688) # MOV operation
    ref_193033 = (ref_189093 & 0xFFFFFFFF) # MOV operation
    ref_193613 = (ref_185163 & 0xFFFFFFFF) # MOV operation
    ref_197554 = (ref_193613 & 0xFFFFFFFF) # MOV operation
    ref_201469 = (ref_197554 & 0xFFFFFFFF) # MOV operation
    ref_202023 = (ref_201469 & 0xFFFFFFFF) # MOV operation
    ref_205983 = (ref_193033 & 0xFFFFFFFF) # MOV operation
    ref_209907 = (ref_205983 & 0xFFFFFFFF) # MOV operation
    ref_210459 = (ref_202023 & 0xFFFFFFFF) # MOV operation
    ref_214379 = (ref_210459 & 0xFFFFFFFF) # MOV operation
    ref_218329 = (ref_209907 & 0xFFFFFFFF) # MOV operation
    ref_218899 = (ref_218329 & 0xFFFFFFFF) # MOV operation
    ref_222850 = (ref_214379 & 0xFFFFFFFF) # MOV operation
    ref_226755 = (ref_222850 & 0xFFFFFFFF) # MOV operation
    ref_227319 = (ref_218899 & 0xFFFFFFFF) # MOV operation
    ref_231269 = (ref_227319 & 0xFFFFFFFF) # MOV operation
    ref_235203 = (ref_231269 & 0xFFFFFFFF) # MOV operation
    ref_235745 = (ref_235203 & 0xFFFFFFFF) # MOV operation
    ref_239675 = (ref_226755 & 0xFFFFFFFF) # MOV operation
    ref_243615 = (ref_239675 & 0xFFFFFFFF) # MOV operation
    ref_243617 = (((ref_243615 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
    ref_243618 = (((ref_243615 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
    ref_243619 = (((ref_243615 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
    ref_243620 = ((ref_243615 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
    ref_244195 = (ref_235745 & 0xFFFFFFFF) # MOV operation
    ref_248136 = (ref_244195 & 0xFFFFFFFF) # MOV operation
    ref_248138 = (((ref_248136 & 0xFFFFFFFF) >> 24) & 0xFF) # Byte reference - MOV operation
    ref_248139 = (((ref_248136 & 0xFFFFFFFF) >> 16) & 0xFF) # Byte reference - MOV operation
    ref_248140 = (((ref_248136 & 0xFFFFFFFF) >> 8) & 0xFF) # Byte reference - MOV operation
    ref_248141 = ((ref_248136 & 0xFFFFFFFF) & 0xFF) # Byte reference - MOV operation
    ref_250649 = ((((((((ref_248138) << 8 | ref_248139) << 8 | ref_248140) << 8 | ref_248141) << 8 | ref_243617) << 8 | ref_243618) << 8 | ref_243619) << 8 | ref_243620) # MOV operation
    ref_252949 = ref_138098 # MOV operation
    ref_253222 = ref_252949 # MOV operation
    ref_253236 = ref_250649 # MOV operation
    ref_253238 = ref_253222 # MOV operation
    ref_253240 = ((ref_253238 - ref_253236) & 0xFFFFFFFFFFFFFFFF) # SUB operation
    ref_253248 = ref_253240 # MOV operation
    ref_255533 = ref_160393 # MOV operation
    ref_257801 = ref_124858 # MOV operation
    ref_258055 = ref_257801 # MOV operation
    ref_258069 = ref_255533 # MOV operation
    ref_258071 = (ref_258069 ^ ref_258055) # XOR operation
    ref_258367 = ref_258071 # MOV operation
    ref_258381 = ref_253248 # MOV operation
    ref_258383 = (ref_258381 | ref_258367) # OR operation
    ref_260609 = ref_258383 # MOV operation
    ref_261163 = ref_260609 # MOV operation
    ref_261165 = ref_261163 # MOV operation
    endb = ref_261165


else:
    ref_326 = SymVar_0
    ref_341 = ref_326 # MOV operation
    ref_29553 = ref_341 # MOV operation
    ref_29785 = ref_29553 # MOV operation
    ref_29801 = (0x6EF7C230000 | ref_29785) # OR operation
    ref_32122 = ref_29801 # MOV operation
    ref_34635 = ref_341 # MOV operation
    ref_34867 = ref_34635 # MOV operation
    ref_34883 = ref_34867 # MOV operation
    ref_34885 = ((ref_34883 - 0x41F9A357) & 0xFFFFFFFFFFFFFFFF) # SUB operation
    ref_34893 = ref_34885 # MOV operation
    ref_37209 = ref_34893 # MOV operation
    ref_39442 = ref_341 # MOV operation
    ref_39962 = ref_39442 # MOV operation
    ref_39970 = ref_39962 # MOV operation
    ref_39974 = (ref_39970 >> (0x31 & 0x3F)) # SHR operation
    ref_39981 = ref_39974 # MOV operation
    ref_42476 = ref_341 # MOV operation
    ref_42746 = ref_42476 # MOV operation
    ref_42762 = ref_42746 # MOV operation
    ref_42766 = ((ref_42762 << (0xF & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_42773 = ref_42766 # MOV operation
    ref_43045 = ref_42773 # MOV operation
    ref_43059 = ref_39981 # MOV operation
    ref_43061 = (ref_43059 | ref_43045) # OR operation
    ref_45362 = ref_43061 # MOV operation
    ref_47567 = ref_341 # MOV operation
    ref_50433 = ref_37209 # MOV operation
    ref_50969 = ref_50433 # MOV operation
    ref_50977 = ref_50969 # MOV operation
    ref_50981 = (ref_50977 >> (0x3 & 0x3F)) # SHR operation
    ref_50988 = ref_50981 # MOV operation
    ref_51274 = ref_50988 # MOV operation
    ref_51290 = (0x7 & ref_51274) # AND operation
    ref_51571 = ref_51290 # MOV operation
    ref_51587 = (0x1 | ref_51571) # OR operation
    ref_51880 = ref_47567 # MOV operation
    ref_51886 = ref_51587 # MOV operation
    ref_51888 = ref_51880 # MOV operation
    ref_51890 = (ref_51886 & 0xFFFFFFFF) # MOV operation
    ref_51892 = (ref_51888 >> ((ref_51890 & 0xFF) & 0x3F)) # SHR operation
    ref_51899 = ref_51892 # MOV operation
    ref_54177 = ref_45362 # MOV operation
    ref_56459 = ref_32122 # MOV operation
    ref_56717 = ref_56459 # MOV operation
    ref_56731 = ref_54177 # MOV operation
    ref_56733 = (ref_56731 & ref_56717) # AND operation
    ref_57026 = ref_51899 # MOV operation
    ref_57032 = ref_56733 # MOV operation
    ref_57034 = (((sx(0x40, ref_57032) * sx(0x40, ref_57026)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
    ref_59322 = ref_57034 # MOV operation
    ref_62214 = ref_45362 # MOV operation
    ref_62464 = ref_62214 # MOV operation
    ref_62480 = (0x3F & ref_62464) # AND operation
    ref_62735 = ref_62480 # MOV operation
    ref_62751 = ref_62735 # MOV operation
    ref_62755 = ((ref_62751 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_62762 = ref_62755 # MOV operation
    ref_65076 = ref_37209 # MOV operation
    ref_65320 = ref_65076 # MOV operation
    ref_65334 = ref_62762 # MOV operation
    ref_65336 = (ref_65334 | ref_65320) # OR operation
    ref_67657 = ref_65336 # MOV operation
    ref_82150 = ref_59322 # MOV operation
    ref_84455 = ref_45362 # MOV operation
    ref_84673 = ref_84455 # MOV operation
    ref_84687 = ref_82150 # MOV operation
    ref_84689 = ref_84673 # MOV operation
    ref_84691 = ((ref_84689 - ref_84687) & 0xFFFFFFFFFFFFFFFF) # SUB operation
    ref_84699 = ref_84691 # MOV operation
    ref_86988 = ref_67657 # MOV operation
    ref_89288 = ref_32122 # MOV operation
    ref_89561 = ref_89288 # MOV operation
    ref_89575 = ref_86988 # MOV operation
    ref_89577 = (ref_89575 ^ ref_89561) # XOR operation
    ref_89818 = ref_89577 # MOV operation
    ref_89832 = ref_84699 # MOV operation
    ref_89834 = (ref_89832 | ref_89818) # OR operation
    ref_92064 = ref_89834 # MOV operation
    ref_92654 = ref_92064 # MOV operation
    ref_92656 = ref_92654 # MOV operation
    endb = ref_92656


print endb & 0xffffffffffffffff
