_LoadOps:
		dtAdjustEip <- 0
		dtIncEip++
		eax <- 4 msb [eip+1]
     ___
    |	CASE EAX (4 msb [eip+1])
    |	0:
    |		Var1 <- 1
    |		al <- 4 msb [eip+2]
    |		Op2 <- dword ptr ptBuffer [4*al]
    |		dtAdjustEip <- 1
    |		jmp	__CheckOp3
    |
    |	1:
    |		Var1 <- 2
    |		edx <- word ptr [eip+2]
    |		Op2 <- dword ptr ptBuffer[edx + (LM<<16)]
    |		jmp	__CheckOp3
    |
    |	2:	; LOAD n BYTES
    |		edx <- 4 lsb byte ptr [eip+1]
    |		eax <- edx+1
    |	     ___Var1 <- eax
    |	    |	CASE EAX (n)
    |	    |	1:
    |	    |		Op2 <- byte ptr [eip+2]
    |	    |		jmp	__CheckOp3
    |	    |
    |	    |	2:
    |	    |		Op2 <- word ptr [eip+2]
    |	    |		jmp	__CheckOp3
    |	    |
    |	    |	3:
    |	    |		Op2 <- 3 bytes [eip+2]
    |	    |		jmp	__CheckOp3
    |	    |
    |	    |	4:
    |	    |		Op2 <- dword ptr [eip+2]
    |	    |		jmp	__CheckOp3
    |	     
    |
    |	3:
    |		Var1 <- 1
    |		edx <- 4 msb byte ptr [eip+2]
    |		ebx <- (LM<<16) + dword ptr [ptBuffer+edx*4]
    |		Op2 <- dword ptr [ebx+ptBuffer]
    |		dtAdjustEip <- 1
    |		jmp	__CheckOp3
     

__CheckOp3:
		dtIncEip+=Var1
		ecx <- Var1
		al <- (byte ptr [eip+1] >> 2) && 3
     ___
    |	CASE EAX (2 msb (4 lsb [eip+1]))
    |	0:
    |		if (dtAdjustEip) then ecx <- 0
    |		Var2 <- 1
    |		al <- 4 lsb byte ptr [eip+ecx+2]
    |		pOp1 <- offset ptBuffer[al*4]
    |		jmp	__AdjustIncEip
    |
    |	1:
    |		Var2 <- 2
    |		eax <- word ptr [eip+ecx+2]
    |		pOp1 <- offset ptBuffer[eax + (HM<<16)]
    |		; !! BUG : should add dtAdjustEip <- 0 for the parser to work properly !!
    |		jmp	__AdjustIncEip
    |
    |	3:
    |		if (dtAdjustEip) then ecx <- 0
    |		Var2 <- 1
    |		cl <- 4 lsb byte ptr [eip+ecx+2]
    |		pOp1 <- offset ptBuffer[d@[ptBuffer+4*cl] + (HM<<16)]
    |		jmp	__AdjustIncEip
     

__AdjustIncEip:
		if (!dtAdjustEip) then dtIncEip+=Var2
