NAME=aes help changing seek
FILE=-
CMDS=<<EOF
wx 55
e asm.arch=x86
e asm.bits=32
aes
sr PC
s
EOF
EXPECT=<<EOF
0x1
EOF
RUN

NAME=cmd.esil.intr unset
FILE=-
CMDS=<<EOF
wx b8010000000f34b801000000cd80ebfe
10aes
EOF
EXPECT=<<EOF
EOF
RUN

NAME=aes without initialize
FILE=-
CMDS=<<EOF
e asm.arch=x86
e asm.bits=32
wx bb10000000 # mov ebx, 10
aes
ar~ebx
EOF
EXPECT=<<EOF
ebx = 0x00000010
EOF
RUN

NAME=aes with pin
FILE=-
CMDS=<<EOF
wx bb10000000bb10000000bb10000000 
aeim
e asm.arch=x86
e asm.bits=32
e cmd.esil.pin=?e
aepc $$
aep test @ 5
aep
aes
aes
EOF
EXPECT=<<EOF
"aep ret0=dr R0=0;aexa ret"
aep test @ 0x5
"aep memcpy=wf `dr?A1` `dr?A2` @ `dr?A0`;aexa ret"
"aep strlen=dr R0=`pszl@r:A0`;aexa ret"
"aep puts=psz@r:A0; aexa ret"
test
EOF
RUN

NAME=aes with pin after aeim
FILE=-
CMDS=<<EOF
wx bb10000000bb10000000bb10000000 
e asm.arch=x86
e asm.bits=32
e cmd.esil.pin=?e
aeim
aepc $$
aep test @ 5
aep
aes
aes
EOF
EXPECT=<<EOF
"aep ret0=dr R0=0;aexa ret"
aep test @ 0x5
"aep memcpy=wf `dr?A1` `dr?A2` @ `dr?A0`;aexa ret"
"aep strlen=dr R0=`pszl@r:A0`;aexa ret"
"aep puts=psz@r:A0; aexa ret"
test
EOF
RUN

NAME=emulate imports
FILE=bins/mach0/hello-puts
CMDS=<<EOF
s main
aepc $$
aeim
aaep
aep
aecs
EOF
EXPECT=<<EOF
"aep ret0=dr R0=0;aexa ret"
"aep memcpy=wf `dr?A1` `dr?A2` @ `dr?A0`;aexa ret"
"aep strlen=dr R0=`pszl@r:A0`;aexa ret"
"aep puts=psz@r:A0; aexa ret"
aep puts @ 0x1050
Hello World
EOF
RUN
