PopPlRegisterDevice

BOOL __fastcall PopPlRegisterDevice(INT64 a1, INT64 a2, INT64 a3){
  UNICODE_STRING *v3; 
  bool v5; 
  int v7; 
  int v8; 
  __int16 v9; 
  BOOL v10; 
  int v11; 
  __int64 v12[5]; 
  int v13; 
  int v14; 
  int *v15; 
  int v16; 
  int v17; 
  __int64 v18; 
  int v19[2]; 
  BOOL *v20; 
  int v21; 
  int v22; 
  int *v23; 
  int v24; 
  int v25; 
  if( PopPowerPlane )
  {
    v3 = PopPlLookupDevicePowerProfile(PopPowerPlane, (UNICODE_STRING *)(a1 + 216));
    if( v3 )
    {
      v3[1].Buffer = (wchar_t *)a1;
      *(_QWORD *)(a1 + 1184) = v3;
    }
  }
  if( (unsigned int)dword_140C021E8 > 5 )
  {
    v14 = 0;
    v17 = 0;
    v19[1] = 0;
    v12[4] = (__int64)&v9;
    v15 = v19;
    v18 = *(_QWORD *)(a1 + 224);
    v19[0] = *(unsigned __int16 *)(a1 + 216);
    v5 = *(_QWORD *)(a1 + 1184) == 0i64;
    v13 = 2;
    v16 = 2;
    v22 = 0;
    v25 = 0;
    v10 = !v5;
    v20 = &v10;
    v11 = *(_DWORD *)(a1 + 828);
    v23 = &v11;
    v21 = 4;
    v24 = 4;
    v9 = 1;
    LODWORD(v3) = tlgWriteEx_EtwWriteEx(
                    (__int64)&dword_140C021E8,
                    (unsigned __int8 *)&byte_14002941D,
                    a3,
                    1u,
                    v7,
                    v8,
                    7u,
                    (__int64)v12);
  }
  LOBYTE(v3) = *(_QWORD *)(a1 + 1184) != 0i64;
  return(int)v3;
}

Referenced by:

PopFxRegisterDeviceWorker
PopPlRegisterDeviceIterator