@madmonster It's pretty complex but it's a relatively simple algorithm. First it checks if your password is a, then b, then c, etc.. Once it gets to the end of all the characters it wants to try, it adds another and goes back so then it tries aa then ab then ac.
After it gets to the end of the second letter, it does that for the first letter so it would then go ba, bb, bc. Once that first letter hits the end once more, it adds a letter and becomes aaa. This is why it takes so long for longer passwords, but this way it can also crack any password.