When you request to crack 1 or more hashes, the hash list is sent to the server. The server then checks what rainbowtables exists for the hash type. For each rainbowtable to be searched, your client is assigned some to do some precalculations to speed up the search. When the client finishes the precalculations, the result of these precalculations are sent to the server. The server scans through the corresponding rainbowtable and checks if it finds a match. The result can be viewed on your personal page (requires login).