PopDiagTraceFxDevicePreparation

VOID __stdcall PopDiagTraceFxDevicePreparation(VOID *Token, VOID *Plugin, _UNICODE_STRING *Id, UINT8 Prepared){
  int v5; 
  REGHANDLE v6; 
  int Length; 
  __int16 v8; 
  int v9; 
  _EVENT_DATA_DESCRIPTOR UserData; 
  VOID **v11; 
  int v12; 
  int v13; 
  __int16 *v14; 
  int v15; 
  int v16; 
  wchar_t *Buffer; 
  int v18; 
  int v19; 
  int *v20; 
  int v21; 
  int v22; 
  VOID *v23; 
  VOID *v24; 

  v24 = Plugin;
  v23 = Token;
  v5 = Prepared;
  if( PopDiagHandleRegistered )
  {
    v6 = PopDiagHandle;
    if( EtwEventEnabled(PopDiagHandle, &POP_ETW_EVENT_DEVICE_PREPARATION) )
    {
      Length = Id->Length;
      UserData.Reserved = 0;
      v13 = 0;
      v16 = 0;
      v19 = 0;
      v22 = 0;
      v8 = (unsigned __int16)Length >> 1;
      UserData.Ptr = (unsigned __int64)&v23;
      v11 = &v24;
      v14 = &v8;
      Buffer = Id->Buffer;
      v20 = &v9;
      UserData.Size = 8;
      v12 = 8;
      v18 = Length;
      v9 = v5;
      v15 = 2;
      v21 = 4;
      EtwWrite(v6, &POP_ETW_EVENT_DEVICE_PREPARATION, 0, 5u, &UserData);
    }
  }
}

Referenced by:

PoFxAbandonDevice
PoFxPrepareDevice