HalpBlkHandleMachineCheckAbort

NTSTATUS __stdcall HalpBlkHandleMachineCheckAbort(UINT64 a1){
  unsigned __int64 v1; 
  unsigned __int8 v2; 
  unsigned __int64 v3; 
  char v4; 
  __int64 v5; 
  unsigned int v6; 
  __int64 v7; 
  __int64 v8; 

  v1 = __readmsr(0x179u);
  v2 = v1;
  if( BYTE3(KeGetPcr()->NtTib.ExceptionList[2].Handler) != 2 || (v1 & 0x1000000) == 0 )
    HalpBlkFatalErrorHalt(0x12u, a1);
  v3 = __readmsr(0x17Au);
  v4 = v3;
  if( (v3 & 1) == 0 )
    HalpBlkFatalErrorHalt(0x12u, a1);
  LODWORD(v5) = v2;
  if( v2 )
  {
    v6 = 1025;
    v7 = v2;
    do
    {
      v5 = __readmsr(v6);
      v8 = v5;
      if( v5 < 0 )
      {
        LODWORD(v5) = 0;
        if( (v8 & 0x2000000000000000i64) != 0 )
        {
          LODWORD(v5) = 0;
          if( (v8 & 0x4200000000000000i64) != 0 )
            HalpBlkFatalErrorHalt(0x12u, a1);
          if( (v4 & 8) != 0 && (v8 & 0x180000000000000i64) == 0x180000000000000i64 )
            HalpBlkFatalErrorHalt(0x12u, a1);
        }
      }
      v6 += 4;
      --v7;
    }
    while( v7 );
  }
  return v5;
}

Referenced by:

HalpBlkMachineCheckAbort