It looks like most of the issues @nsivov pointed out [here](https://www.winehq.org/mailman3/hyperkitty/list/wine-devel@winehq.org/thread...) are yet to be addressed.
A few other things: - `pidlFQ` should be freed with `ILFree()` - Let's call it something less opaque like `full_pidl` - Switch to using `malloc()` / `free()` - If we really need the string functions, let's use `wcscpy()` etc