Interesting discussion, but it looks like Zebediah's method is superior in all respects.

I can confirm that CurrentIP takes 0 arguments. I also tested her method with other, documented functions, that I know the argument counts of and it works perfectly.

On Tue, Dec 28, 2021 at 1:31 PM Zebediah Figura (she/her) <zfigura@codeweavers.com> wrote:
On 12/28/21 12:24, Saulius Krasuckas wrote:
> On 2021-12-28 18:22, Alexandre Julliard wrote:
>> Saulius Krasuckas <saulius2@ar-fi.lt> writes:
>>
>>> By looking at the disassembled calling points of the function and its'
>>> epilogues [1] _and_ by avoiding to memorize what does core of the
>>> function do (particularly which other WinAPI functions does it call),
>>> you stay safe and in compliance with copyrights and other stuff of
>>> Intellectual Property law.
>>
>> No, you should never look at a disassembly of a Windows dll, period.
>>
>> Please read https://wiki.winehq.org/Clean_Room_Guidelines for details.
>
> Alexandre, I have read it before my answer and I found it to be
> contradicting other documentation page.  So I had to interpret this
> contradiction.
>
> Do you and other folks agree that part of the documentation is
> misleading or even incorrect in that regard?

It doesn't seem clear to me whether that page advises disassembling the
function or its caller, but since it's ambiguous (and not particularly
helpful) I've just removed the entire section.