Log in

View Full Version : VMprotect VM_logic (in v1.8 demo)


evaluator
May 28th, 2009, 13:17
here i step by step will re-build VMprotect face ~

Code:
VM_handlers (~71)
(SA = StackAdd 4 , SS = StackSub 4)

AddByteByte_SS2
AddWordWord_SS2
AddDwordDword
Div168_SS2
Div3216_SS2
DIV6432
ExitVM

IDIV168_SS2
IDIV3216_SS2
IDIV6432

IMUL88_SS2
IMUL1616_SS4
IMUL3232_SS4

MUL88_SS2
MUL1616_SS4
MUL3232_SS4

NotNotAndByte_SS2
NotNotAndWord_SS2
NotNotAndDword

PopBP
PopEBP
PopfD_SA4
LoadVmIP_SA4

PopMemByte_SA6
PopMemByteSS_SA6
PopMemByteES_SA6
PopMemWord_SA6
PopMemWordSS_SA6
PopMemWordES_SA6
PopMemDword_SA8
PopMemDwordSS_SA8
PopMemDwordES_SA8

PopByteToVMRegsImmID_SA2
PopWordToVMRegsImmID_SA2
PopDwordToVMRegsOpcID_SA4
^^^^
PushByteFromVMRegsImmID_SS2
PushWordFromVMRegsImmID_SS2
PushDwordFromVMRegsOpcID_SS4
^^^^for byte/word/dword parts access in VM-Registers (EAX, AX, AL)

PushBP_SS2
PushEBP_SS4

PushImmUByte_SS2
PushImmSByte_SS4
PushImmWord_SS2
PushImmSWord_SS4
PushImmDword_SS4

PushMemByte_SA2
PushMemByteSS_SA2
PushMemByteES_SA2
PushMemWord_SA2
PushMemWordSS_SA2
PushMemWordES_SA2
PushMemDword
PushMemDwordSS
PushMemDwordES

RclByte_SS2
RclWord_SS2
RclDword_SS2
RcrByte_SS2
RcrWord_SS2
RcrDword_SS2

SHLD_SA2
SHRD_SA2
ShlByte_SS2
ShlDword_SS2
ShlWord_SS2
ShrByte_SS2
ShrDword_SS2
ShrWord_SS2

tool-handlers
PushRDTSC_SS8
PushCPUID_SS12 (value)
CRCsum_SA4 (pmem, size)

**
all Logical & Arithmetic Handlers, which must care on EFlags, has code to store Eflags:

pushfd
pop d, [ebp+0]

then after such handler VM will always call PopDwordToVMRegsOpcID_SA4
for store EFlags into VM-Registers (intermediate or main).
so we can state, they are VM-opcodes-pairs

*******
so VM-protect hides CPU instruction by dividing single instruction into many VM_opcodes.
But they must fully reproduce these CPU instructions, also care about correct result in EFlags.
For Logical-instructions author builds main VM-instruction "NotNotAnd";
and seems it is logical NOR-gate(!?)

it's asm-code looks so:

Mov eax [ebp+0]
Mov edx [ebp+4]
Not eax
Not edx
And eax edx
Mov [ebp+4] eax
Pushfd
Pop d,[ebp+0]

NotNotAnd (var1, var2) = And (Not var1) (Not var2)

other main logical instuctions Xor, Or, And, Not will emulated by this VM-code.
seems, this secquence produces valid result EFlags for emulated logical instructions,
so no further works need to done on EFlags.

VM_NOT (A) = NotNotAnd (A, A)

PushEBP_SS4 + PushMemDwordSS = push dword[esp]
usually uses in VM_NOT, to prevent duble calculation

VM_AND is fun, because variables needs Not-ed before pass to NotNotAnd, where they restored.

VM_AND (A, B) = NotNotAnd {VM_NOT (A), VM_NOT (B)} = NotNotAnd {NotNotAnd (A, A) , NotNotAnd (B, B)}

VM_TEST = VM_AND ; result value stored in intermediate Vm-regs, discarded

VM_OR (A, B) = VM_NOT [NotNotAnd (A, B)] = NotNotAnd {NotNotAnd (A, B) , <SamePushed }

VM_XOR (A, B) = NotNotAnd {NotNotAnd (A, B)} {VM_AND (A, B)}
=NotNotAnd {NotNotAnd (A, B)} {NotNotAnd [NotNotAnd (A, A) , NotNotAnd (B, B)]}

Rol,Ror,Sar are emulated via Shld & Shrd handlers;
firstly, value will Sign-extended to EAX:EDX, then Shld-ed


VM_RCL and VM_RCR will handled by RclDword_SS2 & RclDword_SS2 handlers,
for which Carry-Flag should extracted from VM_regs_Eflags;
then instuction in handler-code "SHR CH, 1" will load extracted CFlag & do RCL/RCR

VM_ADD is normal Addition
for other Arithmetic-instructions VM uses VM_ADD + NotNotAnd constructions
and VM is forced to calculate also EFlags. (but for decompiling they are useless junk!)

VM_ADC (A, B) = VM_ADD(A, (B+Carry_flag))

VM_SUB (A, B) = VM_NOT [VM_ADD {B, (VM_NOT A)}]
EFlags = [And(0815, VM_ADD-EFlags)] + [And( {Not(0815) }, final-VM_NOT-EFlags)]
(virtualized into 36 VM-bytes)

VM_SBB (A, B) = VM_SUB(A, (B+Carry_flag))

VM_CMP = VM_SUB ; result value stored in intermediate Vm-regs, discarded

VM_NEG (A) = like VM_SUB (0, A) , but constant 0 is already Not-ed

Inc & Dec instructions in CPU not affects Carry-flag, so Carry-flag should leaved in previous state.
VM_INC (A) = VM_ADD(1, A)
Carry-flag restore in EFlags
VM_DEC (A) = VM_ADD(-1, A)
Carry-flag restore in EFlags | Align-Flag managing
......
VM_Conditional_Jump works so:
in stack VM places offset_NoJumpVM_IP & offset_JumpVM_IP,
then pointer to offset_NoJumpVM_IP stack place.
then according to EFlag this pointer will adjust to JumpVM_IP either leaved as is.
example for JZ coditional jump. in stack are pushed:

:: pointer_to_offset_NoJump (PushEBP_SS4)
:: offset_NoJump
:: offset_Jump

after Comparision EFlags are set.
Shr (And 040 EFlags) 4
Add [pointer_to_offset_NoJump] result
if Zf=1, then result = 4 , else 0
..then will load VM_IP from this pointer

......
VMprotect virtualizes also CPU's complex-instructions,
if such can be represented by simple instructions.

VM_SETLE (virtualized into 80 VM-bytes!)
there will EFlags testing AND (080, EFlags) | AND (0800, EFlags) ... AND (040, EFlags) ...
and produced result_byte will copied into destination

VM_CMOVLE
same kind EFlags testing as SETLE, + VM_Conitional_Jump

for example VM_MOVSB
this complex-instruction is re-presented into simple instructions assembly group,
then this group virtualized.

VM_BSWAP is done in following way (27 VM-bytes)
HiWord(result) = HiWord {Shl (LoWord_LoWord) 8}
LoWord(result) = HiWord {Shl (HiWord_HiWord) 8}

VM_XADD
VM does same as CPU

VM_XCHG !?
while VMprotect author cares about LOCK prefix & not virtualizes instruction with it,
author did mistake and virtualized XCHG instruction.. oops!
to prevent XCHG virtualization, author recommends LOCK prefix

......
for FLD, FSTP instructions memory content will copied on stack, & load-store from there.

......
VM-Registers space is 16 dwords. 8 of them are for Eax,Ecx,Edx,Ebx,Ebp,Esi,Edi,EFlags
Esp is directly assigned to VM_stack(Ebp)
other 8 are used for temporal storage. mostly for intermediate EFlags,
also for intermediate or temporal results (VM_TEST, VM_CMP), also for cleanup VM-stack;
look at VM_SUB, where 2-intermediate Eflags will added
Place of real registers in this space is different not only for every other VM,
but also can change inside one VM!
register read from one place, after CAN placed on intermediate place and
old place become intermediate. so VM-Registers tracking need!

......
VM-entry works so:

we are at current stack; lets call it TOP-ESP
at original Opcode place will call to VM:

push offset-VM_IP
call VM-StartCode
,,,,
VM-StartCode:
push Registers, EFlags ; << Order of push CAN be other then order of pop on ExitVM!
push dword[passed_pointer_for_security]
; <<new from 1.8, passed from StartupVM, which does file CRC-check
push 0 ; Relocation-Difference
mov esi, [esp+030] ; offset-VM_IP
mov ebp, esp ; ebp will VM-stack
sub esp, 0C0 ; 040 bytes reserved for 16 VM-Registers, other free 080 byte space will used
; for user-pushed-variables. if too low become VM-stack, then VM-Registers will
; moved down
mov edi, esp ; edi holds VM-Registers pointer
add esi, [ebp+0] ; add Relocation-Difference to offset-VM_IP

and now code is on VM_main_loop:
{VM_main_loop has 2 variations, down-read VM-bytes (as below) or inverse up-read}

mov al,[esi]
movzx eax,al
inc esi
jmp [JumpTable + eax*4]

But VM-entry yet not finished! now will executed Prolog-VM-bytes,
which will move all pushed Registers,EFlags,+others to VM-Registers space until
VM-stack(ebp) will poped to TOP-ESP.

now only starts virtualized user-code execution

......
VM-exit works so:

VM-stack(ebp) is at TOP-ESP; (can be above start value, if Ret_nn emulated or Esp changed)
now VM executes Epilog-VM-bytes, which will pop all required values (return_IP if need)
from VM-Registers_space to stack and Ebp is ready for ExitVM-handler.
at last will VM-byte, calling ExitVM-handler, which pop all from stack:

mov esp, ebp
pop Registers, EFlags ; << Order of pop CAN be other
ret

......
if VM can't virtualize instruction, there is 2 way

1. if instruction not affects Memory-Registers-EFlags (like EMMS, WAIT),
it can included in any free VM-handler and appropriate VM-byte will assigned

2. else VM does full VM-exit to this instruction & after it's execution again calls VM.

......
memory effective address will calculated step by step
example: mov eax D$edi+ecx*8+088888888
all values will pashed & added. on (ecx*8) will used ShlDword_SS2 handler.

......
in these manners will virtualized many instructions, in hope to hide them.

OK, but now Generic Question is: does Complex-Opcode virtualization matters!?!?
for example, lets say, we decompiled VM_MOVSB into simple instuction group
& we not guess their meaning as initial opcode. But, is that problem!? No!
code has all it's functionality anyway!

evaluator
May 30th, 2009, 05:26
Code:
......
i built little logger. here are listing for most CPU opcodes





VM-entry:
Pop_DVR_SA4 030 0
Pop_DVR_SA4 04 054A3A495
Pop_DVR_SA4 03C 0786465
Pop_DVR_SA4 08 0706265
Pop_DVR_SA4 038 0402001
Pop_DVR_SA4 010 0207
Pop_DVR_SA4 01C 0402000
Pop_DVR_SA4 020 0
Pop_DVR_SA4 014 0706265
Pop_DVR_SA4 024 0584345
Pop_DVR_SA4 0C 0786165
Pop_DVR_SA4 02C 0406FFA
Pop_DVR_SA4 02C 04043B4


mov D$esi+0C 011111111
; 02
PushdImmD_SS4 011111111
PushDVR_SS4 01C 0402000
PushdImmSB_SS4 0C
Add_DD 0C 0402000 || Pop_DVR_SA4 020 0206
Popm_D_SA8 040200C 011111111


mov W$esi+0C 02222
; 04
PushwImmW_SS2 02222
PushdImmSB_SS4 0C
PushDVR_SS4 01C 0402000
Add_DD 0402000 0C || Pop_DVR_SA4 010 0206
Popm_W_SA6 040200C 02222


mov B$esi+0C 033
; 06
PushwImmUB_SS2 033
PushdImmSB_SS4 0C
PushDVR_SS4 01C 0402000
Add_DD 0402000 0C || Pop_DVR_SA4 018 0206
Popm_B_SA6 040200C 033


mov edx D$esi+0C
; 08
PushdImmSB_SS4 0C
PushDVR_SS4 01C 0402000
Add_DD 0402000 0C || Pop_DVR_SA4 034 0206
PushmD 040200C
Pop_DVR_SA4 018 011112233


ADC al cl
; 0A
PushBVR_SS2 024 045
PushWVR_SS2 020 0206
PushWVR_SS2 020 0206
NNAnd_WW_SS2 0206 0206 || Pop_DVR_SA4 010 0286
PushwImmW_SS2 0FFFE
NNAnd_WW_SS2 0FFFE 0FDF9 || Pop_DVR_SA4 0 0246
Add_BB_SS2 0 045 || Pop_DVR_SA4 0 0202
PushBVR_SS2 0C 065
Add_BB_SS2 065 045 || Pop_DVR_SA4 0 0A86
Pop_BVR_SA2 0C 0AA


ADC ax cx
; 0C
PushWVR_SS2 024 04345
PushWVR_SS2 020 0206
PushWVR_SS2 020 0206
NNAnd_WW_SS2 0206 0206 || Pop_DVR_SA4 03C 0286
PushwImmW_SS2 0FFFE
NNAnd_WW_SS2 0FFFE 0FDF9 || Pop_DVR_SA4 02C 0246
Add_WW_SS2 0 04345 || Pop_DVR_SA4 010 0202
PushWVR_SS2 0C 061AA
Add_WW_SS2 061AA 04345 || Pop_DVR_SA4 02C 0A82
Pop_WVR_SA2 0C 0A4EF


ADC eax ecx
; 0E
PushDVR_SS4 024 0584345
PushwImmUB_SS2 0
PushWVR_SS2 020 0202
PushEBP_SS4
PushmW_SS_SA2 012FFB0
NNAnd_WW_SS2 0202 0202 || Pop_DVR_SA4 03C 0282
PushwImmW_SS2 0FFFE
NNAnd_WW_SS2 0FFFE 0FDFD || Pop_DVR_SA4 0 0246
Add_DD 0 0584345 || Pop_DVR_SA4 028 0202
PushDVR_SS4 0C 078A4EF
Add_DD 078A4EF 0584345 || Pop_DVR_SA4 034 0212
Pop_DVR_SA4 020 0D0E834


ADD al cl
; 010
PushBVR_SS2 024 045
PushBVR_SS2 020 034
Add_BB_SS2 034 045 || Pop_DVR_SA4 034 0202
Pop_BVR_SA2 020 079


ADD ax cx
; 012
PushWVR_SS2 020 0E879
PushWVR_SS2 024 04345
Add_WW_SS2 04345 0E879 || Pop_DVR_SA4 03C 0207
Pop_WVR_SA2 020 02BBE


