I have tried porting BnetAuth using straight visual basic... I came up with some messy hacks (solutions). They, however, were very slow and non-effeciant. I highly disrecommend using a full visual basic BnetAuth.
I have tried porting BnetAuth using a hack to allow assembly in visual basic (a method using class modules) This method works.. and much faster! However, it reduces readability and is a very bad solution in itself! I highly disrecommend this too!
I have decided it is much easier to just use a assembly and/or c++ dll to do all this for you if you plan on using visual basic.
If you know another language, then I recommend avoiding visual basic @ all costs -- thank you!
[Edit (Advertisement)] If you have to use visual basic and don't want to use any libraries then I _highly_ recommend you research/look into BNLS
all you really would need to do, in theory, to speed up the process in vb is figgure out a way to:
1) _stop_ the overflow checks (remove vb runtime's control from the variables entirely)
2) there is no spoon (or in this case, number two)