ExpTryEnterWorkerFactoryAwayMode
CHAR __fastcall ExpTryEnterWorkerFactoryAwayMode(CHAR *Object){
__int64 v2;
int v3;
if( *((_DWORD *)Object + 72) < *((_DWORD *)Object + 71) )
{
v2 = *((_QWORD *)Object + 2);
if( !*(_DWORD *)(v2 + 28) )
{
if( !*((_DWORD *)Object + 77) )
return 1;
v3 = *((_DWORD *)Object + 78);
*((_DWORD *)Object + 78) = v3 | 0x200;
if( *(_DWORD *)(*(_QWORD *)(v2 + 8) + 4i64) )
return 1;
if( (v3 & 0x400) == 0 )
{
*((_DWORD *)Object + 78) = v3 | 0x600;
ObfReferenceObjectWithTag(Object, 0x746C6644u);
KeRegisterObjectNotification(*(PVOID *)(v2 + 8), &ExpWorkerFactoryManagerQueue, (_KWAIT_BLOCK *)(Object + 520));
}
}
}
return 0;
}Referenced by:
ExpWorkerFactoryManagerThread
NtSetInformationWorkerFactory