PopFxPlatformRegisterInterface

NTSTATUS __stdcall PopFxPlatformRegisterInterface(
        _POFX_PLATFORM_INTERFACE_REGISTER_INPUT *InterfaceIn,
        _POFX_PLATFORM_INTERFACE_REGISTER_OUTPUT *InterfaceOut){
  signed __int64 v3; 
  NTSTATUS v4; 

  if( InterfaceIn[1] != 1 )
    return -1073741735;
  if( !*((_QWORD *)InterfaceIn + 1) )
    return -1073741811;
  v3 = *((_QWORD *)InterfaceIn + 3);
  if( !v3 )
    return -1073741811;
  v4 = -1073741823;
  if( !_InterlockedCompareExchange64(&qword_140C1E650, v3, 0i64) )
  {
    v4 = 0;
    PopFxPlatformInterface = *(_OWORD *)(InterfaceIn + 2);
    *((_QWORD *)InterfaceOut + 1) = 0i64;
    *(_QWORD *)InterfaceOut = PoFxPlatformRequestHandler;
    ObfReferenceObjectWithTag(*((VOID **)InterfaceIn + 3), 0x4D584650ui64);
  }
  return v4;
}

Referenced by:

PopPowerInformationInternal