PopPlRegisterPowerPlane

NTSTATUS __stdcall PopPlRegisterPowerPlane(INT64 InputBuffer){
  __int64 v1; 
  __int64 v2; 
  int inited; 
  __int64 v5; 
  INT64 v6; 
  __int64 v7; 
  INT64 v8; 
  INT64 v9; 
  __int64 v10; 
  int v12; 
  int v13; 
  __int16 v14; 
  INT64 v15; 
  __int128 v16; 
  __int64 v17[5]; 
  int v18; 
  int v19; 
  INT64 *v20; 
  int v21; 
  int v22; 

  v15 = 0i64;
  v16 = 0i64;
  if( PopPowerPlane )
  {
    inited = -1073741768;
  }
  else if( *(_DWORD *)(InputBuffer + 4) )
  {
    inited = -1073741735;
  }
  else if( *(_QWORD *)(InputBuffer + 16) )
  {
    inited = PopPlInitPowerPlane((UINT64 *)(InputBuffer + 24), InputBuffer, v1 + InputBuffer, &v15);
    if( inited >= 0 )
    {
      v6 = v15;
      *(_QWORD *)(v15 + 32) = *(_QWORD *)(InputBuffer + 8);
      *(_QWORD *)(v6 + 40) = *(_QWORD *)(InputBuffer + 16);
      *((_QWORD *)&v16 + 1) = v6;
      PopPepIterateDeviceList(
        0i64,
        (unsigned __int8(__fastcall *)(_LIST_ENTRY *, __int64))PopPlActivateDeviceIterator,
        0i64,
        v5,
        1,
        0,
        (__int64)&v16);
      PopPepIterateDeviceList(
        (void(__fastcall *)(__int64))PopPlCommitPowerPlaneRegistration,
        (unsigned __int8(__fastcall *)(_LIST_ENTRY *, __int64))PopPlRegisterDeviceIterator,
        (void(__fastcall *)(void(__fastcall *)(__int64), __int64))PopPlPublishInitialPowerDraw,
        v7,
        0,
        0,
        (__int64)&v16);
      PopPlTraceLogPowerPlane((UINT16 *)v6, v8, v9);
      PopPepIterateDeviceList(
        0i64,
        (unsigned __int8(__fastcall *)(_LIST_ENTRY *, __int64))PopPlIdleDeviceIterator,
        0i64,
        v10,
        0,
        1,
        (__int64)&v16);
    }
  }
  else
  {
    inited = -1073741811;
  }
  if( *(&stru_140C00F40 + 1194) > 5u )
  {
    v19 = 0;
    v22 = 0;
    v17[4] = (__int64)&v14;
    v21 = 4;
    v20 = &v15;
    v14 = 1;
    v18 = 2;
    LODWORD(v15) = inited;
    tlgWriteEx_EtwWriteEx(
      (__int64)&stru_140C00F40 + 4776,
      (unsigned __int8 *)&byte_14002974D,
      v2,
      1u,
      v12,
      v13,
      4u,
      (__int64)v17);
  }
  return inited;
}

Referenced by:

PopPowerInformationInternal