Runtime bounds on algorithms of NP complete problems assuming P≠NP
My interpretation of the question is that is asks about the possibilities in relativized worlds. Suppose that in some relativized world, $P \neq NP$. Can we deduce anything non-trivial about the time complexity of NP-complete problems? The Baker–Gill–Solovay argument shows that we can "force" some NP problem to require exponential time, so the upper bound given in the question is essentially optimal.

Regarding the lower bound, we sketch below a proof that relative to some oracle, $NP = \mathrm{TIME}(2^{O(\log^2 n)})$. Assuming that the sketched proof is correct, we can also apply it to functions smaller than $2^{O(\log^2 n)}$, and this shows that the lower bound given in the question is also essentially tight.

Proof sketch. We construct two oracles $O_1,O_2$: the first behaves like a $\mathrm{TIME}(2^{O(\log^2 n)})$-complete problem, and the second implements the Baker–Gill–Solovay diagonalization. It is straightforward to pack both oracles into a single oracle.

The oracle $O_1$ consists of all pairs $\langle M, x \rangle$ such that $M$ is an oracle Turing machine that accepts $x$ in running time $2^{2^{\sqrt{\log |x|}}}$ when given access to the oracles $O_1,O_2$ restricted to inputs of length at most $2^{\sqrt{\log |x|}}$. (This is not a circular definition.)

The oracle $O_2$ is defined in the same way that the oracle is defined in Baker–Gill–Solovay: for each clocked oracle Turing machine $M$ running in time $T = 2^{o(\log^2 n)}$, we find some input length $n$ which is "untouched", run $M$ on $1^n$ for $T$ steps, and for each query to $O_2$ of size $n$, we mark that this input is not in $O_2$ (for other queries we also mark that the input is not there, unless we had already decided that it is in $O_2$). Queries to $O_1$ are handled similarly (as implicit queries to $O_1,O_2$ of smaller size, handled recursively); notice that such queries never mention strings of length $n$ in $O_2$, since $2^{\sqrt{\log T}} &lt; n$. If the machine accepts, we mark all other strings of length $n$ in $O_2$ as missing, otherwise we pick some string of length $n$ and put it in $O_2$.

The class $P^{O_1,O_2}$ consists of all programs running in time $2^{2^{O(\sqrt{\log n})}}$, making queries to $O_1,O_2$ of size $2^{O(\sqrt{\log n})}$. The class $NP^{O_1,O_2}$ is of the form $x \mapsto \exists |y|&lt;n^C \varphi(x,y)$, where $\varphi \in P^{O_1,O_2}$, and so it is contained in the class of all programs running in time $2^{n^C}$ and making oracle queries of size
$2^{O(\sqrt{\log n})}$. The latter is contained in $\mathrm{TIME}(2^{\log^2 n^C})^{O_1,O_2}$, since we can use $O_1$ to decide it. This shows that $NP^{O_1,O_2} \subseteq \mathrm{TIME}(2^{O(\log^2 n)})^{O_1,O_2}$.

For the other direction, let $L$ be the language which consists of $1^n$ for each $n$ such that $O_2$ contains some string of length $n$. By construction of $O_2$, $L \notin \mathrm{TIME}(2^{o(\log^2 n)})^{O_1,O_2}$, while clearly $L \in NP^{O_1,O_2}$. This shows that $NP^{O_1,O_2} = \mathrm{TIME}(2^{O(\log^2 n)})^{O_1,O_2}$.