The randomizer shouldn't crash when a patch doesn't work. It might be possible to fix the IPS patch, too.
2022-03-04T13:03:01.9092403-04:00 CRIT [Randomizer.App.App] [0] [CRASH] Uncaught ArgumentOutOfRangeException in Dispatcher: System.ArgumentOutOfRangeException: Super Metroid offset must be below 0x00300000 (Parameter 'offset')
Actual value was 4194303.
at Randomizer.SMZ3.FileData.Rom.TranslateSuperMetroidOffset(Int32 offset) in D:\Source\SMZ3Randomizer\src\Randomizer.SMZ3\FileData\Rom.cs:line 76
at Randomizer.SMZ3.FileData.Rom.ApplyIps(Byte[] rom, Stream ips, Func`2 translateOffset) in D:\Source\SMZ3Randomizer\src\Randomizer.SMZ3\FileData\Rom.cs:line 97
at Randomizer.SMZ3.FileData.Rom.ApplySuperMetroidIps(Byte[] rom, Stream ips) in D:\Source\SMZ3Randomizer\src\Randomizer.SMZ3\FileData\Rom.cs:line 71
at Randomizer.App.RomGenerator.GenerateRomBytes(RandomizerOptions options, SeedData& seed) in D:\Source\SMZ3Randomizer\src\Randomizer.App\RomGenerator.cs:line 131
at Randomizer.App.RomGenerator.GenerateRom(RandomizerOptions options, String& path, String& error, GeneratedRom& rom) in D:\Source\SMZ3Randomizer\src\Randomizer.App\RomGenerator.cs:line 45
at Randomizer.App.GenerateRomWindow.GenerateRomButton_Click(Object sender, RoutedEventArgs e) in D:\Source\SMZ3Randomizer\src\Randomizer.App\Windows\GenerateRomWindow.xaml.cs:line 142
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.Controls.Primitives.ButtonBase.OnClick()
at System.Windows.Controls.Button.OnClick()
at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)