#!/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_114810 = ref_278 # MOV operation
ref_115010 = ref_114810 # MOV operation
ref_115018 = ((ref_115010 << (0xB & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_115025 = ref_115018 # MOV operation
ref_115858 = ref_278 # MOV operation
ref_116058 = ref_115858 # MOV operation
ref_116066 = (ref_116058 >> (0x35 & 0x3F)) # SHR operation
ref_116073 = ref_116066 # MOV operation
ref_116177 = ref_115025 # MOV operation
ref_116181 = ref_116073 # MOV operation
ref_116183 = (ref_116181 | ref_116177) # OR operation
ref_116408 = ref_116183 # MOV operation
ref_116416 = (ref_116408 >> (0x1 & 0x3F)) # SHR operation
ref_116423 = ref_116416 # MOV operation
ref_117349 = ref_116423 # MOV operation
ref_118182 = ref_278 # MOV operation
ref_118382 = ref_118182 # MOV operation
ref_118390 = ((((0x0) << 64 | ref_118382) / 0x3) & 0xFFFFFFFFFFFFFFFF) # DIV operation
ref_119309 = ref_117349 # MOV operation
ref_119509 = ref_119309 # MOV operation
ref_119515 = (((sx(0x40, 0x6B33F46) * sx(0x40, ref_119509)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
ref_119621 = ref_118390 # MOV operation
ref_119625 = ref_119515 # MOV operation
ref_119627 = ((ref_119621 - ref_119625) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_119635 = ref_119627 # MOV operation
ref_120561 = ref_119635 # MOV operation
ref_121510 = ref_278 # MOV operation
ref_121586 = ref_121510 # MOV operation
ref_121600 = ((0x9919884 + ref_121586) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_122640 = ref_120561 # MOV operation
ref_122840 = ref_122640 # MOV operation
ref_122848 = (ref_122840 >> (0x7 & 0x3F)) # SHR operation
ref_122855 = ref_122848 # MOV operation
ref_123075 = ref_122855 # MOV operation
ref_123083 = (ref_123075 >> (0x2 & 0x3F)) # SHR operation
ref_123090 = ref_123083 # MOV operation
ref_123186 = ref_123090 # MOV operation
ref_123200 = (0x7 & ref_123186) # AND operation
ref_123425 = ref_123200 # MOV operation
ref_123431 = (0x1 | ref_123425) # OR operation
ref_123540 = ref_121600 # MOV operation
ref_123544 = ref_123431 # MOV operation
ref_123546 = (ref_123544 & 0xFFFFFFFF) # MOV operation
ref_123548 = (ref_123540 >> ((ref_123546 & 0xFF) & 0x3F)) # SHR operation
ref_123555 = ref_123548 # MOV operation
ref_124481 = ref_123555 # MOV operation
ref_125430 = ref_278 # MOV operation
ref_125506 = ref_125430 # MOV operation
ref_125520 = ((0x1E5EA08F8 + ref_125506) & 0xFFFFFFFFFFFFFFFF) # ADD operation
ref_126452 = ref_125520 # MOV operation
ref_128675 = ref_124481 # MOV operation
ref_130009 = ref_124481 # MOV operation
ref_130085 = ref_130009 # MOV operation
ref_130099 = (0x3F & ref_130085) # AND operation
ref_130324 = ref_130099 # MOV operation
ref_130332 = ((ref_130324 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_130339 = ref_130332 # MOV operation
ref_130443 = ref_128675 # MOV operation
ref_130447 = ref_130339 # MOV operation
ref_130449 = (ref_130447 | ref_130443) # OR operation
ref_131700 = ref_130449 # MOV operation
ref_134084 = ref_131700 # MOV operation
ref_135098 = ref_117349 # MOV operation
ref_136112 = ref_120561 # MOV operation
ref_136312 = ref_136112 # MOV operation
ref_136320 = (ref_136312 >> (0x2 & 0x3F)) # SHR operation
ref_136327 = ref_136320 # MOV operation
ref_136423 = ref_136327 # MOV operation
ref_136437 = (0xF & ref_136423) # AND operation
ref_136662 = ref_136437 # MOV operation
ref_136668 = (0x1 | ref_136662) # OR operation
ref_136777 = ref_135098 # MOV operation
ref_136781 = ref_136668 # MOV operation
ref_136783 = (ref_136781 & 0xFFFFFFFF) # MOV operation
ref_136785 = ((ref_136777 << ((ref_136783 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_136792 = ref_136785 # MOV operation
ref_137710 = ref_117349 # MOV operation
ref_138840 = ref_120561 # MOV operation
ref_139040 = ref_138840 # MOV operation
ref_139048 = (ref_139040 >> (0x2 & 0x3F)) # SHR operation
ref_139055 = ref_139048 # MOV operation
ref_139151 = ref_139055 # MOV operation
ref_139165 = (0xF & ref_139151) # AND operation
ref_139390 = ref_139165 # MOV operation
ref_139396 = (0x1 | ref_139390) # OR operation
ref_139509 = ref_139396 # MOV operation
ref_139511 = ((0x40 - ref_139509) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_139519 = ref_139511 # MOV operation
ref_139623 = ref_137710 # MOV operation
ref_139627 = ref_139519 # MOV operation
ref_139629 = (ref_139627 & 0xFFFFFFFF) # MOV operation
ref_139631 = (ref_139623 >> ((ref_139629 & 0xFF) & 0x3F)) # SHR operation
ref_139638 = ref_139631 # MOV operation
ref_139742 = ref_136792 # MOV operation
ref_139746 = ref_139638 # MOV operation
ref_139748 = (ref_139746 | ref_139742) # OR operation
ref_139849 = ref_139748 # MOV operation
ref_139863 = (0x7 & ref_139849) # AND operation
ref_140088 = ref_139863 # MOV operation
ref_140096 = ((ref_140088 << (0x2 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_140103 = ref_140096 # MOV operation
ref_140207 = ref_134084 # MOV operation
ref_140211 = ref_140103 # MOV operation
ref_140213 = (ref_140211 | ref_140207) # OR operation
ref_141144 = ref_140213 # MOV operation
ref_142146 = ref_141144 # MOV operation
ref_143160 = ref_126452 # MOV operation
ref_143360 = ref_143160 # MOV operation
ref_143368 = (ref_143360 >> (0x4 & 0x3F)) # SHR operation
ref_143375 = ref_143368 # MOV operation
ref_143471 = ref_143375 # MOV operation
ref_143485 = (0xF & ref_143471) # AND operation
ref_143710 = ref_143485 # MOV operation
ref_143716 = (0x1 | ref_143710) # OR operation
ref_143825 = ref_142146 # MOV operation
ref_143829 = ref_143716 # MOV operation
ref_143831 = (ref_143829 & 0xFFFFFFFF) # MOV operation
ref_143833 = (ref_143825 >> ((ref_143831 & 0xFF) & 0x3F)) # SHR operation
ref_143840 = ref_143833 # MOV operation
ref_144758 = ref_141144 # MOV operation
ref_145888 = ref_126452 # MOV operation
ref_146088 = ref_145888 # MOV operation
ref_146096 = (ref_146088 >> (0x4 & 0x3F)) # SHR operation
ref_146103 = ref_146096 # MOV operation
ref_146199 = ref_146103 # MOV operation
ref_146213 = (0xF & ref_146199) # AND operation
ref_146438 = ref_146213 # MOV operation
ref_146444 = (0x1 | ref_146438) # OR operation
ref_146557 = ref_146444 # MOV operation
ref_146559 = ((0x40 - ref_146557) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_146567 = ref_146559 # MOV operation
ref_146671 = ref_144758 # MOV operation
ref_146675 = ref_146567 # MOV operation
ref_146677 = (ref_146675 & 0xFFFFFFFF) # MOV operation
ref_146679 = ((ref_146671 << ((ref_146677 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_146686 = ref_146679 # MOV operation
ref_146790 = ref_143840 # MOV operation
ref_146794 = ref_146686 # MOV operation
ref_146796 = (ref_146794 | ref_146790) # OR operation
ref_147719 = ref_117349 # MOV operation
ref_148733 = ref_120561 # MOV operation
ref_148933 = ref_148733 # MOV operation
ref_148941 = (ref_148933 >> (0x3 & 0x3F)) # SHR operation
ref_148948 = ref_148941 # MOV operation
ref_149044 = ref_148948 # MOV operation
ref_149058 = (0xF & ref_149044) # AND operation
ref_149283 = ref_149058 # MOV operation
ref_149289 = (0x1 | ref_149283) # OR operation
ref_149398 = ref_147719 # MOV operation
ref_149402 = ref_149289 # MOV operation
ref_149404 = (ref_149402 & 0xFFFFFFFF) # MOV operation
ref_149406 = (ref_149398 >> ((ref_149404 & 0xFF) & 0x3F)) # SHR operation
ref_149413 = ref_149406 # MOV operation
ref_150331 = ref_117349 # MOV operation
ref_151461 = ref_120561 # MOV operation
ref_151661 = ref_151461 # MOV operation
ref_151669 = (ref_151661 >> (0x3 & 0x3F)) # SHR operation
ref_151676 = ref_151669 # MOV operation
ref_151772 = ref_151676 # MOV operation
ref_151786 = (0xF & ref_151772) # AND operation
ref_152011 = ref_151786 # MOV operation
ref_152017 = (0x1 | ref_152011) # OR operation
ref_152130 = ref_152017 # MOV operation
ref_152132 = ((0x40 - ref_152130) & 0xFFFFFFFFFFFFFFFF) # SUB operation
ref_152140 = ref_152132 # MOV operation
ref_152244 = ref_150331 # MOV operation
ref_152248 = ref_152140 # MOV operation
ref_152250 = (ref_152248 & 0xFFFFFFFF) # MOV operation
ref_152252 = ((ref_152244 << ((ref_152250 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
ref_152259 = ref_152252 # MOV operation
ref_152363 = ref_149413 # MOV operation
ref_152367 = ref_152259 # MOV operation
ref_152369 = (ref_152367 | ref_152363) # OR operation
ref_152470 = ref_152369 # MOV operation
ref_152482 = ref_146796 # MOV operation
ref_152484 = ((ref_152470 - ref_152482) & 0xFFFFFFFFFFFFFFFF) # CMP operation
ref_152486 = ((((ref_152470 ^ (ref_152482 ^ ref_152484)) ^ ((ref_152470 ^ ref_152484) & (ref_152470 ^ ref_152482))) >> 63) & 0x1) # Carry flag
ref_152490 = (0x1 if (ref_152484 == 0x0) else 0x0) # Zero flag
ref_152492 = ((((ref_152482 >> 8) & 0xFFFFFFFFFFFFFF)) << 8 | (0x1 if (((~(ref_152486) & 0x1) & (~(ref_152490) & 0x1)) == 0x1) else 0x0)) # SETA operation
ref_152494 = (ref_152492 & 0xFF) # MOVZX operation
ref_152582 = (ref_152494 & 0xFFFFFFFF) # MOV operation
ref_152584 = ((ref_152582 & 0xFFFFFFFF) & (ref_152582 & 0xFFFFFFFF)) # TEST operation
ref_152589 = (0x1 if (ref_152584 == 0x0) else 0x0) # Zero flag
ref_152591 = (0x179A if (ref_152589 == 0x1) else 0x177C) # Program Counter


if (ref_152589 == 0x1):
    ref_263 = SymVar_0
    ref_278 = ref_263 # MOV operation
    ref_114810 = ref_278 # MOV operation
    ref_115010 = ref_114810 # MOV operation
    ref_115018 = ((ref_115010 << (0xB & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_115025 = ref_115018 # MOV operation
    ref_115858 = ref_278 # MOV operation
    ref_116058 = ref_115858 # MOV operation
    ref_116066 = (ref_116058 >> (0x35 & 0x3F)) # SHR operation
    ref_116073 = ref_116066 # MOV operation
    ref_116177 = ref_115025 # MOV operation
    ref_116181 = ref_116073 # MOV operation
    ref_116183 = (ref_116181 | ref_116177) # OR operation
    ref_116408 = ref_116183 # MOV operation
    ref_116416 = (ref_116408 >> (0x1 & 0x3F)) # SHR operation
    ref_116423 = ref_116416 # MOV operation
    ref_117349 = ref_116423 # MOV operation
    ref_118182 = ref_278 # MOV operation
    ref_118382 = ref_118182 # MOV operation
    ref_118390 = ((((0x0) << 64 | ref_118382) / 0x3) & 0xFFFFFFFFFFFFFFFF) # DIV operation
    ref_119309 = ref_117349 # MOV operation
    ref_119509 = ref_119309 # MOV operation
    ref_119515 = (((sx(0x40, 0x6B33F46) * sx(0x40, ref_119509)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
    ref_119621 = ref_118390 # MOV operation
    ref_119625 = ref_119515 # MOV operation
    ref_119627 = ((ref_119621 - ref_119625) & 0xFFFFFFFFFFFFFFFF) # SUB operation
    ref_119635 = ref_119627 # MOV operation
    ref_120561 = ref_119635 # MOV operation
    ref_121510 = ref_278 # MOV operation
    ref_121586 = ref_121510 # MOV operation
    ref_121600 = ((0x9919884 + ref_121586) & 0xFFFFFFFFFFFFFFFF) # ADD operation
    ref_122640 = ref_120561 # MOV operation
    ref_122840 = ref_122640 # MOV operation
    ref_122848 = (ref_122840 >> (0x7 & 0x3F)) # SHR operation
    ref_122855 = ref_122848 # MOV operation
    ref_123075 = ref_122855 # MOV operation
    ref_123083 = (ref_123075 >> (0x2 & 0x3F)) # SHR operation
    ref_123090 = ref_123083 # MOV operation
    ref_123186 = ref_123090 # MOV operation
    ref_123200 = (0x7 & ref_123186) # AND operation
    ref_123425 = ref_123200 # MOV operation
    ref_123431 = (0x1 | ref_123425) # OR operation
    ref_123540 = ref_121600 # MOV operation
    ref_123544 = ref_123431 # MOV operation
    ref_123546 = (ref_123544 & 0xFFFFFFFF) # MOV operation
    ref_123548 = (ref_123540 >> ((ref_123546 & 0xFF) & 0x3F)) # SHR operation
    ref_123555 = ref_123548 # MOV operation
    ref_124481 = ref_123555 # MOV operation
    ref_125430 = ref_278 # MOV operation
    ref_125506 = ref_125430 # MOV operation
    ref_125520 = ((0x1E5EA08F8 + ref_125506) & 0xFFFFFFFFFFFFFFFF) # ADD operation
    ref_126452 = ref_125520 # MOV operation
    ref_128675 = ref_124481 # MOV operation
    ref_130009 = ref_124481 # MOV operation
    ref_130085 = ref_130009 # MOV operation
    ref_130099 = (0x3F & ref_130085) # AND operation
    ref_130324 = ref_130099 # MOV operation
    ref_130332 = ((ref_130324 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_130339 = ref_130332 # MOV operation
    ref_130443 = ref_128675 # MOV operation
    ref_130447 = ref_130339 # MOV operation
    ref_130449 = (ref_130447 | ref_130443) # OR operation
    ref_131700 = ref_130449 # MOV operation
    ref_134084 = ref_131700 # MOV operation
    ref_135098 = ref_117349 # MOV operation
    ref_136112 = ref_120561 # MOV operation
    ref_136312 = ref_136112 # MOV operation
    ref_136320 = (ref_136312 >> (0x2 & 0x3F)) # SHR operation
    ref_136327 = ref_136320 # MOV operation
    ref_136423 = ref_136327 # MOV operation
    ref_136437 = (0xF & ref_136423) # AND operation
    ref_136662 = ref_136437 # MOV operation
    ref_136668 = (0x1 | ref_136662) # OR operation
    ref_136777 = ref_135098 # MOV operation
    ref_136781 = ref_136668 # MOV operation
    ref_136783 = (ref_136781 & 0xFFFFFFFF) # MOV operation
    ref_136785 = ((ref_136777 << ((ref_136783 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_136792 = ref_136785 # MOV operation
    ref_137710 = ref_117349 # MOV operation
    ref_138840 = ref_120561 # MOV operation
    ref_139040 = ref_138840 # MOV operation
    ref_139048 = (ref_139040 >> (0x2 & 0x3F)) # SHR operation
    ref_139055 = ref_139048 # MOV operation
    ref_139151 = ref_139055 # MOV operation
    ref_139165 = (0xF & ref_139151) # AND operation
    ref_139390 = ref_139165 # MOV operation
    ref_139396 = (0x1 | ref_139390) # OR operation
    ref_139509 = ref_139396 # MOV operation
    ref_139511 = ((0x40 - ref_139509) & 0xFFFFFFFFFFFFFFFF) # SUB operation
    ref_139519 = ref_139511 # MOV operation
    ref_139623 = ref_137710 # MOV operation
    ref_139627 = ref_139519 # MOV operation
    ref_139629 = (ref_139627 & 0xFFFFFFFF) # MOV operation
    ref_139631 = (ref_139623 >> ((ref_139629 & 0xFF) & 0x3F)) # SHR operation
    ref_139638 = ref_139631 # MOV operation
    ref_139742 = ref_136792 # MOV operation
    ref_139746 = ref_139638 # MOV operation
    ref_139748 = (ref_139746 | ref_139742) # OR operation
    ref_139849 = ref_139748 # MOV operation
    ref_139863 = (0x7 & ref_139849) # AND operation
    ref_140088 = ref_139863 # MOV operation
    ref_140096 = ((ref_140088 << (0x2 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_140103 = ref_140096 # MOV operation
    ref_140207 = ref_134084 # MOV operation
    ref_140211 = ref_140103 # MOV operation
    ref_140213 = (ref_140211 | ref_140207) # OR operation
    ref_141144 = ref_140213 # MOV operation
    ref_153602 = ref_120561 # MOV operation
    ref_154616 = ref_120561 # MOV operation
    ref_154692 = ref_154616 # MOV operation
    ref_154706 = (0xF & ref_154692) # AND operation
    ref_154931 = ref_154706 # MOV operation
    ref_154939 = ((ref_154931 << (0x3 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_154946 = ref_154939 # MOV operation
    ref_155050 = ref_153602 # MOV operation
    ref_155054 = ref_154946 # MOV operation
    ref_155056 = (ref_155054 | ref_155050) # OR operation
    ref_155987 = ref_155056 # MOV operation
    ref_156905 = ref_117349 # MOV operation
    ref_157919 = ref_155987 # MOV operation
    ref_158817 = ref_141144 # MOV operation
    ref_158893 = ref_158817 # MOV operation
    ref_158905 = ref_157919 # MOV operation
    ref_158907 = (ref_158905 & ref_158893) # AND operation
    ref_159008 = ref_158907 # MOV operation
    ref_159022 = (0x1F & ref_159008) # AND operation
    ref_159247 = ref_159022 # MOV operation
    ref_159255 = ((ref_159247 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_159262 = ref_159255 # MOV operation
    ref_159366 = ref_156905 # MOV operation
    ref_159370 = ref_159262 # MOV operation
    ref_159372 = (ref_159370 | ref_159366) # OR operation
    ref_160303 = ref_159372 # MOV operation
    ref_161305 = ref_160303 # MOV operation
    ref_162203 = ref_155987 # MOV operation
    ref_162287 = ref_161305 # MOV operation
    ref_162291 = ref_162203 # MOV operation
    ref_162293 = (ref_162291 | ref_162287) # OR operation
    ref_163216 = ref_141144 # MOV operation
    ref_164114 = ref_126452 # MOV operation
    ref_164198 = ref_163216 # MOV operation
    ref_164202 = ref_164114 # MOV operation
    ref_164204 = (((sx(0x40, ref_164202) * sx(0x40, ref_164198)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
    ref_164310 = ref_162293 # MOV operation
    ref_164314 = ref_164204 # MOV operation
    ref_164316 = (((sx(0x40, ref_164314) * sx(0x40, ref_164310)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
    ref_165168 = ref_164316 # MOV operation
    ref_165379 = ref_165168 # MOV operation
    ref_165381 = ref_165379 # MOV operation
    endb = ref_165381


else:
    ref_165701 = SymVar_0
    ref_165716 = ref_165701 # MOV operation
    ref_280253 = ref_165716 # MOV operation
    ref_280453 = ref_280253 # MOV operation
    ref_280461 = ((ref_280453 << (0xB & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_280468 = ref_280461 # MOV operation
    ref_281301 = ref_165716 # MOV operation
    ref_281501 = ref_281301 # MOV operation
    ref_281509 = (ref_281501 >> (0x35 & 0x3F)) # SHR operation
    ref_281516 = ref_281509 # MOV operation
    ref_281620 = ref_280468 # MOV operation
    ref_281624 = ref_281516 # MOV operation
    ref_281626 = (ref_281624 | ref_281620) # OR operation
    ref_281851 = ref_281626 # MOV operation
    ref_281859 = (ref_281851 >> (0x1 & 0x3F)) # SHR operation
    ref_281866 = ref_281859 # MOV operation
    ref_282792 = ref_281866 # MOV operation
    ref_283625 = ref_165716 # MOV operation
    ref_283825 = ref_283625 # MOV operation
    ref_283833 = ((((0x0) << 64 | ref_283825) / 0x3) & 0xFFFFFFFFFFFFFFFF) # DIV operation
    ref_284752 = ref_282792 # MOV operation
    ref_284952 = ref_284752 # MOV operation
    ref_284958 = (((sx(0x40, 0x6B33F46) * sx(0x40, ref_284952)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
    ref_285064 = ref_283833 # MOV operation
    ref_285068 = ref_284958 # MOV operation
    ref_285070 = ((ref_285064 - ref_285068) & 0xFFFFFFFFFFFFFFFF) # SUB operation
    ref_285078 = ref_285070 # MOV operation
    ref_286004 = ref_285078 # MOV operation
    ref_286953 = ref_165716 # MOV operation
    ref_287029 = ref_286953 # MOV operation
    ref_287043 = ((0x9919884 + ref_287029) & 0xFFFFFFFFFFFFFFFF) # ADD operation
    ref_288083 = ref_286004 # MOV operation
    ref_288283 = ref_288083 # MOV operation
    ref_288291 = (ref_288283 >> (0x7 & 0x3F)) # SHR operation
    ref_288298 = ref_288291 # MOV operation
    ref_288518 = ref_288298 # MOV operation
    ref_288526 = (ref_288518 >> (0x2 & 0x3F)) # SHR operation
    ref_288533 = ref_288526 # MOV operation
    ref_288629 = ref_288533 # MOV operation
    ref_288643 = (0x7 & ref_288629) # AND operation
    ref_288868 = ref_288643 # MOV operation
    ref_288874 = (0x1 | ref_288868) # OR operation
    ref_288983 = ref_287043 # MOV operation
    ref_288987 = ref_288874 # MOV operation
    ref_288989 = (ref_288987 & 0xFFFFFFFF) # MOV operation
    ref_288991 = (ref_288983 >> ((ref_288989 & 0xFF) & 0x3F)) # SHR operation
    ref_288998 = ref_288991 # MOV operation
    ref_289924 = ref_288998 # MOV operation
    ref_290873 = ref_165716 # MOV operation
    ref_290949 = ref_290873 # MOV operation
    ref_290963 = ((0x1E5EA08F8 + ref_290949) & 0xFFFFFFFFFFFFFFFF) # ADD operation
    ref_291895 = ref_290963 # MOV operation
    ref_294118 = ref_289924 # MOV operation
    ref_295452 = ref_289924 # MOV operation
    ref_295528 = ref_295452 # MOV operation
    ref_295542 = (0x3F & ref_295528) # AND operation
    ref_295767 = ref_295542 # MOV operation
    ref_295775 = ((ref_295767 << (0x4 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_295782 = ref_295775 # MOV operation
    ref_295886 = ref_294118 # MOV operation
    ref_295890 = ref_295782 # MOV operation
    ref_295892 = (ref_295890 | ref_295886) # OR operation
    ref_297143 = ref_295892 # MOV operation
    ref_299527 = ref_297143 # MOV operation
    ref_300541 = ref_282792 # MOV operation
    ref_301555 = ref_286004 # MOV operation
    ref_301755 = ref_301555 # MOV operation
    ref_301763 = (ref_301755 >> (0x2 & 0x3F)) # SHR operation
    ref_301770 = ref_301763 # MOV operation
    ref_301866 = ref_301770 # MOV operation
    ref_301880 = (0xF & ref_301866) # AND operation
    ref_302105 = ref_301880 # MOV operation
    ref_302111 = (0x1 | ref_302105) # OR operation
    ref_302220 = ref_300541 # MOV operation
    ref_302224 = ref_302111 # MOV operation
    ref_302226 = (ref_302224 & 0xFFFFFFFF) # MOV operation
    ref_302228 = ((ref_302220 << ((ref_302226 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_302235 = ref_302228 # MOV operation
    ref_303153 = ref_282792 # MOV operation
    ref_304283 = ref_286004 # MOV operation
    ref_304483 = ref_304283 # MOV operation
    ref_304491 = (ref_304483 >> (0x2 & 0x3F)) # SHR operation
    ref_304498 = ref_304491 # MOV operation
    ref_304594 = ref_304498 # MOV operation
    ref_304608 = (0xF & ref_304594) # AND operation
    ref_304833 = ref_304608 # MOV operation
    ref_304839 = (0x1 | ref_304833) # OR operation
    ref_304952 = ref_304839 # MOV operation
    ref_304954 = ((0x40 - ref_304952) & 0xFFFFFFFFFFFFFFFF) # SUB operation
    ref_304962 = ref_304954 # MOV operation
    ref_305066 = ref_303153 # MOV operation
    ref_305070 = ref_304962 # MOV operation
    ref_305072 = (ref_305070 & 0xFFFFFFFF) # MOV operation
    ref_305074 = (ref_305066 >> ((ref_305072 & 0xFF) & 0x3F)) # SHR operation
    ref_305081 = ref_305074 # MOV operation
    ref_305185 = ref_302235 # MOV operation
    ref_305189 = ref_305081 # MOV operation
    ref_305191 = (ref_305189 | ref_305185) # OR operation
    ref_305292 = ref_305191 # MOV operation
    ref_305306 = (0x7 & ref_305292) # AND operation
    ref_305531 = ref_305306 # MOV operation
    ref_305539 = ((ref_305531 << (0x2 & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_305546 = ref_305539 # MOV operation
    ref_305650 = ref_299527 # MOV operation
    ref_305654 = ref_305546 # MOV operation
    ref_305656 = (ref_305654 | ref_305650) # OR operation
    ref_306587 = ref_305656 # MOV operation
    ref_306589 = ((ref_306587 >> 56) & 0xFF) # Byte reference - MOV operation
    ref_306590 = ((ref_306587 >> 48) & 0xFF) # Byte reference - MOV operation
    ref_306591 = ((ref_306587 >> 40) & 0xFF) # Byte reference - MOV operation
    ref_306592 = ((ref_306587 >> 32) & 0xFF) # Byte reference - MOV operation
    ref_306593 = ((ref_306587 >> 24) & 0xFF) # Byte reference - MOV operation
    ref_306594 = ((ref_306587 >> 16) & 0xFF) # Byte reference - MOV operation
    ref_306595 = ((ref_306587 >> 8) & 0xFF) # Byte reference - MOV operation
    ref_306596 = (ref_306587 & 0xFF) # Byte reference - MOV operation
    ref_318968 = ref_291895 # MOV operation
    ref_319982 = ref_291895 # MOV operation
    ref_320182 = ref_319982 # MOV operation
    ref_320190 = (ref_320182 >> (0x3 & 0x3F)) # SHR operation
    ref_320197 = ref_320190 # MOV operation
    ref_320293 = ref_320197 # MOV operation
    ref_320307 = (0xF & ref_320293) # AND operation
    ref_320532 = ref_320307 # MOV operation
    ref_320538 = (0x1 | ref_320532) # OR operation
    ref_320647 = ref_318968 # MOV operation
    ref_320651 = ref_320538 # MOV operation
    ref_320653 = (ref_320651 & 0xFFFFFFFF) # MOV operation
    ref_320655 = ((ref_320647 << ((ref_320653 & 0xFF) & 0x3F)) & 0xFFFFFFFFFFFFFFFF) # SHL operation
    ref_320662 = ref_320655 # MOV operation
    ref_321580 = ref_291895 # MOV operation
    ref_322710 = ref_291895 # MOV operation
    ref_322910 = ref_322710 # MOV operation
    ref_322918 = (ref_322910 >> (0x3 & 0x3F)) # SHR operation
    ref_322925 = ref_322918 # MOV operation
    ref_323021 = ref_322925 # MOV operation
    ref_323035 = (0xF & ref_323021) # AND operation
    ref_323260 = ref_323035 # MOV operation
    ref_323266 = (0x1 | ref_323260) # OR operation
    ref_323379 = ref_323266 # MOV operation
    ref_323381 = ((0x40 - ref_323379) & 0xFFFFFFFFFFFFFFFF) # SUB operation
    ref_323389 = ref_323381 # MOV operation
    ref_323493 = ref_321580 # MOV operation
    ref_323497 = ref_323389 # MOV operation
    ref_323499 = (ref_323497 & 0xFFFFFFFF) # MOV operation
    ref_323501 = (ref_323493 >> ((ref_323499 & 0xFF) & 0x3F)) # SHR operation
    ref_323508 = ref_323501 # MOV operation
    ref_323612 = ref_320662 # MOV operation
    ref_323616 = ref_323508 # MOV operation
    ref_323618 = (ref_323616 | ref_323612) # OR operation
    ref_324549 = ref_323618 # MOV operation
    ref_326073 = ref_306595 # MOVZX operation
    ref_326277 = (ref_326073 & 0xFF) # MOVZX operation
    ref_327793 = ref_306593 # MOVZX operation
    ref_329297 = (ref_327793 & 0xFF) # MOVZX operation
    ref_329299 = (ref_329297 & 0xFF) # Byte reference - MOV operation
    ref_329513 = (ref_326277 & 0xFF) # MOVZX operation
    ref_331017 = (ref_329513 & 0xFF) # MOVZX operation
    ref_331019 = (ref_331017 & 0xFF) # Byte reference - MOV operation
    ref_332011 = ref_324549 # MOV operation
    ref_332909 = ref_286004 # MOV operation
    ref_332993 = ref_332011 # MOV operation
    ref_332997 = ref_332909 # MOV operation
    ref_332999 = (ref_332997 | ref_332993) # OR operation
    ref_333922 = ((((((((ref_306589) << 8 | ref_306590) << 8 | ref_306591) << 8 | ref_306592) << 8 | ref_331019) << 8 | ref_306594) << 8 | ref_329299) << 8 | ref_306596) # MOV operation
    ref_334820 = ref_291895 # MOV operation
    ref_334904 = ref_333922 # MOV operation
    ref_334908 = ref_334820 # MOV operation
    ref_334910 = (((sx(0x40, ref_334908) * sx(0x40, ref_334904)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
    ref_335016 = ref_332999 # MOV operation
    ref_335020 = ref_334910 # MOV operation
    ref_335022 = (((sx(0x40, ref_335020) * sx(0x40, ref_335016)) & 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) & 0xFFFFFFFFFFFFFFFF) # IMUL operation
    ref_335874 = ref_335022 # MOV operation
    ref_336085 = ref_335874 # MOV operation
    ref_336087 = ref_336085 # MOV operation
    endb = ref_336087


print endb & 0xffffffffffffffff
