Function at 0x140212e40
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, 0x118
mov r15, rdx
mov rdi, rcx
mov rbx, qword [rdx]
mov r12, qword [rdx + 0x10]
lea rsi, [rbx + 0xa0]
mov r14, qword [rbx + 0xa0]
cmp r14, r12
jne 0x140212ed6
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x78], rax
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x68], xmm0
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x60], rax
movups xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x50], xmm0
mov rbx, qword [r15 + 8]
test r12, r12
je 0x14021322b
js 0x140213685
mov rax, qword [0x14050df18]
movzx eax, byte [rax]
mov r15d, 1
mov edx, 1
mov rcx, r12
call sym.__rust_alloc
test rax, rax
je 0x140213688
mov r14, rax
jmp 0x140213231
mov dword [rsp + 0x4c], r8d
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x30], rdi
lea r13, [rbx + 0xa8]
mov rdi, qword [rbx + 0xa8]
mov rax, qword [rbx + 0xb0]
mov qword [rsp + 0x38], rax
movabs rbp, 0x2a00000000001
jmp 0x140212f30
add r12d, 0xffffffd0
cmp r12d, 0xa
jae 0x140212ff5
nop dword [rax]
mov rcx, r15
call sym.regex_syntax::ast::parse::ParserI_P_::bump::h5ab731afecfcb9f3
test al, al
je 0x140213102
mov rcx, r15
call sym.regex_syntax::ast::parse::ParserI_P_::char::h9869448dc5afa22f
cmp eax, 0x3e
je 0x140213102
mov rcx, r15
call sym.regex_syntax::ast::parse::ParserI_P_::char::h9869448dc5afa22f
mov r12d, eax
cmp qword [rsi], r14
jne 0x140212fa0
cmp qword [r13], rdi
jne 0x140212fa0
mov rax, qword [rsp + 0x38]
cmp qword [rbx + 0xb0], rax
jne 0x140212fa0
cmp r12d, 0x5f
je 0x140212f20
mov eax, r12d
and eax, 0x1fffdf
add eax, 0xffffffbf
cmp eax, 0x1a
jb 0x140212f20
cmp r12d, 0x80
jb 0x140212ff5
mov ecx, r12d
call sym.core::unicode::unicode_data::alphabetic::lookup::he1a3d32140fbc714
test al, al
jne 0x140212f20
jmp 0x140212ff5
lea eax, [r12 - 0x2e]
cmp eax, 0x31
ja 0x140212fb4
bt rbp, rax
jb 0x140212f20
mov eax, r12d
and eax, 0x1fffdf
add eax, 0xffffffbf
cmp eax, 0x1a
jb 0x140212f20
cmp r12d, 0x80
jb 0x140212f0b
mov ecx, r12d
call sym.core::unicode::unicode_data::alphabetic::lookup::he1a3d32140fbc714
test al, al
jne 0x140212f20
mov ecx, r12d
call sym.core::unicode::unicode_data::n::lookup::h9d84b00f8f494368
test al, al
jne 0x140212f20
mov rdi, qword [rsi]
mov rcx, r15
call sym.regex_syntax::ast::parse::ParserI_P_::char::h9869448dc5afa22f
mov ecx, 1
cmp eax, 0x80
jb 0x140213026
mov ecx, 2
cmp eax, 0x800
jb 0x140213026
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add rdi, rcx
jb 0x1402136f3
mov r12, qword [rbx + 0xb0]
inc r12
je 0x1402136ff
mov r13, qword [r13]
mov rcx, r15
call sym.regex_syntax::ast::parse::ParserI_P_::char::h9869448dc5afa22f
mov ebp, eax
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x60], rax
movups xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x50], xmm0
mov rbx, qword [r15 + 8]
mov esi, 1
mov r14d, 1
cmp qword [rsp + 0x40], 0
je 0x1402130a6
js 0x14021370b
mov rax, qword [0x14050df18]
movzx eax, byte [rax]
mov r15d, 1
mov edx, 1
mov rcx, qword [rsp + 0x40]
call sym.__rust_alloc
test rax, rax
je 0x14021370e
mov r14, rax
xor eax, eax
cmp ebp, 0xa
sete al
cmove r12, rsi
add r13, rax
mov rcx, r14
mov rdx, rbx
mov rsi, qword [rsp + 0x40]
mov r8, rsi
call sym.memcpy
movaps xmm0, xmmword [rsp + 0x50]
mov rcx, qword [rsp + 0x30]
movups xmmword [rcx + 0x50], xmm0
mov rax, qword [rsp + 0x60]
mov qword [rcx + 0x60], rax
mov qword [rcx], rsi
mov qword [rcx + 8], r14
mov qword [rcx + 0x10], rsi
mov dword [rcx + 0x18], 0x13
mov qword [rcx + 0x68], rdi
mov qword [rcx + 0x70], r13
mov qword [rcx + 0x78], r12
jmp 0x140213653
mov rbp, qword [rsi]
movups xmm0, xmmword [r13]
movaps xmmword [rsp + 0x100], xmm0
mov r12, qword [rsp + 0x40]
cmp rbp, r12
jne 0x140213184
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x78], rax
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x68], xmm0
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x60], rax
movups xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x50], xmm0
mov rbx, qword [r15 + 8]
test r12, r12
je 0x140213390
mov rsi, qword [rsp + 0x30]
js 0x140213685
mov rax, qword [0x14050df18]
movzx eax, byte [rax]
mov r15d, 1
mov edx, 1
mov rcx, r12
call sym.__rust_alloc
test rax, rax
je 0x140213688
mov r14, rax
jmp 0x14021339b
mov rcx, r15
call sym.regex_syntax::ast::parse::ParserI_P_::char::h9869448dc5afa22f
mov dword [rsp + 0xa0], eax
cmp eax, 0x3e
jne 0x140213693
mov rcx, r15
call sym.regex_syntax::ast::parse::ParserI_P_::bump::h5ab731afecfcb9f3
mov rsi, qword [r15 + 8]
cmp rbp, r14
jb 0x140213668
test r14, r14
je 0x1402131ca
cmp r14, r12
jae 0x140213668
cmp byte [rsi + r14], 0xc0
jl 0x140213668
test rbp, rbp
je 0x1402131e2
cmp rbp, r12
jae 0x140213668
cmp byte [rsi + rbp], 0xbf
jle 0x140213668
mov r15, rbp
sub r15, r14
jne 0x140213271
test r12, r12
je 0x1402133db
js 0x140213685
mov rax, qword [0x14050df18]
movzx eax, byte [rax]
mov r15d, 1
mov edx, 1
mov rcx, r12
call sym.__rust_alloc
test rax, rax
je 0x140213688
mov rbx, rax
jmp 0x1402133e0
mov r14d, 1
mov rcx, r14
mov rdx, rbx
mov r8, r12
call sym.memcpy
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
movups xmmword [rdi + 0x50], xmm0
movups xmmword [rdi + 0x60], xmm1
movups xmmword [rdi + 0x70], xmm2
mov qword [rdi], r12
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], r12
mov dword [rdi + 0x18], 0x14
jmp 0x140213653
js 0x1402136c3
mov rax, qword [0x14050df18]
movzx eax, byte [rax]
mov r13d, 1
mov edx, 1
mov rcx, r15
call sym.__rust_alloc
test rax, rax
je 0x1402136c6
mov r12, rax
lea rdx, [rsi + r14]
mov rcx, rax
mov r8, r15
call sym.memcpy
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], rdi
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rbp
movaps xmm0, xmmword [rsp + 0x100]
movups xmmword [rsp + 0x88], xmm0
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], r15
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x98], eax
cmp qword [rbx + 0x60], 0
jne 0x1402136d1
mov qword [rbx + 0x60], 0xffffffffffffffff
mov rbp, qword [rbx + 0x78]
test rbp, rbp
je 0x140213427
mov qword [rsp + 0x38], r12
mov qword [rsp + 0xe0], rsi
mov rdi, qword [rbx + 0x70]
xor r14d, r14d
mov r13, rbp
nop dword [rax]
shr rbp, 1
add rbp, r14
lea rsi, [rbp*4]
add rsi, rbp
shl rsi, 4
mov rcx, qword [rdi + rsi + 8]
mov r8, qword [rdi + rsi + 0x10]
mov r12, r8
sub r12, r15
cmovae r8, r15
mov rdx, qword [rsp + 0x38]
call sub.msvcrt.dll_memcmp
cdqe
test eax, eax
cmovne r12, rax
test r12, r12
je 0x14021354f
lea rax, [rbp + 1]
test r12, r12
cmovg r13, rbp
cmovs r14, rax
mov rbp, r13
sub rbp, r14
ja 0x140213330
jmp 0x14021342a
mov r14d, 1
mov rsi, qword [rsp + 0x30]
mov rcx, r14
mov rdx, rbx
mov r8, r12
call sym.memcpy
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
movups xmmword [rsi + 0x50], xmm0
movups xmmword [rsi + 0x60], xmm1
movups xmmword [rsi + 0x70], xmm2
mov qword [rsi], r12
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], r12
mov dword [rsi + 0x18], 0x14
jmp 0x140213653
mov ebx, 1
mov rcx, rbx
mov rdx, rsi
mov r8, r12
call sym.memcpy
mov rax, qword [rsp + 0x30]
mov qword [rax], r12
mov qword [rax + 8], rbx
mov qword [rax + 0x10], r12
mov dword [rax + 0x18], 0x12
mov qword [rax + 0x50], r14
mov qword [rax + 0x58], rdi
mov rcx, qword [rsp + 0x38]
mov qword [rax + 0x60], rcx
mov qword [rax + 0x68], r14
mov qword [rax + 0x70], rdi
mov qword [rax + 0x78], rcx
jmp 0x140213653
xor r14d, r14d
lea rcx, [rsp + 0xe8]
lea rdx, [rsp + 0x50]
call sym.__alloc::string::String_as_core::clone::Clone_::clone::haa927812f4ac785e
lea rax, [rsp + 0x68]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movaps xmmword [rsp + 0xc0], xmm2
movaps xmmword [rsp + 0xb0], xmm1
movaps xmmword [rsp + 0xa0], xmm0
mov rdi, qword [rsp + 0xe8]
mov r15, qword [rsp + 0xf0]
mov r12, qword [rbx + 0x78]
cmp r12, r14
mov ebp, dword [rsp + 0x4c]
jb 0x1402136df
lea rcx, [rbx + 0x68]
mov rsi, qword [rsp + 0xf8]
cmp r12, qword [rcx]
jne 0x14021349b
call sym.alloc::raw_vec::RawVec_T_A_::grow_one::h87bcaab9efad7e80
lea r13, [r14 + r14*4]
shl r13, 4
add r13, qword [rbx + 0x70]
mov rax, r12
sub rax, r14
jbe 0x1402134c3
lea rcx, [r13 + 0x50]
shl rax, 4
lea r8, [rax + rax*4]
mov rdx, r13
call sub.msvcrt.dll_memmove
mov qword [r13], rdi
mov qword [r13 + 8], r15
mov qword [r13 + 0x10], rsi
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmm1, xmmword [rsp + 0xb0]
movaps xmm2, xmmword [rsp + 0xc0]
movups xmmword [r13 + 0x18], xmm0
movups xmmword [r13 + 0x28], xmm1
movups xmmword [r13 + 0x38], xmm2
mov dword [r13 + 0x48], ebp
inc r12
mov qword [rbx + 0x78], r12
inc qword [rbx + 0x60]
movups xmm0, xmmword [rsp + 0x90]
mov rcx, qword [rsp + 0x30]
movups xmmword [rcx + 0x48], xmm0
movups xmm0, xmmword [rsp + 0x50]
movups xmm1, xmmword [rsp + 0x60]
movups xmm2, xmmword [rsp + 0x70]
movups xmm3, xmmword [rsp + 0x80]
movups xmmword [rcx + 0x38], xmm3
movups xmmword [rcx + 0x28], xmm2
movups xmmword [rcx + 0x18], xmm1
movups xmmword [rcx + 8], xmm0
movabs rax, 0x8000000000000000
mov qword [rcx], rax
jmp 0x140213653
movups xmm0, xmmword [rdi + rsi + 0x18]
movups xmm1, xmmword [rdi + rsi + 0x28]
movups xmm2, xmmword [rdi + rsi + 0x38]
movups xmmword [rsp + 0xc4], xmm2
movups xmmword [rsp + 0xb4], xmm1
movups xmmword [rsp + 0xa4], xmm0
mov rdi, qword [rsp + 0x40]
test rdi, rdi
je 0x1402135bb
mov rsi, qword [rsp + 0x30]
js 0x14021371b
mov rax, qword [0x14050df18]
movzx eax, byte [rax]
mov r14d, 1
mov edx, 1
mov rcx, rdi
call sym.__rust_alloc
test rax, rax
mov r12, qword [rsp + 0x38]
je 0x14021371e
mov rbp, rax
jmp 0x1402135ca
mov ebp, 1
mov rsi, qword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
mov rcx, rbp
mov rdx, qword [rsp + 0xe0]
mov r8, rdi
call sym.memcpy
movups xmm0, xmmword [rsp + 0xa0]
movups xmm1, xmmword [rsp + 0xb0]
movups xmm2, xmmword [rsp + 0xc0]
movups xmmword [rsi + 0x1c], xmm0
movups xmmword [rsi + 0x2c], xmm1
movups xmmword [rsi + 0x3c], xmm2
mov eax, dword [rsp + 0xd0]
mov dword [rsi + 0x4c], eax
inc qword [rbx + 0x60]
lea rax, [rsp + 0x68]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmmword [rsi + 0x70], xmm2
movups xmmword [rsi + 0x60], xmm1
movups xmmword [rsi + 0x50], xmm0
mov qword [rsi], rdi
mov qword [rsi + 8], rbp
mov qword [rsi + 0x10], rdi
mov dword [rsi + 0x18], 0x11
test r15, r15
je 0x140213653
mov r8d, 1
mov rcx, r12
mov rdx, r15
call sym.__rust_dealloc
nop
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rax, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_syntax_0.8.3_src_ast_parse.rs
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov rdx, r12
mov r8, r14
mov r9, rbp
call sym.core::str::slice_error_fail::hc60e75cc52ff31b8
xor r15d, r15d
mov rcx, r15
mov rdx, r12
call sym.alloc::raw_vec::handle_error::hb4a2c97b2f2cc7c5
mov qword [rsp + 0x50], 0
lea rax, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_syntax_0.8.3_src_ast_parse.rs
mov qword [rsp + 0x20], rax
lea r8, [0x14047b1b0]
lea rdx, [rsp + 0xa0]
lea r9, [rsp + 0x50]
xor ecx, ecx
call sym.core::panicking::assert_failed::hc47370799f09da5c
xor r13d, r13d
mov rcx, r13
mov rdx, r15
call sym.alloc::raw_vec::handle_error::hb4a2c97b2f2cc7c5
lea rcx, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_syntax_0.8.3_src_ast_parse.rs
call sym.core::cell::panic_already_borrowed::h84c134fe425e0ec9
jmp 0x140213729
lea r8, [0x140490038]
mov rcx, r14
mov rdx, r12
call sym.alloc::vec::Vec_T_A_::insert::assert_failed::h4ed6a9bf8beae222
jmp 0x140213729
lea rcx, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_syntax_0.8.3_src_ast_parse.rs
call sym.core::option::unwrap_failed::h511674c62460528b
lea rcx, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_syntax_0.8.3_src_ast_parse.rs
call sym.core::option::unwrap_failed::h511674c62460528b
xor r15d, r15d
mov rcx, r15
mov rdx, qword [rsp + 0x40]
call sym.alloc::raw_vec::handle_error::hb4a2c97b2f2cc7c5
xor r14d, r14d
mov rcx, r14
mov rdx, rdi
call sym.alloc::raw_vec::handle_error::hb4a2c97b2f2cc7c5
ud2