My teacher has given me code for an encryption code and has challenged us to find a working decryption function. I am having a very hard time with this. Can anyone help me out? Here is the Encryption algorithm:

VB Code:
  1. Public Function Encrypt(ByVal strData As String, ByVal strKey As String) As String
  2.         Dim k1 As Integer
  3.         Dim strCompleteEncrypted As String
  4.         Dim s3 As String
  5.         Dim intI As Integer
  6.         Dim blnFlag As Boolean
  7.         Dim intJ As Integer
  8.         k1 = 0
  9.         strCompleteEncrypted = ""
  10.         s3 = ""
  11.         intI = strData.Length
  12.         blnFlag = False
  13.         intJ = intI
  14.         For intJ = intI To 1 Step -1
  15.             If k1 = strKey.Length Then k1 = 0
  16.             Dim intSingleASCValue As Integer
  17.             intSingleASCValue = Asc(strKey.Substring(k1, 1))
  18.             Dim i1 As Integer
  19.             i1 = (intSingleASCValue Mod 13) + 1
  20.             If k1 < strKey.Length - 1 Then
  21.                 Dim k As Integer
  22.                 k = Asc(strKey.Substring(k1 + 1, 1)) + k1 + 1
  23.                 If k > 122 Then k = 65 + (122 - k)
  24.                 Dim intArrayASCValue(0 To strKey.Length - 1) As Integer
  25.                 Dim intCounter As Integer
  26.                 For intCounter = 0 To strKey.Length - 1
  27.                     intArrayASCValue(intCounter) = Asc(strKey.Substring(intCounter, 1))
  28.                 Next
  29.                 intArrayASCValue(k1 + 1) = k
  30.                 Dim intKeyTemp As Integer
  31.                 intKeyTemp = strKey.Length - 1
  32.                 strKey = ""
  33.                 For intCounter = 0 To intKeyTemp
  34.                     strKey = strKey & Chr(intArrayASCValue(intCounter))
  35.                 Next
  36.             End If
  37.             Dim str4 As String
  38.             str4 = strData.Substring(intJ - 1, 1)
  39.             intSingleASCValue = Asc(str4)
  40.             Dim intEncryptedASC2 As Integer
  41.             intEncryptedASC2 = intSingleASCValue \ 11
  42.             intEncryptedASC2 = 122 - intEncryptedASC2 - i1
  43.             Dim intEncryptedASC1 As Integer
  44.             intEncryptedASC1 = intSingleASCValue Mod 11
  45.             intEncryptedASC1 = 65 + intEncryptedASC1 + i1
  46.             Dim strEncrypted1 As String
  47.             Dim strEncrypted2 As String
  48.             strEncrypted1 = Chr(intEncryptedASC1)
  49.             strEncrypted2 = UCase(Chr(intEncryptedASC2))
  50.             strCompleteEncrypted = strCompleteEncrypted + strEncrypted1 + strEncrypted2
  51.             k1 = k1 + 1
  52.         Next
  53.         Return strCompleteEncrypted
  54.     End Function

Here is a demonstration:
VB Code:
  1. Encrypt("Some Test Encryption Text", "issa_fram")
It returns: INXCDPRITOELFLHPHOENBNHMNDNCMKUNOHQEEOJQPSFNOMCOJP
I realized that the encrypted text length is twice the length of the original data.
When decrypting, the key ("issa_fram") will be provided. Can anyone help me out? I would really appreciate it