Interpret the QSocket send size as an unsigned 16-bit count
Ghidra v1846 · 3cfe190
The target consumes only the low 16 bits of nSize and zero-extends them into the DWORD length forwarded to the actual Winsock send route. Current signed short gives the high-bit lengths a negative interpretation that the native MOVZX never uses. The sole caller constructs unsigned 16-bit packet-length words through both header paths and passes their total count. Retype nSize to existing ushort, retaining its two-byte slot, chosen name, both pointer inputs, signed int status return, __stdcall and RET12. No widening, naming, packet algorithm, runtime or buffer-safety change is claimed; arbitrary overflow/malformed sizes are not asserted safe.
Changes 1, applied together
Retype variable
win 0x006bc860 Stack[0xc]typeshort→ushort