Local $antw = 6, $aVG, $aRG	What purpose to put $aVG  and $aRG  here?

You made better:  In my script, the whole script terminates when Len$vg >4, forcing you to start over , while in your version one simply returns to the corresponding inputbox. (not capable of leaving the script)
I placed an exit value "q"  in inputbox. With this “q”,  given as input, the script exits.

$aVG = StringSplit($vg, ‘’, 2) 	lines 21 and 28
I experienced that it works, but can’t figure out how. Explanation in SciTE (English) is too much for me. 
It has to do with Ubound  line 31, but it’s hazy…
By the way: You didn’t check the script, because the outcome is wrong…
Still nozing around where it goes wrong. 
Still, the comparing section, once you do understand the way it works, is much shorter then mine.
My solution, nevertheless, was clear to me.  And brings a correct outcome! 
I reduced your script to the essential lines to analyse this compare section.
With a bit of yours and a bit of mine, I have a working script now, that does the trick.
Still I have anorther wish for improvement. I’ll put it on the forum.

So Far, Tnx agn