JEB output Original source
// Decompiled by JEB v0.9.0 alpha

public static void quicksort(int[] arg5, int arg6, int arg7) {
    int v0 = arg6;
    int v1 = arg7;
    int v2 = arg5[(arg7 - arg6) / 2 + arg6];
    while(v0 <= v1) {
        while(arg5[v0] < v2) {
            ++v0;
        }

        while(arg5[v1] > v2) {
            --v1;
        }

        if(v0 > v1) {
            continue;
        }

        int v3 = arg5[v0];
        arg5[v0] = arg5[v1];
        arg5[v1] = v3;
        ++v0;
        --v1;
    }

    if(arg6 < v1) {
        Sort.quicksort(arg5, arg6, v1);
    }

    if(v0 < arg7) {
        Sort.quicksort(arg5, v0, arg7);
    }
}
/**
 * Quicksort
 * @param array array to be sorted
 * @param lo init to 0
 * @param hi init to values.length-1
 */
public static void quicksort(int[] array, int lo, int hi) {
    int i = lo;
    int j = hi;

    int pivot = array[lo + (hi - lo) / 2];

    while(i <= j) {

        while(array[i] < pivot) {
            i++;
        }

        while(array[j] > pivot) {
            j--;
        }

        if(i <= j) {
            int temp = array[i];
            array[i] = array[j];
            array[j] = temp;
            i++;
            j--;
        }
    }

    if(lo < j) {
        quicksort(array, lo, j);
    }
    
    if(i < hi) {
        quicksort(array, i, hi);
    }
}