EtwpCoverageSamplerCleanup

VOID __stdcall EtwpCoverageSamplerCleanup(INT64 a1){
  _QWORD **v2; 
  _QWORD *v3; 
  _QWORD *v4; 
  VOID *v5; 
  _ADAPTER_OBJECT *v6; 

  EtwpCovSampContextCleanup(a1 + 16);
  v2 = (_QWORD **)(a1 + 1168);
  while( 1 )
  {
    v3 = *v2;
    if( *v2 == v2 )
      break;
    if( (_QWORD **)v3[1] != v2 || (v4 = (_QWORD *)*v3, *(_QWORD **)(*v3 + 8i64) != v3) )
      __fastfail(3u);
    *v2 = v4;
    v4[1] = v2;
    if( v3 == *(_QWORD **)(a1 + 1152) )
      *(_QWORD *)(a1 + 1152) = 0i64;
    EtwpCoverageSamplerFreeTable(v3);
  }
  *(_DWORD *)(a1 + 1184) = 0;
  v5 = *(VOID **)(a1 + 1192);
  if( v5 )
  {
    MmUnmapViewInSystemSpace(v5);
    *(_QWORD *)(a1 + 1192) = 0i64;
    *(_DWORD *)(a1 + 1204) = 0;
    *(_DWORD *)(a1 + 1200) = 0;
    *(_DWORD *)(a1 + 1208) = 0;
  }
  v6 = *(_ADAPTER_OBJECT **)(a1 + 1160);
  if( v6 )
  {
    HalPutDmaAdapter(v6);
    *(_QWORD *)(a1 + 1160) = 0i64;
  }
}

Referenced by:

EtwpCoverageSamplerDelete