IopErrorLogGetEntry

VOID __stdcall IopErrorLogGetEntry(){
  UINT64 v0; 
  unsigned __int8 v1; 
  unsigned __int64 v2; 
  __int64 v3; 
  KeAcquireSpinLockRaiseToDpc(&IopErrorLogLock, v0);
  v2 = v1;
  if( *(INT64(__stdcall **)(FILE_OBJECT *, FILE_OBJECT *))IopErrorLogListHead == IopErrorLogListHead )
  {
    IopErrorLogSessionPending = 0;
  }
  else
  {
    v3 = *(_QWORD *)IopErrorLogListHead;
    if( *(INT64(__stdcall **)(FILE_OBJECT *, FILE_OBJECT *))(*(_QWORD *)IopErrorLogListHead + 8i64) != IopErrorLogListHead
      || *(_QWORD *)(v3 + 8) != *(_QWORD *)IopErrorLogListHead )
    {
      __fastfail(3u);
    }
    *(_QWORD *)IopErrorLogListHead = *(_QWORD *)IopErrorLogListHead;
    *(_QWORD *)(v3 + 8) = IopErrorLogListHead;
  }
  KxReleaseSpinLock(&IopErrorLogLock);
  __writecr8(v2);
}

Referenced by:

IopErrorLogThread