IopLiveDumpUncorralProcessors

CHAR __fastcall IopLiveDumpUncorralProcessors(INT64 a1, CHAR a2){
  GUID *v4; 
  unsigned int Data1; 
  __int64 v7; 
  __int64 v8; 
  __int64 v9; 
  __int64 v10; 
  v7 = 0i64;
  v10 = 0i64;
  v9 = 0i64;
  v8 = 0i64;
  v4 = *(GUID **)a1;
  IopLiveDumpInitiateCorralStateChange(a1, 5, &v8);
  IopLiveDumpInitiateCorralStateChange(a1, 8, &v9);
  if( (v4[5].Data1 & 0x100) == 0 )
    IopLiveDumpInitiateCorralStateChange(a1, 6, &v10);
  PoAllProcIntrDisabled = 0;
  IopLiveDumpInitiateCorralStateChange(a1, -1, &v7);
  KeRevertToUserGroupAffinityThread((PGROUP_AFFINITY)(a1 + 96));
  if( a2 == 1 )
    __writecr8(*(unsigned __int8 *)(a1 + 88));
  IopLiveDumpUnLockPages();
  *(_DWORD *)(a1 + 8) &= ~1u;
  IopLiveDumpTraceSystemQuiesceEnd();
  Data1 = v4[5].Data1;
  if( (Data1 & 0x80u) != 0 )
    LOBYTE(Data1) = IopLiveDumpTraceUncorralProcessorsDuration(*(GUID **)a1, v7, v10, v9, v8);
  return Data1;
}

Referenced by:

IopLiveDumpCaptureMemoryPages
IopLiveDumpEndMirroringCallback
IopLiveDumpEstimateMemoryPages