ADD eax ecx
; 014
PushDVR_SS4 020 0D02BBE
PushDVR_SS4 024 0584345
Add_DD 0584345 0D02BBE || Pop_DVR_SA4 0C 0216
Pop_DVR_SA4 028 01286F03


AND al cl
; 016
PushBVR_SS2 024 045
PushEBP_SS4
PushmB_SS_SA2 012FFB6
NNAnd_BB_SS2 045 045 || Pop_DVR_SA4 0 0282
PushBVR_SS2 028 03
PushBVR_SS2 028 03
NNAnd_BB_SS2 03 03 || Pop_DVR_SA4 034 0286
NNAnd_BB_SS2 0FC 0BA || Pop_DVR_SA4 034 0202
Pop_BVR_SA2 028 01


AND ax cx
; 018
PushWVR_SS2 024 04345
PushEBP_SS4
PushmW_SS_SA2 012FFB6
NNAnd_WW_SS2 04345 04345 || Pop_DVR_SA4 034 0282
PushWVR_SS2 028 06F01
PushWVR_SS2 028 06F01
NNAnd_WW_SS2 06F01 06F01 || Pop_DVR_SA4 034 0282
NNAnd_WW_SS2 090FE 0BCBA || Pop_DVR_SA4 010 0202
Pop_WVR_SA2 028 04301


AND eax ecx
; 01A
PushDVR_SS4 024 0584345
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 0584345 0584345 || Pop_DVR_SA4 0 0282
PushDVR_SS4 028 01284301
PushEBP_SS4
PushmD_SS 012FFB0
NNAnd_DD 01284301 01284301 || Pop_DVR_SA4 03C 0282
NNAnd_DD 0FED7BCFE 0FFA7BCBA || Pop_DVR_SA4 034 0202
Pop_DVR_SA4 020 084301


BSWAP eax
; 01C
PushwImmUB_SS2 08
PushDVR_SS4 020 084301
Pop_WVR_SA2 010 04301
PushEBP_SS4
PushmW_SS_SA2 012FFB4
Shl_D_SS2 080008 08 || Pop_DVR_SA4 0C 0206
PushwImmUB_SS2 08
PushWVR_SS2 010 04301
PushWVR_SS2 010 04301
Shl_D_SS2 043014301 08 || Pop_DVR_SA4 028 0207
Pop_WVR_SA2 02C 0100
PushEBP_SS4
PushdImmSB_SS4 04
Add_DD 04 012FFB2 || Pop_DVR_SA4 034 0202
PushmW_SS_SA2 012FFB6
Pop_DVR_SA4 0C 01430800
Pop_DVR_SA4 034 08000800


BT ax cx
; 01E
PushWVR_SS2 024 04345
PushWVR_SS2 0C 0800
Shr_W_SS2 0800 045 || Pop_DVR_SA4 03C 0202
PushEBP_SS4
PushmW_SS_SA2 012FFB6
NNAnd_WW_SS2 040 040 || Pop_DVR_SA4 0 0282
PushwImmW_SS2 0FFFE
NNAnd_WW_SS2 0FFFE 0FFBF || Pop_DVR_SA4 028 0246
PushWVR_SS2 034 0206
PushEBP_SS4
PushmW_SS_SA2 012FFB4
NNAnd_WW_SS2 0206 0206 || Pop_DVR_SA4 0 0286
PushwImmUB_SS2 01
NNAnd_WW_SS2 01 0FDF9 || Pop_DVR_SA4 028 0206
Add_WW_SS2 0206 0 || Pop_DVR_SA4 02C 0206
Pop_WVR_SA2 034 0206


BT eax ecx
; 020
PushWVR_SS2 024 04345
PushDVR_SS4 0C 01430800
Shr_D_SS2 01430800 045 || Pop_DVR_SA4 03C 0202
PushEBP_SS4
PushmW_SS_SA2 012FFB4
NNAnd_WW_SS2 01840 01840 || Pop_DVR_SA4 020 0282
PushwImmW_SS2 0FFFE
NNAnd_WW_SS2 0FFFE 0E7BF || Pop_DVR_SA4 0 0246
PushWVR_SS2 02C 0212
PushWVR_SS2 02C 0212
NNAnd_WW_SS2 0212 0212 || Pop_DVR_SA4 028 0286
PushwImmUB_SS2 01
NNAnd_WW_SS2 01 0FDED || Pop_DVR_SA4 03C 0206
Add_WW_SS2 0212 0 || Pop_DVR_SA4 020 0206
Pop_WVR_SA2 02C 0212
Pop_WVR_SA2 03C 0A


BTC eax ecx
; 022
PushWVR_SS2 024 04345
PushDVR_SS4 0C 01430800
Shr_D_SS2 01430800 045 || Pop_DVR_SA4 02C 0202
PushEBP_SS4
PushmW_SS_SA2 012FFB4
NNAnd_WW_SS2 01840 01840 || Pop_DVR_SA4 0 0282
PushwImmW_SS2 0FFFE
NNAnd_WW_SS2 0FFFE 0E7BF || Pop_DVR_SA4 0 0246
PushWVR_SS2 028 0206
PushWVR_SS2 028 0206
NNAnd_WW_SS2 0206 0206 || Pop_DVR_SA4 020 0286
PushwImmUB_SS2 01
NNAnd_WW_SS2 01 0FDF9 || Pop_DVR_SA4 020 0206
Add_WW_SS2 0206 0 || Pop_DVR_SA4 02C 0206
Pop_WVR_SA2 028 0206
Pop_WVR_SA2 034 0A

; 023
PushWVR_SS2 024 04345
PushdImmSB_SS4 01
Shl_D_SS2 01 045 || Pop_DVR_SA4 02C 0202
PushDVR_SS4 0C 01430800
NNAnd_DD 01430800 020 || Pop_DVR_SA4 0 0282
PushDVR_SS4 0C 01430800
PushEBP_SS4
PushmD_SS 012FFB0
NNAnd_DD 01430800 01430800 || Pop_DVR_SA4 034 0286
PushWVR_SS2 024 04345
PushdImmSB_SS4 01
Shl_D_SS2 01 045 || Pop_DVR_SA4 020 0202
PushEBP_SS4
PushmD_SS 012FFAC
NNAnd_DD 020 020 || Pop_DVR_SA4 034 0282
NNAnd_DD 0FFFFFFDF 0FEBCF7FF || Pop_DVR_SA4 0 0246
NNAnd_DD 0 0FEBCF7DF || Pop_DVR_SA4 034 0202
Pop_DVR_SA4 02C 01430820


BTR eax ecx
; 025
PushWVR_SS2 024 04345
PushDVR_SS4 02C 01430820
Shr_D_SS2 01430820 045 || Pop_DVR_SA4 028 0206
PushEBP_SS4
PushmW_SS_SA2 012FFB4
NNAnd_WW_SS2 01841 01841 || Pop_DVR_SA4 0C 0286
PushwImmW_SS2 0FFFE
NNAnd_WW_SS2 0FFFE 0E7BE || Pop_DVR_SA4 028 0202
PushWVR_SS2 020 0206
PushEBP_SS4
PushmW_SS_SA2 012FFB2
NNAnd_WW_SS2 0206 0206 || Pop_DVR_SA4 028 0286
PushwImmUB_SS2 01
NNAnd_WW_SS2 01 0FDF9 || Pop_DVR_SA4 03C 0206
Add_WW_SS2 0206 01 || Pop_DVR_SA4 028 0202
Pop_WVR_SA2 020 0207
Pop_WVR_SA2 034 0A

; 026
PushWVR_SS2 024 04345
PushdImmSB_SS4 01
Shl_D_SS2 01 045 || Pop_DVR_SA4 034 0202
PushDVR_SS4 02C 01430820
PushEBP_SS4
PushmD_SS 012FFB0
NNAnd_DD 01430820 01430820 || Pop_DVR_SA4 034 0282
NNAnd_DD 0FEBCF7DF 020 || Pop_DVR_SA4 03C 0206
Pop_DVR_SA4 034 01430800


BTS eax ecx
; 028
PushWVR_SS2 024 04345
PushDVR_SS4 034 01430800
Shr_D_SS2 01430800 045 || Pop_DVR_SA4 0 0202
PushEBP_SS4
PushmW_SS_SA2 012FFB4
NNAnd_WW_SS2 01840 01840 || Pop_DVR_SA4 02C 0282
PushwImmW_SS2 0FFFE
NNAnd_WW_SS2 0FFFE 0E7BF || Pop_DVR_SA4 0 0246
PushWVR_SS2 0C 0202
PushWVR_SS2 0C 0202
NNAnd_WW_SS2 0202 0202 || Pop_DVR_SA4 0 0282
PushwImmUB_SS2 01
NNAnd_WW_SS2 01 0FDFD || Pop_DVR_SA4 0 0202
Add_WW_SS2 0202 0 || Pop_DVR_SA4 02C 0202
Pop_WVR_SA2 0C 0202
Pop_WVR_SA2 020 0A

; 029
PushWVR_SS2 024 04345
PushdImmSB_SS4 01
Shl_D_SS2 01 045 || Pop_DVR_SA4 0 0202
PushDVR_SS4 034 01430800
NNAnd_DD 01430800 020 || Pop_DVR_SA4 020 0282
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 0FEBCF7DF 0FEBCF7DF || Pop_DVR_SA4 02C 0202
Pop_DVR_SA4 02C 01430820


mov eax 0CC
; 02B
PushdImmSW_SS4 0CC
Pop_DVR_SA4 028 0CC

CBW
; 02C
PushwImmUB_SS2 01
PushwImmUB_SS2 07
PushBVR_SS2 028 0CC
Shr_B_SS2 0CC 07 || Pop_DVR_SA4 02C 0203
PushEBP_SS4
PushmB_SS_SA2 012FFB4
NNAnd_BB_SS2 01 01 || Pop_DVR_SA4 020 0282
Add_BB_SS2 0FE 01 || Pop_DVR_SA4 020 0286
Pop_BVR_SA2 029 0FF


CWD
; 02E
PushwImmUB_SS2 01
PushwImmUB_SS2 0F
PushWVR_SS2 028 0FFCC
Shr_W_SS2 0FFCC 0F || Pop_DVR_SA4 02C 0203
PushEBP_SS4
PushmW_SS_SA2 012FFB4
NNAnd_WW_SS2 01 01 || Pop_DVR_SA4 0 0282
Add_WW_SS2 0FFFE 01 || Pop_DVR_SA4 020 0286
Pop_WVR_SA2 018 0FFFF


CWDE
; 030
PushwImmUB_SS2 01
PushwImmUB_SS2 0F
PushWVR_SS2 028 0FFCC
Shr_W_SS2 0FFCC 0F || Pop_DVR_SA4 0C 0203
PushEBP_SS4
PushmW_SS_SA2 012FFB4
NNAnd_WW_SS2 01 01 || Pop_DVR_SA4 02C 0282
Add_WW_SS2 0FFFE 01 || Pop_DVR_SA4 03C 0286
PushWVR_SS2 028 0FFCC
Pop_DVR_SA4 034 0FFFFFFCC


CDQ
; 032
PushdImmSB_SS4 01
PushwImmUB_SS2 01F
PushDVR_SS4 034 0FFFFFFCC
Shr_D_SS2 0FFFFFFCC 01F || Pop_DVR_SA4 020 0203
PushEBP_SS4
PushmD_SS 012FFB0
NNAnd_DD 01 01 || Pop_DVR_SA4 020 0282
Add_DD 0FFFFFFFE 01 || Pop_DVR_SA4 020 0286
Pop_DVR_SA4 020 0FFFFFFFF


CLC
; 034
PushDVR_SS4 02C 0206
PushDVR_SS4 02C 0206
NNAnd_DD 0206 0206 || Pop_DVR_SA4 0C 0286
PushdImmSB_SS4 01
NNAnd_DD 01 0FFFFFDF9 || Pop_DVR_SA4 0C 0206
Pop_DVR_SA4 03C 0206


STC
; 036
PushdImmSB_SS4 01
PushDVR_SS4 018 0202
NNAnd_DD 0202 01 || Pop_DVR_SA4 028 0286
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 0FFFFFDFC 0FFFFFDFC || Pop_DVR_SA4 02C 0206
Pop_DVR_SA4 0C 0203


CMC
; 038
PushDVR_SS4 018 0202
PushDVR_SS4 018 0202
NNAnd_DD 0202 0202 || Pop_DVR_SA4 028 0282
PushdImmSB_SS4 0FE
NNAnd_DD 0FFFFFFFE 0FFFFFDFD || Pop_DVR_SA4 02C 0246
PushDVR_SS4 018 0202
PushdImmSB_SS4 01
NNAnd_DD 01 0202 || Pop_DVR_SA4 02C 0286
NNAnd_DD 0FFFFFDFC 0 || Pop_DVR_SA4 028 0206
Pop_DVR_SA4 028 0203


STD
; 03A
PushdImmSW_SS4 0400
PushDVR_SS4 02C 0206
NNAnd_DD 0206 0400 || Pop_DVR_SA4 0C 0286
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 0FFFFF9F9 0FFFFF9F9 || Pop_DVR_SA4 03C 0206
PushEBP_SS4
PushmD_SS 012FFB4
Pop_DVR_SA4 0C 0606
PushDVR_SS4 0C 0606
NNAnd_DD 0606 0606 || Pop_DVR_SA4 03C 0286
PushdImmSW_SS4 08FF
NNAnd_DD 08FF 0FFFFF9F9 || Pop_DVR_SA4 03C 0206
PopfD_SA4 0600


CLD
; 03C
PushDVR_SS4 03C 0602
PushDVR_SS4 03C 0602
NNAnd_DD 0602 0602 || Pop_DVR_SA4 0 0682
PushdImmSW_SS4 0400
NNAnd_DD 0400 0FFFFF9FD || Pop_DVR_SA4 0 0602
PushEBP_SS4
PushmD_SS 012FFB4
Pop_DVR_SA4 0 0202
PushDVR_SS4 0 0202
NNAnd_DD 0202 0202 || Pop_DVR_SA4 03C 0682
PushdImmSW_SS4 08FF
NNAnd_DD 08FF 0FFFFFDFD || Pop_DVR_SA4 0C 0606
PopfD_SA4 0200


CMP al cl
; 03E
PushBVR_SS2 024 045
PushBVR_SS2 034 0CC
PushEBP_SS4
PushmB_SS_SA2 012FFB4
NNAnd_BB_SS2 0CC 0CC || Pop_DVR_SA4 03C 0206
Add_BB_SS2 033 045 || Pop_DVR_SA4 0 0206
PushEBP_SS4
PushmB_SS_SA2 012FFB6
NNAnd_BB_SS2 078 078 || Pop_DVR_SA4 02C 0286
Pop_BVR_SA2 014 087

