does SymEnumSymbols() on native return an actual name for the (internal) functions different from the exported one?
I don't know if it's possible for the internal and external names to be completely different on real Windows,
yes you can, eg in the .def linker file, in EXPORTS section, use exported_name=internal_name syntax
but one small difference is that on 32-bit Windows, the function name reported from SymEnumSymbols is simply GetCurrentThreadId, whereas Wine reports GetCurrentThreadId@0.
I can't repro this
which wine version are you using and which debug format for kernelbase? AFAICT
* in dwarf, decorated names are stored in DW_attr_linkage_name, which Wine's dbghelp doesn't use * in pdb, only the public symbols are decorated, and public symbols are (no longer) loaded for pdb in Wine's dbghelp
(and there's native dbghelp.dll bundled with the cheat-engine, so which dbghelp is used ? wine's or the bundled)