InbvSetFunction

_INBV_MODE __stdcall InbvSetFunction(_INBV_MODE Mode){
  _INBV_MODE result; 
  void(__fastcall *v3)(_QWORD); 
  __int64(__fastcall **v4)(); 

  result = dword_140C508A0;
  if( (unsigned int)(dword_140C508A0 - 3) <= 1 )
  {
    if( qword_140C508A8 )
    {
      v3 = (void(__fastcall *)(_QWORD))qword_140C508A8[17];
      if( v3 )
        v3(0i64);
    }
    v4 = (__int64(__fastcall **)())((char *)&stru_140C00F40 + 8160);
    result = 4 - (Mode != MixedStandard);
    dword_140C508A0 = result;
    if( Mode != MixedStandard )
      v4 = off_140C02FE0;
    qword_140C508A8 = v4;
  }
  return result;
}

Referenced by:

BgkNotifyDisplayOwnershipChange
InbvDriverInitialize