I guess that on the beginning it was:
bool result = FirstCheck();
result &= SecondCheck();
Assert(result);
so the code was checking that both results were positive, but then somebody added the Assert() after the firstCheck().
Or the person might be from C++ background and thought that bitwise operators are faster than logical ones.