blob: 38aaf486563883937f0ed972047bffcede0fd014 [file] [log] [blame] [raw]
std::piecewise_construct:
.zero 1
__gnu_cxx::__ops::__iter_less_iter():
push rbp
mov rbp, rsp
pop rbp
ret
__gnu_cxx::__ops::_Iter_less_val::_Iter_less_val(__gnu_cxx::__ops::_Iter_less_iter):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
nop
pop rbp
ret
__gnu_cxx::__ops::__iter_less_val():
push rbp
mov rbp, rsp
pop rbp
ret
__gnu_cxx::__ops::__val_comp_iter(__gnu_cxx::__ops::_Iter_less_iter):
push rbp
mov rbp, rsp
pop rbp
ret
__gnu_cxx::__ops::__iter_equal_to_iter():
push rbp
mov rbp, rsp
pop rbp
ret
std::__lg(long):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
bsr rax, rax
xor rax, 63
cdqe
mov edx, 63
sub rdx, rax
mov rax, rdx
pop rbp
ret
std::type_info::operator==(std::type_info const&) const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rax+8]
cmp rdx, rax
je .L13
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+8]
movzx eax, BYTE PTR [rax]
cmp al, 42
je .L14
mov rax, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+8]
mov rsi, rdx
mov rdi, rax
call strcmp
test eax, eax
jne .L14
.L13:
mov eax, 1
jmp .L15
.L14:
mov eax, 0
.L15:
leave
ret
operator new(unsigned long, void*):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-16]
pop rbp
ret
operator delete(void*, void*):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
nop
pop rbp
ret
std::char_traits<char>::assign(char&, char const&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-16]
movzx edx, BYTE PTR [rax]
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax], dl
nop
pop rbp
ret
std::char_traits<char>::compare(char const*, char const*, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov eax, 0
test al, al
je .L22
mov rdx, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call __gnu_cxx::char_traits<char>::compare(char const*, char const*, unsigned long)
jmp .L23
.L22:
cmp QWORD PTR [rbp-24], 0
jne .L24
mov eax, 0
jmp .L23
.L24:
mov rdx, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call memcmp
nop
.L23:
leave
ret
std::char_traits<char>::length(char const*):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov rax, QWORD PTR [rbp-24]
mov QWORD PTR [rbp-8], rax
mov eax, 0
test al, al
je .L27
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call __gnu_cxx::char_traits<char>::length(char const*)
jmp .L28
.L27:
mov rax, QWORD PTR [rbp-24]
mov rcx, -1
mov rdx, rax
mov eax, 0
mov rdi, rdx
repnz scasb
mov rax, rcx
not rax
sub rax, 1
nop
.L28:
leave
ret
std::char_traits<char>::move(char*, char const*, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
cmp QWORD PTR [rbp-24], 0
jne .L30
mov rax, QWORD PTR [rbp-8]
jmp .L31
.L30:
mov rdx, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call memmove
nop
.L31:
leave
ret
std::char_traits<char>::copy(char*, char const*, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
cmp QWORD PTR [rbp-24], 0
jne .L33
mov rax, QWORD PTR [rbp-8]
jmp .L34
.L33:
mov rdx, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rbp-16]
mov rcx, rdx
mov rsi, rax
mov rax, QWORD PTR [rbp-24]
mov rdx, rax
mov rdi, rcx
call memcpy
nop
.L34:
leave
ret
std::char_traits<char>::assign(char*, unsigned long, char):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov eax, edx
mov BYTE PTR [rbp-20], al
cmp QWORD PTR [rbp-16], 0
jne .L36
mov rax, QWORD PTR [rbp-8]
jmp .L37
.L36:
movsx ecx, BYTE PTR [rbp-20]
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov esi, ecx
mov rdi, rax
call memset
nop
.L37:
leave
ret
__gthread_active_p()::__gthread_active_ptr:
.quad __gthrw___pthread_key_create(unsigned int*, void (*)(void*))
__gthread_active_p():
push rbp
mov rbp, rsp
mov rax, QWORD PTR __gthread_active_p()::__gthread_active_ptr[rip]
test rax, rax
setne al
movzx eax, al
pop rbp
ret
__gnu_cxx::__exchange_and_add(int volatile*, int):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov DWORD PTR [rbp-12], esi
mov edx, DWORD PTR [rbp-12]
mov rax, QWORD PTR [rbp-8]
lock xadd DWORD PTR [rax], edx
mov eax, edx
pop rbp
ret
__gnu_cxx::__exchange_and_add_single(int*, int):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-24], rdi
mov DWORD PTR [rbp-28], esi
mov rax, QWORD PTR [rbp-24]
mov eax, DWORD PTR [rax]
mov DWORD PTR [rbp-4], eax
mov rax, QWORD PTR [rbp-24]
mov edx, DWORD PTR [rax]
mov eax, DWORD PTR [rbp-28]
add edx, eax
mov rax, QWORD PTR [rbp-24]
mov DWORD PTR [rax], edx
mov eax, DWORD PTR [rbp-4]
pop rbp
ret
__gnu_cxx::__exchange_and_add_dispatch(int*, int):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov DWORD PTR [rbp-12], esi
call __gthread_active_p()
test eax, eax
setne al
test al, al
je .L45
mov edx, DWORD PTR [rbp-12]
mov rax, QWORD PTR [rbp-8]
mov esi, edx
mov rdi, rax
call __gnu_cxx::__exchange_and_add(int volatile*, int)
jmp .L46
.L45:
mov edx, DWORD PTR [rbp-12]
mov rax, QWORD PTR [rbp-8]
mov esi, edx
mov rdi, rax
call __gnu_cxx::__exchange_and_add_single(int*, int)
nop
.L46:
leave
ret
std::operator&(std::_Ios_Fmtflags, std::_Ios_Fmtflags):
push rbp
mov rbp, rsp
mov DWORD PTR [rbp-4], edi
mov DWORD PTR [rbp-8], esi
mov eax, DWORD PTR [rbp-4]
and eax, DWORD PTR [rbp-8]
pop rbp
ret
std::operator|(std::_Ios_Fmtflags, std::_Ios_Fmtflags):
push rbp
mov rbp, rsp
mov DWORD PTR [rbp-4], edi
mov DWORD PTR [rbp-8], esi
mov eax, DWORD PTR [rbp-4]
or eax, DWORD PTR [rbp-8]
pop rbp
ret
std::operator~(std::_Ios_Fmtflags):
push rbp
mov rbp, rsp
mov DWORD PTR [rbp-4], edi
mov eax, DWORD PTR [rbp-4]
not eax
pop rbp
ret
std::operator|=(std::_Ios_Fmtflags&, std::_Ios_Fmtflags):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov DWORD PTR [rbp-12], esi
mov rax, QWORD PTR [rbp-8]
mov eax, DWORD PTR [rax]
mov edx, DWORD PTR [rbp-12]
mov esi, edx
mov edi, eax
call std::operator|(std::_Ios_Fmtflags, std::_Ios_Fmtflags)
mov edx, eax
mov rax, QWORD PTR [rbp-8]
mov DWORD PTR [rax], edx
mov rax, QWORD PTR [rbp-8]
leave
ret
std::operator&=(std::_Ios_Fmtflags&, std::_Ios_Fmtflags):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov DWORD PTR [rbp-12], esi
mov rax, QWORD PTR [rbp-8]
mov eax, DWORD PTR [rax]
mov edx, DWORD PTR [rbp-12]
mov esi, edx
mov edi, eax
call std::operator&(std::_Ios_Fmtflags, std::_Ios_Fmtflags)
mov edx, eax
mov rax, QWORD PTR [rbp-8]
mov DWORD PTR [rax], edx
mov rax, QWORD PTR [rbp-8]
leave
ret
std::ios_base::setf(std::_Ios_Fmtflags, std::_Ios_Fmtflags):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov DWORD PTR [rbp-28], esi
mov DWORD PTR [rbp-32], edx
mov rax, QWORD PTR [rbp-24]
mov eax, DWORD PTR [rax+24]
mov DWORD PTR [rbp-4], eax
mov eax, DWORD PTR [rbp-32]
mov edi, eax
call std::operator~(std::_Ios_Fmtflags)
mov edx, eax
mov rax, QWORD PTR [rbp-24]
add rax, 24
mov esi, edx
mov rdi, rax
call std::operator&=(std::_Ios_Fmtflags&, std::_Ios_Fmtflags)
mov edx, DWORD PTR [rbp-32]
mov eax, DWORD PTR [rbp-28]
mov esi, edx
mov edi, eax
call std::operator&(std::_Ios_Fmtflags, std::_Ios_Fmtflags)
mov edx, eax
mov rax, QWORD PTR [rbp-24]
add rax, 24
mov esi, edx
mov rdi, rax
call std::operator|=(std::_Ios_Fmtflags&, std::_Ios_Fmtflags)
mov eax, DWORD PTR [rbp-4]
leave
ret
std::hex(std::ios_base&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov edx, 74
mov esi, 8
mov rdi, rax
call std::ios_base::setf(std::_Ios_Fmtflags, std::_Ios_Fmtflags)
mov rax, QWORD PTR [rbp-8]
leave
ret
std::oct(std::ios_base&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov edx, 74
mov esi, 64
mov rdi, rax
call std::ios_base::setf(std::_Ios_Fmtflags, std::_Ios_Fmtflags)
mov rax, QWORD PTR [rbp-8]
leave
ret
std::ctype<char>::toupper(char) const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov eax, esi
mov BYTE PTR [rbp-12], al
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
add rax, 16
mov rax, QWORD PTR [rax]
movsx ecx, BYTE PTR [rbp-12]
mov rdx, QWORD PTR [rbp-8]
mov esi, ecx
mov rdi, rdx
call rax
leave
ret
std::ctype<char>::tolower(char) const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov eax, esi
mov BYTE PTR [rbp-12], al
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
add rax, 32
mov rax, QWORD PTR [rax]
movsx ecx, BYTE PTR [rbp-12]
mov rdx, QWORD PTR [rbp-8]
mov esi, ecx
mov rdi, rdx
call rax
leave
ret
std::ctype<char>::tolower(char*, char const*) const:
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
add rax, 40
mov rax, QWORD PTR [rax]
mov rdx, QWORD PTR [rbp-24]
mov rsi, QWORD PTR [rbp-16]
mov rcx, QWORD PTR [rbp-8]
mov rdi, rcx
call rax
leave
ret
std::ctype<char>::widen(char) const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov eax, esi
mov BYTE PTR [rbp-12], al
mov rax, QWORD PTR [rbp-8]
movzx eax, BYTE PTR [rax+56]
test al, al
je .L70
movzx eax, BYTE PTR [rbp-12]
movzx eax, al
mov rdx, QWORD PTR [rbp-8]
cdqe
movzx eax, BYTE PTR [rdx+57+rax]
jmp .L71
.L70:
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::ctype<char>::_M_widen_init() const
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
add rax, 48
mov rax, QWORD PTR [rax]
movsx ecx, BYTE PTR [rbp-12]
mov rdx, QWORD PTR [rbp-8]
mov esi, ecx
mov rdi, rdx
call rax
nop
.L71:
leave
ret
std::ctype<char>::narrow(char, char) const:
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov eax, esi
mov BYTE PTR [rbp-28], al
mov eax, edx
mov BYTE PTR [rbp-32], al
movzx eax, BYTE PTR [rbp-28]
movzx eax, al
mov rdx, QWORD PTR [rbp-24]
cdqe
movzx eax, BYTE PTR [rdx+313+rax]
test al, al
je .L73
movzx eax, BYTE PTR [rbp-28]
movzx eax, al
mov rdx, QWORD PTR [rbp-24]
cdqe
movzx eax, BYTE PTR [rdx+313+rax]
jmp .L74
.L73:
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax]
add rax, 64
mov rax, QWORD PTR [rax]
movsx edx, BYTE PTR [rbp-32]
movsx esi, BYTE PTR [rbp-28]
mov rcx, QWORD PTR [rbp-24]
mov rdi, rcx
call rax
mov BYTE PTR [rbp-1], al
movzx eax, BYTE PTR [rbp-1]
cmp al, BYTE PTR [rbp-32]
je .L75
movzx eax, BYTE PTR [rbp-28]
movzx eax, al
mov rdx, QWORD PTR [rbp-24]
cdqe
movzx ecx, BYTE PTR [rbp-1]
mov BYTE PTR [rdx+313+rax], cl
.L75:
movzx eax, BYTE PTR [rbp-1]
.L74:
leave
ret
std::ctype<char>::is(unsigned short, char) const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov eax, esi
mov WORD PTR [rbp-12], ax
mov eax, edx
mov BYTE PTR [rbp-16], al
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+48]
movzx edx, BYTE PTR [rbp-16]
movzx edx, dl
add rdx, rdx
add rax, rdx
movzx eax, WORD PTR [rax]
and ax, WORD PTR [rbp-12]
test ax, ax
setne al
pop rbp
ret
std::_Rb_tree_header::_Rb_tree_header() [base object constructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov DWORD PTR [rax], 0
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Rb_tree_header::_M_reset()
nop
leave
ret
std::_Rb_tree_header::_M_reset():
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+8], 0
mov rdx, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+16], rdx
mov rdx, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+24], rdx
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+32], 0
nop
pop rbp
ret
std::_Sp_make_shared_tag::_S_ti()::__tag:
.zero 16
std::_Sp_make_shared_tag::_S_ti():
push rbp
mov rbp, rsp
mov eax, OFFSET FLAT:std::_Sp_make_shared_tag::_S_ti()::__tag
pop rbp
ret
std::__deque_buf_size(unsigned long):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
cmp QWORD PTR [rbp-8], 511
ja .L83
mov eax, 512
mov edx, 0
div QWORD PTR [rbp-8]
jmp .L85
.L83:
mov eax, 1
.L85:
pop rbp
ret
std::_Any_data::_M_access():
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::_Any_data::_M_access() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::_Function_base::_Function_base() [base object constructor]:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+16], 0
nop
pop rbp
ret
std::_Function_base::~_Function_base() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+16]
test rax, rax
je .L93
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+16]
mov rsi, QWORD PTR [rbp-8]
mov rcx, QWORD PTR [rbp-8]
mov edx, 3
mov rdi, rcx
call rax
.L93:
nop
leave
ret
std::_Function_base::_M_empty() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+16]
test rax, rax
sete al
pop rbp
ret
std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type):
push rbp
mov rbp, rsp
mov DWORD PTR [rbp-4], edi
mov DWORD PTR [rbp-8], esi
mov eax, DWORD PTR [rbp-4]
and eax, DWORD PTR [rbp-8]
pop rbp
ret
std::regex_constants::operator|(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type):
push rbp
mov rbp, rsp
mov DWORD PTR [rbp-4], edi
mov DWORD PTR [rbp-8], esi
mov eax, DWORD PTR [rbp-4]
or eax, DWORD PTR [rbp-8]
pop rbp
ret
std::regex_constants::operator&(std::regex_constants::match_flag_type, std::regex_constants::match_flag_type):
push rbp
mov rbp, rsp
mov DWORD PTR [rbp-4], edi
mov DWORD PTR [rbp-8], esi
mov eax, DWORD PTR [rbp-4]
and eax, DWORD PTR [rbp-8]
pop rbp
ret
std::regex_constants::operator|(std::regex_constants::match_flag_type, std::regex_constants::match_flag_type):
push rbp
mov rbp, rsp
mov DWORD PTR [rbp-4], edi
mov DWORD PTR [rbp-8], esi
mov eax, DWORD PTR [rbp-4]
or eax, DWORD PTR [rbp-8]
pop rbp
ret
std::regex_constants::operator~(std::regex_constants::match_flag_type):
push rbp
mov rbp, rsp
mov DWORD PTR [rbp-4], edi
mov eax, DWORD PTR [rbp-4]
not eax
pop rbp
ret
std::regex_error::regex_error(std::regex_constants::error_type, char const*):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov DWORD PTR [rbp-12], esi
mov QWORD PTR [rbp-24], rdx
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-24]
mov rsi, rdx
mov rdi, rax
call std::runtime_error::runtime_error(char const*)
mov edx, OFFSET FLAT:_ZTVSt11regex_error+16
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], rdx
mov rax, QWORD PTR [rbp-8]
mov edx, DWORD PTR [rbp-12]
mov DWORD PTR [rax+16], edx
nop
leave
ret
std::__throw_regex_error(std::regex_constants::error_type, char const*):
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 16
mov DWORD PTR [rbp-20], edi
mov QWORD PTR [rbp-32], rsi
mov edi, 24
call __cxa_allocate_exception
mov rbx, rax
mov rdx, QWORD PTR [rbp-32]
mov eax, DWORD PTR [rbp-20]
mov esi, eax
mov rdi, rbx
call std::regex_error::regex_error(std::regex_constants::error_type, char const*)
mov edx, OFFSET FLAT:_ZNSt11regex_errorD1Ev
mov esi, OFFSET FLAT:_ZTISt11regex_error
mov rdi, rbx
call __cxa_throw
mov r12, rax
mov rdi, rbx
call __cxa_free_exception
mov rax, r12
mov rdi, rax
call _Unwind_Resume
std::__detail::_State_base::_State_base(std::__detail::_Opcode):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov DWORD PTR [rbp-12], esi
mov rax, QWORD PTR [rbp-8]
mov edx, DWORD PTR [rbp-12]
mov DWORD PTR [rax], edx
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+8], -1
nop
pop rbp
ret
std::__detail::_State_base::_M_has_alt():
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov eax, DWORD PTR [rax]
cmp eax, 1
je .L112
mov rax, QWORD PTR [rbp-8]
mov eax, DWORD PTR [rax]
cmp eax, 2
je .L112
mov rax, QWORD PTR [rbp-8]
mov eax, DWORD PTR [rax]
cmp eax, 7
jne .L113
.L112:
mov eax, 1
jmp .L114
.L113:
mov eax, 0
.L114:
pop rbp
ret
std::__detail::_NFA_base::_NFA_base(std::regex_constants::syntax_option_type):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov DWORD PTR [rbp-12], esi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::vector<unsigned long, std::allocator<unsigned long> >::vector() [complete object constructor]
mov rax, QWORD PTR [rbp-8]
mov edx, DWORD PTR [rbp-12]
mov DWORD PTR [rax+24], edx
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+32], 0
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+40], 0
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+48], 0
nop
leave
ret
std::__detail::_NFA_base::_M_start() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+32]
pop rbp
ret
std::__detail::_NFA_base::_M_sub_count() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+40]
pop rbp
ret
std::integral_constant<bool, true>::operator bool() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov eax, 1
pop rbp
ret
char&& std::forward<char>(std::remove_reference<char>::type&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::pair<char, char>::pair<char, char, true>(char&&, char&&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rax, QWORD PTR [rbp-16]
mov rdi, rax
call char&& std::forward<char>(std::remove_reference<char>::type&)
movzx edx, BYTE PTR [rax]
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax], dl
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call char&& std::forward<char>(std::remove_reference<char>::type&)
movzx edx, BYTE PTR [rax]
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+1], dl
nop
leave
ret
.LC0:
.string "^$\\.*+?()[]{}|"
.LC1:
.string ".[\\*^$"
.LC2:
.string ".[\\()*+?{|^$"
.LC3:
.string ".[\\()*+?{|^$\n"
.LC4:
.string ".[\\*^$\n"
std::__detail::_ScannerBase::_ScannerBase(std::regex_constants::syntax_option_type):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov DWORD PTR [rbp-12], esi
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], 0
mov QWORD PTR [rax+8], 0
mov QWORD PTR [rax+16], 0
mov QWORD PTR [rax+24], 0
mov QWORD PTR [rax+32], 0
mov QWORD PTR [rax+40], 0
mov QWORD PTR [rax+48], 0
mov QWORD PTR [rax+56], 0
mov QWORD PTR [rax+64], 0
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax], 94
mov rax, QWORD PTR [rbp-8]
mov DWORD PTR [rax+4], 22
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+8], 36
mov rax, QWORD PTR [rbp-8]
mov DWORD PTR [rax+12], 23
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+16], 46
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+24], 42
mov rax, QWORD PTR [rbp-8]
mov DWORD PTR [rax+28], 20
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+32], 43
mov rax, QWORD PTR [rbp-8]
mov DWORD PTR [rax+36], 21
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+40], 63
mov rax, QWORD PTR [rbp-8]
mov DWORD PTR [rax+44], 18
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+48], 124
mov rax, QWORD PTR [rbp-8]
mov DWORD PTR [rax+52], 19
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+56], 10
mov rax, QWORD PTR [rbp-8]
mov DWORD PTR [rax+60], 19
mov rax, QWORD PTR [rbp-8]
mov DWORD PTR [rax+68], 19
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+72], 0
mov QWORD PTR [rax+80], 0
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+72], 48
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+74], 98
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+75], 8
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+76], 102
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+77], 12
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+78], 110
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+79], 10
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+80], 114
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+81], 13
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+82], 116
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+83], 9
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+84], 118
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+85], 11
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+88], 0
mov QWORD PTR [rax+96], 0
mov DWORD PTR [rax+104], 0
mov WORD PTR [rax+108], 0
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+88], 34
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+89], 34
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+90], 47
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+91], 47
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+92], 92
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+93], 92
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+94], 97
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+95], 7
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+96], 98
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+97], 8
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+98], 102
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+99], 12
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+100], 110
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+101], 10
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+102], 114
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+103], 13
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+104], 116
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+105], 9
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+106], 118
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+107], 11
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+112], OFFSET FLAT:.LC0
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+120], OFFSET FLAT:.LC1
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+128], OFFSET FLAT:.LC2
mov rax, QWORD PTR [rbp-8]
mov DWORD PTR [rax+136], 0
mov rax, QWORD PTR [rbp-8]
mov edx, DWORD PTR [rbp-12]
mov DWORD PTR [rax+140], edx
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__detail::_ScannerBase::_M_is_ecma() const
test al, al
je .L127
mov rax, QWORD PTR [rbp-8]
add rax, 72
jmp .L128
.L127:
mov rax, QWORD PTR [rbp-8]
add rax, 88
.L128:
mov rdx, QWORD PTR [rbp-8]
mov QWORD PTR [rdx+152], rax
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__detail::_ScannerBase::_M_is_ecma() const
test al, al
je .L129
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+112]
jmp .L130
.L129:
mov rax, QWORD PTR [rbp-8]
mov eax, DWORD PTR [rax+140]
mov esi, 32
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
je .L131
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+120]
jmp .L130
.L131:
mov rax, QWORD PTR [rbp-8]
mov eax, DWORD PTR [rax+140]
mov esi, 64
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
je .L133
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+128]
jmp .L130
.L133:
mov rax, QWORD PTR [rbp-8]
mov eax, DWORD PTR [rax+140]
mov esi, 256
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
jne .L135
mov rax, QWORD PTR [rbp-8]
mov eax, DWORD PTR [rax+140]
mov esi, 512
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
jne .L136
mov rax, QWORD PTR [rbp-8]
mov eax, DWORD PTR [rax+140]
mov esi, 128
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
je .L137
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+128]
jmp .L130
.L137:
mov eax, 0
jmp .L130
.L136:
mov eax, OFFSET FLAT:.LC3
jmp .L130
.L135:
mov eax, OFFSET FLAT:.LC4
.L130:
mov rdx, QWORD PTR [rbp-8]
mov QWORD PTR [rdx+160], rax
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+168], 0
nop
leave
ret
std::__detail::_ScannerBase::_M_find_escape(char):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-24], rdi
mov eax, esi
mov BYTE PTR [rbp-28], al
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+152]
mov QWORD PTR [rbp-8], rax
.L145:
mov rax, QWORD PTR [rbp-8]
movzx eax, BYTE PTR [rax]
test al, al
je .L142
mov rax, QWORD PTR [rbp-8]
movzx eax, BYTE PTR [rax]
cmp BYTE PTR [rbp-28], al
jne .L143
mov rax, QWORD PTR [rbp-8]
add rax, 1
jmp .L144
.L143:
add QWORD PTR [rbp-8], 2
jmp .L145
.L142:
mov eax, 0
.L144:
pop rbp
ret
std::__detail::_ScannerBase::_M_is_ecma() const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov eax, DWORD PTR [rax+140]
mov esi, 16
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
setne al
leave
ret
std::__detail::_ScannerBase::_M_is_basic() const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov esi, 256
mov edi, 32
call std::regex_constants::operator|(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
mov edx, eax
mov rax, QWORD PTR [rbp-8]
mov eax, DWORD PTR [rax+140]
mov esi, edx
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
setne al
leave
ret
std::__detail::_ScannerBase::_M_is_awk() const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov eax, DWORD PTR [rax+140]
mov esi, 128
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
setne al
leave
ret
unsigned long const& std::min<unsigned long>(unsigned long const&, unsigned long const&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
cmp rdx, rax
jnb .L153
mov rax, QWORD PTR [rbp-16]
jmp .L154
.L153:
mov rax, QWORD PTR [rbp-8]
.L154:
pop rbp
ret
__gnu_cxx::__alloc_traits<std::allocator<char>, char>::_S_propagate_on_move_assign():
push rbp
mov rbp, rsp
mov eax, 1
pop rbp
ret
__gnu_cxx::__alloc_traits<std::allocator<char>, char>::_S_always_equal():
push rbp
mov rbp, rsp
mov eax, 1
pop rbp
ret
.LC5:
.string "[a-fA-F0-9]{4}"
.LC6:
.string "012z"
main:
push rbp
mov rbp, rsp
push rbx
sub rsp, 56
lea rax, [rbp-48]
mov edx, 16
mov esi, OFFSET FLAT:.LC5
mov rdi, rax
call std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> >::basic_regex(char const*, std::regex_constants::syntax_option_type)
lea rax, [rbp-48]
mov edx, 0
mov rsi, rax
mov edi, OFFSET FLAT:.LC6
call bool std::regex_match<char, std::__cxx11::regex_traits<char> >(char const*, std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> > const&, std::regex_constants::match_flag_type)
movzx eax, al
mov esi, eax
mov edi, OFFSET FLAT:_ZSt4cout
call std::basic_ostream<char, std::char_traits<char> >::operator<<(bool)
mov esi, OFFSET FLAT:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_
mov rdi, rax
call std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))
mov BYTE PTR [rbp-51], 1
mov BYTE PTR [rbp-50], 1
mov BYTE PTR [rbp-49], 0
lea rax, [rbp-51]
add rax, 3
lea rcx, [rbp-51]
mov edx, 1
mov rsi, rax
mov rdi, rcx
call int std::accumulate<bool*, int, std::bit_and<bool> >(bool*, bool*, int, std::bit_and<bool>)
mov esi, eax
mov edi, OFFSET FLAT:_ZSt4cout
call std::basic_ostream<char, std::char_traits<char> >::operator<<(int)
lea rax, [rbp-48]
mov rdi, rax
call std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> >::~basic_regex() [complete object destructor]
mov eax, 0
jmp .L163
mov rbx, rax
lea rax, [rbp-48]
mov rdi, rax
call std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> >::~basic_regex() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L163:
add rsp, 56
pop rbx
pop rbp
ret
__gnu_cxx::char_traits<char>::lt(char const&, char const&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
movzx edx, BYTE PTR [rax]
mov rax, QWORD PTR [rbp-16]
movzx eax, BYTE PTR [rax]
cmp dl, al
setl al
pop rbp
ret
__gnu_cxx::char_traits<char>::compare(char const*, char const*, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov QWORD PTR [rbp-40], rdx
mov QWORD PTR [rbp-8], 0
.L171:
mov rax, QWORD PTR [rbp-8]
cmp rax, QWORD PTR [rbp-40]
jnb .L167
mov rdx, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rbp-8]
add rdx, rax
mov rcx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-8]
add rax, rcx
mov rsi, rdx
mov rdi, rax
call __gnu_cxx::char_traits<char>::lt(char const&, char const&)
test al, al
je .L168
mov eax, -1
jmp .L169
.L168:
mov rdx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-8]
add rdx, rax
mov rcx, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rbp-8]
add rax, rcx
mov rsi, rdx
mov rdi, rax
call __gnu_cxx::char_traits<char>::lt(char const&, char const&)
test al, al
je .L170
mov eax, 1
jmp .L169
.L170:
add QWORD PTR [rbp-8], 1
jmp .L171
.L167:
mov eax, 0
.L169:
leave
ret
__gnu_cxx::char_traits<char>::length(char const*):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-8], 0
.L174:
mov BYTE PTR [rbp-9], 0
mov rdx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-8]
add rdx, rax
lea rax, [rbp-9]
mov rsi, rax
mov rdi, rdx
call __gnu_cxx::char_traits<char>::eq(char const&, char const&)
xor eax, 1
test al, al
je .L173
add QWORD PTR [rbp-8], 1
jmp .L174
.L173:
mov rax, QWORD PTR [rbp-8]
leave
ret
__gnu_cxx::char_traits<char>::eq(char const&, char const&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
movzx edx, BYTE PTR [rax]
mov rax, QWORD PTR [rbp-16]
movzx eax, BYTE PTR [rax]
cmp dl, al
sete al
pop rbp
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider::~_Alloc_hider() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::allocator<char>::~allocator() [base object destructor]
nop
leave
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose()
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider::~_Alloc_hider() [complete object destructor]
nop
leave
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::data() const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const
leave
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::length() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+8]
pop rbp
ret
std::vector<unsigned long, std::allocator<unsigned long> >::vector() [base object constructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_Vector_base() [base object constructor]
nop
leave
ret
std::vector<unsigned long, std::allocator<unsigned long> >::~vector() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_M_get_Tp_allocator()
mov rdx, rax
mov rax, QWORD PTR [rbp-8]
mov rcx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
mov rsi, rcx
mov rdi, rax
call void std::_Destroy<unsigned long*, unsigned long>(unsigned long*, unsigned long*, std::allocator<unsigned long>&)
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Vector_base<unsigned long, std::allocator<unsigned long> >::~_Vector_base() [base object destructor]
nop
leave
ret
unsigned long const& std::max<unsigned long>(unsigned long const&, unsigned long const&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rax]
cmp rdx, rax
jnb .L187
mov rax, QWORD PTR [rbp-16]
jmp .L188
.L187:
mov rax, QWORD PTR [rbp-8]
.L188:
pop rbp
ret
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
test rax, rax
je .L191
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
mov rdi, rax
call std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release()
.L191:
nop
leave
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string() [base object constructor]:
push rbp
mov rbp, rsp
push rbx
sub rsp, 40
mov QWORD PTR [rbp-40], rdi
mov rbx, QWORD PTR [rbp-40]
lea rax, [rbp-17]
mov rdi, rax
call std::allocator<char>::allocator() [complete object constructor]
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_local_data()
mov rcx, rax
lea rax, [rbp-17]
mov rdx, rax
mov rsi, rcx
mov rdi, rbx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider::_Alloc_hider(char*, std::allocator<char>&&)
lea rax, [rbp-17]
mov rdi, rax
call std::allocator<char>::~allocator() [complete object destructor]
mov rax, QWORD PTR [rbp-40]
mov esi, 0
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_set_length(unsigned long)
nop
add rsp, 40
pop rbx
pop rbp
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 16
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rbx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_get_allocator()
mov rdi, rax
call std::remove_reference<std::allocator<char>&>::type&& std::move<std::allocator<char>&>(std::allocator<char>&)
mov r12, rax
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_local_data()
mov rdx, r12
mov rsi, rax
mov rdi, rbx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider::_Alloc_hider(char*, std::allocator<char>&&)
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_is_local() const
test al, al
je .L194
mov rax, QWORD PTR [rbp-32]
lea rcx, [rax+16]
mov rax, QWORD PTR [rbp-24]
add rax, 16
mov edx, 16
mov rsi, rcx
mov rdi, rax
call std::char_traits<char>::copy(char*, char const*, unsigned long)
jmp .L195
.L194:
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const
mov rdx, rax
mov rax, QWORD PTR [rbp-24]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data(char*)
mov rax, QWORD PTR [rbp-32]
mov rdx, QWORD PTR [rax+16]
mov rax, QWORD PTR [rbp-24]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_capacity(unsigned long)
.L195:
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::length() const
mov rdx, rax
mov rax, QWORD PTR [rbp-24]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_length(unsigned long)
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_local_data()
mov rdx, rax
mov rax, QWORD PTR [rbp-32]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data(char*)
mov rax, QWORD PTR [rbp-32]
mov esi, 0
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_set_length(unsigned long)
nop
add rsp, 16
pop rbx
pop r12
pop rbp
ret
__gnu_cxx::__alloc_traits<std::allocator<char>, char>::_S_propagate_on_copy_assign():
push rbp
mov rbp, rsp
mov eax, 0
pop rbp
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 56
mov QWORD PTR [rbp-56], rdi
mov QWORD PTR [rbp-64], rsi
call __gnu_cxx::__alloc_traits<std::allocator<char>, char>::_S_propagate_on_copy_assign()
test al, al
je .L199
call __gnu_cxx::__alloc_traits<std::allocator<char>, char>::_S_always_equal()
xor eax, 1
test al, al
je .L200
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_is_local() const
xor eax, 1
test al, al
je .L200
mov rax, QWORD PTR [rbp-64]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_get_allocator() const
mov rbx, rax
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_get_allocator()
mov rsi, rbx
mov rdi, rax
call bool std::operator!=<char>(std::allocator<char> const&, std::allocator<char> const&)
test al, al
je .L200
mov eax, 1
jmp .L201
.L200:
mov eax, 0
.L201:
test al, al
je .L202
mov rax, QWORD PTR [rbp-64]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::size() const
cmp rax, 15
setbe al
test al, al
je .L203
mov rax, QWORD PTR [rbp-56]
mov rdx, QWORD PTR [rax+16]
mov rax, QWORD PTR [rbp-56]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_destroy(unsigned long)
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_local_data()
mov rdx, rax
mov rax, QWORD PTR [rbp-56]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data(char*)
mov rax, QWORD PTR [rbp-56]
mov esi, 0
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_set_length(unsigned long)
jmp .L202
.L203:
mov rax, QWORD PTR [rbp-64]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::size() const
mov QWORD PTR [rbp-24], rax
mov rax, QWORD PTR [rbp-64]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_get_allocator() const
mov rdx, rax
lea rax, [rbp-33]
mov rsi, rdx
mov rdi, rax
call std::allocator<char>::allocator(std::allocator<char> const&)
mov rax, QWORD PTR [rbp-24]
lea rdx, [rax+1]
lea rax, [rbp-33]
mov rsi, rdx
mov rdi, rax
call std::allocator_traits<std::allocator<char> >::allocate(std::allocator<char>&, unsigned long)
mov QWORD PTR [rbp-32], rax
mov rax, QWORD PTR [rbp-56]
mov rdx, QWORD PTR [rax+16]
mov rax, QWORD PTR [rbp-56]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_destroy(unsigned long)
mov rdx, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rbp-56]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data(char*)
mov rdx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-56]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_capacity(unsigned long)
mov rdx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-56]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_set_length(unsigned long)
lea rax, [rbp-33]
mov rdi, rax
call std::allocator<char>::~allocator() [complete object destructor]
.L202:
mov rax, QWORD PTR [rbp-64]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_get_allocator() const
mov rbx, rax
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_get_allocator()
mov rsi, rbx
mov rdi, rax
call void std::__alloc_on_copy<std::allocator<char> >(std::allocator<char>&, std::allocator<char> const&)
.L199:
mov rdx, QWORD PTR [rbp-64]
mov rax, QWORD PTR [rbp-56]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
jmp .L208
mov rbx, rax
lea rax, [rbp-33]
mov rdi, rax
call std::allocator<char>::~allocator() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L208:
add rsp, 56
pop rbx
pop rbp
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator+=(char):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov eax, esi
mov BYTE PTR [rbp-12], al
movsx edx, BYTE PTR [rbp-12]
mov rax, QWORD PTR [rbp-8]
mov esi, edx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::push_back(char)
mov rax, QWORD PTR [rbp-8]
leave
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::clear():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov esi, 0
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_set_length(unsigned long)
nop
leave
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 40
mov QWORD PTR [rbp-40], rdi
mov QWORD PTR [rbp-48], rsi
mov rbx, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rbp-48]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_get_allocator() const
mov rdx, rax
lea rax, [rbp-17]
mov rsi, rdx
mov rdi, rax
call __gnu_cxx::__alloc_traits<std::allocator<char>, char>::_S_select_on_copy(std::allocator<char> const&)
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_local_data()
mov rcx, rax
lea rax, [rbp-17]
mov rdx, rax
mov rsi, rcx
mov rdi, rbx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider::_Alloc_hider(char*, std::allocator<char>&&)
lea rax, [rbp-17]
mov rdi, rax
call std::allocator<char>::~allocator() [complete object destructor]
mov rax, QWORD PTR [rbp-48]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const
mov rbx, rax
mov rax, QWORD PTR [rbp-48]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::length() const
add rbx, rax
mov rax, QWORD PTR [rbp-48]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const
mov rcx, rax
mov rax, QWORD PTR [rbp-40]
mov rdx, rbx
mov rsi, rcx
mov rdi, rax
call void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*)
jmp .L215
mov rbx, rax
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider::~_Alloc_hider() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L215:
add rsp, 40
pop rbx
pop rbp
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::empty() const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::size() const
test rax, rax
sete al
leave
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&):
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 32
mov QWORD PTR [rbp-40], rdi
mov QWORD PTR [rbp-48], rsi
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_is_local() const
xor eax, 1
test al, al
je .L219
call __gnu_cxx::__alloc_traits<std::allocator<char>, char>::_S_propagate_on_move_assign()
test al, al
je .L219
call __gnu_cxx::__alloc_traits<std::allocator<char>, char>::_S_always_equal()
xor eax, 1
test al, al
je .L219
mov rax, QWORD PTR [rbp-48]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_get_allocator()
mov rbx, rax
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_get_allocator()
mov rsi, rbx
mov rdi, rax
call bool std::operator!=<char>(std::allocator<char> const&, std::allocator<char> const&)
test al, al
je .L219
mov eax, 1
jmp .L220
.L219:
mov eax, 0
.L220:
test al, al
je .L221
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rax+16]
mov rax, QWORD PTR [rbp-40]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_destroy(unsigned long)
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_local_data()
mov rdx, rax
mov rax, QWORD PTR [rbp-40]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data(char*)
mov rax, QWORD PTR [rbp-40]
mov esi, 0
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_set_length(unsigned long)
.L221:
mov rax, QWORD PTR [rbp-48]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_get_allocator()
mov rbx, rax
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_get_allocator()
mov rsi, rbx
mov rdi, rax
call void std::__alloc_on_move<std::allocator<char> >(std::allocator<char>&, std::allocator<char>&)
mov rax, QWORD PTR [rbp-48]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_is_local() const
test al, al
je .L222
mov rax, QWORD PTR [rbp-48]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::size() const
test rax, rax
setne al
test al, al
je .L223
mov rax, QWORD PTR [rbp-48]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::size() const
mov r12, rax
mov rax, QWORD PTR [rbp-48]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const
mov rbx, rax
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const
mov rdx, r12
mov rsi, rbx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy(char*, char const*, unsigned long)
.L223:
mov rax, QWORD PTR [rbp-48]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::size() const
mov rdx, rax
mov rax, QWORD PTR [rbp-40]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_set_length(unsigned long)
jmp .L224
.L222:
call __gnu_cxx::__alloc_traits<std::allocator<char>, char>::_S_propagate_on_move_assign()
test al, al
jne .L225
call __gnu_cxx::__alloc_traits<std::allocator<char>, char>::_S_always_equal()
test al, al
jne .L225
mov rax, QWORD PTR [rbp-48]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_get_allocator()
mov rbx, rax
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_get_allocator()
mov rsi, rbx
mov rdi, rax
call bool std::operator==<char>(std::allocator<char> const&, std::allocator<char> const&)
test al, al
je .L226
.L225:
mov eax, 1
jmp .L227
.L226:
mov eax, 0
.L227:
test al, al
je .L228
mov QWORD PTR [rbp-24], 0
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_is_local() const
xor eax, 1
test al, al
je .L229
call __gnu_cxx::__alloc_traits<std::allocator<char>, char>::_S_always_equal()
test al, al
je .L230
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const
mov QWORD PTR [rbp-24], rax
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+16]
mov QWORD PTR [rbp-32], rax
jmp .L229
.L230:
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rax+16]
mov rax, QWORD PTR [rbp-40]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_destroy(unsigned long)
.L229:
mov rax, QWORD PTR [rbp-48]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const
mov rdx, rax
mov rax, QWORD PTR [rbp-40]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data(char*)
mov rax, QWORD PTR [rbp-48]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::length() const
mov rdx, rax
mov rax, QWORD PTR [rbp-40]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_length(unsigned long)
mov rax, QWORD PTR [rbp-48]
mov rdx, QWORD PTR [rax+16]
mov rax, QWORD PTR [rbp-40]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_capacity(unsigned long)
cmp QWORD PTR [rbp-24], 0
je .L232
mov rdx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-48]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data(char*)
mov rdx, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rbp-48]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_capacity(unsigned long)
jmp .L224
.L232:
mov rax, QWORD PTR [rbp-48]
lea rdx, [rax+16]
mov rax, QWORD PTR [rbp-48]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data(char*)
jmp .L224
.L228:
mov rdx, QWORD PTR [rbp-48]
mov rax, QWORD PTR [rbp-40]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
.L224:
mov rax, QWORD PTR [rbp-48]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::clear()
mov rax, QWORD PTR [rbp-40]
add rsp, 32
pop rbx
pop r12
pop rbp
ret
std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> >::basic_regex(char const*, std::regex_constants::syntax_option_type):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov DWORD PTR [rbp-20], edx
mov rax, QWORD PTR [rbp-16]
mov rdi, rax
call std::char_traits<char>::length(char const*)
mov rdx, rax
mov rax, QWORD PTR [rbp-16]
lea rdi, [rdx+rax]
mov edx, DWORD PTR [rbp-20]
mov rsi, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov ecx, edx
mov rdx, rdi
mov rdi, rax
call std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> >::basic_regex<char const*>(char const*, char const*, std::regex_constants::syntax_option_type)
nop
leave
ret
std::__shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
add rax, 8
mov rdi, rax
call std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() [complete object destructor]
nop
leave
ret
std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const>::~shared_ptr() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() [base object destructor]
nop
leave
ret
std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> >::~basic_regex() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
add rax, 16
mov rdi, rax
call std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const>::~shared_ptr() [complete object destructor]
mov rax, QWORD PTR [rbp-8]
add rax, 8
mov rdi, rax
call std::locale::~locale() [complete object destructor]
nop
leave
ret
bool std::regex_match<char, std::__cxx11::regex_traits<char> >(char const*, std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> > const&, std::regex_constants::match_flag_type):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov DWORD PTR [rbp-20], edx
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__cxx11::regex_traits<char>::length(char const*)
mov rdx, rax
mov rax, QWORD PTR [rbp-8]
lea rsi, [rdx+rax]
mov ecx, DWORD PTR [rbp-20]
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call bool std::regex_match<char const*, char, std::__cxx11::regex_traits<char> >(char const*, char const*, std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> > const&, std::regex_constants::match_flag_type)
leave
ret
std::bit_and<bool>::operator()(bool const&, bool const&) const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rax, QWORD PTR [rbp-16]
movzx eax, BYTE PTR [rax]
movzx edx, al
mov rax, QWORD PTR [rbp-24]
movzx eax, BYTE PTR [rax]
movzx eax, al
and eax, edx
test eax, eax
setne al
pop rbp
ret
int std::accumulate<bool*, int, std::bit_and<bool> >(bool*, bool*, int, std::bit_and<bool>):
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov DWORD PTR [rbp-36], edx
.L245:
mov rax, QWORD PTR [rbp-24]
cmp rax, QWORD PTR [rbp-32]
je .L244
cmp DWORD PTR [rbp-36], 0
setne al
mov BYTE PTR [rbp-1], al
mov rdx, QWORD PTR [rbp-24]
lea rax, [rbp-1]
mov rsi, rax
lea rdi, [rbp+16]
call std::bit_and<bool>::operator()(bool const&, bool const&) const
movzx eax, al
mov DWORD PTR [rbp-36], eax
add QWORD PTR [rbp-24], 1
jmp .L245
.L244:
mov eax, DWORD PTR [rbp-36]
leave
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
pop rbp
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<char*, void>(char*, char*, std::allocator<char> const&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 40
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov QWORD PTR [rbp-40], rdx
mov QWORD PTR [rbp-48], rcx
mov rbx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_local_data()
mov rcx, rax
mov rax, QWORD PTR [rbp-48]
mov rdx, rax
mov rsi, rcx
mov rdi, rbx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider::_Alloc_hider(char*, std::allocator<char> const&)
mov rdx, QWORD PTR [rbp-40]
mov rcx, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rbp-24]
mov rsi, rcx
mov rdi, rax
call void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*)
jmp .L252
mov rbx, rax
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider::~_Alloc_hider() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L252:
add rsp, 40
pop rbx
pop rbp
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_is_local() const
xor eax, 1
test al, al
je .L255
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_destroy(unsigned long)
.L255:
nop
leave
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_local_data():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
add rax, 16
mov rdi, rax
call std::pointer_traits<char*>::pointer_to(char&)
leave
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider::_Alloc_hider(char*, std::allocator<char> const&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rdx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::allocator<char>::allocator(std::allocator<char> const&)
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov QWORD PTR [rax], rdx
nop
leave
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::size() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+8]
pop rbp
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::capacity() const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_is_local() const
test al, al
je .L262
mov eax, 15
jmp .L264
.L262:
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+16]
.L264:
leave
ret
std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_Vector_impl::~_Vector_impl() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::allocator<unsigned long>::~allocator() [base object destructor]
nop
leave
ret
std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_Vector_base() [base object constructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_Vector_impl::_Vector_impl() [complete object constructor]
nop
leave
ret
std::_Vector_base<unsigned long, std::allocator<unsigned long> >::~_Vector_base() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+16]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
sub rdx, rax
mov rax, rdx
sar rax, 3
mov rdx, rax
mov rax, QWORD PTR [rbp-8]
mov rcx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_M_deallocate(unsigned long*, unsigned long)
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_Vector_impl::~_Vector_impl() [complete object destructor]
nop
leave
ret
std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_M_get_Tp_allocator():
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
void std::_Destroy<unsigned long*, unsigned long>(unsigned long*, unsigned long*, std::allocator<unsigned long>&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call void std::_Destroy<unsigned long*>(unsigned long*, unsigned long*)
nop
leave
ret
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
add rax, 8
mov esi, -1
mov rdi, rax
call __gnu_cxx::__exchange_and_add_dispatch(int*, int)
cmp eax, 1
sete al
test al, al
je .L273
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
add rax, 16
mov rax, QWORD PTR [rax]
mov rdx, QWORD PTR [rbp-8]
mov rdi, rdx
call rax
mov rax, QWORD PTR [rbp-8]
add rax, 12
mov esi, -1
mov rdi, rax
call __gnu_cxx::__exchange_and_add_dispatch(int*, int)
cmp eax, 1
sete al
test al, al
je .L273
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
add rax, 24
mov rax, QWORD PTR [rax]
mov rdx, QWORD PTR [rbp-8]
mov rdi, rdx
call rax
.L273:
nop
leave
ret
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::_M_swap(std::__shared_count<(__gnu_cxx::_Lock_policy)2>&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rax, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rax]
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-32]
mov QWORD PTR [rax], rdx
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rbp-8]
mov QWORD PTR [rax], rdx
nop
pop rbp
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider::_Alloc_hider(char*, std::allocator<char>&&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::remove_reference<std::allocator<char>&>::type&& std::move<std::allocator<char>&>(std::allocator<char>&)
mov rdx, rax
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::allocator<char>::allocator(std::allocator<char> const&)
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov QWORD PTR [rax], rdx
nop
leave
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_set_length(unsigned long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rdx, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rbp-24]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_length(unsigned long)
mov BYTE PTR [rbp-1], 0
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const
mov rdx, rax
mov rax, QWORD PTR [rbp-32]
add rdx, rax
lea rax, [rbp-1]
mov rsi, rax
mov rdi, rdx
call std::char_traits<char>::assign(char&, char const&)
nop
leave
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_get_allocator():
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::remove_reference<std::allocator<char>&>::type&& std::move<std::allocator<char>&>(std::allocator<char>&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_is_local() const:
push rbp
mov rbp, rsp
push rbx
sub rsp, 24
mov QWORD PTR [rbp-24], rdi
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const
mov rbx, rax
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_local_data() const
cmp rbx, rax
sete al
add rsp, 24
pop rbx
pop rbp
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data(char*):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov QWORD PTR [rax], rdx
nop
pop rbp
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_capacity(unsigned long):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov QWORD PTR [rax+16], rdx
nop
pop rbp
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_length(unsigned long):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov QWORD PTR [rax+8], rdx
nop
pop rbp
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_get_allocator() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
bool std::operator!=<char>(std::allocator<char> const&, std::allocator<char> const&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov eax, 0
pop rbp
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_destroy(unsigned long):
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 16
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rax, QWORD PTR [rbp-32]
lea rbx, [rax+1]
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const
mov r12, rax
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_get_allocator()
mov rdx, rbx
mov rsi, r12
mov rdi, rax
call std::allocator_traits<std::allocator<char> >::deallocate(std::allocator<char>&, char*, unsigned long)
nop
add rsp, 16
pop rbx
pop r12
pop rbp
ret
std::allocator_traits<std::allocator<char> >::allocate(std::allocator<char>&, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov edx, 0
mov rsi, rcx
mov rdi, rax
call __gnu_cxx::new_allocator<char>::allocate(unsigned long, void const*)
leave
ret
void std::__alloc_on_copy<std::allocator<char> >(std::allocator<char>&, std::allocator<char> const&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rdx, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rbp-24]
mov rsi, rdx
mov rdi, rax
call void std::__do_alloc_on_copy<std::allocator<char> >(std::allocator<char>&, std::allocator<char> const&, std::integral_constant<bool, false>)
nop
leave
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
mov rax, QWORD PTR [rbp-8]
leave
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::push_back(char):
push rbp
mov rbp, rsp
push rbx
sub rsp, 40
mov QWORD PTR [rbp-40], rdi
mov eax, esi
mov BYTE PTR [rbp-44], al
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::size() const
mov QWORD PTR [rbp-24], rax
mov rax, QWORD PTR [rbp-24]
lea rbx, [rax+1]
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::capacity() const
cmp rbx, rax
seta al
test al, al
je .L297
mov rsi, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-40]
mov r8d, 1
mov ecx, 0
mov edx, 0
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long)
.L297:
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const
mov rdx, rax
mov rax, QWORD PTR [rbp-24]
add rdx, rax
lea rax, [rbp-44]
mov rsi, rax
mov rdi, rdx
call std::char_traits<char>::assign(char&, char const&)
mov rax, QWORD PTR [rbp-24]
lea rdx, [rax+1]
mov rax, QWORD PTR [rbp-40]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_set_length(unsigned long)
nop
add rsp, 40
pop rbx
pop rbp
ret
__gnu_cxx::__alloc_traits<std::allocator<char>, char>::_S_select_on_copy(std::allocator<char> const&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov rsi, rdx
mov rdi, rax
call std::allocator_traits<std::allocator<char> >::select_on_container_copy_construction(std::allocator<char> const&)
mov rax, QWORD PTR [rbp-8]
leave
ret
void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rdx, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char*>(char*, char*, std::__false_type)
nop
leave
ret
void std::__alloc_on_move<std::allocator<char> >(std::allocator<char>&, std::allocator<char>&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rdx, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rbp-24]
mov rsi, rdx
mov rdi, rax
call void std::__do_alloc_on_move<std::allocator<char> >(std::allocator<char>&, std::allocator<char>&, std::integral_constant<bool, true>)
nop
leave
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy(char*, char const*, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
cmp QWORD PTR [rbp-24], 1
jne .L303
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::char_traits<char>::assign(char&, char const&)
jmp .L305
.L303:
mov rdx, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call std::char_traits<char>::copy(char*, char const*, unsigned long)
.L305:
nop
leave
ret
bool std::operator==<char>(std::allocator<char> const&, std::allocator<char> const&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov eax, 1
pop rbp
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_check_length(unsigned long, unsigned long, char const*) const:
push rbp
mov rbp, rsp
push rbx
sub rsp, 40
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov QWORD PTR [rbp-40], rdx
mov QWORD PTR [rbp-48], rcx
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::max_size() const
mov rbx, rax
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::size() const
mov rdx, rax
mov rax, QWORD PTR [rbp-32]
sub rax, rdx
add rax, rbx
cmp QWORD PTR [rbp-40], rax
seta al
test al, al
je .L310
mov rax, QWORD PTR [rbp-48]
mov rdi, rax
call std::__throw_length_error(char const*)
.L310:
nop
add rsp, 40
pop rbx
pop rbp
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(unsigned long, char):
push rbp
mov rbp, rsp
push rbx
sub rsp, 40
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov eax, edx
mov BYTE PTR [rbp-36], al
movsx ebx, BYTE PTR [rbp-36]
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::size() const
mov rsi, rax
mov rdx, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rbp-24]
mov r8d, ebx
mov rcx, rdx
mov rdx, rsi
mov esi, 0
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_replace_aux(unsigned long, unsigned long, unsigned long, char)
add rsp, 40
pop rbx
pop rbp
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned long) const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const
mov rdx, rax
mov rax, QWORD PTR [rbp-16]
add rax, rdx
leave
ret
.LC7:
.string "%s: __pos (which is %zu) > this->size() (which is %zu)"
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_check(unsigned long, char const*) const:
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::size() const
cmp QWORD PTR [rbp-16], rax
seta al
test al, al
je .L316
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::size() const
mov rcx, rax
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-24]
mov rsi, rax
mov edi, OFFSET FLAT:.LC7
mov eax, 0
call std::__throw_out_of_range_fmt(char const*, ...)
.L316:
mov rax, QWORD PTR [rbp-16]
leave
ret
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count() [base object constructor]:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], 0
nop
pop rbp
ret
std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> >::basic_regex<char const*>(char const*, char const*, std::regex_constants::syntax_option_type):
push rbp
mov rbp, rsp
push rbx
sub rsp, 56
mov QWORD PTR [rbp-40], rdi
mov QWORD PTR [rbp-48], rsi
mov QWORD PTR [rbp-56], rdx
mov DWORD PTR [rbp-60], ecx
lea rax, [rbp-24]
mov rdi, rax
call std::locale::locale() [complete object constructor]
lea rax, [rbp-56]
mov rdi, rax
call std::remove_reference<char const*&>::type&& std::move<char const*&>(char const*&)
mov rbx, QWORD PTR [rax]
lea rax, [rbp-48]
mov rdi, rax
call std::remove_reference<char const*&>::type&& std::move<char const*&>(char const*&)
mov rsi, QWORD PTR [rax]
mov ecx, DWORD PTR [rbp-60]
lea rdx, [rbp-24]
mov rax, QWORD PTR [rbp-40]
mov r8d, ecx
mov rcx, rdx
mov rdx, rbx
mov rdi, rax
call std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> >::basic_regex<char const*>(char const*, char const*, std::locale, std::regex_constants::syntax_option_type)
lea rax, [rbp-24]
mov rdi, rax
call std::locale::~locale() [complete object destructor]
jmp .L322
mov rbx, rax
lea rax, [rbp-24]
mov rdi, rax
call std::locale::~locale() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L322:
add rsp, 56
pop rbx
pop rbp
ret
std::__cxx11::regex_traits<char>::length(char const*):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::char_traits<char>::length(char const*)
leave
ret
bool std::regex_match<char const*, char, std::__cxx11::regex_traits<char> >(char const*, char const*, std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> > const&, std::regex_constants::match_flag_type):
push rbp
mov rbp, rsp
push rbx
sub rsp, 88
mov QWORD PTR [rbp-72], rdi
mov QWORD PTR [rbp-80], rsi
mov QWORD PTR [rbp-88], rdx
mov DWORD PTR [rbp-92], ecx
lea rax, [rbp-17]
mov rdi, rax
call std::allocator<std::__cxx11::sub_match<char const*> >::allocator() [complete object constructor]
lea rdx, [rbp-17]
lea rax, [rbp-64]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::match_results<char const*, std::allocator<std::__cxx11::sub_match<char const*> > >::match_results(std::allocator<std::__cxx11::sub_match<char const*> > const&)
lea rax, [rbp-17]
mov rdi, rax
call std::allocator<std::__cxx11::sub_match<char const*> >::~allocator() [complete object destructor]
mov edi, DWORD PTR [rbp-92]
mov rcx, QWORD PTR [rbp-88]
lea rdx, [rbp-64]
mov rsi, QWORD PTR [rbp-80]
mov rax, QWORD PTR [rbp-72]
mov r8d, edi
mov rdi, rax
call bool std::regex_match<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, char, std::__cxx11::regex_traits<char> >(char const*, char const*, std::__cxx11::match_results<char const*, std::allocator<std::__cxx11::sub_match<char const*> > >&, std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> > const&, std::regex_constants::match_flag_type)
mov ebx, eax
nop
lea rax, [rbp-64]
mov rdi, rax
call std::__cxx11::match_results<char const*, std::allocator<std::__cxx11::sub_match<char const*> > >::~match_results() [complete object destructor]
mov eax, ebx
jmp .L329
mov rbx, rax
lea rax, [rbp-64]
mov rdi, rax
call std::__cxx11::match_results<char const*, std::allocator<std::__cxx11::sub_match<char const*> > >::~match_results() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L329:
add rsp, 88
pop rbx
pop rbp
ret
std::pointer_traits<char*>::pointer_to(char&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call char* std::addressof<char>(char&)
leave
ret
std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_Vector_impl::_Vector_impl() [base object constructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::allocator<unsigned long>::allocator() [base object constructor]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], 0
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+8], 0
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+16], 0
nop
leave
ret
std::allocator<unsigned long>::~allocator() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call __gnu_cxx::new_allocator<unsigned long>::~new_allocator() [base object destructor]
nop
leave
ret
std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_M_deallocate(unsigned long*, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
cmp QWORD PTR [rbp-16], 0
je .L336
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rbp-16]
mov rsi, rcx
mov rdi, rax
call std::allocator_traits<std::allocator<unsigned long> >::deallocate(std::allocator<unsigned long>&, unsigned long*, unsigned long)
.L336:
nop
leave
ret
void std::_Destroy<unsigned long*>(unsigned long*, unsigned long*):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call void std::_Destroy_aux<true>::__destroy<unsigned long*>(unsigned long*, unsigned long*)
nop
leave
ret
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_destroy():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
cmp QWORD PTR [rbp-8], 0
je .L340
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
add rax, 8
mov rax, QWORD PTR [rax]
mov rdx, QWORD PTR [rbp-8]
mov rdi, rdx
call rax
.L340:
nop
leave
ret
std::type_info const*& std::_Any_data::_M_access<std::type_info const*>():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Any_data::_M_access()
leave
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_local_data() const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
add rax, 16
mov rdi, rax
call std::pointer_traits<char const*>::pointer_to(char const&)
leave
ret
std::allocator_traits<std::allocator<char> >::deallocate(std::allocator<char>&, char*, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rdx, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call __gnu_cxx::new_allocator<char>::deallocate(char*, unsigned long)
nop
leave
ret
__gnu_cxx::new_allocator<char>::allocate(unsigned long, void const*):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call __gnu_cxx::new_allocator<char>::max_size() const
cmp QWORD PTR [rbp-16], rax
seta al
test al, al
je .L349
call std::__throw_bad_alloc()
.L349:
mov rax, QWORD PTR [rbp-16]
mov rdi, rax
call operator new(unsigned long)
nop
leave
ret
void std::__do_alloc_on_copy<std::allocator<char> >(std::allocator<char>&, std::allocator<char> const&, std::integral_constant<bool, false>):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
nop
pop rbp
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 56
mov QWORD PTR [rbp-56], rdi
mov QWORD PTR [rbp-64], rsi
mov rax, QWORD PTR [rbp-56]
cmp rax, QWORD PTR [rbp-64]
je .L355
mov rax, QWORD PTR [rbp-64]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::length() const
mov QWORD PTR [rbp-24], rax
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::capacity() const
mov QWORD PTR [rbp-32], rax
mov rax, QWORD PTR [rbp-24]
cmp rax, QWORD PTR [rbp-32]
jbe .L353
mov rax, QWORD PTR [rbp-24]
mov QWORD PTR [rbp-48], rax
mov rdx, QWORD PTR [rbp-32]
lea rcx, [rbp-48]
mov rax, QWORD PTR [rbp-56]
mov rsi, rcx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned long&, unsigned long)
mov QWORD PTR [rbp-40], rax
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose()
mov rdx, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rbp-56]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data(char*)
mov rdx, QWORD PTR [rbp-48]
mov rax, QWORD PTR [rbp-56]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_capacity(unsigned long)
.L353:
cmp QWORD PTR [rbp-24], 0
je .L354
mov rax, QWORD PTR [rbp-64]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const
mov rbx, rax
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const
mov rcx, rax
mov rax, QWORD PTR [rbp-24]
mov rdx, rax
mov rsi, rbx
mov rdi, rcx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy(char*, char const*, unsigned long)
.L354:
mov rdx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-56]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_set_length(unsigned long)
.L355:
nop
add rsp, 56
pop rbx
pop rbp
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 80
mov QWORD PTR [rbp-40], rdi
mov QWORD PTR [rbp-48], rsi
mov QWORD PTR [rbp-56], rdx
mov QWORD PTR [rbp-64], rcx
mov QWORD PTR [rbp-72], r8
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::length() const
sub rax, QWORD PTR [rbp-48]
sub rax, QWORD PTR [rbp-56]
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::length() const
mov rdx, rax
mov rax, QWORD PTR [rbp-72]
add rax, rdx
sub rax, QWORD PTR [rbp-56]
mov QWORD PTR [rbp-24], rax
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::capacity() const
mov rdx, rax
lea rcx, [rbp-24]
mov rax, QWORD PTR [rbp-40]
mov rsi, rcx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned long&, unsigned long)
mov QWORD PTR [rbp-16], rax
cmp QWORD PTR [rbp-48], 0
je .L357
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const
mov rcx, rax
mov rdx, QWORD PTR [rbp-48]
mov rax, QWORD PTR [rbp-16]
mov rsi, rcx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy(char*, char const*, unsigned long)
.L357:
cmp QWORD PTR [rbp-64], 0
je .L358
cmp QWORD PTR [rbp-72], 0
je .L358
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-48]
lea rcx, [rdx+rax]
mov rdx, QWORD PTR [rbp-72]
mov rax, QWORD PTR [rbp-64]
mov rsi, rax
mov rdi, rcx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy(char*, char const*, unsigned long)
.L358:
cmp QWORD PTR [rbp-8], 0
je .L359
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const
mov rcx, rax
mov rdx, QWORD PTR [rbp-48]
mov rax, QWORD PTR [rbp-56]
add rax, rdx
lea rsi, [rcx+rax]
mov rdx, QWORD PTR [rbp-48]
mov rax, QWORD PTR [rbp-72]
add rdx, rax
mov rax, QWORD PTR [rbp-16]
lea rcx, [rdx+rax]
mov rax, QWORD PTR [rbp-8]
mov rdx, rax
mov rdi, rcx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy(char*, char const*, unsigned long)
.L359:
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose()
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-40]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data(char*)
mov rdx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-40]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_capacity(unsigned long)
nop
leave
ret
std::allocator_traits<std::allocator<char> >::select_on_container_copy_construction(std::allocator<char> const&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::allocator<char>::allocator(std::allocator<char> const&)
mov rax, QWORD PTR [rbp-8]
leave
ret
void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char*>(char*, char*, std::__false_type):
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov QWORD PTR [rbp-40], rdx
mov rdx, QWORD PTR [rbp-40]
mov rcx, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rbp-24]
mov rsi, rcx
mov rdi, rax
call void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag)
nop
leave
ret
void std::__do_alloc_on_move<std::allocator<char> >(std::allocator<char>&, std::allocator<char>&, std::integral_constant<bool, true>):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-16]
mov rdi, rax
call std::remove_reference<std::allocator<char>&>::type&& std::move<std::allocator<char>&>(std::allocator<char>&)
nop
leave
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::max_size() const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_get_allocator() const
mov rdi, rax
call std::allocator_traits<std::allocator<char> >::max_size(std::allocator<char> const&)
sub rax, 1
shr rax
leave
ret
.LC8:
.string "basic_string::_M_replace_aux"
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_replace_aux(unsigned long, unsigned long, unsigned long, char):
push rbp
mov rbp, rsp
push rbx
sub rsp, 88
mov QWORD PTR [rbp-56], rdi
mov QWORD PTR [rbp-64], rsi
mov QWORD PTR [rbp-72], rdx
mov QWORD PTR [rbp-80], rcx
mov eax, r8d
mov BYTE PTR [rbp-84], al
mov rdx, QWORD PTR [rbp-80]
mov rsi, QWORD PTR [rbp-72]
mov rax, QWORD PTR [rbp-56]
mov ecx, OFFSET FLAT:.LC8
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_check_length(unsigned long, unsigned long, char const*) const
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::size() const
mov QWORD PTR [rbp-24], rax
mov rdx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-80]
add rax, rdx
sub rax, QWORD PTR [rbp-72]
mov QWORD PTR [rbp-32], rax
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::capacity() const
cmp QWORD PTR [rbp-32], rax
setbe al
test al, al
je .L367
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const
mov rdx, rax
mov rax, QWORD PTR [rbp-64]
add rax, rdx
mov QWORD PTR [rbp-40], rax
mov rax, QWORD PTR [rbp-24]
sub rax, QWORD PTR [rbp-64]
sub rax, QWORD PTR [rbp-72]
mov QWORD PTR [rbp-48], rax
cmp QWORD PTR [rbp-48], 0
je .L369
mov rax, QWORD PTR [rbp-72]
cmp rax, QWORD PTR [rbp-80]
je .L369
mov rdx, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rbp-72]
lea rsi, [rdx+rax]
mov rdx, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rbp-80]
lea rcx, [rdx+rax]
mov rax, QWORD PTR [rbp-48]
mov rdx, rax
mov rdi, rcx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_move(char*, char const*, unsigned long)
jmp .L369
.L367:
mov rcx, QWORD PTR [rbp-80]
mov rdx, QWORD PTR [rbp-72]
mov rsi, QWORD PTR [rbp-64]
mov rax, QWORD PTR [rbp-56]
mov r8, rcx
mov ecx, 0
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long)
.L369:
cmp QWORD PTR [rbp-80], 0
je .L370
movsx ebx, BYTE PTR [rbp-84]
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const
mov rdx, rax
mov rax, QWORD PTR [rbp-64]
lea rcx, [rdx+rax]
mov rax, QWORD PTR [rbp-80]
mov edx, ebx
mov rsi, rax
mov rdi, rcx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_assign(char*, unsigned long, char)
.L370:
mov rdx, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rbp-56]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_set_length(unsigned long)
mov rax, QWORD PTR [rbp-56]
add rsp, 88
pop rbx
pop rbp
ret
.LC9:
.string "basic_string::_M_create"
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned long&, unsigned long):
push rbp
mov rbp, rsp
push rbx
sub rsp, 40
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov QWORD PTR [rbp-40], rdx
mov rax, QWORD PTR [rbp-32]
mov rbx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::max_size() const
cmp rbx, rax
seta al
test al, al
je .L373
mov edi, OFFSET FLAT:.LC9
call std::__throw_length_error(char const*)
.L373:
mov rax, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rax]
cmp QWORD PTR [rbp-40], rax
jnb .L374
mov rax, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rax]
mov rdx, QWORD PTR [rbp-40]
add rdx, rdx
cmp rax, rdx
jnb .L374
mov rax, QWORD PTR [rbp-40]
lea rdx, [rax+rax]
mov rax, QWORD PTR [rbp-32]
mov QWORD PTR [rax], rdx
mov rax, QWORD PTR [rbp-32]
mov rbx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::max_size() const
cmp rbx, rax
seta al
test al, al
je .L374
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::max_size() const
mov rdx, rax
mov rax, QWORD PTR [rbp-32]
mov QWORD PTR [rax], rdx
.L374:
mov rax, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rax]
lea rbx, [rax+1]
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_get_allocator()
mov rsi, rbx
mov rdi, rax
call std::allocator_traits<std::allocator<char> >::allocate(std::allocator<char>&, unsigned long)
add rsp, 40
pop rbx
pop rbp
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_limit(unsigned long, unsigned long) const:
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov QWORD PTR [rbp-40], rdx
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::size() const
sub rax, QWORD PTR [rbp-32]
cmp QWORD PTR [rbp-40], rax
setb al
mov BYTE PTR [rbp-1], al
cmp BYTE PTR [rbp-1], 0
je .L377
mov rax, QWORD PTR [rbp-40]
jmp .L379
.L377:
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::size() const
sub rax, QWORD PTR [rbp-32]
.L379:
leave
ret
std::remove_reference<char const*&>::type&& std::move<char const*&>(char const*&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> >::basic_regex<char const*>(char const*, char const*, std::locale, std::regex_constants::syntax_option_type):
push rbp
mov rbp, rsp
push r13
push r12
push rbx
sub rsp, 56
mov QWORD PTR [rbp-40], rdi
mov QWORD PTR [rbp-48], rsi
mov QWORD PTR [rbp-56], rdx
mov QWORD PTR [rbp-64], rcx
mov DWORD PTR [rbp-68], r8d
mov rax, QWORD PTR [rbp-40]
mov edx, DWORD PTR [rbp-68]
mov DWORD PTR [rax], edx
mov rax, QWORD PTR [rbp-40]
lea rbx, [rax+8]
mov rax, QWORD PTR [rbp-64]
mov rdi, rax
call std::remove_reference<std::locale&>::type&& std::move<std::locale&>(std::locale&)
mov rsi, rax
mov rdi, rbx
call std::locale::locale(std::locale const&)
mov rax, QWORD PTR [rbp-40]
mov r13d, DWORD PTR [rax]
mov rax, QWORD PTR [rbp-40]
lea r12, [rax+8]
lea rax, [rbp-56]
mov rdi, rax
call std::remove_reference<char const*&>::type&& std::move<char const*&>(char const*&)
mov rbx, QWORD PTR [rax]
lea rax, [rbp-48]
mov rdi, rax
call std::remove_reference<char const*&>::type&& std::move<char const*&>(char const*&)
mov rax, QWORD PTR [rax]
mov rdx, QWORD PTR [rbp-40]
lea rdi, [rdx+16]
mov r8d, r13d
mov rcx, r12
mov rdx, rbx
mov rsi, rax
call std::enable_if<std::__detail::__is_contiguous_normal_iter<char const*>::value, std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const> >::type std::__detail::__compile_nfa<std::__cxx11::regex_traits<char>, char const*>(char const*, char const*, std::__cxx11::regex_traits<char>::locale_type const&, std::regex_constants::syntax_option_type)
jmp .L385
mov rbx, rax
mov rax, QWORD PTR [rbp-40]
add rax, 8
mov rdi, rax
call std::locale::~locale() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L385:
add rsp, 56
pop rbx
pop r12
pop r13
pop rbp
ret
std::allocator<std::__cxx11::sub_match<char const*> >::allocator() [base object constructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call __gnu_cxx::new_allocator<std::__cxx11::sub_match<char const*> >::new_allocator() [base object constructor]
nop
leave
ret
std::allocator<std::__cxx11::sub_match<char const*> >::~allocator() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call __gnu_cxx::new_allocator<std::__cxx11::sub_match<char const*> >::~new_allocator() [base object destructor]
nop
leave
ret
std::__cxx11::match_results<char const*, std::allocator<std::__cxx11::sub_match<char const*> > >::match_results(std::allocator<std::__cxx11::sub_match<char const*> > const&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::vector(std::allocator<std::__cxx11::sub_match<char const*> > const&)
nop
leave
ret
std::__cxx11::match_results<char const*, std::allocator<std::__cxx11::sub_match<char const*> > >::~match_results() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::~vector() [base object destructor]
nop
leave
ret
bool std::regex_match<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, char, std::__cxx11::regex_traits<char> >(char const*, char const*, std::__cxx11::match_results<char const*, std::allocator<std::__cxx11::sub_match<char const*> > >&, std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> > const&, std::regex_constants::match_flag_type):
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov QWORD PTR [rbp-32], rcx
mov DWORD PTR [rbp-36], r8d
mov edi, DWORD PTR [rbp-36]
mov rcx, QWORD PTR [rbp-32]
mov rdx, QWORD PTR [rbp-24]
mov rsi, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov r8d, edi
mov rdi, rax
call bool std::__detail::__regex_algo_impl<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, char, std::__cxx11::regex_traits<char>, (std::__detail::_RegexExecutorPolicy)0, true>(char const*, char const*, std::__cxx11::match_results<char const*, std::allocator<std::__cxx11::sub_match<char const*> > >&, std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> > const&, std::regex_constants::match_flag_type)
leave
ret
char* std::addressof<char>(char&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call char* std::__addressof<char>(char&)
leave
ret
std::iterator_traits<char const*>::difference_type std::distance<char const*>(char const*, char const*):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
lea rax, [rbp-8]
mov rdi, rax
call std::iterator_traits<char const*>::iterator_category std::__iterator_category<char const*>(char const* const&)
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov rsi, rdx
mov rdi, rax
call std::iterator_traits<char const*>::difference_type std::__distance<char const*>(char const*, char const*, std::random_access_iterator_tag)
leave
ret
std::allocator<unsigned long>::allocator() [base object constructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call __gnu_cxx::new_allocator<unsigned long>::new_allocator() [base object constructor]
nop
leave
ret
__gnu_cxx::new_allocator<unsigned long>::~new_allocator() [base object destructor]:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
nop
pop rbp
ret
std::allocator_traits<std::allocator<unsigned long> >::deallocate(std::allocator<unsigned long>&, unsigned long*, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rdx, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call __gnu_cxx::new_allocator<unsigned long>::deallocate(unsigned long*, unsigned long)
nop
leave
ret
void std::_Destroy_aux<true>::__destroy<unsigned long*>(unsigned long*, unsigned long*):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
nop
pop rbp
ret
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::~_Sp_counted_base() [base object destructor]:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov edx, OFFSET FLAT:_ZTVSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE+16
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], rdx
nop
pop rbp
ret
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::~_Sp_counted_base() [deleting destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::~_Sp_counted_base() [complete object destructor]
mov rax, QWORD PTR [rbp-8]
mov esi, 16
mov rdi, rax
call operator delete(void*, unsigned long)
leave
ret
std::pointer_traits<char const*>::pointer_to(char const&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call char const* std::addressof<char const>(char const&)
leave
ret
__gnu_cxx::new_allocator<char>::deallocate(char*, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rax, QWORD PTR [rbp-16]
mov rdi, rax
call operator delete(void*)
leave
ret
__gnu_cxx::new_allocator<char>::max_size() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, -1
pop rbp
ret
std::iterator_traits<char*>::difference_type std::distance<char*>(char*, char*):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
lea rax, [rbp-8]
mov rdi, rax
call std::iterator_traits<char*>::iterator_category std::__iterator_category<char*>(char* const&)
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov rsi, rdx
mov rdi, rax
call std::iterator_traits<char*>::difference_type std::__distance<char*>(char*, char*, std::random_access_iterator_tag)
leave
ret
.LC10:
.string "basic_string::_M_construct null not valid"
void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag):
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov QWORD PTR [rbp-40], rdx
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call bool __gnu_cxx::__is_null_pointer<char>(char*)
test al, al
je .L411
mov rax, QWORD PTR [rbp-32]
cmp rax, QWORD PTR [rbp-40]
je .L411
mov eax, 1
jmp .L412
.L411:
mov eax, 0
.L412:
test al, al
je .L413
mov edi, OFFSET FLAT:.LC10
call std::__throw_logic_error(char const*)
.L413:
mov rdx, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rbp-32]
mov rsi, rdx
mov rdi, rax
call std::iterator_traits<char*>::difference_type std::distance<char*>(char*, char*)
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-8]
cmp rax, 15
jbe .L414
lea rcx, [rbp-8]
mov rax, QWORD PTR [rbp-24]
mov edx, 0
mov rsi, rcx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned long&, unsigned long)
mov rdx, rax
mov rax, QWORD PTR [rbp-24]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data(char*)
mov rdx, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rbp-24]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_capacity(unsigned long)
.L414:
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const
mov rcx, rax
mov rdx, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rbp-32]
mov rsi, rax
mov rdi, rcx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy_chars(char*, char*, char*)
mov rdx, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rbp-24]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_set_length(unsigned long)
nop
leave
ret
std::allocator_traits<std::allocator<char> >::max_size(std::allocator<char> const&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call __gnu_cxx::new_allocator<char>::max_size() const
leave
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_move(char*, char const*, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
cmp QWORD PTR [rbp-24], 1
jne .L418
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::char_traits<char>::assign(char&, char const&)
jmp .L420
.L418:
mov rdx, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call std::char_traits<char>::move(char*, char const*, unsigned long)
.L420:
nop
leave
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_assign(char*, unsigned long, char):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov eax, edx
mov BYTE PTR [rbp-20], al
cmp QWORD PTR [rbp-16], 1
jne .L422
lea rdx, [rbp-20]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::char_traits<char>::assign(char&, char const&)
jmp .L424
.L422:
movzx eax, BYTE PTR [rbp-20]
movsx edx, al
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call std::char_traits<char>::assign(char*, unsigned long, char)
.L424:
nop
leave
ret
std::remove_reference<std::locale&>::type&& std::move<std::locale&>(std::locale&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::__detail::_Scanner<char>::~_Scanner() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
add rax, 200
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() [complete object destructor]
nop
leave
ret
std::__shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
add rax, 8
mov rdi, rax
call std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() [complete object destructor]
nop
leave
ret
std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >::~shared_ptr() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() [base object destructor]
nop
leave
ret
std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::~stack() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::~deque() [complete object destructor]
nop
leave
ret
std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::~_Compiler() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
add rax, 304
mov rdi, rax
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::~stack() [complete object destructor]
mov rax, QWORD PTR [rbp-8]
add rax, 272
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() [complete object destructor]
mov rax, QWORD PTR [rbp-8]
add rax, 256
mov rdi, rax
call std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >::~shared_ptr() [complete object destructor]
mov rax, QWORD PTR [rbp-8]
add rax, 8
mov rdi, rax
call std::__detail::_Scanner<char>::~_Scanner() [complete object destructor]
nop
leave
ret
std::enable_if<std::__detail::__is_contiguous_normal_iter<char const*>::value, std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const> >::type std::__detail::__compile_nfa<std::__cxx11::regex_traits<char>, char const*>(char const*, char const*, std::__cxx11::regex_traits<char>::locale_type const&, std::regex_constants::syntax_option_type):
push rbp
mov rbp, rsp
sub rsp, 464
mov QWORD PTR [rbp-424], rdi
mov QWORD PTR [rbp-432], rsi
mov QWORD PTR [rbp-440], rdx
mov QWORD PTR [rbp-448], rcx
mov DWORD PTR [rbp-452], r8d
mov rax, QWORD PTR [rbp-440]
sub rax, QWORD PTR [rbp-432]
mov QWORD PTR [rbp-8], rax
cmp QWORD PTR [rbp-8], 0
je .L433
mov rax, QWORD PTR [rbp-432]
mov rdi, rax
call char const* std::__addressof<char const>(char const&)
jmp .L434
.L433:
mov eax, 0
.L434:
mov QWORD PTR [rbp-16], rax
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
lea rdi, [rdx+rax]
mov ecx, DWORD PTR [rbp-452]
mov rdx, QWORD PTR [rbp-448]
mov rsi, QWORD PTR [rbp-16]
lea rax, [rbp-416]
mov r8d, ecx
mov rcx, rdx
mov rdx, rdi
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_Compiler(char const*, char const*, std::locale const&, std::regex_constants::syntax_option_type)
mov rax, QWORD PTR [rbp-424]
lea rdx, [rbp-416]
mov rsi, rdx
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_get_nfa()
lea rax, [rbp-416]
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::~_Compiler() [complete object destructor]
mov rax, QWORD PTR [rbp-424]
leave
ret
__gnu_cxx::new_allocator<std::__cxx11::sub_match<char const*> >::new_allocator() [base object constructor]:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
nop
pop rbp
ret
__gnu_cxx::new_allocator<std::__cxx11::sub_match<char const*> >::~new_allocator() [base object destructor]:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
nop
pop rbp
ret
std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::vector(std::allocator<std::__cxx11::sub_match<char const*> > const&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov rsi, rdx
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_Vector_base(std::allocator<std::__cxx11::sub_match<char const*> > const&)
nop
leave
ret
std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::~vector() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_get_Tp_allocator()
mov rdx, rax
mov rax, QWORD PTR [rbp-8]
mov rcx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
mov rsi, rcx
mov rdi, rax
call void std::_Destroy<std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*> >(std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*, std::allocator<std::__cxx11::sub_match<char const*> >&)
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::~_Vector_base() [base object destructor]
nop
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_State_info<std::integral_constant<bool, false>, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::~_State_info() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
add rax, 24
mov rdi, rax
call std::unique_ptr<bool [], std::default_delete<bool []> >::~unique_ptr() [complete object destructor]
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::~vector() [complete object destructor]
nop
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::~_Executor() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
add rax, 96
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_State_info<std::integral_constant<bool, false>, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::~_State_info() [complete object destructor]
mov rax, QWORD PTR [rbp-8]
add rax, 72
mov rdi, rax
call std::vector<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::~vector() [complete object destructor]
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::~vector() [complete object destructor]
nop
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::~_Executor() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
add rax, 72
mov rdi, rax
call std::vector<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::~vector() [complete object destructor]
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::~vector() [complete object destructor]
nop
leave
ret
bool std::__detail::__regex_algo_impl<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, char, std::__cxx11::regex_traits<char>, (std::__detail::_RegexExecutorPolicy)0, true>(char const*, char const*, std::__cxx11::match_results<char const*, std::allocator<std::__cxx11::sub_match<char const*> > >&, std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> > const&, std::regex_constants::match_flag_type):
push rbp
mov rbp, rsp
push rbx
sub rsp, 328
mov QWORD PTR [rbp-296], rdi
mov QWORD PTR [rbp-304], rsi
mov QWORD PTR [rbp-312], rdx
mov QWORD PTR [rbp-320], rcx
mov DWORD PTR [rbp-324], r8d
mov rax, QWORD PTR [rbp-320]
add rax, 16
mov esi, 0
mov rdi, rax
call bool std::operator==<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const>(std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const> const&, decltype(nullptr))
test al, al
je .L444
mov eax, 0
jmp .L463
.L444:
mov rax, QWORD PTR [rbp-312]
mov QWORD PTR [rbp-32], rax
mov rax, QWORD PTR [rbp-312]
mov rdx, QWORD PTR [rbp-296]
mov QWORD PTR [rax+24], rdx
mov rax, QWORD PTR [rbp-320]
add rax, 16
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov rdi, rax
call std::__detail::_NFA_base::_M_sub_count() const
mov edx, eax
mov rax, QWORD PTR [rbp-312]
mov esi, edx
mov rdi, rax
call std::__cxx11::match_results<char const*, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_resize(unsigned int)
mov rax, QWORD PTR [rbp-32]
mov QWORD PTR [rbp-40], rax
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::begin()
mov QWORD PTR [rbp-104], rax
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::end()
mov QWORD PTR [rbp-112], rax
.L447:
lea rdx, [rbp-112]
lea rax, [rbp-104]
mov rsi, rdx
mov rdi, rax
call bool __gnu_cxx::operator!=<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >(__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > const&, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > const&)
test al, al
je .L446
lea rax, [rbp-104]
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::operator*() const
mov QWORD PTR [rbp-48], rax
mov rax, QWORD PTR [rbp-48]
mov BYTE PTR [rax+16], 0
lea rax, [rbp-104]
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::operator++()
jmp .L447
.L446:
mov rax, QWORD PTR [rbp-320]
mov rdi, rax
call std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> >::flags() const
mov esi, 1024
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
je .L448
mov eax, 1
jmp .L449
.L448:
mov eax, 0
.L449:
test al, al
je .L450
mov rcx, QWORD PTR [rbp-312]
mov r8d, DWORD PTR [rbp-324]
mov rdi, QWORD PTR [rbp-320]
mov rdx, QWORD PTR [rbp-304]
mov rsi, QWORD PTR [rbp-296]
lea rax, [rbp-288]
mov r9d, r8d
mov r8, rdi
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Executor(char const*, char const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >&, std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> > const&, std::regex_constants::match_flag_type)
lea rax, [rbp-288]
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_match()
mov BYTE PTR [rbp-17], al
lea rax, [rbp-288]
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::~_Executor() [complete object destructor]
jmp .L451
.L450:
mov rcx, QWORD PTR [rbp-312]
mov r8d, DWORD PTR [rbp-324]
mov rdi, QWORD PTR [rbp-320]
mov rdx, QWORD PTR [rbp-304]
mov rsi, QWORD PTR [rbp-296]
lea rax, [rbp-288]
mov r9d, r8d
mov r8, rdi
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Executor(char const*, char const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >&, std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> > const&, std::regex_constants::match_flag_type)
lea rax, [rbp-288]
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_match()
mov BYTE PTR [rbp-17], al
lea rax, [rbp-288]
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::~_Executor() [complete object destructor]
.L451:
cmp BYTE PTR [rbp-17], 0
je .L452
mov rax, QWORD PTR [rbp-32]
mov QWORD PTR [rbp-56], rax
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::begin()
mov QWORD PTR [rbp-120], rax
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::end()
mov QWORD PTR [rbp-128], rax
.L455:
lea rdx, [rbp-128]
lea rax, [rbp-120]
mov rsi, rdx
mov rdi, rax
call bool __gnu_cxx::operator!=<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >(__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > const&, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > const&)
test al, al
je .L453
lea rax, [rbp-120]
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::operator*() const
mov QWORD PTR [rbp-64], rax
mov rax, QWORD PTR [rbp-64]
movzx eax, BYTE PTR [rax+16]
xor eax, 1
test al, al
je .L454
mov rax, QWORD PTR [rbp-64]
mov rdx, QWORD PTR [rbp-304]
mov QWORD PTR [rax+8], rdx
mov rax, QWORD PTR [rbp-64]
mov rdx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-64]
mov QWORD PTR [rax], rdx
.L454:
lea rax, [rbp-120]
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::operator++()
jmp .L455
.L453:
mov rax, QWORD PTR [rbp-312]
mov rdi, rax
call std::__cxx11::match_results<char const*, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_prefix()
mov QWORD PTR [rbp-72], rax
mov rax, QWORD PTR [rbp-312]
mov rdi, rax
call std::__cxx11::match_results<char const*, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_suffix()
mov QWORD PTR [rbp-80], rax
mov rax, QWORD PTR [rbp-72]
mov BYTE PTR [rax+16], 0
mov rax, QWORD PTR [rbp-72]
mov rdx, QWORD PTR [rbp-296]
mov QWORD PTR [rax], rdx
mov rax, QWORD PTR [rbp-72]
mov rdx, QWORD PTR [rbp-296]
mov QWORD PTR [rax+8], rdx
mov rax, QWORD PTR [rbp-80]
mov BYTE PTR [rax+16], 0
mov rax, QWORD PTR [rbp-80]
mov rdx, QWORD PTR [rbp-304]
mov QWORD PTR [rax], rdx
mov rax, QWORD PTR [rbp-80]
mov rdx, QWORD PTR [rbp-304]
mov QWORD PTR [rax+8], rdx
jmp .L456
.L452:
mov rax, QWORD PTR [rbp-312]
mov esi, 0
mov rdi, rax
call std::__cxx11::match_results<char const*, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_resize(unsigned int)
mov rax, QWORD PTR [rbp-32]
mov QWORD PTR [rbp-88], rax
mov rax, QWORD PTR [rbp-88]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::begin()
mov QWORD PTR [rbp-136], rax
mov rax, QWORD PTR [rbp-88]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::end()
mov QWORD PTR [rbp-144], rax
.L458:
lea rdx, [rbp-144]
lea rax, [rbp-136]
mov rsi, rdx
mov rdi, rax
call bool __gnu_cxx::operator!=<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >(__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > const&, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > const&)
test al, al
je .L456
lea rax, [rbp-136]
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::operator*() const
mov QWORD PTR [rbp-96], rax
mov rax, QWORD PTR [rbp-96]
mov BYTE PTR [rax+16], 0
mov rax, QWORD PTR [rbp-96]
mov rdx, QWORD PTR [rbp-304]
mov QWORD PTR [rax+8], rdx
mov rax, QWORD PTR [rbp-96]
mov rdx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-96]
mov QWORD PTR [rax], rdx
lea rax, [rbp-136]
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::operator++()
jmp .L458
.L456:
movzx eax, BYTE PTR [rbp-17]
jmp .L463
mov rbx, rax
lea rax, [rbp-288]
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::~_Executor() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
mov rbx, rax
lea rax, [rbp-288]
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::~_Executor() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L463:
add rsp, 328
pop rbx
pop rbp
ret
char* std::__addressof<char>(char&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::iterator_traits<char const*>::iterator_category std::__iterator_category<char const*>(char const* const&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
pop rbp
ret
std::iterator_traits<char const*>::difference_type std::__distance<char const*>(char const*, char const*, std::random_access_iterator_tag):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-16]
sub rax, QWORD PTR [rbp-8]
pop rbp
ret
__gnu_cxx::new_allocator<unsigned long>::new_allocator() [base object constructor]:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
nop
pop rbp
ret
__gnu_cxx::new_allocator<unsigned long>::deallocate(unsigned long*, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rax, QWORD PTR [rbp-16]
mov rdi, rax
call operator delete(void*)
leave
ret
char const* std::addressof<char const>(char const&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call char const* std::__addressof<char const>(char const&)
leave
ret
bool __gnu_cxx::__is_null_pointer<char>(char*):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
cmp QWORD PTR [rbp-8], 0
sete al
pop rbp
ret
std::iterator_traits<char*>::iterator_category std::__iterator_category<char*>(char* const&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
pop rbp
ret
std::iterator_traits<char*>::difference_type std::__distance<char*>(char*, char*, std::random_access_iterator_tag):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-16]
sub rax, QWORD PTR [rbp-8]
pop rbp
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy_chars(char*, char*, char*):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rax, QWORD PTR [rbp-24]
sub rax, QWORD PTR [rbp-16]
mov rdx, rax
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy(char*, char const*, unsigned long)
nop
leave
ret
char const* std::__addressof<char const>(char const&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_Compiler(char const*, char const*, std::locale const&, std::regex_constants::syntax_option_type):
push rbp
mov rbp, rsp
push rbx
sub rsp, 120
mov QWORD PTR [rbp-88], rdi
mov QWORD PTR [rbp-96], rsi
mov QWORD PTR [rbp-104], rdx
mov QWORD PTR [rbp-112], rcx
mov DWORD PTR [rbp-116], r8d
mov esi, 32
mov edi, 16
call std::regex_constants::operator|(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
mov esi, 64
mov edi, eax
call std::regex_constants::operator|(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
mov esi, 256
mov edi, eax
call std::regex_constants::operator|(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
mov esi, 512
mov edi, eax
call std::regex_constants::operator|(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
mov esi, 128
mov edi, eax
call std::regex_constants::operator|(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
mov edx, eax
mov eax, DWORD PTR [rbp-116]
mov esi, edx
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
jne .L485
mov eax, DWORD PTR [rbp-116]
mov esi, 16
mov edi, eax
call std::regex_constants::operator|(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
jmp .L486
.L485:
mov eax, DWORD PTR [rbp-116]
.L486:
mov rdx, QWORD PTR [rbp-88]
mov DWORD PTR [rdx], eax
mov rax, QWORD PTR [rbp-88]
lea rbx, [rax+8]
mov rdx, QWORD PTR [rbp-112]
lea rax, [rbp-56]
mov rsi, rdx
mov rdi, rax
call std::locale::locale(std::locale const&)
mov rax, QWORD PTR [rbp-88]
mov ecx, DWORD PTR [rax]
lea rsi, [rbp-56]
mov rdx, QWORD PTR [rbp-104]
mov rax, QWORD PTR [rbp-96]
mov r8, rsi
mov rsi, rax
mov rdi, rbx
call std::__detail::_Scanner<char>::_Scanner(char const*, char const*, std::regex_constants::syntax_option_type, std::locale)
lea rax, [rbp-56]
mov rdi, rax
call std::locale::~locale() [complete object destructor]
mov rdx, QWORD PTR [rbp-88]
mov rax, QWORD PTR [rbp-88]
lea rcx, [rax+256]
mov rax, QWORD PTR [rbp-112]
mov rsi, rax
mov rdi, rcx
call std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > > std::make_shared<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::locale const&, std::regex_constants::syntax_option_type&>(std::locale const&, std::regex_constants::syntax_option_type&)
mov rax, QWORD PTR [rbp-88]
add rax, 272
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string() [complete object constructor]
mov rax, QWORD PTR [rbp-88]
add rax, 304
mov rdi, rax
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::stack<std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >, void>()
mov rax, QWORD PTR [rbp-88]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
lea rdx, [rax+80]
mov rax, QWORD PTR [rbp-88]
mov QWORD PTR [rax+384], rdx
mov rax, QWORD PTR [rbp-112]
mov rdi, rax
call std::ctype<char> const& std::use_facet<std::ctype<char> >(std::locale const&)
mov rdx, rax
mov rax, QWORD PTR [rbp-88]
mov QWORD PTR [rax+392], rdx
mov rax, QWORD PTR [rbp-88]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov rdi, rax
call std::__detail::_NFA_base::_M_start() const
mov rbx, rax
mov rax, QWORD PTR [rbp-88]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-80]
mov rdx, rbx
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
mov rax, QWORD PTR [rbp-88]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov rdi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_subexpr_begin()
mov rdx, rax
lea rax, [rbp-80]
mov rsi, rdx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_M_append(long)
mov rax, QWORD PTR [rbp-88]
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_disjunction()
mov rax, QWORD PTR [rbp-88]
mov esi, 27
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
xor eax, 1
test al, al
je .L487
mov edi, 5
call std::__throw_regex_error(std::regex_constants::error_type)
.L487:
lea rax, [rbp-48]
mov rdx, QWORD PTR [rbp-88]
mov rsi, rdx
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_pop()
lea rdx, [rbp-48]
lea rax, [rbp-80]
mov rsi, rdx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_M_append(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&)
mov rax, QWORD PTR [rbp-88]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov rdi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_subexpr_end()
mov rdx, rax
lea rax, [rbp-80]
mov rsi, rdx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_M_append(long)
mov rax, QWORD PTR [rbp-88]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov rdi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_accept()
mov rdx, rax
lea rax, [rbp-80]
mov rsi, rdx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_M_append(long)
mov rax, QWORD PTR [rbp-88]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov rdi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_eliminate_dummy()
jmp .L496
mov rbx, rax
lea rax, [rbp-56]
mov rdi, rax
call std::locale::~locale() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
mov rbx, rax
mov rax, QWORD PTR [rbp-88]
add rax, 304
mov rdi, rax
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::~stack() [complete object destructor]
jmp .L490
mov rbx, rax
.L490:
mov rax, QWORD PTR [rbp-88]
add rax, 272
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() [complete object destructor]
mov rax, QWORD PTR [rbp-88]
add rax, 256
mov rdi, rax
call std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >::~shared_ptr() [complete object destructor]
jmp .L491
mov rbx, rax
.L491:
mov rax, QWORD PTR [rbp-88]
add rax, 8
mov rdi, rax
call std::__detail::_Scanner<char>::~_Scanner() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L496:
add rsp, 120
pop rbx
pop rbp
ret
std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::~deque() [base object destructor]:
push rbp
mov rbp, rsp
push rbx
sub rsp, 88
mov QWORD PTR [rbp-88], rdi
mov rax, QWORD PTR [rbp-88]
mov rdi, rax
call std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_get_Tp_allocator()
mov rbx, rax
lea rax, [rbp-80]
mov rdx, QWORD PTR [rbp-88]
mov rsi, rdx
mov rdi, rax
call std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::end()
lea rax, [rbp-48]
mov rdx, QWORD PTR [rbp-88]
mov rsi, rdx
mov rdi, rax
call std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::begin()
lea rdx, [rbp-80]
lea rsi, [rbp-48]
mov rax, QWORD PTR [rbp-88]
mov rcx, rbx
mov rdi, rax
call std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_destroy_data(std::_Deque_iterator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>, std::_Deque_iterator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > const&)
mov rax, QWORD PTR [rbp-88]
mov rdi, rax
call std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::~_Deque_base() [base object destructor]
nop
add rsp, 88
pop rbx
pop rbp
ret
std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_get_nfa():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-16]
add rax, 256
mov rdi, rax
call std::remove_reference<std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >&>::type&& std::move<std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >&>(std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >&)
mov rdx, rax
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const>::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, void>(std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >&&)
mov rax, QWORD PTR [rbp-8]
leave
ret
std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_Vector_impl::~_Vector_impl() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::allocator<std::__cxx11::sub_match<char const*> >::~allocator() [base object destructor]
nop
leave
ret
std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_Vector_base(std::allocator<std::__cxx11::sub_match<char const*> > const&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov rsi, rdx
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_Vector_impl::_Vector_impl(std::allocator<std::__cxx11::sub_match<char const*> > const&)
nop
leave
ret
std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::~_Vector_base() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+16]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
sub rdx, rax
mov rax, rdx
sar rax, 3
mov rdx, rax
movabs rax, -6148914691236517205
imul rax, rdx
mov rdx, rax
mov rax, QWORD PTR [rbp-8]
mov rcx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_deallocate(std::__cxx11::sub_match<char const*>*, unsigned long)
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_Vector_impl::~_Vector_impl() [complete object destructor]
nop
leave
ret
std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_get_Tp_allocator():
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
void std::_Destroy<std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*> >(std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*, std::allocator<std::__cxx11::sub_match<char const*> >&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call void std::_Destroy<std::__cxx11::sub_match<char const*>*>(std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*)
nop
leave
ret
bool std::operator==<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const>(std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const> const&, decltype(nullptr)):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const, (__gnu_cxx::_Lock_policy)2>::operator bool() const
xor eax, 1
leave
ret
std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const, (__gnu_cxx::_Lock_policy)2, false, false>::_M_get() const
leave
ret
std::__cxx11::match_results<char const*, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_resize(unsigned int):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov DWORD PTR [rbp-12], esi
mov rax, QWORD PTR [rbp-8]
mov edx, DWORD PTR [rbp-12]
add edx, 3
mov edx, edx
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::resize(unsigned long)
nop
leave
ret
std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::begin():
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov rdx, QWORD PTR [rbp-24]
lea rax, [rbp-8]
mov rsi, rdx
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::__normal_iterator(std::__cxx11::sub_match<char const*>* const&)
mov rax, QWORD PTR [rbp-8]
leave
ret
std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::end():
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov rax, QWORD PTR [rbp-24]
lea rdx, [rax+8]
lea rax, [rbp-8]
mov rsi, rdx
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::__normal_iterator(std::__cxx11::sub_match<char const*>* const&)
mov rax, QWORD PTR [rbp-8]
leave
ret
bool __gnu_cxx::operator!=<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >(__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > const&, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > const&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 24
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::base() const
mov rbx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::base() const
mov rax, QWORD PTR [rax]
cmp rbx, rax
setne al
add rsp, 24
pop rbx
pop rbp
ret
__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::operator++():
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
lea rdx, [rax+24]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], rdx
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::operator*() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
pop rbp
ret
std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> >::flags() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov eax, DWORD PTR [rax]
pop rbp
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Executor(char const*, char const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >&, std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> > const&, std::regex_constants::match_flag_type):
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 64
mov QWORD PTR [rbp-40], rdi
mov QWORD PTR [rbp-48], rsi
mov QWORD PTR [rbp-56], rdx
mov QWORD PTR [rbp-64], rcx
mov QWORD PTR [rbp-72], r8
mov DWORD PTR [rbp-76], r9d
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::vector() [complete object constructor]
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rbp-48]
mov QWORD PTR [rax+32], rdx
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rbp-56]
mov QWORD PTR [rax+40], rdx
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rbp-72]
mov QWORD PTR [rax+48], rdx
mov rax, QWORD PTR [rbp-72]
add rax, 16
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rdx, rax
mov rax, QWORD PTR [rbp-40]
mov QWORD PTR [rax+56], rdx
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rbp-64]
mov QWORD PTR [rax+64], rdx
mov rax, QWORD PTR [rbp-40]
lea rbx, [rax+72]
lea rax, [rbp-17]
mov rdi, rax
call std::allocator<std::pair<char const*, int> >::allocator() [complete object constructor]
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+56]
add rax, 56
mov rdi, rax
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::size() const
mov rcx, rax
lea rax, [rbp-17]
mov rdx, rax
mov rsi, rcx
mov rdi, rbx
call std::vector<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::vector(unsigned long, std::allocator<std::pair<char const*, int> > const&)
lea rax, [rbp-17]
mov rdi, rax
call std::allocator<std::pair<char const*, int> >::~allocator() [complete object destructor]
mov rax, QWORD PTR [rbp-40]
lea rbx, [rax+96]
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+56]
add rax, 56
mov rdi, rax
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::size() const
mov r12, rax
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+56]
mov rdi, rax
call std::__detail::_NFA_base::_M_start() const
mov rdx, r12
mov rsi, rax
mov rdi, rbx
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_State_info<std::integral_constant<bool, false>, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::_State_info(long, unsigned long)
mov eax, DWORD PTR [rbp-76]
mov esi, 128
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::match_flag_type, std::regex_constants::match_flag_type)
test eax, eax
je .L524
mov edi, 4
call std::regex_constants::operator~(std::regex_constants::match_flag_type)
mov ebx, eax
mov edi, 1
call std::regex_constants::operator~(std::regex_constants::match_flag_type)
mov edx, eax
mov eax, DWORD PTR [rbp-76]
mov esi, edx
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::match_flag_type, std::regex_constants::match_flag_type)
mov esi, ebx
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::match_flag_type, std::regex_constants::match_flag_type)
jmp .L525
.L524:
mov eax, DWORD PTR [rbp-76]
.L525:
mov rdx, QWORD PTR [rbp-40]
mov DWORD PTR [rdx+136], eax
jmp .L531
mov rbx, rax
lea rax, [rbp-17]
mov rdi, rax
call std::allocator<std::pair<char const*, int> >::~allocator() [complete object destructor]
jmp .L527
mov rbx, rax
mov rax, QWORD PTR [rbp-40]
add rax, 72
mov rdi, rax
call std::vector<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::~vector() [complete object destructor]
.L527:
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::~vector() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L531:
add rsp, 64
pop rbx
pop r12
pop rbp
ret
std::vector<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::~vector() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Vector_base<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::_M_get_Tp_allocator()
mov rdx, rax
mov rax, QWORD PTR [rbp-8]
mov rcx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
mov rsi, rcx
mov rdi, rax
call void std::_Destroy<std::pair<char const*, int>*, std::pair<char const*, int> >(std::pair<char const*, int>*, std::pair<char const*, int>*, std::allocator<std::pair<char const*, int> >&)
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Vector_base<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::~_Vector_base() [base object destructor]
nop
leave
ret
std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::~vector() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_M_get_Tp_allocator()
mov rdx, rax
mov rax, QWORD PTR [rbp-8]
mov rcx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
mov rsi, rcx
mov rdi, rax
call void std::_Destroy<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >&)
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::~_Vector_base() [base object destructor]
nop
leave
ret
std::unique_ptr<bool [], std::default_delete<bool []> >::~unique_ptr() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__uniq_ptr_impl<bool, std::default_delete<bool []> >::_M_ptr()
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
test rax, rax
je .L535
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::unique_ptr<bool [], std::default_delete<bool []> >::get_deleter()
mov rdx, rax
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
mov rsi, rax
mov rdi, rdx
call std::enable_if<std::is_convertible<bool (*) [], bool (*) []>::value, void>::type std::default_delete<bool []>::operator()<bool>(bool*) const
.L535:
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], 0
nop
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_match():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+32]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+24], rdx
mov rax, QWORD PTR [rbp-8]
mov esi, 0
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_main(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode)
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Executor(char const*, char const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >&, std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> > const&, std::regex_constants::match_flag_type):
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 64
mov QWORD PTR [rbp-40], rdi
mov QWORD PTR [rbp-48], rsi
mov QWORD PTR [rbp-56], rdx
mov QWORD PTR [rbp-64], rcx
mov QWORD PTR [rbp-72], r8
mov DWORD PTR [rbp-76], r9d
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::vector() [complete object constructor]
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rbp-48]
mov QWORD PTR [rax+32], rdx
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rbp-56]
mov QWORD PTR [rax+40], rdx
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rbp-72]
mov QWORD PTR [rax+48], rdx
mov rax, QWORD PTR [rbp-72]
add rax, 16
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rdx, rax
mov rax, QWORD PTR [rbp-40]
mov QWORD PTR [rax+56], rdx
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rbp-64]
mov QWORD PTR [rax+64], rdx
mov rax, QWORD PTR [rbp-40]
lea rbx, [rax+72]
lea rax, [rbp-17]
mov rdi, rax
call std::allocator<std::pair<char const*, int> >::allocator() [complete object constructor]
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+56]
add rax, 56
mov rdi, rax
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::size() const
mov rcx, rax
lea rax, [rbp-17]
mov rdx, rax
mov rsi, rcx
mov rdi, rbx
call std::vector<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::vector(unsigned long, std::allocator<std::pair<char const*, int> > const&)
lea rax, [rbp-17]
mov rdi, rax
call std::allocator<std::pair<char const*, int> >::~allocator() [complete object destructor]
mov rax, QWORD PTR [rbp-40]
lea rbx, [rax+96]
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+56]
add rax, 56
mov rdi, rax
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::size() const
mov r12, rax
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+56]
mov rdi, rax
call std::__detail::_NFA_base::_M_start() const
mov rdx, r12
mov rsi, rax
mov rdi, rbx
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_State_info<std::integral_constant<bool, true>, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::_State_info(long, unsigned long)
mov eax, DWORD PTR [rbp-76]
mov esi, 128
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::match_flag_type, std::regex_constants::match_flag_type)
test eax, eax
je .L539
mov edi, 4
call std::regex_constants::operator~(std::regex_constants::match_flag_type)
mov ebx, eax
mov edi, 1
call std::regex_constants::operator~(std::regex_constants::match_flag_type)
mov edx, eax
mov eax, DWORD PTR [rbp-76]
mov esi, edx
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::match_flag_type, std::regex_constants::match_flag_type)
mov esi, ebx
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::match_flag_type, std::regex_constants::match_flag_type)
jmp .L540
.L539:
mov eax, DWORD PTR [rbp-76]
.L540:
mov rdx, QWORD PTR [rbp-40]
mov DWORD PTR [rdx+112], eax
jmp .L543
mov rbx, rax
lea rax, [rbp-17]
mov rdi, rax
call std::allocator<std::pair<char const*, int> >::~allocator() [complete object destructor]
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::~vector() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L543:
add rsp, 64
pop rbx
pop r12
pop rbp
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_match():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+32]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+24], rdx
mov rax, QWORD PTR [rbp-8]
mov esi, 0
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_main(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode)
leave
ret
std::__cxx11::match_results<char const*, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_prefix():
push rbp
mov rbp, rsp
push rbx
sub rsp, 24
mov QWORD PTR [rbp-24], rdi
mov rbx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::size() const
sub rax, 2
mov rsi, rax
mov rdi, rbx
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::operator[](unsigned long)
add rsp, 24
pop rbx
pop rbp
ret
std::__cxx11::match_results<char const*, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_suffix():
push rbp
mov rbp, rsp
push rbx
sub rsp, 24
mov QWORD PTR [rbp-24], rdi
mov rbx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::size() const
sub rax, 1
mov rsi, rax
mov rdi, rbx
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::operator[](unsigned long)
add rsp, 24
pop rbx
pop rbp
ret
std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::operator[](unsigned long):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rcx, QWORD PTR [rax]
mov rdx, QWORD PTR [rbp-16]
mov rax, rdx
add rax, rax
add rax, rdx
sal rax, 3
add rax, rcx
pop rbp
ret
std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > > std::make_shared<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::locale const&, std::regex_constants::syntax_option_type&>(std::locale const&, std::regex_constants::syntax_option_type&):
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 48
mov QWORD PTR [rbp-40], rdi
mov QWORD PTR [rbp-48], rsi
mov QWORD PTR [rbp-56], rdx
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::regex_constants::syntax_option_type& std::forward<std::regex_constants::syntax_option_type&>(std::remove_reference<std::regex_constants::syntax_option_type&>::type&)
mov r12, rax
mov rax, QWORD PTR [rbp-48]
mov rdi, rax
call std::locale const& std::forward<std::locale const&>(std::remove_reference<std::locale const&>::type&)
mov rbx, rax
lea rax, [rbp-17]
mov rdi, rax
call std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >::allocator() [complete object constructor]
mov rax, QWORD PTR [rbp-40]
lea rsi, [rbp-17]
mov rcx, r12
mov rdx, rbx
mov rdi, rax
call std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > > std::allocate_shared<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, std::locale const&, std::regex_constants::syntax_option_type&>(std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > > const&, std::locale const&, std::regex_constants::syntax_option_type&)
lea rax, [rbp-17]
mov rdi, rax
call std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >::~allocator() [complete object destructor]
jmp .L556
mov rbx, rax
lea rax, [rbp-17]
mov rdi, rax
call std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >::~allocator() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L556:
mov rax, QWORD PTR [rbp-40]
add rsp, 48
pop rbx
pop r12
pop rbp
ret
std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::_M_get() const
leave
ret
std::__detail::_Scanner<char>::_Scanner(char const*, char const*, std::regex_constants::syntax_option_type, std::locale):
push rbp
mov rbp, rsp
push rbx
sub rsp, 56
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov QWORD PTR [rbp-40], rdx
mov DWORD PTR [rbp-44], ecx
mov QWORD PTR [rbp-56], r8
mov rax, QWORD PTR [rbp-24]
mov edx, DWORD PTR [rbp-44]
mov esi, edx
mov rdi, rax
call std::__detail::_ScannerBase::_ScannerBase(std::regex_constants::syntax_option_type)
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rbp-32]
mov QWORD PTR [rax+176], rdx
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rbp-40]
mov QWORD PTR [rax+184], rdx
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::ctype<char> const& std::use_facet<std::ctype<char> const>(std::locale const&)
mov rdx, rax
mov rax, QWORD PTR [rbp-24]
mov QWORD PTR [rax+192], rdx
mov rax, QWORD PTR [rbp-24]
add rax, 200
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string() [complete object constructor]
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__detail::_ScannerBase::_M_is_ecma() const
test al, al
je .L560
mov rax, QWORD PTR [rbp-24]
mov QWORD PTR [rax+232], OFFSET FLAT:std::__detail::_Scanner<char>::_M_eat_escape_ecma()
mov rax, QWORD PTR [rbp-24]
mov QWORD PTR [rax+240], 0
jmp .L561
.L560:
mov rax, QWORD PTR [rbp-24]
mov QWORD PTR [rax+232], OFFSET FLAT:std::__detail::_Scanner<char>::_M_eat_escape_posix()
mov rax, QWORD PTR [rbp-24]
mov QWORD PTR [rax+240], 0
.L561:
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__detail::_Scanner<char>::_M_advance()
jmp .L564
mov rbx, rax
mov rax, QWORD PTR [rbp-24]
add rax, 200
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L564:
add rsp, 56
pop rbx
pop rbp
ret
std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::stack<std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >, void>():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::deque() [complete object constructor]
nop
leave
ret
std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::_M_get() const
leave
ret
std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov QWORD PTR [rax], rdx
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-24]
mov QWORD PTR [rax+8], rdx
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-24]
mov QWORD PTR [rax+16], rdx
nop
pop rbp
ret
std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_subexpr_begin():
push rbp
mov rbp, rsp
push rbx
sub rsp, 136
mov QWORD PTR [rbp-136], rdi
mov rax, QWORD PTR [rbp-136]
mov rax, QWORD PTR [rax+40]
lea rcx, [rax+1]
mov rdx, QWORD PTR [rbp-136]
mov QWORD PTR [rdx+40], rcx
mov QWORD PTR [rbp-72], rax
mov rax, QWORD PTR [rbp-136]
lea rdx, [rbp-72]
mov rsi, rdx
mov rdi, rax
call std::vector<unsigned long, std::allocator<unsigned long> >::push_back(unsigned long const&)
lea rax, [rbp-128]
mov esi, 8
mov rdi, rax
call std::__detail::_State<char>::_State(std::__detail::_Opcode)
mov rax, QWORD PTR [rbp-72]
mov QWORD PTR [rbp-112], rax
lea rax, [rbp-128]
mov rdi, rax
call std::remove_reference<std::__detail::_State<char>&>::type&& std::move<std::__detail::_State<char>&>(std::__detail::_State<char>&)
mov rdx, rax
lea rax, [rbp-64]
mov rsi, rdx
mov rdi, rax
call std::__detail::_State<char>::_State(std::__detail::_State<char>&&)
lea rdx, [rbp-64]
mov rax, QWORD PTR [rbp-136]
mov rsi, rdx
mov rdi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_state(std::__detail::_State<char>)
mov rbx, rax
lea rax, [rbp-64]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
lea rax, [rbp-128]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
mov rax, rbx
jmp .L575
mov rbx, rax
lea rax, [rbp-64]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
jmp .L572
mov rbx, rax
.L572:
lea rax, [rbp-128]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L575:
add rsp, 136
pop rbx
pop rbp
ret
std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_M_append(long):
push rbp
mov rbp, rsp
push rbx
sub rsp, 24
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rbx, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+16]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long)
mov QWORD PTR [rax+8], rbx
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rbp-32]
mov QWORD PTR [rax+16], rdx
nop
add rsp, 24
pop rbx
pop rbp
ret
std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_disjunction():
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 112
mov QWORD PTR [rbp-120], rdi
mov rax, QWORD PTR [rbp-120]
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_alternative()
.L579:
mov rax, QWORD PTR [rbp-120]
mov esi, 19
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
test al, al
je .L580
lea rax, [rbp-80]
mov rdx, QWORD PTR [rbp-120]
mov rsi, rdx
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_pop()
mov rax, QWORD PTR [rbp-120]
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_alternative()
lea rax, [rbp-112]
mov rdx, QWORD PTR [rbp-120]
mov rsi, rdx
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_pop()
mov rax, QWORD PTR [rbp-120]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov rdi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_dummy()
mov QWORD PTR [rbp-24], rax
mov rdx, QWORD PTR [rbp-24]
lea rax, [rbp-80]
mov rsi, rdx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_M_append(long)
mov rdx, QWORD PTR [rbp-24]
lea rax, [rbp-112]
mov rsi, rdx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_M_append(long)
mov rax, QWORD PTR [rbp-120]
lea rbx, [rax+304]
mov rax, QWORD PTR [rbp-120]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov rdi, rax
mov rdx, QWORD PTR [rbp-72]
mov rax, QWORD PTR [rbp-104]
mov ecx, 0
mov rsi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_alt(long, long, bool)
mov r12, rax
mov rax, QWORD PTR [rbp-120]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rsi, rax
mov rdx, QWORD PTR [rbp-24]
lea rax, [rbp-48]
mov rcx, rdx
mov rdx, r12
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long, long)
lea rax, [rbp-48]
mov rsi, rax
mov rdi, rbx
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
jmp .L579
.L580:
nop
add rsp, 112
pop rbx
pop r12
pop rbp
ret
std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov DWORD PTR [rbp-12], esi
mov rax, QWORD PTR [rbp-8]
add rax, 8
mov rdi, rax
call std::__detail::_Scanner<char>::_M_get_token() const
cmp DWORD PTR [rbp-12], eax
sete al
test al, al
je .L582
mov rax, QWORD PTR [rbp-8]
add rax, 8
mov rdi, rax
call std::__detail::_Scanner<char>::_M_get_value[abi:cxx11]() const
mov rdx, rax
mov rax, QWORD PTR [rbp-8]
add rax, 272
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
mov rax, QWORD PTR [rbp-8]
add rax, 8
mov rdi, rax
call std::__detail::_Scanner<char>::_M_advance()
mov eax, 1
jmp .L583
.L582:
mov eax, 0
.L583:
leave
ret
std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_pop():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-16]
add rax, 304
mov rdi, rax
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::top()
mov rsi, rax
mov rcx, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rsi]
mov rdx, QWORD PTR [rsi+8]
mov QWORD PTR [rcx], rax
mov QWORD PTR [rcx+8], rdx
mov rax, QWORD PTR [rsi+16]
mov QWORD PTR [rcx+16], rax
mov rax, QWORD PTR [rbp-16]
add rax, 304
mov rdi, rax
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::pop()
nop
mov rax, QWORD PTR [rbp-8]
leave
ret
std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_M_append(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 24
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rax, QWORD PTR [rbp-32]
mov rbx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+16]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long)
mov QWORD PTR [rax+8], rbx
mov rax, QWORD PTR [rbp-32]
mov rdx, QWORD PTR [rax+16]
mov rax, QWORD PTR [rbp-24]
mov QWORD PTR [rax+16], rdx
nop
add rsp, 24
pop rbx
pop rbp
ret
std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_subexpr_end():
push rbp
mov rbp, rsp
push rbx
sub rsp, 120
mov QWORD PTR [rbp-120], rdi
lea rax, [rbp-112]
mov esi, 9
mov rdi, rax
call std::__detail::_State<char>::_State(std::__detail::_Opcode)
mov rax, QWORD PTR [rbp-120]
mov rdi, rax
call std::vector<unsigned long, std::allocator<unsigned long> >::back()
mov rax, QWORD PTR [rax]
mov QWORD PTR [rbp-96], rax
mov rax, QWORD PTR [rbp-120]
mov rdi, rax
call std::vector<unsigned long, std::allocator<unsigned long> >::pop_back()
lea rax, [rbp-112]
mov rdi, rax
call std::remove_reference<std::__detail::_State<char>&>::type&& std::move<std::__detail::_State<char>&>(std::__detail::_State<char>&)
mov rdx, rax
lea rax, [rbp-64]
mov rsi, rdx
mov rdi, rax
call std::__detail::_State<char>::_State(std::__detail::_State<char>&&)
lea rdx, [rbp-64]
mov rax, QWORD PTR [rbp-120]
mov rsi, rdx
mov rdi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_state(std::__detail::_State<char>)
mov rbx, rax
lea rax, [rbp-64]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
lea rax, [rbp-112]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
mov rax, rbx
jmp .L593
mov rbx, rax
lea rax, [rbp-64]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
jmp .L590
mov rbx, rax
.L590:
lea rax, [rbp-112]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L593:
add rsp, 120
pop rbx
pop rbp
ret
std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_accept():
push rbp
mov rbp, rsp
push rbx
sub rsp, 88
mov QWORD PTR [rbp-88], rdi
lea rax, [rbp-80]
mov esi, 12
mov rdi, rax
call std::__detail::_State<char>::_State(std::__detail::_Opcode)
lea rdx, [rbp-80]
mov rax, QWORD PTR [rbp-88]
mov rsi, rdx
mov rdi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_state(std::__detail::_State<char>)
mov QWORD PTR [rbp-24], rax
lea rax, [rbp-80]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
mov rax, QWORD PTR [rbp-24]
jmp .L598
mov rbx, rax
lea rax, [rbp-80]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L598:
add rsp, 88
pop rbx
pop rbp
ret
std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_eliminate_dummy():
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-40], rdi
mov rax, QWORD PTR [rbp-40]
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-8]
add rax, 56
mov rdi, rax
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::begin()
mov QWORD PTR [rbp-24], rax
mov rax, QWORD PTR [rbp-8]
add rax, 56
mov rdi, rax
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::end()
mov QWORD PTR [rbp-32], rax
.L609:
lea rdx, [rbp-32]
lea rax, [rbp-24]
mov rsi, rdx
mov rdi, rax
call bool __gnu_cxx::operator!=<std::__detail::_State<char>*, std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > > >(__gnu_cxx::__normal_iterator<std::__detail::_State<char>*, std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > > > const&, __gnu_cxx::__normal_iterator<std::__detail::_State<char>*, std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > > > const&)
test al, al
je .L610
lea rax, [rbp-24]
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::__detail::_State<char>*, std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > > >::operator*() const
mov QWORD PTR [rbp-16], rax
.L604:
mov rax, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rax+8]
test rax, rax
js .L601
mov rax, QWORD PTR [rbp-40]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rax+8]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long)
mov rdi, rax
call std::__detail::_State<char>::_M_opcode() const
cmp eax, 10
jne .L601
mov eax, 1
jmp .L602
.L601:
mov eax, 0
.L602:
test al, al
je .L603
mov rax, QWORD PTR [rbp-40]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rax+8]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long)
mov rdx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-16]
mov QWORD PTR [rax+8], rdx
jmp .L604
.L603:
mov rax, QWORD PTR [rbp-16]
mov rdi, rax
call std::__detail::_State_base::_M_has_alt()
test al, al
je .L605
.L608:
mov rax, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rax+16]
test rax, rax
js .L606
mov rax, QWORD PTR [rbp-40]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rax+16]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long)
mov rdi, rax
call std::__detail::_State<char>::_M_opcode() const
cmp eax, 10
jne .L606
mov eax, 1
jmp .L607
.L606:
mov eax, 0
.L607:
test al, al
je .L605
mov rax, QWORD PTR [rbp-40]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rax+16]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long)
mov rdx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-16]
mov QWORD PTR [rax+16], rdx
jmp .L608
.L605:
lea rax, [rbp-24]
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::__detail::_State<char>*, std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > > >::operator++()
jmp .L609
.L610:
nop
leave
ret
std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_Deque_impl::~_Deque_impl() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >::~allocator() [base object destructor]
nop
leave
ret
std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::~_Deque_base() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
test rax, rax
je .L613
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+72]
lea rdx, [rax+8]
mov rax, QWORD PTR [rbp-8]
mov rcx, QWORD PTR [rax+40]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_destroy_nodes(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >**, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >**)
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-8]
mov rcx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_deallocate_map(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >**, unsigned long)
.L613:
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_Deque_impl::~_Deque_impl() [complete object destructor]
nop
leave
ret
std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::begin():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-16]
lea rdx, [rax+16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::_Deque_iterator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::_Deque_iterator(std::_Deque_iterator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*> const&)
mov rax, QWORD PTR [rbp-8]
leave
ret
std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::end():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-16]
lea rdx, [rax+48]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::_Deque_iterator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::_Deque_iterator(std::_Deque_iterator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*> const&)
mov rax, QWORD PTR [rbp-8]
leave
ret
std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_get_Tp_allocator():
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_destroy_data(std::_Deque_iterator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>, std::_Deque_iterator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > const&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-72], rdi
mov QWORD PTR [rbp-80], rsi
mov QWORD PTR [rbp-88], rdx
mov QWORD PTR [rbp-96], rcx
nop
pop rbp
ret
std::remove_reference<std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >&>::type&& std::move<std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >&>(std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const>::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, void>(std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >&&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 24
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rbx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::remove_reference<std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >&>::type&& std::move<std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >&>(std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >&)
mov rsi, rax
mov rdi, rbx
call std::__shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, void>(std::__shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2>&&)
nop
add rsp, 24
pop rbx
pop rbp
ret
std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_Vector_impl::_Vector_impl(std::allocator<std::__cxx11::sub_match<char const*> > const&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::allocator<std::__cxx11::sub_match<char const*> >::allocator(std::allocator<std::__cxx11::sub_match<char const*> > const&)
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], 0
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+8], 0
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+16], 0
nop
leave
ret
std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_deallocate(std::__cxx11::sub_match<char const*>*, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
cmp QWORD PTR [rbp-16], 0
je .L627
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rbp-16]
mov rsi, rcx
mov rdi, rax
call std::allocator_traits<std::allocator<std::__cxx11::sub_match<char const*> > >::deallocate(std::allocator<std::__cxx11::sub_match<char const*> >&, std::__cxx11::sub_match<char const*>*, unsigned long)
.L627:
nop
leave
ret
void std::_Destroy<std::__cxx11::sub_match<char const*>*>(std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call void std::_Destroy_aux<true>::__destroy<std::__cxx11::sub_match<char const*>*>(std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*)
nop
leave
ret
std::__shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const, (__gnu_cxx::_Lock_policy)2>::operator bool() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
test rax, rax
setne al
pop rbp
ret
std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const, (__gnu_cxx::_Lock_policy)2, false, false>::_M_get() const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const, (__gnu_cxx::_Lock_policy)2>::get() const
leave
ret
std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::resize(unsigned long):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::size() const
cmp QWORD PTR [rbp-16], rax
seta al
test al, al
je .L634
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::size() const
mov rdx, rax
mov rax, QWORD PTR [rbp-16]
sub rax, rdx
mov rdx, rax
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_default_append(unsigned long)
jmp .L636
.L634:
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::size() const
cmp QWORD PTR [rbp-16], rax
setb al
test al, al
je .L636
mov rax, QWORD PTR [rbp-8]
mov rcx, QWORD PTR [rax]
mov rdx, QWORD PTR [rbp-16]
mov rax, rdx
add rax, rax
add rax, rdx
sal rax, 3
lea rdx, [rcx+rax]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_erase_at_end(std::__cxx11::sub_match<char const*>*)
.L636:
nop
leave
ret
__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::__normal_iterator(std::__cxx11::sub_match<char const*>* const&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], rdx
nop
pop rbp
ret
__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::base() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const, (__gnu_cxx::_Lock_policy)2, false, false>::_M_get() const
leave
ret
std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::size() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
sub rdx, rax
mov rax, rdx
sar rax, 4
mov rdx, rax
movabs rax, -6148914691236517205
imul rax, rdx
pop rbp
ret
std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::vector() [base object constructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_Vector_base() [base object constructor]
nop
leave
ret
std::allocator<std::pair<char const*, int> >::allocator() [base object constructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call __gnu_cxx::new_allocator<std::pair<char const*, int> >::new_allocator() [base object constructor]
nop
leave
ret
std::allocator<std::pair<char const*, int> >::~allocator() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call __gnu_cxx::new_allocator<std::pair<char const*, int> >::~new_allocator() [base object destructor]
nop
leave
ret
std::vector<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::vector(unsigned long, std::allocator<std::pair<char const*, int> > const&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 40
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov QWORD PTR [rbp-40], rdx
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rbp-40]
mov rcx, QWORD PTR [rbp-32]
mov rsi, rcx
mov rdi, rax
call std::_Vector_base<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::_Vector_base(unsigned long, std::allocator<std::pair<char const*, int> > const&)
mov rdx, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rbp-24]
mov rsi, rdx
mov rdi, rax
call std::vector<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::_M_default_initialize(unsigned long)
jmp .L650
mov rbx, rax
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::_Vector_base<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::~_Vector_base() [base object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L650:
add rsp, 40
pop rbx
pop rbp
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_State_info<std::integral_constant<bool, false>, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::_State_info(long, unsigned long):
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov QWORD PTR [rbp-40], rdx
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::vector() [complete object constructor]
mov rax, QWORD PTR [rbp-24]
lea r12, [rax+24]
mov rbx, QWORD PTR [rbp-40]
mov rdi, rbx
call operator new[](unsigned long)
mov rcx, rax
mov rdx, rcx
lea rax, [rbx-1]
.L653:
test rax, rax
js .L652
mov BYTE PTR [rdx], 0
add rdx, 1
sub rax, 1
jmp .L653
.L652:
mov rsi, rcx
mov rdi, r12
call std::unique_ptr<bool [], std::default_delete<bool []> >::unique_ptr<bool*, std::default_delete<bool []>, void, bool>(bool*)
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rbp-32]
mov QWORD PTR [rax+32], rdx
jmp .L656
mov rbx, rax
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::~vector() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L656:
add rsp, 32
pop rbx
pop r12
pop rbp
ret
std::_Vector_base<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::_Vector_impl::~_Vector_impl() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::allocator<std::pair<char const*, int> >::~allocator() [base object destructor]
nop
leave
ret
std::_Vector_base<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::~_Vector_base() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+16]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
sub rdx, rax
mov rax, rdx
sar rax, 4
mov rdx, rax
mov rax, QWORD PTR [rbp-8]
mov rcx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call std::_Vector_base<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::_M_deallocate(std::pair<char const*, int>*, unsigned long)
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Vector_base<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::_Vector_impl::~_Vector_impl() [complete object destructor]
nop
leave
ret
std::_Vector_base<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::_M_get_Tp_allocator():
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
void std::_Destroy<std::pair<char const*, int>*, std::pair<char const*, int> >(std::pair<char const*, int>*, std::pair<char const*, int>*, std::allocator<std::pair<char const*, int> >&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call void std::_Destroy<std::pair<char const*, int>*>(std::pair<char const*, int>*, std::pair<char const*, int>*)
nop
leave
ret
std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_Vector_impl::~_Vector_impl() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >::~allocator() [base object destructor]
nop
leave
ret
__gnu_cxx::__alloc_traits<std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::sub_match<char const*> >::_S_always_equal():
push rbp
mov rbp, rsp
mov eax, 1
pop rbp
ret
std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::~_Vector_base() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+16]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
sub rdx, rax
mov rax, rdx
sar rax, 5
mov rdx, rax
mov rax, QWORD PTR [rbp-8]
mov rcx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_M_deallocate(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, unsigned long)
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_Vector_impl::~_Vector_impl() [complete object destructor]
nop
leave
ret
std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_M_get_Tp_allocator():
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
void std::_Destroy<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call void std::_Destroy<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*>(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*)
nop
leave
ret
std::__uniq_ptr_impl<bool, std::default_delete<bool []> >::_M_ptr():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::tuple_element<0ul, std::tuple<bool*, std::default_delete<bool []> > >::type& std::get<0ul, bool*, std::default_delete<bool []> >(std::tuple<bool*, std::default_delete<bool []> >&)
leave
ret
std::unique_ptr<bool [], std::default_delete<bool []> >::get_deleter():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__uniq_ptr_impl<bool, std::default_delete<bool []> >::_M_deleter()
leave
ret
std::enable_if<std::is_convertible<bool (*) [], bool (*) []>::value, void>::type std::default_delete<bool []>::operator()<bool>(bool*) const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
cmp QWORD PTR [rbp-16], 0
je .L675
mov rax, QWORD PTR [rbp-16]
mov rdi, rax
call operator delete[](void*)
.L675:
nop
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_main(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov eax, esi
mov BYTE PTR [rbp-28], al
movzx edx, BYTE PTR [rbp-28]
mov rax, QWORD PTR [rbp-24]
mov esi, edx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_main_dispatch(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, std::integral_constant<bool, false>)
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_search_from_first():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+32]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+24], rdx
mov rax, QWORD PTR [rbp-8]
mov esi, 1
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_main(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode)
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_State_info<std::integral_constant<bool, true>, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::_State_info(long, unsigned long):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov QWORD PTR [rax], rdx
nop
pop rbp
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_main(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov eax, esi
mov BYTE PTR [rbp-28], al
movzx edx, BYTE PTR [rbp-28]
mov rax, QWORD PTR [rbp-24]
mov esi, edx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_main_dispatch(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, std::integral_constant<bool, true>)
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_search_from_first():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+32]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+24], rdx
mov rax, QWORD PTR [rbp-8]
mov esi, 1
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_main(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode)
leave
ret
std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::size() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
sub rdx, rax
mov rax, rdx
sar rax, 3
mov rdx, rax
movabs rax, -6148914691236517205
imul rax, rdx
pop rbp
ret
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_Sp_counted_base() [base object constructor]:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov edx, OFFSET FLAT:_ZTVSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE+16
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], rdx
mov rax, QWORD PTR [rbp-8]
mov DWORD PTR [rax+8], 1
mov rax, QWORD PTR [rbp-8]
mov DWORD PTR [rax+12], 1
nop
pop rbp
ret
std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >::allocator() [base object constructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call __gnu_cxx::new_allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >::new_allocator() [base object constructor]
nop
leave
ret
std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >::~allocator() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call __gnu_cxx::new_allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >::~new_allocator() [base object destructor]
nop
leave
ret
std::locale const& std::forward<std::locale const&>(std::remove_reference<std::locale const&>::type&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::regex_constants::syntax_option_type& std::forward<std::regex_constants::syntax_option_type&>(std::remove_reference<std::regex_constants::syntax_option_type&>::type&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > > std::allocate_shared<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, std::locale const&, std::regex_constants::syntax_option_type&>(std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > > const&, std::locale const&, std::regex_constants::syntax_option_type&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 40
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov QWORD PTR [rbp-40], rdx
mov QWORD PTR [rbp-48], rcx
mov rax, QWORD PTR [rbp-48]
mov rdi, rax
call std::regex_constants::syntax_option_type& std::forward<std::regex_constants::syntax_option_type&>(std::remove_reference<std::regex_constants::syntax_option_type&>::type&)
mov rbx, rax
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::locale const& std::forward<std::locale const&>(std::remove_reference<std::locale const&>::type&)
mov rdx, rax
mov rsi, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rbp-24]
mov rcx, rbx
mov rdi, rax
call std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >::shared_ptr<std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, std::locale const&, std::regex_constants::syntax_option_type&>(std::_Sp_alloc_shared_tag<std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > > >, std::locale const&, std::regex_constants::syntax_option_type&)
mov rax, QWORD PTR [rbp-24]
add rsp, 40
pop rbx
pop rbp
ret
std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::_M_get() const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2>::get() const
leave
ret
std::ctype<char> const& std::use_facet<std::ctype<char> const>(std::locale const&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov edi, OFFSET FLAT:_ZNSt5ctypeIcE2idE
call std::locale::id::_M_id() const
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax]
mov rax, QWORD PTR [rax+8]
mov QWORD PTR [rbp-16], rax
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax]
mov rax, QWORD PTR [rax+16]
cmp QWORD PTR [rbp-8], rax
jnb .L699
mov rax, QWORD PTR [rbp-8]
lea rdx, [0+rax*8]
mov rax, QWORD PTR [rbp-16]
add rax, rdx
mov rax, QWORD PTR [rax]
test rax, rax
jne .L700
.L699:
call std::__throw_bad_cast()
.L700:
mov rax, QWORD PTR [rbp-8]
lea rdx, [0+rax*8]
mov rax, QWORD PTR [rbp-16]
add rax, rdx
mov rax, QWORD PTR [rax]
mov ecx, 0
mov edx, OFFSET FLAT:_ZTISt5ctypeIcE
mov esi, OFFSET FLAT:_ZTINSt6locale5facetE
mov rdi, rax
call __dynamic_cast
test rax, rax
jne .L704
call __cxa_bad_cast
.L704:
leave
ret
.LC11:
.string "Unexpected end of regex when escaping."
.LC12:
.string "Unexpected end of regex when reading control code."
.LC13:
.string "Unexpected end of regex when ascii character."
std::__detail::_Scanner<char>::_M_eat_escape_ecma():
push rbp
mov rbp, rsp
push rbx
sub rsp, 40
mov QWORD PTR [rbp-40], rdi
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rax+176]
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+184]
cmp rdx, rax
jne .L706
mov esi, OFFSET FLAT:.LC11
mov edi, 2
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
.L706:
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+176]
lea rcx, [rax+1]
mov rdx, QWORD PTR [rbp-40]
mov QWORD PTR [rdx+176], rcx
movzx eax, BYTE PTR [rax]
mov BYTE PTR [rbp-21], al
mov rbx, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+192]
movsx ecx, BYTE PTR [rbp-21]
mov edx, 0
mov esi, ecx
mov rdi, rax
call std::ctype<char>::narrow(char, char) const
movsx eax, al
mov esi, eax
mov rdi, rbx
call std::__detail::_ScannerBase::_M_find_escape(char)
mov QWORD PTR [rbp-32], rax
cmp QWORD PTR [rbp-32], 0
je .L707
cmp BYTE PTR [rbp-21], 98
jne .L708
mov rax, QWORD PTR [rbp-40]
mov eax, DWORD PTR [rax+136]
cmp eax, 2
jne .L707
.L708:
mov rax, QWORD PTR [rbp-40]
mov DWORD PTR [rax+144], 1
mov rax, QWORD PTR [rbp-40]
lea rcx, [rax+200]
mov rax, QWORD PTR [rbp-32]
movzx eax, BYTE PTR [rax]
movsx eax, al
mov edx, eax
mov esi, 1
mov rdi, rcx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(unsigned long, char)
jmp .L709
.L707:
cmp BYTE PTR [rbp-21], 98
jne .L710
mov rax, QWORD PTR [rbp-40]
mov DWORD PTR [rax+144], 24
mov rax, QWORD PTR [rbp-40]
add rax, 200
mov edx, 112
mov esi, 1
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(unsigned long, char)
jmp .L731
.L710:
cmp BYTE PTR [rbp-21], 66
jne .L711
mov rax, QWORD PTR [rbp-40]
mov DWORD PTR [rax+144], 24
mov rax, QWORD PTR [rbp-40]
add rax, 200
mov edx, 110
mov esi, 1
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(unsigned long, char)
jmp .L731
.L711:
cmp BYTE PTR [rbp-21], 100
je .L712
cmp BYTE PTR [rbp-21], 68
je .L712
cmp BYTE PTR [rbp-21], 115
je .L712
cmp BYTE PTR [rbp-21], 83
je .L712
cmp BYTE PTR [rbp-21], 119
je .L712
cmp BYTE PTR [rbp-21], 87
jne .L713
.L712:
mov rax, QWORD PTR [rbp-40]
mov DWORD PTR [rax+144], 14
mov rax, QWORD PTR [rbp-40]
lea rcx, [rax+200]
movsx eax, BYTE PTR [rbp-21]
mov edx, eax
mov esi, 1
mov rdi, rcx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(unsigned long, char)
jmp .L709
.L713:
cmp BYTE PTR [rbp-21], 99
jne .L714
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rax+176]
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+184]
cmp rdx, rax
jne .L715
mov esi, OFFSET FLAT:.LC12
mov edi, 2
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
.L715:
mov rax, QWORD PTR [rbp-40]
mov DWORD PTR [rax+144], 1
mov rax, QWORD PTR [rbp-40]
lea rdi, [rax+200]
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+176]
lea rcx, [rax+1]
mov rdx, QWORD PTR [rbp-40]
mov QWORD PTR [rdx+176], rcx
movzx eax, BYTE PTR [rax]
movsx eax, al
mov edx, eax
mov esi, 1
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(unsigned long, char)
jmp .L731
.L714:
cmp BYTE PTR [rbp-21], 120
je .L716
cmp BYTE PTR [rbp-21], 117
jne .L717
.L716:
mov rax, QWORD PTR [rbp-40]
add rax, 200
mov rdx, -1
mov esi, 0
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::erase(unsigned long, unsigned long)
mov DWORD PTR [rbp-20], 0
.L725:
cmp BYTE PTR [rbp-21], 120
jne .L718
mov eax, 2
jmp .L719
.L718:
mov eax, 4
.L719:
cmp eax, DWORD PTR [rbp-20]
jle .L720
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rax+176]
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+184]
cmp rdx, rax
je .L721
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+192]
mov rdx, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rdx+176]
movzx edx, BYTE PTR [rdx]
movsx edx, dl
mov esi, 4096
mov rdi, rax
call std::ctype<char>::is(unsigned short, char) const
xor eax, 1
test al, al
je .L722
.L721:
mov eax, 1
jmp .L723
.L722:
mov eax, 0
.L723:
test al, al
je .L724
mov esi, OFFSET FLAT:.LC13
mov edi, 2
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
.L724:
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+176]
lea rcx, [rax+1]
mov rdx, QWORD PTR [rbp-40]
mov QWORD PTR [rdx+176], rcx
movzx eax, BYTE PTR [rax]
movsx eax, al
mov rdx, QWORD PTR [rbp-40]
add rdx, 200
mov esi, eax
mov rdi, rdx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator+=(char)
add DWORD PTR [rbp-20], 1
jmp .L725
.L720:
mov rax, QWORD PTR [rbp-40]
mov DWORD PTR [rax+144], 3
jmp .L709
.L717:
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+192]
movsx edx, BYTE PTR [rbp-21]
mov esi, 2048
mov rdi, rax
call std::ctype<char>::is(unsigned short, char) const
test al, al
je .L726
mov rax, QWORD PTR [rbp-40]
lea rcx, [rax+200]
movsx eax, BYTE PTR [rbp-21]
mov edx, eax
mov esi, 1
mov rdi, rcx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(unsigned long, char)
.L730:
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rax+176]
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+184]
cmp rdx, rax
je .L727
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+192]
mov rdx, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rdx+176]
movzx edx, BYTE PTR [rdx]
movsx edx, dl
mov esi, 2048
mov rdi, rax
call std::ctype<char>::is(unsigned short, char) const
test al, al
je .L727
mov eax, 1
jmp .L728
.L727:
mov eax, 0
.L728:
test al, al
je .L729
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+176]
lea rcx, [rax+1]
mov rdx, QWORD PTR [rbp-40]
mov QWORD PTR [rdx+176], rcx
movzx eax, BYTE PTR [rax]
movsx eax, al
mov rdx, QWORD PTR [rbp-40]
add rdx, 200
mov esi, eax
mov rdi, rdx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator+=(char)
jmp .L730
.L729:
mov rax, QWORD PTR [rbp-40]
mov DWORD PTR [rax+144], 4
jmp .L731
.L726:
mov rax, QWORD PTR [rbp-40]
mov DWORD PTR [rax+144], 1
mov rax, QWORD PTR [rbp-40]
lea rcx, [rax+200]
movsx eax, BYTE PTR [rbp-21]
mov edx, eax
mov esi, 1
mov rdi, rcx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(unsigned long, char)
jmp .L731
.L709:
.L731:
nop
add rsp, 40
pop rbx
pop rbp
ret
.LC14:
.string "Unexpected escape character."
std::__detail::_Scanner<char>::_M_eat_escape_posix():
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rax+176]
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+184]
cmp rdx, rax
jne .L733
mov esi, OFFSET FLAT:.LC11
mov edi, 2
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
.L733:
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+176]
movzx eax, BYTE PTR [rax]
mov BYTE PTR [rbp-1], al
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+192]
movsx ecx, BYTE PTR [rbp-1]
mov edx, 0
mov esi, ecx
mov rdi, rax
call std::ctype<char>::narrow(char, char) const
movsx edx, al
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+160]
mov esi, edx
mov rdi, rax
call strchr
mov QWORD PTR [rbp-16], rax
cmp QWORD PTR [rbp-16], 0
je .L734
mov rax, QWORD PTR [rbp-16]
movzx eax, BYTE PTR [rax]
test al, al
je .L734
mov rax, QWORD PTR [rbp-24]
mov DWORD PTR [rax+144], 1
mov rax, QWORD PTR [rbp-24]
lea rcx, [rax+200]
movsx eax, BYTE PTR [rbp-1]
mov edx, eax
mov esi, 1
mov rdi, rcx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(unsigned long, char)
jmp .L735
.L734:
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__detail::_ScannerBase::_M_is_awk() const
test al, al
je .L736
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__detail::_Scanner<char>::_M_eat_escape_awk()
jmp .L732
.L736:
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__detail::_ScannerBase::_M_is_basic() const
test al, al
je .L738
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+192]
movsx edx, BYTE PTR [rbp-1]
mov esi, 2048
mov rdi, rax
call std::ctype<char>::is(unsigned short, char) const
test al, al
je .L738
cmp BYTE PTR [rbp-1], 48
je .L738
mov eax, 1
jmp .L739
.L738:
mov eax, 0
.L739:
test al, al
je .L740
mov rax, QWORD PTR [rbp-24]
mov DWORD PTR [rax+144], 4
mov rax, QWORD PTR [rbp-24]
lea rcx, [rax+200]
movsx eax, BYTE PTR [rbp-1]
mov edx, eax
mov esi, 1
mov rdi, rcx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(unsigned long, char)
jmp .L735
.L740:
mov esi, OFFSET FLAT:.LC14
mov edi, 2
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
.L735:
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+176]
lea rdx, [rax+1]
mov rax, QWORD PTR [rbp-24]
mov QWORD PTR [rax+176], rdx
.L732:
leave
ret
std::__detail::_Scanner<char>::_M_advance():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+176]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+184]
cmp rdx, rax
jne .L742
mov rax, QWORD PTR [rbp-8]
mov DWORD PTR [rax+144], 27
jmp .L741
.L742:
mov rax, QWORD PTR [rbp-8]
mov eax, DWORD PTR [rax+136]
test eax, eax
jne .L744
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__detail::_Scanner<char>::_M_scan_normal()
jmp .L741
.L744:
mov rax, QWORD PTR [rbp-8]
mov eax, DWORD PTR [rax+136]
cmp eax, 2
jne .L745
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__detail::_Scanner<char>::_M_scan_in_bracket()
jmp .L741
.L745:
mov rax, QWORD PTR [rbp-8]
mov eax, DWORD PTR [rax+136]
cmp eax, 1
jne .L741
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__detail::_Scanner<char>::_M_scan_in_brace()
.L741:
leave
ret
std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::deque() [base object constructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_Deque_base() [base object constructor]
nop
leave
ret
std::vector<unsigned long, std::allocator<unsigned long> >::push_back(unsigned long const&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+16]
cmp rdx, rax
je .L748
mov rax, QWORD PTR [rbp-8]
mov rcx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov rsi, rcx
mov rdi, rax
call void std::allocator_traits<std::allocator<unsigned long> >::construct<unsigned long, unsigned long const&>(std::allocator<unsigned long>&, unsigned long*, unsigned long const&)
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+8]
lea rdx, [rax+8]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+8], rdx
jmp .L750
.L748:
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::vector<unsigned long, std::allocator<unsigned long> >::end()
mov rcx, rax
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call void std::vector<unsigned long, std::allocator<unsigned long> >::_M_realloc_insert<unsigned long const&>(__gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > >, unsigned long const&)
.L750:
nop
leave
ret
std::__detail::_State<char>::_State(std::__detail::_Opcode):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov DWORD PTR [rbp-12], esi
mov rax, QWORD PTR [rbp-8]
mov edx, DWORD PTR [rbp-12]
mov esi, edx
mov rdi, rax
call std::__detail::_State_base::_State_base(std::__detail::_Opcode)
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__detail::_State<char>::_M_opcode() const
cmp eax, 11
sete al
test al, al
je .L753
mov rax, QWORD PTR [rbp-8]
add rax, 16
mov rdi, rax
call __gnu_cxx::__aligned_membuf<std::function<bool (char)> >::_M_addr()
mov rsi, rax
mov edi, 32
call operator new(unsigned long, void*)
mov rdi, rax
call std::function<bool (char)>::function() [complete object constructor]
.L753:
nop
leave
ret
std::function<bool (char)>::~function() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Function_base::~_Function_base() [base object destructor]
nop
leave
ret
std::__detail::_State<char>::~_State() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__detail::_State<char>::_M_opcode() const
cmp eax, 11
sete al
test al, al
je .L757
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__detail::_State<char>::_M_get_matcher()
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
.L757:
nop
leave
ret
.LC15:
.string "Number of NFA states exceeds limit. Please use shorter regex string, or use smaller brace expression, or make _GLIBCXX_REGEX_STATE_LIMIT larger."
std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_state(std::__detail::_State<char>):
push rbp
mov rbp, rsp
push rbx
sub rsp, 24
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rax, QWORD PTR [rbp-24]
lea rbx, [rax+56]
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::remove_reference<std::__detail::_State<char>&>::type&& std::move<std::__detail::_State<char>&>(std::__detail::_State<char>&)
mov rsi, rax
mov rdi, rbx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::push_back(std::__detail::_State<char>&&)
mov rax, QWORD PTR [rbp-24]
add rax, 56
mov rdi, rax
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::size() const
cmp rax, 100000
seta al
test al, al
je .L759
mov esi, OFFSET FLAT:.LC15
mov edi, 9
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
.L759:
mov rax, QWORD PTR [rbp-24]
add rax, 56
mov rdi, rax
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::size() const
sub rax, 1
add rsp, 24
pop rbx
pop rbp
ret
std::remove_reference<std::__detail::_State<char>&>::type&& std::move<std::__detail::_State<char>&>(std::__detail::_State<char>&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::__detail::_State<char>::_State(std::__detail::_State<char>&&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 24
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rbp-32]
mov rcx, QWORD PTR [rdx]
mov rbx, QWORD PTR [rdx+8]
mov QWORD PTR [rax], rcx
mov QWORD PTR [rax+8], rbx
mov rcx, QWORD PTR [rdx+16]
mov rbx, QWORD PTR [rdx+24]
mov QWORD PTR [rax+16], rcx
mov QWORD PTR [rax+24], rbx
mov rcx, QWORD PTR [rdx+40]
mov rdx, QWORD PTR [rdx+32]
mov QWORD PTR [rax+32], rdx
mov QWORD PTR [rax+40], rcx
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::__detail::_State<char>::_M_opcode() const
cmp eax, 11
sete al
test al, al
je .L765
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::__detail::_State<char>::_M_get_matcher()
mov rdi, rax
call std::remove_reference<std::function<bool (char)>&>::type&& std::move<std::function<bool (char)>&>(std::function<bool (char)>&)
mov rbx, rax
mov rax, QWORD PTR [rbp-24]
add rax, 16
mov rdi, rax
call __gnu_cxx::__aligned_membuf<std::function<bool (char)> >::_M_addr()
mov rsi, rax
mov edi, 32
call operator new(unsigned long, void*)
mov rsi, rbx
mov rdi, rax
call std::function<bool (char)>::function(std::function<bool (char)>&&)
.L765:
nop
add rsp, 24
pop rbx
pop rbp
ret
std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rcx, QWORD PTR [rax]
mov rdx, QWORD PTR [rbp-16]
mov rax, rdx
add rax, rax
add rax, rdx
sal rax, 4
add rax, rcx
pop rbp
ret
std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_alternative():
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 112
mov QWORD PTR [rbp-120], rdi
mov rax, QWORD PTR [rbp-120]
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_term()
test al, al
je .L769
lea rax, [rbp-112]
mov rdx, QWORD PTR [rbp-120]
mov rsi, rdx
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_pop()
mov rax, QWORD PTR [rbp-120]
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_alternative()
lea rax, [rbp-80]
mov rdx, QWORD PTR [rbp-120]
mov rsi, rdx
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_pop()
lea rdx, [rbp-80]
lea rax, [rbp-112]
mov rsi, rdx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_M_append(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&)
mov rax, QWORD PTR [rbp-120]
lea rdx, [rax+304]
lea rax, [rbp-112]
mov rsi, rax
mov rdi, rdx
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&)
jmp .L771
.L769:
mov rax, QWORD PTR [rbp-120]
lea rbx, [rax+304]
mov rax, QWORD PTR [rbp-120]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov rdi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_dummy()
mov r12, rax
mov rax, QWORD PTR [rbp-120]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-48]
mov rdx, r12
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
lea rax, [rbp-48]
mov rsi, rax
mov rdi, rbx
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
.L771:
nop
add rsp, 112
pop rbx
pop r12
pop rbp
ret
std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_dummy():
push rbp
mov rbp, rsp
push rbx
sub rsp, 72
mov QWORD PTR [rbp-72], rdi
lea rax, [rbp-64]
mov esi, 10
mov rdi, rax
call std::__detail::_State<char>::_State(std::__detail::_Opcode)
lea rdx, [rbp-64]
mov rax, QWORD PTR [rbp-72]
mov rsi, rdx
mov rdi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_state(std::__detail::_State<char>)
mov rbx, rax
lea rax, [rbp-64]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
mov rax, rbx
jmp .L776
mov rbx, rax
lea rax, [rbp-64]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L776:
add rsp, 72
pop rbx
pop rbp
ret
std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_alt(long, long, bool):
push rbp
mov rbp, rsp
push rbx
sub rsp, 136
mov QWORD PTR [rbp-120], rdi
mov QWORD PTR [rbp-128], rsi
mov QWORD PTR [rbp-136], rdx
mov eax, ecx
mov BYTE PTR [rbp-140], al
lea rax, [rbp-112]
mov esi, 1
mov rdi, rax
call std::__detail::_State<char>::_State(std::__detail::_Opcode)
mov rax, QWORD PTR [rbp-128]
mov QWORD PTR [rbp-104], rax
mov rax, QWORD PTR [rbp-136]
mov QWORD PTR [rbp-96], rax
lea rax, [rbp-112]
mov rdi, rax
call std::remove_reference<std::__detail::_State<char>&>::type&& std::move<std::__detail::_State<char>&>(std::__detail::_State<char>&)
mov rdx, rax
lea rax, [rbp-64]
mov rsi, rdx
mov rdi, rax
call std::__detail::_State<char>::_State(std::__detail::_State<char>&&)
lea rdx, [rbp-64]
mov rax, QWORD PTR [rbp-120]
mov rsi, rdx
mov rdi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_state(std::__detail::_State<char>)
mov rbx, rax
lea rax, [rbp-64]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
lea rax, [rbp-112]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
mov rax, rbx
jmp .L781
mov rbx, rax
lea rax, [rbp-64]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
lea rax, [rbp-112]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L781:
add rsp, 136
pop rbx
pop rbp
ret
std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long, long):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov QWORD PTR [rbp-32], rcx
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov QWORD PTR [rax], rdx
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-24]
mov QWORD PTR [rax+8], rdx
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-32]
mov QWORD PTR [rax+16], rdx
nop
pop rbp
ret
std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 24
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rbx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::remove_reference<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&>::type&& std::move<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&>(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&)
mov rsi, rax
mov rdi, rbx
call std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::push_back(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
nop
add rsp, 24
pop rbx
pop rbp
ret
std::__detail::_Scanner<char>::_M_get_token() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov eax, DWORD PTR [rax+144]
pop rbp
ret
std::__detail::_Scanner<char>::_M_get_value[abi:cxx11]() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
add rax, 200
pop rbp
ret
std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::top():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::back()
leave
ret
std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::pop():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::pop_back()
nop
leave
ret
std::vector<unsigned long, std::allocator<unsigned long> >::back():
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::vector<unsigned long, std::allocator<unsigned long> >::end()
mov QWORD PTR [rbp-8], rax
lea rax, [rbp-8]
mov esi, 1
mov rdi, rax
call __gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > >::operator-(long) const
mov QWORD PTR [rbp-16], rax
lea rax, [rbp-16]
mov rdi, rax
call __gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > >::operator*() const
nop
leave
ret
std::vector<unsigned long, std::allocator<unsigned long> >::pop_back():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+8]
lea rdx, [rax-8]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+8], rdx
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call void std::allocator_traits<std::allocator<unsigned long> >::destroy<unsigned long>(std::allocator<unsigned long>&, unsigned long*)
nop
leave
ret
std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::begin():
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov rdx, QWORD PTR [rbp-24]
lea rax, [rbp-8]
mov rsi, rdx
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::__detail::_State<char>*, std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > > >::__normal_iterator(std::__detail::_State<char>* const&)
mov rax, QWORD PTR [rbp-8]
leave
ret
std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::end():
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov rax, QWORD PTR [rbp-24]
lea rdx, [rax+8]
lea rax, [rbp-8]
mov rsi, rdx
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::__detail::_State<char>*, std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > > >::__normal_iterator(std::__detail::_State<char>* const&)
mov rax, QWORD PTR [rbp-8]
leave
ret
bool __gnu_cxx::operator!=<std::__detail::_State<char>*, std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > > >(__gnu_cxx::__normal_iterator<std::__detail::_State<char>*, std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > > > const&, __gnu_cxx::__normal_iterator<std::__detail::_State<char>*, std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > > > const&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 24
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::__detail::_State<char>*, std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > > >::base() const
mov rbx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::__detail::_State<char>*, std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > > >::base() const
mov rax, QWORD PTR [rax]
cmp rbx, rax
setne al
add rsp, 24
pop rbx
pop rbp
ret
__gnu_cxx::__normal_iterator<std::__detail::_State<char>*, std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > > >::operator++():
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
lea rdx, [rax+48]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], rdx
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
__gnu_cxx::__normal_iterator<std::__detail::_State<char>*, std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > > >::operator*() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
pop rbp
ret
std::__detail::_State<char>::_M_opcode() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov eax, DWORD PTR [rax]
pop rbp
ret
std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >::~allocator() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call __gnu_cxx::new_allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >::~new_allocator() [base object destructor]
nop
leave
ret
std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_destroy_nodes(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >**, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >**):
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov QWORD PTR [rbp-40], rdx
mov rax, QWORD PTR [rbp-32]
mov QWORD PTR [rbp-8], rax
.L809:
mov rax, QWORD PTR [rbp-8]
cmp rax, QWORD PTR [rbp-40]
jnb .L810
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-24]
mov rsi, rdx
mov rdi, rax
call std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_deallocate_node(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*)
add QWORD PTR [rbp-8], 8
jmp .L809
.L810:
nop
leave
ret
std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_deallocate_map(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >**, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov QWORD PTR [rbp-40], rdx
lea rax, [rbp-1]
mov rdx, QWORD PTR [rbp-24]
mov rsi, rdx
mov rdi, rax
call std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_get_map_allocator() const
mov rdx, QWORD PTR [rbp-40]
mov rcx, QWORD PTR [rbp-32]
lea rax, [rbp-1]
mov rsi, rcx
mov rdi, rax
call std::allocator_traits<std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*> >::deallocate(std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >**, unsigned long)
lea rax, [rbp-1]
mov rdi, rax
call std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::~allocator() [complete object destructor]
nop
leave
ret
std::_Deque_iterator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::_Deque_iterator(std::_Deque_iterator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*> const&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], rdx
mov rax, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+8], rdx
mov rax, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rax+16]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+16], rdx
mov rax, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+24], rdx
nop
pop rbp
ret
std::__shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, void>(std::__shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2>&&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], rdx
mov rax, QWORD PTR [rbp-8]
add rax, 8
mov rdi, rax
call std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count() [complete object constructor]
mov rax, QWORD PTR [rbp-8]
add rax, 8
mov rdx, QWORD PTR [rbp-16]
add rdx, 8
mov rsi, rdx
mov rdi, rax
call std::__shared_count<(__gnu_cxx::_Lock_policy)2>::_M_swap(std::__shared_count<(__gnu_cxx::_Lock_policy)2>&)
mov rax, QWORD PTR [rbp-16]
mov QWORD PTR [rax], 0
nop
leave
ret
std::allocator<std::__cxx11::sub_match<char const*> >::allocator(std::allocator<std::__cxx11::sub_match<char const*> > const&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call __gnu_cxx::new_allocator<std::__cxx11::sub_match<char const*> >::new_allocator(__gnu_cxx::new_allocator<std::__cxx11::sub_match<char const*> > const&)
nop
leave
ret
std::allocator_traits<std::allocator<std::__cxx11::sub_match<char const*> > >::deallocate(std::allocator<std::__cxx11::sub_match<char const*> >&, std::__cxx11::sub_match<char const*>*, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rdx, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call __gnu_cxx::new_allocator<std::__cxx11::sub_match<char const*> >::deallocate(std::__cxx11::sub_match<char const*>*, unsigned long)
nop
leave
ret
void std::_Destroy_aux<true>::__destroy<std::__cxx11::sub_match<char const*>*>(std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
nop
pop rbp
ret
std::__shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const, (__gnu_cxx::_Lock_policy)2>::get() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
pop rbp
ret
.LC16:
.string "vector::_M_default_append"
std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_default_append(unsigned long):
push rbp
mov rbp, rsp
push rbx
sub rsp, 72
mov QWORD PTR [rbp-72], rdi
mov QWORD PTR [rbp-80], rsi
cmp QWORD PTR [rbp-80], 0
je .L832
mov rax, QWORD PTR [rbp-72]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::size() const
mov QWORD PTR [rbp-32], rax
mov rax, QWORD PTR [rbp-72]
mov rdx, QWORD PTR [rax+16]
mov rax, QWORD PTR [rbp-72]
mov rax, QWORD PTR [rax+8]
sub rdx, rax
mov rax, rdx
sar rax, 3
mov rdx, rax
movabs rax, -6148914691236517205
imul rax, rdx
mov QWORD PTR [rbp-40], rax
mov rax, QWORD PTR [rbp-72]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::max_size() const
cmp QWORD PTR [rbp-32], rax
ja .L821
mov rax, QWORD PTR [rbp-72]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::max_size() const
sub rax, QWORD PTR [rbp-32]
cmp QWORD PTR [rbp-40], rax
jbe .L822
.L821:
mov eax, 1
jmp .L823
.L822:
mov eax, 0
.L823:
test al, al
mov rax, QWORD PTR [rbp-40]
cmp rax, QWORD PTR [rbp-80]
jb .L825
mov rax, QWORD PTR [rbp-72]
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_get_Tp_allocator()
mov rdx, rax
mov rax, QWORD PTR [rbp-72]
mov rax, QWORD PTR [rax+8]
mov rcx, QWORD PTR [rbp-80]
mov rsi, rcx
mov rdi, rax
call std::__cxx11::sub_match<char const*>* std::__uninitialized_default_n_a<std::__cxx11::sub_match<char const*>*, unsigned long, std::__cxx11::sub_match<char const*> >(std::__cxx11::sub_match<char const*>*, unsigned long, std::allocator<std::__cxx11::sub_match<char const*> >&)
mov rdx, rax
mov rax, QWORD PTR [rbp-72]
mov QWORD PTR [rax+8], rdx
jmp .L832
.L825:
mov rcx, QWORD PTR [rbp-80]
mov rax, QWORD PTR [rbp-72]
mov edx, OFFSET FLAT:.LC16
mov rsi, rcx
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_check_len(unsigned long, char const*) const
mov QWORD PTR [rbp-48], rax
mov rax, QWORD PTR [rbp-72]
mov rdx, QWORD PTR [rbp-48]
mov rsi, rdx
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_allocate(unsigned long)
mov QWORD PTR [rbp-56], rax
mov QWORD PTR [rbp-24], 0
mov rax, QWORD PTR [rbp-72]
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_get_Tp_allocator()
mov rsi, rax
mov rdx, QWORD PTR [rbp-32]
mov rax, rdx
add rax, rax
add rax, rdx
sal rax, 3
mov rdx, rax
mov rax, QWORD PTR [rbp-56]
lea rcx, [rdx+rax]
mov rax, QWORD PTR [rbp-80]
mov rdx, rsi
mov rsi, rax
mov rdi, rcx
call std::__cxx11::sub_match<char const*>* std::__uninitialized_default_n_a<std::__cxx11::sub_match<char const*>*, unsigned long, std::__cxx11::sub_match<char const*> >(std::__cxx11::sub_match<char const*>*, unsigned long, std::allocator<std::__cxx11::sub_match<char const*> >&)
mov rdx, QWORD PTR [rbp-32]
mov rax, rdx
add rax, rax
add rax, rdx
sal rax, 3
mov rdx, rax
mov rax, QWORD PTR [rbp-56]
add rax, rdx
mov QWORD PTR [rbp-24], rax
mov rax, QWORD PTR [rbp-72]
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_get_Tp_allocator()
mov rcx, rax
mov rax, QWORD PTR [rbp-72]
mov rsi, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-72]
mov rax, QWORD PTR [rax]
mov rdx, QWORD PTR [rbp-56]
mov rdi, rax
call std::__cxx11::sub_match<char const*>* std::__uninitialized_move_if_noexcept_a<std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*, std::allocator<std::__cxx11::sub_match<char const*> > >(std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*, std::allocator<std::__cxx11::sub_match<char const*> >&)
mov rax, QWORD PTR [rbp-72]
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_get_Tp_allocator()
mov rdx, rax
mov rax, QWORD PTR [rbp-72]
mov rcx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-72]
mov rax, QWORD PTR [rax]
mov rsi, rcx
mov rdi, rax
call void std::_Destroy<std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*> >(std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*, std::allocator<std::__cxx11::sub_match<char const*> >&)
mov rax, QWORD PTR [rbp-72]
mov rdx, QWORD PTR [rbp-72]
mov rcx, QWORD PTR [rdx+16]
mov rdx, QWORD PTR [rbp-72]
mov rdx, QWORD PTR [rdx]
sub rcx, rdx
mov rdx, rcx
mov rcx, rdx
sar rcx, 3
movabs rdx, -6148914691236517205
imul rdx, rcx
mov rsi, rdx
mov rdx, QWORD PTR [rbp-72]
mov rcx, QWORD PTR [rdx]
mov rdx, rsi
mov rsi, rcx
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_deallocate(std::__cxx11::sub_match<char const*>*, unsigned long)
mov rax, QWORD PTR [rbp-72]
mov rdx, QWORD PTR [rbp-56]
mov QWORD PTR [rax], rdx
mov rdx, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rbp-80]
add rdx, rax
mov rax, rdx
add rax, rax
add rax, rdx
sal rax, 3
mov rdx, rax
mov rax, QWORD PTR [rbp-56]
add rdx, rax
mov rax, QWORD PTR [rbp-72]
mov QWORD PTR [rax+8], rdx
mov rdx, QWORD PTR [rbp-48]
mov rax, rdx
add rax, rax
add rax, rdx
sal rax, 3
mov rdx, rax
mov rax, QWORD PTR [rbp-56]
add rdx, rax
mov rax, QWORD PTR [rbp-72]
mov QWORD PTR [rax+16], rdx
jmp .L832
mov rdi, rax
call __cxa_begin_catch
cmp QWORD PTR [rbp-24], 0
je .L828
mov rax, QWORD PTR [rbp-72]
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_get_Tp_allocator()
mov rsi, rax
mov rdx, QWORD PTR [rbp-80]
mov rax, rdx
add rax, rax
add rax, rdx
sal rax, 3
mov rdx, rax
mov rax, QWORD PTR [rbp-24]
lea rcx, [rdx+rax]
mov rax, QWORD PTR [rbp-24]
mov rdx, rsi
mov rsi, rcx
mov rdi, rax
call void std::_Destroy<std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*> >(std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*, std::allocator<std::__cxx11::sub_match<char const*> >&)
.L828:
mov rax, QWORD PTR [rbp-72]
mov rdx, QWORD PTR [rbp-48]
mov rcx, QWORD PTR [rbp-56]
mov rsi, rcx
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_deallocate(std::__cxx11::sub_match<char const*>*, unsigned long)
call __cxa_rethrow
mov rbx, rax
call __cxa_end_catch
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L832:
nop
add rsp, 72
pop rbx
pop rbp
ret
std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_erase_at_end(std::__cxx11::sub_match<char const*>*):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+8]
sub rax, QWORD PTR [rbp-32]
sar rax, 3
mov rdx, rax
movabs rax, -6148914691236517205
imul rax, rdx
mov QWORD PTR [rbp-8], rax
cmp QWORD PTR [rbp-8], 0
je .L835
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_get_Tp_allocator()
mov rdx, rax
mov rax, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-32]
mov rsi, rcx
mov rdi, rax
call void std::_Destroy<std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*> >(std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*, std::allocator<std::__cxx11::sub_match<char const*> >&)
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rbp-32]
mov QWORD PTR [rax+8], rdx
.L835:
nop
leave
ret
std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_Vector_base() [base object constructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_Vector_impl::_Vector_impl() [complete object constructor]
nop
leave
ret
__gnu_cxx::new_allocator<std::pair<char const*, int> >::new_allocator() [base object constructor]:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
nop
pop rbp
ret
__gnu_cxx::new_allocator<std::pair<char const*, int> >::~new_allocator() [base object destructor]:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
nop
pop rbp
ret
std::_Vector_base<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::_Vector_base(unsigned long, std::allocator<std::pair<char const*, int> > const&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 40
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov QWORD PTR [rbp-40], rdx
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rbp-40]
mov rsi, rdx
mov rdi, rax
call std::_Vector_base<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::_Vector_impl::_Vector_impl(std::allocator<std::pair<char const*, int> > const&)
mov rdx, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rbp-24]
mov rsi, rdx
mov rdi, rax
call std::_Vector_base<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::_M_create_storage(unsigned long)
jmp .L842
mov rbx, rax
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::_Vector_base<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::_Vector_impl::~_Vector_impl() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L842:
add rsp, 40
pop rbx
pop rbp
ret
std::vector<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::_M_default_initialize(unsigned long):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Vector_base<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::_M_get_Tp_allocator()
mov rdx, rax
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
mov rcx, QWORD PTR [rbp-16]
mov rsi, rcx
mov rdi, rax
call std::pair<char const*, int>* std::__uninitialized_default_n_a<std::pair<char const*, int>*, unsigned long, std::pair<char const*, int> >(std::pair<char const*, int>*, unsigned long, std::allocator<std::pair<char const*, int> >&)
mov rdx, rax
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+8], rdx
nop
leave
ret
std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::vector() [base object constructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_Vector_base() [base object constructor]
nop
leave
ret
std::unique_ptr<bool [], std::default_delete<bool []> >::unique_ptr<bool*, std::default_delete<bool []>, void, bool>(bool*):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov rsi, rdx
mov rdi, rax
call std::__uniq_ptr_impl<bool, std::default_delete<bool []> >::__uniq_ptr_impl(bool*)
nop
leave
ret
std::_Vector_base<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::_M_deallocate(std::pair<char const*, int>*, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
cmp QWORD PTR [rbp-16], 0
je .L848
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rbp-16]
mov rsi, rcx
mov rdi, rax
call std::allocator_traits<std::allocator<std::pair<char const*, int> > >::deallocate(std::allocator<std::pair<char const*, int> >&, std::pair<char const*, int>*, unsigned long)
.L848:
nop
leave
ret
void std::_Destroy<std::pair<char const*, int>*>(std::pair<char const*, int>*, std::pair<char const*, int>*):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call void std::_Destroy_aux<true>::__destroy<std::pair<char const*, int>*>(std::pair<char const*, int>*, std::pair<char const*, int>*)
nop
leave
ret
std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >::~allocator() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call __gnu_cxx::new_allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >::~new_allocator() [base object destructor]
nop
leave
ret
std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_M_deallocate(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
cmp QWORD PTR [rbp-16], 0
je .L853
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rbp-16]
mov rsi, rcx
mov rdi, rax
call std::allocator_traits<std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::deallocate(std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >&, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, unsigned long)
.L853:
nop
leave
ret
void std::_Destroy<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*>(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call void std::_Destroy_aux<false>::__destroy<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*>(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*)
nop
leave
ret
std::tuple_element<0ul, std::tuple<bool*, std::default_delete<bool []> > >::type& std::get<0ul, bool*, std::default_delete<bool []> >(std::tuple<bool*, std::default_delete<bool []> >&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call bool*& std::__get_helper<0ul, bool*, std::default_delete<bool []> >(std::_Tuple_impl<0ul, bool*, std::default_delete<bool []> >&)
leave
ret
std::__uniq_ptr_impl<bool, std::default_delete<bool []> >::_M_deleter():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::tuple_element<1ul, std::tuple<bool*, std::default_delete<bool []> > >::type& std::get<1ul, bool*, std::default_delete<bool []> >(std::tuple<bool*, std::default_delete<bool []> >&)
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_main_dispatch(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, std::integral_constant<bool, false>):
push rbp
mov rbp, rsp
push rbx
sub rsp, 104
mov QWORD PTR [rbp-104], rdi
mov eax, esi
mov BYTE PTR [rbp-108], al
mov rax, QWORD PTR [rbp-104]
lea rcx, [rax+96]
mov rax, QWORD PTR [rbp-104]
mov rdx, QWORD PTR [rax+64]
mov rax, QWORD PTR [rbp-104]
mov rax, QWORD PTR [rax+128]
mov rsi, rax
mov rdi, rcx
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_State_info<std::integral_constant<bool, false>, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::_M_queue(long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&)
mov BYTE PTR [rbp-17], 0
.L867:
mov rax, QWORD PTR [rbp-104]
mov BYTE PTR [rax+140], 0
mov rax, QWORD PTR [rbp-104]
add rax, 96
mov rdi, rax
call std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::empty() const
test al, al
jne .L873
mov BYTE PTR [rbp-41], 0
mov rax, QWORD PTR [rbp-104]
mov rax, QWORD PTR [rax+56]
add rax, 56
mov rdi, rax
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::size() const
mov rbx, rax
mov rax, QWORD PTR [rbp-104]
add rax, 120
mov rdi, rax
call std::unique_ptr<bool [], std::default_delete<bool []> >::get() const
mov rcx, rax
lea rax, [rbp-41]
mov rdx, rax
mov rsi, rbx
mov rdi, rcx
call bool* std::fill_n<bool*, unsigned long, bool>(bool*, unsigned long, bool const&)
mov rax, QWORD PTR [rbp-104]
add rax, 96
mov rdi, rax
call std::remove_reference<std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >&>::type&& std::move<std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >&>(std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >&)
mov rdx, rax
lea rax, [rbp-80]
mov rsi, rdx
mov rdi, rax
call std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::vector(std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >&&)
lea rax, [rbp-80]
mov QWORD PTR [rbp-32], rax
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::begin()
mov QWORD PTR [rbp-88], rax
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::end()
mov QWORD PTR [rbp-96], rax
.L863:
lea rdx, [rbp-96]
lea rax, [rbp-88]
mov rsi, rdx
mov rdi, rax
call bool __gnu_cxx::operator!=<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >(__gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > > const&, __gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > > const&)
test al, al
je .L862
lea rax, [rbp-88]
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >::operator*() const
mov QWORD PTR [rbp-40], rax
mov rax, QWORD PTR [rbp-40]
add rax, 8
mov rdi, rax
call std::remove_reference<std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >&>::type&& std::move<std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >&>(std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >&)
mov rdx, rax
mov rax, QWORD PTR [rbp-104]
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::operator=(std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >&&)
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rax]
movzx ecx, BYTE PTR [rbp-108]
mov rax, QWORD PTR [rbp-104]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
lea rax, [rbp-88]
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >::operator++()
jmp .L863
.L862:
cmp BYTE PTR [rbp-108], 1
jne .L864
mov rax, QWORD PTR [rbp-104]
movzx eax, BYTE PTR [rax+140]
or BYTE PTR [rbp-17], al
.L864:
mov rax, QWORD PTR [rbp-104]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-104]
mov rax, QWORD PTR [rax+40]
cmp rdx, rax
jne .L865
mov ebx, 0
jmp .L866
.L865:
mov rax, QWORD PTR [rbp-104]
mov rax, QWORD PTR [rax+24]
lea rdx, [rax+1]
mov rax, QWORD PTR [rbp-104]
mov QWORD PTR [rax+24], rdx
mov ebx, 1
.L866:
lea rax, [rbp-80]
mov rdi, rax
call std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::~vector() [complete object destructor]
cmp ebx, 1
jne .L861
jmp .L867
.L873:
nop
.L861:
cmp BYTE PTR [rbp-108], 0
jne .L868
mov rax, QWORD PTR [rbp-104]
movzx eax, BYTE PTR [rax+140]
mov BYTE PTR [rbp-17], al
.L868:
mov rax, QWORD PTR [rbp-104]
add rax, 96
mov rdi, rax
call std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::clear()
movzx eax, BYTE PTR [rbp-17]
jmp .L872
mov rbx, rax
lea rax, [rbp-80]
mov rdi, rax
call std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::~vector() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L872:
add rsp, 104
pop rbx
pop rbp
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_main_dispatch(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, std::integral_constant<bool, true>):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov eax, esi
mov BYTE PTR [rbp-12], al
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+116], 0
mov rax, QWORD PTR [rbp-8]
add rax, 96
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_State_info<std::integral_constant<bool, true>, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::_M_get_sol_pos()
mov QWORD PTR [rax], 0
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+64]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::operator=(std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&)
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+96]
movzx ecx, BYTE PTR [rbp-12]
mov rax, QWORD PTR [rbp-8]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
mov rax, QWORD PTR [rbp-8]
movzx eax, BYTE PTR [rax+116]
leave
ret
__gnu_cxx::new_allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >::new_allocator() [base object constructor]:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
nop
pop rbp
ret
__gnu_cxx::new_allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >::~new_allocator() [base object destructor]:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
nop
pop rbp
ret
std::shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >::shared_ptr<std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, std::locale const&, std::regex_constants::syntax_option_type&>(std::_Sp_alloc_shared_tag<std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > > >, std::locale const&, std::regex_constants::syntax_option_type&):
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov QWORD PTR [rbp-40], rdx
mov QWORD PTR [rbp-48], rcx
mov rbx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-48]
mov rdi, rax
call std::regex_constants::syntax_option_type& std::forward<std::regex_constants::syntax_option_type&>(std::remove_reference<std::regex_constants::syntax_option_type&>::type&)
mov r12, rax
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::locale const& std::forward<std::locale const&>(std::remove_reference<std::locale const&>::type&)
mov rdx, rax
mov rax, QWORD PTR [rbp-32]
mov rcx, r12
mov rsi, rax
mov rdi, rbx
call std::__shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, std::locale const&, std::regex_constants::syntax_option_type&>(std::_Sp_alloc_shared_tag<std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > > >, std::locale const&, std::regex_constants::syntax_option_type&)
nop
add rsp, 32
pop rbx
pop r12
pop rbp
ret
std::__shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2>::get() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
pop rbp
ret
.LC17:
.string "basic_string::erase"
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::erase(unsigned long, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov edx, OFFSET FLAT:.LC17
mov rsi, rcx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_check(unsigned long, char const*) const
cmp QWORD PTR [rbp-24], -1
jne .L882
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_set_length(unsigned long)
jmp .L883
.L882:
cmp QWORD PTR [rbp-24], 0
je .L883
mov rdx, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_limit(unsigned long, unsigned long) const
mov rdx, rax
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_erase(unsigned long, unsigned long)
.L883:
mov rax, QWORD PTR [rbp-8]
leave
ret
std::__detail::_Scanner<char>::_M_eat_escape_awk():
push rbp
mov rbp, rsp
push rbx
sub rsp, 40
mov QWORD PTR [rbp-40], rdi
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+176]
lea rcx, [rax+1]
mov rdx, QWORD PTR [rbp-40]
mov QWORD PTR [rdx+176], rcx
movzx eax, BYTE PTR [rax]
mov BYTE PTR [rbp-21], al
mov rbx, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+192]
movsx ecx, BYTE PTR [rbp-21]
mov edx, 0
mov esi, ecx
mov rdi, rax
call std::ctype<char>::narrow(char, char) const
movsx eax, al
mov esi, eax
mov rdi, rbx
call std::__detail::_ScannerBase::_M_find_escape(char)
mov QWORD PTR [rbp-32], rax
cmp QWORD PTR [rbp-32], 0
je .L886
mov rax, QWORD PTR [rbp-40]
mov DWORD PTR [rax+144], 1
mov rax, QWORD PTR [rbp-40]
lea rcx, [rax+200]
mov rax, QWORD PTR [rbp-32]
movzx eax, BYTE PTR [rax]
movsx eax, al
mov edx, eax
mov esi, 1
mov rdi, rcx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(unsigned long, char)
jmp .L885
.L886:
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+192]
movsx edx, BYTE PTR [rbp-21]
mov esi, 2048
mov rdi, rax
call std::ctype<char>::is(unsigned short, char) const
test al, al
je .L888
cmp BYTE PTR [rbp-21], 56
je .L888
cmp BYTE PTR [rbp-21], 57
je .L888
mov eax, 1
jmp .L889
.L888:
mov eax, 0
.L889:
test al, al
je .L890
mov rax, QWORD PTR [rbp-40]
lea rcx, [rax+200]
movsx eax, BYTE PTR [rbp-21]
mov edx, eax
mov esi, 1
mov rdi, rcx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(unsigned long, char)
mov DWORD PTR [rbp-20], 0
.L894:
cmp DWORD PTR [rbp-20], 1
jg .L891
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rax+176]
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+184]
cmp rdx, rax
je .L891
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+192]
mov rdx, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rdx+176]
movzx edx, BYTE PTR [rdx]
movsx edx, dl
mov esi, 2048
mov rdi, rax
call std::ctype<char>::is(unsigned short, char) const
test al, al
je .L891
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+176]
movzx eax, BYTE PTR [rax]
cmp al, 56
je .L891
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+176]
movzx eax, BYTE PTR [rax]
cmp al, 57
je .L891
mov eax, 1
jmp .L892
.L891:
mov eax, 0
.L892:
test al, al
je .L893
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+176]
lea rcx, [rax+1]
mov rdx, QWORD PTR [rbp-40]
mov QWORD PTR [rdx+176], rcx
movzx eax, BYTE PTR [rax]
movsx eax, al
mov rdx, QWORD PTR [rbp-40]
add rdx, 200
mov esi, eax
mov rdi, rdx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator+=(char)
add DWORD PTR [rbp-20], 1
jmp .L894
.L893:
mov rax, QWORD PTR [rbp-40]
mov DWORD PTR [rax+144], 2
jmp .L885
.L890:
mov esi, OFFSET FLAT:.LC14
mov edi, 2
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
.L885:
add rsp, 40
pop rbx
pop rbp
ret
.LC18:
.string "Unexpected end of regex when in an open parenthesis."
.LC19:
.string "Invalid special open parenthesis."
std::__detail::_Scanner<char>::_M_scan_normal():
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-40], rdi
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+176]
lea rcx, [rax+1]
mov rdx, QWORD PTR [rbp-40]
mov QWORD PTR [rdx+176], rcx
movzx eax, BYTE PTR [rax]
mov BYTE PTR [rbp-1], al
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+192]
movsx ecx, BYTE PTR [rbp-1]
mov edx, 32
mov esi, ecx
mov rdi, rax
call std::ctype<char>::narrow(char, char) const
movsx edx, al
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+160]
mov esi, edx
mov rdi, rax
call strchr
test rax, rax
sete al
test al, al
je .L896
mov rax, QWORD PTR [rbp-40]
mov DWORD PTR [rax+144], 1
mov rax, QWORD PTR [rbp-40]
lea rcx, [rax+200]
movsx eax, BYTE PTR [rbp-1]
mov edx, eax
mov esi, 1
mov rdi, rcx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(unsigned long, char)
jmp .L895
.L896:
cmp BYTE PTR [rbp-1], 92
jne .L898
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rax+176]
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+184]
cmp rdx, rax
jne .L899
mov esi, OFFSET FLAT:.LC11
mov edi, 2
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
.L899:
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__detail::_ScannerBase::_M_is_basic() const
xor eax, 1
test al, al
jne .L900
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+176]
movzx eax, BYTE PTR [rax]
cmp al, 40
je .L901
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+176]
movzx eax, BYTE PTR [rax]
cmp al, 41
je .L901
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+176]
movzx eax, BYTE PTR [rax]
cmp al, 123
je .L901
.L900:
mov eax, 1
jmp .L902
.L901:
mov eax, 0
.L902:
test al, al
je .L903
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+240]
mov rdx, rax
mov rax, QWORD PTR [rbp-40]
add rdx, rax
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+232]
and eax, 1
test rax, rax
je .L904
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+240]
mov rcx, rax
mov rax, QWORD PTR [rbp-40]
add rax, rcx
mov rcx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+232]
sub rax, 1
add rax, rcx
mov rax, QWORD PTR [rax]
jmp .L905
.L904:
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+232]
.L905:
mov rdi, rdx
call rax
jmp .L895
.L903:
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+176]
lea rcx, [rax+1]
mov rdx, QWORD PTR [rbp-40]
mov QWORD PTR [rdx+176], rcx
movzx eax, BYTE PTR [rax]
mov BYTE PTR [rbp-1], al
.L898:
cmp BYTE PTR [rbp-1], 40
jne .L906
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__detail::_ScannerBase::_M_is_ecma() const
test al, al
je .L907
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+176]
movzx eax, BYTE PTR [rax]
cmp al, 63
jne .L907
mov eax, 1
jmp .L908
.L907:
mov eax, 0
.L908:
test al, al
je .L909
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+176]
lea rdx, [rax+1]
mov rax, QWORD PTR [rbp-40]
mov QWORD PTR [rax+176], rdx
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rax+176]
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+184]
cmp rdx, rax
sete al
test al, al
je .L910
mov esi, OFFSET FLAT:.LC18
mov edi, 5
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
.L910:
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+176]
movzx eax, BYTE PTR [rax]
cmp al, 58
jne .L911
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+176]
lea rdx, [rax+1]
mov rax, QWORD PTR [rbp-40]
mov QWORD PTR [rax+176], rdx
mov rax, QWORD PTR [rbp-40]
mov DWORD PTR [rax+144], 6
jmp .L895
.L911:
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+176]
movzx eax, BYTE PTR [rax]
cmp al, 61
jne .L913
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+176]
lea rdx, [rax+1]
mov rax, QWORD PTR [rbp-40]
mov QWORD PTR [rax+176], rdx
mov rax, QWORD PTR [rbp-40]
mov DWORD PTR [rax+144], 7
mov rax, QWORD PTR [rbp-40]
add rax, 200
mov edx, 112
mov esi, 1
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(unsigned long, char)
jmp .L895
.L913:
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+176]
movzx eax, BYTE PTR [rax]
cmp al, 33
jne .L914
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+176]
lea rdx, [rax+1]
mov rax, QWORD PTR [rbp-40]
mov QWORD PTR [rax+176], rdx
mov rax, QWORD PTR [rbp-40]
mov DWORD PTR [rax+144], 7
mov rax, QWORD PTR [rbp-40]
add rax, 200
mov edx, 110
mov esi, 1
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(unsigned long, char)
jmp .L895
.L914:
mov esi, OFFSET FLAT:.LC19
mov edi, 5
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
jmp .L895
.L909:
mov rax, QWORD PTR [rbp-40]
mov eax, DWORD PTR [rax+140]
mov esi, 2
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
setne al
test al, al
je .L916
mov rax, QWORD PTR [rbp-40]
mov DWORD PTR [rax+144], 6
jmp .L895
.L916:
mov rax, QWORD PTR [rbp-40]
mov DWORD PTR [rax+144], 5
jmp .L895
.L906:
cmp BYTE PTR [rbp-1], 41
jne .L917
mov rax, QWORD PTR [rbp-40]
mov DWORD PTR [rax+144], 8
jmp .L895
.L917:
cmp BYTE PTR [rbp-1], 91
jne .L918
mov rax, QWORD PTR [rbp-40]
mov DWORD PTR [rax+136], 2
mov rax, QWORD PTR [rbp-40]
mov BYTE PTR [rax+168], 1
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rax+176]
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+184]
cmp rdx, rax
je .L919
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+176]
movzx eax, BYTE PTR [rax]
cmp al, 94
jne .L919
mov rax, QWORD PTR [rbp-40]
mov DWORD PTR [rax+144], 10
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+176]
lea rdx, [rax+1]
mov rax, QWORD PTR [rbp-40]
mov QWORD PTR [rax+176], rdx
jmp .L895
.L919:
mov rax, QWORD PTR [rbp-40]
mov DWORD PTR [rax+144], 9
jmp .L895
.L918:
cmp BYTE PTR [rbp-1], 123
jne .L921
mov rax, QWORD PTR [rbp-40]
mov DWORD PTR [rax+136], 1
mov rax, QWORD PTR [rbp-40]
mov DWORD PTR [rax+144], 12
jmp .L895
.L921:
cmp BYTE PTR [rbp-1], 93
je .L922
cmp BYTE PTR [rbp-1], 125
je .L922
mov rax, QWORD PTR [rbp-40]
mov QWORD PTR [rbp-16], rax
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+192]
movsx ecx, BYTE PTR [rbp-1]
mov edx, 0
mov esi, ecx
mov rdi, rax
call std::ctype<char>::narrow(char, char) const
mov BYTE PTR [rbp-17], al
.L925:
mov rax, QWORD PTR [rbp-16]
movzx eax, BYTE PTR [rax]
test al, al
je .L926
mov rax, QWORD PTR [rbp-16]
movzx eax, BYTE PTR [rax]
cmp BYTE PTR [rbp-17], al
jne .L924
mov rax, QWORD PTR [rbp-16]
mov edx, DWORD PTR [rax+4]
mov rax, QWORD PTR [rbp-40]
mov DWORD PTR [rax+144], edx
jmp .L895
.L924:
add QWORD PTR [rbp-16], 8
jmp .L925
.L922:
mov rax, QWORD PTR [rbp-40]
mov DWORD PTR [rax+144], 1
mov rax, QWORD PTR [rbp-40]
lea rcx, [rax+200]
movsx eax, BYTE PTR [rbp-1]
mov edx, eax
mov esi, 1
mov rdi, rcx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(unsigned long, char)
jmp .L895
.L926:
nop
.L895:
leave
ret
.LC20:
.string "Unexpected end of regex when in bracket expression."
.LC21:
.string "Unexpected character class open bracket."
std::__detail::_Scanner<char>::_M_scan_in_bracket():
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rax+176]
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+184]
cmp rdx, rax
jne .L928
mov esi, OFFSET FLAT:.LC20
mov edi, 4
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
.L928:
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+176]
lea rcx, [rax+1]
mov rdx, QWORD PTR [rbp-24]
mov QWORD PTR [rdx+176], rcx
movzx eax, BYTE PTR [rax]
mov BYTE PTR [rbp-1], al
cmp BYTE PTR [rbp-1], 45
jne .L929
mov rax, QWORD PTR [rbp-24]
mov DWORD PTR [rax+144], 28
jmp .L930
.L929:
cmp BYTE PTR [rbp-1], 91
jne .L931
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rax+176]
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+184]
cmp rdx, rax
jne .L932
mov esi, OFFSET FLAT:.LC21
mov edi, 4
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
.L932:
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+176]
movzx eax, BYTE PTR [rax]
cmp al, 46
jne .L933
mov rax, QWORD PTR [rbp-24]
mov DWORD PTR [rax+144], 16
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+176]
lea rcx, [rax+1]
mov rdx, QWORD PTR [rbp-24]
mov QWORD PTR [rdx+176], rcx
movzx eax, BYTE PTR [rax]
movsx edx, al
mov rax, QWORD PTR [rbp-24]
mov esi, edx
mov rdi, rax
call std::__detail::_Scanner<char>::_M_eat_class(char)
jmp .L930
.L933:
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+176]
movzx eax, BYTE PTR [rax]
cmp al, 58
jne .L935
mov rax, QWORD PTR [rbp-24]
mov DWORD PTR [rax+144], 15
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+176]
lea rcx, [rax+1]
mov rdx, QWORD PTR [rbp-24]
mov QWORD PTR [rdx+176], rcx
movzx eax, BYTE PTR [rax]
movsx edx, al
mov rax, QWORD PTR [rbp-24]
mov esi, edx
mov rdi, rax
call std::__detail::_Scanner<char>::_M_eat_class(char)
jmp .L930
.L935:
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+176]
movzx eax, BYTE PTR [rax]
cmp al, 61
jne .L936
mov rax, QWORD PTR [rbp-24]
mov DWORD PTR [rax+144], 17
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+176]
lea rcx, [rax+1]
mov rdx, QWORD PTR [rbp-24]
mov QWORD PTR [rdx+176], rcx
movzx eax, BYTE PTR [rax]
movsx edx, al
mov rax, QWORD PTR [rbp-24]
mov esi, edx
mov rdi, rax
call std::__detail::_Scanner<char>::_M_eat_class(char)
jmp .L930
.L936:
mov rax, QWORD PTR [rbp-24]
mov DWORD PTR [rax+144], 1
mov rax, QWORD PTR [rbp-24]
lea rcx, [rax+200]
movsx eax, BYTE PTR [rbp-1]
mov edx, eax
mov esi, 1
mov rdi, rcx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(unsigned long, char)
jmp .L930
.L931:
cmp BYTE PTR [rbp-1], 93
jne .L937
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__detail::_ScannerBase::_M_is_ecma() const
test al, al
jne .L938
mov rax, QWORD PTR [rbp-24]
movzx eax, BYTE PTR [rax+168]
xor eax, 1
test al, al
je .L937
.L938:
mov eax, 1
jmp .L939
.L937:
mov eax, 0
.L939:
test al, al
je .L940
mov rax, QWORD PTR [rbp-24]
mov DWORD PTR [rax+144], 11
mov rax, QWORD PTR [rbp-24]
mov DWORD PTR [rax+136], 0
jmp .L930
.L940:
cmp BYTE PTR [rbp-1], 92
jne .L941
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__detail::_ScannerBase::_M_is_ecma() const
test al, al
jne .L942
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__detail::_ScannerBase::_M_is_awk() const
test al, al
je .L941
.L942:
mov eax, 1
jmp .L943
.L941:
mov eax, 0
.L943:
test al, al
je .L944
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+240]
mov rdx, rax
mov rax, QWORD PTR [rbp-24]
add rdx, rax
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+232]
and eax, 1
test rax, rax
je .L945
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+240]
mov rcx, rax
mov rax, QWORD PTR [rbp-24]
add rax, rcx
mov rcx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+232]
sub rax, 1
add rax, rcx
mov rax, QWORD PTR [rax]
jmp .L946
.L945:
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+232]
.L946:
mov rdi, rdx
call rax
jmp .L930
.L944:
mov rax, QWORD PTR [rbp-24]
mov DWORD PTR [rax+144], 1
mov rax, QWORD PTR [rbp-24]
lea rcx, [rax+200]
movsx eax, BYTE PTR [rbp-1]
mov edx, eax
mov esi, 1
mov rdi, rcx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(unsigned long, char)
.L930:
mov rax, QWORD PTR [rbp-24]
mov BYTE PTR [rax+168], 0
nop
leave
ret
.LC22:
.string "Unexpected end of regex when in brace expression."
.LC23:
.string "Unexpected character in brace expression."
std::__detail::_Scanner<char>::_M_scan_in_brace():
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rax+176]
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+184]
cmp rdx, rax
jne .L948
mov esi, OFFSET FLAT:.LC22
mov edi, 6
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
.L948:
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+176]
lea rcx, [rax+1]
mov rdx, QWORD PTR [rbp-24]
mov QWORD PTR [rdx+176], rcx
movzx eax, BYTE PTR [rax]
mov BYTE PTR [rbp-1], al
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+192]
movsx edx, BYTE PTR [rbp-1]
mov esi, 2048
mov rdi, rax
call std::ctype<char>::is(unsigned short, char) const
test al, al
je .L949
mov rax, QWORD PTR [rbp-24]
mov DWORD PTR [rax+144], 26
mov rax, QWORD PTR [rbp-24]
lea rcx, [rax+200]
movsx eax, BYTE PTR [rbp-1]
mov edx, eax
mov esi, 1
mov rdi, rcx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(unsigned long, char)
.L953:
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rax+176]
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+184]
cmp rdx, rax
je .L950
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+192]
mov rdx, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rdx+176]
movzx edx, BYTE PTR [rdx]
movsx edx, dl
mov esi, 2048
mov rdi, rax
call std::ctype<char>::is(unsigned short, char) const
test al, al
je .L950
mov eax, 1
jmp .L951
.L950:
mov eax, 0
.L951:
test al, al
je .L959
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+176]
lea rcx, [rax+1]
mov rdx, QWORD PTR [rbp-24]
mov QWORD PTR [rdx+176], rcx
movzx eax, BYTE PTR [rax]
movsx eax, al
mov rdx, QWORD PTR [rbp-24]
add rdx, 200
mov esi, eax
mov rdi, rdx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator+=(char)
jmp .L953
.L949:
cmp BYTE PTR [rbp-1], 44
jne .L954
mov rax, QWORD PTR [rbp-24]
mov DWORD PTR [rax+144], 25
jmp .L959
.L954:
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__detail::_ScannerBase::_M_is_basic() const
test al, al
je .L955
cmp BYTE PTR [rbp-1], 92
jne .L956
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rax+176]
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+184]
cmp rdx, rax
je .L956
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+176]
movzx eax, BYTE PTR [rax]
cmp al, 125
jne .L956
mov rax, QWORD PTR [rbp-24]
mov DWORD PTR [rax+136], 0
mov rax, QWORD PTR [rbp-24]
mov DWORD PTR [rax+144], 13
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+176]
lea rdx, [rax+1]
mov rax, QWORD PTR [rbp-24]
mov QWORD PTR [rax+176], rdx
jmp .L959
.L956:
mov esi, OFFSET FLAT:.LC23
mov edi, 7
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
jmp .L959
.L955:
cmp BYTE PTR [rbp-1], 125
jne .L958
mov rax, QWORD PTR [rbp-24]
mov DWORD PTR [rax+136], 0
mov rax, QWORD PTR [rbp-24]
mov DWORD PTR [rax+144], 13
jmp .L959
.L958:
mov esi, OFFSET FLAT:.LC23
mov edi, 7
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
.L959:
nop
leave
ret
std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_Deque_base() [base object constructor]:
push rbp
mov rbp, rsp
push rbx
sub rsp, 24
mov QWORD PTR [rbp-24], rdi
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_Deque_impl::_Deque_impl() [complete object constructor]
mov rax, QWORD PTR [rbp-24]
mov esi, 0
mov rdi, rax
call std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_initialize_map(unsigned long)
jmp .L963
mov rbx, rax
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_Deque_impl::~_Deque_impl() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L963:
add rsp, 24
pop rbx
pop rbp
ret
void std::allocator_traits<std::allocator<unsigned long> >::construct<unsigned long, unsigned long const&>(std::allocator<unsigned long>&, unsigned long*, unsigned long const&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call unsigned long const& std::forward<unsigned long const&>(std::remove_reference<unsigned long const&>::type&)
mov rdx, rax
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call void __gnu_cxx::new_allocator<unsigned long>::construct<unsigned long, unsigned long const&>(unsigned long*, unsigned long const&)
nop
leave
ret
std::vector<unsigned long, std::allocator<unsigned long> >::end():
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov rax, QWORD PTR [rbp-24]
lea rdx, [rax+8]
lea rax, [rbp-8]
mov rsi, rdx
mov rdi, rax
call __gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > >::__normal_iterator(unsigned long* const&)
mov rax, QWORD PTR [rbp-8]
leave
ret
.LC24:
.string "vector::_M_realloc_insert"
void std::vector<unsigned long, std::allocator<unsigned long> >::_M_realloc_insert<unsigned long const&>(__gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > >, unsigned long const&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 104
mov QWORD PTR [rbp-88], rdi
mov QWORD PTR [rbp-96], rsi
mov QWORD PTR [rbp-104], rdx
mov rax, QWORD PTR [rbp-88]
mov edx, OFFSET FLAT:.LC24
mov esi, 1
mov rdi, rax
call std::vector<unsigned long, std::allocator<unsigned long> >::_M_check_len(unsigned long, char const*) const
mov QWORD PTR [rbp-32], rax
mov rax, QWORD PTR [rbp-88]
mov rax, QWORD PTR [rax]
mov QWORD PTR [rbp-40], rax
mov rax, QWORD PTR [rbp-88]
mov rax, QWORD PTR [rax+8]
mov QWORD PTR [rbp-48], rax
mov rax, QWORD PTR [rbp-88]
mov rdi, rax
call std::vector<unsigned long, std::allocator<unsigned long> >::begin()
mov QWORD PTR [rbp-72], rax
lea rdx, [rbp-72]
lea rax, [rbp-96]
mov rsi, rdx
mov rdi, rax
call __gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > >::difference_type __gnu_cxx::operator-<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > >(__gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > > const&, __gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > > const&)
mov QWORD PTR [rbp-56], rax
mov rax, QWORD PTR [rbp-88]
mov rdx, QWORD PTR [rbp-32]
mov rsi, rdx
mov rdi, rax
call std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_M_allocate(unsigned long)
mov QWORD PTR [rbp-64], rax
mov rax, QWORD PTR [rbp-64]
mov QWORD PTR [rbp-24], rax
mov rax, QWORD PTR [rbp-104]
mov rdi, rax
call unsigned long const& std::forward<unsigned long const&>(std::remove_reference<unsigned long const&>::type&)
mov rsi, rax
mov rax, QWORD PTR [rbp-56]
lea rdx, [0+rax*8]
mov rax, QWORD PTR [rbp-64]
lea rcx, [rdx+rax]
mov rax, QWORD PTR [rbp-88]
mov rdx, rsi
mov rsi, rcx
mov rdi, rax
call void std::allocator_traits<std::allocator<unsigned long> >::construct<unsigned long, unsigned long const&>(std::allocator<unsigned long>&, unsigned long*, unsigned long const&)
mov QWORD PTR [rbp-24], 0
mov rax, QWORD PTR [rbp-88]
mov rdi, rax
call std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_M_get_Tp_allocator()
mov rbx, rax
lea rax, [rbp-96]
mov rdi, rax
call __gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > >::base() const
mov rsi, QWORD PTR [rax]
mov rdx, QWORD PTR [rbp-64]
mov rax, QWORD PTR [rbp-40]
mov rcx, rbx
mov rdi, rax
call unsigned long* std::__uninitialized_move_if_noexcept_a<unsigned long*, unsigned long*, std::allocator<unsigned long> >(unsigned long*, unsigned long*, unsigned long*, std::allocator<unsigned long>&)
mov QWORD PTR [rbp-24], rax
add QWORD PTR [rbp-24], 8
mov rax, QWORD PTR [rbp-88]
mov rdi, rax
call std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_M_get_Tp_allocator()
mov rbx, rax
lea rax, [rbp-96]
mov rdi, rax
call __gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > >::base() const
mov rax, QWORD PTR [rax]
mov rdx, QWORD PTR [rbp-24]
mov rsi, QWORD PTR [rbp-48]
mov rcx, rbx
mov rdi, rax
call unsigned long* std::__uninitialized_move_if_noexcept_a<unsigned long*, unsigned long*, std::allocator<unsigned long> >(unsigned long*, unsigned long*, unsigned long*, std::allocator<unsigned long>&)
mov QWORD PTR [rbp-24], rax
mov rax, QWORD PTR [rbp-88]
mov rdi, rax
call std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_M_get_Tp_allocator()
mov rdx, rax
mov rcx, QWORD PTR [rbp-48]
mov rax, QWORD PTR [rbp-40]
mov rsi, rcx
mov rdi, rax
call void std::_Destroy<unsigned long*, unsigned long>(unsigned long*, unsigned long*, std::allocator<unsigned long>&)
mov rax, QWORD PTR [rbp-88]
mov rdx, QWORD PTR [rbp-88]
mov rdx, QWORD PTR [rdx+16]
sub rdx, QWORD PTR [rbp-40]
sar rdx, 3
mov rcx, QWORD PTR [rbp-40]
mov rsi, rcx
mov rdi, rax
call std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_M_deallocate(unsigned long*, unsigned long)
mov rax, QWORD PTR [rbp-88]
mov rdx, QWORD PTR [rbp-64]
mov QWORD PTR [rax], rdx
mov rax, QWORD PTR [rbp-88]
mov rdx, QWORD PTR [rbp-24]
mov QWORD PTR [rax+8], rdx
mov rax, QWORD PTR [rbp-32]
lea rdx, [0+rax*8]
mov rax, QWORD PTR [rbp-64]
add rdx, rax
mov rax, QWORD PTR [rbp-88]
mov QWORD PTR [rax+16], rdx
jmp .L974
mov rdi, rax
call __cxa_begin_catch
cmp QWORD PTR [rbp-24], 0
jne .L969
mov rax, QWORD PTR [rbp-56]
lea rdx, [0+rax*8]
mov rax, QWORD PTR [rbp-64]
add rdx, rax
mov rax, QWORD PTR [rbp-88]
mov rsi, rdx
mov rdi, rax
call void std::allocator_traits<std::allocator<unsigned long> >::destroy<unsigned long>(std::allocator<unsigned long>&, unsigned long*)
jmp .L970
.L969:
mov rax, QWORD PTR [rbp-88]
mov rdi, rax
call std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_M_get_Tp_allocator()
mov rdx, rax
mov rcx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-64]
mov rsi, rcx
mov rdi, rax
call void std::_Destroy<unsigned long*, unsigned long>(unsigned long*, unsigned long*, std::allocator<unsigned long>&)
.L970:
mov rax, QWORD PTR [rbp-88]
mov rdx, QWORD PTR [rbp-32]
mov rcx, QWORD PTR [rbp-64]
mov rsi, rcx
mov rdi, rax
call std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_M_deallocate(unsigned long*, unsigned long)
call __cxa_rethrow
mov rbx, rax
call __cxa_end_catch
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L974:
add rsp, 104
pop rbx
pop rbp
ret
__gnu_cxx::__aligned_membuf<std::function<bool (char)> >::_M_addr():
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::function<bool (char)>::function() [base object constructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Function_base::_Function_base() [base object constructor]
nop
leave
ret
std::__detail::_State<char>::_M_get_matcher():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
add rax, 16
mov rdi, rax
call __gnu_cxx::__aligned_membuf<std::function<bool (char)> >::_M_addr()
leave
ret
std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::push_back(std::__detail::_State<char>&&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-16]
mov rdi, rax
call std::remove_reference<std::__detail::_State<char>&>::type&& std::move<std::__detail::_State<char>&>(std::__detail::_State<char>&)
mov rdx, rax
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::__detail::_State<char>& std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::emplace_back<std::__detail::_State<char> >(std::__detail::_State<char>&&)
nop
leave
ret
std::remove_reference<std::function<bool (char)>&>::type&& std::move<std::function<bool (char)>&>(std::function<bool (char)>&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::function<bool (char)>::function(std::function<bool (char)>&&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Function_base::_Function_base() [base object constructor]
mov rdx, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rbp-16]
mov rsi, rdx
mov rdi, rax
call std::function<bool (char)>::swap(std::function<bool (char)>&)
nop
leave
ret
std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_term():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_assertion()
test al, al
je .L985
mov eax, 1
jmp .L986
.L985:
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_atom()
test al, al
je .L987
.L989:
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_quantifier()
test al, al
je .L988
jmp .L989
.L988:
mov eax, 1
jmp .L986
.L987:
mov eax, 0
.L986:
leave
ret
std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov rsi, rdx
mov rdi, rax
call std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::push_back(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&)
nop
leave
ret
std::remove_reference<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&>::type&& std::move<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&>(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::push_back(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-16]
mov rdi, rax
call std::remove_reference<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&>::type&& std::move<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&>(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&)
mov rdx, rax
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >& std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::emplace_back<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
nop
leave
ret
std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::back():
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-40], rdi
lea rax, [rbp-32]
mov rdx, QWORD PTR [rbp-40]
mov rsi, rdx
mov rdi, rax
call std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::end()
lea rax, [rbp-32]
mov rdi, rax
call std::_Deque_iterator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::operator--()
lea rax, [rbp-32]
mov rdi, rax
call std::_Deque_iterator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::operator*() const
nop
leave
ret
std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::pop_back():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+48]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+56]
cmp rdx, rax
je .L997
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+48]
lea rdx, [rax-24]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+48], rdx
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+48]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call void std::allocator_traits<std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::destroy<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >(std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*)
jmp .L999
.L997:
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_pop_back_aux()
.L999:
nop
leave
ret
__gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > >::operator-(long) const:
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax]
mov rdx, QWORD PTR [rbp-32]
sal rdx, 3
neg rdx
add rax, rdx
mov QWORD PTR [rbp-8], rax
lea rdx, [rbp-8]
lea rax, [rbp-16]
mov rsi, rdx
mov rdi, rax
call __gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > >::__normal_iterator(unsigned long* const&)
mov rax, QWORD PTR [rbp-16]
leave
ret
__gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > >::operator*() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
pop rbp
ret
void std::allocator_traits<std::allocator<unsigned long> >::destroy<unsigned long>(std::allocator<unsigned long>&, unsigned long*):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call void __gnu_cxx::new_allocator<unsigned long>::destroy<unsigned long>(unsigned long*)
nop
leave
ret
__gnu_cxx::__normal_iterator<std::__detail::_State<char>*, std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > > >::__normal_iterator(std::__detail::_State<char>* const&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], rdx
nop
pop rbp
ret
__gnu_cxx::__normal_iterator<std::__detail::_State<char>*, std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > > >::base() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
__gnu_cxx::new_allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >::~new_allocator() [base object destructor]:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
nop
pop rbp
ret
std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_deallocate_node(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov edi, 24
call std::__deque_buf_size(unsigned long)
mov rdx, rax
mov rax, QWORD PTR [rbp-8]
mov rcx, QWORD PTR [rbp-16]
mov rsi, rcx
mov rdi, rax
call std::allocator_traits<std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::deallocate(std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*, unsigned long)
nop
leave
ret
std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_get_map_allocator() const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-16]
mov rdi, rax
call std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_get_Tp_allocator() const
mov rdx, rax
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >(std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > const&)
mov rax, QWORD PTR [rbp-8]
leave
ret
std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::~allocator() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call __gnu_cxx::new_allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::~new_allocator() [base object destructor]
nop
leave
ret
std::allocator_traits<std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*> >::deallocate(std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >**, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rdx, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call __gnu_cxx::new_allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::deallocate(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >**, unsigned long)
nop
leave
ret
__gnu_cxx::new_allocator<std::__cxx11::sub_match<char const*> >::new_allocator(__gnu_cxx::new_allocator<std::__cxx11::sub_match<char const*> > const&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
nop
pop rbp
ret
__gnu_cxx::new_allocator<std::__cxx11::sub_match<char const*> >::deallocate(std::__cxx11::sub_match<char const*>*, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rax, QWORD PTR [rbp-16]
mov rdi, rax
call operator delete(void*)
leave
ret
std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::max_size() const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_get_Tp_allocator() const
mov rdi, rax
call std::allocator_traits<std::allocator<std::__cxx11::sub_match<char const*> > >::max_size(std::allocator<std::__cxx11::sub_match<char const*> > const&)
leave
ret
std::__cxx11::sub_match<char const*>* std::__uninitialized_default_n_a<std::__cxx11::sub_match<char const*>*, unsigned long, std::__cxx11::sub_match<char const*> >(std::__cxx11::sub_match<char const*>*, unsigned long, std::allocator<std::__cxx11::sub_match<char const*> >&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::sub_match<char const*>* std::__uninitialized_default_n<std::__cxx11::sub_match<char const*>*, unsigned long>(std::__cxx11::sub_match<char const*>*, unsigned long)
leave
ret
std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_check_len(unsigned long, char const*) const:
push rbp
mov rbp, rsp
push rbx
sub rsp, 56
mov QWORD PTR [rbp-40], rdi
mov QWORD PTR [rbp-48], rsi
mov QWORD PTR [rbp-56], rdx
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::max_size() const
mov rbx, rax
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::size() const
sub rbx, rax
mov rdx, rbx
mov rax, QWORD PTR [rbp-48]
cmp rdx, rax
setb al
test al, al
je .L1022
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::__throw_length_error(char const*)
.L1022:
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::size() const
mov rbx, rax
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::size() const
mov QWORD PTR [rbp-32], rax
lea rdx, [rbp-48]
lea rax, [rbp-32]
mov rsi, rdx
mov rdi, rax
call unsigned long const& std::max<unsigned long>(unsigned long const&, unsigned long const&)
mov rax, QWORD PTR [rax]
add rax, rbx
mov QWORD PTR [rbp-24], rax
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::size() const
cmp QWORD PTR [rbp-24], rax
jb .L1023
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::max_size() const
cmp QWORD PTR [rbp-24], rax
jbe .L1024
.L1023:
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::max_size() const
jmp .L1025
.L1024:
mov rax, QWORD PTR [rbp-24]
.L1025:
add rsp, 56
pop rbx
pop rbp
ret
std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_allocate(unsigned long):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
cmp QWORD PTR [rbp-16], 0
je .L1028
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov rsi, rdx
mov rdi, rax
call std::allocator_traits<std::allocator<std::__cxx11::sub_match<char const*> > >::allocate(std::allocator<std::__cxx11::sub_match<char const*> >&, unsigned long)
jmp .L1030
.L1028:
mov eax, 0
.L1030:
leave
ret
std::__cxx11::sub_match<char const*>* std::__uninitialized_move_if_noexcept_a<std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*, std::allocator<std::__cxx11::sub_match<char const*> > >(std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*, std::allocator<std::__cxx11::sub_match<char const*> >&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 40
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov QWORD PTR [rbp-40], rdx
mov QWORD PTR [rbp-48], rcx
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::move_iterator<std::__cxx11::sub_match<char const*>*> std::__make_move_if_noexcept_iterator<std::__cxx11::sub_match<char const*>, std::move_iterator<std::__cxx11::sub_match<char const*>*> >(std::__cxx11::sub_match<char const*>*)
mov rbx, rax
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::move_iterator<std::__cxx11::sub_match<char const*>*> std::__make_move_if_noexcept_iterator<std::__cxx11::sub_match<char const*>, std::move_iterator<std::__cxx11::sub_match<char const*>*> >(std::__cxx11::sub_match<char const*>*)
mov rdi, rax
mov rdx, QWORD PTR [rbp-48]
mov rax, QWORD PTR [rbp-40]
mov rcx, rdx
mov rdx, rax
mov rsi, rbx
call std::__cxx11::sub_match<char const*>* std::__uninitialized_copy_a<std::move_iterator<std::__cxx11::sub_match<char const*>*>, std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*> >(std::move_iterator<std::__cxx11::sub_match<char const*>*>, std::move_iterator<std::__cxx11::sub_match<char const*>*>, std::__cxx11::sub_match<char const*>*, std::allocator<std::__cxx11::sub_match<char const*> >&)
add rsp, 40
pop rbx
pop rbp
ret
std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_Vector_impl::_Vector_impl() [base object constructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::allocator<std::__cxx11::sub_match<char const*> >::allocator() [base object constructor]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], 0
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+8], 0
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+16], 0
nop
leave
ret
std::_Vector_base<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::_Vector_impl::_Vector_impl(std::allocator<std::pair<char const*, int> > const&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::allocator<std::pair<char const*, int> >::allocator(std::allocator<std::pair<char const*, int> > const&)
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], 0
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+8], 0
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+16], 0
nop
leave
ret
std::_Vector_base<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::_M_create_storage(unsigned long):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::_Vector_base<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::_M_allocate(unsigned long)
mov rdx, rax
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], rdx
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+8], rdx
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
mov rdx, QWORD PTR [rbp-16]
sal rdx, 4
add rdx, rax
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+16], rdx
nop
leave
ret
std::pair<char const*, int>* std::__uninitialized_default_n_a<std::pair<char const*, int>*, unsigned long, std::pair<char const*, int> >(std::pair<char const*, int>*, unsigned long, std::allocator<std::pair<char const*, int> >&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::pair<char const*, int>* std::__uninitialized_default_n<std::pair<char const*, int>*, unsigned long>(std::pair<char const*, int>*, unsigned long)
leave
ret
std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_Vector_base() [base object constructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_Vector_impl::_Vector_impl() [complete object constructor]
nop
leave
ret
std::__uniq_ptr_impl<bool, std::default_delete<bool []> >::__uniq_ptr_impl(bool*):
push rbp
mov rbp, rsp
push rbx
sub rsp, 24
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::tuple<bool*, std::default_delete<bool []> >::tuple<bool*, std::default_delete<bool []>, true>()
mov rbx, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__uniq_ptr_impl<bool, std::default_delete<bool []> >::_M_ptr()
mov QWORD PTR [rax], rbx
nop
add rsp, 24
pop rbx
pop rbp
ret
std::allocator_traits<std::allocator<std::pair<char const*, int> > >::deallocate(std::allocator<std::pair<char const*, int> >&, std::pair<char const*, int>*, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rdx, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call __gnu_cxx::new_allocator<std::pair<char const*, int> >::deallocate(std::pair<char const*, int>*, unsigned long)
nop
leave
ret
void std::_Destroy_aux<true>::__destroy<std::pair<char const*, int>*>(std::pair<char const*, int>*, std::pair<char const*, int>*):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
nop
pop rbp
ret
__gnu_cxx::new_allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >::~new_allocator() [base object destructor]:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
nop
pop rbp
ret
std::allocator_traits<std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::deallocate(std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >&, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rdx, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call __gnu_cxx::new_allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >::deallocate(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, unsigned long)
nop
leave
ret
void std::_Destroy_aux<false>::__destroy<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*>(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
.L1046:
mov rax, QWORD PTR [rbp-8]
cmp rax, QWORD PTR [rbp-16]
je .L1047
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >* std::__addressof<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >&)
mov rdi, rax
call void std::_Destroy<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*)
add QWORD PTR [rbp-8], 32
jmp .L1046
.L1047:
nop
leave
ret
bool*& std::__get_helper<0ul, bool*, std::default_delete<bool []> >(std::_Tuple_impl<0ul, bool*, std::default_delete<bool []> >&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Tuple_impl<0ul, bool*, std::default_delete<bool []> >::_M_head(std::_Tuple_impl<0ul, bool*, std::default_delete<bool []> >&)
leave
ret
std::tuple_element<1ul, std::tuple<bool*, std::default_delete<bool []> > >::type& std::get<1ul, bool*, std::default_delete<bool []> >(std::tuple<bool*, std::default_delete<bool []> >&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::default_delete<bool []>& std::__get_helper<1ul, std::default_delete<bool []>>(std::_Tuple_impl<1ul, std::default_delete<bool []>>&)
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_State_info<std::integral_constant<bool, false>, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::_M_queue(long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-24]
lea rcx, [rbp-16]
mov rsi, rcx
mov rdi, rax
call std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >& std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::emplace_back<long&, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&>(long&, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&)
nop
leave
ret
std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::empty() const:
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::end() const
mov QWORD PTR [rbp-16], rax
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::begin() const
mov QWORD PTR [rbp-8], rax
lea rdx, [rbp-16]
lea rax, [rbp-8]
mov rsi, rdx
mov rdi, rax
call bool __gnu_cxx::operator==<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > const*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >(__gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > const*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > > const&, __gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > const*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > > const&)
nop
leave
ret
std::unique_ptr<bool [], std::default_delete<bool []> >::get() const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__uniq_ptr_impl<bool, std::default_delete<bool []> >::_M_ptr() const
leave
ret
bool* std::fill_n<bool*, unsigned long, bool>(bool*, unsigned long, bool const&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call bool* std::__niter_base<bool*>(bool*)
mov rcx, rax
mov rdx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-16]
mov rsi, rax
mov rdi, rcx
call __gnu_cxx::__enable_if<std::__is_scalar<bool>::__value, bool*>::__type std::__fill_n_a<bool*, unsigned long, bool>(bool*, unsigned long, bool const&)
leave
ret
std::remove_reference<std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >&>::type&& std::move<std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >&>(std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::vector(std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >&&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 24
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rbx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::remove_reference<std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >&>::type&& std::move<std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >&>(std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >&)
mov rsi, rax
mov rdi, rbx
call std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_Vector_base(std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >&&)
nop
add rsp, 24
pop rbx
pop rbp
ret
std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::begin():
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov rdx, QWORD PTR [rbp-24]
lea rax, [rbp-8]
mov rsi, rdx
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >::__normal_iterator(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >* const&)
mov rax, QWORD PTR [rbp-8]
leave
ret
std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::end():
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov rax, QWORD PTR [rbp-24]
lea rdx, [rax+8]
lea rax, [rbp-8]
mov rsi, rdx
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >::__normal_iterator(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >* const&)
mov rax, QWORD PTR [rbp-8]
leave
ret
bool __gnu_cxx::operator!=<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >(__gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > > const&, __gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > > const&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 24
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >::base() const
mov rbx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >::base() const
mov rax, QWORD PTR [rax]
cmp rbx, rax
setne al
add rsp, 24
pop rbx
pop rbp
ret
__gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >::operator++():
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
lea rdx, [rax+32]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], rdx
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
__gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >::operator*() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
pop rbp
ret
std::remove_reference<std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >&>::type&& std::move<std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >&>(std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::operator=(std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >&&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov BYTE PTR [rbp-1], 1
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::remove_reference<std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >&>::type&& std::move<std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >&>(std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >&)
mov rdx, rax
mov rax, QWORD PTR [rbp-24]
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_move_assign(std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >&&, std::integral_constant<bool, true>)
mov rax, QWORD PTR [rbp-24]
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov eax, esi
mov QWORD PTR [rbp-24], rdx
mov BYTE PTR [rbp-12], al
mov rax, QWORD PTR [rbp-8]
lea rdx, [rax+96]
mov rax, QWORD PTR [rbp-24]
mov rsi, rax
mov rdi, rdx
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_State_info<std::integral_constant<bool, false>, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::_M_visited(long)
test al, al
jne .L1091
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+56]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-24]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long) const
mov rdi, rax
call std::__detail::_State<char>::_M_opcode() const
cmp eax, 12
ja .L1076
mov eax, eax
mov rax, QWORD PTR .L1080[0+rax*8]
jmp rax
.L1080:
.quad .L1076
.quad .L1090
.quad .L1089
.quad .L1088
.quad .L1087
.quad .L1086
.quad .L1085
.quad .L1084
.quad .L1083
.quad .L1082
.quad .L1076
.quad .L1081
.quad .L1079
.L1089:
mov rdx, QWORD PTR [rbp-24]
movzx ecx, BYTE PTR [rbp-12]
mov rax, QWORD PTR [rbp-8]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_handle_repeat(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
jmp .L1076
.L1083:
mov rdx, QWORD PTR [rbp-24]
movzx ecx, BYTE PTR [rbp-12]
mov rax, QWORD PTR [rbp-8]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_handle_subexpr_begin(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
jmp .L1076
.L1082:
mov rdx, QWORD PTR [rbp-24]
movzx ecx, BYTE PTR [rbp-12]
mov rax, QWORD PTR [rbp-8]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_handle_subexpr_end(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
jmp .L1076
.L1087:
mov rdx, QWORD PTR [rbp-24]
movzx ecx, BYTE PTR [rbp-12]
mov rax, QWORD PTR [rbp-8]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_handle_line_begin_assertion(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
jmp .L1076
.L1086:
mov rdx, QWORD PTR [rbp-24]
movzx ecx, BYTE PTR [rbp-12]
mov rax, QWORD PTR [rbp-8]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_handle_line_end_assertion(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
jmp .L1076
.L1085:
mov rdx, QWORD PTR [rbp-24]
movzx ecx, BYTE PTR [rbp-12]
mov rax, QWORD PTR [rbp-8]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_handle_word_boundary(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
jmp .L1076
.L1084:
mov rdx, QWORD PTR [rbp-24]
movzx ecx, BYTE PTR [rbp-12]
mov rax, QWORD PTR [rbp-8]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_handle_subexpr_lookahead(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
jmp .L1076
.L1081:
mov rdx, QWORD PTR [rbp-24]
movzx ecx, BYTE PTR [rbp-12]
mov rax, QWORD PTR [rbp-8]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_handle_match(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
jmp .L1076
.L1088:
mov rdx, QWORD PTR [rbp-24]
movzx ecx, BYTE PTR [rbp-12]
mov rax, QWORD PTR [rbp-8]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_handle_backref(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
jmp .L1076
.L1079:
mov rdx, QWORD PTR [rbp-24]
movzx ecx, BYTE PTR [rbp-12]
mov rax, QWORD PTR [rbp-8]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_handle_accept(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
jmp .L1076
.L1090:
mov rdx, QWORD PTR [rbp-24]
movzx ecx, BYTE PTR [rbp-12]
mov rax, QWORD PTR [rbp-8]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_handle_alternative(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
nop
jmp .L1076
.L1091:
nop
.L1076:
leave
ret
std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::clear():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_M_erase_at_end(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*)
nop
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_State_info<std::integral_constant<bool, true>, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::_M_get_sol_pos():
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
add rax, 8
pop rbp
ret
__gnu_cxx::__alloc_traits<std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::sub_match<char const*> >::_S_propagate_on_copy_assign():
push rbp
mov rbp, rsp
mov eax, 0
pop rbp
ret
std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::operator=(std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&):
push rbp
mov rbp, rsp
push r14
push r13
push r12
push rbx
sub rsp, 32
mov QWORD PTR [rbp-56], rdi
mov QWORD PTR [rbp-64], rsi
mov rax, QWORD PTR [rbp-64]
cmp rax, QWORD PTR [rbp-56]
je .L1098
call __gnu_cxx::__alloc_traits<std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::sub_match<char const*> >::_S_propagate_on_copy_assign()
test al, al
je .L1099
call __gnu_cxx::__alloc_traits<std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::sub_match<char const*> >::_S_always_equal()
xor eax, 1
test al, al
je .L1100
mov rax, QWORD PTR [rbp-64]
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_get_Tp_allocator() const
mov rbx, rax
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_get_Tp_allocator()
mov rsi, rbx
mov rdi, rax
call bool std::operator!=<std::__cxx11::sub_match<char const*> >(std::allocator<std::__cxx11::sub_match<char const*> > const&, std::allocator<std::__cxx11::sub_match<char const*> > const&)
test al, al
je .L1100
mov eax, 1
jmp .L1101
.L1100:
mov eax, 0
.L1101:
test al, al
je .L1102
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::clear()
mov rax, QWORD PTR [rbp-56]
mov rdx, QWORD PTR [rbp-56]
mov rcx, QWORD PTR [rdx+16]
mov rdx, QWORD PTR [rbp-56]
mov rdx, QWORD PTR [rdx]
sub rcx, rdx
mov rdx, rcx
mov rcx, rdx
sar rcx, 3
movabs rdx, -6148914691236517205
imul rdx, rcx
mov rsi, rdx
mov rdx, QWORD PTR [rbp-56]
mov rcx, QWORD PTR [rdx]
mov rdx, rsi
mov rsi, rcx
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_deallocate(std::__cxx11::sub_match<char const*>*, unsigned long)
mov rax, QWORD PTR [rbp-56]
mov QWORD PTR [rax], 0
mov rax, QWORD PTR [rbp-56]
mov QWORD PTR [rax+8], 0
mov rax, QWORD PTR [rbp-56]
mov QWORD PTR [rax+16], 0
.L1102:
mov rax, QWORD PTR [rbp-64]
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_get_Tp_allocator() const
mov rbx, rax
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_get_Tp_allocator()
mov rsi, rbx
mov rdi, rax
call void std::__alloc_on_copy<std::allocator<std::__cxx11::sub_match<char const*> > >(std::allocator<std::__cxx11::sub_match<char const*> >&, std::allocator<std::__cxx11::sub_match<char const*> > const&)
.L1099:
mov rax, QWORD PTR [rbp-64]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::size() const
mov QWORD PTR [rbp-40], rax
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::capacity() const
cmp QWORD PTR [rbp-40], rax
seta al
test al, al
je .L1103
mov rax, QWORD PTR [rbp-64]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::end() const
mov rbx, rax
mov rax, QWORD PTR [rbp-64]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::begin() const
mov rdx, rax
mov rsi, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rbp-56]
mov rcx, rbx
mov rdi, rax
call std::__cxx11::sub_match<char const*>* std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_allocate_and_copy<__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >(unsigned long, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >)
mov QWORD PTR [rbp-48], rax
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_get_Tp_allocator()
mov rdx, rax
mov rax, QWORD PTR [rbp-56]
mov rcx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-56]
mov rax, QWORD PTR [rax]
mov rsi, rcx
mov rdi, rax
call void std::_Destroy<std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*> >(std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*, std::allocator<std::__cxx11::sub_match<char const*> >&)
mov rax, QWORD PTR [rbp-56]
mov rdx, QWORD PTR [rbp-56]
mov rcx, QWORD PTR [rdx+16]
mov rdx, QWORD PTR [rbp-56]
mov rdx, QWORD PTR [rdx]
sub rcx, rdx
mov rdx, rcx
mov rcx, rdx
sar rcx, 3
movabs rdx, -6148914691236517205
imul rdx, rcx
mov rsi, rdx
mov rdx, QWORD PTR [rbp-56]
mov rcx, QWORD PTR [rdx]
mov rdx, rsi
mov rsi, rcx
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_deallocate(std::__cxx11::sub_match<char const*>*, unsigned long)
mov rax, QWORD PTR [rbp-56]
mov rdx, QWORD PTR [rbp-48]
mov QWORD PTR [rax], rdx
mov rax, QWORD PTR [rbp-56]
mov rcx, QWORD PTR [rax]
mov rdx, QWORD PTR [rbp-40]
mov rax, rdx
add rax, rax
add rax, rdx
sal rax, 3
lea rdx, [rcx+rax]
mov rax, QWORD PTR [rbp-56]
mov QWORD PTR [rax+16], rdx
jmp .L1104
.L1103:
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::size() const
cmp QWORD PTR [rbp-40], rax
setbe al
test al, al
je .L1105
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_get_Tp_allocator()
mov r12, rax
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::end()
mov rbx, rax
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::begin()
mov r14, rax
mov rax, QWORD PTR [rbp-64]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::end() const
mov r13, rax
mov rax, QWORD PTR [rbp-64]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::begin() const
mov rdx, r14
mov rsi, r13
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > std::copy<__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >(__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >)
mov rdx, r12
mov rsi, rbx
mov rdi, rax
call void std::_Destroy<__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::__cxx11::sub_match<char const*> >(__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::__cxx11::sub_match<char const*> >&)
jmp .L1104
.L1105:
mov rax, QWORD PTR [rbp-56]
mov rbx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-64]
mov r12, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::size() const
mov rdx, rax
mov rax, rdx
add rax, rax
add rax, rdx
sal rax, 3
lea rcx, [r12+rax]
mov rax, QWORD PTR [rbp-64]
mov rax, QWORD PTR [rax]
mov rdx, rbx
mov rsi, rcx
mov rdi, rax
call std::__cxx11::sub_match<char const*>* std::copy<std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*>(std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*)
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_get_Tp_allocator()
mov r14, rax
mov rax, QWORD PTR [rbp-56]
mov r12, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-64]
mov rbx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-64]
mov r13, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::size() const
mov rdx, rax
mov rax, rdx
add rax, rax
add rax, rdx
sal rax, 3
add rax, r13
mov rcx, r14
mov rdx, r12
mov rsi, rbx
mov rdi, rax
call std::__cxx11::sub_match<char const*>* std::__uninitialized_copy_a<std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*> >(std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*, std::allocator<std::__cxx11::sub_match<char const*> >&)
.L1104:
mov rax, QWORD PTR [rbp-56]
mov rcx, QWORD PTR [rax]
mov rdx, QWORD PTR [rbp-40]
mov rax, rdx
add rax, rax
add rax, rdx
sal rax, 3
lea rdx, [rcx+rax]
mov rax, QWORD PTR [rbp-56]
mov QWORD PTR [rax+8], rdx
.L1098:
mov rax, QWORD PTR [rbp-56]
add rsp, 32
pop rbx
pop r12
pop r13
pop r14
pop rbp
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov eax, esi
mov QWORD PTR [rbp-24], rdx
mov BYTE PTR [rbp-12], al
mov rax, QWORD PTR [rbp-8]
lea rdx, [rax+96]
mov rax, QWORD PTR [rbp-24]
mov rsi, rax
mov rdi, rdx
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_State_info<std::integral_constant<bool, true>, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::_M_visited(long) const
test al, al
jne .L1122
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+56]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-24]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long) const
mov rdi, rax
call std::__detail::_State<char>::_M_opcode() const
cmp eax, 12
ja .L1107
mov eax, eax
mov rax, QWORD PTR .L1111[0+rax*8]
jmp rax
.L1111:
.quad .L1107
.quad .L1121
.quad .L1120
.quad .L1119
.quad .L1118
.quad .L1117
.quad .L1116
.quad .L1115
.quad .L1114
.quad .L1113
.quad .L1107
.quad .L1112
.quad .L1110
.L1120:
mov rdx, QWORD PTR [rbp-24]
movzx ecx, BYTE PTR [rbp-12]
mov rax, QWORD PTR [rbp-8]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_handle_repeat(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
jmp .L1107
.L1114:
mov rdx, QWORD PTR [rbp-24]
movzx ecx, BYTE PTR [rbp-12]
mov rax, QWORD PTR [rbp-8]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_handle_subexpr_begin(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
jmp .L1107
.L1113:
mov rdx, QWORD PTR [rbp-24]
movzx ecx, BYTE PTR [rbp-12]
mov rax, QWORD PTR [rbp-8]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_handle_subexpr_end(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
jmp .L1107
.L1118:
mov rdx, QWORD PTR [rbp-24]
movzx ecx, BYTE PTR [rbp-12]
mov rax, QWORD PTR [rbp-8]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_handle_line_begin_assertion(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
jmp .L1107
.L1117:
mov rdx, QWORD PTR [rbp-24]
movzx ecx, BYTE PTR [rbp-12]
mov rax, QWORD PTR [rbp-8]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_handle_line_end_assertion(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
jmp .L1107
.L1116:
mov rdx, QWORD PTR [rbp-24]
movzx ecx, BYTE PTR [rbp-12]
mov rax, QWORD PTR [rbp-8]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_handle_word_boundary(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
jmp .L1107
.L1115:
mov rdx, QWORD PTR [rbp-24]
movzx ecx, BYTE PTR [rbp-12]
mov rax, QWORD PTR [rbp-8]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_handle_subexpr_lookahead(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
jmp .L1107
.L1112:
mov rdx, QWORD PTR [rbp-24]
movzx ecx, BYTE PTR [rbp-12]
mov rax, QWORD PTR [rbp-8]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_handle_match(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
jmp .L1107
.L1119:
mov rdx, QWORD PTR [rbp-24]
movzx ecx, BYTE PTR [rbp-12]
mov rax, QWORD PTR [rbp-8]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_handle_backref(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
jmp .L1107
.L1110:
mov rdx, QWORD PTR [rbp-24]
movzx ecx, BYTE PTR [rbp-12]
mov rax, QWORD PTR [rbp-8]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_handle_accept(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
jmp .L1107
.L1121:
mov rdx, QWORD PTR [rbp-24]
movzx ecx, BYTE PTR [rbp-12]
mov rax, QWORD PTR [rbp-8]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_handle_alternative(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
nop
jmp .L1107
.L1122:
nop
.L1107:
leave
ret
std::__shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, std::locale const&, std::regex_constants::syntax_option_type&>(std::_Sp_alloc_shared_tag<std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > > >, std::locale const&, std::regex_constants::syntax_option_type&):
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov QWORD PTR [rbp-40], rdx
mov QWORD PTR [rbp-48], rcx
mov rax, QWORD PTR [rbp-24]
mov QWORD PTR [rax], 0
mov rax, QWORD PTR [rbp-24]
lea rbx, [rax+8]
mov rax, QWORD PTR [rbp-48]
mov rdi, rax
call std::regex_constants::syntax_option_type& std::forward<std::regex_constants::syntax_option_type&>(std::remove_reference<std::regex_constants::syntax_option_type&>::type&)
mov r12, rax
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::locale const& std::forward<std::locale const&>(std::remove_reference<std::locale const&>::type&)
mov rcx, rax
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rbp-32]
mov r8, r12
mov rsi, rax
mov rdi, rbx
call std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, std::locale const&, std::regex_constants::syntax_option_type&>(std::__detail::_NFA<std::__cxx11::regex_traits<char> >*&, std::_Sp_alloc_shared_tag<std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > > >, std::locale const&, std::regex_constants::syntax_option_type&)
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-24]
mov rsi, rdx
mov rdi, rax
call std::enable_if<!std::__shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2>::__has_esft_base<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, void>::value, void>::type std::__shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2>::_M_enable_shared_from_this_with<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::__detail::_NFA<std::__cxx11::regex_traits<char> > >(std::__detail::_NFA<std::__cxx11::regex_traits<char> >*)
nop
add rsp, 32
pop rbx
pop r12
pop rbp
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_erase(unsigned long, unsigned long):
push rbp
mov rbp, rsp
push rbx
sub rsp, 56
mov QWORD PTR [rbp-40], rdi
mov QWORD PTR [rbp-48], rsi
mov QWORD PTR [rbp-56], rdx
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::length() const
sub rax, QWORD PTR [rbp-48]
sub rax, QWORD PTR [rbp-56]
mov QWORD PTR [rbp-24], rax
cmp QWORD PTR [rbp-24], 0
je .L1125
cmp QWORD PTR [rbp-56], 0
je .L1125
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const
mov rcx, rax
mov rdx, QWORD PTR [rbp-48]
mov rax, QWORD PTR [rbp-56]
add rax, rdx
lea rbx, [rcx+rax]
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const
mov rdx, rax
mov rax, QWORD PTR [rbp-48]
lea rcx, [rdx+rax]
mov rax, QWORD PTR [rbp-24]
mov rdx, rax
mov rsi, rbx
mov rdi, rcx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_move(char*, char const*, unsigned long)
.L1125:
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::length() const
sub rax, QWORD PTR [rbp-56]
mov rdx, rax
mov rax, QWORD PTR [rbp-40]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_set_length(unsigned long)
nop
add rsp, 56
pop rbx
pop rbp
ret
.LC25:
.string "Unexpected end of character class."
std::__detail::_Scanner<char>::_M_eat_class(char):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov eax, esi
mov BYTE PTR [rbp-12], al
mov rax, QWORD PTR [rbp-8]
add rax, 200
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::clear()
.L1128:
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+176]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+184]
cmp rdx, rax
je .L1127
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+176]
movzx eax, BYTE PTR [rax]
cmp BYTE PTR [rbp-12], al
je .L1127
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+176]
lea rcx, [rax+1]
mov rdx, QWORD PTR [rbp-8]
mov QWORD PTR [rdx+176], rcx
movzx eax, BYTE PTR [rax]
movsx eax, al
mov rdx, QWORD PTR [rbp-8]
add rdx, 200
mov esi, eax
mov rdi, rdx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator+=(char)
jmp .L1128
.L1127:
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+176]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+184]
cmp rdx, rax
je .L1129
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+176]
lea rcx, [rax+1]
mov rdx, QWORD PTR [rbp-8]
mov QWORD PTR [rdx+176], rcx
movzx eax, BYTE PTR [rax]
cmp BYTE PTR [rbp-12], al
jne .L1129
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+176]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+184]
cmp rdx, rax
je .L1129
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+176]
lea rcx, [rax+1]
mov rdx, QWORD PTR [rbp-8]
mov QWORD PTR [rdx+176], rcx
movzx eax, BYTE PTR [rax]
cmp al, 93
je .L1130
.L1129:
mov eax, 1
jmp .L1131
.L1130:
mov eax, 0
.L1131:
test al, al
je .L1135
cmp BYTE PTR [rbp-12], 58
jne .L1133
mov esi, OFFSET FLAT:.LC25
mov edi, 1
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
jmp .L1135
.L1133:
mov esi, OFFSET FLAT:.LC25
mov edi, 0
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
.L1135:
nop
leave
ret
std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_Deque_impl::_Deque_impl() [base object constructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >::allocator() [base object constructor]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], 0
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+8], 0
mov rax, QWORD PTR [rbp-8]
add rax, 16
mov rdi, rax
call std::_Deque_iterator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::_Deque_iterator() [complete object constructor]
mov rax, QWORD PTR [rbp-8]
add rax, 48
mov rdi, rax
call std::_Deque_iterator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::_Deque_iterator() [complete object constructor]
nop
leave
ret
std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_initialize_map(unsigned long):
push rbp
mov rbp, rsp
push rbx
sub rsp, 72
mov QWORD PTR [rbp-72], rdi
mov QWORD PTR [rbp-80], rsi
mov edi, 24
call std::__deque_buf_size(unsigned long)
mov rbx, rax
mov rax, QWORD PTR [rbp-80]
mov edx, 0
div rbx
add rax, 1
mov QWORD PTR [rbp-24], rax
mov rax, QWORD PTR [rbp-24]
add rax, 2
mov QWORD PTR [rbp-56], rax
mov QWORD PTR [rbp-48], 8
lea rdx, [rbp-56]
lea rax, [rbp-48]
mov rsi, rdx
mov rdi, rax
call unsigned long const& std::max<unsigned long>(unsigned long const&, unsigned long const&)
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-72]
mov QWORD PTR [rax+8], rdx
mov rax, QWORD PTR [rbp-72]
mov rdx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-72]
mov rsi, rdx
mov rdi, rax
call std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_allocate_map(unsigned long)
mov rdx, rax
mov rax, QWORD PTR [rbp-72]
mov QWORD PTR [rax], rdx
mov rax, QWORD PTR [rbp-72]
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-72]
mov rax, QWORD PTR [rax+8]
sub rax, QWORD PTR [rbp-24]
shr rax
sal rax, 3
add rax, rdx
mov QWORD PTR [rbp-32], rax
mov rax, QWORD PTR [rbp-24]
lea rdx, [0+rax*8]
mov rax, QWORD PTR [rbp-32]
add rax, rdx
mov QWORD PTR [rbp-40], rax
mov rdx, QWORD PTR [rbp-40]
mov rcx, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rbp-72]
mov rsi, rcx
mov rdi, rax
call std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_create_nodes(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >**, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >**)
mov rax, QWORD PTR [rbp-72]
lea rdx, [rax+16]
mov rax, QWORD PTR [rbp-32]
mov rsi, rax
mov rdi, rdx
call std::_Deque_iterator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::_M_set_node(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >**)
mov rax, QWORD PTR [rbp-72]
add rax, 48
mov rdx, QWORD PTR [rbp-40]
sub rdx, 8
mov rsi, rdx
mov rdi, rax
call std::_Deque_iterator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::_M_set_node(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >**)
mov rax, QWORD PTR [rbp-72]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-72]
mov QWORD PTR [rax+16], rdx
mov rax, QWORD PTR [rbp-72]
mov rbx, QWORD PTR [rax+56]
mov edi, 24
call std::__deque_buf_size(unsigned long)
mov rcx, rax
mov rax, QWORD PTR [rbp-80]
mov edx, 0
div rcx
mov rax, rdx
add rax, rax
add rax, rdx
sal rax, 3
lea rdx, [rbx+rax]
mov rax, QWORD PTR [rbp-72]
mov QWORD PTR [rax+48], rdx
jmp .L1142
mov rdi, rax
call __cxa_begin_catch
mov rax, QWORD PTR [rbp-72]
mov rdx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-72]
mov rcx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-72]
mov rsi, rcx
mov rdi, rax
call std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_deallocate_map(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >**, unsigned long)
mov rax, QWORD PTR [rbp-72]
mov QWORD PTR [rax], 0
mov rax, QWORD PTR [rbp-72]
mov QWORD PTR [rax+8], 0
call __cxa_rethrow
mov rbx, rax
call __cxa_end_catch
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1142:
add rsp, 72
pop rbx
pop rbp
ret
unsigned long const& std::forward<unsigned long const&>(std::remove_reference<unsigned long const&>::type&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
void __gnu_cxx::new_allocator<unsigned long>::construct<unsigned long, unsigned long const&>(unsigned long*, unsigned long const&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 40
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov QWORD PTR [rbp-40], rdx
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call unsigned long const& std::forward<unsigned long const&>(std::remove_reference<unsigned long const&>::type&)
mov rbx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-32]
mov rsi, rax
mov edi, 8
call operator new(unsigned long, void*)
mov QWORD PTR [rax], rbx
nop
add rsp, 40
pop rbx
pop rbp
ret
__gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > >::__normal_iterator(unsigned long* const&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], rdx
nop
pop rbp
ret
std::vector<unsigned long, std::allocator<unsigned long> >::_M_check_len(unsigned long, char const*) const:
push rbp
mov rbp, rsp
push rbx
sub rsp, 56
mov QWORD PTR [rbp-40], rdi
mov QWORD PTR [rbp-48], rsi
mov QWORD PTR [rbp-56], rdx
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::vector<unsigned long, std::allocator<unsigned long> >::max_size() const
mov rbx, rax
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::vector<unsigned long, std::allocator<unsigned long> >::size() const
sub rbx, rax
mov rdx, rbx
mov rax, QWORD PTR [rbp-48]
cmp rdx, rax
setb al
test al, al
je .L1148
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::__throw_length_error(char const*)
.L1148:
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::vector<unsigned long, std::allocator<unsigned long> >::size() const
mov rbx, rax
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::vector<unsigned long, std::allocator<unsigned long> >::size() const
mov QWORD PTR [rbp-32], rax
lea rdx, [rbp-48]
lea rax, [rbp-32]
mov rsi, rdx
mov rdi, rax
call unsigned long const& std::max<unsigned long>(unsigned long const&, unsigned long const&)
mov rax, QWORD PTR [rax]
add rax, rbx
mov QWORD PTR [rbp-24], rax
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::vector<unsigned long, std::allocator<unsigned long> >::size() const
cmp QWORD PTR [rbp-24], rax
jb .L1149
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::vector<unsigned long, std::allocator<unsigned long> >::max_size() const
cmp QWORD PTR [rbp-24], rax
jbe .L1150
.L1149:
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::vector<unsigned long, std::allocator<unsigned long> >::max_size() const
jmp .L1151
.L1150:
mov rax, QWORD PTR [rbp-24]
.L1151:
add rsp, 56
pop rbx
pop rbp
ret
std::vector<unsigned long, std::allocator<unsigned long> >::begin():
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov rdx, QWORD PTR [rbp-24]
lea rax, [rbp-8]
mov rsi, rdx
mov rdi, rax
call __gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > >::__normal_iterator(unsigned long* const&)
mov rax, QWORD PTR [rbp-8]
leave
ret
__gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > >::difference_type __gnu_cxx::operator-<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > >(__gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > > const&, __gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > > const&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 24
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call __gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > >::base() const
mov rbx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call __gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > >::base() const
mov rax, QWORD PTR [rax]
sub rbx, rax
mov rax, rbx
sar rax, 3
add rsp, 24
pop rbx
pop rbp
ret
std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_M_allocate(unsigned long):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
cmp QWORD PTR [rbp-16], 0
je .L1158
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov rsi, rdx
mov rdi, rax
call std::allocator_traits<std::allocator<unsigned long> >::allocate(std::allocator<unsigned long>&, unsigned long)
jmp .L1160
.L1158:
mov eax, 0
.L1160:
leave
ret
__gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > >::base() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
unsigned long* std::__uninitialized_move_if_noexcept_a<unsigned long*, unsigned long*, std::allocator<unsigned long> >(unsigned long*, unsigned long*, unsigned long*, std::allocator<unsigned long>&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 40
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov QWORD PTR [rbp-40], rdx
mov QWORD PTR [rbp-48], rcx
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::move_iterator<unsigned long*> std::__make_move_if_noexcept_iterator<unsigned long, std::move_iterator<unsigned long*> >(unsigned long*)
mov rbx, rax
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::move_iterator<unsigned long*> std::__make_move_if_noexcept_iterator<unsigned long, std::move_iterator<unsigned long*> >(unsigned long*)
mov rdi, rax
mov rdx, QWORD PTR [rbp-48]
mov rax, QWORD PTR [rbp-40]
mov rcx, rdx
mov rdx, rax
mov rsi, rbx
call unsigned long* std::__uninitialized_copy_a<std::move_iterator<unsigned long*>, unsigned long*, unsigned long>(std::move_iterator<unsigned long*>, std::move_iterator<unsigned long*>, unsigned long*, std::allocator<unsigned long>&)
add rsp, 40
pop rbx
pop rbp
ret
std::__detail::_State<char>& std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::emplace_back<std::__detail::_State<char> >(std::__detail::_State<char>&&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 24
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+16]
cmp rdx, rax
je .L1166
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::__detail::_State<char>&& std::forward<std::__detail::_State<char> >(std::remove_reference<std::__detail::_State<char> >::type&)
mov rdx, rax
mov rax, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-24]
mov rsi, rcx
mov rdi, rax
call void std::allocator_traits<std::allocator<std::__detail::_State<char> > >::construct<std::__detail::_State<char>, std::__detail::_State<char> >(std::allocator<std::__detail::_State<char> >&, std::__detail::_State<char>*, std::__detail::_State<char>&&)
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+8]
lea rdx, [rax+48]
mov rax, QWORD PTR [rbp-24]
mov QWORD PTR [rax+8], rdx
jmp .L1167
.L1166:
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::__detail::_State<char>&& std::forward<std::__detail::_State<char> >(std::remove_reference<std::__detail::_State<char> >::type&)
mov rbx, rax
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::end()
mov rcx, rax
mov rax, QWORD PTR [rbp-24]
mov rdx, rbx
mov rsi, rcx
mov rdi, rax
call void std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::_M_realloc_insert<std::__detail::_State<char> >(__gnu_cxx::__normal_iterator<std::__detail::_State<char>*, std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > > >, std::__detail::_State<char>&&)
.L1167:
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::back()
add rsp, 24
pop rbx
pop rbp
ret
std::function<bool (char)>::swap(std::function<bool (char)>&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<std::_Any_data> >, std::is_move_constructible<std::_Any_data>, std::is_move_assignable<std::_Any_data> >::value, void>::type std::swap<std::_Any_data>(std::_Any_data&, std::_Any_data&)
mov rax, QWORD PTR [rbp-16]
lea rdx, [rax+16]
mov rax, QWORD PTR [rbp-8]
add rax, 16
mov rsi, rdx
mov rdi, rax
call std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<bool (*)(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)> >, std::is_move_constructible<bool (*)(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)>, std::is_move_assignable<bool (*)(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)> >::value, void>::type std::swap<bool (*)(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)>(bool (*&)(std::_Any_data&, std::_Any_data const&, std::_Manager_operation), bool (*&)(std::_Any_data&, std::_Any_data const&, std::_Manager_operation))
mov rax, QWORD PTR [rbp-16]
lea rdx, [rax+24]
mov rax, QWORD PTR [rbp-8]
add rax, 24
mov rsi, rdx
mov rdi, rax
call std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<bool (*)(std::_Any_data const&, char&&)> >, std::is_move_constructible<bool (*)(std::_Any_data const&, char&&)>, std::is_move_assignable<bool (*)(std::_Any_data const&, char&&)> >::value, void>::type std::swap<bool (*)(std::_Any_data const&, char&&)>(bool (*&)(std::_Any_data const&, char&&), bool (*&)(std::_Any_data const&, char&&))
nop
leave
ret
.LC26:
.string "Parenthesis is not closed."
std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_assertion():
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 176
mov QWORD PTR [rbp-184], rdi
mov rax, QWORD PTR [rbp-184]
mov esi, 22
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
test al, al
je .L1171
mov rax, QWORD PTR [rbp-184]
lea rbx, [rax+304]
mov rax, QWORD PTR [rbp-184]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov rdi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_line_begin()
mov r12, rax
mov rax, QWORD PTR [rbp-184]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-144]
mov rdx, r12
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
lea rax, [rbp-144]
mov rsi, rax
mov rdi, rbx
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
jmp .L1172
.L1171:
mov rax, QWORD PTR [rbp-184]
mov esi, 23
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
test al, al
je .L1173
mov rax, QWORD PTR [rbp-184]
lea rbx, [rax+304]
mov rax, QWORD PTR [rbp-184]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov rdi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_line_end()
mov r12, rax
mov rax, QWORD PTR [rbp-184]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-112]
mov rdx, r12
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
lea rax, [rbp-112]
mov rsi, rax
mov rdi, rbx
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
jmp .L1172
.L1173:
mov rax, QWORD PTR [rbp-184]
mov esi, 24
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
test al, al
je .L1174
mov rax, QWORD PTR [rbp-184]
lea rbx, [rax+304]
mov rax, QWORD PTR [rbp-184]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov r12, rax
mov rax, QWORD PTR [rbp-184]
add rax, 272
mov esi, 0
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned long)
movzx eax, BYTE PTR [rax]
cmp al, 110
sete al
movzx eax, al
mov esi, eax
mov rdi, r12
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_word_bound(bool)
mov r12, rax
mov rax, QWORD PTR [rbp-184]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-80]
mov rdx, r12
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
lea rax, [rbp-80]
mov rsi, rax
mov rdi, rbx
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
jmp .L1172
.L1174:
mov rax, QWORD PTR [rbp-184]
mov esi, 7
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
test al, al
je .L1175
mov rax, QWORD PTR [rbp-184]
add rax, 272
mov esi, 0
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned long)
movzx eax, BYTE PTR [rax]
cmp al, 110
sete al
mov BYTE PTR [rbp-17], al
mov rax, QWORD PTR [rbp-184]
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_disjunction()
mov rax, QWORD PTR [rbp-184]
mov esi, 8
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
xor eax, 1
test al, al
je .L1176
mov esi, OFFSET FLAT:.LC26
mov edi, 5
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
.L1176:
lea rax, [rbp-176]
mov rdx, QWORD PTR [rbp-184]
mov rsi, rdx
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_pop()
mov rax, QWORD PTR [rbp-184]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov rdi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_accept()
mov rdx, rax
lea rax, [rbp-176]
mov rsi, rdx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_M_append(long)
mov rax, QWORD PTR [rbp-184]
lea rbx, [rax+304]
mov rax, QWORD PTR [rbp-184]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov rcx, rax
movzx edx, BYTE PTR [rbp-17]
mov rax, QWORD PTR [rbp-168]
mov rsi, rax
mov rdi, rcx
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_lookahead(long, bool)
mov r12, rax
mov rax, QWORD PTR [rbp-184]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-48]
mov rdx, r12
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
lea rax, [rbp-48]
mov rsi, rax
mov rdi, rbx
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
jmp .L1172
.L1175:
mov eax, 0
jmp .L1177
.L1172:
mov eax, 1
.L1177:
add rsp, 176
pop rbx
pop r12
pop rbp
ret
std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_atom():
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 176
mov QWORD PTR [rbp-184], rdi
mov rax, QWORD PTR [rbp-184]
mov esi, 0
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
test al, al
je .L1179
mov rax, QWORD PTR [rbp-184]
mov eax, DWORD PTR [rax]
mov esi, 16
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
sete al
test al, al
je .L1180
mov rax, QWORD PTR [rbp-184]
mov eax, DWORD PTR [rax]
mov esi, 1
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
sete al
test al, al
je .L1181
mov rax, QWORD PTR [rbp-184]
mov eax, DWORD PTR [rax]
mov esi, 8
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
sete al
test al, al
je .L1182
mov rax, QWORD PTR [rbp-184]
mov rdi, rax
call void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_any_matcher_posix<false, false>()
jmp .L1191
.L1182:
mov rax, QWORD PTR [rbp-184]
mov rdi, rax
call void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_any_matcher_posix<false, true>()
jmp .L1191
.L1181:
mov rax, QWORD PTR [rbp-184]
mov eax, DWORD PTR [rax]
mov esi, 8
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
sete al
test al, al
je .L1185
mov rax, QWORD PTR [rbp-184]
mov rdi, rax
call void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_any_matcher_posix<true, false>()
jmp .L1191
.L1185:
mov rax, QWORD PTR [rbp-184]
mov rdi, rax
call void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_any_matcher_posix<true, true>()
jmp .L1191
.L1180:
mov rax, QWORD PTR [rbp-184]
mov eax, DWORD PTR [rax]
mov esi, 1
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
sete al
test al, al
je .L1187
mov rax, QWORD PTR [rbp-184]
mov eax, DWORD PTR [rax]
mov esi, 8
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
sete al
test al, al
je .L1188
mov rax, QWORD PTR [rbp-184]
mov rdi, rax
call void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_any_matcher_ecma<false, false>()
jmp .L1191
.L1188:
mov rax, QWORD PTR [rbp-184]
mov rdi, rax
call void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_any_matcher_ecma<false, true>()
jmp .L1191
.L1187:
mov rax, QWORD PTR [rbp-184]
mov eax, DWORD PTR [rax]
mov esi, 8
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
sete al
test al, al
je .L1190
mov rax, QWORD PTR [rbp-184]
mov rdi, rax
call void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_any_matcher_ecma<true, false>()
jmp .L1191
.L1190:
mov rax, QWORD PTR [rbp-184]
mov rdi, rax
call void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_any_matcher_ecma<true, true>()
jmp .L1191
.L1179:
mov rax, QWORD PTR [rbp-184]
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_try_char()
test al, al
je .L1192
mov rax, QWORD PTR [rbp-184]
mov eax, DWORD PTR [rax]
mov esi, 1
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
sete al
test al, al
je .L1193
mov rax, QWORD PTR [rbp-184]
mov eax, DWORD PTR [rax]
mov esi, 8
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
sete al
test al, al
je .L1194
mov rax, QWORD PTR [rbp-184]
mov rdi, rax
call void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_char_matcher<false, false>()
jmp .L1191
.L1194:
mov rax, QWORD PTR [rbp-184]
mov rdi, rax
call void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_char_matcher<false, true>()
jmp .L1191
.L1193:
mov rax, QWORD PTR [rbp-184]
mov eax, DWORD PTR [rax]
mov esi, 8
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
sete al
test al, al
je .L1197
mov rax, QWORD PTR [rbp-184]
mov rdi, rax
call void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_char_matcher<true, false>()
jmp .L1191
.L1197:
mov rax, QWORD PTR [rbp-184]
mov rdi, rax
call void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_char_matcher<true, true>()
jmp .L1191
.L1192:
mov rax, QWORD PTR [rbp-184]
mov esi, 4
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
test al, al
je .L1198
mov rax, QWORD PTR [rbp-184]
lea rbx, [rax+304]
mov rax, QWORD PTR [rbp-184]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov r12, rax
mov rax, QWORD PTR [rbp-184]
mov esi, 10
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_cur_int_value(int)
cdqe
mov rsi, rax
mov rdi, r12
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_backref(unsigned long)
mov r12, rax
mov rax, QWORD PTR [rbp-184]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-112]
mov rdx, r12
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
lea rax, [rbp-112]
mov rsi, rax
mov rdi, rbx
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
jmp .L1191
.L1198:
mov rax, QWORD PTR [rbp-184]
mov esi, 14
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
test al, al
je .L1199
mov rax, QWORD PTR [rbp-184]
mov eax, DWORD PTR [rax]
mov esi, 1
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
sete al
test al, al
je .L1200
mov rax, QWORD PTR [rbp-184]
mov eax, DWORD PTR [rax]
mov esi, 8
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
sete al
test al, al
je .L1201
mov rax, QWORD PTR [rbp-184]
mov rdi, rax
call void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_character_class_matcher<false, false>()
jmp .L1191
.L1201:
mov rax, QWORD PTR [rbp-184]
mov rdi, rax
call void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_character_class_matcher<false, true>()
jmp .L1191
.L1200:
mov rax, QWORD PTR [rbp-184]
mov eax, DWORD PTR [rax]
mov esi, 8
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
sete al
test al, al
je .L1204
mov rax, QWORD PTR [rbp-184]
mov rdi, rax
call void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_character_class_matcher<true, false>()
jmp .L1191
.L1204:
mov rax, QWORD PTR [rbp-184]
mov rdi, rax
call void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_character_class_matcher<true, true>()
jmp .L1191
.L1199:
mov rax, QWORD PTR [rbp-184]
mov esi, 6
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
test al, al
je .L1205
mov rax, QWORD PTR [rbp-184]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov rdi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_dummy()
mov rbx, rax
mov rax, QWORD PTR [rbp-184]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-144]
mov rdx, rbx
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
mov rax, QWORD PTR [rbp-184]
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_disjunction()
mov rax, QWORD PTR [rbp-184]
mov esi, 8
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
xor eax, 1
test al, al
je .L1206
mov esi, OFFSET FLAT:.LC26
mov edi, 5
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
.L1206:
lea rax, [rbp-80]
mov rdx, QWORD PTR [rbp-184]
mov rsi, rdx
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_pop()
lea rdx, [rbp-80]
lea rax, [rbp-144]
mov rsi, rdx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_M_append(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&)
mov rax, QWORD PTR [rbp-184]
lea rdx, [rax+304]
lea rax, [rbp-144]
mov rsi, rax
mov rdi, rdx
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&)
jmp .L1191
.L1205:
mov rax, QWORD PTR [rbp-184]
mov esi, 5
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
test al, al
je .L1207
mov rax, QWORD PTR [rbp-184]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov rdi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_subexpr_begin()
mov rbx, rax
mov rax, QWORD PTR [rbp-184]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-176]
mov rdx, rbx
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
mov rax, QWORD PTR [rbp-184]
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_disjunction()
mov rax, QWORD PTR [rbp-184]
mov esi, 8
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
xor eax, 1
test al, al
je .L1208
mov esi, OFFSET FLAT:.LC26
mov edi, 5
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
.L1208:
lea rax, [rbp-48]
mov rdx, QWORD PTR [rbp-184]
mov rsi, rdx
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_pop()
lea rdx, [rbp-48]
lea rax, [rbp-176]
mov rsi, rdx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_M_append(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&)
mov rax, QWORD PTR [rbp-184]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov rdi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_subexpr_end()
mov rdx, rax
lea rax, [rbp-176]
mov rsi, rdx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_M_append(long)
mov rax, QWORD PTR [rbp-184]
lea rdx, [rax+304]
lea rax, [rbp-176]
mov rsi, rax
mov rdi, rdx
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&)
jmp .L1191
.L1207:
mov rax, QWORD PTR [rbp-184]
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_bracket_expression()
xor eax, 1
test al, al
je .L1191
mov eax, 0
jmp .L1209
.L1191:
mov eax, 1
.L1209:
add rsp, 176
pop rbx
pop r12
pop rbp
ret
.LC27:
.string "Nothing to repeat before a quantifier."
std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_quantifier()::{lambda()#1}::operator()() const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
add rax, 304
mov rdi, rax
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::empty() const
test al, al
je .L1211
mov esi, OFFSET FLAT:.LC27
mov edi, 10
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
.L1211:
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+8]
movzx eax, BYTE PTR [rax]
test al, al
je .L1212
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
mov esi, 18
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
test al, al
je .L1212
mov edx, 1
jmp .L1213
.L1212:
mov edx, 0
.L1213:
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+8]
mov BYTE PTR [rax], dl
nop
leave
ret
std::stack<long, std::deque<long, std::allocator<long> > >::~stack() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::deque<long, std::allocator<long> >::~deque() [complete object destructor]
nop
leave
ret
.LC28:
.string "Unexpected token in brace expression."
.LC29:
.string "Unexpected end of brace expression."
.LC30:
.string "Invalid range in brace expression."
std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_quantifier():
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 592
mov QWORD PTR [rbp-600], rdi
mov rax, QWORD PTR [rbp-600]
mov eax, DWORD PTR [rax]
mov esi, 16
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
setne al
mov BYTE PTR [rbp-145], al
mov rax, QWORD PTR [rbp-600]
mov QWORD PTR [rbp-176], rax
lea rax, [rbp-145]
mov QWORD PTR [rbp-168], rax
mov rax, QWORD PTR [rbp-600]
mov esi, 20
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
test al, al
je .L1216
lea rax, [rbp-176]
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_quantifier()::{lambda()#1}::operator()() const
lea rax, [rbp-208]
mov rdx, QWORD PTR [rbp-600]
mov rsi, rdx
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_pop()
mov rax, QWORD PTR [rbp-600]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov rdi, rax
movzx eax, BYTE PTR [rbp-145]
movzx edx, al
mov rax, QWORD PTR [rbp-200]
mov ecx, edx
mov rdx, rax
mov rsi, -1
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_repeat(long, long, bool)
mov rbx, rax
mov rax, QWORD PTR [rbp-600]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-240]
mov rdx, rbx
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
lea rdx, [rbp-240]
lea rax, [rbp-208]
mov rsi, rdx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_M_append(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&)
mov rax, QWORD PTR [rbp-600]
lea rdx, [rax+304]
lea rax, [rbp-240]
mov rsi, rax
mov rdi, rdx
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&)
jmp .L1217
.L1216:
mov rax, QWORD PTR [rbp-600]
mov esi, 21
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
test al, al
je .L1218
lea rax, [rbp-176]
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_quantifier()::{lambda()#1}::operator()() const
lea rax, [rbp-272]
mov rdx, QWORD PTR [rbp-600]
mov rsi, rdx
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_pop()
mov rax, QWORD PTR [rbp-600]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov rdi, rax
movzx eax, BYTE PTR [rbp-145]
movzx edx, al
mov rax, QWORD PTR [rbp-264]
mov ecx, edx
mov rdx, rax
mov rsi, -1
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_repeat(long, long, bool)
mov rdx, rax
lea rax, [rbp-272]
mov rsi, rdx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_M_append(long)
mov rax, QWORD PTR [rbp-600]
lea rdx, [rax+304]
lea rax, [rbp-272]
mov rsi, rax
mov rdi, rdx
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&)
jmp .L1217
.L1218:
mov rax, QWORD PTR [rbp-600]
mov esi, 18
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
test al, al
je .L1219
lea rax, [rbp-176]
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_quantifier()::{lambda()#1}::operator()() const
lea rax, [rbp-304]
mov rdx, QWORD PTR [rbp-600]
mov rsi, rdx
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_pop()
mov rax, QWORD PTR [rbp-600]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov rdi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_dummy()
mov QWORD PTR [rbp-56], rax
mov rax, QWORD PTR [rbp-600]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov rdi, rax
movzx eax, BYTE PTR [rbp-145]
movzx edx, al
mov rax, QWORD PTR [rbp-296]
mov ecx, edx
mov rdx, rax
mov rsi, -1
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_repeat(long, long, bool)
mov rbx, rax
mov rax, QWORD PTR [rbp-600]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-336]
mov rdx, rbx
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
mov rdx, QWORD PTR [rbp-56]
lea rax, [rbp-304]
mov rsi, rdx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_M_append(long)
mov rdx, QWORD PTR [rbp-56]
lea rax, [rbp-336]
mov rsi, rdx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_M_append(long)
mov rax, QWORD PTR [rbp-600]
lea rdx, [rax+304]
lea rax, [rbp-336]
mov rsi, rax
mov rdi, rdx
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&)
jmp .L1217
.L1219:
mov rax, QWORD PTR [rbp-600]
mov esi, 12
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
test al, al
je .L1220
mov rax, QWORD PTR [rbp-600]
add rax, 304
mov rdi, rax
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::empty() const
test al, al
je .L1221
mov esi, OFFSET FLAT:.LC27
mov edi, 10
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
.L1221:
mov rax, QWORD PTR [rbp-600]
mov esi, 26
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
xor eax, 1
test al, al
je .L1222
mov esi, OFFSET FLAT:.LC28
mov edi, 7
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
.L1222:
lea rax, [rbp-368]
mov rdx, QWORD PTR [rbp-600]
mov rsi, rdx
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_pop()
mov rax, QWORD PTR [rbp-600]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov rdi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_dummy()
mov rbx, rax
mov rax, QWORD PTR [rbp-600]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-400]
mov rdx, rbx
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
mov rax, QWORD PTR [rbp-600]
mov esi, 10
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_cur_int_value(int)
cdqe
mov QWORD PTR [rbp-64], rax
mov BYTE PTR [rbp-17], 0
mov rax, QWORD PTR [rbp-600]
mov esi, 25
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
test al, al
je .L1223
mov rax, QWORD PTR [rbp-600]
mov esi, 26
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
test al, al
je .L1224
mov rax, QWORD PTR [rbp-600]
mov esi, 10
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_cur_int_value(int)
cdqe
sub rax, QWORD PTR [rbp-64]
mov QWORD PTR [rbp-32], rax
jmp .L1226
.L1224:
mov BYTE PTR [rbp-17], 1
jmp .L1226
.L1223:
mov QWORD PTR [rbp-32], 0
.L1226:
mov rax, QWORD PTR [rbp-600]
mov esi, 13
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
xor eax, 1
test al, al
je .L1227
mov esi, OFFSET FLAT:.LC29
mov edi, 6
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
.L1227:
movzx eax, BYTE PTR [rbp-145]
test al, al
je .L1228
mov rax, QWORD PTR [rbp-600]
mov esi, 18
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
test al, al
je .L1228
mov eax, 1
jmp .L1229
.L1228:
mov eax, 0
.L1229:
mov BYTE PTR [rbp-145], al
mov QWORD PTR [rbp-40], 0
.L1231:
mov rax, QWORD PTR [rbp-40]
cmp rax, QWORD PTR [rbp-64]
jge .L1230
lea rax, [rbp-144]
lea rdx, [rbp-368]
mov rsi, rdx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_M_clone()
lea rdx, [rbp-144]
lea rax, [rbp-400]
mov rsi, rdx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_M_append(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&)
add QWORD PTR [rbp-40], 1
jmp .L1231
.L1230:
cmp BYTE PTR [rbp-17], 0
je .L1232
lea rax, [rbp-432]
lea rdx, [rbp-368]
mov rsi, rdx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_M_clone()
mov rax, QWORD PTR [rbp-600]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov rdi, rax
movzx eax, BYTE PTR [rbp-145]
movzx edx, al
mov rax, QWORD PTR [rbp-424]
mov ecx, edx
mov rdx, rax
mov rsi, -1
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_repeat(long, long, bool)
mov rbx, rax
mov rax, QWORD PTR [rbp-600]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-464]
mov rdx, rbx
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
lea rdx, [rbp-464]
lea rax, [rbp-432]
mov rsi, rdx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_M_append(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&)
lea rdx, [rbp-464]
lea rax, [rbp-400]
mov rsi, rdx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_M_append(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&)
jmp .L1233
.L1232:
cmp QWORD PTR [rbp-32], 0
jns .L1234
mov esi, OFFSET FLAT:.LC30
mov edi, 7
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
.L1234:
mov rax, QWORD PTR [rbp-600]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov rdi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_dummy()
mov QWORD PTR [rbp-72], rax
lea rax, [rbp-592]
mov rdi, rax
call std::stack<long, std::deque<long, std::allocator<long> > >::stack<std::deque<long, std::allocator<long> >, void>()
mov QWORD PTR [rbp-48], 0
.L1236:
mov rax, QWORD PTR [rbp-48]
cmp rax, QWORD PTR [rbp-32]
jge .L1235
lea rax, [rbp-496]
lea rdx, [rbp-368]
mov rsi, rdx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_M_clone()
mov rax, QWORD PTR [rbp-600]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov rdi, rax
movzx eax, BYTE PTR [rbp-145]
movzx ecx, al
mov rax, QWORD PTR [rbp-488]
mov rdx, QWORD PTR [rbp-72]
mov rsi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_repeat(long, long, bool)
mov QWORD PTR [rbp-504], rax
lea rdx, [rbp-504]
lea rax, [rbp-592]
mov rsi, rdx
mov rdi, rax
call std::stack<long, std::deque<long, std::allocator<long> > >::push(long const&)
mov r12, QWORD PTR [rbp-480]
mov rbx, QWORD PTR [rbp-504]
mov rax, QWORD PTR [rbp-600]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rsi, rax
lea rax, [rbp-112]
mov rcx, r12
mov rdx, rbx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long, long)
lea rdx, [rbp-112]
lea rax, [rbp-400]
mov rsi, rdx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_M_append(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&)
add QWORD PTR [rbp-48], 1
jmp .L1236
.L1235:
mov rdx, QWORD PTR [rbp-72]
lea rax, [rbp-400]
mov rsi, rdx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_M_append(long)
.L1238:
lea rax, [rbp-592]
mov rdi, rax
call std::stack<long, std::deque<long, std::allocator<long> > >::empty() const
xor eax, 1
test al, al
je .L1237
mov rax, QWORD PTR [rbp-600]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
lea rbx, [rax+56]
lea rax, [rbp-592]
mov rdi, rax
call std::stack<long, std::deque<long, std::allocator<long> > >::top()
mov rax, QWORD PTR [rax]
mov rsi, rax
mov rdi, rbx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long)
mov QWORD PTR [rbp-80], rax
lea rax, [rbp-592]
mov rdi, rax
call std::stack<long, std::deque<long, std::allocator<long> > >::pop()
mov rax, QWORD PTR [rbp-80]
lea rdx, [rax+16]
mov rax, QWORD PTR [rbp-80]
add rax, 8
mov rsi, rdx
mov rdi, rax
call std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<long> >, std::is_move_constructible<long>, std::is_move_assignable<long> >::value, void>::type std::swap<long>(long&, long&)
jmp .L1238
.L1237:
lea rax, [rbp-592]
mov rdi, rax
call std::stack<long, std::deque<long, std::allocator<long> > >::~stack() [complete object destructor]
.L1233:
mov rax, QWORD PTR [rbp-600]
lea rdx, [rax+304]
lea rax, [rbp-400]
mov rsi, rax
mov rdi, rdx
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&)
jmp .L1217
.L1220:
mov eax, 0
jmp .L1243
.L1217:
mov eax, 1
jmp .L1243
mov rbx, rax
lea rax, [rbp-592]
mov rdi, rax
call std::stack<long, std::deque<long, std::allocator<long> > >::~stack() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1243:
add rsp, 592
pop rbx
pop r12
pop rbp
ret
std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::push_back(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+48]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+64]
sub rax, 24
cmp rdx, rax
je .L1245
mov rax, QWORD PTR [rbp-8]
mov rcx, QWORD PTR [rax+48]
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov rsi, rcx
mov rdi, rax
call void std::allocator_traits<std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::construct<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&>(std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&)
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+48]
lea rdx, [rax+24]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+48], rdx
jmp .L1247
.L1245:
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call void std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_push_back_aux<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&>(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&)
.L1247:
nop
leave
ret
std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >& std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::emplace_back<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+48]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+64]
sub rax, 24
cmp rdx, rax
je .L1249
mov rax, QWORD PTR [rbp-16]
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&& std::forward<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >(std::remove_reference<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >::type&)
mov rdx, rax
mov rax, QWORD PTR [rbp-8]
mov rcx, QWORD PTR [rax+48]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call void std::allocator_traits<std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::construct<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >(std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+48]
lea rdx, [rax+24]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+48], rdx
jmp .L1250
.L1249:
mov rax, QWORD PTR [rbp-16]
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&& std::forward<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >(std::remove_reference<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >::type&)
mov rdx, rax
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call void std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_push_back_aux<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
.L1250:
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::back()
leave
ret
std::_Deque_iterator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::operator--():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+8]
cmp rdx, rax
jne .L1253
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+24]
lea rdx, [rax-8]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::_Deque_iterator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::_M_set_node(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >**)
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+16]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], rdx
.L1253:
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
lea rdx, [rax-24]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], rdx
mov rax, QWORD PTR [rbp-8]
leave
ret
std::_Deque_iterator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::operator*() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
pop rbp
ret
void std::allocator_traits<std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::destroy<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >(std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call void __gnu_cxx::new_allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >::destroy<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*)
nop
leave
ret
std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_pop_back_aux():
push rbp
mov rbp, rsp
push rbx
sub rsp, 24
mov QWORD PTR [rbp-24], rdi
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rdx+56]
mov rsi, rdx
mov rdi, rax
call std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_deallocate_node(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*)
mov rax, QWORD PTR [rbp-24]
lea rdx, [rax+48]
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+72]
sub rax, 8
mov rsi, rax
mov rdi, rdx
call std::_Deque_iterator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::_M_set_node(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >**)
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+64]
lea rdx, [rax-24]
mov rax, QWORD PTR [rbp-24]
mov QWORD PTR [rax+48], rdx
mov rax, QWORD PTR [rbp-24]
mov rbx, QWORD PTR [rax+48]
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_get_Tp_allocator()
mov rsi, rbx
mov rdi, rax
call void std::allocator_traits<std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::destroy<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >(std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*)
nop
add rsp, 24
pop rbx
pop rbp
ret
void __gnu_cxx::new_allocator<unsigned long>::destroy<unsigned long>(unsigned long*):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
nop
pop rbp
ret
std::allocator_traits<std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::deallocate(std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rdx, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call __gnu_cxx::new_allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >::deallocate(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*, unsigned long)
nop
leave
ret
std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_get_Tp_allocator() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >(std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > const&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call __gnu_cxx::new_allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::new_allocator() [base object constructor]
nop
leave
ret
__gnu_cxx::new_allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::~new_allocator() [base object destructor]:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
nop
pop rbp
ret
__gnu_cxx::new_allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::deallocate(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >**, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rax, QWORD PTR [rbp-16]
mov rdi, rax
call operator delete(void*)
leave
ret
std::allocator_traits<std::allocator<std::__cxx11::sub_match<char const*> > >::max_size(std::allocator<std::__cxx11::sub_match<char const*> > const&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call __gnu_cxx::new_allocator<std::__cxx11::sub_match<char const*> >::max_size() const
leave
ret
std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_get_Tp_allocator() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::__cxx11::sub_match<char const*>* std::__uninitialized_default_n<std::__cxx11::sub_match<char const*>*, unsigned long>(std::__cxx11::sub_match<char const*>*, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov BYTE PTR [rbp-1], 1
mov rdx, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rbp-24]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::sub_match<char const*>* std::__uninitialized_default_n_1<false>::__uninit_default_n<std::__cxx11::sub_match<char const*>*, unsigned long>(std::__cxx11::sub_match<char const*>*, unsigned long)
leave
ret
std::allocator_traits<std::allocator<std::__cxx11::sub_match<char const*> > >::allocate(std::allocator<std::__cxx11::sub_match<char const*> >&, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov edx, 0
mov rsi, rcx
mov rdi, rax
call __gnu_cxx::new_allocator<std::__cxx11::sub_match<char const*> >::allocate(unsigned long, void const*)
leave
ret
std::move_iterator<std::__cxx11::sub_match<char const*>*> std::__make_move_if_noexcept_iterator<std::__cxx11::sub_match<char const*>, std::move_iterator<std::__cxx11::sub_match<char const*>*> >(std::__cxx11::sub_match<char const*>*):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov rdx, QWORD PTR [rbp-24]
lea rax, [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::move_iterator<std::__cxx11::sub_match<char const*>*>::move_iterator(std::__cxx11::sub_match<char const*>*)
mov rax, QWORD PTR [rbp-8]
leave
ret
std::__cxx11::sub_match<char const*>* std::__uninitialized_copy_a<std::move_iterator<std::__cxx11::sub_match<char const*>*>, std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*> >(std::move_iterator<std::__cxx11::sub_match<char const*>*>, std::move_iterator<std::__cxx11::sub_match<char const*>*>, std::__cxx11::sub_match<char const*>*, std::allocator<std::__cxx11::sub_match<char const*> >&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov QWORD PTR [rbp-32], rcx
mov rdx, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call std::__cxx11::sub_match<char const*>* std::uninitialized_copy<std::move_iterator<std::__cxx11::sub_match<char const*>*>, std::__cxx11::sub_match<char const*>*>(std::move_iterator<std::__cxx11::sub_match<char const*>*>, std::move_iterator<std::__cxx11::sub_match<char const*>*>, std::__cxx11::sub_match<char const*>*)
leave
ret
std::allocator<std::pair<char const*, int> >::allocator(std::allocator<std::pair<char const*, int> > const&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call __gnu_cxx::new_allocator<std::pair<char const*, int> >::new_allocator(__gnu_cxx::new_allocator<std::pair<char const*, int> > const&)
nop
leave
ret
std::_Vector_base<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::_M_allocate(unsigned long):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
cmp QWORD PTR [rbp-16], 0
je .L1281
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov rsi, rdx
mov rdi, rax
call std::allocator_traits<std::allocator<std::pair<char const*, int> > >::allocate(std::allocator<std::pair<char const*, int> >&, unsigned long)
jmp .L1283
.L1281:
mov eax, 0
.L1283:
leave
ret
std::pair<char const*, int>* std::__uninitialized_default_n<std::pair<char const*, int>*, unsigned long>(std::pair<char const*, int>*, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov BYTE PTR [rbp-1], 1
mov rdx, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rbp-24]
mov rsi, rdx
mov rdi, rax
call std::pair<char const*, int>* std::__uninitialized_default_n_1<false>::__uninit_default_n<std::pair<char const*, int>*, unsigned long>(std::pair<char const*, int>*, unsigned long)
leave
ret
std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_Vector_impl::_Vector_impl() [base object constructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >::allocator() [base object constructor]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], 0
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+8], 0
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+16], 0
nop
leave
ret
std::tuple<bool*, std::default_delete<bool []> >::tuple<bool*, std::default_delete<bool []>, true>():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Tuple_impl<0ul, bool*, std::default_delete<bool []> >::_Tuple_impl() [base object constructor]
nop
leave
ret
__gnu_cxx::new_allocator<std::pair<char const*, int> >::deallocate(std::pair<char const*, int>*, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rax, QWORD PTR [rbp-16]
mov rdi, rax
call operator delete(void*)
leave
ret
__gnu_cxx::new_allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >::deallocate(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rax, QWORD PTR [rbp-16]
mov rdi, rax
call operator delete(void*)
leave
ret
std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >* std::__addressof<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::~pair() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
add rax, 8
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::~vector() [complete object destructor]
nop
leave
ret
void std::_Destroy<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::~pair() [complete object destructor]
nop
leave
ret
std::_Tuple_impl<0ul, bool*, std::default_delete<bool []> >::_M_head(std::_Tuple_impl<0ul, bool*, std::default_delete<bool []> >&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Head_base<0ul, bool*, false>::_M_head(std::_Head_base<0ul, bool*, false>&)
leave
ret
std::default_delete<bool []>& std::__get_helper<1ul, std::default_delete<bool []>>(std::_Tuple_impl<1ul, std::default_delete<bool []>>&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Tuple_impl<1ul, std::default_delete<bool []> >::_M_head(std::_Tuple_impl<1ul, std::default_delete<bool []> >&)
leave
ret
std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >& std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::emplace_back<long&, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&>(long&, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&):
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov QWORD PTR [rbp-40], rdx
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+16]
cmp rdx, rax
je .L1301
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const& std::forward<std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&>(std::remove_reference<std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&>::type&)
mov rbx, rax
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call long& std::forward<long&>(std::remove_reference<long&>::type&)
mov rdx, rax
mov rax, QWORD PTR [rbp-24]
mov rsi, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-24]
mov rcx, rbx
mov rdi, rax
call void std::allocator_traits<std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::construct<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, long&, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&>(std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >&, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, long&, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&)
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+8]
lea rdx, [rax+32]
mov rax, QWORD PTR [rbp-24]
mov QWORD PTR [rax+8], rdx
jmp .L1302
.L1301:
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const& std::forward<std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&>(std::remove_reference<std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&>::type&)
mov r12, rax
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call long& std::forward<long&>(std::remove_reference<long&>::type&)
mov rbx, rax
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::end()
mov rsi, rax
mov rax, QWORD PTR [rbp-24]
mov rcx, r12
mov rdx, rbx
mov rdi, rax
call void std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_M_realloc_insert<long&, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&>(__gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >, long&, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&)
.L1302:
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::back()
add rsp, 32
pop rbx
pop r12
pop rbp
ret
std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::begin() const:
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax]
mov QWORD PTR [rbp-8], rax
lea rdx, [rbp-8]
lea rax, [rbp-16]
mov rsi, rdx
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > const*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >::__normal_iterator(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > const* const&)
mov rax, QWORD PTR [rbp-16]
leave
ret
std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::end() const:
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+8]
mov QWORD PTR [rbp-8], rax
lea rdx, [rbp-8]
lea rax, [rbp-16]
mov rsi, rdx
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > const*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >::__normal_iterator(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > const* const&)
mov rax, QWORD PTR [rbp-16]
leave
ret
bool __gnu_cxx::operator==<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > const*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >(__gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > const*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > > const&, __gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > const*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > > const&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 24
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > const*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >::base() const
mov rbx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > const*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >::base() const
mov rax, QWORD PTR [rax]
cmp rbx, rax
sete al
add rsp, 24
pop rbx
pop rbp
ret
std::__uniq_ptr_impl<bool, std::default_delete<bool []> >::_M_ptr() const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::tuple_element<0ul, std::tuple<bool*, std::default_delete<bool []> > >::type const& std::get<0ul, bool*, std::default_delete<bool []> >(std::tuple<bool*, std::default_delete<bool []> > const&)
mov rax, QWORD PTR [rax]
leave
ret
bool* std::__niter_base<bool*>(bool*):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
__gnu_cxx::__enable_if<std::__is_scalar<bool>::__value, bool*>::__type std::__fill_n_a<bool*, unsigned long, bool>(bool*, unsigned long, bool const&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov QWORD PTR [rbp-40], rdx
mov rax, QWORD PTR [rbp-40]
movzx eax, BYTE PTR [rax]
mov BYTE PTR [rbp-9], al
mov rax, QWORD PTR [rbp-32]
mov QWORD PTR [rbp-8], rax
.L1316:
cmp QWORD PTR [rbp-8], 0
je .L1315
mov rax, QWORD PTR [rbp-24]
movzx edx, BYTE PTR [rbp-9]
mov BYTE PTR [rax], dl
sub QWORD PTR [rbp-8], 1
add QWORD PTR [rbp-24], 1
jmp .L1316
.L1315:
mov rax, QWORD PTR [rbp-24]
pop rbp
ret
std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_Vector_base(std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >&&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 24
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rbx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_M_get_Tp_allocator()
mov rdi, rax
call std::remove_reference<std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >&>::type&& std::move<std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >&>(std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >&)
mov rsi, rax
mov rdi, rbx
call std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_Vector_impl::_Vector_impl(std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >&&)
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rbp-32]
mov rsi, rdx
mov rdi, rax
call std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_Vector_impl::_M_swap_data(std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_Vector_impl&)
nop
add rsp, 24
pop rbx
pop rbp
ret
__gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >::__normal_iterator(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >* const&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], rdx
nop
pop rbp
ret
__gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >::base() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_move_assign(std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >&&, std::integral_constant<bool, true>):
push rbp
mov rbp, rsp
push rbx
sub rsp, 56
mov QWORD PTR [rbp-56], rdi
mov QWORD PTR [rbp-64], rsi
mov rdx, QWORD PTR [rbp-56]
lea rax, [rbp-17]
mov rsi, rdx
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::get_allocator() const
lea rdx, [rbp-17]
lea rax, [rbp-48]
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::vector(std::allocator<std::__cxx11::sub_match<char const*> > const&)
lea rax, [rbp-17]
mov rdi, rax
call std::allocator<std::__cxx11::sub_match<char const*> >::~allocator() [complete object destructor]
mov rax, QWORD PTR [rbp-56]
lea rdx, [rbp-48]
mov rsi, rdx
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_Vector_impl::_M_swap_data(std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_Vector_impl&)
mov rax, QWORD PTR [rbp-56]
mov rdx, QWORD PTR [rbp-64]
mov rsi, rdx
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_Vector_impl::_M_swap_data(std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_Vector_impl&)
mov rax, QWORD PTR [rbp-64]
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_get_Tp_allocator()
mov rbx, rax
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_get_Tp_allocator()
mov rsi, rbx
mov rdi, rax
call void std::__alloc_on_move<std::allocator<std::__cxx11::sub_match<char const*> > >(std::allocator<std::__cxx11::sub_match<char const*> >&, std::allocator<std::__cxx11::sub_match<char const*> >&)
lea rax, [rbp-48]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::~vector() [complete object destructor]
nop
add rsp, 56
pop rbx
pop rbp
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_State_info<std::integral_constant<bool, false>, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::_M_visited(long):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
lea rdx, [rax+24]
mov rax, QWORD PTR [rbp-16]
mov rsi, rax
mov rdi, rdx
call std::unique_ptr<bool [], std::default_delete<bool []> >::operator[](unsigned long) const
movzx eax, BYTE PTR [rax]
test al, al
je .L1324
mov eax, 1
jmp .L1325
.L1324:
mov rax, QWORD PTR [rbp-8]
lea rdx, [rax+24]
mov rax, QWORD PTR [rbp-16]
mov rsi, rax
mov rdi, rdx
call std::unique_ptr<bool [], std::default_delete<bool []> >::operator[](unsigned long) const
mov BYTE PTR [rax], 1
mov eax, 0
.L1325:
leave
ret
std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long) const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rcx, QWORD PTR [rax]
mov rdx, QWORD PTR [rbp-16]
mov rax, rdx
add rax, rax
add rax, rdx
sal rax, 4
add rax, rcx
pop rbp
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_handle_repeat(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long):
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-24], rdi
mov eax, esi
mov QWORD PTR [rbp-40], rdx
mov BYTE PTR [rbp-28], al
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+56]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-40]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long) const
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-8]
movzx eax, BYTE PTR [rax+24]
xor eax, 1
test al, al
je .L1329
mov rdx, QWORD PTR [rbp-40]
movzx ecx, BYTE PTR [rbp-28]
mov rax, QWORD PTR [rbp-24]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_rep_once_more(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
movzx ecx, BYTE PTR [rbp-28]
mov rax, QWORD PTR [rbp-24]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
jmp .L1331
.L1329:
mov rax, QWORD PTR [rbp-24]
movzx eax, BYTE PTR [rax+140]
xor eax, 1
test al, al
je .L1331
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
movzx ecx, BYTE PTR [rbp-28]
mov rax, QWORD PTR [rbp-24]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
mov rax, QWORD PTR [rbp-24]
movzx eax, BYTE PTR [rax+140]
xor eax, 1
test al, al
je .L1331
mov rdx, QWORD PTR [rbp-40]
movzx ecx, BYTE PTR [rbp-28]
mov rax, QWORD PTR [rbp-24]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_rep_once_more(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
.L1331:
nop
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_handle_subexpr_begin(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long):
push rbp
mov rbp, rsp
sub rsp, 64
mov QWORD PTR [rbp-40], rdi
mov eax, esi
mov QWORD PTR [rbp-56], rdx
mov BYTE PTR [rbp-44], al
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+56]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-56]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long) const
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rdx+16]
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::operator[](unsigned long)
mov QWORD PTR [rbp-16], rax
mov rax, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rax]
mov QWORD PTR [rbp-24], rax
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-16]
mov QWORD PTR [rax], rdx
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
movzx ecx, BYTE PTR [rbp-44]
mov rax, QWORD PTR [rbp-40]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
mov rax, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rbp-24]
mov QWORD PTR [rax], rdx
nop
leave
ret
std::__cxx11::sub_match<char const*>::operator=(std::__cxx11::sub_match<char const*> const&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov rsi, rdx
mov rdi, rax
call std::pair<char const*, char const*>::operator=(std::pair<char const*, char const*> const&)
mov rax, QWORD PTR [rbp-16]
movzx edx, BYTE PTR [rax+16]
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+16], dl
mov rax, QWORD PTR [rbp-8]
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_handle_subexpr_end(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long):
push rbp
mov rbp, rsp
sub rsp, 80
mov QWORD PTR [rbp-56], rdi
mov eax, esi
mov QWORD PTR [rbp-72], rdx
mov BYTE PTR [rbp-60], al
mov rax, QWORD PTR [rbp-56]
mov rax, QWORD PTR [rax+56]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-72]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long) const
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-56]
mov rdx, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rdx+16]
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::operator[](unsigned long)
mov QWORD PTR [rbp-16], rax
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rcx]
mov rdx, QWORD PTR [rcx+8]
mov QWORD PTR [rbp-48], rax
mov QWORD PTR [rbp-40], rdx
mov rax, QWORD PTR [rcx+16]
mov QWORD PTR [rbp-32], rax
mov rax, QWORD PTR [rbp-56]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-16]
mov QWORD PTR [rax+8], rdx
mov rax, QWORD PTR [rbp-16]
mov BYTE PTR [rax+16], 1
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
movzx ecx, BYTE PTR [rbp-60]
mov rax, QWORD PTR [rbp-56]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
lea rdx, [rbp-48]
mov rax, QWORD PTR [rbp-16]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::sub_match<char const*>::operator=(std::__cxx11::sub_match<char const*> const&)
nop
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_handle_line_begin_assertion(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long):
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-24], rdi
mov eax, esi
mov QWORD PTR [rbp-40], rdx
mov BYTE PTR [rbp-28], al
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+56]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-40]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long) const
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_at_begin() const
test al, al
je .L1338
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
movzx ecx, BYTE PTR [rbp-28]
mov rax, QWORD PTR [rbp-24]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
.L1338:
nop
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_handle_line_end_assertion(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long):
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-24], rdi
mov eax, esi
mov QWORD PTR [rbp-40], rdx
mov BYTE PTR [rbp-28], al
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+56]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-40]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long) const
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_at_end() const
test al, al
je .L1341
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
movzx ecx, BYTE PTR [rbp-28]
mov rax, QWORD PTR [rbp-24]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
.L1341:
nop
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_handle_word_boundary(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long):
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-24], rdi
mov eax, esi
mov QWORD PTR [rbp-40], rdx
mov BYTE PTR [rbp-28], al
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+56]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-40]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long) const
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_word_boundary() const
mov edx, eax
mov rax, QWORD PTR [rbp-8]
movzx eax, BYTE PTR [rax+24]
xor eax, 1
cmp dl, al
sete al
test al, al
je .L1344
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
movzx ecx, BYTE PTR [rbp-28]
mov rax, QWORD PTR [rbp-24]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
.L1344:
nop
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_handle_subexpr_lookahead(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long):
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-24], rdi
mov eax, esi
mov QWORD PTR [rbp-40], rdx
mov BYTE PTR [rbp-28], al
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+56]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-40]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long) const
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+16]
mov rax, QWORD PTR [rbp-24]
mov rsi, rdx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_lookahead(long)
mov edx, eax
mov rax, QWORD PTR [rbp-8]
movzx eax, BYTE PTR [rax+24]
xor eax, 1
cmp dl, al
sete al
test al, al
je .L1347
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
movzx ecx, BYTE PTR [rbp-28]
mov rax, QWORD PTR [rbp-24]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
.L1347:
nop
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_handle_match(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long):
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-24], rdi
mov eax, esi
mov QWORD PTR [rbp-40], rdx
mov BYTE PTR [rbp-28], al
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+56]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-40]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long) const
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+40]
cmp rdx, rax
je .L1351
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+24]
movzx eax, BYTE PTR [rax]
movsx edx, al
mov rax, QWORD PTR [rbp-8]
mov esi, edx
mov rdi, rax
call std::__detail::_State<char>::_M_matches(char) const
test al, al
je .L1348
mov rax, QWORD PTR [rbp-24]
lea rcx, [rax+96]
mov rdx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+8]
mov rsi, rax
mov rdi, rcx
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_State_info<std::integral_constant<bool, false>, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::_M_queue(long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&)
jmp .L1348
.L1351:
nop
.L1348:
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_handle_backref(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long):
push rbp
mov rbp, rsp
push rbx
sub rsp, 104
mov QWORD PTR [rbp-88], rdi
mov eax, esi
mov QWORD PTR [rbp-104], rdx
mov BYTE PTR [rbp-92], al
mov rax, QWORD PTR [rbp-88]
mov rax, QWORD PTR [rax+56]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-104]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long) const
mov QWORD PTR [rbp-40], rax
mov rax, QWORD PTR [rbp-88]
mov rdx, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rdx+16]
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::operator[](unsigned long)
mov QWORD PTR [rbp-48], rax
mov rax, QWORD PTR [rbp-48]
movzx eax, BYTE PTR [rax+16]
xor eax, 1
test al, al
jne .L1359
mov rax, QWORD PTR [rbp-88]
mov rax, QWORD PTR [rax+24]
mov QWORD PTR [rbp-24], rax
mov rax, QWORD PTR [rbp-48]
mov rax, QWORD PTR [rax]
mov QWORD PTR [rbp-32], rax
.L1356:
mov rax, QWORD PTR [rbp-88]
mov rax, QWORD PTR [rax+40]
cmp QWORD PTR [rbp-24], rax
je .L1355
mov rax, QWORD PTR [rbp-48]
mov rax, QWORD PTR [rax+8]
cmp QWORD PTR [rbp-32], rax
je .L1355
add QWORD PTR [rbp-24], 1
add QWORD PTR [rbp-32], 1
jmp .L1356
.L1355:
mov rax, QWORD PTR [rbp-88]
mov rax, QWORD PTR [rax+48]
add rax, 16
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
lea rbx, [rax+80]
mov rax, QWORD PTR [rbp-88]
mov rax, QWORD PTR [rax+48]
mov rdi, rax
call std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> >::flags() const
mov esi, 1
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
setne al
movzx ecx, al
lea rax, [rbp-80]
mov rdx, rbx
mov esi, ecx
mov rdi, rax
call std::__detail::_Backref_matcher<char const*, std::__cxx11::regex_traits<char> >::_Backref_matcher(bool, std::__cxx11::regex_traits<char> const&)
mov rax, QWORD PTR [rbp-88]
mov rcx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-48]
mov rdx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-48]
mov rsi, QWORD PTR [rax]
mov rdi, QWORD PTR [rbp-24]
lea rax, [rbp-80]
mov r8, rdi
mov rdi, rax
call std::__detail::_Backref_matcher<char const*, std::__cxx11::regex_traits<char> >::_M_apply(char const*, char const*, char const*, char const*)
test al, al
je .L1352
mov rax, QWORD PTR [rbp-88]
mov rax, QWORD PTR [rax+24]
cmp QWORD PTR [rbp-24], rax
je .L1357
mov rax, QWORD PTR [rbp-88]
mov rax, QWORD PTR [rax+24]
mov QWORD PTR [rbp-56], rax
mov rax, QWORD PTR [rbp-88]
mov rdx, QWORD PTR [rbp-24]
mov QWORD PTR [rax+24], rdx
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rax+8]
movzx ecx, BYTE PTR [rbp-92]
mov rax, QWORD PTR [rbp-88]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
mov rax, QWORD PTR [rbp-88]
mov rdx, QWORD PTR [rbp-56]
mov QWORD PTR [rax+24], rdx
jmp .L1352
.L1357:
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rax+8]
movzx ecx, BYTE PTR [rbp-92]
mov rax, QWORD PTR [rbp-88]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
jmp .L1352
.L1359:
nop
.L1352:
add rsp, 104
pop rbx
pop rbp
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_handle_accept(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov eax, esi
mov QWORD PTR [rbp-24], rdx
mov BYTE PTR [rbp-12], al
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+32]
cmp rdx, rax
jne .L1361
mov rax, QWORD PTR [rbp-8]
mov eax, DWORD PTR [rax+136]
mov esi, 32
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::match_flag_type, std::regex_constants::match_flag_type)
test eax, eax
je .L1361
mov eax, 1
jmp .L1362
.L1361:
mov eax, 0
.L1362:
test al, al
jne .L1366
cmp BYTE PTR [rbp-12], 1
je .L1365
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+40]
cmp rdx, rax
jne .L1360
.L1365:
mov rax, QWORD PTR [rbp-8]
movzx eax, BYTE PTR [rax+140]
xor eax, 1
test al, al
je .L1360
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+140], 1
mov rdx, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+64]
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::operator=(std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&)
jmp .L1360
.L1366:
nop
.L1360:
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_handle_alternative(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long):
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-24], rdi
mov eax, esi
mov QWORD PTR [rbp-40], rdx
mov BYTE PTR [rbp-28], al
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+56]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-40]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long) const
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+56]
mov eax, DWORD PTR [rax+24]
mov esi, 16
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
setne al
test al, al
je .L1368
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+16]
movzx ecx, BYTE PTR [rbp-28]
mov rax, QWORD PTR [rbp-24]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
mov rax, QWORD PTR [rbp-24]
movzx eax, BYTE PTR [rax+140]
xor eax, 1
test al, al
je .L1370
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
movzx ecx, BYTE PTR [rbp-28]
mov rax, QWORD PTR [rbp-24]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
jmp .L1370
.L1368:
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+16]
movzx ecx, BYTE PTR [rbp-28]
mov rax, QWORD PTR [rbp-24]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
mov rax, QWORD PTR [rbp-24]
movzx eax, BYTE PTR [rax+140]
mov BYTE PTR [rbp-9], al
mov rax, QWORD PTR [rbp-24]
mov BYTE PTR [rax+140], 0
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
movzx ecx, BYTE PTR [rbp-28]
mov rax, QWORD PTR [rbp-24]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
mov rax, QWORD PTR [rbp-24]
movzx eax, BYTE PTR [rax+140]
or al, BYTE PTR [rbp-9]
mov edx, eax
mov rax, QWORD PTR [rbp-24]
mov BYTE PTR [rax+140], dl
.L1370:
nop
leave
ret
std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_M_erase_at_end(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+8]
sub rax, QWORD PTR [rbp-32]
sar rax, 5
mov QWORD PTR [rbp-8], rax
cmp QWORD PTR [rbp-8], 0
je .L1373
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_M_get_Tp_allocator()
mov rdx, rax
mov rax, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-32]
mov rsi, rcx
mov rdi, rax
call void std::_Destroy<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >&)
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rbp-32]
mov QWORD PTR [rax+8], rdx
.L1373:
nop
leave
ret
bool std::operator!=<std::__cxx11::sub_match<char const*> >(std::allocator<std::__cxx11::sub_match<char const*> > const&, std::allocator<std::__cxx11::sub_match<char const*> > const&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov eax, 0
pop rbp
ret
std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::clear():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_erase_at_end(std::__cxx11::sub_match<char const*>*)
nop
leave
ret
void std::__alloc_on_copy<std::allocator<std::__cxx11::sub_match<char const*> > >(std::allocator<std::__cxx11::sub_match<char const*> >&, std::allocator<std::__cxx11::sub_match<char const*> > const&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rdx, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rbp-24]
mov rsi, rdx
mov rdi, rax
call void std::__do_alloc_on_copy<std::allocator<std::__cxx11::sub_match<char const*> > >(std::allocator<std::__cxx11::sub_match<char const*> >&, std::allocator<std::__cxx11::sub_match<char const*> > const&, std::integral_constant<bool, false>)
nop
leave
ret
std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::capacity() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+16]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
sub rdx, rax
mov rax, rdx
sar rax, 3
mov rdx, rax
movabs rax, -6148914691236517205
imul rax, rdx
pop rbp
ret
std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::begin() const:
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax]
mov QWORD PTR [rbp-8], rax
lea rdx, [rbp-8]
lea rax, [rbp-16]
mov rsi, rdx
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::__normal_iterator(std::__cxx11::sub_match<char const*> const* const&)
mov rax, QWORD PTR [rbp-16]
leave
ret
std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::end() const:
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+8]
mov QWORD PTR [rbp-8], rax
lea rdx, [rbp-8]
lea rax, [rbp-16]
mov rsi, rdx
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::__normal_iterator(std::__cxx11::sub_match<char const*> const* const&)
mov rax, QWORD PTR [rbp-16]
leave
ret
std::__cxx11::sub_match<char const*>* std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_allocate_and_copy<__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >(unsigned long, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >):
push rbp
mov rbp, rsp
push rbx
sub rsp, 56
mov QWORD PTR [rbp-40], rdi
mov QWORD PTR [rbp-48], rsi
mov QWORD PTR [rbp-56], rdx
mov QWORD PTR [rbp-64], rcx
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rbp-48]
mov rsi, rdx
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_allocate(unsigned long)
mov QWORD PTR [rbp-24], rax
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_get_Tp_allocator()
mov rcx, rax
mov rdx, QWORD PTR [rbp-24]
mov rsi, QWORD PTR [rbp-64]
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::__cxx11::sub_match<char const*>* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*> >(__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::__cxx11::sub_match<char const*>*, std::allocator<std::__cxx11::sub_match<char const*> >&)
mov rax, QWORD PTR [rbp-24]
jmp .L1390
mov rdi, rax
call __cxa_begin_catch
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rbp-48]
mov rcx, QWORD PTR [rbp-24]
mov rsi, rcx
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_deallocate(std::__cxx11::sub_match<char const*>*, unsigned long)
call __cxa_rethrow
mov rbx, rax
call __cxa_end_catch
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1390:
add rsp, 56
pop rbx
pop rbp
ret
__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > std::copy<__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >(__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >):
push rbp
mov rbp, rsp
push rbx
sub rsp, 40
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov QWORD PTR [rbp-40], rdx
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > std::__miter_base<__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >(__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >)
mov rbx, rax
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > std::__miter_base<__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >(__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >)
mov rcx, rax
mov rax, QWORD PTR [rbp-40]
mov rdx, rax
mov rsi, rbx
mov rdi, rcx
call __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > std::__copy_move_a2<false, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >(__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >)
add rsp, 40
pop rbx
pop rbp
ret
void std::_Destroy<__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::__cxx11::sub_match<char const*> >(__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::__cxx11::sub_match<char const*> >&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call void std::_Destroy<__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >(__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >)
nop
leave
ret
std::__cxx11::sub_match<char const*>* std::copy<std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*>(std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*):
push rbp
mov rbp, rsp
push rbx
sub rsp, 40
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov QWORD PTR [rbp-40], rdx
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::__cxx11::sub_match<char const*>* std::__miter_base<std::__cxx11::sub_match<char const*>*>(std::__cxx11::sub_match<char const*>*)
mov rbx, rax
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__cxx11::sub_match<char const*>* std::__miter_base<std::__cxx11::sub_match<char const*>*>(std::__cxx11::sub_match<char const*>*)
mov rcx, rax
mov rax, QWORD PTR [rbp-40]
mov rdx, rax
mov rsi, rbx
mov rdi, rcx
call std::__cxx11::sub_match<char const*>* std::__copy_move_a2<false, std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*>(std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*)
add rsp, 40
pop rbx
pop rbp
ret
std::__cxx11::sub_match<char const*>* std::__uninitialized_copy_a<std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*> >(std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*, std::allocator<std::__cxx11::sub_match<char const*> >&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov QWORD PTR [rbp-32], rcx
mov rdx, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call std::__cxx11::sub_match<char const*>* std::uninitialized_copy<std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*>(std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*)
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_State_info<std::integral_constant<bool, true>, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::_M_visited(long) const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov eax, 0
pop rbp
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_handle_repeat(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long):
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-24], rdi
mov eax, esi
mov QWORD PTR [rbp-40], rdx
mov BYTE PTR [rbp-28], al
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+56]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-40]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long) const
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-8]
movzx eax, BYTE PTR [rax+24]
xor eax, 1
test al, al
je .L1401
mov rdx, QWORD PTR [rbp-40]
movzx ecx, BYTE PTR [rbp-28]
mov rax, QWORD PTR [rbp-24]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_rep_once_more(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
mov rax, QWORD PTR [rbp-24]
movzx eax, BYTE PTR [rax+116]
xor eax, 1
test al, al
je .L1403
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
movzx ecx, BYTE PTR [rbp-28]
mov rax, QWORD PTR [rbp-24]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
jmp .L1403
.L1401:
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
movzx ecx, BYTE PTR [rbp-28]
mov rax, QWORD PTR [rbp-24]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
mov rax, QWORD PTR [rbp-24]
movzx eax, BYTE PTR [rax+116]
xor eax, 1
test al, al
je .L1403
mov rdx, QWORD PTR [rbp-40]
movzx ecx, BYTE PTR [rbp-28]
mov rax, QWORD PTR [rbp-24]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_rep_once_more(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
.L1403:
nop
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_handle_subexpr_begin(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long):
push rbp
mov rbp, rsp
sub rsp, 64
mov QWORD PTR [rbp-40], rdi
mov eax, esi
mov QWORD PTR [rbp-56], rdx
mov BYTE PTR [rbp-44], al
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+56]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-56]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long) const
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rdx+16]
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::operator[](unsigned long)
mov QWORD PTR [rbp-16], rax
mov rax, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rax]
mov QWORD PTR [rbp-24], rax
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-16]
mov QWORD PTR [rax], rdx
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
movzx ecx, BYTE PTR [rbp-44]
mov rax, QWORD PTR [rbp-40]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
mov rax, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rbp-24]
mov QWORD PTR [rax], rdx
nop
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_handle_subexpr_end(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long):
push rbp
mov rbp, rsp
sub rsp, 80
mov QWORD PTR [rbp-56], rdi
mov eax, esi
mov QWORD PTR [rbp-72], rdx
mov BYTE PTR [rbp-60], al
mov rax, QWORD PTR [rbp-56]
mov rax, QWORD PTR [rax+56]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-72]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long) const
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-56]
mov rdx, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rdx+16]
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::operator[](unsigned long)
mov QWORD PTR [rbp-16], rax
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rcx]
mov rdx, QWORD PTR [rcx+8]
mov QWORD PTR [rbp-48], rax
mov QWORD PTR [rbp-40], rdx
mov rax, QWORD PTR [rcx+16]
mov QWORD PTR [rbp-32], rax
mov rax, QWORD PTR [rbp-56]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-16]
mov QWORD PTR [rax+8], rdx
mov rax, QWORD PTR [rbp-16]
mov BYTE PTR [rax+16], 1
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
movzx ecx, BYTE PTR [rbp-60]
mov rax, QWORD PTR [rbp-56]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
lea rdx, [rbp-48]
mov rax, QWORD PTR [rbp-16]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::sub_match<char const*>::operator=(std::__cxx11::sub_match<char const*> const&)
nop
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_handle_line_begin_assertion(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long):
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-24], rdi
mov eax, esi
mov QWORD PTR [rbp-40], rdx
mov BYTE PTR [rbp-28], al
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+56]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-40]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long) const
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_at_begin() const
test al, al
je .L1408
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
movzx ecx, BYTE PTR [rbp-28]
mov rax, QWORD PTR [rbp-24]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
.L1408:
nop
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_handle_line_end_assertion(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long):
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-24], rdi
mov eax, esi
mov QWORD PTR [rbp-40], rdx
mov BYTE PTR [rbp-28], al
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+56]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-40]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long) const
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_at_end() const
test al, al
je .L1411
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
movzx ecx, BYTE PTR [rbp-28]
mov rax, QWORD PTR [rbp-24]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
.L1411:
nop
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_handle_word_boundary(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long):
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-24], rdi
mov eax, esi
mov QWORD PTR [rbp-40], rdx
mov BYTE PTR [rbp-28], al
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+56]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-40]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long) const
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_word_boundary() const
mov edx, eax
mov rax, QWORD PTR [rbp-8]
movzx eax, BYTE PTR [rax+24]
xor eax, 1
cmp dl, al
sete al
test al, al
je .L1414
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
movzx ecx, BYTE PTR [rbp-28]
mov rax, QWORD PTR [rbp-24]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
.L1414:
nop
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_handle_subexpr_lookahead(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long):
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-24], rdi
mov eax, esi
mov QWORD PTR [rbp-40], rdx
mov BYTE PTR [rbp-28], al
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+56]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-40]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long) const
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+16]
mov rax, QWORD PTR [rbp-24]
mov rsi, rdx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_lookahead(long)
mov edx, eax
mov rax, QWORD PTR [rbp-8]
movzx eax, BYTE PTR [rax+24]
xor eax, 1
cmp dl, al
sete al
test al, al
je .L1417
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
movzx ecx, BYTE PTR [rbp-28]
mov rax, QWORD PTR [rbp-24]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
.L1417:
nop
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_handle_match(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long):
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-24], rdi
mov eax, esi
mov QWORD PTR [rbp-40], rdx
mov BYTE PTR [rbp-28], al
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+56]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-40]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long) const
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+40]
cmp rdx, rax
je .L1421
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+24]
movzx eax, BYTE PTR [rax]
movsx edx, al
mov rax, QWORD PTR [rbp-8]
mov esi, edx
mov rdi, rax
call std::__detail::_State<char>::_M_matches(char) const
test al, al
je .L1418
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+24]
lea rdx, [rax+1]
mov rax, QWORD PTR [rbp-24]
mov QWORD PTR [rax+24], rdx
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
movzx ecx, BYTE PTR [rbp-28]
mov rax, QWORD PTR [rbp-24]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+24]
lea rdx, [rax-1]
mov rax, QWORD PTR [rbp-24]
mov QWORD PTR [rax+24], rdx
jmp .L1418
.L1421:
nop
.L1418:
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_handle_backref(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long):
push rbp
mov rbp, rsp
push rbx
sub rsp, 104
mov QWORD PTR [rbp-88], rdi
mov eax, esi
mov QWORD PTR [rbp-104], rdx
mov BYTE PTR [rbp-92], al
mov rax, QWORD PTR [rbp-88]
mov rax, QWORD PTR [rax+56]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-104]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long) const
mov QWORD PTR [rbp-40], rax
mov rax, QWORD PTR [rbp-88]
mov rdx, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rdx+16]
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::operator[](unsigned long)
mov QWORD PTR [rbp-48], rax
mov rax, QWORD PTR [rbp-48]
movzx eax, BYTE PTR [rax+16]
xor eax, 1
test al, al
jne .L1429
mov rax, QWORD PTR [rbp-88]
mov rax, QWORD PTR [rax+24]
mov QWORD PTR [rbp-24], rax
mov rax, QWORD PTR [rbp-48]
mov rax, QWORD PTR [rax]
mov QWORD PTR [rbp-32], rax
.L1426:
mov rax, QWORD PTR [rbp-88]
mov rax, QWORD PTR [rax+40]
cmp QWORD PTR [rbp-24], rax
je .L1425
mov rax, QWORD PTR [rbp-48]
mov rax, QWORD PTR [rax+8]
cmp QWORD PTR [rbp-32], rax
je .L1425
add QWORD PTR [rbp-24], 1
add QWORD PTR [rbp-32], 1
jmp .L1426
.L1425:
mov rax, QWORD PTR [rbp-88]
mov rax, QWORD PTR [rax+48]
add rax, 16
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> > const, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
lea rbx, [rax+80]
mov rax, QWORD PTR [rbp-88]
mov rax, QWORD PTR [rax+48]
mov rdi, rax
call std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> >::flags() const
mov esi, 1
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
setne al
movzx ecx, al
lea rax, [rbp-80]
mov rdx, rbx
mov esi, ecx
mov rdi, rax
call std::__detail::_Backref_matcher<char const*, std::__cxx11::regex_traits<char> >::_Backref_matcher(bool, std::__cxx11::regex_traits<char> const&)
mov rax, QWORD PTR [rbp-88]
mov rcx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-48]
mov rdx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-48]
mov rsi, QWORD PTR [rax]
mov rdi, QWORD PTR [rbp-24]
lea rax, [rbp-80]
mov r8, rdi
mov rdi, rax
call std::__detail::_Backref_matcher<char const*, std::__cxx11::regex_traits<char> >::_M_apply(char const*, char const*, char const*, char const*)
test al, al
je .L1422
mov rax, QWORD PTR [rbp-88]
mov rax, QWORD PTR [rax+24]
cmp QWORD PTR [rbp-24], rax
je .L1427
mov rax, QWORD PTR [rbp-88]
mov rax, QWORD PTR [rax+24]
mov QWORD PTR [rbp-56], rax
mov rax, QWORD PTR [rbp-88]
mov rdx, QWORD PTR [rbp-24]
mov QWORD PTR [rax+24], rdx
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rax+8]
movzx ecx, BYTE PTR [rbp-92]
mov rax, QWORD PTR [rbp-88]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
mov rax, QWORD PTR [rbp-88]
mov rdx, QWORD PTR [rbp-56]
mov QWORD PTR [rax+24], rdx
jmp .L1422
.L1427:
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rax+8]
movzx ecx, BYTE PTR [rbp-92]
mov rax, QWORD PTR [rbp-88]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
jmp .L1422
.L1429:
nop
.L1422:
add rsp, 104
pop rbx
pop rbp
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_handle_accept(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long):
push rbp
mov rbp, rsp
push rbx
sub rsp, 40
mov QWORD PTR [rbp-24], rdi
mov eax, esi
mov QWORD PTR [rbp-40], rdx
mov BYTE PTR [rbp-28], al
cmp BYTE PTR [rbp-28], 0
jne .L1431
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+40]
cmp rdx, rax
sete dl
mov rax, QWORD PTR [rbp-24]
mov BYTE PTR [rax+116], dl
jmp .L1432
.L1431:
mov rax, QWORD PTR [rbp-24]
mov BYTE PTR [rax+116], 1
.L1432:
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+32]
cmp rdx, rax
jne .L1433
mov rax, QWORD PTR [rbp-24]
mov eax, DWORD PTR [rax+112]
mov esi, 32
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::match_flag_type, std::regex_constants::match_flag_type)
test eax, eax
je .L1433
mov eax, 1
jmp .L1434
.L1433:
mov eax, 0
.L1434:
test al, al
je .L1435
mov rax, QWORD PTR [rbp-24]
mov BYTE PTR [rax+116], 0
.L1435:
mov rax, QWORD PTR [rbp-24]
movzx eax, BYTE PTR [rax+116]
test al, al
je .L1430
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+56]
mov eax, DWORD PTR [rax+24]
mov esi, 16
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
setne al
test al, al
je .L1437
mov rdx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+64]
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::operator=(std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&)
jmp .L1430
.L1437:
mov rax, QWORD PTR [rbp-24]
add rax, 96
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_State_info<std::integral_constant<bool, true>, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::_M_get_sol_pos()
mov rax, QWORD PTR [rax]
test rax, rax
je .L1438
mov rax, QWORD PTR [rbp-24]
add rax, 96
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_State_info<std::integral_constant<bool, true>, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::_M_get_sol_pos()
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+32]
mov rsi, rdx
mov rdi, rax
call std::iterator_traits<char const*>::difference_type std::distance<char const*>(char const*, char const*)
mov rbx, rax
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+32]
mov rsi, rdx
mov rdi, rax
call std::iterator_traits<char const*>::difference_type std::distance<char const*>(char const*, char const*)
cmp rbx, rax
jge .L1439
.L1438:
mov eax, 1
jmp .L1440
.L1439:
mov eax, 0
.L1440:
test al, al
je .L1430
mov rax, QWORD PTR [rbp-24]
mov rbx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-24]
add rax, 96
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_State_info<std::integral_constant<bool, true>, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::_M_get_sol_pos()
mov QWORD PTR [rax], rbx
mov rdx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+64]
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::operator=(std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&)
.L1430:
add rsp, 40
pop rbx
pop rbp
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_handle_alternative(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long):
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-24], rdi
mov eax, esi
mov QWORD PTR [rbp-40], rdx
mov BYTE PTR [rbp-28], al
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+56]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-40]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long) const
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+56]
mov eax, DWORD PTR [rax+24]
mov esi, 16
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
setne al
test al, al
je .L1442
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+16]
movzx ecx, BYTE PTR [rbp-28]
mov rax, QWORD PTR [rbp-24]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
mov rax, QWORD PTR [rbp-24]
movzx eax, BYTE PTR [rax+116]
xor eax, 1
test al, al
je .L1444
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
movzx ecx, BYTE PTR [rbp-28]
mov rax, QWORD PTR [rbp-24]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
jmp .L1444
.L1442:
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+16]
movzx ecx, BYTE PTR [rbp-28]
mov rax, QWORD PTR [rbp-24]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
mov rax, QWORD PTR [rbp-24]
movzx eax, BYTE PTR [rax+116]
mov BYTE PTR [rbp-9], al
mov rax, QWORD PTR [rbp-24]
mov BYTE PTR [rax+116], 0
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
movzx ecx, BYTE PTR [rbp-28]
mov rax, QWORD PTR [rbp-24]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
mov rax, QWORD PTR [rbp-24]
movzx eax, BYTE PTR [rax+116]
or al, BYTE PTR [rbp-9]
mov edx, eax
mov rax, QWORD PTR [rbp-24]
mov BYTE PTR [rax+116], dl
.L1444:
nop
leave
ret
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, std::locale const&, std::regex_constants::syntax_option_type&>(std::__detail::_NFA<std::__cxx11::regex_traits<char> >*&, std::_Sp_alloc_shared_tag<std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > > >, std::locale const&, std::regex_constants::syntax_option_type&):
push rbp
mov rbp, rsp
push r15
push r14
push r13
push r12
push rbx
sub rsp, 104
mov QWORD PTR [rbp-104], rdi
mov QWORD PTR [rbp-112], rsi
mov QWORD PTR [rbp-120], rdx
mov QWORD PTR [rbp-128], rcx
mov QWORD PTR [rbp-136], r8
mov rdx, QWORD PTR [rbp-120]
lea rax, [rbp-66]
mov rsi, rdx
mov rdi, rax
call std::allocator<std::_Sp_counted_ptr_inplace<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, (__gnu_cxx::_Lock_policy)2> >::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >(std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > > const&)
lea rax, [rbp-96]
lea rdx, [rbp-66]
mov rsi, rdx
mov rdi, rax
call std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, (__gnu_cxx::_Lock_policy)2> >&)
lea rax, [rbp-96]
mov rdi, rax
call std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, (__gnu_cxx::_Lock_policy)2> > >::get()
mov QWORD PTR [rbp-56], rax
mov rdx, QWORD PTR [rbp-120]
lea rax, [rbp-65]
mov rsi, rdx
mov rdi, rax
call std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >::allocator(std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > > const&)
lea r13, [rbp-65]
mov rax, QWORD PTR [rbp-128]
mov rdi, rax
call std::locale const& std::forward<std::locale const&>(std::remove_reference<std::locale const&>::type&)
mov r14, rax
mov rax, QWORD PTR [rbp-136]
mov rdi, rax
call std::regex_constants::syntax_option_type& std::forward<std::regex_constants::syntax_option_type&>(std::remove_reference<std::regex_constants::syntax_option_type&>::type&)
mov r15, rax
mov r12, QWORD PTR [rbp-56]
mov rsi, r12
mov edi, 104
call operator new(unsigned long, void*)
mov rbx, rax
mov rcx, r15
mov rdx, r14
mov rsi, r13
mov rdi, rbx
call std::_Sp_counted_ptr_inplace<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<std::locale const&, std::regex_constants::syntax_option_type&>(std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, std::locale const&, std::regex_constants::syntax_option_type&)
mov QWORD PTR [rbp-64], rbx
lea rax, [rbp-65]
mov rdi, rax
call std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >::~allocator() [complete object destructor]
lea rax, [rbp-96]
mov esi, 0
mov rdi, rax
call std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, (__gnu_cxx::_Lock_policy)2> > >::operator=(decltype(nullptr))
mov rax, QWORD PTR [rbp-104]
mov rdx, QWORD PTR [rbp-64]
mov QWORD PTR [rax], rdx
mov rax, QWORD PTR [rbp-64]
mov rdi, rax
call std::_Sp_counted_ptr_inplace<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, (__gnu_cxx::_Lock_policy)2>::_M_ptr()
mov rdx, rax
mov rax, QWORD PTR [rbp-112]
mov QWORD PTR [rax], rdx
lea rax, [rbp-96]
mov rdi, rax
call std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, (__gnu_cxx::_Lock_policy)2> > >::~__allocated_ptr() [complete object destructor]
lea rax, [rbp-66]
mov rdi, rax
call std::allocator<std::_Sp_counted_ptr_inplace<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, (__gnu_cxx::_Lock_policy)2> >::~allocator() [complete object destructor]
jmp .L1450
mov r13, rax
mov rsi, r12
mov rdi, rbx
call operator delete(void*, void*)
mov rbx, r13
lea rax, [rbp-65]
mov rdi, rax
call std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >::~allocator() [complete object destructor]
lea rax, [rbp-96]
mov rdi, rax
call std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, (__gnu_cxx::_Lock_policy)2> > >::~__allocated_ptr() [complete object destructor]
jmp .L1447
mov rbx, rax
.L1447:
lea rax, [rbp-66]
mov rdi, rax
call std::allocator<std::_Sp_counted_ptr_inplace<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, (__gnu_cxx::_Lock_policy)2> >::~allocator() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1450:
add rsp, 104
pop rbx
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
std::enable_if<!std::__shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2>::__has_esft_base<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, void>::value, void>::type std::__shared_ptr<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2>::_M_enable_shared_from_this_with<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::__detail::_NFA<std::__cxx11::regex_traits<char> > >(std::__detail::_NFA<std::__cxx11::regex_traits<char> >*):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
nop
pop rbp
ret
std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >::allocator() [base object constructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call __gnu_cxx::new_allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >::new_allocator() [base object constructor]
nop
leave
ret
std::_Deque_iterator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::_Deque_iterator() [base object constructor]:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], 0
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+8], 0
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+16], 0
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+24], 0
nop
pop rbp
ret
std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_allocate_map(unsigned long):
push rbp
mov rbp, rsp
push rbx
sub rsp, 40
mov QWORD PTR [rbp-40], rdi
mov QWORD PTR [rbp-48], rsi
lea rax, [rbp-17]
mov rdx, QWORD PTR [rbp-40]
mov rsi, rdx
mov rdi, rax
call std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_get_map_allocator() const
mov rdx, QWORD PTR [rbp-48]
lea rax, [rbp-17]
mov rsi, rdx
mov rdi, rax
call std::allocator_traits<std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*> >::allocate(std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>&, unsigned long)
mov rbx, rax
nop
lea rax, [rbp-17]
mov rdi, rax
call std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::~allocator() [complete object destructor]
mov rax, rbx
jmp .L1458
mov rbx, rax
lea rax, [rbp-17]
mov rdi, rax
call std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::~allocator() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1458:
add rsp, 40
pop rbx
pop rbp
ret
std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_create_nodes(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >**, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >**):
push rbp
mov rbp, rsp
push rbx
sub rsp, 56
mov QWORD PTR [rbp-40], rdi
mov QWORD PTR [rbp-48], rsi
mov QWORD PTR [rbp-56], rdx
mov rax, QWORD PTR [rbp-48]
mov QWORD PTR [rbp-24], rax
.L1461:
mov rax, QWORD PTR [rbp-24]
cmp rax, QWORD PTR [rbp-56]
jnb .L1466
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_allocate_node()
mov rdx, rax
mov rax, QWORD PTR [rbp-24]
mov QWORD PTR [rax], rdx
add QWORD PTR [rbp-24], 8
jmp .L1461
mov rdi, rax
call __cxa_begin_catch
mov rdx, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rbp-48]
mov rax, QWORD PTR [rbp-40]
mov rsi, rcx
mov rdi, rax
call std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_destroy_nodes(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >**, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >**)
call __cxa_rethrow
mov rbx, rax
call __cxa_end_catch
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1466:
nop
add rsp, 56
pop rbx
pop rbp
ret
std::_Deque_iterator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::_M_set_node(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >**):
push rbp
mov rbp, rsp
push rbx
sub rsp, 24
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rbp-32]
mov QWORD PTR [rax+24], rdx
mov rax, QWORD PTR [rbp-32]
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-24]
mov QWORD PTR [rax+8], rdx
mov rax, QWORD PTR [rbp-24]
mov rbx, QWORD PTR [rax+8]
call std::_Deque_iterator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::_S_buffer_size()
mov rdx, rax
mov rax, rdx
add rax, rax
add rax, rdx
sal rax, 3
lea rdx, [rbx+rax]
mov rax, QWORD PTR [rbp-24]
mov QWORD PTR [rax+16], rdx
nop
add rsp, 24
pop rbx
pop rbp
ret
std::vector<unsigned long, std::allocator<unsigned long> >::max_size() const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_M_get_Tp_allocator() const
mov rdi, rax
call std::allocator_traits<std::allocator<unsigned long> >::max_size(std::allocator<unsigned long> const&)
leave
ret
std::vector<unsigned long, std::allocator<unsigned long> >::size() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax]
sub rdx, rax
mov rax, rdx
sar rax, 3
pop rbp
ret
std::allocator_traits<std::allocator<unsigned long> >::allocate(std::allocator<unsigned long>&, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov edx, 0
mov rsi, rcx
mov rdi, rax
call __gnu_cxx::new_allocator<unsigned long>::allocate(unsigned long, void const*)
leave
ret
std::move_iterator<unsigned long*> std::__make_move_if_noexcept_iterator<unsigned long, std::move_iterator<unsigned long*> >(unsigned long*):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov rdx, QWORD PTR [rbp-24]
lea rax, [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::move_iterator<unsigned long*>::move_iterator(unsigned long*)
mov rax, QWORD PTR [rbp-8]
leave
ret
unsigned long* std::__uninitialized_copy_a<std::move_iterator<unsigned long*>, unsigned long*, unsigned long>(std::move_iterator<unsigned long*>, std::move_iterator<unsigned long*>, unsigned long*, std::allocator<unsigned long>&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov QWORD PTR [rbp-32], rcx
mov rdx, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call unsigned long* std::uninitialized_copy<std::move_iterator<unsigned long*>, unsigned long*>(std::move_iterator<unsigned long*>, std::move_iterator<unsigned long*>, unsigned long*)
leave
ret
std::__detail::_State<char>&& std::forward<std::__detail::_State<char> >(std::remove_reference<std::__detail::_State<char> >::type&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
void std::allocator_traits<std::allocator<std::__detail::_State<char> > >::construct<std::__detail::_State<char>, std::__detail::_State<char> >(std::allocator<std::__detail::_State<char> >&, std::__detail::_State<char>*, std::__detail::_State<char>&&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__detail::_State<char>&& std::forward<std::__detail::_State<char> >(std::remove_reference<std::__detail::_State<char> >::type&)
mov rdx, rax
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call void __gnu_cxx::new_allocator<std::__detail::_State<char> >::construct<std::__detail::_State<char>, std::__detail::_State<char> >(std::__detail::_State<char>*, std::__detail::_State<char>&&)
nop
leave
ret
void std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::_M_realloc_insert<std::__detail::_State<char> >(__gnu_cxx::__normal_iterator<std::__detail::_State<char>*, std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > > >, std::__detail::_State<char>&&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 104
mov QWORD PTR [rbp-88], rdi
mov QWORD PTR [rbp-96], rsi
mov QWORD PTR [rbp-104], rdx
mov rax, QWORD PTR [rbp-88]
mov edx, OFFSET FLAT:.LC24
mov esi, 1
mov rdi, rax
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::_M_check_len(unsigned long, char const*) const
mov QWORD PTR [rbp-32], rax
mov rax, QWORD PTR [rbp-88]
mov rax, QWORD PTR [rax]
mov QWORD PTR [rbp-40], rax
mov rax, QWORD PTR [rbp-88]
mov rax, QWORD PTR [rax+8]
mov QWORD PTR [rbp-48], rax
mov rax, QWORD PTR [rbp-88]
mov rdi, rax
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::begin()
mov QWORD PTR [rbp-72], rax
lea rdx, [rbp-72]
lea rax, [rbp-96]
mov rsi, rdx
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::__detail::_State<char>*, std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > > >::difference_type __gnu_cxx::operator-<std::__detail::_State<char>*, std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > > >(__gnu_cxx::__normal_iterator<std::__detail::_State<char>*, std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > > > const&, __gnu_cxx::__normal_iterator<std::__detail::_State<char>*, std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > > > const&)
mov QWORD PTR [rbp-56], rax
mov rax, QWORD PTR [rbp-88]
mov rdx, QWORD PTR [rbp-32]
mov rsi, rdx
mov rdi, rax
call std::_Vector_base<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::_M_allocate(unsigned long)
mov QWORD PTR [rbp-64], rax
mov rax, QWORD PTR [rbp-64]
mov QWORD PTR [rbp-24], rax
mov rax, QWORD PTR [rbp-104]
mov rdi, rax
call std::__detail::_State<char>&& std::forward<std::__detail::_State<char> >(std::remove_reference<std::__detail::_State<char> >::type&)
mov rsi, rax
mov rdx, QWORD PTR [rbp-56]
mov rax, rdx
add rax, rax
add rax, rdx
sal rax, 4
mov rdx, rax
mov rax, QWORD PTR [rbp-64]
lea rcx, [rdx+rax]
mov rax, QWORD PTR [rbp-88]
mov rdx, rsi
mov rsi, rcx
mov rdi, rax
call void std::allocator_traits<std::allocator<std::__detail::_State<char> > >::construct<std::__detail::_State<char>, std::__detail::_State<char> >(std::allocator<std::__detail::_State<char> >&, std::__detail::_State<char>*, std::__detail::_State<char>&&)
mov QWORD PTR [rbp-24], 0
mov rax, QWORD PTR [rbp-88]
mov rdi, rax
call std::_Vector_base<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::_M_get_Tp_allocator()
mov rbx, rax
lea rax, [rbp-96]
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::__detail::_State<char>*, std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > > >::base() const
mov rsi, QWORD PTR [rax]
mov rdx, QWORD PTR [rbp-64]
mov rax, QWORD PTR [rbp-40]
mov rcx, rbx
mov rdi, rax
call std::__detail::_State<char>* std::__uninitialized_move_if_noexcept_a<std::__detail::_State<char>*, std::__detail::_State<char>*, std::allocator<std::__detail::_State<char> > >(std::__detail::_State<char>*, std::__detail::_State<char>*, std::__detail::_State<char>*, std::allocator<std::__detail::_State<char> >&)
mov QWORD PTR [rbp-24], rax
add QWORD PTR [rbp-24], 48
mov rax, QWORD PTR [rbp-88]
mov rdi, rax
call std::_Vector_base<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::_M_get_Tp_allocator()
mov rbx, rax
lea rax, [rbp-96]
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::__detail::_State<char>*, std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > > >::base() const
mov rax, QWORD PTR [rax]
mov rdx, QWORD PTR [rbp-24]
mov rsi, QWORD PTR [rbp-48]
mov rcx, rbx
mov rdi, rax
call std::__detail::_State<char>* std::__uninitialized_move_if_noexcept_a<std::__detail::_State<char>*, std::__detail::_State<char>*, std::allocator<std::__detail::_State<char> > >(std::__detail::_State<char>*, std::__detail::_State<char>*, std::__detail::_State<char>*, std::allocator<std::__detail::_State<char> >&)
mov QWORD PTR [rbp-24], rax
mov rax, QWORD PTR [rbp-88]
mov rdi, rax
call std::_Vector_base<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::_M_get_Tp_allocator()
mov rdx, rax
mov rcx, QWORD PTR [rbp-48]
mov rax, QWORD PTR [rbp-40]
mov rsi, rcx
mov rdi, rax
call void std::_Destroy<std::__detail::_State<char>*, std::__detail::_State<char> >(std::__detail::_State<char>*, std::__detail::_State<char>*, std::allocator<std::__detail::_State<char> >&)
mov rax, QWORD PTR [rbp-88]
mov rdx, QWORD PTR [rbp-88]
mov rdx, QWORD PTR [rdx+16]
sub rdx, QWORD PTR [rbp-40]
mov rcx, rdx
sar rcx, 4
movabs rdx, -6148914691236517205
imul rdx, rcx
mov rcx, QWORD PTR [rbp-40]
mov rsi, rcx
mov rdi, rax
call std::_Vector_base<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::_M_deallocate(std::__detail::_State<char>*, unsigned long)
mov rax, QWORD PTR [rbp-88]
mov rdx, QWORD PTR [rbp-64]
mov QWORD PTR [rax], rdx
mov rax, QWORD PTR [rbp-88]
mov rdx, QWORD PTR [rbp-24]
mov QWORD PTR [rax+8], rdx
mov rdx, QWORD PTR [rbp-32]
mov rax, rdx
add rax, rax
add rax, rdx
sal rax, 4
mov rdx, rax
mov rax, QWORD PTR [rbp-64]
add rdx, rax
mov rax, QWORD PTR [rbp-88]
mov QWORD PTR [rax+16], rdx
jmp .L1488
mov rdi, rax
call __cxa_begin_catch
cmp QWORD PTR [rbp-24], 0
jne .L1483
mov rdx, QWORD PTR [rbp-56]
mov rax, rdx
add rax, rax
add rax, rdx
sal rax, 4
mov rdx, rax
mov rax, QWORD PTR [rbp-64]
add rdx, rax
mov rax, QWORD PTR [rbp-88]
mov rsi, rdx
mov rdi, rax
call void std::allocator_traits<std::allocator<std::__detail::_State<char> > >::destroy<std::__detail::_State<char> >(std::allocator<std::__detail::_State<char> >&, std::__detail::_State<char>*)
jmp .L1484
.L1483:
mov rax, QWORD PTR [rbp-88]
mov rdi, rax
call std::_Vector_base<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::_M_get_Tp_allocator()
mov rdx, rax
mov rcx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-64]
mov rsi, rcx
mov rdi, rax
call void std::_Destroy<std::__detail::_State<char>*, std::__detail::_State<char> >(std::__detail::_State<char>*, std::__detail::_State<char>*, std::allocator<std::__detail::_State<char> >&)
.L1484:
mov rax, QWORD PTR [rbp-88]
mov rdx, QWORD PTR [rbp-32]
mov rcx, QWORD PTR [rbp-64]
mov rsi, rcx
mov rdi, rax
call std::_Vector_base<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::_M_deallocate(std::__detail::_State<char>*, unsigned long)
call __cxa_rethrow
mov rbx, rax
call __cxa_end_catch
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1488:
add rsp, 104
pop rbx
pop rbp
ret
std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::back():
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::end()
mov QWORD PTR [rbp-8], rax
lea rax, [rbp-8]
mov esi, 1
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::__detail::_State<char>*, std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > > >::operator-(long) const
mov QWORD PTR [rbp-16], rax
lea rax, [rbp-16]
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::__detail::_State<char>*, std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > > >::operator*() const
nop
leave
ret
std::remove_reference<std::_Any_data&>::type&& std::move<std::_Any_data&>(std::_Any_data&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<std::_Any_data> >, std::is_move_constructible<std::_Any_data>, std::is_move_assignable<std::_Any_data> >::value, void>::type std::swap<std::_Any_data>(std::_Any_data&, std::_Any_data&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::remove_reference<std::_Any_data&>::type&& std::move<std::_Any_data&>(std::_Any_data&)
mov rdx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rax]
mov QWORD PTR [rbp-16], rax
mov QWORD PTR [rbp-8], rdx
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::remove_reference<std::_Any_data&>::type&& std::move<std::_Any_data&>(std::_Any_data&)
mov rcx, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rax]
mov QWORD PTR [rcx], rax
mov QWORD PTR [rcx+8], rdx
lea rax, [rbp-16]
mov rdi, rax
call std::remove_reference<std::_Any_data&>::type&& std::move<std::_Any_data&>(std::_Any_data&)
mov rcx, QWORD PTR [rbp-32]
mov rdx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rax]
mov QWORD PTR [rcx], rax
mov QWORD PTR [rcx+8], rdx
nop
leave
ret
std::remove_reference<bool (*&)(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)>::type&& std::move<bool (*&)(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)>(bool (*&)(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<bool (*)(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)> >, std::is_move_constructible<bool (*)(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)>, std::is_move_assignable<bool (*)(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)> >::value, void>::type std::swap<bool (*)(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)>(bool (*&)(std::_Any_data&, std::_Any_data const&, std::_Manager_operation), bool (*&)(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::remove_reference<bool (*&)(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)>::type&& std::move<bool (*&)(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)>(bool (*&)(std::_Any_data&, std::_Any_data const&, std::_Manager_operation))
mov rax, QWORD PTR [rax]
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::remove_reference<bool (*&)(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)>::type&& std::move<bool (*&)(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)>(bool (*&)(std::_Any_data&, std::_Any_data const&, std::_Manager_operation))
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-24]
mov QWORD PTR [rax], rdx
lea rax, [rbp-8]
mov rdi, rax
call std::remove_reference<bool (*&)(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)>::type&& std::move<bool (*&)(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)>(bool (*&)(std::_Any_data&, std::_Any_data const&, std::_Manager_operation))
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-32]
mov QWORD PTR [rax], rdx
nop
leave
ret
std::remove_reference<bool (*&)(std::_Any_data const&, char&&)>::type&& std::move<bool (*&)(std::_Any_data const&, char&&)>(bool (*&)(std::_Any_data const&, char&&)):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<bool (*)(std::_Any_data const&, char&&)> >, std::is_move_constructible<bool (*)(std::_Any_data const&, char&&)>, std::is_move_assignable<bool (*)(std::_Any_data const&, char&&)> >::value, void>::type std::swap<bool (*)(std::_Any_data const&, char&&)>(bool (*&)(std::_Any_data const&, char&&), bool (*&)(std::_Any_data const&, char&&)):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::remove_reference<bool (*&)(std::_Any_data const&, char&&)>::type&& std::move<bool (*&)(std::_Any_data const&, char&&)>(bool (*&)(std::_Any_data const&, char&&))
mov rax, QWORD PTR [rax]
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::remove_reference<bool (*&)(std::_Any_data const&, char&&)>::type&& std::move<bool (*&)(std::_Any_data const&, char&&)>(bool (*&)(std::_Any_data const&, char&&))
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-24]
mov QWORD PTR [rax], rdx
lea rax, [rbp-8]
mov rdi, rax
call std::remove_reference<bool (*&)(std::_Any_data const&, char&&)>::type&& std::move<bool (*&)(std::_Any_data const&, char&&)>(bool (*&)(std::_Any_data const&, char&&))
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-32]
mov QWORD PTR [rax], rdx
nop
leave
ret
std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_line_begin():
push rbp
mov rbp, rsp
push rbx
sub rsp, 72
mov QWORD PTR [rbp-72], rdi
lea rax, [rbp-64]
mov esi, 4
mov rdi, rax
call std::__detail::_State<char>::_State(std::__detail::_Opcode)
lea rdx, [rbp-64]
mov rax, QWORD PTR [rbp-72]
mov rsi, rdx
mov rdi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_state(std::__detail::_State<char>)
mov rbx, rax
lea rax, [rbp-64]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
mov rax, rbx
jmp .L1504
mov rbx, rax
lea rax, [rbp-64]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1504:
add rsp, 72
pop rbx
pop rbp
ret
std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_line_end():
push rbp
mov rbp, rsp
push rbx
sub rsp, 72
mov QWORD PTR [rbp-72], rdi
lea rax, [rbp-64]
mov esi, 5
mov rdi, rax
call std::__detail::_State<char>::_State(std::__detail::_Opcode)
lea rdx, [rbp-64]
mov rax, QWORD PTR [rbp-72]
mov rsi, rdx
mov rdi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_state(std::__detail::_State<char>)
mov rbx, rax
lea rax, [rbp-64]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
mov rax, rbx
jmp .L1509
mov rbx, rax
lea rax, [rbp-64]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1509:
add rsp, 72
pop rbx
pop rbp
ret
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned long):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_data() const
mov rdx, rax
mov rax, QWORD PTR [rbp-16]
add rax, rdx
leave
ret
std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_word_bound(bool):
push rbp
mov rbp, rsp
push rbx
sub rsp, 120
mov QWORD PTR [rbp-120], rdi
mov eax, esi
mov BYTE PTR [rbp-124], al
lea rax, [rbp-112]
mov esi, 6
mov rdi, rax
call std::__detail::_State<char>::_State(std::__detail::_Opcode)
movzx eax, BYTE PTR [rbp-124]
mov BYTE PTR [rbp-88], al
lea rax, [rbp-112]
mov rdi, rax
call std::remove_reference<std::__detail::_State<char>&>::type&& std::move<std::__detail::_State<char>&>(std::__detail::_State<char>&)
mov rdx, rax
lea rax, [rbp-64]
mov rsi, rdx
mov rdi, rax
call std::__detail::_State<char>::_State(std::__detail::_State<char>&&)
lea rdx, [rbp-64]
mov rax, QWORD PTR [rbp-120]
mov rsi, rdx
mov rdi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_state(std::__detail::_State<char>)
mov rbx, rax
lea rax, [rbp-64]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
lea rax, [rbp-112]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
mov rax, rbx
jmp .L1516
mov rbx, rax
lea rax, [rbp-64]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
lea rax, [rbp-112]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1516:
add rsp, 120
pop rbx
pop rbp
ret
std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_lookahead(long, bool):
push rbp
mov rbp, rsp
push rbx
sub rsp, 136
mov QWORD PTR [rbp-120], rdi
mov QWORD PTR [rbp-128], rsi
mov eax, edx
mov BYTE PTR [rbp-132], al
lea rax, [rbp-112]
mov esi, 7
mov rdi, rax
call std::__detail::_State<char>::_State(std::__detail::_Opcode)
mov rax, QWORD PTR [rbp-128]
mov QWORD PTR [rbp-96], rax
movzx eax, BYTE PTR [rbp-132]
mov BYTE PTR [rbp-88], al
lea rax, [rbp-112]
mov rdi, rax
call std::remove_reference<std::__detail::_State<char>&>::type&& std::move<std::__detail::_State<char>&>(std::__detail::_State<char>&)
mov rdx, rax
lea rax, [rbp-64]
mov rsi, rdx
mov rdi, rax
call std::__detail::_State<char>::_State(std::__detail::_State<char>&&)
lea rdx, [rbp-64]
mov rax, QWORD PTR [rbp-120]
mov rsi, rdx
mov rdi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_state(std::__detail::_State<char>)
mov rbx, rax
lea rax, [rbp-64]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
lea rax, [rbp-112]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
mov rax, rbx
jmp .L1521
mov rbx, rax
lea rax, [rbp-64]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
lea rax, [rbp-112]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1521:
add rsp, 136
pop rbx
pop rbp
ret
void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_any_matcher_posix<false, false>():
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 96
mov QWORD PTR [rbp-104], rdi
mov rax, QWORD PTR [rbp-104]
lea rbx, [rax+304]
mov rax, QWORD PTR [rbp-104]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov r12, rax
mov rax, QWORD PTR [rbp-104]
mov rdx, QWORD PTR [rax+384]
lea rax, [rbp-17]
mov rsi, rdx
mov rdi, rax
call std::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, false, false, false>::_AnyMatcher(std::__cxx11::regex_traits<char> const&)
lea rax, [rbp-64]
mov rdi, rax
call std::function<bool (char)>::function<std::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, false, false, false>, void, void>(std::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, false, false, false>)
lea rax, [rbp-64]
mov rsi, rax
mov rdi, r12
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_matcher(std::function<bool (char)>)
mov r12, rax
mov rax, QWORD PTR [rbp-104]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-96]
mov rdx, r12
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
lea rax, [rbp-96]
mov rsi, rax
mov rdi, rbx
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
lea rax, [rbp-64]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
jmp .L1525
mov rbx, rax
lea rax, [rbp-64]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1525:
add rsp, 96
pop rbx
pop r12
pop rbp
ret
void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_any_matcher_posix<false, true>():
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 96
mov QWORD PTR [rbp-104], rdi
mov rax, QWORD PTR [rbp-104]
lea rbx, [rax+304]
mov rax, QWORD PTR [rbp-104]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov r12, rax
mov rax, QWORD PTR [rbp-104]
mov rdx, QWORD PTR [rax+384]
lea rax, [rbp-24]
mov rsi, rdx
mov rdi, rax
call std::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, false, false, true>::_AnyMatcher(std::__cxx11::regex_traits<char> const&)
mov rdx, QWORD PTR [rbp-24]
lea rax, [rbp-64]
mov rsi, rdx
mov rdi, rax
call std::function<bool (char)>::function<std::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, false, false, true>, void, void>(std::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, false, false, true>)
lea rax, [rbp-64]
mov rsi, rax
mov rdi, r12
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_matcher(std::function<bool (char)>)
mov r12, rax
mov rax, QWORD PTR [rbp-104]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-96]
mov rdx, r12
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
lea rax, [rbp-96]
mov rsi, rax
mov rdi, rbx
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
lea rax, [rbp-64]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
jmp .L1529
mov rbx, rax
lea rax, [rbp-64]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1529:
add rsp, 96
pop rbx
pop r12
pop rbp
ret
void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_any_matcher_posix<true, false>():
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 96
mov QWORD PTR [rbp-104], rdi
mov rax, QWORD PTR [rbp-104]
lea rbx, [rax+304]
mov rax, QWORD PTR [rbp-104]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov r12, rax
mov rax, QWORD PTR [rbp-104]
mov rdx, QWORD PTR [rax+384]
lea rax, [rbp-24]
mov rsi, rdx
mov rdi, rax
call std::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, false, true, false>::_AnyMatcher(std::__cxx11::regex_traits<char> const&)
mov rdx, QWORD PTR [rbp-24]
lea rax, [rbp-64]
mov rsi, rdx
mov rdi, rax
call std::function<bool (char)>::function<std::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, false, true, false>, void, void>(std::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, false, true, false>)
lea rax, [rbp-64]
mov rsi, rax
mov rdi, r12
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_matcher(std::function<bool (char)>)
mov r12, rax
mov rax, QWORD PTR [rbp-104]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-96]
mov rdx, r12
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
lea rax, [rbp-96]
mov rsi, rax
mov rdi, rbx
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
lea rax, [rbp-64]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
jmp .L1533
mov rbx, rax
lea rax, [rbp-64]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1533:
add rsp, 96
pop rbx
pop r12
pop rbp
ret
void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_any_matcher_posix<true, true>():
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 96
mov QWORD PTR [rbp-104], rdi
mov rax, QWORD PTR [rbp-104]
lea rbx, [rax+304]
mov rax, QWORD PTR [rbp-104]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov r12, rax
mov rax, QWORD PTR [rbp-104]
mov rdx, QWORD PTR [rax+384]
lea rax, [rbp-24]
mov rsi, rdx
mov rdi, rax
call std::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, false, true, true>::_AnyMatcher(std::__cxx11::regex_traits<char> const&)
mov rdx, QWORD PTR [rbp-24]
lea rax, [rbp-64]
mov rsi, rdx
mov rdi, rax
call std::function<bool (char)>::function<std::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, false, true, true>, void, void>(std::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, false, true, true>)
lea rax, [rbp-64]
mov rsi, rax
mov rdi, r12
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_matcher(std::function<bool (char)>)
mov r12, rax
mov rax, QWORD PTR [rbp-104]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-96]
mov rdx, r12
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
lea rax, [rbp-96]
mov rsi, rax
mov rdi, rbx
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
lea rax, [rbp-64]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
jmp .L1537
mov rbx, rax
lea rax, [rbp-64]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1537:
add rsp, 96
pop rbx
pop r12
pop rbp
ret
void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_any_matcher_ecma<false, false>():
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 96
mov QWORD PTR [rbp-104], rdi
mov rax, QWORD PTR [rbp-104]
lea rbx, [rax+304]
mov rax, QWORD PTR [rbp-104]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov r12, rax
mov rax, QWORD PTR [rbp-104]
mov rdx, QWORD PTR [rax+384]
lea rax, [rbp-17]
mov rsi, rdx
mov rdi, rax
call std::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, true, false, false>::_AnyMatcher(std::__cxx11::regex_traits<char> const&)
lea rax, [rbp-64]
mov rdi, rax
call std::function<bool (char)>::function<std::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, true, false, false>, void, void>(std::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, true, false, false>)
lea rax, [rbp-64]
mov rsi, rax
mov rdi, r12
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_matcher(std::function<bool (char)>)
mov r12, rax
mov rax, QWORD PTR [rbp-104]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-96]
mov rdx, r12
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
lea rax, [rbp-96]
mov rsi, rax
mov rdi, rbx
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
lea rax, [rbp-64]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
jmp .L1541
mov rbx, rax
lea rax, [rbp-64]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1541:
add rsp, 96
pop rbx
pop r12
pop rbp
ret
void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_any_matcher_ecma<false, true>():
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 96
mov QWORD PTR [rbp-104], rdi
mov rax, QWORD PTR [rbp-104]
lea rbx, [rax+304]
mov rax, QWORD PTR [rbp-104]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov r12, rax
mov rax, QWORD PTR [rbp-104]
mov rdx, QWORD PTR [rax+384]
lea rax, [rbp-24]
mov rsi, rdx
mov rdi, rax
call std::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, true, false, true>::_AnyMatcher(std::__cxx11::regex_traits<char> const&)
mov rdx, QWORD PTR [rbp-24]
lea rax, [rbp-64]
mov rsi, rdx
mov rdi, rax
call std::function<bool (char)>::function<std::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, true, false, true>, void, void>(std::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, true, false, true>)
lea rax, [rbp-64]
mov rsi, rax
mov rdi, r12
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_matcher(std::function<bool (char)>)
mov r12, rax
mov rax, QWORD PTR [rbp-104]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-96]
mov rdx, r12
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
lea rax, [rbp-96]
mov rsi, rax
mov rdi, rbx
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
lea rax, [rbp-64]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
jmp .L1545
mov rbx, rax
lea rax, [rbp-64]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1545:
add rsp, 96
pop rbx
pop r12
pop rbp
ret
void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_any_matcher_ecma<true, false>():
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 96
mov QWORD PTR [rbp-104], rdi
mov rax, QWORD PTR [rbp-104]
lea rbx, [rax+304]
mov rax, QWORD PTR [rbp-104]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov r12, rax
mov rax, QWORD PTR [rbp-104]
mov rdx, QWORD PTR [rax+384]
lea rax, [rbp-24]
mov rsi, rdx
mov rdi, rax
call std::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, true, true, false>::_AnyMatcher(std::__cxx11::regex_traits<char> const&)
mov rdx, QWORD PTR [rbp-24]
lea rax, [rbp-64]
mov rsi, rdx
mov rdi, rax
call std::function<bool (char)>::function<std::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, true, true, false>, void, void>(std::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, true, true, false>)
lea rax, [rbp-64]
mov rsi, rax
mov rdi, r12
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_matcher(std::function<bool (char)>)
mov r12, rax
mov rax, QWORD PTR [rbp-104]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-96]
mov rdx, r12
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
lea rax, [rbp-96]
mov rsi, rax
mov rdi, rbx
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
lea rax, [rbp-64]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
jmp .L1549
mov rbx, rax
lea rax, [rbp-64]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1549:
add rsp, 96
pop rbx
pop r12
pop rbp
ret
void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_any_matcher_ecma<true, true>():
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 96
mov QWORD PTR [rbp-104], rdi
mov rax, QWORD PTR [rbp-104]
lea rbx, [rax+304]
mov rax, QWORD PTR [rbp-104]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov r12, rax
mov rax, QWORD PTR [rbp-104]
mov rdx, QWORD PTR [rax+384]
lea rax, [rbp-24]
mov rsi, rdx
mov rdi, rax
call std::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, true, true, true>::_AnyMatcher(std::__cxx11::regex_traits<char> const&)
mov rdx, QWORD PTR [rbp-24]
lea rax, [rbp-64]
mov rsi, rdx
mov rdi, rax
call std::function<bool (char)>::function<std::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, true, true, true>, void, void>(std::__detail::_AnyMatcher<std::__cxx11::regex_traits<char>, true, true, true>)
lea rax, [rbp-64]
mov rsi, rax
mov rdi, r12
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_matcher(std::function<bool (char)>)
mov r12, rax
mov rax, QWORD PTR [rbp-104]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-96]
mov rdx, r12
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
lea rax, [rbp-96]
mov rsi, rax
mov rdi, rbx
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
lea rax, [rbp-64]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
jmp .L1553
mov rbx, rax
lea rax, [rbp-64]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1553:
add rsp, 96
pop rbx
pop r12
pop rbp
ret
std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_try_char():
push rbp
mov rbp, rsp
push rbx
sub rsp, 40
mov QWORD PTR [rbp-40], rdi
mov BYTE PTR [rbp-17], 0
mov rax, QWORD PTR [rbp-40]
mov esi, 2
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
test al, al
je .L1555
mov BYTE PTR [rbp-17], 1
mov rax, QWORD PTR [rbp-40]
lea rbx, [rax+272]
mov rax, QWORD PTR [rbp-40]
mov esi, 8
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_cur_int_value(int)
movsx eax, al
mov edx, eax
mov esi, 1
mov rdi, rbx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(unsigned long, char)
jmp .L1556
.L1555:
mov rax, QWORD PTR [rbp-40]
mov esi, 3
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
test al, al
je .L1557
mov BYTE PTR [rbp-17], 1
mov rax, QWORD PTR [rbp-40]
lea rbx, [rax+272]
mov rax, QWORD PTR [rbp-40]
mov esi, 16
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_cur_int_value(int)
movsx eax, al
mov edx, eax
mov esi, 1
mov rdi, rbx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(unsigned long, char)
jmp .L1556
.L1557:
mov rax, QWORD PTR [rbp-40]
mov esi, 1
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
test al, al
je .L1556
mov BYTE PTR [rbp-17], 1
.L1556:
movzx eax, BYTE PTR [rbp-17]
add rsp, 40
pop rbx
pop rbp
ret
void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_char_matcher<false, false>():
push rbp
mov rbp, rsp
push r13
push r12
push rbx
sub rsp, 104
mov QWORD PTR [rbp-120], rdi
mov rax, QWORD PTR [rbp-120]
lea r12, [rax+304]
mov rax, QWORD PTR [rbp-120]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov r13, rax
mov rax, QWORD PTR [rbp-120]
mov rbx, QWORD PTR [rax+384]
mov rax, QWORD PTR [rbp-120]
add rax, 272
mov esi, 0
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned long)
movzx eax, BYTE PTR [rax]
movsx ecx, al
lea rax, [rbp-34]
mov rdx, rbx
mov esi, ecx
mov rdi, rax
call std::__detail::_CharMatcher<std::__cxx11::regex_traits<char>, false, false>::_CharMatcher(char, std::__cxx11::regex_traits<char> const&)
movzx edx, WORD PTR [rbp-34]
lea rax, [rbp-80]
mov esi, edx
mov rdi, rax
call std::function<bool (char)>::function<std::__detail::_CharMatcher<std::__cxx11::regex_traits<char>, false, false>, void, void>(std::__detail::_CharMatcher<std::__cxx11::regex_traits<char>, false, false>)
lea rax, [rbp-80]
mov rsi, rax
mov rdi, r13
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_matcher(std::function<bool (char)>)
mov rbx, rax
mov rax, QWORD PTR [rbp-120]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-112]
mov rdx, rbx
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
lea rax, [rbp-112]
mov rsi, rax
mov rdi, r12
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
lea rax, [rbp-80]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
jmp .L1562
mov rbx, rax
lea rax, [rbp-80]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1562:
add rsp, 104
pop rbx
pop r12
pop r13
pop rbp
ret
void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_char_matcher<false, true>():
push rbp
mov rbp, rsp
push r13
push r12
push rbx
sub rsp, 104
mov QWORD PTR [rbp-120], rdi
mov rax, QWORD PTR [rbp-120]
lea r12, [rax+304]
mov rax, QWORD PTR [rbp-120]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov r13, rax
mov rax, QWORD PTR [rbp-120]
mov rbx, QWORD PTR [rax+384]
mov rax, QWORD PTR [rbp-120]
add rax, 272
mov esi, 0
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned long)
movzx eax, BYTE PTR [rax]
movsx ecx, al
lea rax, [rbp-48]
mov rdx, rbx
mov esi, ecx
mov rdi, rax
call std::__detail::_CharMatcher<std::__cxx11::regex_traits<char>, false, true>::_CharMatcher(char, std::__cxx11::regex_traits<char> const&)
mov rcx, QWORD PTR [rbp-48]
mov rdx, QWORD PTR [rbp-40]
lea rax, [rbp-80]
mov rsi, rcx
mov rdi, rax
call std::function<bool (char)>::function<std::__detail::_CharMatcher<std::__cxx11::regex_traits<char>, false, true>, void, void>(std::__detail::_CharMatcher<std::__cxx11::regex_traits<char>, false, true>)
lea rax, [rbp-80]
mov rsi, rax
mov rdi, r13
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_matcher(std::function<bool (char)>)
mov rbx, rax
mov rax, QWORD PTR [rbp-120]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-112]
mov rdx, rbx
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
lea rax, [rbp-112]
mov rsi, rax
mov rdi, r12
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
lea rax, [rbp-80]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
jmp .L1566
mov rbx, rax
lea rax, [rbp-80]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1566:
add rsp, 104
pop rbx
pop r12
pop r13
pop rbp
ret
void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_char_matcher<true, false>():
push rbp
mov rbp, rsp
push r13
push r12
push rbx
sub rsp, 104
mov QWORD PTR [rbp-120], rdi
mov rax, QWORD PTR [rbp-120]
lea r12, [rax+304]
mov rax, QWORD PTR [rbp-120]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov r13, rax
mov rax, QWORD PTR [rbp-120]
mov rbx, QWORD PTR [rax+384]
mov rax, QWORD PTR [rbp-120]
add rax, 272
mov esi, 0
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned long)
movzx eax, BYTE PTR [rax]
movsx ecx, al
lea rax, [rbp-48]
mov rdx, rbx
mov esi, ecx
mov rdi, rax
call std::__detail::_CharMatcher<std::__cxx11::regex_traits<char>, true, false>::_CharMatcher(char, std::__cxx11::regex_traits<char> const&)
mov rcx, QWORD PTR [rbp-48]
mov rdx, QWORD PTR [rbp-40]
lea rax, [rbp-80]
mov rsi, rcx
mov rdi, rax
call std::function<bool (char)>::function<std::__detail::_CharMatcher<std::__cxx11::regex_traits<char>, true, false>, void, void>(std::__detail::_CharMatcher<std::__cxx11::regex_traits<char>, true, false>)
lea rax, [rbp-80]
mov rsi, rax
mov rdi, r13
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_matcher(std::function<bool (char)>)
mov rbx, rax
mov rax, QWORD PTR [rbp-120]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-112]
mov rdx, rbx
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
lea rax, [rbp-112]
mov rsi, rax
mov rdi, r12
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
lea rax, [rbp-80]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
jmp .L1570
mov rbx, rax
lea rax, [rbp-80]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1570:
add rsp, 104
pop rbx
pop r12
pop r13
pop rbp
ret
void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_char_matcher<true, true>():
push rbp
mov rbp, rsp
push r13
push r12
push rbx
sub rsp, 104
mov QWORD PTR [rbp-120], rdi
mov rax, QWORD PTR [rbp-120]
lea r12, [rax+304]
mov rax, QWORD PTR [rbp-120]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov r13, rax
mov rax, QWORD PTR [rbp-120]
mov rbx, QWORD PTR [rax+384]
mov rax, QWORD PTR [rbp-120]
add rax, 272
mov esi, 0
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned long)
movzx eax, BYTE PTR [rax]
movsx ecx, al
lea rax, [rbp-48]
mov rdx, rbx
mov esi, ecx
mov rdi, rax
call std::__detail::_CharMatcher<std::__cxx11::regex_traits<char>, true, true>::_CharMatcher(char, std::__cxx11::regex_traits<char> const&)
mov rcx, QWORD PTR [rbp-48]
mov rdx, QWORD PTR [rbp-40]
lea rax, [rbp-80]
mov rsi, rcx
mov rdi, rax
call std::function<bool (char)>::function<std::__detail::_CharMatcher<std::__cxx11::regex_traits<char>, true, true>, void, void>(std::__detail::_CharMatcher<std::__cxx11::regex_traits<char>, true, true>)
lea rax, [rbp-80]
mov rsi, rax
mov rdi, r13
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_matcher(std::function<bool (char)>)
mov rbx, rax
mov rax, QWORD PTR [rbp-120]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-112]
mov rdx, rbx
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
lea rax, [rbp-112]
mov rsi, rax
mov rdi, r12
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
lea rax, [rbp-80]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
jmp .L1574
mov rbx, rax
lea rax, [rbp-80]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1574:
add rsp, 104
pop rbx
pop r12
pop r13
pop rbp
ret
std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_cur_int_value(int):
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 32
mov QWORD PTR [rbp-40], rdi
mov DWORD PTR [rbp-44], esi
mov QWORD PTR [rbp-24], 0
mov QWORD PTR [rbp-32], 0
.L1577:
mov rax, QWORD PTR [rbp-40]
add rax, 272
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::length() const
cmp QWORD PTR [rbp-32], rax
setb al
test al, al
je .L1576
mov eax, DWORD PTR [rbp-44]
cdqe
imul rax, QWORD PTR [rbp-24]
mov r12, rax
mov rax, QWORD PTR [rbp-40]
mov rbx, QWORD PTR [rax+384]
mov rax, QWORD PTR [rbp-40]
lea rdx, [rax+272]
mov rax, QWORD PTR [rbp-32]
mov rsi, rax
mov rdi, rdx
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned long)
movzx eax, BYTE PTR [rax]
movsx eax, al
mov edx, DWORD PTR [rbp-44]
mov esi, eax
mov rdi, rbx
call std::__cxx11::regex_traits<char>::value(char, int) const
cdqe
add rax, r12
mov QWORD PTR [rbp-24], rax
add QWORD PTR [rbp-32], 1
jmp .L1577
.L1576:
mov rax, QWORD PTR [rbp-24]
add rsp, 32
pop rbx
pop r12
pop rbp
ret
.LC31:
.string "Unexpected back-reference in polynomial mode."
.LC32:
.string "Back-reference index exceeds current sub-expression count."
.LC33:
.string "Back-reference referred to an opened sub-expression."
std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_backref(unsigned long):
push rbp
mov rbp, rsp
push rbx
sub rsp, 152
mov QWORD PTR [rbp-152], rdi
mov QWORD PTR [rbp-160], rsi
mov rax, QWORD PTR [rbp-152]
mov eax, DWORD PTR [rax+24]
mov esi, 1024
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
setne al
test al, al
je .L1580
mov esi, OFFSET FLAT:.LC31
mov edi, 11
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
.L1580:
mov rax, QWORD PTR [rbp-152]
mov rax, QWORD PTR [rax+40]
cmp QWORD PTR [rbp-160], rax
jb .L1581
mov esi, OFFSET FLAT:.LC32
mov edi, 3
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
.L1581:
mov rax, QWORD PTR [rbp-152]
mov QWORD PTR [rbp-24], rax
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::vector<unsigned long, std::allocator<unsigned long> >::begin()
mov QWORD PTR [rbp-136], rax
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::vector<unsigned long, std::allocator<unsigned long> >::end()
mov QWORD PTR [rbp-144], rax
.L1584:
lea rdx, [rbp-144]
lea rax, [rbp-136]
mov rsi, rdx
mov rdi, rax
call bool __gnu_cxx::operator!=<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > >(__gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > > const&, __gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > > const&)
test al, al
je .L1582
lea rax, [rbp-136]
mov rdi, rax
call __gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > >::operator*() const
mov rax, QWORD PTR [rax]
mov QWORD PTR [rbp-32], rax
mov rax, QWORD PTR [rbp-160]
cmp rax, QWORD PTR [rbp-32]
jne .L1583
mov esi, OFFSET FLAT:.LC33
mov edi, 3
call std::__throw_regex_error(std::regex_constants::error_type, char const*)
.L1583:
lea rax, [rbp-136]
mov rdi, rax
call __gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > >::operator++()
jmp .L1584
.L1582:
mov rax, QWORD PTR [rbp-152]
mov BYTE PTR [rax+48], 1
lea rax, [rbp-128]
mov esi, 3
mov rdi, rax
call std::__detail::_State<char>::_State(std::__detail::_Opcode)
mov rax, QWORD PTR [rbp-160]
mov QWORD PTR [rbp-112], rax
lea rax, [rbp-128]
mov rdi, rax
call std::remove_reference<std::__detail::_State<char>&>::type&& std::move<std::__detail::_State<char>&>(std::__detail::_State<char>&)
mov rdx, rax
lea rax, [rbp-80]
mov rsi, rdx
mov rdi, rax
call std::__detail::_State<char>::_State(std::__detail::_State<char>&&)
lea rdx, [rbp-80]
mov rax, QWORD PTR [rbp-152]
mov rsi, rdx
mov rdi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_state(std::__detail::_State<char>)
mov rbx, rax
lea rax, [rbp-80]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
lea rax, [rbp-128]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
mov rax, rbx
jmp .L1588
mov rbx, rax
lea rax, [rbp-80]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
lea rax, [rbp-128]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1588:
add rsp, 152
pop rbx
pop rbp
ret
std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, false>::~_BracketMatcher() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
add rax, 72
mov rdi, rax
call std::vector<std::__cxx11::regex_traits<char>::_RegexMask, std::allocator<std::__cxx11::regex_traits<char>::_RegexMask> >::~vector() [complete object destructor]
mov rax, QWORD PTR [rbp-8]
add rax, 48
mov rdi, rax
call std::vector<std::pair<char, char>, std::allocator<std::pair<char, char> > >::~vector() [complete object destructor]
mov rax, QWORD PTR [rbp-8]
add rax, 24
mov rdi, rax
call std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::~vector() [complete object destructor]
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::vector<char, std::allocator<char> >::~vector() [complete object destructor]
nop
leave
ret
std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, false>::_BracketMatcher(std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, false>&&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov rsi, rdx
mov rdi, rax
call std::vector<char, std::allocator<char> >::vector(std::vector<char, std::allocator<char> >&&)
mov rax, QWORD PTR [rbp-8]
add rax, 24
mov rdx, QWORD PTR [rbp-16]
add rdx, 24
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::vector(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&&)
mov rax, QWORD PTR [rbp-8]
add rax, 48
mov rdx, QWORD PTR [rbp-16]
add rdx, 48
mov rsi, rdx
mov rdi, rax
call std::vector<std::pair<char, char>, std::allocator<std::pair<char, char> > >::vector(std::vector<std::pair<char, char>, std::allocator<std::pair<char, char> > >&&)
mov rax, QWORD PTR [rbp-8]
add rax, 72
mov rdx, QWORD PTR [rbp-16]
add rdx, 72
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::regex_traits<char>::_RegexMask, std::allocator<std::__cxx11::regex_traits<char>::_RegexMask> >::vector(std::vector<std::__cxx11::regex_traits<char>::_RegexMask, std::allocator<std::__cxx11::regex_traits<char>::_RegexMask> >&&)
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov edx, DWORD PTR [rdx+96]
mov DWORD PTR [rax+96], edx
mov rax, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rax+104]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+104], rdx
mov rax, QWORD PTR [rbp-16]
movzx edx, BYTE PTR [rax+112]
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+112], dl
mov rcx, QWORD PTR [rbp-8]
mov rsi, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rsi+120]
mov rdx, QWORD PTR [rsi+128]
mov QWORD PTR [rcx+120], rax
mov QWORD PTR [rcx+128], rdx
mov rax, QWORD PTR [rsi+136]
mov rdx, QWORD PTR [rsi+144]
mov QWORD PTR [rcx+136], rax
mov QWORD PTR [rcx+144], rdx
nop
leave
ret
void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_character_class_matcher<false, false>():
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 400
mov QWORD PTR [rbp-408], rdi
mov rax, QWORD PTR [rbp-408]
mov rbx, QWORD PTR [rax+384]
mov rax, QWORD PTR [rbp-408]
mov r12, QWORD PTR [rax+392]
mov rax, QWORD PTR [rbp-408]
add rax, 272
mov esi, 0
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned long)
movzx eax, BYTE PTR [rax]
movsx eax, al
mov edx, eax
mov esi, 256
mov rdi, r12
call std::ctype<char>::is(unsigned short, char) const
movzx ecx, al
lea rax, [rbp-400]
mov rdx, rbx
mov esi, ecx
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, false>::_BracketMatcher(bool, std::__cxx11::regex_traits<char> const&)
mov rax, QWORD PTR [rbp-408]
lea rcx, [rax+272]
lea rax, [rbp-400]
mov edx, 0
mov rsi, rcx
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, false>::_M_add_character_class(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)
lea rax, [rbp-400]
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, false>::_M_ready()
mov rax, QWORD PTR [rbp-408]
lea rbx, [rax+304]
mov rax, QWORD PTR [rbp-408]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov r12, rax
lea rax, [rbp-400]
mov rdi, rax
call std::remove_reference<std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, false>&>::type&& std::move<std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, false>&>(std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, false>&)
mov rdx, rax
lea rax, [rbp-176]
mov rsi, rdx
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, false>::_BracketMatcher(std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, false>&&)
lea rdx, [rbp-176]
lea rax, [rbp-208]
mov rsi, rdx
mov rdi, rax
call std::function<bool (char)>::function<std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, false>, void, void>(std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, false>)
lea rax, [rbp-208]
mov rsi, rax
mov rdi, r12
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_matcher(std::function<bool (char)>)
mov r12, rax
mov rax, QWORD PTR [rbp-408]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-240]
mov rdx, r12
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
lea rax, [rbp-240]
mov rsi, rax
mov rdi, rbx
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
lea rax, [rbp-208]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
lea rax, [rbp-176]
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, false>::~_BracketMatcher() [complete object destructor]
lea rax, [rbp-400]
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, false>::~_BracketMatcher() [complete object destructor]
jmp .L1598
mov rbx, rax
lea rax, [rbp-208]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
jmp .L1593
mov rbx, rax
.L1593:
lea rax, [rbp-176]
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, false>::~_BracketMatcher() [complete object destructor]
jmp .L1594
mov rbx, rax
.L1594:
lea rax, [rbp-400]
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, false>::~_BracketMatcher() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1598:
add rsp, 400
pop rbx
pop r12
pop rbp
ret
std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, true>::~_BracketMatcher() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
add rax, 72
mov rdi, rax
call std::vector<std::__cxx11::regex_traits<char>::_RegexMask, std::allocator<std::__cxx11::regex_traits<char>::_RegexMask> >::~vector() [complete object destructor]
mov rax, QWORD PTR [rbp-8]
add rax, 48
mov rdi, rax
call std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::~vector() [complete object destructor]
mov rax, QWORD PTR [rbp-8]
add rax, 24
mov rdi, rax
call std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::~vector() [complete object destructor]
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::vector<char, std::allocator<char> >::~vector() [complete object destructor]
nop
leave
ret
std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, true>::_BracketMatcher(std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, true>&&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov rsi, rdx
mov rdi, rax
call std::vector<char, std::allocator<char> >::vector(std::vector<char, std::allocator<char> >&&)
mov rax, QWORD PTR [rbp-8]
add rax, 24
mov rdx, QWORD PTR [rbp-16]
add rdx, 24
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::vector(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&&)
mov rax, QWORD PTR [rbp-8]
add rax, 48
mov rdx, QWORD PTR [rbp-16]
add rdx, 48
mov rsi, rdx
mov rdi, rax
call std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::vector(std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&&)
mov rax, QWORD PTR [rbp-8]
add rax, 72
mov rdx, QWORD PTR [rbp-16]
add rdx, 72
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::regex_traits<char>::_RegexMask, std::allocator<std::__cxx11::regex_traits<char>::_RegexMask> >::vector(std::vector<std::__cxx11::regex_traits<char>::_RegexMask, std::allocator<std::__cxx11::regex_traits<char>::_RegexMask> >&&)
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov edx, DWORD PTR [rdx+96]
mov DWORD PTR [rax+96], edx
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rdx+104]
mov QWORD PTR [rax+104], rdx
mov rax, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rax+112]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+112], rdx
mov rax, QWORD PTR [rbp-16]
movzx edx, BYTE PTR [rax+120]
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+120], dl
mov rcx, QWORD PTR [rbp-8]
mov rsi, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rsi+128]
mov rdx, QWORD PTR [rsi+136]
mov QWORD PTR [rcx+128], rax
mov QWORD PTR [rcx+136], rdx
mov rax, QWORD PTR [rsi+144]
mov rdx, QWORD PTR [rsi+152]
mov QWORD PTR [rcx+144], rax
mov QWORD PTR [rcx+152], rdx
nop
leave
ret
void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_character_class_matcher<false, true>():
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 400
mov QWORD PTR [rbp-408], rdi
mov rax, QWORD PTR [rbp-408]
mov rbx, QWORD PTR [rax+384]
mov rax, QWORD PTR [rbp-408]
mov r12, QWORD PTR [rax+392]
mov rax, QWORD PTR [rbp-408]
add rax, 272
mov esi, 0
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned long)
movzx eax, BYTE PTR [rax]
movsx eax, al
mov edx, eax
mov esi, 256
mov rdi, r12
call std::ctype<char>::is(unsigned short, char) const
movzx ecx, al
lea rax, [rbp-400]
mov rdx, rbx
mov esi, ecx
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, true>::_BracketMatcher(bool, std::__cxx11::regex_traits<char> const&)
mov rax, QWORD PTR [rbp-408]
lea rcx, [rax+272]
lea rax, [rbp-400]
mov edx, 0
mov rsi, rcx
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, true>::_M_add_character_class(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)
lea rax, [rbp-400]
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, true>::_M_ready()
mov rax, QWORD PTR [rbp-408]
lea rbx, [rax+304]
mov rax, QWORD PTR [rbp-408]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov r12, rax
lea rax, [rbp-400]
mov rdi, rax
call std::remove_reference<std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, true>&>::type&& std::move<std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, true>&>(std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, true>&)
mov rdx, rax
lea rax, [rbp-176]
mov rsi, rdx
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, true>::_BracketMatcher(std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, true>&&)
lea rdx, [rbp-176]
lea rax, [rbp-208]
mov rsi, rdx
mov rdi, rax
call std::function<bool (char)>::function<std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, true>, void, void>(std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, true>)
lea rax, [rbp-208]
mov rsi, rax
mov rdi, r12
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_matcher(std::function<bool (char)>)
mov r12, rax
mov rax, QWORD PTR [rbp-408]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-240]
mov rdx, r12
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
lea rax, [rbp-240]
mov rsi, rax
mov rdi, rbx
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
lea rax, [rbp-208]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
lea rax, [rbp-176]
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, true>::~_BracketMatcher() [complete object destructor]
lea rax, [rbp-400]
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, true>::~_BracketMatcher() [complete object destructor]
jmp .L1608
mov rbx, rax
lea rax, [rbp-208]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
jmp .L1603
mov rbx, rax
.L1603:
lea rax, [rbp-176]
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, true>::~_BracketMatcher() [complete object destructor]
jmp .L1604
mov rbx, rax
.L1604:
lea rax, [rbp-400]
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, true>::~_BracketMatcher() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1608:
add rsp, 400
pop rbx
pop r12
pop rbp
ret
std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, false>::~_BracketMatcher() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
add rax, 72
mov rdi, rax
call std::vector<std::__cxx11::regex_traits<char>::_RegexMask, std::allocator<std::__cxx11::regex_traits<char>::_RegexMask> >::~vector() [complete object destructor]
mov rax, QWORD PTR [rbp-8]
add rax, 48
mov rdi, rax
call std::vector<std::pair<char, char>, std::allocator<std::pair<char, char> > >::~vector() [complete object destructor]
mov rax, QWORD PTR [rbp-8]
add rax, 24
mov rdi, rax
call std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::~vector() [complete object destructor]
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::vector<char, std::allocator<char> >::~vector() [complete object destructor]
nop
leave
ret
std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, false>::_BracketMatcher(std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, false>&&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov rsi, rdx
mov rdi, rax
call std::vector<char, std::allocator<char> >::vector(std::vector<char, std::allocator<char> >&&)
mov rax, QWORD PTR [rbp-8]
add rax, 24
mov rdx, QWORD PTR [rbp-16]
add rdx, 24
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::vector(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&&)
mov rax, QWORD PTR [rbp-8]
add rax, 48
mov rdx, QWORD PTR [rbp-16]
add rdx, 48
mov rsi, rdx
mov rdi, rax
call std::vector<std::pair<char, char>, std::allocator<std::pair<char, char> > >::vector(std::vector<std::pair<char, char>, std::allocator<std::pair<char, char> > >&&)
mov rax, QWORD PTR [rbp-8]
add rax, 72
mov rdx, QWORD PTR [rbp-16]
add rdx, 72
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::regex_traits<char>::_RegexMask, std::allocator<std::__cxx11::regex_traits<char>::_RegexMask> >::vector(std::vector<std::__cxx11::regex_traits<char>::_RegexMask, std::allocator<std::__cxx11::regex_traits<char>::_RegexMask> >&&)
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov edx, DWORD PTR [rdx+96]
mov DWORD PTR [rax+96], edx
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rdx+104]
mov QWORD PTR [rax+104], rdx
mov rax, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rax+112]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+112], rdx
mov rax, QWORD PTR [rbp-16]
movzx edx, BYTE PTR [rax+120]
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+120], dl
mov rcx, QWORD PTR [rbp-8]
mov rsi, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rsi+128]
mov rdx, QWORD PTR [rsi+136]
mov QWORD PTR [rcx+128], rax
mov QWORD PTR [rcx+136], rdx
mov rax, QWORD PTR [rsi+144]
mov rdx, QWORD PTR [rsi+152]
mov QWORD PTR [rcx+144], rax
mov QWORD PTR [rcx+152], rdx
nop
leave
ret
void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_character_class_matcher<true, false>():
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 400
mov QWORD PTR [rbp-408], rdi
mov rax, QWORD PTR [rbp-408]
mov rbx, QWORD PTR [rax+384]
mov rax, QWORD PTR [rbp-408]
mov r12, QWORD PTR [rax+392]
mov rax, QWORD PTR [rbp-408]
add rax, 272
mov esi, 0
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned long)
movzx eax, BYTE PTR [rax]
movsx eax, al
mov edx, eax
mov esi, 256
mov rdi, r12
call std::ctype<char>::is(unsigned short, char) const
movzx ecx, al
lea rax, [rbp-400]
mov rdx, rbx
mov esi, ecx
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, false>::_BracketMatcher(bool, std::__cxx11::regex_traits<char> const&)
mov rax, QWORD PTR [rbp-408]
lea rcx, [rax+272]
lea rax, [rbp-400]
mov edx, 0
mov rsi, rcx
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, false>::_M_add_character_class(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)
lea rax, [rbp-400]
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, false>::_M_ready()
mov rax, QWORD PTR [rbp-408]
lea rbx, [rax+304]
mov rax, QWORD PTR [rbp-408]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov r12, rax
lea rax, [rbp-400]
mov rdi, rax
call std::remove_reference<std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, false>&>::type&& std::move<std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, false>&>(std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, false>&)
mov rdx, rax
lea rax, [rbp-176]
mov rsi, rdx
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, false>::_BracketMatcher(std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, false>&&)
lea rdx, [rbp-176]
lea rax, [rbp-208]
mov rsi, rdx
mov rdi, rax
call std::function<bool (char)>::function<std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, false>, void, void>(std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, false>)
lea rax, [rbp-208]
mov rsi, rax
mov rdi, r12
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_matcher(std::function<bool (char)>)
mov r12, rax
mov rax, QWORD PTR [rbp-408]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-240]
mov rdx, r12
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
lea rax, [rbp-240]
mov rsi, rax
mov rdi, rbx
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
lea rax, [rbp-208]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
lea rax, [rbp-176]
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, false>::~_BracketMatcher() [complete object destructor]
lea rax, [rbp-400]
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, false>::~_BracketMatcher() [complete object destructor]
jmp .L1618
mov rbx, rax
lea rax, [rbp-208]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
jmp .L1613
mov rbx, rax
.L1613:
lea rax, [rbp-176]
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, false>::~_BracketMatcher() [complete object destructor]
jmp .L1614
mov rbx, rax
.L1614:
lea rax, [rbp-400]
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, false>::~_BracketMatcher() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1618:
add rsp, 400
pop rbx
pop r12
pop rbp
ret
std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, true>::~_BracketMatcher() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
add rax, 72
mov rdi, rax
call std::vector<std::__cxx11::regex_traits<char>::_RegexMask, std::allocator<std::__cxx11::regex_traits<char>::_RegexMask> >::~vector() [complete object destructor]
mov rax, QWORD PTR [rbp-8]
add rax, 48
mov rdi, rax
call std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::~vector() [complete object destructor]
mov rax, QWORD PTR [rbp-8]
add rax, 24
mov rdi, rax
call std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::~vector() [complete object destructor]
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::vector<char, std::allocator<char> >::~vector() [complete object destructor]
nop
leave
ret
std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, true>::_BracketMatcher(std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, true>&&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov rsi, rdx
mov rdi, rax
call std::vector<char, std::allocator<char> >::vector(std::vector<char, std::allocator<char> >&&)
mov rax, QWORD PTR [rbp-8]
add rax, 24
mov rdx, QWORD PTR [rbp-16]
add rdx, 24
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::vector(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&&)
mov rax, QWORD PTR [rbp-8]
add rax, 48
mov rdx, QWORD PTR [rbp-16]
add rdx, 48
mov rsi, rdx
mov rdi, rax
call std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::vector(std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&&)
mov rax, QWORD PTR [rbp-8]
add rax, 72
mov rdx, QWORD PTR [rbp-16]
add rdx, 72
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::regex_traits<char>::_RegexMask, std::allocator<std::__cxx11::regex_traits<char>::_RegexMask> >::vector(std::vector<std::__cxx11::regex_traits<char>::_RegexMask, std::allocator<std::__cxx11::regex_traits<char>::_RegexMask> >&&)
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov edx, DWORD PTR [rdx+96]
mov DWORD PTR [rax+96], edx
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rdx+104]
mov QWORD PTR [rax+104], rdx
mov rax, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rax+112]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+112], rdx
mov rax, QWORD PTR [rbp-16]
movzx edx, BYTE PTR [rax+120]
mov rax, QWORD PTR [rbp-8]
mov BYTE PTR [rax+120], dl
mov rcx, QWORD PTR [rbp-8]
mov rsi, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rsi+128]
mov rdx, QWORD PTR [rsi+136]
mov QWORD PTR [rcx+128], rax
mov QWORD PTR [rcx+136], rdx
mov rax, QWORD PTR [rsi+144]
mov rdx, QWORD PTR [rsi+152]
mov QWORD PTR [rcx+144], rax
mov QWORD PTR [rcx+152], rdx
nop
leave
ret
void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_character_class_matcher<true, true>():
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 400
mov QWORD PTR [rbp-408], rdi
mov rax, QWORD PTR [rbp-408]
mov rbx, QWORD PTR [rax+384]
mov rax, QWORD PTR [rbp-408]
mov r12, QWORD PTR [rax+392]
mov rax, QWORD PTR [rbp-408]
add rax, 272
mov esi, 0
mov rdi, rax
call std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned long)
movzx eax, BYTE PTR [rax]
movsx eax, al
mov edx, eax
mov esi, 256
mov rdi, r12
call std::ctype<char>::is(unsigned short, char) const
movzx ecx, al
lea rax, [rbp-400]
mov rdx, rbx
mov esi, ecx
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, true>::_BracketMatcher(bool, std::__cxx11::regex_traits<char> const&)
mov rax, QWORD PTR [rbp-408]
lea rcx, [rax+272]
lea rax, [rbp-400]
mov edx, 0
mov rsi, rcx
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, true>::_M_add_character_class(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)
lea rax, [rbp-400]
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, true>::_M_ready()
mov rax, QWORD PTR [rbp-408]
lea rbx, [rax+304]
mov rax, QWORD PTR [rbp-408]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator->() const
mov r12, rax
lea rax, [rbp-400]
mov rdi, rax
call std::remove_reference<std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, true>&>::type&& std::move<std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, true>&>(std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, true>&)
mov rdx, rax
lea rax, [rbp-176]
mov rsi, rdx
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, true>::_BracketMatcher(std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, true>&&)
lea rdx, [rbp-176]
lea rax, [rbp-208]
mov rsi, rdx
mov rdi, rax
call std::function<bool (char)>::function<std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, true>, void, void>(std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, true>)
lea rax, [rbp-208]
mov rsi, rax
mov rdi, r12
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_matcher(std::function<bool (char)>)
mov r12, rax
mov rax, QWORD PTR [rbp-408]
add rax, 256
mov rdi, rax
call std::__shared_ptr_access<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const
mov rcx, rax
lea rax, [rbp-240]
mov rdx, r12
mov rsi, rcx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long)
lea rax, [rbp-240]
mov rsi, rax
mov rdi, rbx
call std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::push(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
lea rax, [rbp-208]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
lea rax, [rbp-176]
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, true>::~_BracketMatcher() [complete object destructor]
lea rax, [rbp-400]
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, true>::~_BracketMatcher() [complete object destructor]
jmp .L1628
mov rbx, rax
lea rax, [rbp-208]
mov rdi, rax
call std::function<bool (char)>::~function() [complete object destructor]
jmp .L1623
mov rbx, rax
.L1623:
lea rax, [rbp-176]
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, true>::~_BracketMatcher() [complete object destructor]
jmp .L1624
mov rbx, rax
.L1624:
lea rax, [rbp-400]
mov rdi, rax
call std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, true, true>::~_BracketMatcher() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1628:
add rsp, 400
pop rbx
pop r12
pop rbp
ret
std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_bracket_expression():
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov rax, QWORD PTR [rbp-24]
mov esi, 10
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
mov BYTE PTR [rbp-1], al
movzx eax, BYTE PTR [rbp-1]
xor eax, 1
test al, al
je .L1630
mov rax, QWORD PTR [rbp-24]
mov esi, 9
mov rdi, rax
call std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_match_token(std::__detail::_ScannerBase::_TokenT)
xor eax, 1
test al, al
je .L1630
mov eax, 1
jmp .L1631
.L1630:
mov eax, 0
.L1631:
test al, al
je .L1632
mov eax, 0
jmp .L1633
.L1632:
mov rax, QWORD PTR [rbp-24]
mov eax, DWORD PTR [rax]
mov esi, 1
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
sete al
test al, al
je .L1634
mov rax, QWORD PTR [rbp-24]
mov eax, DWORD PTR [rax]
mov esi, 8
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
sete al
test al, al
je .L1635
movzx edx, BYTE PTR [rbp-1]
mov rax, QWORD PTR [rbp-24]
mov esi, edx
mov rdi, rax
call void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_bracket_matcher<false, false>(bool)
jmp .L1637
.L1635:
movzx edx, BYTE PTR [rbp-1]
mov rax, QWORD PTR [rbp-24]
mov esi, edx
mov rdi, rax
call void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_bracket_matcher<false, true>(bool)
jmp .L1637
.L1634:
mov rax, QWORD PTR [rbp-24]
mov eax, DWORD PTR [rax]
mov esi, 8
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::syntax_option_type, std::regex_constants::syntax_option_type)
test eax, eax
sete al
test al, al
je .L1638
movzx edx, BYTE PTR [rbp-1]
mov rax, QWORD PTR [rbp-24]
mov esi, edx
mov rdi, rax
call void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_bracket_matcher<true, false>(bool)
jmp .L1637
.L1638:
movzx edx, BYTE PTR [rbp-1]
mov rax, QWORD PTR [rbp-24]
mov esi, edx
mov rdi, rax
call void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_bracket_matcher<true, true>(bool)
.L1637:
mov eax, 1
.L1633:
leave
ret
std::stack<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > > >::empty() const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::empty() const
leave
ret
std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_repeat(long, long, bool):
push rbp
mov rbp, rsp
push rbx
sub rsp, 136
mov QWORD PTR [rbp-120], rdi
mov QWORD PTR [rbp-128], rsi
mov QWORD PTR [rbp-136], rdx
mov eax, ecx
mov BYTE PTR [rbp-140], al
lea rax, [rbp-112]
mov esi, 2
mov rdi, rax
call std::__detail::_State<char>::_State(std::__detail::_Opcode)
mov rax, QWORD PTR [rbp-128]
mov QWORD PTR [rbp-104], rax
mov rax, QWORD PTR [rbp-136]
mov QWORD PTR [rbp-96], rax
movzx eax, BYTE PTR [rbp-140]
mov BYTE PTR [rbp-88], al
lea rax, [rbp-112]
mov rdi, rax
call std::remove_reference<std::__detail::_State<char>&>::type&& std::move<std::__detail::_State<char>&>(std::__detail::_State<char>&)
mov rdx, rax
lea rax, [rbp-64]
mov rsi, rdx
mov rdi, rax
call std::__detail::_State<char>::_State(std::__detail::_State<char>&&)
lea rdx, [rbp-64]
mov rax, QWORD PTR [rbp-120]
mov rsi, rdx
mov rdi, rax
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_state(std::__detail::_State<char>)
mov rbx, rax
lea rax, [rbp-64]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
lea rax, [rbp-112]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
mov rax, rbx
jmp .L1645
mov rbx, rax
lea rax, [rbp-64]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
lea rax, [rbp-112]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1645:
add rsp, 136
pop rbx
pop rbp
ret
std::_Rb_tree<long, std::pair<long const, long>, std::_Select1st<std::pair<long const, long> >, std::less<long>, std::allocator<std::pair<long const, long> > >::_Rb_tree_impl<std::less<long>, true>::~_Rb_tree_impl() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::allocator<std::_Rb_tree_node<std::pair<long const, long> > >::~allocator() [base object destructor]
nop
leave
ret
std::_Rb_tree<long, std::pair<long const, long>, std::_Select1st<std::pair<long const, long> >, std::less<long>, std::allocator<std::pair<long const, long> > >::_Rb_tree() [base object constructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Rb_tree<long, std::pair<long const, long>, std::_Select1st<std::pair<long const, long> >, std::less<long>, std::allocator<std::pair<long const, long> > >::_Rb_tree_impl<std::less<long>, true>::_Rb_tree_impl() [complete object constructor]
nop
leave
ret
std::map<long, long, std::less<long>, std::allocator<std::pair<long const, long> > >::map() [base object constructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Rb_tree<long, std::pair<long const, long>, std::_Select1st<std::pair<long const, long> >, std::less<long>, std::allocator<std::pair<long const, long> > >::_Rb_tree() [complete object constructor]
nop
leave
ret
std::map<long, long, std::less<long>, std::allocator<std::pair<long const, long> > >::~map() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Rb_tree<long, std::pair<long const, long>, std::_Select1st<std::pair<long const, long> >, std::less<long>, std::allocator<std::pair<long const, long> > >::~_Rb_tree() [complete object destructor]
nop
leave
ret
std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_M_clone():
push rbp
mov rbp, rsp
push rbx
sub rsp, 328
mov QWORD PTR [rbp-328], rdi
mov QWORD PTR [rbp-336], rsi
lea rax, [rbp-144]
mov rdi, rax
call std::map<long, long, std::less<long>, std::allocator<std::pair<long const, long> > >::map() [complete object constructor]
lea rax, [rbp-224]
mov rdi, rax
call std::stack<long, std::deque<long, std::allocator<long> > >::stack<std::deque<long, std::allocator<long> >, void>()
mov rax, QWORD PTR [rbp-336]
lea rdx, [rax+8]
lea rax, [rbp-224]
mov rsi, rdx
mov rdi, rax
call std::stack<long, std::deque<long, std::allocator<long> > >::push(long const&)
.L1662:
lea rax, [rbp-224]
mov rdi, rax
call std::stack<long, std::deque<long, std::allocator<long> > >::empty() const
xor eax, 1
test al, al
je .L1651
lea rax, [rbp-224]
mov rdi, rax
call std::stack<long, std::deque<long, std::allocator<long> > >::top()
mov rax, QWORD PTR [rax]
mov QWORD PTR [rbp-232], rax
lea rax, [rbp-224]
mov rdi, rax
call std::stack<long, std::deque<long, std::allocator<long> > >::pop()
mov rax, QWORD PTR [rbp-336]
mov rax, QWORD PTR [rax]
add rax, 56
mov rdx, QWORD PTR [rbp-232]
mov rsi, rdx
mov rdi, rax
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long)
mov rdx, rax
lea rax, [rbp-320]
mov rsi, rdx
mov rdi, rax
call std::__detail::_State<char>::_State(std::__detail::_State<char> const&)
mov rax, QWORD PTR [rbp-336]
mov rbx, QWORD PTR [rax]
lea rax, [rbp-320]
mov rdi, rax
call std::remove_reference<std::__detail::_State<char>&>::type&& std::move<std::__detail::_State<char>&>(std::__detail::_State<char>&)
mov rdx, rax
lea rax, [rbp-96]
mov rsi, rdx
mov rdi, rax
call std::__detail::_State<char>::_State(std::__detail::_State<char>&&)
lea rax, [rbp-96]
mov rsi, rax
mov rdi, rbx
call std::__detail::_NFA<std::__cxx11::regex_traits<char> >::_M_insert_state(std::__detail::_State<char>)
mov QWORD PTR [rbp-24], rax
lea rax, [rbp-96]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
mov rbx, QWORD PTR [rbp-24]
lea rdx, [rbp-232]
lea rax, [rbp-144]
mov rsi, rdx
mov rdi, rax
call std::map<long, long, std::less<long>, std::allocator<std::pair<long const, long> > >::operator[](long const&)
mov QWORD PTR [rax], rbx
lea rax, [rbp-320]
mov rdi, rax
call std::__detail::_State_base::_M_has_alt()
test al, al
je .L1652
mov rax, QWORD PTR [rbp-304]
cmp rax, -1
je .L1653
lea rax, [rbp-320]
lea rdx, [rax+16]
lea rax, [rbp-144]
mov rsi, rdx
mov rdi, rax
call std::map<long, long, std::less<long>, std::allocator<std::pair<long const, long> > >::count(long const&) const
test rax, rax
jne .L1653
mov eax, 1
jmp .L1654
.L1653:
mov eax, 0
.L1654:
test al, al
je .L1652
lea rax, [rbp-320]
lea rdx, [rax+16]
lea rax, [rbp-224]
mov rsi, rdx
mov rdi, rax
call std::stack<long, std::deque<long, std::allocator<long> > >::push(long const&)
.L1652:
mov rax, QWORD PTR [rbp-336]
mov rdx, QWORD PTR [rax+16]
mov rax, QWORD PTR [rbp-232]
cmp rdx, rax
jne .L1655
mov ebx, 0
jmp .L1656
.L1655:
mov rax, QWORD PTR [rbp-312]
cmp rax, -1
je .L1657
lea rax, [rbp-320]
lea rdx, [rax+8]
lea rax, [rbp-144]
mov rsi, rdx
mov rdi, rax
call std::map<long, long, std::less<long>, std::allocator<std::pair<long const, long> > >::count(long const&) const
test rax, rax
jne .L1657
mov eax, 1
jmp .L1658
.L1657:
mov eax, 0
.L1658:
test al, al
je .L1659
lea rax, [rbp-320]
lea rdx, [rax+8]
lea rax, [rbp-224]
mov rsi, rdx
mov rdi, rax
call std::stack<long, std::deque<long, std::allocator<long> > >::push(long const&)
.L1659:
mov ebx, 1
.L1656:
lea rax, [rbp-320]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
cmp ebx, 1
jmp .L1662
.L1651:
lea rax, [rbp-144]
mov QWORD PTR [rbp-32], rax
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::map<long, long, std::less<long>, std::allocator<std::pair<long const, long> > >::begin()
mov QWORD PTR [rbp-264], rax
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::map<long, long, std::less<long>, std::allocator<std::pair<long const, long> > >::end()
mov QWORD PTR [rbp-272], rax
.L1666:
lea rdx, [rbp-272]
lea rax, [rbp-264]
mov rsi, rdx
mov rdi, rax
call std::_Rb_tree_iterator<std::pair<long const, long> >::operator!=(std::_Rb_tree_iterator<std::pair<long const, long> > const&) const
test al, al
je .L1663
lea rax, [rbp-264]
mov rdi, rax
call std::_Rb_tree_iterator<std::pair<long const, long> >::operator*() const
mov rdx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rax]
mov QWORD PTR [rbp-256], rax
mov QWORD PTR [rbp-248], rdx
mov rax, QWORD PTR [rbp-248]
mov QWORD PTR [rbp-40], rax
mov rax, QWORD PTR [rbp-336]
mov rax, QWORD PTR [rax]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-40]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long)
mov QWORD PTR [rbp-48], rax
mov rax, QWORD PTR [rbp-48]
mov rax, QWORD PTR [rax+8]
cmp rax, -1
je .L1664
mov rax, QWORD PTR [rbp-48]
lea rdx, [rax+8]
lea rax, [rbp-144]
mov rsi, rdx
mov rdi, rax
call std::map<long, long, std::less<long>, std::allocator<std::pair<long const, long> > >::operator[](long const&)
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-48]
mov QWORD PTR [rax+8], rdx
.L1664:
mov rax, QWORD PTR [rbp-48]
mov rdi, rax
call std::__detail::_State_base::_M_has_alt()
test al, al
je .L1665
mov rax, QWORD PTR [rbp-48]
mov rax, QWORD PTR [rax+16]
cmp rax, -1
je .L1665
mov rax, QWORD PTR [rbp-48]
lea rdx, [rax+16]
lea rax, [rbp-144]
mov rsi, rdx
mov rdi, rax
call std::map<long, long, std::less<long>, std::allocator<std::pair<long const, long> > >::operator[](long const&)
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-48]
mov QWORD PTR [rax+16], rdx
.L1665:
lea rax, [rbp-264]
mov rdi, rax
call std::_Rb_tree_iterator<std::pair<long const, long> >::operator++()
jmp .L1666
.L1663:
mov rax, QWORD PTR [rbp-336]
lea rdx, [rax+16]
lea rax, [rbp-144]
mov rsi, rdx
mov rdi, rax
call std::map<long, long, std::less<long>, std::allocator<std::pair<long const, long> > >::operator[](long const&)
mov rbx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-336]
lea rdx, [rax+8]
lea rax, [rbp-144]
mov rsi, rdx
mov rdi, rax
call std::map<long, long, std::less<long>, std::allocator<std::pair<long const, long> > >::operator[](long const&)
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-336]
mov rsi, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-328]
mov rcx, rbx
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >::_StateSeq(std::__detail::_NFA<std::__cxx11::regex_traits<char> >&, long, long)
lea rax, [rbp-224]
mov rdi, rax
call std::stack<long, std::deque<long, std::allocator<long> > >::~stack() [complete object destructor]
lea rax, [rbp-144]
mov rdi, rax
call std::map<long, long, std::less<long>, std::allocator<std::pair<long const, long> > >::~map() [complete object destructor]
jmp .L1676
mov rbx, rax
lea rax, [rbp-96]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
jmp .L1669
mov rbx, rax
.L1669:
lea rax, [rbp-320]
mov rdi, rax
call std::__detail::_State<char>::~_State() [complete object destructor]
jmp .L1670
mov rbx, rax
.L1670:
lea rax, [rbp-224]
mov rdi, rax
call std::stack<long, std::deque<long, std::allocator<long> > >::~stack() [complete object destructor]
jmp .L1671
mov rbx, rax
.L1671:
lea rax, [rbp-144]
mov rdi, rax
call std::map<long, long, std::less<long>, std::allocator<std::pair<long const, long> > >::~map() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1676:
mov rax, QWORD PTR [rbp-328]
add rsp, 328
pop rbx
pop rbp
ret
std::stack<long, std::deque<long, std::allocator<long> > >::stack<std::deque<long, std::allocator<long> >, void>():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::deque<long, std::allocator<long> >::deque() [complete object constructor]
nop
leave
ret
std::deque<long, std::allocator<long> >::~deque() [base object destructor]:
push rbp
mov rbp, rsp
push rbx
sub rsp, 88
mov QWORD PTR [rbp-88], rdi
mov rax, QWORD PTR [rbp-88]
mov rdi, rax
call std::_Deque_base<long, std::allocator<long> >::_M_get_Tp_allocator()
mov rbx, rax
lea rax, [rbp-80]
mov rdx, QWORD PTR [rbp-88]
mov rsi, rdx
mov rdi, rax
call std::deque<long, std::allocator<long> >::end()
lea rax, [rbp-48]
mov rdx, QWORD PTR [rbp-88]
mov rsi, rdx
mov rdi, rax
call std::deque<long, std::allocator<long> >::begin()
lea rdx, [rbp-80]
lea rsi, [rbp-48]
mov rax, QWORD PTR [rbp-88]
mov rcx, rbx
mov rdi, rax
call std::deque<long, std::allocator<long> >::_M_destroy_data(std::_Deque_iterator<long, long&, long*>, std::_Deque_iterator<long, long&, long*>, std::allocator<long> const&)
mov rax, QWORD PTR [rbp-88]
mov rdi, rax
call std::_Deque_base<long, std::allocator<long> >::~_Deque_base() [base object destructor]
nop
add rsp, 88
pop rbx
pop rbp
ret
std::stack<long, std::deque<long, std::allocator<long> > >::push(long const&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov rsi, rdx
mov rdi, rax
call std::deque<long, std::allocator<long> >::push_back(long const&)
nop
leave
ret
std::stack<long, std::deque<long, std::allocator<long> > >::empty() const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::deque<long, std::allocator<long> >::empty() const
leave
ret
std::stack<long, std::deque<long, std::allocator<long> > >::top():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::deque<long, std::allocator<long> >::back()
leave
ret
std::stack<long, std::deque<long, std::allocator<long> > >::pop():
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::deque<long, std::allocator<long> >::pop_back()
nop
leave
ret
std::remove_reference<long&>::type&& std::move<long&>(long&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<long> >, std::is_move_constructible<long>, std::is_move_assignable<long> >::value, void>::type std::swap<long>(long&, long&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::remove_reference<long&>::type&& std::move<long&>(long&)
mov rax, QWORD PTR [rax]
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::remove_reference<long&>::type&& std::move<long&>(long&)
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-24]
mov QWORD PTR [rax], rdx
lea rax, [rbp-8]
mov rdi, rax
call std::remove_reference<long&>::type&& std::move<long&>(long&)
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-32]
mov QWORD PTR [rax], rdx
nop
leave
ret
void std::allocator_traits<std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::construct<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&>(std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const& std::forward<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&>(std::remove_reference<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&>::type&)
mov rdx, rax
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call void __gnu_cxx::new_allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >::construct<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&>(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&)
nop
leave
ret
void std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_push_back_aux<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&>(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 24
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rax, QWORD PTR [rbp-24]
mov esi, 1
mov rdi, rax
call std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_reserve_map_at_back(unsigned long)
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rdx+72]
lea rbx, [rdx+8]
mov rdi, rax
call std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_allocate_node()
mov QWORD PTR [rbx], rax
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const& std::forward<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&>(std::remove_reference<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&>::type&)
mov rdx, rax
mov rax, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rax+48]
mov rax, QWORD PTR [rbp-24]
mov rsi, rcx
mov rdi, rax
call void std::allocator_traits<std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::construct<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&>(std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > const&)
mov rax, QWORD PTR [rbp-24]
lea rdx, [rax+48]
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+72]
add rax, 8
mov rsi, rax
mov rdi, rdx
call std::_Deque_iterator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::_M_set_node(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >**)
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rax+56]
mov rax, QWORD PTR [rbp-24]
mov QWORD PTR [rax+48], rdx
nop
add rsp, 24
pop rbx
pop rbp
ret
std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&& std::forward<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >(std::remove_reference<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >::type&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
void std::allocator_traits<std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::construct<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >(std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&& std::forward<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >(std::remove_reference<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >::type&)
mov rdx, rax
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call void __gnu_cxx::new_allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >::construct<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
nop
leave
ret
void std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_push_back_aux<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 24
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rax, QWORD PTR [rbp-24]
mov esi, 1
mov rdi, rax
call std::deque<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_reserve_map_at_back(unsigned long)
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rdx+72]
lea rbx, [rdx+8]
mov rdi, rax
call std::_Deque_base<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::_M_allocate_node()
mov QWORD PTR [rbx], rax
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&& std::forward<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >(std::remove_reference<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >::type&)
mov rdx, rax
mov rax, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rax+48]
mov rax, QWORD PTR [rbp-24]
mov rsi, rcx
mov rdi, rax
call void std::allocator_traits<std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > > >::construct<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >(std::allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&&)
mov rax, QWORD PTR [rbp-24]
lea rdx, [rax+48]
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+72]
add rax, 8
mov rsi, rax
mov rdi, rdx
call std::_Deque_iterator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >&, std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::_M_set_node(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >**)
mov rax, QWORD PTR [rbp-24]
mov rdx, QWORD PTR [rax+56]
mov rax, QWORD PTR [rbp-24]
mov QWORD PTR [rax+48], rdx
nop
add rsp, 24
pop rbx
pop rbp
ret
void __gnu_cxx::new_allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >::destroy<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
nop
pop rbp
ret
__gnu_cxx::new_allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> > >::deallocate(std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rax, QWORD PTR [rbp-16]
mov rdi, rax
call operator delete(void*)
leave
ret
__gnu_cxx::new_allocator<std::__detail::_StateSeq<std::__cxx11::regex_traits<char> >*>::new_allocator() [base object constructor]:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
nop
pop rbp
ret
__gnu_cxx::new_allocator<std::__cxx11::sub_match<char const*> >::max_size() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
movabs rax, 768614336404564650
pop rbp
ret
std::__cxx11::sub_match<char const*>* std::__uninitialized_default_n_1<false>::__uninit_default_n<std::__cxx11::sub_match<char const*>*, unsigned long>(std::__cxx11::sub_match<char const*>*, unsigned long):
push rbp
mov rbp, rsp
push rbx
sub rsp, 40
mov QWORD PTR [rbp-40], rdi
mov QWORD PTR [rbp-48], rsi
mov rax, QWORD PTR [rbp-40]
mov QWORD PTR [rbp-24], rax
.L1702:
cmp QWORD PTR [rbp-48], 0
je .L1701
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__cxx11::sub_match<char const*>* std::__addressof<std::__cxx11::sub_match<char const*> >(std::__cxx11::sub_match<char const*>&)
mov rdi, rax
call void std::_Construct<std::__cxx11::sub_match<char const*>>(std::__cxx11::sub_match<char const*>*)
sub QWORD PTR [rbp-48], 1
add QWORD PTR [rbp-24], 24
jmp .L1702
.L1701:
mov rax, QWORD PTR [rbp-24]
jmp .L1708
mov rdi, rax
call __cxa_begin_catch
mov rdx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-40]
mov rsi, rdx
mov rdi, rax
call void std::_Destroy<std::__cxx11::sub_match<char const*>*>(std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*)
call __cxa_rethrow
mov rbx, rax
call __cxa_end_catch
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1708:
add rsp, 40
pop rbx
pop rbp
ret
__gnu_cxx::new_allocator<std::__cxx11::sub_match<char const*> >::allocate(unsigned long, void const*):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call __gnu_cxx::new_allocator<std::__cxx11::sub_match<char const*> >::max_size() const
cmp QWORD PTR [rbp-16], rax
seta al
test al, al
je .L1712
call std::__throw_bad_alloc()
.L1712:
mov rdx, QWORD PTR [rbp-16]
mov rax, rdx
add rax, rax
add rax, rdx
sal rax, 3
mov rdi, rax
call operator new(unsigned long)
nop
leave
ret
std::move_iterator<std::__cxx11::sub_match<char const*>*>::move_iterator(std::__cxx11::sub_match<char const*>*):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-16]
mov QWORD PTR [rax], rdx
nop
pop rbp
ret
std::__cxx11::sub_match<char const*>* std::uninitialized_copy<std::move_iterator<std::__cxx11::sub_match<char const*>*>, std::__cxx11::sub_match<char const*>*>(std::move_iterator<std::__cxx11::sub_match<char const*>*>, std::move_iterator<std::__cxx11::sub_match<char const*>*>, std::__cxx11::sub_match<char const*>*):
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov QWORD PTR [rbp-40], rdx
mov BYTE PTR [rbp-1], 1
mov rdx, QWORD PTR [rbp-40]
mov rcx, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rbp-24]
mov rsi, rcx
mov rdi, rax
call std::__cxx11::sub_match<char const*>* std::__uninitialized_copy<false>::__uninit_copy<std::move_iterator<std::__cxx11::sub_match<char const*>*>, std::__cxx11::sub_match<char const*>*>(std::move_iterator<std::__cxx11::sub_match<char const*>*>, std::move_iterator<std::__cxx11::sub_match<char const*>*>, std::__cxx11::sub_match<char const*>*)
leave
ret
__gnu_cxx::new_allocator<std::pair<char const*, int> >::new_allocator(__gnu_cxx::new_allocator<std::pair<char const*, int> > const&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
nop
pop rbp
ret
std::allocator_traits<std::allocator<std::pair<char const*, int> > >::allocate(std::allocator<std::pair<char const*, int> >&, unsigned long):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov edx, 0
mov rsi, rcx
mov rdi, rax
call __gnu_cxx::new_allocator<std::pair<char const*, int> >::allocate(unsigned long, void const*)
leave
ret
std::pair<char const*, int>* std::__uninitialized_default_n_1<false>::__uninit_default_n<std::pair<char const*, int>*, unsigned long>(std::pair<char const*, int>*, unsigned long):
push rbp
mov rbp, rsp
push rbx
sub rsp, 40
mov QWORD PTR [rbp-40], rdi
mov QWORD PTR [rbp-48], rsi
mov rax, QWORD PTR [rbp-40]
mov QWORD PTR [rbp-24], rax
.L1721:
cmp QWORD PTR [rbp-48], 0
je .L1720
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::pair<char const*, int>* std::__addressof<std::pair<char const*, int> >(std::pair<char const*, int>&)
mov rdi, rax
call void std::_Construct<std::pair<char const*, int>>(std::pair<char const*, int>*)
sub QWORD PTR [rbp-48], 1
add QWORD PTR [rbp-24], 16
jmp .L1721
.L1720:
mov rax, QWORD PTR [rbp-24]
jmp .L1727
mov rdi, rax
call __cxa_begin_catch
mov rdx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-40]
mov rsi, rdx
mov rdi, rax
call void std::_Destroy<std::pair<char const*, int>*>(std::pair<char const*, int>*, std::pair<char const*, int>*)
call __cxa_rethrow
mov rbx, rax
call __cxa_end_catch
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1727:
add rsp, 40
pop rbx
pop rbp
ret
std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >::allocator() [base object constructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call __gnu_cxx::new_allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >::new_allocator() [base object constructor]
nop
leave
ret
std::_Tuple_impl<0ul, bool*, std::default_delete<bool []> >::_Tuple_impl() [base object constructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Tuple_impl<1ul, std::default_delete<bool []> >::_Tuple_impl() [base object constructor]
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Head_base<0ul, bool*, false>::_Head_base() [base object constructor]
nop
leave
ret
std::_Head_base<0ul, bool*, false>::_M_head(std::_Head_base<0ul, bool*, false>&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::_Tuple_impl<1ul, std::default_delete<bool []> >::_M_head(std::_Tuple_impl<1ul, std::default_delete<bool []> >&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::_Head_base<1ul, std::default_delete<bool []>, true>::_M_head(std::_Head_base<1ul, std::default_delete<bool []>, true>&)
leave
ret
long& std::forward<long&>(std::remove_reference<long&>::type&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const& std::forward<std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&>(std::remove_reference<std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&>::type&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
void std::allocator_traits<std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::construct<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, long&, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&>(std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >&, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, long&, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 40
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov QWORD PTR [rbp-40], rdx
mov QWORD PTR [rbp-48], rcx
mov rax, QWORD PTR [rbp-48]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const& std::forward<std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&>(std::remove_reference<std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&>::type&)
mov rbx, rax
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call long& std::forward<long&>(std::remove_reference<long&>::type&)
mov rdx, rax
mov rsi, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rbp-24]
mov rcx, rbx
mov rdi, rax
call void __gnu_cxx::new_allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >::construct<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, long&, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&>(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, long&, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&)
nop
add rsp, 40
pop rbx
pop rbp
ret
void std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_M_realloc_insert<long&, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&>(__gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >, long&, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&):
push rbp
mov rbp, rsp
push rbx
sub rsp, 104
mov QWORD PTR [rbp-88], rdi
mov QWORD PTR [rbp-96], rsi
mov QWORD PTR [rbp-104], rdx
mov QWORD PTR [rbp-112], rcx
mov rax, QWORD PTR [rbp-88]
mov edx, OFFSET FLAT:.LC24
mov esi, 1
mov rdi, rax
call std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_M_check_len(unsigned long, char const*) const
mov QWORD PTR [rbp-32], rax
mov rax, QWORD PTR [rbp-88]
mov rax, QWORD PTR [rax]
mov QWORD PTR [rbp-40], rax
mov rax, QWORD PTR [rbp-88]
mov rax, QWORD PTR [rax+8]
mov QWORD PTR [rbp-48], rax
mov rax, QWORD PTR [rbp-88]
mov rdi, rax
call std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::begin()
mov QWORD PTR [rbp-72], rax
lea rdx, [rbp-72]
lea rax, [rbp-96]
mov rsi, rdx
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >::difference_type __gnu_cxx::operator-<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >(__gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > > const&, __gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > > const&)
mov QWORD PTR [rbp-56], rax
mov rax, QWORD PTR [rbp-88]
mov rdx, QWORD PTR [rbp-32]
mov rsi, rdx
mov rdi, rax
call std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_M_allocate(unsigned long)
mov QWORD PTR [rbp-64], rax
mov rax, QWORD PTR [rbp-64]
mov QWORD PTR [rbp-24], rax
mov rax, QWORD PTR [rbp-112]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const& std::forward<std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&>(std::remove_reference<std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&>::type&)
mov rbx, rax
mov rax, QWORD PTR [rbp-104]
mov rdi, rax
call long& std::forward<long&>(std::remove_reference<long&>::type&)
mov rdi, rax
mov rax, QWORD PTR [rbp-56]
sal rax, 5
mov rdx, rax
mov rax, QWORD PTR [rbp-64]
lea rsi, [rdx+rax]
mov rax, QWORD PTR [rbp-88]
mov rcx, rbx
mov rdx, rdi
mov rdi, rax
call void std::allocator_traits<std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::construct<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, long&, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&>(std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >&, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, long&, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&)
mov QWORD PTR [rbp-24], 0
mov rax, QWORD PTR [rbp-88]
mov rdi, rax
call std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_M_get_Tp_allocator()
mov rbx, rax
lea rax, [rbp-96]
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >::base() const
mov rsi, QWORD PTR [rax]
mov rdx, QWORD PTR [rbp-64]
mov rax, QWORD PTR [rbp-40]
mov rcx, rbx
mov rdi, rax
call std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >* std::__uninitialized_move_if_noexcept_a<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >&)
mov QWORD PTR [rbp-24], rax
add QWORD PTR [rbp-24], 32
mov rax, QWORD PTR [rbp-88]
mov rdi, rax
call std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_M_get_Tp_allocator()
mov rbx, rax
lea rax, [rbp-96]
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >::base() const
mov rax, QWORD PTR [rax]
mov rdx, QWORD PTR [rbp-24]
mov rsi, QWORD PTR [rbp-48]
mov rcx, rbx
mov rdi, rax
call std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >* std::__uninitialized_move_if_noexcept_a<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >&)
mov QWORD PTR [rbp-24], rax
mov rax, QWORD PTR [rbp-88]
mov rdi, rax
call std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_M_get_Tp_allocator()
mov rdx, rax
mov rcx, QWORD PTR [rbp-48]
mov rax, QWORD PTR [rbp-40]
mov rsi, rcx
mov rdi, rax
call void std::_Destroy<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >&)
mov rax, QWORD PTR [rbp-88]
mov rdx, QWORD PTR [rbp-88]
mov rdx, QWORD PTR [rdx+16]
sub rdx, QWORD PTR [rbp-40]
sar rdx, 5
mov rcx, QWORD PTR [rbp-40]
mov rsi, rcx
mov rdi, rax
call std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_M_deallocate(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, unsigned long)
mov rax, QWORD PTR [rbp-88]
mov rdx, QWORD PTR [rbp-64]
mov QWORD PTR [rax], rdx
mov rax, QWORD PTR [rbp-88]
mov rdx, QWORD PTR [rbp-24]
mov QWORD PTR [rax+8], rdx
mov rax, QWORD PTR [rbp-32]
sal rax, 5
mov rdx, rax
mov rax, QWORD PTR [rbp-64]
add rdx, rax
mov rax, QWORD PTR [rbp-88]
mov QWORD PTR [rax+16], rdx
jmp .L1746
mov rdi, rax
call __cxa_begin_catch
cmp QWORD PTR [rbp-24], 0
jne .L1741
mov rax, QWORD PTR [rbp-56]
sal rax, 5
mov rdx, rax
mov rax, QWORD PTR [rbp-64]
add rdx, rax
mov rax, QWORD PTR [rbp-88]
mov rsi, rdx
mov rdi, rax
call void std::allocator_traits<std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::destroy<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >(std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >&, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*)
jmp .L1742
.L1741:
mov rax, QWORD PTR [rbp-88]
mov rdi, rax
call std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_M_get_Tp_allocator()
mov rdx, rax
mov rcx, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rbp-64]
mov rsi, rcx
mov rdi, rax
call void std::_Destroy<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >&)
.L1742:
mov rax, QWORD PTR [rbp-88]
mov rdx, QWORD PTR [rbp-32]
mov rcx, QWORD PTR [rbp-64]
mov rsi, rcx
mov rdi, rax
call std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_M_deallocate(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, unsigned long)
call __cxa_rethrow
mov rbx, rax
call __cxa_end_catch
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1746:
add rsp, 104
pop rbx
pop rbp
ret
std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::back():
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::end()
mov QWORD PTR [rbp-8], rax
lea rax, [rbp-8]
mov esi, 1
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >::operator-(long) const
mov QWORD PTR [rbp-16], rax
lea rax, [rbp-16]
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >::operator*() const
nop
leave
ret
__gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > const*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >::__normal_iterator(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > const* const&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], rdx
nop
pop rbp
ret
__gnu_cxx::__normal_iterator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > const*, std::vector<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > > >::base() const:
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::tuple_element<0ul, std::tuple<bool*, std::default_delete<bool []> > >::type const& std::get<0ul, bool*, std::default_delete<bool []> >(std::tuple<bool*, std::default_delete<bool []> > const&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call bool* const& std::__get_helper<0ul, bool*, std::default_delete<bool []> >(std::_Tuple_impl<0ul, bool*, std::default_delete<bool []> > const&)
leave
ret
std::remove_reference<std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >&>::type&& std::move<std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >&>(std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_Vector_impl::_Vector_impl(std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >&&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-16]
mov rdi, rax
call std::remove_reference<std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >&>::type&& std::move<std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >&>(std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >&)
mov rdx, rax
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >::allocator(std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > const&)
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], 0
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+8], 0
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+16], 0
nop
leave
ret
std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_Vector_impl::_M_swap_data(std::_Vector_base<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::allocator<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > > >::_Vector_impl&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*> >, std::is_move_constructible<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*>, std::is_move_assignable<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*> >::value, void>::type std::swap<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*>(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*&, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*&)
mov rax, QWORD PTR [rbp-16]
lea rdx, [rax+8]
mov rax, QWORD PTR [rbp-8]
add rax, 8
mov rsi, rdx
mov rdi, rax
call std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*> >, std::is_move_constructible<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*>, std::is_move_assignable<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*> >::value, void>::type std::swap<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*>(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*&, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*&)
mov rax, QWORD PTR [rbp-16]
lea rdx, [rax+16]
mov rax, QWORD PTR [rbp-8]
add rax, 16
mov rsi, rdx
mov rdi, rax
call std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*> >, std::is_move_constructible<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*>, std::is_move_assignable<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*> >::value, void>::type std::swap<std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*>(std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*&, std::pair<long, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >*&)
nop
leave
ret
std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::get_allocator() const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-16]
mov rdi, rax
call std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_M_get_Tp_allocator() const
mov rdx, rax
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::allocator<std::__cxx11::sub_match<char const*> >::allocator(std::allocator<std::__cxx11::sub_match<char const*> > const&)
mov rax, QWORD PTR [rbp-8]
leave
ret
std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_Vector_impl::_M_swap_data(std::_Vector_base<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::_Vector_impl&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<std::__cxx11::sub_match<char const*>*> >, std::is_move_constructible<std::__cxx11::sub_match<char const*>*>, std::is_move_assignable<std::__cxx11::sub_match<char const*>*> >::value, void>::type std::swap<std::__cxx11::sub_match<char const*>*>(std::__cxx11::sub_match<char const*>*&, std::__cxx11::sub_match<char const*>*&)
mov rax, QWORD PTR [rbp-16]
lea rdx, [rax+8]
mov rax, QWORD PTR [rbp-8]
add rax, 8
mov rsi, rdx
mov rdi, rax
call std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<std::__cxx11::sub_match<char const*>*> >, std::is_move_constructible<std::__cxx11::sub_match<char const*>*>, std::is_move_assignable<std::__cxx11::sub_match<char const*>*> >::value, void>::type std::swap<std::__cxx11::sub_match<char const*>*>(std::__cxx11::sub_match<char const*>*&, std::__cxx11::sub_match<char const*>*&)
mov rax, QWORD PTR [rbp-16]
lea rdx, [rax+16]
mov rax, QWORD PTR [rbp-8]
add rax, 16
mov rsi, rdx
mov rdi, rax
call std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<std::__cxx11::sub_match<char const*>*> >, std::is_move_constructible<std::__cxx11::sub_match<char const*>*>, std::is_move_assignable<std::__cxx11::sub_match<char const*>*> >::value, void>::type std::swap<std::__cxx11::sub_match<char const*>*>(std::__cxx11::sub_match<char const*>*&, std::__cxx11::sub_match<char const*>*&)
nop
leave
ret
void std::__alloc_on_move<std::allocator<std::__cxx11::sub_match<char const*> > >(std::allocator<std::__cxx11::sub_match<char const*> >&, std::allocator<std::__cxx11::sub_match<char const*> >&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov rdx, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rbp-24]
mov rsi, rdx
mov rdi, rax
call void std::__do_alloc_on_move<std::allocator<std::__cxx11::sub_match<char const*> > >(std::allocator<std::__cxx11::sub_match<char const*> >&, std::allocator<std::__cxx11::sub_match<char const*> >&, std::integral_constant<bool, true>)
nop
leave
ret
std::unique_ptr<bool [], std::default_delete<bool []> >::operator[](unsigned long) const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::unique_ptr<bool [], std::default_delete<bool []> >::get() const
mov rdx, rax
mov rax, QWORD PTR [rbp-16]
add rax, rdx
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_rep_once_more(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long):
push rbp
mov rbp, rsp
sub rsp, 64
mov QWORD PTR [rbp-40], rdi
mov eax, esi
mov QWORD PTR [rbp-56], rdx
mov BYTE PTR [rbp-44], al
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+56]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-56]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long) const
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-40]
lea rdx, [rax+72]
mov rax, QWORD PTR [rbp-56]
mov rsi, rax
mov rdi, rdx
call std::vector<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::operator[](unsigned long)
mov QWORD PTR [rbp-16], rax
mov rax, QWORD PTR [rbp-16]
mov eax, DWORD PTR [rax+8]
test eax, eax
je .L1765
mov rax, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+24]
cmp rdx, rax
je .L1766
.L1765:
mov rax, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rax]
mov QWORD PTR [rbp-32], rax
mov QWORD PTR [rbp-24], rdx
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-16]
mov QWORD PTR [rax], rdx
mov rax, QWORD PTR [rbp-16]
mov DWORD PTR [rax+8], 1
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+16]
movzx ecx, BYTE PTR [rbp-44]
mov rax, QWORD PTR [rbp-40]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
lea rdx, [rbp-32]
mov rax, QWORD PTR [rbp-16]
mov rsi, rdx
mov rdi, rax
call std::pair<char const*, int>::operator=(std::pair<char const*, int> const&)
nop
jmp .L1768
.L1766:
mov rax, QWORD PTR [rbp-16]
mov eax, DWORD PTR [rax+8]
cmp eax, 1
jg .L1768
mov rax, QWORD PTR [rbp-16]
mov eax, DWORD PTR [rax+8]
lea edx, [rax+1]
mov rax, QWORD PTR [rbp-16]
mov DWORD PTR [rax+8], edx
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+16]
movzx ecx, BYTE PTR [rbp-44]
mov rax, QWORD PTR [rbp-40]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Match_mode, long)
mov rax, QWORD PTR [rbp-16]
mov eax, DWORD PTR [rax+8]
lea edx, [rax-1]
mov rax, QWORD PTR [rbp-16]
mov DWORD PTR [rax+8], edx
.L1768:
nop
leave
ret
std::pair<char const*, char const*>::operator=(std::pair<char const*, char const*> const&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], rdx
mov rax, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax+8], rdx
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_at_begin() const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+32]
cmp rdx, rax
jne .L1772
mov esi, 128
mov edi, 1
call std::regex_constants::operator|(std::regex_constants::match_flag_type, std::regex_constants::match_flag_type)
mov edx, eax
mov rax, QWORD PTR [rbp-8]
mov eax, DWORD PTR [rax+136]
mov esi, edx
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::match_flag_type, std::regex_constants::match_flag_type)
test eax, eax
jne .L1772
mov eax, 1
jmp .L1773
.L1772:
mov eax, 0
.L1773:
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_at_end() const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+40]
cmp rdx, rax
jne .L1776
mov rax, QWORD PTR [rbp-8]
mov eax, DWORD PTR [rax+136]
mov esi, 2
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::match_flag_type, std::regex_constants::match_flag_type)
test eax, eax
jne .L1776
mov eax, 1
jmp .L1777
.L1776:
mov eax, 0
.L1777:
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_word_boundary() const:
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-40], rdi
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+32]
cmp rdx, rax
jne .L1780
mov rax, QWORD PTR [rbp-40]
mov eax, DWORD PTR [rax+136]
mov esi, 4
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::match_flag_type, std::regex_constants::match_flag_type)
test eax, eax
je .L1780
mov eax, 1
jmp .L1781
.L1780:
mov eax, 0
.L1781:
test al, al
je .L1782
mov eax, 0
jmp .L1783
.L1782:
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+40]
cmp rdx, rax
jne .L1784
mov rax, QWORD PTR [rbp-40]
mov eax, DWORD PTR [rax+136]
mov esi, 8
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::match_flag_type, std::regex_constants::match_flag_type)
test eax, eax
je .L1784
mov eax, 1
jmp .L1785
.L1784:
mov eax, 0
.L1785:
test al, al
je .L1786
mov eax, 0
jmp .L1783
.L1786:
mov BYTE PTR [rbp-1], 0
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+32]
cmp rdx, rax
jne .L1787
mov rax, QWORD PTR [rbp-40]
mov eax, DWORD PTR [rax+136]
mov esi, 128
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::match_flag_type, std::regex_constants::match_flag_type)
test eax, eax
je .L1788
.L1787:
mov eax, 1
jmp .L1789
.L1788:
mov eax, 0
.L1789:
test al, al
je .L1790
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+24]
mov QWORD PTR [rbp-16], rax
mov rax, QWORD PTR [rbp-16]
mov esi, 1
mov rdi, rax
call char const* std::prev<char const*>(char const*, std::iterator_traits<char const*>::difference_type)
movzx eax, BYTE PTR [rax]
movsx edx, al
mov rax, QWORD PTR [rbp-40]
mov esi, edx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_is_word(char) const
test al, al
je .L1790
mov BYTE PTR [rbp-1], 1
.L1790:
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+40]
cmp rdx, rax
je .L1792
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+24]
movzx eax, BYTE PTR [rax]
movsx edx, al
mov rax, QWORD PTR [rbp-40]
mov esi, edx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_is_word(char) const
test al, al
je .L1792
mov eax, 1
jmp .L1793
.L1792:
mov eax, 0
.L1793:
mov BYTE PTR [rbp-17], al
movzx eax, BYTE PTR [rbp-1]
cmp al, BYTE PTR [rbp-17]
setne al
.L1783:
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_lookahead(long):
push rbp
mov rbp, rsp
push rbx
sub rsp, 200
mov QWORD PTR [rbp-200], rdi
mov QWORD PTR [rbp-208], rsi
mov rdx, QWORD PTR [rbp-200]
lea rax, [rbp-48]
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::vector(std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&)
mov rax, QWORD PTR [rbp-200]
mov r8d, DWORD PTR [rax+136]
mov rax, QWORD PTR [rbp-200]
mov rdi, QWORD PTR [rax+48]
mov rax, QWORD PTR [rbp-200]
mov rdx, QWORD PTR [rax+40]
mov rax, QWORD PTR [rbp-200]
mov rsi, QWORD PTR [rax+24]
lea rcx, [rbp-48]
lea rax, [rbp-192]
mov r9d, r8d
mov r8, rdi
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_Executor(char const*, char const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >&, std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> > const&, std::regex_constants::match_flag_type)
mov rax, QWORD PTR [rbp-208]
mov QWORD PTR [rbp-64], rax
lea rax, [rbp-192]
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::_M_search_from_first()
test al, al
je .L1795
mov QWORD PTR [rbp-24], 0
.L1798:
lea rax, [rbp-48]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::size() const
cmp QWORD PTR [rbp-24], rax
setb al
test al, al
je .L1796
mov rdx, QWORD PTR [rbp-24]
lea rax, [rbp-48]
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::operator[](unsigned long)
movzx eax, BYTE PTR [rax+16]
test al, al
je .L1797
mov rdx, QWORD PTR [rbp-24]
lea rax, [rbp-48]
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::operator[](unsigned long)
mov rbx, rax
mov rax, QWORD PTR [rbp-200]
mov rdx, QWORD PTR [rbp-24]
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::operator[](unsigned long)
mov rsi, rbx
mov rdi, rax
call std::__cxx11::sub_match<char const*>::operator=(std::__cxx11::sub_match<char const*> const&)
.L1797:
add QWORD PTR [rbp-24], 1
jmp .L1798
.L1796:
mov ebx, 1
jmp .L1799
.L1795:
mov ebx, 0
.L1799:
lea rax, [rbp-192]
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::~_Executor() [complete object destructor]
lea rax, [rbp-48]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::~vector() [complete object destructor]
mov eax, ebx
jmp .L1805
mov rbx, rax
lea rax, [rbp-192]
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, false>::~_Executor() [complete object destructor]
jmp .L1802
mov rbx, rax
.L1802:
lea rax, [rbp-48]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::~vector() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1805:
add rsp, 200
pop rbx
pop rbp
ret
std::__detail::_State<char>::_M_matches(char) const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov eax, esi
mov BYTE PTR [rbp-12], al
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call std::__detail::_State<char>::_M_get_matcher() const
mov rdx, rax
movsx eax, BYTE PTR [rbp-12]
mov esi, eax
mov rdi, rdx
call std::function<bool (char)>::operator()(char) const
leave
ret
std::__detail::_Backref_matcher<char const*, std::__cxx11::regex_traits<char> >::_Backref_matcher(bool, std::__cxx11::regex_traits<char> const&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov eax, esi
mov QWORD PTR [rbp-24], rdx
mov BYTE PTR [rbp-12], al
mov rax, QWORD PTR [rbp-8]
movzx edx, BYTE PTR [rbp-12]
mov BYTE PTR [rax], dl
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rbp-24]
mov QWORD PTR [rax+8], rdx
nop
pop rbp
ret
std::__detail::_Backref_matcher<char const*, std::__cxx11::regex_traits<char> >::_M_apply(char const*, char const*, char const*, char const*)::{lambda(char, char)#1}::operator()(char, char) const:
push rbp
mov rbp, rsp
push rbx
sub rsp, 24
mov QWORD PTR [rbp-24], rdi
mov eax, esi
mov BYTE PTR [rbp-28], al
mov eax, edx
mov BYTE PTR [rbp-32], al
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+8]
movsx edx, BYTE PTR [rbp-28]
mov esi, edx
mov rdi, rax
call std::ctype<char>::tolower(char) const
mov ebx, eax
mov rax, QWORD PTR [rbp-24]
mov rax, QWORD PTR [rax+8]
movsx edx, BYTE PTR [rbp-32]
mov esi, edx
mov rdi, rax
call std::ctype<char>::tolower(char) const
cmp bl, al
sete al
add rsp, 24
pop rbx
pop rbp
ret
std::__detail::_Backref_matcher<char const*, std::__cxx11::regex_traits<char> >::_M_apply(char const*, char const*, char const*, char const*):
push rbp
mov rbp, rsp
push r13
push r12
push rbx
sub rsp, 72
mov QWORD PTR [rbp-56], rdi
mov QWORD PTR [rbp-64], rsi
mov QWORD PTR [rbp-72], rdx
mov QWORD PTR [rbp-80], rcx
mov QWORD PTR [rbp-88], r8
mov rax, QWORD PTR [rbp-56]
movzx eax, BYTE PTR [rax]
xor eax, 1
test al, al
je .L1812
mov rcx, QWORD PTR [rbp-88]
mov rdx, QWORD PTR [rbp-80]
mov rsi, QWORD PTR [rbp-72]
mov rax, QWORD PTR [rbp-64]
mov rdi, rax
call bool std::__equal4<char const*, char const*>(char const*, char const*, char const*, char const*)
jmp .L1816
.L1812:
mov rax, QWORD PTR [rbp-56]
mov rdx, QWORD PTR [rax+8]
lea rax, [rbp-48]
mov rsi, rdx
mov rdi, rax
call std::__cxx11::regex_traits<char>::getloc() const
lea rax, [rbp-48]
mov rdi, rax
call std::ctype<char> const& std::use_facet<std::ctype<char> >(std::locale const&)
mov QWORD PTR [rbp-40], rax
lea rax, [rbp-48]
mov rdi, rax
call std::locale::~locale() [complete object destructor]
mov r12, QWORD PTR [rbp-56]
mov r13, QWORD PTR [rbp-40]
mov rcx, QWORD PTR [rbp-88]
mov rdx, QWORD PTR [rbp-80]
mov rsi, QWORD PTR [rbp-72]
mov rax, QWORD PTR [rbp-64]
mov r8, r12
mov r9, r13
mov rdi, rax
call bool std::__equal4<char const*, char const*, std::__detail::_Backref_matcher<char const*, std::__cxx11::regex_traits<char> >::_M_apply(char const*, char const*, char const*, char const*)::{lambda(char, char)#1}>(char const*, std::__detail::_Backref_matcher<char const*, std::__cxx11::regex_traits<char> >::_M_apply(char const*, char const*, char const*, char const*)::{lambda(char, char)#1}, char const*, char const*, std::__detail::_Backref_matcher<char const*, std::__cxx11::regex_traits<char> >::_M_apply(char const*, char const*, char const*, char const*)::{lambda(char, char)#1})
nop
jmp .L1816
mov rbx, rax
lea rax, [rbp-48]
mov rdi, rax
call std::locale::~locale() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1816:
add rsp, 72
pop rbx
pop r12
pop r13
pop rbp
ret
void std::__do_alloc_on_copy<std::allocator<std::__cxx11::sub_match<char const*> > >(std::allocator<std::__cxx11::sub_match<char const*> >&, std::allocator<std::__cxx11::sub_match<char const*> > const&, std::integral_constant<bool, false>):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
nop
pop rbp
ret
__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::__normal_iterator(std::__cxx11::sub_match<char const*> const* const&):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-8]
mov QWORD PTR [rax], rdx
nop
pop rbp
ret
std::__cxx11::sub_match<char const*>* std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*> >(__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::__cxx11::sub_match<char const*>*, std::allocator<std::__cxx11::sub_match<char const*> >&):
push rbp
mov rbp, rsp
sub rsp, 32
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov QWORD PTR [rbp-24], rdx
mov QWORD PTR [rbp-32], rcx
mov rdx, QWORD PTR [rbp-24]
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call std::__cxx11::sub_match<char const*>* std::uninitialized_copy<__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::__cxx11::sub_match<char const*>*>(__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, std::__cxx11::sub_match<char const*>*)
leave
ret
__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > std::__miter_base<__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >(__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > std::__copy_move_a2<false, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >(__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >):
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 48
mov QWORD PTR [rbp-40], rdi
mov QWORD PTR [rbp-48], rsi
mov QWORD PTR [rbp-56], rdx
mov rax, QWORD PTR [rbp-56]
mov rdi, rax
call std::__cxx11::sub_match<char const*>* std::__niter_base<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >(__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >)
mov r12, rax
mov rax, QWORD PTR [rbp-48]
mov rdi, rax
call std::__cxx11::sub_match<char const*> const* std::__niter_base<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >(__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >)
mov rbx, rax
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__cxx11::sub_match<char const*> const* std::__niter_base<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >(__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*> const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >)
mov rdx, r12
mov rsi, rbx
mov rdi, rax
call std::__cxx11::sub_match<char const*>* std::__copy_move_a<false, std::__cxx11::sub_match<char const*> const*, std::__cxx11::sub_match<char const*>*>(std::__cxx11::sub_match<char const*> const*, std::__cxx11::sub_match<char const*> const*, std::__cxx11::sub_match<char const*>*)
mov QWORD PTR [rbp-24], rax
lea rdx, [rbp-24]
lea rax, [rbp-32]
mov rsi, rdx
mov rdi, rax
call __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >::__normal_iterator(std::__cxx11::sub_match<char const*>* const&)
mov rax, QWORD PTR [rbp-32]
add rsp, 48
pop rbx
pop r12
pop rbp
ret
void std::_Destroy<__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >(__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rdx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rdx
mov rdi, rax
call void std::_Destroy_aux<true>::__destroy<__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > > >(__gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >, __gnu_cxx::__normal_iterator<std::__cxx11::sub_match<char const*>*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > >)
nop
leave
ret
std::__cxx11::sub_match<char const*>* std::__miter_base<std::__cxx11::sub_match<char const*>*>(std::__cxx11::sub_match<char const*>*):
push rbp
mov rbp, rsp
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
pop rbp
ret
std::__cxx11::sub_match<char const*>* std::__copy_move_a2<false, std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*>(std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*):
push rbp
mov rbp, rsp
push r12
push rbx
sub rsp, 32
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov QWORD PTR [rbp-40], rdx
mov rax, QWORD PTR [rbp-40]
mov rdi, rax
call std::__cxx11::sub_match<char const*>* std::__niter_base<std::__cxx11::sub_match<char const*>*>(std::__cxx11::sub_match<char const*>*)
mov r12, rax
mov rax, QWORD PTR [rbp-32]
mov rdi, rax
call std::__cxx11::sub_match<char const*>* std::__niter_base<std::__cxx11::sub_match<char const*>*>(std::__cxx11::sub_match<char const*>*)
mov rbx, rax
mov rax, QWORD PTR [rbp-24]
mov rdi, rax
call std::__cxx11::sub_match<char const*>* std::__niter_base<std::__cxx11::sub_match<char const*>*>(std::__cxx11::sub_match<char const*>*)
mov rdx, r12
mov rsi, rbx
mov rdi, rax
call std::__cxx11::sub_match<char const*>* std::__copy_move_a<false, std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*>(std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*)
add rsp, 32
pop rbx
pop r12
pop rbp
ret
std::__cxx11::sub_match<char const*>* std::uninitialized_copy<std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*>(std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*):
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-24], rdi
mov QWORD PTR [rbp-32], rsi
mov QWORD PTR [rbp-40], rdx
mov BYTE PTR [rbp-1], 1
mov rdx, QWORD PTR [rbp-40]
mov rcx, QWORD PTR [rbp-32]
mov rax, QWORD PTR [rbp-24]
mov rsi, rcx
mov rdi, rax
call std::__cxx11::sub_match<char const*>* std::__uninitialized_copy<false>::__uninit_copy<std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*>(std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*, std::__cxx11::sub_match<char const*>*)
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_rep_once_more(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long):
push rbp
mov rbp, rsp
sub rsp, 64
mov QWORD PTR [rbp-40], rdi
mov eax, esi
mov QWORD PTR [rbp-56], rdx
mov BYTE PTR [rbp-44], al
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+56]
lea rdx, [rax+56]
mov rax, QWORD PTR [rbp-56]
mov rsi, rax
mov rdi, rdx
call std::vector<std::__detail::_State<char>, std::allocator<std::__detail::_State<char> > >::operator[](unsigned long) const
mov QWORD PTR [rbp-8], rax
mov rax, QWORD PTR [rbp-40]
lea rdx, [rax+72]
mov rax, QWORD PTR [rbp-56]
mov rsi, rax
mov rdi, rdx
call std::vector<std::pair<char const*, int>, std::allocator<std::pair<char const*, int> > >::operator[](unsigned long)
mov QWORD PTR [rbp-16], rax
mov rax, QWORD PTR [rbp-16]
mov eax, DWORD PTR [rax+8]
test eax, eax
je .L1833
mov rax, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rax]
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+24]
cmp rdx, rax
je .L1834
.L1833:
mov rax, QWORD PTR [rbp-16]
mov rdx, QWORD PTR [rax+8]
mov rax, QWORD PTR [rax]
mov QWORD PTR [rbp-32], rax
mov QWORD PTR [rbp-24], rdx
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-16]
mov QWORD PTR [rax], rdx
mov rax, QWORD PTR [rbp-16]
mov DWORD PTR [rax+8], 1
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+16]
movzx ecx, BYTE PTR [rbp-44]
mov rax, QWORD PTR [rbp-40]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
lea rdx, [rbp-32]
mov rax, QWORD PTR [rbp-16]
mov rsi, rdx
mov rdi, rax
call std::pair<char const*, int>::operator=(std::pair<char const*, int> const&)
nop
jmp .L1836
.L1834:
mov rax, QWORD PTR [rbp-16]
mov eax, DWORD PTR [rax+8]
cmp eax, 1
jg .L1836
mov rax, QWORD PTR [rbp-16]
mov eax, DWORD PTR [rax+8]
lea edx, [rax+1]
mov rax, QWORD PTR [rbp-16]
mov DWORD PTR [rax+8], edx
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+16]
movzx ecx, BYTE PTR [rbp-44]
mov rax, QWORD PTR [rbp-40]
mov esi, ecx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_dfs(std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Match_mode, long)
mov rax, QWORD PTR [rbp-16]
mov eax, DWORD PTR [rax+8]
lea edx, [rax-1]
mov rax, QWORD PTR [rbp-16]
mov DWORD PTR [rax+8], edx
.L1836:
nop
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_at_begin() const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+32]
cmp rdx, rax
jne .L1838
mov esi, 128
mov edi, 1
call std::regex_constants::operator|(std::regex_constants::match_flag_type, std::regex_constants::match_flag_type)
mov edx, eax
mov rax, QWORD PTR [rbp-8]
mov eax, DWORD PTR [rax+112]
mov esi, edx
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::match_flag_type, std::regex_constants::match_flag_type)
test eax, eax
jne .L1838
mov eax, 1
jmp .L1839
.L1838:
mov eax, 0
.L1839:
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_at_end() const:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-8]
mov rax, QWORD PTR [rax+40]
cmp rdx, rax
jne .L1842
mov rax, QWORD PTR [rbp-8]
mov eax, DWORD PTR [rax+112]
mov esi, 2
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::match_flag_type, std::regex_constants::match_flag_type)
test eax, eax
jne .L1842
mov eax, 1
jmp .L1843
.L1842:
mov eax, 0
.L1843:
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_word_boundary() const:
push rbp
mov rbp, rsp
sub rsp, 48
mov QWORD PTR [rbp-40], rdi
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+32]
cmp rdx, rax
jne .L1846
mov rax, QWORD PTR [rbp-40]
mov eax, DWORD PTR [rax+112]
mov esi, 4
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::match_flag_type, std::regex_constants::match_flag_type)
test eax, eax
je .L1846
mov eax, 1
jmp .L1847
.L1846:
mov eax, 0
.L1847:
test al, al
je .L1848
mov eax, 0
jmp .L1849
.L1848:
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+40]
cmp rdx, rax
jne .L1850
mov rax, QWORD PTR [rbp-40]
mov eax, DWORD PTR [rax+112]
mov esi, 8
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::match_flag_type, std::regex_constants::match_flag_type)
test eax, eax
je .L1850
mov eax, 1
jmp .L1851
.L1850:
mov eax, 0
.L1851:
test al, al
je .L1852
mov eax, 0
jmp .L1849
.L1852:
mov BYTE PTR [rbp-1], 0
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+32]
cmp rdx, rax
jne .L1853
mov rax, QWORD PTR [rbp-40]
mov eax, DWORD PTR [rax+112]
mov esi, 128
mov edi, eax
call std::regex_constants::operator&(std::regex_constants::match_flag_type, std::regex_constants::match_flag_type)
test eax, eax
je .L1854
.L1853:
mov eax, 1
jmp .L1855
.L1854:
mov eax, 0
.L1855:
test al, al
je .L1856
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+24]
mov QWORD PTR [rbp-16], rax
mov rax, QWORD PTR [rbp-16]
mov esi, 1
mov rdi, rax
call char const* std::prev<char const*>(char const*, std::iterator_traits<char const*>::difference_type)
movzx eax, BYTE PTR [rax]
movsx edx, al
mov rax, QWORD PTR [rbp-40]
mov esi, edx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_is_word(char) const
test al, al
je .L1856
mov BYTE PTR [rbp-1], 1
.L1856:
mov rax, QWORD PTR [rbp-40]
mov rdx, QWORD PTR [rax+24]
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+40]
cmp rdx, rax
je .L1858
mov rax, QWORD PTR [rbp-40]
mov rax, QWORD PTR [rax+24]
movzx eax, BYTE PTR [rax]
movsx edx, al
mov rax, QWORD PTR [rbp-40]
mov esi, edx
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_is_word(char) const
test al, al
je .L1858
mov eax, 1
jmp .L1859
.L1858:
mov eax, 0
.L1859:
mov BYTE PTR [rbp-17], al
movzx eax, BYTE PTR [rbp-1]
cmp al, BYTE PTR [rbp-17]
setne al
.L1849:
leave
ret
std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_lookahead(long):
push rbp
mov rbp, rsp
push rbx
sub rsp, 184
mov QWORD PTR [rbp-184], rdi
mov QWORD PTR [rbp-192], rsi
mov rdx, QWORD PTR [rbp-184]
lea rax, [rbp-48]
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::vector(std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > > const&)
mov rax, QWORD PTR [rbp-184]
mov r8d, DWORD PTR [rax+112]
mov rax, QWORD PTR [rbp-184]
mov rdi, QWORD PTR [rax+48]
mov rax, QWORD PTR [rbp-184]
mov rdx, QWORD PTR [rax+40]
mov rax, QWORD PTR [rbp-184]
mov rsi, QWORD PTR [rax+24]
lea rcx, [rbp-48]
lea rax, [rbp-176]
mov r9d, r8d
mov r8, rdi
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_Executor(char const*, char const*, std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >&, std::__cxx11::basic_regex<char, std::__cxx11::regex_traits<char> > const&, std::regex_constants::match_flag_type)
mov rax, QWORD PTR [rbp-192]
mov QWORD PTR [rbp-80], rax
lea rax, [rbp-176]
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::_M_search_from_first()
test al, al
je .L1861
mov QWORD PTR [rbp-24], 0
.L1864:
lea rax, [rbp-48]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::size() const
cmp QWORD PTR [rbp-24], rax
setb al
test al, al
je .L1862
mov rdx, QWORD PTR [rbp-24]
lea rax, [rbp-48]
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::operator[](unsigned long)
movzx eax, BYTE PTR [rax+16]
test al, al
je .L1863
mov rdx, QWORD PTR [rbp-24]
lea rax, [rbp-48]
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::operator[](unsigned long)
mov rbx, rax
mov rax, QWORD PTR [rbp-184]
mov rdx, QWORD PTR [rbp-24]
mov rsi, rdx
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::operator[](unsigned long)
mov rsi, rbx
mov rdi, rax
call std::__cxx11::sub_match<char const*>::operator=(std::__cxx11::sub_match<char const*> const&)
.L1863:
add QWORD PTR [rbp-24], 1
jmp .L1864
.L1862:
mov ebx, 1
jmp .L1865
.L1861:
mov ebx, 0
.L1865:
lea rax, [rbp-176]
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::~_Executor() [complete object destructor]
lea rax, [rbp-48]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::~vector() [complete object destructor]
mov eax, ebx
jmp .L1871
mov rbx, rax
lea rax, [rbp-176]
mov rdi, rax
call std::__detail::_Executor<char const*, std::allocator<std::__cxx11::sub_match<char const*> >, std::__cxx11::regex_traits<char>, true>::~_Executor() [complete object destructor]
jmp .L1868
mov rbx, rax
.L1868:
lea rax, [rbp-48]
mov rdi, rax
call std::vector<std::__cxx11::sub_match<char const*>, std::allocator<std::__cxx11::sub_match<char const*> > >::~vector() [complete object destructor]
mov rax, rbx
mov rdi, rax
call _Unwind_Resume
.L1871:
add rsp, 184
pop rbx
pop rbp
ret
std::allocator<std::_Sp_counted_ptr_inplace<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, (__gnu_cxx::_Lock_policy)2> >::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >(std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > > const&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, (__gnu_cxx::_Lock_policy)2> >::new_allocator() [base object constructor]
nop
leave
ret
std::allocator<std::_Sp_counted_ptr_inplace<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, (__gnu_cxx::_Lock_policy)2> >::~allocator() [base object destructor]:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov rax, QWORD PTR [rbp-8]
mov rdi, rax
call __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, (__gnu_cxx::_Lock_policy)2> >::~new_allocator() [base object destructor]
nop
leave
ret
std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, (__gnu_cxx::_Lock_policy)2> >&):
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], rdi
mov QWORD PTR [rbp-16], rsi
mov rax, QWORD PTR [rbp-16]
mov esi, 1
mov rdi, rax
call std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, (__gnu_cxx::_Lock_policy)2> >&, unsigned long)
mov rdx, rax
mov rcx, QWORD PTR [rbp-16]
mov rax, QWORD PTR [rbp-8]
mov rsi, rcx
mov rdi, rax
call std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, (__gnu_cxx::_Lock_policy)2> > >::__allocated_ptr(std::allocator<std::_Sp_counted_ptr_inplace<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, (__gnu_cxx::_Lock_policy)2> >&, std::_Sp_counted_ptr_inplace<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, (__gnu_cxx::_Lock_policy)2>*)
mov rax, QWORD PTR [rbp-8]
leave
ret
std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<std::__detail::_NFA<std::__cxx11::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::__cxx11::regex_traits<char> > >, (__gnu_cxx::_Lock_policy)2> > >::~__allocated_ptr() [base object destructor]: