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