SdbpQueryAppCompatFlagsByExeID

NTSTATUS __stdcall SdbpQueryAppCompatFlagsByExeID(WCHAR *pwszExeID, INT64 bMachine, UINT64 *lpdwFlags){
  _DWORD *v3; 
  _DWORD *v4; 
  NTSTATUS Key; 
  NTSTATUS v7; 
  bool v8; 
  NTSTATUS UInt32; 
  UINT64 ValueOut; 
  PVOID KeyHandle; 

  HIDWORD(ValueOut) = HIDWORD(pwszExeID);
  LODWORD(ValueOut) = 0;
  KeyHandle = 0i64;
  v4 = v3;
  Key = AslRegistryGetKey(&KeyHandle, (INT64)L"\\Software\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags");
  v7 = Key;
  if( Key >= 0 )
  {
    UInt32 = AslRegistryGetUInt32(&ValueOut, KeyHandle, (PWCHAR)bMachine);
    v7 = UInt32;
    if( UInt32 >= 0 )
    {
      v7 = 0;
    }
    else if( UInt32 != -1073741772 )
    {
      AslLogCallPrintf(
        1ui64,
        (INT8 *)"SdbpQueryAppCompatFlagsByExeID",
        0x4Bui64,
        (INT8 *)"AslRegistryGetUInt32 failed for key: '%ws' [%x]");
    }
  }
  else if( Key != -1073741772 )
  {
    AslLogCallPrintf(1ui64, (INT8 *)"SdbpQueryAppCompatFlagsByExeID", 0x40ui64, (INT8 *)"AslRegistryGetKey failed [%x]");
  }
  v8 = KeyHandle == 0i64;
  *v4 = ValueOut;
  if( !v8 )
    ZwClose((_HANDLE)KeyHandle);
  return v7;
}

Referenced by:

SdbGetEntryFlags