Pos () dentro dos limites da string utf8

Eu gostaria de ter um Pos () adaptado para ser usado especificando limites dentro da seqüência de caracteres de origem, em vez de fazer a pesquisa em todos os dados.

Digamos que eu tenha uma string de 100 caracteres, quero executar a Pos apenas entre o 5º e o 20º caractere da string (unicode / utf8).

O código deve ser adaptado da implementação do fastcode do ASM em delphi e, obviamente, evitar a pré-cópia da porção da string para uma temporal, já que o propósito é torná-la mais rápida do que isso.

Meu cenário:

Eu tenho uma string que é acessada muitas vezes, e cada vez, uma parte dela é copiada para outra string temporal, então uma Pos é executada nela. Eu quero evitar a cópia intermediária toda vez, e prefiro executar o Pos dentro dos limites que eu especificar.

Editar: pergunta editada depois de nova foi considerada uma duplicata.

Eu ainda gostaria de uma solução que se expande na implementação atual do assembly XE3 FastCode, pois isso se encaixaria no meu objetivo aqui.

questionAnswers(1)

yourAnswerToTheQuestion