; 03F
PushDVR_SS4 0 0206
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 0206 0206 || Pop_DVR_SA4 03C 0286
PushdImmSW_SS4 0F7EA
NNAnd_DD 0FFFFF7EA 0FFFFFDF9 || Pop_DVR_SA4 018 0202
PushDVR_SS4 02C 0286
PushEBP_SS4
PushmD_SS 012FFB0
NNAnd_DD 0286 0286 || Pop_DVR_SA4 03C 0282
PushdImmSW_SS4 0815
NNAnd_DD 0815 0FFFFFD79 || Pop_DVR_SA4 018 0206
Add_DD 0282 04 || Pop_DVR_SA4 0C 0202
Pop_DVR_SA4 03C 0286


CMP ax cx
; 041
PushWVR_SS2 024 04345
PushWVR_SS2 034 0FFCC
PushWVR_SS2 034 0FFCC
NNAnd_WW_SS2 0FFCC 0FFCC || Pop_DVR_SA4 028 0206
Add_WW_SS2 033 04345 || Pop_DVR_SA4 0C 0206
PushEBP_SS4
PushmW_SS_SA2 012FFB6
NNAnd_WW_SS2 04378 04378 || Pop_DVR_SA4 014 0286
Pop_WVR_SA2 0 0BC87

; 042
PushDVR_SS4 0C 0206
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 0206 0206 || Pop_DVR_SA4 028 0286
PushdImmSW_SS4 0F7EA
NNAnd_DD 0FFFFF7EA 0FFFFFDF9 || Pop_DVR_SA4 028 0202
PushDVR_SS4 014 0286
PushEBP_SS4
PushmD_SS 012FFB0
NNAnd_DD 0286 0286 || Pop_DVR_SA4 0 0282
PushdImmSW_SS4 0815
NNAnd_DD 0815 0FFFFFD79 || Pop_DVR_SA4 028 0206
Add_DD 0282 04 || Pop_DVR_SA4 028 0202
Pop_DVR_SA4 02C 0286


CMP eax ecx
; 044
PushDVR_SS4 024 0584345
PushDVR_SS4 034 0FFFFFFCC
PushEBP_SS4
PushmD_SS 012FFB0
NNAnd_DD 0FFFFFFCC 0FFFFFFCC || Pop_DVR_SA4 018 0206
Add_DD 033 0584345 || Pop_DVR_SA4 03C 0206
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 0584378 0584378 || Pop_DVR_SA4 02C 0286
Pop_DVR_SA4 0 0FFA7BC87

; 045
PushDVR_SS4 03C 0206
PushDVR_SS4 03C 0206
NNAnd_DD 0206 0206 || Pop_DVR_SA4 018 0286
PushdImmSW_SS4 0F7EA
NNAnd_DD 0FFFFF7EA 0FFFFFDF9 || Pop_DVR_SA4 0 0202
PushDVR_SS4 02C 0286
PushEBP_SS4
PushmD_SS 012FFB0
NNAnd_DD 0286 0286 || Pop_DVR_SA4 014 0282
PushdImmSW_SS4 0815
NNAnd_DD 0815 0FFFFFD79 || Pop_DVR_SA4 018 0206
Add_DD 0282 04 || Pop_DVR_SA4 0 0202
Pop_DVR_SA4 014 0286


CMPSB
; 047
PushDVR_SS4 01C 0402000
PushmB_SA2 0402000
PushEBP_SS4
PushmB_SS_SA2 012FFB6
NNAnd_BB_SS2 011 011 || Pop_DVR_SA4 0 0286
PushDVR_SS4 038 0402001
PushmB_ES_SA2 0402001
Add_BB_SS2 0 0EE || Pop_DVR_SA4 0C 0286
PushEBP_SS4
PushmB_SS_SA2 012FFB6
NNAnd_BB_SS2 0EE 0EE || Pop_DVR_SA4 0 0206
Pop_BVR_SA2 014 011

; 048
PushDVR_SS4 0C 0286
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 0286 0286 || Pop_DVR_SA4 02C 0282
PushdImmSW_SS4 0F7EA
NNAnd_DD 0FFFFF7EA 0FFFFFD79 || Pop_DVR_SA4 014 0202
PushDVR_SS4 0 0206
PushDVR_SS4 0 0206
NNAnd_DD 0206 0206 || Pop_DVR_SA4 018 0286
PushdImmSW_SS4 0815
NNAnd_DD 0815 0FFFFFDF9 || Pop_DVR_SA4 018 0202
Add_DD 0202 04 || Pop_DVR_SA4 028 0206
Pop_DVR_SA4 018 0206

; 049
PushwImmUB_SS2 09
PushdImmSW_SS4 0FBFF
PushDVR_SS4 018 0206
NNAnd_DD 0206 0FFFFFBFF || Pop_DVR_SA4 028 0206
Shr_D_SS2 0400 09 || Pop_DVR_SA4 014 0202
PushdImmSB_SS4 0FF
Add_DD 0FFFFFFFF 02 || Pop_DVR_SA4 0C 0213
PushEBP_SS4
PushmD_SS 012FFB4
PushDVR_SS4 01C 0402000
Add_DD 0402000 01 || Pop_DVR_SA4 014 0202
Pop_DVR_SA4 02C 0402001
PushDVR_SS4 038 0402001
Add_DD 0402001 01 || Pop_DVR_SA4 014 0202
Pop_DVR_SA4 01C 0402002


CMPSW
; 04B
PushDVR_SS4 02C 0402001
PushmW_SA2 0402001
PushEBP_SS4
PushmW_SS_SA2 012FFB6
NNAnd_WW_SS2 0 0 || Pop_DVR_SA4 028 0286
PushDVR_SS4 01C 0402002
PushmW_ES_SA2 0402002
Add_WW_SS2 0 0FFFF || Pop_DVR_SA4 014 0286
PushEBP_SS4
PushmW_SS_SA2 012FFB6
NNAnd_WW_SS2 0FFFF 0FFFF || Pop_DVR_SA4 03C 0246
Pop_WVR_SA2 038 0

; 04C
PushDVR_SS4 014 0286
PushDVR_SS4 014 0286
NNAnd_DD 0286 0286 || Pop_DVR_SA4 028 0282
PushdImmSW_SS4 0F7EA
NNAnd_DD 0FFFFF7EA 0FFFFFD79 || Pop_DVR_SA4 0C 0202
PushDVR_SS4 03C 0246
PushEBP_SS4
PushmD_SS 012FFB0
NNAnd_DD 0246 0246 || Pop_DVR_SA4 0 0282
PushdImmSW_SS4 0815
NNAnd_DD 0815 0FFFFFDB9 || Pop_DVR_SA4 038 0206
Add_DD 0242 04 || Pop_DVR_SA4 0C 0202
Pop_DVR_SA4 038 0246

; 04D
PushwImmUB_SS2 08
PushDVR_SS4 038 0246
PushdImmSW_SS4 0FBFF
NNAnd_DD 0FFFFFBFF 0246 || Pop_DVR_SA4 0C 0206
Shr_D_SS2 0400 08 || Pop_DVR_SA4 0C 0202
PushdImmSB_SS4 0FE
Add_DD 0FFFFFFFE 04 || Pop_DVR_SA4 0C 0213
PushEBP_SS4
PushmD_SS 012FFB4
PushDVR_SS4 02C 0402001
Add_DD 0402001 02 || Pop_DVR_SA4 014 0206
Pop_DVR_SA4 028 0402003
PushDVR_SS4 01C 0402002
Add_DD 0402002 02 || Pop_DVR_SA4 02C 0202
Pop_DVR_SA4 0 0402004


CMPSD
; 04F
PushDVR_SS4 028 0402003
PushmD 0402003
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 02200 02200 || Pop_DVR_SA4 018 0286
PushDVR_SS4 0 0402004
PushmD_ES 0402004
Add_DD 022 0FFFFDDFF || Pop_DVR_SA4 01C 0296
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 0FFFFDE21 0FFFFDE21 || Pop_DVR_SA4 02C 0206
Pop_DVR_SA4 018 021DE

; 050
PushDVR_SS4 01C 0296
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 0296 0296 || Pop_DVR_SA4 03C 0286
PushdImmSW_SS4 0F7EA
NNAnd_DD 0FFFFF7EA 0FFFFFD69 || Pop_DVR_SA4 03C 0206
PushDVR_SS4 02C 0206
PushDVR_SS4 02C 0206
NNAnd_DD 0206 0206 || Pop_DVR_SA4 0C 0286
PushdImmSW_SS4 0815
NNAnd_DD 0815 0FFFFFDF9 || Pop_DVR_SA4 038 0202
Add_DD 0202 014 || Pop_DVR_SA4 018 0202
Pop_DVR_SA4 03C 0216

; 051
PushwImmUB_SS2 07
PushdImmSW_SS4 0FBFF
PushDVR_SS4 03C 0216
NNAnd_DD 0216 0FFFFFBFF || Pop_DVR_SA4 018 0206
Shr_D_SS2 0400 07 || Pop_DVR_SA4 01C 0202
PushdImmSB_SS4 0FC
Add_DD 0FFFFFFFC 08 || Pop_DVR_SA4 018 0213
PushEBP_SS4
PushmD_SS 012FFB4
PushDVR_SS4 028 0402003
Add_DD 0402003 04 || Pop_DVR_SA4 038 0202
Pop_DVR_SA4 01C 0402007
PushDVR_SS4 0 0402004
Add_DD 0402004 04 || Pop_DVR_SA4 028 0202
Pop_DVR_SA4 038 0402008


DEC al
; 053
PushwImmUB_SS2 0FF
PushBVR_SS2 034 0CC
Add_BB_SS2 0CC 0FF || Pop_DVR_SA4 028 0293
Pop_BVR_SA2 034 0CB

; 054
PushDVR_SS4 0 0202
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 0202 0202 || Pop_DVR_SA4 018 0282
PushdImmSB_SS4 0FE
NNAnd_DD 0FFFFFFFE 0FFFFFDFD || Pop_DVR_SA4 018 0246
PushDVR_SS4 028 0293
PushDVR_SS4 028 0293
NNAnd_DD 0293 0293 || Pop_DVR_SA4 018 0286
PushdImmSB_SS4 01
NNAnd_DD 01 0FFFFFD6C || Pop_DVR_SA4 0C 0202
Add_DD 0292 0 || Pop_DVR_SA4 018 0202
Pop_DVR_SA4 0C 0292

; 055
PushDVR_SS4 0C 0292
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 0292 0292 || Pop_DVR_SA4 0 0282
PushdImmSB_SS4 0EF
NNAnd_DD 0FFFFFFEF 0FFFFFD6D || Pop_DVR_SA4 0 0202
PushDVR_SS4 0C 0292
PushdImmSB_SS4 010
NNAnd_DD 010 0292 || Pop_DVR_SA4 02C 0282
NNAnd_DD 0FFFFFD6D 010 || Pop_DVR_SA4 0 0206
Pop_DVR_SA4 018 0282


DEC ax
; 057
PushwImmW_SS2 0FFFF
PushWVR_SS2 034 0FFCB
Add_WW_SS2 0FFCB 0FFFF || Pop_DVR_SA4 0 0297
Pop_WVR_SA2 034 0FFCA

; 058
PushDVR_SS4 02C 0206
PushDVR_SS4 02C 0206
NNAnd_DD 0206 0206 || Pop_DVR_SA4 028 0286
PushdImmSB_SS4 0FE
NNAnd_DD 0FFFFFFFE 0FFFFFDF9 || Pop_DVR_SA4 018 0246
PushDVR_SS4 0 0297
PushDVR_SS4 0 0297
NNAnd_DD 0297 0297 || Pop_DVR_SA4 018 0282
PushdImmSB_SS4 01
NNAnd_DD 01 0FFFFFD68 || Pop_DVR_SA4 03C 0206
Add_DD 0296 0 || Pop_DVR_SA4 028 0206
Pop_DVR_SA4 028 0296

; 059
PushDVR_SS4 028 0296
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 0296 0296 || Pop_DVR_SA4 03C 0286
PushdImmSB_SS4 0EF
NNAnd_DD 0FFFFFFEF 0FFFFFD69 || Pop_DVR_SA4 03C 0202
PushDVR_SS4 028 0296
PushdImmSB_SS4 010
NNAnd_DD 010 0296 || Pop_DVR_SA4 018 0286
NNAnd_DD 0FFFFFD69 010 || Pop_DVR_SA4 018 0202
Pop_DVR_SA4 02C 0286


DEC eax
; 05B
PushdImmSB_SS4 0FF
PushDVR_SS4 034 0FFFFFFCA
Add_DD 0FFFFFFCA 0FFFFFFFF || Pop_DVR_SA4 02C 0297
Pop_DVR_SA4 0C 0FFFFFFC9

; 05C
PushDVR_SS4 03C 0202
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 0202 0202 || Pop_DVR_SA4 0 0282
PushdImmSB_SS4 0FE
NNAnd_DD 0FFFFFFFE 0FFFFFDFD || Pop_DVR_SA4 034 0246
PushDVR_SS4 02C 0297
PushDVR_SS4 02C 0297
NNAnd_DD 0297 0297 || Pop_DVR_SA4 014 0282
PushdImmSB_SS4 01
NNAnd_DD 01 0FFFFFD68 || Pop_DVR_SA4 018 0206
Add_DD 0296 0 || Pop_DVR_SA4 014 0206
PushEBP_SS4
PushmD_SS 012FFB4
Pop_DVR_SA4 034 0296
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 0296 0296 || Pop_DVR_SA4 018 0286
PushdImmSB_SS4 0EF
NNAnd_DD 0FFFFFFEF 0FFFFFD69 || Pop_DVR_SA4 0 0202
PushDVR_SS4 034 0296
PushdImmSB_SS4 010
NNAnd_DD 010 0296 || Pop_DVR_SA4 018 0286
NNAnd_DD 0FFFFFD69 010 || Pop_DVR_SA4 03C 0202
Pop_DVR_SA4 014 0286


mov edx 0
; 05E
PushdImmSB_SS4 0
Pop_DVR_SA4 018 0

DIV ecx
; 05F
PushDVR_SS4 024 0584345
PushDVR_SS4 0C 0FFFFFFC9
PushDVR_SS4 018 0
DIV6432 0 0FFFFFFC9 0584345 || Pop_DVR_SA4 028 0206
Pop_DVR_SA4 034 02D05CB
Pop_DVR_SA4 018 02E6


mov edx 0
; 061
PushdImmSB_SS4 0
Pop_DVR_SA4 014 0

