{Password finder 4 AMI-BIOS}

var
  buffer:array[0..255] of byte;
  i:byte;

label
  lad,lb1,lde,l10c,l119,l155,l159,l167;

begin
  writeln('AmiBios PazzworD FinDer. Coded By FuckOff­ Produxionz');
  writeln('CopyWrong <c> 1995.');
  writeln;
  write('Da PassWorD iz : ');
  asm
      mov byte ptr [004bh],0
      jmp lb1
lad:  inc byte ptr [004bh]
lb1:  mov al,[004bh]
      xor ah,ah
      add ax,37h
      out 70h,al
      in  al,71h
      mov dl,al
      mov al,[004bh]
      xor ah,ah
      mov di,ax
      mov [di+0044h],dl
      cmp byte ptr [004bh],06
      jne lad
      mov al,[0044h]
      and al,0f0h
      mov [0044h],al
      mov byte ptr [004bh],01
lde:  mov al,[004bh]
      xor ah,ah
      mov di,ax
      cmp byte ptr [di+0044h],0
      je  l167
      cmp byte ptr [004bh],06
      ja  l167
      mov byte ptr [004ch],01
      mov al,[004bh]
      xor ah,ah
      dec ax
      mov di,ax
      mov al,[di+0044h]
      mov [004dh],al
      mov byte ptr [004eh],00
l10c: mov al,[004ch]
      mov bl,[004dh]
      test bl,0c3h
      jp  l119
      stc
l119: rcr bl,1
      mov [004ch],al
      mov [004dh],bl
      mov al,[004bh]
      xor ah,ah
      mov di,ax
      mov al,[di+0044h]
      cmp al,[004dh]
      jne l155
      mov al,[004ch]
      mov i,al
  end;
    write(chr(i));
  asm
      mov byte ptr [004eh],01
      jmp l159
l155: inc byte ptr [004ch]
l159: cmp byte ptr [004eh],0
      je  l10c
      inc byte ptr [004bh]
      jmp lde
l167:
end;
  writeln;
end.