// File: yeonnic[P]solparser/././argx.hpp
// Function: args::Matcher::Matcher<std::__detail::_Node_iterator<char, true, false>, std::__detail::_Node_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, true, true>>(std::__detail::_Node_iterator<char, true, false>, std::__detail::_Node_iterator<char, true, false>, std::__detail::_Node_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, true, true>, std::__detail::_Node_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, true, true>)
Matcher(ShortIt shortFlagsStart, ShortIt shortFlagsEnd, LongIt longFlagsStart, LongIt longFlagsEnd) :
                shortFlags(shortFlagsStart, shortFlagsEnd),
                longFlags(longFlagsStart, longFlagsEnd)
            {
                if (shortFlags.empty() && longFlags.empty())
                {
#ifndef ARGS_NOEXCEPT
                    throw UsageError("empty Matcher");
#endif
                }
            }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rsi, -0x8(%rbp)
movq %rdx, -0x10(%rbp)
movq %rcx, -0x18(%rbp)
movq %r8, -0x20(%rbp)
movq %rdi, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x98(%rbp)
movq %rax, -0xa8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq -0x3b(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
callq 0x6630
movq -0xa0(%rbp), %rcx
movq -0x98(%rbp), %rdi
movq -0x30(%rbp), %rsi
movq -0x38(%rbp), %rdx
movq %rsp, %rax
movq %rcx, (%rax)
xorl %eax, %eax
movl %eax, %ecx
leaq -0x39(%rbp), %r8
leaq -0x3a(%rbp), %r9
callq 0x1c750
jmp 0x1c400
leaq -0x3b(%rbp), %rdi
callq 0x6390
movq -0xa8(%rbp), %rax
addq $0x38, %rax
movq %rax, -0xb0(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq -0x63(%rbp), %rdi
movq %rdi, -0xb8(%rbp)
callq 0x1c7b0
movq -0xb8(%rbp), %rcx
movq -0xb0(%rbp), %rdi
movq -0x58(%rbp), %rsi
movq -0x60(%rbp), %rdx
movq %rsp, %rax
movq %rcx, (%rax)
xorl %eax, %eax
movl %eax, %ecx
leaq -0x61(%rbp), %r8
leaq -0x62(%rbp), %r9
callq 0x1c7d0
jmp 0x1c46a
leaq -0x63(%rbp), %rdi
callq 0x1c830
movq -0xa8(%rbp), %rdi
callq 0x1c850
testb $0x1, %al
jne 0x1c488
jmp 0x1c5ab
movq -0xa8(%rbp), %rdi
addq $0x38, %rdi
callq 0x1c870
testb $0x1, %al
jne 0x1c4a1
jmp 0x1c5ab
movb $0x1, -0x8a(%rbp)
movl $0x10, %edi
callq 0x61a0
movq %rax, -0xc8(%rbp)
leaq -0x89(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
callq 0x6630
movq -0xc0(%rbp), %rdx
leaq 0x1ad5c(%rip), %rsi     # 0x37236
leaq -0x88(%rbp), %rdi
callq 0x64f0
jmp 0x1c4e8
movq -0xc8(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x157a0
jmp 0x1c4fd
movq -0xc8(%rbp), %rdi
movb $0x0, -0x8a(%rbp)
leaq 0x30156(%rip), %rsi     # 0x4c668
leaq -0x6d39(%rip), %rdx     # 0x157e0
callq 0x65e0
jmp 0x1c5c9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x3b(%rbp), %rdi
callq 0x6390
jmp 0x1c5c0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x63(%rbp), %rdi
callq 0x1c830
jmp 0x1c5b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x1c57a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x61f0
leaq -0x89(%rbp), %rdi
callq 0x6390
testb $0x1, -0x8a(%rbp)
jne 0x1c591
jmp 0x1c59d
movq -0xc8(%rbp), %rdi
callq 0x6270
movq -0xb0(%rbp), %rdi
callq 0x19800
jmp 0x1c5b4
addq $0xd0, %rsp
popq %rbp
retq
movq -0x98(%rbp), %rdi
callq 0x19820
movq -0x48(%rbp), %rdi
callq 0x6620
nopl (%rax)