
I didn't test it bu a graphShader as the one bolow should be fine.
Explanation:
You have two textures wich are used as the input. one is your repeated texture and the other one your baked AO/shadow map. both of them get positioned via a different UV map from the input node on the left. Than you use the Vector Operation Node to multiply every pixel of the two textures.
If the AO map is grey an your current texture red (AO:(0.5,0.5,0.5) Color:(1,0,0)) The resulted color at that position woul be: (0.5 * 1, 0.5 * 0, 0.5 * 0) = (0.5,0,0)
The resulted color than will be dark red...