Function at 0x1800c20c0
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.1800b5850
cmp eax, 0x70
je 0x1800c20f7
mov rcx, r14
call fcn.1800b5850
cmp eax, 0x50
jne 0x1800c2ee8
mov r12, qword [r14]
cmp qword [r12 + 0x80], 0
jne 0x1800c2eb8
mov qword [r12 + 0x80], 0xffffffffffffffff
mov qword [r12 + 0x98], 0
mov rcx, r14
call fcn.1800b5850
mov ebp, eax
mov rcx, r14
call fcn.1800b5970
test al, al
je 0x1800c2223
mov rcx, r14
call fcn.1800b5ad0
mov r15, qword [r12 + 0xa0]
mov rbx, qword [r14 + 0x10]
cmp r15, rbx
je 0x1800c2227
lea rdi, [r12 + 0xa0]
mov rcx, r14
call fcn.1800b5850
mov r15, qword [rdi]
cmp eax, 0x7b
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0xc0], ebp
jne 0x1800c247e
mov rcx, r14
call fcn.1800b5850
mov ecx, 1
cmp eax, 0x80
jb 0x1800c21ae
mov ecx, 2
cmp eax, 0x800
jb 0x1800c21ae
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add r15, rcx
jb 0x1800c2f28
mov qword [rsp + 0xe8], r15
mov rdi, qword [r12 + 0xb0]
cmp rdi, 0xffffffffffffffff
je 0x1800c2f34
mov rax, qword [r12 + 0xa8]
mov qword [rsp + 0x48], rax
inc rdi
mov rcx, r14
call fcn.1800b5850
xor ebp, ebp
cmp eax, 0xa
sete byte [rsp + 0x30]
mov eax, 1
cmovne rax, rdi
mov qword [rsp + 0x40], rax
mov rcx, r14
call fcn.1800b5970
test al, al
mov rdi, qword [rsp + 0x28]
je 0x1800c25c0
lea r15, [r12 + 0x88]
jmp 0x1800c22cb
mov r15, qword [r14 + 0x10]
mov rax, qword [r12 + 0xb0]
mov qword [rsp + 0x78], rax
movups xmm0, xmmword [r12 + 0xa0]
movups xmmword [rsp + 0x68], xmm0
mov rax, qword [r12 + 0xb0]
mov qword [rsp + 0x60], rax
movups xmm0, xmmword [r12 + 0xa0]
movaps xmmword [rsp + 0x50], xmm0
test r15, r15
js 0x1800c2ec4
mov rdi, qword [r14 + 8]
je 0x1800c2422
movzx eax, byte [0x1801bc1b1]
mov r14d, 1
mov edx, 1
mov rcx, r15
call fcn.18000b6f0
test rax, rax
je 0x1800c2ec7
mov rbx, rax
jmp 0x1800c2427
mov rcx, qword [r12 + 0x90]
mov byte [rcx + rdi], al
inc rdi
mov qword [r12 + 0x98], rdi
mov rdi, qword [rsp + 0x28]
mov rcx, r14
call fcn.1800b5970
test al, al
je 0x1800c25c0
mov rcx, r14
call fcn.1800b5ad0
cmp qword [rdi], rbx
je 0x1800c25c0
mov rcx, r14
call fcn.1800b5850
cmp eax, 0x7d
je 0x1800c25c0
mov rcx, r14
call fcn.1800b5850
cmp eax, 0x80
jae 0x1800c2320
mov rdi, qword [r12 + 0x98]
cmp rdi, qword [r12 + 0x88]
jne 0x1800c22a0
mov rcx, r15
mov r13d, eax
call fcn.18000a000
mov eax, r13d
jmp 0x1800c22a0
mov dword [rsp + 0x50], 0
mov ecx, eax
cmp eax, 0x800
jae 0x1800c234b
shr ecx, 6
or cl, 0xc0
mov byte [rsp + 0x50], cl
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x51], al
mov r13d, 2
jmp 0x1800c23b1
cmp eax, 0x10000
jae 0x1800c237b
shr ecx, 0xc
or cl, 0xe0
mov byte [rsp + 0x50], cl
mov ecx, eax
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [rsp + 0x51], cl
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x52], al
mov r13d, 3
jmp 0x1800c23b1
shr ecx, 0x12
or cl, 0xf0
mov byte [rsp + 0x50], cl
mov ecx, eax
shr ecx, 0xc
and cl, 0x3f
or cl, 0x80
mov byte [rsp + 0x51], cl
mov ecx, eax
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [rsp + 0x52], cl
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x53], al
mov r13d, 4
mov rax, qword [r12 + 0x88]
mov rdx, qword [r12 + 0x98]
sub rax, rdx
cmp rax, r13
jb 0x1800c23fe
add rdx, qword [r12 + 0x90]
mov rcx, rdx
lea rdx, [rsp + 0x50]
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
add qword [r12 + 0x98], r13
mov rcx, r14
call fcn.1800b5970
test al, al
jne 0x1800c22cb
jmp 0x1800c25c0
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, r15
mov r8, r13
call fcn.18010d440
mov rdx, qword [r12 + 0x98]
jmp 0x1800c23c9
mov ebx, 1
mov rcx, rbx
mov rdx, rdi
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
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 r13, qword [r12 + 0xa8]
mov rax, qword [r12 + 0xb0]
mov qword [rsp + 0x40], rax
mov rcx, r14
call fcn.1800b5850
cmp eax, 0x5c
jne 0x1800c2629
mov r13, qword [rdi]
mov rcx, r14
call fcn.1800b5850
mov ecx, 1
cmp eax, 0x80
jb 0x1800c24d5
mov ecx, 2
cmp eax, 0x800
jb 0x1800c24d5
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add r13, rcx
jb 0x1800c2f28
mov r15, qword [r12 + 0xb0]
cmp r15, 0xffffffffffffffff
je 0x1800c2f34
mov rdi, qword [r12 + 0xa8]
mov rcx, r14
call fcn.1800b5850
mov ebp, eax
mov rcx, qword [rsp + 0x28]
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x60], rax
movups xmm0, xmmword [rcx]
movaps xmmword [rsp + 0x50], xmm0
test rbx, rbx
js 0x1800c2f5a
mov rdx, qword [r14 + 8]
mov ecx, 1
mov r14d, 1
je 0x1800c256e
mov qword [rsp + 0x28], rdx
movzx eax, byte [0x1801bc1b1]
mov eax, 1
mov qword [rsp + 0xc0], rax
mov edx, 1
mov rcx, rbx
call fcn.18000b6f0
test rax, rax
je 0x1800c2f66
mov r14, rax
mov rdx, qword [rsp + 0x28]
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 + 0x50]
movups xmmword [rsi + 0x50], xmm0
mov rax, qword [rsp + 0x60]
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 0x1800c2462
cmp qword [rdi], rbx
jne 0x1800c2656
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x78], rax
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x68], xmm0
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x60], rax
movups xmm0, xmmword [rdi]
movaps xmmword [rsp + 0x50], xmm0
test rbx, rbx
js 0x1800c2f76
mov rdi, qword [r14 + 8]
je 0x1800c2851
movzx eax, byte [0x1801bc1b1]
mov r15d, 1
mov edx, 1
mov rcx, rbx
call fcn.18000b6f0
test rax, rax
je 0x1800c2f79
mov r14, rax
jmp 0x1800c2857
mov ebp, eax
mov qword [rsp + 0xe8], r15
mov rcx, r14
call fcn.1800b5970
movabs rbx, 0x8000000000000000
test al, al
je 0x1800c2651
mov rcx, r14
call fcn.1800b5ad0
jmp 0x1800c2d7f
mov rcx, r14
call fcn.1800b5850
mov dword [rsp + 0xe4], eax
cmp eax, 0x7d
jne 0x1800c2f84
movzx eax, byte [rsp + 0x30]
mov bpl, al
add qword [rsp + 0x48], rbp
mov rcx, r14
call fcn.1800b5970
mov rdx, qword [r12 + 0x90]
mov r8, qword [r12 + 0x98]
mov qword [rsp + 0x20], 2
lea r9, [0x180155960]
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], r8
call fcn.18010a520
test byte [rsp + 0x50], 1
je 0x1800c2738
mov r15, qword [rsp + 0x88]
mov r8, qword [rsp + 0x98]
mov rax, qword [rsp + 0xb0]
lea r9, [rax - 1]
mov rdx, qword [rsp + 0xa0]
mov r14, qword [rsp + 0xa8]
cmp r15, 0xffffffffffffffff
mov qword [rsp + 0xd8], r9
je 0x1800c294a
mov r10, qword [rsp + 0x78]
lea rcx, [r10 + r9]
cmp rcx, rdx
jae 0x1800c2a4c
mov r11, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x68]
mov rbx, rax
mov qword [rsp + 0xd0], rdi
sub rbx, rdi
mov qword [rsp + 0xc8], rbx
jmp 0x1800c28a3
cmp byte [rsp + 0x6a], 0
jne 0x1800c2a4c
mov r10, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x98]
mov r15, qword [rsp + 0xa0]
movzx eax, byte [rsp + 0x68]
jmp 0x1800c2765
xor al, 1
add r10, r8
test r10, r10
je 0x1800c2781
cmp r10, r15
jae 0x1800c277b
cmp byte [rcx + r10], 0xbf
jg 0x1800c2781
jmp 0x1800c2f40
jne 0x1800c2f40
cmp r10, r15
je 0x1800c2b9b
movzx r9d, byte [rcx + r10]
movzx edx, r9b
test dl, dl
jns 0x1800c2800
mov r8d, edx
and r8d, 0x1f
movzx r11d, byte [rcx + r10 + 1]
and r11d, 0x3f
cmp dl, 0xdf
jbe 0x1800c27ea
movzx edx, byte [rcx + r10 + 2]
shl r11d, 6
and edx, 0x3f
or edx, r11d
cmp r9b, 0xf0
jb 0x1800c2841
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 0x1800c2808
jmp 0x1800c2c15
shl r8d, 6
or r8d, r11d
mov edx, r8d
nop word cs:[rax + rax]
test al, 1
jne 0x1800c2c15
mov r8d, 1
cmp edx, 0x80
jb 0x1800c2760
mov r8d, 2
cmp edx, 0x800
jb 0x1800c2760
cmp edx, 0x10000
mov r8d, 4
sbb r8, 0
jmp 0x1800c2760
shl r8d, 0xc
or edx, r8d
test al, 1
je 0x1800c2808
jmp 0x1800c2c15
mov r14d, 1
mov rcx, r14
mov rdx, rdi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
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 0x1800c245b
add r10, rax
xor r15d, r15d
lea rcx, [r10 + r9]
cmp rcx, rdx
jae 0x1800c2a4c
movzx ecx, byte [r8 + rcx]
bt r11, rcx
jae 0x1800c2890
cmp rbp, r15
mov rcx, r15
cmova rcx, rbp
lea r9, [r8 + r10]
mov rdi, rcx
nop
cmp rdi, rax
jae 0x1800c28f7
lea rbx, [r10 + rdi]
cmp rbx, rdx
jae 0x1800c2ed2
lea rbx, [rdi + 1]
movzx r13d, byte [r14 + rdi]
cmp r13b, byte [r9 + rdi]
mov rdi, rbx
je 0x1800c28c0
sub r10, rbp
add r10, rbx
xor r15d, r15d
mov r9, qword [rsp + 0xd8]
jmp 0x1800c2896
mov rcx, rbp
mov rdi, qword [rsp + 0x28]
nop
cmp r15, rcx
jae 0x1800c2c15
dec rcx
cmp rcx, rax
jae 0x1800c2ea9
lea r9, [rcx + r10]
cmp r9, rdx
jae 0x1800c2f00
movzx ebx, byte [r14 + rcx]
cmp bl, byte [r8 + r9]
je 0x1800c2900
add r10, qword [rsp + 0xd0]
mov r15, qword [rsp + 0xc8]
mov r9, qword [rsp + 0xd8]
jmp 0x1800c2896
mov r10, qword [rsp + 0x78]
add r9, r10
cmp r9, rdx
jae 0x1800c2a4c
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0xd0], rcx
mov r15, qword [rsp + 0x58]
mov r11, qword [rsp + 0x68]
lea rcx, [r15 - 1]
mov qword [rsp + 0xc8], rcx
lea rbp, [r8 + r15]
lea rcx, [r14 + r15]
dec rcx
mov qword [rsp + 0xf0], rcx
add r14, r15
jmp 0x1800c29b4
add r10, rax
mov rbx, r10
mov rcx, qword [rsp + 0xd8]
lea r9, [rbx + rcx]
mov r10, rbx
cmp r9, rdx
jae 0x1800c2a4c
movzx r9d, byte [r8 + r9]
mov rcx, qword [rsp + 0xd0]
bt rcx, r9
jae 0x1800c2996
xor r9d, r9d
mov rdi, r10
nop dword [rax]
lea rbx, [r15 + r9]
cmp rbx, rax
jae 0x1800c29fd
lea rcx, [r15 + rdi]
cmp rcx, rdx
jae 0x1800c2f0f
movzx ecx, byte [r14 + r9]
lea rbx, [rdi + 1]
inc r9
cmp cl, byte [rbp + rdi]
mov rdi, rbx
je 0x1800c29d0
jmp 0x1800c299c
mov rcx, qword [rsp + 0xc8]
cmp rcx, rax
jae 0x1800c2e9b
lea r9, [rcx + r10]
mov rdi, qword [rsp + 0xf0]
mov rbx, r15
sub rbx, 1
jb 0x1800c2c10
cmp r9, rdx
jae 0x1800c2f00
movzx r13d, byte [rdi]
dec rdi
lea rcx, [r9 - 1]
cmp r13b, byte [r8 + r9]
mov r9, rcx
je 0x1800c2a1d
add r10, r11
jmp 0x1800c2999
mov r9, qword [rsp + 0x30]
xor edi, edi
mov rbx, qword [rsp + 0x38]
jmp 0x1800c2a69
add rdi, rdx
inc rdi
cmp rdi, r9
ja 0x1800c2b0e
mov r8, r9
sub r8, rdi
lea rax, [rbx + rdi]
cmp r8, 0xf
ja 0x1800c2aa0
cmp r9, rdi
je 0x1800c2b0e
xor edx, edx
nop word cs:[rax + rax]
cmp byte [rax + rdx], 0x3a
je 0x1800c2aba
inc rdx
cmp r8, rdx
jne 0x1800c2a90
jmp 0x1800c2b0e
mov cl, 0x3a
mov rdx, rax
call fcn.180109990
mov rbx, qword [rsp + 0x38]
mov r9, qword [rsp + 0x30]
cmp rax, 1
jne 0x1800c2b0e
lea r15, [rdx + rdi]
cmp r15, r9
jae 0x1800c2a5a
cmp byte [rbx + r15], 0x3a
jne 0x1800c2a5a
test r15, r15
je 0x1800c2de3
js 0x1800c2fc5
movzx eax, byte [0x1801bc1b1]
mov r13d, 1
mov edx, 1
mov rcx, r15
call fcn.18000b6f0
test rax, rax
mov rdi, qword [rsp + 0x28]
je 0x1800c2fc8
mov rcx, rax
mov rbx, qword [rsp + 0x38]
jmp 0x1800c2df0
mov rcx, rbx
mov rdx, r9
mov r8d, 0x3d
mov rdi, r9
call fcn.1800b5350
cmp rax, 1
jne 0x1800c2b62
mov r13, rdx
test rdx, rdx
mov rdi, qword [rsp + 0x28]
je 0x1800c2bac
cmp r13, qword [rsp + 0x30]
jae 0x1800c2baa
cmp byte [rbx + r13], 0xbf
jg 0x1800c2bac
lea rax, str.C:UsersWDAGUtilityAccount.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.4_src_astparse.rs
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, qword [rsp + 0x30]
xor r8d, r8d
mov r9, r13
call fcn.180112a30
lea rcx, [rsp + 0x50]
mov rdx, rbx
mov r8, rdi
call fcn.1800b53f0
mov ebp, dword [rsp + 0x50]
mov r14d, dword [rsp + 0x54]
mov r9, qword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
movabs rbx, 0x8000000000000001
xor eax, eax
mov rdi, qword [rsp + 0x28]
jmp 0x1800c2d7a
test al, 1
mov r9, qword [rsp + 0x30]
je 0x1800c2a51
jmp 0x1800c2c1d
jne 0x1800c2b43
lea rcx, [rsp + 0x50]
mov rdx, rbx
fimul dword [rbp - 0x77]
invalid
call fcn.1800b53f0
mov rdx, qword [rsp + 0x38]
mov edx, dword [rsp + 0x38]
mov ebp, dword [rsp + 0x50]
mov r14d, dword [rsp + 0x54]
mov ecx, 1
xor r15d, r15d
mov rdi, qword [rsp + 0x28]
mov qword [rsp + 0x28], rcx
mov rdx, rbx
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
lea rbp, [r15 + 1]
mov r9, qword [rsp + 0x30]
xor byte [rcx + 0x39], cl
invalid
jbe 0x1800c2e2e
cmp byte [rbx + rbp], 0xbf
jg case.0x1800b558d.370
lea rax, str.C:UsersWDAGUtilityAccount.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.4_src_astparse.rs
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, r9
mov r8, rbp
call fcn.180112a30
jne 0x1800c2e14
sub r9, rbp
js 0x1800c2fb4
je 0x1800c2e6e
movzx eax, byte [0x1801bc1b1]
mov r14d, 1
add dword [rax], eax
add byte [rax], al
mov ecx, 1
test r15, r15
mov rdi, qword [rsp + 0x28]
je 0x1800c2c15
lea r8, [0x180154e98]
mov rdx, rax
call fcn.180112540
lea rcx, str.C:UsersWDAGUtilityAccount.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.4_src_astparse.rs
call fcn.1801122d0
xor r14d, r14d
mov rcx, r14
mov rdx, r15
call fcn.1801121a0
add rcx, r10
cmp rdx, rcx
cmova rcx, rdx
retf 0x8d4c
add eax, 0x91fe5
call fcn.180112540
lea rcx, str.assertion_failed:_self.char____p__self.char____P
lea r8, str.C:UsersWDAGUtilityAccount.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.4_src_astparse.rs
mov edx, 0x3a