Function at 0x1400e9650
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
mov r14, rdx
mov rsi, rcx
mov rcx, rdx
call sym.regex_syntax::ast::parse::ParserI_P_::char::hbee8820e0d3d228e
cmp eax, 0x70
je 0x1400e9687
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::char::hbee8820e0d3d228e
cmp eax, 0x50
jne 0x1400ea482
mov r12, qword [r14]
cmp qword [r12 + 0x80], 0
jne 0x1400ea453
mov qword [r12 + 0x80], 0xffffffffffffffff
mov qword [r12 + 0x98], 0
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::char::hbee8820e0d3d228e
mov ebp, eax
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::bump::h1391677d43082c5a
test al, al
je 0x1400e9970
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::bump_space::he36b9ee8c7e92674
mov rbx, qword [r14 + 0x10]
cmp qword [r12 + 0xa0], rbx
je 0x1400e9974
lea rdi, [r12 + 0xa0]
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::char::hbee8820e0d3d228e
mov r15, qword [rdi]
cmp eax, 0x7b
jne 0x1400e9a51
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::char::hbee8820e0d3d228e
mov ecx, 1
cmp eax, 0x80
jb 0x1400e972f
mov ecx, 2
cmp eax, 0x800
jb 0x1400e972f
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add r15, rcx
jb 0x1400ea4c2
mov qword [rsp + 0xf8], r15
mov dword [rsp + 0x68], ebp
mov rbp, qword [r12 + 0xb0]
inc rbp
je 0x1400ea4ce
lea r15, [r12 + 0x88]
mov r13, qword [r12 + 0xa8]
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::char::hbee8820e0d3d228e
xor ecx, ecx
cmp eax, 0xa
sete cl
mov eax, 1
cmove rbp, rax
mov qword [rsp + 0x60], rbp
add rcx, r13
mov qword [rsp + 0x58], rcx
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::bump::h1391677d43082c5a
test al, al
jne 0x1400e9813
cmp qword [rdi], rbx
jne 0x1400e9b77
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x98], rax
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x88], xmm0
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x80], rax
movups xmm0, xmmword [rdi]
movaps xmmword [rsp + 0x70], xmm0
mov rdi, qword [r14 + 8]
test rbx, rbx
je 0x1400e99eb
jns 0x1400e99c2
jmp 0x1400ea478
mov rcx, qword [r12 + 0x90]
mov byte [rcx + r13], al
inc r13
mov qword [r12 + 0x98], r13
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::bump::h1391677d43082c5a
test al, al
je 0x1400e9797
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::bump_space::he36b9ee8c7e92674
cmp qword [rdi], rbx
je 0x1400e9797
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::char::hbee8820e0d3d228e
cmp eax, 0x7d
je 0x1400e9797
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::char::hbee8820e0d3d228e
cmp eax, 0x80
jae 0x1400e9870
mov r13, qword [r12 + 0x98]
cmp r13, qword [r12 + 0x88]
jne 0x1400e97f0
mov rcx, r15
mov ebp, eax
call sym.alloc::raw_vec::RawVec_T_A_::grow_one::h300ed7d86b668954
mov eax, ebp
jmp 0x1400e97f0
mov dword [rsp + 0x70], 0
mov ecx, eax
cmp eax, 0x800
jae 0x1400e98a0
shr ecx, 6
or cl, 0xc0
mov byte [rsp + 0x70], cl
mov r13d, 2
mov ecx, 1
jmp 0x1400e9900
cmp eax, 0x10000
jae 0x1400e98cd
shr ecx, 0xc
or cl, 0xe0
mov byte [rsp + 0x70], cl
mov ecx, eax
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [rsp + 0x71], cl
mov r13d, 3
mov ecx, 2
jmp 0x1400e9900
shr ecx, 0x12
or cl, 0xf0
mov byte [rsp + 0x70], cl
mov ecx, eax
shr ecx, 0xc
and cl, 0x3f
or cl, 0x80
mov byte [rsp + 0x71], cl
mov ecx, eax
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [rsp + 0x72], cl
mov r13d, 4
mov ecx, 3
and al, 0x3f
or al, 0x80
mov byte [rsp + rcx + 0x70], al
mov rax, qword [r12 + 0x88]
mov rbp, qword [r12 + 0x98]
sub rax, rbp
cmp rax, r13
jb 0x1400e9958
mov rcx, qword [r12 + 0x90]
add rcx, rbp
lea rdx, [rsp + 0x70]
mov r8, r13
call sym.memcpy
add rbp, r13
mov qword [r12 + 0x98], rbp
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::bump::h1391677d43082c5a
test al, al
jne 0x1400e9813
jmp 0x1400e9797
mov rcx, r15
mov rdx, rbp
mov r8, r13
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h837baa1ab4fbcfd9
mov rbp, qword [r12 + 0x98]
jmp 0x1400e9920
mov rbx, qword [r14 + 0x10]
mov rax, qword [r12 + 0xb0]
mov qword [rsp + 0x98], rax
movups xmm0, xmmword [r12 + 0xa0]
movups xmmword [rsp + 0x88], xmm0
mov rax, qword [r12 + 0xb0]
mov qword [rsp + 0x80], rax
movups xmm0, xmmword [r12 + 0xa0]
movaps xmmword [rsp + 0x70], xmm0
mov rdi, qword [r14 + 8]
test rbx, rbx
je 0x1400e99eb
js 0x1400ea478
movzx eax, byte [0x14035b110]
xor ecx, ecx
mov rdx, rbx
call sym.std::sys::pal::windows::alloc::process_heap_alloc::h5a8f05db6a24897c
mov r14, rax
mov r15, rbx
test rax, rax
jne 0x1400e99f4
mov ecx, 1
mov rdx, rbx
call sym.alloc::raw_vec::handle_error::h5313441c9bd13595
mov r14d, 1
xor r15d, r15d
mov rcx, r14
mov rdx, rdi
mov r8, rbx
call sym.memcpy
movaps xmm0, xmmword [rsp + 0x70]
movaps xmm1, xmmword [rsp + 0x80]
movaps xmm2, xmmword [rsp + 0x90]
movups xmmword [rsi + 0x50], xmm0
movups xmmword [rsi + 0x60], xmm1
movups xmmword [rsi + 0x70], xmm2
mov qword [rsi], r15
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rbx
mov dword [rsi + 0x18], 0xa
mov qword [rsp + 0x48], rdi
mov rdi, qword [r12 + 0xa8]
mov r13, qword [r12 + 0xb0]
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::char::hbee8820e0d3d228e
mov qword [rsp + 0x30], rax
cmp eax, 0x5c
jne 0x1400e9b43
mov rdi, qword [rsp + 0x48]
mov r15, qword [rdi]
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::char::hbee8820e0d3d228e
mov ecx, 1
cmp eax, 0x80
jb 0x1400e9ab2
mov ecx, 2
cmp eax, 0x800
jb 0x1400e9ab2
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add r15, rcx
jb 0x1400ea4c2
mov qword [rsp + 0x68], r15
mov r13, qword [r12 + 0xb0]
inc r13
je 0x1400ea4ce
mov r15, qword [r12 + 0xa8]
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::char::hbee8820e0d3d228e
mov ebp, eax
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x80], rax
movups xmm0, xmmword [rdi]
movaps xmmword [rsp + 0x70], xmm0
mov rdx, qword [r14 + 8]
mov ecx, 1
test rbx, rbx
je 0x1400e9d24
mov qword [rsp + 0x48], rdx
js 0x1400ea478
movzx eax, byte [0x14035b110]
xor ecx, ecx
mov rdx, rbx
call sym.std::sys::pal::windows::alloc::process_heap_alloc::h5a8f05db6a24897c
mov r14, rax
mov rdi, rbx
test rax, rax
mov rdx, qword [rsp + 0x48]
mov ecx, 1
jne 0x1400e9d2c
jmp 0x1400e99e3
mov qword [rsp + 0xf8], r15
mov dword [rsp + 0x68], ebp
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::bump::h1391677d43082c5a
test al, al
je 0x1400e9b63
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::bump_space::he36b9ee8c7e92674
mov r15, qword [rsp + 0x30]
movabs r10, 0x8000000000000000
jmp 0x1400ea2d9
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::char::hbee8820e0d3d228e
mov dword [rsp + 0xf4], eax
cmp eax, 0x7d
jne 0x1400ea4da
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::bump::h1391677d43082c5a
mov rdx, qword [r12 + 0x90]
mov rbx, qword [r12 + 0x98]
mov qword [rsp + 0x20], 2
lea r9, [0x1402cd198]
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x40], rdx
mov r8, rbx
call sym.core::str::pattern::StrSearcher::new::hb79a64ca6e6dd1a0
cmp qword [rsp + 0x70], 0
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0xe8], rbx
je 0x1400e9d83
mov rbx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xd0]
lea rcx, [rax - 1]
mov rdx, qword [rsp + 0xc0]
mov r11, qword [rsp + 0xc8]
cmp rbx, 0xffffffffffffffff
mov qword [rsp + 0x30], rcx
je 0x1400e9dd3
mov r14, qword [rsp + 0x98]
add rcx, r14
cmp rcx, rdx
jae 0x1400ea0fa
mov r9, qword [rsp + 0x90]
mov r13, qword [rsp + 0x78]
mov r10, qword [rsp + 0x88]
mov r15, rax
mov qword [rsp + 0x50], r10
sub r15, r10
mov qword [rsp + 0xe0], r15
mov qword [rsp + 0x38], r9
jmp 0x1400e9c76
add r14, rax
xor ebx, ebx
mov rcx, qword [rsp + 0x30]
add rcx, r14
cmp rcx, rdx
jae 0x1400ea0fa
movzx ecx, byte [r8 + rcx]
bt r9, rcx
jae 0x1400e9c60
cmp r13, rbx
mov r10, rbx
cmova r10, r13
lea r9, [r8 + r14]
mov rcx, r10
nop word cs:[rax + rax]
cmp rcx, rax
jae 0x1400e9cd5
mov rbp, rcx
add rcx, r14
cmp rcx, rdx
jae 0x1400ea45f
lea rcx, [rbp + 1]
movzx r15d, byte [r11 + rbp]
cmp r15b, byte [r9 + rbp]
je 0x1400e9ca0
sub r14, r13
add r14, rbp
inc r14
xor ebx, ebx
mov r9, qword [rsp + 0x38]
jmp 0x1400e9c65
mov rcx, r13
nop dword [rax + rax]
cmp rbx, rcx
jae 0x1400e9fca
dec rcx
cmp rcx, rax
jae 0x1400e9f33
lea r9, [rcx + r14]
cmp r9, rdx
jae 0x1400ea49a
movzx r10d, byte [r11 + rcx]
cmp r10b, byte [r8 + r9]
je 0x1400e9ce0
add r14, qword [rsp + 0x50]
mov rbx, qword [rsp + 0xe0]
mov r9, qword [rsp + 0x38]
jmp 0x1400e9c65
xor edi, edi
mov r14d, 1
xor eax, eax
cmp ebp, 0xa
sete al
cmove r13, rcx
add r15, rax
mov rcx, r14
mov r8, rbx
call sym.memcpy
movaps xmm0, xmmword [rsp + 0x70]
movups xmmword [rsi + 0x50], xmm0
mov rax, qword [rsp + 0x80]
mov qword [rsi + 0x60], rax
mov qword [rsi], rdi
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rbx
mov dword [rsi + 0x18], 0x1f
mov rax, qword [rsp + 0x68]
mov qword [rsi + 0x68], rax
mov qword [rsi + 0x70], r15
mov qword [rsi + 0x78], r13
jmp 0x1400e9a35
cmp byte [rsp + 0x8a], 0
jne 0x1400ea0fa
mov r8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xb8]
mov r14, qword [rsp + 0xc0]
movzx eax, byte [rsp + 0x88]
mov r9, rcx
test r8, r8
je 0x1400e9f4c
cmp r8, r14
jae 0x1400e9f42
cmp byte [rcx + r8], 0xc0
jge 0x1400e9f48
jmp 0x1400ea41c
mov r14, qword [rsp + 0x98]
lea r9, [r14 + rcx]
cmp r9, rdx
jae 0x1400ea0fa
mov r15, qword [rsp + 0x90]
mov r13, qword [rsp + 0x78]
lea rcx, [r13 - 1]
mov r10d, 1
sub r10, r13
mov qword [rsp + 0x50], r10
cmp rcx, rax
mov qword [rsp + 0x38], rcx
jae 0x1400e9e2e
mov r10, qword [rsp + 0x88]
mov qword [rsp + 0x100], r10
add rcx, r11
mov qword [rsp + 0xe0], rcx
jmp 0x1400e9e9d
movzx ecx, byte [r8 + r9]
bt r15, rcx
jae 0x1400e9e72
lea rbx, [r8 + r14]
mov r10, r13
cmp r10, rax
jae 0x1400e9f25
mov r9, r10
lea rcx, [r14 + r10]
cmp rcx, rdx
jae 0x1400ea4a9
lea r10, [r9 + 1]
movzx ecx, byte [r11 + r9]
cmp cl, byte [rbx + r9]
je 0x1400e9e40
add r14, qword [rsp + 0x50]
add r14, r9
jmp 0x1400e9e75
add r14, rax
mov rcx, qword [rsp + 0x30]
lea r9, [r14 + rcx]
cmp r9, rdx
jb 0x1400e9e2e
jmp 0x1400ea0fa
add r14, rax
mov rcx, qword [rsp + 0x30]
lea r9, [r14 + rcx]
cmp r9, rdx
jae 0x1400ea0fa
movzx r9d, byte [r8 + r9]
bt r15, r9
jae 0x1400e9e88
lea rbx, [r8 + r14]
mov r10, r13
cmp rax, r10
je 0x1400e9edc
mov r9, r10
add r10, r14
cmp r10, rdx
jae 0x1400ea4a9
lea r10, [r9 + 1]
movzx ebp, byte [r11 + r9]
cmp bpl, byte [rbx + r9]
je 0x1400e9eaf
add r14, qword [rsp + 0x50]
add r14, r9
jmp 0x1400e9e8b
mov rcx, qword [rsp + 0x38]
lea r9, [rcx + r14]
mov rbp, qword [rsp + 0xe0]
mov rbx, r13
sub rbx, 1
jb 0x1400e9fca
cmp r9, rdx
jae 0x1400ea49a
movzx r10d, byte [rbp]
dec rbp
lea rcx, [r9 - 1]
cmp r10b, byte [r8 + r9]
mov r9, rcx
je 0x1400e9ef0
add r14, qword [rsp + 0x100]
jmp 0x1400e9e8b
test r13, r13
mov rcx, qword [rsp + 0x38]
je 0x1400e9fca
lea r8, str._rustc_3f5fd8dd41153bc5fdca9427e9e05be2c767ba23librarycore_src_strpattern.rs
mov rdx, rax
call sym.core::panicking::panic_bounds_check::ha5eba36dbaff2278
jne 0x1400ea41c
lea r9, [rcx + r8]
cmp r14, r8
jne 0x1400e9f5d
mov r14, r8
test al, al
jne 0x1400e9fca
jmp 0x1400ea0fa
movzx edx, byte [r9]
test dl, dl
jns 0x1400e9fbf
mov r10d, edx
and r10d, 0x1f
movzx ebx, byte [r9 + 1]
and ebx, 0x3f
cmp dl, 0xe0
jb 0x1400e9fa9
movzx r11d, byte [r9 + 2]
shl ebx, 6
and r11d, 0x3f
or r11d, ebx
cmp dl, 0xf0
jb 0x1400e9fb5
movzx edx, byte [r9 + 3]
and r10d, 7
shl r10d, 0x12
shl r11d, 6
and edx, 0x3f
or edx, r11d
or edx, r10d
jmp 0x1400e9fbf
shl r10d, 6
or r10d, ebx
mov edx, r10d
jmp 0x1400e9fbf
shl r10d, 0xc
or r11d, r10d
mov edx, r11d
test al, al
je case.0x1400ddedf.387
lea rcx, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.4_src_astparse.rs