Function at 0x14011aa40
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 fcn.14010ff40
cmp eax, 0x70
clc
jo 0x14011aad9
invalid
mov rcx, r14
call fcn.14010ff40
cmp eax, 0x50
jne 0x14011b86f
mov r12, qword [r14]
cmp qword [r12 + 0x80], 0
jne 0x14011b840
mov qword [r12 + 0x80], 0xffffffffffffffff
mov qword [r12 + 0x98], 0
mov rcx, r14
call fcn.14010ff40
mov ebp, eax
mov rcx, r14
call fcn.140110750
test al, al
je 0x14011ad60
mov rcx, r14
call fcn.14010fba0
mov rbx, qword [r14 + 0x10]
cmp qword [r12 + 0xa0], rbx
je 0x14011ad64
lea rdi, [r12 + 0xa0]
mov rcx, r14
call fcn.14010ff40
mov r15, qword [rdi]
cmp eax, 0x7b
jne 0x14011ae41
mov rcx, r14
call fcn.14010ff40
mov ecx, 1
cmp eax, 0x80
jb 0x14011ab1f
mov ecx, 2
cmp eax, 0x800
jb 0x14011ab1f
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add r15, rcx
jb 0x14011b8af
mov qword [rsp + 0xf8], r15
mov dword [rsp + 0x68], ebp
mov rbp, qword [r12 + 0xb0]
inc rbp
je 0x14011b8bb
lea r15, [r12 + 0x88]
mov r13, qword [r12 + 0xa8]
mov rcx, r14
call fcn.14010ff40
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 fcn.140110750
test al, al
jne 0x14011ac03
cmp qword [rdi], rbx
jne 0x14011af6d
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 0x14011addb
jns 0x14011adb2
jmp 0x14011b865
mov rcx, qword [r12 + 0x90]
mov byte [rcx + r13], al
inc r13
mov qword [r12 + 0x98], r13
mov rcx, r14
call fcn.140110750
test al, al
je 0x14011ab87
mov rcx, r14
call fcn.14010fba0
cmp qword [rdi], rbx
je 0x14011ab87
mov rcx, r14
call fcn.14010ff40
cmp eax, 0x7d
je 0x14011ab87
mov rcx, r14
call fcn.14010ff40
cmp eax, 0x80
jae 0x14011ac60
mov r13, qword [r12 + 0x98]
cmp r13, qword [r12 + 0x88]
jne 0x14011abe0
mov rcx, r15
mov ebp, eax
call fcn.140048b40
mov eax, ebp
jmp 0x14011abe0
mov dword [rsp + 0x70], 0
mov ecx, eax
cmp eax, 0x800
jae 0x14011ac90
shr ecx, 6
or cl, 0xc0
mov byte [rsp + 0x70], cl
mov r13d, 2
mov ecx, 1
jmp 0x14011acf0
cmp eax, 0x10000
jae 0x14011acbd
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
and al, 0x71
mov r13d, 3
mov ecx, 2
jmp 0x14011acf0
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
add byte [rax], al
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 0x14011ad48
mov rcx, qword [r12 + 0x90]
add rcx, rbp
lea rdx, [rsp + 0x70]
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
add rbp, r13
mov qword [r12 + 0x98], rbp
add byte [rcx + rcx*4 - 0xf], cl
call fcn.140110750
test al, al
jne 0x14011ac03
jmp 0x14011ab87
mov rcx, r15
mov rdx, rbp
mov r8, r13
call fcn.14032f9f0
add byte [rcx - 0x75], cl
lodsb al, byte [rsi]
and al, 0x98
add byte [rax], al
add bl, ch
invalid
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]
and al, 0xa0
add byte [rax], al
add byte [rdi], cl
sub dword [rsp + 0x70], eax
mov rdi, qword [r14 + 8]
test rbx, rbx
je 0x14011addb
js 0x14011b865
movzx eax, byte [0x14043f240]
xor ecx, ecx
mov rdx, rbx
call fcn.1401d3670
mov r14, rax
mov r15, rbx
test rax, rax
jne 0x14011ade4
mov ecx, 1
mov rdx, rbx
call fcn.14032afb0
invalid
mov r14d, 1
xor r15d, r15d
mov rcx, r14
mov rdx, rdi
mov r8, rbx
call sub.VCRUNTIME140.dll_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 fcn.14010ff40
mov qword [rsp + 0x30], rax
cmp eax, 0x5c
jne 0x14011af33
mov rdi, qword [rsp + 0x48]
mov r15, qword [rdi]
mov rcx, r14
call fcn.14010ff40
mov ecx, 1
cmp eax, 0x80
jb 0x14011aea2
mov ecx, 2
cmp eax, 0x800
jb 0x14011aea2
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add r15, rcx
jb 0x14011b8af
mov qword [rsp + 0x68], r15
mov r13, qword [r12 + 0xb0]
inc r13
je 0x14011b8bb
mov r15, qword [r12 + 0xa8]
mov rcx, r14
call fcn.14010ff40
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 0x14011b114
mov qword [rsp + 0x48], rdx
js 0x14011b865
movzx eax, byte [0x14043f240]
xor ecx, ecx
mov rdx, rbx
call fcn.1401d3670
mov r14, rax
mov rdi, rbx
test rax, rax
mov rdx, qword [rsp + 0x48]
mov ecx, 1
jne 0x14011b11c
jmp 0x14011add3
mov qword [rsp + 0xf8], r15
mov dword [rsp + 0x68], ebp
mov rcx, r14
call fcn.140110750
movabs r10, 0x8000000000000000
test al, al
je 0x14011af63
mov rcx, r14
mov rbx, r10
call fcn.14010fba0
mov r10, rbx
mov r15, qword [rsp + 0x30]
jmp 0x14011b6c6
mov rcx, r14
call fcn.14010ff40
mov dword [rsp + 0xf4], eax
cmp eax, 0x7d
jne 0x14011b8c7
mov rcx, r14
call fcn.140110750
mov rdx, qword [r12 + 0x90]
mov rbx, qword [r12 + 0x98]
mov qword [rsp + 0x20], 2
lea r9, [0x140376730]
lea rcx, [rsp + 0x70]
mov qword [rsp + 0x40], rdx
mov r8, rbx
call fcn.14003d0d0
cmp qword [rsp + 0x70], 0
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0xe8], rbx
je 0x14011b173
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 0x14011b1c3
mov r14, qword [rsp + 0x98]
add rcx, r14
cmp rcx, rdx
jae 0x14011b4eb
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 0x14011b06c
add r14, rax
xor ebx, ebx
mov rcx, qword [rsp + 0x30]
add rcx, r14
cmp rcx, rdx
jae 0x14011b4eb
movzx ecx, byte [r8 + rcx]
bt r9, rcx
jae 0x14011b056
cmp r13, rbx
mov r10, rbx
cmova r10, r13
lea r9, [r8 + r14]
mov rcx, r10
nop dword [rax + rax]
cmp rcx, rax
jae 0x14011b0c5
mov rbp, rcx
add rcx, r14
cmp rcx, rdx
jae 0x14011b84c
lea rcx, [rbp + 1]
movzx r15d, byte [r11 + rbp]
cmp r15b, byte [r9 + rbp]
je 0x14011b090
sub r14, r13
add r14, rbp
inc r14
xor ebx, ebx
mov r9, qword [rsp + 0x38]
jmp 0x14011b05b
mov rcx, r13
nop dword [rax + rax]
cmp rbx, rcx
jae 0x14011b3bb
dec rcx
cmp rcx, rax
jae 0x14011b323
lea r9, [rcx + r14]
cmp r9, rdx
jae 0x14011b887
movzx r10d, byte [r11 + rcx]
cmp r10b, byte [r8 + r9]
je 0x14011b0d0
add r14, qword [rsp + 0x50]
mov rbx, qword [rsp + 0xe0]
mov r9, qword [rsp + 0x38]
jmp 0x14011b05b
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 sub.VCRUNTIME140.dll_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 0x14011ae25
cmp byte [rsp + 0x8a], 0
jne 0x14011b4eb
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 0x14011b33c
cmp r8, r14
jae 0x14011b332
cmp byte [rcx + r8], 0xc0
jge case.0x1400503cd.3044
jmp 0x14011b809
mov r14, qword [rsp + 0x98]
lea r9, [r14 + rcx]
cmp r9, rdx
jae 0x14011b4eb
mov r15, qword [rsp + 0x90]
mov r13, qword [rsp + 0x78]
lea rcx, [r13 - 1]
mov r10d, 1
add byte [rbp + 0x29], cl
invalid
mov qword [rsp + 0x50], r10
cmp rcx, rax
mov qword [rsp + 0x38], rcx
jae 0x14011b21e
mov r10, qword [rsp + 0x88]
mov qword [rsp + 0x100], r10
add rcx, r11
add ecx, ebx
lea rcx, str.C:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.4_src_astparse.rs
call fcn.14032b870
add r10, r14
cmp rdx, r10