PopDirectedDripsDiagQueryAndResetPnpAccounting

VOID __stdcall PopDirectedDripsDiagQueryAndResetPnpAccounting(INT64 a1){
  _QWORD *v1; 
  __int64 v2; 
  _OWORD *v3; 
  _OWORD *v4; 
  __int64 v5; 
  _QWORD *v6; 
  unsigned __int8 v7; 
  INT64 v8; 
  char v9; 
  unsigned __int64 v10; 
  __int128 v11; 
  _OWORD *v12; 
  INT64 v13; 

  v4 = v3;
  v5 = v2;
  v6 = v1;
  v7 = KeAcquireSpinLockRaiseToDpc(&qword_140C1E9B0);
  v9 = byte_140C1EA28;
  v10 = v7;
  if( byte_140C1EA28 )
    PopDirectedDripsDiagPnpActionQueueAccountingUpdateUnsafe(v8, 0);
  v11 = xmmword_140C1EB18;
  *v6 = qword_140C1EA30;
  *(_OWORD *)v5 = v11;
  *(_OWORD *)(v5 + 16) = xmmword_140C1EB28;
  *(_OWORD *)(v5 + 32) = xmmword_140C1EB38;
  *(_OWORD *)(v5 + 48) = xmmword_140C1EB48;
  *(_OWORD *)(v5 + 64) = xmmword_140C1EB58;
  *(_OWORD *)(v5 + 80) = xmmword_140C1EB68;
  *(_QWORD *)(v5 + 96) = qword_140C1EB78;
  *v4 = *(_OWORD *)qword_140C1EA48;
  v4[1] = *(_OWORD *)&qword_140C1EA48[2];
  v4[2] = *(_OWORD *)&qword_140C1EA48[4];
  v4[3] = *(_OWORD *)&qword_140C1EA48[6];
  v4[4] = *(_OWORD *)&qword_140C1EA48[8];
  v4[5] = *(_OWORD *)&qword_140C1EA48[10];
  v4[6] = *(_OWORD *)&qword_140C1EA48[12];
  v12 = v4 + 8;
  *(v12 - 1) = *(_OWORD *)&qword_140C1EA48[14];
  *v12 = *(_OWORD *)&qword_140C1EA48[16];
  v12[1] = *(_OWORD *)&qword_140C1EA48[18];
  v12[2] = *(_OWORD *)&qword_140C1EA48[20];
  v12[3] = *(_OWORD *)&qword_140C1EA48[22];
  v12[4] = *(_OWORD *)&qword_140C1EA48[24];
  qword_140C1EA30 = 0i64;
  memset(&xmmword_140C1EB18, 0i64, 0x68u);
  memset(qword_140C1EA48, 0i64, sizeof(qword_140C1EA48));
  if( v9 )
    PopDirectedDripsDiagPnpActionQueueAccountingUpdateUnsafe(v13, 1);
  KxReleaseSpinLock(&qword_140C1E9B0);
  __writecr8(v10);
}

Referenced by:

PopDirectedDripsDiagNotifySessionStop