PopEventCalloutDispatch

_ETHREAD *__fastcall PopEventCalloutDispatch(int a1, __int64 a2){
  INT64 v2; 
  UINT64 *v3; 
  _ETHREAD *result; 
  int v5; 
  int v6[2]; 
  __int64 v7; 
  v6[1] = 0;
  v6[0] = a1;
  v7 = a2;
  if( PsWin32CalloutsEstablished )
  {
    v2 = 1i64;
    if( a1 == 1 )
    {
      v5 = 0;
      v3 = (UINT64 *)&v5;
    }
    else
    {
      v3 = 0i64;
      if( a1 == 10 )
        v2 = 0i64;
      else
        v2 = 2i64;
    }
    PopInvokeWin32Callout(3i64, v6, v2, v3);
    result = (_ETHREAD *)KeGetCurrentThread();
    if( *((_DWORD *)result + 121) )
      __fastfail(0x20u);
  }
  return result;
}

Referenced by:

NtPowerInformation
PopDispatchCallout
PopDispatchFullWake
PopDispatchShutdownEvent
PopPolicyTimeChange