# Vm-2
This vm challenge takes two values at a time from memory the first value acts as a opcode and second one as operands, the vm-function totally has 22 switch cases
Binary takes an unsigned 32-bit integer as input and does some checks inside the vm-function and returns 4 if it has passed all the conditions
`inst` is the instruction array
`values` is the array which has our input along with zeros (length 280)
each byte of the input is in values[18],values[19],values[20],values[21]
Implementing the function in python
```py
from z3 import *
inst=[0x14,0x00,0x01,0x0f,0x04,0x15,0x0f,0x0e,0x53,0x14,0x01,0x14,0x02,0x14,0x03,0x14,0x04,0x01,0x08,0x13,0x01,0x09,0x37,0x01,0x0a,0x01,0x01,0x0b,0xf0,0x01,0x0c,0x0f,0x01,0x0d,0x90,0x01,0x07,0xad,0x15,0x27,0x0e,0x2c,0x03,0xea,0x07,0x19,0x01,0x07,0xe9,0x15,0x17,0x0e,0x37,0x03,0xea,0x07,0x48,0x07,0x49,0x01,0x07,0xcb,0x15,0x47,0x0e,0x44,0x03,0xea,0x07,0x3d,0x07,0x3c,0x07,0x39,0x01,0x07,0x16,0x15,0x37,0x0e,0x53,0x03,0xea,0x16,0x0e]
num = [BitVec('a%s'%i,32) for i in range(4)]
values=[0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xef,0xbe,0xad,0xde,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00]
s=Solver()
values[280]=0
print('i=0')
while(values[280]<=85):
i = values[280]
v25 = inst[i]
v26 = inst[i+1]
print('\n#v25==%d,v26==%d'%(v25,v26))
print('values[280]=%d'%(i))
if v25==1:
print('values[%d]=inst[%d+2]'%(v26,i))
print('values[280]+=1')
values[v26]=inst[i+2]
values[280]+=1
elif v25==2:
print('values[%d] = values[%d]'%(v26>>4,v26&0xf))
values[v26>>4] = values[v26&0xf]
elif v25==3:
print('values[%d] += values[%d]'%(v26>>4,v26&0xf))
values[v26>>4] += values[v26&0xf]
elif v25==4:
print('values[%d] -= values[%d]'%(v26>>4,v26&0xf))
values[v26>>4] -= values[v26&0xf]
elif v25==5:
print('values[%d] *= values[%d] & 0xff'%(v26>>4,v26&0xf))
values[v26>>4] *= values[v26&0xf] & 0xff
elif v25==6:
print('values[%d] //= values[%d] &0xff '%(v26>>4,v26&0xf))
values[v26>>4] //= values[v26&0xf] & 0xff
elif v25==7:
print('values[%d] ^= values[%d] &0xff '%(v26>>4,v26&0xf))
values[v26>>4] ^= values[v26&0xf] & 0xff
elif v25==8:
values[v26>>4] |= values[v26&0xf] & 0xff
print('values[%d] |= values[%d] &0xff '%(v26>>4,v26&0xf))
elif v25==9:
print('values[%d] &= values[%d] &0xff '%(v26>>4,v26&0xf))
values[v26>>4] &= values[v26&0xf] & 0xff
elif v25==10:
print('values[%d] = (values[%d]==0)'%(v26>>4,v26&0xf))
values[v26>>4] = (values[v26&0xf]==0)
elif v25==11:
print('values[%d] <<= values[%d] &0xff '%(v26>>4,v26&0xf))
values[v26>>4] <<= values[v26&0xf] & 0xff
elif v25==12:
print('values[%d] >>= values[%d] &0xff '%(v26>>4,v26&0xf))
values[v26>>4] >>= values[v26&0xf] & 0xff
elif v25==13:
if values[15]:
print('values[280]=%d'%(v26-2))
i = v26-2
values[280]=i
elif v25==14:
if values[15]==0:
print('values[280]=%d'%(v26-2))
i = v26-2
values[280]=i
elif v25==15:
if values[16]:
print('values[280]=%d'%(v26-2))
i = v26-2
values[280]=i
elif v25==16:
if values[16]==0:
print('values[280]=%d'%(v26-2))
i = v26-2
values[280]=i
elif v25==17:
if values[17]:
print('values[280]=%d'%(v26-2))
i = v26-2
values[280]=i
elif v25==18:
if values[17]==0:
print('values[280]=%d'%(v26-2))
i = v26-2
values[280]=i
elif v25==19:
print('k = values[276]#%d'%(values[276]))
print('values[k+18] = values[%d]'%(v26))
print('values[276]+=1')
k = values[276]
values[k+18] = values[v26]
values[276]+=1
elif v25==20:
print('k = values[276]#%d'%(values[276]))
print('values[%d] = values[k+18]'%(v26))
print('values[276]-=1')
k = values[276]
values[v26] = values[k+18]
values[276]-=1
elif v25==21:
print(values)
print('#Check')
print('v26=%d'%(v26))
v27 = values[v26>>4] &0xff
v28 = values[v26&0xf] &0xff
print('v27 = values[v26>>4] &0xff')
print('v28 = values[v26&0xf] &0xff')
for j in range(3):
values[j+15]=0
if v27==v28:
values[15]=1
elif v27-v28<0:
if v27-v28<=0:
values[17]=1
else:
values[16]=1
values[15]=1 #hunch
elif v25==22:
print('#Done')
print(values[v26])
break
values[280]+=2
```
when we look at the instructions, after an opcode value of 21 we have another opcode 14
So the switch case 21 sets `values[15]` according to the input and it is then compared in case 14
If we set `values[15]` by adding the line `values[15]=1` at the end of switch case 21, irrespective of input it returns 4
Redirecting the above output and going through instructions we get 4 equations each one for a byte
Since we don't know what values in the array keeps changing we print out the `values` array every time it enters switch 21 (Check part) and take the necessary values
```py
inst=[0x14,0x00,0x01,0x0f,0x04,0x15,0x0f,0x0e,0x53,0x14,0x01,0x14,0x02,0x14,0x03,0x14,0x04,0x01,0x08,0x13,0x01,0x09,0x37,0x01,0x0a,0x01,0x01,0x0b,0xf0,0x01,0x0c,0x0f,0x01,0x0d,0x90,0x01,0x07,0xad,0x15,0x27,0x0e,0x2c,0x03,0xea,0x07,0x19,0x01,0x07,0xe9,0x15,0x17,0x0e,0x37,0x03,0xea,0x07,0x48,0x07,0x49,0x01,0x07,0xcb,0x15,0x47,0x0e,0x44,0x03,0xea,0x07,0x3d,0x07,0x3c,0x07,0x39,0x01,0x07,0x16,0x15,0x37,0x0e,0x53,0x03,0xea,0x16,0x0e]
values=[0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0,0,0,4,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00]
i=0
#v25==20,v26==0
values[280]=0
k = values[276]#4
values[0] = values[k+18]
values[276]-=1
#v25==1,v26==15
values[280]=2
values[15]=inst[2+2]
values[280]+=1
#v25==21,v26==15
values[280]=5
[4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 239, 190, 173, 222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 5]
#Check
v26=15
v27 = values[v26>>4] &0xff
v28 = values[v26&0xf] &0xff
#v25==14,v26==83
values[280]=7
#v25==20,v26==1
values[280]=9
k = values[276]#3
values[1] = values[k+18]
values[276]-=1
#v25==20,v26==2
values[280]=11
k = values[276]#2
values[2] = values[k+18]
values[276]-=1
#v25==20,v26==3
values[280]=13
k = values[276]#1
values[3] = values[k+18]
values[276]-=1
#v25==20,v26==4
values[280]=15
k = values[276]#0
values[4] = values[k+18]
values[276]-=1
#v25==1,v26==8
values[280]=17
values[8]=inst[17+2]
values[280]+=1
#v25==1,v26==9
values[280]=20
values[9]=inst[20+2]
values[280]+=1
#v25==1,v26==10
values[280]=23
values[10]=inst[23+2]
values[280]+=1
#v25==1,v26==11
values[280]=26
values[11]=inst[26+2]
values[280]+=1
#v25==1,v26==12
values[280]=29
values[12]=inst[29+2]
values[280]+=1
#v25==1,v26==13
values[280]=32
values[13]=inst[32+2]
values[280]+=1
#v25==1,v26==7
values[280]=35
values[7]=inst[35+2]
values[280]+=1
#v25==21,v26==39
values[280]=38
[4, 222, 173, 190, 239, 0, 0, 173, 19, 55, 1, 240, 15, 144, 0, 1, 0, 0, 239, 190, 173, 222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 38]
#Check
v26=39
v27 = values[v26>>4] &0xff
v28 = values[v26&0xf] &0xff
#v25==14,v26==44
values[280]=40
#v25==3,v26==234
values[280]=42
values[14] += values[10]
#v25==7,v26==25
values[280]=44
values[1] ^= values[9] &0xff
#v25==1,v26==7
values[280]=46
values[7]=inst[46+2]
values[280]+=1
#v25==21,v26==23
values[280]=49
[4, 233, 173, 190, 239, 0, 0, 233, 19, 55, 1, 240, 15, 144, 1, 1, 0, 0, 239, 190, 173, 222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 49]
#Check
v26=23
v27 = values[v26>>4] &0xff
v28 = values[v26&0xf] &0xff
#v25==14,v26==55
values[280]=51
#v25==3,v26==234
values[280]=53
values[14] += values[10]
#v25==7,v26==72
values[280]=55
values[4] ^= values[8] &0xff
#v25==7,v26==73
values[280]=57
values[4] ^= values[9] &0xff
#v25==1,v26==7
values[280]=59
values[7]=inst[59+2]
values[280]+=1
#v25==21,v26==71
values[280]=62
[4, 233, 173, 190, 203, 0, 0, 203, 19, 55, 1, 240, 15, 144, 2, 1, 0, 0, 239, 190, 173, 222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 62]
#Check
v26=71
v27 = values[v26>>4] &0xff
v28 = values[v26&0xf] &0xff
#v25==14,v26==68
values[280]=64
#v25==3,v26==234
values[280]=66
values[14] += values[10]
#v25==7,v26==61
values[280]=68
values[3] ^= values[13] &0xff
#v25==7,v26==60
values[280]=70
values[3] ^= values[12] &0xff
#v25==7,v26==57
values[280]=72
values[3] ^= values[9] &0xff
#v25==1,v26==7
values[280]=74
values[7]=inst[74+2]
values[280]+=1
#v25==21,v26==55
values[280]=77
[4, 233, 173, 22, 203, 0, 0, 22, 19, 55, 1, 240, 15, 144, 3, 1, 0, 0, 239, 190, 173, 222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 77]
#Check
v26=55
v27 = values[v26>>4] &0xff
v28 = values[v26&0xf] &0xff
#v25==14,v26==83
values[280]=79
#v25==3,v26==234
values[280]=81
values[14] += values[10]
#v25==22,v26==14
values[280]=83
#Done
4
```
The equations from the above script are
```py
values[1]=values[21]
values[2]=values[22]
values[3]=values[23]
values[4]=values[24]
values[1] = inst[48]^values[9]
values[2] = inst[47]
values[3] = inst[76]^values[12]^values[13]^values[9]
values[4] = inst[61]^values[9]^values[8]
password = hex(values[4])+hex(values[3])+hex(values[2])+hex(values[1])
password = int(password,16) # 0xdeadbeef
print(password)
```
###### Password: 3735928559
###### tags: `vm`