File akira_3298d203c2acb68c474e5fdad8379181890b4403d6491c523c13730129be3f75.elf
Function:
    00183979
    00183979regex_syntax::ast::parse::ParserI<P>::maybe_parse_ascii_class:
    00183979push rbp
    0018397apush r15
    0018397cpush r14
    0018397epush r13
    00183980push r12
    00183982push rbx
    00183983sub rsp, 88
    00183987mov r12, rsi
    0018398amov rbx, rdi
    0018398dmov rdi, rsi
    00183990call regex_syntax::ast::parse::ParserI<P>::char
    00183995mov [rsp], eax
    00183998cmp eax, 91
    0018399bjne 0x183c93
    001839a1mov rax, [r12]
    001839a5lea r13, [rax+160]
    001839acmov rcx, [rax+176]
    001839b3mov [rsp+16], rcx
    001839b8movups x0, [rax+160]
    001839bfmovaps [rsp], x0
    001839c3mov rdi, r12
    001839c6call regex_syntax::ast::parse::ParserI<P>::bump
    001839cbtest al, al
    001839cdje 0x183c6e
    001839d3mov rdi, r12
    001839d6call regex_syntax::ast::parse::ParserI<P>::char
    001839dbcmp eax, 58
    001839dejne 0x183c6e
    001839e4mov rdi, r12
    001839e7call regex_syntax::ast::parse::ParserI<P>::bump
    001839ectest al, al
    001839eeje 0x183c6e
    001839f4mov rdi, r12
    001839f7call regex_syntax::ast::parse::ParserI<P>::char
    001839fcmov ebp, eax
    001839fecmp eax, 94
    00183a01jne 0x183a13
    00183a03mov rdi, r12
    00183a06call regex_syntax::ast::parse::ParserI<P>::bump
    00183a0btest al, al
    00183a0dje 0x183c6e
    00183a13
    00183a13loc_183a13:
    00183a13mov r14, [r13]
    00183a17
    00183a17loc_183a17:
    00183a17mov rdi, r12
    00183a1acall regex_syntax::ast::parse::ParserI<P>::char
    00183a1fcmp eax, 58
    00183a22je 0x183a30
    00183a24mov rdi, r12
    00183a27call regex_syntax::ast::parse::ParserI<P>::bump
    00183a2ctest al, al
    00183a2ejne 0x183a17
    00183a30
    00183a30loc_183a30:
    00183a30mov rcx, [r13]
    00183a34mov rsi, [r12+16]
    00183a39cmp rcx, rsi
    00183a3cje 0x183c6e
    00183a42mov rdi, [r12+8]
    00183a47lea r8, [rip+0x6ebaa]
    00183a4emov rdx, r14
    00183a51call core::str::traits::_<impl core::ops::index::Index<I> for str>::index
    00183a56mov r14, rax
    00183a59mov r15, rdx
    00183a5clea rsi, [rip-0x12bee0]
    00183a63push 2
    00183a65pop rdx
    00183a66mov rdi, r12
    00183a69call regex_syntax::ast::parse::ParserI<P>::bump_if
    00183a6etest al, al
    00183a70je 0x183c6e
    00183a76lea rdx, [rip-0x12b872]
    00183a7dpush 5
    00183a7fpop rcx
    00183a80mov rdi, r14
    00183a83mov rsi, r15
    00183a86call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00183a8btest al, al
    00183a8dje 0x183a96
    00183a8fxor ecx, ecx
    00183a91jmp 0x183c15
    00183a96
    00183a96loc_183a96:
    00183a96lea rdx, [rip-0x12b88d]
    00183a9dpush 5
    00183a9fpop rcx
    00183aa0mov rdi, r14
    00183aa3mov rsi, r15
    00183aa6call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00183aabmov cl, 1
    00183aadtest al, al
    00183aafjne 0x183c15
    00183ab5lea rdx, [rip-0x12b8a7]
    00183abcpush 5
    00183abepop rcx
    00183abfmov rdi, r14
    00183ac2mov rsi, r15
    00183ac5call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00183acamov cl, 2
    00183acctest al, al
    00183acejne 0x183c15
    00183ad4lea rdx, [rip-0x12b8c1]
    00183adbpush 5
    00183addpop rcx
    00183ademov rdi, r14
    00183ae1mov rsi, r15
    00183ae4call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00183ae9mov cl, 3
    00183aebtest al, al
    00183aedjne 0x183c15
    00183af3lea rdx, [rip-0x12b8db]
    00183afapush 5
    00183afcpop rcx
    00183afdmov rdi, r14
    00183b00mov rsi, r15
    00183b03call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00183b08mov cl, 4
    00183b0atest al, al
    00183b0cjne 0x183c15
    00183b12lea rdx, [rip-0x12b8f5]
    00183b19push 5
    00183b1bpop rcx
    00183b1cmov rdi, r14
    00183b1fmov rsi, r15
    00183b22call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00183b27mov cl, 5
    00183b29test al, al
    00183b2bjne 0x183c15
    00183b31lea rdx, [rip-0x12b90f]
    00183b38push 5
    00183b3apop rcx
    00183b3bmov rdi, r14
    00183b3emov rsi, r15
    00183b41call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00183b46mov cl, 6
    00183b48test al, al
    00183b4ajne 0x183c15
    00183b50lea rdx, [rip-0x12b929]
    00183b57push 5
    00183b59pop rcx
    00183b5amov rdi, r14
    00183b5dmov rsi, r15
    00183b60call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00183b65mov cl, 7
    00183b67test al, al
    00183b69jne 0x183c15
    00183b6flea rdx, [rip-0x12b943]
    00183b76push 5
    00183b78pop rcx
    00183b79mov rdi, r14
    00183b7cmov rsi, r15
    00183b7fcall _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00183b84mov cl, 8
    00183b86test al, al
    00183b88jne 0x183c15
    00183b8elea rdx, [rip-0x12b95d]
    00183b95push 5
    00183b97pop rcx
    00183b98mov rdi, r14
    00183b9bmov rsi, r15
    00183b9ecall _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00183ba3mov cl, 9
    00183ba5test al, al
    00183ba7jne 0x183c15
    00183ba9lea rdx, [rip-0x12b973]
    00183bb0push 5
    00183bb2pop rcx
    00183bb3mov rdi, r14
    00183bb6mov rsi, r15
    00183bb9call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00183bbemov cl, 10
    00183bc0test al, al
    00183bc2jne 0x183c15
    00183bc4lea rdx, [rip-0x12b989]
    00183bcbpush 5
    00183bcdpop rcx
    00183bcemov rdi, r14
    00183bd1mov rsi, r15
    00183bd4call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00183bd9mov cl, 11
    00183bdbtest al, al
    00183bddjne 0x183c15
    00183bdflea rdx, [rip-0x149bd2]
    00183be6push 4
    00183be8pop rcx
    00183be9mov rdi, r14
    00183becmov rsi, r15
    00183befcall _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00183bf4mov cl, 12
    00183bf6test al, al
    00183bf8jne 0x183c15
    00183bfalea rdx, [rip-0x12b9ba]
    00183c01push 6
    00183c03pop rcx
    00183c04mov rdi, r14
    00183c07mov rsi, r15
    00183c0acall _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00183c0fmov cl, 13
    00183c11test al, al
    00183c13je 0x183c6e
    00183c15
    00183c15loc_183c15:
    00183c15cmp ebp, 94
    00183c18mov rax, [rsp+16]
    00183c1dmov [rsp+48], rax
    00183c22movaps x0, [rsp]
    00183c26movaps [rsp+32], x0
    00183c2bmov rax, [r13+16]
    00183c2fmov [rsp+72], rax
    00183c34movups x1, [r13]
    00183c39movups [rsp+56], x1
    00183c3emovups [rbx], x0
    00183c41mov rax, [rsp+64]
    00183c46mov [rbx+32], rax
    00183c4amov rax, [rsp+72]
    00183c4fmov [rbx+40], rax
    00183c53mov rax, [rsp+48]
    00183c58mov [rbx+16], rax
    00183c5cmov rax, [rsp+56]
    00183c61mov [rbx+24], rax
    00183c65mov [rbx+48], cl
    00183c68sete [rbx+49]
    00183c6cjmp 0x183c84
    00183c6e
    00183c6eloc_183c6e:
    00183c6emov rax, [rsp+16]
    00183c73mov [r13+16], rax
    00183c77movaps x0, [rsp]
    00183c7bmovups [r13], x0
    00183c80mov [rbx+49], 2
    00183c84
    00183c84loc_183c84:
    00183c84add rsp, 88
    00183c88pop rbx
    00183c89pop r12
    00183c8bpop r13
    00183c8dpop r14
    00183c8fpop r15
    00183c91pop rbp
    00183c92ret
    00183c93
    00183c93loc_183c93:
    00183c93lea rdx, [rsp+32]
    00183c98and [rdx], 0
    00183c9clea rsi, [rip-0x149caf]
    00183ca3lea rcx, [rip+0x6e936]
    00183caamov rdi, rsp
    00183cadcall core::panicking::assert_failed
    00183cb2ud2
    00183979
    00183cb4
    00183cb4regex_syntax::ast::ClassSetUnion::push:
    00183cb4push r15
    00183cb6push r14
    00183cb8push rbx
    00183cb9mov r14, rsi
    00183cbcmov rbx, rdi
    00183cbfmov r15, [rdi+16]
    00183cc3test r15, r15
    00183cc6jne 0x183cdf
    00183cc8mov rdi, r14
    00183ccbcall regex_syntax::ast::ClassSetItem::span
    00183cd0movups x0, [rax]
    00183cd3movups [rbx+24], x0
    00183cd7mov rax, [rax+16]
    00183cdbmov [rbx+40], rax
    00183cdf
    00183cdfloc_183cdf:
    00183cdfmov rdi, r14
    00183ce2call regex_syntax::ast::ClassSetItem::span
    00183ce7movups x0, [rax+24]
    00183cebmovups [rbx+48], x0
    00183cefmov rax, [rax+40]
    00183cf3mov [rbx+64], rax
    00183cf7cmp r15, [rbx+8]
    00183cfbjne 0x183d0c
    00183cfdmov rdi, rbx
    00183d00mov rsi, r15
    00183d03call alloc::raw_vec::RawVec<T,A>::reserve_for_push
    00183d08mov r15, [rbx+16]
    00183d0c
    00183d0cloc_183d0c:
    00183d0cimul rdi, r15, 160
    00183d13add rdi, [rbx]
    00183d16mov edx, 160
    00183d1bmov rsi, r14
    00183d1ecall [rip+0x8ddfc]
    00183d24inc r15
    00183d27mov [rbx+16], r15
    00183d2bpop rbx
    00183d2cpop r14
    00183d2epop r15
    00183d30ret
    00183cb4
    00183d31
    00183d31regex_syntax::ast::parse::ParserI<P>::push_class_open:
    00183d31push rbp
    00183d32push r15
    00183d34push r14
    00183d36push r13
    00183d38push r12
    00183d3apush rbx
    00183d3bsub rsp, 648
    00183d42mov r14, rdx
    00183d45mov r15, rsi
    00183d48mov rbx, rdi
    00183d4bmov rdi, rsi
    00183d4ecall regex_syntax::ast::parse::ParserI<P>::char
    00183d53mov [rsp+72], eax
    00183d57cmp eax, 91
    00183d5ajne 0x183e96
    00183d60lea r12, [rsp+272]
    00183d68mov rdi, r12
    00183d6bmov rsi, r15
    00183d6ecall regex_syntax::ast::parse::ParserI<P>::parse_set_class_open
    00183d73mov r13l, [r12+200]
    00183d7bcmp r13l, 0x110009
    00183d82jne 0x183dc2
    00183d84push 16
    00183d86pop rax
    00183d87lea rdx, [rsp+72]
    00183d8clea rsi, [rsp+272]
    00183d94mov rcx, rax
    00183d97mov rdi, rdx
    00183d9arep movsq [rdi], [rsi]
    00183d9dmov rcx, rax
    00183da0mov rdi, rbx
    00183da3mov rsi, rdx
    00183da6rep movsq [rdi], [rsi]
    00183da9mov rdi, r14
    00183dacadd rsp, 648
    00183db3pop rbx
    00183db4pop r12
    00183db6pop r13
    00183db8pop r14
    00183dbapop r15
    00183dbcpop rbp
    00183dbdjmp 0x17a737
    00183dc2
    00183dc2loc_183dc2:
    00183dc2lea rdi, [rsp+72]
    00183dc7lea rsi, [rsp+272]
    00183dcfmov r12, [rip+0x8dd4a]
    00183dd6mov edx, 200
    00183ddbcall r12
    00183ddemov rax, r12
    00183de1lea r12, [rsp+476]
    00183de9push 21
    00183debpop rcx
    00183declea rbp, [rsp+564]
    00183df4mov rdi, rbp
    00183df7mov rsi, r12
    00183dfarep movsd [rdi], [rsi]
    00183dfclea rdi, [rsp+344]
    00183e04mov edx, 200
    00183e09lea rsi, [rsp+72]
    00183e0ecall rax
    00183e10mov rax, [rbp]
    00183e14mov [r12+72], rax
    00183e19mov eax, [rbp+8]
    00183e1cmov [r12+80], eax
    00183e21lea rsi, [rsp+576]
    00183e29push 18
    00183e2bpop rcx
    00183e2cmov rdi, rsp
    00183e2frep movsd [rdi], [rsi]
    00183e31mov rdi, [r15]
    00183e34add rdi, 64
    00183e38lea rsi, [rip+0x6e3e1]
    00183e3fcall core::cell::RefCell<T>::borrow_mut
    00183e44mov r15, rdx
    00183e47push 9
    00183e49pop rbp
    00183e4alea rdx, [rsp+272]
    00183e52mov rcx, rbp
    00183e55mov rdi, rdx
    00183e58mov rsi, r14
    00183e5brep movsq [rdi], [rsi]
    00183e5emov [r12+68], r13l
    00183e63mov rdi, rax
    00183e66mov rsi, rdx
    00183e69call alloc::vec::Vec<T,A>::push
    00183e6einc [r15]
    00183e71lea rdi, [rbx+8]
    00183e75mov rcx, rbp
    00183e78mov rsi, rsp
    00183e7brep movsq [rdi], [rsi]
    00183e7emov [rbx], 34
    00183e84add rsp, 648
    00183e8bpop rbx
    00183e8cpop r12
    00183e8epop r13
    00183e90pop r14
    00183e92pop r15
    00183e94pop rbp
    00183e95ret
    00183e96
    00183e96loc_183e96:
    00183e96lea rdx, [rsp+272]
    00183e9eand [rdx], 0
    00183ea2lea rsi, [rip-0x149eb5]
    00183ea9lea rcx, [rip+0x6e358]
    00183eb0lea rdi, [rsp+72]
    00183eb5call core::panicking::assert_failed
    00183ebaud2
    00183d31
    00183ebc
    00183ebcregex_syntax::ast::parse::ParserI<P>::bump_if:
    00183ebcpush rbp
    00183ebdpush r15
    00183ebfpush r14
    00183ec1push rbx
    00183ec2push rax
    00183ec3mov r14, rdx
    00183ec6mov r15, rsi
    00183ec9mov rbx, rdi
    00183eccmov rax, [rdi]
    00183ecfmov rdi, [rdi+8]
    00183ed3mov rsi, [rbx+16]
    00183ed7mov rdx, [rax+160]
    00183edelea rcx, [rip+0x6e1bb]
    00183ee5call core::str::traits::_<impl core::ops::index::Index<I> for str>::index
    00183eeamov rdi, rax
    00183eedmov rsi, rdx
    00183ef0mov rdx, r15
    00183ef3mov rcx, r14
    00183ef6call core::slice::_<impl [T]>::starts_with
    00183efbmov ebp, eax
    00183efdtest al, al
    00183effje 0x183f2c
    00183f01mov rdi, r15
    00183f04mov rsi, r14
    00183f07cmp r14, 32
    00183f0bjae 0x183f14
    00183f0dcall core::str::count::char_count_general_case
    00183f12jmp 0x183f19
    00183f14
    00183f14loc_183f14:
    00183f14call core::str::count::do_count_chars
    00183f19
    00183f19loc_183f19:
    00183f19mov r14, rax
    00183f1c
    00183f1cloc_183f1c:
    00183f1csub r14, 1
    00183f20jb 0x183f2c
    00183f22mov rdi, rbx
    00183f25call regex_syntax::ast::parse::ParserI<P>::bump
    00183f2ajmp 0x183f1c
    00183f2c
    00183f2cloc_183f2c:
    00183f2cmov eax, ebp
    00183f2eadd rsp, 8
    00183f32pop rbx
    00183f33pop r14
    00183f35pop r15
    00183f37pop rbp
    00183f38ret
    00183ebc
    00183f39
    00183f39regex_syntax::ast::parse::ParserI<P>::push_class_op:
    00183f39push rbp
    00183f3apush r15
    00183f3cpush r14
    00183f3epush r12
    00183f40push rbx
    00183f41sub rsp, 448
    00183f48mov ebp, edx
    00183f4amov r14, rsi
    00183f4dmov rbx, rdi
    00183f50mov r12, rsp
    00183f53mov rdi, r12
    00183f56mov rsi, rcx
    00183f59call regex_syntax::ast::ClassSetUnion::into_item
    00183f5elea r15, [rsp+160]
    00183f66mov rdi, r15
    00183f69mov rsi, r14
    00183f6cmov rdx, r12
    00183f6fcall regex_syntax::ast::parse::ParserI<P>::pop_class_op
    00183f74lea rdi, [r14+64]
    00183f78lea rsi, [rip+0x6e379]
    00183f7fcall core::cell::RefCell<T>::borrow_mut
    00183f84mov r12, rdx
    00183f87mov [r15+160], bpl
    00183f8emov [r15+272], 0x110009
    00183f99mov rdi, rax
    00183f9cmov rsi, r15
    00183f9fcall alloc::vec::Vec<T,A>::push
    00183fa4inc [r12]
    00183fa8mov rax, [r14+176]
    00183fafmov [r15+40], rax
    00183fb3movups x0, [r14+160]
    00183fbbmovups [r15+24], x0
    00183fc0movups x0, [r14+160]
    00183fc8movaps [r15], x0
    00183fccmov rax, [r14+176]
    00183fd3mov [r15+16], rax
    00183fd7xorps x0, x0
    00183fdamovups [rbx+8], x0
    00183fdemovaps x0, [r15]
    00183fe2mov rax, [r15+16]
    00183fe6mov rcx, [r15+24]
    00183feamov rdx, [r15+32]
    00183feemov rsi, [r15+40]
    00183ff2movups [rbx+24], x0
    00183ff6mov [rbx+40], rax
    00183ffamov [rbx+48], rcx
    00183ffemov [rbx+56], rdx
    00184002mov [rbx+64], rsi
    00184006mov [rbx], 8
    0018400dadd rsp, 448
    00184014pop rbx
    00184015pop r12
    00184017pop r14
    00184019pop r15
    0018401bpop rbp
    0018401cret
    00183f39
    0018401d
    0018401dregex_syntax::ast::ClassSetUnion::into_item:
    0018401dpush rbp
    0018401epush r15
    00184020push r14
    00184022push rbx
    00184023push rax
    00184024mov rbx, rsi
    00184027mov r14, rdi
    0018402amov rax, [rsi+16]
    0018402etest rax, rax
    00184031je 0x184074
    00184033cmp rax, 1
    00184037jne 0x1840ab
    00184039and [rbx+16], 0
    0018403emov rsi, [rbx]
    00184041mov ebp, [rsi+152]
    00184047cmp ebp, 0x110008
    0018404dje 0x1840cd
    0018404fmov r15l, [rsi+156]
    00184056mov edx, 152
    0018405bmov rdi, r14
    0018405ecall [rip+0x8dabc]
    00184064mov [r14+152], ebp
    0018406bmov [r14+156], r15l
    00184072jmp 0x184099
    00184074
    00184074loc_184074:
    00184074movups x0, [rbx+24]
    00184078movups x1, [rbx+40]
    0018407cmovups x2, [rbx+56]
    00184080movups [r14+32], x2
    00184085movups [r14+16], x1
    0018408amovups [r14], x0
    0018408emov [r14+152], 0x110000
    00184099
    00184099loc_184099:
    00184099mov rdi, rbx
    0018409cadd rsp, 8
    001840a0pop rbx
    001840a1pop r14
    001840a3pop r15
    001840a5pop rbp
    001840a6jmp 0x17a737
    001840ab
    001840abloc_1840ab:
    001840abpush 9
    001840adpop rcx
    001840aemov rdi, r14
    001840b1mov rsi, rbx
    001840b4rep movsq [rdi], [rsi]
    001840b7mov [r14+152], 0x110007
    001840c2add rsp, 8
    001840c6pop rbx
    001840c7pop r14
    001840c9pop r15
    001840cbpop rbp
    001840ccret
    001840cd
    001840cdloc_1840cd:
    001840cdlea rdi, [rip-0xf30d6]
    001840d4lea rdx, [rip+0x6e96d]
    001840dbpush 43
    001840ddpop rsi
    001840decall core::panicking::panic
    001840e3ud2
    0018401d
    001840e5
    001840e5regex_syntax::ast::parse::ParserI<P>::pop_class_op:
    001840e5push rbp
    001840e6push r15
    001840e8push r14
    001840eapush r13
    001840ecpush r12
    001840eepush rbx
    001840efsub rsp, 696
    001840f6mov r15, rdx
    001840f9mov rbx, rdi
    001840fclea rdi, [rsi+64]
    00184100lea rsi, [rip+0x6e209]
    00184107call core::cell::RefCell<T>::borrow_mut
    0018410cmov r12, rax
    0018410fmov rax, [rax+16]
    00184113test rax, rax
    00184116je 0x1842f1
    0018411cdec rax
    0018411fmov [r12+16], rax
    00184124mov rcx, [r12]
    00184128imul rax, rax, 288
    0018412flea r13, [rcx+rax]
    00184133mov sil, [rcx+rax+160]
    0018413bmov r14l, [rcx+rax+272]
    00184143cmp r14l, 0x110009
    0018414amov [rsp+24], rdx
    0018414fmov [rsp+7], sil
    00184154je 0x1841f9
    0018415acmp r14l, 0x11000a
    00184161je 0x1842f1
    00184167mov ebp, 161
    0018416cmov rax, r13
    0018416fadd rax, rbp
    00184172mov [rsp+8], rax
    00184177mov [rsp+16], r15
    0018417clea r15, [rsp+408]
    00184184mov edx, 160
    00184189mov rdi, r15
    0018418cmov rsi, r13
    0018418fcall [rip+0x8d98b]
    00184195mov al, [rsp+7]
    00184199mov [r15+160], al
    001841a0add rbp, r15
    001841a3push 111
    001841a5pop rdx
    001841a6mov rdi, rbp
    001841a9mov rsi, [rsp+8]
    001841aemov rbp, [rip+0x8d96b]
    001841b5call rbp
    001841b7mov [r15+272], r14l
    001841bemov rax, [r13+276]
    001841c5mov [r15+276], rax
    001841ccmov eax, [r13+284]
    001841d3mov [r15+284], eax
    001841damov rdi, r12
    001841ddmov rsi, r15
    001841e0call alloc::vec::Vec<T,A>::push
    001841e5mov edx, 160
    001841eamov rdi, rbx
    001841edmov rsi, [rsp+16]
    001841f2call rbp
    001841f4jmp 0x1842d7
    001841f9
    001841f9loc_1841f9:
    001841f9lea r12, [rsp+248]
    00184201mov rbp, [rip+0x8d918]
    00184208mov edx, 160
    0018420dmov rdi, r12
    00184210mov rsi, r13
    00184213call rbp
    00184215lea r14, [rsp+88]
    0018421amov edx, 160
    0018421fmov rdi, r14
    00184222mov rsi, r12
    00184225call rbp
    00184227mov rdi, r14
    0018422acall regex_syntax::ast::ClassSet::span
    0018422fmovups x0, [rax]
    00184232movaps [rsp+32], x0
    00184237mov rax, [rax+16]
    0018423bmov [rsp+48], rax
    00184240mov rdi, r15
    00184243call regex_syntax::ast::ClassSet::span
    00184248mov rcx, [rax+40]
    0018424cmov [rsp+72], rcx
    00184251movups x0, [rax+24]
    00184255movups [rsp+56], x0
    0018425amovaps x0, [rsp+32]
    0018425fmovups [rbx+16], x0
    00184263movaps x0, [rsp+48]
    00184268movups [rbx+32], x0
    0018426cmov rax, [rsp+64]
    00184271mov [rbx+48], rax
    00184275mov rax, [rsp+72]
    0018427amov [rbx+56], rax
    0018427epush 8
    00184280pop r14
    00184282mov edi, 160
    00184287mov rsi, r14
    0018428acall _ZN5alloc5alloc15exchange_malloc17hc6dbbe43d4abbe5aE.641
    0018428fmov r13, r15
    00184292mov r15, rax
    00184295mov edx, 160
    0018429amov rdi, rax
    0018429dmov rsi, r12
    001842a0call rbp
    001842a2mov edi, 160
    001842a7mov rsi, r14
    001842aacall _ZN5alloc5alloc15exchange_malloc17hc6dbbe43d4abbe5aE.641
    001842afmov r14, rax
    001842b2mov edx, 160
    001842b7mov rdi, rax
    001842bamov rsi, r13
    001842bdcall rbp
    001842bfmov [rbx], r15
    001842c2mov [rbx+8], r14
    001842c6mov al, [rsp+7]
    001842camov [rbx+64], al
    001842cdmov [rbx+152], 0x110008
    001842d7
    001842d7loc_1842d7:
    001842d7mov rax, [rsp+24]
    001842dcinc [rax]
    001842dfadd rsp, 696
    001842e6pop rbx
    001842e7pop r12
    001842e9pop r13
    001842ebpop r14
    001842edpop r15
    001842efpop rbp
    001842f0ret
    001842f1
    001842f1loc_1842f1:
    001842f1lea rdi, [rip-0xf3373]
    001842f8lea rdx, [rip+0x6e029]
    001842ffpush 40
    00184301pop rsi
    00184302call core::panicking::panic
    00184307ud2
    001840e5
    00184309
    00184309alloc::vec::Vec<T,A>::push:
    00184309push r15
    0018430bpush r14
    0018430dpush rbx
    0018430emov r14, rsi
    00184311mov rbx, rdi
    00184314mov r15, [rdi+16]
    00184318cmp r15, [rdi+8]
    0018431cjne 0x18432d
    0018431emov rdi, rbx
    00184321mov rsi, r15
    00184324call alloc::raw_vec::RawVec<T,A>::reserve_for_push
    00184329mov r15, [rbx+16]
    0018432d
    0018432dloc_18432d:
    0018432dimul rdi, r15, 288
    00184334add rdi, [rbx]
    00184337mov edx, 288
    0018433cmov rsi, r14
    0018433fcall [rip+0x8d7db]
    00184345inc r15
    00184348mov [rbx+16], r15
    0018434cpop rbx
    0018434dpop r14
    0018434fpop r15
    00184351ret
    00184309
    00184352
    00184352regex_syntax::ast::ClassSet::span:
    00184352cmp [rdi+152], 0x110008
    0018435cjne 0x18436a
    00184362add rdi, 16
    00184366mov rax, rdi
    00184369ret
    00184352
    0018436a
    0018436aregex_syntax::ast::ClassSetItem::span:
    0018436amov rax, rdi
    0018436dmov ecx, 0xffffffffffef0000
    00184372add ecx, [rdi+152]
    00184378cmp ecx, 8
    0018437bpush 2
    0018437dpop rdx
    0018437ecmovb edx, ecx
    00184381lea rcx, [rip-0x1458ec]
    00184388movsxd rdx, [rcx+4*rdx]
    0018438cadd rdx, rcx
    0018438fjmp rdx
    00184391ret
    00184392add rax, 56
    00184396ret
    00184397mov rax, [rax]
    0018439aret
    0018439badd rax, 24
    0018439fret
    0018436a
    001843a0
    001843a0core::str::traits::_<impl core::ops::index::Index<I> for str>::index:
    001843a0push r15
    001843a2push r14
    001843a4push r12
    001843a6push rbx
    001843a7push rax
    001843a8mov rbx, rcx
    001843abmov r15, rdx
    001843aemov r14, rsi
    001843b1mov r12, rdi
    001843b4mov rdi, rdx
    001843b7mov rsi, r12
    001843bamov rdx, r14
    001843bdcall core::str::traits::_<impl core::slice::index::SliceIndex<str> for core::ops::range::RangeFrom<usize>>::get
    001843c2test rax, rax
    001843c5je 0x1843d3
    001843c7add rsp, 8
    001843cbpop rbx
    001843ccpop r12
    001843cepop r14
    001843d0pop r15
    001843d2ret
    001843d3
    001843d3loc_1843d3:
    001843d3mov rdi, r12
    001843d6mov rsi, r14
    001843d9mov rdx, r15
    001843dcmov rcx, r14
    001843dfmov r8, rbx
    001843e2call core::str::slice_error_fail
    001843e7ud2
    001843a0
    001843e9
    001843e9core::str::traits::_<impl core::slice::index::SliceIndex<str> for core::ops::range::RangeFrom<usize>>::get:
    001843e9mov rax, rsi
    001843ectest rdi, rdi
    001843efje 0x184409
    001843f1mov rcx, rdx
    001843f4sub rcx, rdi
    001843f7jbe 0x184404
    001843f9cmp [rax+rdi], -64
    001843fdjl 0x18440d
    001843ffmov rdx, rcx
    00184402jmp 0x184409
    00184404
    00184404loc_184404:
    00184404sub rdx, rdi
    00184407jne 0x184413
    00184409
    00184409loc_184409:
    00184409add rax, rdi
    0018440cret
    0018440d
    0018440dloc_18440d:
    0018440dxor eax, eax
    0018440fmov rdx, rcx
    00184412ret
    00184413
    00184413loc_184413:
    00184413xor eax, eax
    00184415ret
    001843e9
    00184416
    00184416regex_syntax::ast::parse::ParserI<P>::parse_set_class_open:
    00184416push rbp
    00184417push r15
    00184419push r14
    0018441bpush r13
    0018441dpush r12
    0018441fpush rbx
    00184420sub rsp, 328
    00184427mov r14, rsi
    0018442amov rbx, rdi
    0018442dmov rdi, rsi
    00184430call regex_syntax::ast::parse::ParserI<P>::char
    00184435mov [rsp+80], eax
    00184439cmp eax, 91
    0018443cjne 0x18476d
    00184442mov rax, [r14]
    00184445lea r13, [rax+160]
    0018444cmov rcx, [rax+176]
    00184453mov [rsp+16], rcx
    00184458movups x0, [rax+160]
    0018445fmovaps [rsp], x0
    00184463mov rdi, r14
    00184466call regex_syntax::ast::parse::ParserI<P>::bump_and_bump_space
    0018446btest al, al
    0018446dje 0x1845a0
    00184473mov rdi, r14
    00184476call regex_syntax::ast::parse::ParserI<P>::char
    0018447bmov ebp, eax
    0018447dcmp eax, 94
    00184480jne 0x184492
    00184482mov rdi, r14
    00184485call regex_syntax::ast::parse::ParserI<P>::bump_and_bump_space
    0018448atest al, al
    0018448cje 0x1845a0
    00184492
    00184492loc_184492:
    00184492mov [rsp+28], ebp
    00184496mov rax, [r13+16]
    0018449alea r15, [rsp+160]
    001844a2mov [r15+40], rax
    001844a6movups x0, [r13]
    001844abmovups [r15+24], x0
    001844b0mov rax, [r13+16]
    001844b4mov [r15+16], rax
    001844b8movups x0, [r13]
    001844bdxorps x1, x1
    001844c0lea rbp, [rsp+104]
    001844c5movups [rbp-16], x1
    001844c9mov rax, [r15+32]
    001844cdmov [rbp+32], rax
    001844d1mov rax, [r15+40]
    001844d5mov [rbp+40], rax
    001844d9movups [rbp], x0
    001844ddmov rax, [r15+16]
    001844e1mov [rbp+16], rax
    001844e5mov rax, [r15+24]
    001844e9mov [rbp+24], rax
    001844edmov [rbp-24], 8
    001844f5lea r12, [rsp+80]
    001844fa
    001844faloc_1844fa:
    001844famov rdi, r14
    001844fdcall regex_syntax::ast::parse::ParserI<P>::char
    00184502cmp eax, 45
    00184505jne 0x1845f4
    0018450bmov rdi, r15
    0018450emov rsi, r14
    00184511call regex_syntax::ast::parse::ParserI<P>::span_char
    00184516mov [rsp+208], 45
    00184521mov [rsp+212], 0
    00184529mov [rsp+312], 0x110001
    00184534mov rdi, r12
    00184537mov rsi, r15
    0018453acall regex_syntax::ast::ClassSetUnion::push
    0018453fmov rdi, r14
    00184542call regex_syntax::ast::parse::ParserI<P>::bump_and_bump_space
    00184547test al, al
    00184549jne 0x1844fa
    0018454bmov rax, [rsp+16]
    00184550lea rcx, [rsp+32]
    00184555mov [rcx+16], rax
    00184559movaps x0, [rsp]
    0018455dmovaps [rcx], x0
    00184560movups [rcx+24], x0
    00184564
    00184564loc_184564:
    00184564mov [rcx+40], rax
    00184568lea r8, [rsp+160]
    00184570mov [r8], 4
    00184577mov rsi, [r14+8]
    0018457bmov rdx, [r14+16]
    0018457fmov rdi, rbx
    00184582call regex_syntax::ast::parse::ParserI<P>::error
    00184587mov [rbx+200], 0x110009
    00184591lea rdi, [rsp+80]
    00184596call core::ptr::drop_in_place<alloc::vec::Vec<regex_syntax::ast::ClassSetItem>>
    0018459bjmp 0x184734
    001845a0
    001845a0loc_1845a0:
    001845a0mov rax, [rsp+16]
    001845a5lea rcx, [rsp+80]
    001845aamov [rcx+16], rax
    001845aemovaps x0, [rsp]
    001845b2movaps [rcx], x0
    001845b5movups x0, [r13]
    001845bamovups [rcx+24], x0
    001845bemov rax, [r13+16]
    001845c2mov [rcx+40], rax
    001845c6lea r8, [rsp+160]
    001845cemov [r8], 4
    001845d5mov rsi, [r14+8]
    001845d9mov rdx, [r14+16]
    001845ddmov rdi, rbx
    001845e0call regex_syntax::ast::parse::ParserI<P>::error
    001845e5mov [rbx+200], 0x110009
    001845efjmp 0x184734
    001845f4
    001845f4loc_1845f4:
    001845f4cmp [rsp+96], 0
    001845fajne 0x184651
    001845fcmov rdi, r14
    001845ffcall regex_syntax::ast::parse::ParserI<P>::char
    00184604cmp eax, 93
    00184607jne 0x184651
    00184609lea r15, [rsp+160]
    00184611mov rdi, r15
    00184614mov rsi, r14
    00184617call regex_syntax::ast::parse::ParserI<P>::span_char
    0018461cmov [r15+48], 93
    00184624mov [r15+52], 0
    00184629mov [r15+152], 0x110001
    00184634lea rdi, [rsp+80]
    00184639mov rsi, r15
    0018463ccall regex_syntax::ast::ClassSetUnion::push
    00184641mov rdi, r14
    00184644call regex_syntax::ast::parse::ParserI<P>::bump_and_bump_space
    00184649test al, al
    0018464bje 0x184746
    00184651
    00184651loc_184651:
    00184651lea rdi, [rbx+216]
    00184658cmp [rsp+28], 94
    0018465dmov rax, [rsp+16]
    00184662mov [rsp+48], rax
    00184667movaps x0, [rsp]
    0018466bmovaps [rsp+32], x0
    00184670movups x0, [r13]
    00184675movups [rsp+56], x0
    0018467amov rax, [r13+16]
    0018467emov [rsp+72], rax
    00184683mov rax, [rbp+16]
    00184687mov [rsp+176], rax
    0018468fmovups x0, [rbp]
    00184693movaps [rsp+160], x0
    0018469bmovups x0, [rbp]
    0018469fmovups [rsp+184], x0
    001846a7mov rax, [rbp+16]
    001846abmov [rsp+200], rax
    001846b3xorps x0, x0
    001846b6movups [rbx+56], x0
    001846bamovaps x0, [rsp+160]
    001846c2mov rax, [rsp+176]
    001846camov rcx, [rsp+184]
    001846d2mov rdx, [rsp+192]
    001846damov [rbx+104], rdx
    001846demov rdx, [rsp+200]
    001846e6mov [rbx+112], rdx
    001846eamov [rbx+88], rax
    001846eemov [rbx+96], rcx
    001846f2movups [rbx+72], x0
    001846f6movaps x0, [rsp+32]
    001846fbmovaps x1, [rsp+48]
    00184700movaps x2, [rsp+64]
    00184705movups [rbx+32], x2
    00184709movups [rbx+16], x1
    0018470dmovups [rbx], x0
    00184710push 9
    00184712pop rcx
    00184713lea rsi, [rsp+80]
    00184718rep movsq [rdi], [rsi]
    0018471bmov [rbx+48], 8
    00184723mov [rbx+200], 0x110007
    0018472dsete [rbx+208]
    00184734
    00184734loc_184734:
    00184734add rsp, 328
    0018473bpop rbx
    0018473cpop r12
    0018473epop r13
    00184740pop r14
    00184742pop r15
    00184744pop rbp
    00184745ret
    00184746
    00184746loc_184746:
    00184746mov rax, [rsp+16]
    0018474blea rcx, [rsp+32]
    00184750mov [rcx+16], rax
    00184754movaps x0, [rsp]
    00184758movaps [rcx], x0
    0018475bmovups x0, [r13]
    00184760movups [rcx+24], x0
    00184764mov rax, [r13+16]
    00184768jmp 0x184564
    0018476d
    0018476dloc_18476d:
    0018476dlea rdx, [rsp+160]
    00184775and [rdx], 0
    00184779lea rsi, [rip-0x14a78c]
    00184780lea rcx, [rip+0x6de41]
    00184787lea rdi, [rsp+80]
    0018478ccall core::panicking::assert_failed
    00184791ud2
    00184416
    00184793
    00184793regex_syntax::ast::parse::ParserI<P>::parse_set_class_item:
    00184793push rbp
    00184794push r14
    00184796push rbx
    00184797mov r14, rsi
    0018479amov rbx, rdi
    0018479dmov rdi, rsi
    001847a0call regex_syntax::ast::parse::ParserI<P>::char
    001847a5cmp eax, 92
    001847a8jne 0x1847b9
    001847aamov rdi, rbx
    001847admov rsi, r14
    001847b0pop rbx
    001847b1pop r14
    001847b3pop rbp
    001847b4jmp 0x17ff27
    001847b9
    001847b9loc_1847b9:
    001847b9lea rdi, [rbx+8]
    001847bdmov rsi, r14
    001847c0call regex_syntax::ast::parse::ParserI<P>::span_char
    001847c5mov rdi, r14
    001847c8call regex_syntax::ast::parse::ParserI<P>::char
    001847cdmov ebp, eax
    001847cfmov rdi, r14
    001847d2call regex_syntax::ast::parse::ParserI<P>::bump
    001847d7mov [rbx+56], ebp
    001847damov [rbx+60], 0
    001847demov [rbx+112], 2
    001847e2mov [rbx], 34
    001847e8pop rbx
    001847e9pop r14
    001847ebpop rbp
    001847ecret
    00184793
    001847ed
    001847edregex_syntax::ast::parse::ParserI<P>::peek_space:
    001847edpush rbp
    001847eepush r15
    001847f0push r14
    001847f2push r13
    001847f4push r12
    001847f6push rbx
    001847f7sub rsp, 56
    001847fbmov r15, rdi
    001847femov rax, [rdi]
    00184801cmp [rax+192], 0
    00184808je 0x184836
    0018480amov rbx, [rax+160]
    00184811mov r14, [r15+16]
    00184815mov eax, 0x110000
    0018481acmp rbx, r14
    0018481dje 0x184957
    00184823mov rdi, r15
    00184826call regex_syntax::ast::parse::ParserI<P>::char
    0018482bcmp eax, 128
    00184830jae 0x18484c
    00184832push 1
    00184834jmp 0x184855
    00184836
    00184836loc_184836:
    00184836mov rdi, r15
    00184839add rsp, 56
    0018483dpop rbx
    0018483epop r12
    00184840pop r13
    00184842pop r14
    00184844pop r15
    00184846pop rbp
    00184847jmp 0x1838fb
    0018484c
    0018484cloc_18484c:
    0018484ccmp eax, 2048
    00184851jae 0x184858
    00184853push 2
    00184855
    00184855loc_184855:
    00184855pop rdx
    00184856jmp 0x184864
    00184858
    00184858loc_184858:
    00184858cmp eax, 0x10000
    0018485dpush 4
    0018485fpop rdx
    00184860sbb rdx, 0
    00184864
    00184864loc_184864:
    00184864add rdx, rbx
    00184867mov rdi, [r15+8]
    0018486blea rcx, [rip+0x6d876]
    00184872mov [rsp+40], rdi
    00184877mov [rsp+48], r14
    0018487cmov rsi, r14
    0018487fmov [rsp+8], rdx
    00184884call core::str::traits::_<impl core::ops::index::Index<I> for str>::index
    00184889mov r12, rax
    0018488cmov rbx, rdx
    0018488fadd rbx, rax
    00184892lea rax, [rsp+16]
    00184897mov [rax], r12
    0018489amov [rax+8], rbx
    0018489eand [rax+16], 0
    001848a3xor eax, eax
    001848a5
    001848a5loc_1848a5:
    001848a5mov [rsp+7], al
    001848a9mov r13, r12
    001848acmov rbp, rbx
    001848af
    001848afloc_1848af:
    001848aflea rdi, [rsp+16]
    001848b4call core::str::validations::next_code_point
    001848b9test eax, eax
    001848bbje 0x184928
    001848bdmov r15l, edx
    001848c0cmp edx, 0x110000
    001848c6je 0x184928
    001848c8mov r14, [rsp+32]
    001848cdmov r12, [rsp+16]
    001848d2mov rbx, [rsp+24]
    001848d7add rbp, r14
    001848daadd r13, rbx
    001848ddsub rbp, r13
    001848e0add rbp, r12
    001848e3mov [rsp+32], rbp
    001848e8mov edi, r15l
    001848ebcall core::char::methods::_<impl char>::is_whitespace
    001848f0mov r13, r12
    001848f3mov rbp, rbx
    001848f6test al, al
    001848f8jne 0x1848af
    001848facmp r15l, 35
    001848fesete cl
    00184901mov sil, [rsp+7]
    00184906mov edx, esi
    00184908not dl
    0018490amov al, 1
    0018490ctest dl, cl
    0018490ejne 0x1848a5
    00184910cmp r15l, 10
    00184914sete cl
    00184917xor eax, eax
    00184919test sil, cl
    0018491cjne 0x1848a5
    0018491emov rdx, [rsp+8]
    00184923add rdx, r14
    00184926jmp 0x18492d
    00184928
    00184928loc_184928:
    00184928mov rdx, [rsp+8]
    0018492d
    0018492dloc_18492d:
    0018492dlea rcx, [rip+0x6d7cc]
    00184934mov rdi, [rsp+40]
    00184939mov rsi, [rsp+48]
    0018493ecall core::str::traits::_<impl core::ops::index::Index<I> for str>::index
    00184943add rdx, rax
    00184946lea rdi, [rsp+16]
    0018494bmov [rdi], rax
    0018494emov [rdi+8], rdx
    00184952call _ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h2f7ee162baeb6befE.914
    00184957
    00184957loc_184957:
    00184957add rsp, 56
    0018495bpop rbx
    0018495cpop r12
    0018495epop r13
    00184960pop r14
    00184962pop r15
    00184964pop rbp
    00184965ret
    001847ed
    00184966
    00184966core::ptr::drop_in_place<regex_syntax::ast::parse::Primitive>:
    00184966mov al, [rdi+104]
    00184969add al, -2
    0018496bcmp al, 4
    0018496djae 0x17a774
    00184973ret
    00184966
    00184974
    00184974regex_syntax::ast::parse::Primitive::into_class_literal:
    00184974push rbx
    00184975sub rsp, 64
    00184979mov rbx, rsi
    0018497cmov sil, [rsi+104]
    00184980add sil, -2
    00184984movzx eax, sil
    00184988cmp al, 4
    0018498apush 4
    0018498cpop r8
    0018498ecmovb r8l, eax
    00184992test r8b, r8b
    00184995je 0x1849ca
    00184997lea rax, [rbx+56]
    0018499bcmp sil, 4
    0018499fcmovb rax, rbx
    001849a3lea r8, [rsp+8]
    001849a8mov [r8], 3
    001849afmov rsi, rdx
    001849b2mov rdx, rcx
    001849b5mov rcx, rax
    001849b8call regex_syntax::ast::parse::ParserI<P>::error
    001849bdmov rdi, rbx
    001849c0add rsp, 64
    001849c4pop rbx
    001849c5jmp 0x184966
    001849ca
    001849caloc_1849ca:
    001849camov rax, [rbx+48]
    001849cemov [rdi+56], rax
    001849d2movups x0, [rbx]
    001849d5movups x1, [rbx+16]
    001849d9movups x2, [rbx+32]
    001849ddmovups [rdi+40], x2
    001849e1movups [rdi+24], x1
    001849e5movups [rdi+8], x0
    001849e9mov [rdi], 34
    001849efadd rsp, 64
    001849f3pop rbx
    001849f4ret
    00184974
    001849f5
    001849f5regex_syntax::ast::Concat::into_ast:
    001849f5push r15
    001849f7push r14
    001849f9push rbx
    001849famov rbx, rdi
    001849fdmov rax, [rdi+16]
    00184a01cmp rax, 1
    00184a05je 0x184a1d
    00184a07test rax, rax
    00184a0ajne 0x184a4a
    00184a0clea rdi, [rbx+24]
    00184a10call regex_syntax::ast::Ast::empty
    00184a15mov r14, rdx
    00184a18xor r15l, r15l
    00184a1bjmp 0x184a40
    00184a1d
    00184a1dloc_184a1d:
    00184a1dmov rdi, rbx
    00184a20call alloc::vec::Vec<T,A>::pop
    00184a25lea rcx, [rip+0x6e004]
    00184a2cmov rdi, rax
    00184a2fmov rsi, rdx
    00184a32mov rdx, rcx
    00184a35call core::option::Option<T>::unwrap
    00184a3amov r15, rax
    00184a3dmov r14, rdx
    00184a40
    00184a40loc_184a40:
    00184a40mov rdi, rbx
    00184a43call core::ptr::drop_in_place<alloc::vec::Vec<regex_syntax::ast::Ast>>
    00184a48jmp 0x184a68
    00184a4a
    00184a4aloc_184a4a:
    00184a4apush 72
    00184a4cpop rdi
    00184a4dpush 8
    00184a4fpop rsi
    00184a50call _ZN5alloc5alloc15exchange_malloc17hc6dbbe43d4abbe5aE.641
    00184a55mov r14, rax
    00184a58push 9
    00184a5apop rcx
    00184a5bmov rdi, rax
    00184a5emov rsi, rbx
    00184a61rep movsq [rdi], [rsi]
    00184a64push 11
    00184a66pop r15
    00184a68
    00184a68loc_184a68:
    00184a68mov rax, r15
    00184a6bmov rdx, r14
    00184a6epop rbx
    00184a6fpop r14
    00184a71pop r15
    00184a73ret
    001849f5
    00184a74
    00184a74alloc::vec::Vec<T,A>::push:
    00184a74push r15
    00184a76push r14
    00184a78push rbx
    00184a79mov r14, rsi
    00184a7cmov rbx, rdi
    00184a7fmov r15, [rdi+16]
    00184a83cmp r15, [rdi+8]
    00184a87jne 0x184a98
    00184a89mov rdi, rbx
    00184a8cmov rsi, r15
    00184a8fcall alloc::raw_vec::RawVec<T,A>::reserve_for_push
    00184a94mov r15, [rbx+16]
    00184a98
    00184a98loc_184a98:
    00184a98imul rdi, r15, 224
    00184a9fadd rdi, [rbx]
    00184aa2mov edx, 224
    00184aa7mov rsi, r14
    00184aaacall [rip+0x8d070]
    00184ab0inc r15
    00184ab3mov [rbx+16], r15
    00184ab7pop rbx
    00184ab8pop r14
    00184abapop r15
    00184abcret
    00184a74
    00184abd
    00184abdcore::option::Option<T>::unwrap:
    00184abdcmp rdi, 12
    00184ac1je 0x184aca
    00184ac3mov rax, rdi
    00184ac6mov rdx, rsi
    00184ac9ret
    00184aca
    00184acaloc_184aca:
    00184acapush rax
    00184acblea rdi, [rip-0xf3ad4]
    00184ad2push 43
    00184ad4pop rsi
    00184ad5call core::panicking::panic
    00184adaud2
    00184abd
    00184adc
    00184adcregex_syntax::ast::Ast::alternation:
    00184adcpush rbx
    00184addmov rbx, rdi
    00184ae0push 72
    00184ae2pop rdi
    00184ae3push 8
    00184ae5pop rsi
    00184ae6call _ZN5alloc5alloc15exchange_malloc17hc6dbbe43d4abbe5aE.641
    00184aebmov rdx, rax
    00184aeepush 9
    00184af0pop rcx
    00184af1mov rdi, rax
    00184af4mov rsi, rbx
    00184af7rep movsq [rdi], [rsi]
    00184afapush 10
    00184afcpop rax
    00184afdpop rbx
    00184aferet
    00184adc
    00184aff
    00184affregex_syntax::ast::parse::ParserI<P>::parse_group:
    00184affpush rbp
    00184b00push r15
    00184b02push r14
    00184b04push r13
    00184b06push r12
    00184b08push rbx
    00184b09sub rsp, 488
    00184b10mov r14, rsi
    00184b13mov rbx, rdi
    00184b16mov rdi, rsi
    00184b19call regex_syntax::ast::parse::ParserI<P>::char
    00184b1emov [rsp+208], eax
    00184b25cmp eax, 40
    00184b28jne 0x18519f
    00184b2elea rdi, [rsp+32]
    00184b33mov rsi, r14
    00184b36call regex_syntax::ast::parse::ParserI<P>::span_char
    00184b3bmov rdi, r14
    00184b3ecall regex_syntax::ast::parse::ParserI<P>::bump
    00184b43mov rdi, r14
    00184b46call regex_syntax::ast::parse::ParserI<P>::bump_space
    00184b4blea rsi, [rip-0x12d21d]
    00184b52push 2
    00184b54pop rdx
    00184b55mov rdi, r14
    00184b58call regex_syntax::ast::parse::ParserI<P>::bump_if
    00184b5dtest al, al
    00184b5fjne 0x184ba3
    00184b61lea rsi, [rip-0x12d231]
    00184b68push 2
    00184b6apop rdx
    00184b6bmov rdi, r14
    00184b6ecall regex_syntax::ast::parse::ParserI<P>::bump_if
    00184b73test al, al
    00184b75jne 0x184ba3
    00184b77lea rsi, [rip-0x12d245]
    00184b7epush 3
    00184b80pop rdx
    00184b81mov rdi, r14
    00184b84call regex_syntax::ast::parse::ParserI<P>::bump_if
    00184b89test al, al
    00184b8bjne 0x184ba3
    00184b8dlea rsi, [rip-0x12d258]
    00184b94push 3
    00184b96pop rdx
    00184b97mov rdi, r14
    00184b9acall regex_syntax::ast::parse::ParserI<P>::bump_if
    00184b9ftest al, al
    00184ba1je 0x184c07
    00184ba3
    00184ba3loc_184ba3:
    00184ba3mov rax, [rsp+48]
    00184ba8lea rcx, [rsp+208]
    00184bb0mov [rcx+16], rax
    00184bb4movups x0, [rsp+32]
    00184bb9movaps [rcx], x0
    00184bbcmov rax, [r14]
    00184bbfmovups x0, [rax+160]
    00184bc6movups [rcx+24], x0
    00184bcamov rax, [rax+176]
    00184bd1mov [rcx+40], rax
    00184bd5lea r8, [rsp+80]
    00184bdamov [r8], 33
    00184be1lea rdi, [rbx+8]
    00184be5mov rsi, [r14+8]
    00184be9mov rdx, [r14+16]
    00184bed
    00184bedloc_184bed:
    00184bedcall regex_syntax::ast::parse::ParserI<P>::error
    00184bf2
    00184bf2loc_184bf2:
    00184bf2mov [rbx], 4
    00184bf5
    00184bf5loc_184bf5:
    00184bf5add rsp, 488
    00184bfcpop rbx
    00184bfdpop r12
    00184bffpop r13
    00184c01pop r14
    00184c03pop r15
    00184c05pop rbp
    00184c06ret
    00184c07
    00184c07loc_184c07:
    00184c07mov rax, [r14]
    00184c0alea r12, [rax+160]
    00184c11mov rcx, [rax+176]
    00184c18mov [rsp+392], rcx
    00184c20movups x0, [rax+160]
    00184c27movups [rsp+376], x0
    00184c2fmovups x0, [rax+160]
    00184c36movaps [rsp+352], x0
    00184c3emov rax, [rax+176]
    00184c45mov [rsp+368], rax
    00184c4dlea rsi, [rip-0x12d23d]
    00184c54push 3
    00184c56pop rdx
    00184c57mov rdi, r14
    00184c5acall regex_syntax::ast::parse::ParserI<P>::bump_if
    00184c5fmov ebp, eax
    00184c61test al, al
    00184c63jne 0x184c7f
    00184c65lea rsi, [rip-0x12d252]
    00184c6cpush 2
    00184c6epop rdx
    00184c6fmov rdi, r14
    00184c72call regex_syntax::ast::parse::ParserI<P>::bump_if
    00184c77test al, al
    00184c79je 0x184d8a
    00184c7f
    00184c7floc_184c7f:
    00184c7flea r15, [rsp+80]
    00184c84lea rdx, [rsp+32]
    00184c89mov rdi, r15
    00184c8cmov rsi, r14
    00184c8fcall regex_syntax::ast::parse::ParserI<P>::next_capture_index
    00184c94mov eax, [r15]
    00184c97cmp eax, 34
    00184c9ajne 0x184eaa
    00184ca0lea r15, [rsp+80]
    00184ca5mov edx, [r15+4]
    00184ca9mov rdi, r15
    00184cacmov rsi, r14
    00184cafcall regex_syntax::ast::parse::ParserI<P>::parse_capture_name
    00184cb4mov r9l, [r15]
    00184cb7cmp r9l, 34
    00184cbbjne 0x184dcf
    00184cc1lea rsi, [rsp+88]
    00184cc6lea r14, [rsp+212]
    00184ccepush 20
    00184cd0pop rax
    00184cd1mov rcx, rax
    00184cd4mov rdi, r14
    00184cd7rep movsd [rdi], [rsi]
    00184cd9lea r8, [rsp+408]
    00184ce1mov rcx, rax
    00184ce4mov rdi, r8
    00184ce7mov rsi, r14
    00184cearep movsd [rdi], [rsi]
    00184cecmovups x0, [rsp+32]
    00184cf1movups x1, [rsp+48]
    00184cf6movups x2, [rsp+64]
    00184cfbmovups [rbx+128], x2
    00184d02movups [rbx+112], x1
    00184d06movups [rbx+96], x0
    00184d0alea rdi, [rsp+86]
    00184d0fpush 80
    00184d11pop rdx
    00184d12mov r13, [rip+0x8ce07]
    00184d19mov rsi, r8
    00184d1ccall r13
    00184d1fmov rax, [r12+16]
    00184d24mov [r14+36], rax
    00184d28movups x0, [r12]
    00184d2dmovups [r14+20], x0
    00184d32movups x0, [r12]
    00184d37movaps [r14-4], x0
    00184d3cmov rax, [r12+16]
    00184d41mov [r14+12], rax
    00184d45lea rdi, [rsp+208]
    00184d4dcall regex_syntax::ast::Ast::empty
    00184d52mov r14, rdx
    00184d55push 16
    00184d57pop rdi
    00184d58push 8
    00184d5apop rsi
    00184d5bcall _ZN5alloc5alloc15exchange_malloc17hc6dbbe43d4abbe5aE.641
    00184d60mov r15, rax
    00184d63and [rax], 0
    00184d67mov [rax+8], r14
    00184d6blea rdi, [rbx+2]
    00184d6flea rsi, [rsp+80]
    00184d74push 86
    00184d76pop rdx
    00184d77call r13
    00184d7amov [rbx], 1
    00184d7dmov [rbx+1], bpl
    00184d81mov [rbx+88], r15
    00184d85jmp 0x184bf5
    00184d8a
    00184d8aloc_184d8a:
    00184d8alea rsi, [rip-0xf61cb]
    00184d91push 1
    00184d93pop rdx
    00184d94mov rdi, r14
    00184d97call regex_syntax::ast::parse::ParserI<P>::bump_if
    00184d9ctest al, al
    00184d9eje 0x184e1a
    00184da0mov rdx, [r12]
    00184da4mov r13, [r14+16]
    00184da8cmp rdx, r13
    00184dabjne 0x184ec7
    00184db1lea r8, [rsp+80]
    00184db6mov [r8], 21
    00184dbdlea rdi, [rbx+8]
    00184dc1mov rsi, [r14+8]
    00184dc5lea rcx, [rsp+32]
    00184dcajmp 0x184bed
    00184dcf
    00184dcfloc_184dcf:
    00184dcflea rax, [rsp+84]
    00184dd4push 21
    00184dd6pop rdx
    00184dd7lea r8, [rsp+208]
    00184ddfmov rcx, rdx
    00184de2mov rdi, r8
    00184de5mov rsi, rax
    00184de8rep movsd [rdi], [rsi]
    00184deamov rcx, [rax+116]
    00184deemov [rbx+128], rcx
    00184df5movups x0, [rax+84]
    00184df9movups x1, [rax+100]
    00184dfdmovups [rbx+112], x1
    00184e01movups [rbx+96], x0
    00184e05lea rdi, [rbx+12]
    00184e09mov rcx, rdx
    00184e0cmov rsi, r8
    00184e0frep movsd [rdi], [rsi]
    00184e11mov [rbx+8], r9l
    00184e15jmp 0x184bf2
    00184e1a
    00184e1aloc_184e1a:
    00184e1alea r15, [rsp+80]
    00184e1flea rdx, [rsp+32]
    00184e24mov rdi, r15
    00184e27mov rsi, r14
    00184e2acall regex_syntax::ast::parse::ParserI<P>::next_capture_index
    00184e2fmov eax, [r15]
    00184e32cmp eax, 34
    00184e35jne 0x184eaa
    00184e37lea rdi, [rsp+80]
    00184e3cmov ebp, [rdi+4]
    00184e3fmovups x0, [rsp+32]
    00184e44movups x1, [rsp+48]
    00184e49movups x2, [rsp+64]
    00184e4emovups [rbx+128], x2
    00184e55movups [rbx+112], x1
    00184e59movups [rbx+96], x0
    00184e5dmov rax, [r12+16]
    00184e62mov [rdi+40], rax
    00184e66movups x0, [r12]
    00184e6bmovups [rdi+24], x0
    00184e6fmovups x0, [r12]
    00184e74movaps [rdi], x0
    00184e77mov rax, [r12+16]
    00184e7cmov [rdi+16], rax
    00184e80call regex_syntax::ast::Ast::empty
    00184e85mov r14, rdx
    00184e88push 16
    00184e8apop rdi
    00184e8bpush 8
    00184e8dpop rsi
    00184e8ecall _ZN5alloc5alloc15exchange_malloc17hc6dbbe43d4abbe5aE.641
    00184e93and [rax], 0
    00184e97mov [rax+8], r14
    00184e9bmov [rbx], 0
    00184e9emov [rbx+4], ebp
    00184ea1
    00184ea1loc_184ea1:
    00184ea1mov [rbx+88], rax
    00184ea5jmp 0x184bf5
    00184eaa
    00184eaaloc_184eaa:
    00184eaalea rsi, [rsp+88]
    00184eafmov edx, [rsi-4]
    00184eb2lea rdi, [rbx+16]
    00184eb6push 15
    00184eb8pop rcx
    00184eb9rep movsq [rdi], [rsi]
    00184ebcmov [rbx+8], eax
    00184ebfmov [rbx+12], edx
    00184ec2jmp 0x184bf2
    00184ec7
    00184ec7loc_184ec7:
    00184ec7lea r15, [rsp+80]
    00184eccmov rdi, r15
    00184ecfmov rsi, r14
    00184ed2call regex_syntax::ast::parse::ParserI<P>::parse_flags
    00184ed7mov eax, [r15]
    00184edacmp eax, 34
    00184eddjne 0x184ff4
    00184ee3mov rax, [rsp+88]
    00184ee8mov [rsp+8], rax
    00184eedmov rax, [rsp+96]
    00184ef2mov [rsp+16], rax
    00184ef7mov r15, [rsp+104]
    00184efcmovups x0, [rsp+144]
    00184f04movups x1, [rsp+128]
    00184f0cmovups x2, [rsp+112]
    00184f11movaps [rsp+304], x2
    00184f19movaps [rsp+320], x1
    00184f21movaps [rsp+336], x0
    00184f29mov rdi, r14
    00184f2ccall regex_syntax::ast::parse::ParserI<P>::char
    00184f31mov ebp, eax
    00184f33mov [rsp+28], eax
    00184f37mov rdi, r14
    00184f3acall regex_syntax::ast::parse::ParserI<P>::bump
    00184f3fcmp ebp, 41
    00184f42je 0x18508a
    00184f48cmp ebp, 58
    00184f4bjne 0x1851c5
    00184f51movups x0, [rsp+32]
    00184f56movups x1, [rsp+48]
    00184f5bmovups x2, [rsp+64]
    00184f60movups [rbx+128], x2
    00184f67movups [rbx+112], x1
    00184f6bmovups [rbx+96], x0
    00184f6fmov rax, [r12+16]
    00184f74lea rdi, [rsp+80]
    00184f79mov [rdi+40], rax
    00184f7dmovups x0, [r12]
    00184f82movups [rdi+24], x0
    00184f86movups x0, [r12]
    00184f8bmovaps [rdi], x0
    00184f8emov rax, [r12+16]
    00184f93mov [rdi+16], rax
    00184f97call regex_syntax::ast::Ast::empty
    00184f9cmov r14, rdx
    00184f9fpush 16
    00184fa1pop rdi
    00184fa2push 8
    00184fa4pop rsi
    00184fa5call _ZN5alloc5alloc15exchange_malloc17hc6dbbe43d4abbe5aE.641
    00184faaand [rax], 0
    00184faemov [rax+8], r14
    00184fb2mov rcx, [rsp+8]
    00184fb7mov [rbx+8], rcx
    00184fbbmov rcx, [rsp+16]
    00184fc0mov [rbx+16], rcx
    00184fc4mov [rbx+24], r15
    00184fc8movaps x0, [rsp+304]
    00184fd0movaps x1, [rsp+320]
    00184fd8movaps x2, [rsp+336]
    00184fe0movups [rbx+64], x2
    00184fe4movups [rbx+48], x1
    00184fe8movups [rbx+32], x0
    00184fecmov [rbx], 2
    00184fefjmp 0x184ea1
    00184ff4
    00184ff4loc_184ff4:
    00184ff4mov ecx, [rsp+84]
    00184ff8movups x0, [rsp+88]
    00184ffdmov rdx, [rsp+104]
    00185002movups x1, [rsp+112]
    00185007movaps [rsp+208], x1
    0018500fmovups x1, [rsp+128]
    00185017movaps [rsp+224], x1
    0018501fmovups x1, [rsp+144]
    00185027movaps [rsp+240], x1
    0018502fmovups x1, [rsp+192]
    00185037movups [rbx+120], x1
    0018503bmovups x1, [rsp+176]
    00185043movups [rbx+104], x1
    00185047movups x1, [rsp+160]
    0018504fmovups [rbx+88], x1
    00185053mov [rbx+12], ecx
    00185056movups [rbx+16], x0
    0018505amov [rbx+32], rdx
    0018505emovaps x0, [rsp+208]
    00185066movaps x1, [rsp+224]
    0018506emovaps x2, [rsp+240]
    00185076movups [rbx+40], x0
    0018507amovups [rbx+56], x1
    0018507emovups [rbx+72], x2
    00185082mov [rbx+8], eax
    00185085jmp 0x184bf2
    0018508a
    0018508aloc_18508a:
    0018508atest r15, r15
    0018508dje 0x185164
    00185093movups x0, [r12]
    00185098movups [rsp+104], x0
    0018509dmov rax, [r12+16]
    001850a2mov [rsp+120], rax
    001850a7mov rax, [rsp+48]
    001850acmov [rsp+96], rax
    001850b1movups x0, [rsp+32]
    001850b6movaps [rsp+208], x0
    001850bemov rax, [rsp+96]
    001850c3mov [rsp+224], rax
    001850cbmov rax, [rsp+104]
    001850d0mov [rsp+232], rax
    001850d8mov rax, [rsp+112]
    001850ddmov [rsp+240], rax
    001850e5mov rax, [rsp+120]
    001850eamov [rsp+248], rax
    001850f2mov [rbx], 3
    001850f5mov rax, [rsp+8]
    001850famov [rbx+8], rax
    001850femov rax, [rsp+16]
    00185103mov [rbx+16], rax
    00185107mov [rbx+24], r15
    0018510bmovaps x0, [rsp+304]
    00185113movaps x1, [rsp+320]
    0018511bmovaps x2, [rsp+336]
    00185123movups [rbx+32], x0
    00185127movups [rbx+48], x1
    0018512bmovups [rbx+64], x2
    0018512fmovaps x0, [rsp+208]
    00185137movaps x1, [rsp+224]
    0018513fmov rax, [rsp+240]
    00185147mov rcx, [rsp+248]
    0018514fmovups [rbx+80], x0
    00185153movups [rbx+96], x1
    00185157mov [rbx+112], rax
    0018515bmov [rbx+120], rcx
    0018515fjmp 0x184bf5
    00185164
    00185164loc_185164:
    00185164lea r8, [rsp+80]
    00185169mov [r8], 27
    00185170lea rdi, [rbx+8]
    00185174mov rsi, [r14+8]
    00185178lea rcx, [rsp+352]
    00185180mov rdx, r13
    00185183call regex_syntax::ast::parse::ParserI<P>::error
    00185188mov [rbx], 4
    0018518bmov rdi, [rsp+8]
    00185190mov rsi, [rsp+16]
    00185195call _<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop
    0018519ajmp 0x184bf5
    0018519f
    0018519floc_18519f:
    0018519flea rdx, [rsp+80]
    001851a4and [rdx], 0
    001851a8lea rsi, [rip-0x14b1c3]
    001851aflea rcx, [rip+0x6d1d2]
    001851b6lea rdi, [rsp+208]
    001851be
    001851beloc_1851be:
    001851becall core::panicking::assert_failed
    001851c3ud2
    001851c5
    001851c5loc_1851c5:
    001851c5lea rdx, [rsp+80]
    001851caand [rdx], 0
    001851celea rsi, [rip-0x14b1d9]
    001851d5lea rcx, [rip+0x6d1c4]
    001851dclea rdi, [rsp+28]
    001851e1jmp 0x1851be
    00184aff
    001851e3
    001851e3regex_syntax::ast::Flags::flag_state:
    001851e3imul rcx, rsi, 56
    001851e7add rcx, rdi
    001851eaxor eax, eax
    001851ec
    001851ecloc_1851ec:
    001851eccmp rdi, rcx
    001851efje 0x185207
    001851f1movzx edx, [rdi+48]
    001851f5cmp edx, 6
    001851f8je 0x18520a
    001851faadd rdi, 56
    001851fecmp edx, 7
    00185201jne 0x1851ec
    00185203mov al, 1
    00185205jmp 0x1851ec
    00185207
    00185207loc_185207:
    00185207mov al, 2
    00185209ret
    0018520a
    0018520aloc_18520a:
    0018520axor al, 1
    0018520cret
    001851e3
    0018520d
    0018520dregex_syntax::ast::parse::ParserI<P>::next_capture_index:
    0018520dpush r15
    0018520fpush r14
    00185211push rbx
    00185212sub rsp, 192
    00185219mov rbx, rdi
    0018521cmov r15, [rsi]
    0018521fmov eax, [r15+184]
    00185226inc eax
    00185228jne 0x18525d
    0018522amov rcx, rdx
    0018522dlea r8, [rsp+136]
    00185235and [r8], 0
    00185239mov rax, [rsi+8]
    0018523dmov rdx, [rsi+16]
    00185241lea r14, [rsp+8]
    00185246mov rdi, r14
    00185249mov rsi, rax
    0018524ccall regex_syntax::ast::parse::ParserI<P>::error
    00185251mov eax, [r14]
    00185254cmp eax, 34
    00185257jne 0x18526f
    00185259mov eax, [rsp+12]
    0018525d
    0018525dloc_18525d:
    0018525dmov [r15+184], eax
    00185264mov [rbx+4], eax
    00185267mov [rbx], 34
    0018526djmp 0x185286
    0018526f
    0018526floc_18526f:
    0018526flea rsi, [rsp+16]
    00185274mov edx, [rsi-4]
    00185277lea rdi, [rbx+8]
    0018527bpush 15
    0018527dpop rcx
    0018527erep movsq [rdi], [rsi]
    00185281mov [rbx], eax
    00185283mov [rbx+4], edx
    00185286
    00185286loc_185286:
    00185286add rsp, 192
    0018528dpop rbx
    0018528epop r14
    00185290pop r15
    00185292ret
    0018520d
    00185293
    00185293regex_syntax::ast::parse::ParserI<P>::parse_flags:
    00185293push rbp
    00185294push r15
    00185296push r14
    00185298push r13
    0018529apush r12
    0018529cpush rbx
    0018529dsub rsp, 440
    001852a4mov r14, rsi
    001852a7mov [rsp], rdi
    001852abmov rax, [rsi]
    001852aelea rcx, [rax+160]
    001852b5mov [rsp+8], rcx
    001852bamov rcx, [rax+176]
    001852c1lea r15, [rsp+208]
    001852c9mov [r15+40], rcx
    001852cdmovups x0, [rax+160]
    001852d4movups [r15+24], x0
    001852d9mov rcx, [rax+176]
    001852e0mov [r15+16], rcx
    001852e4movups x0, [rax+160]
    001852ebxorps x1, x1
    001852eelea r12, [rsp+72]
    001852f3movups [r12+8], x1
    001852f9movups [r12+24], x0
    001852ffmov rax, [r15+32]
    00185303mov [r12+56], rax
    00185308mov rax, [r15+40]
    0018530cmov [r12+64], rax
    00185311mov rax, [r15+16]
    00185315mov [r12+40], rax
    0018531amov rax, [r15+24]
    0018531emov [r12+48], rax
    00185323mov [r12], 8
    0018532bxor ebx, ebx
    0018532dlea rbp, [rsp+384]
    00185335
    00185335loc_185335:
    00185335mov rdi, r14
    00185338call regex_syntax::ast::parse::ParserI<P>::char
    0018533dcmp eax, 58
    00185340je 0x18546f
    00185346mov rdi, r14
    00185349call regex_syntax::ast::parse::ParserI<P>::char
    0018534ecmp eax, 41
    00185351je 0x18546f
    00185357mov rdi, r14
    0018535acall regex_syntax::ast::parse::ParserI<P>::char
    0018535fcmp eax, 45
    00185362jne 0x1853a4
    00185364lea rdi, [rsp+336]
    0018536cmov rsi, r14
    0018536fcall regex_syntax::ast::parse::ParserI<P>::span_char
    00185374mov rdi, rbp
    00185377mov rsi, r14
    0018537acall regex_syntax::ast::parse::ParserI<P>::span_char
    0018537fmov [rsp+432], 7
    00185387mov rdi, r12
    0018538amov rsi, rbp
    0018538dcall regex_syntax::ast::Flags::add_item
    00185392push 1
    00185394pop rbx
    00185395cmp rax, 1
    00185399jne 0x18541f
    0018539fjmp 0x1854cf
    001853a4
    001853a4loc_1853a4:
    001853a4lea rdi, [rsp+16]
    001853a9mov rsi, r14
    001853accall regex_syntax::ast::parse::ParserI<P>::span_char
    001853b1mov rdi, r15
    001853b4mov rsi, r14
    001853b7call regex_syntax::ast::parse::ParserI<P>::parse_flag
    001853bcmov r13l, [rsp+208]
    001853c4mov bl, [rsp+212]
    001853cbcmp r13l, 34
    001853cfjne 0x185526
    001853d5movups x0, [rsp+16]
    001853damovups x1, [rsp+32]
    001853dfmovups x2, [rsp+48]
    001853e4movaps [rsp+144], x0
    001853ecmovaps [rsp+160], x1
    001853f4movaps [rsp+176], x2
    001853fcmov [rsp+192], bl
    00185403mov rdi, r12
    00185406lea rsi, [rsp+144]
    0018540ecall regex_syntax::ast::Flags::add_item
    00185413cmp rax, 1
    00185417je 0x185548
    0018541dxor ebx, ebx
    0018541f
    0018541floc_18541f:
    0018541fmov rdi, r14
    00185422call regex_syntax::ast::parse::ParserI<P>::bump
    00185427test al, al
    00185429jne 0x185335
    0018542fmov rdx, [rsp+8]
    00185434mov rax, [rdx+16]
    00185438lea rcx, [rsp+16]
    0018543dmov [rcx+40], rax
    00185441movups x0, [rdx]
    00185444movups [rcx+24], x0
    00185448movups x0, [rdx]
    0018544bmovaps [rcx], x0
    0018544emov rax, [rdx+16]
    00185452mov [rcx+16], rax
    00185456lea r8, [rsp+208]
    0018545emov [r8], 15
    00185465mov rsi, [r14+8]
    00185469mov rdx, [r14+16]
    0018546djmp 0x185494
    0018546f
    0018546floc_18546f:
    0018546fcmp rbx, 1
    00185473jne 0x18549d
    00185475lea r8, [rsp+208]
    0018547dmov [r8], 12
    00185484mov rsi, [r14+8]
    00185488mov rdx, [r14+16]
    0018548clea rcx, [rsp+336]
    00185494
    00185494loc_185494:
    00185494mov rdi, [rsp]
    00185498jmp 0x1855ac
    0018549d
    0018549dloc_18549d:
    0018549dmov rcx, [rsp+8]
    001854a2mov rax, [rcx+16]
    001854a6lea rsi, [rsp+72]
    001854abmov [rsi+64], rax
    001854afmovups x0, [rcx]
    001854b2movups [rsi+48], x0
    001854b6mov rax, [rsp]
    001854balea rdi, [rax+8]
    001854bepush 9
    001854c0pop rcx
    001854c1rep movsq [rdi], [rsi]
    001854c4mov [rax], 34
    001854cajmp 0x1855c0
    001854cf
    001854cfloc_1854cf:
    001854cfmov r13, rdx
    001854d2lea rbx, [rsp+16]
    001854d7mov rdi, rbx
    001854damov rsi, r14
    001854ddcall regex_syntax::ast::parse::ParserI<P>::span_char
    001854e2mov rdi, [rsp+72]
    001854e7mov rsi, [rsp+88]
    001854eclea rcx, [rip+0x6cef5]
    001854f3mov rdx, r13
    001854f6call _<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index
    001854fbmovups x0, [rax]
    001854femovups x1, [rax+16]
    00185502movups x2, [rax+32]
    00185506lea r8, [rsp+208]
    0018550emovups [r8+8], x0
    00185513movups [r8+24], x1
    00185518movups [r8+40], x2
    0018551dmov [r8], 14
    00185524jmp 0x18559d
    00185526
    00185526loc_185526:
    00185526lea rsi, [rsp+213]
    0018552emov r14, [rsp]
    00185532lea rdi, [r14+5]
    00185536push 123
    00185538pop rdx
    00185539call [rip+0x8c5e1]
    0018553fmov [r14], r13l
    00185542mov [r14+4], bl
    00185546jmp 0x1855b1
    00185548
    00185548loc_185548:
    00185548mov r13, rdx
    0018554blea rbx, [rsp+16]
    00185550mov rdi, rbx
    00185553mov rsi, r14
    00185556call regex_syntax::ast::parse::ParserI<P>::span_char
    0018555bmov rdi, [rsp+72]
    00185560mov rsi, [rsp+88]
    00185565lea rcx, [rip+0x6ce94]
    0018556cmov rdx, r13
    0018556fcall _<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index
    00185574movups x0, [rax]
    00185577movups x1, [rax+16]
    0018557bmovups x2, [rax+32]
    0018557flea r8, [rsp+208]
    00185587movups [r8+8], x0
    0018558cmovups [r8+24], x1
    00185591movups [r8+40], x2
    00185596mov [r8], 13
    0018559d
    0018559dloc_18559d:
    0018559dmov rsi, [r14+8]
    001855a1mov rdx, [r14+16]
    001855a5mov rdi, [rsp]
    001855a9mov rcx, rbx
    001855ac
    001855acloc_1855ac:
    001855accall regex_syntax::ast::parse::ParserI<P>::error
    001855b1
    001855b1loc_1855b1:
    001855b1mov rdi, [rsp+72]
    001855b6mov rsi, [rsp+80]
    001855bbcall _<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop
    001855c0
    001855c0loc_1855c0:
    001855c0add rsp, 440
    001855c7pop rbx
    001855c8pop r12
    001855capop r13
    001855ccpop r14
    001855cepop r15
    001855d0pop rbp
    001855d1ret
    00185293
    001855d2
    001855d2regex_syntax::ast::parse::ParserI<P>::parse_capture_name:
    001855d2push rbp
    001855d3push r15
    001855d5push r14
    001855d7push r13
    001855d9push r12
    001855dbpush rbx
    001855dcsub rsp, 408
    001855e3mov r12, rsi
    001855e6mov r14, [rsi]
    001855e9mov rax, [rsi+16]
    001855edlea rsi, [r14+160]
    001855f4mov r15, [r14+160]
    001855fbcmp r15, rax
    001855fejne 0x185641
    00185600mov rax, [rsi+16]
    00185604lea rcx, [rsp+176]
    0018560cmov [rcx+40], rax
    00185610movups x0, [rsi]
    00185613movups [rcx+24], x0
    00185617movups x0, [rsi]
    0018561amovaps [rcx], x0
    0018561dmov rax, [rsi+16]
    00185621mov [rcx+16], rax
    00185625lea r8, [rsp+280]
    0018562dmov [r8], 20
    00185634mov rsi, [r12+8]
    00185639mov rdx, r15
    0018563cjmp 0x185a57
    00185641
    00185641loc_185641:
    00185641mov [rsp+16], rsi
    00185646mov [rsp+28], edx
    0018564amov [rsp+8], rax
    0018564fmov [rsp+32], rdi
    00185654lea rax, [r14+168]
    0018565bmov [rsp], rax
    0018565fmov rbx, [r14+168]
    00185666mov rbp, [r14+176]
    0018566d
    0018566dloc_18566d:
    0018566dmov rdi, r12
    00185670call regex_syntax::ast::parse::ParserI<P>::char
    00185675cmp eax, 62
    00185678je 0x1857f2
    0018567emov rdi, r12
    00185681call regex_syntax::ast::parse::ParserI<P>::char
    00185686mov r13l, eax
    00185689cmp [r14+160], r15
    00185690jne 0x1856bb
    00185692cmp [r14+168], rbx
    00185699jne 0x1856bb
    0018569bcmp [r14+176], rbp
    001856a2jne 0x1856bb
    001856a4cmp r13l, 95
    001856a8je 0x1856d4
    001856aamov edi, r13l
    001856adcall core::char::methods::_<impl char>::is_alphabetic
    001856b2test al, al
    001856b4jne 0x1856d4
    001856b6jmp 0x185a23
    001856bb
    001856bbloc_1856bb:
    001856bblea eax, [r13-46]
    001856bfcmp eax, 49
    001856c2ja 0x1856e5
    001856c4mov rcx, 0x2a00000000001
    001856cebt rcx, rax
    001856d2jae 0x1856e5
    001856d4
    001856d4loc_1856d4:
    001856d4mov rdi, r12
    001856d7call regex_syntax::ast::parse::ParserI<P>::bump
    001856dctest al, al
    001856dejne 0x18566d
    001856e0jmp 0x1857f2
    001856e5
    001856e5loc_1856e5:
    001856e5mov edi, r13l
    001856e8call core::char::methods::_<impl char>::is_alphabetic
    001856edlea ecx, [r13-48]
    001856f1cmp ecx, 10
    001856f4jb 0x1856d4
    001856f6test al, al
    001856f8jne 0x1856d4
    001856facmp r13l, 127
    001856fejbe 0x185a23
    00185704mov ecx, r13l
    00185707shl ecx, 11
    0018570apush 39
    0018570cpop rsi
    0018570dmov rdx, rsi
    00185710xor eax, eax
    00185712lea r9, [rip-0x13dff9]
    00185719mov r10l, 255
    0018571f
    0018571floc_18571f:
    0018571fshr rdx, 1
    00185722add rdx, rax
    00185725mov r8l, [r9+4*rdx]
    00185729shl r8l, 11
    0018572dxor edi, edi
    0018572fcmp r8l, ecx
    00185732setne dil
    00185736cmovb edi, r10l
    0018573acmp dil, 1
    0018573eje 0x185756
    00185740movzx eax, dil
    00185744inc rdx
    00185747cmp eax, 255
    0018574cjne 0x185760
    0018574emov rax, rdx
    00185751mov rdx, rsi
    00185754jmp 0x185759
    00185756
    00185756loc_185756:
    00185756mov rsi, rdx
    00185759
    00185759loc_185759:
    00185759sub rdx, rax
    0018575cja 0x18571f
    0018575ejmp 0x185763
    00185760
    00185760loc_185760:
    00185760mov rax, rdx
    00185763
    00185763loc_185763:
    00185763cmp rax, 38
    00185767ja 0x185c0f
    0018576dmov ecx, 275
    00185772push 37
    00185774pop rdx
    00185775je 0x185788
    00185777mov ecx, [r9+4*rax+4]
    0018577cshr ecx, 21
    0018577ftest rax, rax
    00185782je 0x1857ee
    00185784lea rdx, [rax-1]
    00185788
    00185788loc_185788:
    00185788mov edx, [r9+4*rdx]
    0018578cmov esi, 0x1fffff
    00185791and edx, esi
    00185793
    00185793loc_185793:
    00185793mov edi, [r9+4*rax]
    00185797shr edi, 21
    0018579amov rax, rdi
    0018579dnot rax
    001857a0add rax, rcx
    001857a3je 0x1857df
    001857a5sub r13l, edx
    001857a8dec rcx
    001857abxor edx, edx
    001857admov rax, rdi
    001857b0lea r8, [rip-0x13dffb]
    001857b7
    001857b7loc_1857b7:
    001857b7cmp rax, 274
    001857bdja 0x185bec
    001857c3movzx esi, [rax+r8]
    001857c8add edx, esi
    001857cacmp edx, r13l
    001857cdja 0x1857dc
    001857cfinc rax
    001857d2cmp rcx, rax
    001857d5jne 0x1857b7
    001857d7mov rdi, rcx
    001857dajmp 0x1857df
    001857dc
    001857dcloc_1857dc:
    001857dcmov rdi, rax
    001857df
    001857dfloc_1857df:
    001857dftest dil, 1
    001857e3jne 0x1856d4
    001857e9jmp 0x185a23
    001857ee
    001857eeloc_1857ee:
    001857eexor edx, edx
    001857f0jmp 0x185793
    001857f2
    001857f2loc_1857f2:
    001857f2mov rsi, [rsp+16]
    001857f7mov r13, [rsi]
    001857famov rax, [rsp]
    001857femovups x0, [rax]
    00185801movaps [rsp+160], x0
    00185809mov rdx, [rsp+8]
    0018580ecmp r13, rdx
    00185811jne 0x185856
    00185813mov rax, [rsi+16]
    00185817lea rcx, [rsp+176]
    0018581fmov [rcx+40], rax
    00185823movups x0, [rsi]
    00185826movups [rcx+24], x0
    0018582amovups x0, [rsi]
    0018582dmovaps [rcx], x0
    00185830mov rax, [rsi+16]
    00185834mov [rcx+16], rax
    00185838lea r8, [rsp+280]
    00185840mov [r8], 20
    00185847mov rsi, [r12+8]
    0018584cmov rdi, [rsp+32]
    00185851jmp 0x185a57
    00185856
    00185856loc_185856:
    00185856mov rdi, r12
    00185859call regex_syntax::ast::parse::ParserI<P>::char
    0018585emov [rsp+176], eax
    00185865cmp eax, 62
    00185868jne 0x185c1e
    0018586emov rdi, r12
    00185871call regex_syntax::ast::parse::ParserI<P>::bump
    00185876mov r12, [r12+8]
    0018587blea r8, [rip+0x6cb4e]
    00185882mov rdi, r12
    00185885mov rsi, [rsp+8]
    0018588amov rdx, r15
    0018588dmov rcx, r13
    00185890call core::str::traits::_<impl core::ops::index::Index<I> for str>::index
    00185895test rdx, rdx
    00185898je 0x1859e6
    0018589emov [rsp+48], r12
    001858a3movaps x0, [rsp+160]
    001858abmovups [rsp+136], x0
    001858b3mov rdi, rdx
    001858b6mov [rsp+16], rdx
    001858bbmov [rsp], rax
    001858bfcall alloc::raw_vec::RawVec<T,A>::allocate_in
    001858c4mov r12, rax
    001858c7mov [rsp+40], rdx
    001858ccmov rdi, rax
    001858cfmov rsi, [rsp]
    001858d3mov rdx, [rsp+16]
    001858d8call [rip+0x8c242]
    001858demov rcx, [rsp+16]
    001858e3mov [rsp+104], r15
    001858e8mov [rsp+112], rbx
    001858edmov [rsp+120], rbp
    001858f2mov [rsp+128], r13
    001858famov [rsp], r12
    001858femov [rsp+80], r12
    00185903mov rax, [rsp+40]
    00185908mov [rsp+88], rax
    0018590dmov [rsp+96], rcx
    00185912mov eax, [rsp+28]
    00185916mov [rsp+152], eax
    0018591dcmp [r14+96], 0
    00185922jne 0x185c47
    00185928or [r14+96], -1
    0018592dmov rbx, [r14+104]
    00185931mov r12, [r14+120]
    00185935xor r15l, r15l
    00185938mov r13, r12
    0018593b
    0018593bloc_18593b:
    0018593bcmp r15, r12
    0018593ejae 0x18598b
    00185940shr r13, 1
    00185943add r13, r15
    00185946imul rbp, r13, 80
    0018594amov rdi, [rbx+rbp]
    0018594emov rsi, [rbx+rbp+16]
    00185953mov rdx, [rsp]
    00185957call core::cmp::impls::_<impl core::cmp::Ord for &A>::cmp
    0018595ccmp al, 1
    0018595eje 0x18597e
    00185960movzx eax, al
    00185963cmp eax, 255
    00185968mov rsi, [rsp+48]
    0018596djne 0x185a6e
    00185973inc r13
    00185976mov r15, r13
    00185979mov r13, r12
    0018597cjmp 0x185981
    0018597e
    0018597eloc_18597e:
    0018597emov r12, r13
    00185981
    00185981loc_185981:
    00185981sub r13, r15
    00185984mov rcx, [rsp+16]
    00185989jmp 0x18593b
    0018598b
    0018598bloc_18598b:
    0018598blea rax, [rsp+104]
    00185990movups x0, [rax]
    00185993movups x1, [rax+16]
    00185997movups x2, [rax+32]
    0018599blea rbx, [rsp+176]
    001859a3movups [rbx+56], x2
    001859a7movups [rbx+40], x1
    001859abmovups [rbx+24], x0
    001859afmov rdi, rbx
    001859b2mov rsi, [rsp]
    001859b6mov rdx, rcx
    001859b9call _<alloc::string::String as core::clone::Clone>::clone
    001859bemov eax, [rsp+28]
    001859c2mov [rbx+72], eax
    001859c5mov r13, [r14+120]
    001859c9cmp r13, [r14+112]
    001859cdjne 0x185b5a
    001859d3mov rsi, r13
    001859d6inc rsi
    001859d9jne 0x185abc
    001859dfxor edi, edi
    001859e1jmp 0x185b55
    001859e6
    001859e6loc_1859e6:
    001859e6lea rcx, [rsp+176]
    001859eemov [rcx], r15
    001859f1mov [rcx+8], rbx
    001859f5mov [rcx+16], rbp
    001859f9mov [rcx+24], r15
    001859fdmov [rcx+32], rbx
    00185a01mov [rcx+40], rbp
    00185a05lea r8, [rsp+280]
    00185a0dmov [r8], 18
    00185a14mov rdi, [rsp+32]
    00185a19mov rsi, r12
    00185a1cmov rdx, [rsp+8]
    00185a21jmp 0x185a57
    00185a23
    00185a23loc_185a23:
    00185a23lea rbx, [rsp+176]
    00185a2bmov rdi, rbx
    00185a2emov rsi, r12
    00185a31call regex_syntax::ast::parse::ParserI<P>::span_char
    00185a36lea r8, [rsp+280]
    00185a3emov [r8], 19
    00185a45mov rsi, [r12+8]
    00185a4amov rdi, [rsp+32]
    00185a4fmov rdx, [rsp+8]
    00185a54mov rcx, rbx
    00185a57
    00185a57loc_185a57:
    00185a57call regex_syntax::ast::parse::ParserI<P>::error
    00185a5c
    00185a5cloc_185a5c:
    00185a5cadd rsp, 408
    00185a63pop rbx
    00185a64pop r12
    00185a66pop r13
    00185a68pop r14
    00185a6apop r15
    00185a6cpop rbp
    00185a6dret
    00185a6e
    00185a6eloc_185a6e:
    00185a6emovups x0, [rbx+rbp+24]
    00185a73movups x1, [rbx+rbp+40]
    00185a78movups x2, [rbx+rbp+56]
    00185a7dlea r8, [rsp+176]
    00185a85movups [r8+40], x2
    00185a8amovups [r8+24], x1
    00185a8fmovups [r8+8], x0
    00185a94mov [r8], 17
    00185a9blea rbx, [rsp+280]
    00185aa3mov rdi, rbx
    00185aa6mov rdx, [rsp+8]
    00185aablea rcx, [rsp+104]
    00185ab0call regex_syntax::ast::parse::ParserI<P>::error
    00185ab5mov eax, [rbx]
    00185ab7jmp 0x185b9e
    00185abc
    00185abcloc_185abc:
    00185abclea rax, [2*r13]
    00185ac4cmp rax, rsi
    00185ac7cmova rsi, rax
    00185acbcmp rsi, 5
    00185acfpush 4
    00185ad1pop r12
    00185ad3cmovae r12, rsi
    00185ad7mov rax, 0x19999999999999a
    00185ae1xor esi, esi
    00185ae3cmp r12, rax
    00185ae6setb sil
    00185aeaimul rdx, r12, 80
    00185aeeshl rsi, 3
    00185af2test r13, r13
    00185af5je 0x185b14
    00185af7imul rax, r13, 80
    00185afbmov rcx, [r14+104]
    00185affmov [rsp+56], rcx
    00185b04mov [rsp+64], 8
    00185b0dmov [rsp+72], rax
    00185b12jmp 0x185b1a
    00185b14
    00185b14loc_185b14:
    00185b14and [rsp+64], 0
    00185b1a
    00185b1aloc_185b1a:
    00185b1alea rbx, [rsp+256]
    00185b22lea rcx, [rsp+56]
    00185b27mov rdi, rbx
    00185b2acall alloc::raw_vec::finish_grow
    00185b2fcmp [rbx], 0
    00185b33mov rdi, [rbx+8]
    00185b37je 0x185b43
    00185b39mov rsi, [rsp+272]
    00185b41jmp 0x185b55
    00185b43
    00185b43loc_185b43:
    00185b43mov [r14+104], rdi
    00185b47mov [r14+112], r12
    00185b4bmov rdi, 0x8000000000000001
    00185b55
    00185b55loc_185b55:
    00185b55call alloc::raw_vec::handle_reserve
    00185b5a
    00185b5aloc_185b5a:
    00185b5aimul rbx, r15, 80
    00185b5eadd rbx, [r14+104]
    00185b62mov rax, r13
    00185b65sub rax, r15
    00185b68jbe 0x185b7d
    00185b6alea rdi, [rbx+80]
    00185b6eimul rdx, rax, 80
    00185b72mov rsi, rbx
    00185b75call [rip+0x8bf95]
    00185b7bjmp 0x185b83
    00185b7d
    00185b7dloc_185b7d:
    00185b7djne 0x185c55
    00185b83
    00185b83loc_185b83:
    00185b83push 10
    00185b85pop rcx
    00185b86lea rsi, [rsp+176]
    00185b8emov rdi, rbx
    00185b91rep movsq [rdi], [rsi]
    00185b94inc r13
    00185b97mov [r14+120], r13
    00185b9bpush 34
    00185b9dpop rax
    00185b9e
    00185b9eloc_185b9e:
    00185b9einc [r14+96]
    00185ba2cmp eax, 34
    00185ba5mov rdx, [rsp+32]
    00185baajne 0x185bc6
    00185baclea rdi, [rdx+8]
    00185bb0push 10
    00185bb2pop rcx
    00185bb3lea rsi, [rsp+80]
    00185bb8rep movsq [rdi], [rsi]
    00185bbbmov [rdx], 34
    00185bc1jmp 0x185a5c
    00185bc6
    00185bc6loc_185bc6:
    00185bc6lea rsi, [rsp+284]
    00185bcelea rdi, [rdx+4]
    00185bd2push 31
    00185bd4pop rcx
    00185bd5rep movsd [rdi], [rsi]
    00185bd7mov [rdx], eax
    00185bd9mov rdi, [rsp]
    00185bddmov rsi, [rsp+40]
    00185be2call core::ptr::drop_in_place<alloc::boxed::Box<str>>
    00185be7jmp 0x185a5c
    00185bec
    00185becloc_185bec:
    00185beccmp rdi, 276
    00185bf3mov eax, 275
    00185bf8cmovb rdi, rax
    00185bfclea rdx, [rip+0x65585]
    00185c03mov esi, 275
    00185c08
    00185c08loc_185c08:
    00185c08call core::panicking::panic_bounds_check
    00185c0dud2
    00185c0f
    00185c0floc_185c0f:
    00185c0flea rdx, [rip+0x6555a]
    00185c16push 39
    00185c18pop rdi
    00185c19mov rsi, rdi
    00185c1cjmp 0x185c08
    00185c1e
    00185c1eloc_185c1e:
    00185c1elea rdx, [rsp+280]
    00185c26and [rdx], 0
    00185c2alea rsi, [rip-0x14bc31]
    00185c31lea rcx, [rip+0x6c780]
    00185c38lea rdi, [rsp+176]
    00185c40call core::panicking::assert_failed
    00185c45ud2
    00185c47
    00185c47loc_185c47:
    00185c47lea rdi, [rip+0x6c3b2]
    00185c4ecall core::cell::panic_already_borrowed
    00185c53ud2
    00185c55
    00185c55loc_185c55:
    00185c55mov rdi, r15
    00185c58mov rsi, r13
    00185c5bcall alloc::vec::Vec<T,A>::insert::assert_failed
    00185c60ud2
    001855d2