anchor.diff:  IF NOT %mystr% == ----- GOTO loop
   :finish:
   :: set appropriate vars
  -IF %inhypernet% == yes set /a valid+=1
  -IF %insupernet% == yes set /a valid+=1
  +IF %foundBAB% == yes set /a valid+=1
   
   :: output IP for reference
  -IF %inhypernet% == yes echo %*
  -IF %insupernet% == yes echo %*
  +IF %foundBAB% == yes echo %*
   
   :: increase total count and display
   set /a count+=1
   echo %count%--%valid%
   EXIT /B 0
   
  -:inhyper
  -:: this gets called from super, so hyper is off
  -SET hyper=off
  -
  -:: save off string
  -SET str=%~1
  -:hyperloop:
  -
  -:: are we entering a hypernet
  -if %str:~0,1% == [ set hyper=on
  -if %str:~0,1% == [ GOTO continue
  -
  -:: are we entering a supernet
  -if %str:~0,1% == ] set hyper=off
  -if %str:~0,1% == ] GOTO continue
  -
  -:: if we are in a hypernet and the BAB passed in matches, we're good
  -IF %hyper% == on IF %~2 == %str:~0,3% SET inhypernet=yes
  -IF %inhypernet% == yes GOTO complete
  -:continue:
  -:: remove the first char of the string, we are done with it
  -SET str=%str:~1%
  -
  -:: if the string hasn't reached out delimiter we added, then loop back up and look more
  -IF NOT %str% == ----- GOTO hyperloop
  -:complete:
  -EXIT /B 0
  -
  -:insuper
  -:: this gets called from hyper, so super is off
  -SET super=off
  +:: Helper function for finding BAB in a string
  +:: %~1 is string to search, start at the ABA position
  +::     we know ABA is in the wrong "part" of the string, so we
  +::     can pre-set validpart to no
  +:: %~2 is the BAB string to search for
  +:: %~3 is the delimiter that tells us we are entering a valid part of the string
  +:: %~4 is the delimiter that tells us we are leaving a valid part of the string
  +:findBAB
  +:: this gets called when aba is found, so we aren't in a valid part
  +SET validpart=no
   
   :: save off string
   SET astr=%~1
  -:superloop:
  +:searchloop:
   
  -:: are we entering a hypernet
  -if %astr:~0,1% == [ set super=off
  -if %astr:~0,1% == [ GOTO reloop
  +:: are we entering a valid part
  +if %astr:~0,1% == %~3 set validpart=yes
  +if %astr:~0,1% == %~3 GOTO reloop
   
  -:: are we entering a supernet
  -if %astr:~0,1% == ] set super=on
  -if %astr:~0,1% == ] GOTO reloop
  +:: are we leaving a validpart
  +if %astr:~0,1% == %~4 set validpart=no
  +if %astr:~0,1% == %~4 GOTO reloop
   
  -:: if we are in a supernet and the BAB passed in matches, we're good
  -IF %super% == on IF %~2 == %astr:~0,3% SET insupernet=yes
  -IF %insupernet% == yes GOTO isdone
  +:: if we are in a valid part and the BAB passed in matches, we're good
  +IF %validpart% == yes IF %~2 == %astr:~0,3% SET foundBAB=yes
  +IF %foundBAB% == yes GOTO complete
   :reloop:
   :: remove the first char of the string, we are done with it
   SET astr=%astr:~1%
   
   :: if the string hasn't reached out delimiter we added, then loop back up and look more
  -IF NOT %astr% == ----- GOTO superloop
  -:isdone:
  -EXIT /B 0
  +IF NOT %astr% == ----- GOTO searchloop
  +:complete:
  +EXIT /B 0
positive.code: if %char1% == ] GOTO short
  
  :: if char1 and char3 match, and we're in hypernet, look for ABA in supernet
  IF %brace% == on IF %char1% == %char3% CALL :insuper %mystr% %bab%
  
  :: if char1 and char3 match, and we're in supernet, look for ABA in hypernet
  IF %brace% == off IF %char1% == %char3% CALL :inhyper %mystr% %bab%
  
  :: if one of those calls above set these vars, we found a SSL IPs
  IF %inhypernet% == yes GOTO finish
  IF %insupernet% == yes GOTO finish
  
  :short:
  :: remove the first char of the string, we are done with it
  
negative.code: set /a count=0
  
  :: track if we found inverse in subfunc
  set foundBAB=no
  
  :: loop over every line in file
  for /F "tokens=*" %%A in (input.txt) do (
  