I'm going to come out and say it. There is no possible way RunAsTool does what it says it does securely. "Requires a local administrator account to run". No way. They did it wrong.
Attach a debugger and set a breakpoint at CreateUserWithLogonW. Bet you get the correct password.
Here's how I know. The only builtin API that operates at this level is CreateProcessWithLogonW, and it only works if you give the password. Therefore, they've done something boneheaded.
Now let us suppose they did it correctly and found a way that's actually secure. Knowing the solution, I know what the moving pieces are, and it boils down to NtCreateToken. Had they done this any way that works; they wouldn't need the administrator password to set this up.
Correct way #1: Create a new user account, and give it a bunch of privileges including Act as Part of the Operating System, Create a Process Token, Assign Primary Token, and Log on as a service. Create a service for tool tool. Set permissions on the tool so any user can start and stop it. This process then goes through the steps to build the token with the correct session and mandatory ACL for the windows session and launches the process with that token.
Correct way #2: Create a Local System service for tool (trust me; an Administrator account won't work; we need Act as Part of the Operating System). Set permissions on the tool so any user can start and stop it. This process steals the token from LSASS.EXE (so it has Create a Token privilege) and starts a process with that token that goes through the steps to build the token with the correct session and mandatory ACL for the windows session and launches the process with that token.
Most of the time what you're doing this for doesn't need access to any particular administrator account; so there's a different tool they could have made that uses a service that operates by a different method: steal the winlogon token from the active window session. This token can be used to start a System process (which has admin access) that has GUI access on the active desktop.
As you can see; having a local administrator account is neither here nor there; and doesn't get anywhere on the path of getting the token built the right way. Therefore; they must have done it wrongly.