File akira_3298d203c2acb68c474e5fdad8379181890b4403d6491c523c13730129be3f75.elf
Function:
    00182993
    00182993regex_syntax::ast::visitor::HeapVisitor::induct_class:
    00182993test rsi, rsi
    00182996je 0x1829ab
    00182998movups x0, [rdx]
    0018299bmov [rdi], 2
    001829a2mov [rdi+8], rdx
    001829a6movups [rdi+16], x0
    001829aaret
    001829ab
    001829abloc_1829ab:
    001829abmov ecx, 0xffffffffffef0000
    001829b0add ecx, [rdx+152]
    001829b6cmp ecx, 8
    001829b9push 2
    001829bbpop rax
    001829bccmovb eax, ecx
    001829bfcmp eax, 6
    001829c2je 0x1829f8
    001829c4cmp eax, 7
    001829c7jne 0x1829f0
    001829c9mov rax, [rdx+16]
    001829cdtest rax, rax
    001829d0je 0x1829f0
    001829d2mov rcx, [rdx]
    001829d5dec rax
    001829d8and [rdi], 0
    001829dcmov [rdi+8], rcx
    001829e0add rcx, 160
    001829e7mov [rdi+16], rcx
    001829ebmov [rdi+24], rax
    001829efret
    001829f0
    001829f0loc_1829f0:
    001829f0mov [rdi], 4
    001829f7ret
    001829f8
    001829f8loc_1829f8:
    001829f8mov rcx, [rdx]
    001829fblea rax, [rcx+48]
    001829ffcmp [rcx+200], 0x110008
    00182a09jne 0x182a17
    00182a0bmov [rdi], 1
    00182a12mov [rdi+8], rax
    00182a16ret
    00182a17
    00182a17loc_182a17:
    00182a17and [rdi], 0
    00182a1bmov [rdi+8], rax
    00182a1flea rax, [rip-0xf172e]
    00182a26mov [rdi+16], rax
    00182a2aand [rdi+24], 0
    00182a2fret
    00182993
    00182a30
    00182a30regex_syntax::ast::visitor::ClassFrame::child:
    00182a30mov rax, [rdi]
    00182a33lea rcx, [rip-0x143fee]
    00182a3amovsxd rax, [rcx+4*rax]
    00182a3eadd rax, rcx
    00182a41jmp rax
    00182a43mov rdx, [rdi+16]
    00182a47cmp [rdx+152], 0x110008
    00182a51sete al
    00182a54jmp 0x182a64
    00182a56mov rdx, [rdi+8]
    00182a5axor eax, eax
    00182a5cjmp 0x182a64
    00182a5emov rdx, [rdi+8]
    00182a62mov al, 1
    00182a64
    00182a64loc_182a64:
    00182a64movzx eax, al
    00182a67ret
    00182a30
    00182a68
    00182a68alloc::vec::Vec<T,A>::push:
    00182a68push r14
    00182a6apush rbx
    00182a6bpush rax
    00182a6cmov r14, rsi
    00182a6fmov rbx, rdi
    00182a72mov rsi, [rdi+16]
    00182a76cmp rsi, [rdi+8]
    00182a7ajne 0x182a88
    00182a7cmov rdi, rbx
    00182a7fcall alloc::raw_vec::RawVec<T,A>::reserve_for_push
    00182a84mov rsi, [rbx+16]
    00182a88
    00182a88loc_182a88:
    00182a88mov rax, [rbx]
    00182a8bimul rcx, rsi, 48
    00182a8fmovups x0, [r14]
    00182a93movups x1, [r14+16]
    00182a98movups x2, [r14+32]
    00182a9dmovups [rax+rcx+32], x2
    00182aa2movups [rax+rcx+16], x1
    00182aa7movups [rax+rcx], x0
    00182aabinc rsi
    00182aaemov [rbx+16], rsi
    00182ab2add rsp, 8
    00182ab6pop rbx
    00182ab7pop r14
    00182ab9ret
    00182a68
    00182aba
    00182abaregex_syntax::ast::visitor::HeapVisitor::visit_class_post:
    00182abapush rbx
    00182abbmov rbx, rdi
    00182abetest rsi, rsi
    00182ac1jne 0x182acf
    00182ac3cmp [rdx+152], 0x110006
    00182acdjb 0x182ad7
    00182acf
    00182acfloc_182acf:
    00182acfmov rdi, rcx
    00182ad2call regex_syntax::ast::parse::NestLimiter<P>::decrement_depth
    00182ad7
    00182ad7loc_182ad7:
    00182ad7mov [rbx], 34
    00182addpop rbx
    00182aderet
    00182aba
    00182adf
    00182adfregex_syntax::ast::visitor::HeapVisitor::pop_class:
    00182adfmov rax, [rsi]
    00182ae2lea rcx, [rip-0x14408d]
    00182ae9movsxd rax, [rcx+4*rax]
    00182aedadd rax, rcx
    00182af0jmp rax
    00182af2
    00182af2loc_182af2:
    00182af2mov [rdi], 4
    00182af9ret
    00182afamov rax, [rsi+24]
    00182afetest rax, rax
    00182b01je 0x182af2
    00182b03mov rcx, [rsi+16]
    00182b07dec rax
    00182b0aand [rdi], 0
    00182b0emov [rdi+8], rcx
    00182b12add rcx, 160
    00182b19mov [rdi+16], rcx
    00182b1dmov [rdi+24], rax
    00182b21ret
    00182b22mov rax, [rsi+8]
    00182b26mov rcx, [rsi+24]
    00182b2amov [rdi], 3
    00182b31mov [rdi+8], rax
    00182b35mov [rdi+16], rcx
    00182b39ret
    00182adf
    00182b3a
    00182b3aregex_syntax::ast::parse::NestLimiter<P>::increment_depth:
    00182b3apush r15
    00182b3cpush r14
    00182b3epush r13
    00182b40push r12
    00182b42push rbx
    00182b43sub rsp, 192
    00182b4amov r14, rdx
    00182b4dmov r15, rsi
    00182b50mov rbx, rdi
    00182b53mov eax, [rsi+8]
    00182b56mov r13, [rsi]
    00182b59inc eax
    00182b5bjne 0x182b97
    00182b5dmov rax, 0xffffffff00000017
    00182b67lea r8, [rsp+136]
    00182b6fmov [r8], rax
    00182b72mov rsi, [r13+8]
    00182b76mov rdx, [r13+16]
    00182b7alea r12, [rsp+8]
    00182b7fmov rdi, r12
    00182b82mov rcx, r14
    00182b85call regex_syntax::ast::parse::ParserI<P>::error
    00182b8amov eax, [r12]
    00182b8ecmp eax, 34
    00182b91jne 0x182bd6
    00182b93mov eax, [rsp+12]
    00182b97
    00182b97loc_182b97:
    00182b97mov rcx, [r13]
    00182b9bmov ecx, [rcx+188]
    00182ba1cmp eax, ecx
    00182ba3jbe 0x182bca
    00182ba5lea r8, [rsp+8]
    00182baamov [r8+4], ecx
    00182baemov [r8], 23
    00182bb5mov rsi, [r13+8]
    00182bb9mov rdx, [r13+16]
    00182bbdmov rdi, rbx
    00182bc0mov rcx, r14
    00182bc3call regex_syntax::ast::parse::ParserI<P>::error
    00182bc8jmp 0x182bed
    00182bca
    00182bcaloc_182bca:
    00182bcamov [r15+8], eax
    00182bcemov [rbx], 34
    00182bd4jmp 0x182bed
    00182bd6
    00182bd6loc_182bd6:
    00182bd6lea rsi, [rsp+16]
    00182bdbmov edx, [rsi-4]
    00182bdelea rdi, [rbx+8]
    00182be2push 15
    00182be4pop rcx
    00182be5rep movsq [rdi], [rsi]
    00182be8mov [rbx], eax
    00182beamov [rbx+4], edx
    00182bed
    00182bedloc_182bed:
    00182bedadd rsp, 192
    00182bf4pop rbx
    00182bf5pop r12
    00182bf7pop r13
    00182bf9pop r14
    00182bfbpop r15
    00182bfdret
    00182b3a
    00182bfe
    00182bferegex_syntax::ast::parse::ParserI<P>::error:
    00182bfepush rbp
    00182bffpush r15
    00182c01push r14
    00182c03push r13
    00182c05push r12
    00182c07push rbx
    00182c08push rax
    00182c09mov rbx, r8
    00182c0cmov r14, rcx
    00182c0fmov r15, rdx
    00182c12mov r12, rsi
    00182c15mov r13, rdi
    00182c18mov rdi, rdx
    00182c1bcall alloc::raw_vec::RawVec<T,A>::allocate_in
    00182c20mov rbp, rax
    00182c23mov [rsp], rdx
    00182c27mov rdi, rax
    00182c2amov rsi, r12
    00182c2dmov rdx, r15
    00182c30call [rip+0x8eeea]
    00182c36movups x0, [rbx]
    00182c39movups x1, [rbx+16]
    00182c3dmovups x2, [rbx+32]
    00182c41movups [r13], x0
    00182c46movups [r13+16], x1
    00182c4bmovups [r13+32], x2
    00182c50mov rax, [rbx+48]
    00182c54mov [r13+48], rax
    00182c58mov [r13+56], rbp
    00182c5cmov rax, [rsp]
    00182c60mov [r13+64], rax
    00182c64mov [r13+72], r15
    00182c68movups x0, [r14]
    00182c6cmovups x1, [r14+16]
    00182c71movups x2, [r14+32]
    00182c76movups [r13+112], x2
    00182c7bmovups [r13+96], x1
    00182c80movups [r13+80], x0
    00182c85add rsp, 8
    00182c89pop rbx
    00182c8apop r12
    00182c8cpop r13
    00182c8epop r14
    00182c90pop r15
    00182c92pop rbp
    00182c93ret
    00182bfe
    00182c94
    00182c94regex_syntax::ast::parse::ParserI<P>::bump_and_bump_space:
    00182c94push rbx
    00182c95mov rbx, rdi
    00182c98call regex_syntax::ast::parse::ParserI<P>::bump
    00182c9dtest al, al
    00182c9fje 0x182cbc
    00182ca1mov rdi, rbx
    00182ca4call regex_syntax::ast::parse::ParserI<P>::bump_space
    00182ca9mov rax, [rbx]
    00182cacmov rax, [rax+160]
    00182cb3cmp rax, [rbx+16]
    00182cb7setne al
    00182cbajmp 0x182cbe
    00182cbc
    00182cbcloc_182cbc:
    00182cbcxor eax, eax
    00182cbe
    00182cbeloc_182cbe:
    00182cbepop rbx
    00182cbfret
    00182c94
    00182cc0
    00182cc0regex_syntax::ast::parse::ParserI<P>::parse_decimal:
    00182cc0push rbp
    00182cc1push r15
    00182cc3push r14
    00182cc5push r13
    00182cc7push r12
    00182cc9push rbx
    00182ccasub rsp, 136
    00182cd1mov r15, rsi
    00182cd4mov r14, rdi
    00182cd7mov rbp, [rsi]
    00182cdalea rdi, [rbp+128]
    00182ce1lea rsi, [rip+0x6f850]
    00182ce8call core::cell::RefCell<T>::borrow_mut
    00182cedmov r13, rax
    00182cf0and [rax+16], 0
    00182cf5mov rbx, rdx
    00182cf8add rbp, 160
    00182cffmov r12, [r15+16]
    00182d03
    00182d03loc_182d03:
    00182d03cmp [rbp], r12
    00182d07je 0x182d26
    00182d09mov rdi, r15
    00182d0ccall regex_syntax::ast::parse::ParserI<P>::char
    00182d11mov edi, eax
    00182d13call core::char::methods::_<impl char>::is_whitespace
    00182d18test al, al
    00182d1aje 0x182d26
    00182d1cmov rdi, r15
    00182d1fcall regex_syntax::ast::parse::ParserI<P>::bump
    00182d24jmp 0x182d03
    00182d26
    00182d26loc_182d26:
    00182d26mov rax, [rbp+16]
    00182d2amov [rsp+16], rax
    00182d2fmovups x0, [rbp]
    00182d33movaps [rsp], x0
    00182d37
    00182d37loc_182d37:
    00182d37cmp [rbp], r12
    00182d3bje 0x182d73
    00182d3dmov rdi, r15
    00182d40call regex_syntax::ast::parse::ParserI<P>::char
    00182d45cmp eax, 47
    00182d48jbe 0x182d73
    00182d4amov rdi, r15
    00182d4dcall regex_syntax::ast::parse::ParserI<P>::char
    00182d52cmp eax, 57
    00182d55ja 0x182d73
    00182d57mov rdi, r15
    00182d5acall regex_syntax::ast::parse::ParserI<P>::char
    00182d5fmov rdi, r13
    00182d62mov esi, eax
    00182d64call _ZN5alloc6string6String4push17hd5aad5ee06e44fdeE.947
    00182d69mov rdi, r15
    00182d6ccall regex_syntax::ast::parse::ParserI<P>::bump_and_bump_space
    00182d71jmp 0x182d37
    00182d73
    00182d73loc_182d73:
    00182d73mov rax, [rsp+16]
    00182d78mov [rsp+48], rax
    00182d7dmovaps x0, [rsp]
    00182d81movaps [rsp+32], x0
    00182d86movups x0, [rbp]
    00182d8amovups [rsp+56], x0
    00182d8fmov rax, [rbp+16]
    00182d93mov [rsp+72], rax
    00182d98
    00182d98loc_182d98:
    00182d98cmp [rbp], r12
    00182d9cje 0x182dbb
    00182d9emov rdi, r15
    00182da1call regex_syntax::ast::parse::ParserI<P>::char
    00182da6mov edi, eax
    00182da8call core::char::methods::_<impl char>::is_whitespace
    00182dadtest al, al
    00182dafje 0x182dbb
    00182db1mov rdi, r15
    00182db4call regex_syntax::ast::parse::ParserI<P>::bump_and_bump_space
    00182db9jmp 0x182d98
    00182dbb
    00182dbbloc_182dbb:
    00182dbbmov rsi, [r13+16]
    00182dbftest rsi, rsi
    00182dc2je 0x182de5
    00182dc4mov rdi, [r13]
    00182dc8push 10
    00182dcapop rdx
    00182dcbcall core::num::_<impl u32>::from_str_radix
    00182dd0test al, 1
    00182dd2jne 0x182df3
    00182dd4shr rax, 32
    00182dd8mov [r14+4], eax
    00182ddcmov [r14], 34
    00182de3jmp 0x182e13
    00182de5
    00182de5loc_182de5:
    00182de5lea r8, [rsp+80]
    00182deamov [r8], 5
    00182df1jmp 0x182dff
    00182df3
    00182df3loc_182df3:
    00182df3lea r8, [rsp+80]
    00182df8mov [r8], 6
    00182dff
    00182dffloc_182dff:
    00182dffmov rsi, [r15+8]
    00182e03lea rcx, [rsp+32]
    00182e08mov rdi, r14
    00182e0bmov rdx, r12
    00182e0ecall regex_syntax::ast::parse::ParserI<P>::error
    00182e13
    00182e13loc_182e13:
    00182e13inc [rbx]
    00182e16add rsp, 136
    00182e1dpop rbx
    00182e1epop r12
    00182e20pop r13
    00182e22pop r14
    00182e24pop r15
    00182e26pop rbp
    00182e27ret
    00182cc0
    00182e28
    00182e28regex_syntax::ast::parse::specialize_err:
    00182e28push r15
    00182e2apush r14
    00182e2cpush rbx
    00182e2dsub rsp, 128
    00182e34mov r15, rsi
    00182e37mov rbx, rdi
    00182e3amov eax, [rsi]
    00182e3ccmp rax, 34
    00182e40je 0x182ef4
    00182e46cmp eax, [rdx]
    00182e48jne 0x182ef4
    00182e4emov r14, rcx
    00182e51cmp eax, 23
    00182e54je 0x182e8e
    00182e56cmp eax, 14
    00182e59je 0x182e6c
    00182e5bcmp eax, 17
    00182e5eje 0x182e73
    00182e60cmp eax, 13
    00182e63jne 0x182e9c
    00182e65cmp eax, 13
    00182e68je 0x182e78
    00182e6ajmp 0x182e9c
    00182e6c
    00182e6cloc_182e6c:
    00182e6ccmp eax, 14
    00182e6fje 0x182e78
    00182e71jmp 0x182e9c
    00182e73
    00182e73loc_182e73:
    00182e73cmp eax, 17
    00182e76jne 0x182e9c
    00182e78
    00182e78loc_182e78:
    00182e78lea rdi, [r15+8]
    00182e7cadd rdx, 8
    00182e80mov rsi, rdx
    00182e83call _<regex_syntax::ast::Span as core::cmp::PartialEq>::eq
    00182e88test al, al
    00182e8ajne 0x182e9c
    00182e8cjmp 0x182ef4
    00182e8e
    00182e8eloc_182e8e:
    00182e8ecmp eax, 23
    00182e91jne 0x182e9c
    00182e93mov eax, [r15+4]
    00182e97cmp eax, [rdx+4]
    00182e9ajne 0x182ef4
    00182e9c
    00182e9cloc_182e9c:
    00182e9cmov rax, [r15+72]
    00182ea0mov rsi, rsp
    00182ea3mov [rsi+72], rax
    00182ea7movups x0, [r15+56]
    00182eacmovups [rsi+56], x0
    00182eb0movups x0, [r15+80]
    00182eb5movups x1, [r15+96]
    00182ebamovups x2, [r15+112]
    00182ebfmovaps [rsi+80], x0
    00182ec3movaps [rsi+96], x1
    00182ec7movaps [rsi+112], x2
    00182ecbmovups x0, [r14]
    00182ecfmovups x1, [r14+16]
    00182ed4movups x2, [r14+32]
    00182ed9movaps [rsi], x0
    00182edcmovaps [rsi+16], x1
    00182ee0movaps [rsi+32], x2
    00182ee4mov rax, [r14+48]
    00182ee8mov [rsi+48], rax
    00182eecpush 16
    00182eeepop rcx
    00182eefmov rdi, rbx
    00182ef2jmp 0x182efd
    00182ef4
    00182ef4loc_182ef4:
    00182ef4push 16
    00182ef6pop rcx
    00182ef7mov rdi, rbx
    00182efamov rsi, r15
    00182efd
    00182efdloc_182efd:
    00182efdrep movsq [rdi], [rsi]
    00182f00add rsp, 128
    00182f07pop rbx
    00182f08pop r14
    00182f0apop r15
    00182f0cret
    00182e28
    00182f0d
    00182f0dregex_syntax::ast::Ast::span:
    00182f0dmov rax, rsi
    00182f10lea rcx, [rip-0x1444ab]
    00182f17movsxd rdx, [rcx+4*rdi]
    00182f1badd rdx, rcx
    00182f1ejmp rdx
    00182f20ret
    00182f21add rax, 24
    00182f25ret
    00182f26add rax, 72
    00182f2aret
    00182f2badd rax, 56
    00182f2fret
    00182f30add rax, 96
    00182f34ret
    00182f0d
    00182f35
    00182f35regex_syntax::ast::Ast::repetition:
    00182f35push rbx
    00182f36mov rbx, rdi
    00182f39push 8
    00182f3bpop rsi
    00182f3cmov edi, 128
    00182f41call _ZN5alloc5alloc15exchange_malloc17hc6dbbe43d4abbe5aE.641
    00182f46push 16
    00182f48pop rcx
    00182f49mov rdi, rax
    00182f4cmov rsi, rbx
    00182f4frep movsq [rdi], [rsi]
    00182f52pop rbx
    00182f53ret
    00182f35
    00182f54
    00182f54_<regex_syntax::ast::Span as core::cmp::PartialEq>::eq:
    00182f54push r14
    00182f56push rbx
    00182f57push rax
    00182f58mov rbx, rsi
    00182f5bmov r14, rdi
    00182f5ecall _<regex_syntax::ast::Position as core::cmp::PartialEq>::eq
    00182f63test al, al
    00182f65je 0x182f81
    00182f67add r14, 24
    00182f6badd rbx, 24
    00182f6fmov rdi, r14
    00182f72mov rsi, rbx
    00182f75add rsp, 8
    00182f79pop rbx
    00182f7apop r14
    00182f7cjmp 0x182f8b
    00182f81
    00182f81loc_182f81:
    00182f81xor eax, eax
    00182f83add rsp, 8
    00182f87pop rbx
    00182f88pop r14
    00182f8aret
    00182f54
    00182f8b
    00182f8b_<regex_syntax::ast::Position as core::cmp::PartialEq>::eq:
    00182f8bpush rax
    00182f8cpush 24
    00182f8epop rdx
    00182f8fcall [rip+0x8ed0b]
    00182f95test eax, eax
    00182f97sete al
    00182f9apop rcx
    00182f9bret
    00182f8b
    00182f9c
    00182f9cregex_syntax::ast::parse::ParserI<P>::unclosed_class_error:
    00182f9cpush r15
    00182f9epush r14
    00182fa0push rbx
    00182fa1sub rsp, 112
    00182fa5mov r14, rsi
    00182fa8mov rbx, rdi
    00182fabmov rdi, [rsi]
    00182faeadd rdi, 64
    00182fb2lea rsi, [rip+0x6f2ff]
    00182fb9call core::cell::RefCell<T>::borrow
    00182fbemov rcx, [rax+16]
    00182fc2imul rsi, rcx, 288
    00182fc9add rsi, [rax]
    00182fccmov r15, rdx
    00182fcfmov eax, 288
    00182fd4add rax, rsi
    00182fd7imul rcx, rcx, -288
    00182fde
    00182fdeloc_182fde:
    00182fdetest rcx, rcx
    00182fe1je 0x18304e
    00182fe3lea rdx, [rax-288]
    00182feaadd rcx, 288
    00182ff1cmp [rax-304], 0x110009
    00182ffbmov rax, rdx
    00182ffeje 0x182fde
    00183000movups x0, [rdx-216]
    00183007movups x1, [rdx-200]
    0018300emovups x2, [rdx-184]
    00183015lea rcx, [rsp+64]
    0018301amovaps [rcx+32], x2
    0018301emovaps [rcx+16], x1
    00183022movaps [rcx], x0
    00183025lea r8, [rsp+8]
    0018302amov [r8], 4
    00183031mov rsi, [r14+8]
    00183035mov rdx, [r14+16]
    00183039mov rdi, rbx
    0018303ccall regex_syntax::ast::parse::ParserI<P>::error
    00183041dec [r15]
    00183044add rsp, 112
    00183048pop rbx
    00183049pop r14
    0018304bpop r15
    0018304dret
    0018304e
    0018304eloc_18304e:
    0018304edec [r15]
    00183051lea rax, [rip+0x6f278]
    00183058lea rdi, [rsp+8]
    0018305dmov [rdi], rax
    00183060mov [rdi+8], 1
    00183068lea rax, [rip-0xf1d77]
    0018306fmov [rdi+16], rax
    00183073xorps x0, x0
    00183076movups [rdi+24], x0
    0018307alea rsi, [rip+0x6f25f]
    00183081call core::panicking::panic_fmt
    00183086ud2
    00182f9c
    00183088
    00183088regex_syntax::ast::parse::ParserI<P>::parse_set_class_range:
    00183088push rbp
    00183089push r15
    0018308bpush r14
    0018308dpush r13
    0018308fpush r12
    00183091push rbx
    00183092sub rsp, 696
    00183099mov r15, rsi
    0018309cmov rbx, rdi
    0018309fmov r14, rsp
    001830a2mov rdi, r14
    001830a5call regex_syntax::ast::parse::ParserI<P>::parse_set_class_item
    001830aamov r9l, [r14]
    001830adcmp r9l, 34
    001830b1jne 0x18311a
    001830b3lea rsi, [rsp+8]
    001830b8lea rax, [rsp+468]
    001830c0push 28
    001830c2pop rdx
    001830c3mov rcx, rdx
    001830c6mov rdi, rax
    001830c9rep movsd [rdi], [rsi]
    001830cblea r12, [rsp+352]
    001830d3mov rcx, rdx
    001830d6mov rdi, r12
    001830d9mov rsi, rax
    001830dcrep movsd [rdi], [rsi]
    001830demov rdi, r15
    001830e1call regex_syntax::ast::parse::ParserI<P>::bump_space
    001830e6mov rax, [r15]
    001830e9mov r14, [r15+16]
    001830edcmp [rax+160], r14
    001830f4jne 0x183168
    001830f6
    001830f6loc_1830f6:
    001830f6mov rdi, rbx
    001830f9mov rsi, r15
    001830fccall regex_syntax::ast::parse::ParserI<P>::unclosed_class_error
    00183101
    00183101loc_183101:
    00183101mov [rbx+152], 0x110008
    0018310blea rdi, [rsp+352]
    00183113
    00183113loc_183113:
    00183113call core::ptr::drop_in_place<regex_syntax::ast::parse::Primitive>
    00183118jmp 0x183156
    0018311a
    0018311aloc_18311a:
    0018311alea rax, [rsp+4]
    0018311fpush 29
    00183121pop rdx
    00183122lea r8, [rsp+464]
    0018312amov rcx, rdx
    0018312dmov rdi, r8
    00183130mov rsi, rax
    00183133rep movsd [rdi], [rsi]
    00183135mov rax, [rax+116]
    00183139lea rdi, [rbx+4]
    0018313dmov rcx, rdx
    00183140mov rsi, r8
    00183143rep movsd [rdi], [rsi]
    00183145mov [rbx], r9l
    00183148mov [rbx+120], rax
    0018314c
    0018314cloc_18314c:
    0018314cmov [rbx+152], 0x110008
    00183156
    00183156loc_183156:
    00183156add rsp, 696
    0018315dpop rbx
    0018315epop r12
    00183160pop r13
    00183162pop r14
    00183164pop r15
    00183166pop rbp
    00183167ret
    00183168
    00183168loc_183168:
    00183168mov rdi, r15
    0018316bcall regex_syntax::ast::parse::ParserI<P>::char
    00183170cmp eax, 45
    00183173jne 0x183193
    00183175mov rdi, r15
    00183178call regex_syntax::ast::parse::ParserI<P>::peek_space
    0018317dcmp eax, 93
    00183180je 0x183193
    00183182mov rdi, r15
    00183185call regex_syntax::ast::parse::ParserI<P>::peek_space
    0018318acmp eax, 45
    0018318djne 0x18329a
    00183193
    00183193loc_183193:
    00183193push 14
    00183195pop rcx
    00183196mov rax, rsp
    00183199lea rsi, [rsp+352]
    001831a1mov rdi, rax
    001831a4rep movsq [rdi], [rsi]
    001831a7mov cl, [rax+104]
    001831aaadd cl, -2
    001831admovzx esi, cl
    001831b0cmp sil, 4
    001831b4push 4
    001831b6pop rdx
    001831b7cmovb edx, esi
    001831batest dl, dl
    001831bcje 0x18322d
    001831bemovzx edx, dl
    001831c1cmp edx, 3
    001831c4je 0x1831ef
    001831c6cmp edx, 4
    001831c9jne 0x18326b
    001831cfpush 14
    001831d1pop rcx
    001831d2lea rsi, [rsp+352]
    001831damov rdi, rbx
    001831ddrep movsq [rdi], [rsi]
    001831e0mov [rbx+152], 0x110004
    001831eajmp 0x183156
    001831ef
    001831efloc_1831ef:
    001831efmov rax, [rsp+400]
    001831f7mov [rbx+48], rax
    001831fbmovups x0, [rsp+352]
    00183203movups x1, [rsp+368]
    0018320bmovups x2, [rsp+384]
    00183213movups [rbx+32], x2
    00183217movups [rbx+16], x1
    0018321bmovups [rbx], x0
    0018321emov [rbx+152], 0x110005
    00183228jmp 0x183156
    0018322d
    0018322dloc_18322d:
    0018322dmov rax, [rsp+400]
    00183235mov [rbx+48], rax
    00183239movups x0, [rsp+352]
    00183241movups x1, [rsp+368]
    00183249movups x2, [rsp+384]
    00183251movups [rbx+32], x2
    00183255movups [rbx+16], x1
    00183259movups [rbx], x0
    0018325cmov [rbx+152], 0x110001
    00183266jmp 0x183156
    0018326b
    0018326bloc_18326b:
    0018326bcmp cl, 4
    0018326elea rcx, [rsp+56]
    00183273cmovb rcx, rax
    00183277lea r8, [rsp+464]
    0018327fmov [r8], 1
    00183286mov rsi, [r15+8]
    0018328amov rdi, rbx
    0018328dmov rdx, r14
    00183290call regex_syntax::ast::parse::ParserI<P>::error
    00183295jmp 0x183101
    0018329a
    0018329aloc_18329a:
    0018329amov rdi, r15
    0018329dcall regex_syntax::ast::parse::ParserI<P>::bump_and_bump_space
    001832a2test al, al
    001832a4je 0x1830f6
    001832aamov r13, rsp
    001832admov rdi, r13
    001832b0mov rsi, r15
    001832b3call regex_syntax::ast::parse::ParserI<P>::parse_set_class_item
    001832b8mov r9l, [r13]
    001832bccmp r9l, 34
    001832c0jne 0x183497
    001832c6lea rsi, [rsp+8]
    001832cblea rax, [rsp+468]
    001832d3push 28
    001832d5pop rdx
    001832d6mov rcx, rdx
    001832d9mov rdi, rax
    001832dcrep movsd [rdi], [rsi]
    001832delea r8, [rsp+584]
    001832e6mov rcx, rdx
    001832e9mov rdi, r8
    001832ecmov rsi, rax
    001832efrep movsd [rdi], [rsi]
    001832f1lea rax, [rsp+408]
    001832f9mov cl, [rax+48]
    001832fcadd cl, -2
    001832ffcmp cl, 4
    00183302cmovb rax, r12
    00183306movups x0, [rax]
    00183309movaps [rsp+256], x0
    00183311mov rax, [rax+16]
    00183315mov [rsp+272], rax
    0018331dmov al, [r8+104]
    00183321add al, -2
    00183323cmp al, 4
    00183325lea rax, [rsp+640]
    0018332dcmovb rax, r8
    00183331movups x0, [rax+24]
    00183335movups [rsp+280], x0
    0018333dmov rax, [rax+40]
    00183341mov [rsp+296], rax
    00183349mov r15, [r15+8]
    0018334dmov r13, rsp
    00183350mov rdi, r13
    00183353mov rsi, r12
    00183356mov rdx, r15
    00183359mov rcx, r14
    0018335ccall regex_syntax::ast::parse::Primitive::into_class_literal
    00183361mov eax, [r13]
    00183365cmp eax, 34
    00183368jne 0x1834ce
    0018336emov r12, rsp
    00183371movups x0, [r12+8]
    00183377movups x1, [r12+24]
    0018337dmovups x2, [r12+40]
    00183383movups [rsp+164], x2
    0018338bmovups [rsp+148], x1
    00183393movups [rsp+132], x0
    0018339bmov ebp, [r12+56]
    001833a0mov r13l, [r12+60]
    001833a5lea rsi, [rsp+584]
    001833admov rdi, r12
    001833b0mov rdx, r15
    001833b3mov rcx, r14
    001833b6call regex_syntax::ast::parse::Primitive::into_class_literal
    001833bbmov eax, [r12]
    001833bfcmp eax, 34
    001833c2jne 0x183574
    001833c8lea rcx, [rsp+132]
    001833d0movups x0, [rsp+8]
    001833d5movups x1, [rsp+24]
    001833damovups x2, [rsp+40]
    001833dfmovups [rsp+228], x2
    001833e7movups [rsp+212], x1
    001833efmovups [rsp+196], x0
    001833f7mov eax, [rsp+56]
    001833fbmov edx, [rsp+60]
    001833ffmovaps [rsp+304], x0
    00183407movaps [rsp+320], x1
    0018340fmovaps [rsp+336], x2
    00183417movaps x0, [rsp+256]
    0018341fmovaps x1, [rsp+272]
    00183427movaps x2, [rsp+288]
    0018342fmovaps [rsp+496], x2
    00183437movaps [rsp+480], x1
    0018343fmovaps [rsp+464], x0
    00183447movups x0, [rcx]
    0018344amovups x1, [rcx+16]
    0018344emovups x2, [rcx+32]
    00183452movaps [rsp+544], x2
    0018345amovaps [rsp+528], x1
    00183462movaps [rsp+512], x0
    0018346acmp ebp, eax
    0018346cjbe 0x183608
    00183472mov r8, rsp
    00183475mov [r8], 2
    0018347clea rcx, [rsp+464]
    00183484mov rdi, rbx
    00183487mov rsi, r15
    0018348amov rdx, r14
    0018348dcall regex_syntax::ast::parse::ParserI<P>::error
    00183492jmp 0x18314c
    00183497
    00183497loc_183497:
    00183497lea rax, [rsp+4]
    0018349cpush 29
    0018349epop rdx
    0018349flea r8, [rsp+464]
    001834a7mov rcx, rdx
    001834aamov rdi, r8
    001834admov rsi, rax
    001834b0rep movsd [rdi], [rsi]
    001834b2mov rax, [rax+116]
    001834b6lea rdi, [rbx+4]
    001834bamov rcx, rdx
    001834bdmov rsi, r8
    001834c0rep movsd [rdi], [rsi]
    001834c2mov [rbx], r9l
    001834c5mov [rbx+120], rax
    001834c9jmp 0x183101
    001834ce
    001834celoc_1834ce:
    001834cemov ecx, [rsp+52]
    001834d2mov [rsp+176], ecx
    001834d9movups x0, [rsp+4]
    001834demovups x1, [rsp+20]
    001834e3movups x2, [rsp+36]
    001834e8movaps [rsp+160], x2
    001834f0movaps [rsp+144], x1
    001834f8movaps [rsp+128], x0
    00183500mov rcx, [rsp+56]
    00183505movups x0, [rsp+112]
    0018350amovups [rbx+112], x0
    0018350emovups x0, [rsp+96]
    00183513movups [rbx+96], x0
    00183517movups x0, [rsp+80]
    0018351cmovups [rbx+80], x0
    00183520movups x0, [rsp+64]
    00183525movups [rbx+64], x0
    00183529mov edx, [rsp+176]
    00183530mov [rbx+52], edx
    00183533movaps x0, [rsp+128]
    0018353bmovaps x1, [rsp+144]
    00183543movaps x2, [rsp+160]
    0018354bmovups [rbx+36], x2
    0018354fmovups [rbx+20], x1
    00183553movups [rbx+4], x0
    00183557mov [rbx], eax
    00183559mov [rbx+56], rcx
    0018355dmov [rbx+152], 0x110008
    00183567lea rdi, [rsp+584]
    0018356fjmp 0x183113
    00183574
    00183574loc_183574:
    00183574mov ecx, [rsp+52]
    00183578mov [rsp+240], ecx
    0018357fmovups x0, [rsp+4]
    00183584movups x1, [rsp+20]
    00183589movups x2, [rsp+36]
    0018358emovaps [rsp+224], x2
    00183596movaps [rsp+208], x1
    0018359emovaps [rsp+192], x0
    001835a6mov rcx, [rsp+56]
    001835abmovups x0, [rsp+112]
    001835b0movups [rbx+112], x0
    001835b4movups x0, [rsp+96]
    001835b9movups [rbx+96], x0
    001835bdmovups x0, [rsp+80]
    001835c2movups [rbx+80], x0
    001835c6movups x0, [rsp+64]
    001835cbmovups [rbx+64], x0
    001835cfmov edx, [rsp+240]
    001835d6mov [rbx+52], edx
    001835d9movaps x0, [rsp+192]
    001835e1movaps x1, [rsp+208]
    001835e9movaps x2, [rsp+224]
    001835f1movups [rbx+36], x2
    001835f5movups [rbx+20], x1
    001835f9movups [rbx+4], x0
    001835fdmov [rbx], eax
    001835ffmov [rbx+56], rcx
    00183603jmp 0x18314c
    00183608
    00183608loc_183608:
    00183608push 12
    0018360apop rcx
    0018360blea rsi, [rsp+464]
    00183613mov rdi, rbx
    00183616rep movsq [rdi], [rsi]
    00183619movaps x0, [rsp+304]
    00183621movaps x1, [rsp+320]
    00183629movaps x2, [rsp+336]
    00183631movups [rbx+136], x2
    00183638movups [rbx+120], x1
    0018363cmovups [rbx+104], x0
    00183640mov [rbx+96], ebp
    00183643mov [rbx+100], r13l
    00183647mov [rbx+152], eax
    0018364dmov [rbx+156], edx
    00183653jmp 0x183156
    00183088
    00183658
    00183658core::cell::RefCell<T>::borrow:
    00183658mov rax, [rdi]
    0018365bmov rcx, 0x7ffffffffffffffe
    00183665cmp rax, rcx
    00183668ja 0x183678
    0018366ainc rax
    0018366dmov [rdi], rax
    00183670lea rax, [rdi+8]
    00183674mov rdx, rdi
    00183677ret
    00183678
    00183678loc_183678:
    00183678push rax
    00183679mov rdi, rsi
    0018367ccall core::cell::panic_already_mutably_borrowed
    00183681ud2
    00183658
    00183683
    00183683regex_syntax::ast::parse::ParserI<P>::pop_class:
    00183683push rbp
    00183684push r15
    00183686push r14
    00183688push r13
    0018368apush r12
    0018368cpush rbx
    0018368dsub rsp, 1064
    00183694mov r14, rdx
    00183697mov r15, rsi
    0018369amov rbx, rdi
    0018369dmov rdi, rsi
    001836a0call regex_syntax::ast::parse::ParserI<P>::char
    001836a5mov [rsp+80], eax
    001836a9cmp eax, 93
    001836acjne 0x18389e
    001836b2lea r13, [rsp+744]
    001836bamov rdi, r13
    001836bdmov rsi, r14
    001836c0call regex_syntax::ast::ClassSetUnion::into_item
    001836c5mov r12, [r15]
    001836c8lea rdi, [rsp+584]
    001836d0mov rsi, r12
    001836d3mov rdx, r13
    001836d6call regex_syntax::ast::parse::ParserI<P>::pop_class_op
    001836dblea rdi, [r12+64]
    001836e0lea rsi, [rip+0x6eb69]
    001836e7call core::cell::RefCell<T>::borrow_mut
    001836ecmov r13, rax
    001836efmov [rsp], rdx
    001836f3mov rax, [rax+16]
    001836f7test rax, rax
    001836faje 0x18386c
    00183700dec rax
    00183703mov [r13+16], rax
    00183707imul rbp, rax, 288
    0018370eadd rbp, [r13]
    00183712lea r14, [rsp+296]
    0018371amov edx, 288
    0018371fmov rdi, r14
    00183722mov rsi, rbp
    00183725call [rip+0x8e3f5]
    0018372bmov eax, [r14+272]
    00183732cmp eax, 0x110009
    00183737je 0x1838c4
    0018373dcmp eax, 0x11000a
    00183742je 0x18386c
    00183748push 9
    0018374apop rcx
    0018374blea rdi, [rsp+8]
    00183750mov rsi, rbp
    00183753rep movsq [rdi], [rsi]
    00183756lea rsi, [rsp+368]
    0018375elea r14, [rsp+80]
    00183763mov rbp, [rip+0x8e3b6]
    0018376amov edx, 216
    0018376fmov rdi, r14
    00183772call rbp
    00183774mov rdi, r15
    00183777call regex_syntax::ast::parse::ParserI<P>::bump
    0018377cmovups x0, [r12+160]
    00183785movups [r14+24], x0
    0018378amov rax, [r12+176]
    00183792mov [r14+40], rax
    00183796lea r14, [rsp+128]
    0018379emov rdi, r14
    001837a1call core::ptr::drop_in_place<regex_syntax::ast::ClassSet>
    001837a6lea rsi, [rsp+584]
    001837aemov edx, 160
    001837b3mov rdi, r14
    001837b6call rbp
    001837b8cmp [r13+16], 0
    001837bdje 0x18381c
    001837bfpush 8
    001837c1pop rsi
    001837c2mov edi, 216
    001837c7call _ZN5alloc5alloc15exchange_malloc17hc6dbbe43d4abbe5aE.641
    001837ccmov r14, rax
    001837cflea rsi, [rsp+80]
    001837d4mov edx, 216
    001837d9mov rdi, rax
    001837dccall [rip+0x8e33e]
    001837e2lea rsi, [rsp+904]
    001837eamov [rsi], r14
    001837edmov [rsi+152], 0x110006
    001837f7lea r14, [rsp+8]
    001837fcmov rdi, r14
    001837ffcall regex_syntax::ast::ClassSetUnion::push
    00183804push 9
    00183806pop rcx
    00183807mov rdi, rbx
    0018380amov rsi, r14
    0018380drep movsq [rdi], [rsi]
    00183810mov [rbx+200], 0x110009
    0018381ajmp 0x183839
    0018381c
    0018381cloc_18381c:
    0018381clea rsi, [rsp+80]
    00183821mov edx, 216
    00183826mov rdi, rbx
    00183829call [rip+0x8e2f1]
    0018382flea rdi, [rsp+8]
    00183834call core::ptr::drop_in_place<alloc::vec::Vec<regex_syntax::ast::ClassSetItem>>
    00183839
    00183839loc_183839:
    00183839mov rax, [rsp]
    0018383dinc [rax]
    00183840cmp [rsp+568], 0x110009
    0018384bjne 0x18385a
    0018384dlea rdi, [rsp+296]
    00183855call core::ptr::drop_in_place<regex_syntax::ast::parse::ClassState>
    0018385a
    0018385aloc_18385a:
    0018385aadd rsp, 1064
    00183861pop rbx
    00183862pop r12
    00183864pop r13
    00183866pop r14
    00183868pop r15
    0018386apop rbp
    0018386bret
    0018386c
    0018386cloc_18386c:
    0018386clea rax, [rip+0x6e9f5]
    00183873lea rdi, [rsp+80]
    00183878mov [rdi], rax
    0018387bmov [rdi+8], 1
    00183883lea rax, [rip-0xf2592]
    0018388amov [rdi+16], rax
    0018388exorps x0, x0
    00183891movups [rdi+24], x0
    00183895lea rsi, [rip+0x6e9dc]
    0018389cjmp 0x1838f4
    0018389e
    0018389eloc_18389e:
    0018389elea rdx, [rsp+296]
    001838a6and [rdx], 0
    001838aalea rsi, [rip-0x1498b9]
    001838b1lea rcx, [rip+0x6e980]
    001838b8lea rdi, [rsp+80]
    001838bdcall core::panicking::assert_failed
    001838c2ud2
    001838c4
    001838c4loc_1838c4:
    001838c4lea rax, [rip+0x6e9c5]
    001838cblea rdi, [rsp+80]
    001838d0mov [rdi], rax
    001838d3mov [rdi+8], 1
    001838dblea rax, [rip-0xf25ea]
    001838e2mov [rdi+16], rax
    001838e6xorps x0, x0
    001838e9movups [rdi+24], x0
    001838edlea rsi, [rip+0x6e9ac]
    001838f4
    001838f4loc_1838f4:
    001838f4call core::panicking::panic_fmt
    001838f9ud2
    00183683
    001838fb
    001838fbregex_syntax::ast::parse::ParserI<P>::peek:
    001838fbpush r15
    001838fdpush r14
    001838ffpush rbx
    00183900sub rsp, 16
    00183904mov rax, [rdi]
    00183907mov rbx, [rdi+16]
    0018390bmov r15, [rax+160]
    00183912mov eax, 0x110000
    00183917cmp r15, rbx
    0018391aje 0x18396f
    0018391cmov r14, [rdi+8]
    00183920call regex_syntax::ast::parse::ParserI<P>::char
    00183925cmp eax, 128
    0018392ajae 0x183930
    0018392cpush 1
    0018392ejmp 0x183939
    00183930
    00183930loc_183930:
    00183930cmp eax, 2048
    00183935jae 0x18393c
    00183937push 2
    00183939
    00183939loc_183939:
    00183939pop rdx
    0018393ajmp 0x183948
    0018393c
    0018393cloc_18393c:
    0018393ccmp eax, 0x10000
    00183941push 4
    00183943pop rdx
    00183944sbb rdx, 0
    00183948
    00183948loc_183948:
    00183948add rdx, r15
    0018394blea rcx, [rip+0x6e77e]
    00183952mov rdi, r14
    00183955mov rsi, rbx
    00183958call core::str::traits::_<impl core::ops::index::Index<I> for str>::index
    0018395dadd rdx, rax
    00183960mov rdi, rsp
    00183963mov [rdi], rax
    00183966mov [rdi+8], rdx
    0018396acall _ZN81_$LT$core..str..iter..Chars$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h2f7ee162baeb6befE.914
    0018396f
    0018396floc_18396f:
    0018396fadd rsp, 16
    00183973pop rbx
    00183974pop r14
    00183976pop r15
    00183978ret
    001838fb
    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