Well there are a couple of resources you can use. Steve Eddins (sp?) wrote a series of posts on upslope-area, and another on determining the continental divide. The upslope area functions are on the file exchange: upslope-area-functions, and there's the topotoolbox that should handle this as well.
HTH