- 00000000 B8C007 mov ax,0x7c0
- 00000003 8ED8 mov ds,ax
- 00000005 8EC0 mov es,ax
- 00000007 B002 mov al,0x2
- 00000009 B400 mov ah,0x0
- 0000000B CD10 int 0x10 ; video mode
- 0000000D BE6E00 mov si,0x6e ;; prompt
- 00000010 B40E mov ah,0xe
- 00000012 AC lodsb
- 00000013 3C00 cmp al,0x0
- 00000015 7404 jz 0x1b
- 00000017 CD10 int 0x10 ;; teletype out
- 00000019 EBF7 jmp short 0x12
- 0000001B B20F mov dl,0xf
- 0000001D B307 mov bl,0x7
- 0000001F BE0000 mov si,0x0
- 00000022 BFA400 mov di,0xa4 ;; dst buffer right after code!
- 00000025 B402 mov ah,0x2
- 00000027 80C201 add dl,0x1
- 0000002A CD10 int 0x10 ;; Cursor pos
- 0000002C B400 mov ah,0x0
- 0000002E CD16 int 0x16 ;; key in!
- 00000030 AA stosb
- 00000031 B409 mov ah,0x9
- 00000033 B90100 mov cx,0x1
- 00000036 CD10 int 0x10 ;; Write character (echo?)
- 00000038 46 inc si
- 00000039 83FE26 cmp si,byte +0x26 ;; length of input, matches flag{MD5}!!
- 0000003C 7402 jz 0x40
- 0000003E EBE5 jmp short 0x25
- ;; VERIFICATION TIME
- 00000040 BEA400 mov si,0xa4
- 00000043 B441 mov ah,0x41
- 00000045 BB7E00 mov bx,0x7e ;; flag?
- 00000048 B100 mov cl,0x0
- 0000004A AC lodsb ;; load input
- 0000004B 30C4 xor ah,al
- 0000004D 3A27 cmp ah,[bx] ;; bx points at key
- 0000004F 750C jnz 0x5d ;; bad
- 00000051 FEC1 inc cl
- 00000053 83C301 add bx,byte +0x1
- 00000056 80F926 cmp cl,0x26
- 00000059 740A jz 0x65 ;; end reached: success
- 0000005B EBED jmp short 0x4a
- 0000005D B40B mov ah,0xb
- 0000005F B314 mov bl,0x14
- 00000061 CD10 int 0x10 ;; background 1 (red?)
- 00000063 EB08 jmp short 0x6d
- 00000065 B40B mov ah,0xb
- 00000067 B30A mov bl,0xa
- 00000069 CD10 int 0x10 ;; background 2 (yay?)
- 0000006B EB00 jmp short 0x6d
- 0000006D C3 ret
- 0000006E 45 inc bp
- 0000006F 6E outsb
- 00000070 7465 jz 0xd7
- 00000072 7220 jc 0x94
- 00000074 7061 jo 0xd7
- 00000076 7373 jnc 0xeb
- 00000078 776F ja 0xe9
- 0000007A 7264 jc 0xe0
- 0000007C 3A00 cmp al,[bx+si]
- 0000007E 27 daa
- 0000007F 4B dec bx
- 00000080 2A4D36 sub cl,[di+0x36]
- 00000083 52 push dx
- 00000084 6307 arpl [bx],ax
- 00000086 3E06 ds push es
- 00000088 315335 xor [bp+di+0x35],dx
- 0000008B 0D3B03 or ax,0x33b
- 0000008E 6650 push eax
- 00000090 625335 bound dx,[bp+di+0x35]
- 00000093 0139 add [bx+di],di
- 00000095 006500 add [di+0x0],ah
- 00000098 6452 fs push dx
- 0000009A 61 popa
- 0000009B 023B add bh,[bp+di]
- 0000009D 0336556D add si,[0x6d55]
- 000000A1 5A pop dx
- 000000A2 3C41 cmp al,0x41
- 000001FE 55 push bp
- 000001FF AA stosb
- 00000000 b8 c0 07 8e d8 8e c0 b0 02 b4 00 cd 10 be 6e 00 |..............n.|
- 00000010 b4 0e ac 3c 00 74 04 cd 10 eb f7 b2 0f b3 07 be |...<.t..........|
- 00000020 00 00 bf a4 00 b4 02 80 c2 01 cd 10 b4 00 cd 16 |................|
- 00000030 aa b4 09 b9 01 00 cd 10 46 83 fe 26 74 02 eb e5 |........F..&t...|
- 00000040 be a4 00 b4 41 bb 7e 00 b1 00 ac 30 c4 3a 27 75 |....A.~....0.:'u|
- 00000050 0c fe c1 83 c3 01 80 f9 26 74 0a eb ed b4 0b b3 |........&t......|
- 00000060 14 cd 10 eb 08 b4 0b b3 0a cd 10 eb 00 c3 45 6e |..............En|
- 00000070 74 65 72 20 70 61 73 73 77 6f 72 64 3a 00 27 4b |ter password:.'K|
- 00000080 2a 4d 36 52 63 07 3e 06 31 53 35 0d 3b 03 66 50 |*M6Rc.>.1S5.;.fP|
- 00000090 62 53 35 01 39 00 65 00 64 52 61 02 3b 03 36 55 |bS5.9.e.dRa.;.6U|
- 000000a0 6d 5a 3c 41 00 00 00 00 00 00 00 00 00 00 00 00 |mZ<A............|
- 000000b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
- *
- 000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa |..............U.|
- 00000200