Function at 0x1401299e0
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 0x140129a17
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::char::hbee8820e0d3d228e
cmp eax, 0x50
jne 0x14012a812
mov r12, qword [r14]
cmp qword [r12 + 0x80], 0
jne 0x14012a7e3
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 0x140129d00
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 0x140129d04
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 0x140129de1
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::char::hbee8820e0d3d228e
mov ecx, 1
cmp eax, 0x80
jb 0x140129abf
mov ecx, 2
cmp eax, 0x800
jb 0x140129abf
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add r15, rcx
jb 0x14012a852
mov qword [rsp + 0xf8], r15
mov dword [rsp + 0x68], ebp
mov rbp, qword [r12 + 0xb0]
inc rbp
je 0x14012a85e
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 0x140129ba3
cmp qword [rdi], rbx
jne 0x140129f07
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 0x140129d7b
jns 0x140129d52
jmp 0x14012a808
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 0x140129b27
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::bump_space::he36b9ee8c7e92674
cmp qword [rdi], rbx
je 0x140129b27
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::char::hbee8820e0d3d228e
cmp eax, 0x7d
je 0x140129b27
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::char::hbee8820e0d3d228e
cmp eax, 0x80
jae 0x140129c00
mov r13, qword [r12 + 0x98]
cmp r13, qword [r12 + 0x88]
jne 0x140129b80
mov rcx, r15
mov ebp, eax
call sym.alloc::raw_vec::RawVec_T_A_::grow_one::h300ed7d86b668954
mov eax, ebp
jmp 0x140129b80
mov dword [rsp + 0x70], 0
mov ecx, eax
cmp eax, 0x800
jae 0x140129c30
shr ecx, 6
or cl, 0xc0
mov byte [rsp + 0x70], cl
mov r13d, 2
mov ecx, 1
jmp 0x140129c90
cmp eax, 0x10000
jae 0x140129c5d
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 0x140129c90
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 0x140129ce8
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 0x140129ba3
jmp 0x140129b27
mov rcx, r15
mov rdx, rbp
mov r8, r13
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h004f958d7b3f8117
mov rbp, qword [r12 + 0x98]
jmp 0x140129cb0
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 0x140129d7b
js 0x14012a808
movzx eax, byte [0x1404a5170]
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 0x140129d84
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 0x140129ed3
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 0x140129e42
mov ecx, 2
cmp eax, 0x800
jb 0x140129e42
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add r15, rcx
jb 0x14012a852
mov qword [rsp + 0x68], r15
mov r13, qword [r12 + 0xb0]
inc r13
je 0x14012a85e
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 0x14012a0b4
mov qword [rsp + 0x48], rdx
js 0x14012a808
movzx eax, byte [0x1404a5170]
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 0x14012a0bc
jmp 0x140129d73
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 0x140129ef3
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::bump_space::he36b9ee8c7e92674
mov r15, qword [rsp + 0x30]
movabs r10, 0x8000000000000000
jmp 0x14012a669
mov rcx, r14
call sym.regex_syntax::ast::parse::ParserI_P_::char::hbee8820e0d3d228e
mov dword [rsp + 0xf4], eax
cmp eax, 0x7d
jne 0x14012a86a
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, [0x1403db338]
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 0x14012a113
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 0x14012a163
mov r14, qword [rsp + 0x98]
add rcx, r14
cmp rcx, rdx
jae 0x14012a48a
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 0x14012a006
add r14, rax
xor ebx, ebx
mov rcx, qword [rsp + 0x30]
add rcx, r14
cmp rcx, rdx
jae 0x14012a48a
movzx ecx, byte [r8 + rcx]
bt r9, rcx
jae 0x140129ff0
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 0x14012a065
mov rbp, rcx
add rcx, r14
cmp rcx, rdx
jae 0x14012a7ef
lea rcx, [rbp + 1]
movzx r15d, byte [r11 + rbp]
cmp r15b, byte [r9 + rbp]
je 0x14012a030
sub r14, r13
add r14, rbp
inc r14
xor ebx, ebx
mov r9, qword [rsp + 0x38]
jmp 0x140129ff5
mov rcx, r13
nop dword [rax + rax]
cmp rbx, rcx
jae 0x14012a35a
dec rcx
cmp rcx, rax
jae 0x14012a2c3
lea r9, [rcx + r14]
cmp r9, rdx
jae 0x14012a82a
movzx r10d, byte [r11 + rcx]
cmp r10b, byte [r8 + r9]
je 0x14012a070
add r14, qword [rsp + 0x50]
mov rbx, qword [rsp + 0xe0]
mov r9, qword [rsp + 0x38]
jmp 0x140129ff5
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 0x140129dc5
cmp byte [rsp + 0x8a], 0
jne 0x14012a48a
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 0x14012a2dc
cmp r8, r14
jae 0x14012a2d2
cmp byte [rcx + r8], 0xc0
jge 0x14012a2d8
jmp 0x14012a7ac
mov r14, qword [rsp + 0x98]
lea r9, [r14 + rcx]
cmp r9, rdx
jae 0x14012a48a
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 0x14012a1be
mov r10, qword [rsp + 0x88]
mov qword [rsp + 0x100], r10
add rcx, r11
mov qword [rsp + 0xe0], rcx
jmp 0x14012a22d
movzx ecx, byte [r8 + r9]
bt r15, rcx
jae 0x14012a202
lea rbx, [r8 + r14]
mov r10, r13
cmp r10, rax
jae 0x14012a2b5
mov r9, r10
lea rcx, [r14 + r10]
cmp rcx, rdx
jae 0x14012a839
lea r10, [r9 + 1]
movzx ecx, byte [r11 + r9]
cmp cl, byte [rbx + r9]
je 0x14012a1d0
add r14, qword [rsp + 0x50]
add r14, r9
jmp 0x14012a205
add r14, rax
mov rcx, qword [rsp + 0x30]
lea r9, [r14 + rcx]
cmp r9, rdx
jb 0x14012a1be
jmp 0x14012a48a
add r14, rax
mov rcx, qword [rsp + 0x30]
lea r9, [r14 + rcx]
cmp r9, rdx
jae 0x14012a48a
movzx r9d, byte [r8 + r9]
bt r15, r9
jae 0x14012a218
lea rbx, [r8 + r14]
mov r10, r13
cmp rax, r10
je 0x14012a26c
mov r9, r10
add r10, r14
cmp r10, rdx
jae 0x14012a839
lea r10, [r9 + 1]
movzx ebp, byte [r11 + r9]
cmp bpl, byte [rbx + r9]
je 0x14012a23f
add r14, qword [rsp + 0x50]
add r14, r9
jmp 0x14012a21b
mov rcx, qword [rsp + 0x38]
lea r9, [rcx + r14]
mov rbp, qword [rsp + 0xe0]
mov rbx, r13
sub rbx, 1
jb 0x14012a35a
cmp r9, rdx
jae 0x14012a82a
movzx r10d, byte [rbp]
dec rbp
lea rcx, [r9 - 1]
cmp r10b, byte [r8 + r9]
mov r9, rcx
je 0x14012a280
add r14, qword [rsp + 0x100]
jmp 0x14012a21b
test r13, r13
mov rcx, qword [rsp + 0x38]
je 0x14012a35a
lea r8, str._rustc_3f5fd8dd41153bc5fdca9427e9e05be2c767ba23librarycore_src_strpattern.rs
mov rdx, rax
call sym.core::panicking::panic_bounds_check::ha5eba36dbaff2278
jne 0x14012a7ac
lea r9, [rcx + r8]
cmp r14, r8
jne 0x14012a2ed
mov r14, r8
test al, al
jne 0x14012a35a
jmp 0x14012a48a
movzx edx, byte [r9]
test dl, dl
jns 0x14012a34f
mov r10d, edx
and r10d, 0x1f
movzx ebx, byte [r9 + 1]
and ebx, 0x3f
cmp dl, 0xe0
jb 0x14012a339
movzx r11d, byte [r9 + 2]
shl ebx, 6
and r11d, 0x3f
or r11d, ebx
cmp dl, 0xf0
jb 0x14012a345
movzx edx, byte [r9 + 3]
and r10d, 7
shl r10d, 0x12
shl r11d, 6
and edx, 0x3f
or edx, r11d
or edx, r10d
jmp 0x14012a34f
shl r10d, 6
or r10d, ebx
mov edx, r10d
jmp 0x14012a34f
shl r10d, 0xc
or r11d, r10d
mov edx, r11d
test al, al
je case.0x14011e26f.387
lea rcx, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.4_src_astparse.rs