File akira_3298d203c2acb68c474e5fdad8379181890b4403d6491c523c13730129be3f75.elf
Function:
    0018b4d9
    0018b4d9regex_syntax::hir::Hir::concat:
    0018b4d9push rbp
    0018b4dapush r15
    0018b4dcpush r14
    0018b4depush r13
    0018b4e0push r12
    0018b4e2push rbx
    0018b4e3sub rsp, 504
    0018b4eamov [rsp+48], rdi
    0018b4eflea r15, [rsp+136]
    0018b4f7mov [r15], 8
    0018b4felea rax, [rsp+16]
    0018b503and [rax-8], 0
    0018b508xorps x0, x0
    0018b50bmovups [r15+8], x0
    0018b510mov rax, [rsi]
    0018b513mov rdx, [rsi+8]
    0018b517imul rcx, [rsi+16], 48
    0018b51cadd rcx, rax
    0018b51fmov [rsp+272], rax
    0018b527mov [rsp+280], rdx
    0018b52fmov [rsp+288], rax
    0018b537mov [rsp+296], rcx
    0018b53flea r12, [rsp+392]
    0018b547lea rbp, [rsp+80]
    0018b54c
    0018b54cloc_18b54c:
    0018b54ccmp rax, rcx
    0018b54fje 0x18b98b
    0018b555lea rcx, [rax+48]
    0018b559mov [rsp+288], rcx
    0018b561mov rcx, [rax]
    0018b564cmp rcx, 10
    0018b568je 0x18b98b
    0018b56emov [rsp+432], rcx
    0018b576mov rcx, [rax+40]
    0018b57alea rdx, [rsp+440]
    0018b582mov [rdx+32], rcx
    0018b586movups x0, [rax+8]
    0018b58amovups x1, [rax+24]
    0018b58emovups [rdx+16], x1
    0018b592movups [rdx], x0
    0018b595mov rdi, rbp
    0018b598lea rsi, [rsp+432]
    0018b5a0call regex_syntax::hir::Hir::into_parts
    0018b5a5mov rax, [rsp+112]
    0018b5aamov [rsp+192], rax
    0018b5b2movups x0, [rsp+80]
    0018b5b7movups x1, [rsp+96]
    0018b5bcmovaps [rsp+176], x1
    0018b5c4movaps [rsp+160], x0
    0018b5ccmov rdi, [rsp+120]
    0018b5d1mov rax, [rsp+160]
    0018b5d9add rax, -2
    0018b5ddcmp rax, 8
    0018b5e1push 2
    0018b5e3pop rcx
    0018b5e4cmovae rax, rcx
    0018b5e8test rax, rax
    0018b5ebje 0x18b940
    0018b5f1cmp rax, 1
    0018b5f5je 0x18b81a
    0018b5fbcmp rax, 6
    0018b5ffjne 0x18b84f
    0018b605mov [rsp], rdi
    0018b609mov rax, [rsp+168]
    0018b611mov rdx, [rsp+176]
    0018b619imul rcx, [rsp+184], 48
    0018b622add rcx, rax
    0018b625mov [rsp+304], rax
    0018b62dmov [rsp+312], rdx
    0018b635mov [rsp+320], rax
    0018b63dmov [rsp+328], rcx
    0018b645
    0018b645loc_18b645:
    0018b645cmp rax, rcx
    0018b648je 0x18b8d7
    0018b64elea rcx, [rax+48]
    0018b652mov [rsp+320], rcx
    0018b65amov rcx, [rax]
    0018b65dcmp rcx, 10
    0018b661je 0x18b8d7
    0018b667mov [rsp+384], rcx
    0018b66fmov rcx, [rax+40]
    0018b673mov [r12+32], rcx
    0018b678movups x0, [rax+8]
    0018b67cmovups x1, [rax+24]
    0018b680movups [r12+16], x1
    0018b686movups [r12], x0
    0018b68bmov rdi, rbp
    0018b68elea rsi, [rsp+384]
    0018b696call regex_syntax::hir::Hir::into_parts
    0018b69bmov rax, [rsp+112]
    0018b6a0mov [rsp+240], rax
    0018b6a8movups x0, [rsp+80]
    0018b6admovups x1, [rsp+96]
    0018b6b2movaps [rsp+224], x1
    0018b6bamovaps [rsp+208], x0
    0018b6c2mov rbx, [rsp+120]
    0018b6c7cmp [rsp+208], 3
    0018b6cfjne 0x18b707
    0018b6d1mov rbp, [rsp+216]
    0018b6d9mov r14, [rsp+224]
    0018b6e1cmp [rsp+8], 0
    0018b6e7je 0x18b786
    0018b6edlea rdx, [r14+rbp]
    0018b6f1lea rdi, [rsp+8]
    0018b6f6mov rsi, rbp
    0018b6f9call _<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<&T,core::slice::iter::Iter<T>>>::spec_extend
    0018b6fepush 3
    0018b700pop r12
    0018b702jmp 0x18b7d1
    0018b707
    0018b707loc_18b707:
    0018b707mov rax, [rsp+8]
    0018b70cand [rsp+8], 0
    0018b712test rax, rax
    0018b715je 0x18b74d
    0018b717mov [rsp+336], rax
    0018b71flea rax, [rsp+16]
    0018b724movups x0, [rax]
    0018b727lea rax, [rsp+344]
    0018b72fmovups [rax], x0
    0018b732mov rdi, rbp
    0018b735lea rsi, [rsp+336]
    0018b73dcall regex_syntax::hir::Hir::literal
    0018b742mov rdi, r15
    0018b745mov rsi, rbp
    0018b748call alloc::vec::Vec<T,A>::push
    0018b74d
    0018b74dloc_18b74d:
    0018b74dmov rax, [rsp+240]
    0018b755mov [rsp+112], rax
    0018b75amovaps x0, [rsp+208]
    0018b762movaps x1, [rsp+224]
    0018b76amovaps [rsp+96], x1
    0018b76fmovaps [rsp+80], x0
    0018b774mov [rsp+120], rbx
    0018b779mov rdi, r15
    0018b77cmov rsi, rbp
    0018b77fcall alloc::vec::Vec<T,A>::push
    0018b784jmp 0x18b805
    0018b786
    0018b786loc_18b786:
    0018b786mov rdi, r14
    0018b789call alloc::raw_vec::RawVec<T,A>::allocate_in
    0018b78emov r13, rax
    0018b791mov r12, rdx
    0018b794mov rdi, rax
    0018b797mov rsi, rbp
    0018b79amov rdx, r14
    0018b79dcall [rip+0x8637d]
    0018b7a3mov rdi, [rsp+8]
    0018b7a8mov rsi, [rsp+16]
    0018b7adcall core::ptr::drop_in_place<std::env::VarError>
    0018b7b2mov [rsp+8], r13
    0018b7b7lea r15, [rsp+136]
    0018b7bfmov [rsp+16], r12
    0018b7c4mov [rsp+24], r14
    0018b7c9mov r12, [rsp+208]
    0018b7d1
    0018b7d1loc_18b7d1:
    0018b7d1mov rdi, rbp
    0018b7d4mov rsi, r14
    0018b7d7call core::ptr::drop_in_place<alloc::boxed::Box<str>>
    0018b7dcmov rdi, rbx
    0018b7dfcall [rip+0x86313]
    0018b7e5cmp r12, 3
    0018b7e9lea r12, [rsp+392]
    0018b7f1lea rbp, [rsp+80]
    0018b7f6je 0x18b805
    0018b7f8lea rdi, [rsp+208]
    0018b800call core::ptr::drop_in_place<regex_syntax::hir::HirKind>
    0018b805
    0018b805loc_18b805:
    0018b805mov rax, [rsp+320]
    0018b80dmov rcx, [rsp+328]
    0018b815jmp 0x18b645
    0018b81a
    0018b81aloc_18b81a:
    0018b81amov rbx, [rsp+168]
    0018b822mov r14, [rsp+176]
    0018b82acmp [rsp+8], 0
    0018b830je 0x18b8ea
    0018b836mov r13, rdi
    0018b839lea rdx, [rbx+r14]
    0018b83dlea rdi, [rsp+8]
    0018b842mov rsi, rbx
    0018b845call _<alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<&T,core::slice::iter::Iter<T>>>::spec_extend
    0018b84ajmp 0x18b932
    0018b84f
    0018b84floc_18b84f:
    0018b84fmov rax, [rsp+8]
    0018b854and [rsp+8], 0
    0018b85atest rax, rax
    0018b85dje 0x18b89b
    0018b85fmov [rsp+360], rax
    0018b867lea rax, [rsp+16]
    0018b86cmovups x0, [rax]
    0018b86flea rax, [rsp+368]
    0018b877movups [rax], x0
    0018b87amov rbx, rdi
    0018b87dmov rdi, rbp
    0018b880lea rsi, [rsp+360]
    0018b888call regex_syntax::hir::Hir::literal
    0018b88dmov rdi, r15
    0018b890mov rsi, rbp
    0018b893call alloc::vec::Vec<T,A>::push
    0018b898mov rdi, rbx
    0018b89b
    0018b89bloc_18b89b:
    0018b89bmov rax, [rsp+192]
    0018b8a3mov [rsp+112], rax
    0018b8a8movaps x0, [rsp+160]
    0018b8b0movaps x1, [rsp+176]
    0018b8b8movaps [rsp+96], x1
    0018b8bdmovaps [rsp+80], x0
    0018b8c2mov [rsp+120], rdi
    0018b8c7mov rdi, r15
    0018b8camov rsi, rbp
    0018b8cdcall alloc::vec::Vec<T,A>::push
    0018b8d2jmp 0x18b976
    0018b8d7
    0018b8d7loc_18b8d7:
    0018b8d7lea rdi, [rsp+304]
    0018b8dfcall _<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop
    0018b8e4mov rdi, [rsp]
    0018b8e8jmp 0x18b940
    0018b8ea
    0018b8ealoc_18b8ea:
    0018b8eamov r13, rdi
    0018b8edmov rdi, r14
    0018b8f0call alloc::raw_vec::RawVec<T,A>::allocate_in
    0018b8f5mov rbp, rax
    0018b8f8mov [rsp], rdx
    0018b8fcmov rdi, rax
    0018b8ffmov rsi, rbx
    0018b902mov rdx, r14
    0018b905call [rip+0x86215]
    0018b90bmov rdi, [rsp+8]
    0018b910mov rsi, [rsp+16]
    0018b915call core::ptr::drop_in_place<std::env::VarError>
    0018b91amov [rsp+8], rbp
    0018b91flea rbp, [rsp+80]
    0018b924mov rax, [rsp]
    0018b928mov [rsp+16], rax
    0018b92dmov [rsp+24], r14
    0018b932
    0018b932loc_18b932:
    0018b932mov rdi, rbx
    0018b935mov rsi, r14
    0018b938call core::ptr::drop_in_place<alloc::boxed::Box<str>>
    0018b93dmov rdi, r13
    0018b940
    0018b940loc_18b940:
    0018b940call [rip+0x861b2]
    0018b946mov rax, [rsp+160]
    0018b94eadd rax, -2
    0018b952cmp rax, 8
    0018b956push 2
    0018b958pop rcx
    0018b959cmovae rax, rcx
    0018b95dcmp rax, 6
    0018b961je 0x18b976
    0018b963cmp rax, 1
    0018b967je 0x18b976
    0018b969lea rdi, [rsp+160]
    0018b971call core::ptr::drop_in_place<regex_syntax::hir::HirKind>
    0018b976
    0018b976loc_18b976:
    0018b976mov rax, [rsp+288]
    0018b97emov rcx, [rsp+296]
    0018b986jmp 0x18b54c
    0018b98b
    0018b98bloc_18b98b:
    0018b98blea rdi, [rsp+272]
    0018b993call _<alloc::vec::into_iter::IntoIter<T,A> as core::ops::drop::Drop>::drop
    0018b998mov rax, [rsp+8]
    0018b99dtest rax, rax
    0018b9a0je 0x18b9d6
    0018b9a2lea rsi, [rsp+480]
    0018b9aamov [rsi], rax
    0018b9adlea rax, [rsp+16]
    0018b9b2movups x0, [rax]
    0018b9b5movups [rsi+8], x0
    0018b9b9lea rbx, [rsp+80]
    0018b9bemov rdi, rbx
    0018b9c1call regex_syntax::hir::Hir::literal
    0018b9c6lea rdi, [rsp+136]
    0018b9cemov rsi, rbx
    0018b9d1call alloc::vec::Vec<T,A>::push
    0018b9d6
    0018b9d6loc_18b9d6:
    0018b9d6mov rax, [rsp+152]
    0018b9decmp rax, 1
    0018b9e2je 0x18b9f5
    0018b9e4test rax, rax
    0018b9e7jne 0x18ba50
    0018b9e9mov rdi, [rsp+48]
    0018b9eecall regex_syntax::hir::Hir::empty
    0018b9f3jmp 0x18ba32
    0018b9f5
    0018b9f5loc_18b9f5:
    0018b9f5and [rsp+152], 0
    0018b9femov rax, [rsp+136]
    0018ba06movups x0, [rax]
    0018ba09movups x1, [rax+16]
    0018ba0dmovups x2, [rax+32]
    0018ba11lea rsi, [rsp+80]
    0018ba16movaps [rsi], x0
    0018ba19movaps [rsi+16], x1
    0018ba1dmovaps [rsi+32], x2
    0018ba21lea rdx, [rip+0x67c78]
    0018ba28mov rdi, [rsp+48]
    0018ba2dcall core::option::Option<T>::unwrap
    0018ba32
    0018ba32loc_18ba32:
    0018ba32mov rsi, [rsp+16]
    0018ba37xor edi, edi
    0018ba39call core::ptr::drop_in_place<std::env::VarError>
    0018ba3elea rdi, [rsp+136]
    0018ba46call core::ptr::drop_in_place<alloc::vec::Vec<regex_syntax::hir::Hir>>
    0018ba4bjmp 0x18bcd4
    0018ba50
    0018ba50loc_18ba50:
    0018ba50mov rdx, [rsp+136]
    0018ba58mov [rsp+256], rax
    0018ba60imul rsi, rax, 48
    0018ba64lea rax, [rdx+rsi]
    0018ba68push 1
    0018ba6apop rcx
    0018ba6bxor r14l, r14l
    0018ba6emov r12b, 1
    0018ba71mov r10, rdx
    0018ba74mov r13b, 1
    0018ba77mov bpl, 1
    0018ba7axor edi, edi
    0018ba7cmov [rsp], rdi
    0018ba80xor edi, edi
    0018ba82mov [rsp+56], rdi
    0018ba87mov r9b, 1
    0018ba8axor edi, edi
    0018ba8cmov [rsp+40], rdi
    0018ba91mov rbx, rcx
    0018ba94xor r8l, r8l
    0018ba97mov [rsp+32], rcx
    0018ba9c
    0018ba9cloc_18ba9c:
    0018ba9cmov r15, r10
    0018ba9f
    0018ba9floc_18ba9f:
    0018ba9fcmp r15, rax
    0018baa2je 0x18bb9d
    0018baa8mov r10, r15
    0018baabmov r11, [r15+40]
    0018baaftest bpl, 1
    0018bab3je 0x18bac0
    0018bab5cmp [r11+76], 0
    0018babasetne dil
    0018babejmp 0x18bac2
    0018bac0
    0018bac0loc_18bac0:
    0018bac0xor edi, edi
    0018bac2
    0018bac2loc_18bac2:
    0018bac2mov rbp, [rsp]
    0018bac6mov rcx, r8
    0018bac9push -1
    0018bacbpop r15
    0018bacdadd rbp, [r11+48]
    0018bad1jb 0x18bad6
    0018bad3mov r15, rbp
    0018bad6
    0018bad6loc_18bad6:
    0018bad6mov [rsp], r15
    0018badacmp [r11+32], 0
    0018badfsetne bpl
    0018bae3push -1
    0018bae5pop r8
    0018bae7mov r15, [rsp+56]
    0018baecadd r15, [r11+40]
    0018baf0jb 0x18baf5
    0018baf2mov r8, r15
    0018baf5
    0018baf5loc_18baf5:
    0018baf5mov r15, r8
    0018baf8test r13b, 1
    0018bafcje 0x18bb09
    0018bafecmp [r11+77], 0
    0018bb03setne r13b
    0018bb07jmp 0x18bb0c
    0018bb09
    0018bb09loc_18bb09:
    0018bb09xor r13l, r13l
    0018bb0c
    0018bb0cloc_18bb0c:
    0018bb0cmov r8, rcx
    0018bb0ftest r12b, 1
    0018bb13je 0x18bb20
    0018bb15cmp [r11+78], 0
    0018bb1asetne r12b
    0018bb1ejmp 0x18bb23
    0018bb20
    0018bb20loc_18bb20:
    0018bb20xor r12l, r12l
    0018bb23
    0018bb23loc_18bb23:
    0018bb23cmp [rsp+32], 0
    0018bb29mov [rsp+56], r15
    0018bb2ejne 0x18bb34
    0018bb30
    0018bb30loc_18bb30:
    0018bb30xor ecx, ecx
    0018bb32jmp 0x18bb4d
    0018bb34
    0018bb34loc_18bb34:
    0018bb34cmp [r11], 0
    0018bb38je 0x18bb6f
    0018bb3apush -1
    0018bb3cpop r15
    0018bb3eadd r8, [r11+8]
    0018bb42jb 0x18bb47
    0018bb44mov r15, r8
    0018bb47
    0018bb47loc_18bb47:
    0018bb47mov r8, r15
    0018bb4apush 1
    0018bb4cpop rcx
    0018bb4d
    0018bb4dloc_18bb4d:
    0018bb4dmov [rsp+32], rcx
    0018bb52or r14l, [r11+56]
    0018bb56and r9b, bpl
    0018bb59lea r15, [r10+48]
    0018bb5dtest rbx, rbx
    0018bb60mov ebx, 0
    0018bb65mov ebp, edi
    0018bb67je 0x18ba9f
    0018bb6djmp 0x18bb71
    0018bb6f
    0018bb6floc_18bb6f:
    0018bb6fjmp 0x18bb30
    0018bb71
    0018bb71loc_18bb71:
    0018bb71add r10, 48
    0018bb75cmp [r11+16], 0
    0018bb7amov ebx, 0
    0018bb7fje 0x18ba9c
    0018bb85xor ebx, ebx
    0018bb87mov rdi, [rsp+40]
    0018bb8cadd rdi, [r11+24]
    0018bb90mov [rsp+40], rdi
    0018bb95setae bl
    0018bb98jmp 0x18ba9c
    0018bb9d
    0018bb9dloc_18bb9d:
    0018bb9dmovzx ecx, r9b
    0018bba1and ecx, 1
    0018bba4mov [rsp+248], rcx
    0018bbacand bpl, 1
    0018bbb0mov [rsp+68], ebp
    0018bbb4and r13b, 1
    0018bbb8and r12b, 1
    0018bbbcxor r15l, r15l
    0018bbbfxor ebp, ebp
    0018bbc1
    0018bbc1loc_18bbc1:
    0018bbc1test rsi, rsi
    0018bbc4je 0x18bbe7
    0018bbc6mov rdi, [rdx+40]
    0018bbcaor ebp, [rdi+60]
    0018bbcdor r15l, [rdi+68]
    0018bbd1cmp [rdi+16], 0
    0018bbd6je 0x18bbe7
    0018bbd8add rdx, 48
    0018bbdcadd rsi, -48
    0018bbe0cmp [rdi+24], 0
    0018bbe5je 0x18bbc1
    0018bbe7
    0018bbe7loc_18bbe7:
    0018bbe7mov [rsp+264], r8
    0018bbefmov [rsp+72], r13l
    0018bbf4mov [rsp+76], r12l
    0018bbf9imul rcx, [rsp+256], -48
    0018bc02xor r12l, r12l
    0018bc05xor r13l, r13l
    0018bc08
    0018bc08loc_18bc08:
    0018bc08test rcx, rcx
    0018bc0bje 0x18bc2f
    0018bc0dmov rdx, [rax-8]
    0018bc11or r13l, [rdx+64]
    0018bc15or r12l, [rdx+72]
    0018bc19cmp [rdx+16], 0
    0018bc1eje 0x18bc2f
    0018bc20add rax, -48
    0018bc24add rcx, 48
    0018bc28cmp [rdx+24], 0
    0018bc2dje 0x18bc08
    0018bc2f
    0018bc2floc_18bc2f:
    0018bc2fpush 80
    0018bc31pop rdi
    0018bc32push 8
    0018bc34pop rsi
    0018bc35call _ZN5alloc5alloc15exchange_malloc17hc6dbbe43d4abbe5aE.641
    0018bc3amov rcx, [rsp+32]
    0018bc3fmov [rax], rcx
    0018bc42mov rcx, [rsp+264]
    0018bc4amov [rax+8], rcx
    0018bc4emov [rax+16], rbx
    0018bc52mov rcx, [rsp+40]
    0018bc57mov [rax+24], rcx
    0018bc5bmov rcx, [rsp+248]
    0018bc63mov [rax+32], rcx
    0018bc67mov rcx, [rsp+56]
    0018bc6cmov [rax+40], rcx
    0018bc70mov rcx, [rsp]
    0018bc74mov [rax+48], rcx
    0018bc78mov [rax+56], r14l
    0018bc7cmov [rax+60], ebp
    0018bc7fmov [rax+64], r13l
    0018bc83mov [rax+68], r15l
    0018bc87mov [rax+72], r12l
    0018bc8bmov ecx, [rsp+68]
    0018bc8fmov [rax+76], cl
    0018bc92mov ecx, [rsp+72]
    0018bc96mov [rax+77], cl
    0018bc99mov ecx, [rsp+76]
    0018bc9dmov [rax+78], cl
    0018bca0mov rcx, [rsp+152]
    0018bca8mov rdx, [rsp+48]
    0018bcadmov [rdx+24], rcx
    0018bcb1movups x0, [rsp+136]
    0018bcb9movups [rdx+8], x0
    0018bcbdmov [rdx], 8
    0018bcc4mov [rdx+40], rax
    0018bcc8mov rsi, [rsp+16]
    0018bccdxor edi, edi
    0018bccfcall core::ptr::drop_in_place<std::env::VarError>
    0018bcd4
    0018bcd4loc_18bcd4:
    0018bcd4add rsp, 504
    0018bcdbpop rbx
    0018bcdcpop r12
    0018bcdepop r13
    0018bce0pop r14
    0018bce2pop r15
    0018bce4pop rbp
    0018bce5ret
    0018b4d9
    0018bce6
    0018bce6regex_syntax::hir::Hir::into_parts:
    0018bce6push r14
    0018bce8push rbx
    0018bce9push rax
    0018bceamov rbx, rsi
    0018bcedmov r14, rdi
    0018bcf0mov rax, [rsi+32]
    0018bcf4mov [rdi+32], rax
    0018bcf8movups x0, [rsi]
    0018bcfbmovups x1, [rsi+16]
    0018bcffmovups [rdi+16], x1
    0018bd03movups [rdi], x0
    0018bd06mov [rsi], 2
    0018bd0dcall regex_syntax::hir::Properties::empty
    0018bd12mov rcx, [rbx+40]
    0018bd16mov [rbx+40], rax
    0018bd1amov [r14+40], rcx
    0018bd1emov rdi, rbx
    0018bd21add rsp, 8
    0018bd25pop rbx
    0018bd26pop r14
    0018bd28jmp 0x17b03d
    0018bce6
    0018bd2d
    0018bd2dcore::option::Option<T>::unwrap:
    0018bd2dcmp [rsi], 10
    0018bd30je 0x18bd49
    0018bd32movups x0, [rsi]
    0018bd35movups x1, [rsi+16]
    0018bd39movups x2, [rsi+32]
    0018bd3dmovups [rdi+32], x2
    0018bd41movups [rdi+16], x1
    0018bd45movups [rdi], x0
    0018bd48ret
    0018bd49
    0018bd49loc_18bd49:
    0018bd49push rax
    0018bd4alea rdi, [rip-0xfad53]
    0018bd51push 43
    0018bd53pop rsi
    0018bd54call core::panicking::panic
    0018bd59ud2
    0018bd2d
    0018bd5b
    0018bd5bregex_syntax::hir::Hir::fail:
    0018bd5bpush r14
    0018bd5dpush rbx
    0018bd5esub rsp, 40
    0018bd62mov rbx, rdi
    0018bd65lea r14, [rsp+8]
    0018bd6amov rdi, r14
    0018bd6dcall regex_syntax::hir::ClassBytes::empty
    0018bd72mov [r14-8], 1
    0018bd7amov r14, rsp
    0018bd7dmov rdi, r14
    0018bd80call regex_syntax::hir::Properties::class
    0018bd85movups x0, [r14]
    0018bd89movups x1, [r14+16]
    0018bd8emovups [rbx], x0
    0018bd91movups [rbx+16], x1
    0018bd95mov rcx, [r14+32]
    0018bd99mov [rbx+32], rcx
    0018bd9dmov [rbx+40], rax
    0018bda1add rsp, 40
    0018bda5pop rbx
    0018bda6pop r14
    0018bda8ret
    0018bd5b
    0018bda9
    0018bda9regex_syntax::hir::interval::IntervalSet<I>::union:
    0018bda9push rbp
    0018bdaapush r15
    0018bdacpush r14
    0018bdaepush r13
    0018bdb0push r12
    0018bdb2push rbx
    0018bdb3push rax
    0018bdb4mov r15, [rsi+16]
    0018bdb8test r15, r15
    0018bdbbje 0x18be28
    0018bdbdmov r14, rsi
    0018bdc0mov rbx, rdi
    0018bdc3mov rdi, [rdi]
    0018bdc6mov rsi, [rbx+16]
    0018bdcamov r12, [r14]
    0018bdcdmov rdx, r12
    0018bdd0mov rcx, r15
    0018bdd3call alloc::vec::partial_eq::_<impl core::cmp::PartialEq<alloc::vec::Vec<U,A2>> for alloc::vec::Vec<T,A1>>::eq
    0018bdd8test al, al
    0018bddajne 0x18be28
    0018bddclea r13, [8*r15]
    0018bde4mov rdi, rbx
    0018bde7mov rsi, r15
    0018bdeacall alloc::vec::Vec<T,A>::reserve
    0018bdefmov rbp, [rbx+16]
    0018bdf3lea rdi, [8*rbp]
    0018bdfbadd rdi, [rbx]
    0018bdfemov rsi, r12
    0018be01mov rdx, r13
    0018be04call [rip+0x85d16]
    0018be0aadd rbp, r15
    0018be0dmov [rbx+16], rbp
    0018be11mov rdi, rbx
    0018be14call regex_syntax::hir::interval::IntervalSet<I>::canonicalize
    0018be19xor eax, eax
    0018be1bcmp [rbx+24], 0
    0018be1fje 0x18be25
    0018be21mov eax, [r14+24]
    0018be25
    0018be25loc_18be25:
    0018be25mov [rbx+24], al
    0018be28
    0018be28loc_18be28:
    0018be28add rsp, 8
    0018be2cpop rbx
    0018be2dpop r12
    0018be2fpop r13
    0018be31pop r14
    0018be33pop r15
    0018be35pop rbp
    0018be36ret
    0018bda9
    0018be37
    0018be37core::ptr::drop_in_place<core::option::Option<regex_syntax::hir::Class>>:
    0018be37cmp [rdi], 2
    0018be3ajne 0x129605
    0018be40ret
    0018be37
    0018be41
    0018be41regex_syntax::hir::interval::IntervalSet<I>::union:
    0018be41push rbp
    0018be42push r15
    0018be44push r14
    0018be46push r13
    0018be48push r12
    0018be4apush rbx
    0018be4bpush rax
    0018be4cmov r15, [rsi+16]
    0018be50test r15, r15
    0018be53je 0x18bebc
    0018be55mov r14, rsi
    0018be58mov rbx, rdi
    0018be5bmov rdi, [rdi]
    0018be5emov rsi, [rbx+16]
    0018be62mov r12, [r14]
    0018be65mov rdx, r12
    0018be68mov rcx, r15
    0018be6bcall alloc::vec::partial_eq::_<impl core::cmp::PartialEq<alloc::vec::Vec<U,A2>> for alloc::vec::Vec<T,A1>>::eq
    0018be70test al, al
    0018be72jne 0x18bebc
    0018be74lea r13, [r15+r15]
    0018be78mov rdi, rbx
    0018be7bmov rsi, r15
    0018be7ecall alloc::vec::Vec<T,A>::reserve
    0018be83mov rbp, [rbx+16]
    0018be87lea rdi, [2*rbp]
    0018be8fadd rdi, [rbx]
    0018be92mov rsi, r12
    0018be95mov rdx, r13
    0018be98call [rip+0x85c82]
    0018be9eadd rbp, r15
    0018bea1mov [rbx+16], rbp
    0018bea5mov rdi, rbx
    0018bea8call regex_syntax::hir::interval::IntervalSet<I>::canonicalize
    0018beadxor eax, eax
    0018beafcmp [rbx+24], 0
    0018beb3je 0x18beb9
    0018beb5mov eax, [r14+24]
    0018beb9
    0018beb9loc_18beb9:
    0018beb9mov [rbx+24], al
    0018bebc
    0018bebcloc_18bebc:
    0018bebcadd rsp, 8
    0018bec0pop rbx
    0018bec1pop r12
    0018bec3pop r13
    0018bec5pop r14
    0018bec7pop r15
    0018bec9pop rbp
    0018becaret
    0018be41
    0018becb
    0018becbregex_syntax::hir::Hir::into_kind:
    0018becbmov rax, [rsi+32]
    0018becfmov [rdi+32], rax
    0018bed3movups x0, [rsi]
    0018bed6movups x1, [rsi+16]
    0018bedamovups [rdi+16], x1
    0018bedemovups [rdi], x0
    0018bee1mov [rsi], 2
    0018bee8mov rdi, rsi
    0018beebjmp 0x17b03d
    0018becb
    0018bef0
    0018bef0core::iter::adapters::peekable::Peekable<I>::peek:
    0018bef0mov rax, rdi
    0018bef3cmp [rdi], 0
    0018bef7je 0x18beff
    0018bef9mov rcx, [rax+8]
    0018befdjmp 0x18bf24
    0018beff
    0018beffloc_18beff:
    0018beffmov rcx, [rax+16]
    0018bf03cmp rcx, [rax+24]
    0018bf07je 0x18bf17
    0018bf09lea rdx, [rcx+48]
    0018bf0dmov [rax+16], rdx
    0018bf11add rcx, 40
    0018bf15jmp 0x18bf19
    0018bf17
    0018bf17loc_18bf17:
    0018bf17xor ecx, ecx
    0018bf19
    0018bf19loc_18bf19:
    0018bf19mov [rax], 1
    0018bf20mov [rax+8], rcx
    0018bf24
    0018bf24loc_18bf24:
    0018bf24add rax, 8
    0018bf28test rcx, rcx
    0018bf2bcmove rax, rcx
    0018bf2fret
    0018bef0
    0018bf30
    0018bf30regex_syntax::hir::interval::IntervalSet<I>::canonicalize:
    0018bf30push rbp
    0018bf31push r15
    0018bf33push r14
    0018bf35push r13
    0018bf37push r12
    0018bf39push rbx
    0018bf3asub rsp, 152
    0018bf41mov r12, [rdi]
    0018bf44mov [rsp+64], rdi
    0018bf49mov r13, [rdi+16]
    0018bf4dmov [rsp+24], r12
    0018bf52mov [rsp+32], r13
    0018bf57
    0018bf57loc_18bf57:
    0018bf57cmp r13, 2
    0018bf5bjb 0x18c5a1
    0018bf61movzx ebx, [r12]
    0018bf66movzx ebp, [r12+1]
    0018bf6cmovzx r14l, [r12+2]
    0018bf72movzx r15l, [r12+3]
    0018bf78mov edi, ebx
    0018bf7amov esi, ebp
    0018bf7cmov edx, r14l
    0018bf7fmov ecx, r15l
    0018bf82call _<regex_syntax::hir::ClassBytesRange as core::cmp::PartialOrd>::partial_cmp
    0018bf87cmp al, 2
    0018bf89jb 0x18bfa5
    0018bf8bdec r13
    0018bf8emov edi, ebx
    0018bf90mov esi, ebp
    0018bf92mov edx, r14l
    0018bf95mov ecx, r15l
    0018bf98call regex_syntax::hir::interval::Interval::is_contiguous
    0018bf9dadd r12, 2
    0018bfa1test al, al
    0018bfa3je 0x18bf57
    0018bfa5
    0018bfa5loc_18bfa5:
    0018bfa5mov rbp, [rsp+32]
    0018bfaacmp rbp, 21
    0018bfaejae 0x18bfcf
    0018bfb0cmp rbp, 1
    0018bfb4jbe 0x18c4cb
    0018bfbapush 1
    0018bfbcpop rdx
    0018bfbdmov rdi, [rsp+24]
    0018bfc2mov rsi, rbp
    0018bfc5call core::slice::sort::insertion_sort_shift_left
    0018bfcajmp 0x18c4d4
    0018bfcf
    0018bfcfloc_18bfcf:
    0018bfcfmov rdi, 0x7ffffffffffffffe
    0018bfd9and rdi, rbp
    0018bfdcmov al, [rip+0x870e6]
    0018bfe2push 1
    0018bfe4pop rsi
    0018bfe5call __rust_alloc
    0018bfeatest rax, rax
    0018bfedje 0x18c67e
    0018bff3mov r14, rax
    0018bff6push 16
    0018bff8pop r15
    0018bffamov rdi, r15
    0018bffdcall alloc::slice::stable_sort::_{{closure}}
    0018c002test rax, rax
    0018c005je 0x18c68e
    0018c00bmov [rsp+8], rax
    0018c010xor r12l, r12l
    0018c013xor edi, edi
    0018c015mov [rsp+40], r14
    0018c01a
    0018c01aloc_18c01a:
    0018c01amov rbx, rbp
    0018c01dsub rbx, rdi
    0018c020jbe 0x18c4b8
    0018c026cmp rbx, 2
    0018c02amov [rsp], rdi
    0018c02ejae 0x18c038
    0018c030mov rax, rbp
    0018c033jmp 0x18c1ab
    0018c038
    0018c038loc_18c038:
    0018c038mov [rsp+48], r15
    0018c03dmov [rsp+16], r12
    0018c042mov rax, [rsp+24]
    0018c047lea r14, [rax+2*rdi]
    0018c04bmov r15b, [r14+2]
    0018c04fmovzx ecx, [r14+1]
    0018c054movzx edx, [r14]
    0018c058movzx esi, [r14+3]
    0018c05dmovzx edi, r15b
    0018c061call _<regex_syntax::hir::ClassBytesRange as core::cmp::PartialOrd>::partial_cmp
    0018c066mov ebp, eax
    0018c068push 2
    0018c06apop r12
    0018c06ccmp al, -1
    0018c06eje 0x18c0a4
    0018c070
    0018c070loc_18c070:
    0018c070cmp rbx, r12
    0018c073je 0x18c0cd
    0018c075mov r13b, [r14+2*r12]
    0018c079movzx ecx, [r14+2*r12-1]
    0018c07fmovzx esi, [r14+2*r12+1]
    0018c085movzx edi, r13b
    0018c089movzx edx, r15b
    0018c08dcall _<regex_syntax::hir::ClassBytesRange as core::cmp::PartialOrd>::partial_cmp
    0018c092cmp al, -1
    0018c094je 0x18c0ca
    0018c096inc r12
    0018c099mov r15l, r13l
    0018c09cjmp 0x18c070
    0018c09e
    0018c09eloc_18c09e:
    0018c09einc r12
    0018c0a1mov r15l, r13l
    0018c0a4
    0018c0a4loc_18c0a4:
    0018c0a4cmp rbx, r12
    0018c0a7je 0x18c0cd
    0018c0a9mov r13b, [r14+2*r12]
    0018c0admovzx ecx, [r14+2*r12-1]
    0018c0b3movzx esi, [r14+2*r12+1]
    0018c0b9movzx edi, r13b
    0018c0bdmovzx edx, r15b
    0018c0c1call _<regex_syntax::hir::ClassBytesRange as core::cmp::PartialOrd>::partial_cmp
    0018c0c6cmp al, -1
    0018c0c8je 0x18c09e
    0018c0ca
    0018c0caloc_18c0ca:
    0018c0camov rbx, r12
    0018c0cd
    0018c0cdloc_18c0cd:
    0018c0cdmov rdi, [rsp]
    0018c0d1lea rax, [rbx+rdi]
    0018c0d5cmp bpl, -1
    0018c0d9mov r14, [rsp+40]
    0018c0demov r12, [rsp+16]
    0018c0e3mov r15, [rsp+48]
    0018c0e8je 0x18c0f4
    0018c0eamov rbp, [rsp+32]
    0018c0efjmp 0x18c1ab
    0018c0f4
    0018c0f4loc_18c0f4:
    0018c0f4mov [rsp+56], rax
    0018c0f9mov rsi, rax
    0018c0fcmov rdx, [rsp+24]
    0018c101mov rbp, [rsp+32]
    0018c106mov rcx, rbp
    0018c109lea r8, [rip+0x83cf8]
    0018c110call _<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index_mut
    0018c115mov r14, rdx
    0018c118shr r14, 1
    0018c11blea r13, [rax+2*rdx]
    0018c11fand rdx, -2
    0018c123sub r13, rdx
    0018c126xor edi, edi
    0018c128mov rsi, r14
    0018c12bmov rdx, rax
    0018c12emov rcx, r14
    0018c131lea r8, [rip+0x65c38]
    0018c138call _<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index_mut
    0018c13dmov r12, rax
    0018c140mov r15, rdx
    0018c143xor edi, edi
    0018c145mov rsi, r14
    0018c148mov rdx, r13
    0018c14bmov rcx, r14
    0018c14elea r8, [rip+0x65c33]
    0018c155call _<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index_mut
    0018c15adec r14
    0018c15dxor ecx, ecx
    0018c15f
    0018c15floc_18c15f:
    0018c15fcmp r14, -1
    0018c163je 0x18c193
    0018c165cmp r15, rcx
    0018c168je 0x18c5b3
    0018c16ecmp r14, rdx
    0018c171jae 0x18c5c2
    0018c177movzx esi, [r12+2*rcx]
    0018c17cmovzx edi, [rax+2*r14]
    0018c181mov [r12+2*rcx], di
    0018c186mov [rax+2*r14], si
    0018c18binc rcx
    0018c18edec r14
    0018c191jmp 0x18c15f
    0018c193
    0018c193loc_18c193:
    0018c193mov r14, [rsp+40]
    0018c198mov r12, [rsp+16]
    0018c19dmov rax, [rsp+56]
    0018c1a2mov r15, [rsp+48]
    0018c1a7mov rdi, [rsp]
    0018c1ab
    0018c1abloc_18c1ab:
    0018c1abcmp rax, rdi
    0018c1aejb 0x18c642
    0018c1b4cmp rax, rbp
    0018c1b7ja 0x18c642
    0018c1bdjae 0x18c20e
    0018c1bfcmp rbx, 9
    0018c1c3ja 0x18c20e
    0018c1c5mov r13, r15
    0018c1c8lea r15, [rdi+10]
    0018c1cccmp r15, rbp
    0018c1cfcmovae r15, rbp
    0018c1d3cmp rbx, 1
    0018c1d7adc rbx, 0
    0018c1dbmov rdi, [rsp]
    0018c1dfmov rsi, r15
    0018c1e2mov rdx, [rsp+24]
    0018c1e7mov rcx, rbp
    0018c1ealea r8, [rip+0x83cef]
    0018c1f1call _<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index_mut
    0018c1f6mov rdi, rax
    0018c1f9mov rsi, rdx
    0018c1fcmov rdx, rbx
    0018c1ffcall core::slice::sort::insertion_sort_shift_left
    0018c204mov rdi, [rsp]
    0018c208mov rax, r15
    0018c20bmov r15, r13
    0018c20e
    0018c20eloc_18c20e:
    0018c20ecmp r12, r15
    0018c211jne 0x18c25a
    0018c213mov r13, rax
    0018c216lea rdi, [r15+r15]
    0018c21amov [rsp+72], rdi
    0018c21fcall alloc::slice::stable_sort::_{{closure}}
    0018c224test rax, rax
    0018c227je 0x18c654
    0018c22dmov rbx, rax
    0018c230shl r15, 4
    0018c234mov rdi, rax
    0018c237mov rdx, r15
    0018c23amov r15, [rsp+8]
    0018c23fmov rsi, r15
    0018c242call [rip+0x858d8]
    0018c248mov rdi, r15
    0018c24bcall [rip+0x858a7]
    0018c251mov rax, r13
    0018c254mov rdi, [rsp]
    0018c258jmp 0x18c264
    0018c25a
    0018c25aloc_18c25a:
    0018c25amov [rsp+72], r15
    0018c25fmov rbx, [rsp+8]
    0018c264
    0018c264loc_18c264:
    0018c264mov [rsp+56], rax
    0018c269sub rax, rdi
    0018c26cmov rcx, r12
    0018c26fshl rcx, 4
    0018c273mov [rbx+rcx], rax
    0018c277mov [rbx+rcx+8], rdi
    0018c27cinc r12
    0018c27fmov [rsp+8], rbx
    0018c284
    0018c284loc_18c284:
    0018c284mov rdi, rbx
    0018c287mov rsi, r12
    0018c28amov rdx, rbp
    0018c28dcall core::slice::sort::merge_sort::collapse
    0018c292cmp rax, 1
    0018c296jne 0x18c4a9
    0018c29cmov r15, rdx
    0018c29fmov rdi, rbx
    0018c2a2mov rsi, r12
    0018c2a5lea rcx, [rip+0x83b74]
    0018c2accall _<core::slice::sort::merge_sort::RunVec<RunAllocF,RunDeallocF> as core::ops::index::Index<usize>>::index
    0018c2b1mov rcx, [rax]
    0018c2b4mov r14, [rax+8]
    0018c2b8mov [rsp+48], r15
    0018c2bdmov rdx, r15
    0018c2c0mov r15, rcx
    0018c2c3inc rdx
    0018c2c6mov rdi, rbx
    0018c2c9mov [rsp+16], r12
    0018c2cemov rsi, r12
    0018c2d1mov [rsp], rdx
    0018c2d5lea rcx, [rip+0x83b5c]
    0018c2dccall _<core::slice::sort::merge_sort::RunVec<RunAllocF,RunDeallocF> as core::ops::index::Index<usize>>::index
    0018c2e1mov rcx, [rax]
    0018c2e4mov rsi, [rax+8]
    0018c2e8mov [rsp+80], rcx
    0018c2edadd rsi, rcx
    0018c2f0mov [rsp+96], r14
    0018c2f5mov rdi, r14
    0018c2f8mov rdx, [rsp+24]
    0018c2fdmov rcx, rbp
    0018c300lea r8, [rip+0x83b49]
    0018c307call _<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index_mut
    0018c30cmov rbp, rax
    0018c30fmov r12, rdx
    0018c312lea r13, [rax+2*r15]
    0018c316mov r14, rdx
    0018c319sub r14, r15
    0018c31ccmp r14, r15
    0018c31fmov [rsp+88], r15
    0018c324jae 0x18c3a3
    0018c326lea rdx, [r14+r14]
    0018c32amov rbx, [rsp+40]
    0018c32fmov rdi, rbx
    0018c332mov rsi, r13
    0018c335call [rip+0x857e5]
    0018c33blea r15, [rbx+2*r14]
    0018c33flea r14, [2*r12-2]
    0018c347add r14, rbp
    0018c34a
    0018c34aloc_18c34a:
    0018c34acmp r13, rbp
    0018c34djbe 0x18c41b
    0018c353cmp r15, rbx
    0018c356jbe 0x18c41b
    0018c35cmovzx ecx, [r13-1]
    0018c361movzx edx, [r13-2]
    0018c366movzx esi, [r15-1]
    0018c36bmovzx edi, [r15-2]
    0018c370call _<regex_syntax::hir::ClassBytesRange as core::cmp::PartialOrd>::partial_cmp
    0018c375xor ecx, ecx
    0018c377xor edx, edx
    0018c379cmp al, -1
    0018c37bsetne cl
    0018c37esete dl
    0018c381add rdx, rdx
    0018c384sub r13, rdx
    0018c387add rcx, rcx
    0018c38asub r15, rcx
    0018c38dcmp al, -1
    0018c38fmov rax, r15
    0018c392cmove rax, r13
    0018c396movzx eax, [rax]
    0018c399mov [r14], ax
    0018c39dadd r14, -2
    0018c3a1jmp 0x18c34a
    0018c3a3
    0018c3a3loc_18c3a3:
    0018c3a3lea r14, [2*r12]
    0018c3abadd r14, rbp
    0018c3aelea rdx, [r15+r15]
    0018c3b2mov r12, [rsp+40]
    0018c3b7mov rdi, r12
    0018c3bamov rsi, rbp
    0018c3bdcall [rip+0x8575d]
    0018c3c3lea r15, [r12+2*r15]
    0018c3c7
    0018c3c7loc_18c3c7:
    0018c3c7cmp r12, r15
    0018c3cajae 0x18c426
    0018c3cccmp r13, r14
    0018c3cfjae 0x18c426
    0018c3d1movzx ecx, [r12+1]
    0018c3d7movzx edx, [r12]
    0018c3dcmovzx esi, [r13+1]
    0018c3e1movzx edi, [r13]
    0018c3e6call _<regex_syntax::hir::ClassBytesRange as core::cmp::PartialOrd>::partial_cmp
    0018c3ebxor ecx, ecx
    0018c3edxor edx, edx
    0018c3efmov rdi, r13
    0018c3f2cmp al, -1
    0018c3f4setne al
    0018c3f7sete sil
    0018c3fbje 0x18c400
    0018c3fdmov rdi, r12
    0018c400
    0018c400loc_18c400:
    0018c400movzx edi, [rdi]
    0018c403mov [rbp], di
    0018c407add rbp, 2
    0018c40bmov dl, sil
    0018c40elea r13, [r13+2*rdx]
    0018c413mov cl, al
    0018c415lea r12, [r12+2*rcx]
    0018c419jmp 0x18c3c7
    0018c41b
    0018c41bloc_18c41b:
    0018c41bmov rbp, r13
    0018c41emov r12, rbx
    0018c421mov rbx, [rsp+8]
    0018c426
    0018c426loc_18c426:
    0018c426sub r15, r12
    0018c429mov rdi, rbp
    0018c42cmov rsi, r12
    0018c42fmov rdx, r15
    0018c432call [rip+0x856e8]
    0018c438mov r12, [rsp+16]
    0018c43dmov rcx, [rsp]
    0018c441cmp r12, rcx
    0018c444jbe 0x18c5d9
    0018c44amov rax, [rsp+80]
    0018c44fadd rax, [rsp+88]
    0018c454shl rcx, 4
    0018c458mov [rbx+rcx], rax
    0018c45cmov rax, [rsp+96]
    0018c461mov [rbx+rcx+8], rax
    0018c466mov rdx, [rsp+48]
    0018c46bcmp r12, rdx
    0018c46ejbe 0x18c60b
    0018c474mov rax, rdx
    0018c477shl rax, 4
    0018c47blea rdi, [rbx+rax]
    0018c47flea rsi, [rbx+rax]
    0018c483add rsi, 16
    0018c487not rdx
    0018c48aadd rdx, r12
    0018c48dshl rdx, 4
    0018c491call [rip+0x85679]
    0018c497dec r12
    0018c49amov rbp, [rsp+32]
    0018c49fmov r14, [rsp+40]
    0018c4a4jmp 0x18c284
    0018c4a9
    0018c4a9loc_18c4a9:
    0018c4a9mov r15, [rsp+72]
    0018c4aemov rdi, [rsp+56]
    0018c4b3jmp 0x18c01a
    0018c4b8
    0018c4b8loc_18c4b8:
    0018c4b8mov rdi, [rsp+8]
    0018c4bdmov rbx, [rip+0x85634]
    0018c4c4call rbx
    0018c4c6mov rdi, r14
    0018c4c9call rbx
    0018c4cb
    0018c4cbloc_18c4cb:
    0018c4cbtest rbp, rbp
    0018c4ceje 0x18c66c
    0018c4d4
    0018c4d4loc_18c4d4:
    0018c4d4xor ebx, ebx
    0018c4d6
    0018c4d6loc_18c4d6:
    0018c4d6cmp rbp, rbx
    0018c4d9je 0x18c584
    0018c4dfmov rax, [rsp+64]
    0018c4e4mov r12, [rax]
    0018c4e7mov r15, [rax+16]
    0018c4ebcmp r15, rbp
    0018c4eejbe 0x18c551
    0018c4f0mov al, [r12+2*r15-2]
    0018c4f5mov cl, [r12+2*r15-1]
    0018c4famov dl, [r12+2*rbx]
    0018c4femov dil, [r12+2*rbx+1]
    0018c503movzx r14l, al
    0018c507movzx esi, cl
    0018c50amovzx r13l, dl
    0018c50emovzx ebp, dil
    0018c512mov edi, r14l
    0018c515mov [rsp+16], esi
    0018c519mov edx, r13l
    0018c51cmov ecx, ebp
    0018c51ecall regex_syntax::hir::interval::Interval::is_contiguous
    0018c523test al, al
    0018c525je 0x18c551
    0018c527cmp r14b, r13b
    0018c52acmovb r13l, r14l
    0018c52emov eax, [rsp+16]
    0018c532cmp al, bpl
    0018c535cmova ebp, eax
    0018c538cmp r13b, bpl
    0018c53bmov eax, ebp
    0018c53dcmova ebp, r13l
    0018c541cmovb eax, r13l
    0018c545mov [r12+2*r15-2], al
    0018c54amov [r12+2*r15-1], bpl
    0018c54fjmp 0x18c577
    0018c551
    0018c551loc_18c551:
    0018c551mov rdi, r12
    0018c554mov rsi, r15
    0018c557mov rdx, rbx
    0018c55alea rcx, [rip+0x668cf]
    0018c561call _<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index
    0018c566movzx edx, [rax+1]
    0018c56amovzx esi, [rax]
    0018c56dmov rdi, [rsp+64]
    0018c572call alloc::vec::Vec<T,A>::push
    0018c577
    0018c577loc_18c577:
    0018c577inc rbx
    0018c57amov rbp, [rsp+32]
    0018c57fjmp 0x18c4d6
    0018c584
    0018c584loc_18c584:
    0018c584lea rbx, [rsp+104]
    0018c589mov rdi, rbx
    0018c58cmov rsi, [rsp+64]
    0018c591mov rdx, rbp
    0018c594call alloc::vec::Vec<T,A>::drain
    0018c599mov rdi, rbx
    0018c59ccall _<alloc::vec::drain::Drain<T,A> as core::ops::drop::Drop>::drop
    0018c5a1
    0018c5a1loc_18c5a1:
    0018c5a1add rsp, 152
    0018c5a8pop rbx
    0018c5a9pop r12
    0018c5abpop r13
    0018c5adpop r14
    0018c5afpop r15
    0018c5b1pop rbp
    0018c5b2ret
    0018c5b3
    0018c5b3loc_18c5b3:
    0018c5b3lea rdx, [rip+0x657e6]
    0018c5bamov rdi, r15
    0018c5bdmov rsi, r15
    0018c5c0jmp 0x18c5d2
    0018c5c2
    0018c5c2loc_18c5c2:
    0018c5c2lea rax, [rip+0x657ef]
    0018c5c9mov rdi, r14
    0018c5ccmov rsi, rdx
    0018c5cfmov rdx, rax
    0018c5d2
    0018c5d2loc_18c5d2:
    0018c5d2call core::panicking::panic_bounds_check
    0018c5d7ud2
    0018c5d9
    0018c5d9loc_18c5d9:
    0018c5d9lea rax, [rip+0x83738]
    0018c5e0lea rdi, [rsp+104]
    0018c5e5mov [rdi], rax
    0018c5e8mov [rdi+8], 1
    0018c5f0lea rax, [rip-0xfb2ff]
    0018c5f7mov [rdi+16], rax
    0018c5fbxorps x0, x0
    0018c5femovups [rdi+24], x0
    0018c602lea rsi, [rip+0x657c7]
    0018c609jmp 0x18c63b
    0018c60b
    0018c60bloc_18c60b:
    0018c60blea rax, [rip+0x83706]
    0018c612lea rdi, [rsp+104]
    0018c617mov [rdi], rax
    0018c61amov [rdi+8], 1
    0018c622lea rax, [rip-0xfb331]
    0018c629mov [rdi+16], rax
    0018c62dxorps x0, x0
    0018c630movups [rdi+24], x0
    0018c634lea rsi, [rip+0x657ad]
    0018c63b
    0018c63bloc_18c63b:
    0018c63bcall core::panicking::panic_fmt
    0018c640ud2
    0018c642
    0018c642loc_18c642:
    0018c642lea rdi, [rip-0xfcf1f]
    0018c649lea rdx, [rip+0x83878]
    0018c650push 44
    0018c652jmp 0x18c664
    0018c654
    0018c654loc_18c654:
    0018c654lea rdi, [rip-0xfb65d]
    0018c65blea rdx, [rip+0x83836]
    0018c662
    0018c662loc_18c662:
    0018c662push 43
    0018c664
    0018c664loc_18c664:
    0018c664pop rsi
    0018c665call core::panicking::panic
    0018c66aud2
    0018c66c
    0018c66cloc_18c66c:
    0018c66clea rdi, [rip-0x13426c]
    0018c673lea rdx, [rip+0x667ce]
    0018c67apush 41
    0018c67cjmp 0x18c664
    0018c67e
    0018c67eloc_18c67e:
    0018c67elea rdi, [rip-0xfb687]
    0018c685lea rdx, [rip+0x837dc]
    0018c68cjmp 0x18c662
    0018c68e
    0018c68eloc_18c68e:
    0018c68elea rdi, [rip-0xfb697]
    0018c695lea rdx, [rip+0x837e4]
    0018c69cjmp 0x18c662
    0018bf30
    0018c69e
    0018c69e_<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index:
    0018c69ecmp rsi, rdx
    0018c6a1jbe 0x18c6a8
    0018c6a3lea rax, [rdi+2*rdx]
    0018c6a7ret
    0018c6a8
    0018c6a8loc_18c6a8:
    0018c6a8push rax
    0018c6a9mov rdi, rdx
    0018c6acmov rdx, rcx
    0018c6afcall core::panicking::panic_bounds_check
    0018c6b4ud2
    0018c69e
    0018c6b6
    0018c6b6alloc::vec::Vec<T,A>::push:
    0018c6b6push rbp
    0018c6b7push r14
    0018c6b9push rbx
    0018c6bamov ebp, edx
    0018c6bcmov r14l, esi
    0018c6bfmov rbx, rdi
    0018c6c2mov rsi, [rdi+16]
    0018c6c6cmp rsi, [rdi+8]
    0018c6cajne 0x18c6d8
    0018c6ccmov rdi, rbx
    0018c6cfcall alloc::raw_vec::RawVec<T,A>::reserve_for_push
    0018c6d4mov rsi, [rbx+16]
    0018c6d8
    0018c6d8loc_18c6d8:
    0018c6d8mov rax, [rbx]
    0018c6dbmov [rax+2*rsi], r14b
    0018c6dfmov [rax+2*rsi+1], bpl
    0018c6e4inc rsi
    0018c6e7mov [rbx+16], rsi
    0018c6ebpop rbx
    0018c6ecpop r14
    0018c6eepop rbp
    0018c6efret
    0018c6b6
    0018c6f0
    0018c6f0regex_syntax::hir::interval::Interval::is_contiguous:
    0018c6f0cmp dil, dl
    0018c6f3cmova edx, edi
    0018c6f6mov eax, 255
    0018c6fband edx, eax
    0018c6fdcmp sil, cl
    0018c700cmovb ecx, esi
    0018c703and ecx, eax
    0018c705inc ecx
    0018c707cmp ecx, edx
    0018c709setae al
    0018c70cret
    0018c6f0
    0018c70d
    0018c70dregex_syntax::hir::interval::IntervalSet<I>::canonicalize:
    0018c70dpush rbp
    0018c70epush r15
    0018c710push r14
    0018c712push r13
    0018c714push r12
    0018c716push rbx
    0018c717sub rsp, 152
    0018c71emov r12, [rdi]
    0018c721mov [rsp+72], rdi
    0018c726mov r13, [rdi+16]
    0018c72amov [rsp+8], r12
    0018c72fmov [rsp+32], r13
    0018c734
    0018c734loc_18c734:
    0018c734cmp r13, 2
    0018c738jb 0x18cd42
    0018c73emov r15l, [r12]
    0018c742mov r14l, [r12+4]
    0018c747mov ebx, [r12+8]
    0018c74cmov ebp, [r12+12]
    0018c751mov edi, r15l
    0018c754mov esi, r14l
    0018c757mov edx, ebx
    0018c759mov ecx, ebp
    0018c75bcall _<regex_syntax::hir::ClassUnicodeRange as core::cmp::PartialOrd>::partial_cmp
    0018c760cmp al, 2
    0018c762jb 0x18c77f
    0018c764dec r13
    0018c767cmp r15l, ebx
    0018c76acmova ebx, r15l
    0018c76ecmp r14l, ebp
    0018c771cmovb ebp, r14l
    0018c775inc ebp
    0018c777add r12, 8
    0018c77bcmp ebx, ebp
    0018c77dja 0x18c734
    0018c77f
    0018c77floc_18c77f:
    0018c77fmov rbp, [rsp+32]
    0018c784cmp rbp, 21
    0018c788jae 0x18c7a9
    0018c78acmp rbp, 1
    0018c78ejbe 0x18cc97
    0018c794push 1
    0018c796pop rdx
    0018c797mov rdi, [rsp+8]
    0018c79cmov rsi, rbp
    0018c79fcall core::slice::sort::insertion_sort_shift_left
    0018c7a4jmp 0x18cca0
    0018c7a9
    0018c7a9loc_18c7a9:
    0018c7a9lea rax, [4*rbp]
    0018c7b1mov rdi, 0x7ffffffffffffff8
    0018c7bband rdi, rax
    0018c7bemov al, [rip+0x86904]
    0018c7c4push 4
    0018c7c6pop rsi
    0018c7c7call __rust_alloc
    0018c7cctest rax, rax
    0018c7cfje 0x18ce1f
    0018c7d5mov r14, rax
    0018c7d8push 16
    0018c7dapop rbx
    0018c7dbmov rdi, rbx
    0018c7decall alloc::slice::stable_sort::_{{closure}}
    0018c7e3test rax, rax
    0018c7e6je 0x18ce2f
    0018c7ecmov [rsp+40], rbx
    0018c7f1mov [rsp], rax
    0018c7f5xor r12l, r12l
    0018c7f8xor r13l, r13l
    0018c7fbmov [rsp+24], r14
    0018c800
    0018c800loc_18c800:
    0018c800mov rbx, rbp
    0018c803sub rbx, r13
    0018c806jbe 0x18cc85
    0018c80ccmp rbx, 2
    0018c810mov [rsp+16], r13
    0018c815jae 0x18c81f
    0018c817mov rax, rbp
    0018c81ajmp 0x18c980
    0018c81f
    0018c81floc_18c81f:
    0018c81fmov [rsp+48], r12
    0018c824mov rax, [rsp+8]
    0018c829lea r12, [rax+8*r13]
    0018c82dmov r14l, [r12+8]
    0018c832mov esi, [r12+12]
    0018c837mov edx, [r12]
    0018c83bmov ecx, [r12+4]
    0018c840mov edi, r14l
    0018c843call _<regex_syntax::hir::ClassUnicodeRange as core::cmp::PartialOrd>::partial_cmp
    0018c848mov ebp, eax
    0018c84apush 2
    0018c84cpop r13
    0018c84ecmp al, -1
    0018c850je 0x18c882
    0018c852
    0018c852loc_18c852:
    0018c852cmp rbx, r13
    0018c855je 0x18c8a7
    0018c857mov ecx, [r12+8*r13-4]
    0018c85cmov r15l, [r12+8*r13]
    0018c860mov esi, [r12+8*r13+4]
    0018c865mov edi, r15l
    0018c868mov edx, r14l
    0018c86bcall _<regex_syntax::hir::ClassUnicodeRange as core::cmp::PartialOrd>::partial_cmp
    0018c870cmp al, -1
    0018c872je 0x18c8a4
    0018c874inc r13
    0018c877mov r14l, r15l
    0018c87ajmp 0x18c852
    0018c87c
    0018c87cloc_18c87c:
    0018c87cinc r13
    0018c87fmov r14l, r15l
    0018c882
    0018c882loc_18c882:
    0018c882cmp rbx, r13
    0018c885je 0x18c8a7
    0018c887mov ecx, [r12+8*r13-4]
    0018c88cmov r15l, [r12+8*r13]
    0018c890mov esi, [r12+8*r13+4]
    0018c895mov edi, r15l
    0018c898mov edx, r14l
    0018c89bcall _<regex_syntax::hir::ClassUnicodeRange as core::cmp::PartialOrd>::partial_cmp
    0018c8a0cmp al, -1
    0018c8a2je 0x18c87c
    0018c8a4
    0018c8a4loc_18c8a4:
    0018c8a4mov rbx, r13
    0018c8a7
    0018c8a7loc_18c8a7:
    0018c8a7mov r13, [rsp+16]
    0018c8aclea rax, [rbx+r13]
    0018c8b0cmp bpl, -1
    0018c8b4mov r14, [rsp+24]
    0018c8b9mov r12, [rsp+48]
    0018c8beje 0x18c8ca
    0018c8c0mov rbp, [rsp+32]
    0018c8c5jmp 0x18c980
    0018c8ca
    0018c8caloc_18c8ca:
    0018c8camov rdi, r13
    0018c8cdmov [rsp+56], rax
    0018c8d2mov rsi, rax
    0018c8d5mov rdx, [rsp+8]
    0018c8damov rbp, [rsp+32]
    0018c8dfmov rcx, rbp
    0018c8e2lea r8, [rip+0x8351f]
    0018c8e9call _<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index_mut
    0018c8eemov r14, rdx
    0018c8f1lea r13, [rax+8*rdx]
    0018c8f5shr r14, 1
    0018c8f8lea rcx, [8*r14]
    0018c900sub r13, rcx
    0018c903xor edi, edi
    0018c905mov rsi, r14
    0018c908mov rdx, rax
    0018c90bmov rcx, r14
    0018c90elea r8, [rip+0x6545b]
    0018c915call _<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index_mut
    0018c91amov r12, rax
    0018c91dmov r15, rdx
    0018c920xor edi, edi
    0018c922mov rsi, r14
    0018c925mov rdx, r13
    0018c928mov rcx, r14
    0018c92blea r8, [rip+0x65456]
    0018c932call _<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index_mut
    0018c937dec r14
    0018c93axor ecx, ecx
    0018c93c
    0018c93cloc_18c93c:
    0018c93ccmp r14, -1
    0018c940je 0x18c96c
    0018c942cmp r15, rcx
    0018c945je 0x18cd54
    0018c94bcmp r14, rdx
    0018c94ejae 0x18cd63
    0018c954mov rsi, [r12+8*rcx]
    0018c958mov rdi, [rax+8*r14]
    0018c95cmov [r12+8*rcx], rdi
    0018c960mov [rax+8*r14], rsi
    0018c964inc rcx
    0018c967dec r14
    0018c96ajmp 0x18c93c
    0018c96c
    0018c96cloc_18c96c:
    0018c96cmov r14, [rsp+24]
    0018c971mov r12, [rsp+48]
    0018c976mov rax, [rsp+56]
    0018c97bmov r13, [rsp+16]
    0018c980
    0018c980loc_18c980:
    0018c980cmp rax, r13
    0018c983jb 0x18cde3
    0018c989cmp rax, rbp
    0018c98cja 0x18cde3
    0018c992jae 0x18c9d8
    0018c994cmp rbx, 9
    0018c998ja 0x18c9d8
    0018c99alea r15, [r13+10]
    0018c99ecmp r15, rbp
    0018c9a1cmovae r15, rbp
    0018c9a5cmp rbx, 1
    0018c9a9adc rbx, 0
    0018c9admov rdi, r13
    0018c9b0mov rsi, r15
    0018c9b3mov rdx, [rsp+8]
    0018c9b8mov rcx, rbp
    0018c9bblea r8, [rip+0x8351e]
    0018c9c2call _<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index_mut
    0018c9c7mov rdi, rax
    0018c9camov rsi, rdx
    0018c9cdmov rdx, rbx
    0018c9d0call core::slice::sort::insertion_sort_shift_left
    0018c9d5mov rax, r15
    0018c9d8
    0018c9d8loc_18c9d8:
    0018c9d8mov rbx, [rsp+40]
    0018c9ddcmp r12, rbx
    0018c9e0jne 0x18ca29
    0018c9e2mov r13, rax
    0018c9e5lea rdi, [rbx+rbx]
    0018c9e9mov [rsp+64], rdi
    0018c9eecall alloc::slice::stable_sort::_{{closure}}
    0018c9f3test rax, rax
    0018c9f6je 0x18cdf5
    0018c9fcmov rdx, rbx
    0018c9ffmov rbx, rax
    0018ca02shl rdx, 4
    0018ca06mov rdi, rax
    0018ca09mov r15, [rsp]
    0018ca0dmov rsi, r15
    0018ca10call [rip+0x8510a]
    0018ca16mov rdi, r15
    0018ca19call [rip+0x850d9]
    0018ca1fmov rax, r13
    0018ca22mov r13, [rsp+16]
    0018ca27jmp 0x18ca32
    0018ca29
    0018ca29loc_18ca29:
    0018ca29mov [rsp+64], rbx
    0018ca2emov rbx, [rsp]
    0018ca32
    0018ca32loc_18ca32:
    0018ca32mov [rsp+56], rax
    0018ca37sub rax, r13
    0018ca3amov rcx, r12
    0018ca3dshl rcx, 4
    0018ca41mov [rbx+rcx], rax
    0018ca45mov [rbx+rcx+8], r13
    0018ca4ainc r12
    0018ca4dmov [rsp], rbx
    0018ca51
    0018ca51loc_18ca51:
    0018ca51mov rdi, rbx
    0018ca54mov rsi, r12
    0018ca57mov rdx, rbp
    0018ca5acall core::slice::sort::merge_sort::collapse
    0018ca5fcmp rax, 1
    0018ca63jne 0x18cc71
    0018ca69mov r15, rdx
    0018ca6cmov rdi, rbx
    0018ca6fmov rsi, r12
    0018ca72lea rcx, [rip+0x833a7]
    0018ca79call _<core::slice::sort::merge_sort::RunVec<RunAllocF,RunDeallocF> as core::ops::index::Index<usize>>::index
    0018ca7emov rcx, [rax]
    0018ca81mov r14, [rax+8]
    0018ca85mov [rsp+40], r15
    0018ca8amov rdx, r15
    0018ca8dmov r15, rcx
    0018ca90inc rdx
    0018ca93mov rdi, rbx
    0018ca96mov [rsp+48], r12
    0018ca9bmov rsi, r12
    0018ca9emov [rsp+16], rdx
    0018caa3lea rcx, [rip+0x8338e]
    0018caaacall _<core::slice::sort::merge_sort::RunVec<RunAllocF,RunDeallocF> as core::ops::index::Index<usize>>::index
    0018caafmov rcx, [rax]
    0018cab2mov rsi, [rax+8]
    0018cab6mov [rsp+80], rcx
    0018cabbadd rsi, rcx
    0018cabemov [rsp+96], r14
    0018cac3mov rdi, r14
    0018cac6mov rdx, [rsp+8]
    0018cacbmov rcx, rbp
    0018cacelea r8, [rip+0x8337b]
    0018cad5call _<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index_mut
    0018cadamov rbp, rax
    0018caddmov r12, rdx
    0018cae0lea r13, [rax+8*r15]
    0018cae4mov r14, rdx
    0018cae7sub r14, r15
    0018caeacmp r14, r15
    0018caedmov [rsp+88], r15
    0018caf2jae 0x18cb72
    0018caf4lea rdx, [8*r14]
    0018cafcmov rbx, [rsp+24]
    0018cb01mov rdi, rbx
    0018cb04mov rsi, r13
    0018cb07call [rip+0x85013]
    0018cb0dlea r15, [rbx+8*r14]
    0018cb11lea r14, [8*r12-8]
    0018cb19add r14, rbp
    0018cb1c
    0018cb1cloc_18cb1c:
    0018cb1ccmp r13, rbp
    0018cb1fjbe 0x18cbe3
    0018cb25cmp r15, rbx
    0018cb28jbe 0x18cbe3
    0018cb2emov edi, [r15-8]
    0018cb32mov esi, [r15-4]
    0018cb36mov edx, [r13-8]
    0018cb3amov ecx, [r13-4]
    0018cb3ecall _<regex_syntax::hir::ClassUnicodeRange as core::cmp::PartialOrd>::partial_cmp
    0018cb43xor ecx, ecx
    0018cb45xor edx, edx
    0018cb47cmp al, -1
    0018cb49setne cl
    0018cb4csete dl
    0018cb4fshl rdx, 3
    0018cb53sub r13, rdx
    0018cb56shl rcx, 3
    0018cb5asub r15, rcx
    0018cb5dcmp al, -1
    0018cb5fmov rax, r15
    0018cb62cmove rax, r13
    0018cb66mov rax, [rax]
    0018cb69mov [r14], rax
    0018cb6cadd r14, -8
    0018cb70jmp 0x18cb1c
    0018cb72
    0018cb72loc_18cb72:
    0018cb72lea r14, [8*r12]
    0018cb7aadd r14, rbp
    0018cb7dlea rdx, [8*r15]
    0018cb85mov r12, [rsp+24]
    0018cb8amov rdi, r12
    0018cb8dmov rsi, rbp
    0018cb90call [rip+0x84f8a]
    0018cb96lea r15, [r12+8*r15]
    0018cb9a
    0018cb9aloc_18cb9a:
    0018cb9acmp r12, r15
    0018cb9djae 0x18cbed
    0018cb9fcmp r13, r14
    0018cba2jae 0x18cbed
    0018cba4mov edi, [r13]
    0018cba8mov esi, [r13+4]
    0018cbacmov edx, [r12]
    0018cbb0mov ecx, [r12+4]
    0018cbb5call _<regex_syntax::hir::ClassUnicodeRange as core::cmp::PartialOrd>::partial_cmp
    0018cbbaxor ecx, ecx
    0018cbbcxor edx, edx
    0018cbbecmp al, -1
    0018cbc0setne cl
    0018cbc3sete dl
    0018cbc6mov rax, r12
    0018cbc9cmove rax, r13
    0018cbcdmov rax, [rax]
    0018cbd0mov [rbp], rax
    0018cbd4add rbp, 8
    0018cbd8lea r13, [r13+8*rdx]
    0018cbddlea r12, [r12+8*rcx]
    0018cbe1jmp 0x18cb9a
    0018cbe3
    0018cbe3loc_18cbe3:
    0018cbe3mov rbp, r13
    0018cbe6mov r12, rbx
    0018cbe9mov rbx, [rsp]
    0018cbed
    0018cbedloc_18cbed:
    0018cbedsub r15, r12
    0018cbf0mov rdi, rbp
    0018cbf3mov rsi, r12
    0018cbf6mov rdx, r15
    0018cbf9call [rip+0x84f21]
    0018cbffmov r12, [rsp+48]
    0018cc04mov rcx, [rsp+16]
    0018cc09cmp r12, rcx
    0018cc0cjbe 0x18cd7a
    0018cc12mov rax, [rsp+80]
    0018cc17add rax, [rsp+88]
    0018cc1cshl rcx, 4
    0018cc20mov [rbx+rcx], rax
    0018cc24mov rax, [rsp+96]
    0018cc29mov [rbx+rcx+8], rax
    0018cc2emov rdx, [rsp+40]
    0018cc33cmp r12, rdx
    0018cc36jbe 0x18cdac
    0018cc3cmov rax, rdx
    0018cc3fshl rax, 4
    0018cc43lea rdi, [rbx+rax]
    0018cc47lea rsi, [rbx+rax]
    0018cc4badd rsi, 16
    0018cc4fnot rdx
    0018cc52add rdx, r12
    0018cc55shl rdx, 4
    0018cc59call [rip+0x84eb1]
    0018cc5fdec r12
    0018cc62mov rbp, [rsp+32]
    0018cc67mov r14, [rsp+24]
    0018cc6cjmp 0x18ca51
    0018cc71
    0018cc71loc_18cc71:
    0018cc71mov rax, [rsp+64]
    0018cc76mov [rsp+40], rax
    0018cc7bmov r13, [rsp+56]
    0018cc80jmp 0x18c800
    0018cc85
    0018cc85loc_18cc85:
    0018cc85mov rdi, [rsp]
    0018cc89mov rbx, [rip+0x84e68]
    0018cc90call rbx
    0018cc92mov rdi, r14
    0018cc95call rbx
    0018cc97
    0018cc97loc_18cc97:
    0018cc97test rbp, rbp
    0018cc9aje 0x18ce0d
    0018cca0
    0018cca0loc_18cca0:
    0018cca0xor ebx, ebx
    0018cca2lea r14, [rip+0x66187]
    0018cca9mov r15, [rsp+72]
    0018ccae
    0018ccaeloc_18ccae:
    0018ccaecmp rbp, rbx
    0018ccb1je 0x18cd27
    0018ccb3mov rdi, [r15]
    0018ccb6mov rsi, [r15+16]
    0018ccbacmp rsi, rbp
    0018ccbdjbe 0x18ccea
    0018ccbfmov edx, [rdi+8*rsi-8]
    0018ccc3mov eax, [rdi+8*rbx]
    0018ccc6cmp edx, eax
    0018ccc8mov r9l, eax
    0018cccbcmova r9l, edx
    0018cccfmov r8l, [rdi+8*rsi-4]
    0018ccd4mov ecx, [rdi+8*rbx+4]
    0018ccd8cmp r8l, ecx
    0018ccdbmov r10l, ecx
    0018ccdecmovb r10l, r8l
    0018cce2inc r10l
    0018cce5cmp r9l, r10l
    0018cce8jbe 0x18cd04
    0018ccea
    0018ccealoc_18ccea:
    0018cceamov rdx, rbx
    0018ccedmov rcx, r14
    0018ccf0call _<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index
    0018ccf5mov esi, [rax]
    0018ccf7mov edx, [rax+4]
    0018ccfamov rdi, r15
    0018ccfdcall alloc::vec::Vec<T,A>::push
    0018cd02jmp 0x18cd22
    0018cd04
    0018cd04loc_18cd04:
    0018cd04cmp edx, eax
    0018cd06cmovb eax, edx
    0018cd09cmp r8l, ecx
    0018cd0ccmova ecx, r8l
    0018cd10cmp eax, ecx
    0018cd12mov edx, ecx
    0018cd14cmova ecx, eax
    0018cd17cmovb edx, eax
    0018cd1amov [rdi+8*rsi-8], edx
    0018cd1emov [rdi+8*rsi-4], ecx
    0018cd22
    0018cd22loc_18cd22:
    0018cd22inc rbx
    0018cd25jmp 0x18ccae
    0018cd27
    0018cd27loc_18cd27:
    0018cd27lea rbx, [rsp+104]
    0018cd2cmov rdi, rbx
    0018cd2fmov rsi, r15
    0018cd32mov rdx, rbp
    0018cd35call alloc::vec::Vec<T,A>::drain
    0018cd3amov rdi, rbx
    0018cd3dcall _<alloc::vec::drain::Drain<T,A> as core::ops::drop::Drop>::drop
    0018cd42
    0018cd42loc_18cd42:
    0018cd42add rsp, 152
    0018cd49pop rbx
    0018cd4apop r12
    0018cd4cpop r13
    0018cd4epop r14
    0018cd50pop r15
    0018cd52pop rbp
    0018cd53ret
    0018cd54
    0018cd54loc_18cd54:
    0018cd54lea rdx, [rip+0x65045]
    0018cd5bmov rdi, r15
    0018cd5emov rsi, r15
    0018cd61jmp 0x18cd73
    0018cd63
    0018cd63loc_18cd63:
    0018cd63lea rax, [rip+0x6504e]
    0018cd6amov rdi, r14
    0018cd6dmov rsi, rdx
    0018cd70mov rdx, rax
    0018cd73
    0018cd73loc_18cd73:
    0018cd73call core::panicking::panic_bounds_check
    0018cd78ud2
    0018cd7a
    0018cd7aloc_18cd7a:
    0018cd7alea rax, [rip+0x82f97]
    0018cd81lea rdi, [rsp+104]
    0018cd86mov [rdi], rax
    0018cd89mov [rdi+8], 1
    0018cd91lea rax, [rip-0xfbaa0]
    0018cd98mov [rdi+16], rax
    0018cd9cxorps x0, x0
    0018cd9fmovups [rdi+24], x0
    0018cda3lea rsi, [rip+0x65026]
    0018cdaajmp 0x18cddc
    0018cdac
    0018cdacloc_18cdac:
    0018cdaclea rax, [rip+0x82f65]
    0018cdb3lea rdi, [rsp+104]
    0018cdb8mov [rdi], rax
    0018cdbbmov [rdi+8], 1
    0018cdc3lea rax, [rip-0xfbad2]
    0018cdcamov [rdi+16], rax
    0018cdcexorps x0, x0
    0018cdd1movups [rdi+24], x0
    0018cdd5lea rsi, [rip+0x6500c]
    0018cddc
    0018cddcloc_18cddc:
    0018cddccall core::panicking::panic_fmt
    0018cde1ud2
    0018cde3
    0018cde3loc_18cde3:
    0018cde3lea rdi, [rip-0xfd6c0]
    0018cdealea rdx, [rip+0x830d7]
    0018cdf1push 44
    0018cdf3jmp 0x18ce05
    0018cdf5
    0018cdf5loc_18cdf5:
    0018cdf5lea rdi, [rip-0xfbdfe]
    0018cdfclea rdx, [rip+0x83095]
    0018ce03
    0018ce03loc_18ce03:
    0018ce03push 43
    0018ce05
    0018ce05loc_18ce05:
    0018ce05pop rsi
    0018ce06call core::panicking::panic
    0018ce0bud2
    0018ce0d
    0018ce0dloc_18ce0d:
    0018ce0dlea rdi, [rip-0x134a0d]
    0018ce14lea rdx, [rip+0x6602d]
    0018ce1bpush 41
    0018ce1djmp 0x18ce05
    0018ce1f
    0018ce1floc_18ce1f:
    0018ce1flea rdi, [rip-0xfbe28]
    0018ce26lea rdx, [rip+0x8303b]
    0018ce2djmp 0x18ce03
    0018ce2f
    0018ce2floc_18ce2f:
    0018ce2flea rdi, [rip-0xfbe38]
    0018ce36lea rdx, [rip+0x83043]
    0018ce3djmp 0x18ce03
    0018c70d
    0018ce3f
    0018ce3f_<alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index:
    0018ce3fcmp rsi, rdx
    0018ce42jbe 0x18ce49
    0018ce44lea rax, [rdi+8*rdx]
    0018ce48ret
    0018ce49
    0018ce49loc_18ce49:
    0018ce49push rax
    0018ce4amov rdi, rdx
    0018ce4dmov rdx, rcx
    0018ce50call core::panicking::panic_bounds_check
    0018ce55ud2
    0018ce3f
    0018ce57
    0018ce57alloc::vec::Vec<T,A>::push:
    0018ce57push rbp
    0018ce58push r14
    0018ce5apush rbx
    0018ce5bmov ebp, edx
    0018ce5dmov r14l, esi
    0018ce60mov rbx, rdi
    0018ce63mov rsi, [rdi+16]
    0018ce67cmp rsi, [rdi+8]
    0018ce6bjne 0x18ce79
    0018ce6dmov rdi, rbx
    0018ce70call alloc::raw_vec::RawVec<T,A>::reserve_for_push
    0018ce75mov rsi, [rbx+16]
    0018ce79
    0018ce79loc_18ce79:
    0018ce79mov rax, [rbx]
    0018ce7cmov [rax+8*rsi], r14l
    0018ce80mov [rax+8*rsi+4], ebp
    0018ce84inc rsi
    0018ce87mov [rbx+16], rsi
    0018ce8bpop rbx
    0018ce8cpop r14
    0018ce8epop rbp
    0018ce8fret
    0018ce57
    0018ce90
    0018ce90regex_syntax::hir::Properties::class:
    0018ce90push rbp
    0018ce91push r15
    0018ce93push r14
    0018ce95push rbx
    0018ce96push rax
    0018ce97cmp [rdi], 0
    0018ce9bje 0x18cec1
    0018ce9dmov rax, [rdi+24]
    0018cea1xor ebx, ebx
    0018cea3push 1
    0018cea5pop r14
    0018cea7test rax, rax
    0018ceaasetne bl
    0018ceadje 0x18cef0
    0018ceafmov rcx, [rdi+8]
    0018ceb3mov bpl, [rcx+2*rax-1]
    0018ceb8not bpl
    0018cebbshr bpl, 7
    0018cebfjmp 0x18cef3
    0018cec1
    0018cec1loc_18cec1:
    0018cec1mov rax, [rdi+24]
    0018cec5test rax, rax
    0018cec8je 0x18cef8
    0018cecamov rcx, [rdi+8]
    0018cecemov ecx, [rcx]
    0018ced0push 1
    0018ced2pop rbx
    0018ced3push 4
    0018ced5pop r14
    0018ced7mov r15, rbx
    0018cedacmp ecx, 128
    0018cee0jb 0x18cf09
    0018cee2cmp ecx, 2048
    0018cee8jae 0x18cefc
    0018ceeapush 2
    0018ceecpop r15
    0018ceeejmp 0x18cf09
    0018cef0
    0018cef0loc_18cef0:
    0018cef0mov bpl, 1
    0018cef3
    0018cef3loc_18cef3:
    0018cef3mov r15, r14
    0018cef6jmp 0x18cf36
    0018cef8
    0018cef8loc_18cef8:
    0018cef8xor ebx, ebx
    0018cefajmp 0x18cf33
    0018cefc
    0018cefcloc_18cefc:
    0018cefccmp ecx, 0x10000
    0018cf02mov r15, r14
    0018cf05sbb r15, 0
    0018cf09
    0018cf09loc_18cf09:
    0018cf09mov rcx, [rdi+8]
    0018cf0dmov eax, [rcx+8*rax-4]
    0018cf11cmp eax, 128
    0018cf16jae 0x18cf1d
    0018cf18mov r14, rbx
    0018cf1bjmp 0x18cf33
    0018cf1d
    0018cf1dloc_18cf1d:
    0018cf1dcmp eax, 2048
    0018cf22jae 0x18cf2a
    0018cf24push 2
    0018cf26pop r14
    0018cf28jmp 0x18cf33
    0018cf2a
    0018cf2aloc_18cf2a:
    0018cf2acmp eax, 0x10000
    0018cf2fsbb r14, 0
    0018cf33
    0018cf33loc_18cf33:
    0018cf33mov bpl, 1
    0018cf36
    0018cf36loc_18cf36:
    0018cf36push 80
    0018cf38pop rdi
    0018cf39push 8
    0018cf3bpop rsi
    0018cf3ccall _ZN5alloc5alloc15exchange_malloc17hc6dbbe43d4abbe5aE.641
    0018cf41mov [rax], rbx
    0018cf44mov [rax+8], r15
    0018cf48mov [rax+16], rbx
    0018cf4cmov [rax+24], r14
    0018cf50mov [rax+32], 1
    0018cf58xorps x0, x0
    0018cf5bmovups [rax+40], x0
    0018cf5fmovups [rax+56], x0
    0018cf63and [rax+72], 0
    0018cf67mov [rax+76], bpl
    0018cf6band [rax+77], 0
    0018cf70add rsp, 8
    0018cf74pop rbx
    0018cf75pop r14
    0018cf77pop r15
    0018cf79pop rbp
    0018cf7aret
    0018ce90
    0018cf7b
    0018cf7b_<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index_mut:
    0018cf7bcmp rdi, rdx
    0018cf7eja 0x18cf87
    0018cf80mov rax, rsi
    0018cf83mov rdx, rdi
    0018cf86ret
    0018cf87
    0018cf87loc_18cf87:
    0018cf87push rax
    0018cf88mov rsi, rdx
    0018cf8bmov rdx, rcx
    0018cf8ecall core::slice::index::slice_end_index_len_fail
    0018cf93ud2
    0018cf7b
    0018cf95
    0018cf95regex_syntax::unicode::perl_digit:
    0018cf95lea rsi, [rip-0x1327b4]
    0018cf9cpush 64
    0018cf9epop rdx
    0018cf9fjmp 0x18cfb3
    0018cf95
    0018cfa4
    0018cfa4regex_syntax::unicode::perl_space:
    0018cfa4lea rsi, [rip-0x132813]
    0018cfabpush 10
    0018cfadpop rdx
    0018cfaejmp 0x18cfb3
    0018cfa4
    0018cfb3
    0018cfb3regex_syntax::unicode::hir_class:
    0018cfb3push r15
    0018cfb5push r14
    0018cfb7push r12
    0018cfb9push rbx
    0018cfbasub rsp, 56
    0018cfbemov r14, rdx
    0018cfc1mov r15, rsi
    0018cfc4mov rbx, rdi
    0018cfc7mov rdi, rdx
    0018cfcacall alloc::raw_vec::RawVec<T,A>::allocate_in
    0018cfcflea r12, [rsp+8]
    0018cfd4mov [r12], rax
    0018cfd8mov [r12+8], rdx
    0018cfddand [r12+16], 0
    0018cfe3mov rdi, r12
    0018cfe6mov rsi, r14
    0018cfe9call alloc::vec::Vec<T,A>::reserve
    0018cfeemov rax, [r12+16]
    0018cff3test r14, r14
    0018cff6je 0x18d02f
    0018cff8mov rcx, [rsp+8]
    0018cffdlea rdx, [rcx+8*rax]
    0018d001add rdx, 4
    0018d005xor ecx, ecx
    0018d007
    0018d007loc_18d007:
    0018d007mov esi, [r15+8*rcx]
    0018d00bmov edi, [r15+8*rcx+4]
    0018d010cmp esi, edi
    0018d012mov r8l, edi
    0018d015cmovb r8l, esi
    0018d019cmova edi, esi
    0018d01cmov [rdx+8*rcx-4], r8l
    0018d021mov [rdx+8*rcx], edi
    0018d024inc rcx
    0018d027cmp r14, rcx
    0018d02ajne 0x18d007
    0018d02cadd rax, rcx
    0018d02f
    0018d02floc_18d02f:
    0018d02fmovups x0, [rsp+8]
    0018d034lea rsi, [rsp+32]
    0018d039movaps [rsi], x0
    0018d03cmov [rsi+16], rax
    0018d040mov rdi, rbx
    0018d043call regex_syntax::hir::interval::IntervalSet<I>::new
    0018d048add rsp, 56
    0018d04cpop rbx
    0018d04dpop r12
    0018d04fpop r14
    0018d051pop r15
    0018d053ret
    0018cfb3
    0018d054
    0018d054regex_syntax::hir::translate::TranslatorI::convert_unicode_class_error:
    0018d054cmp [r8+24], 2
    0018d059jne 0x18d069
    0018d05bmov al, [r8]
    0018d05eadd al, 3
    0018d060movzx r8l, al
    0018d064jmp 0x188e81
    0018d069
    0018d069loc_18d069:
    0018d069movups x0, [r8]
    0018d06dmovups x1, [r8+16]
    0018d072movups [rdi+16], x1
    0018d076movups [rdi], x0
    0018d079mov [rdi+72], 7
    0018d07dret
    0018d054
    0018d07e
    0018d07eregex_syntax::hir::translate::ascii_class:
    0018d07emovsx rax, dil
    0018d082lea rcx, [rip-0xf9fe1]
    0018d089mov rcx, [rcx+8*rax]
    0018d08dlea rdx, [rip+0x84774]
    0018d094mov rax, [rdx+8*rax]
    0018d098lea rdx, [rax+2*rcx]
    0018d09cret
    0018d07e
    0018d09d
    0018d09dregex_syntax::unicode::ClassQuery::canonical_binary:
    0018d09dpush r15
    0018d09fpush r14
    0018d0a1push r12
    0018d0a3push rbx
    0018d0a4sub rsp, 56
    0018d0a8mov r14, rdi
    0018d0ablea r15, [rsp+32]
    0018d0b0mov rdi, r15
    0018d0b3call regex_syntax::unicode::symbolic_name_normalize
    0018d0b8mov rbx, [r15]
    0018d0bbmov r15, [r15+16]
    0018d0bflea rdx, [rip-0x134191]
    0018d0c6push 2
    0018d0c8pop rcx
    0018d0c9mov rdi, rbx
    0018d0ccmov rsi, r15
    0018d0cfcall _<alloc::string::String as core::cmp::PartialEq<&str>>::ne
    0018d0d4test al, al
    0018d0d6je 0x18d139
    0018d0d8lea rdx, [rip-0x1341a8]
    0018d0dfpush 2
    0018d0e1pop rcx
    0018d0e2mov rdi, rbx
    0018d0e5mov rsi, r15
    0018d0e8call _<alloc::string::String as core::cmp::PartialEq<&str>>::ne
    0018d0edtest al, al
    0018d0efje 0x18d139
    0018d0f1lea rdx, [rip-0x1341bf]
    0018d0f8push 2
    0018d0fapop rcx
    0018d0fbmov rdi, rbx
    0018d0femov rsi, r15
    0018d101call _<alloc::string::String as core::cmp::PartialEq<&str>>::ne
    0018d106test al, al
    0018d108je 0x18d139
    0018d10alea r12, [rsp+8]
    0018d10fmov rdi, r12
    0018d112mov rsi, rbx
    0018d115mov rdx, r15
    0018d118call regex_syntax::unicode::canonical_prop
    0018d11dcmp [r12], 0
    0018d122jne 0x18d153
    0018d124mov rax, [rsp+16]
    0018d129test rax, rax
    0018d12cje 0x18d139
    0018d12eand [r14], 0
    0018d132mov rcx, [rsp+24]
    0018d137jmp 0x18d17a
    0018d139
    0018d139loc_18d139:
    0018d139lea r12, [rsp+8]
    0018d13emov rdi, r12
    0018d141mov rsi, rbx
    0018d144mov rdx, r15
    0018d147call regex_syntax::unicode::canonical_gencat
    0018d14ccmp [r12], 0
    0018d151je 0x18d164
    0018d153
    0018d153loc_18d153:
    0018d153mov al, [rsp+9]
    0018d157mov [r14+8], al
    0018d15b
    0018d15bloc_18d15b:
    0018d15bmov [r14], 4
    0018d162jmp 0x18d182
    0018d164
    0018d164loc_18d164:
    0018d164mov rax, [rsp+16]
    0018d169test rax, rax
    0018d16cje 0x18d19b
    0018d16emov rcx, [rsp+24]
    0018d173mov [r14], 1
    0018d17a
    0018d17aloc_18d17a:
    0018d17amov [r14+8], rax
    0018d17emov [r14+16], rcx
    0018d182
    0018d182loc_18d182:
    0018d182mov rsi, [rsp+40]
    0018d187mov rdi, rbx
    0018d18acall core::ptr::drop_in_place<alloc::boxed::Box<str>>
    0018d18fadd rsp, 56
    0018d193pop rbx
    0018d194pop r12
    0018d196pop r14
    0018d198pop r15
    0018d19aret
    0018d19b
    0018d19bloc_18d19b:
    0018d19blea r12, [rsp+8]
    0018d1a0mov rdi, r12
    0018d1a3mov rsi, rbx
    0018d1a6mov rdx, r15
    0018d1a9call regex_syntax::unicode::canonical_script
    0018d1aecmp [r12], 0
    0018d1b3jne 0x18d153
    0018d1b5mov rax, [rsp+16]
    0018d1batest rax, rax
    0018d1bdje 0x18d1cd
    0018d1bfmov rcx, [rsp+24]
    0018d1c4mov [r14], 2
    0018d1cbjmp 0x18d17a
    0018d1cd
    0018d1cdloc_18d1cd:
    0018d1cdmov [r14+8], 0
    0018d1d2jmp 0x18d15b
    0018d09d
    0018d1d4
    0018d1d4regex_syntax::unicode::symbolic_name_normalize:
    0018d1d4push rbp
    0018d1d5push r15
    0018d1d7push r14
    0018d1d9push r13
    0018d1dbpush r12
    0018d1ddpush rbx
    0018d1desub rsp, 56
    0018d1e2mov rbx, rdx
    0018d1e5mov r13, rsi
    0018d1e8mov r14, rdi
    0018d1ebmov rdi, rdx
    0018d1eecall alloc::raw_vec::RawVec<T,A>::allocate_in
    0018d1f3mov r12, rax
    0018d1f6mov r15, rdx
    0018d1f9mov rdi, rax
    0018d1fcmov rsi, r13
    0018d1ffmov rdx, rbx
    0018d202call [rip+0x84918]
    0018d208cmp rbx, 2
    0018d20cjb 0x18d2eb
    0018d212lea rcx, [rip+0x8174f]
    0018d219push 2
    0018d21bpop r13
    0018d21dmov rdi, r13
    0018d220mov rsi, r12
    0018d223mov rdx, rbx
    0018d226call _<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index
    0018d22blea rcx, [rip-0xfebea]
    0018d232mov rdi, rax
    0018d235mov rsi, rdx
    0018d238mov rdx, rcx
    0018d23bmov rcx, r13
    0018d23ecall _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    0018d243test al, al
    0018d245jne 0x18d2e7
    0018d24blea rcx, [rip+0x8172e]
    0018d252push 2
    0018d254pop rbp
    0018d255mov rdi, rbp
    0018d258mov rsi, r12
    0018d25bmov rdx, rbx
    0018d25ecall _<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index
    0018d263lea rcx, [rip-0xfec20]
    0018d26amov rdi, rax
    0018d26dmov rsi, rdx
    0018d270mov rdx, rcx
    0018d273mov rcx, rbp
    0018d276call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    0018d27btest al, al
    0018d27djne 0x18d2e7
    0018d27flea rcx, [rip+0x81712]
    0018d286push 2
    0018d288pop rbp
    0018d289mov rdi, rbp
    0018d28cmov rsi, r12
    0018d28fmov rdx, rbx
    0018d292call _<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index
    0018d297lea rcx, [rip-0xfec52]
    0018d29emov rdi, rax
    0018d2a1mov rsi, rdx
    0018d2a4mov rdx, rcx
    0018d2a7mov rcx, rbp
    0018d2aacall _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    0018d2aftest al, al
    0018d2b1jne 0x18d2e7
    0018d2b3lea rcx, [rip+0x816f6]
    0018d2bapush 2
    0018d2bcpop rbp
    0018d2bdmov rdi, rbp
    0018d2c0mov rsi, r12
    0018d2c3mov rdx, rbx
    0018d2c6call _<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index
    0018d2cblea rcx, [rip-0xfec84]
    0018d2d2mov rdi, rax
    0018d2d5mov rsi, rdx
    0018d2d8mov rdx, rcx
    0018d2dbmov rcx, rbp
    0018d2decall _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    0018d2e3test al, al
    0018d2e5je 0x18d2eb
    0018d2e7
    0018d2e7loc_18d2e7:
    0018d2e7mov al, 1
    0018d2e9jmp 0x18d2f0
    0018d2eb
    0018d2ebloc_18d2eb:
    0018d2ebxor eax, eax
    0018d2edxor r13l, r13l
    0018d2f0
    0018d2f0loc_18d2f0:
    0018d2f0xor edi, edi
    0018d2f2mov rcx, 0x8000000000002001
    0018d2fc
    0018d2fcloc_18d2fc:
    0018d2fccmp r13, rbx
    0018d2ffjae 0x18d348
    0018d301movzx edx, [r12+r13]
    0018d306lea esi, [rdx-32]
    0018d309cmp esi, 63
    0018d30cja 0x18d319
    0018d30ebt rcx, rsi
    0018d312jae 0x18d319
    0018d314inc r13
    0018d317jmp 0x18d2fc
    0018d319
    0018d319loc_18d319:
    0018d319inc r13
    0018d31clea esi, [rdx-65]
    0018d31fcmp sil, 26
    0018d323jb 0x18d333
    0018d325test dl, dl
    0018d327js 0x18d2fc
    0018d329cmp rdi, rbx
    0018d32cjb 0x18d33f
    0018d32ejmp 0x18d42d
    0018d333
    0018d333loc_18d333:
    0018d333cmp rdi, rbx
    0018d336jae 0x18d424
    0018d33cadd dl, 32
    0018d33f
    0018d33floc_18d33f:
    0018d33fmov [r12+rdi], dl
    0018d343inc rdi
    0018d346jmp 0x18d2fc
    0018d348
    0018d348loc_18d348:
    0018d348cmp rdi, 1
    0018d34csete cl
    0018d34fand al, cl
    0018d351cmp al, 1
    0018d353jne 0x18d38d
    0018d355test rbx, rbx
    0018d358je 0x18d3f8
    0018d35ecmp [r12], 99
    0018d363jne 0x18d38a
    0018d365mov [r12], 105
    0018d36acmp rbx, 2
    0018d36ejb 0x18d405
    0018d374mov [r12+1], 115
    0018d37aje 0x18d410
    0018d380mov [r12+2], 99
    0018d386push 3
    0018d388jmp 0x18d38c
    0018d38a
    0018d38aloc_18d38a:
    0018d38apush 1
    0018d38c
    0018d38cloc_18d38c:
    0018d38cpop rdi
    0018d38d
    0018d38dloc_18d38d:
    0018d38dlea rcx, [rip+0x8167c]
    0018d394mov rsi, r12
    0018d397mov rdx, rbx
    0018d39acall _<core::ops::range::Range<usize> as core::slice::index::SliceIndex<[T]>>::index_mut
    0018d39fcmp rdx, rbx
    0018d3a2cmovb rbx, rdx
    0018d3a6lea r13, [rsp+16]
    0018d3abmov rdi, r13
    0018d3aemov rsi, r12
    0018d3b1mov rdx, rbx
    0018d3b4call core::str::converts::from_utf8
    0018d3b9cmp [r13], 0
    0018d3beje 0x18d3de
    0018d3c0mov rax, [rsp+24]
    0018d3c5mov cl, [rsp+32]
    0018d3c9mov edx, [rsp+33]
    0018d3cdmov [rsp+8], edx
    0018d3d1mov edx, [rsp+36]
    0018d3d5mov [rsp+11], edx
    0018d3d9cmp cl, 2
    0018d3dcjne 0x18d439
    0018d3de
    0018d3deloc_18d3de:
    0018d3demov [r14], r12
    0018d3e1mov [r14+8], r15
    0018d3e5mov [r14+16], rbx
    0018d3e9add rsp, 56
    0018d3edpop rbx
    0018d3eepop r12
    0018d3f0pop r13
    0018d3f2pop r14
    0018d3f4pop r15
    0018d3f6pop rbp
    0018d3f7ret
    0018d3f8
    0018d3f8loc_18d3f8:
    0018d3f8lea rdx, [rip+0x815c9]
    0018d3ffxor edi, edi
    0018d401xor esi, esi
    0018d403jmp 0x18d41d
    0018d405
    0018d405loc_18d405:
    0018d405lea rdx, [rip+0x815d4]
    0018d40cpush 1
    0018d40ejmp 0x18d419
    0018d410
    0018d410loc_18d410:
    0018d410lea rdx, [rip+0x815e1]
    0018d417push 2
    0018d419
    0018d419loc_18d419:
    0018d419pop rdi
    0018d41amov rsi, rdi
    0018d41d
    0018d41dloc_18d41d:
    0018d41dcall core::panicking::panic_bounds_check
    0018d422ud2
    0018d424
    0018d424loc_18d424:
    0018d424lea rdx, [rip+0x81615]
    0018d42bjmp 0x18d434
    0018d42d
    0018d42dloc_18d42d:
    0018d42dlea rdx, [rip+0x815f4]
    0018d434
    0018d434loc_18d434:
    0018d434mov rsi, rbx
    0018d437jmp 0x18d41d
    0018d439
    0018d439loc_18d439:
    0018d439lea rdx, [rsp+16]
    0018d43emov [rdx], r12
    0018d441mov [rdx+8], r15
    0018d445mov [rdx+16], rbx
    0018d449mov [rdx+24], rax
    0018d44dmov [rdx+32], cl
    0018d450mov eax, [rsp+8]
    0018d454mov ecx, [rsp+11]
    0018d458mov [rdx+33], eax
    0018d45bmov [rdx+36], ecx
    0018d45elea rdi, [rip-0xfc277]
    0018d465lea rcx, [rip+0x64a0c]
    0018d46clea r8, [rip+0x814dd]
    0018d473push 43
    0018d475pop rsi
    0018d476call core::result::unwrap_failed
    0018d47bud2
    0018d1d4
    0018d47d
    0018d47dregex_syntax::unicode::canonical_prop:
    0018d47dpush rbp
    0018d47epush r15
    0018d480push r14
    0018d482push r13
    0018d484push r12
    0018d486push rbx
    0018d487sub rsp, 24
    0018d48bmov [rsp+16], rdx
    0018d490mov r15, rsi
    0018d493mov [rsp+8], rdi
    0018d498mov r12l, 254
    0018d49elea r13, [rip+0x7716b]
    0018d4a5xor ebx, ebx
    0018d4a7mov ebp, 254
    0018d4ac
    0018d4acloc_18d4ac:
    0018d4accmp rbx, r12
    0018d4afjae 0x18d4f5
    0018d4b1shr rbp, 1
    0018d4b4add rbp, rbx
    0018d4b7mov r14, rbp
    0018d4bashl r14, 5
    0018d4bemov rdi, [r14+r13]
    0018d4c2mov rsi, [r14+r13+8]
    0018d4c7mov rdx, r15
    0018d4camov rcx, [rsp+16]
    0018d4cfcall core::cmp::impls::_<impl core::cmp::Ord for &A>::cmp
    0018d4d4cmp al, 1
    0018d4d6je 0x18d4ed
    0018d4d8movzx eax, al
    0018d4dbcmp eax, 255
    0018d4e0jne 0x18d4f9
    0018d4e2inc rbp
    0018d4e5mov rbx, rbp
    0018d4e8mov rbp, r12
    0018d4ebjmp 0x18d4f0
    0018d4ed
    0018d4edloc_18d4ed:
    0018d4edmov r12, rbp
    0018d4f0
    0018d4f0loc_18d4f0:
    0018d4f0sub rbp, rbx
    0018d4f3jmp 0x18d4ac
    0018d4f5
    0018d4f5loc_18d4f5:
    0018d4f5xor edx, edx
    0018d4f7jmp 0x18d503
    0018d4f9
    0018d4f9loc_18d4f9:
    0018d4f9mov rdx, [r14+r13+16]
    0018d4femov rax, [r14+r13+24]
    0018d503
    0018d503loc_18d503:
    0018d503mov rcx, [rsp+8]
    0018d508mov [rcx+8], rdx
    0018d50cmov [rcx+16], rax
    0018d510mov [rcx], 0
    0018d513add rsp, 24
    0018d517pop rbx
    0018d518pop r12
    0018d51apop r13
    0018d51cpop r14
    0018d51epop r15
    0018d520pop rbp
    0018d521ret
    0018d47d
    0018d522
    0018d522regex_syntax::unicode::canonical_gencat:
    0018d522push r15
    0018d524push r14
    0018d526push r12
    0018d528push rbx
    0018d529sub rsp, 24
    0018d52dmov r14, rdx
    0018d530mov r15, rsi
    0018d533mov rbx, rdi
    0018d536lea rdx, [rip-0x132b55]
    0018d53dpush 3
    0018d53fpop r12
    0018d541mov rdi, rsi
    0018d544mov rsi, r14
    0018d547mov rcx, r12
    0018d54acall _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    0018d54ftest al, al
    0018d551je 0x18d55f
    0018d553lea rax, [rip-0x132b6a]
    0018d55ajmp 0x18d5fc
    0018d55f
    0018d55floc_18d55f:
    0018d55flea rdx, [rip-0x153a8e]
    0018d566push 8
    0018d568pop r12
    0018d56amov rdi, r15
    0018d56dmov rsi, r14
    0018d570mov rcx, r12
    0018d573call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    0018d578test al, al
    0018d57aje 0x18d585
    0018d57clea rax, [rip-0x153aa3]
    0018d583jmp 0x18d5fc
    0018d585
    0018d585loc_18d585:
    0018d585lea rdx, [rip-0x135377]
    0018d58cpush 5
    0018d58epop r12
    0018d590mov rdi, r15
    0018d593mov rsi, r14
    0018d596mov rcx, r12
    0018d599call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    0018d59etest al, al
    0018d5a0je 0x18d5ab
    0018d5a2lea rax, [rip-0x132bbe]
    0018d5a9jmp 0x18d5fc
    0018d5ab
    0018d5abloc_18d5ab:
    0018d5ablea rsi, [rip-0x154682]
    0018d5b2mov r12, rsp
    0018d5b5push 16
    0018d5b7pop rdx
    0018d5b8mov rdi, r12
    0018d5bbcall regex_syntax::unicode::property_values
    0018d5c0cmp [r12], 0
    0018d5c5je 0x18d5d2
    0018d5c7mov al, [rsp+1]
    0018d5cbmov [rbx+1], al
    0018d5cemov al, 1
    0018d5d0jmp 0x18d606
    0018d5d2
    0018d5d2loc_18d5d2:
    0018d5d2mov rdi, [rsp+8]
    0018d5d7mov rsi, [rsp+16]
    0018d5dclea rdx, [rip+0x76ffd]
    0018d5e3call core::option::Option<T>::unwrap
    0018d5e8mov rdi, rax
    0018d5ebmov rsi, rdx
    0018d5eemov rdx, r15
    0018d5f1mov rcx, r14
    0018d5f4call regex_syntax::unicode::canonical_value
    0018d5f9mov r12, rdx
    0018d5fc
    0018d5fcloc_18d5fc:
    0018d5fcmov [rbx+8], rax
    0018d600mov [rbx+16], r12
    0018d604xor eax, eax
    0018d606
    0018d606loc_18d606:
    0018d606mov [rbx], al
    0018d608add rsp, 24
    0018d60cpop rbx
    0018d60dpop r12
    0018d60fpop r14
    0018d611pop r15
    0018d613ret
    0018d522
    0018d614
    0018d614regex_syntax::unicode::property_values:
    0018d614push rbp
    0018d615push r15
    0018d617push r14
    0018d619push r13
    0018d61bpush r12
    0018d61dpush rbx
    0018d61esub rsp, 24
    0018d622mov [rsp+16], rdx
    0018d627mov r15, rsi
    0018d62amov [rsp+8], rdi
    0018d62fpush 7
    0018d631pop r12
    0018d633lea r13, [rip+0x7d496]
    0018d63axor ebx, ebx
    0018d63cmov rbp, r12
    0018d63f
    0018d63floc_18d63f:
    0018d63fcmp rbx, r12
    0018d642jae 0x18d688
    0018d644shr rbp, 1
    0018d647add rbp, rbx
    0018d64amov r14, rbp
    0018d64dshl r14, 5
    0018d651mov rdi, [r14+r13]
    0018d655mov rsi, [r14+r13+8]
    0018d65amov rdx, r15
    0018d65dmov rcx, [rsp+16]
    0018d662call core::cmp::impls::_<impl core::cmp::Ord for &A>::cmp
    0018d667cmp al, 1
    0018d669je 0x18d680
    0018d66bmovzx eax, al
    0018d66ecmp eax, 255
    0018d673jne 0x18d68c
    0018d675inc rbp
    0018d678mov rbx, rbp
    0018d67bmov rbp, r12
    0018d67ejmp 0x18d683
    0018d680
    0018d680loc_18d680:
    0018d680mov r12, rbp
    0018d683
    0018d683loc_18d683:
    0018d683sub rbp, rbx
    0018d686jmp 0x18d63f
    0018d688
    0018d688loc_18d688:
    0018d688xor edx, edx
    0018d68ajmp 0x18d696
    0018d68c
    0018d68cloc_18d68c:
    0018d68cmov rdx, [r14+r13+16]
    0018d691mov rax, [r14+r13+24]
    0018d696
    0018d696loc_18d696:
    0018d696mov rcx, [rsp+8]
    0018d69bmov [rcx+8], rdx
    0018d69fmov [rcx+16], rax
    0018d6a3mov [rcx], 0
    0018d6a6add rsp, 24
    0018d6aapop rbx
    0018d6abpop r12
    0018d6adpop r13
    0018d6afpop r14
    0018d6b1pop r15
    0018d6b3pop rbp
    0018d6b4ret
    0018d614
    0018d6b5
    0018d6b5regex_syntax::unicode::canonical_script:
    0018d6b5push r15
    0018d6b7push r14
    0018d6b9push r12
    0018d6bbpush rbx
    0018d6bcsub rsp, 24
    0018d6c0mov r14, rdx
    0018d6c3mov r15, rsi
    0018d6c6mov rbx, rdi
    0018d6c9lea rsi, [rip-0x1347a1]
    0018d6d0mov r12, rsp
    0018d6d3push 6
    0018d6d5pop rdx
    0018d6d6mov rdi, r12
    0018d6d9call regex_syntax::unicode::property_values
    0018d6decmp [r12], 0
    0018d6e3je 0x18d6f0
    0018d6e5mov al, [rsp+1]
    0018d6e9mov [rbx+1], al
    0018d6ecmov al, 1
    0018d6eejmp 0x18d721
    0018d6f0
    0018d6f0loc_18d6f0:
    0018d6f0mov rdi, [rsp+8]
    0018d6f5mov rsi, [rsp+16]
    0018d6falea rdx, [rip+0x76ef7]
    0018d701call core::option::Option<T>::unwrap
    0018d706mov rdi, rax
    0018d709mov rsi, rdx
    0018d70cmov rdx, r15
    0018d70fmov rcx, r14
    0018d712call regex_syntax::unicode::canonical_value
    0018d717mov [rbx+8], rax
    0018d71bmov [rbx+16], rdx
    0018d71fxor eax, eax
    0018d721
    0018d721loc_18d721:
    0018d721mov [rbx], al
    0018d723add rsp, 24
    0018d727pop rbx
    0018d728pop r12
    0018d72apop r14
    0018d72cpop r15
    0018d72eret
    0018d6b5
    0018d72f
    0018d72fregex_syntax::unicode::canonical_value:
    0018d72fpush rbp
    0018d730push r15
    0018d732push r14
    0018d734push r13
    0018d736push r12
    0018d738push rbx
    0018d739push rax
    0018d73amov [rsp], rcx
    0018d73emov r12, rdx
    0018d741mov r13, rsi
    0018d744mov r15, rdi
    0018d747xor ebx, ebx
    0018d749mov rbp, rsi
    0018d74c
    0018d74cloc_18d74c:
    0018d74ccmp rbx, r13
    0018d74fjae 0x18d794
    0018d751shr rbp, 1
    0018d754add rbp, rbx
    0018d757mov r14, rbp
    0018d75ashl r14, 5
    0018d75emov rdi, [r15+r14]
    0018d762mov rsi, [r15+r14+8]
    0018d767mov rdx, r12
    0018d76amov rcx, [rsp]
    0018d76ecall core::cmp::impls::_<impl core::cmp::Ord for &A>::cmp
    0018d773cmp al, 1
    0018d775je 0x18d78c
    0018d777movzx eax, al
    0018d77acmp eax, 255
    0018d77fjne 0x18d798
    0018d781inc rbp
    0018d784mov rbx, rbp
    0018d787mov rbp, r13
    0018d78ajmp 0x18d78f
    0018d78c
    0018d78cloc_18d78c:
    0018d78cmov r13, rbp
    0018d78f
    0018d78floc_18d78f:
    0018d78fsub rbp, rbx
    0018d792jmp 0x18d74c
    0018d794
    0018d794loc_18d794:
    0018d794xor eax, eax
    0018d796jmp 0x18d7a2
    0018d798
    0018d798loc_18d798:
    0018d798mov rax, [r15+r14+16]
    0018d79dmov rdx, [r15+r14+24]
    0018d7a2
    0018d7a2loc_18d7a2:
    0018d7a2add rsp, 8
    0018d7a6pop rbx
    0018d7a7pop r12
    0018d7a9pop r13
    0018d7abpop r14
    0018d7adpop r15
    0018d7afpop rbp
    0018d7b0ret
    0018d72f
    0018d7b1
    0018d7b1regex_syntax::unicode::property_set:
    0018d7b1push rbp
    0018d7b2push r15
    0018d7b4push r14
    0018d7b6push r13
    0018d7b8push r12
    0018d7bapush rbx
    0018d7bbpush rax
    0018d7bcmov [rsp], rcx
    0018d7c0mov r12, rdx
    0018d7c3mov r13, rsi
    0018d7c6mov r15, rdi
    0018d7c9xor ebx, ebx
    0018d7cbmov rbp, rsi
    0018d7ce
    0018d7celoc_18d7ce:
    0018d7cecmp rbx, r13
    0018d7d1jae 0x18d816
    0018d7d3shr rbp, 1
    0018d7d6add rbp, rbx
    0018d7d9mov r14, rbp
    0018d7dcshl r14, 5
    0018d7e0mov rdi, [r15+r14]
    0018d7e4mov rsi, [r15+r14+8]
    0018d7e9mov rdx, r12
    0018d7ecmov rcx, [rsp]
    0018d7f0call core::cmp::impls::_<impl core::cmp::Ord for &A>::cmp
    0018d7f5cmp al, 1
    0018d7f7je 0x18d80e
    0018d7f9movzx eax, al
    0018d7fccmp eax, 255
    0018d801jne 0x18d81a
    0018d803inc rbp
    0018d806mov rbx, rbp
    0018d809mov rbp, r13
    0018d80cjmp 0x18d811
    0018d80e
    0018d80eloc_18d80e:
    0018d80emov r13, rbp
    0018d811
    0018d811loc_18d811:
    0018d811sub rbp, rbx
    0018d814jmp 0x18d7ce
    0018d816
    0018d816loc_18d816:
    0018d816xor eax, eax
    0018d818jmp 0x18d824
    0018d81a
    0018d81aloc_18d81a:
    0018d81amov rax, [r15+r14+16]
    0018d81fmov rdx, [r15+r14+24]
    0018d824
    0018d824loc_18d824:
    0018d824add rsp, 8
    0018d828pop rbx
    0018d829pop r12
    0018d82bpop r13
    0018d82dpop r14
    0018d82fpop r15
    0018d831pop rbp
    0018d832ret
    0018d7b1
    0018d833
    0018d833core::option::Option<T>::map:
    0018d833test rsi, rsi
    0018d836jne 0x18cfb3
    0018d83cmov [rdi+24], 2
    0018d840ret
    0018d833
    0018d841
    0018d841regex_syntax::unicode::gencat:
    0018d841push r15
    0018d843push r14
    0018d845push rbx
    0018d846sub rsp, 64
    0018d84amov r14, rdx
    0018d84dmov r15, rsi
    0018d850mov rbx, rdi
    0018d853lea rdx, [rip-0x131d30]
    0018d85apush 14
    0018d85cpop rcx
    0018d85dmov rdi, rsi
    0018d860mov rsi, r14
    0018d863call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    0018d868test al, al
    0018d86aje 0x18d87d
    0018d86cmov rdi, rbx
    0018d86fadd rsp, 64
    0018d873pop rbx
    0018d874pop r14
    0018d876pop r15
    0018d878jmp 0x18cf95
    0018d87d
    0018d87dloc_18d87d:
    0018d87dlea rdx, [rip-0x132e99]
    0018d884push 5
    0018d886pop rcx
    0018d887mov rdi, r15
    0018d88amov rsi, r14
    0018d88dcall _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    0018d892test al, al
    0018d894je 0x18d89f
    0018d896lea rsi, [rip-0x153be5]
    0018d89djmp 0x18d8bf
    0018d89f
    0018d89floc_18d89f:
    0018d89flea rdx, [rip-0x132eb6]
    0018d8a6push 3
    0018d8a8pop rcx
    0018d8a9mov rdi, r15
    0018d8acmov rsi, r14
    0018d8afcall _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    0018d8b4test al, al
    0018d8b6je 0x18d8d3
    0018d8b8lea rsi, [rip-0x153c0f]
    0018d8bf
    0018d8bfloc_18d8bf:
    0018d8bfpush 1
    0018d8c1pop rdx
    0018d8c2mov rdi, rbx
    0018d8c5add rsp, 64
    0018d8c9pop rbx
    0018d8capop r14
    0018d8ccpop r15
    0018d8cejmp 0x18cfb3
    0018d8d3
    0018d8d3loc_18d8d3:
    0018d8d3lea rdx, [rip-0x153dfa]
    0018d8dapush 8
    0018d8dcpop rcx
    0018d8ddmov rdi, r15
    0018d8e0mov rsi, r14
    0018d8e3call _<[A] as core::slice::cmp::SlicePartialEq<B>>::equal
    0018d8e8test al, al
    0018d8eaje 0x18d911
    0018d8eclea rsi, [rip-0x131edb]
    0018d8f3mov r14, rsp
    0018d8f6push 10
    0018d8f8pop rdx
    0018d8f9mov rdi, r14
    0018d8fccall regex_syntax::unicode::gencat
    0018d901mov al, [r14]
    0018d904mov cl, [r14+24]
    0018d908cmp cl, 2
    0018d90bjne 0x18d944
    0018d90dmov [rbx], al
    0018d90fjmp 0x18d93e
    0018d911
    0018d911loc_18d911:
    0018d911lea rdi, [rip+0x7d5b8]
    0018d918push 37
    0018d91apop rsi
    0018d91bmov rdx, r15
    0018d91emov rcx, r14
    0018d921call regex_syntax::unicode::property_set
    0018d926mov r14, rsp
    0018d929mov rdi, r14
    0018d92cmov rsi, rax
    0018d92fcall core::option::Option<T>::map
    0018d934cmp [r14+24], 2
    0018d939jne 0x18d986
    0018d93bmov [rbx], 1
    0018d93e
    0018d93eloc_18d93e:
    0018d93emov [rbx+24], 2
    0018d942jmp 0x18d996
    0018d944
    0018d944loc_18d944:
    0018d944mov rdx, [rsp+16]
    0018d949lea r14, [rsp+32]
    0018d94emov [r14+16], rdx
    0018d952movups x0, [rsp+1]
    0018d957movups [r14+1], x0
    0018d95cmov edx, [rsp+25]
    0018d960mov [r14+25], edx
    0018d964mov edx, [rsp+28]
    0018d968mov [r14+28], edx
    0018d96cmov [r14], al
    0018d96fmov [r14+24], cl
    0018d973mov rdi, r14
    0018d976call regex_syntax::hir::ClassUnicode::negate
    0018d97bmovups x0, [r14]
    0018d97fmovups x1, [r14+16]
    0018d984jmp 0x18d98f
    0018d986
    0018d986loc_18d986:
    0018d986movups x0, [rsp]
    0018d98amovups x1, [rsp+16]
    0018d98f
    0018d98floc_18d98f:
    0018d98fmovups [rbx+16], x1
    0018d993movups [rbx], x0
    0018d996
    0018d996loc_18d996:
    0018d996add rsp, 64
    0018d99apop rbx
    0018d99bpop r14
    0018d99dpop r15
    0018d99fret
    0018d841