Bought it through the website, on 4.15 I tried the 4.15.0, 4.15.3 and 4.16 (with alterations) all of them crash here:
SLevelEditor.cpp:1320
if ( EditorModeCommand.IsValid() && !LevelEditorCommands->IsActionMapped(Commands.EditorModeCommands[CommandIndex]) )
Call stack:
>	UE4Editor-LevelEditor.dll!SLevelEditor::RefreshEditorModeCommands() Line 1320	C++
 	UE4Editor-LevelEditor.dll!SLevelEditor::RestoreContentArea(const TSharedRef<SDockTab,0> & OwnerTab, const TSharedRef<SWindow,0> & OwnerWindow) Line 1120	C++
 	UE4Editor-LevelEditor.dll!SLevelEditor::Initialize(const TSharedRef<SDockTab,0> & OwnerTab, const TSharedRef<SWindow,0> & OwnerWindow) Line 176	C++
 	UE4Editor-LevelEditor.dll!FLevelEditorModule::SpawnLevelEditor(const FSpawnTabArgs & InArgs) Line 169	C++
 	UE4Editor-LevelEditor.dll!TMemberFunctionCaller<FLevelEditorModule,TSharedRef<SDockTab,0> (__cdecl FLevelEditorModule::*)(FSpawnTabArgs const & __ptr64) __ptr64>::operator()<FSpawnTabArgs const & __ptr64>(const FSpawnTabArgs & <Args_0>) Line 165	C++
 	UE4Editor-LevelEditor.dll!TTupleImpl<TIntegerSequence<unsigned int> >::ApplyAfter<TMemberFunctionCaller<FLevelEditorModule,TSharedRef<SDockTab,0> (__cdecl FLevelEditorModule::*)(FSpawnTabArgs const & __ptr64) __ptr64>,FSpawnTabArgs const & __ptr64>(TMemberFunctionCaller<FLevelEditorModule,TSharedRef<SDockTab,0> (__cdecl FLevelEditorModule::*)(FSpawnTabArgs const &)> && Func, const FSpawnTabArgs & <Args_0>) Line 134	C++
 	UE4Editor-LevelEditor.dll!TBaseRawMethodDelegateInstance<0,FLevelEditorModule,TSharedRef<SDockTab,0> __cdecl(FSpawnTabArgs const & __ptr64)>::Execute(const FSpawnTabArgs & <Params_0>) Line 556	C++
 	UE4Editor-Slate.dll!TBaseDelegate<TSharedRef<SDockTab,0>,FSpawnTabArgs const & __ptr64>::Execute(const FSpawnTabArgs & <Params_0>) Line 537	C++
 	UE4Editor-Slate.dll!FTabManager::SpawnTab(const FTabId & TabId, const TSharedPtr<SWindow,0> & ParentWindow) Line 1413	C++
 	UE4Editor-Slate.dll!FTabManager::RestoreArea_Helper(const TSharedRef<FTabManager::FLayoutNode,0> & LayoutNode, const TSharedPtr<SWindow,0> & ParentWindow, const bool bEmbedTitleAreaContent) Line 1272	C++
 	UE4Editor-Slate.dll!FTabManager::RestoreSplitterContent(const TSharedRef<FTabManager::FSplitter,0> & SplitterNode, const TSharedRef<SDockingSplitter,0> & SplitterWidget, const TSharedPtr<SWindow,0> & ParentWindow) Line 1387	C++
 	UE4Editor-Slate.dll!FTabManager::RestoreArea_Helper(const TSharedRef<FTabManager::FLayoutNode,0> & LayoutNode, const TSharedPtr<SWindow,0> & ParentWindow, const bool bEmbedTitleAreaContent) Line 1356	C++
 	UE4Editor-Slate.dll!FTabManager::RestoreArea(const TSharedRef<FTabManager::FArea,0> & AreaToRestore, const TSharedPtr<SWindow,0> & InParentWindow, const bool bEmbedTitleAreaContent) Line 1248	C++
 	UE4Editor-Slate.dll!FTabManager::RestoreFrom(const TSharedRef<FTabManager::FLayout,0> & Layout, const TSharedPtr<SWindow,0> & ParentWindow, const bool bEmbedTitleAreaContent) Line 806	C++
 	UE4Editor-MainFrame.dll!FMainFrameModule::CreateDefaultMainFrame(const bool bStartImmersive, const bool bStartPIE) Line 209	C++
 	UE4Editor-UnrealEd.dll!EditorInit(IEngineLoop & EngineLoop) Line 124	C++
 	UE4Editor.exe!GuardedMain(const wchar_t * CmdLine, HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, int nCmdShow) Line 150	C++
 	UE4Editor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow) Line 199	C++