I have an address that gets written to about 100+ times per second. Using cheat engine I can see there are about 100+ different addresses that write to this single address. Cheat Engine is unable to set conditions though to show me which address writes to it when, for example the value that gets written to it is 0000003C

I'm looking for a method to monitor this memory address so that I can find out what other address writes to it when the value getting written to it is 3C. I doubt it'll be an issue monitoring it for when it hits 3C, but how can I take that exact moment and find out what other address wrote to that one? How can I find out what address in the program was holding that 3C before it got written to the address that I was watching?