DIV cx
; 062
PushWVR_SS2 024 04345
PushWVR_SS2 018 02E6
PushWVR_SS2 014 0
DIV3216_SS2 0 02E6 04345 || Pop_DVR_SA4 028 0202
Pop_WVR_SA2 014 02E6
Pop_WVR_SA2 018 0


mov edx 0
; 064
PushdImmSB_SS4 0
Pop_DVR_SA4 0C 0

DIV cl
; 065
PushBVR_SS2 024 045
PushWVR_SS2 018 0
DIV168_SS2 0 045 || Pop_DVR_SA4 014 0206
Pop_WVR_SA2 018 0


mov edx 0
; 067
PushdImmSB_SS4 0
Pop_DVR_SA4 014 0

IDIV cl
; 068
PushBVR_SS2 024 045
PushWVR_SS2 018 0
IDIV168_SS2 0 045 || Pop_DVR_SA4 0 0206
Pop_WVR_SA2 018 0


mov edx 0
; 06A
PushdImmSB_SS4 0
Pop_DVR_SA4 03C 0

IDIV cx
; 06B
PushWVR_SS2 024 04345
PushWVR_SS2 018 0
PushWVR_SS2 03C 0
IDIV3216_SS2 0 0 04345 || Pop_DVR_SA4 0 0202
Pop_WVR_SA2 03C 0
Pop_WVR_SA2 018 0


mov edx 0
; 06D
PushdImmSB_SS4 0
Pop_DVR_SA4 0C 0

IDIV ecx
; 06E
PushDVR_SS4 024 0584345
PushDVR_SS4 018 0
PushDVR_SS4 0C 0
IDIV6432 0 0 0584345 || Pop_DVR_SA4 03C 0206
Pop_DVR_SA4 014 0
Pop_DVR_SA4 0C 0


IMUL cl
; 070
PushBVR_SS2 024 045
PushBVR_SS2 0C 0
IMUL8_SS2 0 045 || Pop_DVR_SA4 03C 0206
Pop_WVR_SA2 0C 0

; 071
PushDVR_SS4 020 0202
PushDVR_SS4 020 0202
NNAnd_DD 0202 0202 || Pop_DVR_SA4 02C 0282
PushdImmSW_SS4 0FF2B
NNAnd_DD 0FFFFFF2B 0FFFFFDFD || Pop_DVR_SA4 034 0246
PushDVR_SS4 03C 0206
PushDVR_SS4 03C 0206
NNAnd_DD 0206 0206 || Pop_DVR_SA4 02C 0286
PushdImmSW_SS4 0D4
NNAnd_DD 0D4 0FFFFFDF9 || Pop_DVR_SA4 034 0202
Add_DD 0202 0 || Pop_DVR_SA4 02C 0202
Pop_DVR_SA4 034 0202


IMUL cx
; 073
PushWVR_SS2 024 04345
PushWVR_SS2 0C 0
IMUL16_SS4 0 04345 || Pop_DVR_SA4 020 0202
Pop_WVR_SA2 014 0
Pop_WVR_SA2 0C 0

; 074
PushDVR_SS4 02C 0206
PushDVR_SS4 02C 0206
NNAnd_DD 0206 0206 || Pop_DVR_SA4 03C 0286
PushdImmSW_SS4 0FF2B
NNAnd_DD 0FFFFFF2B 0FFFFFDF9 || Pop_DVR_SA4 0 0202
PushDVR_SS4 020 0202
PushDVR_SS4 020 0202
NNAnd_DD 0202 0202 || Pop_DVR_SA4 018 0282
PushdImmSW_SS4 0D4
NNAnd_DD 0D4 0FFFFFDFD || Pop_DVR_SA4 018 0202
Add_DD 0202 04 || Pop_DVR_SA4 03C 0206
Pop_DVR_SA4 028 0206


IMUL ecx
; 076
PushDVR_SS4 024 0584345
PushDVR_SS4 0C 0
IMUL32_SS4 0 0584345 || Pop_DVR_SA4 034 0216
Pop_DVR_SA4 020 0
Pop_DVR_SA4 03C 0

; 077
PushDVR_SS4 018 0206
PushDVR_SS4 018 0206
NNAnd_DD 0206 0206 || Pop_DVR_SA4 028 0286
PushdImmSW_SS4 0FF2B
NNAnd_DD 0FFFFFF2B 0FFFFFDF9 || Pop_DVR_SA4 028 0202
PushDVR_SS4 034 0216
PushEBP_SS4
PushmD_SS 012FFB0
NNAnd_DD 0216 0216 || Pop_DVR_SA4 0C 0282
PushdImmSW_SS4 0D4
NNAnd_DD 0D4 0FFFFFDE9 || Pop_DVR_SA4 028 0202
Add_DD 0202 04 || Pop_DVR_SA4 0 0206
Pop_DVR_SA4 014 0206


IMUL edx ecx 028
; 079
PushdImmSB_SS4 028
PushDVR_SS4 024 0584345
IMUL32_SS4 0584345 028 || Pop_DVR_SA4 014 0216
Pop_DVR_SA4 018 0
Pop_DVR_SA4 034 0DCA82C8

; 07A
PushDVR_SS4 0C 0202
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 0202 0202 || Pop_DVR_SA4 02C 0282
PushdImmSW_SS4 0FF2B
NNAnd_DD 0FFFFFF2B 0FFFFFDFD || Pop_DVR_SA4 02C 0246
PushDVR_SS4 014 0216
PushDVR_SS4 014 0216
NNAnd_DD 0216 0216 || Pop_DVR_SA4 018 0282
PushdImmSW_SS4 0D4
NNAnd_DD 0D4 0FFFFFDE9 || Pop_DVR_SA4 020 0202
Add_DD 0202 0 || Pop_DVR_SA4 02C 0202
Pop_DVR_SA4 020 0202


INC al
; 07C
PushwImmUB_SS2 01
PushBVR_SS2 03C 0
Add_BB_SS2 0 01 || Pop_DVR_SA4 018 0202
Pop_BVR_SA2 03C 01

; 07D
PushDVR_SS4 0 0216
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 0216 0216 || Pop_DVR_SA4 014 0282
PushdImmSB_SS4 0FE
NNAnd_DD 0FFFFFFFE 0FFFFFDE9 || Pop_DVR_SA4 028 0246
PushDVR_SS4 018 0202
PushDVR_SS4 018 0202
NNAnd_DD 0202 0202 || Pop_DVR_SA4 02C 0282
PushdImmSB_SS4 01
NNAnd_DD 01 0FFFFFDFD || Pop_DVR_SA4 020 0202
Add_DD 0202 0 || Pop_DVR_SA4 028 0202
Pop_DVR_SA4 028 0202


INC ax
; 07F
PushWVR_SS2 03C 01
PushwImmUB_SS2 01
Add_WW_SS2 01 01 || Pop_DVR_SA4 014 0202
Pop_WVR_SA2 03C 02

; 080
PushDVR_SS4 02C 0202
PushDVR_SS4 02C 0202
NNAnd_DD 0202 0202 || Pop_DVR_SA4 028 0282
PushdImmSB_SS4 0FE
NNAnd_DD 0FFFFFFFE 0FFFFFDFD || Pop_DVR_SA4 0C 0246
PushDVR_SS4 014 0202
PushEBP_SS4
PushmD_SS 012FFB0
NNAnd_DD 0202 0202 || Pop_DVR_SA4 028 0282
PushdImmSB_SS4 01
NNAnd_DD 01 0FFFFFDFD || Pop_DVR_SA4 018 0202
Add_DD 0202 0 || Pop_DVR_SA4 020 0202
Pop_DVR_SA4 028 0202


INC eax
; 082
PushdImmSB_SS4 01
PushDVR_SS4 03C 02
Add_DD 02 01 || Pop_DVR_SA4 0 0206
Pop_DVR_SA4 028 03

; 083
PushDVR_SS4 02C 0202
PushDVR_SS4 02C 0202
NNAnd_DD 0202 0202 || Pop_DVR_SA4 0C 0282
PushdImmSB_SS4 0FE
NNAnd_DD 0FFFFFFFE 0FFFFFDFD || Pop_DVR_SA4 03C 0246
PushDVR_SS4 0 0206
PushEBP_SS4
PushmD_SS 012FFB0
NNAnd_DD 0206 0206 || Pop_DVR_SA4 020 0286
PushdImmSB_SS4 01
NNAnd_DD 01 0FFFFFDF9 || Pop_DVR_SA4 03C 0206
Add_DD 0206 0 || Pop_DVR_SA4 014 0206
Pop_DVR_SA4 014 0206


LAHF
; 085
PushWVR_SS2 03C 0206
Pop_BVR_SA2 029 06


SAHF
; 087
PushBVR_SS2 029 06
PushEBP_SS4
PushmB_SS_SA2 012FFB6
NNAnd_BB_SS2 06 06 || Pop_DVR_SA4 014 0286
PushwImmUB_SS2 02A
NNAnd_BB_SS2 02A 0F9 || Pop_DVR_SA4 018 0202
PushWVR_SS2 020 0202
PushWVR_SS2 020 0202
NNAnd_WW_SS2 0202 0202 || Pop_DVR_SA4 02C 0282
PushwImmUB_SS2 0D5
NNAnd_WW_SS2 0D5 0FDFD || Pop_DVR_SA4 018 0202
Add_WW_SS2 0202 04 || Pop_DVR_SA4 018 0206
Pop_WVR_SA2 020 0206


LEA eax D$ecx+eax+0EEE
; 089
PushdImmSW_SS4 0EEE
PushDVR_SS4 024 0584345
PushDVR_SS4 028 0603
Add_DD 0603 0584345 || Pop_DVR_SA4 014 0206
Add_DD 0584948 0EEE || Pop_DVR_SA4 0C 0216
Pop_DVR_SA4 020 0585836


LODSB
; 08B
PushDVR_SS4 01C 0402007
PushmB_SA2 0402007
Pop_BVR_SA2 020 0

; 08C
PushwImmUB_SS2 09
PushDVR_SS4 014 0206
PushdImmSW_SS4 0FBFF
NNAnd_DD 0FFFFFBFF 0206 || Pop_DVR_SA4 03C 0206
Shr_D_SS2 0400 09 || Pop_DVR_SA4 028 0202
PushdImmSB_SS4 0FF
Add_DD 0FFFFFFFF 02 || Pop_DVR_SA4 0C 0213
PushDVR_SS4 01C 0402007
Add_DD 0402007 01 || Pop_DVR_SA4 0C 0202
Pop_DVR_SA4 028 0402008


LODSW
; 08E
PushDVR_SS4 028 0402008
PushmW_SA2 0402008
Pop_WVR_SA2 020 0

; 08F
PushwImmUB_SS2 08
PushdImmSW_SS4 0FBFF
PushDVR_SS4 0C 0202
NNAnd_DD 0202 0FFFFFBFF || Pop_DVR_SA4 03C 0206
Shr_D_SS2 0400 08 || Pop_DVR_SA4 018 0202
PushdImmSB_SS4 0FE
Add_DD 0FFFFFFFE 04 || Pop_DVR_SA4 02C 0213
PushDVR_SS4 028 0402008
Add_DD 0402008 02 || Pop_DVR_SA4 03C 0206
Pop_DVR_SA4 02C 040200A


LODSD
; 091
PushDVR_SS4 02C 040200A
PushmD 040200A
Pop_DVR_SA4 01C 022330000

; 092
PushwImmUB_SS2 07
PushdImmSW_SS4 0FBFF
PushDVR_SS4 03C 0202
NNAnd_DD 0202 0FFFFFBFF || Pop_DVR_SA4 020 0206
Shr_D_SS2 0400 07 || Pop_DVR_SA4 020 0202
PushdImmSB_SS4 0FC
Add_DD 0FFFFFFFC 08 || Pop_DVR_SA4 0C 0213
PushDVR_SS4 02C 040200A
Add_DD 040200A 04 || Pop_DVR_SA4 020 0202
Pop_DVR_SA4 018 040200E


MOVSB
; 094
PushDVR_SS4 018 040200E
PushmB_SA2 040200E
PushDVR_SS4 038 0402008
Popm_B_ES_SA6 0402008 011

; 095
PushwImmUB_SS2 09
PushDVR_SS4 0C 0206
PushdImmSW_SS4 0FBFF
NNAnd_DD 0FFFFFBFF 0206 || Pop_DVR_SA4 020 0206
Shr_D_SS2 0400 09 || Pop_DVR_SA4 020 0202
PushdImmSB_SS4 0FF
Add_DD 0FFFFFFFF 02 || Pop_DVR_SA4 03C 0213
PushEBP_SS4
PushmD_SS 012FFB4
PushDVR_SS4 018 040200E
Add_DD 040200E 01 || Pop_DVR_SA4 03C 0206
Pop_DVR_SA4 020 040200F
PushDVR_SS4 038 0402008
Add_DD 0402008 01 || Pop_DVR_SA4 014 0206
Pop_DVR_SA4 018 0402009


MOVSW
; 097
PushDVR_SS4 020 040200F
PushmW_SA2 040200F
PushDVR_SS4 018 0402009
Popm_W_ES_SA6 0402009 011

; 098
PushwImmUB_SS2 08
PushDVR_SS4 02C 0206
PushdImmSW_SS4 0FBFF
NNAnd_DD 0FFFFFBFF 0206 || Pop_DVR_SA4 03C 0206
Shr_D_SS2 0400 08 || Pop_DVR_SA4 014 0202
PushdImmSB_SS4 0FE
Add_DD 0FFFFFFFE 04 || Pop_DVR_SA4 014 0213
PushEBP_SS4
PushmD_SS 012FFB4
PushDVR_SS4 020 040200F
Add_DD 040200F 02 || Pop_DVR_SA4 0C 0216
Pop_DVR_SA4 0C 0402011
PushDVR_SS4 018 0402009
Add_DD 0402009 02 || Pop_DVR_SA4 028 0202
Pop_DVR_SA4 020 040200B


MOVSD
; 09A
PushDVR_SS4 0C 0402011
PushmD 0402011
PushDVR_SS4 020 040200B
Popm_D_ES_SA8 040200B 0

; 09B
PushwImmUB_SS2 07
PushdImmSW_SS4 0FBFF
PushDVR_SS4 018 0202
NNAnd_DD 0202 0FFFFFBFF || Pop_DVR_SA4 028 0206
Shr_D_SS2 0400 07 || Pop_DVR_SA4 038 0202
PushdImmSB_SS4 0FC
Add_DD 0FFFFFFFC 08 || Pop_DVR_SA4 028 0213
PushEBP_SS4
PushmD_SS 012FFB4
PushDVR_SS4 0C 0402011
Add_DD 0402011 04 || Pop_DVR_SA4 038 0202
Pop_DVR_SA4 02C 0402015
PushDVR_SS4 020 040200B
Add_DD 040200B 04 || Pop_DVR_SA4 028 0206
Pop_DVR_SA4 038 040200F


