From what I'm seeing those lines of code are printing lines of text onto the screen like "You'll need more than that". Looks like a taunt to me. Remember those canned taunts that you could send to an opponent. That is what it looks like to me.
What I find disturbing is that I have seen both 16 bit registers (AX, BX, CX, and DX) and extended registers (EAX, EBX, ECX, EDX, EBP, ESI, EDI, and ESP). Extended registers use double word or 32 bits in a register. For instance, ECX which is regularly used as a counter register (or variable) will have a low byte (CL) of 0 through 7, high byte (CH) of 8 through 15 and a extended portion (ECX) of 16 through 31. Just so we are on the same page, AX is usually used as a Accumulator register (or variable), BX is a Base register, CX is a Count register, and DX is a Data register.
Something else I'm seeing is that I'm seeing is that they defined some but not all of the keyboard keys (example: db 2Eh ; .). I would have done that once in the program and referred back to that part of the code as needed. Just so we are on the same page ASCII values in hexadecimal are as follows:
01 thru 1A = Control-A thru Control-Z.
1B: = ESC key
20: = Space key
30 thru 39 = Digits 0 thru 9
41 thru 5A = Upper case letters A thru Z
61 thru 7A = Lower case letters a thru z
The reason why I know this is that the programers were kind enough to put comments in the code for me to read. When you are looking through the program and see a semicolon, anything after that is a comment that the processor ignores.
For example: ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
Obviously that is not code and is meant to be read by programmers and not the processor. Things like that above are meant to keep things separated and make chunks of code easier to read. Once the processor finds a ; the processor stops reading anything to the right of that line and goes to the next line. One quick observation is that these guys sucked and commenting. I didn't see one INT (13h or 10h) in the code you quoted.
Something else I noticed is the line "mov eax, offset unknown_libname_1572". What this does is move (MOV) the first part of a line (OFFSET) located at unknown_libname_1572 into the EAX register. Why on earth would you name a variable something like that? Also noticed this: "Microsoft VisualC 2-8/net runtime". So they used two different types of programming languages for this, it's not unheard of but back then they didn't always play nice. But now that I think of it, I remember Erik Bethke stating that he "sold his soul to Microsoft". Maybe that is what he is talking about.