Reintroduced CriticalSection. MH_Initialize()/MH_Uninitialized() should be called exactly once.