How to locate missing C code

This won’t answer your more general question, but in your specific case, since you have packages on the system, it’s worth looking for the corresponding source code:

find / -name \*.orig.tar\* -o -name \*.dsc

This will look for source archives named in the way the Debian package building tools expect, and source package control files. If you find those, look for .debian.tar* or .diff.gz files alongside them. All these files combined would give you the source code and the build rules, along with all the package metadata.

You could also look for unpacked control files:

find / -name control

These would typically live in the debian subdirectory of a package’s source, which should contain everything you need to rebuild the package from source.