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