PopDiagTraceFxDevicePreparation

VOID __stdcall PopDiagTraceFxDevicePreparation(
        PVOID Token,
        PVOID Plugin,
        UNICODE_STRING *Id,
        UINT8 Prepared,
        INT64 Prepareda){
  int v6; 
  UINT64 v7; 
  int Length; 
  __int16 v9; 
  int v10; 
  struct _EVENT_DATA_DESCRIPTOR UserData; 
  PVOID *v12; 
  int v13; 
  int v14; 
  __int16 *v15; 
  int v16; 
  int v17; 
  wchar_t *Buffer; 
  int v19; 
  int v20; 
  int *v21; 
  int v22; 
  int v23; 
  PVOID v24; 
  PVOID v25; 
  v25 = Plugin;
  v24 = Token;
  v6 = Prepared;
  if( PopDiagHandleRegistered )
  {
    v7 = PopDiagHandle;
    if( EtwEventEnabled(PopDiagHandle, (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_DEVICE_PREPARATION, (EVENT_DESCRIPTOR *)Id) )
    {
      Length = Id->Length;
      UserData.Reserved = 0;
      v14 = 0;
      v17 = 0;
      v20 = 0;
      v23 = 0;
      v9 = (unsigned __int16)Length >> 1;
      UserData.Ptr = (unsigned __int64)&v24;
      v12 = &v25;
      v15 = &v9;
      Buffer = Id->Buffer;
      v21 = &v10;
      UserData.Size = 8;
      v13 = 8;
      v19 = Length;
      v10 = v6;
      v16 = 2;
      v22 = 4;
      EtwWrite(v7, (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_DEVICE_PREPARATION, 0i64, 5ui64, &UserData);
    }
  }
}

Referenced by:

PoFxAbandonDevice
PoFxPrepareDevice