any of the cisco partner will do. you can search the list from cisco website http://www.cisco.com/web/partners/index.html
but usually they will cost a lot (at least $100/hr and UP + travel charge) just to take a look, it can easily cost you $500 without fixing yet. Since 4006 is already EOL they may just told you to replace it with new switch.
You can do basic troubleshoot yourself. connect console cable and see if any error is show. from there, you can look at the error and determine what/which card give you the trouble. Also COPY YOUR CONFIG FILE to your computer for backup too. You can go on EBAY and look, there are a good supply of 4000/4500 series available cheap ($300 can get you chassis, Power supply, Sup II, and couple of card install)