Exacto, esa función lo que hace es encriptar/desencriptar una cadena X que se le pase como parámetro y en dependencia del 2do parámetro encripta o desencripta. Yo tengo conocimientos de programación así que puedes hablar sin problemas alguno.

Visual Basic 6 fue lo primero que usé pero fue hace alrededor de 13 años y desde ese entonces no lo he tocado más hasta ahora
Ahora bien de todo lo que me explicas hay algo que no logro entender y es lo siguiente:
Cita: se redimenciona UserKeyASCIIS ( ) con la cantidad de lugares en n ya que en el siclo for se va a combertir cada una de los caracteres en la variable UserKey en un valor ascii con
Asc(Mid$(UserKey, i, 1)) y este va a ir a su correspondiente posicion ( i ) en el arreglo UserKeyASCIIS(N) que por cierto un valor ascii es un valor numerico seguramente ...
Me explicas un poco que es lo que hace esa porción de código?
Saludos y gracias por la ayuda