Nah it performs a byte-per-byte check on the contents of each string, so basically it breaks it down into
If (((Chr$(Mid$(variable$,1,1))=Chr$("b")) And (Chr$(Mid$(variable$,2,1))=Chr$("l")) And (Chr$(Mid$(variable$,3,1))=Chr$("a"))) Or ((Chr$(Mid$(variable$,1,1))=Chr$("b")) And (Chr$(Mid$(variable$,2,1))=Chr$("l")) And (Chr$(Mid$(variable$,3,1))=Chr$("i")))) Then
=] Meaning strings take a long time to be processed in an If...EndIf statement...
If (((Chr$(Mid$(variable$,1,1))=Chr$("b")) And (Chr$(Mid$(variable$,2,1))=Chr$("l")) And (Chr$(Mid$(variable$,3,1))=Chr$("a"))) Or ((Chr$(Mid$(variable$,1,1))=Chr$("b")) And (Chr$(Mid$(variable$,2,1))=Chr$("l")) And (Chr$(Mid$(variable$,3,1))=Chr$("i")))) Then
=] Meaning strings take a long time to be processed in an If...EndIf statement...