I have a function with the following header sub_45BD46@eax(char a1@bl, int a2@esi, int a3), my question is: I am right that sub_45BD46@eax means the result value is in eax?

2 Answers 2


Yes. If you have Hex Rays decompiler you can mouse over the decompiled version and will show RET is EAX.

enter image description here

Generally in most x86 calling conventions return values are in eax.

However need to be aware without debugging symbols available the automatically generated parameters and return value in IDA Pro in the sub name are not always correct.

Further details are available here


You are correct. The __usercall and __userpurge syntax is documented on Hex-Rays website.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.