Game functions yes,
Some dvars are dynamic as well.
Usually there's something like:
DWORD * Dvar = RegisterDvar(DvarName);
Aka the dword "Dvar" is a pointer to the actual offset which makes finding pointers easier as the "Dvar" offset never changes, just the location of the structure.