WheaTerminateProcess

INT64 __stdcall WheaTerminateProcess(){
  ULONG_PTR v0; 
  unsigned __int16 *v1; 
  const char *v2; 
  unsigned int v3; 
  int v4; 
  HANDLE ProcessId; 
  v0 = *((_QWORD *)KeGetCurrentThread() + 23);
  v1 = *(unsigned __int16 **)(v0 + 1472);
  v2 = (const char *)*((_QWORD *)v1 + 1);
  if( v2 )
  {
    v3 = *v1;
  }
  else
  {
    v2 = L"(Unknown)";
    v3 = 4;
  }
  v4 = PsTerminateProcess(v0, 0xC0000713);
  if( v4 >= 0 )
  {
    ProcessId = PsGetProcessId((PEPROCESS)v0);
    WheapLogProcessTerminateEvent((INT64)ProcessId, (INT64)v2, v3);
  }
  return(unsigned int)v4;
}

Referenced by:

KiMcheckAlternateReturn