MOVSX ax dh
; 09D
PushwImmUB_SS2 08
PushwImmUB_SS2 01
PushwImmUB_SS2 07
PushBVR_SS2 035 082
Shr_W_SS2 082 07 || Pop_DVR_SA4 020 0212
PushEBP_SS4
PushmW_SS_SA2 012FFB2
NNAnd_WW_SS2 01 01 || Pop_DVR_SA4 03C 0282
Add_WW_SS2 0FFFE 01 || Pop_DVR_SA4 020 0286
Shl_W_SS2 0FFFF 08 || Pop_DVR_SA4 03C 0206
PushBVR_SS2 035 082
Add_WW_SS2 082 0FF00 || Pop_DVR_SA4 0C 0286
Pop_WVR_SA2 01C 0FF82


MOVSX eax dh
; 09F
PushwImmUB_SS2 01
PushwImmUB_SS2 07
PushBVR_SS2 035 082
Shr_W_SS2 082 07 || Pop_DVR_SA4 014 0202
PushEBP_SS4
PushmW_SS_SA2 012FFB4
NNAnd_WW_SS2 01 01 || Pop_DVR_SA4 020 0282
Add_WW_SS2 0FFFE 01 || Pop_DVR_SA4 018 0286
PushwImmUB_SS2 08
PushEBP_SS4
PushdImmSB_SS4 02
Add_DD 02 012FFB4 || Pop_DVR_SA4 014 0202
PushmW_SS_SA2 012FFB6
Shl_W_SS2 0FFFF 08 || Pop_DVR_SA4 018 0206
PushBVR_SS2 035 082
Add_WW_SS2 082 0FF00 || Pop_DVR_SA4 028 0286
Pop_DVR_SA4 014 0FFFFFF82


MOVSX eax dx
; 0A1
PushwImmUB_SS2 01
PushwImmUB_SS2 0F
PushWVR_SS2 034 082C8
Shr_W_SS2 082C8 0F || Pop_DVR_SA4 028 0202
PushEBP_SS4
PushmW_SS_SA2 012FFB4
NNAnd_WW_SS2 01 01 || Pop_DVR_SA4 0C 0282
Add_WW_SS2 0FFFE 01 || Pop_DVR_SA4 0C 0286
PushWVR_SS2 034 082C8
Pop_DVR_SA4 018 0FFFF82C8


MOVZX ax dh
; 0A3
PushBVR_SS2 035 082
Pop_WVR_SA2 018 082


MOVZX eax dh
; 0A5
PushwImmUB_SS2 0
PushBVR_SS2 035 082
Pop_DVR_SA4 028 082


MOVZX eax dx
; 0A7
PushwImmUB_SS2 0
PushWVR_SS2 034 082C8
Pop_DVR_SA4 020 082C8


MUL dl
; 0A9
PushBVR_SS2 034 0C8
PushBVR_SS2 020 0C8
MUL8_SS2 0C8 0C8 || Pop_DVR_SA4 0C 0A07
Pop_WVR_SA2 020 09C40

; 0AA
PushDVR_SS4 014 0206
PushDVR_SS4 014 0206
NNAnd_DD 0206 0206 || Pop_DVR_SA4 0 0286
PushdImmSW_SS4 0FF2B
NNAnd_DD 0FFFFFF2B 0FFFFFDF9 || Pop_DVR_SA4 0 0202
PushDVR_SS4 0C 0A07
PushDVR_SS4 0C 0A07
NNAnd_DD 0A07 0A07 || Pop_DVR_SA4 018 0282
PushdImmSW_SS4 0D4
NNAnd_DD 0D4 0FFFFF5F8 || Pop_DVR_SA4 0 0206
Add_DD 0A03 04 || Pop_DVR_SA4 0 0202
Pop_DVR_SA4 0 0A07


MUL dx
; 0AC
PushWVR_SS2 034 082C8
PushWVR_SS2 020 09C40
MUL16_SS4 09C40 082C8 || Pop_DVR_SA4 014 0A03
Pop_WVR_SA2 034 04FD2
Pop_WVR_SA2 020 09200

; 0AD
PushDVR_SS4 03C 0202
PushDVR_SS4 03C 0202
NNAnd_DD 0202 0202 || Pop_DVR_SA4 0C 0282
PushdImmSW_SS4 0FF2B
NNAnd_DD 0FFFFFF2B 0FFFFFDFD || Pop_DVR_SA4 028 0246
PushDVR_SS4 014 0A03
PushEBP_SS4
PushmD_SS 012FFB0
NNAnd_DD 0A03 0A03 || Pop_DVR_SA4 01C 0286
PushdImmSW_SS4 0D4
NNAnd_DD 0D4 0FFFFF5FC || Pop_DVR_SA4 0C 0206
Add_DD 0A03 0 || Pop_DVR_SA4 0 0206
Pop_DVR_SA4 01C 0A03


MUL edx
; 0AF
PushDVR_SS4 034 0DCA4FD2
PushDVR_SS4 020 09200
MUL32_SS4 09200 0DCA4FD2 || Pop_DVR_SA4 018 0A17
Pop_DVR_SA4 028 07DD
Pop_DVR_SA4 034 06185C400

; 0B0
PushDVR_SS4 0 0206
PushDVR_SS4 0 0206
NNAnd_DD 0206 0206 || Pop_DVR_SA4 020 0286
PushdImmSW_SS4 0FF2B
NNAnd_DD 0FFFFFF2B 0FFFFFDF9 || Pop_DVR_SA4 014 0202
PushDVR_SS4 018 0A17
PushEBP_SS4
PushmD_SS 012FFB0
NNAnd_DD 0A17 0A17 || Pop_DVR_SA4 01C 0286
PushdImmSW_SS4 0D4
NNAnd_DD 0D4 0FFFFF5E8 || Pop_DVR_SA4 0C 0206
Add_DD 0A03 04 || Pop_DVR_SA4 01C 0202
Pop_DVR_SA4 01C 0A07



evaluator
June 1st, 2009, 02:00
Code:
NEG dl
; 0B2
PushwImmUB_SS2 0FF
PushBVR_SS2 028 0DD
Add_BB_SS2 0DD 0FF || Pop_DVR_SA4 01C 0293
PushEBP_SS4
PushmB_SS_SA2 012FFB6
NNAnd_BB_SS2 0DC 0DC || Pop_DVR_SA4 0 0202
Pop_BVR_SA2 028 023

; 0B3
PushDVR_SS4 01C 0293
PushDVR_SS4 01C 0293
NNAnd_DD 0293 0293 || Pop_DVR_SA4 018 0286
PushdImmSW_SS4 0F7EA
NNAnd_DD 0FFFFF7EA 0FFFFFD6C || Pop_DVR_SA4 020 0206
PushDVR_SS4 0 0202
PushEBP_SS4
PushmD_SS 012FFB0
NNAnd_DD 0202 0202 || Pop_DVR_SA4 018 0282
PushdImmSW_SS4 0815
NNAnd_DD 0815 0FFFFFDFD || Pop_DVR_SA4 03C 0202
Add_DD 0202 011 || Pop_DVR_SA4 020 0202
Pop_DVR_SA4 020 0213


NEG dx
; 0B5
PushwImmW_SS2 0FFFF
PushWVR_SS2 028 0723
Add_WW_SS2 0723 0FFFF || Pop_DVR_SA4 014 0217
PushEBP_SS4
PushmW_SS_SA2 012FFB6
NNAnd_WW_SS2 0722 0722 || Pop_DVR_SA4 0C 0286
Pop_WVR_SA2 028 0F8DD

; 0B6
PushDVR_SS4 014 0217
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 0217 0217 || Pop_DVR_SA4 0 0286
PushdImmSW_SS4 0F7EA
NNAnd_DD 0FFFFF7EA 0FFFFFDE8 || Pop_DVR_SA4 01C 0202
PushDVR_SS4 0C 0286
PushDVR_SS4 0C 0286
NNAnd_DD 0286 0286 || Pop_DVR_SA4 020 0282
PushdImmSW_SS4 0815
NNAnd_DD 0815 0FFFFFD79 || Pop_DVR_SA4 01C 0206
Add_DD 0282 015 || Pop_DVR_SA4 03C 0202
Pop_DVR_SA4 01C 0297


NEG edx
; 0B8
PushdImmSB_SS4 0FF
PushDVR_SS4 028 0F8DD
Add_DD 0F8DD 0FFFFFFFF || Pop_DVR_SA4 03C 0213
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 0F8DC 0F8DC || Pop_DVR_SA4 020 0282
Pop_DVR_SA4 0C 0FFFF0723

; 0B9
PushDVR_SS4 03C 0213
PushDVR_SS4 03C 0213
NNAnd_DD 0213 0213 || Pop_DVR_SA4 028 0282
PushdImmSW_SS4 0F7EA
NNAnd_DD 0FFFFF7EA 0FFFFFDEC || Pop_DVR_SA4 028 0206
PushDVR_SS4 020 0282
PushEBP_SS4
PushmD_SS 012FFB0
NNAnd_DD 0282 0282 || Pop_DVR_SA4 0 0286
PushdImmSW_SS4 0815
NNAnd_DD 0815 0FFFFFD7D || Pop_DVR_SA4 0 0206
Add_DD 0282 011 || Pop_DVR_SA4 028 0206
Pop_DVR_SA4 0 0293


NOT dl
; 0BB
PushBVR_SS2 0C 023
PushEBP_SS4
PushmB_SS_SA2 012FFB6
NNAnd_BB_SS2 023 023 || Pop_DVR_SA4 014 0282
Pop_BVR_SA2 0C 0DC


NOT dx
; 0BD
PushWVR_SS2 0C 07DC
PushEBP_SS4
PushmW_SS_SA2 012FFB6
NNAnd_WW_SS2 07DC 07DC || Pop_DVR_SA4 018 0282
Pop_WVR_SA2 0C 0F823


NOT edx
; 0BF
PushDVR_SS4 0C 0FFFFF823
PushDVR_SS4 0C 0FFFFF823
NNAnd_DD 0FFFFF823 0FFFFF823 || Pop_DVR_SA4 014 0202
Pop_DVR_SA4 028 07DC


OR al cl
; 0C1
PushBVR_SS2 034 0
PushBVR_SS2 024 045
NNAnd_BB_SS2 045 0 || Pop_DVR_SA4 018 0282
PushEBP_SS4
PushmB_SS_SA2 012FFB6
NNAnd_BB_SS2 0BA 0BA || Pop_DVR_SA4 03C 0202
Pop_BVR_SA2 034 045


OR ax dx
; 0C3
PushWVR_SS2 028 07DC
PushWVR_SS2 034 0C445
NNAnd_WW_SS2 0C445 07DC || Pop_DVR_SA4 0 0206
PushEBP_SS4
PushmW_SS_SA2 012FFB6
NNAnd_WW_SS2 03822 03822 || Pop_DVR_SA4 01C 0286
Pop_WVR_SA2 034 0C7DD


OR eax edx
; 0C5
PushDVR_SS4 034 06185C7DD
PushDVR_SS4 028 07DC
NNAnd_DD 07DC 06185C7DD || Pop_DVR_SA4 0C 0286
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 09E7A3822 09E7A3822 || Pop_DVR_SA4 0C 0206
Pop_DVR_SA4 0 06185C7DD


RCL al 3
; 0C7
PushwImmUB_SS2 08
PushWVR_SS2 01C 0206
PushEBP_SS4
PushmW_SS_SA2 012FFB4
NNAnd_WW_SS2 0206 0206 || Pop_DVR_SA4 018 0286
PushwImmW_SS2 0FFFE
NNAnd_WW_SS2 0FFFE 0FDF9 || Pop_DVR_SA4 018 0246
Shl_W_SS2 0 08 || Pop_DVR_SA4 018 0246
PushwImmUB_SS2 03
Add_WW_SS2 03 0 || Pop_DVR_SA4 018 0206
PushBVR_SS2 0 0DD
Rcl_B_SS2 0DD 03 || Pop_DVR_SA4 03C 0246
Pop_BVR_SA2 0 0EB

; 0C8
PushDVR_SS4 01C 0206
PushDVR_SS4 01C 0206
NNAnd_DD 0206 0206 || Pop_DVR_SA4 020 0286
PushdImmSW_SS4 0FF2B
NNAnd_DD 0FFFFFF2B 0FFFFFDF9 || Pop_DVR_SA4 014 0202
PushDVR_SS4 03C 0246
PushDVR_SS4 03C 0246
NNAnd_DD 0246 0246 || Pop_DVR_SA4 0C 0282
PushdImmSW_SS4 0D4
NNAnd_DD 0D4 0FFFFFDB9 || Pop_DVR_SA4 018 0202
Add_DD 0202 04 || Pop_DVR_SA4 020 0206
Pop_DVR_SA4 020 0206


RCL ax 3
; 0CA
PushwImmUB_SS2 08
PushWVR_SS2 014 0202
PushEBP_SS4
PushmW_SS_SA2 012FFB4
NNAnd_WW_SS2 0202 0202 || Pop_DVR_SA4 020 0282
PushwImmW_SS2 0FFFE
NNAnd_WW_SS2 0FFFE 0FDFD || Pop_DVR_SA4 01C 0246
Shl_W_SS2 0 08 || Pop_DVR_SA4 018 0246
PushwImmUB_SS2 03
Add_WW_SS2 03 0 || Pop_DVR_SA4 018 0206
PushWVR_SS2 0 0C7EB
Rcl_W_SS2 0C7EB 03 || Pop_DVR_SA4 020 0246
Pop_WVR_SA2 0 03F58

; 0CB
PushDVR_SS4 014 0202
PushDVR_SS4 014 0202
NNAnd_DD 0202 0202 || Pop_DVR_SA4 018 0282
PushdImmSW_SS4 0FF2B
NNAnd_DD 0FFFFFF2B 0FFFFFDFD || Pop_DVR_SA4 01C 0246
PushDVR_SS4 020 0246
PushDVR_SS4 020 0246
NNAnd_DD 0246 0246 || Pop_DVR_SA4 03C 0282
PushdImmSW_SS4 0D4
NNAnd_DD 0D4 0FFFFFDB9 || Pop_DVR_SA4 018 0202
Add_DD 0202 0 || Pop_DVR_SA4 034 0202
Pop_DVR_SA4 034 0202


