 unsigned TasksPerThread) {   if (BC.getBinaryFunctions().size() == 0)     return;    auto runBlock = [&](std::map<uint00_t, BinaryFunction>::iterator BlockBegin,                       std::map<uint00_t, BinaryFunction>::iterator BlockEnd) {     Timer T(LogName, LogName);     DEBUG(T.startTimer());      for (auto It = BlockBegin; It != BlockEnd; ++It) {       auto &BF = It->second;       if (SkipPredicate && SkipPredicate(BF))         continue;        WorkFunction(BF);     }     DEBUG(T.stopTimer());   };    if (opts::NoThreads || ForceSequential) {     runBlock(BC.getBinaryFunctions().begin(), BC.getBinaryFunctions().end()