Hello Tomasz,
The Microsoft documentation describes how to debug a service: https://learn.microsoft.com/en-us/windows/win32/services/debugging-a-service
As has already been pointed out, without the source code of the service, this advice is not easy to follow.
The WinRM service has some built-in logging, but it is difficult to interpret the logged information.
You could try capturing this log information and sharing it - I would take a look and see if it is helpful.
The command to create the trace is logman start gary -ets -p "Windows Remote Management Trace" 0xFFFFFFFF 255 -o why.etl & sc start WinRM & sc queryex WinRM & logman stop gary -ets
The file why.etl contains the trace; it would also be helpful to see the EXIT_CODE values in the "sc queryex" output.
Gary