RCL eax 3
; 0CD
PushwImmUB_SS2 08
PushWVR_SS2 014 0216
PushWVR_SS2 014 0216
NNAnd_WW_SS2 0216 0216 || Pop_DVR_SA4 01C 0282
PushwImmW_SS2 0FFFE
NNAnd_WW_SS2 0FFFE 0FDE9 || Pop_DVR_SA4 034 0246
Shl_W_SS2 0 08 || Pop_DVR_SA4 034 0246
PushwImmUB_SS2 03
Add_WW_SS2 03 0 || Pop_DVR_SA4 018 0206
PushDVR_SS4 0 061853F58
Rcl_D_SS2 061853F58 03 || Pop_DVR_SA4 01C 0247
Pop_DVR_SA4 020 0C29FAC1

; 0CE
PushDVR_SS4 014 0216
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 0216 0216 || Pop_DVR_SA4 0C 0282
PushdImmSW_SS4 0FF2B
NNAnd_DD 0FFFFFF2B 0FFFFFDE9 || Pop_DVR_SA4 034 0206
PushDVR_SS4 01C 0247
PushEBP_SS4
PushmD_SS 012FFB0
NNAnd_DD 0247 0247 || Pop_DVR_SA4 0C 0286
PushdImmSW_SS4 0D4
NNAnd_DD 0D4 0FFFFFDB8 || Pop_DVR_SA4 034 0206
Add_DD 0203 014 || Pop_DVR_SA4 034 0206
Pop_DVR_SA4 0 0217


RCR al 3
; 0D0
PushwImmUB_SS2 08
PushWVR_SS2 0C 0202
PushEBP_SS4
PushmW_SS_SA2 012FFB4
NNAnd_WW_SS2 0202 0202 || Pop_DVR_SA4 03C 0282
PushwImmW_SS2 0FFFE
NNAnd_WW_SS2 0FFFE 0FDFD || Pop_DVR_SA4 018 0246
Shl_W_SS2 0 08 || Pop_DVR_SA4 0 0246
PushwImmUB_SS2 03
Add_WW_SS2 03 0 || Pop_DVR_SA4 0 0206
PushBVR_SS2 020 0C1
Rcr_B_SS2 0C1 03 || Pop_DVR_SA4 0 0246
Pop_BVR_SA2 020 058

; 0D1
PushDVR_SS4 0C 0202
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 0202 0202 || Pop_DVR_SA4 03C 0282
PushdImmSW_SS4 0FF2B
NNAnd_DD 0FFFFFF2B 0FFFFFDFD || Pop_DVR_SA4 034 0246
PushDVR_SS4 0 0246
PushDVR_SS4 0 0246
NNAnd_DD 0246 0246 || Pop_DVR_SA4 03C 0282
PushdImmSW_SS4 0D4
NNAnd_DD 0D4 0FFFFFDB9 || Pop_DVR_SA4 018 0202
Add_DD 0202 0 || Pop_DVR_SA4 01C 0202
Pop_DVR_SA4 01C 0202


RCR ax 3
; 0D3
PushwImmUB_SS2 08
PushWVR_SS2 0C 0202
PushEBP_SS4
PushmW_SS_SA2 012FFB4
NNAnd_WW_SS2 0202 0202 || Pop_DVR_SA4 034 0282
PushwImmW_SS2 0FFFE
NNAnd_WW_SS2 0FFFE 0FDFD || Pop_DVR_SA4 01C 0246
Shl_W_SS2 0 08 || Pop_DVR_SA4 014 0246
PushwImmUB_SS2 03
Add_WW_SS2 03 0 || Pop_DVR_SA4 03C 0206
PushWVR_SS2 020 0FA58
Rcr_W_SS2 0FA58 03 || Pop_DVR_SA4 014 0246
Pop_WVR_SA2 020 01F4B

; 0D4
PushDVR_SS4 0C 0202
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 0202 0202 || Pop_DVR_SA4 03C 0282
PushdImmSW_SS4 0FF2B
NNAnd_DD 0FFFFFF2B 0FFFFFDFD || Pop_DVR_SA4 03C 0246
PushDVR_SS4 014 0246
PushDVR_SS4 014 0246
NNAnd_DD 0246 0246 || Pop_DVR_SA4 0 0282
PushdImmSW_SS4 0D4
NNAnd_DD 0D4 0FFFFFDB9 || Pop_DVR_SA4 0 0202
Add_DD 0202 0 || Pop_DVR_SA4 034 0202
Pop_DVR_SA4 034 0202


RCR eax 3
; 0D6
PushwImmUB_SS2 08
PushWVR_SS2 0 0206
PushEBP_SS4
PushmW_SS_SA2 012FFB4
NNAnd_WW_SS2 0206 0206 || Pop_DVR_SA4 01C 0286
PushwImmW_SS2 0FFFE
NNAnd_WW_SS2 0FFFE 0FDF9 || Pop_DVR_SA4 03C 0246
Shl_W_SS2 0 08 || Pop_DVR_SA4 03C 0246
PushwImmUB_SS2 03
Add_WW_SS2 03 0 || Pop_DVR_SA4 018 0206
PushDVR_SS4 020 0C291F4B
Rcr_D_SS2 0C291F4B 03 || Pop_DVR_SA4 01C 0246
Pop_DVR_SA4 0C 0C18523E9

; 0D7
PushDVR_SS4 0 0206
PushDVR_SS4 0 0206
NNAnd_DD 0206 0206 || Pop_DVR_SA4 020 0286
PushdImmSW_SS4 0FF2B
NNAnd_DD 0FFFFFF2B 0FFFFFDF9 || Pop_DVR_SA4 020 0202
PushDVR_SS4 01C 0246
PushDVR_SS4 01C 0246
NNAnd_DD 0246 0246 || Pop_DVR_SA4 014 0282
PushdImmSW_SS4 0D4
NNAnd_DD 0D4 0FFFFFDB9 || Pop_DVR_SA4 020 0202
Add_DD 0202 04 || Pop_DVR_SA4 018 0206
Pop_DVR_SA4 018 0206


and ecx 7
; 0D9
PushdImmSB_SS4 0F8
PushDVR_SS4 024 0584345
PushEBP_SS4
PushmD_SS 012FFB0
NNAnd_DD 0584345 0584345 || Pop_DVR_SA4 014 0282
NNAnd_DD 0FFA7BCBA 0FFFFFFF8 || Pop_DVR_SA4 0 0206
Pop_DVR_SA4 018 05


ROL al 3
; 0DB
PushwImmUB_SS2 03
PushBVR_SS2 0C 0E9
PushwImmUB_SS2 08
PushdImmSB_SS4 06
PushEBP_SS4
Add_DD 012FFAE 06 || Pop_DVR_SA4 0 0216
PushmW_SS_SA2 012FFB4
Shl_W_SS2 0E9 08 || Pop_DVR_SA4 014 0216
Add_WW_SS2 0E900 0E9 || Pop_DVR_SA4 020 0282
PushEBP_SS4
PushmW_SS_SA2 012FFB4
PushEBP_SS4
PushmD_SS 012FFB2
SHLD_SA2 0E9E9E9E9 0E9E9E9E9 03 || Pop_DVR_SA4 014 0213
Pop_BVR_SA2 0C 04F
Pop_WVR_SA2 0 04F4F

; 0DC
PushDVR_SS4 024 0206
PushDVR_SS4 024 0206
NNAnd_DD 0206 0206 || Pop_DVR_SA4 03C 0286
PushdImmSW_SS4 0FF2B
NNAnd_DD 0FFFFFF2B 0FFFFFDF9 || Pop_DVR_SA4 0 0202
PushDVR_SS4 014 0213
PushEBP_SS4
PushmD_SS 012FFB0
NNAnd_DD 0213 0213 || Pop_DVR_SA4 0 0282
PushdImmSW_SS4 0D4
NNAnd_DD 0D4 0FFFFFDEC || Pop_DVR_SA4 03C 0206
Add_DD 0203 04 || Pop_DVR_SA4 0 0202
Pop_DVR_SA4 020 0207


ROL ax 3
; 0DE
PushwImmUB_SS2 03
PushWVR_SS2 0C 0234F
PushEBP_SS4
PushmW_SS_SA2 012FFB4
PushEBP_SS4
PushmD_SS 012FFB2
SHLD_SA2 0234F234F 0234F234F 03 || Pop_DVR_SA4 034 0213
Pop_WVR_SA2 0C 01A79
Pop_WVR_SA2 01C 01A79

; 0DF
PushDVR_SS4 0 0206
PushDVR_SS4 0 0206
NNAnd_DD 0206 0206 || Pop_DVR_SA4 024 0286
PushdImmSW_SS4 0FF2B
NNAnd_DD 0FFFFFF2B 0FFFFFDF9 || Pop_DVR_SA4 014 0202
PushDVR_SS4 034 0213
PushEBP_SS4
PushmD_SS 012FFB0
NNAnd_DD 0213 0213 || Pop_DVR_SA4 014 0282
PushdImmSW_SS4 0D4
NNAnd_DD 0D4 0FFFFFDEC || Pop_DVR_SA4 03C 0206
Add_DD 0203 04 || Pop_DVR_SA4 03C 0202
Pop_DVR_SA4 03C 0207


ROL eax 3
; 0E1
PushwImmUB_SS2 03
PushDVR_SS4 0C 0C1851A79
PushEBP_SS4
PushmD_SS 012FFB2
SHLD_SA2 0C1851A79 0C1851A79 03 || Pop_DVR_SA4 01C 0212
Pop_DVR_SA4 014 0C28D3CE

; 0E2
PushDVR_SS4 024 0202
PushDVR_SS4 024 0202
NNAnd_DD 0202 0202 || Pop_DVR_SA4 0 0282
PushdImmSW_SS4 0FF2B
NNAnd_DD 0FFFFFF2B 0FFFFFDFD || Pop_DVR_SA4 0 0246
PushDVR_SS4 01C 0212
PushDVR_SS4 01C 0212
NNAnd_DD 0212 0212 || Pop_DVR_SA4 020 0286
PushdImmSW_SS4 0D4
NNAnd_DD 0D4 0FFFFFDED || Pop_DVR_SA4 0C 0202
Add_DD 0202 0 || Pop_DVR_SA4 020 0202
Pop_DVR_SA4 034 0202


ROR al 1
; 0E4
PushwImmUB_SS2 01
PushBVR_SS2 014 0CE
PushwImmUB_SS2 08
PushdImmSB_SS4 06
PushEBP_SS4
Add_DD 012FFAE 06 || Pop_DVR_SA4 0C 0216
PushmW_SS_SA2 012FFB4
Shl_W_SS2 0CE 08 || Pop_DVR_SA4 0C 0216
Add_WW_SS2 0CE00 0CE || Pop_DVR_SA4 0C 0282
PushEBP_SS4
PushmW_SS_SA2 012FFB4
PushEBP_SS4
PushmD_SS 012FFB2
SHRD_SA2 0CECECECE 0CECECECE 01 || Pop_DVR_SA4 03C 0A12
Pop_BVR_SA2 014 067
Pop_WVR_SA2 0C 06767

; 0E5
PushDVR_SS4 020 0202
PushDVR_SS4 020 0202
NNAnd_DD 0202 0202 || Pop_DVR_SA4 034 0282
PushdImmSW_SS4 0FF2B
NNAnd_DD 0FFFFFF2B 0FFFFFDFD || Pop_DVR_SA4 034 0246
PushDVR_SS4 03C 0A12
PushEBP_SS4
PushmD_SS 012FFB0
NNAnd_DD 0A12 0A12 || Pop_DVR_SA4 0C 0286
PushdImmSW_SS4 0D4
NNAnd_DD 0D4 0FFFFF5ED || Pop_DVR_SA4 0C 0202
Add_DD 0A02 0 || Pop_DVR_SA4 034 0202
Pop_DVR_SA4 0 0A02


ROR ax 1
; 0E7
PushwImmUB_SS2 01
PushWVR_SS2 014 0D367
PushEBP_SS4
PushmW_SS_SA2 012FFB4
PushEBP_SS4
PushmD_SS 012FFB2
SHRD_SA2 0D367D367 0D367D367 01 || Pop_DVR_SA4 01C 0293
Pop_WVR_SA2 014 0E9B3
Pop_WVR_SA2 0 0E9B3

; 0E8
PushDVR_SS4 020 0206
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 0206 0206 || Pop_DVR_SA4 0 0286
PushdImmSW_SS4 0FF2B
NNAnd_DD 0FFFFFF2B 0FFFFFDF9 || Pop_DVR_SA4 0C 0202
PushDVR_SS4 01C 0293
PushEBP_SS4
PushmD_SS 012FFB0
NNAnd_DD 0293 0293 || Pop_DVR_SA4 03C 0286
PushdImmSW_SS4 0D4
NNAnd_DD 0D4 0FFFFFD6C || Pop_DVR_SA4 0C 0206
Add_DD 0203 04 || Pop_DVR_SA4 03C 0202
Pop_DVR_SA4 0 0207


ROR eax 1
; 0EA
PushwImmUB_SS2 01
PushDVR_SS4 014 0C28E9B3
PushEBP_SS4
PushmD_SS 012FFB2
SHRD_SA2 0C28E9B3 0C28E9B3 01 || Pop_DVR_SA4 034 0A93
Pop_DVR_SA4 0 0861474D9

; 0EB
PushDVR_SS4 0C 0206
PushDVR_SS4 0C 0206
NNAnd_DD 0206 0206 || Pop_DVR_SA4 01C 0286
PushdImmSW_SS4 0FF2B
NNAnd_DD 0FFFFFF2B 0FFFFFDF9 || Pop_DVR_SA4 014 0202
PushDVR_SS4 034 0A93
PushEBP_SS4
PushmD_SS 012FFB0
NNAnd_DD 0A93 0A93 || Pop_DVR_SA4 03C 0286
PushdImmSW_SS4 0D4
NNAnd_DD 0D4 0FFFFF56C || Pop_DVR_SA4 020 0206
Add_DD 0A03 04 || Pop_DVR_SA4 014 0202
Pop_DVR_SA4 03C 0A07


SAR al cl
; 0ED
PushBVR_SS2 018 05
PushdImmSB_SS4 01
PushwImmUB_SS2 07
PushwImmUB_SS2 0
PushBVR_SS2 0 0D9
Shr_D_SS2 0D9 07 || Pop_DVR_SA4 020 0203
PushEBP_SS4
PushmD_SS 012FFAE
NNAnd_DD 01 01 || Pop_DVR_SA4 0C 0282
Add_DD 0FFFFFFFE 01 || Pop_DVR_SA4 020 0286
PushEBP_SS4
PushmW_SS_SA2 012FFB2
PushwImmUB_SS2 08
PushEBP_SS4
PushdImmSB_SS4 02
Add_DD 02 012FFAE || Pop_DVR_SA4 0C 0212
PushmW_SS_SA2 012FFB0
Shl_W_SS2 0FFFF 08 || Pop_DVR_SA4 03C 0206
PushBVR_SS2 0 0D9
Add_WW_SS2 0D9 0FF00 || Pop_DVR_SA4 020 0282
SHRD_SA2 0FFFFFFD9 0FFFFFFFF 05 || Pop_DVR_SA4 024 0293
Pop_BVR_SA2 0 0FE
Pop_WVR_SA2 01C 0FFFF


