ExpRemoveCurrentThreadFromThreadHistory

VOID __stdcall ExpRemoveCurrentThreadFromThreadHistory(_EX_WORKER_FACTORY *WorkerFactory){
  _ETHREAD *CurrentThread; 
  unsigned __int8 v3; 
  __int64 v4; 

  if( (WorkerFactory[78] & 7) != 4 )
  {
    CurrentThread = (_ETHREAD *)KeGetCurrentThread();
    v3 = 0;
    while( 1 )
    {
      v4 = v3;
      if( *(_ETHREAD **)&WorkerFactory[2 * v3 + 18] == CurrentThread )
        break;
      if( ++v3 >= 4u )
        return;
    }
    ObfDereferenceObjectWithTag(CurrentThread, 0x746C6644ui64);
    *(_QWORD *)&WorkerFactory[2 * v4 + 18] = 0i64;
  }
}

Referenced by:

NtSetInformationWorkerFactory
NtWaitForWorkViaWorkerFactory