// File: demon386[P]git-store/./boost/token_functions.hpp
// Function: bool boost::escaped_list_separator<char, std::char_traits<char>>::operator()<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>(__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>&, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&)
bool operator()(InputIterator& next,InputIterator end,Token& tok) {
      bool bInQuote = false;
      tok = Token();

      if (next == end) {
        if (last_) {
          last_ = false;
          return true;
        }
        else
          return false;
      }
      last_ = false;
      for (;next != end;++next) {
        if (is_escape(*next)) {
          do_escape(next,end,tok);
        }
        else if (is_c(*next)) {
          if (!bInQuote) {
            // If we are not in quote, then we are done
            ++next;
            // The last character was a c, that means there is
            // 1 more blank field
            last_ = true;
            return true;
          }
          else tok+=*next;
        }
        else if (is_quote(*next)) {
          bInQuote=!bInQuote;
        }
        else {
          tok += *next;
        }
      }
      return true;
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdx, -0x10(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
movb $0x0, -0x29(%rbp)
leaq -0x50(%rbp), %rdi
callq 0xd8f0
movq -0x28(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0xd790
leaq -0x50(%rbp), %rdi
callq 0xdca8
movq -0x20(%rbp), %rdi
leaq -0x10(%rbp), %rsi
callq 0x2a480
testb $0x1, %al
jne 0x368c6
jmp 0x368ea
movq -0x60(%rbp), %rax
testb $0x1, 0x60(%rax)
je 0x368e1
movq -0x60(%rbp), %rax
movb $0x0, 0x60(%rax)
movb $0x1, -0x1(%rbp)
jmp 0x369ec
movb $0x0, -0x1(%rbp)
jmp 0x369ec
movq -0x60(%rbp), %rax
movb $0x0, 0x60(%rax)
movq -0x20(%rbp), %rdi
leaq -0x10(%rbp), %rsi
callq 0x29fc0
testb $0x1, %al
jne 0x36908
jmp 0x369e8
movq -0x20(%rbp), %rdi
callq 0x2a440
movq -0x60(%rbp), %rdi
movsbl (%rax), %esi
callq 0x36a00
testb $0x1, %al
jne 0x36923
jmp 0x36945
movq -0x60(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x10(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x28(%rbp), %rcx
movq -0x58(%rbp), %rdx
callq 0x36a80
jmp 0x369d8
movq -0x20(%rbp), %rdi
callq 0x2a440
movq -0x60(%rbp), %rdi
movsbl (%rax), %esi
callq 0x36d00
testb $0x1, %al
jne 0x36960
jmp 0x36996
testb $0x1, -0x29(%rbp)
jne 0x3697d
movq -0x20(%rbp), %rdi
callq 0x2a460
movq -0x60(%rbp), %rax
movb $0x1, 0x60(%rax)
movb $0x1, -0x1(%rbp)
jmp 0x369ec
movq -0x20(%rbp), %rdi
callq 0x2a440
movb (%rax), %al
movq -0x28(%rbp), %rdi
movsbl %al, %esi
callq 0xd3c0
jmp 0x369d6
movq -0x20(%rbp), %rdi
callq 0x2a440
movq -0x60(%rbp), %rdi
movsbl (%rax), %esi
callq 0x36d90
testb $0x1, %al
jne 0x369b1
jmp 0x369bd
movb -0x29(%rbp), %al
xorb $-0x1, %al
andb $0x1, %al
movb %al, -0x29(%rbp)
jmp 0x369d4
movq -0x20(%rbp), %rdi
callq 0x2a440
movb (%rax), %al
movq -0x28(%rbp), %rdi
movsbl %al, %esi
callq 0xd3c0
jmp 0x369d6
jmp 0x369d8
jmp 0x369da
movq -0x20(%rbp), %rdi
callq 0x2a460
jmp 0x368f2
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x60, %rsp
popq %rbp
retq
nopw (%rax,%rax)