The 32 bit Windows ABI does not support passing structures by value. Pass pointers instead.
EXTERN: void * normalized( void * pv );
You may find yourself with an extra item on the stack. You can use the disassembler to disassemble normalized.
s" normalized" ExternLinked disasm/f
Under Windows 64 it is all different again. Linux and MacOS both use the System V ABI.