https://bugs.winehq.org/show_bug.cgi?id=55736
--- Comment #18 from Esme Povirk madewokherd@gmail.com --- Skipping lobounds of 0 also seems wrong to me (that's the typical case), so I looked up where this code came from and arrived at https://github.com/mono/mono/pull/20499
So we're actually duplicating the logic from coreclr, therefore we should check there for the correct behavior. The link to the original code is broken, but I think it's this: https://github.com/dotnet/runtime/blob/435e9aa552a3f4fa7348b2a18e12fd5615791...
I'm struggling to find the code that does this specific string conversion though.