I don't think it makes sense to call ```FileMon::CheckFile``` on an empty string. I'd rewrite that to (pseudo)
```
if (m_pFileSystem)
{
   string filename = m_pFileName->GetFileName();
   INFO_LOG("read: " + filename);
   FileMon::CheckFile(filename);
}
else
   INFO_LOG("file unknown (or no fs or whatever)");
```