Simulate sources from unconstrained scouts

This is the error message after pressing control + C:

Operation terminated by user during process_simulate_recordings>Run (line 278)


In process_simulate_recordings (line 27)
eval(macro_method);

In process_simulate_sources>Run (line 93)
    OutputFiles = process_simulate_recordings('Run', sProcess, sInput);

In process_simulate_sources (line 27)
eval(macro_method);

In bst_process>Run (line 202)
                            tmpFiles = sProcesses(iProc).Function('Run', sProcesses(iProc),
                            sInputs(iInput));

In bst_process (line 38)
eval(macro_method);

In panel_process1>RunProcess (line 124)
    sOutputs = bst_process('Run', sProcesses, sFiles, [], 1);

In panel_process1 (line 26)
eval(macro_method);

In gui_brainstorm>CreateWindow/ProcessRun_Callback (line 776)
        panel_fcn('RunProcess');

In bst_call (line 28)
        feval(varargin{:});

In gui_brainstorm>@(h,ev)bst_call(@ProcessRun_Callback) (line 297)
        gui_component('toolbarbutton', jToolbarA, [], '', {IconLoader.ICON_RUN, TB_SIZE}, 'Start',
        @(h,ev)bst_call(@ProcessRun_Callback));

EDIT:
I have been going through the code and in this loop in the function "process_simulate_recordings":

        for i = 1:length(sScouts)
            % Get source indices
            iSourceRows = bst_convert_indices(sScouts(i).Vertices, nComponents, HeadModelMat.GridAtlas, ~isVolumeAtlas);
            % Constrained models: One scout x One signal
            if (nComponents == 1)   
                % Replicate signal values for all the dipoles in the scout
                ImageGridAmp(iSourceRows,:) = repmat(sMatrix.Value(i,:), length(iSourceRows), 1);
            % Unconstrained models: One scout x One orientation (x,y,z) = one signal
            elseif (nComponents == 3)
                for dim = 1:3
                    iSignal = 3*(i-1) + dim;
                    % Replicate signal values for all the dipoles in the scout (with <dim> orientation only)
                    ImageGridAmp(iSourceRows(dim:3:end),:) = repmat(sMatrix.Value(iSignal,:), length(iSourceRows)/3, 1);
                end
            end
        end

This line takes aproximately 45 seconds to compute each time:

% Replicate signal values for all the dipoles in the scout (with <dim> orientation only)
ImageGridAmp(iSourceRows(dim:3:end),:) = repmat(sMatrix.Value(iSignal,:), length(iSourceRows)/3, 1);

So by my rough estimate, it should take Matlab 8 hours to finish this loop, is this normal behavior?