https://bugs.winehq.org/show_bug.cgi?id=49598
--- Comment #8 from Sagawa sagawa.aki+winebugs@gmail.com --- I examined PiD behavior and it looks that this is a PiD's bug.
When PiD analyzes steam_api.dll, wsprintfA() is called at 0044710Eh without preserving ECX register. Since wsprintfA() is a WINAPIV (aka __cdecl) function, it doesn't keep ECX register and overwrites the value inside it. So, afterwards, at 0044722dh, LOOP instruction doesn't work as expected because it depends on the past ECX value.