```c DARKSDK DWORD CastFtoW(float fValue) { WORD result = (WORD)fValue; return *((DWORD*)&result); } ``` I mean if you cast a pointer of 2 byte value to pointer of 4 byte value ```return *((DWORD*)&result);``` will read two more bytes !