Function with multiple iterations won't run - too large

Function with multiple iterations won't run - too large

Hi,
I've created a function that is meant to pull all 4200 records I have in a custom module and update each record nightly with changes made to the Account it is tied to.  The function works -- I have 22 iterations built in to pull 200 records at a time -- but the function times out stating it's taking longer than 5 minutes to run.  How do I get around this?  I can't break it up into multiple schedules because I am max'd out on schedules.