PoDiagTraceDeviceRundown

NTSTATUS __fastcall PoDiagTraceDeviceRundown(__int64 a1, unsigned __int16 *a2, unsigned __int16 *a3, char a4){
  int v4; 
  unsigned __int16 v5; 
  int v6; 
  UINT64 v7; 
  char v9; 
  __int16 v10; 
  __int16 v11; 
  EVENT_DATA_DESCRIPTOR UserData; 
  char *v13; 
  __int64 v14; 
  __int16 *v15; 
  __int64 v16; 
  __int64 v17; 
  int v18; 
  int v19; 
  __int16 *v20; 
  __int64 v21; 
  __int64 v22; 
  int v23; 
  int v24; 
  __int64 v25; 
  v25 = a1;
  v4 = *a2;
  UserData.Ptr = (unsigned __int64)&v25;
  v18 = v4;
  v13 = &v9;
  v5 = v4;
  v9 = a4 - 1;
  v6 = *a3;
  v7 = 5i64;
  v10 = v5 >> 1;
  v15 = &v10;
  v17 = *((_QWORD *)a2 + 1);
  v11 = (unsigned __int16)v6 >> 1;
  v20 = &v11;
  *(_QWORD *)&UserData.Size = 8i64;
  v14 = 1i64;
  v16 = 2i64;
  v19 = 0;
  v21 = 2i64;
  if( (_WORD)v6 )
  {
    v7 = 6i64;
    v22 = *((_QWORD *)a3 + 1);
    v23 = v6;
    v24 = 0;
  }
  return EtwWrite(PopDiagHandle, (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_DEVICE_RUNDOWN, 0i64, v7, &UserData);
}

Referenced by:

PopDiagDeviceRundownWorker