The script works by simulating mouse button clicks and reading rolled abilities values. Actually it does not read values, it uses function of AutoIt (PixelChecksum) to get checksum for pixels in specified region. Then it compares this checksum with checksums it has learned earlier.
For example, it stores checksum for "You can not decrease this ability any further" and checks for this checksum later to stop pressing "-" button when it needs to minimize some ability. Also it saves checksums for "You can not increase this ability any further", as well as checksum for "0" in reserve points to stop pressing "+" button when it is increasing some ability.
Then it saves checksums for all available values for each ability, thus making it possible to instantly know which values were rolled for each ability. It is not that easy with strength values - it has to read checksums from cache or ask you for strength values which it does not know yet.
When it needs to maximize strength ability, it tries to find ability with number of extra points just enough to make maximum strength from current strength value, then it decreases this ability to minimum and then adds points from reserve to the strength ability. Doing it this way minimizes number of mouse clicks and mouse movements.
When script finds better combination, it will save it by pressing Store button, later when script stops execution, it can restore best combination by pressing Recall button.