File akira_3298d203c2acb68c474e5fdad8379181890b4403d6491c523c13730129be3f75.elf
Function:
    00187259
    00187259_<regex_syntax::hir::translate::TranslatorI as regex_syntax::ast::visitor::Visitor>::visit_post:
    00187259push rbp
    0018725apush r15
    0018725cpush r14
    0018725epush r13
    00187260push r12
    00187262push rbx
    00187263sub rsp, 600
    0018726amov r14, rcx
    0018726dmov r15, rsi
    00187270mov rbp, rdi
    00187273lea rax, [rip-0x1487be]
    0018727amovsxd rcx, [rax+4*rdx]
    0018727eadd rcx, rax
    00187281jmp rcx
    00187283call regex_syntax::hir::Properties::empty
    00187288lea rsi, [rsp+64]
    0018728dmov [rsi], 2
    00187294mov [rsi+40], rax
    00187298mov rdi, [r15]
    0018729bjmp 0x188530
    001872a0mov rbx, [r15]
    001872a3mov rsi, [r14]
    001872a6mov rdx, [r14+16]
    001872aamov rdi, rbx
    001872adcall regex_syntax::hir::translate::TranslatorI::set_flags
    001872b2call regex_syntax::hir::Properties::empty
    001872b7lea rsi, [rsp+64]
    001872bcmov [rsi], 2
    001872c3mov [rsi+40], rax
    001872c7mov rdi, rbx
    001872cajmp 0x188530
    001872cflea rbx, [rsp+64]
    001872d4mov rdi, rbx
    001872d7mov rsi, r15
    001872damov rdx, r14
    001872ddcall regex_syntax::hir::translate::TranslatorI::ast_literal_to_scalar
    001872e2mov al, [rbx+72]
    001872e5mov r14, [rbx]
    001872e8cmp al, 7
    001872eajne 0x187aa5
    001872f0test r14b, 1
    001872f4jne 0x187ebe
    001872fashr r14, 32
    001872femov r15, [r15]
    00187301mov ecx, [r15+32]
    00187305movzx eax, [r15+36]
    0018730ashl rax, 32
    0018730eor rax, rcx
    00187311test al, 1
    00187313je 0x188642
    00187319shr rax, 32
    0018731dtest al, al
    0018731fje 0x188587
    00187325lea rdi, [rip+0x6c47c]
    0018732cmov esi, 2878
    00187331mov edx, r14l
    00187334mov ecx, r14l
    00187337call regex_syntax::unicode::SimpleCaseFolder::overlaps
    0018733ctest al, al
    0018733eje 0x188642
    00187344push 8
    00187346pop rdi
    00187347push 4
    00187349pop rsi
    0018734acall _ZN5alloc5alloc15exchange_malloc17hc6dbbe43d4abbe5aE.641
    0018734fmov [rax], r14l
    00187352mov [rax+4], r14l
    00187356lea rbx, [rsp+224]
    0018735emov [rbx], rax
    00187361push 1
    00187363pop rax
    00187364mov [rbx+8], rax
    00187368mov [rbx+16], rax
    0018736clea r12, [rsp+320]
    00187374mov rdi, r12
    00187377mov rsi, rbx
    0018737acall regex_syntax::hir::interval::IntervalSet<I>::new
    0018737fmov rdi, r12
    00187382call regex_syntax::hir::interval::IntervalSet<I>::case_fold_simple
    00187387movups x0, [r12]
    0018738cmovups x1, [r12+16]
    00187392movups [rbx+24], x1
    00187396movups [rbx+8], x0
    0018739aand [rbx], 0
    0018739ejmp 0x188603
    001873a3movups x0, [r14]
    001873a7movups x1, [r14+16]
    001873acmovups x2, [r14+32]
    001873b1movaps [rsp+352], x2
    001873b9movaps [rsp+336], x1
    001873c1movaps [rsp+320], x0
    001873c9mov r14, [r15]
    001873ccmov edx, [r14+32]
    001873d0movzx ecx, [r14+36]
    001873d5cmp [r14+39], 0
    001873damovzx eax, [r14+38]
    001873dfje 0x1873f1
    001873e1test al, al
    001873e3js 0x187e67
    001873e9test cl, cl
    001873ebje 0x187e67
    001873f1
    001873f1loc_1873f1:
    001873f1mov rsi, rcx
    001873f4shl rsi, 32
    001873f8or rsi, rdx
    001873fbbt rsi, 16
    001873ffjb 0x187bfd
    00187405mov rdx, 0x10000000000
    0018740ftest cl, cl
    00187411je 0x1881fc
    00187417test rsi, rdx
    0018741ajne 0x188291
    00187420test al, al
    00187422js 0x1886eb
    00187428movzx eax, ax
    0018742bmov rcx, rax
    0018742eshl rcx, 32
    00187432or rcx, rax
    00187435mov [rsp+432], rcx
    0018743dand [rsp+416], 0
    00187446mov [rsp+424], 1
    00187452push 1
    00187454pop rbx
    00187455mov rdi, rbx
    00187458call alloc::raw_vec::RawVec<T,A>::allocate_in
    0018745dlea r15, [rsp+176]
    00187465mov [r15], rax
    00187468mov [r15+8], rdx
    0018746cand [r15+16], 0
    00187471mov rdi, r15
    00187474mov rsi, rbx
    00187477call alloc::vec::Vec<T,A>::reserve
    0018747cmov rcx, [r15]
    0018747fmov rax, [r15+16]
    00187483lea rdx, [rcx+8*rax]
    00187487add rdx, 4
    0018748bxor ecx, ecx
    0018748d
    0018748dloc_18748d:
    0018748dcmp rcx, 1
    00187491je 0x1883ad
    00187497mov rsi, [rsp+8*rcx+432]
    0018749fmov [rdx+8*rcx-4], rsi
    001874a4inc rcx
    001874a7jmp 0x18748d
    001874a9mov rdx, 0x10000000000
    001874b3mov rcx, 0xff00000000
    001874bdmov r15, [r15]
    001874c0mov esi, [r15+32]
    001874c4mov eax, [r15+36]
    001874c8shl rax, 32
    001874ccor rax, rsi
    001874cfmovzx esi, [r14+48]
    001874d4lea rdi, [rip-0x148997]
    001874dbmovsxd rsi, [rdi+4*rsi]
    001874dfadd rsi, rdi
    001874e2jmp rsi
    001874e4test rax, rcx
    001874e7mov eax, 1024
    001874ecmov ebx, 4096
    001874f1jmp 0x188359
    001874f6lea rbx, [rsp+64]
    001874fbmov rdi, rbx
    001874femov rsi, r15
    00187501mov rdx, r14
    00187504call regex_syntax::hir::translate::TranslatorI::hir_unicode_class
    00187509mov r9b, [rbx+72]
    0018750dcmp r9b, 7
    00187511jne 0x18854b
    00187517lea rbx, [rsp+64]
    0018751cmovups x0, [rbx]
    0018751fmovups x1, [rbx+16]
    00187523lea rsi, [rsp+560]
    0018752bmovups [rsi+8], x0
    0018752fmovups [rsi+24], x1
    00187533and [rsi], 0
    00187537mov rdi, rbx
    0018753acall _ZN12regex_syntax3hir3Hir5class17h14fc9d42d80925d2E.1038
    0018753fmov rdi, [r15]
    00187542jmp 0x187bf5
    00187547mov rbx, [r15]
    0018754acmp [rbx+36], 0
    0018754eje 0x187b05
    00187554lea r12, [rsp+64]
    00187559mov rdi, r12
    0018755cmov rsi, r15
    0018755fmov rdx, r14
    00187562call regex_syntax::hir::translate::TranslatorI::hir_perl_unicode_class
    00187567mov r9b, [r12+72]
    0018756ccmp r9b, 7
    00187570jne 0x18854b
    00187576lea r14, [rsp+64]
    0018757bmovups x0, [r14]
    0018757fmovups x1, [r14+16]
    00187584lea rsi, [rsp+480]
    0018758cmovups [rsi+8], x0
    00187590movups [rsi+24], x1
    00187594and [rsi], 0
    00187598jmp 0x187b4c
    0018759dmov r12, [r15]
    001875a0cmp [r12+36], 0
    001875a6je 0x187b5f
    001875aclea rbx, [rsp+64]
    001875b1mov rdi, rbx
    001875b4mov rsi, r12
    001875b7call regex_syntax::hir::translate::TranslatorI::pop
    001875bclea rdx, [rip+0x6bc15]
    001875c3lea r15, [rsp+224]
    001875cbmov rdi, r15
    001875cemov rsi, rbx
    001875d1call core::option::Option<T>::unwrap
    001875d6lea rbx, [rsp+16]
    001875dbmov rdi, rbx
    001875demov rsi, r15
    001875e1call regex_syntax::hir::translate::HirFrame::unwrap_class_unicode
    001875e6movzx edx, [r14+208]
    001875eelea r14, [rsp+64]
    001875f3mov rdi, r14
    001875f6mov rsi, r12
    001875f9mov rcx, rbx
    001875fccall regex_syntax::hir::translate::TranslatorI::unicode_fold_and_negate
    00187601mov dl, [r14+72]
    00187605cmp dl, 7
    00187608jne 0x187e8a
    0018760emovups x0, [rsp+16]
    00187613movups x1, [rsp+32]
    00187618lea rsi, [rsp+224]
    00187620movups [rsi+24], x1
    00187624movups [rsi+8], x0
    00187628and [rsi], 0
    0018762cjmp 0x187be5
    00187631mov r13, [r15]
    00187634lea rbx, [rsp+64]
    00187639mov rdi, rbx
    0018763cmov rsi, r13
    0018763fcall regex_syntax::hir::translate::TranslatorI::pop
    00187644lea rdx, [rip+0x6bbd5]
    0018764blea r12, [rsp+224]
    00187653mov rdi, r12
    00187656mov rsi, rbx
    00187659call core::option::Option<T>::unwrap
    0018765elea rdi, [rsp+16]
    00187663mov rsi, r12
    00187666call regex_syntax::hir::translate::HirFrame::unwrap_expr
    0018766blea r12, [rsp+64]
    00187670mov rdi, r12
    00187673mov rsi, r13
    00187676call regex_syntax::hir::translate::TranslatorI::pop
    0018767blea rdx, [rip+0x6bbb6]
    00187682lea rbx, [rsp+224]
    0018768amov rdi, rbx
    0018768dmov rsi, r12
    00187690call core::option::Option<T>::unwrap
    00187695cmp [rbx], 14
    00187698jne 0x188a01
    0018769elea rdi, [rsp+224]
    001876a6mov ebx, [rdi+8]
    001876a9mov r12l, [rdi+12]
    001876adcall core::ptr::drop_in_place<regex_syntax::hir::translate::HirFrame>
    001876b2mov [r13+36], r12w
    001876b7mov [r13+32], ebx
    001876bbmov rbx, [rsp+16]
    001876c0mov r12, [rsp+56]
    001876c5movzx eax, [r14]
    001876c9test rax, rax
    001876ccmov [rsp+152], rbp
    001876d4je 0x187c1f
    001876dacmp eax, 1
    001876ddjne 0x187e2a
    001876e3mov eax, [r14+80]
    001876e7mov [rsp+168], eax
    001876eemov rsi, [r14+8]
    001876f2mov rdx, [r14+24]
    001876f6lea r14, [rsp+64]
    001876fbmov rdi, r14
    001876fecall _<alloc::string::String as core::clone::Clone>::clone
    00187703mov rdi, r14
    00187706call alloc::vec::Vec<T,A>::into_boxed_slice
    0018770bmov [rsp+160], rax
    00187713mov [rsp+440], rdx
    0018771bjmp 0x187c34
    00187720mov [rsp+152], rbp
    00187728lea rax, [rsp+368]
    00187730mov [rax], 8
    00187737xorps x0, x0
    0018773amovups [rax+8], x0
    0018773elea rbx, [rsp+72]
    00187743lea r12, [rsp+232]
    0018774bmov r14, [r15]
    0018774elea r13, [rsp+64]
    00187753lea r15, [rip-0x148c4a]
    0018775alea rbp, [rsp+224]
    00187762
    00187762loc_187762:
    00187762mov rdi, r13
    00187765mov rsi, r14
    00187768call regex_syntax::hir::translate::TranslatorI::pop
    0018776dmov rax, [rsp+64]
    00187772cmp rax, 18
    00187776je 0x187af7
    0018777cmov rcx, [rbx+32]
    00187780mov [r12+32], rcx
    00187785movups x0, [rbx]
    00187788movups x1, [rbx+16]
    0018778cmovups [r12+16], x1
    00187792movups [r12], x0
    00187797mov [rsp+224], rax
    0018779flea rcx, [rax-10]
    001877a3add rax, -9
    001877a7cmp rcx, 8
    001877abmov ecx, 0
    001877b0cmovae rax, rcx
    001877b4movsxd rax, [r15+4*rax]
    001877b8add rax, r15
    001877bbjmp rax
    001877bdmov rax, [rsp+224]
    001877c5mov rcx, [rsp+232]
    001877cdmovups x0, [rsp+240]
    001877d5movups x1, [rsp+256]
    001877ddmovaps [rsp+48], x1
    001877e2movaps [rsp+32], x0
    001877e7mov [rsp+16], rax
    001877ecmov [rsp+24], rcx
    001877f1jmp 0x18781f
    001877f3mov rax, [r12+16]
    001877f8mov [rsp+336], rax
    00187800movups x0, [r12]
    00187805movaps [rsp+320], x0
    0018780dlea rdi, [rsp+16]
    00187812lea rsi, [rsp+320]
    0018781acall regex_syntax::hir::Hir::literal
    0018781f
    0018781floc_18781f:
    0018781fcmp [rsp+16], 10
    00187825je 0x188148
    0018782bmov rdi, r13
    0018782emov rsi, r14
    00187831call regex_syntax::hir::translate::TranslatorI::pop
    00187836mov rdi, rbp
    00187839mov rsi, r13
    0018783clea rdx, [rip+0x6ba0d]
    00187843call core::option::Option<T>::unwrap
    00187848cmp [rsp+224], 17
    00187850jne 0x18872f
    00187856mov rdi, rbp
    00187859call core::ptr::drop_in_place<regex_syntax::hir::translate::HirFrame>
    0018785elea rdi, [rsp+368]
    00187866lea rsi, [rsp+16]
    0018786bcall alloc::vec::Vec<T,A>::push
    00187870jmp 0x187762
    00187875mov [rsp+152], rbp
    0018787dlea rax, [rsp+368]
    00187885mov [rax], 8
    0018788cxorps x0, x0
    0018788fmovups [rax+8], x0
    00187893lea rbp, [rsp+72]
    00187898lea r13, [rsp+232]
    001878a0mov r14, [r15]
    001878a3lea rbx, [rsp+64]
    001878a8lea r12, [rip-0x148dc3]
    001878aflea r15, [rsp+16]
    001878b4
    001878b4loc_1878b4:
    001878b4mov rdi, rbx
    001878b7mov rsi, r14
    001878bacall regex_syntax::hir::translate::TranslatorI::pop
    001878bfmov rax, [rsp+64]
    001878c4cmp rax, 18
    001878c8je 0x187ae9
    001878cemov rcx, [rbp+32]
    001878d2mov [r13+32], rcx
    001878d6movups x0, [rbp]
    001878damovups x1, [rbp+16]
    001878demovups [r13+16], x1
    001878e3movups [r13], x0
    001878e8mov [rsp+224], rax
    001878f0lea rcx, [rax-10]
    001878f4add rax, -9
    001878f8cmp rcx, 8
    001878fcmov ecx, 0
    00187901cmovae rax, rcx
    00187905movsxd rax, [r12+4*rax]
    00187909add rax, r12
    0018790cjmp rax
    0018790emov rax, [rsp+224]
    00187916mov rcx, [rsp+232]
    0018791emovups x0, [rsp+240]
    00187926movups x1, [rsp+256]
    0018792emovaps [rsp+48], x1
    00187933movaps [rsp+32], x0
    00187938mov [rsp+16], rax
    0018793dmov [rsp+24], rcx
    00187942jmp 0x18796d
    00187944mov rax, [r13+16]
    00187948mov [rsp+336], rax
    00187950movups x0, [r13]
    00187955movaps [rsp+320], x0
    0018795dmov rdi, r15
    00187960lea rsi, [rsp+320]
    00187968call regex_syntax::hir::Hir::literal
    0018796d
    0018796dloc_18796d:
    0018796dcmp [rsp+16], 10
    00187973je 0x188102
    00187979movaps x0, [rsp+16]
    0018797emovaps x1, [rsp+32]
    00187983movaps x2, [rsp+48]
    00187988movaps [rsp+64], x0
    0018798dmovaps [rsp+96], x2
    00187992movaps [rsp+80], x1
    00187997cmp [rsp+64], 2
    0018799cjne 0x1879ab
    0018799emov rdi, rbx
    001879a1call core::ptr::drop_in_place<regex_syntax::hir::Hir>
    001879a6jmp 0x1878b4
    001879ab
    001879abloc_1879ab:
    001879ablea rdi, [rsp+368]
    001879b3mov rsi, r15
    001879b6call alloc::vec::Vec<T,A>::push
    001879bbjmp 0x1878b4
    001879c0mov r15, [r15]
    001879c3lea rbx, [rsp+64]
    001879c8mov rdi, rbx
    001879cbmov rsi, r15
    001879cecall regex_syntax::hir::translate::TranslatorI::pop
    001879d3lea rdx, [rip+0x6b816]
    001879dalea r12, [rsp+224]
    001879e2mov rdi, r12
    001879e5mov rsi, rbx
    001879e8call core::option::Option<T>::unwrap
    001879edlea rdi, [rsp+16]
    001879f2mov rsi, r12
    001879f5call regex_syntax::hir::translate::HirFrame::unwrap_expr
    001879falea r12, [rsp+64]
    001879ffmov rdi, r12
    00187a02mov [rsp+168], r15
    00187a0amov rsi, r15
    00187a0dcall regex_syntax::hir::translate::TranslatorI::pop
    00187a12lea rdx, [rip+0x6b7ef]
    00187a19lea rbx, [rsp+224]
    00187a21mov rdi, rbx
    00187a24mov rsi, r12
    00187a27call core::option::Option<T>::unwrap
    00187a2ccmp [rbx], 13
    00187a2fjne 0x188a43
    00187a35lea rdi, [rsp+224]
    00187a3dcall core::ptr::drop_in_place<regex_syntax::hir::translate::HirFrame>
    00187a42lea rcx, [rsp+24]
    00187a47mov rsi, [rcx-8]
    00187a4bmov rax, [rcx+24]
    00187a4fmov [rsp+160], rax
    00187a57mov r12, [rcx+32]
    00187a5bmov eax, [r14+104]
    00187a5flea ecx, [rax-3]
    00187a62cmp ecx, 3
    00187a65push 3
    00187a67pop rdx
    00187a68cmovb edx, ecx
    00187a6bpush 1
    00187a6dpop r15
    00187a6flea rcx, [rip-0x148f42]
    00187a76movsxd rdx, [rcx+4*rdx]
    00187a7aadd rdx, rcx
    00187a7dmov [rsp+152], rbp
    00187a85mov [rsp+216], rsi
    00187a8djmp rdx
    00187a8fxor r13l, r13l
    00187a92mov [rsp+144], 0
    00187a9dmov ebp, r15l
    00187aa0jmp 0x187f4c
    00187aa5
    00187aa5loc_187aa5:
    00187aa5movups x0, [rsp+72]
    00187aaamovups x1, [rsp+88]
    00187aafmovups x2, [rsp+104]
    00187ab4movups x3, [rsp+120]
    00187ab9movups [rbp+56], x3
    00187abdmovups [rbp+40], x2
    00187ac1movups [rbp+24], x1
    00187ac5movups [rbp+8], x0
    00187ac9mov ecx, [rsp+137]
    00187ad0mov edx, [rsp+140]
    00187ad7mov [rbp+73], ecx
    00187adamov [rbp+76], edx
    00187addmov [rbp], r14
    00187ae1mov [rbp+72], al
    00187ae4jmp 0x188539
    00187ae9
    00187ae9loc_187ae9:
    00187ae9mov [rsp+16], 10
    00187af2jmp 0x188102
    00187af7
    00187af7loc_187af7:
    00187af7mov [rsp+16], 10
    00187b00jmp 0x188148
    00187b05
    00187b05loc_187b05:
    00187b05lea r12, [rsp+64]
    00187b0amov rdi, r12
    00187b0dmov rsi, r15
    00187b10mov rdx, r14
    00187b13call regex_syntax::hir::translate::TranslatorI::hir_perl_byte_class
    00187b18mov r9b, [r12+72]
    00187b1dcmp r9b, 7
    00187b21jne 0x18854b
    00187b27lea r14, [rsp+64]
    00187b2cmovups x0, [r14]
    00187b30movups x1, [r14+16]
    00187b35lea rsi, [rsp+520]
    00187b3dmovups [rsi+8], x0
    00187b41movups [rsi+24], x1
    00187b45mov [rsi], 1
    00187b4c
    00187b4cloc_187b4c:
    00187b4cmov rdi, r14
    00187b4fcall _ZN12regex_syntax3hir3Hir5class17h14fc9d42d80925d2E.1038
    00187b54mov rdi, rbx
    00187b57mov rsi, r14
    00187b5ajmp 0x188530
    00187b5f
    00187b5floc_187b5f:
    00187b5flea rbx, [rsp+64]
    00187b64mov rdi, rbx
    00187b67mov rsi, r12
    00187b6acall regex_syntax::hir::translate::TranslatorI::pop
    00187b6flea rdx, [rip+0x6b64a]
    00187b76lea r13, [rsp+224]
    00187b7emov rdi, r13
    00187b81mov rsi, rbx
    00187b84call core::option::Option<T>::unwrap
    00187b89lea rbx, [rsp+16]
    00187b8emov rdi, rbx
    00187b91mov rsi, r13
    00187b94call regex_syntax::hir::translate::HirFrame::unwrap_class_bytes
    00187b99movzx ecx, [r14+208]
    00187ba1lea r13, [rsp+64]
    00187ba6mov rdi, r13
    00187ba9mov rsi, r15
    00187bacmov rdx, r14
    00187bafmov r8, rbx
    00187bb2call regex_syntax::hir::translate::TranslatorI::bytes_fold_and_negate
    00187bb7mov dl, [r13+72]
    00187bbbcmp dl, 7
    00187bbejne 0x18818e
    00187bc4movups x0, [rsp+16]
    00187bc9movups x1, [rsp+32]
    00187bcelea rsi, [rsp+224]
    00187bd6movups [rsi+24], x1
    00187bdamovups [rsi+8], x0
    00187bdemov [rsi], 1
    00187be5
    00187be5loc_187be5:
    00187be5lea rbx, [rsp+64]
    00187beamov rdi, rbx
    00187bedcall _ZN12regex_syntax3hir3Hir5class17h14fc9d42d80925d2E.1038
    00187bf2mov rdi, r12
    00187bf5
    00187bf5loc_187bf5:
    00187bf5mov rsi, rbx
    00187bf8jmp 0x188530
    00187bfd
    00187bfdloc_187bfd:
    00187bfdlea rbx, [rsp+176]
    00187c05mov rdi, rbx
    00187c08test cl, cl
    00187c0aje 0x188282
    00187c10call regex_syntax::hir::ClassUnicode::empty
    00187c15mov rdi, rbx
    00187c18xor esi, esi
    00187c1ajmp 0x1882c2
    00187c1f
    00187c1floc_187c1f:
    00187c1fmov eax, [r14+4]
    00187c23mov [rsp+168], eax
    00187c2axor eax, eax
    00187c2cmov [rsp+160], rax
    00187c34
    00187c34loc_187c34:
    00187c34lea r14, [rsp+24]
    00187c39push 48
    00187c3bpop rdi
    00187c3cpush 8
    00187c3epop rsi
    00187c3fcall _ZN5alloc5alloc15exchange_malloc17hc6dbbe43d4abbe5aE.641
    00187c44mov [rsp+144], rax
    00187c4cmov [rax], rbx
    00187c4fmovups x0, [r14]
    00187c53movups x1, [r14+16]
    00187c58movups [rax+8], x0
    00187c5cmovups [rax+24], x1
    00187c60mov [rax+40], r12
    00187c64mov rbx, [r12+48]
    00187c69inc rbx
    00187c6cpush -1
    00187c6epop rax
    00187c6fcmove rbx, rax
    00187c73mov rcx, [r12+32]
    00187c78mov [rsp+216], rcx
    00187c80mov r14, [r12+40]
    00187c85inc r14
    00187c88cmove r14, rax
    00187c8ccall alloc::boxed::Box<T,A>::new_uninit_in
    00187c91mov r13, rax
    00187c94mov r11, [r12]
    00187c98mov [rsp+472], r11
    00187ca0mov rbp, [r12+8]
    00187ca5mov [rsp+464], rbp
    00187cadmov rcx, [r12+16]
    00187cb2mov [rsp+456], rcx
    00187cbamov rax, [r12+24]
    00187cbfmov [rsp+448], rax
    00187cc7mov edx, [r12+56]
    00187cccmov [rsp+316], edx
    00187cd3mov esi, [r12+60]
    00187cd8mov [rsp+312], esi
    00187cdfmov edi, [r12+64]
    00187ce4mov [rsp+308], edi
    00187cebmov r8l, [r12+68]
    00187cf0mov [rsp+304], r8l
    00187cf8mov r9l, [r12+72]
    00187cfdmov [rsp+300], r9l
    00187d05mov r10b, [r12+76]
    00187d0amov [rsp+15], r10b
    00187d0fmov rax, [r12+32]
    00187d14movups x0, [r12+40]
    00187d1amovzx r12l, [r12+77]
    00187d20mov [r13], r11
    00187d24mov [r13+8], rbp
    00187d28mov [r13+16], rcx
    00187d2cmov rbp, [rsp+448]
    00187d34mov [r13+24], rbp
    00187d38mov [r13+32], rax
    00187d3cmovups [r13+40], x0
    00187d41mov [r13+56], edx
    00187d45mov [r13+60], esi
    00187d49mov [r13+64], edi
    00187d4dmov [r13+68], r8l
    00187d51mov [r13+72], r9l
    00187d55mov [r13+76], r10b
    00187d59mov [r13+77], r12w
    00187d5epush 80
    00187d60pop rdi
    00187d61push 8
    00187d63pop rsi
    00187d64call _ZN5alloc5alloc15exchange_malloc17hc6dbbe43d4abbe5aE.641
    00187d69mov r12, rax
    00187d6cmov rax, [rsp+472]
    00187d74mov [r12], rax
    00187d78mov rax, [rsp+464]
    00187d80mov [r12+8], rax
    00187d85mov rax, [rsp+456]
    00187d8dmov [r12+16], rax
    00187d92mov [r12+24], rbp
    00187d97mov rax, [rsp+216]
    00187d9fmov [r12+32], rax
    00187da4mov [r12+40], r14
    00187da9mov [r12+48], rbx
    00187daemov eax, [rsp+316]
    00187db5mov [r12+56], eax
    00187dbamov eax, [rsp+312]
    00187dc1mov [r12+60], eax
    00187dc6mov eax, [rsp+308]
    00187dcdmov [r12+64], eax
    00187dd2mov eax, [rsp+304]
    00187dd9mov [r12+68], eax
    00187ddemov eax, [rsp+300]
    00187de5mov [r12+72], eax
    00187deamov al, [rsp+15]
    00187deemov [r12+76], al
    00187df3and [r12+77], 0
    00187dfamov rdi, r13
    00187dfdcall [rip+0x89cf5]
    00187e03mov r8, [rsp+144]
    00187e0bmov r13, [r15]
    00187e0epush 7
    00187e10pop rbx
    00187e11mov ecx, [rsp+168]
    00187e18mov rdx, [rsp+160]
    00187e20mov rdi, [rsp+440]
    00187e28jmp 0x187e41
    00187e2a
    00187e2aloc_187e2a:
    00187e2amov r8, [rsp+24]
    00187e2fmov rdx, [rsp+32]
    00187e34mov rdi, [rsp+40]
    00187e39mov ecx, [rsp+48]
    00187e3dmov eax, [rsp+52]
    00187e41
    00187e41loc_187e41:
    00187e41lea rsi, [rsp+64]
    00187e46mov [rsi], rbx
    00187e49mov [rsi+8], r8
    00187e4dmov [rsi+16], rdx
    00187e51mov [rsi+24], rdi
    00187e55mov [rsi+32], ecx
    00187e58mov [rsi+36], eax
    00187e5bmov [rsi+40], r12
    00187e5fmov rdi, r13
    00187e62jmp 0x18817c
    00187e67
    00187e67loc_187e67:
    00187e67mov rsi, [r15+8]
    00187e6bmov rdx, [r15+16]
    00187e6flea rdi, [rsp+64]
    00187e74lea rcx, [rsp+320]
    00187e7cpush 1
    00187e7e
    00187e7eloc_187e7e:
    00187e7epop r8
    00187e80call regex_syntax::hir::translate::TranslatorI::error
    00187e85jmp 0x1884fd
    00187e8a
    00187e8aloc_187e8a:
    00187e8apush 9
    00187e8cpop rcx
    00187e8dlea rax, [rsp+64]
    00187e92mov rdi, rbp
    00187e95mov rsi, rax
    00187e98rep movsq [rdi], [rsi]
    00187e9bmov ecx, [rax+73]
    00187e9emov eax, [rax+76]
    00187ea1mov [rbp+76], eax
    00187ea4mov [rbp+73], ecx
    00187ea7mov [rbp+72], dl
    00187eaamov rdi, [rsp+16]
    00187eafmov rsi, [rsp+24]
    00187eb4call _<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop
    00187eb9jmp 0x188539
    00187ebe
    00187ebeloc_187ebe:
    00187ebeshr r14l, 8
    00187ec2mov rdi, [r15]
    00187ec5lea rsi, [rip+0x6b594]
    00187ecccall core::cell::RefCell<T>::borrow_mut
    00187ed1mov r15, rax
    00187ed4mov rbx, rdx
    00187ed7mov rax, [rax+16]
    00187edbsub rax, 1
    00187edfjb 0x1881c2
    00187ee5imul rdi, rax, 48
    00187ee9add rdi, [r15]
    00187eeccmp [rdi], 10
    00187eefjne 0x1881c2
    00187ef5add rdi, 8
    00187ef9movzx esi, r14b
    00187efdcall alloc::vec::Vec<T,A>::push
    00187f02jmp 0x1886e3
    00187f07xor r15l, r15l
    00187f0amov al, 1
    00187f0cmov [rsp+144], eax
    00187f13push 1
    00187f15pop r13
    00187f17jmp 0x187f4c
    00187f19mov al, 1
    00187f1bmov [rsp+144], eax
    00187f22xor r13l, r13l
    00187f25xor r15l, r15l
    00187f28jmp 0x187f4c
    00187f2atest rax, rax
    00187f2dje 0x18837e
    00187f33cmp eax, 1
    00187f36jne 0x188395
    00187f3cmov r13l, [r14+108]
    00187f40xor r15l, r15l
    00187f43mov al, 1
    00187f45mov [rsp+144], eax
    00187f4c
    00187f4cloc_187f4c:
    00187f4cxor ebx, ebx
    00187f4exor eax, eax
    00187f50cmp [r14+120], 0
    00187f55sete bl
    00187f58setne al
    00187f5bmov rcx, [rsp+168]
    00187f63bt [rcx+32], 24
    00187f68cmovae ebx, eax
    00187f6bpush 48
    00187f6dpop rdi
    00187f6epush 8
    00187f70pop rsi
    00187f71call _ZN5alloc5alloc15exchange_malloc17hc6dbbe43d4abbe5aE.641
    00187f76mov r14, rax
    00187f79mov rax, [rsp+216]
    00187f81mov [r14], rax
    00187f84lea rax, [rsp+24]
    00187f89movups x0, [rax]
    00187f8cmovups [r14+8], x0
    00187f91mov rax, [rax+16]
    00187f95mov [r14+24], rax
    00187f99mov rax, [rsp+160]
    00187fa1mov [r14+32], rax
    00187fa5mov [r14+40], r12
    00187fa9mov [rsp+80], r13l
    00187faemov [rsp+64], r15l
    00187fb3mov [rsp+68], ebp
    00187fb7mov [rsp+84], bl
    00187fbbmov [rsp+72], r14
    00187fc0mov rdi, [r12+16]
    00187fc5mov rsi, [r12+24]
    00187fcapush 1
    00187fccpop rdx
    00187fcdxor ecx, ecx
    00187fcfcall _<core::option::Option<T> as core::cmp::PartialEq>::eq
    00187fd4test al, al
    00187fd6je 0x188008
    00187fd8xor eax, eax
    00187fdatest r13l, r13l
    00187fddsetne al
    00187fe0mov [rsp+80], eax
    00187fe4test ebp, ebp
    00187fe6setne cl
    00187fe9mov edx, [rsp+144]
    00187ff0or dl, cl
    00187ff2movzx ebp, dl
    00187ff5mov [rsp+64], 1
    00187ffdmov [rsp+68], ebp
    00188001push 1
    00188003pop r15
    00188005mov r13l, eax
    00188008
    00188008loc_188008:
    00188008cmp r13l, 1
    0018800cje 0x18803b
    0018800etest r13l, r13l
    00188011jne 0x18807d
    00188013push 1
    00188015pop rdx
    00188016mov edi, r15l
    00188019mov esi, ebp
    0018801bxor ecx, ecx
    0018801dcall _<core::option::Option<T> as core::cmp::PartialEq>::eq
    00188022test al, al
    00188024je 0x18807d
    00188026call regex_syntax::hir::Properties::empty
    0018802bmov r12, rax
    0018802emov rdi, r14
    00188031call core::ptr::drop_in_place<regex_syntax::hir::Hir>
    00188036push 2
    00188038pop rbx
    00188039jmp 0x188072
    0018803b
    0018803bloc_18803b:
    0018803bpush 1
    0018803dpop rcx
    0018803emov edi, r15l
    00188041mov esi, ebp
    00188043mov edx, ecx
    00188045call _<core::option::Option<T> as core::cmp::PartialEq>::eq
    0018804atest al, al
    0018804cje 0x18807d
    0018804elea rcx, [rsp+24]
    00188053mov rax, [rcx+16]
    00188057mov [rsp+240], rax
    0018805fmovups x0, [rcx]
    00188062movaps [rsp+224], x0
    0018806amov rbx, [rsp+216]
    00188072
    00188072loc_188072:
    00188072mov rdi, r14
    00188075call [rip+0x89a7d]
    0018807bjmp 0x1880a7
    0018807d
    0018807dloc_18807d:
    0018807dlea rbx, [rsp+64]
    00188082mov rdi, rbx
    00188085call regex_syntax::hir::Properties::repetition
    0018808amov r12, rax
    0018808dmovups x0, [rbx]
    00188090movaps [rsp+224], x0
    00188098mov rax, [rbx+16]
    0018809cmov [rsp+240], rax
    001880a4push 6
    001880a6pop rbx
    001880a7
    001880a7loc_1880a7:
    001880a7mov rbp, [rsp+152]
    001880aflea rsi, [rsp+64]
    001880b4mov [rsi], rbx
    001880b7movaps x0, [rsp+224]
    001880bfmovups [rsi+8], x0
    001880c3mov rax, [rsp+240]
    001880cbmov [rsi+24], rax
    001880cfmov rax, [rsp+160]
    001880d7mov [rsi+32], rax
    001880dbmov [rsi+40], r12
    001880dfmov rdi, [rsp+168]
    001880e7jmp 0x188530
    001880ecmov [rsp+16], 10
    001880f5lea rdi, [rsp+224]
    001880fdcall core::ptr::drop_in_place<regex_syntax::hir::translate::HirFrame>
    00188102
    00188102loc_188102:
    00188102lea rdi, [rsp+16]
    00188107call core::ptr::drop_in_place<core::option::Option<regex_syntax::hir::Hir>>
    0018810clea rbx, [rsp+368]
    00188114mov rdi, [rbx]
    00188117mov rsi, [rbx+16]
    0018811bcall core::slice::_<impl [T]>::reverse
    00188120lea r15, [rsp+64]
    00188125mov rdi, r15
    00188128mov rsi, rbx
    0018812bcall regex_syntax::hir::Hir::concat
    00188130jmp 0x188176
    00188132mov [rsp+16], 10
    0018813blea rdi, [rsp+224]
    00188143call core::ptr::drop_in_place<regex_syntax::hir::translate::HirFrame>
    00188148
    00188148loc_188148:
    00188148lea rdi, [rsp+16]
    0018814dcall core::ptr::drop_in_place<core::option::Option<regex_syntax::hir::Hir>>
    00188152lea rbx, [rsp+368]
    0018815amov rdi, [rbx]
    0018815dmov rsi, [rbx+16]
    00188161call core::slice::_<impl [T]>::reverse
    00188166lea r15, [rsp+64]
    0018816bmov rdi, r15
    0018816emov rsi, rbx
    00188171call regex_syntax::hir::Hir::alternation
    00188176
    00188176loc_188176:
    00188176mov rdi, r14
    00188179mov rsi, r15
    0018817c
    0018817cloc_18817c:
    0018817ccall regex_syntax::hir::translate::TranslatorI::push
    00188181mov rbp, [rsp+152]
    00188189jmp 0x188535
    0018818e
    0018818eloc_18818e:
    0018818epush 9
    00188190pop rcx
    00188191lea rax, [rsp+64]
    00188196mov rdi, rbp
    00188199mov rsi, rax
    0018819crep movsq [rdi], [rsi]
    0018819fmov ecx, [rax+73]
    001881a2mov eax, [rax+76]
    001881a5mov [rbp+76], eax
    001881a8mov [rbp+73], ecx
    001881abmov [rbp+72], dl
    001881aemov rdi, [rsp+16]
    001881b3mov rsi, [rsp+24]
    001881b8call _<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop
    001881bdjmp 0x188539
    001881c2
    001881c2loc_1881c2:
    001881c2push 1
    001881c4pop r12
    001881c6mov rdi, r12
    001881c9mov rsi, r12
    001881cccall _ZN5alloc5alloc15exchange_malloc17hc6dbbe43d4abbe5aE.641
    001881d1mov [rax], r14b
    001881d4lea rsi, [rsp+64]
    001881d9mov [rsi+8], rax
    001881ddmov [rsi+16], r12
    001881e1mov [rsi+24], r12
    001881e5jmp 0x1886d4
    001881eatest rax, rcx
    001881edmov eax, 2048
    001881f2mov ebx, 8192
    001881f7jmp 0x188359
    001881fc
    001881fcloc_1881fc:
    001881fctest rsi, rdx
    001881ffjne 0x18840a
    00188205movzx eax, ax
    00188208mov ecx, eax
    0018820ashl ecx, 8
    0018820dor ecx, eax
    0018820fmov [rsp+432], cx
    00188217and [rsp+416], 0
    00188220mov [rsp+424], 1
    0018822cpush 1
    0018822epop rbx
    0018822fmov rdi, rbx
    00188232call alloc::raw_vec::RawVec<T,A>::allocate_in
    00188237lea r15, [rsp+176]
    0018823fmov [r15], rax
    00188242mov [r15+8], rdx
    00188246and [r15+16], 0
    0018824bmov rdi, r15
    0018824emov rsi, rbx
    00188251call alloc::vec::Vec<T,A>::reserve
    00188256mov rcx, [r15]
    00188259mov rax, [r15+16]
    0018825dlea rdx, [rcx+2*rax]
    00188261inc rdx
    00188264xor ecx, ecx
    00188266
    00188266loc_188266:
    00188266cmp rcx, 1
    0018826aje 0x18846a
    00188270movzx esi, [rsp+2*rcx+432]
    00188278mov [rdx+2*rcx-1], si
    0018827dinc rcx
    00188280jmp 0x188266
    00188282
    00188282loc_188282:
    00188282call regex_syntax::hir::ClassBytes::empty
    00188287mov rdi, rbx
    0018828axor esi, esi
    0018828cjmp 0x18843b
    00188291
    00188291loc_188291:
    00188291lea rbx, [rsp+176]
    00188299mov rdi, rbx
    0018829ccall regex_syntax::hir::ClassUnicode::empty
    001882a1push 9
    001882a3pop rdx
    001882a4mov rdi, rbx
    001882a7xor esi, esi
    001882a9call regex_syntax::hir::ClassUnicode::push
    001882aepush 11
    001882b0pop rsi
    001882b1push 12
    001882b3pop rdx
    001882b4mov rdi, rbx
    001882b7call regex_syntax::hir::ClassUnicode::push
    001882bcpush 14
    001882bepop rsi
    001882bfmov rdi, rbx
    001882c2
    001882c2loc_1882c2:
    001882c2mov edx, 0x10ffff
    001882c7call regex_syntax::hir::ClassUnicode::push
    001882ccmovups x0, [rbx]
    001882cfmovups x1, [rbx+16]
    001882d3lea rsi, [rsp+368]
    001882dbmovups [rsi+24], x1
    001882dfmovups [rsi+8], x0
    001882e3and [rsi], 0
    001882e7jmp 0x188463
    001882ectest rax, rdx
    001882efpush 4
    001882f1pop rcx
    001882f2push 16
    001882f4pop rdx
    001882f5cmove edx, ecx
    001882f8bt rax, 8
    001882fcpush 1
    001882fejmp 0x188312
    00188300test rax, rdx
    00188303push 8
    00188305pop rcx
    00188306push 32
    00188308pop rdx
    00188309cmove edx, ecx
    0018830cbt rax, 8
    00188310push 2
    00188312
    00188312loc_188312:
    00188312pop rbx
    00188313cmovb ebx, edx
    00188316jmp 0x18835c
    00188318push 1
    0018831ajmp 0x18831e
    0018831cpush 2
    0018831e
    0018831eloc_18831e:
    0018831epop rbx
    0018831fjmp 0x18835c
    00188321test rax, rcx
    00188324push 64
    00188326pop rax
    00188327mov ebx, 256
    0018832cjmp 0x188359
    0018832etest rax, rcx
    00188331mov eax, 128
    00188336mov ebx, 512
    0018833bjmp 0x188359
    0018833dtest rax, rcx
    00188340mov eax, 16384
    00188345mov ebx, 0x10000
    0018834ajmp 0x188359
    0018834ctest rax, rcx
    0018834fmov eax, 32768
    00188354mov ebx, 0x20000
    00188359
    00188359loc_188359:
    00188359cmove ebx, eax
    0018835c
    0018835cloc_18835c:
    0018835cmov edi, ebx
    0018835ecall regex_syntax::hir::Properties::look
    00188363lea rsi, [rsp+64]
    00188368mov [rsi], 5
    0018836fmov [rsi+8], ebx
    00188372mov [rsi+40], rax
    00188376
    00188376loc_188376:
    00188376mov rdi, r15
    00188379jmp 0x188530
    0018837e
    0018837eloc_18837e:
    0018837emov r13l, [r14+108]
    00188382mov [rsp+144], 0
    0018838dmov ebp, r13l
    00188390jmp 0x187f4c
    00188395
    00188395loc_188395:
    00188395mov r13l, [r14+108]
    00188399mov ebp, [r14+112]
    0018839dmov [rsp+144], 0
    001883a8jmp 0x187f4c
    001883ad
    001883adloc_1883ad:
    001883adadd rax, rcx
    001883b0lea rbx, [rsp+176]
    001883b8movups x0, [rbx]
    001883bblea r15, [rsp+368]
    001883c3movaps [r15], x0
    001883c7mov [r15+16], rax
    001883cbsete [r15+24]
    001883d0mov rdi, r15
    001883d3call regex_syntax::hir::interval::IntervalSet<I>::canonicalize
    001883d8movaps x0, [r15]
    001883dcmovaps x1, [r15+16]
    001883e1movaps [rbx+16], x1
    001883e5movaps [rbx], x0
    001883e8mov rdi, rbx
    001883ebcall regex_syntax::hir::ClassUnicode::negate
    001883f0movaps x0, [rbx]
    001883f3movaps x1, [rbx+16]
    001883f7movups [r15+24], x1
    001883fcmovups [r15+8], x0
    00188401and [r15], 0
    00188405jmp 0x1884c5
    0018840a
    0018840aloc_18840a:
    0018840alea rbx, [rsp+176]
    00188412mov rdi, rbx
    00188415call regex_syntax::hir::ClassBytes::empty
    0018841apush 9
    0018841cpop rdx
    0018841dmov rdi, rbx
    00188420xor esi, esi
    00188422call regex_syntax::hir::ClassBytes::push
    00188427push 11
    00188429pop rsi
    0018842apush 12
    0018842cpop rdx
    0018842dmov rdi, rbx
    00188430call regex_syntax::hir::ClassBytes::push
    00188435push 14
    00188437pop rsi
    00188438mov rdi, rbx
    0018843b
    0018843bloc_18843b:
    0018843bmov edx, 255
    00188440call regex_syntax::hir::ClassBytes::push
    00188445movups x0, [rbx]
    00188448movups x1, [rbx+16]
    0018844clea rsi, [rsp+368]
    00188454movups [rsi+24], x1
    00188458movups [rsi+8], x0
    0018845cmov [rsi], 1
    00188463
    00188463loc_188463:
    00188463lea rdi, [rsp+16]
    00188468jmp 0x1884d2
    0018846a
    0018846aloc_18846a:
    0018846aadd rax, rcx
    0018846dlea rbx, [rsp+176]
    00188475movups x0, [rbx]
    00188478lea r15, [rsp+368]
    00188480movaps [r15], x0
    00188484mov [r15+16], rax
    00188488sete [r15+24]
    0018848dmov rdi, r15
    00188490call regex_syntax::hir::interval::IntervalSet<I>::canonicalize
    00188495movaps x0, [r15]
    00188499movaps x1, [r15+16]
    0018849emovaps [rbx+16], x1
    001884a2movaps [rbx], x0
    001884a5mov rdi, rbx
    001884a8call regex_syntax::hir::ClassBytes::negate
    001884admovaps x0, [rbx]
    001884b0movaps x1, [rbx+16]
    001884b4movups [r15+24], x1
    001884b9movups [r15+8], x0
    001884bemov [r15], 1
    001884c5
    001884c5loc_1884c5:
    001884c5lea rdi, [rsp+16]
    001884calea rsi, [rsp+368]
    001884d2
    001884d2loc_1884d2:
    001884d2call _ZN12regex_syntax3hir3Hir5class17h14fc9d42d80925d2E.1038
    001884d7movups x0, [rsp+16]
    001884dcmovups x1, [rsp+32]
    001884e1movups x2, [rsp+48]
    001884e6movaps [rsp+96], x2
    001884ebmovaps [rsp+80], x1
    001884f0movaps [rsp+64], x0
    001884f5mov [rsp+136], 7
    001884fd
    001884fdloc_1884fd:
    001884fdmov r9b, [rsp+136]
    00188505cmp r9b, 7
    00188509jne 0x18854b
    0018850bmovaps x0, [rsp+64]
    00188510movaps x1, [rsp+80]
    00188515movaps x2, [rsp+96]
    0018851alea rsi, [rsp+224]
    00188522movaps [rsi+32], x2
    00188526movaps [rsi+16], x1
    0018852amovaps [rsi], x0
    0018852dmov rdi, r14
    00188530
    00188530loc_188530:
    00188530call regex_syntax::hir::translate::TranslatorI::push
    00188535
    00188535loc_188535:
    00188535mov [rbp+72], 7
    00188539
    00188539loc_188539:
    00188539add rsp, 600
    00188540pop rbx
    00188541pop r12
    00188543pop r13
    00188545pop r14
    00188547pop r15
    00188549pop rbp
    0018854aret
    0018854b
    0018854bloc_18854b:
    0018854bpush 9
    0018854dpop rax
    0018854elea rdx, [rsp+224]
    00188556lea r8, [rsp+64]
    0018855bmov rcx, rax
    0018855emov rdi, rdx
    00188561mov rsi, r8
    00188564rep movsq [rdi], [rsi]
    00188567mov ecx, [r8+73]
    0018856bmov esi, [r8+76]
    0018856fmov [rbp+76], esi
    00188572mov [rbp+73], ecx
    00188575mov rcx, rax
    00188578mov rdi, rbp
    0018857bmov rsi, rdx
    0018857erep movsq [rdi], [rsi]
    00188581mov [rbp+72], r9b
    00188585jmp 0x188539
    00188587
    00188587loc_188587:
    00188587cmp r14l, 127
    0018858bja 0x188642
    00188591mov eax, r14l
    00188594and eax, -33
    00188597add eax, -65
    0018859acmp eax, 25
    0018859dja 0x188642
    001885a3push 2
    001885a5pop rdi
    001885a6push 1
    001885a8pop rbx
    001885a9mov rsi, rbx
    001885accall _ZN5alloc5alloc15exchange_malloc17hc6dbbe43d4abbe5aE.641
    001885b1mov [rax], r14b
    001885b4mov [rax+1], r14b
    001885b8lea r12, [rsp+224]
    001885c0mov [r12], rax
    001885c4mov [r12+8], rbx
    001885c9mov [r12+16], rbx
    001885celea r13, [rsp+320]
    001885d6mov rdi, r13
    001885d9mov rsi, r12
    001885dccall regex_syntax::hir::interval::IntervalSet<I>::new
    001885e1mov rdi, r13
    001885e4call regex_syntax::hir::ClassBytes::case_fold_simple
    001885e9movups x0, [r13]
    001885eemovups x1, [r13+16]
    001885f3movups [r12+24], x1
    001885f9movups [r12+8], x0
    001885ffmov [r12], rbx
    00188603
    00188603loc_188603:
    00188603lea rdi, [rsp+64]
    00188608lea rsi, [rsp+224]
    00188610call _ZN12regex_syntax3hir3Hir5class17h14fc9d42d80925d2E.1038
    00188615mov rax, [rsp+64]
    0018861amovups x0, [rsp+72]
    0018861fmovaps [rsp+16], x0
    00188624movups x0, [rsp+88]
    00188629movaps [rsp+32], x0
    0018862emov rcx, [rsp+104]
    00188633mov [rsp+48], rcx
    00188638cmp rax, 10
    0018863cjne 0x188707
    00188642
    00188642loc_188642:
    00188642lea rsi, [rsp+224]
    0018864aand [rsi], 0
    0018864dmov edi, r14l
    00188650call core::char::methods::encode_utf8_raw
    00188655mov r12, rax
    00188658mov r14, rdx
    0018865blea rsi, [rip+0x6ade6]
    00188662mov rdi, r15
    00188665call core::cell::RefCell<T>::borrow_mut
    0018866amov r15, rax
    0018866dmov rbx, rdx
    00188670mov rax, [rax+16]
    00188674sub rax, 1
    00188678jb 0x18869a
    0018867aimul rdi, rax, 48
    0018867eadd rdi, [r15]
    00188681cmp [rdi], 10
    00188684jne 0x18869a
    00188686add rdi, 8
    0018868amov rdx, r12
    0018868dadd rdx, r14
    00188690mov rsi, r12
    00188693call _<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<&T,core::slice::iter::Iter<T>>>::spec_extend
    00188698jmp 0x1886e3
    0018869a
    0018869aloc_18869a:
    0018869amov rdi, r14
    0018869dcall alloc::raw_vec::RawVec<T,A>::allocate_in
    001886a2mov r13, rax
    001886a5mov rsi, r12
    001886a8mov r12, rbx
    001886abmov rbx, rbp
    001886aemov rbp, rdx
    001886b1mov rdi, rax
    001886b4mov rdx, r14
    001886b7call [rip+0x89463]
    001886bdlea rsi, [rsp+64]
    001886c2mov [rsi+8], r13
    001886c6mov [rsi+16], rbp
    001886camov rbp, rbx
    001886cdmov rbx, r12
    001886d0mov [rsi+24], r14
    001886d4
    001886d4loc_1886d4:
    001886d4mov [rsi], 10
    001886dbmov rdi, r15
    001886decall alloc::vec::Vec<T,A>::push
    001886e3
    001886e3loc_1886e3:
    001886e3inc [rbx]
    001886e6jmp 0x188535
    001886eb
    001886ebloc_1886eb:
    001886ebmov rsi, [r15+8]
    001886efmov rdx, [r15+16]
    001886f3lea rdi, [rsp+64]
    001886f8lea rcx, [rsp+320]
    00188700push 2
    00188702jmp 0x187e7e
    00188707
    00188707loc_188707:
    00188707mov rcx, [rsp+48]
    0018870clea rsi, [rsp+64]
    00188711mov [rsi+40], rcx
    00188715movaps x0, [rsp+16]
    0018871amovaps x1, [rsp+32]
    0018871fmovups [rsi+24], x1
    00188723movups [rsi+8], x0
    00188727mov [rsi], rax
    0018872ajmp 0x188376
    0018872f
    0018872floc_18872f:
    0018872fmov [rsp+320], rbp
    00188737lea rax, [rip+0x6aa12]
    0018873elea rdi, [rsp+64]
    00188743mov [rdi], rax
    00188746push 1
    00188748pop rax
    00188749mov [rdi+8], rax
    0018874dand [rdi+32], 0
    00188752lea rcx, [rip-49837]
    00188759mov [rsp+328], rcx
    00188761lea rcx, [rsp+320]
    00188769mov [rdi+16], rcx
    0018876dmov [rdi+24], rax
    00188771lea rsi, [rip+0x6a9e8]
    00188778jmp 0x1889fa
    0018877dlea rax, [rip+0x6adfc]
    00188784lea rdi, [rsp+64]
    00188789mov [rdi], rax
    0018878cmov [rdi+8], 1
    00188794lea rax, [rsp+176]
    0018879cmov [rdi+16], rax
    001887a0xorps x0, x0
    001887a3movups [rdi+24], x0
    001887a7lea rsi, [rip+0x6ade2]
    001887aejmp 0x1889fa
    001887b3lea rax, [rip+0x6adee]
    001887balea rdi, [rsp+64]
    001887bfmov [rdi], rax
    001887c2mov [rdi+8], 1
    001887calea rax, [rsp+176]
    001887d2mov [rdi+16], rax
    001887d6xorps x0, x0
    001887d9movups [rdi+24], x0
    001887ddlea rsi, [rip+0x6add4]
    001887e4jmp 0x1889fa
    001887e9lea rax, [rip+0x6ade0]
    001887f0lea rdi, [rsp+64]
    001887f5mov [rdi], rax
    001887f8mov [rdi+8], 1
    00188800lea rax, [rsp+176]
    00188808mov [rdi+16], rax
    0018880cxorps x0, x0
    0018880fmovups [rdi+24], x0
    00188813lea rsi, [rip+0x6adc6]
    0018881ajmp 0x1889fa
    0018881flea rax, [rip+0x6add2]
    00188826lea rdi, [rsp+64]
    0018882bmov [rdi], rax
    0018882emov [rdi+8], 1
    00188836lea rax, [rsp+176]
    0018883emov [rdi+16], rax
    00188842xorps x0, x0
    00188845movups [rdi+24], x0
    00188849lea rsi, [rip+0x6adb8]
    00188850jmp 0x1889fa
    00188855lea rax, [rip+0x6adc4]
    0018885clea rdi, [rsp+64]
    00188861mov [rdi], rax
    00188864mov [rdi+8], 1
    0018886clea rax, [rsp+176]
    00188874mov [rdi+16], rax
    00188878xorps x0, x0
    0018887bmovups [rdi+24], x0
    0018887flea rsi, [rip+0x6adaa]
    00188886jmp 0x1889fa
    0018888blea rax, [rip+0x6adb6]
    00188892lea rdi, [rsp+64]
    00188897mov [rdi], rax
    0018889amov [rdi+8], 1
    001888a2lea rax, [rsp+176]
    001888aamov [rdi+16], rax
    001888aexorps x0, x0
    001888b1movups [rdi+24], x0
    001888b5lea rsi, [rip+0x6ad9c]
    001888bcjmp 0x1889fa
    001888c1lea rax, [rip+0x6abc8]
    001888c8lea rdi, [rsp+64]
    001888cdmov [rdi], rax
    001888d0mov [rdi+8], 1
    001888d8lea rax, [rsp+176]
    001888e0mov [rdi+16], rax
    001888e4xorps x0, x0
    001888e7movups [rdi+24], x0
    001888eblea rsi, [rip+0x6abae]
    001888f2jmp 0x1889fa
    001888f7lea rax, [rip+0x6abba]
    001888felea rdi, [rsp+64]
    00188903mov [rdi], rax
    00188906mov [rdi+8], 1
    0018890elea rax, [rsp+176]
    00188916mov [rdi+16], rax
    0018891axorps x0, x0
    0018891dmovups [rdi+24], x0
    00188921lea rsi, [rip+0x6aba0]
    00188928jmp 0x1889fa
    0018892dlea rax, [rip+0x6abac]
    00188934lea rdi, [rsp+64]
    00188939mov [rdi], rax
    0018893cmov [rdi+8], 1
    00188944lea rax, [rsp+176]
    0018894cmov [rdi+16], rax
    00188950xorps x0, x0
    00188953movups [rdi+24], x0
    00188957lea rsi, [rip+0x6ab92]
    0018895ejmp 0x1889fa
    00188963lea rax, [rip+0x6ab9e]
    0018896alea rdi, [rsp+64]
    0018896fmov [rdi], rax
    00188972mov [rdi+8], 1
    0018897alea rax, [rsp+176]
    00188982mov [rdi+16], rax
    00188986xorps x0, x0
    00188989movups [rdi+24], x0
    0018898dlea rsi, [rip+0x6ab84]
    00188994jmp 0x1889fa
    00188996lea rax, [rip+0x6ab93]
    0018899dlea rdi, [rsp+64]
    001889a2mov [rdi], rax
    001889a5mov [rdi+8], 1
    001889adlea rax, [rsp+176]
    001889b5mov [rdi+16], rax
    001889b9xorps x0, x0
    001889bcmovups [rdi+24], x0
    001889c0lea rsi, [rip+0x6ab79]
    001889c7jmp 0x1889fa
    001889c9lea rax, [rip+0x6ab88]
    001889d0lea rdi, [rsp+64]
    001889d5mov [rdi], rax
    001889d8mov [rdi+8], 1
    001889e0lea rax, [rsp+176]
    001889e8mov [rdi+16], rax
    001889ecxorps x0, x0
    001889efmovups [rdi+24], x0
    001889f3lea rsi, [rip+0x6ab6e]
    001889fa
    001889faloc_1889fa:
    001889facall core::panicking::panic_fmt
    001889ffud2
    00188a01
    00188a01loc_188a01:
    00188a01lea rax, [rsp+320]
    00188a09mov [rax], rbx
    00188a0clea rcx, [rip+0x6a715]
    00188a13lea rdi, [rsp+64]
    00188a18mov [rdi], rcx
    00188a1bpush 1
    00188a1dpop rcx
    00188a1emov [rdi+8], rcx
    00188a22and [rdi+32], 0
    00188a27lea rdx, [rip-50562]
    00188a2emov [rax+8], rdx
    00188a32mov [rdi+16], rax
    00188a36mov [rdi+24], rcx
    00188a3alea rsi, [rip+0x6a6f7]
    00188a41jmp 0x1889fa
    00188a43
    00188a43loc_188a43:
    00188a43lea rax, [rsp+320]
    00188a4bmov [rax], rbx
    00188a4elea rcx, [rip+0x6a6ab]
    00188a55lea rdi, [rsp+64]
    00188a5amov [rdi], rcx
    00188a5dpush 1
    00188a5fpop rcx
    00188a60mov [rdi+8], rcx
    00188a64and [rdi+32], 0
    00188a69lea rdx, [rip-50628]
    00188a70mov [rax+8], rdx
    00188a74mov [rdi+16], rax
    00188a78mov [rdi+24], rcx
    00188a7clea rsi, [rip+0x6a68d]
    00188a83jmp 0x1889fa
    00187259
    00188a88
    00188a88regex_syntax::hir::translate::TranslatorI::push:
    00188a88push r14
    00188a8apush rbx
    00188a8bpush rax
    00188a8cmov rbx, rsi
    00188a8flea rsi, [rip+0x6a99a]
    00188a96call core::cell::RefCell<T>::borrow_mut
    00188a9bmov r14, rdx
    00188a9emov rdi, rax
    00188aa1mov rsi, rbx
    00188aa4call alloc::vec::Vec<T,A>::push
    00188aa9inc [r14]
    00188aacadd rsp, 8
    00188ab0pop rbx
    00188ab1pop r14
    00188ab3ret
    00188a88
    00188ab4
    00188ab4alloc::vec::Vec<T,A>::push:
    00188ab4push r14
    00188ab6push rbx
    00188ab7push rax
    00188ab8mov r14, rsi
    00188abbmov rbx, rdi
    00188abemov rsi, [rdi+16]
    00188ac2cmp rsi, [rdi+8]
    00188ac6jne 0x188ad4
    00188ac8mov rdi, rbx
    00188acbcall alloc::raw_vec::RawVec<T,A>::reserve_for_push
    00188ad0mov rsi, [rbx+16]
    00188ad4
    00188ad4loc_188ad4:
    00188ad4mov rax, [rbx]
    00188ad7imul rcx, rsi, 48
    00188adbmovups x0, [r14]
    00188adfmovups x1, [r14+16]
    00188ae4movups x2, [r14+32]
    00188ae9movups [rax+rcx+32], x2
    00188aeemovups [rax+rcx+16], x1
    00188af3movups [rax+rcx], x0
    00188af7inc rsi
    00188afamov [rbx+16], rsi
    00188afeadd rsp, 8
    00188b02pop rbx
    00188b03pop r14
    00188b05ret
    00188ab4
    00188b06
    00188b06regex_syntax::hir::translate::TranslatorI::pop:
    00188b06push rbx
    00188b07mov rax, rsi
    00188b0amov rbx, rdi
    00188b0dlea rsi, [rip+0x6a964]
    00188b14mov rdi, rax
    00188b17call core::cell::RefCell<T>::borrow_mut
    00188b1cmov rcx, [rax+16]
    00188b20test rcx, rcx
    00188b23je 0x188b4e
    00188b25dec rcx
    00188b28mov [rax+16], rcx
    00188b2cmov rax, [rax]
    00188b2fimul rcx, rcx, 48
    00188b33movups x0, [rax+rcx]
    00188b37movups x1, [rax+rcx+16]
    00188b3cmovups x2, [rax+rcx+32]
    00188b41movups [rbx+32], x2
    00188b45movups [rbx+16], x1
    00188b49movups [rbx], x0
    00188b4cjmp 0x188b55
    00188b4e
    00188b4eloc_188b4e:
    00188b4emov [rbx], 18
    00188b55
    00188b55loc_188b55:
    00188b55inc [rdx]
    00188b58pop rbx
    00188b59ret
    00188b06
    00188b5a
    00188b5acore::option::Option<T>::unwrap:
    00188b5acmp [rsi], 18
    00188b5dje 0x188b76
    00188b5fmovups x0, [rsi]
    00188b62movups x1, [rsi+16]
    00188b66movups x2, [rsi+32]
    00188b6amovups [rdi+32], x2
    00188b6emovups [rdi+16], x1
    00188b72movups [rdi], x0
    00188b75ret
    00188b76
    00188b76loc_188b76:
    00188b76push rax
    00188b77lea rdi, [rip-0xf7b80]
    00188b7epush 43
    00188b80pop rsi
    00188b81call core::panicking::panic
    00188b86ud2
    00188b5a
    00188b88
    00188b88regex_syntax::hir::translate::HirFrame::unwrap_expr:
    00188b88push r14
    00188b8apush rbx
    00188b8bsub rsp, 88
    00188b8fmov rbx, rsi
    00188b92mov r14, [rsi]
    00188b95lea rcx, [r14-10]
    00188b99lea rdx, [r14-9]
    00188b9dxor eax, eax
    00188b9fcmp rcx, 8
    00188ba3cmovb rax, rdx
    00188ba7test rax, rax
    00188baaje 0x188bcd
    00188baccmp rax, 1
    00188bb0jne 0x188c00
    00188bb2mov rax, [rbx+24]
    00188bb6lea rsi, [rsp+16]
    00188bbbmov [rsi+16], rax
    00188bbfmovups x0, [rbx+8]
    00188bc3movaps [rsi], x0
    00188bc6call regex_syntax::hir::Hir::literal
    00188bcbjmp 0x188be3
    00188bcd
    00188bcdloc_188bcd:
    00188bcdmovups x0, [rbx]
    00188bd0movups x1, [rbx+16]
    00188bd4movups x2, [rbx+32]
    00188bd8movups [rdi+32], x2
    00188bdcmovups [rdi+16], x1
    00188be0movups [rdi], x0
    00188be3
    00188be3loc_188be3:
    00188be3cmp r14l, 11
    00188be7jae 0x188bf1
    00188be9add rsp, 88
    00188bedpop rbx
    00188beepop r14
    00188bf0ret
    00188bf1
    00188bf1loc_188bf1:
    00188bf1mov rdi, rbx
    00188bf4add rsp, 88
    00188bf8pop rbx
    00188bf9pop r14
    00188bfbjmp 0x17d46e
    00188c00
    00188c00loc_188c00:
    00188c00mov rax, rsp
    00188c03mov [rax], rbx
    00188c06lea rcx, [rip+0x6a47b]
    00188c0dlea rdi, [rsp+40]
    00188c12mov [rdi], rcx
    00188c15push 1
    00188c17pop rcx
    00188c18mov [rdi+8], rcx
    00188c1cand [rdi+32], 0
    00188c21lea rdx, [rip-51068]
    00188c28mov [rax+8], rdx
    00188c2cmov [rdi+16], rax
    00188c30mov [rdi+24], rcx
    00188c34lea rsi, [rip+0x6a45d]
    00188c3bcall core::panicking::panic_fmt
    00188c40ud2
    00188b88
    00188c42
    00188c42regex_syntax::hir::Hir::literal:
    00188c42push r15
    00188c44push r14
    00188c46push rbx
    00188c47mov rbx, rdi
    00188c4amov rdi, rsi
    00188c4dcall alloc::vec::Vec<T,A>::into_boxed_slice
    00188c52mov r14, rax
    00188c55test rdx, rdx
    00188c58je 0x188c81
    00188c5amov r15, rdx
    00188c5dmov rdi, r14
    00188c60mov rsi, rdx
    00188c63call regex_syntax::hir::Properties::literal
    00188c68mov [rbx], 3
    00188c6fmov [rbx+8], r14
    00188c73mov [rbx+16], r15
    00188c77mov [rbx+40], rax
    00188c7bpop rbx
    00188c7cpop r14
    00188c7epop r15
    00188c80ret
    00188c81
    00188c81loc_188c81:
    00188c81mov rdi, rbx
    00188c84call regex_syntax::hir::Hir::empty
    00188c89mov rdi, r14
    00188c8cxor esi, esi
    00188c8epop rbx
    00188c8fpop r14
    00188c91pop r15
    00188c93jmp 0x1137a0
    00188c42
    00188c98
    00188c98regex_syntax::hir::Properties::literal:
    00188c98push r14
    00188c9apush rbx
    00188c9bsub rsp, 24
    00188c9fmov rbx, rsi
    00188ca2mov rsi, rdi
    00188ca5mov r14, rsp
    00188ca8mov rdi, r14
    00188cabmov rdx, rbx
    00188caecall core::str::converts::from_utf8
    00188cb3mov r14, [r14]
    00188cb6push 80
    00188cb8pop rdi
    00188cb9push 8
    00188cbbpop rsi
    00188cbccall _ZN5alloc5alloc15exchange_malloc17hc6dbbe43d4abbe5aE.641
    00188cc1test r14, r14
    00188cc4push 1
    00188cc6pop rcx
    00188cc7mov [rax], rcx
    00188ccamov [rax+8], rbx
    00188ccemov [rax+16], rcx
    00188cd2mov [rax+24], rbx
    00188cd6mov [rax+32], rcx
    00188cdaxorps x0, x0
    00188cddmovups [rax+56], x0
    00188ce1movups [rax+40], x0
    00188ce5sete [rax+76]
    00188ce9and [rax+72], 0
    00188cedmov [rax+77], 257
    00188cf3add rsp, 24
    00188cf7pop rbx
    00188cf8pop r14
    00188cfaret
    00188c98
    00188cfb
    00188cfbregex_syntax::hir::translate::TranslatorI::set_flags:
    00188cfbpush rbp
    00188cfcpush r15
    00188cfepush r14
    00188d00push r12
    00188d02push rbx
    00188d03mov ecx, [rdi+32]
    00188d06mov eax, [rdi+36]
    00188d09shl rax, 32
    00188d0dor rax, rcx
    00188d10imul r11, rdx, 56
    00188d14mov bl, 1
    00188d16mov cl, 2
    00188d18lea r14, [rip-0x14a1ab]
    00188d1fmov dl, 2
    00188d21mov r8b, 2
    00188d24mov r9b, 2
    00188d27mov r10b, 2
    00188d2amov bpl, 2
    00188d2d
    00188d2dloc_188d2d:
    00188d2dtest r11, r11
    00188d30je 0x188d6e
    00188d32movzx r15l, [rsi+48]
    00188d37cmp r15, 7
    00188d3bjne 0x188d49
    00188d3dxor ebx, ebx
    00188d3f
    00188d3floc_188d3f:
    00188d3fadd rsi, 56
    00188d43add r11, -56
    00188d47jmp 0x188d2d
    00188d49
    00188d49loc_188d49:
    00188d49movsxd r15, [r14+4*r15]
    00188d4dadd r15, r14
    00188d50jmp r15
    00188d53mov ebp, ebx
    00188d55jmp 0x188d3f
    00188d57mov r10l, ebx
    00188d5ajmp 0x188d3f
    00188d5cmov r9l, ebx
    00188d5fjmp 0x188d3f
    00188d61mov r8l, ebx
    00188d64jmp 0x188d3f
    00188d66mov edx, ebx
    00188d68jmp 0x188d3f
    00188d6amov ecx, ebx
    00188d6cjmp 0x188d3f
    00188d6e
    00188d6eloc_188d6e:
    00188d6emov rbx, rax
    00188d71shr rbx, 40
    00188d75mov rsi, rax
    00188d78shr rsi, 32
    00188d7cmov r14l, eax
    00188d7fshr r14l, 24
    00188d83mov r15l, eax
    00188d86shr r15l, 16
    00188d8amov r12l, eax
    00188d8dshr r12l, 8
    00188d91cmp bpl, 2
    00188d95movzx r11l, bpl
    00188d99cmove r11l, eax
    00188d9dcmp r10b, 2
    00188da1movzx r10l, r10b
    00188da5cmove r10l, r12l
    00188da9cmp r9b, 2
    00188dadmovzx r9l, r9b
    00188db1cmove r9l, r15l
    00188db5cmp r8b, 2
    00188db9movzx r8l, r8b
    00188dbdcmove r8l, r14l
    00188dc1cmp dl, 2
    00188dc4movzx edx, dl
    00188dc7cmovne esi, edx
    00188dcacmp cl, 2
    00188dcdmovzx ecx, cl
    00188dd0cmovne ebx, ecx
    00188dd3shl rbx, 40
    00188dd7mov ecx, 255
    00188ddcand esi, ecx
    00188ddeshl rsi, 32
    00188de2or rsi, rbx
    00188de5and r8l, ecx
    00188de8shl r8, 24
    00188decor r8, rsi
    00188defand r9l, ecx
    00188df2shl r9, 16
    00188df6or r9, r8
    00188df9and r10l, ecx
    00188dfcshl r10, 8
    00188e00or r10, r9
    00188e03and r11l, ecx
    00188e06or r11, r10
    00188e09shr rsi, 32
    00188e0dmov [rdi+36], si
    00188e11mov [rdi+32], r11l
    00188e15pop rbx
    00188e16pop r12
    00188e18pop r14
    00188e1apop r15
    00188e1cpop rbp
    00188e1dret
    00188cfb
    00188e1e
    00188e1eregex_syntax::hir::translate::TranslatorI::ast_literal_to_scalar:
    00188e1emov rcx, rdx
    00188e21mov rax, [rsi]
    00188e24cmp [rax+36], 0
    00188e28je 0x188e38
    00188e2amov eax, [rcx+48]
    00188e2d
    00188e2dloc_188e2d:
    00188e2dmov [rdi], 0
    00188e30mov [rdi+4], eax
    00188e33
    00188e33loc_188e33:
    00188e33mov [rdi+72], 7
    00188e37ret
    00188e38
    00188e38loc_188e38:
    00188e38mov dl, [rcx+52]
    00188e3bxor dl, 4
    00188e3eor dl, [rcx+53]
    00188e41mov edx, [rcx+48]
    00188e44jne 0x188e57
    00188e46cmp edx, 255
    00188e4cja 0x188e57
    00188e4etest dl, dl
    00188e50js 0x188e5f
    00188e52movzx eax, dl
    00188e55jmp 0x188e2d
    00188e57
    00188e57loc_188e57:
    00188e57mov [rdi], 0
    00188e5amov [rdi+4], edx
    00188e5djmp 0x188e33
    00188e5f
    00188e5floc_188e5f:
    00188e5fcmp [rax+39], 0
    00188e63je 0x188e79
    00188e65mov rax, [rsi+8]
    00188e69mov rdx, [rsi+16]
    00188e6dpush 1
    00188e6fpop r8
    00188e71mov rsi, rax
    00188e74jmp 0x188e81
    00188e79
    00188e79loc_188e79:
    00188e79mov [rdi], 1
    00188e7cmov [rdi+1], dl
    00188e7fjmp 0x188e33
    00188e1e
    00188e81
    00188e81regex_syntax::hir::translate::TranslatorI::error:
    00188e81push rbp
    00188e82push r15
    00188e84push r14
    00188e86push r13
    00188e88push r12
    00188e8apush rbx
    00188e8bpush rax
    00188e8cmov [rsp+4], r8l
    00188e91mov r14, rcx
    00188e94mov r15, rdx
    00188e97mov r12, rsi
    00188e9amov r13, rdi
    00188e9dmov rdi, rdx
    00188ea0call alloc::raw_vec::RawVec<T,A>::allocate_in
    00188ea5mov rbp, rax
    00188ea8mov rbx, rdx
    00188eabmov rdi, rax
    00188eaemov rsi, r12
    00188eb1mov rdx, r15
    00188eb4call [rip+0x88c66]
    00188ebamov eax, [rsp+4]
    00188ebemov [r13+72], al
    00188ec2mov [r13], rbp
    00188ec6mov [r13+8], rbx
    00188ecamov [r13+16], r15
    00188ecemovups x0, [r14]
    00188ed2movups x1, [r14+16]
    00188ed7movups x2, [r14+32]
    00188edcmovups [r13+24], x0
    00188ee1movups [r13+40], x1
    00188ee6movups [r13+56], x2
    00188eebadd rsp, 8
    00188eefpop rbx
    00188ef0pop r12
    00188ef2pop r13
    00188ef4pop r14
    00188ef6pop r15
    00188ef8pop rbp
    00188ef9ret
    00188e81
    00188efa
    00188efaregex_syntax::hir::ClassBytes::empty:
    00188efasub rsp, 24
    00188efemov rsi, rsp
    00188f01mov [rsi], 1
    00188f08xorps x0, x0
    00188f0bmovups [rsi+8], x0
    00188f0fcall regex_syntax::hir::interval::IntervalSet<I>::new
    00188f14add rsp, 24
    00188f18ret
    00188efa
    00188f19
    00188f19regex_syntax::hir::ClassBytes::push:
    00188f19push rbx
    00188f1amov rbx, rdi
    00188f1dcall alloc::vec::Vec<T,A>::push
    00188f22mov rdi, rbx
    00188f25call regex_syntax::hir::interval::IntervalSet<I>::canonicalize
    00188f2amov [rbx+24], 0
    00188f2epop rbx
    00188f2fret
    00188f19
    00188f30
    00188f30_ZN12regex_syntax3hir3Hir5class17h14fc9d42d80925d2E.1038:
    00188f30push r15
    00188f32push r14
    00188f34push rbx
    00188f35sub rsp, 64
    00188f39mov rbx, rsi
    00188f3cmov r14, rdi
    00188f3fcmp [rsi+24], 0
    00188f44je 0x188f7c
    00188f46lea r15, [rsp+8]
    00188f4bmov rdi, r15
    00188f4emov rsi, rbx
    00188f51call regex_syntax::hir::Class::literal
    00188f56cmp [r15], 0
    00188f5aje 0x188f95
    00188f5cmov rax, [rsp+24]
    00188f61lea rsi, [rsp+32]
    00188f66mov [rsi+16], rax
    00188f6amovups x0, [rsp+8]
    00188f6fmovaps [rsi], x0
    00188f72mov rdi, r14
    00188f75call regex_syntax::hir::Hir::literal
    00188f7ajmp 0x188f84
    00188f7c
    00188f7cloc_188f7c:
    00188f7cmov rdi, r14
    00188f7fcall regex_syntax::hir::Hir::fail
    00188f84
    00188f84loc_188f84:
    00188f84mov rdi, rbx
    00188f87add rsp, 64
    00188f8bpop rbx
    00188f8cpop r14
    00188f8epop r15
    00188f90jmp 0x129605
    00188f95
    00188f95loc_188f95:
    00188f95mov rsi, [rsp+16]
    00188f9axor edi, edi
    00188f9ccall core::ptr::drop_in_place<std::env::VarError>
    00188fa1mov rdi, rbx
    00188fa4call regex_syntax::hir::Properties::class
    00188fa9movups x0, [rbx]
    00188facmovups x1, [rbx+16]
    00188fb0movups [r14], x0
    00188fb4movups [r14+16], x1
    00188fb9mov rcx, [rbx+32]
    00188fbdmov [r14+32], rcx
    00188fc1mov [r14+40], rax
    00188fc5add rsp, 64
    00188fc9pop rbx
    00188fcapop r14
    00188fccpop r15
    00188fceret
    00188f30
    00188fcf
    00188fcfregex_syntax::hir::ClassUnicode::empty:
    00188fcfsub rsp, 24
    00188fd3mov rsi, rsp
    00188fd6mov [rsi], 4
    00188fddxorps x0, x0
    00188fe0movups [rsi+8], x0
    00188fe4call regex_syntax::hir::interval::IntervalSet<I>::new
    00188fe9add rsp, 24
    00188fedret
    00188fcf
    00188fee
    00188feeregex_syntax::hir::ClassUnicode::push:
    00188feepush rbx
    00188fefmov rbx, rdi
    00188ff2call alloc::vec::Vec<T,A>::push
    00188ff7mov rdi, rbx
    00188ffacall regex_syntax::hir::interval::IntervalSet<I>::canonicalize
    00188fffmov [rbx+24], 0
    00189003pop rbx
    00189004ret
    00188fee
    00189005
    00189005regex_syntax::hir::ClassBytes::negate:
    00189005push rbp
    00189006push r15
    00189008push r14
    0018900apush r13
    0018900cpush r12
    0018900epush rbx
    0018900fsub rsp, 40
    00189013mov rbx, rdi
    00189016mov r14, [rdi+16]
    0018901atest r14, r14
    0018901dje 0x189144
    00189023mov r15, [rbx]
    00189026lea rcx, [rip+0x69d73]
    0018902dmov rdi, r15
    00189030mov rsi, r14
    00189033xor edx, edx
    00189035call _<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index
    0018903acmp [rax], 0
    0018903dje 0x189068
    0018903flea rcx, [rip+0x69d72]
    00189046mov rdi, r15
    00189049mov rsi, r14
    0018904cxor edx, edx
    0018904ecall _<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index
    00189053movzx edi, [rax]
    00189056call _<u8 as regex_syntax::hir::interval::Bound>::decrement
    0018905bmovzx edx, al
    0018905emov rdi, rbx
    00189061xor esi, esi
    00189063call alloc::vec::Vec<T,A>::push
    00189068
    00189068loc_189068:
    00189068push 1
    0018906apop r15
    0018906c
    0018906cloc_18906c:
    0018906ccmp r15, r14
    0018906fjae 0x1890d5
    00189071lea rdx, [r15-1]
    00189075mov rbp, [rbx]
    00189078mov r12, [rbx+16]
    0018907cmov rdi, rbp
    0018907fmov rsi, r12
    00189082lea rcx, [rip+0x69d77]
    00189089call _<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index
    0018908emovzx edi, [rax+1]
    00189092call _<u8 as regex_syntax::hir::interval::Bound>::increment
    00189097mov r13l, eax
    0018909amov rdi, rbp
    0018909dmov rsi, r12
    001890a0mov rdx, r15
    001890a3lea rcx, [rip+0x69d6e]
    001890aacall _<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index
    001890afmovzx edi, [rax]
    001890b2call _<u8 as regex_syntax::hir::interval::Bound>::decrement
    001890b7movzx ecx, r13b
    001890bbmovzx edx, al
    001890becmp cl, dl
    001890c0mov esi, edx
    001890c2cmovb esi, ecx
    001890c5cmova edx, ecx
    001890c8mov rdi, rbx
    001890cbcall alloc::vec::Vec<T,A>::push
    001890d0inc r15
    001890d3jmp 0x18906c
    001890d5
    001890d5loc_1890d5:
    001890d5lea r15, [r14-1]
    001890d9mov r12, [rbx]
    001890dcmov r13, [rbx+16]
    001890e0lea rcx, [rip+0x69ce9]
    001890e7mov rdi, r12
    001890eamov rsi, r13
    001890edmov rdx, r15
    001890f0call _<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index
    001890f5cmp [rax+1], -1
    001890f9je 0x189129
    001890fblea rcx, [rip+0x69ce6]
    00189102mov rdi, r12
    00189105mov rsi, r13
    00189108mov rdx, r15
    0018910bcall _<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index
    00189110movzx edi, [rax+1]
    00189114call _<u8 as regex_syntax::hir::interval::Bound>::increment
    00189119movzx esi, al
    0018911cmov rdi, rbx
    0018911fmov edx, 255
    00189124call alloc::vec::Vec<T,A>::push
    00189129
    00189129loc_189129:
    00189129mov r15, rsp
    0018912cmov rdi, r15
    0018912fmov rsi, rbx
    00189132mov rdx, r14
    00189135call alloc::vec::Vec<T,A>::drain
    0018913amov rdi, r15
    0018913dcall _<alloc::vec::drain::Drain<T,A> as core::ops::drop::Drop>::drop
    00189142jmp 0x189157
    00189144
    00189144loc_189144:
    00189144mov rdi, rbx
    00189147xor esi, esi
    00189149mov edx, 255
    0018914ecall alloc::vec::Vec<T,A>::push
    00189153mov [rbx+24], 1
    00189157
    00189157loc_189157:
    00189157add rsp, 40
    0018915bpop rbx
    0018915cpop r12
    0018915epop r13
    00189160pop r14
    00189162pop r15
    00189164pop rbp
    00189165ret
    00189005
    00189166
    00189166regex_syntax::hir::ClassUnicode::negate:
    00189166push rbp
    00189167push r15
    00189169push r14
    0018916bpush r13
    0018916dpush r12
    0018916fpush rbx
    00189170sub rsp, 40
    00189174mov rbx, rdi
    00189177mov r14, [rdi+16]
    0018917btest r14, r14
    0018917eje 0x1892a1
    00189184mov r15, [rbx]
    00189187lea rcx, [rip+0x69c12]
    0018918emov rdi, r15
    00189191mov rsi, r14
    00189194xor edx, edx
    00189196call _<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index
    0018919bcmp [rax], 0
    0018919eje 0x1891c7
    001891a0lea rcx, [rip+0x69c11]
    001891a7mov rdi, r15
    001891aamov rsi, r14
    001891adxor edx, edx
    001891afcall _<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index
    001891b4mov edi, [rax]
    001891b6call _<char as regex_syntax::hir::interval::Bound>::decrement
    001891bbmov rdi, rbx
    001891bexor esi, esi
    001891c0mov edx, eax
    001891c2call alloc::vec::Vec<T,A>::push
    001891c7
    001891c7loc_1891c7:
    001891c7push 1
    001891c9pop r15
    001891cb
    001891cbloc_1891cb:
    001891cbcmp r15, r14
    001891cejae 0x189231
    001891d0lea rdx, [r15-1]
    001891d4mov rbp, [rbx]
    001891d7mov r12, [rbx+16]
    001891dbmov rdi, rbp
    001891demov rsi, r12
    001891e1lea rcx, [rip+0x69c18]
    001891e8call _<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index
    001891edmov edi, [rax+4]
    001891f0call _<char as regex_syntax::hir::interval::Bound>::increment
    001891f5mov r13l, eax
    001891f8mov rdi, rbp
    001891fbmov rsi, r12
    001891femov rdx, r15
    00189201lea rcx, [rip+0x69c10]
    00189208call _<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index
    0018920dmov edi, [rax]
    0018920fcall _<char as regex_syntax::hir::interval::Bound>::decrement
    00189214cmp r13l, eax
    00189217mov esi, eax
    00189219cmovb esi, r13l
    0018921dcmovbe r13l, eax
    00189221mov rdi, rbx
    00189224mov edx, r13l
    00189227call alloc::vec::Vec<T,A>::push
    0018922cinc r15
    0018922fjmp 0x1891cb
    00189231
    00189231loc_189231:
    00189231lea r15, [r14-1]
    00189235mov r12, [rbx]
    00189238mov r13, [rbx+16]
    0018923clea rcx, [rip+0x69b8d]
    00189243mov rdi, r12
    00189246mov rsi, r13
    00189249mov rdx, r15
    0018924ccall _<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index
    00189251cmp [rax+4], 0x10ffff
    00189258jae 0x189286
    0018925alea rcx, [rip+0x69b87]
    00189261mov rdi, r12
    00189264mov rsi, r13
    00189267mov rdx, r15
    0018926acall _<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index
    0018926fmov edi, [rax+4]
    00189272call _<char as regex_syntax::hir::interval::Bound>::increment
    00189277mov rdi, rbx
    0018927amov esi, eax
    0018927cmov edx, 0x10ffff
    00189281call alloc::vec::Vec<T,A>::push
    00189286
    00189286loc_189286:
    00189286mov r15, rsp
    00189289mov rdi, r15
    0018928cmov rsi, rbx
    0018928fmov rdx, r14
    00189292call alloc::vec::Vec<T,A>::drain
    00189297mov rdi, r15
    0018929acall _<alloc::vec::drain::Drain<T,A> as core::ops::drop::Drop>::drop
    0018929fjmp 0x1892b4
    001892a1
    001892a1loc_1892a1:
    001892a1mov rdi, rbx
    001892a4xor esi, esi
    001892a6mov edx, 0x10ffff
    001892abcall alloc::vec::Vec<T,A>::push
    001892b0mov [rbx+24], 1
    001892b4
    001892b4loc_1892b4:
    001892b4add rsp, 40
    001892b8pop rbx
    001892b9pop r12
    001892bbpop r13
    001892bdpop r14
    001892bfpop r15
    001892c1pop rbp
    001892c2ret
    00189166
    001892c3
    001892c3regex_syntax::hir::translate::TranslatorI::hir_unicode_class:
    001892c3push rbp
    001892c4push r15
    001892c6push r14
    001892c8push r13
    001892capush r12
    001892ccpush rbx
    001892cdsub rsp, 312
    001892d4mov r14, rdx
    001892d7mov r12, rsi
    001892damov rbp, rdi
    001892ddmov rcx, [rsi]
    001892e0cmp [rcx+36], 0
    001892e4je 0x189318
    001892e6movzx eax, [r14]
    001892eatest rax, rax
    001892edmov [rsp+200], rcx
    001892f5je 0x189345
    001892f7cmp eax, 1
    001892fajne 0x1893d9
    00189300mov rsi, [r14+8]
    00189304mov rdx, [r14+24]
    00189308lea r13, [r14+56]
    0018930clea rdi, [rsp+96]
    00189311call regex_syntax::unicode::ClassQuery::canonical_binary
    00189316jmp 0x18937a
    00189318
    00189318loc_189318:
    00189318add r14, 56
    0018931cmov rsi, [r12+8]
    00189321mov rdx, [r12+16]
    00189326mov rdi, rbp
    00189329mov rcx, r14
    0018932cxor r8l, r8l
    0018932fadd rsp, 312
    00189336pop rbx
    00189337pop r12
    00189339pop r13
    0018933bpop r14
    0018933dpop r15
    0018933fpop rbp
    00189340jmp 0x188e81
    00189345
    00189345loc_189345:
    00189345mov esi, [r14+4]
    00189349lea r13, [r14+56]
    0018934dlea rbx, [rsp+64]
    00189352mov rdi, rbx
    00189355call _ZN48_$LT$char$u20$as$u20$alloc..string..ToString$GT$9to_string17hd10bed701d6e195fE.918
    0018935amov r15, [rbx]
    0018935dmov rdx, [rbx+16]
    00189361lea rdi, [rsp+96]
    00189366mov rsi, r15
    00189369call regex_syntax::unicode::ClassQuery::canonical_binary
    0018936emov rsi, [rbx+8]
    00189372mov rdi, r15
    00189375call core::ptr::drop_in_place<alloc::boxed::Box<str>>
    0018937a
    0018937aloc_18937a:
    0018937amov rax, [rsp+96]
    0018937fcmp rax, 4
    00189383jne 0x189393
    00189385mov [rsp], r13
    00189389mov r13b, [rsp+104]
    0018938ejmp 0x189469
    00189393
    00189393loc_189393:
    00189393mov rbx, [rsp+104]
    00189398mov r15, [rsp+112]
    0018939dlea rcx, [rip-0x14a814]
    001893a4movsxd rax, [rcx+4*rax]
    001893a8add rax, rcx
    001893abjmp rax
    001893adlea rdx, [rip-0x12d88a]
    001893b4push 14
    001893b6pop rcx
    001893b7mov rdi, rbx
    001893bamov rsi, r15
    001893bdcall _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    001893c2test al, al
    001893c4je 0x189691
    001893calea rdi, [rsp+16]
    001893cfcall regex_syntax::unicode::perl_digit
    001893d4jmp 0x189477
    001893d9
    001893d9loc_1893d9:
    001893d9mov [rsp+56], rbp
    001893demov rsi, [r14+8]
    001893e2mov rdx, [r14+24]
    001893e6mov rbx, [r14+32]
    001893eamov r15, [r14+48]
    001893eelea rax, [r14+56]
    001893f2mov [rsp], rax
    001893f6lea r13, [rsp+208]
    001893femov rdi, r13
    00189401call regex_syntax::unicode::symbolic_name_normalize
    00189406lea rdi, [rsp+176]
    0018940emov rsi, rbx
    00189411mov rdx, r15
    00189414call regex_syntax::unicode::symbolic_name_normalize
    00189419mov rbp, [r13]
    0018941dmov rdx, [r13+16]
    00189421lea rbx, [rsp+64]
    00189426mov rdi, rbx
    00189429mov rsi, rbp
    0018942ccall regex_syntax::unicode::canonical_prop
    00189431cmp [rbx], 0
    00189434je 0x18952d
    0018943a
    0018943aloc_18943a:
    0018943amov r13b, [rsp+65]
    0018943f
    0018943floc_18943f:
    0018943fmov rdi, [rsp+176]
    00189447mov rsi, [rsp+184]
    0018944fcall core::ptr::drop_in_place<alloc::boxed::Box<str>>
    00189454mov rsi, [rsp+216]
    0018945cmov rdi, rbp
    0018945fcall core::ptr::drop_in_place<alloc::boxed::Box<str>>
    00189464mov rbp, [rsp+56]
    00189469
    00189469loc_189469:
    00189469mov [rsp+16], r13b
    0018946e
    0018946eloc_18946e:
    0018946emov [rsp+40], 2
    00189473
    00189473loc_189473:
    00189473mov r13, [rsp]
    00189477
    00189477loc_189477:
    00189477mov rsi, [r12+8]
    0018947cmov rdx, [r12+16]
    00189481lea rbx, [rsp+232]
    00189489lea r8, [rsp+16]
    0018948emov rdi, rbx
    00189491mov rcx, r13
    00189494call regex_syntax::hir::translate::TranslatorI::convert_unicode_class_error
    00189499cmp [rbx+72], 7
    0018949djne 0x1894c9
    0018949fmovzx edx, [r14+104]
    001894a4lea rbx, [rsp+96]
    001894a9lea rcx, [rsp+232]
    001894b1mov rdi, rbx
    001894b4mov rsi, [rsp+200]
    001894bccall regex_syntax::hir::translate::TranslatorI::unicode_fold_and_negate
    001894c1mov dl, [rbx+72]
    001894c4cmp dl, 7
    001894c7jne 0x1894ec
    001894c9
    001894c9loc_1894c9:
    001894c9push 10
    001894cbpop rcx
    001894cclea rsi, [rsp+232]
    001894d4mov rdi, rbp
    001894d7rep movsq [rdi], [rsi]
    001894da
    001894daloc_1894da:
    001894daadd rsp, 312
    001894e1pop rbx
    001894e2pop r12
    001894e4pop r13
    001894e6pop r14
    001894e8pop r15
    001894eapop rbp
    001894ebret
    001894ec
    001894ecloc_1894ec:
    001894ecpush 9
    001894eepop rcx
    001894eflea rax, [rsp+96]
    001894f4mov rdi, rbp
    001894f7mov rsi, rax
    001894farep movsq [rdi], [rsi]
    001894fdmov ecx, [rax+73]
    00189500mov eax, [rax+76]
    00189503mov [rbp+76], eax
    00189506mov [rbp+73], ecx
    00189509mov [rbp+72], dl
    0018950ccmp [rsp+304], 7
    00189514mov rdi, [rsp+232]
    0018951cmov rsi, [rsp+240]
    00189524jne 0x1895a5
    00189526call _<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop
    0018952bjmp 0x1894da
    0018952d
    0018952dloc_18952d:
    0018952dmov rbx, [rsp+72]
    00189532test rbx, rbx
    00189535je 0x189689
    0018953bmov r15, [rsp+80]
    00189540lea rdx, [rip-0x150617]
    00189547push 16
    00189549pop rcx
    0018954amov rdi, rbx
    0018954dmov rsi, r15
    00189550call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00189555test al, al
    00189557je 0x1896eb
    0018955dmov r15, [rsp+176]
    00189565mov rdx, [rsp+192]
    0018956dlea rbx, [rsp+64]
    00189572mov rdi, rbx
    00189575mov rsi, r15
    00189578call regex_syntax::unicode::canonical_gencat
    0018957dcmp [rbx], 0
    00189580jne 0x18943a
    00189586mov rbx, [rsp+72]
    0018958btest rbx, rbx
    0018958eje 0x18991d
    00189594mov [rsp+8], r15
    00189599mov r15, [rsp+80]
    0018959epush 1
    001895a0jmp 0x18974b
    001895a5
    001895a5loc_1895a5:
    001895a5call core::ptr::drop_in_place<alloc::boxed::Box<str>>
    001895aajmp 0x1894da
    001895aflea rdi, [rip+0x81dba]
    001895b6mov esi, 163
    001895bbmov rdx, rbx
    001895bemov rcx, r15
    001895c1call regex_syntax::unicode::property_set
    001895c6lea rbx, [rsp+96]
    001895cbmov rdi, rbx
    001895cemov rsi, rax
    001895d1call core::option::Option<T>::map
    001895d6cmp [rbx+24], 2
    001895dajne 0x1897eb
    001895e0mov [rsp+16], 1
    001895e5
    001895e5loc_1895e5:
    001895e5mov [rsp+40], 2
    001895eajmp 0x189477
    001895eflea rdi, [rsp+16]
    001895f4mov rsi, rbx
    001895f7mov rdx, r15
    001895facall regex_syntax::unicode::gencat
    001895ffjmp 0x189477
    00189604mov [rsp], r13
    00189608mov r13, [rsp+120]
    0018960dmov rax, [rsp+128]
    00189615mov [rsp+8], rax
    0018961alea rdx, [rip-0x1306e6]
    00189621push 3
    00189623pop rcx
    00189624mov rdi, rbx
    00189627mov rsi, r15
    0018962acall _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    0018962ftest al, al
    00189631je 0x1896bd
    00189637mov [rsp+56], rbp
    0018963clea rdi, [rsp+64]
    00189641call regex_syntax::hir::ClassUnicode::empty
    00189646lea rbx, [rip+0x81563]
    0018964dpush 32
    0018964fpop rbp
    00189650xor r15l, r15l
    00189653
    00189653loc_189653:
    00189653cmp rbp, 832
    0018965aje 0x189798
    00189660mov rdx, [rbx]
    00189663mov rcx, [rbx+8]
    00189667mov rdi, r13
    0018966amov rsi, [rsp+8]
    0018966fcall _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00189674test al, al
    00189676jne 0x18982f
    0018967cadd rbx, 32
    00189680inc r15
    00189683add rbp, 32
    00189687jmp 0x189653
    00189689
    00189689loc_189689:
    00189689xor r13l, r13l
    0018968cjmp 0x18943f
    00189691
    00189691loc_189691:
    00189691lea rdx, [rip-0x12de26]
    00189698push 11
    0018969apop rcx
    0018969bmov rdi, rbx
    0018969emov rsi, r15
    001896a1call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    001896a6test al, al
    001896a8je 0x1897b6
    001896aelea rdi, [rsp+16]
    001896b3call regex_syntax::unicode::perl_space
    001896b8jmp 0x189477
    001896bd
    001896bdloc_1896bd:
    001896bdlea rdx, [rip-0x130786]
    001896c4push 17
    001896c6pop rcx
    001896c7mov rdi, rbx
    001896camov rsi, r15
    001896cdcall _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    001896d2test al, al
    001896d4je 0x189804
    001896dalea rdi, [rip+0x830ef]
    001896e1mov esi, 163
    001896e6jmp 0x189948
    001896eb
    001896ebloc_1896eb:
    001896eblea rdx, [rip-0x1307c3]
    001896f2push 6
    001896f4pop rcx
    001896f5mov rdi, rbx
    001896f8mov rsi, r15
    001896fbcall _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00189700test al, al
    00189702je 0x18989a
    00189708mov r15, [rsp+176]
    00189710mov rdx, [rsp+192]
    00189718lea rbx, [rsp+64]
    0018971dmov rdi, rbx
    00189720mov rsi, r15
    00189723call regex_syntax::unicode::canonical_script
    00189728cmp [rbx], 0
    0018972bjne 0x18943a
    00189731mov rbx, [rsp+72]
    00189736test rbx, rbx
    00189739je 0x18991d
    0018973fmov [rsp+8], r15
    00189744mov r15, [rsp+80]
    00189749push 2
    0018974b
    0018974bloc_18974b:
    0018974bpop rcx
    0018974c
    0018974cloc_18974c:
    0018974cmov r13, [rsp]
    00189750mov [rsp+96], rcx
    00189755mov [rsp+104], rbx
    0018975amov [rsp+112], r15
    0018975fmov [rsp+120], rax
    00189764mov [rsp+128], rdx
    0018976cmov rsi, [rsp+184]
    00189774mov rdi, [rsp+8]
    00189779call core::ptr::drop_in_place<alloc::boxed::Box<str>>
    0018977emov rsi, [rsp+216]
    00189786mov rdi, rbp
    00189789call core::ptr::drop_in_place<alloc::boxed::Box<str>>
    0018978emov rbp, [rsp+56]
    00189793jmp 0x18937a
    00189798
    00189798loc_189798:
    00189798mov [rsp+16], 1
    0018979dmov [rsp+40], 2
    001897a2mov rdi, [rsp+64]
    001897a7mov rsi, [rsp+72]
    001897accall _<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop
    001897b1jmp 0x189890
    001897b6
    001897b6loc_1897b6:
    001897b6lea rdi, [rip+0x84473]
    001897bdpush 60
    001897bfpop rsi
    001897c0mov rdx, rbx
    001897c3mov rcx, r15
    001897c6call regex_syntax::unicode::property_set
    001897cblea rbx, [rsp+96]
    001897d0mov rdi, rbx
    001897d3mov rsi, rax
    001897d6call core::option::Option<T>::map
    001897dbcmp [rbx+24], 2
    001897dfjne 0x1897eb
    001897e1mov [rsp+16], 0
    001897e6jmp 0x1895e5
    001897eb
    001897ebloc_1897eb:
    001897ebmovups x0, [rsp+96]
    001897f0movups x1, [rsp+112]
    001897f5movaps [rsp+32], x1
    001897famovaps [rsp+16], x0
    001897ffjmp 0x189477
    00189804
    00189804loc_189804:
    00189804lea rdx, [rip-0x1308bc]
    0018980bpush 22
    0018980dpop rcx
    0018980emov rdi, rbx
    00189811mov rsi, r15
    00189814call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    00189819test al, al
    0018981bje 0x1898f9
    00189821lea rdi, [rip+0x84b88]
    00189828push 13
    0018982ajmp 0x189947
    0018982f
    0018982floc_18982f:
    0018982flea rax, [rip+0x8137a]
    00189836lea rbx, [rsp+96]
    0018983blea r15, [rsp+64]
    00189840
    00189840loc_189840:
    00189840test rbp, rbp
    00189843je 0x18987c
    00189845lea r13, [rax+32]
    00189849mov rsi, [rax+16]
    0018984dmov rdx, [rax+24]
    00189851mov rdi, rbx
    00189854call regex_syntax::unicode::hir_class
    00189859mov rdi, r15
    0018985cmov rsi, rbx
    0018985fcall regex_syntax::hir::interval::IntervalSet<I>::union
    00189864mov rdi, [rsp+96]
    00189869mov rsi, [rsp+104]
    0018986ecall _<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop
    00189873add rbp, -32
    00189877mov rax, r13
    0018987ajmp 0x189840
    0018987c
    0018987cloc_18987c:
    0018987cmovups x0, [rsp+64]
    00189881movups x1, [rsp+80]
    00189886movaps [rsp+32], x1
    0018988bmovaps [rsp+16], x0
    00189890
    00189890loc_189890:
    00189890mov rbp, [rsp+56]
    00189895jmp 0x189473
    0018989a
    0018989aloc_18989a:
    0018989alea r13, [rsp+64]
    0018989fmov rdi, r13
    001898a2mov rsi, rbx
    001898a5mov rdx, r15
    001898a8call regex_syntax::unicode::property_values
    001898adcmp [r13], 0
    001898b2jne 0x18943a
    001898b8mov rdi, [rsp+72]
    001898bdmov r13b, 1
    001898c0test rdi, rdi
    001898c3je 0x18943f
    001898c9mov rsi, [rsp+80]
    001898cemov rdx, [rsp+176]
    001898d6mov rcx, [rsp+192]
    001898demov [rsp+8], rdx
    001898e3call regex_syntax::unicode::canonical_value
    001898e8test rax, rax
    001898ebje 0x18943f
    001898f1push 3
    001898f3pop rcx
    001898f4jmp 0x18974c
    001898f9
    001898f9loc_1898f9:
    001898f9lea rdx, [rip-0x13099b]
    00189900push 14
    00189902pop rcx
    00189903mov rdi, rbx
    00189906mov rsi, r15
    00189909call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    0018990etest al, al
    00189910je 0x189925
    00189912lea rdi, [rip+0x84e77]
    00189919push 14
    0018991bjmp 0x189947
    0018991d
    0018991dloc_18991d:
    0018991dmov r13b, 1
    00189920jmp 0x18943f
    00189925
    00189925loc_189925:
    00189925lea rdx, [rip-0x1309b9]
    0018992cpush 10
    0018992epop rcx
    0018992fmov rdi, rbx
    00189932mov rsi, r15
    00189935call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    0018993atest al, al
    0018993cje 0x18998e
    0018993elea rdi, [rip+0x84c0b]
    00189945push 18
    00189947
    00189947loc_189947:
    00189947pop rsi
    00189948
    00189948loc_189948:
    00189948mov rdx, r13
    0018994bmov rcx, [rsp+8]
    00189950call regex_syntax::unicode::property_set
    00189955lea rbx, [rsp+96]
    0018995amov rdi, rbx
    0018995dmov rsi, rax
    00189960call core::option::Option<T>::map
    00189965cmp [rbx+24], 2
    00189969jne 0x189975
    0018996bmov [rsp+16], 1
    00189970jmp 0x18946e
    00189975
    00189975loc_189975:
    00189975movups x0, [rsp+96]
    0018997amovups x1, [rsp+112]
    0018997fmovaps [rsp+32], x1
    00189984movaps [rsp+16], x0
    00189989jmp 0x189473
    0018998e
    0018998eloc_18998e:
    0018998emov [rsp+16], 0
    00189993jmp 0x18946e
    001892c3
    00189998
    00189998regex_syntax::hir::Properties::repetition:
    00189998push rbp
    00189999push r15
    0018999bpush r14
    0018999dpush r13
    0018999fpush r12
    001899a1push rbx
    001899a2sub rsp, 56
    001899a6mov rax, [rdi+8]
    001899aamov r8, [rax+40]
    001899aemov r9, [r8]
    001899b1test r9, r9
    001899b4je 0x1899cb
    001899b6mov eax, [rdi+16]
    001899b9mul [r8+8]
    001899bdpush -1
    001899bfpop rcx
    001899c0cmovno rcx, rax
    001899c4mov [rsp+32], rcx
    001899c9jmp 0x1899cb
    001899cb
    001899cbloc_1899cb:
    001899cbmov ecx, [rdi]
    001899cdmov esi, [rdi+4]
    001899d0test ecx, ecx
    001899d2mov [rsp+48], r9
    001899d7je 0x1899f5
    001899d9cmp [r8+16], 0
    001899deje 0x1899f5
    001899e0xor r12l, r12l
    001899e3mov rax, rsi
    001899e6mul [r8+24]
    001899eamov [rsp+24], rax
    001899efsetno r12b
    001899f3jmp 0x1899f8
    001899f5
    001899f5loc_1899f5:
    001899f5xor r12l, r12l
    001899f8
    001899f8loc_1899f8:
    001899f8mov r9l, [r8+56]
    001899fcmov r13l, [r8+68]
    00189a00mov eax, [r8+72]
    00189a04mov dl, [r8+76]
    00189a08mov r10, [r8+48]
    00189a0cmov rbx, [r8+32]
    00189a10mov r14, [r8+40]
    00189a14cmp [rdi+16], 0
    00189a18mov [rsp+20], eax
    00189a1cmov [rsp+15], dl
    00189a20mov [rsp+16], r9l
    00189a25mov [rsp+40], r10
    00189a2aje 0x189a36
    00189a2cmov r15l, [r8+60]
    00189a30mov ebp, [r8+64]
    00189a34jmp 0x189a64
    00189a36
    00189a36loc_189a36:
    00189a36xor ebp, ebp
    00189a38test rbx, rbx
    00189a3bje 0x189a61
    00189a3dmov r15l, 0
    00189a43test r14, r14
    00189a46je 0x189a64
    00189a48push 1
    00189a4apop rdx
    00189a4bxor ebp, ebp
    00189a4dmov edi, ecx
    00189a4fxor ecx, ecx
    00189a51call _<core::option::Option<T> as core::cmp::PartialEq>::eq
    00189a56movzx ebx, al
    00189a59xor r15l, r15l
    00189a5cxor r14l, r14l
    00189a5fjmp 0x189a64
    00189a61
    00189a61loc_189a61:
    00189a61xor r15l, r15l
    00189a64
    00189a64loc_189a64:
    00189a64push 80
    00189a66pop rdi
    00189a67push 8
    00189a69pop rsi
    00189a6acall _ZN5alloc5alloc15exchange_malloc17hc6dbbe43d4abbe5aE.641
    00189a6fmov rcx, [rsp+48]
    00189a74mov [rax], rcx
    00189a77mov rcx, [rsp+32]
    00189a7cmov [rax+8], rcx
    00189a80mov [rax+16], r12
    00189a84mov rcx, [rsp+24]
    00189a89mov [rax+24], rcx
    00189a8dmov [rax+32], rbx
    00189a91mov [rax+40], r14
    00189a95mov rcx, [rsp+40]
    00189a9amov [rax+48], rcx
    00189a9emov ecx, [rsp+16]
    00189aa2mov [rax+56], ecx
    00189aa5mov [rax+60], r15l
    00189aa9mov [rax+64], ebp
    00189aacmov [rax+68], r13l
    00189ab0mov ecx, [rsp+20]
    00189ab4mov [rax+72], ecx
    00189ab7mov cl, [rsp+15]
    00189abbmov [rax+76], cl
    00189abeand [rax+77], 0
    00189ac3add rsp, 56
    00189ac7pop rbx
    00189ac8pop r12
    00189acapop r13
    00189accpop r14
    00189acepop r15
    00189ad0pop rbp
    00189ad1ret
    00189998
    00189ad2
    00189ad2regex_syntax::hir::interval::IntervalSet<I>::new:
    00189ad2push r14
    00189ad4push rbx
    00189ad5sub rsp, 40
    00189ad9mov rbx, rdi
    00189adcmovups x0, [rsi]
    00189adfmov rax, [rsi+16]
    00189ae3test rax, rax
    00189ae6lea r14, [rsp+8]
    00189aebmovups [r14], x0
    00189aefmov [r14+16], rax
    00189af3sete [r14+24]
    00189af8mov rdi, r14
    00189afbcall regex_syntax::hir::interval::IntervalSet<I>::canonicalize
    00189b00movups x0, [r14]
    00189b04movups x1, [r14+16]
    00189b09movups [rbx+16], x1
    00189b0dmovups [rbx], x0
    00189b10add rsp, 40
    00189b14pop rbx
    00189b15pop r14
    00189b17ret
    00189ad2
    00189b18
    00189b18regex_syntax::hir::ClassBytes::case_fold_simple:
    00189b18cmp [rdi+24], 0
    00189b1cje 0x189b1f
    00189b1eret
    00189b1f
    00189b1floc_189b1f:
    00189b1fpush rbp
    00189b20push r15
    00189b22push r14
    00189b24push r13
    00189b26push r12
    00189b28push rbx
    00189b29push rax
    00189b2amov rbx, rdi
    00189b2dmov r12, [rdi+16]
    00189b31xor r14l, r14l
    00189b34lea r15, [rip+0x690b5]
    00189b3b
    00189b3bloc_189b3b:
    00189b3bcmp r12, r14
    00189b3eje 0x189bd3
    00189b44mov rdi, [rbx]
    00189b47mov rsi, [rbx+16]
    00189b4bmov rdx, r14
    00189b4emov rcx, r15
    00189b51call _<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index
    00189b56movzx r13l, [rax]
    00189b5amov ecx, r13l
    00189b5dcmp r13b, 98
    00189b61jae 0x189b66
    00189b63push 97
    00189b65pop rcx
    00189b66
    00189b66loc_189b66:
    00189b66movzx ebp, [rax+1]
    00189b6amov eax, ebp
    00189b6ccmp bpl, 122
    00189b70jb 0x189b75
    00189b72push 122
    00189b74pop rax
    00189b75
    00189b75loc_189b75:
    00189b75cmp cl, al
    00189b77ja 0x189b96
    00189b79add cl, -32
    00189b7cadd al, -32
    00189b7emovzx ecx, cl
    00189b81movzx edx, al
    00189b84cmp cl, dl
    00189b86mov esi, edx
    00189b88cmovb esi, ecx
    00189b8bcmova edx, ecx
    00189b8emov rdi, rbx
    00189b91call alloc::vec::Vec<T,A>::push
    00189b96
    00189b96loc_189b96:
    00189b96cmp r13b, 66
    00189b9ajae 0x189ba1
    00189b9cpush 65
    00189b9epop rax
    00189b9fjmp 0x189ba5
    00189ba1
    00189ba1loc_189ba1:
    00189ba1movzx eax, r13b
    00189ba5
    00189ba5loc_189ba5:
    00189ba5cmp bpl, 90
    00189ba9jb 0x189bb0
    00189babpush 90
    00189badpop rcx
    00189baejmp 0x189bb4
    00189bb0
    00189bb0loc_189bb0:
    00189bb0movzx ecx, bpl
    00189bb4
    00189bb4loc_189bb4:
    00189bb4cmp al, cl
    00189bb6ja 0x189bcb
    00189bb8add al, 32
    00189bbaadd cl, 32
    00189bbdmovzx esi, al
    00189bc0movzx edx, cl
    00189bc3mov rdi, rbx
    00189bc6call alloc::vec::Vec<T,A>::push
    00189bcb
    00189bcbloc_189bcb:
    00189bcbinc r14
    00189bcejmp 0x189b3b
    00189bd3
    00189bd3loc_189bd3:
    00189bd3mov rdi, rbx
    00189bd6call regex_syntax::hir::interval::IntervalSet<I>::canonicalize
    00189bdbmov [rbx+24], 1
    00189bdfadd rsp, 8
    00189be3pop rbx
    00189be4pop r12
    00189be6pop r13
    00189be8pop r14
    00189beapop r15
    00189becpop rbp
    00189bedret
    00189b18
    00189bee
    00189beeregex_syntax::unicode::SimpleCaseFolder::overlaps:
    00189beecmp edx, ecx
    00189bf0ja 0x189c4e
    00189bf2xor r8l, r8l
    00189bf5push 1
    00189bf7pop rax
    00189bf8mov r9, rsi
    00189bfb
    00189bfbloc_189bfb:
    00189bfbcmp r8, rsi
    00189bfejae 0x189c47
    00189c00shr r9, 1
    00189c03add r9, r8
    00189c06imul r10, r9, 24
    00189c0amov r11l, [rdi+r10]
    00189c0ecmp r11l, edx
    00189c11mov r10l, 0
    00189c17sbb r10l, r10l
    00189c1acmp r11l, ecx
    00189c1dcmova r10l, eax
    00189c21cmp r10b, 1
    00189c25je 0x189c3f
    00189c27movzx r10l, r10b
    00189c2bcmp r10l, 255
    00189c32jne 0x189c47
    00189c34inc r9
    00189c37mov r8, r9
    00189c3amov r9, rsi
    00189c3djmp 0x189c42
    00189c3f
    00189c3floc_189c3f:
    00189c3fmov rsi, r9
    00189c42
    00189c42loc_189c42:
    00189c42sub r9, r8
    00189c45jmp 0x189bfb
    00189c47
    00189c47loc_189c47:
    00189c47cmp r8, rsi
    00189c4asetb al
    00189c4dret
    00189c4e
    00189c4eloc_189c4e:
    00189c4epush rax
    00189c4flea rdi, [rip-0x130d45]
    00189c56lea rdx, [rip+0x7a96b]
    00189c5dpush 30
    00189c5fpop rsi
    00189c60call core::panicking::panic
    00189c65ud2
    00189bee
    00189c67
    00189c67regex_syntax::hir::interval::IntervalSet<I>::new:
    00189c67push r14
    00189c69push rbx
    00189c6asub rsp, 40
    00189c6emov rbx, rdi
    00189c71movups x0, [rsi]
    00189c74mov rax, [rsi+16]
    00189c78test rax, rax
    00189c7blea r14, [rsp+8]
    00189c80movups [r14], x0
    00189c84mov [r14+16], rax
    00189c88sete [r14+24]
    00189c8dmov rdi, r14
    00189c90call regex_syntax::hir::interval::IntervalSet<I>::canonicalize
    00189c95movups x0, [r14]
    00189c99movups x1, [r14+16]
    00189c9emovups [rbx+16], x1
    00189ca2movups [rbx], x0
    00189ca5add rsp, 40
    00189ca9pop rbx
    00189caapop r14
    00189cacret
    00189c67
    00189cad
    00189cadregex_syntax::hir::interval::IntervalSet<I>::case_fold_simple:
    00189cadpush rbp
    00189caepush r15
    00189cb0push r14
    00189cb2push r13
    00189cb4push r12
    00189cb6push rbx
    00189cb7sub rsp, 136
    00189cbecmp [rdi+24], 0
    00189cc2jne 0x189eb3
    00189cc8mov rbx, rdi
    00189ccbmov rax, [rdi+16]
    00189ccfmov [rsp+32], rax
    00189cd4xor edx, edx
    00189cd6lea r14, [rip+0x69acb]
    00189cddmov r15l, 255
    00189ce3
    00189ce3loc_189ce3:
    00189ce3cmp rdx, [rsp+32]
    00189ce8je 0x189ea7
    00189ceemov rdi, [rbx]
    00189cf1mov rsi, [rbx+16]
    00189cf5mov [rsp+40], rdx
    00189cfalea rcx, [rip+0x68eef]
    00189d01call _<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index
    00189d06mov r13l, [rax]
    00189d09mov ebp, [rax+4]
    00189d0cmov esi, 2878
    00189d11mov rdi, r14
    00189d14mov edx, r13l
    00189d17mov ecx, ebp
    00189d19call regex_syntax::unicode::SimpleCaseFolder::overlaps
    00189d1etest al, al
    00189d20je 0x189e9a
    00189d26mov eax, ebp
    00189d28xor eax, 55296
    00189d2dadd eax, 0xffffffffffef0000
    00189d32mov [rsp+20], eax
    00189d36mov eax, 0x110000
    00189d3bxor r8l, r8l
    00189d3exor ecx, ecx
    00189d40
    00189d40loc_189d40:
    00189d40cmp r13l, ebp
    00189d43ja 0x189e9a
    00189d49test cl, cl
    00189d4bjne 0x189e9a
    00189d51
    00189d51loc_189d51:
    00189d51cmp ebp, r13l
    00189d54je 0x189d82
    00189d56mov ecx, r13l
    00189d59lea r13l, [rcx+1]
    00189d5dcmp ecx, 0x110000
    00189d63je 0x189d51
    00189d65xor ecx, 55296
    00189d6badd ecx, 0xffffffffffef0000
    00189d71cmp ecx, 0xffffffffffef0800
    00189d77jb 0x189d51
    00189d79lea r10l, [r13-1]
    00189d7dxor r9l, r9l
    00189d80jmp 0x189d99
    00189d82
    00189d82loc_189d82:
    00189d82mov r9b, 1
    00189d85mov r13l, ebp
    00189d88mov r10l, ebp
    00189d8bcmp [rsp+20], 0xffffffffffef0800
    00189d93jb 0x189e9a
    00189d99
    00189d99loc_189d99:
    00189d99cmp eax, 0x110000
    00189d9eje 0x189da9
    00189da0cmp eax, r10l
    00189da3jae 0x189ec5
    00189da9
    00189da9loc_189da9:
    00189da9cmp r8, 2878
    00189db0mov [rsp+28], r9l
    00189db5mov [rsp+24], r10l
    00189dbajae 0x189dda
    00189dbcimul rax, r8, 24
    00189dc0cmp [rax+r14], r10l
    00189dc4jne 0x189de1
    00189dc6mov r15, [rax+r14+8]
    00189dcbmov r12, [rax+r14+16]
    00189dd0inc r8
    00189dd3mov [rsp+8], r8
    00189dd8jmp 0x189e3e
    00189dda
    00189ddaloc_189dda:
    00189ddamov [rsp+8], r8
    00189ddfjmp 0x189e34
    00189de1
    00189de1loc_189de1:
    00189de1mov ecx, 2878
    00189de6xor edx, edx
    00189de8mov eax, 2878
    00189ded
    00189dedloc_189ded:
    00189dedcmp rdx, rcx
    00189df0jae 0x189e2f
    00189df2shr rax, 1
    00189df5add rax, rdx
    00189df8imul rsi, rax, 24
    00189dfcxor edi, edi
    00189dfecmp [rsi+r14], r10l
    00189e02setne dil
    00189e06cmovb edi, r15l
    00189e0acmp dil, 1
    00189e0eje 0x189e27
    00189e10movzx edx, dil
    00189e14cmp edx, 255
    00189e1ajne 0x189e7d
    00189e1cinc rax
    00189e1fmov rdx, rax
    00189e22mov rax, rcx
    00189e25jmp 0x189e2a
    00189e27
    00189e27loc_189e27:
    00189e27mov rcx, rax
    00189e2a
    00189e2aloc_189e2a:
    00189e2asub rax, rdx
    00189e2djmp 0x189ded
    00189e2f
    00189e2floc_189e2f:
    00189e2fmov [rsp+8], rdx
    00189e34
    00189e34loc_189e34:
    00189e34xor r12l, r12l
    00189e37lea r15, [rip-0xf8b46]
    00189e3e
    00189e3eloc_189e3e:
    00189e3eshl r12, 2
    00189e42xor r14l, r14l
    00189e45
    00189e45loc_189e45:
    00189e45cmp r12, r14
    00189e48je 0x189e5e
    00189e4amov edx, [r15+r14]
    00189e4emov rdi, rbx
    00189e51mov esi, edx
    00189e53call alloc::vec::Vec<T,A>::push
    00189e58add r14, 4
    00189e5cjmp 0x189e45
    00189e5e
    00189e5eloc_189e5e:
    00189e5emov eax, [rsp+24]
    00189e62lea r14, [rip+0x6993f]
    00189e69mov r15l, 255
    00189e6fmov r8, [rsp+8]
    00189e74mov ecx, [rsp+28]
    00189e78jmp 0x189d40
    00189e7d
    00189e7dloc_189e7d:
    00189e7dcmp rax, r8
    00189e80jbe 0x189f20
    00189e86inc rax
    00189e89mov r15, [rsi+r14+8]
    00189e8emov r12, [rsi+r14+16]
    00189e93mov [rsp+8], rax
    00189e98jmp 0x189e3e
    00189e9a
    00189e9aloc_189e9a:
    00189e9amov rdx, [rsp+40]
    00189e9finc rdx
    00189ea2jmp 0x189ce3
    00189ea7
    00189ea7loc_189ea7:
    00189ea7mov rdi, rbx
    00189eaacall regex_syntax::hir::interval::IntervalSet<I>::canonicalize
    00189eafmov [rbx+24], 1
    00189eb3
    00189eb3loc_189eb3:
    00189eb3add rsp, 136
    00189ebapop rbx
    00189ebbpop r12
    00189ebdpop r13
    00189ebfpop r14
    00189ec1pop r15
    00189ec3pop rbp
    00189ec4ret
    00189ec5
    00189ec5loc_189ec5:
    00189ec5lea rcx, [rsp+48]
    00189ecamov [rcx], r10l
    00189ecdlea rdx, [rsp+52]
    00189ed2mov [rdx], eax
    00189ed4lea rax, [rsp+56]
    00189ed9mov [rax], rcx
    00189edclea rcx, [rip-0x7a113]
    00189ee3mov [rax+8], rcx
    00189ee7lea rsi, [rip+0x7a68a]
    00189eeelea rdi, [rsp+88]
    00189ef3mov [rdi], rsi
    00189ef6push 2
    00189ef8pop rsi
    00189ef9mov [rdi+8], rsi
    00189efdand [rdi+32], 0
    00189f02mov [rax+16], rdx
    00189f06mov [rax+24], rcx
    00189f0amov [rdi+16], rax
    00189f0emov [rdi+24], rsi
    00189f12lea rsi, [rip+0x7a67f]
    00189f19call core::panicking::panic_fmt
    00189f1eud2
    00189f20
    00189f20loc_189f20:
    00189f20lea rdi, [rip-0x131035]
    00189f27lea rdx, [rip+0x7a682]
    00189f2epush 31
    00189f30pop rsi
    00189f31call core::panicking::panic
    00189f36ud2
    00189cad
    00189f38
    00189f38regex_syntax::hir::Properties::look:
    00189f38push rbx
    00189f39mov ebx, edi
    00189f3bpush 80
    00189f3dpop rdi
    00189f3epush 8
    00189f40pop rsi
    00189f41call _ZN5alloc5alloc15exchange_malloc17hc6dbbe43d4abbe5aE.641
    00189f46push 1
    00189f48pop rcx
    00189f49mov [rax], rcx
    00189f4cand [rax+8], 0
    00189f51mov [rax+16], rcx
    00189f55and [rax+24], 0
    00189f5amov [rax+32], rcx
    00189f5exorps x0, x0
    00189f61movups [rax+40], x0
    00189f65mov [rax+56], ebx
    00189f68mov [rax+60], ebx
    00189f6bmov [rax+64], ebx
    00189f6emov [rax+68], ebx
    00189f71mov [rax+72], ebx
    00189f74mov [rax+76], 1
    00189f7amov [rax+78], 0
    00189f7epop rbx
    00189f7fret
    00189f38
    00189f80
    00189f80regex_syntax::hir::translate::TranslatorI::hir_perl_byte_class:
    00189f80push rbp
    00189f81push r15
    00189f83push r14
    00189f85push r13
    00189f87push r12
    00189f89push rbx
    00189f8asub rsp, 104
    00189f8emov [rsp+16], rsi
    00189f93mov r14, [rsi]
    00189f96cmp [r14+36], 0
    00189f9bjne 0x18a0d5
    00189fa1mov rbx, rdi
    00189fa4mov [rsp+8], rdx
    00189fa9movzx eax, [rdx+48]
    00189fadlea rcx, [rip+0x8783c]
    00189fb4mov rax, [rcx+8*rax]
    00189fb8movzx edi, [rax]
    00189fbbcall regex_syntax::hir::translate::ascii_class
    00189fc0mov r12, rax
    00189fc3mov rbp, rdx
    00189fc6mov r13, rdx
    00189fc9sub r13, rax
    00189fccshr r13, 1
    00189fcfmov rdi, r13
    00189fd2call alloc::raw_vec::RawVec<T,A>::allocate_in
    00189fd7lea r15, [rsp+56]
    00189fdcmov [r15], rax
    00189fdfmov [r15+8], rdx
    00189fe3and [r15+16], 0
    00189fe8mov rdi, r15
    00189febmov rsi, r13
    00189feecall alloc::vec::Vec<T,A>::reserve
    00189ff3mov rax, [r15+16]
    00189ff7cmp rbp, r12
    00189ffaje 0x18a036
    00189ffcmov rcx, [rsp+56]
    0018a001lea rdx, [rcx+2*rax]
    0018a005inc rdx
    0018a008xor ecx, ecx
    0018a00a
    0018a00aloc_18a00a:
    0018a00amovzx esi, [r12+2*rcx]
    0018a00fmovzx edi, [r12+2*rcx+1]
    0018a015cmp sil, dil
    0018a018mov r8l, edi
    0018a01bcmovb r8l, esi
    0018a01fcmova edi, esi
    0018a022mov [rdx+2*rcx-1], r8b
    0018a027mov [rdx+2*rcx], dil
    0018a02binc rcx
    0018a02ecmp r13, rcx
    0018a031jne 0x18a00a
    0018a033add rax, rcx
    0018a036
    0018a036loc_18a036:
    0018a036mov r15, [rsp+8]
    0018a03bmovups x0, [rsp+56]
    0018a040lea rsi, [rsp+80]
    0018a045movaps [rsi], x0
    0018a048mov [rsi+16], rax
    0018a04clea rdi, [rsp+24]
    0018a051call regex_syntax::hir::interval::IntervalSet<I>::new
    0018a056cmp [r15+49], 0
    0018a05bje 0x18a067
    0018a05dlea rdi, [rsp+24]
    0018a062call regex_syntax::hir::ClassBytes::negate
    0018a067
    0018a067loc_18a067:
    0018a067cmp [r14+39], 0
    0018a06cje 0x18a084
    0018a06emov rax, [rsp+40]
    0018a073test rax, rax
    0018a076je 0x18a084
    0018a078mov rcx, [rsp+24]
    0018a07dcmp [rcx+2*rax-1], 0
    0018a082js 0x18a0a8
    0018a084
    0018a084loc_18a084:
    0018a084movups x0, [rsp+24]
    0018a089movups x1, [rsp+40]
    0018a08emovups [rbx+16], x1
    0018a092movups [rbx], x0
    0018a095mov [rbx+72], 7
    0018a099
    0018a099loc_18a099:
    0018a099add rsp, 104
    0018a09dpop rbx
    0018a09epop r12
    0018a0a0pop r13
    0018a0a2pop r14
    0018a0a4pop r15
    0018a0a6pop rbp
    0018a0a7ret
    0018a0a8
    0018a0a8loc_18a0a8:
    0018a0a8mov rax, [rsp+16]
    0018a0admov rsi, [rax+8]
    0018a0b1mov rdx, [rax+16]
    0018a0b5push 1
    0018a0b7pop r8
    0018a0b9mov rdi, rbx
    0018a0bcmov rcx, r15
    0018a0bfcall regex_syntax::hir::translate::TranslatorI::error
    0018a0c4mov rdi, [rsp+24]
    0018a0c9mov rsi, [rsp+32]
    0018a0cecall _<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop
    0018a0d3jmp 0x18a099
    0018a0d5
    0018a0d5loc_18a0d5:
    0018a0d5lea rdi, [rip-0x131515]
    0018a0dclea rdx, [rip+0x695a5]
    0018a0e3push 41
    0018a0e5pop rsi
    0018a0e6call core::panicking::panic
    0018a0ebud2
    00189f80
    0018a0ed
    0018a0edregex_syntax::hir::translate::TranslatorI::hir_perl_unicode_class:
    0018a0edpush r15
    0018a0efpush r14
    0018a0f1push rbx
    0018a0f2sub rsp, 224
    0018a0f9mov rax, [rsi]
    0018a0fccmp [rax+36], 0
    0018a100je 0x18a1f1
    0018a106mov r14, rdx
    0018a109mov r15, rsi
    0018a10cmov rbx, rdi
    0018a10fmovzx eax, [rdx+48]
    0018a113test rax, rax
    0018a116je 0x18a129
    0018a118cmp eax, 1
    0018a11bjne 0x18a135
    0018a11dlea rdi, [rsp+32]
    0018a122call regex_syntax::unicode::perl_space
    0018a127jmp 0x18a14b
    0018a129
    0018a129loc_18a129:
    0018a129lea rdi, [rsp+32]
    0018a12ecall regex_syntax::unicode::perl_digit
    0018a133jmp 0x18a14b
    0018a135
    0018a135loc_18a135:
    0018a135lea rsi, [rip-0x1311bc]
    0018a13clea rdi, [rsp+32]
    0018a141mov edx, 771
    0018a146call regex_syntax::unicode::hir_class
    0018a14b
    0018a14bloc_18a14b:
    0018a14bmov rsi, [r15+8]
    0018a14fmov rdx, [r15+16]
    0018a153lea r15, [rsp+64]
    0018a158lea r8, [rsp+32]
    0018a15dmov rdi, r15
    0018a160mov rcx, r14
    0018a163call regex_syntax::hir::translate::TranslatorI::convert_unicode_class_error
    0018a168mov r9b, [r15+72]
    0018a16ccmp r9b, 7
    0018a170jne 0x18a1aa
    0018a172movups x0, [rsp+64]
    0018a177movups x1, [rsp+80]
    0018a17cmovaps [rsp], x0
    0018a180movaps [rsp+16], x1
    0018a185cmp [r14+49], 0
    0018a18aje 0x18a194
    0018a18cmov rdi, rsp
    0018a18fcall regex_syntax::hir::ClassUnicode::negate
    0018a194
    0018a194loc_18a194:
    0018a194movaps x0, [rsp]
    0018a198movaps x1, [rsp+16]
    0018a19dmovups [rbx+16], x1
    0018a1a1movups [rbx], x0
    0018a1a4mov [rbx+72], 7
    0018a1a8jmp 0x18a1e4
    0018a1aa
    0018a1aaloc_18a1aa:
    0018a1aapush 9
    0018a1acpop rax
    0018a1adlea rdx, [rsp+144]
    0018a1b5lea r8, [rsp+64]
    0018a1bamov rcx, rax
    0018a1bdmov rdi, rdx
    0018a1c0mov rsi, r8
    0018a1c3rep movsq [rdi], [rsi]
    0018a1c6mov ecx, [r8+73]
    0018a1camov esi, [r8+76]
    0018a1cemov [rbx+76], esi
    0018a1d1mov [rbx+73], ecx
    0018a1d4mov rcx, rax
    0018a1d7mov rdi, rbx
    0018a1damov rsi, rdx
    0018a1ddrep movsq [rdi], [rsi]
    0018a1e0mov [rbx+72], r9b
    0018a1e4
    0018a1e4loc_18a1e4:
    0018a1e4add rsp, 224
    0018a1ebpop rbx
    0018a1ecpop r14
    0018a1eepop r15
    0018a1f0ret
    0018a1f1
    0018a1f1loc_18a1f1:
    0018a1f1lea rdi, [rip-0x13165b]
    0018a1f8lea rdx, [rip+0x69471]
    0018a1ffpush 40
    0018a201pop rsi
    0018a202call core::panicking::panic
    0018a207ud2
    0018a0ed
    0018a209
    0018a209regex_syntax::hir::translate::HirFrame::unwrap_class_bytes:
    0018a209cmp [rsi], 12
    0018a20cjne 0x18a21e
    0018a20emovups x0, [rsi+8]
    0018a212movups x1, [rsi+24]
    0018a216movups [rdi+16], x1
    0018a21amovups [rdi], x0
    0018a21dret
    0018a21e
    0018a21eloc_18a21e:
    0018a21esub rsp, 72
    0018a222lea rax, [rsp+8]
    0018a227mov [rax], rsi
    0018a22alea rcx, [rip+0x68ea7]
    0018a231lea rdi, [rsp+24]
    0018a236mov [rdi], rcx
    0018a239push 1
    0018a23bpop rcx
    0018a23cmov [rdi+8], rcx
    0018a240and [rdi+32], 0
    0018a245lea rdx, [rip-56736]
    0018a24cmov [rax+8], rdx
    0018a250mov [rdi+16], rax
    0018a254mov [rdi+24], rcx
    0018a258lea rsi, [rip+0x68e89]
    0018a25fcall core::panicking::panic_fmt
    0018a264ud2
    0018a209
    0018a266
    0018a266regex_syntax::hir::translate::TranslatorI::bytes_fold_and_negate:
    0018a266push rbp
    0018a267push r15
    0018a269push r14
    0018a26bpush r13
    0018a26dpush r12
    0018a26fpush rbx
    0018a270push rax
    0018a271mov r12, r8
    0018a274mov ebp, ecx
    0018a276mov rbx, rdx
    0018a279mov r15, rsi
    0018a27cmov r14, rdi
    0018a27fmov r13, [rsi]
    0018a282mov eax, [r13+32]
    0018a286test al, 1
    0018a288je 0x18a292
    0018a28amov rdi, r12
    0018a28dcall regex_syntax::hir::ClassBytes::case_fold_simple
    0018a292
    0018a292loc_18a292:
    0018a292test bpl, bpl
    0018a295je 0x18a29f
    0018a297mov rdi, r12
    0018a29acall regex_syntax::hir::ClassBytes::negate
    0018a29f
    0018a29floc_18a29f:
    0018a29fcmp [r13+39], 0
    0018a2a4je 0x18a2bb
    0018a2a6mov rax, [r12+16]
    0018a2abtest rax, rax
    0018a2aeje 0x18a2bb
    0018a2b0mov rcx, [r12]
    0018a2b4cmp [rcx+2*rax-1], 0
    0018a2b9js 0x18a2cf
    0018a2bb
    0018a2bbloc_18a2bb:
    0018a2bbmov [r14+72], 7
    0018a2c0add rsp, 8
    0018a2c4pop rbx
    0018a2c5pop r12
    0018a2c7pop r13
    0018a2c9pop r14
    0018a2cbpop r15
    0018a2cdpop rbp
    0018a2ceret
    0018a2cf
    0018a2cfloc_18a2cf:
    0018a2cfmov rsi, [r15+8]
    0018a2d3mov rdx, [r15+16]
    0018a2d7push 1
    0018a2d9pop r8
    0018a2dbmov rdi, r14
    0018a2demov rcx, rbx
    0018a2e1add rsp, 8
    0018a2e5pop rbx
    0018a2e6pop r12
    0018a2e8pop r13
    0018a2eapop r14
    0018a2ecpop r15
    0018a2eepop rbp
    0018a2efjmp 0x188e81
    0018a266
    0018a2f4
    0018a2f4regex_syntax::hir::translate::HirFrame::unwrap_class_unicode:
    0018a2f4cmp [rsi], 11
    0018a2f7jne 0x18a309
    0018a2f9movups x0, [rsi+8]
    0018a2fdmovups x1, [rsi+24]
    0018a301movups [rdi+16], x1
    0018a305movups [rdi], x0
    0018a308ret
    0018a309
    0018a309loc_18a309:
    0018a309sub rsp, 72
    0018a30dlea rax, [rsp+8]
    0018a312mov [rax], rsi
    0018a315lea rcx, [rip+0x68d94]
    0018a31clea rdi, [rsp+24]
    0018a321mov [rdi], rcx
    0018a324push 1
    0018a326pop rcx
    0018a327mov [rdi+8], rcx
    0018a32band [rdi+32], 0
    0018a330lea rdx, [rip-56971]
    0018a337mov [rax+8], rdx
    0018a33bmov [rdi+16], rax
    0018a33fmov [rdi+24], rcx
    0018a343lea rsi, [rip+0x68d76]
    0018a34acall core::panicking::panic_fmt
    0018a34fud2
    0018a2f4
    0018a351
    0018a351regex_syntax::hir::translate::TranslatorI::unicode_fold_and_negate:
    0018a351push rbp
    0018a352push r14
    0018a354push rbx
    0018a355mov r14, rcx
    0018a358mov ebp, edx
    0018a35amov rbx, rdi
    0018a35dtest [rsi+32], 1
    0018a361je 0x18a36b
    0018a363mov rdi, r14
    0018a366call regex_syntax::hir::interval::IntervalSet<I>::case_fold_simple
    0018a36b
    0018a36bloc_18a36b:
    0018a36btest bpl, bpl
    0018a36eje 0x18a378
    0018a370mov rdi, r14
    0018a373call regex_syntax::hir::ClassUnicode::negate
    0018a378
    0018a378loc_18a378:
    0018a378mov [rbx+72], 7
    0018a37cpop rbx
    0018a37dpop r14
    0018a37fpop rbp
    0018a380ret
    0018a351
    0018a381
    0018a381core::slice::_<impl [T]>::reverse:
    0018a381push r15
    0018a383push r14
    0018a385push r12
    0018a387push rbx
    0018a388push rax
    0018a389mov rbx, rsi
    0018a38cmov rsi, rdi
    0018a38fimul rax, rbx, 48
    0018a393shr rbx, 1
    0018a396add rax, rdi
    0018a399mov rcx, rbx
    0018a39cneg rcx
    0018a39fimul r12, rcx, 48
    0018a3a3add r12, rax
    0018a3a6lea rcx, [rip+0x679c3]
    0018a3admov rdi, rbx
    0018a3b0mov rdx, rbx
    0018a3b3call _<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index_mut
    0018a3b8mov r15, rax
    0018a3bbmov r14, rdx
    0018a3belea rcx, [rip+0x679c3]
    0018a3c5mov rdi, rbx
    0018a3c8mov rsi, r12
    0018a3cbmov rdx, rbx
    0018a3cecall _<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index_mut
    0018a3d3imul rcx, rbx, 48
    0018a3d7add rax, rcx
    0018a3daadd rax, -48
    0018a3dexor ecx, ecx
    0018a3e0
    0018a3e0loc_18a3e0:
    0018a3e0cmp rcx, rbx
    0018a3e3je 0x18a422
    0018a3e5cmp rcx, r14
    0018a3e8je 0x18a42e
    0018a3eamov rdi, rcx
    0018a3ednot rdi
    0018a3f0add rdi, rbx
    0018a3f3cmp rdi, rdx
    0018a3f6jae 0x18a43d
    0018a3f8xor esi, esi
    0018a3fa
    0018a3faloc_18a3fa:
    0018a3facmp rsi, 6
    0018a3feje 0x18a415
    0018a400mov rdi, [r15+8*rsi]
    0018a404mov r8, [rax+8*rsi]
    0018a408mov [r15+8*rsi], r8
    0018a40cmov [rax+8*rsi], rdi
    0018a410inc rsi
    0018a413jmp 0x18a3fa
    0018a415
    0018a415loc_18a415:
    0018a415inc rcx
    0018a418add r15, 48
    0018a41cadd rax, -48
    0018a420jmp 0x18a3e0
    0018a422
    0018a422loc_18a422:
    0018a422add rsp, 8
    0018a426pop rbx
    0018a427pop r12
    0018a429pop r14
    0018a42bpop r15
    0018a42dret
    0018a42e
    0018a42eloc_18a42e:
    0018a42elea rdx, [rip+0x6796b]
    0018a435mov rdi, r14
    0018a438mov rsi, r14
    0018a43bjmp 0x18a44a
    0018a43d
    0018a43dloc_18a43d:
    0018a43dlea rax, [rip+0x67974]
    0018a444mov rsi, rdx
    0018a447mov rdx, rax
    0018a44a
    0018a44aloc_18a44a:
    0018a44acall core::panicking::panic_bounds_check
    0018a44fud2
    0018a381
    0018a451
    0018a451regex_syntax::hir::Hir::alternation:
    0018a451push rbp
    0018a452push r15
    0018a454push r14
    0018a456push r13
    0018a458push r12
    0018a45apush rbx
    0018a45bsub rsp, 472
    0018a462mov r14, rsi
    0018a465mov [rsp+88], rdi
    0018a46amov r15, [rsi+16]
    0018a46emov rdi, r15
    0018a471call alloc::raw_vec::RawVec<T,A>::allocate_in
    0018a476lea rcx, [rsp+96]
    0018a47bmov [rcx], rax
    0018a47emov [rcx+8], rdx
    0018a482and [rcx+16], 0
    0018a487mov rbx, [r14]
    0018a48amov rax, [r14+8]
    0018a48eimul r14, r15, 48
    0018a492lea rcx, [rbx+r14]
    0018a496mov [rsp+240], rbx
    0018a49emov [rsp+248], rax
    0018a4a6mov [rsp+16], rcx
    0018a4abmov [rsp+264], rcx
    0018a4b3lea rax, [rbx+48]
    0018a4b7mov [rsp], rax
    0018a4bblea r15, [rsp+32]
    0018a4c0
    0018a4c0loc_18a4c0:
    0018a4c0test r14, r14
    0018a4c3je 0x18a5d9
    0018a4c9mov rax, [rbx]
    0018a4cccmp rax, 10
    0018a4d0je 0x18a5e0
    0018a4d6mov [rsp+424], rax
    0018a4demov rax, [rbx+40]
    0018a4e2lea rcx, [rsp+432]
    0018a4eamov [rcx+32], rax
    0018a4eemovups x0, [rbx+8]
    0018a4f2movups x1, [rbx+24]
    0018a4f6movups [rcx+16], x1
    0018a4famovups [rcx], x0
    0018a4fdmov rdi, r15
    0018a500lea rsi, [rsp+424]
    0018a508call regex_syntax::hir::Hir::into_parts
    0018a50dmov rcx, [rsp+32]
    0018a512mov r13, [rsp+40]
    0018a517mov rax, [rsp+48]
    0018a51cmov rbp, [rsp+56]
    0018a521mov r12, [rsp+72]
    0018a526cmp rcx, 9
    0018a52ajne 0x18a597
    0018a52cmov [rsp+32], r13
    0018a531mov [rsp+40], rax
    0018a536mov [rsp+48], r13
    0018a53bimul rax, rbp, 48
    0018a53fmov [rsp+24], rax
    0018a544lea rdi, [rsp+96]
    0018a549mov rsi, rbp
    0018a54ccall alloc::vec::Vec<T,A>::reserve
    0018a551mov [rsp+8], r14
    0018a556mov r14, [rsp+112]
    0018a55bimul rdi, r14, 48
    0018a55fadd rdi, [rsp+96]
    0018a564mov rsi, r13
    0018a567mov rdx, [rsp+24]
    0018a56ccall [rip+0x875ae]
    0018a572add rbp, r14
    0018a575mov r14, [rsp+8]
    0018a57amov [rsp+112], rbp
    0018a57fmov [rsp+56], r13
    0018a584mov rdi, r15
    0018a587call _<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop
    0018a58cmov rdi, r12
    0018a58fcall [rip+0x87563]
    0018a595jmp 0x18a5c7
    0018a597
    0018a597loc_18a597:
    0018a597mov rdx, [rsp+64]
    0018a59cmov [rsp+32], rcx
    0018a5a1mov [rsp+40], r13
    0018a5a6mov [rsp+48], rax
    0018a5abmov [rsp+56], rbp
    0018a5b0mov [rsp+64], rdx
    0018a5b5mov [rsp+72], r12
    0018a5balea rdi, [rsp+96]
    0018a5bfmov rsi, r15
    0018a5c2call alloc::vec::Vec<T,A>::push
    0018a5c7
    0018a5c7loc_18a5c7:
    0018a5c7add rbx, 48
    0018a5cbadd r14, -48
    0018a5cfadd [rsp], 48
    0018a5d4jmp 0x18a4c0
    0018a5d9
    0018a5d9loc_18a5d9:
    0018a5d9mov rax, [rsp+16]
    0018a5dejmp 0x18a5e4
    0018a5e0
    0018a5e0loc_18a5e0:
    0018a5e0mov rax, [rsp]
    0018a5e4
    0018a5e4loc_18a5e4:
    0018a5e4lea rdi, [rsp+240]
    0018a5ecmov [rdi+16], rax
    0018a5f0call _<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop
    0018a5f5mov rax, [rsp+112]
    0018a5fatest rax, rax
    0018a5fdje 0x18a641
    0018a5ffcmp rax, 1
    0018a603jne 0x18a650
    0018a605and [rsp+112], 0
    0018a60bmov rax, [rsp+96]
    0018a610movups x0, [rax]
    0018a613movups x1, [rax+16]
    0018a617movups x2, [rax+32]
    0018a61blea rsi, [rsp+32]
    0018a620movaps [rsi], x0
    0018a623movaps [rsi+16], x1
    0018a627movaps [rsi+32], x2
    0018a62blea rdx, [rip+0x69086]
    0018a632mov rdi, [rsp+88]
    0018a637call core::option::Option<T>::unwrap
    0018a63cjmp 0x18af58
    0018a641
    0018a641loc_18a641:
    0018a641mov rdi, [rsp+88]
    0018a646call regex_syntax::hir::Hir::fail
    0018a64bjmp 0x18af58
    0018a650
    0018a650loc_18a650:
    0018a650mov r13, [rsp+96]
    0018a655lea rcx, [rsp+32]
    0018a65amov [rcx], 4
    0018a661xorps x0, x0
    0018a664movups [rcx+8], x0
    0018a668imul rbp, rax, 48
    0018a66cpush 4
    0018a66epop r14
    0018a670xor ebx, ebx
    0018a672
    0018a672loc_18a672:
    0018a672test rbp, rbp
    0018a675je 0x18a9e9
    0018a67bcmp [r13], 3
    0018a680jne 0x18a70d
    0018a686mov rdi, [r13+8]
    0018a68amov r12, [r13+16]
    0018a68emov rsi, r12
    0018a691call regex_syntax::debug::utf8_decode
    0018a696mov r15, rax
    0018a699cmp r15b, 2
    0018a69dje 0x18a70d
    0018a69fmov eax, r15l
    0018a6a2and eax, 1
    0018a6a5jne 0x18a70d
    0018a6a7shr r15, 32
    0018a6abpush 1
    0018a6adpop rax
    0018a6aecmp r15l, 128
    0018a6b5jb 0x18a6d1
    0018a6b7push 2
    0018a6b9pop rax
    0018a6bacmp r15l, 2048
    0018a6c1jb 0x18a6d1
    0018a6c3cmp r15l, 0x10000
    0018a6capush 4
    0018a6ccpop rax
    0018a6cdsbb rax, 0
    0018a6d1
    0018a6d1loc_18a6d1:
    0018a6d1cmp r12, rax
    0018a6d4jne 0x18a70d
    0018a6d6cmp rbx, [rsp+40]
    0018a6dbjne 0x18a6f4
    0018a6ddlea rdi, [rsp+32]
    0018a6e2mov rsi, rbx
    0018a6e5call alloc::raw_vec::RawVec<T,A>::reserve_for_push
    0018a6eamov r14, [rsp+32]
    0018a6efmov rbx, [rsp+48]
    0018a6f4
    0018a6f4loc_18a6f4:
    0018a6f4add r13, 48
    0018a6f8mov [r14+4*rbx], r15l
    0018a6fcinc rbx
    0018a6ffmov [rsp+48], rbx
    0018a704add rbp, -48
    0018a708jmp 0x18a672
    0018a70d
    0018a70dloc_18a70d:
    0018a70dmov rdi, [rsp+32]
    0018a712mov rsi, [rsp+40]
    0018a717call _<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop
    0018a71c
    0018a71cloc_18a71c:
    0018a71cmov r15, [rsp+96]
    0018a721mov r12, [rsp+112]
    0018a726lea rbx, [rsp+32]
    0018a72bmov [rbx], 1
    0018a732xorps x0, x0
    0018a735movups [rbx+8], x0
    0018a739imul r14, r12, 48
    0018a73dlea r13, [r15+r14]
    0018a741mov [rsp+16], r15
    0018a746
    0018a746loc_18a746:
    0018a746test r14, r14
    0018a749je 0x18a97f
    0018a74fcmp [r15], 3
    0018a753jne 0x18a775
    0018a755cmp [r15+16], 1
    0018a75ajne 0x18a775
    0018a75cmov rax, [r15+8]
    0018a760add r15, 48
    0018a764movzx esi, [rax]
    0018a767mov rdi, rbx
    0018a76acall alloc::vec::Vec<T,A>::push
    0018a76fadd r14, -48
    0018a773jmp 0x18a746
    0018a775
    0018a775loc_18a775:
    0018a775mov [rsp+160], r12
    0018a77dmov rdi, [rsp+32]
    0018a782mov rsi, [rsp+40]
    0018a787call core::ptr::drop_in_place<alloc::boxed::Box<str>>
    0018a78c
    0018a78cloc_18a78c:
    0018a78cxor edi, edi
    0018a78emov rsi, rbx
    0018a791call core::ptr::drop_in_place<std::env::VarError>
    0018a796lea rsi, [rsp+240]
    0018a79emov [rsi], 4
    0018a7a5xorps x0, x0
    0018a7a8movups [rsi+8], x0
    0018a7aclea rbx, [rsp+312]
    0018a7b4mov rdi, rbx
    0018a7b7call regex_syntax::hir::interval::IntervalSet<I>::new
    0018a7bclea r14, [rsp+128]
    0018a7c4lea rbp, [rsp+176]
    0018a7ccmov rsi, [rsp+16]
    0018a7d1mov [rsp+8], r13
    0018a7d6
    0018a7d6loc_18a7d6:
    0018a7d6cmp rsi, r13
    0018a7d9je 0x18aa57
    0018a7dfmov rax, [rsi]
    0018a7e2lea rcx, [rax-2]
    0018a7e6cmp rcx, 7
    0018a7eaja 0x18a7f6
    0018a7eccmp rcx, 2
    0018a7f0jne 0x18aa7d
    0018a7f6
    0018a7f6loc_18a7f6:
    0018a7f6lea r12, [rsi+48]
    0018a7fatest rax, rax
    0018a7fdje 0x18a96b
    0018a803mov r15, [rsi+8]
    0018a807mov r13, [rsi+24]
    0018a80btest r13, r13
    0018a80eje 0x18a81c
    0018a810cmp [r15+2*r13-1], 0
    0018a816js 0x18aa88
    0018a81c
    0018a81cloc_18a81c:
    0018a81cmov rdi, r13
    0018a81fcall alloc::raw_vec::RawVec<T,A>::allocate_in
    0018a824mov [rsp+128], rax
    0018a82cmov [rsp+136], rdx
    0018a834and [rsp+144], 0
    0018a83dmov rdi, r14
    0018a840mov rsi, r13
    0018a843call alloc::vec::Vec<T,A>::reserve
    0018a848mov rax, [rsp+144]
    0018a850test r13, r13
    0018a853je 0x18a884
    0018a855mov rcx, [rsp+128]
    0018a85dlea rdx, [rcx+8*rax]
    0018a861add rdx, 4
    0018a865xor ecx, ecx
    0018a867
    0018a867loc_18a867:
    0018a867movzx esi, [r15+2*rcx]
    0018a86cmovzx edi, [r15+2*rcx+1]
    0018a872mov [rdx+8*rcx-4], esi
    0018a876mov [rdx+8*rcx], edi
    0018a879inc rcx
    0018a87ccmp r13, rcx
    0018a87fjne 0x18a867
    0018a881add rax, rcx
    0018a884
    0018a884loc_18a884:
    0018a884movups x0, [rsp+128]
    0018a88cmovaps [rsp+240], x0
    0018a894test rax, rax
    0018a897mov [rsp+256], rax
    0018a89fsete [rsp+264]
    0018a8a7lea r15, [rsp+240]
    0018a8afmov rdi, r15
    0018a8b2call regex_syntax::hir::interval::IntervalSet<I>::canonicalize
    0018a8b7mov rax, [rsp+256]
    0018a8bfmov [rsp+304], rax
    0018a8c7movaps x0, [rsp+240]
    0018a8cfmovaps [rsp+288], x0
    0018a8d7mov al, [rsp+264]
    0018a8demov ecx, [r15+25]
    0018a8e2mov edx, [r15+28]
    0018a8e6mov [rsp+208], ecx
    0018a8edmov [rsp+211], edx
    0018a8f4cmp al, 2
    0018a8f6je 0x18aa88
    0018a8fcmov rcx, [rsp+304]
    0018a904mov [rsp+192], rcx
    0018a90cmovaps x0, [rsp+288]
    0018a914movaps [rsp+176], x0
    0018a91cmov ecx, [rsp+208]
    0018a923mov edx, [rsp+211]
    0018a92alea rsi, [rsp+201]
    0018a932mov [rsi+3], edx
    0018a935mov [rsi], ecx
    0018a937mov [rsp+200], al
    0018a93emov rdi, rbx
    0018a941mov rsi, rbp
    0018a944call regex_syntax::hir::interval::IntervalSet<I>::union
    0018a949mov rdi, [rsp+176]
    0018a951mov rsi, [rsp+184]
    0018a959call _<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop
    0018a95emov rsi, r12
    0018a961mov r13, [rsp+8]
    0018a966jmp 0x18a7d6
    0018a96b
    0018a96bloc_18a96b:
    0018a96badd rsi, 8
    0018a96fmov rdi, rbx
    0018a972call regex_syntax::hir::interval::IntervalSet<I>::union
    0018a977mov rsi, r12
    0018a97ajmp 0x18a7d6
    0018a97f
    0018a97floc_18a97f:
    0018a97fmov r14, [rsp+32]
    0018a984mov rbx, [rsp+40]
    0018a989test r14, r14
    0018a98cje 0x18af74
    0018a992lea r12, [rsp+32]
    0018a997mov r15, [r12+16]
    0018a99cmov rdi, r15
    0018a99fcall alloc::raw_vec::RawVec<T,A>::allocate_in
    0018a9a4mov [r12], rax
    0018a9a8mov [r12+8], rdx
    0018a9adand [r12+16], 0
    0018a9b3mov rdi, r12
    0018a9b6mov rsi, r15
    0018a9b9call alloc::vec::Vec<T,A>::reserve
    0018a9bemov rax, [r12]
    0018a9c2mov r12, [r12+16]
    0018a9c7lea rcx, [rax+2*r12]
    0018a9cbinc rcx
    0018a9cexor eax, eax
    0018a9d0
    0018a9d0loc_18a9d0:
    0018a9d0cmp r15, rax
    0018a9d3je 0x18ae85
    0018a9d9mov dl, [r14+rax]
    0018a9ddmov [rcx+2*rax-1], dl
    0018a9e1mov [rcx+2*rax], dl
    0018a9e4inc rax
    0018a9e7jmp 0x18a9d0
    0018a9e9
    0018a9e9loc_18a9e9:
    0018a9e9mov r14, [rsp+32]
    0018a9eetest r14, r14
    0018a9f1je 0x18a71c
    0018a9f7lea r12, [rsp+32]
    0018a9fcmov r15, [r12+8]
    0018aa01mov rdi, rbx
    0018aa04call alloc::raw_vec::RawVec<T,A>::allocate_in
    0018aa09mov [r12], rax
    0018aa0dmov [r12+8], rdx
    0018aa12and [r12+16], 0
    0018aa18mov rdi, r12
    0018aa1bmov rsi, rbx
    0018aa1ecall alloc::vec::Vec<T,A>::reserve
    0018aa23mov rax, [r12]
    0018aa27mov r12, [r12+16]
    0018aa2cshl rbx, 2
    0018aa30lea rcx, [rax+8*r12]
    0018aa34add rcx, 4
    0018aa38xor eax, eax
    0018aa3a
    0018aa3aloc_18aa3a:
    0018aa3atest rbx, rbx
    0018aa3dje 0x18af00
    0018aa43mov edx, [r14+4*rax]
    0018aa47mov [rcx+8*rax-4], edx
    0018aa4bmov [rcx+8*rax], edx
    0018aa4einc rax
    0018aa51add rbx, -4
    0018aa55jmp 0x18aa3a
    0018aa57
    0018aa57loc_18aa57:
    0018aa57movups x0, [rsp+312]
    0018aa5fmovups x1, [rsp+328]
    0018aa67lea rsi, [rsp+32]
    0018aa6cmovups [rsi+24], x1
    0018aa70movups [rsi+8], x0
    0018aa74and [rsi], 0
    0018aa78jmp 0x18aef9
    0018aa7d
    0018aa7dloc_18aa7d:
    0018aa7dmov [rsp+32], 2
    0018aa86jmp 0x18aa96
    0018aa88
    0018aa88loc_18aa88:
    0018aa88mov [rsp+32], 2
    0018aa91mov r13, [rsp+8]
    0018aa96
    0018aa96loc_18aa96:
    0018aa96lea r14, [rsp+312]
    0018aa9emov rdi, [r14]
    0018aaa1mov rsi, [r14+8]
    0018aaa5call _<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop
    0018aaaalea rdi, [rsp+32]
    0018aaafcall core::ptr::drop_in_place<core::option::Option<regex_syntax::hir::Class>>
    0018aab4lea rsi, [rsp+240]
    0018aabcmov [rsi], 1
    0018aac3xorps x0, x0
    0018aac6movups [rsi+8], x0
    0018aacamov rdi, r14
    0018aacdcall regex_syntax::hir::interval::IntervalSet<I>::new
    0018aad2mov rbx, [rsp+16]
    0018aad7mov rsi, rbx
    0018aadamov ebp, 256
    0018aadf
    0018aadfloc_18aadf:
    0018aadfcmp rsi, r13
    0018aae2je 0x18aed5
    0018aae8mov rax, [rsi]
    0018aaeblea rcx, [rax-2]
    0018aaefcmp rcx, 7
    0018aaf3ja 0x18aaff
    0018aaf5cmp rcx, 2
    0018aaf9jne 0x18ace1
    0018aaff
    0018aaffloc_18aaff:
    0018aafflea r15, [rsi+48]
    0018ab03test rax, rax
    0018ab06je 0x18ab19
    0018ab08add rsi, 8
    0018ab0cmov rdi, r14
    0018ab0fcall regex_syntax::hir::interval::IntervalSet<I>::union
    0018ab14mov rsi, r15
    0018ab17jmp 0x18aadf
    0018ab19
    0018ab19loc_18ab19:
    0018ab19mov [rsp+24], r15
    0018ab1emov r15, [rsi+8]
    0018ab22mov rax, [rsi+24]
    0018ab26test rax, rax
    0018ab29je 0x18ab37
    0018ab2bcmp [r15+8*rax-4], 127
    0018ab31ja 0x18ace1
    0018ab37
    0018ab37loc_18ab37:
    0018ab37mov [rsp], rax
    0018ab3bmov rdi, [rsp]
    0018ab3fcall alloc::raw_vec::RawVec<T,A>::allocate_in
    0018ab44mov [rsp+128], rax
    0018ab4cmov [rsp+136], rdx
    0018ab54and [rsp+144], 0
    0018ab5dlea rdi, [rsp+128]
    0018ab65mov rsi, [rsp]
    0018ab69call alloc::vec::Vec<T,A>::reserve
    0018ab6emov rcx, [rsp+144]
    0018ab76cmp [rsp], 0
    0018ab7bje 0x18abf9
    0018ab7dmov rax, [rsp+128]
    0018ab85mov [rsp+168], rcx
    0018ab8dlea rbx, [rax+2*rcx]
    0018ab91inc rbx
    0018ab94xor r14l, r14l
    0018ab97
    0018ab97loc_18ab97:
    0018ab97mov r12l, [r15+8*r14]
    0018ab9bxor edi, edi
    0018ab9dcmp r12l, ebp
    0018aba0setae dil
    0018aba4lea rsi, [rip+0x68b25]
    0018ababcall core::result::Result<T,E>::unwrap
    0018abb0mov r13l, [r15+8*r14+4]
    0018abb5xor edi, edi
    0018abb7cmp r13l, ebp
    0018abbasetae dil
    0018abbelea rsi, [rip+0x68b23]
    0018abc5call core::result::Result<T,E>::unwrap
    0018abcamov [rbx+2*r14-1], r12b
    0018abcfmov [rbx+2*r14], r13b
    0018abd3inc r14
    0018abd6cmp [rsp], r14
    0018abdajne 0x18ab97
    0018abdcmov rcx, [rsp+168]
    0018abe4add rcx, r14
    0018abe7mov rbx, [rsp+16]
    0018abecmov r13, [rsp+8]
    0018abf1lea r14, [rsp+312]
    0018abf9
    0018abf9loc_18abf9:
    0018abf9movups x0, [rsp+128]
    0018ac01movaps [rsp+240], x0
    0018ac09test rcx, rcx
    0018ac0cmov [rsp+256], rcx
    0018ac14sete [rsp+264]
    0018ac1clea rdi, [rsp+240]
    0018ac24call regex_syntax::hir::interval::IntervalSet<I>::canonicalize
    0018ac29mov rax, [rsp+256]
    0018ac31mov [rsp+304], rax
    0018ac39movaps x0, [rsp+240]
    0018ac41movaps [rsp+288], x0
    0018ac49mov al, [rsp+264]
    0018ac50lea rdx, [rsp+240]
    0018ac58mov ecx, [rdx+25]
    0018ac5bmov edx, [rdx+28]
    0018ac5emov [rsp+208], ecx
    0018ac65mov [rsp+211], edx
    0018ac6ccmp al, 2
    0018ac6eje 0x18ace1
    0018ac70mov rcx, [rsp+304]
    0018ac78mov [rsp+192], rcx
    0018ac80movaps x0, [rsp+288]
    0018ac88movaps [rsp+176], x0
    0018ac90mov ecx, [rsp+208]
    0018ac97mov edx, [rsp+211]
    0018ac9elea rsi, [rsp+201]
    0018aca6mov [rsi+3], edx
    0018aca9mov [rsi], ecx
    0018acabmov [rsp+200], al
    0018acb2mov rdi, r14
    0018acb5lea rsi, [rsp+176]
    0018acbdcall regex_syntax::hir::interval::IntervalSet<I>::union
    0018acc2mov rdi, [rsp+176]
    0018accamov rsi, [rsp+184]
    0018acd2call _<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop
    0018acd7mov rsi, [rsp+24]
    0018acdcjmp 0x18aadf
    0018ace1
    0018ace1loc_18ace1:
    0018ace1mov [rsp+32], 2
    0018aceamov r14, [rsp+160]
    0018acf2mov rdi, [rsp+312]
    0018acfamov rsi, [rsp+320]
    0018ad02call _<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop
    0018ad07lea rdi, [rsp+32]
    0018ad0ccall core::ptr::drop_in_place<core::option::Option<regex_syntax::hir::Class>>
    0018ad11cmp r14, 2
    0018ad15jb 0x18adf2
    0018ad1bcmp [rbx], 8
    0018ad1ejne 0x18adf2
    0018ad24mov r12, [rbx+24]
    0018ad28test r12, r12
    0018ad2bje 0x18adf2
    0018ad31mov rax, [rsp+104]
    0018ad36mov [rsp+24], rax
    0018ad3bmov rax, [rbx+8]
    0018ad3fmov [rsp], rax
    0018ad43push 1
    0018ad45pop rcx
    0018ad46xor eax, eax
    0018ad48mov rbp, rbx
    0018ad4b
    0018ad4bloc_18ad4b:
    0018ad4btest al, 1
    0018ad4dje 0x18ad5c
    0018ad4fmov rax, rbp
    0018ad52cmp rbp, r13
    0018ad55jne 0x18ad7d
    0018ad57jmp 0x18b232
    0018ad5c
    0018ad5cloc_18ad5c:
    0018ad5cmov rax, r13
    0018ad5fsub rax, rbp
    0018ad62xor edx, edx
    0018ad64push 48
    0018ad66pop rsi
    0018ad67div rsi
    0018ad6acmp rax, rcx
    0018ad6djbe 0x18b232
    0018ad73imul rax, rcx, 48
    0018ad77add rbp, rax
    0018ad7amov rax, rbp
    0018ad7d
    0018ad7dloc_18ad7d:
    0018ad7dcmp [rax], 8
    0018ad80jne 0x18adf2
    0018ad82lea rbp, [rax+48]
    0018ad86mov rbx, [rax+8]
    0018ad8amov r15, [rax+24]
    0018ad8ecmp r12, r15
    0018ad91cmovb r15, r12
    0018ad95mov r13, [rsp]
    0018ad99xor r14l, r14l
    0018ad9c
    0018ad9cloc_18ad9c:
    0018ad9ccmp r15, r14
    0018ad9fje 0x18adbd
    0018ada1mov rdi, r13
    0018ada4mov rsi, rbx
    0018ada7call _<regex_syntax::hir::Hir as core::cmp::PartialEq>::eq
    0018adactest al, al
    0018adaeje 0x18adc9
    0018adb0inc r14
    0018adb3add r13, 48
    0018adb7add rbx, 48
    0018adbbjmp 0x18ad9c
    0018adbd
    0018adbdloc_18adbd:
    0018adbdmov rbx, [rsp+16]
    0018adc2mov r13, [rsp+8]
    0018adc7jmp 0x18addf
    0018adc9
    0018adc9loc_18adc9:
    0018adc9cmp r14, r12
    0018adccmov rbx, [rsp+16]
    0018add1mov r13, [rsp+8]
    0018add6ja 0x18b4a3
    0018addcmov r15, r14
    0018addf
    0018addfloc_18addf:
    0018addfmov al, 1
    0018ade1mov ecx, 0
    0018ade6mov r12, r15
    0018ade9test r15, r15
    0018adecjne 0x18ad4b
    0018adf2
    0018adf2loc_18adf2:
    0018adf2mov rax, [rsp+112]
    0018adf7mov [rsp+384], rax
    0018adffmovups x0, [rsp+96]
    0018ae04movaps [rsp+368], x0
    0018ae0c
    0018ae0cloc_18ae0c:
    0018ae0cmov rax, [rsp+384]
    0018ae14mov [rsp+112], rax
    0018ae19movaps x0, [rsp+368]
    0018ae21movaps [rsp+96], x0
    0018ae26mov rcx, [rsp+96]
    0018ae2bimul rax, rax, 48
    0018ae2fadd rax, rcx
    0018ae32lea r15, [rsp+32]
    0018ae37mov [r15+16], rcx
    0018ae3bmov [r15+24], rax
    0018ae3fand [r15], 0
    0018ae43mov rdi, r15
    0018ae46call core::iter::adapters::peekable::Peekable<I>::peek
    0018ae4bxor r14l, r14l
    0018ae4eneg rax
    0018ae51mov ebx, 0
    0018ae56sbb ebx, ebx
    0018ae58mov rdi, r15
    0018ae5bcall core::iter::adapters::peekable::Peekable<I>::peek
    0018ae60test rax, rax
    0018ae63je 0x18af81
    0018ae69mov rax, [rax]
    0018ae6cmov rax, [rax]
    0018ae6fmov rcx, [rax+32]
    0018ae73mov [rsp], rcx
    0018ae77mov rax, [rax+40]
    0018ae7bmov [rsp+16], rax
    0018ae80jmp 0x18af87
    0018ae85
    0018ae85loc_18ae85:
    0018ae85add r12, rax
    0018ae88mov rdi, r14
    0018ae8bmov rsi, rbx
    0018ae8ecall core::ptr::drop_in_place<alloc::boxed::Box<str>>
    0018ae93lea rbx, [rsp+32]
    0018ae98movups x0, [rbx]
    0018ae9blea r14, [rsp+240]
    0018aea3movaps [r14], x0
    0018aea7test r12, r12
    0018aeaamov [r14+16], r12
    0018aeaesete [r14+24]
    0018aeb3mov rdi, r14
    0018aeb6call regex_syntax::hir::interval::IntervalSet<I>::canonicalize
    0018aebbmovaps x0, [r14]
    0018aebfmovaps x1, [r14+16]
    0018aec4movups [rbx+24], x1
    0018aec8movups [rbx+8], x0
    0018aeccmov [rbx], 1
    0018aed3jmp 0x18af4b
    0018aed5
    0018aed5loc_18aed5:
    0018aed5movups x0, [rsp+312]
    0018aeddmovups x1, [rsp+328]
    0018aee5lea rsi, [rsp+32]
    0018aeeamovups [rsi+24], x1
    0018aeeemovups [rsi+8], x0
    0018aef2mov [rsi], 1
    0018aef9
    0018aef9loc_18aef9:
    0018aef9mov rdi, [rsp+88]
    0018aefejmp 0x18af53
    0018af00
    0018af00loc_18af00:
    0018af00add r12, rax
    0018af03mov rdi, r14
    0018af06mov rsi, r15
    0018af09call _<alloc::raw_vec::RawVec<T,A> as core::ops::drop::Drop>::drop
    0018af0elea rbx, [rsp+32]
    0018af13movups x0, [rbx]
    0018af16lea r14, [rsp+240]
    0018af1emovaps [r14], x0
    0018af22test r12, r12
    0018af25mov [r14+16], r12
    0018af29sete [r14+24]
    0018af2emov rdi, r14
    0018af31call regex_syntax::hir::interval::IntervalSet<I>::canonicalize
    0018af36movaps x0, [r14]
    0018af3amovaps x1, [r14+16]
    0018af3fmovups [rbx+24], x1
    0018af43movups [rbx+8], x0
    0018af47and [rbx], 0
    0018af4b
    0018af4bloc_18af4b:
    0018af4bmov rdi, [rsp+88]
    0018af50mov rsi, rbx
    0018af53
    0018af53loc_18af53:
    0018af53call _ZN12regex_syntax3hir3Hir5class17h14fc9d42d80925d2E.1038
    0018af58
    0018af58loc_18af58:
    0018af58lea rdi, [rsp+96]
    0018af5dcall core::ptr::drop_in_place<alloc::vec::Vec<regex_syntax::hir::Hir>>
    0018af62
    0018af62loc_18af62:
    0018af62add rsp, 472
    0018af69pop rbx
    0018af6apop r12
    0018af6cpop r13
    0018af6epop r14
    0018af70pop r15
    0018af72pop rbp
    0018af73ret
    0018af74
    0018af74loc_18af74:
    0018af74mov [rsp+160], r12
    0018af7cjmp 0x18a78c
    0018af81
    0018af81loc_18af81:
    0018af81xor eax, eax
    0018af83mov [rsp], rax
    0018af87
    0018af87loc_18af87:
    0018af87mov rax, [rsp+40]
    0018af8cmov [rsp+168], rax
    0018af94mov rax, [rsp+48]
    0018af99mov [rsp+8], rax
    0018af9emov rax, [rsp+56]
    0018afa3mov [rsp+160], rax
    0018afabcmp [rsp+32], 0
    0018afb1sete r10b
    0018afb5mov cl, 1
    0018afb7mov r9b, 1
    0018afbaxor r13l, r13l
    0018afbdmov ebp, ebx
    0018afbfxor r12l, r12l
    0018afc2xor r15l, r15l
    0018afc5xor edi, edi
    0018afc7xor esi, esi
    0018afc9mov [rsp+24], rsi
    0018afcexor r8l, r8l
    0018afd1xor edx, edx
    0018afd3
    0018afd3loc_18afd3:
    0018afd3mov esi, edx
    0018afd5
    0018afd5loc_18afd5:
    0018afd5mov eax, esi
    0018afd7mov [rsp+352], rdi
    0018afdf
    0018afdfloc_18afdf:
    0018afdftest r10b, 1
    0018afe3je 0x18b00c
    0018afe5mov rdx, [rsp+8]
    0018afeacmp rdx, [rsp+160]
    0018aff2je 0x18b182
    0018aff8mov rdi, [rsp+8]
    0018affdlea rsi, [rdi+48]
    0018b001add rdi, 40
    0018b005mov [rsp+8], rsi
    0018b00ajmp 0x18b020
    0018b00c
    0018b00cloc_18b00c:
    0018b00cmov rsi, [rsp+168]
    0018b014mov rdi, rsi
    0018b017test rsi, rsi
    0018b01aje 0x18b182
    0018b020
    0018b020loc_18b020:
    0018b020mov rdx, rax
    0018b023mov r11, [rdi]
    0018b026mov rax, rcx
    0018b029test r9b, 1
    0018b02dje 0x18b03a
    0018b02fcmp [r11+76], 0
    0018b034setne r9b
    0018b038jmp 0x18b03d
    0018b03a
    0018b03aloc_18b03a:
    0018b03axor r9l, r9l
    0018b03d
    0018b03dloc_18b03d:
    0018b03dadd r15, [r11+48]
    0018b041push -1
    0018b043pop rcx
    0018b044cmovb r15, rcx
    0018b048mov r10, [r11+32]
    0018b04cmov rsi, r10
    0018b04fmov rcx, [rsp]
    0018b053or rsi, rcx
    0018b056sete dil
    0018b05atest rcx, rcx
    0018b05dje 0x18b071
    0018b05ftest r10, r10
    0018b062je 0x18b071
    0018b064mov rsi, [rsp+16]
    0018b069cmp rsi, [r11+40]
    0018b06dsete dil
    0018b071
    0018b071loc_18b071:
    0018b071xor esi, esi
    0018b073test dil, dil
    0018b076mov rdi, [rsp]
    0018b07acmove rdi, rsi
    0018b07emov [rsp], rdi
    0018b082test al, 1
    0018b084mov ecx, 0
    0018b089je 0x18b093
    0018b08bcmp [r11+77], 0
    0018b090setne cl
    0018b093
    0018b093loc_18b093:
    0018b093test r8b, 1
    0018b097jne 0x18b104
    0018b099cmp [r11], 0
    0018b09dje 0x18b0fa
    0018b09fmov rsi, [r11+8]
    0018b0a3mov rdi, [rsp+24]
    0018b0a8mov [rsp+392], r8
    0018b0b0mov r8, rdi
    0018b0b3test rdi, rdi
    0018b0b6sete dil
    0018b0bamov rax, rcx
    0018b0bdmov rcx, r9
    0018b0c0mov r9, [rsp+360]
    0018b0c8cmp rsi, r9
    0018b0cbsetb r10b
    0018b0cfor r10b, dil
    0018b0d2cmovne r9, rsi
    0018b0d6mov [rsp+360], r9
    0018b0demov r9, rcx
    0018b0e1mov rcx, rax
    0018b0e4push 1
    0018b0e6pop rsi
    0018b0e7cmovne r8, rsi
    0018b0ebmov [rsp+24], r8
    0018b0f0mov r8, [rsp+392]
    0018b0f8jmp 0x18b104
    0018b0fa
    0018b0faloc_18b0fa:
    0018b0famov r8b, 1
    0018b0fdxor esi, esi
    0018b0ffmov [rsp+24], rsi
    0018b104
    0018b104loc_18b104:
    0018b104or r12l, [r11+56]
    0018b108and ebp, [r11+60]
    0018b10cand ebx, [r11+64]
    0018b110or r13l, [r11+68]
    0018b114or r14l, [r11+72]
    0018b118mov r10b, 1
    0018b11bmov rax, rdx
    0018b11etest al, al
    0018b120jne 0x18afdf
    0018b126cmp [r11+16], 0
    0018b12bmov edi, 0
    0018b130mov sil, 1
    0018b133je 0x18afd5
    0018b139mov rsi, [r11+24]
    0018b13dmov r11, [rsp+352]
    0018b145test r11, r11
    0018b148sete dil
    0018b14cmov rax, r9
    0018b14fmov r9, [rsp+344]
    0018b157cmp rsi, r9
    0018b15aseta r10b
    0018b15eor r10b, dil
    0018b161cmovne r9, rsi
    0018b165mov [rsp+344], r9
    0018b16dmov r9, rax
    0018b170push 1
    0018b172pop rsi
    0018b173cmovne r11, rsi
    0018b177mov r10b, 1
    0018b17amov rdi, r11
    0018b17djmp 0x18afd3
    0018b182
    0018b182loc_18b182:
    0018b182and r9b, 1
    0018b186mov [rsp+168], r9
    0018b18eand cl, 1
    0018b191mov [rsp+8], rcx
    0018b196push 80
    0018b198pop rdi
    0018b199push 8
    0018b19bpop rsi
    0018b19ccall _ZN5alloc5alloc15exchange_malloc17hc6dbbe43d4abbe5aE.641
    0018b1a1mov rcx, [rsp+24]
    0018b1a6mov [rax], rcx
    0018b1a9mov rcx, [rsp+360]
    0018b1b1mov [rax+8], rcx
    0018b1b5mov rcx, [rsp+352]
    0018b1bdmov [rax+16], rcx
    0018b1c1mov rcx, [rsp+344]
    0018b1c9mov [rax+24], rcx
    0018b1cdmov rcx, [rsp]
    0018b1d1mov [rax+32], rcx
    0018b1d5mov rcx, [rsp+16]
    0018b1damov [rax+40], rcx
    0018b1demov [rax+48], r15
    0018b1e2mov [rax+56], r12l
    0018b1e6mov [rax+60], ebp
    0018b1e9mov [rax+64], ebx
    0018b1ecmov [rax+68], r13l
    0018b1f0mov [rax+72], r14l
    0018b1f4mov rcx, [rsp+168]
    0018b1fcmov [rax+76], cl
    0018b1ffmov [rax+77], 0
    0018b203mov rcx, [rsp+8]
    0018b208mov [rax+78], cl
    0018b20bmov rcx, [rsp+112]
    0018b210mov rdx, [rsp+88]
    0018b215mov [rdx+24], rcx
    0018b219movaps x0, [rsp+96]
    0018b21emovups [rdx+8], x0
    0018b222mov [rdx], 9
    0018b229mov [rdx+40], rax
    0018b22djmp 0x18af62
    0018b232
    0018b232loc_18b232:
    0018b232push 8
    0018b234pop r15
    0018b236lea rax, [rsp+208]
    0018b23emov [rax], r15
    0018b241xorps x0, x0
    0018b244movups [rax+8], x0
    0018b248lea rax, [rsp+288]
    0018b250mov [rax], r15
    0018b253movups [rax+8], x0
    0018b257mov [rsp+176], rbx
    0018b25fmov rax, [rsp+24]
    0018b264mov [rsp+184], rax
    0018b26cmov [rsp+192], rbx
    0018b274mov [rsp+200], r13
    0018b27clea rax, [rsp+240]
    0018b284lea r14, [rax+r15]
    0018b288lea rbp, [rsp+32]
    0018b28dadd r15, rbp
    0018b290imul rax, r12, 48
    0018b294mov [rsp], rax
    0018b298
    0018b298loc_18b298:
    0018b298cmp rbx, r13
    0018b29bje 0x18b3e2
    0018b2a1lea rax, [rbx+48]
    0018b2a5mov [rsp+192], rax
    0018b2admov rax, [rbx]
    0018b2b0cmp rax, 10
    0018b2b4je 0x18b3e2
    0018b2bamov [rsp+240], rax
    0018b2c2mov rax, [rbx+40]
    0018b2c6mov [r14+32], rax
    0018b2camovups x0, [rbx+8]
    0018b2cemovups x1, [rbx+24]
    0018b2d2movups [r14+16], x1
    0018b2d7movups [r14], x0
    0018b2dbmov rdi, rbp
    0018b2delea rsi, [rsp+240]
    0018b2e6call regex_syntax::hir::Hir::into_kind
    0018b2ebcmp [rsp+32], 8
    0018b2f0jne 0x18b4b7
    0018b2f6mov rsi, [r15+16]
    0018b2famov [rsp+144], rsi
    0018b302movups x0, [r15]
    0018b306movaps [rsp+128], x0
    0018b30emov rbx, rsi
    0018b311sub rbx, r12
    0018b314jb 0x18b4cf
    0018b31amov rdi, rbx
    0018b31dcall alloc::raw_vec::RawVec<T,A>::allocate_in
    0018b322mov rbp, rax
    0018b325mov r13, rdx
    0018b328mov [rsp+144], r12
    0018b330mov rsi, [rsp+128]
    0018b338add rsi, [rsp]
    0018b33cimul rdx, rbx, 48
    0018b340mov rdi, rax
    0018b343call [rip+0x867d7]
    0018b349mov [rsp+312], rbp
    0018b351mov [rsp+320], r13
    0018b359mov [rsp+328], rbx
    0018b361lea rbp, [rsp+32]
    0018b366mov rdi, rbp
    0018b369lea rsi, [rsp+312]
    0018b371call regex_syntax::hir::Hir::concat
    0018b376lea rdi, [rsp+288]
    0018b37emov rsi, rbp
    0018b381call alloc::vec::Vec<T,A>::push
    0018b386cmp [rsp+224], 0
    0018b38fje 0x18b3a0
    0018b391lea rdi, [rsp+128]
    0018b399call core::ptr::drop_in_place<alloc::vec::Vec<regex_syntax::hir::Hir>>
    0018b39ejmp 0x18b3cd
    0018b3a0
    0018b3a0loc_18b3a0:
    0018b3a0lea rdi, [rsp+208]
    0018b3a8call core::ptr::drop_in_place<alloc::vec::Vec<regex_syntax::hir::Hir>>
    0018b3admov rax, [rsp+144]
    0018b3b5mov [rsp+224], rax
    0018b3bdmovaps x0, [rsp+128]
    0018b3c5movaps [rsp+208], x0
    0018b3cd
    0018b3cdloc_18b3cd:
    0018b3cdmov rbx, [rsp+192]
    0018b3d5mov r13, [rsp+200]
    0018b3ddjmp 0x18b298
    0018b3e2
    0018b3e2loc_18b3e2:
    0018b3e2lea rbx, [rsp+176]
    0018b3eamov rdi, rbx
    0018b3edcall _<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop
    0018b3f2mov rax, [rsp+224]
    0018b3famov [rbx+16], rax
    0018b3femovaps x0, [rsp+208]
    0018b406movaps [rbx], x0
    0018b409lea rbx, [rsp+32]
    0018b40elea rsi, [rsp+288]
    0018b416mov rdi, rbx
    0018b419call regex_syntax::hir::Hir::alternation
    0018b41elea r14, [rsp+176]
    0018b426mov rdi, r14
    0018b429mov rsi, rbx
    0018b42ccall alloc::vec::Vec<T,A>::push
    0018b431lea rbx, [rsp+32]
    0018b436mov rdi, rbx
    0018b439mov rsi, r14
    0018b43ccall regex_syntax::hir::Hir::concat
    0018b441mov rax, [rbx]
    0018b444movups x0, [rbx+8]
    0018b448movaps [rsp+368], x0
    0018b450mov rcx, [rbx+24]
    0018b454mov [rsp+384], rcx
    0018b45cmovups x0, [rbx+32]
    0018b460movaps [rsp+400], x0
    0018b468cmp rax, 10
    0018b46cje 0x18ae0c
    0018b472mov rcx, [rsp+384]
    0018b47amov rdx, [rsp+88]
    0018b47fmov [rdx+24], rcx
    0018b483movaps x0, [rsp+368]
    0018b48bmovups [rdx+8], x0
    0018b48fmovaps x0, [rsp+400]
    0018b497movups [rdx+32], x0
    0018b49bmov [rdx], rax
    0018b49ejmp 0x18af62
    0018b4a3
    0018b4a3loc_18b4a3:
    0018b4a3lea rdx, [rip+0x682e6]
    0018b4aamov rdi, r14
    0018b4admov rsi, r12
    0018b4b0call core::slice::index::slice_end_index_len_fail
    0018b4b5ud2
    0018b4b7
    0018b4b7loc_18b4b7:
    0018b4b7lea rdi, [rip-0xfa539]
    0018b4belea rdx, [rip+0x682b3]
    0018b4c5push 40
    0018b4c7pop rsi
    0018b4c8call core::panicking::panic
    0018b4cdud2
    0018b4cf
    0018b4cfloc_18b4cf:
    0018b4cfmov rdi, r12
    0018b4d2call alloc::vec::Vec<T,A>::split_off::assert_failed
    0018b4d7ud2
    0018a451