A bug in the official "MakeSig.dll"

This plugin has some errors in identifying function names when selecting functions from the IDA database to create sigs:
like funciton:

void __fastcall FMemory::Trim(unsigned __int8 a1)

will failed with msg:
C:\Users\Euarno\Desktop\UE4-4.25.pat: created 0 patterns out of 165957 functions
C:\Users\Euarno\Desktop\UE4-4.25.sig: NO LIBRARY MODULES ARE FOUND!!!

void __fastcall Test123(unsigned __int8 a1)

will success with msg:

C:\Users\Euarno\Desktop\UE4-4.25.pat: created 1 patterns out of 165957 functions
C:\Users\Euarno\Desktop\UE4-4.25.sig: input 40 output 49 saved -18% OK


void __fastcall Tes::t123(unsigned __int8 a1)
(At this time, the name displayed in the function window is Tes__t123)

will failed with msg:
C:\Users\Euarno\Desktop\UE4-4.25.pat: created 0 patterns out of 165957 functions
C:\Users\Euarno\Desktop\UE4-4.25.sig: NO LIBRARY MODULES ARE FOUND!!!

Please note that the above functions are identical except for the names. According to my repeated tests, this plugin can only work properly when the function name is a simple text. In other cases, such as when the function name contains special symbols :: _, etc., it will not work properly. It also cannot work properly for functions with symbols recognized by pdb (my application scenario is to compile a demo with pdb for a certain engine, and then make sig based on the demo and apply it to other software based on this engine)

I referred to the article An overview of the makesig plugin – Hex Rays to learn how to use this plugin

Thank you for the report! Indeed, there is a known issue that functions can be missing when demangling is enabled. For now please disable “ Show demangled” when using makesig in a binary with C++ names.

Even though we have selected the Don’t demangle option, this error still occurs. For functions with underscores, complex symbol information, and other common special symbols, the export still fails.

update: this issue is planned to be fixed in 9.2 release.