Tiny cffi wrapper around patched undname.c module from Wine project.
WARNING: this package is built on top of pretty tricky third-party C code that might have bugs causing python interpreter to crash. I've fixed those I spotted myself but there might be more. Please report if you find any input causing a crash.
Usage example:
>>> from undname import undname
>>> undname("?xyz@?$abc@V?$def@H@@PAX@@YAXXZ")
'void __cdecl abc<class def<int>,void *>::xyz(void)'
Un-decoration errors are raised as python exceptions:
>>> undname("?")
Traceback (most recent call last):
...
undname.UndnameFailure: Failed at...
Strings that don't look like decorated symbols are left as is
>>> undname("main")
'main'