Yeah, you can use DLL's, but what i prevere is a COM, i'll give you my login, hope this helps for ya

Code:
alias loginSSL1 {
  If ($com(loginS)) {
    .comclose loginS
  }
  .comopen loginS WinHttp.WinHttpRequest.5.1
  If ($comerr) {
    echo - The COM cannot be opened: stop
    .comclose loginS
    return
  }
  If (!$com(loginS,Open,1,bstr,GET,bstr,https://nexus.passport.com/rdr/pprdr.asp)) {
    echo - Error: Page cannot be found
    .comclose loginS
    return
  }
  If (!$com(loginS,Send,1)) {
    echo - Error: Cannot send request
    .comclose loginS
    return
  }
  If ($com(loginS,GetResponseHeader,1,bstr,PassportURLs)) {
    If ($com(loginS).result) {
      tokenize 44 $ifmatch
      var %vPass = Passport1.4 OrgVerb=GET,OrgURL= $&
        $+ http%3A%2F%2Fmessenger%2Emsn%2Ecom, $&
        $+ sign-in= $+ $urlencode(%mPassPort) $+ , $&
        $+ pwd= $+ $decode(%mPassword) $+ , $&
        $+ lc= $+ %mTempLC $+ , $&
        $+ id= $+ %mTempID $+ , $&
        $+ tw= $+ %mTempTW $+ , $&
        $+ fs= $+ 2 $+ , $&
        $+ ru= $+ %mTempRU $+ , $&
        $+ ct= $+ %mTempCT $+ , $&
        $+ kpp= $+ %mTempKPP $+ , $&
        $+ kv= $+ %mTempKV $+ , $&
        $+ ver= $+ %mTempVER $+ , $&
        $+ tpf= $+ %mTempTPF
      If ($loginssl2($gettok($2,2,61),%vPass)) { }
    }
  }

  .comclose loginS
}

Alias loginSSL2 {
  If ($com(loginS2)) {
    .comclose loginS2
  }
  .comopen loginS2 WinHttp.WinHttpRequest.5.1
  If ($comerr) {
    echo - Error: COM cannot be opened
    .comclose loginS2
    return
  }
  If (!$com(loginS2,Open,1,bstr,GET,bstr,https://login.passport.com/login2.srf)) {
    echo - Error in requested page $1
    return
  }
  If (!$com(loginS2,SetRequestHeader,1,bstr,Authorization,bstr, $+ $2 $+ )) { return }
  If (!$com(loginS2,SetRequestHeader,1,bstr,Host,bstr,login.passport.com)) { return } 

  If (!$com(loginS2,Send,1)) {
    echo - Error: cannot send request
    .comclose loginS2
    return
  }
  If ($com(loginS2,GetResponseHeader,1,bstr,Location)) {
    eMSN Location: $com(loginS2).result
  }
  if ($com(loginS2,GetResponseHeader,1,bstr,Authentication-Info)) {
 
    var %var = $com(loginS2).result
    If ($gettok($gettok(%var,2,61),1,44) == success) {
      mSckSend sckMSNns eMSN USR $trialID TWN S $right($left($gettok($gettok(%var,6-,61),1,44),-1),-1)
    }

  }

  .comclose loginS2
}


(ECHO's quickly translated from dutch
the eMSN is a echo-ing function
the encode-function is to encode the adress to URL-encoding
)


------
Cheers m8!