EmonInitializePebs

VOID __stdcall EmonInitializePebs(){
  unsigned __int64 v0; 
  unsigned __int64 v1; 
  int v2; 
  int v3; 
  int v4; 

  *(&CmpDummyThreadEvent + 4921) = 0;
  if( *(&CmpDummyThreadEvent + 1216) >= 2u && (EDX(__cpuid(1, 0)) & 0x200000) != 0 )
  {
    v0 = __readmsr(0x1A0u);
    if( (v0 & 0x1000) == 0 )
    {
      *(&CmpDummyThreadEvent + 4920) = 1;
      v1 = __readmsr(0x345u);
      v2 = ((((unsigned __int64)HIDWORD(v1) << 32) | (unsigned int)v1) >> 8) & 0xF;
      if( v2 )
      {
        v3 = v2 - 1;
        if( v3 )
        {
          v4 = v3 - 1;
          if( v4 )
          {
            if( v4 == 1 )
              *(&CmpDummyThreadEvent + 1245) = 200;
            else
              *(&CmpDummyThreadEvent + 1245) = 0;
          }
          else
          {
            *(&CmpDummyThreadEvent + 1245) = 192;
          }
        }
        else
        {
          *(&CmpDummyThreadEvent + 1245) = 176;
        }
      }
      else
      {
        *(&CmpDummyThreadEvent + 1245) = 144;
      }
      *(&CmpDummyThreadEvent + 4921) = 1;
      *(&CmpDummyThreadEvent + 1238) = 0;
    }
  }
}

Referenced by:

No references.