Mac DAMAGE_ApplyHealingToUnit: void __fastcall (D2UnitStrc* pUnit ECX, int32_t nHealAmount EDX)
The Mac prologue saves ECX to EDI (pUnit: the unit for the dead check, state 0x5c check, and stat 6 HP get/set) and EDX to ESI (nHealAmount, tested with JLE and added to the current HP, clamped to max HP). There are no stack-arg reads and it ends in a plain RET. EAX is only whatever the last STATLIST_SetUnitStat call left, and both DAMAGE_ApplyDamageToUnit callers (0x0027d8b1, 0x0027d929) load ECX/EDX and never read EAX after the call, so the return is void. The Windows twin 0x0057a980 has the same roles (pUnit, nHealAmount) in EDI/stack.
Changes 1, applied together
Set prototype
mac 0x0027e3e6signatureundefined DAMAGE_ApplyHealingToUnit(void)→void DAMAGE_ApplyHealingToUnit(D2UnitStrc* pUnit, int32_t nHealAmount)conventionunknown→__fastcall