Function at 0x14018c55d
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
mov rbx, rdx
mov rsi, rcx
mov rcx, rdx
call fcn.1401849dd
cmp eax, 0x70
je 0x14018c594
mov rcx, rbx
call fcn.1401849dd
cmp eax, 0x50
jne 0x14018d07e
mov r13, qword [rbx + 0x10]
cmp qword [r13 + 0x80], 0
jne 0x14018d053
mov qword [r13 + 0x80], 0xffffffffffffffff
mov qword [r13 + 0x98], 0
mov rcx, rbx
call fcn.1401849dd
mov edi, eax
mov rcx, rbx
call fcn.140188202
test al, al
je 0x14018c762
mov rcx, rbx
call fcn.1401849dd
cmp eax, 0x7b
jne 0x14018c7f7
mov dword [rsp + 0x3c], edi
lea r14, [r13 + 0x88]
lea r15, [rsp + 0x60]
mov rcx, r15
mov rdx, rbx
call fcn.1401856b4
mov rax, qword [r15 + 0x28]
mov qword [rsp + 0xe0], rax
movups xmm0, xmmword [r15 + 0x18]
movaps xmmword [rsp + 0xd0], xmm0
mov rcx, rbx
call fcn.140188202
test al, al
je 0x14018c889
mov rcx, rbx
call fcn.1401849dd
cmp eax, 0x7d
je 0x14018c889
mov rcx, rbx
call fcn.1401849dd
mov ebp, eax
cmp eax, 0x7f
ja 0x14018c67e
mov rdx, qword [r13 + 0x98]
cmp rdx, qword [r13 + 0x88]
jne 0x14018c66a
mov rcx, r14
call fcn.140118a45
mov rdx, qword [r13 + 0x98]
mov rax, qword [r13 + 0x90]
mov byte [rax + rdx], bpl
inc qword [r13 + 0x98]
jmp 0x14018c61b
mov dword [rsp + 0x60], 0
mov eax, ebp
cmp ebp, 0x800
jae 0x14018c6ae
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x60], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x61], bpl
mov r12d, 2
jmp 0x14018c717
cmp ebp, 0x10000
jae 0x14018c6e1
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x60], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x61], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x62], bpl
mov r12d, 3
jmp 0x14018c717
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x60], al
mov eax, ebp
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x61], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x62], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x63], bpl
mov r12d, 4
mov rax, qword [r13 + 0x88]
mov rdx, qword [r13 + 0x98]
sub rax, rdx
cmp rax, r12
jb 0x14018c74e
add rdx, qword [r13 + 0x90]
mov rcx, rdx
mov rdx, r15
mov r8, r12
call fcn.14038a820
add qword [r13 + 0x98], r12
jmp 0x14018c61b
mov rcx, r14
mov r8, r12
call fcn.14038e7d9
mov rdx, qword [r13 + 0x98]
jmp 0x14018c72d
mov rax, qword [r13 + 0xb0]
mov qword [rsp + 0x88], rax
movups xmm0, xmmword [r13 + 0xa0]
movups xmmword [rsp + 0x78], xmm0
movups xmm0, xmmword [r13 + 0xa0]
movaps xmmword [rsp + 0x60], xmm0
mov rax, qword [r13 + 0xb0]
mov qword [rsp + 0x70], rax
mov rdi, qword [rbx]
mov rbx, qword [rbx + 8]
mov rcx, rbx
call fcn.14004b4d6
mov r14, rax
mov r15, rdx
mov rcx, rdx
mov rdx, rdi
mov r8, rbx
call fcn.14038a820
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movaps xmm2, xmmword [rsp + 0x80]
movups xmmword [rsi + 8], xmm0
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 0x28], xmm2
mov qword [rsi + 0x38], r14
mov qword [rsi + 0x40], r15
mov qword [rsi + 0x48], rbx
mov dword [rsi + 0x50], 0xa
mov qword [rsi], 1
jmp 0x14018d005
mov rax, qword [r13 + 0xb0]
mov qword [rsp + 0x110], rax
movups xmm0, xmmword [r13 + 0xa0]
movaps xmmword [rsp + 0x100], xmm0
mov rcx, rbx
call fcn.1401849dd
cmp eax, 0x5c
jne 0x14018c914
lea rdi, [rsp + 0x60]
mov rcx, rdi
mov rdx, rbx
call fcn.1401856b4
mov r14, qword [rbx]
mov rbx, qword [rbx + 8]
mov rcx, rbx
call fcn.14004b4d6
mov r15, rax
mov r12, rdx
mov rcx, rdx
mov rdx, r14
mov r8, rbx
call fcn.14038a820
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movups xmmword [rsi + 8], xmm0
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 0x28], xmm2
mov qword [rsi + 0x38], r15
mov qword [rsi + 0x40], r12
mov qword [rsi + 0x48], rbx
mov dword [rsi + 0x50], 0x1f
jmp 0x14018c7eb
mov r14, qword [r13 + 0xa0]
cmp r14, qword [rbx + 8]
jne 0x14018c944
lea rax, [r13 + 0xa0]
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x88], rcx
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x78], xmm0
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x60], xmm0
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x70], rax
mov rdi, qword [rbx]
mov rcx, r14
call fcn.14004b4d6
mov rbx, rax
mov r15, rdx
mov rcx, rdx
mov rdx, rdi
mov r8, r14
call fcn.14038a820
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movaps xmm2, xmmword [rsp + 0x80]
movups xmmword [rsi + 8], xmm0
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 0x28], xmm2
mov qword [rsi + 0x38], rbx
mov qword [rsi + 0x40], r15
mov qword [rsi + 0x48], r14
jmp 0x14018c7e4
mov r14d, eax
mov dword [rsp + 0x3c], edi
mov rcx, rbx
call fcn.140188202
movaps xmm0, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0x40], xmm0
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x50], rax
xor eax, eax
jmp 0x14018cf70
mov rcx, rbx
call fcn.1401849dd
mov dword [rsp + 0x100], eax
cmp eax, 0x7d
jne 0x14018d098
mov rcx, rbx
call fcn.14018578e
mov r14, qword [r13 + 0x90]
mov rbx, qword [r13 + 0x98]
mov qword [rsp + 0x20], 2
lea r9, [0x140439218]
lea r15, [rsp + 0x60]
mov rcx, r15
mov rdx, r14
mov r8, rbx
call fcn.140056a20
cmp qword [r15 + 0x20], 0
mov rcx, qword [r15]
mov rdx, qword [r15 + 8]
je 0x14018cb1e
mov qword [rsp + 0xf0], r14
mov qword [rsp + 0xf8], rbx
mov rax, qword [rsp + 0x78]
mov r15, qword [rsp + 0xa8]
lea r9, [rax + r15]
dec r9
cmp r9, rdx
jae 0x14018cc14
mov rdi, qword [rsp + 0xb8]
mov r11, qword [rsp + 0x70]
lea r8, [rax - 1]
mov qword [rsp + 0x30], r8
mov r10, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0x88]
mov r8, qword [rsp + 0x98]
mov rbx, rax
mov qword [rsp + 0x128], r8
sub rbx, r8
mov qword [rsp + 0x120], rbx
mov r8, rbp
neg r8
mov qword [rsp + 0x130], r8
mov r14, rdi
mov qword [rsp + 0x58], r10
movzx r8d, byte [rcx + r9]
bt r10, r8
jae 0x14018ca94
cmp rbp, r14
mov r9, r14
cmova r9, rbp
cmp rdi, 0xffffffffffffffff
cmove r9, rbp
lea r8, [rcx + r15]
mov r10, r9
cmp r10, rax
jae 0x14018caa2
lea r12, [r15 + r10]
cmp r12, rdx
jae 0x14018d020
lea r12, [r10 + 1]
mov bl, byte [r11 + r10]
cmp bl, byte [r8 + r10]
mov r10, r12
je 0x14018ca52
add r15, qword [rsp + 0x130]
add r15, r12
cmp rdi, 0xffffffffffffffff
je 0x14018cb17
xor r8d, r8d
mov r10, qword [rsp + 0x58]
jmp 0x14018cafd
add r15, rax
cmp rdi, 0xffffffffffffffff
je 0x14018cb00
xor r8d, r8d
jmp 0x14018cafd
cmp rdi, 0xffffffffffffffff
mov r8, r14
mov r9d, 0
cmove r8, r9
mov r10, rbp
cmp r8, r10
jae 0x14018ccc7
dec r10
cmp r10, rax
jae 0x14018d033
lea r9, [r10 + r15]
cmp r9, rdx
jae 0x14018d042
mov bl, byte [r11 + r10]
cmp bl, byte [rcx + r9]
je 0x14018cab6
add r15, qword [rsp + 0x128]
mov r8, qword [rsp + 0x120]
cmp rdi, 0xffffffffffffffff
mov r10, qword [rsp + 0x58]
je 0x14018cb00
mov r14, r8
mov r8, qword [rsp + 0x30]
lea r9, [r8 + r15]
cmp r9, rdx
jb 0x14018ca2e
jmp 0x14018cc14
mov r10, qword [rsp + 0x58]
jmp 0x14018cb00
cmp byte [rsp + 0x9a], 0
jne 0x14018cc24
mov al, byte [rsp + 0x98]
mov r8, qword [rsp + 0x88]
test r8, r8
je 0x14018cb57
cmp rdx, r8
jbe 0x14018cb51
cmp byte [rcx + r8], 0xbf
jg 0x14018cb57
jmp 0x14018d0c2
jne 0x14018d0c2
cmp r8, rdx
je 0x14018ce34
mov r11b, byte [rcx + r8]
movzx r9d, r11b
test r9b, r9b
jns 0x14018cbcd
mov r10d, r9d
and r10d, 0x1f
movzx edi, byte [rcx + r8 + 1]
and edi, 0x3f
cmp r9b, 0xdf
jbe 0x14018cbba
movzx r9d, byte [rcx + r8 + 2]
shl edi, 6
and r9d, 0x3f
or r9d, edi
cmp r11b, 0xf0
jb 0x14018cbc6
movzx r11d, byte [rcx + r8 + 3]
and r10d, 7
shl r10d, 0x12
shl r9d, 6
and r11d, 0x3f
or r11d, r9d
or r11d, r10d
mov r9d, r11d
jmp 0x14018cbcd
shl r10d, 6
or r10d, edi
mov r9d, r10d
jmp 0x14018cbcd
shl r10d, 0xc
or r9d, r10d
test al, al
jne 0x14018ce3d
cmp r9d, 0x110000
je 0x14018cc24
mov eax, 1
cmp r9d, 0x80
jb 0x14018cc0a
mov eax, 2
cmp r9d, 0x800
jb 0x14018cc0a
cmp r9d, 0x10000
mov eax, 4
sbb rax, 0
add r8, rax
mov al, 1
jmp 0x14018cb3b
mov rbx, qword [rsp + 0xf8]
mov r14, qword [rsp + 0xf0]
mov rcx, r14
mov rdx, rbx
mov r8d, 0x3a
call fcn.14018d730
cmp rax, 1
jne 0x14018cc81
mov r12, rdx
test rdx, rdx
je 0x14018cd21
cmp r12, rbx
jae 0x14018cd57
cmp byte [r14 + r12], 0xc0
jl 0x14018d0d8
mov rcx, r12
call fcn.14004b4d6
mov qword [rsp + 0x30], rax
mov rdi, rdx
mov rcx, rdx
mov rdx, r14
mov r8, r12
call fcn.14038a820
mov r15, r12
jmp 0x14018cd30
mov rcx, r14
mov rdx, rbx
mov r8d, 0x3d
call fcn.14018d730
cmp rax, 1
jne 0x14018ccdc
mov r12, rdx
mov r15, rdx
test rdx, rdx
je 0x14018cdd7
cmp r12, rbx
jae 0x14018cdd1
cmp byte [r14 + r15], 0xbf
jg 0x14018cdd7
lea rax, str.C:Userslucak.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_astparse.rs
jmp 0x14018ce5b
mov rbx, qword [rsp + 0xf8]
mov r14, qword [rsp + 0xf0]
jmp 0x14018ce43
mov rcx, rbx
call fcn.14004b4d6
mov r15, rax
mov rdi, rdx
mov rcx, rdx
mov rdx, r14
mov r8, rbx
call fcn.14038a820
mov r8, r15
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x40], xmm0
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x50], rax
mov al, 1
xor ecx, ecx
mov r15, rbx
jmp 0x14018cf70
mov edi, 1
xor eax, eax
mov qword [rsp + 0x30], rax
xor r15d, r15d
lea r8, [r12 + 1]
cmp rbx, r8
jbe 0x14018cd46
cmp byte [r14 + r8], 0xbf
jle 0x14018cd4b
mov rax, r8
jmp 0x14018cd8c
mov rax, rbx
je 0x14018cd8c
lea rax, str.C:Userslucak.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_astparse.rs
jmp 0x14018cece
jne 0x14018d0d8
mov rcx, rbx
call fcn.14004b4d6
mov qword [rsp + 0x30], rax
mov rdi, rdx
mov rcx, rdx
mov rdx, r14
mov r8, rbx
call fcn.14038a820
mov r8, rbx
inc r8
jne 0x14018ce2c
xor eax, eax
mov r15, rbx
add r14, rax
sub rbx, rax
mov rcx, rbx
call fcn.14004b4d6
mov r12, rax
mov rbp, rdx
mov rcx, rdx
mov rdx, r14
mov r8, rbx
call fcn.14038a820
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x40], xmm0
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x50], rax
mov cl, 1
mov al, 2
jmp 0x14018cf6b
jne 0x14018ccbb
mov rcx, r15
call fcn.14004b4d6
mov qword [rsp + 0x30], rax
mov rdi, rdx
mov rcx, rdx
mov rdx, r14
mov r8, r15
call fcn.14038a820
inc r12
je 0x14018cf2b
cmp rbx, r12
jbe 0x14018cf25
cmp byte [r14 + r12], 0xbf
jg 0x14018cf2b
lea rax, str.C:Userslucak.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_astparse.rs
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rbx
mov r8, r12
jmp 0x14018ced9
mov r15, rbx
jmp 0x14018cd35
test al, al
jne 0x14018ce40
jmp 0x14018cc24
mov rdx, r8
mov r15, rdx
test r15, r15
je 0x14018ce71
cmp r15, rbx
jae 0x14018ce88
cmp byte [r14 + r15], 0xbf
jg 0x14018ce8a
lea rax, str.C:Userslucak.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_astparse.rs
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rbx
xor r8d, r8d
mov r9, r15
jmp 0x14018d0d1
mov r8d, 2
mov edi, 1
xor eax, eax
mov qword [rsp + 0x30], rax
xor r15d, r15d
jmp 0x14018ceb1
jne 0x14018ce54
mov rcx, r15
call fcn.14004b4d6
mov qword [rsp + 0x30], rax
mov rdi, rdx
mov rcx, rdx
mov rdx, r14
mov r8, r15
call fcn.14038a820
mov r8, r15
add r8, 2
je 0x14018cee1
cmp rbx, r8
jbe 0x14018cec2
cmp byte [r14 + r8], 0xbf
jle 0x14018cec7
mov rax, r8
jmp 0x14018cee3
mov rax, rbx
je 0x14018cee3
lea rax, str.C:Userslucak.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_astparse.rs
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rbx
mov r9, rbx
jmp 0x14018d0d1
xor eax, eax
add r14, rax
sub rbx, rax
mov rcx, rbx
call fcn.14004b4d6
mov r12, rax
mov rbp, rdx
mov rcx, rdx
mov rdx, r14
mov r8, rbx
call fcn.14038a820
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x40], xmm0
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x50], rax
mov al, 2
mov cl, 2
jmp 0x14018cf6b
jne 0x14018ce12
add r14, r12
sub rbx, r12
mov rcx, rbx
call fcn.14004b4d6
mov r12, rax
mov rbp, rdx
mov rcx, rdx
mov rdx, r14
mov r8, rbx
call fcn.14038a820
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x40], xmm0
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x50], rax
mov al, 2
xor ecx, ecx
mov r8, qword [rsp + 0x30]
cmp dword [rsp + 0x3c], 0x50
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x70], rdx
movaps xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x60], xmm0
mov qword [rsi + 0x40], r8
mov qword [rsi + 0x48], rdi
mov qword [rsi + 0x50], r15
mov qword [rsi + 0x58], r12
mov qword [rsi + 0x60], rbp
mov qword [rsi + 0x68], rbx
mov rdx, qword [r13 + 0xb0]
mov qword [rsp + 0x88], rdx
movups xmm0, xmmword [r13 + 0xa0]
movups xmmword [rsp + 0x78], xmm0
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rsi + 8], xmm0
mov rdx, qword [rsp + 0x70]
mov qword [rsi + 0x18], rdx
mov rdx, qword [rsp + 0x78]
mov qword [rsi + 0x20], rdx
mov rdx, qword [rsp + 0x80]
mov qword [rsi + 0x28], rdx
mov rdx, qword [rsp + 0x88]
mov qword [rsi + 0x30], rdx
mov byte [rsi + 0x38], al
mov byte [rsi + 0x39], cl
mov dword [rsi + 0x3c], r14d
sete byte [rsi + 0x70]
mov qword [rsi], 0
inc qword [r13 + 0x80]
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
add r9, r15
cmp rdx, r9
cmova r9, rdx
lea r8, str._rustc_88fb1b922b047981fc0cfc62aa1418b4361ae72elibrarycore_src_strpattern.rs
jmp 0x14018d049
lea r8, str._rustc_88fb1b922b047981fc0cfc62aa1418b4361ae72elibrarycore_src_strpattern.rs
mov rcx, r10
mov rdx, rax
jmp 0x14018d04c
lea r8, str._rustc_88fb1b922b047981fc0cfc62aa1418b4361ae72elibrarycore_src_strpattern.rs
mov rcx, r9
call fcn.14038e8b0
ud2
lea rax, str.C:Userslucak.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_astparse.rs
mov qword [rsp + 0x20], rax
lea rcx, str.already_borrowed
lea r9, [0x140438770]
lea r8, [rsp + 0x60]
mov edx, 0x10
call fcn.14038ebe0
ud2
lea rcx, [0x140439192]
lea r8, str.C:Userslucak.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_astparse.rs
mov edx, 0x3e
call fcn.14038e950
ud2
lea r8, [rsp + 0x60]
mov qword [r8 + 0x10], 0
lea rdx, [0x140439020]
lea r9, str.C:Userslucak.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_astparse.rs
lea rcx, [rsp + 0x100]
call fcn.1403951d9
ud2
lea rax, str._rustc_88fb1b922b047981fc0cfc62aa1418b4361ae72elibrarycore_src_strpattern.rs
mov qword [rsp + 0x20], rax
mov r9, rdx
call fcn.14038ee40
ud2
lea rax, str.C:Userslucak.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_astparse.rs
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rbx
xor r8d, r8d
mov r9, r12
jmp 0x14018d0d1