PopPdcRegister

__int64 __fastcall PopPdcRegister(__int64 a1, __int64 (__fastcall **a2)(int a1, unsigned __int8 a2, int a3)){
  unsigned int v2; 
  v2 = 0;
  if( a2 )
  {
    PopAcquirePolicyLock();
    PopModernStandbyTransitionInfo = 0i64;
    *(_OWORD *)&PoPdcCallbacks = *(_OWORD *)(a1 + 8);
    *((_OWORD *)&PoPdcCallbacks + 1) = *(_OWORD *)(a1 + 24);
    *((_OWORD *)&PoPdcCallbacks + 2) = *(_OWORD *)(a1 + 40);
    *((_OWORD *)&PoPdcCallbacks + 3) = *(_OWORD *)(a1 + 56);
    *((_OWORD *)&PoPdcCallbacks + 4) = *(_OWORD *)(a1 + 72);
    *((_OWORD *)&PoPdcCallbacks + 5) = *(_OWORD *)(a1 + 88);
    *((_OWORD *)&PoPdcCallbacks + 6) = *(_OWORD *)(a1 + 104);
    *((_OWORD *)&PoPdcCallbacks + 7) = *(_OWORD *)(a1 + 120);
    *((_OWORD *)&PoPdcCallbacks + 8) = *(_OWORD *)(a1 + 136);
    *((_OWORD *)&PoPdcCallbacks + 9) = *(_OWORD *)(a1 + 152);
    *((_OWORD *)&PoPdcCallbacks + 10) = *(_OWORD *)(a1 + 168);
    *a2 = (__int64(__fastcall *)(int, unsigned __int8, int))PdcPoResiliencyClient;
    a2[1] = (__int64(__fastcall *)(int, unsigned __int8, int))PdcPoLowPower;
    a2[2] = (__int64(__fastcall *)(int, unsigned __int8, int))PdcPoSetPowerAction;
    a2[3] = (__int64(__fastcall *)(int, unsigned __int8, int))PdcPoReportButton;
    a2[4] = (__int64(__fastcall *)(int, unsigned __int8, int))PdcPoReportLidState;
    a2[5] = (__int64(__fastcall *)(int, unsigned __int8, int))PdcPoRecordButton;
    a2[6] = (__int64(__fastcall *)(int, unsigned __int8, int))PdcPoVerifyActionPolicy;
    a2[7] = (__int64(__fastcall *)(int, unsigned __int8, int))PdcPoVerifyPowerState;
    a2[8] = (__int64(__fastcall *)(int, unsigned __int8, int))PopBlockSessionSwitch;
    a2[9] = (__int64(__fastcall *)(int, unsigned __int8, int))PopControlMonitor;
    a2[10] = (__int64(__fastcall *)(int, unsigned __int8, int))PopNotifyCsStateExited;
    a2[11] = (__int64(__fastcall *)(int, unsigned __int8, int))PdcPoCurrentPdcPhase;
    a2[12] = (__int64(__fastcall *)(int, unsigned __int8, int))PdcPoIdleScanEnabled;
    a2[13] = (__int64(__fastcall *)(int, unsigned __int8, int))PdcPoPpmRegisterProfiles;
    a2[14] = (__int64(__fastcall *)(int, unsigned __int8, int))PdcPoPpmApplyProfile;
    a2[15] = (__int64(__fastcall *)(int, unsigned __int8, int))PdcPoPpmResetProfile;
    a2[16] = (__int64(__fastcall *)(int, unsigned __int8, int))PdcPoNetworkResiliency;
    a2[17] = (__int64(__fastcall *)(int, unsigned __int8, int))PpmQueryDripsResidency;
    a2[18] = (__int64(__fastcall *)(int, unsigned __int8, int))PdcPoSleepStudyHelperSetPhaseActive;
    a2[19] = (__int64(__fastcall *)(int, unsigned __int8, int))PdcPoPowerRequestBlockingCallback;
    PopReleasePolicyLock();
  }
  else
  {
    return(unsigned int)-1073741811;
  }
  return v2;
}

Referenced by:

PopPdcInvocation