if (fReg2  == 0x05) { fReg2 = kNoReg; fDisp32 = bswap_32( *(long*)pCode ); pCode += 4; isize += 4; }
int CInstruction::am_rm32( uchar *pCode ){    unsigned char   reg = *pCode++;    int             isize = 1;    fReg2 = (eRegister)(reg & 0x07);    if ( ((reg & 0x07) == 0x04) &&  // check for SIB         ((reg & 0xC0) != 0xC0) )    {        fFormat = (eFormat)(fFormat | kfmDeref);        fReg2 = (eRegister)(*pCode & 0x07);        fReg3 = (eRegister)((*pCode & 0x38) >> 3);        if ((int)fReg3 = 0x04)  fReg3 = kNoReg;        fScale = 1 << ((*pCode & 0xC0) >> 6);        pCode++;        isize++;    }    if ((reg & 0xC0) == 0x80) // disp32    {        fDisp32 = bswap_32( *(long*)pCode );        fFormat = (eFormat)(fFormat | kfmDeref);        pCode += 4;        isize += 4;    }    else if ((reg & 0xC0) == 0x40) // disp8    {        fDisp32 = *(char*)pCode;    // need it as a signed value        fFormat = (eFormat)(fFormat | kfmDeref);        pCode++;        isize++;    }    else if ((reg & 0xC0) == 0x00) // no disp    {        fFormat = (eFormat)(fFormat | kfmDeref);    }    if (fFormat & kfmImm8)    {        fImm32 = *(char*)pCode; // need it as a signed value        pCode++;        isize++;    }    if (fFormat & kfmImm32)    {        fImm32 = bswap_32( *(long*)pCode );        pCode+=4;        isize+=4;    }    return isize;}