PopRequestShutdownWait
NTSTATUS __stdcall PopRequestShutdownWait(_ETHREAD *Thread){
VOID **PoolWithTag;
NTSTATUS v3;
VOID **v4;
PoolWithTag = ExAllocatePoolWithTag(1ui64, 0x10ui64, 1280536400i64);
v3 = 0;
v4 = PoolWithTag;
if( !PoolWithTag )
return -1073741801;
PoolWithTag[1] = Thread;
ObfReferenceObjectWithTag(Thread, 0x64536F50ui64);
KeAcquireGuardedMutex((PKGUARDED_MUTEX)((char *)&stru_140C23628 + 3352));
if( PopShutdownListAvailable )
{
*v4 = (VOID *)*(&stru_140C23628 + 433);
*(&stru_140C23628 + 433) = v4;
}
else
{
ObfDereferenceObjectWithTag(Thread, 0x64536F50ui64);
ExFreePoolWithTag(v4, 0);
v3 = -1073741823;
}
KeReleaseGuardedMutex((PKGUARDED_MUTEX)((char *)&stru_140C23628 + 3352));
return v3;
}Referenced by:
PoRequestShutdownEvent