// File: /workspace/github_c_makefile_star2_O0/lb3361[P]dosfs/dosfs.c
// Function: prompt
int prompt(const char *fmt, ...)
{
  int res = -1;
  char buffer[16];
  char *s;

  for(;;) {
    va_list ap;
    va_start(ap, fmt);
    vfprintf(stderr, fmt, ap);
    va_end(ap);
    fprintf(stderr, " (Y/N)? ");
    fflush(stdin);
    fflush(stderr);
    if (! (s = fgets(buffer, sizeof(buffer), stdin)))
      return 0;
    while (*s == '\t' || *s == ' ')
      s++;
    if (! strncasecmp(s, "yes", 3)) {
      res = 1; s += 3;
    } else if (! strncasecmp(s, "no", 2)) {
      res = 0; s += 2;
    } else if (! strncasecmp(s, "y", 1)) {
      res = 1; s += 1;
    } else if (! strncasecmp(s, "n", 1)) {
      res = 0; s += 1;
    } 
    while (*s == '\t' || *s == ' ')
      s++;
    if (*s == '\n')
      return res;
    for(; *s; s++)
      if ((res = *s) == '\n')
        break;;
    while (res != '\n' && res != EOF)
      res = getchar();
    if (res == EOF)
      break;
  }
  return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x110, %rsp            # imm = 0x110
testb %al, %al
je 0x15ee
movaps %xmm0, -0xd0(%rbp)
movaps %xmm1, -0xc0(%rbp)
movaps %xmm2, -0xb0(%rbp)
movaps %xmm3, -0xa0(%rbp)
movaps %xmm4, -0x90(%rbp)
movaps %xmm5, -0x80(%rbp)
movaps %xmm6, -0x70(%rbp)
movaps %xmm7, -0x60(%rbp)
movq %r9, -0xd8(%rbp)
movq %r8, -0xe0(%rbp)
movq %rcx, -0xe8(%rbp)
movq %rdx, -0xf0(%rbp)
movq %rsi, -0xf8(%rbp)
movq %rdi, -0x10(%rbp)
movl $0xffffffff, -0x14(%rbp) # imm = 0xFFFFFFFF
leaq -0x50(%rbp), %rax
leaq -0x100(%rbp), %rcx
movq %rcx, 0x10(%rax)
leaq 0x10(%rbp), %rcx
movq %rcx, 0x8(%rax)
movl $0x30, 0x4(%rax)
movl $0x8, (%rax)
movq 0x149b1(%rip), %rax     # 0x15ff8
movq (%rax), %rdi
movq -0x10(%rbp), %rsi
leaq -0x50(%rbp), %rdx
callq 0x11e0
leaq -0x50(%rbp), %rax
movq 0x14996(%rip), %rax     # 0x15ff8
movq (%rax), %rdi
leaq 0xfbc8(%rip), %rsi      # 0x11234
movb $0x0, %al
callq 0x1160
movq 0x1495e(%rip), %rax     # 0x15fd8
movq (%rax), %rdi
callq 0x11a0
movq 0x1496f(%rip), %rax     # 0x15ff8
movq (%rax), %rdi
callq 0x11a0
leaq -0x30(%rbp), %rdi
movq 0x1493c(%rip), %rax     # 0x15fd8
movq (%rax), %rdx
movl $0x10, %esi
callq 0x1130
movq %rax, -0x38(%rbp)
cmpq $0x0, %rax
jne 0x16bf
movl $0x0, -0x4(%rbp)
jmp 0x188f
jmp 0x16c1
movq -0x38(%rbp), %rax
movsbl (%rax), %ecx
movb $0x1, %al
cmpl $0x9, %ecx
movb %al, -0x101(%rbp)
je 0x16e8
movq -0x38(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x20, %eax
sete %al
movb %al, -0x101(%rbp)
movb -0x101(%rbp), %al
testb $0x1, %al
jne 0x16f4
jmp 0x1702
movq -0x38(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x38(%rbp)
jmp 0x16c1
movq -0x38(%rbp), %rdi
leaq 0xfb30(%rip), %rsi      # 0x1123d
movl $0x3, %edx
callq 0x1190
cmpl $0x0, %eax
jne 0x1734
movl $0x1, -0x14(%rbp)
movq -0x38(%rbp), %rax
addq $0x3, %rax
movq %rax, -0x38(%rbp)
jmp 0x17c5
movq -0x38(%rbp), %rdi
leaq 0xfb02(%rip), %rsi      # 0x11241
movl $0x2, %edx
callq 0x1190
cmpl $0x0, %eax
jne 0x1763
movl $0x0, -0x14(%rbp)
movq -0x38(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x38(%rbp)
jmp 0x17c3
movq -0x38(%rbp), %rdi
leaq 0xfad6(%rip), %rsi      # 0x11244
movl $0x1, %edx
callq 0x1190
cmpl $0x0, %eax
jne 0x1792
movl $0x1, -0x14(%rbp)
movq -0x38(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x38(%rbp)
jmp 0x17c1
movq -0x38(%rbp), %rdi
leaq 0xfaa9(%rip), %rsi      # 0x11246
movl $0x1, %edx
callq 0x1190
cmpl $0x0, %eax
jne 0x17bf
movl $0x0, -0x14(%rbp)
movq -0x38(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x38(%rbp)
jmp 0x17c1
jmp 0x17c3
jmp 0x17c5
jmp 0x17c7
movq -0x38(%rbp), %rax
movsbl (%rax), %ecx
movb $0x1, %al
cmpl $0x9, %ecx
movb %al, -0x102(%rbp)
je 0x17ee
movq -0x38(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x20, %eax
sete %al
movb %al, -0x102(%rbp)
movb -0x102(%rbp), %al
testb $0x1, %al
jne 0x17fa
jmp 0x1808
movq -0x38(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x38(%rbp)
jmp 0x17c7
movq -0x38(%rbp), %rax
movsbl (%rax), %eax
cmpl $0xa, %eax
jne 0x181c
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x188f
jmp 0x181e
movq -0x38(%rbp), %rax
cmpb $0x0, (%rax)
je 0x1848
movq -0x38(%rbp), %rax
movsbl (%rax), %eax
movl %eax, -0x14(%rbp)
cmpl $0xa, %eax
jne 0x1838
jmp 0x1848
jmp 0x183a
movq -0x38(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x38(%rbp)
jmp 0x181e
jmp 0x184a
xorl %eax, %eax
cmpl $0xa, -0x14(%rbp)
movb %al, -0x103(%rbp)
je 0x1865
cmpl $-0x1, -0x14(%rbp)
setne %al
movb %al, -0x103(%rbp)
movb -0x103(%rbp), %al
testb $0x1, %al
jne 0x1871
jmp 0x187b
callq 0x1150
movl %eax, -0x14(%rbp)
jmp 0x184a
cmpl $-0x1, -0x14(%rbp)
jne 0x1883
jmp 0x1888
jmp 0x161c
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x110, %rsp            # imm = 0x110
popq %rbp
retq
nopl (%rax,%rax)