CmpTransReferenceTransaction

INT64 __fastcall CmpTransReferenceTransaction(INT64 a1){
  struct _DMA_ADAPTER *v1; 
  bool v2; 
  void *v3; 
  unsigned int v4; 
  v1 = (struct _DMA_ADAPTER *)(a1 & 0xFFFFFFFFFFFFFFFEui64);
  v2 = (a1 & 1) == 0;
  v3 = (void *)(a1 & 0xFFFFFFFFFFFFFFFEui64);
  if( v2 )
  {
    v4 = 0;
    ObfReferenceObject(v3);
    if( !TmIsTransactionActive((PKTRANSACTION)v1) )
    {
      HalPutDmaAdapter(v1);
      return(unsigned int)-1072103421;
    }
  }
  else
  {
    ObfReferenceObject(v3);
    return *(_DWORD *)&v1->Version != 0 ? 0xC0190003 : 0;
  }
  return v4;
}

Referenced by:

CmpCreateKeyBody
CmpTransInitializeTransaction
CmpTransSearchAddLightWeightTrans
CmpTransSearchAddTrans