SAR ax cl
; 0EF
PushBVR_SS2 018 05
PushdImmSB_SS4 01
PushwImmUB_SS2 01F
PushDVR_SS4 0 0861474FE
Shr_D_SS2 0861474FE 01F || Pop_DVR_SA4 014 0202
PushEBP_SS4
PushmD_SS 012FFAE
NNAnd_DD 01 01 || Pop_DVR_SA4 0C 0282
Add_DD 0FFFFFFFE 01 || Pop_DVR_SA4 024 0286
PushDVR_SS4 0 0861474FE
SHRD_SA2 0861474FE 0FFFFFFFF 05 || Pop_DVR_SA4 024 0293
Pop_DVR_SA4 020 0FC30A3A7


SAR eax cl
; 0F1
PushBVR_SS2 018 05
PushdImmSB_SS4 01
PushwImmUB_SS2 01F
PushDVR_SS4 020 0FC30A3A7
Shr_D_SS2 0FC30A3A7 01F || Pop_DVR_SA4 024 0203
PushEBP_SS4
PushmD_SS 012FFAE
NNAnd_DD 01 01 || Pop_DVR_SA4 0 0282
Add_DD 0FFFFFFFE 01 || Pop_DVR_SA4 014 0286
PushDVR_SS4 020 0FC30A3A7
SHRD_SA2 0FC30A3A7 0FFFFFFFF 05 || Pop_DVR_SA4 024 0296
Pop_DVR_SA4 01C 0FFE1851D


SBB al cl
; 0F3
PushBVR_SS2 018 05
PushWVR_SS2 014 0202
PushEBP_SS4
PushmW_SS_SA2 012FFB4
NNAnd_WW_SS2 0202 0202 || Pop_DVR_SA4 03C 0282
PushwImmW_SS2 0FFFE
NNAnd_WW_SS2 0FFFE 0FDFD || Pop_DVR_SA4 024 0246
Add_BB_SS2 0 05 || Pop_DVR_SA4 024 0206
PushEBP_SS4
PushmB_SS_SA2 012FFB6
NNAnd_BB_SS2 05 05 || Pop_DVR_SA4 0C 0286
PushwImmUB_SS2 01
Add_BB_SS2 01 0FA || Pop_DVR_SA4 0C 0282
PushBVR_SS2 01C 01D
Add_BB_SS2 01D 0FB || Pop_DVR_SA4 0 0217
Pop_BVR_SA2 01C 018

; 0F4
PushDVR_SS4 0 0217
PushDVR_SS4 0 0217
NNAnd_DD 0217 0217 || Pop_DVR_SA4 03C 0286
PushdImmSB_SS4 0EE
NNAnd_DD 0FFFFFFEE 0FFFFFDE8 || Pop_DVR_SA4 014 0206
PushdImmSB_SS4 011
PushDVR_SS4 0 0217
NNAnd_DD 0217 011 || Pop_DVR_SA4 03C 0286
NNAnd_DD 0FFFFFDE8 011 || Pop_DVR_SA4 0C 0206
Pop_DVR_SA4 014 0206


SBB ax cx
; 0F6
PushWVR_SS2 018 05
PushWVR_SS2 0C 0206
PushEBP_SS4
PushmW_SS_SA2 012FFB4
NNAnd_WW_SS2 0206 0206 || Pop_DVR_SA4 014 0286
PushwImmW_SS2 0FFFE
NNAnd_WW_SS2 0FFFE 0FDF9 || Pop_DVR_SA4 020 0246
Add_WW_SS2 0 05 || Pop_DVR_SA4 03C 0206
PushEBP_SS4
PushmW_SS_SA2 012FFB6
NNAnd_WW_SS2 05 05 || Pop_DVR_SA4 024 0286
PushwImmUB_SS2 01
Add_WW_SS2 01 0FFFA || Pop_DVR_SA4 014 0282
PushWVR_SS2 01C 08518
Add_WW_SS2 08518 0FFFB || Pop_DVR_SA4 020 0293
Pop_WVR_SA2 01C 08513

; 0F7
PushDVR_SS4 020 0293
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 0293 0293 || Pop_DVR_SA4 014 0286
PushdImmSB_SS4 0EE
NNAnd_DD 0FFFFFFEE 0FFFFFD6C || Pop_DVR_SA4 0C 0206
PushdImmSB_SS4 011
PushDVR_SS4 020 0293
NNAnd_DD 0293 011 || Pop_DVR_SA4 0C 0286
NNAnd_DD 0FFFFFD6C 011 || Pop_DVR_SA4 024 0206
Pop_DVR_SA4 0C 0282


SBB eax ecx
; 0F9
PushDVR_SS4 018 05
PushwImmUB_SS2 0
PushWVR_SS2 024 0216
PushEBP_SS4
PushmW_SS_SA2 012FFB0
NNAnd_WW_SS2 0216 0216 || Pop_DVR_SA4 014 0282
PushwImmW_SS2 0FFFE
NNAnd_WW_SS2 0FFFE 0FDE9 || Pop_DVR_SA4 03C 0246
Add_DD 0 05 || Pop_DVR_SA4 014 0206
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 05 05 || Pop_DVR_SA4 0 0286
PushdImmSB_SS4 01
Add_DD 01 0FFFFFFFA || Pop_DVR_SA4 03C 0282
PushDVR_SS4 01C 0FFE18513
Add_DD 0FFE18513 0FFFFFFFB || Pop_DVR_SA4 0C 0283
Pop_DVR_SA4 03C 0FFE1850E

; 0FA
PushDVR_SS4 0C 0283
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 0283 0283 || Pop_DVR_SA4 01C 0282
PushdImmSB_SS4 0EE
NNAnd_DD 0FFFFFFEE 0FFFFFD7C || Pop_DVR_SA4 024 0202
PushDVR_SS4 0C 0283
PushdImmSB_SS4 011
NNAnd_DD 011 0283 || Pop_DVR_SA4 0 0286
NNAnd_DD 0FFFFFD6C 01 || Pop_DVR_SA4 0 0202
Pop_DVR_SA4 0 0292


SCASB
; 0FC
PushDVR_SS4 038 040200F
PushmB_ES_SA2 040200F
PushBVR_SS2 03C 0E
PushEBP_SS4
PushmB_SS_SA2 012FFB4
NNAnd_BB_SS2 0E 0E || Pop_DVR_SA4 0C 0282
Add_BB_SS2 0F1 011 || Pop_DVR_SA4 020 0203
PushEBP_SS4
PushmB_SS_SA2 012FFB6
NNAnd_BB_SS2 02 02 || Pop_DVR_SA4 01C 0282
Pop_BVR_SA2 0C 0FD

; 0FD
PushDVR_SS4 020 0203
PushDVR_SS4 020 0203
NNAnd_DD 0203 0203 || Pop_DVR_SA4 034 0286
PushdImmSW_SS4 0F7EA
NNAnd_DD 0FFFFF7EA 0FFFFFDFC || Pop_DVR_SA4 024 0202
PushDVR_SS4 01C 0282
PushDVR_SS4 01C 0282
NNAnd_DD 0282 0282 || Pop_DVR_SA4 0C 0286
PushdImmSW_SS4 0815
NNAnd_DD 0815 0FFFFFD7D || Pop_DVR_SA4 0 0206
Add_DD 0282 01 || Pop_DVR_SA4 0C 0202
Pop_DVR_SA4 034 0283

; 0FE
PushwImmUB_SS2 09
PushdImmSW_SS4 0FBFF
PushDVR_SS4 034 0283
NNAnd_DD 0283 0FFFFFBFF || Pop_DVR_SA4 020 0206
Shr_D_SS2 0400 09 || Pop_DVR_SA4 024 0202
PushdImmSB_SS4 0FF
Add_DD 0FFFFFFFF 02 || Pop_DVR_SA4 024 0213
PushDVR_SS4 038 040200F
Add_DD 040200F 01 || Pop_DVR_SA4 0 0212
Pop_DVR_SA4 024 0402010


SCASW
; 0100
PushDVR_SS4 024 0402010
PushmW_ES_SA2 0402010
PushWVR_SS2 03C 0850E
PushEBP_SS4
PushmW_SS_SA2 012FFB4
NNAnd_WW_SS2 0850E 0850E || Pop_DVR_SA4 014 0202
Add_WW_SS2 07AF1 0 || Pop_DVR_SA4 014 0202
PushEBP_SS4
PushmW_SS_SA2 012FFB6
NNAnd_WW_SS2 07AF1 07AF1 || Pop_DVR_SA4 0 0282
Pop_WVR_SA2 034 0850E

; 0101
PushDVR_SS4 014 0202
PushDVR_SS4 014 0202
NNAnd_DD 0202 0202 || Pop_DVR_SA4 01C 0282
PushdImmSW_SS4 0F7EA
NNAnd_DD 0FFFFF7EA 0FFFFFDFD || Pop_DVR_SA4 01C 0246
PushDVR_SS4 0 0282
PushEBP_SS4
PushmD_SS 012FFB0
NNAnd_DD 0282 0282 || Pop_DVR_SA4 01C 0286
PushdImmSW_SS4 0815
NNAnd_DD 0815 0FFFFFD7D || Pop_DVR_SA4 01C 0206
Add_DD 0282 0 || Pop_DVR_SA4 0C 0206
Pop_DVR_SA4 0C 0282

; 0102
PushwImmUB_SS2 08
PushDVR_SS4 0C 0282
PushdImmSW_SS4 0FBFF
NNAnd_DD 0FFFFFBFF 0282 || Pop_DVR_SA4 014 0206
Shr_D_SS2 0400 08 || Pop_DVR_SA4 038 0202
PushdImmSB_SS4 0FE
Add_DD 0FFFFFFFE 04 || Pop_DVR_SA4 01C 0213
PushDVR_SS4 024 0402010
Add_DD 0402010 02 || Pop_DVR_SA4 038 0206
Pop_DVR_SA4 014 0402012


SCASD
; 0104
PushDVR_SS4 014 0402012
PushmD_ES 0402012
PushDVR_SS4 03C 0FFE1850E
PushEBP_SS4
PushmD_SS 012FFB0
NNAnd_DD 0FFE1850E 0FFE1850E || Pop_DVR_SA4 024 0202
Add_DD 01E7AF1 0 || Pop_DVR_SA4 0C 0202
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 01E7AF1 01E7AF1 || Pop_DVR_SA4 01C 0282
Pop_DVR_SA4 0 0FFE1850E

; 0105
PushDVR_SS4 0C 0202
PushEBP_SS4
PushmD_SS 012FFB4
NNAnd_DD 0202 0202 || Pop_DVR_SA4 024 0282
PushdImmSW_SS4 0F7EA
NNAnd_DD 0FFFFF7EA 0FFFFFDFD || Pop_DVR_SA4 024 0246
PushDVR_SS4 01C 0282
PushDVR_SS4 01C 0282
NNAnd_DD 0282 0282 || Pop_DVR_SA4 0 0286
PushdImmSW_SS4 0815
NNAnd_DD 0815 0FFFFFD7D || Pop_DVR_SA4 024 0206
Add_DD 0282 0 || Pop_DVR_SA4 038 0206
Pop_DVR_SA4 0 0282

; 0106
PushwImmUB_SS2 07
PushDVR_SS4 0 0282
PushdImmSW_SS4 0FBFF
NNAnd_DD 0FFFFFBFF 0282 || Pop_DVR_SA4 038 0206
Shr_D_SS2 0400 07 || Pop_DVR_SA4 0C 0202
PushdImmSB_SS4 0FC
Add_DD 0FFFFFFFC 08 || Pop_DVR_SA4 020 0213
PushDVR_SS4 014 0402012
Add_DD 0402012 04 || Pop_DVR_SA4 0C 0202
Pop_DVR_SA4 038 0402016


SETA al
; 0108
PushwImmUB_SS2 06
PushDVR_SS4 0C 0202
PushEBP_SS4
PushmD_SS 012FFB2
NNAnd_DD 0202 0202 || Pop_DVR_SA4 034 0282
PushdImmSB_SS4 0BE
NNAnd_DD 0FFFFFFBE 0FFFFFDFD || Pop_DVR_SA4 020 0246
Pop_DVR_SA4 034 0
PushDVR_SS4 020 0246
PushDVR_SS4 020 0246
NNAnd_DD 0246 0246 || Pop_DVR_SA4 010 0282
PushdImmSB_SS4 0BF
NNAnd_DD 0FFFFFFBF 0FFFFFDB9 || Pop_DVR_SA4 010 0202
Shr_D_SS2 040 06 || Pop_DVR_SA4 024 0202
Pop_BVR_SA2 03C 01
Pop_WVR_SA2 014 0


SETAE ah
; 010A
PushDVR_SS4 014 0206
PushdImmSB_SS4 0FE
NNAnd_DD 0FFFFFFFE 0206 || Pop_DVR_SA4 024 0202
Pop_BVR_SA2 03D 01
Pop_WVR_SA2 034 0


SETB dl
; 010C
PushDVR_SS4 024 0206
PushDVR_SS4 024 0206
NNAnd_DD 0206 0206 || Pop_DVR_SA4 0 0286
PushdImmSB_SS4 0FE
NNAnd_DD 0FFFFFFFE 0FFFFFDF9 || Pop_DVR_SA4 0 0246
Pop_BVR_SA2 028 0
Pop_WVR_SA2 034 0


SETBE dl
; 010E
PushwImmUB_SS2 06
PushDVR_SS4 034 0202
PushDVR_SS4 034 0202
NNAnd_DD 0202 0202 || Pop_DVR_SA4 0 0282
PushdImmSB_SS4 0BE
NNAnd_DD 0FFFFFFBE 0FFFFFDFD || Pop_DVR_SA4 0 0246
Pop_DVR_SA4 020 0
PushDVR_SS4 0 0246
PushEBP_SS4
PushmD_SS 012FFB2
NNAnd_DD 0246 0246 || Pop_DVR_SA4 010 0282
Pop_DVR_SA4 0C 0FFFFFDB9
PushDVR_SS4 0C 0FFFFFDB9
PushEBP_SS4
PushmD_SS 012FFB2
NNAnd_DD 0FFFFFDB9 0FFFFFDB9 || Pop_DVR_SA4 020 0202
PushdImmSB_SS4 0BF
NNAnd_DD 0FFFFFFBF 0246 || Pop_DVR_SA4 0 0246
Shr_D_SS2 0 06 || Pop_DVR_SA4 020 0246
Pop_BVR_SA2 028 0
Pop_WVR_SA2 0 0


