Function at 0x14016c540
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1e8
movaps xmmword [rsp + 0x1d0], xmm6
mov rdi, rdx
mov rsi, rcx
mov rcx, rdx
call sym.regex_syntax::ast::parse::ParserI_P_::char::h24a1626c7baf6ef3
mov dword [rsp + 0x150], eax
cmp eax, 0x5c
jne 0x14016d0ba
mov r15, qword [rdi]
lea r14, [r15 + 0xa0]
mov rax, qword [r15 + 0xb0]
mov qword [rsp + 0x40], rax
movups xmm0, xmmword [r15 + 0xa0]
movaps xmmword [rsp + 0x30], xmm0
mov rcx, rdi
call sym.regex_syntax::ast::parse::ParserI_P_::bump::h6bc36e6f5d98a358
test al, al
je 0x14016c635
mov rcx, rdi
call sym.regex_syntax::ast::parse::ParserI_P_::char::h24a1626c7baf6ef3
mov ebx, eax
and eax, 0x1ffff8
cmp eax, 0x30
jne 0x14016c6a6
cmp byte [r15 + 0xc1], 0
je 0x14016c80e
lea rcx, [rsp + 0xc0]
mov rdx, rdi
call sym.regex_syntax::ast::parse::ParserI_P_::parse_octal::hca1b2ecde0ab7214
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xd0], rax
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0xc0], xmm0
mov rax, qword [rsp + 0xf0]
mov qword [rsi + 0x38], rax
movaps xmm1, xmmword [rsp + 0xe0]
movups xmmword [rsi + 0x28], xmm1
movups xmmword [rsi + 8], xmm0
mov rax, qword [rsp + 0xd0]
mov qword [rsi + 0x18], rax
mov rax, qword [rsp + 0xd8]
mov qword [rsi + 0x20], rax
jmp 0x14016c723
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0xe8], rax
movups xmm0, xmmword [r14]
movups xmmword [rsp + 0xd8], xmm0
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xd0], rax
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0xc0], xmm0
mov rbx, qword [rdi + 8]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x14016c732
js 0x14016ca5b
mov rax, qword [str.Qp__]
movzx eax, byte [rax]
mov edx, 1
mov rcx, rdi
call sym.__rust_alloc
mov r14, rax
test rax, rax
jne 0x14016c738
jmp 0x14016d0f2
mov eax, ebx
and eax, 0x1ffffe
cmp eax, 0x38
jne 0x14016c781
cmp byte [r15 + 0xc1], 0
je 0x14016c9d0
mov rcx, rdi
call sym.regex_syntax::ast::parse::ParserI_P_::bump::h6bc36e6f5d98a358
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x78], rax
movups xmm0, xmmword [r14]
movups xmmword [rsp + 0x68], xmm0
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x50], xmm0
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x60], rax
mov ecx, ebx
call sym.regex_syntax::is_meta_character::h28b2db4b03186c49
test al, al
je 0x14016ca62
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov dword [rsi + 0x38], ebx
mov byte [rsi + 0x3c], 1
mov byte [rsi + 0x70], 2
mov dword [rsi], 0x22
jmp 0x14016c904
mov r14d, 1
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sym.memcpy
mov dword [rsi], 0xa
mov qword [rsi + 0x38], r14
mov qword [rsi + 0x40], rdi
mov qword [rsi + 0x48], rdi
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmm1, xmmword [rsp + 0xd0]
movaps xmm2, xmmword [rsp + 0xe0]
movups xmmword [rsi + 0x50], xmm0
movups xmmword [rsi + 0x60], xmm1
movups xmmword [rsi + 0x70], xmm2
jmp 0x14016c904
lea eax, [rbx - 0x44]
cmp eax, 0x34
ja 0x14016c6c4
movabs rcx, 0x8800100088001
bt rcx, rax
jae 0x14016c920
lea rcx, [rsp + 0xc0]
mov rdx, rdi
call sym.regex_syntax::ast::parse::ParserI_P_::parse_perl_class::haa351f60d7fdb4d2
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xd0], rax
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0xc0], xmm0
mov rax, qword [rsp + 0xf0]
mov qword [rsi + 0x38], rax
movaps xmm1, xmmword [rsp + 0xe0]
movups xmmword [rsi + 0x28], xmm1
movups xmmword [rsi + 8], xmm0
mov rax, qword [rsp + 0xd0]
mov qword [rsi + 0x18], rax
mov rax, qword [rsp + 0xd8]
mov qword [rsi + 0x20], rax
mov byte [rsi + 0x70], 5
mov dword [rsi], 0x22
jmp 0x14016c904
mov rbx, qword [r14]
mov rcx, rdi
call sym.regex_syntax::ast::parse::ParserI_P_::char::h24a1626c7baf6ef3
mov ecx, 1
cmp eax, 0x80
jb 0x14016c83f
mov ecx, 2
cmp eax, 0x800
jb 0x14016c83f
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add rbx, rcx
jb 0x14016d101
mov qword [rsp + 0x148], rbx
mov r13, qword [r15 + 0xb0]
inc r13
je 0x14016d11b
mov r15, qword [r15 + 0xa8]
mov rcx, rdi
call sym.regex_syntax::ast::parse::ParserI_P_::char::h24a1626c7baf6ef3
xor ebp, ebp
cmp eax, 0xa
mov r14d, 1
cmove r13, r14
sete r12b
mov rbx, qword [rdi + 8]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x14016c8b8
js 0x14016ca5b
mov rax, qword [str.Qp__]
movzx eax, byte [rax]
mov edx, 1
mov rcx, rdi
call sym.__rust_alloc
mov r14, rax
test rax, rax
je 0x14016d0f2
mov bpl, r12b
add r15, rbp
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sym.memcpy
mov dword [rsi], 0x20
mov qword [rsi + 0x38], r14
mov qword [rsi + 0x40], rdi
mov qword [rsi + 0x48], rdi
movaps xmm0, xmmword [rsp + 0x30]
movups xmmword [rsi + 0x50], xmm0
mov rax, qword [rsp + 0x40]
mov qword [rsi + 0x60], rax
mov rax, qword [rsp + 0x148]
mov qword [rsi + 0x68], rax
mov qword [rsi + 0x70], r15
mov qword [rsi + 0x78], r13
movabs rcx, 0x12000000020000
bt rcx, rax
jae 0x14016caab
lea rcx, [rsp + 0xc0]
mov rdx, rdi
call sym.regex_syntax::ast::parse::ParserI_P_::parse_hex::h53886eb4a254e963
mov eax, dword [rsp + 0xc0]
cmp eax, 0x22
jne 0x14016cc34
mov rcx, qword [rsp + 0xf8]
mov qword [rsp + 0x184], rcx
movups xmm0, xmmword [rsp + 0xc8]
movups xmm1, xmmword [rsp + 0xd8]
movups xmm2, xmmword [rsp + 0xe8]
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x70], xmm2
mov qword [rsp + 0x80], rcx
mov rdx, qword [rsp + 0x40]
mov qword [rsp + 0x60], rdx
movaps xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsi + 0x38], rcx
movups xmmword [rsi + 0x28], xmm2
mov rcx, qword [rsp + 0x60]
mov qword [rsi + 0x18], rcx
mov rcx, qword [rsp + 0x68]
mov qword [rsi + 0x20], rcx
movups xmmword [rsi + 8], xmm0
or sil, r8b
jo 0x14016c9cb
mov rbx, qword [r14]
mov rcx, rdi
call sym.regex_syntax::ast::parse::ParserI_P_::char::h24a1626c7baf6ef3
mov ecx, 1
cmp eax, 0x80
jb 0x14016ca01
mov ecx, 2
cmp eax, 0x800
jb 0x14016ca01
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add rbx, rcx
jb 0x14016d101
mov qword [rsp + 0x148], rbx
mov r13, qword [r15 + 0xb0]
inc r13
je 0x14016d11b
mov r15, qword [r15 + 0xa8]
mov rcx, rdi
call sym.regex_syntax::ast::parse::ParserI_P_::char::h24a1626c7baf6ef3
xor ebp, ebp
cmp eax, 0xa
mov r14d, 1
cmove r13, r14
sete r12b
mov rbx, qword [rdi + 8]
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x14016c8b8
jns 0x14016c895
call dbg.capacity_overflow
ud2
cmp ebx, 0x7f
jbe 0x14016cbde
add ebx, 0xffffffc4
cmp ebx, 0x3e
ja case.0x14016ca85.61
lea rax, [0x1402ed6a8]
movsxd rcx, dword [rax + rbx*4]
add rcx, rax
jmp rcx
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov byte [rsi + 0x38], 8
jmp 0x14016d039
movabs rcx, 0x100000001000
bt rcx, rax
jae 0x14016c6c4
lea rcx, [rsp + 0xc0]
mov rdx, rdi
call sym.regex_syntax::ast::parse::ParserI_P_::parse_unicode_class::h00d87be381182552
mov eax, dword [rsp + 0xc0]
cmp eax, 0x22
jne 0x14016ccdb
movups xmm0, xmmword [rsp + 0x128]
movups xmmword [rsp + 0x1b4], xmm0
movups xmm1, xmmword [rsp + 0x118]
movups xmmword [rsp + 0x1a4], xmm1
movups xmm2, xmmword [rsp + 0x108]
movups xmmword [rsp + 0x194], xmm2
movups xmm3, xmmword [rsp + 0xc8]
movups xmm4, xmmword [rsp + 0xd8]
movups xmm5, xmmword [rsp + 0xe8]
movups xmm6, xmmword [rsp + 0xf8]
movups xmmword [rsp + 0x184], xmm6
movaps xmmword [rsp + 0x50], xmm3
movaps xmmword [rsp + 0x60], xmm4
movaps xmmword [rsp + 0x70], xmm5
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x90], xmm2
movaps xmmword [rsp + 0xa0], xmm1
movaps xmmword [rsp + 0xb0], xmm0
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x98], rcx
movaps xmm0, xmmword [rsp + 0x30]
movups xmmword [rsp + 0x88], xmm0
movaps xmm0, xmmword [rsp + 0xb0]
movups xmmword [rsi + 0x68], xmm0
movaps xmm0, xmmword [rsp + 0xa0]
movups xmmword [rsi + 0x58], xmm0
mov rcx, qword [rsp + 0x90]
mov qword [rsi + 0x48], rcx
mov rcx, qword [rsp + 0x98]
mov qword [rsi + 0x50], rcx
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
movaps xmm3, xmmword [rsp + 0x80]
movups xmmword [rsi + 0x38], xmm3
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov dword [rsi], eax
jmp 0x14016c904
mov eax, ebx
and eax, 0x1ffffd
cmp eax, 0x3c
je 0x14016ca6b
lea eax, [rbx - 0x3a]
cmp eax, 0xfffffff5
ja 0x14016ca6b
mov eax, ebx
and eax, 0x1fffdf
add eax, 0xffffffa5
cmp eax, 0xffffffe6
jae 0x14016ca6b
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov dword [rsi + 0x38], ebx
mov byte [rsi + 0x3c], 2
jmp 0x14016c723
movups xmm0, xmmword [rsp + 0xc4]
movups xmm1, xmmword [rsp + 0xd4]
movups xmm2, xmmword [rsp + 0xe4]
movups xmm3, xmmword [rsp + 0xf0]
movups xmmword [rsp + 0x17c], xmm3
movaps xmmword [rsp + 0x170], xmm2
movaps xmmword [rsp + 0x160], xmm1
movaps xmmword [rsp + 0x150], xmm0
movups xmm0, xmmword [rsp + 0x130]
movups xmmword [rsi + 0x70], xmm0
movups xmm0, xmmword [rsp + 0x120]
movups xmmword [rsi + 0x60], xmm0
movups xmm0, xmmword [rsp + 0x110]
movups xmmword [rsi + 0x50], xmm0
movups xmm0, xmmword [rsp + 0x100]
movups xmmword [rsi + 0x40], xmm0
movups xmm0, xmmword [rsp + 0x17c]
movups xmmword [rsi + 0x30], xmm0
movaps xmm0, xmmword [rsp + 0x150]
movaps xmm1, xmmword [rsp + 0x160]
movaps xmm2, xmmword [rsp + 0x170]
movups xmmword [rsi + 0x24], xmm2
movups xmmword [rsi + 0x14], xmm1
adc al, 0xf
adc dword [rsi + 4], eax
mov ecx, dword [rsp + 0x134]
mov dword [rsp + 0x1c0], ecx
movups xmm0, xmmword [rsp + 0x124]
movaps xmmword [rsp + 0x1b0], xmm0
movups xmm1, xmmword [rsp + 0x114]
movaps xmmword [rsp + 0x1a0], xmm1
movups xmm2, xmmword [rsp + 0x104]
movaps xmmword [rsp + 0x190], xmm2
movups xmm3, xmmword [rsp + 0xc4]
adc byte [rsp + 0xc4], bl
mov rbx, qword [rdi + 8]
mov rdi, qword [rdi + 0x10]
mov rcx, rdi
xor edx, edx
call sym.alloc::raw_vec::RawVec_T_A_::allocate_in::h552ca54c6595c41a
mov r14, rax
mov r15, rdx
mov rcx, rax
mov rdx, rbx
mov r8, rdi
call sym.memcpy
mov dword [rsi], 0xb
mov qword [rsi + 0x38], r14
mov qword [rsi + 0x40], r15
mov qword [rsi + 0x48], rdi
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
jmp 0x14016c770
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov byte [rsi + 0x38], 9
jmp 0x14016d039
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov byte [rsi + 0x38], 2
jmp 0x14016d039
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov byte [rsi + 0x38], 5
jmp 0x14016d039
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov dword [rsi + 0x38], 7
mov word [rsi + 0x3c], 6
jmp 0x14016c723
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x170], xmm2
movaps xmmword [rsp + 0x160], xmm1
movaps xmmword [rsp + 0x150], xmm0
mov rax, qword [r14]
mov bl, 4
cmp rax, qword [rdi + 0x10]
je 0x14016cf01
mov rcx, rdi
call sym.regex_syntax::ast::parse::ParserI_P_::char::h24a1626c7baf6ef3
cmp eax, 0x7b
jne 0x14016cf01
lea rcx, [rsp + 0xc0]
lea r8, [rsp + 0x30]
mov rdx, rdi
call sym.regex_syntax::ast::parse::ParserI_P_::maybe_parse_special_word_boundary::h8bf017527415af8c
mov eax, dword [rsp + 0xc0]
cmp eax, 0x22
jne 0x14016d048
movzx eax, byte [rsp + 0xc4]
cmp al, 0xc
je 0x14016cf01
mov rcx, qword [r14 + 0x10]
mov qword [rsp + 0x178], rcx
movups xmm0, xmmword [r14]
movups xmmword [rsp + 0x168], xmm0
mov ebx, eax
movaps xmm0, xmmword [rsp + 0x150]
movaps xmm1, xmmword [rsp + 0x160]
mov rax, qword [rsp + 0x170]
mov qword [rsi + 0x28], rax
mov rax, qword [rsp + 0x178]
mov qword [rsi + 0x30], rax
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov byte [rsi + 0x38], bl
jmp 0x14016d039
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov dword [rsi + 0x38], 0xc
mov word [rsi + 0x3c], 0x106
jmp 0x14016c723
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov dword [rsi + 0x38], 0xa
mov word [rsi + 0x3c], 0x306
jmp 0x14016c723
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov dword [rsi + 0x38], 0xd
mov word [rsi + 0x3c], 0x406
jmp 0x14016c723
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov dword [rsi + 0x38], 9
mov word [rsi + 0x3c], 0x206
jmp 0x14016c723
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov dword [rsi + 0x38], 0xb
mov word [rsi + 0x3c], 0x506
jmp 0x14016c723
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
movups xmmword [rsi + 0x28], xmm2
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov byte [rsi + 0x38], 3
mov byte [rsi + 0x70], 3
mov dword [rsi], 0x22
jmp 0x14016c904
movzx ecx, byte [rsp + 0xc4]
movups xmm0, xmmword [rsp + 0x130]
movups xmmword [rsi + 0x70], xmm0
movups xmm0, xmmword [rsp + 0x125]
movups xmmword [rsi + 0x65], xmm0
movups xmm0, xmmword [rsp + 0x115]
movups xmmword [rsi + 0x55], xmm0
movups xmm0, xmmword [rsp + 0x105]
movups xmmword [rsi + 0x45], xmm0
movups xmm0, xmmword [rsp + 0xf5]
movups xmmword [rsi + 0x35], xmm0
movups xmm0, xmmword [rsp + 0xe5]
movups xmmword [rsi + 0x25], xmm0
movups xmm0, xmmword [rsp + 0xd5]
movups xmmword [rsi + 0x15], xmm0
movups xmm0, xmmword [rsp + 0xc5]
movups xmmword [rsi + 5], xmm0
mov dword [rsi], eax
mov byte [rsi + 4], cl
jmp 0x14016c904
mov qword [rsp + 0xc0], 0
lea rax, [0x1402ee140]
mov qword [rsp + 0x20], rax
lea r8, [0x1402ee138]
lea rdx, [rsp + 0x150]
lea r9, [rsp + 0xc0]
xor ecx, ecx
call sym.core::panicking::assert_failed::h303bbaca6bc83ab3
ud2
mov ecx, 1
mov rdx, rdi
call dbg.handle_alloc_error
ud2
lea rcx, [0x1402edb48]
lea r8, [0x1402edc48]
mov edx, 0x2b
call dbg.panic
ud2
lea rcx, [0x1402edb48]
lea r8, [0x1402edc60]
mov edx, 0x2b
call dbg.panic
ud2