Just put loginhelper.dll next to bnspatch.dll, that can't go wrong right?

Default features:
- Pin buttons not random anymore
- Keyboard input on pin window

Optional features:
- Autofill + Submit pin based on:
Environment variable:
    `BNS_PROFILE_PIN=123456`
Command line argument:
    `-PIN:123456`, Regex: `-PIN[:=]\"?([0-9]{6})\"?(?:$| )`
Window title (for a very specific launcher):
    `Blade & Soul; PIN: 123456; NAME: Abc.exe`, Regex: `PIN: ([0-9]{6})`

- Auto login (with ingame-login patch or -FIXPROGRAMID):
This makes it possible to login straight to char select with just a .bat file (see example in .zip)
and allows a more simple way of selecting accounts in launchers, including private server (CN175) launchers
Environment variables:
    `BNS_PROFILE_USERNAME=abc@abc.com`
    `BNS_PROFILE_PASSWORD=Password123`
Command line arguments:
    `-USERNAME:abc@abc.com`, Regex: ` -USERNAME[:=]\"?([^ \"]*)\"?(?:$| )`
    `-PASSWORD:Password123` or `-PASSWORD:"Password spaces123"`, Regex: ` -PASSWORD[:=](?:\"([^\"]*)\"|([^ \"]*))(?:$| )`

- Automatic pin from TOTP key:
Environment variable:
    `BNS_PROFILE_OTP_SECRET=WANVBDBKRDHDLJZ4`

Ingame login features:
An alternative to use-ingame-login.xml for regions where launching with `/sesskey /launchbylauncher /Loginmode` forces use-web-launching=false
- Swap np-program-id like use-ingame-login.xml does:
This swaps 302>301, 306>321, 342>346, 343>347
Environment variable:
    `BNS_SERVER_FIXPROGRAMID=1` Has to be 1
Command line arguments:
    `-FIXPROGRAMID`,  Regex: `-FIXPROGRAMID(?:$| )`

See advancedusage.txt for using loginhelper.dll to change server ips/ports/ids and custom np-program-id for other regions

All Regex matching is case insensitive