SETG al
; 0110
PushwImmUB_SS2 06
PushDVR_SS4 0 0202
PushDVR_SS4 0 0202
NNAnd_DD 0202 0202 || Pop_DVR_SA4 014 0282
PushdImmSW_SS4 0FF7F
NNAnd_DD 0FFFFFF7F 0FFFFFDFD || Pop_DVR_SA4 024 0246
Pop_DVR_SA4 014 0
PushDVR_SS4 0 0202
PushEBP_SS4
PushmD_SS 012FFB2
NNAnd_DD 0202 0202 || Pop_DVR_SA4 014 0282
PushdImmSW_SS4 0F7FF
NNAnd_DD 0FFFFF7FF 0FFFFFDFD || Pop_DVR_SA4 010 0246
Pop_DVR_SA4 0C 0
PushDVR_SS4 024 0246
PushEBP_SS4
PushmD_SS 012FFB2
NNAnd_DD 0246 0246 || Pop_DVR_SA4 034 0282
PushDVR_SS4 010 0246
PushEBP_SS4
PushmD_SS 012FFAE
NNAnd_DD 0246 0246 || Pop_DVR_SA4 034 0282
NNAnd_DD 0FFFFFDB9 0FFFFFDB9 || Pop_DVR_SA4 034 0202
PushDVR_SS4 010 0246
PushDVR_SS4 024 0246
NNAnd_DD 0246 0246 || Pop_DVR_SA4 01C 0282
NNAnd_DD 0FFFFFDB9 0246 || Pop_DVR_SA4 01C 0246
Pop_DVR_SA4 0C 0
PushDVR_SS4 0C 0
PushDVR_SS4 0C 0
NNAnd_DD 0 0 || Pop_DVR_SA4 014 0286
Pop_DVR_SA4 01C 0FFFFFFFF
PushDVR_SS4 0 0202
PushDVR_SS4 0 0202
NNAnd_DD 0202 0202 || Pop_DVR_SA4 034 0282
PushdImmSB_SS4 0BF
NNAnd_DD 0FFFFFFBF 0FFFFFDFD || Pop_DVR_SA4 014 0246
Pop_DVR_SA4 0C 0
PushDVR_SS4 014 0246
PushEBP_SS4
PushmD_SS 012FFB2
NNAnd_DD 0246 0246 || Pop_DVR_SA4 024 0282
PushDVR_SS4 01C 0FFFFFFFF
PushEBP_SS4
PushmD_SS 012FFAE
NNAnd_DD 0FFFFFFFF 0FFFFFFFF || Pop_DVR_SA4 024 0246
NNAnd_DD 0 0FFFFFDB9 || Pop_DVR_SA4 034 0202
PushEBP_SS4
PushmD_SS 012FFB2
Pop_DVR_SA4 034 0246
PushEBP_SS4
PushmD_SS 012FFB2
NNAnd_DD 0246 0246 || Pop_DVR_SA4 024 0282
PushdImmSB_SS4 0BF
NNAnd_DD 0FFFFFFBF 0FFFFFDB9 || Pop_DVR_SA4 01C 0202
Shr_D_SS2 040 06 || Pop_DVR_SA4 010 0202
Pop_BVR_SA2 03C 01
Pop_WVR_SA2 010 0


SETGE ah
; 0112
PushwImmUB_SS2 06
PushDVR_SS4 024 0206
PushDVR_SS4 024 0206
NNAnd_DD 0206 0206 || Pop_DVR_SA4 0C 0286
PushdImmSW_SS4 0FF7F
NNAnd_DD 0FFFFFF7F 0FFFFFDF9 || Pop_DVR_SA4 010 0246
Pop_DVR_SA4 020 0
PushDVR_SS4 024 0206
PushDVR_SS4 024 0206
NNAnd_DD 0206 0206 || Pop_DVR_SA4 0C 0286
PushdImmSW_SS4 0F7FF
NNAnd_DD 0FFFFF7FF 0FFFFFDF9 || Pop_DVR_SA4 020 0246
Pop_DVR_SA4 034 0
PushDVR_SS4 010 0246
PushEBP_SS4
PushmD_SS 012FFB2
NNAnd_DD 0246 0246 || Pop_DVR_SA4 014 0282
PushDVR_SS4 020 0246
PushDVR_SS4 020 0246
NNAnd_DD 0246 0246 || Pop_DVR_SA4 014 0282
NNAnd_DD 0FFFFFDB9 0FFFFFDB9 || Pop_DVR_SA4 0C 0202
PushDVR_SS4 020 0246
PushDVR_SS4 010 0246
NNAnd_DD 0246 0246 || Pop_DVR_SA4 014 0282
NNAnd_DD 0FFFFFDB9 0246 || Pop_DVR_SA4 034 0246
PushEBP_SS4
PushmD_SS 012FFB2
Pop_DVR_SA4 0 0
PushDVR_SS4 0 0
NNAnd_DD 0 0 || Pop_DVR_SA4 014 0286
Pop_DVR_SA4 0C 0FFFFFFFF
PushDVR_SS4 0C 0FFFFFFFF
PushEBP_SS4
PushmD_SS 012FFB2
NNAnd_DD 0FFFFFFFF 0FFFFFFFF || Pop_DVR_SA4 014 0246
PushdImmSB_SS4 0BF
NNAnd_DD 0FFFFFFBF 0 || Pop_DVR_SA4 034 0202
Shr_D_SS2 040 06 || Pop_DVR_SA4 010 0202
Pop_BVR_SA2 03D 01
Pop_WVR_SA2 010 0


SETL dl
; 0114
PushwImmUB_SS2 06
PushDVR_SS4 034 0206
PushEBP_SS4
PushmD_SS 012FFB2
NNAnd_DD 0206 0206 || Pop_DVR_SA4 014 0286
PushdImmSW_SS4 0FF7F
NNAnd_DD 0FFFFFF7F 0FFFFFDF9 || Pop_DVR_SA4 010 0246
Pop_DVR_SA4 0C 0
PushDVR_SS4 034 0206
PushDVR_SS4 034 0206
NNAnd_DD 0206 0206 || Pop_DVR_SA4 0C 0286
PushdImmSW_SS4 0F7FF
NNAnd_DD 0FFFFF7FF 0FFFFFDF9 || Pop_DVR_SA4 01C 0246
Pop_DVR_SA4 024 0
PushDVR_SS4 010 0246
PushEBP_SS4
PushmD_SS 012FFB2
NNAnd_DD 0246 0246 || Pop_DVR_SA4 024 0282
PushDVR_SS4 01C 0246
PushDVR_SS4 01C 0246
NNAnd_DD 0246 0246 || Pop_DVR_SA4 020 0282
NNAnd_DD 0FFFFFDB9 0FFFFFDB9 || Pop_DVR_SA4 024 0202
PushDVR_SS4 01C 0246
PushDVR_SS4 010 0246
NNAnd_DD 0246 0246 || Pop_DVR_SA4 020 0282
NNAnd_DD 0FFFFFDB9 0246 || Pop_DVR_SA4 0C 0246
Pop_DVR_SA4 014 0
PushDVR_SS4 014 0
PushDVR_SS4 014 0
NNAnd_DD 0 0 || Pop_DVR_SA4 024 0286
PushdImmSB_SS4 0BF
NNAnd_DD 0FFFFFFBF 0FFFFFFFF || Pop_DVR_SA4 010 0246
Shr_D_SS2 0 06 || Pop_DVR_SA4 020 0246
Pop_BVR_SA2 028 0
Pop_WVR_SA2 020 0


SETLE dh
; 0116
PushwImmUB_SS2 06
PushDVR_SS4 010 0202
PushEBP_SS4
PushmD_SS 012FFB2
NNAnd_DD 0202 0202 || Pop_DVR_SA4 0 0282
PushdImmSW_SS4 0FF7F
NNAnd_DD 0FFFFFF7F 0FFFFFDFD || Pop_DVR_SA4 0 0246
Pop_DVR_SA4 020 0
PushDVR_SS4 010 0202
PushDVR_SS4 010 0202
NNAnd_DD 0202 0202 || Pop_DVR_SA4 014 0282
PushdImmSW_SS4 0F7FF
NNAnd_DD 0FFFFF7FF 0FFFFFDFD || Pop_DVR_SA4 020 0246
Pop_DVR_SA4 01C 0
PushDVR_SS4 0 0246
PushDVR_SS4 0 0246
NNAnd_DD 0246 0246 || Pop_DVR_SA4 01C 0282
PushDVR_SS4 020 0246
PushDVR_SS4 020 0246
NNAnd_DD 0246 0246 || Pop_DVR_SA4 024 0282
NNAnd_DD 0FFFFFDB9 0FFFFFDB9 || Pop_DVR_SA4 0C 0202
PushDVR_SS4 0 0246
PushDVR_SS4 020 0246
NNAnd_DD 0246 0246 || Pop_DVR_SA4 014 0282
NNAnd_DD 0FFFFFDB9 0246 || Pop_DVR_SA4 0C 0246
Pop_DVR_SA4 0C 0
PushDVR_SS4 010 0202
PushDVR_SS4 010 0202
NNAnd_DD 0202 0202 || Pop_DVR_SA4 0 0282
PushdImmSB_SS4 0BF
NNAnd_DD 0FFFFFFBF 0FFFFFDFD || Pop_DVR_SA4 0 0246
Pop_DVR_SA4 024 0
PushDVR_SS4 0 0246
PushDVR_SS4 0 0246
NNAnd_DD 0246 0246 || Pop_DVR_SA4 014 0282
PushDVR_SS4 0C 0
NNAnd_DD 0 0FFFFFDB9 || Pop_DVR_SA4 020 0202
Pop_DVR_SA4 01C 0246
PushDVR_SS4 01C 0246
PushDVR_SS4 01C 0246
NNAnd_DD 0246 0246 || Pop_DVR_SA4 020 0282
Pop_DVR_SA4 0C 0FFFFFDB9
PushDVR_SS4 0C 0FFFFFDB9
PushDVR_SS4 0C 0FFFFFDB9
NNAnd_DD 0FFFFFDB9 0FFFFFDB9 || Pop_DVR_SA4 024 0202
PushdImmSB_SS4 0BF
NNAnd_DD 0FFFFFFBF 0246 || Pop_DVR_SA4 020 0246
Shr_D_SS2 0 06 || Pop_DVR_SA4 01C 0246
Pop_BVR_SA2 029 0
Pop_WVR_SA2 01C 0


SETE al
; 0118
PushwImmUB_SS2 06
PushDVR_SS4 01C 0206
PushEBP_SS4
PushmD_SS 012FFB2
NNAnd_DD 0206 0206 || Pop_DVR_SA4 020 0286
PushdImmSB_SS4 0BF
NNAnd_DD 0FFFFFFBF 0FFFFFDF9 || Pop_DVR_SA4 034 0246
Shr_D_SS2 0 06 || Pop_DVR_SA4 010 0246
Pop_BVR_SA2 03C 0
Pop_WVR_SA2 034 0


SETNE ah
; 011A
PushwImmUB_SS2 06
PushDVR_SS4 020 0202
PushdImmSB_SS4 0BF
NNAnd_DD 0FFFFFFBF 0202 || Pop_DVR_SA4 034 0202
Shr_D_SS2 040 06 || Pop_DVR_SA4 014 0202
Pop_BVR_SA2 03D 01
Pop_WVR_SA2 014 0


SETO al
; 011C
PushwImmUB_SS2 0B
PushDVR_SS4 014 0202
PushEBP_SS4
PushmD_SS 012FFB2
NNAnd_DD 0202 0202 || Pop_DVR_SA4 01C 0282
PushdImmSW_SS4 0F7FF
NNAnd_DD 0FFFFF7FF 0FFFFFDFD || Pop_DVR_SA4 01C 0246
Shr_D_SS2 0 0B || Pop_DVR_SA4 010 0246
Pop_BVR_SA2 03C 0
Pop_WVR_SA2 010 0


SETNO ah
; 011E
PushwImmUB_SS2 0B
PushDVR_SS4 010 0206
PushdImmSW_SS4 0F7FF
NNAnd_DD 0FFFFF7FF 0206 || Pop_DVR_SA4 020 0206
Shr_D_SS2 0800 0B || Pop_DVR_SA4 024 0202
Pop_BVR_SA2 03D 01
Pop_WVR_SA2 014 0


SETP al
; 0120
PushwImmUB_SS2 02
PushDVR_SS4 024 0212
PushDVR_SS4 024 0212
NNAnd_DD 0212 0212 || Pop_DVR_SA4 01C 0286
PushdImmSB_SS4 0FB
NNAnd_DD 0FFFFFFFB 0FFFFFDED || Pop_DVR_SA4 010 0246
Shr_D_SS2 0 02 || Pop_DVR_SA4 020 0246
Pop_BVR_SA2 03C 0
Pop_WVR_SA2 010 0


SETNP ah
; 0122
PushwImmUB_SS2 02
PushDVR_SS4 010 0206
PushdImmSB_SS4 0FB
NNAnd_DD 0FFFFFFFB 0206 || Pop_DVR_SA4 034 0246
Shr_D_SS2 0 02 || Pop_DVR_SA4 034 0246
Pop_BVR_SA2 03D 0
Pop_WVR_SA2 01C 0


SHL al 3
; 0124
PushwImmUB_SS2 03
PushBVR_SS2 03C 0
Shl_B_SS2 0 03 || Pop_DVR_SA4 010 0246
Pop_BVR_SA2 03C 0


SHL ax 3
; 0126
PushwImmUB_SS2 03
PushWVR_SS2 03C 0
Shl_W_SS2 0 03 || Pop_DVR_SA4 010 0246
Pop_WVR_SA2 03C 0


SHL eax 3
; 0128
PushwImmUB_SS2 03
PushDVR_SS4 03C 0FFE10000
Shl_D_SS2 0FFE10000 03 || Pop_DVR_SA4 01C 0287
Pop_DVR_SA4 010 0FF080000


SHR al 2
; 012A
PushwImmUB_SS2 02
PushBVR_SS2 010 0
Shr_B_SS2 0 02 || Pop_DVR_SA4 014 0246
Pop_BVR_SA2 010 0


SHR ax 2
; 012C
PushwImmUB_SS2 02
PushWVR_SS2 010 0
Shr_W_SS2 0 02 || Pop_DVR_SA4 020 0246
Pop_WVR_SA2 010 0


SHR eax 2
; 012E
PushwImmUB_SS2 02
PushDVR_SS4 010 0FF080000
Shr_D_SS2 0FF080000 02 || Pop_DVR_SA4 01C 0206
Pop_DVR_SA4 03C 03FC20000