Function at 0x1800be650
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xf8
mov r14, rdx
mov rsi, rcx
mov rcx, rdx
call fcn.1800b2630
cmp eax, 0x70
je 0x1800be687
mov rcx, r14
call fcn.1800b2630
cmp eax, 0x50
jne 0x1800bf322
mov r12, qword [r14]
cmp qword [r12 + 0x80], 0
jne 0x1800bf300
mov qword [r12 + 0x80], 0xffffffffffffffff
mov qword [r12 + 0x98], 0
mov rcx, r14
call fcn.1800b2630
mov edi, eax
mov rcx, r14
call fcn.1800b2750
test al, al
je 0x1800be848
mov rcx, r14
call fcn.1800b28b0
mov r15, qword [r12 + 0xa0]
mov rbx, qword [r14 + 0x10]
cmp r15, rbx
je 0x1800be84c
lea rbp, [r12 + 0xa0]
mov rcx, r14
call fcn.1800b2630
mov r15, qword [rbp]
cmp eax, 0x7b
jne 0x1800be91b
mov rcx, r14
call fcn.1800b2630
mov ecx, 1
cmp eax, 0x80
jb 0x1800be733
mov ecx, 2
cmp eax, 0x800
jb 0x1800be733
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add r15, rcx
jb 0x1800bf370
mov qword [rsp + 0xe8], r15
mov dword [rsp + 0x54], edi
mov r15, qword [r12 + 0xb0]
cmp r15, 0xffffffffffffffff
je 0x1800bf37c
mov rax, qword [r12 + 0xa8]
mov qword [rsp + 0x38], rax
inc r15
mov rcx, r14
call fcn.1800b2630
xor r13d, r13d
cmp eax, 0xa
sete dil
mov eax, 1
cmovne rax, r15
mov qword [rsp + 0x58], rax
mov rcx, r14
call fcn.1800b2750
test al, al
je 0x1800be7d9
lea r15, [r12 + 0x88]
nop
mov rcx, r14
call fcn.1800b28b0
cmp qword [rbp], rbx
je 0x1800be7d9
mov rcx, r14
call fcn.1800b2630
cmp eax, 0x7d
je 0x1800be7d9
mov rcx, r14
call fcn.1800b2630
mov rcx, r15
mov edx, eax
call fcn.1800b2170
mov rcx, r14
call fcn.1800b2750
test al, al
jne 0x1800be7a0
cmp qword [rbp], rbx
jne 0x1800bea98
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x88], rax
movups xmm0, xmmword [rbp]
movups xmmword [rsp + 0x78], xmm0
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x70], rax
movups xmm0, xmmword [rbp]
movaps xmmword [rsp + 0x60], xmm0
mov rdi, qword [r14 + 8]
test rbx, rbx
je 0x1800beca1
js 0x1800bf3d2
movzx eax, byte [0x1801bb181]
mov r15d, 1
mov edx, 1
mov rcx, rbx
call fcn.1800098a0
test rax, rax
je 0x1800bf3d5
mov r14, rax
jmp 0x1800beca7
mov r15, qword [r14 + 0x10]
mov rax, qword [r12 + 0xb0]
mov qword [rsp + 0x88], rax
movups xmm0, xmmword [r12 + 0xa0]
movups xmmword [rsp + 0x78], xmm0
mov rax, qword [r12 + 0xb0]
mov qword [rsp + 0x70], rax
movups xmm0, xmmword [r12 + 0xa0]
movaps xmmword [rsp + 0x60], xmm0
mov rdi, qword [r14 + 8]
test r15, r15
je 0x1800be8bc
js 0x1800bf33a
movzx eax, byte [0x1801bb181]
mov r14d, 1
mov edx, 1
mov rcx, r15
call fcn.1800098a0
test rax, rax
je 0x1800bf33d
mov rbx, rax
jmp 0x1800be8c1
mov ebx, 1
mov rcx, rbx
mov rdx, rdi
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movaps xmm2, xmmword [rsp + 0x80]
movups xmmword [rsi + 0x50], xmm0
movups xmmword [rsi + 0x60], xmm1
movups xmmword [rsi + 0x70], xmm2
mov qword [rsi], r15
mov qword [rsi + 8], rbx
mov qword [rsi + 0x10], r15
mov dword [rsi + 0x18], 0xa
mov qword [rsp + 0x48], rbp
mov r13, qword [r12 + 0xa8]
mov rbp, qword [r12 + 0xb0]
mov rcx, r14
call fcn.1800b2630
cmp eax, 0x5c
jne 0x1800bea5f
mov rax, qword [rsp + 0x48]
mov r13, qword [rax]
mov rcx, r14
call fcn.1800b2630
mov ecx, 1
cmp eax, 0x80
jb 0x1800be977
mov ecx, 2
cmp eax, 0x800
jb 0x1800be977
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add r13, rcx
jb 0x1800bf370
mov r15, qword [r12 + 0xb0]
cmp r15, 0xffffffffffffffff
je 0x1800bf37c
mov rdi, qword [r12 + 0xa8]
mov rcx, r14
call fcn.1800b2630
mov ebp, eax
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x70], rax
movups xmm0, xmmword [rcx]
movaps xmmword [rsp + 0x60], xmm0
mov rdx, qword [r14 + 8]
mov ecx, 1
mov r14d, 1
test rbx, rbx
je 0x1800bea0d
mov qword [rsp + 0x48], rdx
js 0x1800bf3e0
movzx eax, byte [0x1801bb181]
mov eax, 1
mov qword [rsp + 0x38], rax
mov edx, 1
mov rcx, rbx
call fcn.1800098a0
test rax, rax
je 0x1800bf3e9
mov r14, rax
mov rdx, qword [rsp + 0x48]
mov ecx, 1
inc r15
xor eax, eax
cmp ebp, 0xa
sete al
cmove r15, rcx
add rdi, rax
mov rcx, r14
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x50], xmm0
mov rax, qword [rsp + 0x70]
mov qword [rsi + 0x60], rax
mov qword [rsi], rbx
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rbx
mov dword [rsi + 0x18], 0x1f
mov qword [rsi + 0x68], r13
mov qword [rsi + 0x70], rdi
mov qword [rsi + 0x78], r15
jmp 0x1800be8ff
mov ebx, eax
mov qword [rsp + 0x38], r13
mov qword [rsp + 0xe8], r15
mov dword [rsp + 0x54], edi
mov rcx, r14
call fcn.1800b2750
movabs r13, 0x8000000000000000
test al, al
je 0x1800bea90
mov rcx, r14
call fcn.1800b28b0
mov r9d, ebx
jmp 0x1800bf1e2
mov rcx, r14
call fcn.1800b2630
mov dword [rsp + 0xe4], eax
cmp eax, 0x7d
jne 0x1800bf3a2
mov r13b, dil
mov rdi, qword [rsp + 0x38]
add rdi, r13
mov rcx, r14
call fcn.1800b2750
mov rdx, qword [r12 + 0x90]
mov r8, qword [r12 + 0x98]
mov qword [rsp + 0x20], 2
lea r9, [0x1801512a0]
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], r8
call fcn.180105c40
test byte [rsp + 0x60], 1
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x38], rdi
je 0x1800beb84
mov rbx, qword [rsp + 0x98]
mov r8, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xc0]
lea rcx, [rax - 1]
mov rdx, qword [rsp + 0xb0]
mov r14, qword [rsp + 0xb8]
cmp rbx, 0xffffffffffffffff
je 0x1800bedb3
mov r10, qword [rsp + 0x88]
mov qword [rsp + 0x40], rcx
add rcx, r10
cmp rcx, rdx
jae 0x1800beec1
mov r11, qword [rsp + 0x80]
mov r13, qword [rsp + 0x68]
mov r9, qword [rsp + 0x78]
mov rdi, rax
mov qword [rsp + 0xd8], r9
sub rdi, r9
mov qword [rsp + 0xd0], rdi
jmp 0x1800becf9
cmp byte [rsp + 0x7a], 0
jne 0x1800beec1
mov r10, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xa8]
mov r15, qword [rsp + 0xb0]
movzx eax, byte [rsp + 0x78]
mov rbp, qword [rsp + 0x30]
jmp 0x1800bebb5
xor al, 1
add r10, r8
test r10, r10
je 0x1800bebd1
cmp r10, r15
jae 0x1800bebcb
cmp byte [rcx + r10], 0xbf
jg 0x1800bebd1
jmp 0x1800bf388
jne 0x1800bf388
cmp r10, r15
je 0x1800bf00b
movzx r9d, byte [rcx + r10]
movzx edx, r9b
test dl, dl
jns 0x1800bec50
mov r8d, edx
and r8d, 0x1f
movzx r11d, byte [rcx + r10 + 1]
and r11d, 0x3f
cmp dl, 0xdf
jbe 0x1800bec3a
movzx edx, byte [rcx + r10 + 2]
shl r11d, 6
and edx, 0x3f
or edx, r11d
cmp r9b, 0xf0
jb 0x1800bec91
movzx r9d, byte [rcx + r10 + 3]
and r8d, 7
shl r8d, 0x12
shl edx, 6
and r9d, 0x3f
or r9d, edx
or r9d, r8d
mov edx, r9d
test al, 1
je 0x1800bec58
jmp 0x1800bf081
shl r8d, 6
or r8d, r11d
mov edx, r8d
nop word cs:[rax + rax]
test al, 1
jne 0x1800bf081
mov r8d, 1
cmp edx, 0x80
jb 0x1800bebb0
mov r8d, 2
cmp edx, 0x800
jb 0x1800bebb0
cmp edx, 0x10000
mov r8d, 4
sbb r8, 0
jmp 0x1800bebb0
shl r8d, 0xc
or edx, r8d
test al, 1
je 0x1800bec58
jmp 0x1800bf081
mov r14d, 1
mov rcx, r14
mov rdx, rdi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movaps xmm2, xmmword [rsp + 0x80]
movups xmmword [rsi + 0x50], xmm0
movups xmmword [rsi + 0x60], xmm1
movups xmmword [rsi + 0x70], xmm2
mov qword [rsi], rbx
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], rbx
jmp 0x1800be8f8
add r10, rax
xor ebx, ebx
mov rcx, qword [rsp + 0x40]
add rcx, r10
cmp rcx, rdx
jae 0x1800beec1
movzx ecx, byte [r8 + rcx]
bt r11, rcx
jae 0x1800bece3
cmp r13, rbx
mov rcx, rbx
cmova rcx, r13
lea r9, [r8 + r10]
mov rdi, rcx
nop word cs:[rax + rax]
cmp rdi, rax
jae 0x1800bed4c
lea rbp, [r10 + rdi]
cmp rbp, rdx
jae 0x1800bf30c
lea rbp, [rdi + 1]
movzx r15d, byte [r14 + rdi]
cmp r15b, byte [r9 + rdi]
mov rdi, rbp
je 0x1800bed20
sub r10, r13
add r10, rbp
jmp 0x1800bece6
mov rcx, r13
mov rbp, qword [rsp + 0x30]
nop word cs:[rax + rax]
cmp rbx, rcx
jae 0x1800bf081
dec rcx
cmp rcx, rax
jae 0x1800bf2f1
lea r9, [rcx + r10]
cmp r9, rdx
jae 0x1800bf348
movzx edi, byte [r14 + rcx]
cmp dil, byte [r8 + r9]
je 0x1800bed60
add r10, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x40]
add rcx, r10
cmp rcx, rdx
jb 0x1800becf9
jmp 0x1800beec1
mov r10, qword [rsp + 0x88]
lea r9, [r10 + rcx]
cmp r9, rdx
jae 0x1800beec1
mov r11, rcx
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x40], rcx
mov r13, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0xf0], rcx
lea rcx, [r13 - 1]
mov qword [rsp + 0xd8], rcx
lea rbp, [r8 + r13]
lea rcx, [r14 + r13]
dec rcx
mov qword [rsp + 0xd0], rcx
add r14, r13
jmp 0x1800bee24
add r10, rax
mov rbx, r10
lea r9, [rbx + r11]
mov r10, rbx
cmp r9, rdx
jae 0x1800beec1
movzx r9d, byte [r8 + r9]
mov rcx, qword [rsp + 0x40]
bt rcx, r9
jae 0x1800bee0e
xor r9d, r9d
mov rdi, r10
nop word [rax + rax]
lea rbx, [r9 + r13]
cmp rbx, rax
jae 0x1800bee6d
lea rcx, [rdi + r13]
cmp rcx, rdx
jae 0x1800bf357
movzx ecx, byte [r14 + r9]
lea rbx, [rdi + 1]
inc r9
cmp cl, byte [rbp + rdi]
mov rdi, rbx
je 0x1800bee40
jmp 0x1800bee14
mov rcx, qword [rsp + 0xd8]
cmp rcx, rax
jae 0x1800bf2e3
lea r9, [rcx + r10]
mov rdi, qword [rsp + 0xd0]
mov rbx, r13
sub rbx, 1
jb 0x1800bf07c
cmp r9, rdx
jae 0x1800bf348
movzx r15d, byte [rdi]
dec rdi
lea rcx, [r9 - 1]
cmp r15b, byte [r8 + r9]
mov r9, rcx
je 0x1800bee8d
add r10, qword [rsp + 0xf0]
jmp 0x1800bee11
mov rbp, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x28]
xor r13d, r13d
jmp 0x1800beed9
cmp rbp, r13
jb 0x1800bef8f
mov r8, rbp
sub r8, r13
lea rax, [rdi + r13]
cmp r8, 0xf
ja 0x1800bef10
cmp rbp, r13
je 0x1800bef8f
xor edx, edx
nop word cs:[rax + rax]
cmp byte [rax + rdx], 0x3a
je 0x1800bef25
inc rdx
cmp r8, rdx
jne 0x1800bef00
jmp 0x1800bef8f
mov cl, 0x3a
mov rdx, rax
call fcn.1801050b0
mov rdi, qword [rsp + 0x28]
cmp rax, 1
jne 0x1800bef8f
lea r15, [rdx + r13]
add r13, rdx
inc r13
cmp r15, rbp
jae 0x1800beed0
cmp byte [rdi + r15], 0x3a
jne 0x1800beed0
test r15, r15
je 0x1800bf248
js 0x1800bf33a
movzx eax, byte [0x1801bb181]
mov r14d, 1
mov edx, 1
mov rcx, r15
call fcn.1800098a0
test rax, rax
je 0x1800bf33d
mov rbx, rax
mov rcx, rax
mov rdx, qword [rsp + 0x28]
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
mov rdi, r15
shr rdi, 0x20
mov eax, r15d
jmp 0x1800bf251
mov rcx, rdi
mov rdx, rbp
mov r8d, 0x3d
call fcn.1800b2010
cmp rax, 1
jne 0x1800befd7
mov r14, rdx
test rdx, rdx
je 0x1800bf01b
cmp r14, rbp
jae 0x1800bf019
cmp byte [rdi + r14], 0xbf
jg 0x1800bf01b
lea rax, str.C:UsersHarrison.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.4_src_astparse.rs
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov rdx, rbp
xor r8d, r8d
mov r9, r14
call fcn.18010ef10
lea rcx, [rsp + 0x60]
mov rdx, rdi
mov r8, rbp
call fcn.1800b20b0
mov r9d, dword [rsp + 0x60]
mov edi, dword [rsp + 0x64]
mov r10, qword [rsp + 0x68]
and al, 0x68
mov r15, qword [rsp + 0x70]
movabs r13, 0x8000000000000001
add byte [rax], al
add byte [rax], al
add byte [rax], al
xor byte [rcx], 0xc0
jmp 0x1800bf1dd
test al, 1
mov rdi, qword [rsp + 0x28]
jl 0x1800bf035
invalid
jne 0x1800bf089
jmp 0x1800beecb
jne 0x1800befba
lea rcx, [rsp + 0x60]
mov rdx, rdi
mov r8, r14
call fcn.1800b20b0
mov rdx, qword [rsp + 0x28]
mov eax, dword [rsp + 0x60]
mov edi, dword [rsp + 0x64]
mov r9, qword [rsp + 0x68]
mov r15, qword [rsp + 0x70]
inc r14
je 0x1800bf1ae
cmp rbp, r14
jbe 0x1800bf1a8
cmp byte [rdx + r14], 0xbf
jg 0x1800bf1ae
lea rax, str.C:UsersHarrison.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.4_src_astparse.rs
mov qword [rsp + 0x20], rax
mov rcx, rdx
mov rdx, rbp
mov r8, r14
mov r9, rbp
call fcn.18010ef10
add al, 0
mov rbp, qword [rsp + 0x30]
mov r15, r10
mov rdi, qword [rsp + 0x28]
test r15, r15
je 0x1800bf0b7
cmp r15, rbp
jae 0x1800bf0be
cmp byte [rdi + r15], 0xbf
jg 0x1800bf0c0
lea rax, str.C:UsersHarrison.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.4_src_astparse.rs
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov rdx, rbp
xor r8d, r8d
mov r9, r15
call fcn.18010ef10
mov ecx, 1
jmp 0x1800bf0f4
jne 0x1800bf09a
test r15, r15
js 0x1800bf33a
movzx eax, byte [0x1801bb181]
mov r14d, 1
mov edx, 1
mov rcx, r15
call fcn.1800098a0
mov rcx, rax
test rax, rax
mov rdi, qword [rsp + 0x28]
je 0x1800bf33d
mov qword [rsp + 0x30], rcx
mov rdx, rdi
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
lea r13, [r15 + 2]
cmp rbp, r13
jbe 0x1800bf134
cmp byte [rdi + r13], 0xbf
mov rdx, rdi
jg 0x1800bf139
jne 0x1800bf05f
sub rbp, r14
add rdx, r14
lea rcx, [rsp + 0x60]
mov r8, rbp
mov ebx, eax
mov r14, r9
call fcn.1800b20b0
mov r10, r14
mov r9d, ebx
mov r13, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
xor eax, eax
mov rbp, qword [rsp + 0x58]
mov ebx, 1
xor edi, edi
xor eax, eax
cmp rbp, r13
jbe 0x1800bf26e
mov rdx, qword [rsp + 0x28]
cmp byte [rdx + r13], 0xbf
jg 0x1800bf275
lea rax, str.C:UsersHarrison.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.4_src_astparse.rs
jmp 0x1800bf11e
mov rdx, qword [rsp + 0x28]
jne 0x1800bf262
sub rbp, r13
mov dword [rsp + 0x30], eax
je 0x1800bf2b5
js 0x1800bf403
movzx eax, byte [0x1801bb181]
mov eax, 1
mov qword [rsp + 0x40], rax
mov edx, 1
mov rcx, rbp
call fcn.1800098a0
test rax, rax
je 0x1800bf40c
mov r14, rax
mov rdx, qword [rsp + 0x28]
jmp 0x1800bf2bb
mov r14d, 1
add rdx, r13
mov rcx, r14
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
mov al, 1
mov r13, rbp
mov r8, rbp
mov rbp, qword [rsp + 0x58]
mov r9d, dword [rsp + 0x30]
mov r10, rbx
jmp 0x1800bf1e2
test r13, r13
mov rbp, qword [rsp + 0x30]
je 0x1800bf081
lea r8, [0x1801507e0]
mov rdx, rax
call fcn.18010ea20
lea rcx, str.C:UsersHarrison.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.4_src_astparse.rs
call fcn.18010e7b0
add rcx, r10
cmp rdx, rcx
cmova rcx, rdx
lea r8, [0x180150810]
adc al, 9
add al, ch
invalid
invalid
add al, 0
lea rcx, str.assertion_failed:_self.char____p__self.char____P
lea r8, str.C:UsersHarrison.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.4_src_astparse.rs
mov edx, 0x3a
call fcn.18010e990
xor r14d, r14d
mov rcx, r14
mov rdx, r15
call fcn.18010e680
lea r8, [0x1801507f8]
mov rcx, r9
call fcn.18010ea20
add r10, r13